aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKarl Heuer1994-04-05 04:51:58 +0000
committerKarl Heuer1994-04-05 04:51:58 +0000
commitc4d460ce6b9321bff1cbb47f7b688e586e73b8ac (patch)
tree04b37edf9f572a4ac90ce96bcb707899369438c9 /src
parent82c2d8392ef24cf0e4bb24546fb0810f0a68901b (diff)
downloademacs-c4d460ce6b9321bff1cbb47f7b688e586e73b8ac.tar.gz
emacs-c4d460ce6b9321bff1cbb47f7b688e586e73b8ac.zip
(Freplace_match): Don't capitalize unless all matched words are capitalized.
Diffstat (limited to 'src')
-rw-r--r--src/search.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/search.c b/src/search.c
index a76dd3aae9f..d9cbbf0b645 100644
--- a/src/search.c
+++ b/src/search.c
@@ -1174,7 +1174,7 @@ Leaves point at end of replacement text.")
1174 register int pos, last; 1174 register int pos, last;
1175 int some_multiletter_word; 1175 int some_multiletter_word;
1176 int some_lowercase; 1176 int some_lowercase;
1177 int some_uppercase_initial; 1177 int some_lowercase_initial;
1178 register int c, prevc; 1178 register int c, prevc;
1179 int inslen; 1179 int inslen;
1180 1180
@@ -1204,7 +1204,7 @@ Leaves point at end of replacement text.")
1204 is more than one letter long. */ 1204 is more than one letter long. */
1205 some_multiletter_word = 0; 1205 some_multiletter_word = 0;
1206 some_lowercase = 0; 1206 some_lowercase = 0;
1207 some_uppercase_initial = 0; 1207 some_lowercase_initial = 0;
1208 1208
1209 for (pos = search_regs.start[0]; pos < last; pos++) 1209 for (pos = search_regs.start[0]; pos < last; pos++)
1210 { 1210 {
@@ -1215,14 +1215,14 @@ Leaves point at end of replacement text.")
1215 1215
1216 some_lowercase = 1; 1216 some_lowercase = 1;
1217 if (SYNTAX (prevc) != Sword) 1217 if (SYNTAX (prevc) != Sword)
1218 ; 1218 some_lowercase_initial = 1;
1219 else 1219 else
1220 some_multiletter_word = 1; 1220 some_multiletter_word = 1;
1221 } 1221 }
1222 else if (!NOCASEP (c)) 1222 else if (!NOCASEP (c))
1223 { 1223 {
1224 if (SYNTAX (prevc) != Sword) 1224 if (SYNTAX (prevc) != Sword)
1225 some_uppercase_initial = 1; 1225 ;
1226 else 1226 else
1227 some_multiletter_word = 1; 1227 some_multiletter_word = 1;
1228 } 1228 }
@@ -1234,8 +1234,8 @@ Leaves point at end of replacement text.")
1234 and has at least one multiletter word. */ 1234 and has at least one multiletter word. */
1235 if (! some_lowercase && some_multiletter_word) 1235 if (! some_lowercase && some_multiletter_word)
1236 case_action = all_caps; 1236 case_action = all_caps;
1237 /* Capitalize each word, if the old text has a capitalized word. */ 1237 /* Capitalize each word, if the old text has all capitalized words. */
1238 else if (some_uppercase_initial) 1238 else if (!some_lowercase_initial && some_multiletter_word)
1239 case_action = cap_initial; 1239 case_action = cap_initial;
1240 else 1240 else
1241 case_action = nochange; 1241 case_action = nochange;