summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/casefiddle.c42
1 files changed, 15 insertions, 27 deletions
diff --git a/src/casefiddle.c b/src/casefiddle.c
index f4f2e2a9b52..7340a5093eb 100644
--- a/src/casefiddle.c
+++ b/src/casefiddle.c
@@ -103,6 +103,8 @@ The argument object is not altered--the value is a copy.")
return casify_object (CASE_CAPITALIZE, obj);
}
+/* Like Fcapitalize but change only the initials. */
+
DEFUN ("upcase-initials", Fupcase_initials, Supcase_initials, 1, 1, 0,
"Convert the initial of each word in the argument to upper case.\n\
Do not change the other letters of each word.\n\
@@ -113,15 +115,6 @@ The argument object is not altered--the value is a copy.")
{
return casify_object (CASE_CAPITALIZE_UP, obj);
}
-
-/* Like Fcapitalize but change only the initials. */
-
-Lisp_Object
-upcase_initials (obj)
- Lisp_Object obj;
-{
- return casify_object (CASE_CAPITALIZE_UP, obj);
-}
/* flag is CASE_UP, CASE_DOWN or CASE_CAPITALIZE or CASE_CAPITALIZE_UP.
b and e specify range of buffer to operate on. */
@@ -133,16 +126,19 @@ casify_region (flag, b, e)
register int i;
register int c;
register int inword = flag == CASE_DOWN;
+ int start, end;
if (EQ (b, e))
/* Not modifying because nothing marked */
return;
validate_region (&b, &e);
- modify_region (current_buffer, XFASTINT (b), XFASTINT (e));
- record_change (XFASTINT (b), XFASTINT (e) - XFASTINT (b));
+ start = XFASTINT (b);
+ end = XFASTINT (e);
+ modify_region (current_buffer, start, end);
+ record_change (start, end - start);
- for (i = XFASTINT (b); i < XFASTINT (e); i++)
+ for (i = start; i < end; i++)
{
c = FETCH_CHAR (i);
if (inword && flag != CASE_CAPITALIZE_UP)
@@ -155,9 +151,7 @@ casify_region (flag, b, e)
inword = SYNTAX (c) == Sword;
}
- signal_after_change (XFASTINT (b),
- XFASTINT (e) - XFASTINT (b),
- XFASTINT (e) - XFASTINT (b));
+ signal_after_change (start, end - start, end - start);
}
DEFUN ("upcase-region", Fupcase_region, Supcase_region, 2, 2, "r",
@@ -198,6 +192,8 @@ character positions to operate on.")
return Qnil;
}
+/* Like Fcapitalize_region but change only the initials. */
+
DEFUN ("upcase-initials-region", Fupcase_initials_region,
Supcase_initials_region, 2, 2, "r",
"Upcase the initial of each word in the region.\n\
@@ -210,16 +206,6 @@ character positions to operate on.")
casify_region (CASE_CAPITALIZE_UP, b, e);
return Qnil;
}
-
-/* Like Fcapitalize_region but change only the initials. */
-
-Lisp_Object
-upcase_initials_region (b, e)
- Lisp_Object b, e;
-{
- casify_region (CASE_CAPITALIZE_UP, b, e);
- return Qnil;
-}
Lisp_Object
operate_on_word (arg, newpoint)
@@ -228,11 +214,13 @@ operate_on_word (arg, newpoint)
{
Lisp_Object val;
int farend;
+ int iarg;
CHECK_NUMBER (arg, 0);
- farend = scan_words (point, XINT (arg));
+ iarg = XINT (arg);
+ farend = scan_words (point, iarg);
if (!farend)
- farend = XINT (arg) > 0 ? ZV : BEGV;
+ farend = iarg > 0 ? ZV : BEGV;
*newpoint = point > farend ? point : farend;
XSETFASTINT (val, farend);