diff options
| author | Stefan Monnier | 2011-03-21 12:42:16 -0400 |
|---|---|---|
| committer | Stefan Monnier | 2011-03-21 12:42:16 -0400 |
| commit | cafdcef32d55cbb44389d7e322e7f973cbb72dfd (patch) | |
| tree | 7ee0c41ea8a589650ce6f4311fb10e61a63807b9 /src/casefiddle.c | |
| parent | a08a25d7aaf251aa18f2ef747be53734bc55cae9 (diff) | |
| parent | 4e05e67e4cd0bc1b0a4ef3176a4d0d91c6b3738e (diff) | |
| download | emacs-cafdcef32d55cbb44389d7e322e7f973cbb72dfd.tar.gz emacs-cafdcef32d55cbb44389d7e322e7f973cbb72dfd.zip | |
Merge from trunk
Diffstat (limited to 'src/casefiddle.c')
| -rw-r--r-- | src/casefiddle.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/src/casefiddle.c b/src/casefiddle.c index 26fa0db2d77..43ecd38dc7d 100644 --- a/src/casefiddle.c +++ b/src/casefiddle.c | |||
| @@ -32,7 +32,7 @@ enum case_action {CASE_UP, CASE_DOWN, CASE_CAPITALIZE, CASE_CAPITALIZE_UP}; | |||
| 32 | 32 | ||
| 33 | Lisp_Object Qidentity; | 33 | Lisp_Object Qidentity; |
| 34 | 34 | ||
| 35 | Lisp_Object | 35 | static Lisp_Object |
| 36 | casify_object (enum case_action flag, Lisp_Object obj) | 36 | casify_object (enum case_action flag, Lisp_Object obj) |
| 37 | { | 37 | { |
| 38 | register int c, c1; | 38 | register int c, c1; |
| @@ -64,13 +64,13 @@ casify_object (enum case_action flag, Lisp_Object obj) | |||
| 64 | multibyte = 1; | 64 | multibyte = 1; |
| 65 | if (! multibyte) | 65 | if (! multibyte) |
| 66 | MAKE_CHAR_MULTIBYTE (c1); | 66 | MAKE_CHAR_MULTIBYTE (c1); |
| 67 | c = DOWNCASE (c1); | 67 | c = downcase (c1); |
| 68 | if (inword) | 68 | if (inword) |
| 69 | XSETFASTINT (obj, c | flags); | 69 | XSETFASTINT (obj, c | flags); |
| 70 | else if (c == (XFASTINT (obj) & ~flagbits)) | 70 | else if (c == (XFASTINT (obj) & ~flagbits)) |
| 71 | { | 71 | { |
| 72 | if (! inword) | 72 | if (! inword) |
| 73 | c = UPCASE1 (c1); | 73 | c = upcase1 (c1); |
| 74 | if (! multibyte) | 74 | if (! multibyte) |
| 75 | MAKE_CHAR_UNIBYTE (c); | 75 | MAKE_CHAR_UNIBYTE (c); |
| 76 | XSETFASTINT (obj, c | flags); | 76 | XSETFASTINT (obj, c | flags); |
| @@ -92,10 +92,10 @@ casify_object (enum case_action flag, Lisp_Object obj) | |||
| 92 | MAKE_CHAR_MULTIBYTE (c); | 92 | MAKE_CHAR_MULTIBYTE (c); |
| 93 | c1 = c; | 93 | c1 = c; |
| 94 | if (inword && flag != CASE_CAPITALIZE_UP) | 94 | if (inword && flag != CASE_CAPITALIZE_UP) |
| 95 | c = DOWNCASE (c); | 95 | c = downcase (c); |
| 96 | else if (!UPPERCASEP (c) | 96 | else if (!uppercasep (c) |
| 97 | && (!inword || flag != CASE_CAPITALIZE_UP)) | 97 | && (!inword || flag != CASE_CAPITALIZE_UP)) |
| 98 | c = UPCASE1 (c1); | 98 | c = upcase1 (c1); |
| 99 | if ((int) flag >= (int) CASE_CAPITALIZE) | 99 | if ((int) flag >= (int) CASE_CAPITALIZE) |
| 100 | inword = (SYNTAX (c) == Sword); | 100 | inword = (SYNTAX (c) == Sword); |
| 101 | if (c != c1) | 101 | if (c != c1) |
| @@ -133,10 +133,10 @@ casify_object (enum case_action flag, Lisp_Object obj) | |||
| 133 | } | 133 | } |
| 134 | c = STRING_CHAR_AND_LENGTH (SDATA (obj) + i_byte, len); | 134 | c = STRING_CHAR_AND_LENGTH (SDATA (obj) + i_byte, len); |
| 135 | if (inword && flag != CASE_CAPITALIZE_UP) | 135 | if (inword && flag != CASE_CAPITALIZE_UP) |
| 136 | c = DOWNCASE (c); | 136 | c = downcase (c); |
| 137 | else if (!UPPERCASEP (c) | 137 | else if (!uppercasep (c) |
| 138 | && (!inword || flag != CASE_CAPITALIZE_UP)) | 138 | && (!inword || flag != CASE_CAPITALIZE_UP)) |
| 139 | c = UPCASE1 (c); | 139 | c = upcase1 (c); |
| 140 | if ((int) flag >= (int) CASE_CAPITALIZE) | 140 | if ((int) flag >= (int) CASE_CAPITALIZE) |
| 141 | inword = (SYNTAX (c) == Sword); | 141 | inword = (SYNTAX (c) == Sword); |
| 142 | o += CHAR_STRING (c, o); | 142 | o += CHAR_STRING (c, o); |
| @@ -193,7 +193,7 @@ The argument object is not altered--the value is a copy. */) | |||
| 193 | /* flag is CASE_UP, CASE_DOWN or CASE_CAPITALIZE or CASE_CAPITALIZE_UP. | 193 | /* flag is CASE_UP, CASE_DOWN or CASE_CAPITALIZE or CASE_CAPITALIZE_UP. |
| 194 | b and e specify range of buffer to operate on. */ | 194 | b and e specify range of buffer to operate on. */ |
| 195 | 195 | ||
| 196 | void | 196 | static void |
| 197 | casify_region (enum case_action flag, Lisp_Object b, Lisp_Object e) | 197 | casify_region (enum case_action flag, Lisp_Object b, Lisp_Object e) |
| 198 | { | 198 | { |
| 199 | register int c; | 199 | register int c; |
| @@ -201,7 +201,10 @@ casify_region (enum case_action flag, Lisp_Object b, Lisp_Object e) | |||
| 201 | register int multibyte = !NILP (BVAR (current_buffer, enable_multibyte_characters)); | 201 | register int multibyte = !NILP (BVAR (current_buffer, enable_multibyte_characters)); |
| 202 | EMACS_INT start, end; | 202 | EMACS_INT start, end; |
| 203 | EMACS_INT start_byte, end_byte; | 203 | EMACS_INT start_byte, end_byte; |
| 204 | EMACS_INT first = -1, last; /* Position of first and last changes. */ | 204 | |
| 205 | /* Position of first and last changes. */ | ||
| 206 | EMACS_INT first = -1, last IF_LINT (= 0); | ||
| 207 | |||
| 205 | EMACS_INT opoint = PT; | 208 | EMACS_INT opoint = PT; |
| 206 | EMACS_INT opoint_byte = PT_BYTE; | 209 | EMACS_INT opoint_byte = PT_BYTE; |
| 207 | 210 | ||
| @@ -240,10 +243,10 @@ casify_region (enum case_action flag, Lisp_Object b, Lisp_Object e) | |||
| 240 | } | 243 | } |
| 241 | c2 = c; | 244 | c2 = c; |
| 242 | if (inword && flag != CASE_CAPITALIZE_UP) | 245 | if (inword && flag != CASE_CAPITALIZE_UP) |
| 243 | c = DOWNCASE (c); | 246 | c = downcase (c); |
| 244 | else if (!UPPERCASEP (c) | 247 | else if (!uppercasep (c) |
| 245 | && (!inword || flag != CASE_CAPITALIZE_UP)) | 248 | && (!inword || flag != CASE_CAPITALIZE_UP)) |
| 246 | c = UPCASE1 (c); | 249 | c = upcase1 (c); |
| 247 | if ((int) flag >= (int) CASE_CAPITALIZE) | 250 | if ((int) flag >= (int) CASE_CAPITALIZE) |
| 248 | inword = ((SYNTAX (c) == Sword) | 251 | inword = ((SYNTAX (c) == Sword) |
| 249 | && (inword || !syntax_prefix_flag_p (c))); | 252 | && (inword || !syntax_prefix_flag_p (c))); |