summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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.")
register int pos, last;
int some_multiletter_word;
int some_lowercase;
- int some_uppercase_initial;
+ int some_lowercase_initial;
register int c, prevc;
int inslen;
@@ -1204,7 +1204,7 @@ Leaves point at end of replacement text.")
is more than one letter long. */
some_multiletter_word = 0;
some_lowercase = 0;
- some_uppercase_initial = 0;
+ some_lowercase_initial = 0;
for (pos = search_regs.start[0]; pos < last; pos++)
{
@@ -1215,14 +1215,14 @@ Leaves point at end of replacement text.")
some_lowercase = 1;
if (SYNTAX (prevc) != Sword)
- ;
+ some_lowercase_initial = 1;
else
some_multiletter_word = 1;
}
else if (!NOCASEP (c))
{
if (SYNTAX (prevc) != Sword)
- some_uppercase_initial = 1;
+ ;
else
some_multiletter_word = 1;
}
@@ -1234,8 +1234,8 @@ Leaves point at end of replacement text.")
and has at least one multiletter word. */
if (! some_lowercase && some_multiletter_word)
case_action = all_caps;
- /* Capitalize each word, if the old text has a capitalized word. */
- else if (some_uppercase_initial)
+ /* Capitalize each word, if the old text has all capitalized words. */
+ else if (!some_lowercase_initial && some_multiletter_word)
case_action = cap_initial;
else
case_action = nochange;