diff options
author | Richard M. Stallman <rms@gnu.org> | 1994-08-11 22:57:20 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1994-08-11 22:57:20 +0000 |
commit | 208767c32de7fc9b1311eb7a2849c8872416f7d6 (patch) | |
tree | ca7abf8fd2a47f8c5292caeba24ccf0b8acd0b24 /src/search.c | |
parent | 40a8cde1374fb8dc5af2312f258a591a18f4bdaf (diff) | |
download | emacs-208767c32de7fc9b1311eb7a2849c8872416f7d6.tar.gz |
(Freplace_match): Treat caseless initial like a lowercase initial.
Diffstat (limited to 'src/search.c')
-rw-r--r-- | src/search.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/search.c b/src/search.c index e894e22dd6d..ff9eefec917 100644 --- a/src/search.c +++ b/src/search.c @@ -1182,7 +1182,7 @@ Leaves point at end of replacement text.") int some_multiletter_word; int some_lowercase; int some_uppercase; - int some_lowercase_initial; + int some_nonuppercase_initial; register int c, prevc; int inslen; @@ -1212,7 +1212,7 @@ Leaves point at end of replacement text.") is more than one letter long. */ some_multiletter_word = 0; some_lowercase = 0; - some_lowercase_initial = 0; + some_nonuppercase_initial = 0; some_uppercase = 0; for (pos = search_regs.start[0]; pos < last; pos++) @@ -1224,7 +1224,7 @@ Leaves point at end of replacement text.") some_lowercase = 1; if (SYNTAX (prevc) != Sword) - some_lowercase_initial = 1; + some_nonuppercase_initial = 1; else some_multiletter_word = 1; } @@ -1236,6 +1236,13 @@ Leaves point at end of replacement text.") else some_multiletter_word = 1; } + else + { + /* If the initial is a caseless word constituent, + treat that like a lowercase initial. */ + if (SYNTAX (prevc) != Sword) + some_nonuppercase_initial = 1; + } prevc = c; } @@ -1245,9 +1252,9 @@ Leaves point at end of replacement text.") if (! some_lowercase && some_multiletter_word) case_action = all_caps; /* Capitalize each word, if the old text has all capitalized words. */ - else if (!some_lowercase_initial && some_multiletter_word) + else if (!some_nonuppercase_initial && some_multiletter_word) case_action = cap_initial; - else if (!some_lowercase_initial && some_uppercase) + else if (!some_nonuppercase_initial && some_uppercase) /* Should x -> yz, operating on X, give Yz or YZ? We'll assume the latter. */ case_action = all_caps; |