Now on revision 106614. ------------------------------------------------------------ revno: 106614 [merge] committer: Kenichi Handa branch nick: trunk timestamp: Mon 2011-12-05 16:49:21 +0900 message: ftfont.c (get_adstyle_property): If the font is not BDF nor PCF, return Qnil (Bug#8046, Bug#10193). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-12-05 07:03:31 +0000 +++ src/ChangeLog 2011-12-05 07:48:29 +0000 @@ -1,5 +1,10 @@ 2011-12-05 Kenichi Handa + * ftfont.c (get_adstyle_property): If the font is not BDF nor PCF, + return Qnil (Bug#8046, Bug#10193). + +2011-12-05 Kenichi Handa + * coding.c (encode_designation_at_bol): New args charbuf_end and dst. Return the number of produced bytes. Callers changed. (coding_set_source): Return how many bytes coding->source was === modified file 'src/ftfont.c' --- src/ftfont.c 2011-11-30 16:33:05 +0000 +++ src/ftfont.c 2011-12-05 07:48:29 +0000 @@ -164,6 +164,13 @@ char *str, *end; Lisp_Object adstyle; +#ifdef FC_FONTFORMAT + if ((FcPatternGetString (p, FC_FONTFORMAT, 0, &fcstr) == FcResultMatch) + && (xstrcasecmp ((char *) fcstr, "bdf") != 0 + || xstrcasecmp ((char *) fcstr, "pcf") != 0)) + /* Not a BDF nor PCF font. */ + return Qnil; +#endif if (FcPatternGetString (p, FC_STYLE, 0, &fcstr) != FcResultMatch) return Qnil; str = (char *) fcstr; ------------------------------------------------------------ revno: 106613 [merge] committer: Kenichi Handa branch nick: trunk timestamp: Mon 2011-12-05 16:04:28 +0900 message: Pay attention to the buffer relocation on encoding (Bug#9318). diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-12-05 00:15:15 +0000 +++ src/ChangeLog 2011-12-05 07:03:31 +0000 @@ -1,3 +1,29 @@ +2011-12-05 Kenichi Handa + + * coding.c (encode_designation_at_bol): New args charbuf_end and + dst. Return the number of produced bytes. Callers changed. + (coding_set_source): Return how many bytes coding->source was + relocated. + (coding_set_destination): Return how many bytes + coding->destination was relocated. + (CODING_DECODE_CHAR, CODING_ENCODE_CHAR, CODING_CHAR_CHARSET) + (CODING_CHAR_CHARSET_P): Adjusted for the avove changes. + +2011-12-05 Kazuhiro Ito (tiny change) + + * coding.c (CODING_CHAR_CHARSET_P): New macro. + (encode_coding_emacs_mule, encode_coding_iso_2022): Use the above + macro (Bug#9318). + +2011-12-05 Andreas Schwab + + The following changes are to fix Bug#9318. + + * coding.c (CODING_ENCODE_CHAR, CODING_CHAR_CHARSET): New macros. + (encode_coding_emacs_mule, ENCODE_ISO_CHARACTER) + (encode_coding_iso_2022, encode_coding_sjis) + (encode_coding_big5, encode_coding_charset): Use the above macros. + 2011-12-05 Juanma Barranquero * lisp.h (process_quit_flag): Fix external declaration. === modified file 'src/coding.c' --- src/coding.c 2011-12-04 15:46:07 +0000 +++ src/coding.c 2011-12-05 07:03:31 +0000 @@ -847,16 +847,16 @@ static void decode_coding_raw_text (struct coding_system *); static int encode_coding_raw_text (struct coding_system *); -static void coding_set_source (struct coding_system *); -static void coding_set_destination (struct coding_system *); +static EMACS_INT coding_set_source (struct coding_system *); +static EMACS_INT coding_set_destination (struct coding_system *); static void coding_alloc_by_realloc (struct coding_system *, EMACS_INT); static void coding_alloc_by_making_gap (struct coding_system *, EMACS_INT, EMACS_INT); static unsigned char *alloc_destination (struct coding_system *, EMACS_INT, unsigned char *); static void setup_iso_safe_charsets (Lisp_Object); -static unsigned char *encode_designation_at_bol (struct coding_system *, - int *, unsigned char *); +static int encode_designation_at_bol (struct coding_system *, + int *, int *, unsigned char *); static int detect_eol (const unsigned char *, EMACS_INT, enum coding_category); static Lisp_Object adjust_coding_eol_type (struct coding_system *, int); @@ -915,27 +915,68 @@ } } -/* This wrapper macro is used to preserve validity of pointers into - buffer text across calls to decode_char, which could cause - relocation of buffers if it loads a charset map, because loading a - charset map allocates large structures. */ +/* These wrapper macros are used to preserve validity of pointers into + buffer text across calls to decode_char, encode_char, etc, which + could cause relocation of buffers if it loads a charset map, + because loading a charset map allocates large structures. */ + #define CODING_DECODE_CHAR(coding, src, src_base, src_end, charset, code, c) \ do { \ + EMACS_INT offset; \ + \ charset_map_loaded = 0; \ c = DECODE_CHAR (charset, code); \ - if (charset_map_loaded) \ + if (charset_map_loaded \ + && (offset = coding_set_source (coding))) \ { \ - const unsigned char *orig = coding->source; \ - EMACS_INT offset; \ - \ - coding_set_source (coding); \ - offset = coding->source - orig; \ src += offset; \ src_base += offset; \ src_end += offset; \ } \ } while (0) +#define CODING_ENCODE_CHAR(coding, dst, dst_end, charset, c, code) \ + do { \ + EMACS_INT offset; \ + \ + charset_map_loaded = 0; \ + code = ENCODE_CHAR (charset, c); \ + if (charset_map_loaded \ + && (offset = coding_set_destination (coding))) \ + { \ + dst += offset; \ + dst_end += offset; \ + } \ + } while (0) + +#define CODING_CHAR_CHARSET(coding, dst, dst_end, c, charset_list, code_return, charset) \ + do { \ + EMACS_INT offset; \ + \ + charset_map_loaded = 0; \ + charset = char_charset (c, charset_list, code_return); \ + if (charset_map_loaded \ + && (offset = coding_set_destination (coding))) \ + { \ + dst += offset; \ + dst_end += offset; \ + } \ + } while (0) + +#define CODING_CHAR_CHARSET_P(coding, dst, dst_end, c, charset, result) \ + do { \ + EMACS_INT offset; \ + \ + charset_map_loaded = 0; \ + result = CHAR_CHARSET_P (c, charset); \ + if (charset_map_loaded \ + && (offset = coding_set_destination (coding))) \ + { \ + dst += offset; \ + dst_end += offset; \ + } \ + } while (0) + /* If there are at least BYTES length of room at dst, allocate memory for coding->destination and update dst and dst_end. We don't have @@ -1015,9 +1056,14 @@ | ((p)[-1] & 0x3F)))) -static void +/* Update coding->source from coding->src_object, and return how many + bytes coding->source was changed. */ + +static EMACS_INT coding_set_source (struct coding_system *coding) { + const unsigned char *orig = coding->source; + if (BUFFERP (coding->src_object)) { struct buffer *buf = XBUFFER (coding->src_object); @@ -1036,11 +1082,18 @@ /* Otherwise, the source is C string and is never relocated automatically. Thus we don't have to update anything. */ } + return coding->source - orig; } -static void + +/* Update coding->destination from coding->dst_object, and return how + many bytes coding->destination was changed. */ + +static EMACS_INT coding_set_destination (struct coding_system *coding) { + const unsigned char *orig = coding->destination; + if (BUFFERP (coding->dst_object)) { if (BUFFERP (coding->src_object) && coding->src_pos < 0) @@ -1065,6 +1118,7 @@ /* Otherwise, the destination is C string and is never relocated automatically. Thus we don't have to update anything. */ } + return coding->destination - orig; } @@ -2650,14 +2704,19 @@ if (preferred_charset_id >= 0) { + int result; + charset = CHARSET_FROM_ID (preferred_charset_id); - if (CHAR_CHARSET_P (c, charset)) + CODING_CHAR_CHARSET_P (coding, dst, dst_end, c, charset, result); + if (result) code = ENCODE_CHAR (charset, c); else - charset = char_charset (c, charset_list, &code); + CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list, + &code, charset); } else - charset = char_charset (c, charset_list, &code); + CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list, + &code, charset); if (! charset) { c = coding->default_char; @@ -2666,7 +2725,8 @@ EMIT_ONE_ASCII_BYTE (c); continue; } - charset = char_charset (c, charset_list, &code); + CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list, + &code, charset); } dimension = CHARSET_DIMENSION (charset); emacs_mule_id = CHARSET_EMACS_MULE_ID (charset); @@ -4185,7 +4245,8 @@ #define ENCODE_ISO_CHARACTER(charset, c) \ do { \ - int code = ENCODE_CHAR ((charset), (c)); \ + int code; \ + CODING_ENCODE_CHAR (coding, dst, dst_end, (charset), (c), code); \ \ if (CHARSET_DIMENSION (charset) == 1) \ ENCODE_ISO_CHARACTER_DIMENSION1 ((charset), code); \ @@ -4283,15 +4344,19 @@ /* Produce designation sequences of charsets in the line started from - SRC to a place pointed by DST, and return updated DST. + CHARBUF to a place pointed by DST, and return the number of + produced bytes. DST should not directly point a buffer text area + which may be relocated by char_charset call. If the current block ends before any end-of-line, we may fail to find all the necessary designations. */ -static unsigned char * -encode_designation_at_bol (struct coding_system *coding, int *charbuf, +static int +encode_designation_at_bol (struct coding_system *coding, + int *charbuf, int *charbuf_end, unsigned char *dst) { + unsigned char *orig; struct charset *charset; /* Table of charsets to be designated to each graphic register. */ int r[4]; @@ -4309,7 +4374,7 @@ for (reg = 0; reg < 4; reg++) r[reg] = -1; - while (found < 4) + while (charbuf < charbuf_end && found < 4) { int id; @@ -4334,7 +4399,7 @@ ENCODE_DESIGNATION (CHARSET_FROM_ID (r[reg]), reg, coding); } - return dst; + return dst - orig; } /* See the above "GENERAL NOTES on `encode_coding_XXX ()' functions". */ @@ -4378,13 +4443,26 @@ if (bol_designation) { - unsigned char *dst_prev = dst; - /* We have to produce designation sequences if any now. */ - dst = encode_designation_at_bol (coding, charbuf, dst); + unsigned char desig_buf[16]; + int nbytes; + EMACS_INT offset; + + charset_map_loaded = 0; + nbytes = encode_designation_at_bol (coding, charbuf, charbuf_end, + desig_buf); + if (charset_map_loaded + && (offset = coding_set_destination (coding))) + { + dst += offset; + dst_end += offset; + } + memcpy (dst, desig_buf, nbytes); + dst += nbytes; + /* We are sure that designation sequences are all ASCII bytes. */ + produced_chars += nbytes; bol_designation = 0; - /* We are sure that designation sequences are all ASCII bytes. */ - produced_chars += dst - dst_prev; + ASSURE_DESTINATION (safe_room); } c = *charbuf++; @@ -4455,12 +4533,17 @@ if (preferred_charset_id >= 0) { + int result; + charset = CHARSET_FROM_ID (preferred_charset_id); - if (! CHAR_CHARSET_P (c, charset)) - charset = char_charset (c, charset_list, NULL); + CODING_CHAR_CHARSET_P (coding, dst, dst_end, c, charset, result); + if (! result) + CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list, + NULL, charset); } else - charset = char_charset (c, charset_list, NULL); + CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list, + NULL, charset); if (!charset) { if (coding->mode & CODING_MODE_SAFE_ENCODING) @@ -4471,7 +4554,8 @@ else { c = coding->default_char; - charset = char_charset (c, charset_list, NULL); + CODING_CHAR_CHARSET (coding, dst, dst_end, c, + charset_list, NULL, charset); } } ENCODE_ISO_CHARACTER (charset, c); @@ -4897,7 +4981,9 @@ else { unsigned code; - struct charset *charset = char_charset (c, charset_list, &code); + struct charset *charset; + CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list, + &code, charset); if (!charset) { @@ -4909,7 +4995,8 @@ else { c = coding->default_char; - charset = char_charset (c, charset_list, &code); + CODING_CHAR_CHARSET (coding, dst, dst_end, c, + charset_list, &code, charset); } } if (code == CHARSET_INVALID_CODE (charset)) @@ -4984,7 +5071,9 @@ else { unsigned code; - struct charset *charset = char_charset (c, charset_list, &code); + struct charset *charset; + CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list, + &code, charset); if (! charset) { @@ -4996,7 +5085,8 @@ else { c = coding->default_char; - charset = char_charset (c, charset_list, &code); + CODING_CHAR_CHARSET (coding, dst, dst_end, c, + charset_list, &code, charset); } } if (code == CHARSET_INVALID_CODE (charset)) @@ -5572,7 +5662,9 @@ } else { - charset = char_charset (c, charset_list, &code); + CODING_CHAR_CHARSET (coding, dst, dst_end, c, charset_list, + &code, charset); + if (charset) { if (CHARSET_DIMENSION (charset) == 1) ------------------------------------------------------------ revno: 106612 fixes bug(s): http://debbugs.gnu.org/10216 committer: Glenn Morris branch nick: trunk timestamp: Sun 2011-12-04 18:47:53 -0800 message: align.el marker fix. * lisp/align.el (align--set-marker): Add doc-string. Don't try to move something that is not a marker. Eg the first call from align-region passes eol == 0. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-12-04 19:41:44 +0000 +++ lisp/ChangeLog 2011-12-05 02:47:53 +0000 @@ -1,3 +1,8 @@ +2011-12-05 Glenn Morris + + * align.el (align--set-marker): Add doc-string. + Don't try to move something that is not a marker. (Bug#10216) + 2011-12-04 Glenn Morris * calendar/appt.el (appt-add): Rewrite the interactive-spec to avoid === modified file 'lisp/align.el' --- lisp/align.el 2011-11-29 20:21:28 +0000 +++ lisp/align.el 2011-12-05 02:47:53 +0000 @@ -1247,7 +1247,9 @@ (setq areas (cdr areas)))))) (defmacro align--set-marker (marker-var pos &optional type) - `(if ,marker-var + "If MARKER-VAR is a marker, move it to position POS. +Otherwise, create a new marker at position POS, with type TYPE." + `(if (markerp ,marker-var) (move-marker ,marker-var ,pos) (setq ,marker-var (copy-marker ,pos ,type)))) ------------------------------------------------------------ revno: 106611 committer: Juanma Barranquero branch nick: trunk timestamp: Mon 2011-12-05 01:15:15 +0100 message: src/lisp.h (process_quit_flag): Fix external declaration. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-12-04 15:46:07 +0000 +++ src/ChangeLog 2011-12-05 00:15:15 +0000 @@ -1,3 +1,7 @@ +2011-12-05 Juanma Barranquero + + * lisp.h (process_quit_flag): Fix external declaration. + 2011-12-04 Stefan Monnier Don't macro-inline non-performance-critical code. @@ -79,7 +83,7 @@ * xterm.c (handle_one_xevent): Only set async_visible and friends if net_wm_state_hidden_seen is non-zero (Bug#10002) - (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if + (get_current_wm_state): Set net_wm_state_hidden_seen to 1 if _NET_WM_STATE_HIDDEN is in NET_WM_STATE. 2011-11-28 Paul Eggert === modified file 'src/lisp.h' --- src/lisp.h 2011-12-04 15:46:07 +0000 +++ src/lisp.h 2011-12-05 00:15:15 +0000 @@ -2143,7 +2143,7 @@ #define ELSE_PENDING_SIGNALS #endif /* not SYNC_INPUT */ -extern void handle_quit_flag (void); +extern void process_quit_flag (void); #define QUIT \ do { \ if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ ------------------------------------------------------------ revno: 106610 committer: Glenn Morris branch nick: trunk timestamp: Sun 2011-12-04 11:41:44 -0800 message: appt.el trivia. * lisp/calendar/appt.el (appt-add): Rewrite the interactive-spec to avoid overly zealous deletion of trailing whitespace. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-12-04 17:13:01 +0000 +++ lisp/ChangeLog 2011-12-04 19:41:44 +0000 @@ -1,3 +1,8 @@ +2011-12-04 Glenn Morris + + * calendar/appt.el (appt-add): Rewrite the interactive-spec to avoid + overly zealous deletion of trailing whitespace. + 2011-12-04 Juanma Barranquero * server.el (server-delete-client): On Windows, do not try to delete === modified file 'lisp/calendar/appt.el' --- lisp/calendar/appt.el 2011-12-04 19:31:41 +0000 +++ lisp/calendar/appt.el 2011-12-04 19:41:44 +0000 @@ -508,9 +508,7 @@ Optional argument WARNTIME is an integer (or string) giving the number of minutes before the appointment at which to start warning. The default is `appt-message-warning-time'." - ;; People who like to delete trailing whitespace: READ THIS. - ;; This whitespace is supposed to be here. - (interactive "sTime (hh:mm[am/pm]): \nsMessage: + (interactive "sTime (hh:mm[am/pm]): \nsMessage: \n\ sMinutes before the appointment to start warning: ") (unless (string-match appt-time-regexp time) (error "Unacceptable time-string")) ------------------------------------------------------------ revno: 106609 committer: Glenn Morris branch nick: trunk timestamp: Sun 2011-12-04 11:31:41 -0800 message: * appt.el: Restore significant whitespace deleted by "spelling fix". diff: === modified file 'lisp/calendar/appt.el' --- lisp/calendar/appt.el 2011-12-04 08:02:42 +0000 +++ lisp/calendar/appt.el 2011-12-04 19:31:41 +0000 @@ -508,7 +508,9 @@ Optional argument WARNTIME is an integer (or string) giving the number of minutes before the appointment at which to start warning. The default is `appt-message-warning-time'." - (interactive "sTime (hh:mm[am/pm]): \nsMessage: + ;; People who like to delete trailing whitespace: READ THIS. + ;; This whitespace is supposed to be here. + (interactive "sTime (hh:mm[am/pm]): \nsMessage: sMinutes before the appointment to start warning: ") (unless (string-match appt-time-regexp time) (error "Unacceptable time-string")) ------------------------------------------------------------ revno: 106608 committer: Juanma Barranquero branch nick: trunk timestamp: Sun 2011-12-04 18:13:01 +0100 message: Fix emacsclient bug where "-n -c" does not open a new frame on Windows. * lib-src/emacsclient.c (decode_options) [WINDOWSNT]: Don't force tty = 0; instead, treat both -c and -t as always requesting a new "tty" frame, and let server.el decide which kind is actually required. Reported by Uwe Siart in this thread: http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00303.html * lisp/server.el (server-delete-client): On Windows, do not try to delete the only terminal. (server-process-filter): On Windows, treat requests for a tty frame as if they were for a GUI frame if the running server is in GUI mode. diff: === modified file 'lib-src/ChangeLog' --- lib-src/ChangeLog 2011-11-30 08:13:05 +0000 +++ lib-src/ChangeLog 2011-12-04 17:13:01 +0000 @@ -1,3 +1,11 @@ +2011-12-04 Juanma Barranquero + + * emacsclient.c (decode_options) [WINDOWSNT]: Don't force tty = 0; + instead, treat both -c and -t as always requesting a new "tty" frame, + and let server.el decide which kind is actually required. + Reported by Uwe Siart in this thread: + http://lists.gnu.org/archive/html/emacs-devel/2011-11/msg00303.html + 2011-11-30 Chong Yidong * emacsclient.c (main): Condition last change on WINDOWSNT === modified file 'lib-src/emacsclient.c' --- lib-src/emacsclient.c 2011-11-30 15:43:33 +0000 +++ lib-src/emacsclient.c 2011-12-04 17:13:01 +0000 @@ -638,6 +638,22 @@ if (display && strlen (display) == 0) display = NULL; +#ifdef WINDOWSNT + /* Emacs on Windows does not support GUI and console frames in the same + instance. So, it makes sense to treat the -t and -c options as + equivalent, and open a new frame regardless of whether the running + instance is GUI or console. Ideally, we would only set tty = 1 when + the instance is running in a console, but alas we don't know that. + The simplest workaround is to always ask for a tty frame, and let + server.el check whether it makes sense. */ + if (tty || !current_frame) + { + display = (const char *) ttyname; + current_frame = 0; + tty = 1; + } +#endif + /* If no display is available, new frames are tty frames. */ if (!current_frame && !display) tty = 1; @@ -654,14 +670,6 @@ an empty string"); exit (EXIT_FAILURE); } - - /* TTY frames not supported on Windows. Continue using GUI rather than - forcing the user to change their command-line. This is required since - tty is set above if certain options are given and $DISPLAY is not set, - which is not obvious to users. */ - if (tty) - tty = 0; - #endif /* WINDOWSNT */ } === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-12-03 20:44:19 +0000 +++ lisp/ChangeLog 2011-12-04 17:13:01 +0000 @@ -1,3 +1,10 @@ +2011-12-04 Juanma Barranquero + + * server.el (server-delete-client): On Windows, do not try to delete + the only terminal. + (server-process-filter): On Windows, treat requests for a tty frame as + if they were for a GUI frame if the running server is in GUI mode. + 2011-12-03 Glenn Morris * textmodes/texinfmt.el (batch-texinfo-format): Doc fix. (Bug#10207) === modified file 'lisp/server.el' --- lisp/server.el 2011-11-22 15:18:56 +0000 +++ lisp/server.el 2011-12-04 17:13:01 +0000 @@ -307,11 +307,13 @@ (setq server-clients (delq proc server-clients)) - ;; Delete the client's tty. - (let ((terminal (process-get proc 'terminal))) - ;; Only delete the terminal if it is non-nil. - (when (and terminal (eq (terminal-live-p terminal) t)) - (delete-terminal terminal))) + ;; Delete the client's tty, except on Windows (both GUI and console), + ;; where there's only one terminal and does not make sense to delete it. + (unless (eq system-type 'windows-nt) + (let ((terminal (process-get proc 'terminal))) + ;; Only delete the terminal if it is non-nil. + (when (and terminal (eq (terminal-live-p terminal) t)) + (delete-terminal terminal)))) ;; Delete the client's process. (if (eq (process-status proc) 'open) @@ -1035,7 +1037,11 @@ (setq tty-name (pop args-left) tty-type (pop args-left) dontkill (or dontkill - (not use-current-frame)))) + (not use-current-frame))) + ;; On Windows, emacsclient always asks for a tty frame. + ;; If running a GUI server, force the frame type to GUI. + (when (eq window-system 'w32) + (push "-window-system" args-left))) ;; -position LINE[:COLUMN]: Set point to the given ;; position in the next file. ------------------------------------------------------------ revno: 106607 committer: Chong Yidong branch nick: trunk timestamp: Mon 2011-12-05 00:19:57 +0800 message: Updates to Programs chapter of Emacs manual. * programs.texi (Program Modes): Mention modes that are not included with Emacs. Fix references to other manuals for tex. Add index entry for backward-delete-char-untabify. Mention prog-mode-hook. (Which Function): Use "global minor mode" terminology. (Basic Indent, Multi-line Indent): Refer to previous descriptions in Indentation chapter to avoid duplication. (Expressions): Copyedit. (Matching): Document Electric Pair mode. * ack.texi (Acknowledgments): * rmail.texi (Movemail, Other Mailbox Formats): * frames.texi (Frames): Don't capitalize "Unix". diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2011-12-04 05:55:36 +0000 +++ doc/emacs/ChangeLog 2011-12-04 16:19:57 +0000 @@ -1,5 +1,21 @@ 2011-12-04 Chong Yidong + * programs.texi (Program Modes): Mention modes that are not + included with Emacs. Fix references to other manuals for tex. + Add index entry for backward-delete-char-untabify. Mention + prog-mode-hook. + (Which Function): Use "global minor mode" terminology. + (Basic Indent, Multi-line Indent): Refer to previous descriptions + in Indentation chapter to avoid duplication. + (Expressions): Copyedit. + (Matching): Document Electric Pair mode. + + * ack.texi (Acknowledgments): + * rmail.texi (Movemail, Other Mailbox Formats): + * frames.texi (Frames): Don't capitalize "Unix". + +2011-12-04 Chong Yidong + * text.texi (Nroff Mode): Mention what nroff is. (Text Based Tables, Table Recognition): Don't say "Table mode" since it's not a major or minor mode. === modified file 'doc/emacs/ack.texi' --- doc/emacs/ack.texi 2011-11-19 09:18:31 +0000 +++ doc/emacs/ack.texi 2011-12-04 16:19:57 +0000 @@ -1272,8 +1272,8 @@ Barry Warsaw wrote @file{assoc.el}, a set of utility functions for working with association lists; @file{cc-mode.el}, a mode for editing C, C@t{++}, and Java code, based on earlier work by Dave Detlefs, -Stewart Clamen, and Richard Stallman; @file{elp.el}, a profiler -for Emacs Lisp programs; @file{man.el}, a mode for reading UNIX manual +Stewart Clamen, and Richard Stallman; @file{elp.el}, a profiler for +Emacs Lisp programs; @file{man.el}, a mode for reading Unix manual pages; @file{regi.el}, providing an AWK-like functionality for use in lisp programs; @file{reporter.el}, providing customizable bug reporting for lisp packages; and @file{supercite.el}, a minor mode for === modified file 'doc/emacs/frames.texi' --- doc/emacs/frames.texi 2011-12-03 16:17:29 +0000 +++ doc/emacs/frames.texi 2011-12-04 16:19:57 +0000 @@ -32,7 +32,7 @@ ``frames'' on text-only terminals; such frames are displayed one at a time, filling the entire terminal screen (@pxref{Non-Window Terminals}). It is also possible to use the mouse on some text-only -terminals (@pxref{Text-Only Mouse}, for doing so on GNU and UNIX +terminals (@pxref{Text-Only Mouse}, for doing so on GNU and Unix systems; and @iftex @pxref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features}, === modified file 'doc/emacs/programs.texi' --- doc/emacs/programs.texi 2011-11-28 11:12:00 +0000 +++ doc/emacs/programs.texi 2011-12-04 16:19:57 +0000 @@ -8,8 +8,8 @@ @cindex C editing @cindex program editing - Emacs provides many features to facilitate editing programs. Some -of these features can + This chapter describes Emacs features for facilitating editing +programs. Some of these features can: @itemize @bullet @item @@ -25,8 +25,6 @@ Highlight program syntax (@pxref{Font Lock}). @end itemize - This chapter describes these features and many more. - @menu * Program Modes:: Major modes for editing programs. * Defuns:: Commands to operate on major top-level parts @@ -52,21 +50,14 @@ @section Major Modes for Programming Languages @cindex modes for programming languages - Emacs has specialized major modes for various programming languages. -@xref{Major Modes}. A programming language major mode typically + Emacs has specialized major modes (@pxref{Major Modes}) for many +programming languages. A programming language mode typically specifies the syntax of expressions, the customary rules for indentation, how to do syntax highlighting for the language, and how -to find the beginning or end of a function definition. It often -customizes or provides facilities for compiling and debugging programs -as well. - - Ideally, Emacs should provide a major mode for each programming -language that you might want to edit; if it doesn't have a mode for -your favorite language, you can contribute one. But often the mode -for one language can serve for other syntactically similar languages. -The major mode for language @var{l} is called @code{@var{l}-mode}, -and you can select it by typing @kbd{M-x @var{l}-mode @key{RET}}. -@xref{Choosing Modes}. +to find the beginning or end of a function definition. It often has +features for compiling and debugging programs as well. The major mode +for each language is named after the language; for instance, the major +mode for the C programming language is @code{c-mode}. @cindex Perl mode @cindex Icon mode @@ -89,40 +80,32 @@ @cindex Conf mode @cindex DNS mode @cindex Javascript mode - The existing programming language major modes include Lisp, Scheme -(a variant of Lisp) and the Scheme-based DSSSL expression language, -Ada, ASM, AWK, C, C++, Delphi (Object Pascal), Fortran, Icon, IDL -(CORBA), IDLWAVE, Java, Javascript, Metafont (@TeX{}'s companion for -font creation), Modula2, Objective-C, Octave, Pascal, Perl, Pike, -PostScript, Prolog, Python, Ruby, Simula, Tcl, and VHDL. An -alternative mode for Perl is called CPerl mode. Modes are available -for the scripting languages of the common GNU and Unix shells, VMS -DCL, and MS-DOS/MS-Windows @samp{BAT} files. There are also major -modes for editing makefiles, DNS master files, and various sorts of -configuration files. + Emacs has programming language modes for Lisp, Scheme, the +Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, Delphi, +Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, Metafont +(@TeX{}'s companion for font creation), Modula2, Objective-C, Octave, +Pascal, Perl, Pike, PostScript, Prolog, Python, Ruby, Simula, Tcl, and +VHDL. An alternative mode for Perl is called CPerl mode. Modes are +also available for the scripting languages of the common GNU and Unix +shells, VMS DCL, and MS-DOS/MS-Windows @samp{BAT} files, and for +makefiles, DNS master files, and various sorts of configuration files. + + Ideally, Emacs should have a major mode for each programming +language that you might want to edit. If it doesn't have a mode for +your favorite language, the mode might be implemented in a package not +distributed with Emacs (@pxref{Packages}); or you can contribute one. @kindex DEL @r{(programming modes)} @findex c-electric-backspace +@findex backward-delete-char-untabify In most programming languages, indentation should vary from line to -line to illustrate the structure of the program. So the major modes -for programming languages arrange for @key{TAB} to update the -indentation of the current line (@pxref{Program Indent}). They also -rebind @key{DEL} to treat a tab as if it were the equivalent number of -spaces; this lets you delete one column of indentation without -worrying whether the whitespace consists of spaces or tabs. Use -@kbd{C-b C-d} to delete a tab character before point, in these modes. - - Separate manuals are available for the modes for Ada (@pxref{Top, , Ada -Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba IDL/Pike/AWK -(@pxref{Top, , CC Mode, ccmode, CC Mode}) and the IDLWAVE modes -(@pxref{Top, , IDLWAVE, idlwave, IDLWAVE User Manual}). For Fortran -mode, see -@iftex -@ref{Fortran,,, emacs-xtra, Specialized Emacs Features}. -@end iftex -@ifnottex -@ref{Fortran}. -@end ifnottex +line to illustrate the structure of the program. Therefore, in most +programming language modes, typing @key{TAB} updates the indentation +of the current line (@pxref{Program Indent}). Furthermore, @key{DEL} +is usually bound to @code{backward-delete-char-untabify}, which +deletes backward treating each tab as if it were the equivalent number +of spaces, so that you can delete one column of indentation without +worrying whether the whitespace consists of spaces or tabs. @cindex mode hook @vindex c-mode-hook @@ -130,13 +113,24 @@ @vindex emacs-lisp-mode-hook @vindex lisp-interaction-mode-hook @vindex scheme-mode-hook - Turning on a major mode runs a normal hook called the @dfn{mode -hook}, which is the value of a Lisp variable. Each major mode has a -mode hook, and the hook's name is always made from the mode command's -name by adding @samp{-hook}. For example, turning on C mode runs the -hook @code{c-mode-hook}, while turning on Lisp mode runs the hook -@code{lisp-mode-hook}. The purpose of the mode hook is to give you a -place to set up customizations for that major mode. @xref{Hooks}. + Entering a programming language mode runs the custom Lisp functions +specified in the hook variable @code{prog-mode-hook}, followed by +those specified in the mode's own mode hook (@pxref{Major Modes}). +For instance, entering C mode runs the hooks @code{prog-mode-hook} and +@code{c-mode-hook}. @xref{Hooks}, for information about hooks. + +@ifinfo + Separate manuals are available for the modes for Ada (@pxref{Top,, +Ada Mode, ada-mode, Ada Mode}), C/C++/Objective C/Java/Corba +IDL/Pike/AWK (@pxref{Top, , CC Mode, ccmode, CC Mode}), and IDLWAVE +(@pxref{Top,, IDLWAVE, idlwave, IDLWAVE User Manual}). +@end ifinfo +@ifnotinfo + The Emacs distribution contains Info manuals for the major modes for +Ada, C/C++/Objective C/Java/Corba IDL/Pike/AWK, and IDLWAVE. For +Fortran mode, see the ``Fortran'' section in the Info version of the +Emacs manual, which is not included in this printed version. +@end ifnotinfo @node Defuns @section Top-Level Definitions, or Defuns @@ -328,20 +322,19 @@ @subsection Which Function Mode @cindex current function name in mode line - Which Function mode is a minor mode that displays the current -function name in the mode line, updating it as you move around in a -buffer. + Which Function mode is a global minor mode (@pxref{Minor Modes}) +which displays the current function name in the mode line, updating it +as you move around in a buffer. @findex which-function-mode @vindex which-func-modes To either enable or disable Which Function mode, use the command -@kbd{M-x which-function-mode}. This command applies to all buffers, -both existing ones and those yet to be created. However, it takes -effect only in certain major modes, those listed in the value of -@code{which-func-modes}. If the value of @code{which-func-modes} is -@code{t} rather than a list of modes, then Which Function mode applies -to all major modes that know how to support it---in other words, all -the major modes that support Imenu. +@kbd{M-x which-function-mode}. Although Which Function mode is a +global minor mode, it takes effect only in certain major modes: those +listed in the variable @code{which-func-modes}. If the value of +@code{which-func-modes} is @code{t} rather than a list of modes, then +Which Function mode applies to all major modes that know how to +support it---in other words, all the major modes that support Imenu. @node Program Indent @section Indentation for Programs @@ -352,6 +345,10 @@ single line, a specified number of lines, or all of the lines inside a single parenthetical grouping. + @xref{Indentation}, for general information about indentation. This +section describes indentation features specific to programming +language modes. + @menu * Basic Indent:: Indenting a single line. * Multi-line Indent:: Commands to reindent many lines at once. @@ -361,18 +358,15 @@ @end menu @cindex pretty-printer - Emacs also provides a Lisp pretty-printer in the library @code{pp}. -This program reformats a Lisp object with indentation chosen to look nice. + Emacs also provides a Lisp pretty-printer in the @code{pp} package, +which reformats Lisp objects with nice-looking indentation. @node Basic Indent @subsection Basic Program Indentation Commands - The basic indentation commands indent a single line according to the -usual conventions of the language you are editing. - @table @kbd @item @key{TAB} -Adjust indentation of current line. +Adjust indentation of current line (@code{indent-for-tab-command}). @item C-j Insert a newline, then adjust indentation of following line (@code{newline-and-indent}). @@ -382,65 +376,50 @@ @findex c-indent-command @findex indent-line-function @findex indent-for-tab-command - The basic indentation command is @key{TAB}. In any -programming-language major mode, @key{TAB} gives the current line the -correct indentation as determined from the previous lines. It does -this by inserting or deleting whitespace at the beginning of the -current line. If point was inside the whitespace at the beginning of -the line, @key{TAB} puts it at the end of that whitespace; otherwise, -@key{TAB} keeps point fixed with respect to the characters around it. -If the region is active (@pxref{Mark}), @key{TAB} indents every line -within the region instead of just the current line. The function that -@key{TAB} runs depends on the major mode; for instance, it is -@code{c-indent-line-or-region} in C mode. Each function is aware of -the syntax and conventions for its particular language. - - Use @kbd{C-q @key{TAB}} to insert a tab character at point. + The basic indentation command is @key{TAB} +(@code{indent-for-tab-command}), which was documented in +@ref{Indentation}. In programming language modes, @key{TAB} indents +the current line, based on the indentation and syntactic content of +the preceding lines; if the region is active, @key{TAB} indents each +line within the region, not just the current line. @kindex C-j @r{(indenting source code)} @findex newline-and-indent - When entering lines of new code, use @kbd{C-j} -(@code{newline-and-indent}), which inserts a newline and then adjusts -indentation after it. (It also deletes any trailing whitespace which -remains before the new newline.) For instance, @kbd{C-j} at the end -of a line creates a blank line with appropriate indentation. In -programming language modes, it is equivalent to @key{RET} @key{TAB}. - - When Emacs indents a line that starts within a parenthetical -grouping, it usually places the start of the line under the preceding -line within the group, or under the text after the parenthesis. If -you manually give one of these lines a nonstandard indentation, the -lines below will tend to follow it. This behavior is convenient in -cases where you have overridden the standard result of @key{TAB} -indentation (e.g., for aesthetic purposes). - - Many programming-language modes assume that an open-parenthesis, -open-brace or other opening delimiter at the left margin is the start -of a function. This assumption speeds up indentation commands. If -the text you are editing contains opening delimiters in column zero -that aren't the beginning of a functions---even if these delimiters -occur inside strings or comments---then you must set -@code{open-paren-in-column-0-is-defun-start}. @xref{Left Margin + The command @kbd{C-j} (@code{newline-and-indent}), which was +documented in @ref{Indentation Commands}, does the same as @key{RET} +followed by @key{TAB}: it inserts a new line, then adjusts the line's +indentation. + + When indenting a line that starts within a parenthetical grouping, +Emacs usually places the start of the line under the preceding line +within the group, or under the text after the parenthesis. If you +manually give one of these lines a nonstandard indentation (e.g.@: for +aesthetic purposes), the lines below will follow it. + + The indentation commands for most programming language modes assume +that a open-parenthesis, open-brace or other opening delimiter at the +left margin is the start of a function. If the code you are editing +violates this assumption---even if the delimiters occur in strings or +comments---you must set @code{open-paren-in-column-0-is-defun-start} +to @code{nil} for indentation to work properly. @xref{Left Margin Paren}. - Normally, Emacs indents lines using an ``optimal'' mix of tab and -space characters. If you want Emacs to use spaces only, set -@code{indent-tabs-mode} (@pxref{Just Spaces}). - @node Multi-line Indent @subsection Indenting Several Lines Sometimes, you may want to reindent several lines of code at a time. One way to do this is to use the mark; when the mark is active and the -region is non-empty, @key{TAB} indents every line within the region. -In addition, Emacs provides several other commands for indenting large -chunks of code: +region is non-empty, @key{TAB} indents every line in the region. +Alternatively, the command @kbd{C-M-\} (@code{indent-region}) indents +every line in the region, whether or not the mark is active +(@pxref{Indentation Commands}). + + In addition, Emacs provides the following commands for indenting +large chunks of code: @table @kbd @item C-M-q Reindent all the lines within one parenthetical grouping. -@item C-M-\ -Reindent all lines in the region (@code{indent-region}). @item C-u @key{TAB} Shift an entire parenthetical grouping rigidly sideways so that its first line is properly indented. @@ -454,18 +433,13 @@ To reindent the contents of a single parenthetical grouping, position point before the beginning of the grouping and type @kbd{C-M-q}. This changes the relative indentation within the -grouping, without affecting its overall indentation (i.e., the +grouping, without affecting its overall indentation (i.e.@: the indentation of the line where the grouping starts). The function that @kbd{C-M-q} runs depends on the major mode; it is @code{indent-pp-sexp} in Lisp mode, @code{c-indent-exp} in C mode, etc. To correct the overall indentation as well, type @key{TAB} first. - @kbd{C-M-\} (@code{indent-region}) applies @key{TAB} to the region. -This is useful when Transient Mark mode is disabled (@pxref{Disabled -Transient Mark}), because in that case @key{TAB} does not act on the -region. - @kindex C-u TAB If you like the relative indentation within a grouping but not the indentation of its first line, move point to that first line and type @@ -516,9 +490,9 @@ @cindex @code{lisp-indent-function} property You can override the standard pattern in various ways for individual functions, according to the @code{lisp-indent-function} property of -the function name. Normally you would use this for macro definitions -and specify it using the @code{declare} construct (@pxref{Defining -Macros,,, elisp, the Emacs Lisp Reference Manual}). +the function name. This is normally done for macro definitions, using +the @code{declare} construct. @xref{Defining Macros,,, elisp, the +Emacs Lisp Reference Manual}. @node C Indent @subsection Commands for C Indentation @@ -664,9 +638,13 @@ @cindex sexp @cindex expression @cindex balanced expression - These commands deal with balanced expressions, also called -@dfn{sexps}@footnote{The word ``sexp'' is used to refer to an -expression in Lisp.}. + Each programming language mode has its own definition of a +@dfn{balanced expression}. Balanced expressions typically include +individual symbols, numbers, and string constants, as well as pieces +of code enclosed in a matching pair of delimiters. The following +commands deal with balanced expressions (in Emacs, such expressions +are referred to internally as @dfn{sexps}@footnote{The word ``sexp'' +is used to refer to an expression in Lisp.}). @table @kbd @item C-M-f @@ -682,90 +660,71 @@ Put mark after following expression (@code{mark-sexp}). @end table - Each programming language major mode customizes the definition of -balanced expressions to suit that language. Balanced expressions -typically include symbols, numbers, and string constants, as well as -any pair of matching delimiters and their contents. Some languages -have obscure forms of expression syntax that nobody has bothered to -implement in Emacs. - -@cindex Control-Meta - By convention, the keys for these commands are all Control-Meta -characters. They usually act on expressions just as the corresponding -Meta characters act on words. For instance, the command @kbd{C-M-b} -moves backward over a balanced expression, just as @kbd{M-b} moves -back over a word. - @kindex C-M-f @kindex C-M-b @findex forward-sexp @findex backward-sexp To move forward over a balanced expression, use @kbd{C-M-f} (@code{forward-sexp}). If the first significant character after point -is an opening delimiter (@samp{(} in Lisp; @samp{(}, @samp{[} or -@samp{@{} in C), @kbd{C-M-f} moves past the matching closing -delimiter. If the character begins a symbol, string, or number, -@kbd{C-M-f} moves over that. +is an opening delimiter (e.g.@: @samp{(}, @samp{[} or @samp{@{} in C), +this command moves past the matching closing delimiter. If the +character begins a symbol, string, or number, the command moves over +that. The command @kbd{C-M-b} (@code{backward-sexp}) moves backward over a -balanced expression. The detailed rules are like those above for -@kbd{C-M-f}, but with directions reversed. If there are prefix -characters (single-quote, backquote and comma, in Lisp) preceding the -expression, @kbd{C-M-b} moves back over them as well. The balanced -expression commands move across comments as if they were whitespace, -in most modes. +balanced expression---like @kbd{C-M-f}, but in the reverse direction. +If the expression is preceded by any prefix characters (single-quote, +backquote and comma, in Lisp), the command moves back over them as +well. - @kbd{C-M-f} or @kbd{C-M-b} with an argument repeats that operation the -specified number of times; with a negative argument, it moves in the -opposite direction. + @kbd{C-M-f} or @kbd{C-M-b} with an argument repeats that operation +the specified number of times; with a negative argument means to move +in the opposite direction. In most modes, these two commands move +across comments as if they were whitespace. Note that their keys, +@kbd{C-M-f} and @kbd{C-M-b}, are analogous to @kbd{C-f} and @kbd{C-b}, +which move by characters (@pxref{Moving Point}), and @kbd{M-f} and +@kbd{M-b}, which move by words (@pxref{Words}). @cindex killing expressions @kindex C-M-k @findex kill-sexp - Killing a whole balanced expression can be done with @kbd{C-M-k} -(@code{kill-sexp}). @kbd{C-M-k} kills the characters that @kbd{C-M-f} -would move over. + To kill a whole balanced expression, type @kbd{C-M-k} +(@code{kill-sexp}). This kills the text that @kbd{C-M-f} would move +over. @cindex transposition of expressions @kindex C-M-t @findex transpose-sexps - A somewhat random-sounding command which is nevertheless handy is -@kbd{C-M-t} (@code{transpose-sexps}), which drags the previous -balanced expression across the next one. An argument serves as a -repeat count, moving the previous expression over that many following -ones. A negative argument drags the previous balanced expression -backwards across those before it (thus canceling out the effect of -@kbd{C-M-t} with a positive argument). An argument of zero, rather -than doing nothing, transposes the balanced expressions ending at or -after point and the mark. + @kbd{C-M-t} (@code{transpose-sexps}) switches the positions of the +previous balanced expression and the next one. It is analogous to the +@kbd{C-t} command, which transposes characters (@pxref{Transpose}). +An argument to @kbd{C-M-t} serves as a repeat count, moving the +previous expression over that many following ones. A negative +argument moves the previous balanced expression backwards across those +before it. An argument of zero, rather than doing nothing, transposes +the balanced expressions ending at or after point and the mark. @kindex C-M-@@ @kindex C-M-@key{SPC} @findex mark-sexp - To operate on balanced expressions with an operation which acts on -the region, use the command @kbd{C-M-@key{SPC}} (@code{mark-sexp}). -This sets the mark at the same place that @kbd{C-M-f} would move to. -@xref{Marking Objects}, for more information about this command. - -@kbd{C-M-@key{SPC}} treats -numeric arguments in the same way as @kbd{C-M-f}; in particular, a -negative argument puts the mark at the beginning of the previous -balanced expression. The alias @kbd{C-M-@@} is equivalent to -@kbd{C-M-@key{SPC}}. While the mark is active, each successive use of -@kbd{C-M-@key{SPC}} extends the region by shifting the mark by one -sexp. + To operate on balanced expressions with a command which acts on the +region, type @kbd{C-M-@key{SPC}} (@code{mark-sexp}). This sets the +mark where @kbd{C-M-f} would move to. While the mark is active, each +successive call to this command extends the region by shifting the +mark by one expression. Positive or negative numeric arguments move +the mark forward or backward by the specified number of expressions. +The alias @kbd{C-M-@@} is equivalent to @kbd{C-M-@key{SPC}}. +@xref{Marking Objects}, for more information about this and related +commands. In languages that use infix operators, such as C, it is not possible -to recognize all balanced expressions as such because there can be -multiple possibilities at a given position. For example, C mode does -not treat @samp{foo + bar} as a single expression, even though it -@emph{is} one C expression; instead, it recognizes @samp{foo} as one -expression and @samp{bar} as another, with the @samp{+} as punctuation -between them. Both @samp{foo + bar} and @samp{foo} are legitimate -choices for ``the expression following point'' when point is at the -@samp{f}, so the expression commands must perforce choose one or the -other to operate on. Note that @samp{(foo + bar)} is recognized as a -single expression in C mode, because of the parentheses. +to recognize all balanced expressions because there can be multiple +possibilities at a given position. For example, C mode does not treat +@samp{foo + bar} as a single expression, even though it @emph{is} one +C expression; instead, it recognizes @samp{foo} as one expression and +@samp{bar} as another, with the @samp{+} as punctuation between them. +However, C mode recognizes @samp{(foo + bar)} as a single expression, +because of the parentheses. @node Moving by Parens @subsection Moving in the Parenthesis Structure @@ -776,19 +735,18 @@ @cindex braces, moving across @cindex list commands - The Emacs commands for handling parenthetical groupings see nothing -except parentheses (or whatever characters must balance in the -language you are working with). They ignore strings and comments -(including any parentheses within them) and ignore parentheses quoted -by an escape character. They are mainly intended for editing -programs, but can be useful for editing any text that has parentheses. -They are sometimes called ``list'' commands because in Lisp these -groupings are lists. + The following commands move over groupings delimited by parentheses +(or whatever else serves as delimiters in the language you are working +with). They ignore strings and comments, including any parentheses +within them, and also ignore parentheses that are ``quoted'' with an +escape character. These commands are mainly intended for editing +programs, but can be useful for editing any text containing +parentheses. They are referred to internally as ``list'' commands +because in Lisp these groupings are lists. -These commands assume that the starting point is not inside a string -or a comment. Sometimes you can invoke them usefully from one of -these places (for example, when you have a parenthesised clause in a -comment) but this is unreliable. + These commands assume that the starting point is not inside a string +or a comment. If you invoke them from inside a string or comment, the +results are unreliable. @table @kbd @item C-M-n @@ -826,52 +784,62 @@ argument specifies the number of levels to go down. @node Matching -@subsection Automatic Display Of Matching Parentheses +@subsection Matching Parentheses @cindex matching parentheses @cindex parentheses, displaying matches - The Emacs parenthesis-matching feature is designed to show -automatically how parentheses (and other matching delimiters) match in -the text. Whenever you type a self-inserting character that is a -closing delimiter, the cursor moves momentarily to the location of the + Emacs has a number of @dfn{parenthesis matching} features, which +make it easy to see how and whether parentheses (or other delimiters) +match up. + + Whenever you type a self-inserting character that is a closing +delimiter, the cursor moves momentarily to the location of the matching opening delimiter, provided that is on the screen. If it is not on the screen, Emacs displays some of the text near it in the echo area. Either way, you can tell which grouping you are closing off. - - If the opening delimiter and closing delimiter are mismatched---such +If the opening delimiter and closing delimiter are mismatched---such as in @samp{[x)}---a warning message is displayed in the echo area. @vindex blink-matching-paren @vindex blink-matching-paren-distance @vindex blink-matching-delay - Three variables control parenthesis match display: - - @code{blink-matching-paren} turns the feature on or off: @code{nil} -disables it, but the default is @code{t} to enable match display. - - @code{blink-matching-delay} says how many seconds to leave the -cursor on the matching opening delimiter, before bringing it back to -the real location of point; the default is 1, but on some systems it -is useful to specify a fraction of a second. - - @code{blink-matching-paren-distance} specifies how many characters + Three variables control the display of matching parentheses: + +@itemize @bullet +@item +@code{blink-matching-paren} turns the feature on or off: @code{nil} +disables it, but the default is @code{t} to enable it. + +@item +@code{blink-matching-delay} says how many seconds to leave the cursor +on the matching opening delimiter, before bringing it back to the real +location of point. This may be an integer or floating-point number; +the default is 1. + +@item +@code{blink-matching-paren-distance} specifies how many characters back to search to find the matching opening delimiter. If the match -is not found in that distance, scanning stops, and nothing is displayed. -This is to prevent the scan for the matching delimiter from wasting -lots of time when there is no match. The default is 102400. +is not found in that distance, Emacs stops scanning and nothing is +displayed. The default is 102400. +@end itemize @cindex Show Paren mode @cindex highlighting matching parentheses @findex show-paren-mode - Show Paren mode provides a more powerful kind of automatic matching. -Whenever point is before an opening delimiter or after a closing -delimiter, both that delimiter and its opposite delimiter are -highlighted. Use the command @kbd{M-x show-paren-mode} to enable or -disable this mode. + Show Paren mode, a global minor mode, provides a more powerful kind +of automatic matching. Whenever point is before an opening delimiter +or after a closing delimiter, both that delimiter and its opposite +delimiter are highlighted. To toggle Show Paren mode, type @kbd{M-x +show-paren-mode}. - Show Paren mode uses the faces @code{show-paren-match} and -@code{show-paren-mismatch} to highlight parentheses; you can customize -them to control how highlighting looks. @xref{Face Customization}. +@cindex Electric Pair mode +@cindex inserting matching parentheses +@findex electric-pair-mode + Electric Pair mode, a global minor mode, provides a way to easily +insert matching delimiters. Whenever you insert an opening delimiter, +the matching closing delimiter is automatically inserted as well, +leaving point between the two. To toggle Electric Pair mode, type +@kbd{M-x electric-pair-mode}. @node Comments @section Manipulating Comments @@ -1220,8 +1188,13 @@ them. For more information about setting up and using @kbd{M-x woman}, see -@ref{Top, WoMan, Browse UN*X Manual Pages WithOut Man, woman, The WoMan -Manual}. +@ifinfo +@ref{Top, WoMan, Browse UN*X Manual Pages WithOut Man, woman, The +WoMan Manual}. +@end ifinfo +@ifnotinfo +the WoMan Info manual, which is distributed with Emacs. +@end ifnotinfo @node Lisp Doc @subsection Emacs Lisp Documentation Lookup @@ -1400,13 +1373,12 @@ Semantic is a package that provides language-aware editing commands based on @code{source code parsers}. This section provides a brief -description of Semantic; +description of Semantic; for full details, @ifnottex -for full details, see @ref{Top, Semantic,, semantic, Semantic}. +see @ref{Top, Semantic,, semantic, Semantic}. @end ifnottex @iftex -for full details, type @kbd{C-h i} (@code{info}) and then select the -Semantic manual. +see the Semantic Info manual, which is distributed with Emacs. @end iftex Most of the ``language aware'' features in Emacs, such as font lock @@ -1486,8 +1458,10 @@ Mode}). The Foldout package provides folding-editor features (@pxref{Foldout}). +@ifinfo The ``automatic typing'' features may be useful for writing programs. @xref{Top,,Autotyping, autotype, Autotyping}. +@end ifinfo @node C Modes @section C and Related Modes @@ -1509,9 +1483,14 @@ This section gives a brief description of the special features available in C, C++, Objective-C, Java, CORBA IDL, Pike and AWK modes. -(These are called ``C mode and related modes.'') @xref{Top, , CC Mode, -ccmode, CC Mode}, for a more extensive description of these modes -and their special features. +(These are called ``C mode and related modes.'') +@ifinfo +@xref{Top,, CC Mode, ccmode, CC Mode}, for more details. +@end ifinfo +@ifnotinfo +For more details, see the CC mode Info manual, which is distributed +with Emacs. +@end ifnotinfo @menu * Motion in C:: Commands to move by C statements, etc. === modified file 'doc/emacs/rmail.texi' --- doc/emacs/rmail.texi 2011-11-24 00:12:46 +0000 +++ doc/emacs/rmail.texi 2011-12-04 16:19:57 +0000 @@ -1340,17 +1340,18 @@ command line syntax and the same basic subset of options. However, the Mailutils version offers additional features. - The Emacs version of @code{movemail} is able to retrieve mail from the -usual UNIX mailbox formats and from remote mailboxes using the POP3 -protocol. + The Emacs version of @code{movemail} is able to retrieve mail from +the usual Unix mailbox formats and from remote mailboxes using the +POP3 protocol. The Mailutils version is able to handle a wide set of mailbox -formats, such as plain UNIX mailboxes, @code{maildir} and @code{MH} -mailboxes, etc. It is able to access remote mailboxes using the POP3 or -IMAP4 protocol, and can retrieve mail from them using a TLS encrypted -channel. It also accepts mailbox arguments in @acronym{URL} form. -The detailed description of mailbox @acronym{URL}s can be found in -@ref{URL,,,mailutils,Mailbox URL Formats}. In short, a @acronym{URL} is: +formats, such as plain Unix mailboxes, @code{maildir} and @code{MH} +mailboxes, etc. It is able to access remote mailboxes using the POP3 +or IMAP4 protocol, and can retrieve mail from them using a TLS +encrypted channel. It also accepts mailbox arguments in @acronym{URL} +form. The detailed description of mailbox @acronym{URL}s can be found +in @ref{URL,,,mailutils,Mailbox URL Formats}. In short, a +@acronym{URL} is: @smallexample @var{proto}://[@var{user}[:@var{password}]@@]@var{host-or-file-name} @@ -1381,9 +1382,9 @@ @table @code @item mbox -Usual UNIX mailbox format. In this case, neither @var{user} nor -@var{pass} are used, and @var{host-or-file-name} denotes the file name of -the mailbox file, e.g., @code{mbox://var/spool/mail/smith}. +Usual Unix mailbox format. In this case, neither @var{user} nor +@var{pass} are used, and @var{host-or-file-name} denotes the file name +of the mailbox file, e.g., @code{mbox://var/spool/mail/smith}. @item mh A local mailbox in the @acronym{MH} format. @var{User} and @@ -1524,7 +1525,7 @@ @section Retrieving Mail from Local Mailboxes in Various Formats If your incoming mail is stored on a local machine in a format other -than UNIX mailbox, you will need the Mailutils @code{movemail} to +than Unix mailbox, you will need the Mailutils @code{movemail} to retrieve it. @xref{Movemail}, for the detailed description of @code{movemail} versions. For example, to access mail from a inbox in @code{maildir} format located in @file{/var/spool/mail/in}, you would === modified file 'doc/emacs/text.texi' --- doc/emacs/text.texi 2011-12-04 05:55:36 +0000 +++ doc/emacs/text.texi 2011-12-04 16:19:57 +0000 @@ -32,9 +32,14 @@ @findex nxml-mode Emacs has other major modes for text which contains ``embedded'' commands, such as @TeX{} and La@TeX{} (@pxref{TeX Mode}); HTML and -SGML (@pxref{HTML Mode}); XML (@pxref{Top,The nXML Mode -Manual,,nxml-mode, nXML Mode}); and Groff and Nroff (@pxref{Nroff -Mode}). +SGML (@pxref{HTML Mode}); XML +@ifinfo +(@pxref{Top,The nXML Mode Manual,,nxml-mode, nXML Mode}); +@end ifinfo +@ifnotinfo +(see the nXML mode Info manual, which is distributed with Emacs); +@end ifnotinfo +and Groff and Nroff (@pxref{Nroff Mode}). @cindex ASCII art If you need to edit pictures made out of text characters (commonly @@ -1764,8 +1769,15 @@ @file{.xml}. For XHTML files, which have the extension @file{.xhtml}, Emacs uses HTML mode by default; you can make it use nXML mode by customizing the variable @code{auto-mode-alist} (@pxref{Choosing -Modes}). nXML mode is described in its own manual: @xref{Top, nXML +Modes}). +@ifinfo +nXML mode is described in its own manual: @xref{Top, nXML Mode,,nxml-mode, nXML Mode}. +@end ifinfo +@ifnotinfo +nXML mode is described in an Info manual, which is distributed with +Emacs. +@end ifnotinfo @vindex sgml-xml-mode You may choose to use the less powerful SGML mode for editing XML, ------------------------------------------------------------ revno: 106606 committer: Stefan Monnier branch nick: trunk timestamp: Sun 2011-12-04 10:46:07 -0500 message: Don't macro-inline non-performance-critical code. * src/eval.c (process_quit_flag): New function. * src/lisp.h (QUIT): Use it. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-12-04 13:25:16 +0000 +++ src/ChangeLog 2011-12-04 15:46:07 +0000 @@ -1,3 +1,9 @@ +2011-12-04 Stefan Monnier + + Don't macro-inline non-performance-critical code. + * eval.c (process_quit_flag): New function. + * lisp.h (QUIT): Use it. + 2011-12-04 Jan Djärv * nsfns.m (get_geometry_from_preferences): New function. @@ -9,8 +15,8 @@ (syms_of_emacs): Initialize it. * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set Qquit_flag to `kill-emacs' instead. - (quit_throw_to_read_char): Add parameter `from_signal'. All - callers changed. Call Fkill_emacs if requested and safe. + (quit_throw_to_read_char): Add parameter `from_signal'. + All callers changed. Call Fkill_emacs if requested and safe. * lisp.h (QUIT): Call Fkill_emacs if requested. 2011-12-03 Jan Djärv @@ -110,8 +116,8 @@ 2011-11-27 Jan Djärv - * gtkutil.c (xg_create_frame_widgets): Call - gtk_window_set_has_resize_grip (FALSE) if that function is + * gtkutil.c (xg_create_frame_widgets): + Call gtk_window_set_has_resize_grip (FALSE) if that function is present with Gtk+ 2.0. 2011-11-26 Paul Eggert @@ -318,8 +324,8 @@ * xdisp.c (display_line): Move the call to highlight_trailing_whitespace before the call to compute_line_metrics, since the latter needs to see the final - faces of all the glyphs to compute ROW's hash value. Fixes - assertion violations in row_equal_p. (Bug#10035) + faces of all the glyphs to compute ROW's hash value. + Fixes assertion violations in row_equal_p. (Bug#10035) 2011-11-14 Juanma Barranquero @@ -403,8 +409,8 @@ 2011-11-08 Chong Yidong * window.c (Fwindow_left_column, Fwindow_top_line): Doc fix. - (Fwindow_body_height, Fwindow_body_width): Move from Lisp. Signal - an error if not a live window. + (Fwindow_body_height, Fwindow_body_width): Move from Lisp. + Signal an error if not a live window. (Fwindow_total_width, Fwindow_total_height): Move from Lisp. (Fwindow_total_size, Fwindow_body_size): Move to Lisp. @@ -536,8 +542,8 @@ (x_destroy_window): Move code to x_free_frame_resources. * xfns.c (unwind_create_frame): Fix comment. - (Fx_create_frame, x_create_tip_frame): Move - terminal->reference_count++ just before making the frame + (Fx_create_frame, x_create_tip_frame): + Move terminal->reference_count++ just before making the frame official. Move initialization of image_cache_refcount and dpyinfo_refcount before calling init_frame_faces (Bug#9943). @@ -607,8 +613,8 @@ * xdisp.c (mouse_face_from_buffer_pos): Fix a typo in a comment. Don't stop backward scan on the continuation glyph, even though its CHARPOS is positive. - (mouse_face_from_buffer_pos, note_mouse_highlight): Rename - cover_string to disp_string. + (mouse_face_from_buffer_pos, note_mouse_highlight): + Rename cover_string to disp_string. 2011-11-01 Martin Rudalics === modified file 'src/coding.c' --- src/coding.c 2011-11-07 01:57:07 +0000 +++ src/coding.c 2011-12-04 15:46:07 +0000 @@ -9208,7 +9208,7 @@ = TERMINAL_TERMINAL_CODING (get_terminal (terminal, 1)); Lisp_Object coding_system = CODING_ID_NAME (terminal_coding->id); - /* For backward compatibility, return nil if it is `undecided'. */ + /* For backward compatibility, return nil if it is `undecided'. */ return (! EQ (coding_system, Qundecided) ? coding_system : Qnil); } === modified file 'src/coding.h' --- src/coding.h 2011-11-14 23:59:56 +0000 +++ src/coding.h 2011-12-04 15:46:07 +0000 @@ -457,7 +457,7 @@ /* Number of error source data found in a decoding routine. */ int errors; - /* Store the positions of error source data. */ + /* Store the positions of error source data. */ EMACS_INT *error_positions; /* Finish status of code conversion. */ === modified file 'src/eval.c' --- src/eval.c 2011-12-04 08:02:42 +0000 +++ src/eval.c 2011-12-04 15:46:07 +0000 @@ -1629,6 +1629,18 @@ static int maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, Lisp_Object data); +void +process_quit_flag (void) +{ + Lisp_Object flag = Vquit_flag; + Vquit_flag = Qnil; + if (EQ (flag, Qkill_emacs)) + Fkill_emacs (Qnil); + if (EQ (Vthrow_on_input, flag)) + Fthrow (Vthrow_on_input, Qt); + Fsignal (Qquit, Qnil); +} + DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, doc: /* Signal an error. Args are ERROR-SYMBOL and associated DATA. This function does not return. === modified file 'src/lisp.h' --- src/lisp.h 2011-12-04 09:26:30 +0000 +++ src/lisp.h 2011-12-04 15:46:07 +0000 @@ -2143,18 +2143,11 @@ #define ELSE_PENDING_SIGNALS #endif /* not SYNC_INPUT */ +extern void handle_quit_flag (void); #define QUIT \ do { \ if (!NILP (Vquit_flag) && NILP (Vinhibit_quit)) \ - { \ - Lisp_Object flag = Vquit_flag; \ - Vquit_flag = Qnil; \ - if (EQ (flag, Qkill_emacs)) \ - Fkill_emacs (Qnil); \ - if (EQ (Vthrow_on_input, flag)) \ - Fthrow (Vthrow_on_input, Qt); \ - Fsignal (Qquit, Qnil); \ - } \ + process_quit_flag (); \ ELSE_PENDING_SIGNALS \ } while (0) ------------------------------------------------------------ revno: 106605 fixes bug(s): http://debbugs.gnu.org/10103 committer: Jan D. branch nick: trunk timestamp: Sun 2011-12-04 14:25:16 +0100 message: * nsfns.m (get_geometry_from_preferences): New function. (Fx_create_frame): Call get_geometry_from_preferences. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-12-04 09:26:30 +0000 +++ src/ChangeLog 2011-12-04 13:25:16 +0000 @@ -1,3 +1,8 @@ +2011-12-04 Jan Djärv + + * nsfns.m (get_geometry_from_preferences): New function. + (Fx_create_frame): Call get_geometry_from_preferences (Bug#10103). + 2011-12-04 Andreas Schwab * emacs.c (Qkill_emacs): Define. === modified file 'src/nsfns.m' --- src/nsfns.m 2011-11-16 17:47:25 +0000 +++ src/nsfns.m 2011-12-04 13:25:16 +0000 @@ -1076,7 +1076,41 @@ return Qnil; } - +/* + * Read geometry related parameters from preferences if not in PARMS. + * Returns the union of parms and any preferences read. + */ + +static Lisp_Object +get_geometry_from_preferences (struct ns_display_info *dpyinfo, + Lisp_Object parms) +{ + struct { + const char *val; + const char *cls; + Lisp_Object tem; + } r[] = { + { "width", "Width", Qwidth }, + { "height", "Height", Qheight }, + { "left", "Left", Qleft }, + { "top", "Top", Qtop }, + }; + + int i; + for (i = 0; i < sizeof (r)/sizeof (r[0]); ++i) + { + if (NILP (Fassq (r[i].tem, parms))) + { + Lisp_Object value + = x_get_arg (dpyinfo, parms, r[i].tem, r[i].val, r[i].cls, + RES_TYPE_NUMBER); + if (! EQ (value, Qunbound)) + parms = Fcons (Fcons (r[i].tem, value), parms); + } + } + + return parms; +} /* ========================================================================== @@ -1285,6 +1319,7 @@ x_default_parameter (f, parms, Qtitle, Qnil, "title", "Title", RES_TYPE_STRING); + parms = get_geometry_from_preferences (dpyinfo, parms); window_prompting = x_figure_window_size (f, parms, 1); tem = x_get_arg (dpyinfo, parms, Qunsplittable, 0, 0, RES_TYPE_BOOLEAN); ------------------------------------------------------------ revno: 106604 committer: Glenn Morris branch nick: trunk timestamp: Sun 2011-12-04 06:25:33 -0500 message: Auto-commit of loaddefs files. diff: === modified file 'lisp/dired.el' --- lisp/dired.el 2011-12-03 11:18:40 +0000 +++ lisp/dired.el 2011-12-04 11:25:33 +0000 @@ -4128,7 +4128,7 @@ ;;;*** ;;;### (autoloads (dired-do-relsymlink dired-jump-other-window dired-jump) -;;;;;; "dired-x" "dired-x.el" "ea7c74fbb7dddf43bb85875018cb59ad") +;;;;;; "dired-x" "dired-x.el" "a542cdbf155ff79f36331bae217f3b28") ;;; Generated autoloads from dired-x.el (autoload 'dired-jump "dired-x" "\ ------------------------------------------------------------ revno: 106603 committer: Glenn Morris branch nick: trunk timestamp: Sun 2011-12-04 06:19:46 -0500 message: Auto-commit of generated files. diff: === modified file 'autogen/Makefile.in' --- autogen/Makefile.in 2011-09-27 10:19:42 +0000 +++ autogen/Makefile.in 2011-12-04 11:19:46 +0000 @@ -723,6 +723,7 @@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ +cache_file = @cache_file@ canonical = @canonical@ configuration = @configuration@ datadir = @datadir@ === modified file 'autogen/configure' --- autogen/configure 2011-12-01 11:17:53 +0000 +++ autogen/configure 2011-12-04 11:19:46 +0000 @@ -1217,6 +1217,7 @@ PROFILING_CFLAGS MAINT GZIP_INFO +cache_file am__untar am__tar AMTAR @@ -4070,6 +4071,9 @@ fi +## Makefile.in needs the cache file name. + + ## This is an option because I do not know if all info/man support ## compressed files, nor how to test if they do so. ------------------------------------------------------------ revno: 106602 committer: Andreas Schwab branch nick: emacs timestamp: Sun 2011-12-04 10:26:30 +0100 message: Don't call Lisp in signal handler * emacs.c (Qkill_emacs): Define. (syms_of_emacs): Initialize it. * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set Qquit_flag to `kill-emacs' instead. (quit_throw_to_read_char): Add parameter `from_signal'. All callers changed. Call Fkill_emacs if requested and safe. * lisp.h (QUIT): Call Fkill_emacs if requested. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-12-03 19:15:20 +0000 +++ src/ChangeLog 2011-12-04 09:26:30 +0000 @@ -1,3 +1,13 @@ +2011-12-04 Andreas Schwab + + * emacs.c (Qkill_emacs): Define. + (syms_of_emacs): Initialize it. + * keyboard.c (interrupt_signal): Don't call Fkill_emacs here, set + Qquit_flag to `kill-emacs' instead. + (quit_throw_to_read_char): Add parameter `from_signal'. All + callers changed. Call Fkill_emacs if requested and safe. + * lisp.h (QUIT): Call Fkill_emacs if requested. + 2011-12-03 Jan Djärv * widget.c (update_wm_hints): Return if wmshell is null. === modified file 'src/emacs.c' --- src/emacs.c 2011-11-14 23:59:56 +0000 +++ src/emacs.c 2011-12-04 09:26:30 +0000 @@ -154,6 +154,8 @@ Lisp_Object Qrisky_local_variable; +Lisp_Object Qkill_emacs; + /* If non-zero, Emacs should not attempt to use a window-specific code, but instead should use the virtual terminal under which it was started. */ int inhibit_window_system; @@ -2394,6 +2396,7 @@ { DEFSYM (Qfile_name_handler_alist, "file-name-handler-alist"); DEFSYM (Qrisky_local_variable, "risky-local-variable"); + DEFSYM (Qkill_emacs, "kill-emacs"); #ifndef CANNOT_DUMP defsubr (&Sdump_emacs); === modified file 'src/keyboard.c' --- src/keyboard.c 2011-12-04 08:02:42 +0000 +++ src/keyboard.c 2011-12-04 09:26:30 +0000 @@ -464,7 +464,7 @@ static Lisp_Object (Fcommand_execute) (Lisp_Object, Lisp_Object, Lisp_Object, Lisp_Object); static void handle_interrupt (void); -static void quit_throw_to_read_char (void) NO_RETURN; +static void quit_throw_to_read_char (int) NO_RETURN; static void timer_start_idle (void); static void timer_stop_idle (void); static void timer_resume_idle (void); @@ -653,7 +653,7 @@ echo_kboard = current_kboard; if (waiting_for_input && !NILP (Vquit_flag)) - quit_throw_to_read_char (); + quit_throw_to_read_char (0); } /* Turn off echoing, for the start of a new command. */ @@ -3817,7 +3817,7 @@ /* If the quit flag is set, then read_char will return quit_char, so that counts as "available input." */ if (!NILP (Vquit_flag)) - quit_throw_to_read_char (); + quit_throw_to_read_char (0); /* One way or another, wait until input is available; then, if interrupt handlers have not read it, read it now. */ @@ -10824,7 +10824,7 @@ /* If handle_interrupt was called before and buffered a C-g, make it run again now, to avoid timing error. */ if (!NILP (Vquit_flag)) - quit_throw_to_read_char (); + quit_throw_to_read_char (0); } void @@ -10839,7 +10839,7 @@ If we have a frame on the controlling tty, we assume that the SIGINT was generated by C-g, so we call handle_interrupt. - Otherwise, the handler kills Emacs. */ + Otherwise, tell QUIT to kill Emacs. */ static void interrupt_signal (int signalnum) /* If we don't have an argument, some */ @@ -10856,12 +10856,10 @@ if (!terminal) { /* If there are no frames there, let's pretend that we are a - well-behaving UN*X program and quit. We cannot do that while - GC is in progress, though. */ - if (!gc_in_progress && !waiting_for_input) - Fkill_emacs (Qnil); - else - Vquit_flag = Qt; + well-behaving UN*X program and quit. We must not call Lisp + in a signal handler, so tell QUIT to exit when it is + safe. */ + Vquit_flag = Qkill_emacs; } else { @@ -11010,15 +11008,20 @@ separate event loop thread like W32. */ #ifndef HAVE_NS if (waiting_for_input && !echoing) - quit_throw_to_read_char (); + quit_throw_to_read_char (1); #endif } /* Handle a C-g by making read_char return C-g. */ static void -quit_throw_to_read_char (void) +quit_throw_to_read_char (int from_signal) { + /* When not called from a signal handler it is safe to call + Lisp. */ + if (!from_signal && EQ (Vquit_flag, Qkill_emacs)) + Fkill_emacs (Qnil); + sigfree (); /* Prevent another signal from doing this before we finish. */ clear_waiting_for_input (); === modified file 'src/lisp.h' --- src/lisp.h 2011-11-28 08:20:58 +0000 +++ src/lisp.h 2011-12-04 09:26:30 +0000 @@ -2128,7 +2128,10 @@ Exception: if you set immediate_quit to nonzero, then the handler that responds to the C-g does the quit itself. This is a good thing to do around a loop that has no side effects - and (in particular) cannot call arbitrary Lisp code. */ + and (in particular) cannot call arbitrary Lisp code. + + If quit-flag is set to `kill-emacs' the SIGINT handler has received + a request to exit Emacs when it is safe to do. */ #ifdef SYNC_INPUT extern void process_pending_signals (void); @@ -2146,6 +2149,8 @@ { \ Lisp_Object flag = Vquit_flag; \ Vquit_flag = Qnil; \ + if (EQ (flag, Qkill_emacs)) \ + Fkill_emacs (Qnil); \ if (EQ (Vthrow_on_input, flag)) \ Fthrow (Vthrow_on_input, Qt); \ Fsignal (Qquit, Qnil); \ @@ -3291,6 +3296,7 @@ #ifdef FLOAT_CATCH_SIGILL extern void fatal_error_signal (int); #endif +extern Lisp_Object Qkill_emacs; EXFUN (Fkill_emacs, 1) NO_RETURN; #if HAVE_SETLOCALE void fixup_locale (void); ------------------------------------------------------------ revno: 106601 committer: Paul Eggert branch nick: trunk timestamp: Sun 2011-12-04 00:02:42 -0800 message: Spelling fixes. diff: === modified file 'ChangeLog' --- ChangeLog 2011-12-03 20:28:21 +0000 +++ ChangeLog 2011-12-04 08:02:42 +0000 @@ -8171,7 +8171,7 @@ 1994-01-08 Roland McGrath (roland@churchy.gnu.ai.mit.edu) * configure.in (creating src/Makefile): Put code inside 2nd arg to - AC_OUTPUT as it should be; hopefully noone will again see fit to + AC_OUTPUT as it should be; hopefully no one will again see fit to gratuitously break this and not make a change log entry. Optimized sed processing of Makefile.in and cpp output; now preserves comments previously removed from the cpp input. === modified file 'autogen.sh' --- autogen.sh 2011-03-31 04:24:03 +0000 +++ autogen.sh 2011-12-04 08:02:42 +0000 @@ -67,7 +67,7 @@ ## $1 = program ## $2 = minimum version. -## Return 0 if program is present with version >= minumum version. +## Return 0 if program is present with version >= minimum version. ## Return 1 if program is missing. ## Return 2 if program is present but too old. ## Return 3 for unexpected error (eg failed to parse version). === modified file 'doc/misc/calc.texi' --- doc/misc/calc.texi 2011-11-27 04:43:11 +0000 +++ doc/misc/calc.texi 2011-12-04 08:02:42 +0000 @@ -12878,7 +12878,7 @@ use @samp{[[-inf .. 0), (0 .. inf]]}. (There is no way in the current notation to say that @code{x} is nonzero but not necessarily real.) The @kbd{a e} command does ``unsafe'' simplifications, -including cancelling @samp{x} from the equation when @samp{x} is +including canceling @samp{x} from the equation when @samp{x} is not known to be nonzero. Another set of type symbols distinguish between scalars and vectors. @@ -21903,7 +21903,7 @@ @end smallexample Unselecting the sub-formula reveals that the minus sign, which would -normally have cancelled out with the subtraction automatically, has +normally have canceled out with the subtraction automatically, has not been able to do so because the subtraction was not part of the selected portion. Pressing @kbd{=} (@code{calc-evaluate}) or doing any other mathematical operation on the whole formula will cause it @@ -22590,7 +22590,7 @@ Quotients of products cancel only in the leading terms of the numerator and denominator. In other words, @expr{a x b / a y b} -is cancelled to @expr{x b / y b} but not to @expr{x / y}. Once +is canceled to @expr{x b / y b} but not to @expr{x / y}. Once again this is because full cancellation can be slow; use @kbd{a s} to cancel all terms of the quotient. @@ -22810,7 +22810,7 @@ cancel @expr{x^2} from the top and bottom to get @expr{a b / c x d}. (The terms in the denominator will then be rearranged to @expr{c d x} as described above.) If there is any common integer or fractional -factor in the numerator and denominator, it is cancelled out; +factor in the numerator and denominator, it is canceled out; for example, @expr{(4 x + 6) / 8 x} simplifies to @expr{(2 x + 3) / 4 x}. Non-constant common factors are not found even by @kbd{a s}. To @@ -22858,7 +22858,7 @@ If the argument is multiplied by a constant, and this constant has a common integer divisor with the modulus, then this factor is -cancelled out. For example, @samp{12 x % 15} is changed to +canceled out. For example, @samp{12 x % 15} is changed to @samp{3 (4 x % 5)} by factoring out 3. Also, @samp{(12 x + 1) % 15} is changed to @samp{3 ((4 x + 1:3) % 5)}. While these forms may not seem ``simpler,'' they allow Calc to discover useful information @@ -22938,13 +22938,13 @@ \bigskip @end tex -Equations and inequalities are simplified by cancelling factors +Equations and inequalities are simplified by canceling factors of products, quotients, or sums on both sides. Inequalities -change sign if a negative multiplicative factor is cancelled. +change sign if a negative multiplicative factor is canceled. Non-constant multiplicative factors as in @expr{a b = a c} are -cancelled from equations only if they are provably nonzero (generally +canceled from equations only if they are provably nonzero (generally because they were declared so; @pxref{Declarations}). Factors -are cancelled from inequalities only if they are nonzero and their +are canceled from inequalities only if they are nonzero and their sign is known. Simplification also replaces an equation or inequality with @@ -23035,9 +23035,9 @@ unsafe because of problems with principal values (although these simplifications are safe if @expr{x} is known to be real). -Common factors are cancelled from products on both sides of an +Common factors are canceled from products on both sides of an equation, even if those factors may be zero: @expr{a x / b x} -to @expr{a / b}. Such factors are never cancelled from +to @expr{a / b}. Such factors are never canceled from inequalities: Even @kbd{a e} is not bold enough to reduce @expr{a x < b x} to @expr{a < b} (or @expr{a > b}, depending on whether you believe @expr{x} is positive or negative). @@ -23071,7 +23071,7 @@ which the first argument is a number which is out of range for the leading unit are modified accordingly. -When cancelling and combining units in products and quotients, +When canceling and combining units in products and quotients, Calc accounts for unit names that differ only in the prefix letter. For example, @samp{2 km m} is simplified to @samp{2000 m^2}. However, compatible but different units like @code{ft} and @code{in} === modified file 'doc/misc/idlwave.texi' --- doc/misc/idlwave.texi 2011-11-27 04:43:11 +0000 +++ doc/misc/idlwave.texi 2011-12-04 08:02:42 +0000 @@ -1580,8 +1580,8 @@ corresponding source code or DocLib header will be used as the help text. -@cindex Completion, cancelling -@cindex Cancelling completion +@cindex Completion, canceling +@cindex Canceling completion Completion is not a blocking operation --- you are free to continue editing, enter commands, or simply ignore the @file{*Completions*} buffer during a completion operation. If, however, the most recent === modified file 'doc/misc/message.texi' --- doc/misc/message.texi 2011-11-25 07:14:48 +0000 +++ doc/misc/message.texi 2011-12-04 08:02:42 +0000 @@ -1974,7 +1974,7 @@ Hallvard B Furuseth writes: @end example -@c FIXME: Add `message-insert-formated-citation-line' and +@c FIXME: Add `message-insert-formatted-citation-line' and @c `message-citation-line-format' Point will be at the beginning of the body of the message when this === modified file 'doc/misc/org.texi' --- doc/misc/org.texi 2011-11-25 07:14:48 +0000 +++ doc/misc/org.texi 2011-12-04 08:02:42 +0000 @@ -11399,16 +11399,16 @@ @tab Should sorting be case-sensitive? Default @code{nil}. @item @code{:sitemap-file-entry-format} -@tab With this option one can tell how a sitemap's entry is formated in the +@tab With this option one can tell how a sitemap's entry is formatted in the sitemap. This is a format string with some escape sequences: @code{%t} stands for the title of the file, @code{%a} stands for the author of the file and @code{%d} stands for the date of the file. The date is retrieved with the -@code{org-publish-find-date} function and formated with +@code{org-publish-find-date} function and formatted with @code{org-publish-sitemap-date-format}. Default @code{%t}. @item @code{:sitemap-date-format} @tab Format string for the @code{format-time-string} function that tells how -a sitemap entry's date is to be formated. This property bypasses +a sitemap entry's date is to be formatted. This property bypasses @code{org-publish-sitemap-date-format} which defaults to @code{%Y-%m-%d}. @item @code{:sitemap-sans-extension} === modified file 'doc/misc/tramp.texi' --- doc/misc/tramp.texi 2011-11-25 07:14:48 +0000 +++ doc/misc/tramp.texi 2011-12-04 08:02:42 +0000 @@ -3704,4 +3704,4 @@ @c host and then send commands to it. @c * Use `filename' resp. `file name' consistently. @c * Use `host' resp. `machine' consistently. -@c * Consistent small or capitalized words especially in menues. +@c * Consistent small or capitalized words especially in menus. === modified file 'etc/NEWS.19' --- etc/NEWS.19 2011-11-20 07:30:16 +0000 +++ etc/NEWS.19 2011-12-04 08:02:42 +0000 @@ -4457,7 +4457,7 @@ So that such output processing may be done efficiently, there is a new variable, comint-last-output-start, that records the position of the start of -the lastest output inserted into the buffer (effectively the previous value +the last output inserted into the buffer (effectively the previous value of process-mark). Output processing functions should process the text between comint-last-output-start (or perhaps the beginning of the line that the position lies on) and process-mark. === modified file 'etc/TODO' --- etc/TODO 2011-11-27 04:43:11 +0000 +++ etc/TODO 2011-12-04 08:02:42 +0000 @@ -674,7 +674,7 @@ *** image-type-header-regexps priorities the jpeg loader over the ImageMagick one. This is not wrong, but how should a user go about -prefering the ImageMagick loader? The user might like zooming etc in jpegs. +preferring the ImageMagick loader? The user might like zooming etc in jpegs. Try (setq image-type-header-regexps nil) for a quick hack to prefer ImageMagick over the jpg loader. === modified file 'etc/srecode/template.srt' --- etc/srecode/template.srt 2011-01-25 04:08:28 +0000 +++ etc/srecode/template.srt 2011-12-04 08:02:42 +0000 @@ -125,13 +125,13 @@ bind "p" template priority :blank -"Insert a priority statemept." +"Insert a priority statement." ---- set priority $^$ ---- template application :blank -"Insert a priority statemept." +"Insert an application statement." ---- set application "$^$" ---- === modified file 'leim/ChangeLog' --- leim/ChangeLog 2011-11-20 19:35:27 +0000 +++ leim/ChangeLog 2011-12-04 08:02:42 +0000 @@ -1801,7 +1801,7 @@ 1998-07-21 Kenichi Handa * quail/japanese.el (quail-japanese-kanji-kkc): Handle the case - that conversion is cancelled in kkc-region. + that conversion is canceled in kkc-region. (quail-japanese-switch-package): Fix previous change. 1998-07-19 Kenichi Handa @@ -1998,7 +1998,7 @@ (quail-mode-map): Change binding for ethio-insert-ethio-space. (quail-mode-hook): Check the current Quail package name. - * quail/latin-post.el: Add rules for cancelling accents by typing + * quail/latin-post.el: Add rules for canceling accents by typing two accent keys (e.g. a~ => a-tilde, a~~ => a~) to all Quail packages. === modified file 'leim/quail/greek.el' --- leim/quail/greek.el 2011-01-26 08:36:39 +0000 +++ leim/quail/greek.el 2011-12-04 08:02:42 +0000 @@ -152,7 +152,7 @@ theta Q q iota I i kappa K k -lamda L l +lambda L l mu M m nu N n xi X x @@ -433,7 +433,7 @@ theta J j iota I i kappa K k -lamda L l +lambda L l mu M m nu N n xi X x === modified file 'lisp/ChangeLog.12' --- lisp/ChangeLog.12 2011-11-27 04:43:11 +0000 +++ lisp/ChangeLog.12 2011-12-04 08:02:42 +0000 @@ -7177,7 +7177,7 @@ 2006-08-20 Chong Yidong * frame.el (blink-cursor-start): Set timer first. - (blink-cursor-end): Ignore timer cancelling errors. + (blink-cursor-end): Ignore timer canceling errors. Suggested by Ken Manheimer. 2006-08-20 Juanma Barranquero @@ -15842,7 +15842,7 @@ interactive spec from "p" to "P". * progmodes/cc-styles.el: Amend the doc-string of c-set-style, in - reponse to a report from Joseph Kiniry that it + response to a report from Joseph Kiniry that it was difficult to understand. 2005-12-08 Martin Stjernholm === modified file 'lisp/ChangeLog.13' --- lisp/ChangeLog.13 2011-11-25 13:26:30 +0000 +++ lisp/ChangeLog.13 2011-12-04 08:02:42 +0000 @@ -8010,7 +8010,7 @@ 2007-10-31 Juanma Barranquero * help-at-pt.el (help-at-pt-unload-hook): Remove. - Timers are automatically cancelled by `unload-feature'. + Timers are automatically canceled by `unload-feature'. * delsel.el (delsel-unload-hook): Remove function and variable. (delsel-unload-function): New-style unload function, adapted === modified file 'lisp/ChangeLog.14' --- lisp/ChangeLog.14 2011-11-20 19:35:27 +0000 +++ lisp/ChangeLog.14 2011-12-04 08:02:42 +0000 @@ -866,7 +866,7 @@ * calc/calc-embed.el (calc-embedded-restore-original-modes): Add argument for Calculator buffer. - (calc-do-embedded): Use specific Calculator buffer when cancelling + (calc-do-embedded): Use specific Calculator buffer when canceling embedded mode. * calc/calc.el (calc-buffer-list): New variable. === modified file 'lisp/ChangeLog.15' --- lisp/ChangeLog.15 2011-11-27 18:17:40 +0000 +++ lisp/ChangeLog.15 2011-12-04 08:02:42 +0000 @@ -7086,7 +7086,7 @@ (sql-mode-oracle-font-lock-keywords): Improve SQL*Plus REMARK syntax pattern. (sql-mode-postgres-font-lock-keywords): Support Postgres V9. - (sql-mode-sqlite-font-lock-keywords): Hilight sqlite commands. + (sql-mode-sqlite-font-lock-keywords): Highlight sqlite commands. 2010-09-10 Lars Magne Ingebrigtsen @@ -11908,7 +11908,7 @@ Add new VC methods: vc-log-incoming and vc-log-outgoing. * vc.el (vc-print-log-setup-buttons): New function split out from vc-print-log-internal. - (vc-log-internal-common): New function, a parametrized version of + (vc-log-internal-common): New function, a parameterized version of vc-print-log-internal. (vc-print-log-internal): Just call vc-log-internal-common with the right arguments. === modified file 'lisp/ChangeLog.3' --- lisp/ChangeLog.3 2011-11-25 07:14:48 +0000 +++ lisp/ChangeLog.3 2011-12-04 08:02:42 +0000 @@ -6305,7 +6305,7 @@ to "Non-echoed text: ". This conforms with the convention used by existing prompts, and gives more room to type stuff. - * comint.el (comint-last-input-start): New varible. In + * comint.el (comint-last-input-start): New variable. In particular, this helps support subprocesses that insist on echoing their input. Added comments to porting guide indicating that this should probably not be used for implementing history stuff. === modified file 'lisp/ChangeLog.7' --- lisp/ChangeLog.7 2011-11-27 18:17:40 +0000 +++ lisp/ChangeLog.7 2011-12-04 08:02:42 +0000 @@ -884,7 +884,7 @@ 1998-07-21 Kenichi Handa * international/kkc.el (kkc-region): Handled the case that - conversion is cancelled. + conversion is canceled. (kkc-terminate): Update kkc-overlay-head correctly. (kkc-cancel): Don't call kkc-terminate, but set kkc-converting to nil. === modified file 'lisp/calc/calc-menu.el' --- lisp/calc/calc-menu.el 2011-03-20 20:59:29 +0000 +++ lisp/calc/calc-menu.el 2011-12-04 08:02:42 +0000 @@ -24,19 +24,19 @@ (defvar calc-arithmetic-menu (list "Arithmetic" (list "Basic" - ["-(1:)" calc-change-sign + ["-(1:)" calc-change-sign :keys "n" :active (>= (calc-stack-size) 1)] - ["(2:) + (1:)" calc-plus + ["(2:) + (1:)" calc-plus :keys "+" :active (>= (calc-stack-size) 2)] - ["(2:) - (1:)" calc-minus + ["(2:) - (1:)" calc-minus :keys "-" :active (>= (calc-stack-size) 2)] - ["(2:) * (1:)" calc-times + ["(2:) * (1:)" calc-times :keys "*" :active (>= (calc-stack-size) 2)] - ["(2:) / (1:)" calc-divide + ["(2:) / (1:)" calc-divide :keys "/" :active (>= (calc-stack-size) 2)] - ["(2:) ^ (1:)" calc-power + ["(2:) ^ (1:)" calc-power :keys "^" :active (>= (calc-stack-size) 2)] - ["(2:) ^ (1/(1:))" + ["(2:) ^ (1/(1:))" (progn (require 'calc-ext) (let ((calc-inverse-flag t)) @@ -44,8 +44,8 @@ :keys "I ^" :active (>= (calc-stack-size) 2) :help "The (1:)th root of (2:)"] - ["abs(1:)" - (progn + ["abs(1:)" + (progn (require 'calc-arith) (call-interactively 'calc-abs)) :keys "A" @@ -57,7 +57,7 @@ (call-interactively 'calc-inv)) :keys "&" :active (>= (calc-stack-size) 1)] - ["sqrt(1:)" + ["sqrt(1:)" (progn (require 'calc-math) (call-interactively 'calc-sqrt)) @@ -70,7 +70,7 @@ :keys "\\" :active (>= (calc-stack-size) 2) :help "The integer quotient of (2:) over (1:)"] - ["(2:) mod (1:)" + ["(2:) mod (1:)" (progn (require 'calc-misc) (call-interactively 'calc-mod)) @@ -78,28 +78,28 @@ :active (>= (calc-stack-size) 2) :help "The remainder when (2:) is divided by (1:)"]) (list "Rounding" - ["floor(1:)" + ["floor(1:)" (progn (require 'calc-arith) (call-interactively 'calc-floor)) :keys "F" :active (>= (calc-stack-size) 1) :help "The greatest integer less than or equal to (1:)"] - ["ceiling(1:)" + ["ceiling(1:)" (progn (require 'calc-arith) (call-interactively 'calc-ceiling)) :keys "I F" :active (>= (calc-stack-size) 1) :help "The smallest integer greater than or equal to (1:)"] - ["round(1:)" + ["round(1:)" (progn (require 'calc-arith) (call-interactively 'calc-round)) :keys "R" :active (>= (calc-stack-size) 1) :help "The nearest integer to (1:)"] - ["truncate(1:)" + ["truncate(1:)" (progn (require 'calc-arith) (call-interactively 'calc-trunc)) @@ -140,32 +140,32 @@ :active (>= (calc-stack-size) 1) :help "The argument (polar angle) of (1:)"]) (list "Conversion" - ["Convert (1:) to a float" + ["Convert (1:) to a float" (progn (require 'calc-ext) (call-interactively 'calc-float)) :keys "c f" :active (>= (calc-stack-size) 1)] - ["Convert (1:) to a fraction" + ["Convert (1:) to a fraction" (progn (require 'calc-ext) (call-interactively 'calc-fraction)) :keys "c F" :active (>= (calc-stack-size) 1)]) (list "Binary" - ["Set word size" + ["Set word size" (progn (require 'calc-bin) (call-interactively 'calc-word-size)) :keys "b w"] - ["Clip (1:) to word size" + ["Clip (1:) to word size" (progn (require 'calc-bin) (call-interactively 'calc-clip)) :keys "b c" :active (>= (calc-stack-size) 1) :help "Reduce (1:) modulo 2^wordsize"] - ["(2:) and (1:)" + ["(2:) and (1:)" (progn (require 'calc-bin) (call-interactively 'calc-and)) @@ -180,13 +180,13 @@ :active (>= (calc-stack-size) 2) :help "Bitwise inclusive OR [modulo 2^wordsize]"] ["(2:) xor (1:)" - (progn + (progn (require 'calc-bin) (call-interactively 'calc-xor)) :keys "b x" :active (>= (calc-stack-size) 2) :help "Bitwise exclusive OR [modulo 2^wordsize]"] - ["diff(2:,1:)" + ["diff(2:,1:)" (progn (require 'calc-bin) (call-interactively 'calc-diff)) @@ -263,82 +263,82 @@ :keys "I P" :help "Euler's constant"]) (list "Logs and Exps" - ["ln(1:)" - (progn - (require 'calc-math) - (call-interactively 'calc-ln)) + ["ln(1:)" + (progn + (require 'calc-math) + (call-interactively 'calc-ln)) :keys "L" :active (>= (calc-stack-size) 1) :help "The natural logarithm"] - ["e^(1:)" + ["e^(1:)" (progn (require 'calc-math) (call-interactively 'calc-exp)) :keys "E" :active (>= (calc-stack-size) 1)] - ["log(1:) [base 10]" + ["log(1:) [base 10]" (progn (require 'calc-math) (call-interactively 'calc-log10)) :keys "H L" :active (>= (calc-stack-size) 1) :help "The common logarithm"] - ["10^(1:)" + ["10^(1:)" (progn (require 'calc-math) (let ((calc-inverse-flag t)) (call-interactively 'calc-log10))) :keys "I H L" :active (>= (calc-stack-size) 1)] - ["log(2:) [base(1:)]" + ["log(2:) [base(1:)]" (progn (require 'calc-math) (call-interactively 'calc-log)) :keys "B" :active (>= (calc-stack-size) 2) :help "The logarithm with an arbitrary base"] - ["(2:) ^ (1:)" - calc-power + ["(2:) ^ (1:)" + calc-power :keys "^" :active (>= (calc-stack-size) 2)]) (list "Trigonometric Functions" - ["sin(1:)" + ["sin(1:)" (progn (require 'calc-math) (call-interactively 'calc-sin)) :keys "S" :active (>= (calc-stack-size) 1)] - ["cos(1:)" + ["cos(1:)" (progn (require 'calc-math) (call-interactively 'calc-cos)) :keys "C" :active (>= (calc-stack-size) 1)] - ["tan(1:)" + ["tan(1:)" (progn (require 'calc-math) (call-interactively 'calc-tan)) :keys "T" :active (>= (calc-stack-size) 1)] - ["arcsin(1:)" + ["arcsin(1:)" (progn (require 'calc-math) (call-interactively 'calc-arcsin)) :keys "I S" :active (>= (calc-stack-size) 1)] - ["arccos(1:)" + ["arccos(1:)" (progn (require 'calc-math) (call-interactively 'calc-arccos)) :keys "I C" :active (>= (calc-stack-size) 1)] - ["arctan(1:)" + ["arctan(1:)" (progn (require 'calc-math) (call-interactively 'calc-arctan)) :keys "I T" :active (>= (calc-stack-size) 1)] - ["arctan2(2:,1:)" + ["arctan2(2:,1:)" (progn (require 'calc-math) (call-interactively 'calc-arctan2)) @@ -367,65 +367,65 @@ :style radio :selected (eq calc-angle-mode 'hms)]) (list "Hyperbolic Functions" - ["sinh(1:)" + ["sinh(1:)" (progn (require 'calc-math) (call-interactively 'calc-sinh)) :keys "H S" :active (>= (calc-stack-size) 1)] - ["cosh(1:)" + ["cosh(1:)" (progn (require 'calc-math) (call-interactively 'calc-cosh)) :keys "H C" :active (>= (calc-stack-size) 1)] - ["tanh(1:)" + ["tanh(1:)" (progn (require 'calc-math) (call-interactively 'calc-tanh)) :keys "H T" :active (>= (calc-stack-size) 1)] - ["arcsinh(1:)" + ["arcsinh(1:)" (progn (require 'calc-math) (call-interactively 'calc-arcsinh)) :keys "I H S" :active (>= (calc-stack-size) 1)] - ["arccosh(1:)" + ["arccosh(1:)" (progn (require 'calc-math) (call-interactively 'calc-arccosh)) :keys "I H C" :active (>= (calc-stack-size) 1)] - ["arctanh(1:)" + ["arctanh(1:)" (progn (require 'calc-math) (call-interactively 'calc-arctanh)) :keys "I H T" :active (>= (calc-stack-size) 1)]) (list "Advanced Math Functions" - ["Gamma(1:)" + ["Gamma(1:)" (progn (require 'calc-comb) (call-interactively 'calc-gamma)) :keys "f g" :active (>= (calc-stack-size) 1) :help "The Euler Gamma function"] - ["GammaP(2:,1:)" + ["GammaP(2:,1:)" (progn (require 'calc-funcs) (call-interactively 'calc-inc-gamma)) :keys "f G" :active (>= (calc-stack-size) 2) :help "The lower incomplete Gamma function"] - ["Beta(2:,1:)" + ["Beta(2:,1:)" (progn (require 'calc-funcs) (call-interactively 'calc-beta)) :keys "f b" :active (>= (calc-stack-size) 2) :help "The Euler Beta function"] - ["BetaI(3:,2:,1:)" + ["BetaI(3:,2:,1:)" (progn (require 'calc-funcs) (call-interactively 'calc-inc-beta)) @@ -439,14 +439,14 @@ :keys "f e" :active (>= (calc-stack-size) 1) :help "The error function"] - ["BesselJ(2:,1:)" + ["BesselJ(2:,1:)" (progn (require 'calc-funcs) (call-interactively 'calc-bessel-J)) :keys "f j" :active (>= (calc-stack-size) 2) :help "The Bessel function of the first kind (of order (2:))"] - ["BesselY(2:,1:)" + ["BesselY(2:,1:)" (progn (require 'calc-funcs) (call-interactively 'calc-bessel-Y)) @@ -454,44 +454,44 @@ :active (>= (calc-stack-size) 2) :help "The Bessel function of the second kind (of order (2:))"]) (list "Combinatorial Functions" - ["gcd(2:,1:)" + ["gcd(2:,1:)" (progn (require 'calc-comb) (call-interactively 'calc-gcd)) :keys "k g" :active (>= (calc-stack-size) 2)] - ["lcm(2:,1:)" + ["lcm(2:,1:)" (progn (require 'calc-comb) (call-interactively 'calc-lcm)) :keys "k l" :active (>= (calc-stack-size) 2)] - ["factorial(1:)" + ["factorial(1:)" (progn (require 'calc-comb) (call-interactively 'calc-factorial)) :keys "!" :active (>= (calc-stack-size) 1)] - ["(2:) choose (1:)" + ["(2:) choose (1:)" (progn (require 'calc-comb) (call-interactively 'calc-choose)) :keys "k c" :active (>= (calc-stack-size) 2)] - ["permutations(2:,1:)" + ["permutations(2:,1:)" (progn (require 'calc-comb) (call-interactively 'calc-perm)) :keys "H k c" :active (>= (calc-stack-size) 2)] - ["Primality test for (1:)" + ["Primality test for (1:)" (progn (require 'calc-comb) (call-interactively 'calc-prime-test)) :keys "k p" :active (>= (calc-stack-size) 1) :help "For large (1:), a probabilistic test"] - ["Factor (1:) into primes" + ["Factor (1:) into primes" (progn (require 'calc-comb) (call-interactively 'calc-prime-factors)) @@ -527,17 +527,17 @@ ["Help on Scientific Functions" (calc-info-goto-node "Scientific Functions")]) "Menu for Calc's scientific functions.") - + (defvar calc-algebra-menu (list "Algebra" (list "Simplification" - ["Simplify (1:)" + ["Simplify (1:)" (progn (require 'calc-alg) (call-interactively 'calc-simplify)) :keys "a s" :active (>= (calc-stack-size) 1)] - ["Simplify (1:) with extended rules" + ["Simplify (1:) with extended rules" (progn (require 'calc-alg) (call-interactively 'calc-simplify-extended)) @@ -545,72 +545,72 @@ :active (>= (calc-stack-size) 1) :help "Apply possibly unsafe simplifications"]) (list "Manipulation" - ["Expand formula (1:)" + ["Expand formula (1:)" (progn (require 'calc-alg) (call-interactively 'calc-expand-formula)) :keys "a \"" :active (>= (calc-stack-size) 1) :help "Expand (1:) into its defining formula, if possible"] - ["Evaluate variables in (1:)" + ["Evaluate variables in (1:)" (progn (require 'calc-ext) (call-interactively 'calc-evaluate)) :keys "=" :active (>= (calc-stack-size) 1)] - ["Make substitution in (1:)" + ["Make substitution in (1:)" (progn (require 'calc-alg) (call-interactively 'calc-substitute)) :keys "a b" :active (>= (calc-stack-size) 1) - :help + :help "Substitute all occurrences of a sub-expression with a new sub-expression"]) (list "Polynomials" - ["Factor (1:)" + ["Factor (1:)" (progn (require 'calc-alg) (call-interactively 'calc-factor)) :keys "a f" :active (>= (calc-stack-size) 1)] - ["Collect terms in (1:)" + ["Collect terms in (1:)" (progn (require 'calc-alg) - (call-interactively 'calc-collect)) + (call-interactively 'calc-collect)) :keys "a c" :active (>= (calc-stack-size) 1) :help "Arrange as a polynomial in a given variable"] - ["Expand (1:)" + ["Expand (1:)" (progn (require 'calc-alg) (call-interactively 'calc-expand)) :keys "a x" :active (>= (calc-stack-size) 1) :help "Apply distributive law everywhere"] - ["Find roots of (1:)" + ["Find roots of (1:)" (progn (require 'calcalg2) (call-interactively 'calc-poly-roots)) :keys "a P" :active (>= (calc-stack-size) 1)]) (list "Calculus" - ["Differentiate (1:)" + ["Differentiate (1:)" (progn (require 'calcalg2) (call-interactively 'calc-derivative)) :keys "a d" :active (>= (calc-stack-size) 1)] - ["Integrate (1:) [indefinite]" + ["Integrate (1:) [indefinite]" (progn (require 'calcalg2) (call-interactively 'calc-integral)) :keys "a i" :active (>= (calc-stack-size) 1)] - ["Integrate (1:) [definite]" + ["Integrate (1:) [definite]" (progn (require 'calcalg2) (let ((var (read-string "Integration variable: "))) - (calc-tabular-command 'calcFunc-integ "Integration" + (calc-tabular-command 'calcFunc-integ "Integration" "intg" nil var nil nil))) :keys "C-u a i" :active (>= (calc-stack-size) 1)] @@ -621,20 +621,20 @@ :keys "a I" :active (>= (calc-stack-size) 1) :help "Integrate using the open Romberg method"] - ["Taylor expand (1:)" + ["Taylor expand (1:)" (progn (require 'calcalg2) (call-interactively 'calc-taylor)) :keys "a t" :active (>= (calc-stack-size) 1)] - ["Minimize (2:) [initial guess = (1:)]" + ["Minimize (2:) [initial guess = (1:)]" (progn (require 'calcalg3) (call-interactively 'calc-find-minimum)) :keys "a N" :active (>= (calc-stack-size) 2) :help "Find a local minimum"] - ["Maximize (2:) [initial guess = (1:)]" + ["Maximize (2:) [initial guess = (1:)]" (progn (require 'calcalg3) (call-interactively 'calc-find-maximum)) @@ -642,26 +642,26 @@ :active (>= (calc-stack-size) 2) :help "Find a local maximum"]) (list "Solving" - ["Solve equation (1:)" + ["Solve equation (1:)" (progn (require 'calcalg2) (call-interactively 'calc-solve-for)) :keys "a S" :active (>= (calc-stack-size) 1)] - ["Solve equation (2:) numerically [initial guess = (1:)]" + ["Solve equation (2:) numerically [initial guess = (1:)]" (progn (require 'calcalg3) (call-interactively 'calc-find-root)) :keys "a R" :active (>= (calc-stack-size) 2)] - ["Find roots of polynomial (1:)" + ["Find roots of polynomial (1:)" (progn (require 'calcalg2) (call-interactively 'calc-poly-roots)) :keys "a P" :active (>= (calc-stack-size) 1)]) (list "Curve Fitting" - ["Fit (1:)=[x values, y values] to a curve" + ["Fit (1:)=[x values, y values] to a curve" (progn (require 'calcalg3) (call-interactively 'calc-curve-fit)) @@ -675,13 +675,13 @@ (defvar calc-graphics-menu (list "Graphics" - ["Graph 2D [(1:)= y values, (2:)= x values]" + ["Graph 2D [(1:)= y values, (2:)= x values]" (progn (require 'calc-graph) (call-interactively 'calc-graph-fast)) :keys "g f" :active (>= (calc-stack-size) 2)] - ["Graph 3D [(1:)= z values, (2:)= y values, (3:)= x values]" + ["Graph 3D [(1:)= z values, (2:)= y values, (3:)= x values]" (progn (require 'calc-graph) (call-interactively 'calc-graph-fast-3d)) @@ -696,11 +696,11 @@ (defvar calc-vectors-menu (list "Matrices/Vectors" (list "Matrices" - ["(2:) + (1:)" calc-plus + ["(2:) + (1:)" calc-plus :keys "+" :active (>= (calc-stack-size) 2)] - ["(2:) - (1:)" calc-minus + ["(2:) - (1:)" calc-minus :keys "-" :active (>= (calc-stack-size) 2)] - ["(2:) * (1:)" calc-times + ["(2:) * (1:)" calc-times :keys "*" :active (>= (calc-stack-size) 2)] ["(1:)^(-1)" (progn @@ -709,17 +709,17 @@ :keys "&" :active (>= (calc-stack-size) 1)] ["Create an identity matrix" - (progn + (progn (require 'calc-vec) (call-interactively 'calc-ident)) :keys "v i"] - ["transpose(1:)" + ["transpose(1:)" (progn (require 'calc-vec) (call-interactively 'calc-transpose)) :keys "v t" :active (>= (calc-stack-size) 1)] - ["det(1:)" + ["det(1:)" (progn (require 'calc-mtx) (call-interactively 'calc-mdet)) @@ -731,19 +731,19 @@ (call-interactively 'calc-mtrace)) :keys "V T" :active (>= (calc-stack-size) 1)] - ["LUD decompose (1:)" + ["LUD decompose (1:)" (progn (require 'calc-mtx) (call-interactively 'calc-mlud)) :keys "V L" :active (>= (calc-stack-size) 1)] - ["Extract a row from (1:)" + ["Extract a row from (1:)" (progn (require 'calc-vec) (call-interactively 'calc-mrow)) :keys "v r" :active (>= (calc-stack-size) 1)] - ["Extract a column from (1:)" + ["Extract a column from (1:)" (progn (require 'calc-vec) (call-interactively 'calc-mcol)) @@ -756,13 +756,13 @@ (call-interactively 'calc-head)) :keys "v h" :active (>= (calc-stack-size) 1)] - ["Extract an element from (1:)" + ["Extract an element from (1:)" (progn (require 'calc-vec) (call-interactively 'calc-mrow)) :keys "v r" :active (>= (calc-stack-size) 1)] - ["Reverse (1:)" + ["Reverse (1:)" (progn (require 'calc-vec) (call-interactively 'calc-reverse-vector)) @@ -775,19 +775,19 @@ :keys "v u" :active (>= (calc-stack-size) 1) :help "Separate the elements of (1:)"] - ["(2:) cross (1:)" + ["(2:) cross (1:)" (progn (require 'calc-vec) (call-interactively 'calc-cross)) :keys "V C" :active (>= (calc-stack-size) 2) :help "The cross product in R^3"] - ["(2:) dot (1:)" - calc-mult + ["(2:) dot (1:)" + calc-mult :keys "*" :active (>= (calc-stack-size) 2) :help "The dot product"] - ["Map a function across (1:)" + ["Map a function across (1:)" (progn (require 'calc-map) (call-interactively 'calc-map)) @@ -795,25 +795,25 @@ :active (>= (calc-stack-size) 1) :help "Apply a function to each element"]) (list "Vectors As Sets" - ["Remove duplicates from (1:)" + ["Remove duplicates from (1:)" (progn (require 'calc-vec) (call-interactively 'calc-remove-duplicates)) :keys "V +" :active (>= (calc-stack-size) 1)] - ["(2:) union (1:)" + ["(2:) union (1:)" (progn (require 'calc-vec) (call-interactively 'calc-set-union)) :keys "V V" :active (>= (calc-stack-size) 2)] - ["(2:) intersect (1:)" + ["(2:) intersect (1:)" (progn (require 'calc-vec) (call-interactively 'calc-set-intersect)) :keys "V ^" :active (>= (calc-stack-size) 2)] - ["(2:) \\ (1:)" + ["(2:) \\ (1:)" (progn (require 'calc-vec) (call-interactively 'calc-set-difference)) @@ -821,35 +821,35 @@ :help "Set difference" :active (>= (calc-stack-size) 2)]) (list "Statistics On Vectors" - ["length(1:)" + ["length(1:)" (progn (require 'calc-stat) (call-interactively 'calc-vector-count)) :keys "u #" :active (>= (calc-stack-size) 1) :help "The number of data values"] - ["sum(1:)" + ["sum(1:)" (progn (require 'calc-stat) (call-interactively 'calc-vector-sum)) :keys "u +" :active (>= (calc-stack-size) 1) :help "The sum of the data values"] - ["max(1:)" + ["max(1:)" (progn (require 'calc-stat) - (call-interactively 'calc-vector-max)) + (call-interactively 'calc-vector-max)) :keys "u x" :active (>= (calc-stack-size) 1) :help "The maximum of the data values"] - ["min(1:)" + ["min(1:)" (progn (require 'calc-stat) - (call-interactively 'calc-vector-min)) + (call-interactively 'calc-vector-min)) :keys "u N" :active (>= (calc-stack-size) 1) - :help "The minumum of the data values"] - ["mean(1:)" + :help "The minimum of the data values"] + ["mean(1:)" (progn (require 'calc-stat) (call-interactively 'calc-vector-mean)) @@ -863,28 +863,28 @@ :keys "I u M" :active (>= (calc-stack-size) 1) :help "The average (arithmetic mean) of the data values as an error form"] - ["sdev(1:)" + ["sdev(1:)" (progn (require 'calc-stat) (call-interactively 'calc-vector-sdev)) :keys "u S" :active (>= (calc-stack-size) 1) :help "The sample sdev, sqrt[sum((values - mean)^2)/(N-1)]"] - ["variance(1:)" + ["variance(1:)" (progn (require 'calc-stat) (call-interactively 'calc-vector-variance)) :keys "H u S" :active (>= (calc-stack-size) 1) :help "The sample variance, sum((values - mean)^2)/(N-1)"] - ["population sdev(1:)" + ["population sdev(1:)" (progn (require 'calc-stat) (call-interactively 'calc-vector-pop-sdev)) :keys "I u S" :active (>= (calc-stack-size) 1) :help "The population sdev, sqrt[sum((values - mean)^2)/N]"] - ["population variance(1:)" + ["population variance(1:)" (progn (require 'calc-stat) (call-interactively 'calc-vector-pop-variance)) @@ -937,25 +937,25 @@ (defvar calc-units-menu (list "Units" - ["Convert units in (1:)" + ["Convert units in (1:)" (progn (require 'calc-units) (call-interactively 'calc-convert-units )) :keys "u c" :active (>= (calc-stack-size) 1)] - ["Convert temperature in (1:)" + ["Convert temperature in (1:)" (progn (require 'calc-units) (call-interactively 'calc-convert-temperature)) :keys "u t" :active (>= (calc-stack-size) 1)] - ["Simplify units in (1:)" + ["Simplify units in (1:)" (progn (require 'calc-units) (call-interactively 'calc-simplify-units)) :keys "u s" :active (>= (calc-stack-size) 1)] - ["View units table" + ["View units table" (progn (require 'calc-units) (call-interactively 'calc-view-units-table)) @@ -1072,40 +1072,40 @@ (defvar calc-variables-menu (list "Variables" - ["Store (1:) into a variable" + ["Store (1:) into a variable" (progn (require 'calc-store) (call-interactively 'calc-store)) :keys "s s" :active (>= (calc-stack-size) 1)] - ["Recall a variable value" + ["Recall a variable value" (progn (require 'calc-store) (call-interactively 'calc-recall )) :keys "s r"] - ["Edit the value of a variable" + ["Edit the value of a variable" (progn (require 'calc-store) (call-interactively 'calc-edit-variable)) :keys "s e"] - ["Exchange (1:) with a variable value" + ["Exchange (1:) with a variable value" (progn (require 'calc-store) (call-interactively 'calc-store-exchange)) :keys "s x" :active (>= (calc-stack-size) 1)] - ["Clear variable value" + ["Clear variable value" (progn (require 'calc-store) (call-interactively 'calc-unstore)) :keys "s u"] - ["Evaluate variables in (1:)" + ["Evaluate variables in (1:)" (progn (require 'calc-ext) (call-interactively 'calc-evaluate)) :keys "=" :active (>= (calc-stack-size) 1)] - ["Evaluate (1:), assigning a value to a variable" + ["Evaluate (1:), assigning a value to a variable" (progn (require 'calc-store) (call-interactively 'calc-let)) @@ -1119,19 +1119,19 @@ (defvar calc-stack-menu (list "Stack" - ["Remove (1:)" - calc-pop + ["Remove (1:)" + calc-pop :keys "DEL" :active (>= (calc-stack-size) 1)] - ["Switch (1:) and (2:)" - calc-roll-down + ["Switch (1:) and (2:)" + calc-roll-down :keys "TAB" :active (>= (calc-stack-size) 2)] - ["Duplicate (1:)" - calc-enter + ["Duplicate (1:)" + calc-enter :keys "RET" :active (>= (calc-stack-size) 1)] - ["Edit (1:)" + ["Edit (1:)" (progn (require 'calc-yank) (call-interactively calc-edit)) @@ -1144,12 +1144,12 @@ (defvar calc-errors-menu (list "Undo" - ["Undo" + ["Undo" (progn (require 'calc-undo) (call-interactively 'calc-undo)) :keys "U"] - ["Redo" + ["Redo" (progn (require 'calc-undo) (call-interactively 'calc-redo)) @@ -1162,7 +1162,7 @@ (defvar calc-modes-menu (list "Modes" - ["Precision" + ["Precision" (progn (require 'calc-ext) (call-interactively 'calc-precision)) @@ -1277,7 +1277,7 @@ ["Binary" (progn (require 'calc-bin) - (call-interactively + (call-interactively (lambda () (interactive) (calc-binary-radix t)))) :keys "C-u d 2" :style radio @@ -1330,7 +1330,7 @@ :keys "d e" :style radio :selected (eq (car-safe calc-float-format) 'eng)]) - (list "Complex Format" + (list "Complex Format" ["Default" (progn (require 'calc-cplx) @@ -1522,17 +1522,17 @@ (defvar calc-help-menu (list "Help" - ["Manual" + ["Manual" calc-info :keys "h i"] - ["Tutorial" - calc-tutorial + ["Tutorial" + calc-tutorial :keys "h t"] - ["Summary" - calc-info-summary + ["Summary" + calc-info-summary :keys "h s"] "----" - ["Help on Help" + ["Help on Help" (progn (calc-info-goto-node "Introduction") (Info-goto-node "Help Commands"))]) @@ -1557,7 +1557,7 @@ calc-errors-menu calc-modes-menu calc-help-menu - ["Reset" + ["Reset" (progn (require 'calc-ext) (call-interactively 'calc-reset)) @@ -1565,4 +1565,3 @@ ["Quit" calc-quit])) (provide 'calc-menu) - === modified file 'lisp/calc/calc-yank.el' --- lisp/calc/calc-yank.el 2011-01-25 04:08:28 +0000 +++ lisp/calc/calc-yank.el 2011-12-04 08:02:42 +0000 @@ -131,7 +131,7 @@ val)) val)))))))) -;;; The Calc set- and get-register commands are modified versions of functions +;;; The Calc set- and get-register commands are modified versions of functions ;;; in register.el (defvar calc-register-alist nil @@ -206,7 +206,7 @@ (defun calc-add-to-register (register start end prepend delete-flag) "Add the lines in the region to register REGISTER. -If PREPEND is non-nil, add them to the beginning of the register, +If PREPEND is non-nil, add them to the beginning of the register, otherwise the end. If DELETE-FLAG is non-nil, also delete the region." (let* ((top-num (calc-locate-cursor-element start)) (top-pos (save-excursion @@ -242,7 +242,7 @@ (if (eq major-mode 'calc-mode) (calc-add-to-register register start end nil delete-flag) (append-to-register register start end delete-flag))) - + (defun calc-prepend-to-register (register start end &optional delete-flag) "Copy the lines in the region to the beginning of register REGISTER. With prefix arg, also delete the region." @@ -250,7 +250,7 @@ (if (eq major-mode 'calc-mode) (calc-add-to-register register start end t delete-flag) (prepend-to-register register start end delete-flag))) - + (defun calc-clean-newlines (s) @@ -585,12 +585,12 @@ (setq calc-allow-ret allow-ret) (let ((inhibit-read-only t)) (erase-buffer)) - (add-hook 'kill-buffer-hook (lambda () + (add-hook 'kill-buffer-hook (lambda () (let ((calc-edit-handler nil)) (calc-edit-finish t)) (message "(Cancelled)")) t t) (insert (propertize - (concat + (concat (or title title "Calc Edit Mode. ") "Press `C-c C-c'" (if allow-ret "" " or RET") === modified file 'lisp/calculator.el' --- lisp/calculator.el 2011-10-30 01:56:03 +0000 +++ lisp/calculator.el 2011-12-04 08:02:42 +0000 @@ -81,7 +81,7 @@ (defcustom calculator-prompt "Calc=%s> " "The prompt used by the Emacs calculator. -It should contain a \"%s\" somewhere that will indicate the i/o radixes; +It should contain a \"%s\" somewhere that will indicate the i/o radices; this will be a two-character string as described in the documentation for `calculator-mode'." :type 'string === modified file 'lisp/calendar/appt.el' --- lisp/calendar/appt.el 2011-06-11 17:54:53 +0000 +++ lisp/calendar/appt.el 2011-12-04 08:02:42 +0000 @@ -508,7 +508,7 @@ Optional argument WARNTIME is an integer (or string) giving the number of minutes before the appointment at which to start warning. The default is `appt-message-warning-time'." - (interactive "sTime (hh:mm[am/pm]): \nsMessage: + (interactive "sTime (hh:mm[am/pm]): \nsMessage: sMinutes before the appointment to start warning: ") (unless (string-match appt-time-regexp time) (error "Unacceptable time-string")) @@ -521,7 +521,7 @@ (or appt-timer (appt-activate)) (let ((time-msg (list (list (appt-convert-time time)) (concat time " " msg) t))) - ;; It is presently non-sensical to have multiple warnings about + ;; It is presently nonsensical to have multiple warnings about ;; the same appointment with just different delays, but it might ;; not always be so. TODO (if warntime (setq time-msg (append time-msg (list warntime)))) === modified file 'lisp/cedet/inversion.el' --- lisp/cedet/inversion.el 2011-11-20 03:48:53 +0000 +++ lisp/cedet/inversion.el 2011-12-04 08:02:42 +0000 @@ -199,12 +199,12 @@ (= v1-1 v2-1) (= v1-2 v2-2) (= v1-3 v2-3) - v1-4 v2-4 ; all or nothin if elt - is = + v1-4 v2-4 ; all or nothing if elt - is = (< v1-4 v2-4)) (and (= v1-0 v2-0) (= v1-1 v2-1) (= v1-2 v2-2) - v1-3 v2-3 ; all or nothin if elt - is = + v1-3 v2-3 ; all or nothing if elt - is = (< v1-3 v2-3)) (and (= v1-1 v2-1) (< v1-2 v2-2)) === modified file 'lisp/cedet/semantic.el' --- lisp/cedet/semantic.el 2011-11-23 07:03:56 +0000 +++ lisp/cedet/semantic.el 2011-12-04 08:02:42 +0000 @@ -680,7 +680,7 @@ (save-excursion (semantic-fetch-tags)) nil) ;; If we are here, it is because the lexical step failed, - ;; proably due to unterminated lists or something like that. + ;; probably due to unterminated lists or something like that. ;; We do nothing, and just wait for the next idle timer ;; to go off. In the meantime, remember this, and make sure === modified file 'lisp/cedet/semantic/edit.el' --- lisp/cedet/semantic/edit.el 2011-11-20 07:30:16 +0000 +++ lisp/cedet/semantic/edit.el 2011-12-04 08:02:42 +0000 @@ -859,7 +859,7 @@ (setq cacheend chil) (while (and cacheend (not (eq last (car cacheend)))) (setq cacheend (cdr cacheend))) - ;; The splicable part is after cacheend.. so move cacheend + ;; The spliceable part is after cacheend.. so move cacheend ;; one more tag. (setq cacheend (cdr cacheend)) ;; Splice the found end tag into the cons cell === modified file 'lisp/cedet/semantic/idle.el' --- lisp/cedet/semantic/idle.el 2011-11-20 03:48:53 +0000 +++ lisp/cedet/semantic/idle.el 2011-12-04 08:02:42 +0000 @@ -515,7 +515,7 @@ (save-excursion (semantic-fetch-tags)) nil) ;; If we are here, it is because the lexical step failed, - ;; proably due to unterminated lists or something like that. + ;; probably due to unterminated lists or something like that. ;; We do nothing, and just wait for the next idle timer ;; to go off. In the meantime, remember this, and make sure === modified file 'lisp/cedet/semantic/lex.el' --- lisp/cedet/semantic/lex.el 2011-11-25 07:14:48 +0000 +++ lisp/cedet/semantic/lex.el 2011-12-04 08:02:42 +0000 @@ -1248,7 +1248,7 @@ (if (eq (semantic-lex-token-class (car semantic-lex-token-stream)) 'whitespace) ;; Merge whitespace tokens together if they are adjacent. Two - ;; whitespace tokens may be sperated by a comment which is not in + ;; whitespace tokens may be separated by a comment which is not in ;; the token stream. (setcdr (semantic-lex-token-bounds (car semantic-lex-token-stream)) (match-end 0)) @@ -1271,7 +1271,7 @@ (if (eq (semantic-lex-token-class (car semantic-lex-token-stream)) 'whitespace) ;; Merge whitespace tokens together if they are adjacent. Two - ;; whitespace tokens may be sperated by a comment which is not in + ;; whitespace tokens may be separated by a comment which is not in ;; the token stream. (progn (setq semantic-lex-end-point (match-end 0)) === modified file 'lisp/cedet/semantic/tag-ls.el' --- lisp/cedet/semantic/tag-ls.el 2011-11-16 12:34:47 +0000 +++ lisp/cedet/semantic/tag-ls.el 2011-12-04 08:02:42 +0000 @@ -195,7 +195,7 @@ ;;;###autoload (define-overloadable-function semantic-tag-prototype-p (tag) "Return non nil if TAG is a prototype. -For some laguages, such as C, a prototype is a declaration of +For some languages, such as C, a prototype is a declaration of something without an implementation." ) === modified file 'lisp/cedet/srecode/fields.el' --- lisp/cedet/srecode/fields.el 2011-11-15 17:37:37 +0000 +++ lisp/cedet/srecode/fields.el 2011-12-04 08:02:42 +0000 @@ -324,7 +324,7 @@ ) (defvar srecode-field-replication-max-size 100 - "Maximum size of a field before cancelling replication.") + "Maximum size of a field before canceling replication.") (defun srecode-field-mod-hook (ol after start end &optional pre-len) "Modification hook for the field overlay. === modified file 'lisp/delim-col.el' --- lisp/delim-col.el 2011-11-09 06:10:51 +0000 +++ lisp/delim-col.el 2011-12-04 08:02:42 +0000 @@ -206,7 +206,7 @@ :group 'columns) (defcustom delimit-columns-start 0 - "Specify column number to start prettifing. + "Specify column number to start prettifying. See also `delimit-columns-end' for documentation. @@ -221,7 +221,7 @@ :group 'columns) (defcustom delimit-columns-end 1000000 - "Specify column number to end prettifing. + "Specify column number to end prettifying. See also `delimit-columns-start' for documentation. === modified file 'lisp/delsel.el' --- lisp/delsel.el 2011-10-19 12:54:24 +0000 +++ lisp/delsel.el 2011-12-04 08:02:42 +0000 @@ -144,7 +144,7 @@ (put 'newline 'delete-selection t) (put 'open-line 'delete-selection 'kill) -;; This is very useful for cancelling a selection in the minibuffer without +;; This is very useful for canceling a selection in the minibuffer without ;; aborting the minibuffer. (defun minibuffer-keyboard-quit () "Abort recursive edit. === modified file 'lisp/descr-text.el' --- lisp/descr-text.el 2011-11-20 19:35:27 +0000 +++ lisp/descr-text.el 2011-12-04 08:02:42 +0000 @@ -358,7 +358,7 @@ (compose-string (string ch) 0 1 (format "\t%c\t" ch)) (string ch))) -;; Return a nicely formated list of categories; extended category +;; Return a nicely formatted list of categories; extended category ;; description is added to the category name as a tooltip (defsubst describe-char-categories (category-set) (let ((mnemonics (category-set-mnemonics category-set))) === modified file 'lisp/dired-x.el' --- lisp/dired-x.el 2011-10-30 01:56:03 +0000 +++ lisp/dired-x.el 2011-12-04 08:02:42 +0000 @@ -1392,7 +1392,7 @@ ;; Apparently people do use it. - lrd 12/22/97. (with-no-warnings - ;; Warnings are suppresed to avoid "global/dynamic var `X' lacks a prefix". + ;; Warnings are suppressed to avoid "global/dynamic var `X' lacks a prefix". ;; This is unbearably ugly, but not more than having global variables ;; named size, time, name or s, however practical it can be while writing ;; `dired-mark-sexp' predicates. === modified file 'lisp/electric.el' --- lisp/electric.el 2011-12-03 05:01:41 +0000 +++ lisp/electric.el 2011-12-04 08:02:42 +0000 @@ -85,7 +85,7 @@ (eq last-input-event ?\C-g)) (progn (setq unread-command-events nil prefix-arg nil) - ;; If it wasn't cancelling a prefix character, then quit. + ;; If it wasn't canceling a prefix character, then quit. (if (or (= (length (this-command-keys)) 1) (not inhibit-quit)) ; safety (progn (ding) === modified file 'lisp/emacs-lisp/edebug.el' --- lisp/emacs-lisp/edebug.el 2011-11-18 08:31:02 +0000 +++ lisp/emacs-lisp/edebug.el 2011-12-04 08:02:42 +0000 @@ -3448,7 +3448,7 @@ (defun edebug-on-entry (function &optional flag) "Cause Edebug to stop when FUNCTION is called. With prefix argument, make this temporary so it is automatically -cancelled the first time the function is entered." +canceled the first time the function is entered." (interactive "aEdebug on entry to: \nP") ;; Could store this in the edebug data instead. (put function 'edebug-on-entry (if flag 'temp t))) === modified file 'lisp/emacs-lisp/eieio.el' --- lisp/emacs-lisp/eieio.el 2011-11-23 07:03:56 +0000 +++ lisp/emacs-lisp/eieio.el 2011-12-04 08:02:42 +0000 @@ -57,7 +57,7 @@ (eval-and-compile ;; About the above. EIEIO must process its own code when it compiles -;; itself, thus, by eval-and-compiling outselves, we solve the problem. +;; itself, thus, by eval-and-compiling ourselves, we solve the problem. ;; Compatibility (if (fboundp 'compiled-function-arglist) === modified file 'lisp/emulation/cua-base.el' --- lisp/emulation/cua-base.el 2011-10-20 01:40:32 +0000 +++ lisp/emulation/cua-base.el 2011-12-04 08:02:42 +0000 @@ -1242,7 +1242,7 @@ ;; Handle shifted cursor keys and other movement commands. ;; If region is not active, region is activated if key is shifted. - ;; If region is active, region is cancelled if key is unshifted + ;; If region is active, region is canceled if key is unshifted ;; (and region not started with C-SPC). ;; If rectangle is active, expand rectangle in specified direction and ;; ignore the movement. === modified file 'lisp/emulation/cua-gmrk.el' --- lisp/emulation/cua-gmrk.el 2011-01-25 04:08:28 +0000 +++ lisp/emulation/cua-gmrk.el 2011-12-04 08:02:42 +0000 @@ -94,7 +94,7 @@ global marker is in another buffer. If the global marker isn't set, set the global marker at point in the current buffer. Otherwise jump to the global marker position and cancel it. -With prefix argument, don't jump to global mark when cancelling it." +With prefix argument, don't jump to global mark when canceling it." (interactive "P") (unless cua--global-mark-initialized (cua--init-global-mark)) === modified file 'lisp/emulation/vip.el' --- lisp/emulation/vip.el 2011-10-30 01:56:03 +0000 +++ lisp/emulation/vip.el 2011-12-04 08:02:42 +0000 @@ -420,7 +420,7 @@ (goto-char (point-min)) (if (y-or-n-p "Inhibit VIP startup message? ") (progn - (with-current-buffer + (with-current-buffer (find-file-noselect (substitute-in-file-name vip-startup-file)) (goto-char (point-max)) @@ -877,7 +877,7 @@ (if (> beg end) (exchange-point-and-mark))) (defun vip-global-execute () - "Call last keyboad macro for each line in the region." + "Call last keyboard macro for each line in the region." (if (> (point) (mark)) (exchange-point-and-mark)) (beginning-of-line) (call-last-kbd-macro) === modified file 'lisp/emulation/viper-cmd.el' --- lisp/emulation/viper-cmd.el 2011-11-23 07:03:56 +0000 +++ lisp/emulation/viper-cmd.el 2011-12-04 08:02:42 +0000 @@ -716,7 +716,7 @@ (error (viper-message-conditions conds)))) -;; escape to emacs mode termporarily +;; escape to emacs mode temporarily (defun viper-escape-to-emacs (arg &optional events) "Escape to Emacs state from Vi state for one Emacs command. ARG is used as the prefix value for the executed command. If @@ -726,7 +726,7 @@ (message "Switched to EMACS state for the next command...")) (viper-escape-to-state arg events 'emacs-state)) -;; escape to Vi mode termporarily +;; escape to Vi mode temporarily (defun viper-escape-to-vi (arg) "Escape from Emacs state to Vi state for one Vi 1-character command. If the Vi command that the user types has a prefix argument, e.g., `d2w', then @@ -2407,7 +2407,7 @@ t 'local) (add-hook 'viper-pre-command-hooks 'viper-replace-state-pre-command-sentinel t 'local) - ;; guard against a smartie who switched from R-replace to normal replace + ;; guard against a smarty who switched from R-replace to normal replace (remove-hook 'viper-post-command-hooks 'viper-R-state-post-command-sentinel 'local) (if overwrite-mode (overwrite-mode -1)) @@ -2531,7 +2531,7 @@ 'viper-post-command-hooks 'viper-R-state-post-command-sentinel t 'local) (add-hook 'viper-pre-command-hooks 'viper-replace-state-pre-command-sentinel t 'local) - ;; guard against a smartie who switched from R-replace to normal replace + ;; guard against a smarty who switched from R-replace to normal replace (remove-hook 'viper-post-command-hooks 'viper-replace-state-post-command-sentinel 'local) ) @@ -3767,7 +3767,7 @@ "//" 'vi-state [1 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return] scope) - ;; toggle regexp/vanila search + ;; toggle regexp/vanilla search (viper-record-kbd-macro "///" 'vi-state [2 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return] @@ -3824,7 +3824,7 @@ "//" 'emacs-state [1 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return] (or arg-majormode major-mode)) - ;; toggle regexp/vanila search + ;; toggle regexp/vanilla search (viper-record-kbd-macro "///" 'emacs-state [2 (meta x) v i p e r - t o g g l e - s e a r c h - s t y l e return] @@ -4017,7 +4017,7 @@ (setq viper-prefix-commands (cons viper-buffer-search-char viper-prefix-commands))) -;; This is a Viper wraper for isearch-forward. +;; This is a Viper wrapper for isearch-forward. (defun viper-isearch-forward (arg) "Do incremental search forward." (interactive "P") @@ -4025,7 +4025,7 @@ (if (listp arg) (setq arg (car arg))) (viper-exec-form-in-emacs (list 'isearch-forward arg))) -;; This is a Viper wraper for isearch-backward." +;; This is a Viper wrapper for isearch-backward." (defun viper-isearch-backward (arg) "Do incremental search backward." (interactive "P") === modified file 'lisp/emulation/viper-init.el' --- lisp/emulation/viper-init.el 2011-11-23 07:03:56 +0000 +++ lisp/emulation/viper-init.el 2011-12-04 08:02:42 +0000 @@ -818,7 +818,7 @@ ;;; Face-saving tricks (defgroup viper-highlighting nil - "Hilighting of replace region, search pattern, minibuffer, etc." + "Highlighting of replace region, search pattern, minibuffer, etc." :prefix "viper-" :group 'viper) === modified file 'lisp/emulation/viper-macs.el' --- lisp/emulation/viper-macs.el 2011-11-26 08:26:37 +0000 +++ lisp/emulation/viper-macs.el 2011-12-04 08:02:42 +0000 @@ -921,7 +921,7 @@ (defun viper-global-execute () - "Call last keyboad macro for each line in the region." + "Call last keyboard macro for each line in the region." (if (> (point) (mark t)) (exchange-point-and-mark)) (beginning-of-line) (call-last-kbd-macro) === modified file 'lisp/emulation/viper.el' --- lisp/emulation/viper.el 2011-11-19 09:18:31 +0000 +++ lisp/emulation/viper.el 2011-12-04 08:02:42 +0000 @@ -491,7 +491,7 @@ ) "List specifying how to modify the various major modes to enable some Viperisms. The list has the structure: ((mode viper-state keymap) (mode viper-state -keymap) ...). If `mode' is on the list, the `kemap' will be made active (on +keymap) ...). If `mode' is on the list, the `keymap' will be made active (on the minor-mode-map-alist) in the specified viper state. If you change this list, have to restart Emacs for the change to take effect. However, if you did the change through the customization widget, then Emacs === modified file 'lisp/files.el' --- lisp/files.el 2011-11-28 19:43:52 +0000 +++ lisp/files.el 2011-12-04 08:02:42 +0000 @@ -4866,7 +4866,7 @@ directory 'full directory-files-no-dot-files-regexp)) (error "Directory is not empty, not moving to trash") (move-file-to-trash directory))) - ;; Otherwise, call outselves recursively if needed. + ;; Otherwise, call ourselves recursively if needed. (t (if (and recursive (not (file-symlink-p directory))) (mapc (lambda (file) @@ -6110,7 +6110,7 @@ (defvar kill-emacs-query-functions nil "Functions to call with no arguments to query about killing Emacs. -If any of these functions returns nil, killing Emacs is cancelled. +If any of these functions returns nil, killing Emacs is canceled. `save-buffers-kill-emacs' calls these functions, but `kill-emacs', the low level primitive, does not. See also `kill-emacs-hook'.") === modified file 'lisp/follow.el' --- lisp/follow.el 2011-11-27 04:43:11 +0000 +++ lisp/follow.el 2011-12-04 08:02:42 +0000 @@ -1129,7 +1129,7 @@ ;;{{{ Redisplay ;; Redraw all the windows on the screen, starting with the top window. -;; The window used as as marker is WIN, or the selcted window if WIN +;; The window used as as marker is WIN, or the selected window if WIN ;; is nil. Start every window directly after the end of the previous ;; window, to make sure long lines are displayed correctly. @@ -1993,7 +1993,7 @@ ;; going to be recentered at the next redisplay, unless we do a ;; read-and-write cycle to update the `force' flag inside the windows. ;; -;; In 19.30, a new varible `window-scroll-functions' is called every +;; In 19.30, a new variable `window-scroll-functions' is called every ;; time a window is recentered. It is not perfect for our situation, ;; since when it is called for a tail window, it is to late. However, ;; if it is called for another window, we can try to update our === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-12-04 01:55:49 +0000 +++ lisp/gnus/ChangeLog 2011-12-04 08:02:42 +0000 @@ -365,7 +365,7 @@ (message-mail-other-window, message-mail-other-frame) (message-news-other-window, message-news-other-frame): Use switch-to-buffer-other-frame and switch-to-buffer-other-window - instead of setting buffer display varibles. + instead of setting buffer display variables. 2011-09-11 Lars Magne Ingebrigtsen @@ -7128,7 +7128,7 @@ * gnus-start.el (gnus-activate-group): Take an optional parameter to say that you don't want to call gnus-request-group with don-check, but - do check the reponse. This is for virtual groups only. + do check the response. This is for virtual groups only. (gnus-get-unread-articles): Count the archive groups as secondary, so that they're activated the same way as before. === modified file 'lisp/gnus/gnus-fun.el' --- lisp/gnus/gnus-fun.el 2011-09-20 00:21:58 +0000 +++ lisp/gnus/gnus-fun.el 2011-12-04 08:02:42 +0000 @@ -274,10 +274,10 @@ result)) (defun gnus-fun-ppm-change-string () - (let* ((possibilites '("%02x0000" "00%02x00" "0000%02x" - "%02x%02x00" "00%02x%02x" "%02x00%02x")) + (let* ((possibilities '("%02x0000" "00%02x00" "0000%02x" + "%02x%02x00" "00%02x%02x" "%02x00%02x")) (format (concat "'#%02x%02x%02x' '#" - (nth (random 6) possibilites) + (nth (random 6) possibilities) "'")) (values nil)) (dotimes (i 255) === modified file 'lisp/gnus/gnus-msg.el' --- lisp/gnus/gnus-msg.el 2011-12-01 04:55:39 +0000 +++ lisp/gnus/gnus-msg.el 2011-12-04 08:02:42 +0000 @@ -1588,7 +1588,7 @@ ;; BUG: We really need to get the charset for ;; each name in the Newsgroups and Followup-To ;; lines to allow crossposting between group - ;; namess with incompatible character sets. + ;; names with incompatible character sets. ;; -- Per Abrahamsen 2001-10-08. (group-field-charset (gnus-group-name-charset === modified file 'lisp/gnus/gnus-sum.el' --- lisp/gnus/gnus-sum.el 2011-11-23 07:03:56 +0000 +++ lisp/gnus/gnus-sum.el 2011-12-04 08:02:42 +0000 @@ -7087,7 +7087,7 @@ (defun gnus-summary-find-for-reselect () "Return the number of an article to stay on across a reselect. The current article is considered, then following articles, then previous -articles. An article is sought which is not cancelled and isn't a temporary +articles. An article is sought which is not canceled and isn't a temporary insertion from another group. If there's no such then return a dummy 0." (let (found) (dolist (rev '(nil t)) === modified file 'lisp/gnus/gnus.el' --- lisp/gnus/gnus.el 2011-11-17 09:09:20 +0000 +++ lisp/gnus/gnus.el 2011-12-04 08:02:42 +0000 @@ -700,7 +700,7 @@ (defface gnus-summary-cancelled '((((class color)) (:foreground "yellow" :background "black"))) - "Face used for cancelled articles." + "Face used for canceled articles." :group 'gnus-summary) ;; backward-compatibility alias (put 'gnus-summary-cancelled-face 'face-alias 'gnus-summary-cancelled) === modified file 'lisp/gnus/message.el' --- lisp/gnus/message.el 2011-12-04 02:02:45 +0000 +++ lisp/gnus/message.el 2011-12-04 08:02:42 +0000 @@ -906,7 +906,7 @@ :type 'hook) (defcustom message-cancel-hook nil - "Hook run when cancelling articles." + "Hook run when canceling articles." :group 'message-various :link '(custom-manual "(message)Various Message Variables") :type 'hook) @@ -4840,7 +4840,7 @@ (message-fetch-field "Followup-To"))) ;; BUG: We really need to get the charset for each name in the ;; Newsgroups and Followup-To lines to allow crossposting - ;; between group namess with incompatible character sets. + ;; between group names with incompatible character sets. ;; -- Per Abrahamsen 2001-10-08. (group-field-charset (gnus-group-name-charset method newsgroups-field)) === modified file 'lisp/gnus/nndiary.el' --- lisp/gnus/nndiary.el 2011-11-20 02:29:42 +0000 +++ lisp/gnus/nndiary.el 2011-12-04 08:02:42 +0000 @@ -353,7 +353,7 @@ ;; List of NNDiary headers that specify the time spec. Each header name is ;; followed by either two integers (specifying a range of possible values ;; for this header) or one list (specifying all the possible values for this - ;; header). In the latter case, the list does NOT include the unspecifyed + ;; header). In the latter case, the list does NOT include the unspecified ;; spec (*). ;; For time zone values, we have symbolic time zone names associated with ;; the (relative) number of seconds ahead GMT. @@ -1163,9 +1163,9 @@ ;; Parse the schedule string STR, or signal an error. ;; Signals are caught by `nndary-schedule'. (if (string-match "[ \t]*\\*[ \t]*" str) - ;; unspecifyed + ;; unspecified nil - ;; specifyed + ;; specified (if (listp min-or-values) ;; min-or-values is values ;; #### NOTE: this is actually only a hack for time zones. === modified file 'lisp/gnus/nnir.el' --- lisp/gnus/nnir.el 2011-11-20 19:35:27 +0000 +++ lisp/gnus/nnir.el 2011-12-04 08:02:42 +0000 @@ -1273,8 +1273,8 @@ (message "Doing hyrex-search query \"%s\"...done" qstring) (sit-for 0) ;; nnir-search returns: - ;; for nnml/nnfolder: "filename mailid weigth" - ;; for nnimap: "group mailid weigth" + ;; for nnml/nnfolder: "filename mailid weight" + ;; for nnimap: "group mailid weight" (goto-char (point-min)) (delete-non-matching-lines "^\\S + [0-9]+ [0-9]+$") ;; HyREX doesn't search directly in groups -- so filter out here. === modified file 'lisp/gnus/nntp.el' --- lisp/gnus/nntp.el 2011-11-20 07:30:16 +0000 +++ lisp/gnus/nntp.el 2011-12-04 08:02:42 +0000 @@ -665,7 +665,7 @@ (process-buffer -process)))) ;; When I an able to identify the ;; connection to the server AND I've - ;; received NO reponse for + ;; received NO response for ;; nntp-connection-timeout seconds. (when (and -buffer (eq 0 (buffer-size -buffer))) ;; Close the connection. Take no === modified file 'lisp/ibuffer.el' --- lisp/ibuffer.el 2011-11-15 07:55:13 +0000 +++ lisp/ibuffer.el 2011-12-04 08:02:42 +0000 @@ -426,7 +426,7 @@ '(menu-item "Save current filter groups permanently..." ibuffer-save-filter-groups :enable (and (featurep 'ibuf-ext) ibuffer-filter-groups) - :help "Use a mnemnonic name to store current filter groups")) + :help "Use a mnemonic name to store current filter groups")) (define-key-after groups-map [switch-to-saved-filter-groups] '(menu-item "Restore permanently saved filters..." ibuffer-switch-to-saved-filter-groups @@ -676,7 +676,7 @@ (define-key-after map [menu-bar view filter save-filters] '(menu-item "Save current filters permanently..." ibuffer-save-filters :enable (and (featurep 'ibuf-ext) ibuffer-filtering-qualifiers) - :help "Use a mnemnonic name to store current filter stack")) + :help "Use a mnemonic name to store current filter stack")) (define-key-after map [menu-bar view filter switch-to-saved-filters] '(menu-item "Restore permanently saved filters..." ibuffer-switch-to-saved-filters === modified file 'lisp/international/mule.el' --- lisp/international/mule.el 2011-11-25 07:14:48 +0000 +++ lisp/international/mule.el 2011-12-04 08:02:42 +0000 @@ -1785,7 +1785,7 @@ succeed, it checks to see if any function in `auto-coding-functions' gives a match. -If a coding system is specifed, the return value is a cons +If a coding system is specified, the return value is a cons \(CODING . SOURCE), where CODING is the specified coding system and SOURCE is a symbol `auto-coding-alist', `auto-coding-regexp-alist', `:coding', or `auto-coding-functions' indicating by what CODING is === modified file 'lisp/international/quail.el' --- lisp/international/quail.el 2011-11-18 08:31:02 +0000 +++ lisp/international/quail.el 2011-12-04 08:02:42 +0000 @@ -2703,7 +2703,7 @@ ;; Generate a half-cooked decode map (char-table) for the current ;; Quail map. An element for a character C is a key string or a list -;; of a key strings to type to input C. The lenth of key string is at +;; of a key strings to type to input C. The length of key string is at ;; most 2. If it is 2, more keys may be required to input C. (defun quail-gen-decode-map () === modified file 'lisp/international/titdic-cnv.el' --- lisp/international/titdic-cnv.el 2011-11-25 07:14:48 +0000 +++ lisp/international/titdic-cnv.el 2011-12-04 08:02:42 +0000 @@ -122,7 +122,7 @@ In this input method, you enter a Chinese character by first typing keys corresponding to Zhuyin symbols (see the above table) followed by -SPC, 1, 2, 3, or 4 specifing a tone (SPC:$(0?v(N(B, 1:$(0M=Vy(B, 2:$(0Dm(N(B, 3: $(0&9Vy(B, +SPC, 1, 2, 3, or 4 specifying a tone (SPC:$(0?v(N(B, 1:$(0M=Vy(B, 2:$(0Dm(N(B, 3: $(0&9Vy(B, 4:$(0(+Vy(B). \\") @@ -203,7 +203,7 @@ In this input method, you enter a Chinese character by first typing keys corresponding to Zhuyin symbols (see the above table) followed by -SPC, 6, 3, 4, or 7 specifing a tone (SPC:$(0?v(N(B, 6:$(0Dm(N(B, 3:$(0&9Vy(B, 4:$(0(+Vy(B, +SPC, 6, 3, 4, or 7 specifying a tone (SPC:$(0?v(N(B, 6:$(0Dm(N(B, 3:$(0&9Vy(B, 4:$(0(+Vy(B, 7:$(0M=Vy(B). \\"))) === modified file 'lisp/international/ucs-normalize.el' --- lisp/international/ucs-normalize.el 2011-08-24 07:33:55 +0000 +++ lisp/international/ucs-normalize.el 2011-12-04 08:02:42 +0000 @@ -227,7 +227,7 @@ (eval-when-compile decomposition-pair-to-composition))) (defun ucs-normalize-primary-composite (decomposition-pair composition-predicate) - "Convert DECOMPOSITION-PAIR to primay composite using COMPOSITION-PREDICATE." + "Convert DECOMPOSITION-PAIR to primary composite using COMPOSITION-PREDICATE." (let ((char (or (gethash decomposition-pair ucs-normalize-decomposition-pair-to-primary-composite) (and (<= #x1100 (car decomposition-pair)) === modified file 'lisp/kmacro.el' --- lisp/kmacro.el 2011-11-17 09:09:20 +0000 +++ lisp/kmacro.el 2011-12-04 08:02:42 +0000 @@ -747,7 +747,7 @@ ;; Create a separate keymap installed as a minor-mode keymap (e.g. in ;; the emulation-mode-map-alists) in which macro bindings are made ;; independent of any other bindings. When first binding is made, -;; the kemap is created, installed, and enabled. Key seq. C-x C-k + +;; the keymap is created, installed, and enabled. Key seq. C-x C-k + ;; can then be used to toggle the use of this keymap on and off. ;; This means that it would be safe(r) to bind ordinary keys like ;; letters and digits, provided that we inhibit the keymap while === modified file 'lisp/language/chinese.el' --- lisp/language/chinese.el 2011-01-26 08:36:39 +0000 +++ lisp/language/chinese.el 2011-12-04 08:02:42 +0000 @@ -125,7 +125,7 @@ (define-coding-system 'chinese-big5 "BIG5 8-bit encoding for Chinese (MIME:Big5)" :coding-type 'big5 - :mnemonic ?B + :mnemonic ?B :charset-list '(ascii big5) :mime-charset 'big5) @@ -152,7 +152,7 @@ (define-coding-system 'chinese-big5-hkscs "BIG5-HKSCS 8-bit encoding for Chinese, Hong Kong supplement (MIME:Big5-HKSCS)" :coding-type 'charset - :mnemonic ?B + :mnemonic ?B :charset-list '(ascii big5-hkscs) :mime-charset 'big5-hkscs) (define-coding-system-alias 'big5-hkscs 'chinese-big5-hkscs) @@ -191,7 +191,7 @@ chinese-cns11643-5 chinese-cns11643-6 chinese-cns11643-7) (iso639-language . zh) - (setup-function . (lambda () + (setup-function . (lambda () (use-cjk-char-width-table 'zh_TW))) (exit-function . use-default-char-width-table) (coding-system iso-2022-cn euc-tw) @@ -211,7 +211,7 @@ chinese-cns11643-5 chinese-cns11643-6 chinese-cns11643-7 chinese-big5-1 chinese-big5-2) (iso639-language . zh) - (setup-function . (lambda () + (setup-function . (lambda () (use-cjk-char-width-table 'zh_TW))) (exit-function . use-default-char-width-table) (coding-system euc-tw iso-2022-cn) @@ -220,7 +220,7 @@ (features china-util) (input-method . "chinese-cns-quick") (documentation . "\ -Support for Chinese, prefering the EUC-TW character set. Note that +Support for Chinese, preferring the EUC-TW character set. Note that the EUC-TW coding system accepts Big5 for input also (which is then converted to CNS).")) '("Chinese")) @@ -241,13 +241,13 @@ (set-language-info-alist "Chinese-GBK" '((charset chinese-gbk) (iso639-language . zh) - (setup-function . (lambda () + (setup-function . (lambda () (use-cjk-char-width-table 'zh_CN))) (exit-function . use-default-char-width-table) (coding-system chinese-gbk) (coding-priority gbk iso-2022-cn chinese-big5 chinese-iso-8bit) ; fixme? - (ctext-non-standard-encodings "gbk-0") + (ctext-non-standard-encodings "gbk-0") (input-method . "chinese-py-punct") ; fixme? (sample-text . "Chinese ($BCfJ8(B,$BIaDL$A;0(B,$A::So(B) $(D95$B9%(B") (features china-util) === modified file 'lisp/language/viet-util.el' --- lisp/language/viet-util.el 2011-01-26 08:36:39 +0000 +++ lisp/language/viet-util.el 2011-12-04 08:02:42 +0000 @@ -34,7 +34,7 @@ ;; for representing these characters: VISCII, TCVN-5712, VPS, VIQR, ;; and Unicode. VISCII, TCVN-5712 and VPS are simple 1-byte code ;; which assigns 134 unique characters in control-code area -;; (0x00..0x1F) and right half area (0x80..0xFF). VIQR is a menmonic +;; (0x00..0x1F) and right half area (0x80..0xFF). VIQR is a mnemonic ;; encoding specification representing diacritical marks by following ;; ASCII characters. @@ -47,7 +47,7 @@ "Return VISCII character code of CHAR if appropriate." (encode-char char 'viscii)) -;; VIQR is a menmonic encoding specification for Vietnamese. +;; VIQR is a mnemonic encoding specification for Vietnamese. ;; It represents diacritical marks by ASCII characters as follows: ;; ------------+----------+-------- ;; mark | mnemonic | example === modified file 'lisp/man.el' --- lisp/man.el 2011-12-01 19:38:24 +0000 +++ lisp/man.el 2011-12-04 08:02:42 +0000 @@ -687,7 +687,7 @@ ;; Otherwise record the current column and look backwards. (setq column (current-column)) (skip-chars-backward ",; \t") - ;; Record the distance travelled. + ;; Record the distance traveled. (setq distance (- column (current-column))) (when (looking-back (concat "([ \t]*\\(?:" Man-section-regexp "\\)[ \t]*)")) === modified file 'lisp/net/ange-ftp.el' --- lisp/net/ange-ftp.el 2011-11-27 04:43:11 +0000 +++ lisp/net/ange-ftp.el 2011-12-04 08:02:42 +0000 @@ -1664,7 +1664,7 @@ (if (not (and seen-prompt ange-ftp-pending-error-line)) (ange-ftp-process-handle-line line proc) ;; If we've seen a potential error message and it - ;; hasn't been cancelled by a good message before + ;; hasn't been canceled by a good message before ;; seeing a prompt, then the error was real. (delete-process proc) (setq ange-ftp-process-busy nil === modified file 'lisp/net/zeroconf.el' --- lisp/net/zeroconf.el 2011-11-14 23:59:56 +0000 +++ lisp/net/zeroconf.el 2011-12-04 08:02:42 +0000 @@ -82,7 +82,7 @@ ;; The function `zeroconf-publish-service' publishes a new service to ;; the Avahi daemon. Although the domain, where to the service is -;; published, can be specified by this function, it is usally the +;; published, can be specified by this function, it is usually the ;; default domain "local" (also written as nil or ""). ;; (zeroconf-publish-service === modified file 'lisp/nxml/rng-valid.el' --- lisp/nxml/rng-valid.el 2011-11-27 04:43:11 +0000 +++ lisp/nxml/rng-valid.el 2011-12-04 08:02:42 +0000 @@ -377,8 +377,8 @@ (defun rng-kill-timers () ;; rng-validate-timer and rng-validate-quick-timer have the ;; permanent-local property, so that the timers can be - ;; cancelled even after changing mode. - ;; This function takes care of cancelling the timers and + ;; canceled even after changing mode. + ;; This function takes care of canceling the timers and ;; then killing the local variables. (when (local-variable-p 'rng-validate-timer) (when rng-validate-timer === modified file 'lisp/obsolete/pgg.el' --- lisp/obsolete/pgg.el 2011-01-25 04:08:28 +0000 +++ lisp/obsolete/pgg.el 2011-12-04 08:02:42 +0000 @@ -174,7 +174,7 @@ (defvar pgg-pending-timers (make-vector 7 0) "Hash table for managing scheduled pgg cache management timers. -We associate key and timer, so the timer can be cancelled if a new +We associate key and timer, so the timer can be canceled if a new timeout for the key is set while an old one is still pending.") (defun pgg-read-passphrase (prompt &optional key notruncate) === modified file 'lisp/org/ChangeLog' --- lisp/org/ChangeLog 2011-11-25 07:14:48 +0000 +++ lisp/org/ChangeLog 2011-12-04 08:02:42 +0000 @@ -278,7 +278,7 @@ * org-archive.el (org-archive-subtree): While it might be possible to archive an headline of a temporary buffer (i.e. not visiting a - file), it wouldn't be really sensical. + file), it wouldn't be really sensible. 2011-07-28 Nicolas Goaziou @@ -4008,7 +4008,7 @@ * org-list.el (org-list-blocks): New variable. (org-list-context): New function. (org-list-full-item-re): New variable. - (org-list-struct-assoc-at-point): Use new varible. + (org-list-struct-assoc-at-point): Use new variable. (org-list-struct): Rewrite of function. Now, list data is collected by looking at the list line after line. It reads the whole list each time because reading only a subtree was not enough @@ -8139,7 +8139,7 @@ 2010-11-11 Nicolas Goaziou * org-list.el (org-insert-item-internal): New function to handle - positionning and contents of an item being inserted at a specific + positioning and contents of an item being inserted at a specific pos. It is not possible anymore to split a term in a description list or a checkbox when inserting a new item. @@ -9758,7 +9758,7 @@ 2010-07-19 Bastien Guerry - * org-timer.el (org-timer-set-timer): Fix bug about cancelling + * org-timer.el (org-timer-set-timer): Fix bug about canceling timers. 2010-07-19 David Maus @@ -12582,7 +12582,7 @@ buffer and at the position of the given clock. However, changes to the current clock are local and have no effect on the user's active clock. This allows, for example, far any clock to be - cancelled without cancelling the active clock. + canceled without canceling the active clock. (org-clock-clock-in): New inline function that switches the active clock to the given clock. If either the argument RESUME, or the global `org-clock-in-resume', are non-nil, it will resume a clock === modified file 'lisp/org/org-agenda.el' --- lisp/org/org-agenda.el 2011-11-27 04:43:11 +0000 +++ lisp/org/org-agenda.el 2011-12-04 08:02:42 +0000 @@ -8331,7 +8331,7 @@ (org-agenda-remove-flag hdmarker) (let ((win (get-buffer-window "*Flagging Note*"))) (and win (delete-window win))) - (message "Entry unflaged")) + (message "Entry unflagged")) (setq note (org-entry-get hdmarker "THEFLAGGINGNOTE")) (unless note (error "No flagging note")) @@ -8354,7 +8354,7 @@ (org-entry-delete nil "THEFLAGGINGNOTE") (setq newhead (org-get-heading))) (org-agenda-change-all-lines newhead marker) - (message "Entry unflaged"))) + (message "Entry unflagged"))) (defun org-agenda-get-any-marker (&optional pos) (or (get-text-property (or pos (point-at-bol)) 'org-hd-marker) === modified file 'lisp/org/org-clock.el' --- lisp/org/org-clock.el 2011-11-23 07:03:56 +0000 +++ lisp/org/org-clock.el 2011-12-04 08:02:42 +0000 @@ -328,7 +328,7 @@ "Hook run when stopping the current clock.") (defvar org-clock-cancel-hook nil - "Hook run when cancelling the current clock.") + "Hook run when canceling the current clock.") (defvar org-clock-goto-hook nil "Hook run when selecting the currently clocked-in entry.") (defvar org-clock-has-been-used nil @@ -346,7 +346,7 @@ (defvar org-clock-start-time "") (defvar org-clock-leftover-time nil - "If non-nil, user cancelled a clock; this is when leftover time started.") + "If non-nil, user canceled a clock; this is when leftover time started.") (defvar org-clock-effort "" "Effort estimate of the currently clocking task.") === modified file 'lisp/org/org-list.el' --- lisp/org/org-list.el 2011-11-20 09:44:39 +0000 +++ lisp/org/org-list.el 2011-12-04 08:02:42 +0000 @@ -68,7 +68,7 @@ ;; Computing a list structure can be a costly operation on huge lists ;; (a few thousand lines long). Thus, code should follow the rule : -;; "collect once, use many". As a corollary, it is usally a bad idea +;; "collect once, use many". As a corollary, it is usually a bad idea ;; to use directly an interactive function inside the code, as those, ;; being independent entities, read the whole list structure another ;; time. === modified file 'lisp/org/org-protocol.el' --- lisp/org/org-protocol.el 2011-08-18 20:41:06 +0000 +++ lisp/org/org-protocol.el 2011-12-04 08:02:42 +0000 @@ -145,8 +145,8 @@ (defgroup org-protocol nil "Intercept calls from emacsclient to trigger custom actions. -This is done by advising `server-visit-files' to scann the list of filenames -for `org-protocol-the-protocol' and sub-procols defined in +This is done by advising `server-visit-files' to scan the list of filenames +for `org-protocol-the-protocol' and sub-protocols defined in `org-protocol-protocol-alist' and `org-protocol-protocol-alist-default'." :version "22.1" :group 'convenience === modified file 'lisp/org/org-publish.el' --- lisp/org/org-publish.el 2011-11-14 23:59:56 +0000 +++ lisp/org/org-publish.el 2011-12-04 08:02:42 +0000 @@ -278,12 +278,12 @@ :type 'string) (defcustom org-publish-sitemap-file-entry-format "%t" - "How a sitemap file entry is formated. + "How a sitemap file entry is formatted. You could use brackets to delimit on what part the link will be. %t is the title. %a is the author. -%d is the date formated using `org-publish-sitemap-date-format'." +%d is the date formatted using `org-publish-sitemap-date-format'." :group 'org-publish :type 'string) === modified file 'lisp/org/org-taskjuggler.el' --- lisp/org/org-taskjuggler.el 2011-11-18 08:31:02 +0000 +++ lisp/org/org-taskjuggler.el 2011-12-04 08:02:42 +0000 @@ -571,7 +571,7 @@ (and filtered-items (mapconcat 'identity filtered-items "\n")))) (defun org-taskjuggler-get-attributes (item attributes) - "Return all attribute as a single formated string. ITEM is an + "Return all attributes as a single formatted string. ITEM is an alist representing either a resource or a task. ATTRIBUTES is a list of symbols. Only entries from ITEM are considered that are listed in ATTRIBUTES." === modified file 'lisp/play/gametree.el' --- lisp/play/gametree.el 2011-04-21 12:24:46 +0000 +++ lisp/play/gametree.el 2011-12-04 08:02:42 +0000 @@ -549,7 +549,7 @@ (defun gametree-save-and-hack-layout () "Save the current tree layout and hack the file local variable spec. This function saves the current layout in `gametree-local-layout' and, -if a local file varible specification for this variable exists in the +if a local file variable specification for this variable exists in the buffer, it is replaced by the new value. See the documentation for `gametree-local-layout' for more information." (interactive) === modified file 'lisp/progmodes/cc-cmds.el' --- lisp/progmodes/cc-cmds.el 2011-11-24 01:58:14 +0000 +++ lisp/progmodes/cc-cmds.el 2011-12-04 08:02:42 +0000 @@ -2051,7 +2051,7 @@ (c-narrow-to-comment-innards range) ; This may move point back. (let* ((here (point)) last - (here-filler ; matches WS and comment-prefices at point. + (here-filler ; matches WS and comment-prefixes at point. (concat "\\=\\(^[ \t]*\\(" c-current-comment-prefix "\\)" "\\|[ \t\n\r\f]\\)*")) (prefix-at-bol-here ; matches WS and prefix at BOL, just before point @@ -2071,7 +2071,7 @@ ;; Now seek successively earlier sentence ends between PAR-BEG and ;; HERE, until the "start of sentence" following it is earlier than - ;; HERE, or we hit PAR-BEG. Beware of comment prefices! + ;; HERE, or we hit PAR-BEG. Beware of comment prefixes! (while (and (re-search-backward (c-sentence-end) par-beg 'limit) (setq last (point)) (goto-char (match-end 0)) ; tentative beginning of sentence === modified file 'lisp/progmodes/dcl-mode.el' --- lisp/progmodes/dcl-mode.el 2011-11-15 17:37:37 +0000 +++ lisp/progmodes/dcl-mode.el 2011-12-04 08:02:42 +0000 @@ -708,7 +708,7 @@ (setq done t) ; not a label-only line, exit the loop (setq retval (point)))) ;; We couldn't go further back, and we haven't found a command yet. - ;; Return to the start positionn + ;; Return to the start position. (goto-char start) (setq done t) (setq retval nil))) @@ -756,7 +756,7 @@ (setq done t) ; not a label-only line, exit the loop (setq retval (point))))) ;; We couldn't go further back, and we haven't found a command yet. - ;; Return to the start positionn + ;; Return to the start position. (goto-char start) (setq done t) (setq retval nil))) === modified file 'lisp/progmodes/idlwave.el' --- lisp/progmodes/idlwave.el 2011-11-20 03:48:53 +0000 +++ lisp/progmodes/idlwave.el 2011-12-04 08:02:42 +0000 @@ -7866,7 +7866,7 @@ "Display online help about the completion at point." (interactive "eP") ;; Restore last-command for next command, to make - ;; scrolling/cancelling of completions work. + ;; scrolling/canceling of completions work. (setq this-command last-command) (idlwave-do-mouse-completion-help ev)) === modified file 'lisp/progmodes/js.el' --- lisp/progmodes/js.el 2011-11-19 09:18:31 +0000 +++ lisp/progmodes/js.el 2011-12-04 08:02:42 +0000 @@ -3000,7 +3000,7 @@ '(js> ((fifth hitab) "selectedTab") (fourth hitab)) cmds))) - ;; Hilighting whole window + ;; Highlighting whole window ((third hitab) (push '(js! ((third hitab) "document" "documentElement" "setAttribute") === modified file 'lisp/progmodes/vhdl-mode.el' --- lisp/progmodes/vhdl-mode.el 2011-11-20 02:29:42 +0000 +++ lisp/progmodes/vhdl-mode.el 2011-12-04 08:02:42 +0000 @@ -1714,7 +1714,7 @@ (defgroup vhdl-menu nil - "Customizations for menues." + "Customizations for menus." :group 'vhdl) (defcustom vhdl-index-menu nil @@ -1844,7 +1844,7 @@ ;; Internal variables (defvar vhdl-menu-max-size 20 - "*Specifies the maximum size of a menu before splitting it into submenues.") + "*Specifies the maximum size of a menu before splitting it into submenus.") (defvar vhdl-progress-interval 1 "*Interval used to update progress status during long operations. @@ -2468,7 +2468,7 @@ (goto-char marker)) (defun vhdl-menu-split (list title) - "Split menu LIST into several submenues, if number of + "Split menu LIST into several submenus, if number of elements > `vhdl-menu-max-size'." (if (> (length list) vhdl-menu-max-size) (let ((remain list) === modified file 'lisp/ses.el' --- lisp/ses.el 2011-11-23 07:03:56 +0000 +++ lisp/ses.el 2011-12-04 08:02:42 +0000 @@ -2273,7 +2273,7 @@ (defun ses-read-printer (prompt default) "Common code for `ses-read-cell-printer', `ses-read-column-printer', and `ses-read-default-printer'. -PROMPT should end with \": \". Result is t if operation was cancelled." +PROMPT should end with \": \". Result is t if operation was canceled." (barf-if-buffer-read-only) (if (eq default t) (setq default "") === modified file 'lisp/simple.el' --- lisp/simple.el 2011-11-19 19:49:56 +0000 +++ lisp/simple.el 2011-12-04 08:02:42 +0000 @@ -1582,7 +1582,7 @@ n) ;; next-matching-history-element always puts us at (point-min). ;; Move to the position we were at before changing the buffer contents. - ;; This is still sensical, because the text before point has not changed. + ;; This is still sensible, because the text before point has not changed. (goto-char point-at-start))) (defun previous-complete-history-element (n) @@ -5704,7 +5704,7 @@ (defvar buffer-quit-function nil "Function to call to \"quit\" the current buffer, or nil if none. \\[keyboard-escape-quit] calls this function when its more local actions -\(such as cancelling a prefix argument, minibuffer or region) do not apply.") +\(such as canceling a prefix argument, minibuffer or region) do not apply.") (defun keyboard-escape-quit () "Exit the current \"mode\" (in a generalized sense of the word). @@ -6209,7 +6209,7 @@ choice buffer base-position nil) ;; This remove-text-properties should be unnecessary since `choice' ;; comes from buffer-substring-no-properties. - ;;(remove-text-properties 0 (lenth choice) '(mouse-face nil) choice) + ;;(remove-text-properties 0 (length choice) '(mouse-face nil) choice) ;; Insert the completion into the buffer where it was requested. (funcall (or insert-function completion-list-insert-choice-function) (or (car base-position) (point)) === modified file 'lisp/speedbar.el' --- lisp/speedbar.el 2011-11-27 04:43:11 +0000 +++ lisp/speedbar.el 2011-12-04 08:02:42 +0000 @@ -1862,7 +1862,7 @@ (if (not v) (setq speedbar-special-mode-expansion-list t) ;; If it is autoloaded, we need to load it now so that - ;; we have access to the varialbe -speedbar-menu-items. + ;; we have access to the variable -speedbar-menu-items. ;; Is this XEmacs safe? (let ((sf (symbol-function v))) (if (and (listp sf) (eq (car sf) 'autoload)) === modified file 'lisp/term/x-win.el' --- lisp/term/x-win.el 2011-11-14 21:00:24 +0000 +++ lisp/term/x-win.el 2011-12-04 08:02:42 +0000 @@ -126,7 +126,7 @@ (defun emacs-session-save () "This function is called when the window system is shutting down. -If this function returns non-nil, the window system shutdown is cancelled. +If this function returns non-nil, the window system shutdown is canceled. When a session manager tells Emacs that the window system is shutting down, this function is called. It calls the functions in the hook === modified file 'lisp/textmodes/artist.el' --- lisp/textmodes/artist.el 2011-11-23 07:03:56 +0000 +++ lisp/textmodes/artist.el 2011-12-04 08:02:42 +0000 @@ -3960,11 +3960,11 @@ ;; Implementation note: This really should honor the interval-fn entry ;; in the master table, `artist-mt', which would mean leaving a timer ;; that calls `draw-fn' every now and then. That timer would then have -;; to be cancelled and reinstalled whenever the user moves the cursor. +;; to be canceled and reinstalled whenever the user moves the cursor. ;; This could be done, but what if the user suddenly switches to another ;; drawing mode, or even kills the buffer! In the mouse case, it is much ;; simpler: when at the end of `artist-mouse-draw-continously', the -;; user has released the button, so the timer will always be cancelled +;; user has released the button, so the timer will always be canceled ;; at that point. (defun artist-key-draw-continously (x y) "Draw current continuous shape at X,Y." @@ -5589,7 +5589,7 @@ ;; of drawing mode. ;; ;; You should provide these functions. You might think that -;; only you is using your type of mode, so noone will be able +;; only you is using your type of mode, so no one will be able ;; to switch to another operation of the same type of mode, ;; but someone else might base a new drawing mode upon your ;; work. === modified file 'lisp/textmodes/ispell.el' --- lisp/textmodes/ispell.el 2011-11-27 04:43:11 +0000 +++ lisp/textmodes/ispell.el 2011-12-04 08:02:42 +0000 @@ -2499,7 +2499,7 @@ ;; hidden by new window, scroll it to just below new win ;; otherwise set top line of other win so it doesn't scroll. (if (< oldot top) (setq top oldot)) - ;; if frame is unsplitable, temporarily disable that... + ;; if frame is unsplittable, temporarily disable that... (if (cdr (assq 'unsplittable (frame-parameters (selected-frame)))) (let ((frame (selected-frame))) (modify-frame-parameters frame '((unsplittable . nil))) @@ -3979,7 +3979,7 @@ ; LocalWords: AMStex hspace includeonly nocite epsfig displaymath eqnarray reg ; LocalWords: minipage modeline pers dict unhighlight buf grep sync prev inc ; LocalWords: fn oldot NB AIX msg init read's bufs pt cmd Quinlan eg -; LocalWords: uuencoded unidiff sc nn VM SGML eval IspellPersDict unsplitable +; LocalWords: uuencoded unidiff sc nn VM SGML eval IspellPersDict ; LocalWords: lns XEmacs HTML casechars Multibyte ;;; ispell.el ends here === modified file 'lisp/textmodes/reftex-dcr.el' --- lisp/textmodes/reftex-dcr.el 2011-11-20 03:48:53 +0000 +++ lisp/textmodes/reftex-dcr.el 2011-12-04 08:02:42 +0000 @@ -212,7 +212,7 @@ (add-hook 'pre-command-hook 'reftex-highlight-shall-die) (when (eq how 'tmp-window) - ;; Resize window and arrange restauration + ;; Resize window and arrange restoration (shrink-window (1- (- (window-height) 9))) (recenter '(4)) (add-hook 'pre-command-hook 'reftex-restore-window-conf)) === modified file 'lisp/textmodes/table.el' --- lisp/textmodes/table.el 2011-11-27 18:17:40 +0000 +++ lisp/textmodes/table.el 2011-12-04 08:02:42 +0000 @@ -4293,7 +4293,7 @@ (car (table--get-coordinate (cdr (table--horizontal-cell-list nil t)))) (1+ (cdr (table--get-coordinate (cdr (table--vertical-cell-list nil t)))))))) -(defun table-call-interactively (function &optional recoard-flag keys) +(defun table-call-interactively (function &optional record-flag keys) "Call FUNCTION, or a table version of it if applicable. See `call-interactively' for full description of the arguments." (let ((table-func (intern-soft (format "*table--cell-%s" function)))) @@ -4301,7 +4301,7 @@ (if (and table-func (table--point-in-cell-p)) table-func - function) recoard-flag keys))) + function) record-flag keys))) (defun table-funcall (function &rest arguments) "Call FUNCTION, or a table version of it if applicable. === modified file 'lisp/textmodes/texinfmt.el' --- lisp/textmodes/texinfmt.el 2011-12-03 20:44:19 +0000 +++ lisp/textmodes/texinfmt.el 2011-12-04 08:02:42 +0000 @@ -2088,11 +2088,11 @@ (table-entry-height 0) ;; unformatted row looks like: A1 @tab A2 @tab A3 ;; extract-row command deletes the source line in the table. - (unformated-row (texinfo-multitable-extract-row))) + (unformatted-row (texinfo-multitable-extract-row))) ;; Use a temporary buffer (set-buffer (get-buffer-create texinfo-multitable-buffer-name)) (delete-region (point-min) (point-max)) - (insert unformated-row) + (insert unformatted-row) (goto-char (point-min)) ;; 1. Check for correct number of @tab in line. (let ((tab-number 1)) ; one @tab between two columns === modified file 'lisp/time.el' --- lisp/time.el 2011-10-19 12:54:24 +0000 +++ lisp/time.el 2011-12-04 08:02:42 +0000 @@ -369,7 +369,7 @@ nil))) (with-no-warnings - ;; Warnings are suppresed to avoid "global/dynamic var `X' lacks a prefix". + ;; Warnings are suppressed to avoid "global/dynamic var `X' lacks a prefix". (defvar now) (defvar time) (defvar load) === modified file 'lisp/url/ChangeLog' --- lisp/url/ChangeLog 2011-11-27 04:43:11 +0000 +++ lisp/url/ChangeLog 2011-12-04 08:02:42 +0000 @@ -1673,7 +1673,7 @@ (url-dav-process-DAV:activelock) (url-dav-process-DAV:lockdiscovery): Can now correctly parse DAV:lockdiscovery nodes, so that we can find out who has a - resource locked and properly parse the reponse to a LOCK request. + resource locked and properly parse the response to a LOCK request. (url-dav-process-DAV:status): Now parses out the numeric status from the HTTP response line. (url-dav-process-response): New function to handle all the === modified file 'lisp/url/url-gw.el' --- lisp/url/url-gw.el 2011-04-02 23:41:03 +0000 +++ lisp/url/url-gw.el 2011-12-04 08:02:42 +0000 @@ -72,12 +72,12 @@ :group 'url-gateway) (defcustom url-gateway-telnet-login-prompt "^\r*.?login:" - "Prompt that tells us we should send our username when loggin in w/telnet." + "Prompt that tells us we should send our username when logging in w/telnet." :type 'regexp :group 'url-gateway) (defcustom url-gateway-telnet-password-prompt "^\r*.?password:" - "Prompt that tells us we should send our password when loggin in w/telnet." + "Prompt that tells us we should send our password when logging in w/telnet." :type 'regexp :group 'url-gateway) === modified file 'lisp/vc/ediff-init.el' --- lisp/vc/ediff-init.el 2011-11-14 06:27:12 +0000 +++ lisp/vc/ediff-init.el 2011-12-04 08:02:42 +0000 @@ -370,7 +370,7 @@ this-command))) (defgroup ediff-highlighting nil - "Hilighting of difference regions in Ediff." + "Highlighting of difference regions in Ediff." :prefix "ediff-" :group 'ediff) === modified file 'lisp/vc/pcvs.el' --- lisp/vc/pcvs.el 2011-11-17 09:09:20 +0000 +++ lisp/vc/pcvs.el 2011-12-04 08:02:42 +0000 @@ -322,7 +322,7 @@ by appending the branch to ARG which defaults to \"-r\". Since the `cvs-secondary-branch-prefix' is only active if the primary prefix is active, it is important to read the secondary prefix before -the primay since reading the primary can deactivate it." +the primary since reading the primary can deactivate it." (let ((branch (and (cvs-prefix-get 'cvs-branch-prefix 'read-only) (cvs-prefix-get 'cvs-secondary-branch-prefix)))) (if branch (cons (concat (or arg "-r") branch) flags) flags))) === modified file 'lisp/vcursor.el' --- lisp/vcursor.el 2011-01-25 04:08:28 +0000 +++ lisp/vcursor.el 2011-12-04 08:02:42 +0000 @@ -223,7 +223,7 @@ ;; automatically for a PC if Oemacs is detected. This set uses separate ;; control, shift and meta keys with function keys 1 to 10. In ;; particular, movement keys are concentrated on f5 to f8 with (in -;; increasing order of distance travelled) C-, M- and S- as prefixes. +;; increasing order of distance traveled) C-, M- and S- as prefixes. ;; See the actual bindings below (search for C-f1). This is because the ;; C-S- prefix is represented by weird key sequences and the set is ;; incomplete; if you don't mind that, some hints are given in comments === modified file 'lisp/view.el' --- lisp/view.el 2011-11-24 07:09:56 +0000 +++ lisp/view.el 2011-12-04 08:02:42 +0000 @@ -481,7 +481,7 @@ ;; sets view-read-only to t as a buffer-local variable ;; after exiting View mode. That arranges that the next toggle-read-only ;; will reenable View mode. - ;; Cancelling View mode in any other way should cancel that, too, + ;; Canceling View mode in any other way should cancel that, too, ;; so that View mode stays off if toggle-read-only is called. (if (local-variable-p 'view-read-only) (kill-local-variable 'view-read-only)) === modified file 'lisp/wid-edit.el' --- lisp/wid-edit.el 2011-11-15 07:55:13 +0000 +++ lisp/wid-edit.el 2011-12-04 08:02:42 +0000 @@ -295,10 +295,10 @@ (error "Canceled")) value)))) -(defun widget-remove-if (predictate list) +(defun widget-remove-if (predicate list) (let (result (tail list)) (while tail - (or (funcall predictate (car tail)) + (or (funcall predicate (car tail)) (setq result (cons (car tail) result))) (setq tail (cdr tail))) (nreverse result))) @@ -577,7 +577,7 @@ "Map FUNCTION over the buttons in BUFFER. FUNCTION is called with the arguments WIDGET and MAPARG. -If FUNCTION returns non-nil, the walk is cancelled. +If FUNCTION returns non-nil, the walk is canceled. The arguments MAPARG, and BUFFER default to nil and (current-buffer), respectively." === modified file 'lisp/window.el' --- lisp/window.el 2011-11-28 19:43:52 +0000 +++ lisp/window.el 2011-12-04 08:02:42 +0000 @@ -1211,7 +1211,7 @@ PREDICATE on each one of them with the window as its sole argument. Return the first window for which PREDICATE returns non-nil. Windows are scanned starting with the window following -the selcted window. If no window satisfies PREDICATE, return +the selected window. If no window satisfies PREDICATE, return DEFAULT. MINIBUF t means include the minibuffer window even if the @@ -5234,7 +5234,7 @@ ;; This `condition-case' shouldn't be necessary, but who knows? (condition-case nil (if (zerop delta) - ;; Return zero if DELTA became zero in the proces. + ;; Return zero if DELTA became zero in the process. 0 ;; Don't try to redisplay with the cursor at the end on its ;; own line--that would force a scroll and spoil things. === modified file 'nt/addpm.c' --- nt/addpm.c 2011-03-25 15:39:59 +0000 +++ nt/addpm.c 2011-12-04 08:02:42 +0000 @@ -250,7 +250,7 @@ MB_OKCANCEL | MB_ICONQUESTION); if (result != IDOK) { - fprintf (stderr, "Install cancelled\n"); + fprintf (stderr, "Install canceled\n"); exit (1); } } @@ -365,4 +365,3 @@ return 0; } - === modified file 'src/ChangeLog.10' --- src/ChangeLog.10 2011-11-27 18:17:40 +0000 +++ src/ChangeLog.10 2011-12-04 08:02:42 +0000 @@ -516,7 +516,7 @@ * w32fns.c (current_popup_menu): Use from w32menu.c. (w32_wnd_proc) : Use menubar_active and current_popup_menu to determine whether a menubar menu has - been cancelled. + been canceled. * w32term.h (w32_output): Remove menu_command_in_progress. === modified file 'src/ChangeLog.11' --- src/ChangeLog.11 2011-11-27 04:43:11 +0000 +++ src/ChangeLog.11 2011-12-04 08:02:42 +0000 @@ -23182,7 +23182,7 @@ * font.c (font_prop_validate_symbol, font_prop_validate_style) (font_prop_validate_non_neg, font_prop_validate_spacing): Delete argument prop_index. - (font_property_table): Change arguments to validater. Change Callers. + (font_property_table): Change arguments to validator. Change Callers. (font_lispy_object): Delete. (font_at): Use font_find_object instead fo font_lispy_object. === modified file 'src/ChangeLog.2' --- src/ChangeLog.2 2011-11-20 02:29:42 +0000 +++ src/ChangeLog.2 2011-12-04 08:02:42 +0000 @@ -1811,7 +1811,7 @@ 1987-03-13 Richard M. Stallman (rms@prep) * sysdep.c: Don't redefine TCSETAW if already defined. - (Cancelled by change on March 17). + (Canceled by change on March 17). * sunfns.c: New file containing interface to Sun windows. This is enabled by the switch HAVE_SUN_WINDOWS. === modified file 'src/ChangeLog.8' --- src/ChangeLog.8 2011-11-27 04:43:11 +0000 +++ src/ChangeLog.8 2011-12-04 08:02:42 +0000 @@ -12583,7 +12583,7 @@ quit_char is typed, in order to break out of potential deadlocks. (cancel_all_deferred_msgs): New function. (complete_deferred_msg): Don't abort if msg not found; may have - been cancelled. + been canceled. (Fw32_reconstruct_hot_key): Use pre-interned symbols. (Fw32_send_sys_command): Wait for system command to complete before returning. @@ -13701,7 +13701,7 @@ * ccl.c (CCL_WRITE_CHAR): Don't use bcopy. (ccl_driver): If BUFFER-MAGNIFICATION of the CCL program is 0, cause error if the program is going to output some bytes. When - outputing a string to notify an error, check the case that + outputting a string to notify an error, check the case that DST_BYTES is zero. * coding.h (CODING_FINISH_INTERRUPT): New macro. === modified file 'src/ccl.c' --- src/ccl.c 2011-11-25 07:14:48 +0000 +++ src/ccl.c 2011-12-04 08:02:42 +0000 @@ -552,7 +552,7 @@ But, when VALm is mapped to VALn and VALn is not a number, the mapping proceed as below: - If VALn is nil, the lastest map is ignored and the mapping of VALm + If VALn is nil, the last map is ignored and the mapping of VALm proceed to the next map. In VALn is t, VALm is reverted to reg[rrr] and the mapping of VALm === modified file 'src/cm.h' --- src/cm.h 2011-11-25 07:14:48 +0000 +++ src/cm.h 2011-12-04 08:02:42 +0000 @@ -16,7 +16,7 @@ You should have received a copy of the GNU General Public License along with GNU Emacs. If not, see . */ -/* Holds the minimum and maximum costs for the parametrized capabilities. */ +/* Holds the minimum and maximum costs for the parameterized capabilities. */ struct parmcap { int mincost, maxcost; @@ -79,7 +79,7 @@ struct parmcap cc_multiright; /* multiple right (RI) */ #endif - /* Costs for the non-parametrized capabilities */ + /* Costs for the non-parameterized capabilities */ int cc_up; /* cost for up */ int cc_down; /* etc. */ int cc_left; === modified file 'src/emacsgtkfixed.c' --- src/emacsgtkfixed.c 2011-09-09 01:06:52 +0000 +++ src/emacsgtkfixed.c 2011-12-04 08:02:42 +0000 @@ -1,4 +1,4 @@ -/* A Gtk Widget that inherits GtkFixed, but can be shrinked. +/* A Gtk Widget that inherits GtkFixed, but can be shrunk. This file is only use when compiling with Gtk+ 3. Copyright (C) 2011 Free Software Foundation, Inc. === modified file 'src/emacsgtkfixed.h' --- src/emacsgtkfixed.h 2011-06-26 18:47:07 +0000 +++ src/emacsgtkfixed.h 2011-12-04 08:02:42 +0000 @@ -1,4 +1,4 @@ -/* A Gtk Widget that inherits GtkFixed, but can be shrinked. +/* A Gtk Widget that inherits GtkFixed, but can be shrunk. This file is only use when compiling with Gtk+ 3. Copyright (C) 2011 Free Software Foundation, Inc. === modified file 'src/eval.c' --- src/eval.c 2011-09-16 14:14:48 +0000 +++ src/eval.c 2011-12-04 08:02:42 +0000 @@ -3733,7 +3733,7 @@ A value of `(t)' indicates an empty environment, otherwise it is an alist of active lexical bindings. */); Vinternal_interpreter_environment = Qnil; - /* Don't export this variable to Elisp, so noone can mess with it + /* Don't export this variable to Elisp, so no one can mess with it (Just imagine if someone makes it buffer-local). */ Funintern (Qinternal_interpreter_environment, Qnil); === modified file 'src/font.c' --- src/font.c 2011-11-23 07:09:27 +0000 +++ src/font.c 2011-12-04 08:02:42 +0000 @@ -614,7 +614,7 @@ /* Function to validate PROP's value VAL, or NULL if any value is ok. The value is VAL or its regularized value if VAL is valid, and Qerror if not. */ - Lisp_Object (*validater) (Lisp_Object prop, Lisp_Object val); + Lisp_Object (*validator) (Lisp_Object prop, Lisp_Object val); } font_property_table[] = { { &QCtype, font_prop_validate_symbol }, { &QCfoundry, font_prop_validate_symbol }, @@ -672,7 +672,7 @@ if (idx < 0) return val; } - validated = (font_property_table[idx].validater) (prop, val); + validated = (font_property_table[idx].validator) (prop, val); if (EQ (validated, Qerror)) signal_error ("invalid font property", Fcons (prop, val)); return validated; @@ -825,7 +825,7 @@ range_mask = (range_mask << 1) | 1; /* The triplet RANGE_FROM, RANGE_TO, and RANGE_MASK is a - position-based retriction for FIELD[I]. */ + position-based restriction for FIELD[I]. */ for (i = 0, range_from = 0, range_to = 14 - n; i < n; i++, range_from++, range_to++, range_mask <<= 1) { @@ -842,7 +842,7 @@ else { /* The triplet FROM, TO, and MASK is a value-based - retriction for FIELD[I]. */ + restriction for FIELD[I]. */ int from, to; unsigned mask; === modified file 'src/fontset.c' --- src/fontset.c 2011-11-23 07:03:56 +0000 +++ src/fontset.c 2011-12-04 08:02:42 +0000 @@ -166,7 +166,7 @@ These structures are hidden from the other codes than this file. The other codes handle fontsets only by their ID numbers. They usually use the variable name `fontset' for IDs. But, in this - file, we always use varialbe name `id' for IDs, and name `fontset' + file, we always use variable name `id' for IDs, and name `fontset' for an actual fontset object, i.e., char-table. */ === modified file 'src/frame.c' --- src/frame.c 2011-11-20 03:48:53 +0000 +++ src/frame.c 2011-12-04 08:02:42 +0000 @@ -1929,7 +1929,7 @@ FOCUS-FRAME after reading an event typed at FRAME. If FOCUS-FRAME is omitted or nil, any existing redirection is -cancelled, and the frame again receives its own keystrokes. +canceled, and the frame again receives its own keystrokes. Focus redirection is useful for temporarily redirecting keystrokes to a surrogate minibuffer frame when a frame doesn't have its own === modified file 'src/keyboard.c' --- src/keyboard.c 2011-12-01 18:27:52 +0000 +++ src/keyboard.c 2011-12-04 08:02:42 +0000 @@ -12245,7 +12245,7 @@ DEFVAR_LISP ("debug-on-event", Vdebug_on_event, doc: /* Enter debugger on this event. When Emacs -receives the special event specifed by this variable, it will try to +receives the special event specified by this variable, it will try to break into the debugger as soon as possible instead of processing the event normally through `special-event-map'. === modified file 'src/sysdep.c' --- src/sysdep.c 2011-11-20 07:30:16 +0000 +++ src/sysdep.c 2011-12-04 08:02:42 +0000 @@ -433,7 +433,7 @@ #endif /* AIX */ /* We originally enabled ICANON (and set VEOF to 04), and then had - proces.c send additional EOF chars to flush the output when faced + process.c send additional EOF chars to flush the output when faced with long lines, but this leads to weird effects when the subprocess has disabled ICANON and ends up seeing those spurious extra EOFs. So we don't send EOFs any more in === modified file 'src/w32fns.c' --- src/w32fns.c 2011-11-27 04:43:11 +0000 +++ src/w32fns.c 2011-12-04 08:02:42 +0000 @@ -2417,7 +2417,7 @@ deferred_msg * msg_buf = find_deferred_msg (hwnd, msg); if (msg_buf == NULL) - /* Message may have been cancelled, so don't abort. */ + /* Message may have been canceled, so don't abort. */ return; msg_buf->result = result; @@ -2538,7 +2538,7 @@ the lisp thread to respond. Note that we don't want to block the input thread waiting for - a reponse from the lisp thread (although that would at least + a response from the lisp thread (although that would at least solve the deadlock problem above), because we want to be able to receive C-g to interrupt the lisp thread. */ cancel_all_deferred_msgs (); @@ -3749,7 +3749,7 @@ flags |= TPM_RIGHTBUTTON; /* Remember we did a SetCapture on the initial mouse down event, - so for safety, we make sure the capture is cancelled now. */ + so for safety, we make sure the capture is canceled now. */ ReleaseCapture (); button_state = 0; @@ -4951,7 +4951,7 @@ Otherwise TYPE is the name of the atom that denotes the type expected. If SOURCE is non-nil, get the property on that window instead of from FRAME. The number 0 denotes the root window. -If DELETE_P is non-nil, delete the property after retreiving it. +If DELETE_P is non-nil, delete the property after retrieving it. If VECTOR_RET_P is non-nil, don't return a string but a vector of values. Value is nil if FRAME hasn't a property with name PROP or if PROP has @@ -6032,7 +6032,7 @@ file = DECODE_FILE (build_string (filename)); } - /* User cancelled the dialog without making a selection. */ + /* User canceled the dialog without making a selection. */ else if (!CommDlgExtendedError ()) file = Qnil; /* An error occurred, fallback on reading from the mini-buffer. */ === modified file 'src/w32term.h' --- src/w32term.h 2011-11-23 07:03:56 +0000 +++ src/w32term.h 2011-12-04 08:02:42 +0000 @@ -229,7 +229,7 @@ { /* Values for focus_state, used as bit mask. EXPLICIT means we received a FocusIn for the frame and know it has - the focus. IMPLICIT means we recevied an EnterNotify and the frame + the focus. IMPLICIT means we received an EnterNotify and the frame may have the focus if no window manager is running. FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */ FOCUS_NONE = 0, === modified file 'src/window.c' --- src/window.c 2011-11-27 04:43:11 +0000 +++ src/window.c 2011-12-04 08:02:42 +0000 @@ -5767,7 +5767,7 @@ /* Return a pointer to the glyph W's physical cursor is on. Value is - null if W's current matrix is invalid, so that no meaningfull glyph + null if W's current matrix is invalid, so that no meaningful glyph can be returned. */ struct glyph * get_phys_cursor_glyph (struct window *w) === modified file 'src/window.h' --- src/window.h 2011-11-20 02:29:42 +0000 +++ src/window.h 2011-12-04 08:02:42 +0000 @@ -877,7 +877,7 @@ extern void check_frame_size (struct frame *frame, int *rows, int *cols); /* Return a pointer to the glyph W's physical cursor is on. Value is - null if W's current matrix is invalid, so that no meaningfull glyph + null if W's current matrix is invalid, so that no meaningful glyph can be returned. */ struct glyph *get_phys_cursor_glyph (struct window *w); === modified file 'src/xdisp.c' --- src/xdisp.c 2011-12-03 09:55:27 +0000 +++ src/xdisp.c 2011-12-04 08:02:42 +0000 @@ -10234,7 +10234,7 @@ } -/* Push the current message on Vmessage_stack for later restauration +/* Push the current message on Vmessage_stack for later restoration by restore_message. Value is non-zero if the current message isn't empty. This is a relatively infrequent operation, so it's not worth optimizing. */ === modified file 'src/xfns.c' --- src/xfns.c 2011-11-28 08:20:58 +0000 +++ src/xfns.c 2011-12-04 08:02:42 +0000 @@ -4286,7 +4286,7 @@ Otherwise TYPE is the name of the atom that denotes the type expected. If SOURCE is non-nil, get the property on that window instead of from FRAME. The number 0 denotes the root window. -If DELETE_P is non-nil, delete the property after retreiving it. +If DELETE_P is non-nil, delete the property after retrieving it. If VECTOR_RET_P is non-nil, don't return a string but a vector of values. Value is nil if FRAME hasn't a property with name PROP or if PROP has === modified file 'src/xterm.h' --- src/xterm.h 2011-11-29 18:08:53 +0000 +++ src/xterm.h 2011-12-04 08:02:42 +0000 @@ -643,7 +643,7 @@ { /* Values for focus_state, used as bit mask. EXPLICIT means we received a FocusIn for the frame and know it has - the focus. IMPLICIT means we recevied an EnterNotify and the frame + the focus. IMPLICIT means we received an EnterNotify and the frame may have the focus if no window manager is running. FocusOut and LeaveNotify clears EXPLICIT/IMPLICIT. */ FOCUS_NONE = 0, === modified file 'test/cedet/tests/test.el' --- test/cedet/tests/test.el 2011-01-25 04:08:28 +0000 +++ test/cedet/tests/test.el 2011-12-04 08:02:42 +0000 @@ -144,7 +144,7 @@ this that) -(define-mode-local-override a-overriden-function +(define-mode-local-override a-overridden-function emacs-lisp-mode (tag) "A function that is overloaded." nil) ------------------------------------------------------------ revno: 106600 committer: Chong Yidong branch nick: trunk timestamp: Sun 2011-12-04 13:55:36 +0800 message: More updates to Text chapter of Emacs manual. * text.texi (Nroff Mode): Mention what nroff is. (Text Based Tables, Table Recognition): Don't say "Table mode" since it's not a major or minor mode. (Text Based Tables): Reduce the size of the example. (Table Definition): Clarify definitions. (Table Creation): Add key table. (Cell Commands): Use kbd for commands. (Table Rows and Columns): Combine nodes Row Commands and Column Commands. (Fixed Width Mode): Node deleted; contents moved to parent. (Table Conversion): Shorten example. (Measuring Tables): Merge into Table Misc. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2011-12-03 16:17:29 +0000 +++ doc/emacs/ChangeLog 2011-12-04 05:55:36 +0000 @@ -1,3 +1,18 @@ +2011-12-04 Chong Yidong + + * text.texi (Nroff Mode): Mention what nroff is. + (Text Based Tables, Table Recognition): Don't say "Table mode" + since it's not a major or minor mode. + (Text Based Tables): Reduce the size of the example. + (Table Definition): Clarify definitions. + (Table Creation): Add key table. + (Cell Commands): Use kbd for commands. + (Table Rows and Columns): Combine nodes Row Commands and Column + Commands. + (Fixed Width Mode): Node deleted; contents moved to parent. + (Table Conversion): Shorten example. + (Measuring Tables): Merge into Table Misc. + 2011-12-03 Chong Yidong * text.texi (TeX Mode): Mention AUCTeX package. === modified file 'doc/emacs/emacs.texi' --- doc/emacs/emacs.texi 2011-12-03 16:17:29 +0000 +++ doc/emacs/emacs.texi 2011-12-04 05:55:36 +0000 @@ -39,7 +39,7 @@ @c in general, keep the following line commented out, unless doing a @c copy of this manual that will be published. The manual should go @c onto the distribution in the full, 8.5 x 11" size. -@c @smallbook +@smallbook @ifset smallbook @smallbook @@ -602,11 +602,8 @@ * Table Recognition:: How to activate and deactivate tables. * Cell Commands:: Cell-oriented commands in a table. * Cell Justification:: Justifying cell contents. -* Row Commands:: Manipulating rows of table cell. -* Column Commands:: Manipulating columns of table cell. -* Fixed Width Mode:: Fixing cell width. +* Table Rows and Columns:: Inserting and deleting rows and columns. * Table Conversion:: Converting between plain text and tables. -* Measuring Tables:: Analyzing table dimension. * Table Misc:: Table miscellany. Editing Programs === modified file 'doc/emacs/text.texi' --- doc/emacs/text.texi 2011-12-03 16:17:29 +0000 +++ doc/emacs/text.texi 2011-12-04 05:55:36 +0000 @@ -1298,8 +1298,8 @@ @code{bibtex-mode}. @item -The Ref@TeX{} package provides a minor mode which can be used in -conjunction with La@TeX{} mode to manage bibliographic references. +The Ref@TeX{} package provides a minor mode which can be used with +La@TeX{} mode to manage bibliographic references. @ifinfo @xref{Top,The Ref@TeX{} Manual,,reftex}. @end ifinfo @@ -1781,13 +1781,16 @@ @cindex nroff @findex nroff-mode - Nroff mode is a mode like Text mode but modified to handle nroff commands -present in the text. Invoke @kbd{M-x nroff-mode} to enter this mode. It -differs from Text mode in only a few ways. All nroff command lines are -considered paragraph separators, so that filling will never garble the -nroff commands. Pages are separated by @samp{.bp} commands. Comments -start with backslash-doublequote. Also, three special commands are -provided that are not in Text mode: +@vindex nroff-mode-hook + Nroff mode is a major mode derived from Text mode, which is +specialized for editing nroff files (e.g.@: Unix man pages). Type +@kbd{M-x nroff-mode} to enter this mode. Entering Nroff mode runs the +hook @code{text-mode-hook}, followed by @code{nroff-mode-hook} +(@pxref{Hooks}). + + In Nroff mode, nroff command lines are treated as paragraph +separators, pages are separated by @samp{.bp} commands, and comments +start with backslash-doublequote. It also defines these commands: @findex forward-text-line @findex backward-text-line @@ -1807,23 +1810,16 @@ @end table @findex electric-nroff-mode - The other feature of Nroff mode is that you can turn on Electric Nroff -mode. This is a minor mode that you can turn on or off with @kbd{M-x + Electric Nroff mode is a buffer-local minor mode that can be used +with Nroff mode. To toggle this minor mode, type @kbd{M-x electric-nroff-mode} (@pxref{Minor Modes}). When the mode is on, each -time you use @key{RET} to end a line that contains an nroff command that -opens a kind of grouping, the matching nroff command to close that -grouping is automatically inserted on the following line. For example, -if you are at the beginning of a line and type @kbd{.@: ( b @key{RET}}, -this inserts the matching command @samp{.)b} on a new line following -point. - - If you use Outline minor mode with Nroff mode (@pxref{Outline Mode}), -heading lines are lines of the form @samp{.H} followed by a number (the -header level). - -@vindex nroff-mode-hook - Entering Nroff mode runs the hook @code{text-mode-hook}, followed by -the hook @code{nroff-mode-hook} (@pxref{Hooks}). +time you type @key{RET} to end a line containing an nroff command that +opens a kind of grouping, the nroff command to close that grouping is +automatically inserted on the following line. + + If you use Outline minor mode with Nroff mode (@pxref{Outline +Mode}), heading lines are lines of the form @samp{.H} followed by a +number (the header level). @node Enriched Text @section Enriched Text @@ -2149,18 +2145,16 @@ within the text). The @samp{Remove Special} menu item removes all of these special properties from the text in the region. - The @code{invisible} and @code{intangible} properties are @emph{not} -saved in the text/enriched format. The @code{read-only} property is -saved, but it is not a standard part of the text/enriched format, so -other editors may not respect it. + The @code{invisible} and @code{intangible} properties are not saved +in the @samp{text/enriched} format. @node Text Based Tables @section Editing Text-based Tables @cindex table mode @cindex text-based tables - Table mode provides an easy and intuitive way to create and edit -text-based tables. Here is an example of such a table: + The @code{table} package provides commands to easily edit text-based +tables. Here is an example of what such a table looks like: @smallexample @group @@ -2170,27 +2164,23 @@ | forward-char |Move point right N characters | C-f | | |(left if N is negative). | | | | | | -| |On reaching end of buffer, stop | | -| |and signal error. | | +-----------------+--------------------------------+-----------------+ | backward-char |Move point left N characters | C-b | | |(right if N is negative). | | | | | | -| |On attempt to pass beginning or | | -| |end of buffer, stop and signal | | -| |error. | | +-----------------+--------------------------------+-----------------+ @end group @end smallexample - Table mode allows the contents of the table such as this one to be -easily manipulated by inserting or deleting characters inside a cell. -A cell is effectively a localized rectangular edit region and edits to -a cell do not affect the contents of the surrounding cells. If the -contents do not fit into a cell, then the cell is automatically -expanded in the vertical and/or horizontal directions and the rest of -the table is restructured and reformatted in accordance with the -growth of the cell. + When Emacs recognizes such a stretch of text as a table +(@pxref{Table Recognition}), editing the contents of each table cell +will automatically resize the table, whenever the contents become too +large to fit in the cell. You can use the commands defined in the +following sections for navigating and editing the table layout. + +@findex table-fixed-width-mode + To toggle the automatic table resizing feature, type @kbd{M-x +table-fixed-width-mode}. @menu * Table Definition:: What is a text based table. @@ -2198,102 +2188,87 @@ * Table Recognition:: How to activate and deactivate tables. * Cell Commands:: Cell-oriented commands in a table. * Cell Justification:: Justifying cell contents. -* Row Commands:: Manipulating rows of table cell. -* Column Commands:: Manipulating columns of table cell. -* Fixed Width Mode:: Fixing cell width. +* Table Rows and Columns:: Inserting and deleting rows and columns. * Table Conversion:: Converting between plain text and tables. -* Measuring Tables:: Analyzing table dimension. * Table Misc:: Table miscellany. @end menu @node Table Definition @subsection What is a Text-based Table? - - Keep the following examples of valid tables in mind as a reference -while you read this section: - -@example - +--+----+---+ +-+ +--+-----+ - | | | | | | | | | - +--+----+---+ +-+ | +--+--+ - | | | | | | | | - +--+----+---+ +--+--+ | - | | | - +-----+--+ -@end example - - A table consists of a rectangular frame whose inside is divided into -cells. Each cell must be at least one character wide and one -character high, not counting its border lines. A cell can be -subdivided into multiple rectangular cells, but cells cannot overlap. - - The table frame and cell border lines are made of three special -characters. These variables specify those characters: +@cindex cells, for text-based tables + + A @dfn{table} consists of a rectangular text area which is divided +into @dfn{cells}. Each cell must be at least one character wide and +one character high, not counting its border lines. A cell can be +subdivided into more cells, but they cannot overlap. + + Cell border lines are drawn with three special characters, specified +by the following variables: @table @code @vindex table-cell-vertical-char @item table-cell-vertical-char -Holds the character used for vertical lines. The default value is -@samp{|}. +The character used for vertical lines. The default is @samp{|}. @vindex table-cell-horizontal-chars @item table-cell-horizontal-chars -Holds the characters used for horizontal lines. The default value is -@samp{"-="}. +The characters used for horizontal lines. The default is @samp{"-="}. @vindex table-cell-intersection-char @item table-cell-intersection-char -Holds the character used at where horizontal line and vertical line -meet. The default value is @samp{+}. +The character used for the intersection of horizontal and vertical +lines. The default is @samp{+}. @end table @noindent -Based on this definition, the following five tables are examples of invalid -tables: +The following are examples of @emph{invalid} tables: @example - +-----+ +-----+ +--+ +-++--+ ++ - | | | | | | | || | ++ - | +-+ | | | | | | || | - | | | | +--+ | +--+--+ +-++--+ - | +-+ | | | | | | | +-++--+ - | | | | | | | | | || | - +-----+ +--+--+ +--+--+ +-++--+ - a b c d e + +-----+ +--+ +-++--+ + | | | | | || | + | | | | | || | + +--+ | +--+--+ +-++--+ + | | | | | | +-++--+ + | | | | | | | || | + +--+--+ +--+--+ +-++--+ + a b c @end example +@noindent From left to right: @enumerate a @item Overlapped cells or non-rectangular cells are not allowed. @item -Same as a. -@item The border must be rectangular. @item Cells must have a minimum width/height of one character. -@item -Same as d. @end enumerate @node Table Creation -@subsection How to Create a Table? +@subsection Creating a Table @cindex create a text-based table @cindex table creation @findex table-insert - The command to create a table is @code{table-insert}. When called -interactively, it asks for the number of columns, number of rows, cell -width and cell height. The number of columns is the number of cells -horizontally side by side. The number of rows is the number of cells -vertically within the table's height. The cell width is a number of -characters that each cell holds, left to right. The cell height is a -number of lines each cell holds. The cell width and the cell height -can be either an integer (when the value is constant across the table) -or a series of integer, separated by spaces or commas, where each -number corresponds to the next cell within a row from left to right, -or the next cell within a column from top to bottom. + To create a text-based table from scratch, type @kbd{M-x +table-insert}. This command prompts for the number of table columns, +the number of table rows, cell width and cell height. The cell width +and cell height do not include the cell borders; each can be specified +as a single integer (which means each cell is given the same +width/height), or as a sequence of integers separated by spaces or +commas (which specify the width/height of the individual table +columns/rows, counting from left to right for table columns and from +top to bottom for table rows). The specified table is then inserted +at point. + + The table inserted by @kbd{M-x table-insert} contains special text +properties, which tell Emacs to treat it specially as a text-based +table. If you save the buffer to a file and visit it again later, +those properties are lost, and the table appears to Emacs as an +ordinary piece of text. See the next section, for how to convert it +back into a table. @node Table Recognition @subsection Table Recognition @@ -2301,103 +2276,97 @@ @findex table-recognize @findex table-unrecognize - Table mode maintains special text properties in the buffer to allow -editing in a convenient fashion. When a buffer with tables is saved -to its file, these text properties are lost, so when you visit this -file again later, Emacs does not see a table, but just formatted text. -To resurrect the table text properties, issue the @kbd{M-x -table-recognize} command. It scans the current buffer, recognizes -valid table cells, and attaches appropriate text properties to allow -for table editing. The converse command, @code{table-unrecognize}, is -used to remove the special text properties and convert the buffer back -to plain text. + Existing text-based tables in a buffer, which lack the special text +properties applied by @kbd{M-x table-insert}, are not treated +specially as tables. To apply those text properties, type @kbd{M-x +table-recognize}. This command scans the current buffer, +@dfn{recognizes} valid table cells, and applies the relevant text +properties. Conversely, type @kbd{M-x table-unrecognize} to +@dfn{unrecognize} all tables in the current buffer, removing the +special text properties and converting tables back to plain text. - Special commands exist to enable or disable tables within a region, -enable or disable individual tables, and enable/disable individual -cells. These commands are: + You can also use the following commands to selectively recognize or +unrecognize tables: @table @kbd @findex table-recognize-region @item M-x table-recognize-region -Recognize tables within the current region and activate them. +Recognize tables within the current region. + @findex table-unrecognize-region @item M-x table-unrecognize-region -Deactivate tables within the current region. +Unrecognize tables within the current region. + @findex table-recognize-table @item M-x table-recognize-table Recognize the table at point and activate it. + @findex table-unrecognize-table @item M-x table-unrecognize-table Deactivate the table at point. + @findex table-recognize-cell @item M-x table-recognize-cell Recognize the cell at point and activate it. + @findex table-unrecognize-cell @item M-x table-unrecognize-cell Deactivate the cell at point. @end table - For another way of converting text into tables, see @ref{Table -Conversion}. + @xref{Table Conversion}, for another way to recognize a table. @node Cell Commands @subsection Commands for Table Cells @findex table-forward-cell @findex table-backward-cell - The commands @code{table-forward-cell} and -@code{table-backward-cell} move point from the current cell to an -adjacent cell forward and backward respectively. The order of the -cells is cyclic: when point is in the last cell of a table, typing -@kbd{M-x table-forward-cell} moves to the first cell in the table. -Likewise @kbd{M-x table-backward-cell} from the first cell in a table -moves to the last cell. + The commands @kbd{M-x table-forward-cell} and @kbd{M-x +table-backward-cell} move point from the current cell to an adjacent +cell. The order is cyclic: when point is in the last cell of a table, +@kbd{M-x table-forward-cell} moves to the first cell. Likewise, when +point is on the first cell, @kbd{M-x table-backward-cell} moves to the +last cell. @findex table-span-cell - The command @code{table-span-cell} merges the current cell with the -adjacent cell in a specified direction---right, left, above or below. -You specify the direction with the minibuffer. It does not allow -merges which don't result in a legitimate cell layout. + @kbd{M-x table-span-cell} prompts for a direction---right, left, +above, or below---and merges the current cell with the adjacent cell +in that direction. This command signals an error if the merge would +result in an illegitimate cell layout. @findex table-split-cell -@cindex text-based tables, split a cell -@cindex split table cell - The command @code{table-split-cell} splits the current cell -vertically or horizontally. This command is a wrapper to the -direction specific commands @code{table-split-cell-vertically} and -@code{table-split-cell-horizontally}. You specify the direction with -a minibuffer argument. - @findex table-split-cell-vertically - The command @code{table-split-cell-vertically} splits the current -cell vertically and creates a pair of cells above and below where -point is located. The content in the original cell is split as well. - @findex table-split-cell-horizontally - The command @code{table-split-cell-horizontally} splits the current -cell horizontally and creates a pair of cells right and left of where -point is located. If the cell being split is not empty, this asks you -how to handle the cell contents. The three options are: @code{split}, -@code{left}, or @code{right}. @code{split} splits the contents at -point literally, while the @code{left} and @code{right} options move -the entire contents into the left or right cell respectively. +@cindex text-based tables, splitting cells +@cindex splitting table cells + @kbd{M-x table-split-cell} splits the current cell vertically or +horizontally, prompting for the direction with the minibuffer. The +commands @kbd{M-x table-split-cell-vertically} and @kbd{M-x +table-split-cell-horizontally} split in a specific direction. When +splitting vertically, the old cell contents are automatically split +between the two new cells. When splitting horizontally, you are +prompted for how to divide the cell contents, if the cell is +non-empty; the options are @samp{split} (divide the contents at +point), @samp{left} (put all the contents in the left cell), and +@samp{right} (put all the contents in the right cell). -@cindex enlarge a table cell -@cindex shrink a table cell - The next four commands enlarge or shrink a cell. They use numeric -arguments (@pxref{Arguments}) to specify how many columns or rows to -enlarge or shrink a particular table. + The following commands enlarge or shrink a cell. By default, they +resize by one row or column; if a numeric argument is supplied, that +specifies the number of rows or columns to resize by. @table @kbd @findex table-heighten-cell @item M-x table-heighten-cell Enlarge the current cell vertically. + @findex table-shorten-cell @item M-x table-shorten-cell Shrink the current cell vertically. + @findex table-widen-cell @item M-x table-widen-cell Enlarge the current cell horizontally. + @findex table-narrow-cell @item M-x table-narrow-cell Shrink the current cell horizontally. @@ -2405,107 +2374,76 @@ @node Cell Justification @subsection Cell Justification -@cindex cell text justification +@cindex justification in text-based tables - You can specify text justification for each cell. The justification -is remembered independently for each cell and the subsequent editing -of cell contents is subject to the specified justification. + The command @kbd{M-x table-justify} imposes @dfn{justification} on +one or more cells in a text-based table. Justification determines how +the text in the cell is aligned, relative to the edges of the cell. +Each cell in a table can be separately justified. @findex table-justify - The command @code{table-justify} ask you to specify what to justify: -a cell, a column, or a row. If you select cell justification, this -command sets the justification only for the current cell. Selecting -column or row justification sets the justification for all the cells -within a column or row respectively. The command then ask you which -kind of justification to apply: @code{left}, @code{center}, -@code{right}, @code{top}, @code{middle}, @code{bottom}, or -@code{none}. Horizontal justification and vertical justification are -specified independently. The options @code{left}, @code{center}, and -@code{right} specify horizontal justification while the options -@code{top}, @code{middle}, @code{bottom}, and @code{none} specify -vertical justification. The vertical justification @code{none} -effectively removes vertical justification. Horizontal justification -must be one of @code{left}, @code{center}, or @code{right}. + @kbd{M-x table-justify} first prompts for what to justify; the +options are @samp{cell} (just the current cell), @samp{column} (all +cells in the current table column) and @samp{row} (all cells in the +current table row). The command then prompts for the justification +style; the options are @code{left}, @code{center}, @code{right}, +@code{top}, @code{middle}, @code{bottom}, or @code{none} (meaning no +vertical justification). + + Horizontal and vertical justification styles are specified +independently, and both types can be in effect simultaneously; for +instance, you can call @kbd{M-x table-justify} twice, once to specify +@code{right} justification and once to specify @code{bottom} +justification, to align the contents of a cell to the bottom right. @vindex table-detect-cell-alignment - Justification information is stored in the buffer as a part of text -property. Therefore, this information is ephemeral and does not -survive through the loss of the buffer (closing the buffer and -revisiting the buffer erase any previous text properties). To -countermand for this, the command @code{table-recognize} and other -recognition commands (@pxref{Table Recognition}) are equipped with a -convenience feature (turned on by default). During table recognition, -the contents of a cell are examined to determine which justification -was originally applied to the cell and then applies this justification -to the cell. This is a speculative algorithm and is therefore not -perfect, however, the justification is deduced correctly most of the -time. To disable this feature, customize the variable -@code{table-detect-cell-alignment} and set it to @code{nil}. - -@node Row Commands -@subsection Commands for Table Rows -@cindex table row commands - -@cindex insert row in table + The justification style is stored in the buffer as a text property, +and is lost when you kill the buffer or exit Emacs. However, the +table recognition commands, such as @kbd{M-x table-recognize} +(@pxref{Table Recognition}), attempt to determine and re-apply each +cell's justification style, by examining its contents. To disable +this feature, change the variable @code{table-detect-cell-alignment} +to @code{nil}. + +@node Table Rows and Columns +@subsection Table Rows and Columns +@cindex inserting rows and columns in text-based tables + @findex table-insert-row - The command @code{table-insert-row} inserts a row of cells before -the current row in a table. The current row where point is located is -pushed down after the newly inserted row. A numeric prefix argument -specifies the number of rows to insert. Note that in order to insert -rows @emph{after} the last row at the bottom of a table, you must -place point below the table---that is, outside the table---prior to -invoking this command. - -@cindex delete row in table -@findex table-delete-row - The command @code{table-delete-row} deletes a row of cells at point. -A numeric prefix argument specifies the number of rows to delete. - -@node Column Commands -@subsection Commands for Table Columns -@cindex table column commands - -@cindex insert column in table + @kbd{M-x table-insert-row} inserts a row of cells before the current +table row. The current row, together with point, is pushed down past +the new row. To insert rows after the last row at the bottom of a +table, invoke this command with point below the table, just below the +bottom edge. A numeric prefix argument specifies the number of rows +to insert. + @findex table-insert-column - The command @code{table-insert-column} inserts a column of cells to -the left of the current row in a table. This pushes the current -column to the right. To insert a column to the right side of the -rightmost column, place point to the right of the rightmost column, -which is outside of the table, prior to invoking this command. A -numeric prefix argument specifies the number of columns to insert. - -@cindex delete column in table - A command @code{table-delete-column} deletes a column of cells at -point. A numeric prefix argument specifies the number of columns to -delete. - -@node Fixed Width Mode -@subsection Fix Width of Cells -@cindex fix width of table cells - -@findex table-fixed-width-mode - The command @code{table-fixed-width-mode} toggles fixed width mode -on and off. When fixed width mode is turned on, editing inside a -cell never changes the cell width; when it is off, the cell width -expands automatically in order to prevent a word from being folded -into multiple lines. By default, fixed width mode is disabled. + Similarly, @kbd{M-x table-insert-column} inserts a column of cells +to the left of the current table column. To insert a column to the +right side of the rightmost column, invoke this command with point to +the right of the rightmost column, outside the table. A numeric +prefix argument specifies the number of columns to insert. + +@cindex deleting rows and column in text-based tables + @kbd{M-x table-delete-column} deletes the column of cells at point. +Similarly, @kbd{M-x table-delete-row} deletes the row of cells at +point. A numeric prefix argument to either command specifies the +number of columns or rows to delete. @node Table Conversion -@subsection Conversion Between Plain Text and Tables +@subsection Converting Between Plain Text and Tables @cindex text to table @cindex table to text @findex table-capture - The command @code{table-capture} captures plain text in a region and -turns it into a table. Unlike @code{table-recognize} (@pxref{Table -Recognition}), the original text does not have a table appearance but -may hold a logical table structure. For example, some elements -separated by known patterns form a two dimensional structure which can -be turned into a table. + The command @kbd{M-x table-capture} captures plain text in a region +and turns it into a table. Unlike @kbd{M-x table-recognize} +(@pxref{Table Recognition}), the original text does not need to have a +table appearance; it only needs to have a logical table-like +structure. - Here's an example of data that @code{table-capture} can operate on. -The numbers are horizontally separated by a comma and vertically -separated by a newline character. + For example, suppose we have the following numbers, which are +divided into three lines and separated horizontally by commas: @example 1, 2, 3, 4 @@ -2526,136 +2464,92 @@ +-----+-----+-----+-----+ @end example -@noindent -The conversion uses @samp{,} for the column delimiter and newline for -a row delimiter, cells are left justified, and minimum cell width is -5. - @findex table-release - The command @code{table-release} does the opposite of -@code{table-capture}. It releases a table by removing the table frame -and cell borders. This leaves the table contents as plain text. One -of the useful applications of @code{table-capture} and -@code{table-release} is to edit a text in layout. Look at the -following three paragraphs (the latter two are indented with header -lines): + @kbd{M-x table-release} does the opposite: it converts a table back +to plain text, removing its cell borders. + + One application of this pair of commands is to edit a text in +layout. Look at the following three paragraphs (the latter two are +indented with header lines): @example table-capture is a powerful command. Here are some things it can do: -Parse Cell Items By using column delimiter regular - expression and raw delimiter regular - expression, it parses the specified text - area and extracts cell items from - non-table text and then forms a table out - of them. - -Capture Text Area When no delimiters are specified it - creates a single cell table. The text in - the specified region is placed in that - cell. +Parse Cell Items Using row and column delimiter regexps, + it parses the specified text area and + extracts cell items into a table. @end example @noindent -Applying @code{table-capture} to a region containing the above three -paragraphs, with empty strings for column delimiter regexp and row -delimiter regexp, creates a table with a single cell like the -following one. +Applying @code{table-capture} to a region containing the above text, +with empty strings for the column and row delimiter regexps, creates a +table with a single cell like the following one. -@c The first line's right-hand frame in the following two examples -@c sticks out to accommodate for the removal of @samp in the -@c produced output!! @smallexample @group -+-------------------------------------------------------------+ -|table-capture is a powerful command. | -|Here are some things it can do: | -| | -|Parse Cell Items By using column delimiter regular | -| expression and raw delimiter regular | -| expression, it parses the specified text | -| area and extracts cell items from | -| non-table text and then forms a table out | -| of them. | -| | -|Capture Text Area When no delimiters are specified it | -| creates a single cell table. The text in | -| the specified region is placed in that | -| cell. | -+-------------------------------------------------------------+ ++----------------------------------------------------------+ +|table-capture is a powerful command. | +|Here are some things it can do: | +| | +|Parse Cell Items Using row and column delimiter regexps,| +| it parses the specified text area and | +| extracts cell items into a table. | ++----------------------------------------------------------+ @end group @end smallexample @noindent -By splitting the cell appropriately we now have a table consisting of -paragraphs occupying its own cell. Each cell can now be edited -independently without affecting the layout of other cells. +We can then use the cell splitting commands (@pxref{Cell Commands}) to +subdivide the table so that each paragraph occupies a cell: @smallexample -+--------------------------------------------------------------+ -|table-capture is a powerful command. | -|Here are some things it can do: | -+------------------+-------------------------------------------+ -|Parse Cell Items |By using column delimiter regular | -| |expression and raw delimiter regular | -| |expression, it parses the specified text | -| |area and extracts cell items from | -| |non-table text and then forms a table out | -| |of them. | -+------------------+-------------------------------------------+ -|Capture Text Area |When no delimiters are specified it | -| |creates a single cell table. The text in | -| |the specified region is placed in that | -| |cell. | -+------------------+-------------------------------------------+ ++----------------------------------------------------------+ +|table-capture is a powerful command. | +|Here are some things it can do: | ++-----------------+----------------------------------------+ +|Parse Cell Items | Using row and column delimiter regexps,| +| | it parses the specified text area and | +| | extracts cell items into a table. | ++-----------------+----------------------------------------+ @end smallexample @noindent -By applying @code{table-release}, which does the opposite process, the -contents become once again plain text. @code{table-release} works as -a companion command to @code{table-capture}. - -@node Measuring Tables -@subsection Analyzing Table Dimensions +Each cell can now be edited independently without affecting the layout +of other cells. When finished, we can invoke @kbd{M-x table-release} +to convert the table back to plain text. + +@node Table Misc +@subsection Table Miscellany + @cindex table dimensions - @findex table-query-dimension - The command @code{table-query-dimension} analyzes a table structure -and reports information regarding its dimensions. In case of the -above example table, the @code{table-query-dimension} command displays -in echo area: + The command @code{table-query-dimension} reports the layout of the +table and table cell at point. Here is an example of its output: @smallexample Cell: (21w, 6h), Table: (67w, 16h), Dim: (2c, 3r), Total Cells: 5 @end smallexample @noindent -This indicates that the current cell is 21 character wide and 6 lines -high, the entire table is 67 characters wide and 16 lines high. The -table has 2 columns and 3 rows. It has a total of 5 cells, since the -first row has a spanned cell. - -@node Table Misc -@subsection Table Miscellany - -@cindex insert string into table cells +This indicates that the current cell is 21 characters wide and 6 lines +high, the table is 67 characters wide and 16 lines high with 2 columns +and 3 rows, and a total of 5 cells. + @findex table-insert-sequence - The command @code{table-insert-sequence} inserts a string into each -cell. Each string is a part of a sequence i.e.@: a series of -increasing integer numbers. + @kbd{M-x table-insert-sequence} inserts a string into each cell. +Each string is a part of a sequence i.e.@: a series of increasing +integer numbers. -@cindex table in language format @cindex table for HTML and LaTeX @findex table-generate-source - The command @code{table-generate-source} generates a table formatted -for a specific markup language. It asks for a language (which must be -one of @code{html}, @code{latex}, or @code{cals}), a destination -buffer where to put the result, and the table caption (a string), and -then inserts the generated table in the proper syntax into the -destination buffer. The default destination buffer is -@code{table.@var{lang}}, where @var{lang} is the language you -specified. + @kbd{M-x table-generate-source} generates a table formatted for a +specific markup language. It asks for a language (which must be one +of @code{html}, @code{latex}, or @code{cals}), a destination buffer in +which to put the result, and a table caption, and then inserts the +generated table into the specified buffer. The default destination +buffer is @code{table.@var{lang}}, where @var{lang} is the language +you specified. @node Two-Column @section Two-Column Editing @@ -2663,11 +2557,9 @@ @cindex splitting columns @cindex columns, splitting - Two-column mode lets you conveniently edit two side-by-side columns of -text. It uses two side-by-side windows, each showing its own -buffer. - - There are three ways to enter two-column mode: + Two-column mode lets you conveniently edit two side-by-side columns +of text. It uses two side-by-side windows, each showing its own +buffer. There are three ways to enter two-column mode: @table @asis @item @kbd{@key{F2} 2} or @kbd{C-x 6 2} ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.