[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/src/casefiddle.c [emacs-unicode-2]
From: |
Miles Bader |
Subject: |
[Emacs-diffs] Changes to emacs/src/casefiddle.c [emacs-unicode-2] |
Date: |
Mon, 28 Jun 2004 03:56:35 -0400 |
Index: emacs/src/casefiddle.c
diff -c emacs/src/casefiddle.c:1.43.6.2 emacs/src/casefiddle.c:1.43.6.3
*** emacs/src/casefiddle.c:1.43.6.2 Fri Apr 16 12:50:45 2004
--- emacs/src/casefiddle.c Mon Jun 28 07:29:19 2004
***************
*** 1,5 ****
/* GNU Emacs case conversion functions.
! Copyright (C) 1985, 1994, 1997 Free Software Foundation, Inc.
This file is part of GNU Emacs.
--- 1,6 ----
/* GNU Emacs case conversion functions.
! Copyright (C) 1985,94,97,98,99, 2001, 2002, 2004
! Free Software Foundation, Inc.
This file is part of GNU Emacs.
***************
*** 53,63 ****
int flags = XINT (obj) & flagbits;
int multibyte = ! NILP (current_buffer->enable_multibyte_characters);
c1 = XFASTINT (obj) & ~flagbits;
if (! multibyte)
MAKE_CHAR_MULTIBYTE (c1);
c = DOWNCASE (c1);
! if (inword || c == c1)
{
if (! inword)
c = UPCASE1 (c1);
--- 54,72 ----
int flags = XINT (obj) & flagbits;
int multibyte = ! NILP (current_buffer->enable_multibyte_characters);
+ /* If the character has higher bits set
+ above the flags, return it unchanged.
+ It is not a real character. */
+ if ((unsigned) XFASTINT (obj) > (unsigned) flagbits)
+ return obj;
+
c1 = XFASTINT (obj) & ~flagbits;
if (! multibyte)
MAKE_CHAR_MULTIBYTE (c1);
c = DOWNCASE (c1);
! if (inword)
! XSETFASTINT (obj, c | flags);
! else if (c == (XFASTINT (obj) & ~flagbits))
{
if (! inword)
c = UPCASE1 (c1);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] Changes to emacs/src/casefiddle.c [emacs-unicode-2],
Miles Bader <=