diff options
| author | Richard M. Stallman | 1998-01-20 06:05:53 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1998-01-20 06:05:53 +0000 |
| commit | 1b5d98bba7912f02cc873fcc4bb76be382a0aced (patch) | |
| tree | 844ff660ba64d7b02aafeb2e886a72790467ecbd /src/editfns.c | |
| parent | 97d26a9743d89e18f30624ec7fb7fadcf5b45c77 (diff) | |
| download | emacs-1b5d98bba7912f02cc873fcc4bb76be382a0aced.tar.gz emacs-1b5d98bba7912f02cc873fcc4bb76be382a0aced.zip | |
(Fchar_equal): Fix case-conversion code.
Diffstat (limited to 'src/editfns.c')
| -rw-r--r-- | src/editfns.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/editfns.c b/src/editfns.c index 7f47d596b13..fa6881c35b3 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -2424,14 +2424,21 @@ Case is ignored if `case-fold-search' is non-nil in the current buffer.") | |||
| 2424 | (c1, c2) | 2424 | (c1, c2) |
| 2425 | register Lisp_Object c1, c2; | 2425 | register Lisp_Object c1, c2; |
| 2426 | { | 2426 | { |
| 2427 | int i1, i2; | ||
| 2427 | CHECK_NUMBER (c1, 0); | 2428 | CHECK_NUMBER (c1, 0); |
| 2428 | CHECK_NUMBER (c2, 1); | 2429 | CHECK_NUMBER (c2, 1); |
| 2429 | 2430 | ||
| 2430 | if (XINT (c1) == XINT (c2) | 2431 | if (XINT (c1) == XINT (c2)) |
| 2431 | && (NILP (current_buffer->case_fold_search) | ||
| 2432 | || DOWNCASE (XFASTINT (c1)) == DOWNCASE (XFASTINT (c2)))) | ||
| 2433 | return Qt; | 2432 | return Qt; |
| 2434 | return Qnil; | 2433 | if (NILP (current_buffer->case_fold_search)) |
| 2434 | return Qnil; | ||
| 2435 | |||
| 2436 | /* Do these in separate statements, | ||
| 2437 | then compare the variables. | ||
| 2438 | because of the way DOWNCASE uses temp variables. */ | ||
| 2439 | i1 = DOWNCASE (XFASTINT (c1)); | ||
| 2440 | i2 = DOWNCASE (XFASTINT (c2)); | ||
| 2441 | return (i1 == i2 ? Qt : Qnil); | ||
| 2435 | } | 2442 | } |
| 2436 | 2443 | ||
| 2437 | /* Transpose the markers in two regions of the current buffer, and | 2444 | /* Transpose the markers in two regions of the current buffer, and |