Now on revision 111885. ------------------------------------------------------------ revno: 111885 committer: Paul Eggert branch nick: trunk timestamp: Tue 2013-02-26 23:42:43 -0800 message: Qcall_interactively and Qexecute_kbd_macro are now static. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-02-26 14:28:37 +0000 +++ src/ChangeLog 2013-02-27 07:42:43 +0000 @@ -1,3 +1,9 @@ +2013-02-27 Paul Eggert + + * callint.c (Qcall_interactively): + * macros.c (Qexecute_kbd_macro): + Now static. + 2013-02-26 Bastien Guerry * window.c (Frecenter): Tiny docstring enhancement. === modified file 'src/callint.c' --- src/callint.c 2013-02-25 16:05:49 +0000 +++ src/callint.c 2013-02-27 07:42:43 +0000 @@ -29,7 +29,7 @@ #include "keymap.h" Lisp_Object Qminus, Qplus; -Lisp_Object Qcall_interactively; +static Lisp_Object Qcall_interactively; static Lisp_Object Qcommand_debug_status; static Lisp_Object Qenable_recursive_minibuffers; === modified file 'src/lisp.h' --- src/lisp.h 2013-02-20 05:18:20 +0000 +++ src/lisp.h 2013-02-27 07:42:43 +0000 @@ -3366,7 +3366,7 @@ extern Lisp_Object Qminus, Qplus; extern Lisp_Object Qwhen; -extern Lisp_Object Qcall_interactively, Qmouse_leave_buffer_hook; +extern Lisp_Object Qmouse_leave_buffer_hook; extern void syms_of_callint (void); /* Defined in casefiddle.c. */ @@ -3527,7 +3527,6 @@ Lisp_Object, ptrdiff_t, Lisp_Object *); /* Defined in macros.c. */ -extern Lisp_Object Qexecute_kbd_macro; extern void init_macros (void); extern void syms_of_macros (void); === modified file 'src/macros.c' --- src/macros.c 2013-02-17 16:49:27 +0000 +++ src/macros.c 2013-02-27 07:42:43 +0000 @@ -28,7 +28,7 @@ #include "window.h" #include "keyboard.h" -Lisp_Object Qexecute_kbd_macro; +static Lisp_Object Qexecute_kbd_macro; static Lisp_Object Qkbd_macro_termination_hook; /* Number of successful iterations so far ------------------------------------------------------------ revno: 111884 committer: Bastien Guerry branch nick: trunk timestamp: Tue 2013-02-26 15:28:37 +0100 message: * window.c (Frecenter): Tiny docstring enhancement. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-02-26 03:09:08 +0000 +++ src/ChangeLog 2013-02-26 14:28:37 +0000 @@ -1,3 +1,7 @@ +2013-02-26 Bastien Guerry + + * window.c (Frecenter): Tiny docstring enhancement. + 2013-02-26 Paul Eggert Minor textprop integer cleanup. === modified file 'src/window.c' --- src/window.c 2013-02-11 10:21:52 +0000 +++ src/window.c 2013-02-26 14:28:37 +0000 @@ -5173,7 +5173,7 @@ DEFUN ("recenter", Frecenter, Srecenter, 0, 1, "P", doc: /* Center point in selected window and maybe redisplay frame. -With prefix argument ARG, recenter putting point on screen line ARG +With a numeric prefix argument ARG, recenter putting point on screen line ARG relative to the selected window. If ARG is negative, it counts up from the bottom of the window. (ARG should be less than the height of the window.) ------------------------------------------------------------ revno: 111883 committer: Michael Albinus /dev/null" to the ls command, in case "en_US.utf8" is not defined. POSIX environments fall back to the "C" locale then and emit a warning, which shall be suppressed. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-02-26 01:50:45 +0000 +++ lisp/ChangeLog 2013-02-26 08:46:38 +0000 @@ -1,3 +1,10 @@ +2013-02-26 Michael Albinus + + * net/tramp-sh.el (tramp-sh-handle-insert-directory): Add + "2>/dev/null" to the ls command, in case "en_US.utf8" is not + defined. POSIX environments fall back to the "C" locale then and + emit a warning, which shall be suppressed. + 2013-02-26 Stefan Monnier * emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Tweak logic. === modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2013-02-23 12:40:14 +0000 +++ lisp/net/tramp-sh.el 2013-02-26 08:46:38 +0000 @@ -2593,12 +2593,12 @@ ;; If `full-directory-p', we just say `ls -l FILENAME'. ;; Else we chdir to the parent directory, then say `ls -ld BASENAME'. ;; "--dired" returns byte positions. Therefore, the file names - ;; must be encoded, which is guaranteed by "LC_ALL=en_US.UTF8 + ;; must be encoded, which is guaranteed by "LC_ALL=en_US.utf8 ;; LC_CTYPE=''". (if full-directory-p (tramp-send-command v - (format "env LC_ALL=en_US.UTF8 LC_CTYPE='' %s %s %s 2>/dev/null" + (format "env LC_ALL=en_US.utf8 LC_CTYPE='' %s %s %s 2>/dev/null" (tramp-get-ls-command v) switches (if wildcard @@ -2614,7 +2614,7 @@ (tramp-run-real-handler 'file-name-directory (list localname)))) (tramp-send-command v - (format "env LC_ALL=en_US.UTF8 LC_CTYPE='' %s %s %s" + (format "env LC_ALL=en_US.utf8 LC_CTYPE='' %s %s %s 2>/dev/null" (tramp-get-ls-command v) switches (if (or wildcard ------------------------------------------------------------ revno: 111882 committer: Paul Eggert branch nick: trunk timestamp: Mon 2013-02-25 19:09:08 -0800 message: Minor textprop integer cleanup. * intervals.h, textprop.c (add_text_properties_from_list): Return void, not int, since nobody uses the return value. * textprop.c (validate_plist, add_properties, remove_properties) (Fadd_text_properties): Don't assume list length fits in int. (interval_has_all_properties, interval_has_some_properties) (interval_has_some_properties_list, add_properties, remove_properties) (Fadd_text_properties, Fremove_text_properties) (Fremove_list_of_text_properties, text_property_stickiness): Use bool for booleans. (Fadd_text_properties, Fremove_text_properties): (Fremove_list_of_text_properties): Reindent do-while as per GNU style. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-02-25 17:36:03 +0000 +++ src/ChangeLog 2013-02-26 03:09:08 +0000 @@ -1,3 +1,20 @@ +2013-02-26 Paul Eggert + + Minor textprop integer cleanup. + * intervals.h, textprop.c (add_text_properties_from_list): + Return void, not int, since nobody uses the return value. + * textprop.c (validate_plist, add_properties, remove_properties) + (Fadd_text_properties): + Don't assume list length fits in int. + (interval_has_all_properties, interval_has_some_properties) + (interval_has_some_properties_list, add_properties, remove_properties) + (Fadd_text_properties, Fremove_text_properties) + (Fremove_list_of_text_properties, text_property_stickiness): + Use bool for booleans. + (Fadd_text_properties, Fremove_text_properties): + (Fremove_list_of_text_properties): + Reindent do-while as per GNU style. + 2013-02-25 Eli Zaretskii Implement CLASH_DETECTION for MS-Windows. === modified file 'src/intervals.h' --- src/intervals.h 2013-01-01 09:11:05 +0000 +++ src/intervals.h 2013-02-26 03:09:08 +0000 @@ -293,7 +293,7 @@ Lisp_Object text_property_list (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); -int add_text_properties_from_list (Lisp_Object, Lisp_Object, Lisp_Object); +void add_text_properties_from_list (Lisp_Object, Lisp_Object, Lisp_Object); Lisp_Object extend_property_ranges (Lisp_Object, Lisp_Object); Lisp_Object get_char_property_and_overlay (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object*); === modified file 'src/textprop.c' --- src/textprop.c 2013-02-25 16:13:42 +0000 +++ src/textprop.c 2013-02-26 03:09:08 +0000 @@ -198,14 +198,14 @@ if (CONSP (list)) { - register int i; - register Lisp_Object tail; - for (i = 0, tail = list; CONSP (tail); i++) + bool odd_length = 0; + Lisp_Object tail; + for (tail = list; CONSP (tail); tail = XCDR (tail)) { - tail = XCDR (tail); + odd_length ^= 1; QUIT; } - if (i & 1) + if (odd_length) error ("Odd length text property list"); return list; } @@ -213,20 +213,19 @@ return Fcons (list, Fcons (Qnil, Qnil)); } -/* Return nonzero if interval I has all the properties, +/* Return true if interval I has all the properties, with the same values, of list PLIST. */ -static int +static bool interval_has_all_properties (Lisp_Object plist, INTERVAL i) { - register Lisp_Object tail1, tail2, sym1; - register int found; + Lisp_Object tail1, tail2; /* Go through each element of PLIST. */ for (tail1 = plist; CONSP (tail1); tail1 = Fcdr (XCDR (tail1))) { - sym1 = XCAR (tail1); - found = 0; + Lisp_Object sym1 = XCAR (tail1); + bool found = 0; /* Go through I's plist, looking for sym1 */ for (tail2 = i->plist; CONSP (tail2); tail2 = Fcdr (XCDR (tail2))) @@ -249,13 +248,13 @@ return 1; } -/* Return nonzero if the plist of interval I has any of the +/* Return true if the plist of interval I has any of the properties of PLIST, regardless of their values. */ -static int +static bool interval_has_some_properties (Lisp_Object plist, INTERVAL i) { - register Lisp_Object tail1, tail2, sym; + Lisp_Object tail1, tail2, sym; /* Go through each element of PLIST. */ for (tail1 = plist; CONSP (tail1); tail1 = Fcdr (XCDR (tail1))) @@ -274,10 +273,10 @@ /* Return nonzero if the plist of interval I has any of the property names in LIST, regardless of their values. */ -static int +static bool interval_has_some_properties_list (Lisp_Object list, INTERVAL i) { - register Lisp_Object tail1, tail2, sym; + Lisp_Object tail1, tail2, sym; /* Go through each element of LIST. */ for (tail1 = list; CONSP (tail1); tail1 = XCDR (tail1)) @@ -358,15 +357,14 @@ OBJECT should be the string or buffer the interval is in. - Return nonzero if this changes I (i.e., if any members of PLIST + Return true if this changes I (i.e., if any members of PLIST are actually added to I's plist) */ -static int +static bool add_properties (Lisp_Object plist, INTERVAL i, Lisp_Object object) { Lisp_Object tail1, tail2, sym1, val1; - register int changed = 0; - register int found; + bool changed = 0; struct gcpro gcpro1, gcpro2, gcpro3; tail1 = plist; @@ -380,9 +378,9 @@ /* Go through each element of PLIST. */ for (tail1 = plist; CONSP (tail1); tail1 = Fcdr (XCDR (tail1))) { + bool found = 0; sym1 = XCAR (tail1); val1 = Fcar (XCDR (tail1)); - found = 0; /* Go through I's plist, looking for sym1 */ for (tail2 = i->plist; CONSP (tail2); tail2 = Fcdr (XCDR (tail2))) @@ -410,7 +408,7 @@ /* I's property has a different value -- change it */ Fsetcar (this_cdr, val1); - changed++; + changed = 1; break; } @@ -423,7 +421,7 @@ sym1, Qnil, object); } set_interval_plist (i, Fcons (sym1, Fcons (val1, i->plist))); - changed++; + changed = 1; } } @@ -437,14 +435,14 @@ (If PLIST is non-nil, use that, otherwise use LIST.) OBJECT is the string or buffer containing I. */ -static int +static bool remove_properties (Lisp_Object plist, Lisp_Object list, INTERVAL i, Lisp_Object object) { - register Lisp_Object tail1, tail2, sym, current_plist; - register int changed = 0; + Lisp_Object tail1, tail2, sym, current_plist; + bool changed = 0; - /* Nonzero means tail1 is a plist, otherwise it is a list. */ - int use_plist; + /* True means tail1 is a plist, otherwise it is a list. */ + bool use_plist; current_plist = i->plist; @@ -467,7 +465,7 @@ object); current_plist = XCDR (XCDR (current_plist)); - changed++; + changed = 1; } /* Go through I's plist, looking for SYM. */ @@ -483,7 +481,7 @@ sym, XCAR (XCDR (this)), object); Fsetcdr (XCDR (tail2), XCDR (XCDR (this))); - changed++; + changed = 1; } tail2 = this; } @@ -1129,11 +1127,10 @@ Return t if any property value actually changed, nil otherwise. */) (Lisp_Object start, Lisp_Object end, Lisp_Object properties, Lisp_Object object) { - register INTERVAL i, unchanged; - register ptrdiff_t s, len; - register int modified = 0; + INTERVAL i, unchanged; + ptrdiff_t s, len; + bool modified = 0; struct gcpro gcpro1; - ptrdiff_t got; properties = validate_plist (properties); if (NILP (properties)) @@ -1156,14 +1153,17 @@ /* If this interval already has the properties, we can skip it. */ if (interval_has_all_properties (properties, i)) { - got = LENGTH (i) - (s - i->position); - do { - if (got >= len) - RETURN_UNGCPRO (Qnil); - len -= got; - i = next_interval (i); - got = LENGTH (i); - } while (interval_has_all_properties (properties, i)); + ptrdiff_t got = LENGTH (i) - (s - i->position); + + do + { + if (got >= len) + RETURN_UNGCPRO (Qnil); + len -= got; + i = next_interval (i); + got = LENGTH (i); + } + while (interval_has_all_properties (properties, i)); } else if (i->position != s) { @@ -1220,7 +1220,7 @@ } len -= LENGTH (i); - modified += add_properties (properties, i, object); + modified |= add_properties (properties, i, object); i = next_interval (i); } } @@ -1424,10 +1424,9 @@ Use `set-text-properties' if you want to remove all text properties. */) (Lisp_Object start, Lisp_Object end, Lisp_Object properties, Lisp_Object object) { - register INTERVAL i, unchanged; - register ptrdiff_t s, len; - register int modified = 0; - ptrdiff_t got; + INTERVAL i, unchanged; + ptrdiff_t s, len; + bool modified = 0; if (NILP (object)) XSETBUFFER (object, current_buffer); @@ -1442,14 +1441,17 @@ /* If there are no properties on this entire interval, return. */ if (! interval_has_some_properties (properties, i)) { - got = (LENGTH (i) - (s - i->position)); - do { - if (got >= len) - return Qnil; - len -= got; - i = next_interval (i); - got = LENGTH (i); - } while (! interval_has_some_properties (properties, i)); + ptrdiff_t got = LENGTH (i) - (s - i->position); + + do + { + if (got >= len) + return Qnil; + len -= got; + i = next_interval (i); + got = LENGTH (i); + } + while (! interval_has_some_properties (properties, i)); } /* Split away the beginning of this interval; what we don't want to modify. */ @@ -1500,7 +1502,7 @@ } len -= LENGTH (i); - modified += remove_properties (properties, Qnil, i, object); + modified |= remove_properties (properties, Qnil, i, object); i = next_interval (i); } } @@ -1515,11 +1517,10 @@ Return t if any property was actually removed, nil otherwise. */) (Lisp_Object start, Lisp_Object end, Lisp_Object list_of_properties, Lisp_Object object) { - register INTERVAL i, unchanged; - register ptrdiff_t s, len; - register int modified = 0; + INTERVAL i, unchanged; + ptrdiff_t s, len; + bool modified = 0; Lisp_Object properties; - ptrdiff_t got; properties = list_of_properties; if (NILP (object)) @@ -1535,14 +1536,17 @@ /* If there are no properties on the interval, return. */ if (! interval_has_some_properties_list (properties, i)) { - got = (LENGTH (i) - (s - i->position)); - do { - if (got >= len) - return Qnil; - len -= got; - i = next_interval (i); - got = LENGTH (i); - } while (! interval_has_some_properties_list (properties, i)); + ptrdiff_t got = LENGTH (i) - (s - i->position); + + do + { + if (got >= len) + return Qnil; + len -= got; + i = next_interval (i); + got = LENGTH (i); + } + while (! interval_has_some_properties_list (properties, i)); } /* Split away the beginning of this interval; what we don't want to modify. */ @@ -1697,7 +1701,7 @@ text_property_stickiness (Lisp_Object prop, Lisp_Object pos, Lisp_Object buffer) { Lisp_Object prev_pos, front_sticky; - int is_rear_sticky = 1, is_front_sticky = 0; /* defaults */ + bool is_rear_sticky = 1, is_front_sticky = 0; /* defaults */ Lisp_Object defalt = Fassq (prop, Vtext_property_default_nonsticky); if (NILP (buffer)) @@ -1772,7 +1776,7 @@ Lisp_Object stuff; Lisp_Object plist; ptrdiff_t s, e, e2, p, len; - int modified = 0; + bool modified = 0; struct gcpro gcpro1, gcpro2; i = validate_interval_range (src, &start, &end, soft); @@ -1843,7 +1847,7 @@ res = Fadd_text_properties (Fcar (res), Fcar (Fcdr (res)), Fcar (Fcdr (Fcdr (res))), dest); if (! NILP (res)) - modified++; + modified = 1; stuff = Fcdr (stuff); } @@ -1914,33 +1918,28 @@ /* Add text properties to OBJECT from LIST. LIST is a list of triples (START END PLIST), where START and END are positions and PLIST is a property list containing the text properties to add. Adjust START - and END positions by DELTA before adding properties. Value is - non-zero if OBJECT was modified. */ + and END positions by DELTA before adding properties. */ -int +void add_text_properties_from_list (Lisp_Object object, Lisp_Object list, Lisp_Object delta) { struct gcpro gcpro1, gcpro2; - int modified_p = 0; GCPRO2 (list, object); for (; CONSP (list); list = XCDR (list)) { - Lisp_Object item, start, end, plist, tem; + Lisp_Object item, start, end, plist; item = XCAR (list); start = make_number (XINT (XCAR (item)) + XINT (delta)); end = make_number (XINT (XCAR (XCDR (item))) + XINT (delta)); plist = XCAR (XCDR (XCDR (item))); - tem = Fadd_text_properties (start, end, plist, object); - if (!NILP (tem)) - modified_p = 1; + Fadd_text_properties (start, end, plist, object); } UNGCPRO; - return modified_p; }