Now on revision 108648. ------------------------------------------------------------ revno: 108648 committer: Paul Eggert branch nick: trunk timestamp: Sun 2012-06-17 23:58:00 -0700 message: Fix recently-introduced process.c problems found by static checking. * process.c (write_queue_push, write_queue_pop, send_process): Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets. (write_queue_pop): Fix pointer signedness problem. (send_process): Remove unused local. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-17 10:11:39 +0000 +++ src/ChangeLog 2012-06-18 06:58:00 +0000 @@ -1,3 +1,11 @@ +2012-06-18 Paul Eggert + + Fix recently-introduced process.c problems found by static checking. + * process.c (write_queue_push, write_queue_pop, send_process): + Use ptrdiff_t, not int or EMACS_INT, for buffer lengths and offsets. + (write_queue_pop): Fix pointer signedness problem. + (send_process): Remove unused local. + 2012-06-17 Chong Yidong * xdisp.c (redisplay_internal): No need to redisplay terminal === modified file 'src/process.c' --- src/process.c 2012-06-17 09:00:37 +0000 +++ src/process.c 2012-06-18 06:58:00 +0000 @@ -5393,9 +5393,9 @@ static void write_queue_push (struct Lisp_Process *p, Lisp_Object input_obj, - const char *buf, int len, int front) + const char *buf, ptrdiff_t len, int front) { - EMACS_INT offset; + ptrdiff_t offset; Lisp_Object entry, obj; if (STRINGP (input_obj)) @@ -5423,10 +5423,10 @@ static int write_queue_pop (struct Lisp_Process *p, Lisp_Object *obj, - const char **buf, EMACS_INT *len) + const char **buf, ptrdiff_t *len) { Lisp_Object entry, offset_length; - EMACS_INT offset; + ptrdiff_t offset; if (NILP (p->write_queue)) return 0; @@ -5439,7 +5439,7 @@ *len = XINT (XCDR (offset_length)); offset = XINT (XCAR (offset_length)); - *buf = SDATA (*obj) + offset; + *buf = SSDATA (*obj) + offset; return 1; } @@ -5584,7 +5584,7 @@ do /* while !NILP (p->write_queue) */ { - EMACS_INT cur_len = -1; + ptrdiff_t cur_len = -1; const char *cur_buf; Lisp_Object cur_object; @@ -5653,8 +5653,6 @@ that may allow the program to finish doing output and read more. */ { - ptrdiff_t offset = 0; - #ifdef BROKEN_PTY_READ_AFTER_EAGAIN /* A gross hack to work around a bug in FreeBSD. In the following sequence, read(2) returns @@ -5680,15 +5678,14 @@ } #endif /* BROKEN_PTY_READ_AFTER_EAGAIN */ - /* Put what we should have written in - wait_queue */ + /* Put what we should have written in wait_queue. */ write_queue_push (p, cur_object, cur_buf, cur_len, 1); #ifdef EMACS_HAS_USECS wait_reading_process_output (0, 20000, 0, 0, Qnil, NULL, 0); #else wait_reading_process_output (1, 0, 0, 0, Qnil, NULL, 0); #endif - /* reread queue, to see what is left */ + /* Reread queue, to see what is left. */ break; } else ------------------------------------------------------------ revno: 108647 committer: martin rudalics branch nick: trunk timestamp: Mon 2012-06-18 08:22:22 +0200 message: Completely remove stringp check in special-display-p. * window.el (special-display-p): Completely remove stringp check. Suggested by Andreas Schwab . diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-06-17 18:54:39 +0000 +++ lisp/ChangeLog 2012-06-18 06:22:22 +0000 @@ -1,3 +1,8 @@ +2012-06-18 Martin Rudalics + + * window.el (special-display-p): Completely remove stringp + check. Suggested by Andreas Schwab . + 2012-06-17 Michael Albinus * minibuffer.el (read-file-name-default): Bind `non-essential' to `t'. === modified file 'lisp/window.el' --- lisp/window.el 2012-06-17 10:43:50 +0000 +++ lisp/window.el 2012-06-18 06:22:22 +0000 @@ -4192,8 +4192,6 @@ entry." (let (tmp) (cond - ((not (stringp buffer-name)) - (error "Invalid buffer name %s" buffer-name)) ((member buffer-name special-display-buffer-names) t) ((setq tmp (assoc buffer-name special-display-buffer-names)) ------------------------------------------------------------ revno: 108646 committer: Michael Albinus branch nick: trunk timestamp: Sun 2012-06-17 20:54:39 +0200 message: * minibuffer.el (read-file-name-default): Bind `non-essential' to `t'. * net/tramp.el (tramp-file-name-handler): Catch 'non-essential. * net/ange-ftp.el (ange-ftp-gwp-start, ange-ftp-start-process): * net/tramp-sh.el (tramp-maybe-open-connection): Throw if `non-essential' is non-nil. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-06-17 18:52:31 +0000 +++ lisp/ChangeLog 2012-06-17 18:54:39 +0000 @@ -1,3 +1,13 @@ +2012-06-17 Michael Albinus + + * minibuffer.el (read-file-name-default): Bind `non-essential' to `t'. + + * net/tramp.el (tramp-file-name-handler): Catch 'non-essential. + + * net/ange-ftp.el (ange-ftp-gwp-start, ange-ftp-start-process): + * net/tramp-sh.el (tramp-maybe-open-connection): + Throw if `non-essential' is non-nil. + 2012-06-17 Martin Rudalics * window.el (special-display-p): Signal an error if BUFFER-NAME === modified file 'lisp/minibuffer.el' --- lisp/minibuffer.el 2012-05-16 01:57:20 +0000 +++ lisp/minibuffer.el 2012-06-17 18:54:39 +0000 @@ -2335,7 +2335,8 @@ (if (consp default-filename) (mapcar 'abbreviate-file-name default-filename) (abbreviate-file-name default-filename)))) - (let ((insdef (cond + (let ((non-essential t) + (insdef (cond ((and insert-default-directory (stringp dir)) (if initial (cons (minibuffer--double-dollars (concat dir initial)) === modified file 'lisp/net/ange-ftp.el' --- lisp/net/ange-ftp.el 2012-04-22 13:58:00 +0000 +++ lisp/net/ange-ftp.el 2012-06-17 18:54:39 +0000 @@ -1774,6 +1774,10 @@ (defun ange-ftp-gwp-start (host user name args) "Login to the gateway machine and fire up an FTP process." + ;; If `non-essential' is non-nil, don't reopen a new connection. It + ;; will be catched in Tramp. + (when non-essential + (throw 'non-essential 'non-essential)) (let (;; It would be nice to make process-connection-type nil, ;; but that doesn't work: ftp never responds. ;; Can anyone find a fix for that? @@ -1905,6 +1909,10 @@ "Spawn a new FTP process ready to connect to machine HOST and give it NAME. If HOST is only FTP-able through a gateway machine then spawn a shell on the gateway machine to do the FTP instead." + ;; If `non-essential' is non-nil, don't reopen a new connection. It + ;; will be catched in Tramp. + (when non-essential + (throw 'non-essential 'non-essential)) (let* ((use-gateway (ange-ftp-use-gateway-p host)) (use-smart-ftp (and (not ange-ftp-gateway-host) (ange-ftp-use-smart-gateway-p host))) === modified file 'lisp/net/tramp-sh.el' --- lisp/net/tramp-sh.el 2012-06-11 10:30:07 +0000 +++ lisp/net/tramp-sh.el 2012-06-17 18:54:39 +0000 @@ -4292,6 +4292,11 @@ ;; We call `tramp-get-buffer' in order to get a debug ;; buffer for messages from the beginning. (tramp-get-buffer vec) + + ;; If `non-essential' is non-nil, don't reopen a new connection. + (when non-essential + (throw 'non-essential 'non-essential)) + (tramp-with-progress-reporter vec 3 (if (zerop (length (tramp-file-name-user vec))) === modified file 'lisp/net/tramp.el' --- lisp/net/tramp.el 2012-06-17 08:53:31 +0000 +++ lisp/net/tramp.el 2012-06-17 18:54:39 +0000 @@ -1928,22 +1928,32 @@ (let ((default-directory (tramp-compat-temporary-file-directory))) (load (cadr sf) 'noerror 'nomessage))) + ;; If `non-essential' is non-nil, Tramp shall + ;; not open a new connection. ;; If Tramp detects that it shouldn't continue - ;; to work, it throws the `suppress' event. We - ;; try the default handler then. + ;; to work, it throws the `suppress' event. ;; This could happen for example, when Tramp ;; tries to open the same connection twice in a ;; short time frame. + ;; In both cases, we try the default handler then. (setq result - (catch 'suppress (apply foreign operation args))) - (if (eq result 'suppress) - (let (tramp-message-show-message) - (tramp-message - v 1 "Suppress received in operation %s" - (append (list operation) args)) - (tramp-cleanup v) - (tramp-run-real-handler operation args)) - result)) + (catch 'non-essential + (catch 'suppress + (apply foreign operation args)))) + (cond + ((eq result 'non-essential) + (tramp-message + v 5 "Non-essential received in operation %s" + (append (list operation) args)) + (tramp-run-real-handler operation args)) + ((eq result 'suppress) + (let (tramp-message-show-message) + (tramp-message + v 1 "Suppress received in operation %s" + (append (list operation) args)) + (tramp-cleanup v) + (tramp-run-real-handler operation args))) + (t result))) ;; Trace that somebody has interrupted the operation. ((debug quit) ------------------------------------------------------------ revno: 108645 committer: Glenn Morris branch nick: trunk timestamp: Sun 2012-06-17 11:52:31 -0700 message: ChangeLog date fixes diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-06-17 05:13:40 +0000 +++ doc/emacs/ChangeLog 2012-06-17 18:52:31 +0000 @@ -1,10 +1,6 @@ -2012-06-11 Chong Yidong - - * emacs.texi: Remove urlcolor setting. - -2012-06-10 Chong Yidong - - * emacs.texi: Update ISBN and edition number. +2012-06-17 Chong Yidong + + * emacs.texi: Remove urlcolor setting. Update ISBN and edition number. * anti.texi: * building.texi: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-06-17 10:43:50 +0000 +++ lisp/ChangeLog 2012-06-17 18:52:31 +0000 @@ -13,7 +13,7 @@ * term.el (term-emulate-terminal): If term-check-size is called, move point to the process mark without resetting point (Bug#4635). -2012-06-13 Glenn Morris +2012-06-17 Glenn Morris * international/mule-cmds.el (mule-menu-keymap) (set-language-environment, set-locale-environment): Doc tweaks. === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-06-17 05:13:40 +0000 +++ lisp/gnus/ChangeLog 2012-06-17 18:52:31 +0000 @@ -1,9 +1,9 @@ -2012-06-10 Toke Høiland-Jørgensen (tiny change) +2012-06-17 Toke Høiland-Jørgensen (tiny change) * nnmaildir.el (nnmaildir-request-expire-articles): Ensure that `time' is an integer to avoid later problems. -2012-06-10 Lars Magne Ingebrigtsen +2012-06-17 Lars Magne Ingebrigtsen * shr.el: Add a iso-8859-1 cookie to make stuff work under other locales. ------------------------------------------------------------ revno: 108644 committer: martin rudalics branch nick: trunk timestamp: Sun 2012-06-17 12:43:50 +0200 message: In special-display-p signal an error if BUFFER-NAME is not a string (Bug#11713). * window.el (special-display-p): Signal an error if BUFFER-NAME is not a string (Bug#11713). diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-06-17 08:53:31 +0000 +++ lisp/ChangeLog 2012-06-17 10:43:50 +0000 @@ -1,3 +1,8 @@ +2012-06-17 Martin Rudalics + + * window.el (special-display-p): Signal an error if BUFFER-NAME + is not a string (Bug#11713). + 2012-06-17 Paul Eggert * progmodes/python.el (python-info-beginning-of-backslash): === modified file 'lisp/window.el' --- lisp/window.el 2012-06-09 09:59:14 +0000 +++ lisp/window.el 2012-06-17 10:43:50 +0000 @@ -4192,7 +4192,8 @@ entry." (let (tmp) (cond - ((not (stringp buffer-name))) + ((not (stringp buffer-name)) + (error "Invalid buffer name %s" buffer-name)) ((member buffer-name special-display-buffer-names) t) ((setq tmp (assoc buffer-name special-display-buffer-names)) ------------------------------------------------------------ revno: 108643 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-06-17 18:11:39 +0800 message: Optimization to avoid redisplaying hidden terminal frames. * xdisp.c (redisplay_internal): No need to redisplay terminal frames that are not on top. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-17 09:00:37 +0000 +++ src/ChangeLog 2012-06-17 10:11:39 +0000 @@ -1,3 +1,8 @@ +2012-06-17 Chong Yidong + + * xdisp.c (redisplay_internal): No need to redisplay terminal + frames that are not on top. + 2012-06-17 Troels Nielsen * process.c (make_process): Initialize write_queue. === modified file 'src/xdisp.c' --- src/xdisp.c 2012-06-16 12:24:15 +0000 +++ src/xdisp.c 2012-06-17 10:11:39 +0000 @@ -13317,6 +13317,12 @@ { struct frame *f = XFRAME (frame); + /* We don't have to do anything for unselected terminal + frames. */ + if ((FRAME_TERMCAP_P (f) || FRAME_MSDOS_P (f)) + && !EQ (FRAME_TTY (f)->top_frame, frame)) + continue; + if (FRAME_WINDOW_P (f) || FRAME_TERMCAP_P (f) || f == sf) { if (! EQ (frame, selected_frame)) ------------------------------------------------------------ revno: 108642 fixes bug(s): http://debbugs.gnu.org/10815 author: Troels Nielsen committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-06-17 17:00:37 +0800 message: Ensure correct ordering of process writes. * process.c (make_process): Initialize write_queue. (write_queue_push, write_queue_pop): New functions. (send_process): Use them to maintain correct ordering of process writes. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-17 08:21:25 +0000 +++ src/ChangeLog 2012-06-17 09:00:37 +0000 @@ -1,3 +1,10 @@ +2012-06-17 Troels Nielsen + + * process.c (make_process): Initialize write_queue. + (write_queue_push, write_queue_pop): New functions. + (send_process): Use them to maintain correct ordering of process + writes (Bug#10815). + 2012-06-17 Paul Eggert * lisp.h (eassert): Assume C89 or later. === modified file 'src/process.c' --- src/process.c 2012-06-16 12:24:15 +0000 +++ src/process.c 2012-06-17 09:00:37 +0000 @@ -638,6 +638,7 @@ p->status = Qrun; p->mark = Fmake_marker (); p->kill_without_query = 0; + p->write_queue = Qnil; #ifdef ADAPTIVE_READ_BUFFERING p->adaptive_read_buffering = 0; @@ -5371,6 +5372,78 @@ longjmp (send_process_frame, 1); } +/* In send_process, when a write fails temporarily, + wait_reading_process_output is called. It may execute user code, + e.g. timers, that attempts to write new data to the same process. + We must ensure that data is sent in the right order, and not + interspersed half-completed with other writes (Bug#10815). This is + handled by the write_queue element of struct process. It is a list + with each entry having the form + + (string . (offset . length)) + + where STRING is a lisp string, OFFSET is the offset into the + string's byte sequence from which we should begin to send, and + LENGTH is the number of bytes left to send. */ + +/* Create a new entry in write_queue. + INPUT_OBJ should be a buffer, string Qt, or Qnil. + BUF is a pointer to the string sequence of the input_obj or a C + string in case of Qt or Qnil. */ + +static void +write_queue_push (struct Lisp_Process *p, Lisp_Object input_obj, + const char *buf, int len, int front) +{ + EMACS_INT offset; + Lisp_Object entry, obj; + + if (STRINGP (input_obj)) + { + offset = buf - SSDATA (input_obj); + obj = input_obj; + } + else + { + offset = 0; + obj = make_unibyte_string (buf, len); + } + + entry = Fcons (obj, Fcons (make_number (offset), make_number (len))); + + if (front) + p->write_queue = Fcons (entry, p->write_queue); + else + p->write_queue = nconc2 (p->write_queue, Fcons (entry, Qnil)); +} + +/* Remove the first element in the write_queue of process P, put its + contents in OBJ, BUF and LEN, and return non-zero. If the + write_queue is empty, return zero. */ + +static int +write_queue_pop (struct Lisp_Process *p, Lisp_Object *obj, + const char **buf, EMACS_INT *len) +{ + Lisp_Object entry, offset_length; + EMACS_INT offset; + + if (NILP (p->write_queue)) + return 0; + + entry = XCAR (p->write_queue); + p->write_queue = XCDR (p->write_queue); + + *obj = XCAR (entry); + offset_length = XCDR (entry); + + *len = XINT (XCDR (offset_length)); + offset = XINT (XCAR (offset_length)); + *buf = SDATA (*obj) + offset; + + return 1; +} + /* Send some data to process PROC. BUF is the beginning of the data; LEN is the number of characters. OBJECT is the Lisp object that the data comes from. If OBJECT is @@ -5389,11 +5462,8 @@ struct Lisp_Process *p = XPROCESS (proc); ssize_t rv; struct coding_system *coding; - struct gcpro gcpro1; void (*volatile old_sigpipe) (int); - GCPRO1 (object); - if (p->raw_status_new) update_status (p); if (! EQ (p->status, Qrun)) @@ -5505,22 +5575,37 @@ if (!setjmp (send_process_frame)) { p = XPROCESS (proc); /* Repair any setjmp clobbering. */ - process_sent_to = proc; - while (len > 0) + + /* If there is already data in the write_queue, put the new data + in the back of queue. Otherwise, ignore it. */ + if (!NILP (p->write_queue)) + write_queue_push (p, object, buf, len, 0); + + do /* while !NILP (p->write_queue) */ { - ptrdiff_t this = len; - - /* Send this batch, using one or more write calls. */ - while (this > 0) - { + EMACS_INT cur_len = -1; + const char *cur_buf; + Lisp_Object cur_object; + + /* If write_queue is empty, ignore it. */ + if (!write_queue_pop (p, &cur_object, &cur_buf, &cur_len)) + { + cur_len = len; + cur_buf = buf; + cur_object = object; + } + + while (cur_len > 0) + { + /* Send this batch, using one or more write calls. */ ptrdiff_t written = 0; int outfd = p->outfd; old_sigpipe = (void (*) (int)) signal (SIGPIPE, send_process_trap); #ifdef DATAGRAM_SOCKETS if (DATAGRAM_CHAN_P (outfd)) { - rv = sendto (outfd, buf, this, + rv = sendto (outfd, cur_buf, cur_len, 0, datagram_address[outfd].sa, datagram_address[outfd].len); if (0 <= rv) @@ -5537,10 +5622,10 @@ { #ifdef HAVE_GNUTLS if (p->gnutls_p) - written = emacs_gnutls_write (p, buf, this); + written = emacs_gnutls_write (p, cur_buf, cur_len); else #endif - written = emacs_write (outfd, buf, this); + written = emacs_write (outfd, cur_buf, cur_len); rv = (written ? 0 : -1); #ifdef ADAPTIVE_READ_BUFFERING if (p->read_output_delay > 0 @@ -5595,35 +5680,26 @@ } #endif /* BROKEN_PTY_READ_AFTER_EAGAIN */ - /* Running filters might relocate buffers or strings. - Arrange to relocate BUF. */ - if (BUFFERP (object)) - offset = BUF_PTR_BYTE_POS (XBUFFER (object), - (unsigned char *) buf); - else if (STRINGP (object)) - offset = buf - SSDATA (object); - + /* Put what we should have written in + wait_queue */ + write_queue_push (p, cur_object, cur_buf, cur_len, 1); #ifdef EMACS_HAS_USECS wait_reading_process_output (0, 20000, 0, 0, Qnil, NULL, 0); #else wait_reading_process_output (1, 0, 0, 0, Qnil, NULL, 0); #endif - - if (BUFFERP (object)) - buf = (char *) BUF_BYTE_ADDRESS (XBUFFER (object), - offset); - else if (STRINGP (object)) - buf = offset + SSDATA (object); + /* reread queue, to see what is left */ + break; } else /* This is a real error. */ report_file_error ("writing to process", Fcons (proc, Qnil)); } - buf += written; - len -= written; - this -= written; + cur_buf += written; + cur_len -= written; } } + while (!NILP (p->write_queue)); } else { @@ -5636,8 +5712,6 @@ deactivate_process (proc); error ("SIGPIPE raised on process %s; closed it", SDATA (p->name)); } - - UNGCPRO; } DEFUN ("process-send-region", Fprocess_send_region, Sprocess_send_region, === modified file 'src/process.h' --- src/process.h 2012-04-22 04:48:13 +0000 +++ src/process.h 2012-06-17 09:00:37 +0000 @@ -77,6 +77,8 @@ Lisp_Object encode_coding_system; /* Working buffer for encoding. */ Lisp_Object encoding_buf; + /* Queue for storing waiting writes */ + Lisp_Object write_queue; #ifdef HAVE_GNUTLS Lisp_Object gnutls_cred_type; ------------------------------------------------------------ revno: 108641 committer: Paul Eggert branch nick: trunk timestamp: Sun 2012-06-17 01:53:31 -0700 message: Spelling fixes. diff: === modified file 'etc/NEWS' --- etc/NEWS 2012-06-17 05:13:40 +0000 +++ etc/NEWS 2012-06-17 08:53:31 +0000 @@ -441,7 +441,7 @@ ** New error type and new function `user-error'. Doesn't trigger the debugger. ** The functions get-lru-window, get-mru-window and get-largest-window -now accept a third argument to avoid chosing the selected window. +now accept a third argument to avoid choosing the selected window. ** Completion === modified file 'etc/ORG-NEWS' --- etc/ORG-NEWS 2012-05-29 06:16:49 +0000 +++ etc/ORG-NEWS 2012-06-17 08:53:31 +0000 @@ -554,7 +554,7 @@ ** Completion -*** In-buffer completion is now done using John Wiegleys pcomplete.el +*** In-buffer completion is now done using John Wiegley's pcomplete.el :PROPERTIES: :OrgVersion: 7.4 :END: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-06-17 08:26:13 +0000 +++ lisp/ChangeLog 2012-06-17 08:53:31 +0000 @@ -1,3 +1,8 @@ +2012-06-17 Paul Eggert + + * progmodes/python.el (python-info-beginning-of-backslash): + Rename from python-info-beginning-of-backlash, as a spelling fix. + 2012-06-17 Chong Yidong * term.el (term-emulate-terminal): If term-check-size is called, === modified file 'lisp/face-remap.el' --- lisp/face-remap.el 2012-06-09 06:26:46 +0000 +++ lisp/face-remap.el 2012-06-17 08:53:31 +0000 @@ -320,7 +320,7 @@ (`?0 0) (t inc)))) (text-scale-increase step) - ;; FIXME: do it after everu "iteration of the loop". + ;; FIXME: do it after every "iteration of the loop". (message "+,-,0 for further adjustment: ") (set-temporary-overlay-map (let ((map (make-sparse-keymap))) === modified file 'lisp/isearch.el' --- lisp/isearch.el 2012-05-29 09:46:06 +0000 +++ lisp/isearch.el 2012-06-17 08:53:31 +0000 @@ -538,7 +538,7 @@ If the value is a function (e.g. `isearch-symbol-regexp'), it is called to convert the search string to a regexp used by regexp search functions. The property `isearch-message-prefix' put on this function specifies the -prefix string displyed in the search message.") +prefix string displayed in the search message.") (defvar isearch-cmds nil "Stack of search status sets. === modified file 'lisp/net/tramp.el' --- lisp/net/tramp.el 2012-06-11 10:30:07 +0000 +++ lisp/net/tramp.el 2012-06-17 08:53:31 +0000 @@ -1368,7 +1368,7 @@ (defvar tramp-message-show-progress-reporter-message t "Show Tramp progress reporter message in the minibuffer. -This variable is used to disable recurive progress reporter messages.") +This variable is used to disable recursive progress reporter messages.") (defsubst tramp-message (vec-or-proc level fmt-string &rest args) "Emit a message depending on verbosity level. === modified file 'lisp/org/ChangeLog' --- lisp/org/ChangeLog 2012-06-10 13:20:58 +0000 +++ lisp/org/ChangeLog 2012-06-17 08:53:31 +0000 @@ -11665,7 +11665,7 @@ 2010-11-11 Nicolas Goaziou * org-list.el (org-list-insert-item-generic): Updating checkboxes - can modifiy bottom point of a list, so make it a marker before + can modify bottom point of a list, so make it a marker before calling `org-update-checkbox-count-maybe'. 2010-11-11 Dan Davison === modified file 'lisp/progmodes/python.el' --- lisp/progmodes/python.el 2012-06-15 02:22:19 +0000 +++ lisp/progmodes/python.el 2012-06-17 08:53:31 +0000 @@ -50,7 +50,7 @@ ;; (`python-nav-forward-sentence', `python-nav-backward-sentence' ;; respectively). Extra functions `python-nav-sentence-start' and ;; `python-nav-sentence-end' are included to move to the beginning and -;; to the end of a setence while taking care of multiline definitions. +;; to the end of a sentence while taking care of multiline definitions. ;; `python-nav-jump-to-defun' is provided and allows jumping to a ;; function or class definition quickly in the current buffer. @@ -126,7 +126,7 @@ ;; "VIRTUAL_ENV=/path/to/env/")) ;; (python-shell-exec-path . ("/path/to/env/bin/")) -;; Since the above is cumbersome and can be programatically +;; Since the above is cumbersome and can be programmatically ;; calculated, the variable `python-shell-virtualenv-path' is ;; provided. When this variable is set with the path of the ;; virtualenv to use, `process-environment' and `exec-path' get proper @@ -426,7 +426,7 @@ ;; Extra: "__all__" "__doc__" "__name__" "__package__") symbol-end) . font-lock-builtin-face) - ;; asignations + ;; assignments ;; support for a = b = c = 5 (,(lambda (limit) (let ((re (python-rx (group (+ (any word ?. ?_))) @@ -703,7 +703,7 @@ ('inside-string (goto-char context-start) (current-indentation)) - ;; After backslash we have several posibilities + ;; After backslash we have several possibilities. ('after-backslash (cond ;; Check if current line is a dot continuation. For this @@ -758,12 +758,12 @@ (current-column)))) (t (forward-line -1) - (goto-char (python-info-beginning-of-backlash)) + (goto-char (python-info-beginning-of-backslash)) (if (save-excursion (and (forward-line -1) (goto-char - (or (python-info-beginning-of-backlash) (point))) + (or (python-info-beginning-of-backslash) (point))) (python-info-line-ends-backslash-p))) ;; The two previous lines ended in a backslash so we must ;; respect previous line indentation. @@ -776,7 +776,7 @@ ;; correctly ('inside-paren (cond - ;; If current line closes the outtermost open paren use the + ;; If current line closes the outermost open paren use the ;; current indentation of the context-start line. ((save-excursion (skip-syntax-forward "\s" (line-end-position)) @@ -1261,7 +1261,7 @@ (defcustom python-shell-send-setup-max-wait 5 "Seconds to wait for process output before code setup. -If output is received before the especified time then control is +If output is received before the specified time then control is returned in that moment and not after waiting." :type 'integer :group 'python @@ -1811,7 +1811,7 @@ (overlay-start comint-last-prompt-overlay) (overlay-end comint-last-prompt-overlay)))) (completion-context - ;; Check wether a prompt matches a pdb string, an import statement + ;; Check whether a prompt matches a pdb string, an import statement ;; or just the standard prompt and use the correct ;; python-shell-completion-*-code string (cond ((and (> (length python-shell-completion-pdb-string-code) 0) @@ -2474,7 +2474,7 @@ (defun python-imenu-make-element-tree (element-list full-element plain-index) "Make a tree from plain alist of module names. -ELEMENT-LIST is the defun name splitted by \".\" and FULL-ELEMENT +ELEMENT-LIST is the defun name split by \".\" and FULL-ELEMENT is the same thing, the difference is that FULL-ELEMENT remains untouched in all recursive calls. Argument PLAIN-INDEX is the calculated plain index used to build the tree." @@ -2497,7 +2497,7 @@ (push (cons subelement-name subelement-point) python-imenu-index-alist) (when (not (listp (cdr path-ref))) - ;; Modifiy root cdr to be a list + ;; Modify root cdr to be a list. (setcdr path-ref (list (cons (format python-imenu-subtree-root-label (car path-ref)) @@ -2644,8 +2644,8 @@ (when (equal (char-before) ?\\) (point-marker))))) -(defun python-info-beginning-of-backlash (&optional line-number) - "Return the point where the backlashed line start. +(defun python-info-beginning-of-backslash (&optional line-number) + "Return the point where the backslashed line start. Optional argument LINE-NUMBER forces the line number to check against." (save-excursion (save-restriction === modified file 'lisp/textmodes/rst.el' --- lisp/textmodes/rst.el 2012-06-16 09:48:23 +0000 +++ lisp/textmodes/rst.el 2012-06-17 08:53:31 +0000 @@ -2847,7 +2847,7 @@ (save-match-data (unless (looking-at (rst-re 'lin-end)) (back-to-indentation) - ;; Current indendation is always the least likely tab. + ;; Current indentation is always the least likely tab. (let ((tabs (list (list (point) 0 nil)))) ; (POINT OFFSET INNER) ;; Push inner tabs more likely to continue writing. (cond ------------------------------------------------------------ revno: 108640 fixes bug(s): http://debbugs.gnu.org/4635 committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-06-17 16:26:13 +0800 message: Fix point motion bug in term-emulate-terminal. * lisp/term.el (term-emulate-terminal): If term-check-size is called, move point to the process mark without resetting point. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-06-17 05:13:40 +0000 +++ lisp/ChangeLog 2012-06-17 08:26:13 +0000 @@ -1,3 +1,8 @@ +2012-06-17 Chong Yidong + + * term.el (term-emulate-terminal): If term-check-size is called, + move point to the process mark without resetting point (Bug#4635). + 2012-06-13 Glenn Morris * international/mule-cmds.el (mule-menu-keymap) === modified file 'lisp/term.el' --- lisp/term.el 2012-05-11 15:05:03 +0000 +++ lisp/term.el 2012-06-17 08:26:13 +0000 @@ -2710,10 +2710,8 @@ (str-length (length str))) (save-selected-window - ;; Let's handle the messages. -mm - - (let* ((newstr (term-handle-ansi-terminal-messages str))) - (when (not (eq str newstr)) + (let ((newstr (term-handle-ansi-terminal-messages str))) + (unless (eq str newstr) (setq handled-ansi-message t str newstr))) (setq str-length (length str)) @@ -2723,18 +2721,19 @@ (delete-region term-pending-delete-marker (process-mark proc)) (set-marker term-pending-delete-marker nil)) + (when (/= (point) (process-mark proc)) + (setq save-point (point-marker))) + + ;; Note if the window size has changed. We used to reset + ;; point too, but that gives incorrect results (Bug#4635). (if (eq (window-buffer) (current-buffer)) (progn (setq term-vertical-motion (symbol-function 'vertical-motion)) (term-check-size proc)) (setq term-vertical-motion (symbol-function 'term-buffer-vertical-motion))) - (setq save-marker (copy-marker (process-mark proc))) - - (when (/= (point) (process-mark proc)) - (setq save-point (point-marker)) - (goto-char (process-mark proc))) + (goto-char (process-mark proc)) (save-restriction ;; If the buffer is in line mode, and there is a partial ------------------------------------------------------------ revno: 108639 committer: Paul Eggert branch nick: trunk timestamp: Sun 2012-06-17 01:21:25 -0700 message: * lisp.h (eassert): Assume C89 or later. This removes the need for CHECK. (CHECK): Remove. Its comments about always evaluating its argument were confusing, as 'eassert' typically does not evaluate its argument. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-17 07:57:28 +0000 +++ src/ChangeLog 2012-06-17 08:21:25 +0000 @@ -1,5 +1,11 @@ 2012-06-17 Paul Eggert + * lisp.h (eassert): Assume C89 or later. + This removes the need for CHECK. + (CHECK): Remove. Its comments about always evaluating its + argument were confusing, as 'eassert' typically does not evaluate + its argument. + * coding.c (produce_chars): Use ptrdiff_t, not int. * xterm.c (x_draw_underwave): Check for integer overflow. === modified file 'src/lisp.h' --- src/lisp.h 2012-06-14 02:27:39 +0000 +++ src/lisp.h 2012-06-17 08:21:25 +0000 @@ -106,7 +106,12 @@ /* Extra internal type checking? */ -#ifdef ENABLE_CHECKING +/* Define an Emacs version of 'assert (COND)', since some + system-defined 'assert's are flaky. COND should be free of side + effects; it may or may not be evaluated. */ +#ifndef ENABLE_CHECKING +# define eassert(X) ((void) (0 && (X))) /* Check that X compiles. */ +#else /* ENABLE_CHECKING */ extern void die (const char *, const char *, int) NO_RETURN; @@ -114,39 +119,16 @@ it to 1 using a debugger to temporarily disable aborting on detected internal inconsistencies or error conditions. - Testing suppress_checking after the supplied condition ensures that - the side effects produced by CHECK will be consistent, independent - of whether ENABLE_CHECKING is defined, or whether the checks are - suppressed at run time. - In some cases, a good compiler may be able to optimize away the - CHECK macro altogether, e.g., if XSTRING (x) uses CHECK to test + eassert macro altogether, e.g., if XSTRING (x) uses eassert to test STRINGP (x), but a particular use of XSTRING is invoked only after testing that STRINGP (x) is true, making the test redundant. */ - extern int suppress_checking EXTERNALLY_VISIBLE; -#define CHECK(check,msg) (((check) || suppress_checking \ - ? (void) 0 \ - : die ((msg), __FILE__, __LINE__)), \ - 0) -#else - -/* Produce same side effects and result, but don't complain. */ -#define CHECK(check,msg) ((check),0) - -#endif - -/* Define an Emacs version of "assert", since some system ones are - flaky. */ -#ifndef ENABLE_CHECKING -#define eassert(X) ((void) (0 && (X))) /* Check that X compiles. */ -#else /* ENABLE_CHECKING */ -#if defined (__GNUC__) && __GNUC__ >= 2 && defined (__STDC__) -#define eassert(cond) CHECK (cond, "assertion failed: " #cond) -#else -#define eassert(cond) CHECK (cond, "assertion failed") -#endif +# define eassert(cond) \ + ((cond) || suppress_checking \ + ? (void) 0 \ + : die ("assertion failed: " # cond, __FILE__, __LINE__)) #endif /* ENABLE_CHECKING */ /* Use the configure flag --enable-check-lisp-object-type to make ------------------------------------------------------------ revno: 108638 committer: Paul Eggert branch nick: trunk timestamp: Sun 2012-06-17 00:57:28 -0700 message: * coding.c (produce_chars): Use ptrdiff_t, not int. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-17 07:39:50 +0000 +++ src/ChangeLog 2012-06-17 07:57:28 +0000 @@ -1,5 +1,7 @@ 2012-06-17 Paul Eggert + * coding.c (produce_chars): Use ptrdiff_t, not int. + * xterm.c (x_draw_underwave): Check for integer overflow. This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64. === modified file 'src/coding.c' --- src/coding.c 2012-06-16 12:24:15 +0000 +++ src/coding.c 2012-06-17 07:57:28 +0000 @@ -6765,7 +6765,8 @@ while (buf < buf_end) { - int c = *buf, i; + int c = *buf; + ptrdiff_t i; if (c >= 0) { ------------------------------------------------------------ revno: 108637 committer: Paul Eggert branch nick: trunk timestamp: Sun 2012-06-17 00:39:50 -0700 message: * xterm.c (x_draw_underwave): Check for integer overflow. This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-17 05:13:40 +0000 +++ src/ChangeLog 2012-06-17 07:39:50 +0000 @@ -1,3 +1,8 @@ +2012-06-17 Paul Eggert + + * xterm.c (x_draw_underwave): Check for integer overflow. + This pacifies gcc 4.7.0 -Wunsafe-loop-optimizations on x86-64. + 2012-06-17 Jan Djärv * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't === modified file 'src/xterm.c' --- src/xterm.c 2012-06-17 00:32:36 +0000 +++ src/xterm.c 2012-06-17 07:39:50 +0000 @@ -2710,6 +2710,9 @@ else y2 += dy; + if (INT_MAX - dx < xmax) + abort (); + while (x1 <= xmax) { XDrawLine (s->display, s->window, s->gc, x1, y1, x2, y2); ------------------------------------------------------------ revno: 108636 [merge] committer: Chong Yidong branch nick: trunk timestamp: Sun 2012-06-17 13:14:47 +0800 message: Merge changes from emacs-24; up to r108039 diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2012-06-10 13:20:58 +0000 +++ doc/emacs/ChangeLog 2012-06-17 05:13:40 +0000 @@ -1,3 +1,25 @@ +2012-06-11 Chong Yidong + + * emacs.texi: Remove urlcolor setting. + +2012-06-10 Chong Yidong + + * emacs.texi: Update ISBN and edition number. + + * anti.texi: + * building.texi: + * cmdargs.texi: + * custom.texi: + * display.texi: + * files.texi: + * frames.texi: + * glossary.texi: + * misc.texi: + * mule.texi: + * programs.texi: + * sending.texi: + * text.texi: Copyedits to avoid underfull/overfull in 7x9 manual. + 2012-06-06 Michael Albinus * custom.texi (Directory Variables): Mention enable-remote-dir-locals. === modified file 'doc/emacs/anti.texi' --- doc/emacs/anti.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/anti.texi 2012-06-17 05:13:40 +0000 @@ -63,19 +63,18 @@ @kbd{C-y} and @kbd{M-y} is unintended. @item -Various completion features have been simplified. The options -@code{completion-cycle-threshold} and -@code{completion-category-overrides} have been removed. Due to the -latter removal, Emacs uses a single consistent scheme to generate -completions, instead of using a separate scheme for (say) buffer name -completion. Several major modes, such as Shell mode, now implement -their own inline completion commands instead of using -@code{completion-at-point}. +Various completion features have been simplified. The option +@code{completion-category-overrides} has been removed, so Emacs uses a +single consistent scheme to generate completions, instead of using a +separate scheme for (say) buffer name completion. Several major +modes, such as Shell mode, now implement their own inline completion +commands instead of using @code{completion-at-point}. @item -We have removed various options for controlling how windows are used, -e.g.@: @code{display-buffer-base-action}, @code{display-buffer-alist}, -@code{window-combination-limit}, and @code{window-combination-resize}. +We have removed several options for controlling how windows are used, +such as @code{display-buffer-base-action}, +@code{display-buffer-alist}, @code{window-combination-limit}, and +@code{window-combination-resize}. @item The command @kbd{M-x customize-themes} has been removed. Emacs no === modified file 'doc/emacs/building.texi' --- doc/emacs/building.texi 2012-05-28 23:35:09 +0000 +++ doc/emacs/building.texi 2012-06-17 05:13:40 +0000 @@ -426,11 +426,11 @@ C/C++ files this is usually the C compiler. Flymake can also use build tools such as @code{make} for checking complicated projects. - To enable Flymake mode, type @kbd{M-x flymake-mode}. You can jump to -the errors that it finds by using @kbd{M-x -flymake-goto-next-error} and @kbd{M-x flymake-goto-prev-error}. -Use the command @kbd{M-x flymake-display-err-menu-for-current-line} -to display any error messages associated with the current line. + To enable Flymake mode, type @kbd{M-x flymake-mode}. You can jump +to the errors that it finds by using @kbd{M-x flymake-goto-next-error} +and @kbd{M-x flymake-goto-prev-error}. To display any error messages +associated with the current line, type @kbd{M-x +flymake-display-err-menu-for-current-line}. For more details about using Flymake, @ifnottex @@ -1495,7 +1495,7 @@ @vindex eval-expression-print-level @vindex eval-expression-print-length @vindex eval-expression-debug-on-error - The customizable variables @code{eval-expression-print-level} and + The options @code{eval-expression-print-level} and @code{eval-expression-print-length} control the maximum depth and length of lists to print in the result of the evaluation commands before abbreviating them. @code{eval-expression-debug-on-error} === modified file 'doc/emacs/calendar.texi' --- doc/emacs/calendar.texi 2012-05-28 23:35:09 +0000 +++ doc/emacs/calendar.texi 2012-06-17 05:13:40 +0000 @@ -245,10 +245,10 @@ Scroll calendar one month backward (@code{calendar-scroll-right}). @item C-v @itemx @key{next} -Scroll three months forward (@code{calendar-scroll-left-three-months}). +Scroll forward by three months (@code{calendar-scroll-left-three-months}). @item M-v @itemx @key{prior} -Scroll three months backward (@code{calendar-scroll-right-three-months}). +Scroll backward by three months (@code{calendar-scroll-right-three-months}). @end table @kindex > @r{(Calendar mode)} === modified file 'doc/emacs/cmdargs.texi' --- doc/emacs/cmdargs.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/cmdargs.texi 2012-06-17 05:13:40 +0000 @@ -436,7 +436,7 @@ when you specify a relative directory name. @item EMACSDATA Directory for the architecture-independent files that come with Emacs. -This is used to initialize the Lisp variable @code{data-directory}. +This is used to initialize the variable @code{data-directory}. @item EMACSDOC Directory for the documentation string file, which is used to initialize the Lisp variable @code{doc-directory}. @@ -577,7 +577,8 @@ The user's login name. See also @env{LOGNAME}. On MS-DOS, this defaults to @samp{root}. @item VERSION_CONTROL -Used to initialize the @code{version-control} variable (@pxref{Backup Names}). +Used to initialize the @code{version-control} variable (@pxref{Backup +Names}). @end table @node Misc Variables === modified file 'doc/emacs/custom.texi' --- doc/emacs/custom.texi 2012-06-06 14:57:16 +0000 +++ doc/emacs/custom.texi 2012-06-17 05:13:40 +0000 @@ -765,16 +765,14 @@ @example fill-column is a variable defined in `C source code'. fill-column's value is 70 -Local in buffer custom.texi; global value is 70 + Automatically becomes buffer-local when set in any fashion. - - Automatically becomes buffer-local when set in any fashion. - This variable is safe as a file local variable if its value - satisfies the predicate `integerp'. +This variable is safe as a file local variable if its value +satisfies the predicate `integerp'. Documentation: -*Column beyond which automatic line-wrapping should happen. -Interactively, you can set the buffer local value using C-x f. +Column beyond which automatic line-wrapping should happen. +Interactively, you can set the local value with C-x f. You can customize this variable. @end example @@ -1054,13 +1052,14 @@ @findex add-file-local-variable-prop-line @findex delete-file-local-variable-prop-line @findex copy-dir-locals-to-file-locals-prop-line - You can use the command @kbd{M-x add-file-local-variable-prop-line} -instead of adding entries by hand. It prompts for -a variable and value, and adds them to the first line in the -appropriate way. @kbd{M-x delete-file-local-variable-prop-line} -prompts for a variable, and deletes its entry from the line. @kbd{M-x -copy-dir-locals-to-file-locals-prop-line} copies directory-local -variables to the first line (@pxref{Directory Variables}). + You can use @kbd{M-x add-file-local-variable-prop-line} instead of +adding entries by hand. This command prompts for a variable and +value, and adds them to the first line in the appropriate way. +@kbd{M-x delete-file-local-variable-prop-line} prompts for a variable, +and deletes its entry from the line. The command @kbd{M-x +copy-dir-locals-to-file-locals-prop-line} copies the current +directory-local variables to the first line (@pxref{Directory +Variables}). Here is an example first line that specifies Lisp mode and sets two variables with numeric values: === modified file 'doc/emacs/display.texi' --- doc/emacs/display.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/display.texi 2012-06-17 05:13:40 +0000 @@ -759,11 +759,10 @@ @findex global-font-lock-mode @vindex global-font-lock-mode - To toggle Font Lock mode in all buffers, type @kbd{M-x -global-font-lock-mode}. To impose this setting for future Emacs -sessions, customize the variable @code{global-font-lock-mode} -(@pxref{Easy Customization}), or add the following line to your init -file: + Type @kbd{M-x global-font-lock-mode} to toggle Font Lock mode in all +buffers. To impose this setting for future Emacs sessions, customize +the variable @code{global-font-lock-mode} (@pxref{Easy +Customization}), or add the following line to your init file: @example (global-font-lock-mode 0) === modified file 'doc/emacs/emacs.texi' --- doc/emacs/emacs.texi 2012-05-27 02:13:54 +0000 +++ doc/emacs/emacs.texi 2012-06-17 05:13:40 +0000 @@ -14,7 +14,7 @@ @c be something added by the FSF during the publishing process. @c Also, the lispref uses a float (3.0), whereas this uses an ordinal, @c so the format is not even consistent. -@set EDITION Sixteenth +@set EDITION Seventeenth @include emacsver.texi @copying @@ -54,7 +54,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 +@c @set smallbook @ifset smallbook @smallbook @@ -66,8 +66,6 @@ @tex @ifset smallbook @fonttextsize 10 -\global\let\urlcolor=\Black % don't print links in grayscale -\global\let\linkcolor=\Black @end ifset \global\hbadness=6666 % don't worry about not-too-underfull boxes @end tex @@ -96,10 +94,10 @@ Published by the Free Software Foundation @* 51 Franklin Street, Fifth Floor @* Boston, MA 02110-1301 USA @* -ISBN 1-882114-86-8 +ISBN 978-0-9831592-2-3 @sp 2 -Cover art by Etienne Suvasa. +Cover art by Etienne Suvasa; cover design by Matt Lee. @end titlepage === modified file 'doc/emacs/files.texi' --- doc/emacs/files.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/files.texi 2012-06-17 05:13:40 +0000 @@ -1101,11 +1101,11 @@ this---saving them---updates the files themselves. @vindex auto-save-list-file-prefix - Emacs records information about interrupted sessions for later -recovery in files named @file{.saves-@var{pid}-@var{hostname}} in the -directory @file{~/.emacs.d/auto-save-list/}. This directory is -determined by the variable @code{auto-save-list-file-prefix}. If you -set @code{auto-save-list-file-prefix} to @code{nil}, sessions are not + Emacs records information about interrupted sessions in files named +@file{.saves-@var{pid}-@var{hostname}} in the directory +@file{~/.emacs.d/auto-save-list/}. This directory is determined by +the variable @code{auto-save-list-file-prefix}. If you set +@code{auto-save-list-file-prefix} to @code{nil}, sessions are not recorded for recovery. @node File Aliases === modified file 'doc/emacs/frames.texi' --- doc/emacs/frames.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/frames.texi 2012-06-17 05:13:40 +0000 @@ -499,7 +499,8 @@ (@pxref{Frame Parameters}), like this: @example -(add-to-list 'default-frame-alist '(font . "DejaVu Sans Mono-10")) +(add-to-list 'default-frame-alist + '(font . "DejaVu Sans Mono-10")) @end example @cindex X defaults file === modified file 'doc/emacs/glossary.texi' --- doc/emacs/glossary.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/glossary.texi 2012-06-17 05:13:40 +0000 @@ -40,8 +40,8 @@ letter, or the Control version of one of the characters @samp{@@[\]^_?}. @item @acronym{ASCII} printing character -@acronym{ASCII} printing characters include letters, digits, space, and these -punctuation characters: @samp{!@@#$%^&*()_-+=|\~`@{@}[]:;"'<>,.?/}. +@acronym{ASCII} letters, digits, space, and the following punctuation +characters: @samp{!@@#$%^&*()_-+=|\~`@{@}[]:;"'<>,.?/}. @item Auto Fill Mode Auto Fill mode is a minor mode (q.v.@:) in which text that you insert is === modified file 'doc/emacs/maintaining.texi' --- doc/emacs/maintaining.texi 2012-05-28 23:35:09 +0000 +++ doc/emacs/maintaining.texi 2012-06-17 05:13:40 +0000 @@ -903,11 +903,11 @@ @kindex C-x v l @findex vc-print-log - The command @kbd{C-x v l} (@code{vc-print-log}) displays a buffer -named @file{*vc-change-log*}, showing the history of changes made to -the current file, including who made the changes, the dates, and the -log entry for each change (these are the same log entries you would -enter via the @file{*vc-log*} buffer; @pxref{Log Buffer}). Point is + @kbd{C-x v l} (@code{vc-print-log}) displays a buffer named +@file{*vc-change-log*}, showing the history of changes made to the +current file, including who made the changes, the dates, and the log +entry for each change (these are the same log entries you would enter +via the @file{*vc-log*} buffer; @pxref{Log Buffer}). Point is centered at the revision of the file currently being visited. With a prefix argument, the command prompts for the revision to center on, and the maximum number of revisions to display. === modified file 'doc/emacs/misc.texi' --- doc/emacs/misc.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/misc.texi 2012-06-17 05:13:40 +0000 @@ -2257,18 +2257,18 @@ @cindex Brief emulation @cindex emulation of Brief @cindex mode, CRiSP -You can turn on key bindings to emulate the CRiSP/Brief editor with -@kbd{M-x crisp-mode}. Note that this rebinds @kbd{M-x} to exit Emacs -unless you set the variable @code{crisp-override-meta-x}. You can -also use the command @kbd{M-x scroll-all-mode} or set the variable +@kbd{M-x crisp-mode} enables key bindings to emulate the CRiSP/Brief +editor. Note that this rebinds @kbd{M-x} to exit Emacs unless you set +the variable @code{crisp-override-meta-x}. You can also use the +command @kbd{M-x scroll-all-mode} or set the variable @code{crisp-load-scroll-all} to emulate CRiSP's scroll-all feature (scrolling all windows together). @item EDT (DEC VMS editor) @findex edt-emulation-on @findex edt-emulation-off -Turn on EDT emulation @kbd{M-x edt-emulation-on}; use @kbd{M-x -edt-emulation-off} to restore normal Emacs command bindings. +Turn on EDT emulation with @kbd{M-x edt-emulation-on}; restore normal +command bindings with @kbd{M-x edt-emulation-off}. Most of the EDT emulation commands are keypad keys, and most standard Emacs key bindings are still available. The EDT emulation rebindings @@ -2454,7 +2454,7 @@ @code{ffap-read-only-other-window}, analogous to @code{find-file-read-only-other-window}. @item C-x 4 d -@code{ffap-dired-other-window}, analogous to @code{dired-other-window}. +@code{ffap-dired-other-window}, like @code{dired-other-window}. @item C-x 5 f @kindex C-x 5 f @r{(FFAP)} @code{ffap-other-frame}, analogous to @code{find-file-other-frame}. @@ -2481,8 +2481,8 @@ @findex animate-birthday-present @cindex animate - The @code{animate} package makes text dance (e.g. try -@kbd{M-x animate-birthday-present}). + The @code{animate} package makes text dance (e.g. @kbd{M-x +animate-birthday-present}). @findex blackbox @findex mpuz === modified file 'doc/emacs/msdog.texi' --- doc/emacs/msdog.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/msdog.texi 2012-06-17 05:13:40 +0000 @@ -415,16 +415,15 @@ @section HOME and Startup Directories on MS-Windows @cindex @code{HOME} directory on MS-Windows - The Windows equivalent of the @code{HOME} directory is the -@dfn{user-specific application data directory}. The actual location -depends on the Windows version; typical values are @file{C:\Documents -and Settings\@var{username}\Application Data} on Windows 2K/XP/2K3, -@file{C:\Users\@var{username}\AppData\Roaming} on Windows Vista/7/2K8, -and either @file{C:\WINDOWS\Application Data} or -@file{C:\WINDOWS\Profiles\@var{username}\Application Data} on the -older Windows 9X/ME systems. If this directory does not exist or -cannot be accessed, Emacs falls back to @file{C:\} as the default -value of @code{HOME}. + The Windows equivalent of @code{HOME} is the @dfn{user-specific +application data directory}. The actual location depends on the +Windows version; typical values are @file{C:\Documents and +Settings\@var{username}\Application Data} on Windows 2000/XP/2K3, +@file{C:\Users\@var{username}\AppData\Roaming} on Windows +Vista/7/2008, and either @file{C:\WINDOWS\Application Data} or +@file{C:\WINDOWS\Profiles\@var{username}\Application Data} on Windows +9X/ME. If this directory does not exist or cannot be accessed, Emacs +falls back to @file{C:\} as the default value of @code{HOME}. You can override this default value of @code{HOME} by explicitly setting the environment variable @env{HOME} to point to any directory === modified file 'doc/emacs/mule.texi' --- doc/emacs/mule.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/mule.texi 2012-06-17 05:13:40 +0000 @@ -1111,11 +1111,11 @@ @table @kbd @item C-x @key{RET} x @var{coding} @key{RET} Use coding system @var{coding} for transferring selections to and from -other window-based applications (@code{set-selection-coding-system}). +other graphical applications (@code{set-selection-coding-system}). @item C-x @key{RET} X @var{coding} @key{RET} Use coding system @var{coding} for transferring @emph{one} -selection---the next one---to or from another window-based application +selection---the next one---to or from another graphical application (@code{set-next-selection-coding-system}). @item C-x @key{RET} p @var{input-coding} @key{RET} @var{output-coding} @key{RET} === modified file 'doc/emacs/programs.texi' --- doc/emacs/programs.texi 2012-05-27 01:25:06 +0000 +++ doc/emacs/programs.texi 2012-06-17 05:13:40 +0000 @@ -1651,7 +1651,8 @@ @example (defun my-bind-clb () - (define-key c-mode-base-map "\C-j" 'c-context-line-break)) + (define-key c-mode-base-map "\C-j" + 'c-context-line-break)) (add-hook 'c-initialization-hook 'my-bind-clb) @end example === modified file 'doc/emacs/sending.texi' --- doc/emacs/sending.texi 2012-04-10 06:54:43 +0000 +++ doc/emacs/sending.texi 2012-06-10 14:02:52 +0000 @@ -74,8 +74,8 @@ Subject: Re: What is best in life? From: conan@@example.org --text follows this line-- -To crush your enemies, see them driven before you, and to hear the -lamentation of their women. +To crush your enemies, see them driven before you, and to +hear the lamentation of their women. @end example @noindent === modified file 'doc/emacs/text.texi' --- doc/emacs/text.texi 2012-05-28 23:35:09 +0000 +++ doc/emacs/text.texi 2012-06-17 05:13:40 +0000 @@ -1015,11 +1015,11 @@ @kindex C-c C-f @r{(Outline mode)} @kindex C-c C-b @r{(Outline mode)} @kindex C-c C-u @r{(Outline mode)} - The commands @kbd{C-c C-f} (@code{outline-forward-same-level}) and -@kbd{C-c C-b} (@code{outline-backward-same-level}) move from one -heading line to another visible heading at the same depth in the -outline. @kbd{C-c C-u} (@code{outline-up-heading}) moves backward to -another heading that is less deeply nested. + @kbd{C-c C-f} (@code{outline-forward-same-level}) and @kbd{C-c C-b} +(@code{outline-backward-same-level}) move from one heading line to +another visible heading at the same depth in the outline. @kbd{C-c +C-u} (@code{outline-up-heading}) moves backward to another heading +that is less deeply nested. @node Outline Visibility @subsection Outline Visibility Commands @@ -2311,8 +2311,7 @@ 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 not saved -in the @samp{text/enriched} format. + The @code{invisible} and @code{intangible} properties are not saved. @node Text Based Tables @section Editing Text-based Tables @@ -2345,8 +2344,8 @@ 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}. + Type @kbd{M-x table-fixed-width-mode} to toggle the automatic table +resizing feature. @menu * Table Definition:: What is a text based table. @@ -2506,15 +2505,16 @@ @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). +horizontally, prompting for the direction with the minibuffer. To +split in a specific direction, use @kbd{M-x +table-split-cell-vertically} and @kbd{M-x +table-split-cell-horizontally}. 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). The following commands enlarge or shrink a cell. By default, they resize by one row or column; if a numeric argument is supplied, that === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2012-06-17 02:07:26 +0000 +++ doc/lispref/ChangeLog 2012-06-17 05:13:40 +0000 @@ -1,3 +1,7 @@ +2012-06-17 Chong Yidong + + * elisp.texi: Remove urlcolor setting. + 2012-06-17 Glenn Morris * display.texi (Face Attributes): Copyedits. Add a few cindex entries. === modified file 'doc/lispref/customize.texi' --- doc/lispref/customize.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/customize.texi 2012-06-17 05:13:40 +0000 @@ -702,7 +702,8 @@ symbol for the key. @example -:options '("foo" ((function-item some-function) integer) +:options '("foo" + ((function-item some-function) integer) "baz") @end example @@ -710,7 +711,8 @@ example, @example -(defcustom list-alist '(("foo" 1) ("bar" 2) ("baz" 3)) +(defcustom list-alist + '(("foo" 1) ("bar" 2) ("baz" 3)) "Each element is a list of the form (KEY VALUE).") @end example @@ -718,7 +720,8 @@ instead of @example -(defcustom cons-alist '(("foo" . 1) ("bar" . 2) ("baz" . 3)) +(defcustom cons-alist + '(("foo" . 1) ("bar" . 2) ("baz" . 3)) "Each element is a cons-cell (KEY . VALUE).") @end example === modified file 'doc/lispref/display.texi' --- doc/lispref/display.texi 2012-06-17 02:07:26 +0000 +++ doc/lispref/display.texi 2012-06-17 05:13:40 +0000 @@ -790,8 +790,8 @@ @findex collapse-delayed-warnings @findex display-delayed-warnings @noindent -The function @code{collapse-delayed-warnings} iterates through -@code{delayed-warnings-list}, removing repeated entries. The function +The function @code{collapse-delayed-warnings} removes repeated entries +from @code{delayed-warnings-list}. The function @code{display-delayed-warnings} calls @code{display-warning} on each of the entries in @code{delayed-warnings-list}, in turn, and then sets @code{delayed-warnings-list} to @code{nil}. @@ -2081,11 +2081,10 @@ GNU Emacs Manual}. @item :width -Relative proportionate character width, also known as the character -set width. This should be one of the symbols @code{ultra-condensed}, -@code{extra-condensed}, @code{condensed}, @code{semi-condensed}, -@code{normal}, @code{semi-expanded}, @code{expanded}, -@code{extra-expanded}, or @code{ultra-expanded}. +Relative character width. This should be one of the symbols +@code{ultra-condensed}, @code{extra-condensed}, @code{condensed}, +@code{semi-condensed}, @code{normal}, @code{semi-expanded}, +@code{expanded}, @code{extra-expanded}, or @code{ultra-expanded}. @item :height The height of the font. In the simplest case, this is an integer in === modified file 'doc/lispref/edebug.texi' --- doc/lispref/edebug.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/edebug.texi 2012-06-17 05:13:40 +0000 @@ -1035,10 +1035,10 @@ @item The variables @code{last-command}, @code{this-command}, -@code{last-input-event}, @code{last-command-event}, +@code{last-command-event}, @code{last-input-event}, @code{last-event-frame}, @code{last-nonmenu-event}, and -@code{track-mouse}. Commands used within Edebug do not affect these -variables outside of Edebug. +@code{track-mouse}. Commands in Edebug do not affect these variables +outside of Edebug. Executing commands within Edebug can change the key sequence that would be returned by @code{this-command-keys}, and there is no way to === modified file 'doc/lispref/elisp.texi' --- doc/lispref/elisp.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/elisp.texi 2012-06-17 05:13:40 +0000 @@ -61,7 +61,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 +@c @set smallbook @ifset volflag @smallbook @@ -77,8 +77,6 @@ @tex @ifset smallbook @fonttextsize 10 -\global\let\urlcolor=\Black % don't print links in grayscale -\global\let\linkcolor=\Black @end ifset \global\hbadness=6666 % don't worry about not-too-underfull boxes @end tex === modified file 'doc/lispref/files.texi' --- doc/lispref/files.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/files.texi 2012-06-17 05:13:40 +0000 @@ -2950,7 +2950,8 @@ (let ((remote-file-name-inhibit-cache (- display-time-interval 5))) (and (file-exists-p file) - (< 0 (nth 7 (file-attributes (file-chase-links file))))))) + (< 0 (nth 7 (file-attributes + (file-chase-links file))))))) @end example @end defopt === modified file 'doc/lispref/functions.texi' --- doc/lispref/functions.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/functions.texi 2012-06-17 05:13:40 +0000 @@ -1263,8 +1263,8 @@ @example In end of data: -fortran.el:2152:1:Warning: the function `gud-find-c-expr' is not known - to be defined. +fortran.el:2152:1:Warning: the function `gud-find-c-expr' is not + known to be defined. @end example In fact, @code{gud-find-c-expr} is only used in the function that === modified file 'doc/lispref/keymaps.texi' --- doc/lispref/keymaps.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/keymaps.texi 2012-06-17 05:13:40 +0000 @@ -448,8 +448,8 @@ @example (defvar help-mode-map (let ((map (make-sparse-keymap))) - (set-keymap-parent map (make-composed-keymap button-buffer-map - special-mode-map)) + (set-keymap-parent map + (make-composed-keymap button-buffer-map special-mode-map)) ... map) ... ) @end example @@ -1600,10 +1600,11 @@ @end defvar @cindex key translation function -You can use @code{input-decode-map}, @code{local-function-key-map}, or -@code{key-translation-map} for more than simple aliases, by using a -function, instead of a key sequence, as the ``translation'' of a key. -Then this function is called to compute the translation of that key. +You can use @code{input-decode-map}, @code{local-function-key-map}, +and @code{key-translation-map} for more than simple aliases, by using +a function, instead of a key sequence, as the ``translation'' of a +key. Then this function is called to compute the translation of that +key. The key translation function receives one argument, which is the prompt that was specified in @code{read-key-sequence}---or @code{nil} if the === modified file 'doc/lispref/loading.texi' --- doc/lispref/loading.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/loading.texi 2012-06-17 05:13:40 +0000 @@ -513,9 +513,10 @@ @item Definitions for major or minor modes: @code{define-minor-mode}, @code{define-globalized-minor-mode}, -@code{define-generic-mode}, @code{easy-mmode-define-minor-mode}, +@code{define-generic-mode}, @code{define-derived-mode}, +@code{easy-mmode-define-minor-mode}, @code{easy-mmode-define-global-mode}, @code{define-compilation-mode}, -@code{define-derived-mode}, and @code{define-global-minor-mode}. +and @code{define-global-minor-mode}. @item Other definition types: @code{defcustom}, @code{defgroup}, @code{defclass} === modified file 'doc/lispref/macros.texi' --- doc/lispref/macros.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/macros.texi 2012-06-17 05:13:40 +0000 @@ -338,8 +338,9 @@ "Execute a simple \"for\" loop. For example, (for i from 1 to 10 do (print i))." (list 'let (list (list var init)) - (cons 'while (cons (list '<= var final) - (append body (list (list 'inc var))))))) + (cons 'while + (cons (list '<= var final) + (append body (list (list 'inc var))))))) @end group @result{} for === modified file 'doc/lispref/modes.texi' --- doc/lispref/modes.texi 2012-06-03 09:03:23 +0000 +++ doc/lispref/modes.texi 2012-06-17 05:13:40 +0000 @@ -1234,8 +1234,8 @@ @smallexample @group -(defun lisp-mode-variables (&optional lisp-syntax keywords-case-insensitive) - (when lisp-syntax +(defun lisp-mode-variables (&optional syntax keywords-case-insensitive) + (when syntax (set-syntax-table lisp-mode-syntax-table)) (setq local-abbrev-table lisp-mode-abbrev-table) @dots{} @@ -1308,9 +1308,9 @@ Entry to this mode calls the value of `lisp-mode-hook' if that value is non-nil." (lisp-mode-variables nil t) - (set (make-local-variable 'find-tag-default-function) 'lisp-find-tag-default) - (make-local-variable 'comment-start-skip) - (setq comment-start-skip + (set (make-local-variable 'find-tag-default-function) + 'lisp-find-tag-default) + (set (make-local-variable 'comment-start-skip) "\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\)\\(;+\\|#|\\) *") (setq imenu-case-fold-search t)) @end group === modified file 'doc/lispref/nonascii.texi' --- doc/lispref/nonascii.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/nonascii.texi 2012-06-17 05:13:40 +0000 @@ -408,16 +408,15 @@ or @code{R} (strong R). @item decomposition -Corresponds to the Unicode @code{Decomposition_Type} and -@code{Decomposition_Value} properties. The value is a list, whose -first element may be a symbol representing a compatibility formatting -tag, such as @code{small}@footnote{The Unicode specification writes -these tag names inside @samp{<..>} brackets, but the tag names in -Emacs do not include the brackets; e.g.@: Unicode specifies -@samp{} where Emacs uses @samp{small}. }; the other elements -are characters that give the compatibility decomposition sequence of -this character. For unassigned codepoints, the value is the character -itself. +Corresponds to the Unicode properties @code{Decomposition_Type} and +@code{Decomposition_Value}. The value is a list, whose first element +may be a symbol representing a compatibility formatting tag, such as +@code{small}@footnote{The Unicode specification writes these tag names +inside @samp{<..>} brackets, but the tag names in Emacs do not include +the brackets; e.g.@: Unicode specifies @samp{} where Emacs uses +@samp{small}. }; the other elements are characters that give the +compatibility decomposition sequence of this character. For +unassigned codepoints, the value is the character itself. @item decimal-digit-value Corresponds to the Unicode @code{Numeric_Value} property for === modified file 'doc/lispref/os.texi' --- doc/lispref/os.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/os.texi 2012-06-17 05:13:40 +0000 @@ -2322,7 +2322,7 @@ @item :image-path @var{path} This is represented either as a URI (@samp{file://} is the only URI schema supported right now) or a name in a freedesktop.org-compliant -icon theme from @samp{$XDG_DATA_DIRS/icons}, like @samp{"mail-message-new"}. +icon theme from @samp{$XDG_DATA_DIRS/icons}. @item :sound-file @var{filename} The path to a sound file to play when the notification pops up. @@ -2473,26 +2473,27 @@ strings giving alternate filenames for that library. Emacs tries to load the library from the files in the order they -appear in the list; if none is found, the running session of Emacs -won't have access to that library, and the features that depend on the -library will be unavailable. +appear in the list; if none is found, the Emacs session won't have +access to that library, and the features it provides will be +unavailable. Image support on some platforms uses this facility. Here's an example of setting this variable for supporting images on MS-Windows: -@lisp +@example (setq dynamic-library-alist '((xpm "libxpm.dll" "xpm4.dll" "libXpm-nox4.dll") (png "libpng12d.dll" "libpng12.dll" "libpng.dll" - "libpng13d.dll" "libpng13.dll") - (jpeg "jpeg62.dll" "libjpeg.dll" "jpeg-62.dll" "jpeg.dll") + "libpng13d.dll" "libpng13.dll") + (jpeg "jpeg62.dll" "libjpeg.dll" "jpeg-62.dll" + "jpeg.dll") (tiff "libtiff3.dll" "libtiff.dll") (gif "giflib4.dll" "libungif4.dll" "libungif.dll") (svg "librsvg-2-2.dll") (gdk-pixbuf "libgdk_pixbuf-2.0-0.dll") (glib "libglib-2.0-0.dll") (gobject "libgobject-2.0-0.dll"))) -@end lisp +@end example Note that image types @code{pbm} and @code{xbm} do not need entries in this variable because they do not depend on external libraries and are === modified file 'doc/lispref/positions.texi' --- doc/lispref/positions.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/positions.texi 2012-06-17 05:13:40 +0000 @@ -828,7 +828,8 @@ during an excursion: @example -Warning: Use `with-current-buffer' rather than save-excursion+set-buffer +Warning: Use `with-current-buffer' rather than + save-excursion+set-buffer @end example @noindent === modified file 'doc/lispref/processes.texi' --- doc/lispref/processes.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/processes.texi 2012-06-17 05:13:40 +0000 @@ -1802,7 +1802,7 @@ @item start The time when the process was started, in the same @w{@code{(@var{high} @var{low} @var{microsec})}} format used by -@code{current-time} and @code{file-attributes}. +@code{current-time} and by @code{file-attributes}. @item etime The time elapsed since the process started, in the @w{@code{(@var{high} === modified file 'doc/lispref/text.texi' --- doc/lispref/text.texi 2012-06-09 06:26:46 +0000 +++ doc/lispref/text.texi 2012-06-17 05:13:40 +0000 @@ -215,8 +215,7 @@ @defun buffer-string This function returns the contents of the entire accessible portion of -the current buffer as a string. It is equivalent to -@w{@code{(buffer-substring (point-min) (point-max))}}. +the current buffer, as a string. @end defun @defun filter-buffer-substring start end &optional delete === modified file 'doc/lispref/windows.texi' --- doc/lispref/windows.texi 2012-05-27 01:34:14 +0000 +++ doc/lispref/windows.texi 2012-06-17 05:13:40 +0000 @@ -1399,7 +1399,7 @@ functions described in @ref{Switching Buffers}, instead of calling @code{set-window-buffer} directly. -This function runs @code{window-scroll-functions}, followed by +This runs @code{window-scroll-functions}, followed by @code{window-configuration-change-hook}. @xref{Window Hooks}. @end defun === modified file 'etc/NEWS' --- etc/NEWS 2012-06-17 01:49:50 +0000 +++ etc/NEWS 2012-06-17 05:13:40 +0000 @@ -617,7 +617,8 @@ specifies how to display them: as a hexadecimal code in a box, a thin 1-pixel space, an empty box, etc. -*** New input methods: farsi, farsi-translit, bulgarian-alt-phonetic. +*** New input methods for Farsi and Bulgarian +(farsi-isiri-9147, farsi-transliterate-banan, bulgarian-alt-phonetic). *** `nobreak-char-display' now also highlights Unicode hyphen chars (U+2010 and U+2011). === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-06-17 00:32:36 +0000 +++ lisp/ChangeLog 2012-06-17 05:13:40 +0000 @@ -1,3 +1,8 @@ +2012-06-13 Glenn Morris + + * international/mule-cmds.el (mule-menu-keymap) + (set-language-environment, set-locale-environment): Doc tweaks. + 2012-06-16 Aurelien Aptel * cus-face.el (custom-face-attributes): Add wave-style underline === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2012-06-11 22:35:02 +0000 +++ lisp/gnus/ChangeLog 2012-06-17 05:13:40 +0000 @@ -1,3 +1,13 @@ +2012-06-10 Toke Høiland-Jørgensen (tiny change) + + * nnmaildir.el (nnmaildir-request-expire-articles): Ensure that `time' + is an integer to avoid later problems. + +2012-06-10 Lars Magne Ingebrigtsen + + * shr.el: Add a iso-8859-1 cookie to make stuff work under other + locales. + 2012-04-14 Wolfgang Jenkner * gnus-agent.el (gnus-agent-retrieve-headers): Recalculate the range of === modified file 'lisp/gnus/nnmaildir.el' --- lisp/gnus/nnmaildir.el 2011-08-04 00:58:07 +0000 +++ lisp/gnus/nnmaildir.el 2012-06-10 22:16:03 +0000 @@ -1461,7 +1461,7 @@ (if (eq time 'immediate) (setq time 0) (if (numberp time) - (setq time (* time 86400))))) + (setq time (round (* time 86400)))))) (when no-force (unless (integerp time) ;; handle 'never (throw 'return (gnus-uncompress-range ranges))) === modified file 'lisp/gnus/shr.el' --- lisp/gnus/shr.el 2012-03-19 14:44:14 +0000 +++ lisp/gnus/shr.el 2012-06-10 22:16:03 +0000 @@ -1393,4 +1393,8 @@ (provide 'shr) +;; Local Variables: +;; coding: iso-8859-1 +;; End: + ;;; shr.el ends here === modified file 'lisp/international/mule-cmds.el' --- lisp/international/mule-cmds.el 2012-06-07 19:25:48 +0000 +++ lisp/international/mule-cmds.el 2012-06-17 05:13:40 +0000 @@ -129,10 +129,10 @@ `(menu-item ,(purecopy "Set Coding Systems") ,set-coding-system-map :enable (default-value 'enable-multibyte-characters))) (define-key-after map [view-hello-file] - `(menu-item ,(purecopy "Show Multi-lingual Text") view-hello-file + `(menu-item ,(purecopy "Show Multilingual Sample Text") view-hello-file :enable (file-readable-p (expand-file-name "HELLO" data-directory)) - :help ,(purecopy "Display file which says HELLO in many languages"))) + :help ,(purecopy "Demonstrate various character sets"))) (define-key-after map [separator-coding-system] menu-bar-separator) (define-key-after map [describe-language-environment] @@ -148,7 +148,7 @@ `(menu-item ,(purecopy "List Character Sets") list-character-sets :help ,(purecopy "Show table of available character sets"))) (define-key-after map [mule-diag] - `(menu-item ,(purecopy "Show All of Mule Status") mule-diag + `(menu-item ,(purecopy "Show All Multilingual Settings") mule-diag :help ,(purecopy "Display multilingual environment settings"))) map) "Keymap for Mule (Multilingual environment) menu specific commands.") @@ -1828,7 +1828,7 @@ (set-terminal-coding-system (or coding-system coding) display))) (defun set-language-environment (language-name) - "Set up multi-lingual environment for using LANGUAGE-NAME. + "Set up multilingual environment for using LANGUAGE-NAME. This sets the coding system priority and the default input method and sometimes other things. LANGUAGE-NAME should be a string which is the name of a language environment. For example, \"Latin-1\" @@ -2500,7 +2500,7 @@ locale)) (defun set-locale-environment (&optional locale-name frame) - "Set up multi-lingual environment for using LOCALE-NAME. + "Set up multilingual environment for using LOCALE-NAME. This sets the language environment, the coding system priority, the default input method and sometimes other things. === modified file 'src/ChangeLog' --- src/ChangeLog 2012-06-17 00:32:36 +0000 +++ src/ChangeLog 2012-06-17 05:13:40 +0000 @@ -1,3 +1,8 @@ +2012-06-17 Jan Djärv + + * nsterm.m (x_free_frame_resources): Move xfree so freed memory isn't + referenced (Bug#11583). + 2012-06-16 Aurelien Aptel Implement wave-style variant of underlining. === modified file 'src/nsterm.m' --- src/nsterm.m 2012-06-17 00:32:36 +0000 +++ src/nsterm.m 2012-06-17 05:13:40 +0000 @@ -1155,14 +1155,14 @@ hlinfo->mouse_face_mouse_frame = 0; } - xfree (f->output_data.ns); - if (f->output_data.ns->miniimage != nil) [f->output_data.ns->miniimage release]; [[view window] close]; [view release]; + xfree (f->output_data.ns); + UNBLOCK_INPUT; } ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.