------------------------------------------------------------ revno: 115200 committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-11-22 20:20:31 -0800 message: Revert previous python.el change diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-23 03:13:16 +0000 +++ lisp/ChangeLog 2013-11-23 04:20:31 +0000 @@ -1,8 +1,3 @@ -2013-11-23 Jorgen Schaefer (tiny change) - - * progmodes/python.el (python-shell--save-temp-file): - Delete temp-file when done. (Bug#15647) - 2013-11-23 Ivan Shmakov (tiny change) * vc/diff-mode.el (diff-mode): Only allow diff-default-read-only === modified file 'lisp/progmodes/python.el' --- lisp/progmodes/python.el 2013-11-23 03:13:16 +0000 +++ lisp/progmodes/python.el 2013-11-23 04:20:31 +0000 @@ -2046,8 +2046,6 @@ (with-temp-file temp-file-name (insert "# -*- coding: utf-8 -*-\n") ;Not needed for Python-3. (insert string) - (insert (format "\n\nimport os ; os.remove('''%s''')\n" - temp-file-name)) (delete-trailing-whitespace)) temp-file-name)) ------------------------------------------------------------ revno: 115199 committer: Stefan Monnier branch nick: trunk timestamp: Fri 2013-11-22 22:23:20 -0500 message: * src/lread.c (init_lread): Fix int/Lisp_Object mixup. Please use --enable-check-lisp-object-type. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-23 02:58:28 +0000 +++ src/ChangeLog 2013-11-23 03:23:20 +0000 @@ -1,3 +1,8 @@ +2013-11-23 Stefan Monnier + + * lread.c (init_lread): Fix int/Lisp_Object mixup. + Please use --enable-check-lisp-object-type. + 2013-11-23 Glenn Morris * process.c (get_process): Explicit error for dead buffers. === modified file 'src/lread.c' --- src/lread.c 2013-11-23 01:55:16 +0000 +++ src/lread.c 2013-11-23 03:23:20 +0000 @@ -4341,7 +4341,7 @@ load_path_check (Vload_path); /* Replace any nil elements from the environment with the default. */ - if (Fmemq (Qnil, Vload_path)) + if (!NILP (Fmemq (Qnil, Vload_path))) { Lisp_Object lpath = Vload_path; Lisp_Object elem, default_lpath = load_path_default (1); ------------------------------------------------------------ revno: 115198 fixes bug: http://debbugs.gnu.org/15647 author: Jorgen Schaefer committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-11-22 19:13:16 -0800 message: * lisp/progmodes/python.el (python-shell--save-temp-file): Tiny change Delete temp-file when done. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-23 02:55:17 +0000 +++ lisp/ChangeLog 2013-11-23 03:13:16 +0000 @@ -1,3 +1,8 @@ +2013-11-23 Jorgen Schaefer (tiny change) + + * progmodes/python.el (python-shell--save-temp-file): + Delete temp-file when done. (Bug#15647) + 2013-11-23 Ivan Shmakov (tiny change) * vc/diff-mode.el (diff-mode): Only allow diff-default-read-only === modified file 'lisp/progmodes/python.el' --- lisp/progmodes/python.el 2013-11-05 09:47:47 +0000 +++ lisp/progmodes/python.el 2013-11-23 03:13:16 +0000 @@ -2046,6 +2046,8 @@ (with-temp-file temp-file-name (insert "# -*- coding: utf-8 -*-\n") ;Not needed for Python-3. (insert string) + (insert (format "\n\nimport os ; os.remove('''%s''')\n" + temp-file-name)) (delete-trailing-whitespace)) temp-file-name)) ------------------------------------------------------------ revno: 115197 committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-11-22 18:58:28 -0800 message: * src/process.c (get_process): Explicit error for dead buffers That seems more in keeping with the existing behavior of this function in other situations. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-23 02:24:50 +0000 +++ src/ChangeLog 2013-11-23 02:58:28 +0000 @@ -1,3 +1,7 @@ +2013-11-23 Glenn Morris + + * process.c (get_process): Explicit error for dead buffers. + 2013-11-23 Andreas Schwab * process.c (get_process): Check that OBJ is a live buffer. (Bug#15923) === modified file 'src/process.c' --- src/process.c 2013-11-23 02:24:50 +0000 +++ src/process.c 2013-11-23 02:58:28 +0000 @@ -1,7 +1,7 @@ /* Asynchronous subprocess control for GNU Emacs. -Copyright (C) 1985-1988, 1993-1996, 1998-1999, 2001-2013 Free Software -Foundation, Inc. +Copyright (C) 1985-1988, 1993-1996, 1998-1999, 2001-2013 + Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -812,12 +812,14 @@ else obj = name; - /* Now obj should be either a (live) buffer object or a process object. */ - if (BUFFERP (obj) && !NILP (BVAR (XBUFFER (obj), name))) + /* Now obj should be either a buffer object or a process object. */ + if (BUFFERP (obj)) { + if (NILP (BVAR (XBUFFER (obj), name))) + error ("Attempt to get process for a dead buffer"); proc = Fget_buffer_process (obj); if (NILP (proc)) - error ("Buffer %s has no process", SDATA (BVAR (XBUFFER (obj), name))); + error ("Buffer %s has no process", SDATA (BVAR (XBUFFER (obj), name))); } else { ------------------------------------------------------------ revno: 115196 fixes bug: http://debbugs.gnu.org/15938 author: Ivan Shmakov committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-11-22 18:55:17 -0800 message: * vc/diff-mode.el (diff-mode): Tiny change re diff-default-read-only Only allow diff-default-read-only to set buffer-read-only to t, never to nil. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-23 02:46:20 +0000 +++ lisp/ChangeLog 2013-11-23 02:55:17 +0000 @@ -1,5 +1,8 @@ 2013-11-23 Ivan Shmakov (tiny change) + * vc/diff-mode.el (diff-mode): Only allow diff-default-read-only + to set buffer-read-only to t, never to nil. (Bug#15938) + * textmodes/tex-mode.el (latex-noindent-environments): Add safe-local-variable property. (Bug#15936) === modified file 'lisp/vc/diff-mode.el' --- lisp/vc/diff-mode.el 2013-03-23 17:43:18 +0000 +++ lisp/vc/diff-mode.el 2013-11-23 02:55:17 +0000 @@ -1366,7 +1366,8 @@ (diff-setup-whitespace) - (setq buffer-read-only diff-default-read-only) + (if diff-default-read-only + (setq buffer-read-only t)) ;; setup change hooks (if (not diff-update-on-the-fly) (add-hook 'write-contents-functions 'diff-write-contents-hooks nil t) ------------------------------------------------------------ revno: 115195 fixes bug: http://debbugs.gnu.org/15936 author: Ivan Shmakov committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-11-22 18:46:20 -0800 message: * textmodes/tex-mode.el (latex-noindent-environments): Add safe-local-variable property. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-23 02:21:51 +0000 +++ lisp/ChangeLog 2013-11-23 02:46:20 +0000 @@ -1,3 +1,8 @@ +2013-11-23 Ivan Shmakov (tiny change) + + * textmodes/tex-mode.el (latex-noindent-environments): + Add safe-local-variable property. (Bug#15936) + 2013-11-23 Glenn Morris * textmodes/enriched.el (enriched-mode): Doc fix. === modified file 'lisp/textmodes/tex-mode.el' --- lisp/textmodes/tex-mode.el 2013-02-22 01:59:28 +0000 +++ lisp/textmodes/tex-mode.el 2013-11-23 02:46:20 +0000 @@ -2680,6 +2680,8 @@ (defvar tex-indent-item tex-indent-basic) (defvar tex-indent-item-re "\\\\\\(bib\\)?item\\>") (defvar latex-noindent-environments '("document")) +(put 'latex-noindent-environments 'safe-local-variable + (lambda (x) (null (delq t (mapcar 'stringp x))))) (defvar tex-latex-indent-syntax-table (let ((st (make-syntax-table tex-mode-syntax-table))) ------------------------------------------------------------ revno: 115194 [merge] committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-11-22 18:24:50 -0800 message: Merge from emacs-24; up to r111408 diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-23 01:55:16 +0000 +++ src/ChangeLog 2013-11-23 02:24:50 +0000 @@ -1,3 +1,7 @@ +2013-11-23 Andreas Schwab + + * process.c (get_process): Check that OBJ is a live buffer. (Bug#15923) + 2013-11-23 Glenn Morris Empty elements in EMACSLOADPATH stand for the default. (Bug#12100) === modified file 'src/process.c' --- src/process.c 2013-11-06 18:41:31 +0000 +++ src/process.c 2013-11-23 02:24:50 +0000 @@ -812,9 +812,8 @@ else obj = name; - /* Now obj should be either a buffer object or a process object. - */ - if (BUFFERP (obj)) + /* Now obj should be either a (live) buffer object or a process object. */ + if (BUFFERP (obj) && !NILP (BVAR (XBUFFER (obj), name))) { proc = Fget_buffer_process (obj); if (NILP (proc)) ------------------------------------------------------------ revno: 115193 fixes bug: http://debbugs.gnu.org/15947 committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-11-22 18:21:51 -0800 message: * etc/enriched.txt: Rename from enriched.doc. Misc small updates for this hardly being "new" any more. * lisp/textmodes/enriched.el (enriched-mode): Doc fix. * lisp/emacs-lisp/authors.el (authors-renamed-files-alist): Add enriched.doc -> enriched.txt. diff: === modified file 'doc/emacs/text.texi' --- doc/emacs/text.texi 2013-09-12 12:04:18 +0000 +++ doc/emacs/text.texi 2013-11-23 02:21:51 +0000 @@ -2011,8 +2011,8 @@ mode assigns text properties automatically, based on the current buffer contents; those properties are not saved to disk. - The file @file{etc/enriched.doc} in the Emacs distribution serves as -an example of the features of Enriched mode. + The file @file{enriched.txt} in Emacs's @code{data-directory} +serves as an example of the features of Enriched mode. @menu * Enriched Mode:: Entering and exiting Enriched mode. === modified file 'etc/ChangeLog' --- etc/ChangeLog 2013-11-20 02:44:38 +0000 +++ etc/ChangeLog 2013-11-23 02:21:51 +0000 @@ -1,3 +1,8 @@ +2013-11-23 Glenn Morris + + * enriched.txt: Rename from enriched.doc. (Bug#15947) + Misc small updates for this hardly being "new" any more. + 2013-11-20 Leo Liu * NEWS: Mention new display action alist entry `no-display-ok'. === renamed file 'etc/enriched.doc' => 'etc/enriched.txt' --- etc/enriched.doc 2013-11-21 19:22:42 +0000 +++ etc/enriched.txt 2013-11-23 02:21:51 +0000 @@ -10,10 +10,10 @@ -Emacs now has the ability to edit enriched text, which is text -containing faces, colors, indentation, and other properties. This -document is a quick introduction to some of the new features, and -is also an example file in the text/enriched format. +Emacs has the ability to edit enriched text, which is text +containing faces, colors, indentation, and other properties. +This document is a quick introduction to some of the features, +and is also an example file in the text/enriched format. bluewhiteINSTALLATION and STARTUP @@ -175,16 +175,8 @@ as possible. -The MIME standard is defined in Internet RFC 1521; text/enriched -is defined in RFC 1563. Details on obtaining these documents via -FTP or email may be obtained by sending an email message to -rfc-info@isi.edu with the message body: - - -help: ways_to_get_rfcs - - -See also the newsgroup comp.mail.mime. +The text/enriched standard is defined in Internet RFC 1896 +(<). bluewhiteCUSTOMIZATION @@ -198,16 +190,15 @@ - You can add annotations for your own text properties by making additions to enriched-translations. Note that the standard requires you to name your annotation starting "x-" (as in -"x-read-only"). Please send me any such additions that you -think might be of general interest so that I can include them -in the distribution. +"x-read-only"). Please report any such additions that you +think might be of general interest using M-x report-emacs-bug. -bluewhiteTO-DO LIST - - -[Feel free to work on these and send me the results!] +bluewhiteTODO LIST + + +[Feel free to work on these and send us the results!] + Conform to updated text/enriched spec in RFC 1896. @@ -238,22 +229,15 @@ + Support more formats: RTF, HTML... -+ Use Emacs 21 display features. ++ Use modern Emacs display features. -bluewhiteFinal Notes: - - -This code and documentation is under development. Comments and -bug reports are welcome. +bluewhiteOriginal Author: whiteblueBoris Goldowskylight blue light blue<blue -bluewhiteApril 1995; updated August 1997 - - Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-23 01:55:16 +0000 +++ lisp/ChangeLog 2013-11-23 02:21:51 +0000 @@ -1,5 +1,9 @@ 2013-11-23 Glenn Morris + * textmodes/enriched.el (enriched-mode): Doc fix. + * emacs-lisp/authors.el (authors-renamed-files-alist): + Add enriched.doc -> enriched.txt. + * Makefile.in (emacs): Empty EMACSLOADPATH rather than unsetting. 2013-11-22 Leo Liu === modified file 'lisp/emacs-lisp/authors.el' --- lisp/emacs-lisp/authors.el 2013-10-13 23:01:20 +0000 +++ lisp/emacs-lisp/authors.el 2013-11-23 02:21:51 +0000 @@ -617,6 +617,7 @@ ("config.h.in" . "config.in") ("paths.h-dist" . "paths.h.in") ("patch1" . "sed1.inp") + ("enriched.doc" . "enriched.txt") ("GETTING.GNU.SOFTWARE" . "FTP") ("etc/MACHINES" . "MACHINES") ("ONEWS" . "NEWS.19") === modified file 'lisp/textmodes/enriched.el' --- lisp/textmodes/enriched.el 2013-01-01 09:11:05 +0000 +++ lisp/textmodes/enriched.el 2013-11-23 02:21:51 +0000 @@ -31,7 +31,7 @@ ;; are supported except for and , which are currently not ;; possible to display. -;; A separate file, enriched.doc, contains further documentation and other +;; A separate file, enriched.txt, contains further documentation and other ;; important information about this code. It also serves as an example ;; file in text/enriched format. It should be in the etc directory of your ;; emacs distribution. @@ -199,7 +199,7 @@ Turning the mode on or off runs `enriched-mode-hook'. More information about Enriched mode is available in the file -etc/enriched.doc in the Emacs distribution directory. +\"enriched.txt\" in `data-directory'. Commands: ------------------------------------------------------------ revno: 115192 fixes bug: http://debbugs.gnu.org/12100 committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-11-22 17:55:16 -0800 message: Empty elements in EMACSLOADPATH now stand for the default * src/lread.c (load_path_check): Take path to check as argument. (load_path_default): New, split from init_lread. (init_lread): Move calc of default load-path to load_path_default. Empty elements in EMACSLOADPATH now stand for the default. (load-path): Doc fix. * src/emacs.c (decode_env_path): Add option to treat empty elements as nil rather than ".". * src/callproc.c (init_callproc_1, init_callproc): * src/image.c (Vx_bitmap_file_path): * src/lisp.h (decode_env_path): * lread.c (Vsource_directory): Update for new argument spec of decode_env_path. * leim/Makefile.in (RUN_EMACS): Empty EMACSLOADPATH rather than unsetting. * lisp/Makefile.in (emacs): Empty EMACSLOADPATH rather than unsetting. * test/automated/Makefile.in (emacs): Empty EMACSLOADPATH rather than unsetting. * doc/emacs/cmdargs.texi (General Variables): Empty elements in EMACSLOADPATH now mean the default load-path. * doc/lispref/loading.texi (Library Search): Empty elements in EMACSLOADPATH now mean the default load-path. * etc/NEWS: Mention this. diff: === modified file 'doc/emacs/ChangeLog' --- doc/emacs/ChangeLog 2013-11-21 00:21:50 +0000 +++ doc/emacs/ChangeLog 2013-11-23 01:55:16 +0000 @@ -1,3 +1,8 @@ +2013-11-23 Glenn Morris + + * cmdargs.texi (General Variables): + Empty elements in EMACSLOADPATH now mean the default load-path. + 2013-11-21 Glenn Morris * cmdargs.texi (Action Arguments): Use path-separator with -L. === modified file 'doc/emacs/cmdargs.texi' --- doc/emacs/cmdargs.texi 2013-11-21 00:21:50 +0000 +++ doc/emacs/cmdargs.texi 2013-11-23 01:55:16 +0000 @@ -455,13 +455,16 @@ Directory for the documentation string file, which is used to initialize the Lisp variable @code{doc-directory}. @item EMACSLOADPATH -A colon-separated list of directories@footnote{ Here and below, +A colon-separated list of directories@footnote{Here and below, whenever we say ``colon-separated list of directories'', it pertains to Unix and GNU/Linux systems. On MS-DOS and MS-Windows, the directories are separated by semi-colons instead, since DOS/Windows -file names might include a colon after a drive letter.} to search for -Emacs Lisp files. If set, it overrides the usual initial value of the -@code{load-path} variable (@pxref{Lisp Libraries}). +file names might include a colon after a drive letter.} to search for +Emacs Lisp files. If set, it modifies the usual initial value of the +@code{load-path} variable (@pxref{Lisp Libraries}). An empty element +stands for the default value of @code{load-path}; e.g., using +@samp{EMACSLOADPATH="/tmp:"} adds @file{/tmp} to the front of +the default @code{load-path}. @item EMACSPATH A colon-separated list of directories to search for executable files. If set, Emacs uses this in addition to @env{PATH} (see below) when === modified file 'doc/lispref/ChangeLog' --- doc/lispref/ChangeLog 2013-11-22 02:59:02 +0000 +++ doc/lispref/ChangeLog 2013-11-23 01:55:16 +0000 @@ -1,3 +1,8 @@ +2013-11-23 Glenn Morris + + * loading.texi (Library Search): + Empty elements in EMACSLOADPATH now mean the default load-path. + 2013-11-22 Glenn Morris * loading.texi (Library Search): Minor clarification. === modified file 'doc/lispref/loading.texi' --- doc/lispref/loading.texi 2013-11-22 02:59:02 +0000 +++ doc/lispref/loading.texi 2013-11-23 01:55:16 +0000 @@ -310,25 +310,34 @@ @file{site-lisp} directories.) @cindex @env{EMACSLOADPATH} environment variable -If the environment variable @env{EMACSLOADPATH} is set, it overrides -the above initialization procedure. That is, Emacs initializes -@code{load-path} based solely on the value of the environment -variable. You must therefore include the directory containing the -standard Lisp files, else Emacs will not function. In most -situations, it is better to use the @option{-L} command-line option -(see below) to add elements to @code{load-path}. +If the environment variable @env{EMACSLOADPATH} is set, it modifies +the above initialization procedure. Emacs initializes +@code{load-path} based on the value of the environment variable. The syntax of @env{EMACSLOADPATH} is the same as used for @code{PATH}; directory names are separated by @samp{:} (or @samp{;}, on some -operating systems), and @samp{.} stands for the current default -directory. Here is an example of how to set @env{EMACSLOADPATH} -variable (from a @command{sh}-style shell): +operating systems). +@ignore +@c AFAICS, does not (yet) work right to specify non-absolute elements. +and @samp{.} stands for the current default directory. +@end ignore +Here is an example of how to set @env{EMACSLOADPATH} variable (from a +@command{sh}-style shell): @example -export EMACSLOADPATH -EMACSLOADPATH=/home/foo/.emacs.d/lisp:/usr/local/emacs/24.3/lisp +export EMACSLOADPATH=/home/foo/.emacs.d/lisp: @end example +An empty element in the value of the environment variable, whether +trailing (as in the above example), leading, or embedded, is replaced +by the default value of @code{load-path} as determined by the standard +initialization procedure. If there are no such empty elements, then +@env{EMACSLOADPATH} specifies the entire @code{load-path}. You must +include either an empty element, or the explicit path to the directory +containing the standard Lisp files, else Emacs will not function. +(Another way to modify @code{load-path} is to use the @option{-L} +command-line option when starting Emacs; see below.) + For each directory in @code{load-path}, Emacs then checks to see if it contains a file @file{subdirs.el}, and if so, loads it. The @file{subdirs.el} file is created when Emacs is built/installed, === modified file 'etc/NEWS' --- etc/NEWS 2013-11-21 00:21:50 +0000 +++ etc/NEWS 2013-11-23 01:55:16 +0000 @@ -63,6 +63,16 @@ * Startup Changes in Emacs 24.4 +++ +** When initializing `load-path', an empty element in the EMACSLOADPATH +environment variable (either leading, e.g., ":/foo"; trailing, e.g., +"/foo:"; or embedded, e.g., "/foo::/bar") is replaced with the default +load-path (the one that would have been used if EMACSLOADPATH was unset). +This makes it easier to _extend_ the load-path via EMACSLOADPATH +(previously, EMACSLOADPATH had to specify the complete load-path, +including the defaults). (In older versions of Emacs, an empty element +was replaced by ".", so use an explicit "." now if that is what you want.) + ++++ ** The -L option, which normally prepends its argument to load-path, will instead append, if the argument begins with `:' (or `;' on MS Windows; i.e., `path-separator'). === modified file 'leim/ChangeLog' --- leim/ChangeLog 2013-11-04 17:30:33 +0000 +++ leim/ChangeLog 2013-11-23 01:55:16 +0000 @@ -1,3 +1,7 @@ +2013-11-23 Glenn Morris + + * Makefile.in (RUN_EMACS): Empty EMACSLOADPATH rather than unsetting. + 2013-11-04 Eli Zaretskii * Makefile.in (RUN_EMACS): Don't set LC_ALL=C. (Bug#15260) === modified file 'leim/Makefile.in' --- leim/Makefile.in 2013-11-04 17:30:33 +0000 +++ leim/Makefile.in 2013-11-23 01:55:16 +0000 @@ -32,8 +32,7 @@ # How to run Emacs. # Prevent any setting of EMACSLOADPATH in user environment causing problems. -RUN_EMACS = unset EMACSLOADPATH; "${EMACS}" -batch \ - --no-site-file --no-site-lisp +RUN_EMACS = EMACSLOADPATH= "${EMACS}" -batch --no-site-file --no-site-lisp MKDIR_P = @MKDIR_P@ === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-22 14:17:48 +0000 +++ lisp/ChangeLog 2013-11-23 01:55:16 +0000 @@ -1,3 +1,7 @@ +2013-11-23 Glenn Morris + + * Makefile.in (emacs): Empty EMACSLOADPATH rather than unsetting. + 2013-11-22 Leo Liu * progmodes/octave.el (inferior-octave-startup): Spit out error === modified file 'lisp/Makefile.in' --- lisp/Makefile.in 2013-11-06 17:56:48 +0000 +++ lisp/Makefile.in 2013-11-23 01:55:16 +0000 @@ -106,7 +106,7 @@ # The actual Emacs command run in the targets below. # Prevent any setting of EMACSLOADPATH in user environment causing problems. -emacs = unset EMACSLOADPATH; "$(EMACS)" $(EMACSOPT) +emacs = EMACSLOADPATH= "$(EMACS)" $(EMACSOPT) # Common command to find subdirectories setwins=for file in `find . -type d -print`; do \ === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-22 16:04:49 +0000 +++ src/ChangeLog 2013-11-23 01:55:16 +0000 @@ -1,3 +1,19 @@ +2013-11-23 Glenn Morris + + Empty elements in EMACSLOADPATH stand for the default. (Bug#12100) + * lread.c (load_path_check): Take path to check as argument. + (load_path_default): New, split from init_lread. + (init_lread): Move calc of default load-path to load_path_default. + Empty elements in EMACSLOADPATH now stand for the default. + (load-path): Doc fix. + * emacs.c (decode_env_path): Add option to treat empty elements + as nil rather than ".". + * callproc.c (init_callproc_1, init_callproc): + * image.c (Vx_bitmap_file_path): + * lisp.h (decode_env_path): + * lread.c (Vsource_directory): + Update for new argument spec of decode_env_path. + 2013-11-22 Eli Zaretskii * bidi.c (bidi_find_paragraph_start): Limit the returned positions === modified file 'src/callproc.c' --- src/callproc.c 2013-11-05 22:45:44 +0000 +++ src/callproc.c 2013-11-23 01:55:16 +0000 @@ -1,6 +1,6 @@ /* Synchronous subprocess invocation for GNU Emacs. - Copyright (C) 1985-1988, 1993-1995, 1999-2013 - Free Software Foundation, Inc. + +Copyright (C) 1985-1988, 1993-1995, 1999-2013 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -1520,14 +1520,14 @@ #ifdef HAVE_NS etc_dir ? etc_dir : #endif - PATH_DATA); + PATH_DATA, 0); Vdata_directory = Ffile_name_as_directory (Fcar (Vdata_directory)); Vdoc_directory = decode_env_path ("EMACSDOC", #ifdef HAVE_NS etc_dir ? etc_dir : #endif - PATH_DOC); + PATH_DOC, 0); Vdoc_directory = Ffile_name_as_directory (Fcar (Vdoc_directory)); /* Check the EMACSPATH environment variable, defaulting to the @@ -1536,10 +1536,10 @@ #ifdef HAVE_NS path_exec ? path_exec : #endif - PATH_EXEC); + PATH_EXEC, 0); Vexec_directory = Ffile_name_as_directory (Fcar (Vexec_path)); /* FIXME? For ns, path_exec should go at the front? */ - Vexec_path = nconc2 (decode_env_path ("PATH", ""), Vexec_path); + Vexec_path = nconc2 (decode_env_path ("PATH", "", 0), Vexec_path); } /* This is run after init_cmdargs, when Vinstallation_directory is valid. */ @@ -1580,9 +1580,9 @@ #ifdef HAVE_NS path_exec ? path_exec : #endif - PATH_EXEC); + PATH_EXEC, 0); Vexec_path = Fcons (tem, Vexec_path); - Vexec_path = nconc2 (decode_env_path ("PATH", ""), Vexec_path); + Vexec_path = nconc2 (decode_env_path ("PATH", "", 0), Vexec_path); } Vexec_directory = Ffile_name_as_directory (tem); === modified file 'src/emacs.c' --- src/emacs.c 2013-11-04 17:30:33 +0000 +++ src/emacs.c 2013-11-23 01:55:16 +0000 @@ -2167,10 +2167,13 @@ Lisp_Object -decode_env_path (const char *evarname, const char *defalt) +decode_env_path (const char *evarname, const char *defalt, bool empty) { const char *path, *p; Lisp_Object lpath, element, tem; + /* Default is to use "." for empty path elements. + But if argument EMPTY is true, use nil instead. */ + Lisp_Object empty_element = empty ? Qnil : build_string ("."); #ifdef WINDOWSNT bool defaulted = 0; const char *emacs_dir = egetenv ("emacs_dir"); @@ -2209,34 +2212,38 @@ if (!p) p = path + strlen (path); element = (p - path ? make_unibyte_string (path, p - path) - : build_string (".")); + : empty_element); + if (! NILP (element)) + { #ifdef WINDOWSNT - /* Relative file names in the default path are interpreted as - being relative to $emacs_dir. */ - if (emacs_dir && defaulted - && strncmp (path, emacs_dir_env, emacs_dir_len) == 0) - element = Fexpand_file_name (Fsubstring (element, - make_number (emacs_dir_len), - Qnil), - build_unibyte_string (emacs_dir)); + /* Relative file names in the default path are interpreted as + being relative to $emacs_dir. */ + if (emacs_dir && defaulted + && strncmp (path, emacs_dir_env, emacs_dir_len) == 0) + element = Fexpand_file_name (Fsubstring + (element, + make_number (emacs_dir_len), + Qnil), + build_unibyte_string (emacs_dir)); #endif - /* Add /: to the front of the name - if it would otherwise be treated as magic. */ - tem = Ffind_file_name_handler (element, Qt); - - /* However, if the handler says "I'm safe", - don't bother adding /:. */ - if (SYMBOLP (tem)) - { - Lisp_Object prop; - prop = Fget (tem, intern ("safe-magic")); - if (! NILP (prop)) - tem = Qnil; - } - - if (! NILP (tem)) - element = concat2 (build_string ("/:"), element); + /* Add /: to the front of the name + if it would otherwise be treated as magic. */ + tem = Ffind_file_name_handler (element, Qt); + + /* However, if the handler says "I'm safe", + don't bother adding /:. */ + if (SYMBOLP (tem)) + { + Lisp_Object prop; + prop = Fget (tem, intern ("safe-magic")); + if (! NILP (prop)) + tem = Qnil; + } + + if (! NILP (tem)) + element = concat2 (build_string ("/:"), element); + } /* !NILP (element) */ lpath = Fcons (element, lpath); if (*p) === modified file 'src/image.c' --- src/image.c 2013-11-06 04:11:04 +0000 +++ src/image.c 2013-11-23 01:55:16 +0000 @@ -9502,7 +9502,7 @@ DEFVAR_LISP ("x-bitmap-file-path", Vx_bitmap_file_path, doc: /* List of directories to search for window system bitmap files. */); - Vx_bitmap_file_path = decode_env_path (0, PATH_BITMAPS); + Vx_bitmap_file_path = decode_env_path (0, PATH_BITMAPS, 0); DEFVAR_LISP ("image-cache-eviction-delay", Vimage_cache_eviction_delay, doc: /* Maximum time after which images are removed from the cache. === modified file 'src/lisp.h' --- src/lisp.h 2013-11-21 06:46:59 +0000 +++ src/lisp.h 2013-11-23 01:55:16 +0000 @@ -1,7 +1,6 @@ /* Fundamental definitions for GNU Emacs Lisp interpreter. -Copyright (C) 1985-1987, 1993-1995, 1997-2013 Free Software Foundation, -Inc. +Copyright (C) 1985-1987, 1993-1995, 1997-2013 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -4058,7 +4057,7 @@ #if defined (HAVE_X_WINDOWS) || defined (HAVE_NS) extern bool display_arg; #endif -extern Lisp_Object decode_env_path (const char *, const char *); +extern Lisp_Object decode_env_path (const char *, const char *, bool); extern Lisp_Object empty_unibyte_string, empty_multibyte_string; extern Lisp_Object Qfile_name_handler_alist; extern _Noreturn void terminate_due_to_signal (int, int); === modified file 'src/lread.c' --- src/lread.c 2013-11-14 02:39:28 +0000 +++ src/lread.c 2013-11-23 01:55:16 +0000 @@ -1,7 +1,6 @@ /* Lisp parsing and input streams. -Copyright (C) 1985-1989, 1993-1995, 1997-2013 Free Software Foundation, -Inc. +Copyright (C) 1985-1989, 1993-1995, 1997-2013 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -4106,17 +4105,17 @@ SET_SYMBOL_FWD (XSYMBOL (sym), (union Lisp_Fwd *)ko_fwd); } -/* Check that the elements of Vload_path exist. */ +/* Check that the elements of lpath exist. */ static void -load_path_check (void) +load_path_check (Lisp_Object lpath) { Lisp_Object path_tail; /* The only elements that might not exist are those from PATH_LOADSEARCH, EMACSLOADPATH. Anything else is only added if it exists. */ - for (path_tail = Vload_path; !NILP (path_tail); path_tail = XCDR (path_tail)) + for (path_tail = lpath; !NILP (path_tail); path_tail = XCDR (path_tail)) { Lisp_Object dirfile; dirfile = Fcar (path_tail); @@ -4133,19 +4132,23 @@ so we can see if the site changed it later during dumping. */ static Lisp_Object dump_path; -/* Compute the default Vload_path, with the following logic: - If CANNOT_DUMP: - use EMACSLOADPATH env-var if set; otherwise use PATH_LOADSEARCH, - prepending PATH_SITELOADSEARCH unless --no-site-lisp. +/* Return the default load-path, to be used if EMACSLOADPATH is unset. + This does not include the standard site-lisp directories + under the installation prefix (i.e., PATH_SITELOADSEARCH), + but it does (unless no_site_lisp is set) include site-lisp + directories in the source/build directories if those exist and we + are running uninstalled. + + Uses the following logic: + If CANNOT_DUMP: Use PATH_LOADSEARCH. The remainder is what happens when dumping works: If purify-flag (ie dumping) just use PATH_DUMPLOADSEARCH. - Otherwise use EMACSLOADPATH if set, else PATH_LOADSEARCH. + Otherwise use PATH_LOADSEARCH. - If !initialized, then just set both Vload_path and dump_path. - If initialized, then if Vload_path != dump_path, do nothing. + If !initialized, then just set dump_path and return PATH_DUMPLOADSEARCH. + If initialized, then if Vload_path != dump_path, return just Vload_path. (Presumably the load-path has already been changed by something. - This can only be from a site-load file during dumping, - or because EMACSLOADPATH is set.) + This can only be from a site-load file during dumping.) If Vinstallation_directory is not nil (ie, running uninstalled): If installation-dir/lisp exists and not already a member, we must be running uninstalled. Reset the load-path @@ -4162,12 +4165,11 @@ install-dir/src/Makefile.in does NOT exist (this is a sanity check), then repeat the above steps for source-dir/lisp, leim and site-lisp. - Finally, add the site-lisp directories at the front (if !no_site_lisp). */ - -void -init_lread (void) +Lisp_Object +load_path_default (bool ignore_existing) { + Lisp_Object lpath = Qnil; const char *normal; #ifdef CANNOT_DUMP @@ -4177,35 +4179,14 @@ normal = PATH_LOADSEARCH; #ifdef HAVE_NS - Vload_path = decode_env_path ("EMACSLOADPATH", loadpath ? loadpath : normal); + lpath = decode_env_path (0, loadpath ? loadpath : normal, 0); #else - Vload_path = decode_env_path ("EMACSLOADPATH", normal); + lpath = decode_env_path (0, normal, 0); #endif - load_path_check (); - - /* FIXME CANNOT_DUMP platforms should get source-dir/lisp etc added - to their load-path too, AFAICS. I don't think we can tell the - difference between initialized and !initialized in this case, - so we'll have to do it unconditionally when Vinstallation_directory - is non-nil. */ - if (!no_site_lisp && !egetenv ("EMACSLOADPATH")) - { - Lisp_Object sitelisp; - sitelisp = decode_env_path (0, PATH_SITELOADSEARCH); - if (! NILP (sitelisp)) Vload_path = nconc2 (sitelisp, Vload_path); - } #else /* !CANNOT_DUMP */ - if (NILP (Vpurify_flag)) - { - normal = PATH_LOADSEARCH; - /* If the EMACSLOADPATH environment variable is set, use its value. - This doesn't apply if we're dumping. */ - if (egetenv ("EMACSLOADPATH")) - Vload_path = decode_env_path ("EMACSLOADPATH", normal); - } - else - normal = PATH_DUMPLOADSEARCH; + + normal = NILP (Vpurify_flag) ? PATH_LOADSEARCH : PATH_DUMPLOADSEARCH; /* In a dumped Emacs, we normally reset the value of Vload_path using PATH_LOADSEARCH, since the value that was dumped uses lisp/ in @@ -4216,24 +4197,22 @@ site-lisp files that were processed during dumping. */ if (initialized) { - if (NILP (Fequal (dump_path, Vload_path))) + if (!ignore_existing && NILP (Fequal (dump_path, Vload_path))) { - /* Do not make any changes, just check the elements exist. */ - /* Note: --no-site-lisp is ignored. - I don't know what to do about this. */ - load_path_check (); + /* Do not make any changes. */ + return Vload_path; } else - { + { #ifdef HAVE_NS - const char *loadpath = ns_load_path (); - Vload_path = decode_env_path (0, loadpath ? loadpath : normal); + const char *loadpath = ns_load_path (); + lpath = decode_env_path (0, loadpath ? loadpath : normal, 0); #else - Vload_path = decode_env_path (0, normal); + lpath = decode_env_path (0, normal, 0); #endif - if (!NILP (Vinstallation_directory)) - { - Lisp_Object tem, tem1; + if (!NILP (Vinstallation_directory)) + { + Lisp_Object tem, tem1; /* Add to the path the lisp subdir of the installation dir, if it is accessible. Note: in out-of-tree builds, @@ -4243,19 +4222,19 @@ tem1 = Ffile_accessible_directory_p (tem); if (!NILP (tem1)) { - if (NILP (Fmember (tem, Vload_path))) + if (NILP (Fmember (tem, lpath))) { /* We are running uninstalled. The default load-path points to the eventual installed lisp, leim directories. We should not use those now, even if they exist, so start over from a clean slate. */ - Vload_path = list1 (tem); + lpath = list1 (tem); } } else /* That dir doesn't exist, so add the build-time Lisp dirs instead. */ - Vload_path = nconc2 (Vload_path, dump_path); + lpath = nconc2 (lpath, dump_path); /* Add leim under the installation dir, if it is accessible. */ tem = Fexpand_file_name (build_string ("leim"), @@ -4263,8 +4242,8 @@ tem1 = Ffile_accessible_directory_p (tem); if (!NILP (tem1)) { - if (NILP (Fmember (tem, Vload_path))) - Vload_path = Fcons (tem, Vload_path); + if (NILP (Fmember (tem, lpath))) + lpath = Fcons (tem, lpath); } /* Add site-lisp under the installation dir, if it exists. */ @@ -4275,8 +4254,8 @@ tem1 = Ffile_accessible_directory_p (tem); if (!NILP (tem1)) { - if (NILP (Fmember (tem, Vload_path))) - Vload_path = Fcons (tem, Vload_path); + if (NILP (Fmember (tem, lpath))) + lpath = Fcons (tem, lpath); } } @@ -4304,14 +4283,14 @@ tem = Fexpand_file_name (build_string ("lisp"), Vsource_directory); - if (NILP (Fmember (tem, Vload_path))) - Vload_path = Fcons (tem, Vload_path); + if (NILP (Fmember (tem, lpath))) + lpath = Fcons (tem, lpath); tem = Fexpand_file_name (build_string ("leim"), Vsource_directory); - if (NILP (Fmember (tem, Vload_path))) - Vload_path = Fcons (tem, Vload_path); + if (NILP (Fmember (tem, lpath))) + lpath = Fcons (tem, lpath); if (!no_site_lisp) { @@ -4320,47 +4299,101 @@ tem1 = Ffile_accessible_directory_p (tem); if (!NILP (tem1)) { - if (NILP (Fmember (tem, Vload_path))) - Vload_path = Fcons (tem, Vload_path); + if (NILP (Fmember (tem, lpath))) + lpath = Fcons (tem, lpath); } } } } /* Vinstallation_directory != Vsource_directory */ - } /* if Vinstallation_directory */ - - /* Check before adding the site-lisp directories. - The install should have created them, but they are not - required, so no need to warn if they are absent. - Or we might be running before installation. */ - load_path_check (); - - /* Add the site-lisp directories at the front. */ - if (!no_site_lisp) - { - Lisp_Object sitelisp; - sitelisp = decode_env_path (0, PATH_SITELOADSEARCH); - if (! NILP (sitelisp)) Vload_path = nconc2 (sitelisp, Vload_path); - } - } /* if dump_path == Vload_path */ + } /* if Vinstallation_directory */ + + } /* if dump_path == Vload_path */ } else /* !initialized */ { /* NORMAL refers to PATH_DUMPLOADSEARCH, ie the lisp dir in the source directory. We used to add ../lisp (ie the lisp dir in the build directory) at the front here, but that caused trouble - because it was copied from dump_path into Vload_path, above, - when Vinstallation_directory was non-nil. It should not be + because it was copied from dump_path into Vload_path, above, + when Vinstallation_directory was non-nil. It should not be necessary, since in out of tree builds lisp/ is empty, save for Makefile. */ - Vload_path = decode_env_path (0, normal); - dump_path = Vload_path; - /* No point calling load_path_check; load-path only contains essential - elements from the source directory at this point. They cannot - be missing unless something went extremely (and improbably) - wrong, in which case the build will fail in obvious ways. */ - } -#endif /* !CANNOT_DUMP */ + lpath = decode_env_path (0, normal, 0); + dump_path = lpath; + } +#endif /* !CANNOT_DUMP */ + + return lpath; +} + +void +init_lread (void) +{ + /* First, set Vload_path. */ + + /* We explicitly ignore EMACSLOADPATH when dumping. */ + if (NILP (Vpurify_flag) && egetenv ("EMACSLOADPATH")) + { + Vload_path = decode_env_path ("EMACSLOADPATH", 0, 1); + + /* Check (non-nil) user-supplied elements. */ + load_path_check (Vload_path); + + /* Replace any nil elements from the environment with the default. */ + if (Fmemq (Qnil, Vload_path)) + { + Lisp_Object lpath = Vload_path; + Lisp_Object elem, default_lpath = load_path_default (1); + + /* Check defaults, before adding site-lisp. */ + load_path_check (default_lpath); + + /* Add the site-lisp directories to the front of the default. */ + if (!no_site_lisp) + { + Lisp_Object sitelisp; + sitelisp = decode_env_path (0, PATH_SITELOADSEARCH, 0); + if (! NILP (sitelisp)) + default_lpath = nconc2 (sitelisp, default_lpath); + } + + Vload_path = Qnil; + + /* Replace nils from EMACSLOADPATH by default. */ + while (CONSP (lpath)) + { + Lisp_Object arg[2]; + elem = XCAR (lpath); + lpath = XCDR (lpath); + arg[0] = Vload_path; + arg[1] = NILP (elem) ? default_lpath : Fcons (elem, Qnil); + Vload_path = Fappend (2, arg); + } + } /* Fmemq (Qnil, Vload_path) */ + } + else /* Vpurify_flag || !EMACSLOADPATH */ + { + Vload_path = load_path_default (0); + + /* Check before adding site-lisp directories. + The install should have created them, but they are not + required, so no need to warn if they are absent. + Or we might be running before installation. */ + load_path_check (Vload_path); + + /* Add the site-lisp directories at the front, unless the + load-path has somehow already been changed (this can only be + from a site-load file during dumping?) from the dumped value. + FIXME? Should we ignore any dump_path changes? */ + if (initialized && !no_site_lisp && + ! NILP (Fequal (dump_path, Vload_path))) + { + Lisp_Object sitelisp; + sitelisp = decode_env_path (0, PATH_SITELOADSEARCH, 0); + if (! NILP (sitelisp)) Vload_path = nconc2 (sitelisp, Vload_path); + } + } /* !Vpurify_flag && EMACSLOADPATH */ Vvalues = Qnil; @@ -4467,9 +4500,8 @@ DEFVAR_LISP ("load-path", Vload_path, doc: /* List of directories to search for files to load. -Each element is a string (directory name) or nil (try default directory). -Initialized based on EMACSLOADPATH environment variable, if any, -otherwise to default specified by file `epaths.h' when Emacs was built. */); +Each element is a string (directory name) or nil (meaning `default-directory'). +Initialized during startup as described in Info node `(elisp)Library Search'. */); DEFVAR_LISP ("load-suffixes", Vload_suffixes, doc: /* List of suffixes for (compiled or source) Emacs Lisp files. @@ -4585,7 +4617,7 @@ You cannot count on them to still be there! */); Vsource_directory = Fexpand_file_name (build_string ("../"), - Fcar (decode_env_path (0, PATH_DUMPLOADSEARCH))); + Fcar (decode_env_path (0, PATH_DUMPLOADSEARCH, 0))); DEFVAR_LISP ("preloaded-file-list", Vpreloaded_file_list, doc: /* List of files that were preloaded (when dumping Emacs). */); === modified file 'test/ChangeLog' --- test/ChangeLog 2013-11-22 11:02:26 +0000 +++ test/ChangeLog 2013-11-23 01:55:16 +0000 @@ -1,3 +1,8 @@ +2013-11-23 Glenn Morris + + * automated/Makefile.in (emacs): + Empty EMACSLOADPATH rather than unsetting. + 2013-11-22 Glenn Morris * automated/ruby-mode-tests.el (ruby-exit!-font-lock): === modified file 'test/automated/Makefile.in' --- test/automated/Makefile.in 2013-11-21 01:31:33 +0000 +++ test/automated/Makefile.in 2013-11-23 01:55:16 +0000 @@ -43,8 +43,7 @@ # The actual Emacs command run in the targets below. # Prevent any setting of EMACSLOADPATH in user environment causing problems. -emacs = unset EMACSLOADPATH; \ - LC_ALL=C EMACS_TEST_DIRECTORY=$(srcdir) "$(EMACS)" $(EMACSOPT) +emacs = EMACSLOADPATH= LC_ALL=C EMACS_TEST_DIRECTORY=$(srcdir) "$(EMACS)" $(EMACSOPT) # Common command to find subdirectories setwins=for file in `find $(srcdir) -type d -print`; do \ ------------------------------------------------------------ revno: 115191 committer: Glenn Morris branch nick: trunk timestamp: Fri 2013-11-22 15:18:16 -0500 message: ChangeLog fix (Gnus's lpath.el is not in Emacs) diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2013-11-21 22:55:59 +0000 +++ lisp/gnus/ChangeLog 2013-11-22 20:18:16 +0000 @@ -3,19 +3,13 @@ * gnus-icalendar.el (gnus-icalendar-additional-identities): New. (gnus-icalendar-identities): Support additional-identities. -2013-11-21 Jan Tatarik - - * gnus-icalendar.el (gnus-icalendar-event:org-timestamp): Fix - org-timestamp for events ending at midnight. + * gnus-icalendar.el (gnus-icalendar-event:org-timestamp): + Fix org-timestamp for events ending at midnight. 2013-11-21 Ivan Shmakov (tiny change) - * nndoc.el (nndoc-type-alist, nndoc-debbugs-db-type-p): Support debbugs - .log files. - -2013-11-20 David Engster - - * lpath.el: Fix XEmacs warning for `beginning-of-visual-line'. + * nndoc.el (nndoc-type-alist, nndoc-debbugs-db-type-p): + Support debbugs .log files. 2013-11-20 Dave Goldberg ------------------------------------------------------------ revno: 115190 fixes bug: http://debbugs.gnu.org/15951 committer: Eli Zaretskii branch nick: trunk timestamp: Fri 2013-11-22 18:04:49 +0200 message: Fix bug #15951 with vertical-motion near beginning of narrowed region. src/bidi.c (bidi_find_paragraph_start): Limit the returned positions to BEGV_BYTE..ZV_BYTE range. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2013-11-21 17:26:55 +0000 +++ src/ChangeLog 2013-11-22 16:04:49 +0000 @@ -1,3 +1,8 @@ +2013-11-22 Eli Zaretskii + + * bidi.c (bidi_find_paragraph_start): Limit the returned positions + to BEGV_BYTE..ZV_BYTE range. (Bug#15951) + 2013-11-21 Paul Eggert Fix some dependency problems that cause unnecessary recompiles. === modified file 'src/bidi.c' --- src/bidi.c 2013-09-17 07:06:42 +0000 +++ src/bidi.c 2013-11-22 16:04:49 +0000 @@ -1148,6 +1148,9 @@ pos = BEGV, pos_byte = BEGV_BYTE; if (bpc) know_region_cache (current_buffer, bpc, pos, oldpos); + /* Positions returned by the region cache are not limited to + BEGV..ZV range, so we limit them here. */ + pos_byte = clip_to_bounds (BEGV_BYTE, pos_byte, ZV_BYTE); return pos_byte; } ------------------------------------------------------------ revno: 115189 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-11-22 22:17:48 +0800 message: * progmodes/octave.el (inferior-octave-startup): Spit out error message. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-22 12:36:38 +0000 +++ lisp/ChangeLog 2013-11-22 14:17:48 +0000 @@ -1,3 +1,8 @@ +2013-11-22 Leo Liu + + * progmodes/octave.el (inferior-octave-startup): Spit out error + message. + 2013-11-22 Bozhidar Batsov * progmodes/ruby-mode.el (ruby-custom-encoding-magic-comment-template): === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-11-22 09:50:41 +0000 +++ lisp/progmodes/octave.el 2013-11-22 14:17:48 +0000 @@ -786,8 +786,13 @@ ;; output may be mixed up). Hence, we need to digest the Octave ;; output to see when it issues a prompt. (while inferior-octave-receive-in-progress - (or (inferior-octave-process-live-p) - (error "Process `%s' died" inferior-octave-process)) + (unless (inferior-octave-process-live-p) + ;; Spit out the error messages. + (when inferior-octave-output-list + (princ (concat (mapconcat 'identity inferior-octave-output-list "\n") + "\n") + (process-mark inferior-octave-process))) + (error "Process `%s' died" inferior-octave-process)) (accept-process-output inferior-octave-process)) (goto-char (point-max)) (set-marker (process-mark proc) (point)) ------------------------------------------------------------ revno: 115188 committer: Bozhidar Batsov branch nick: master timestamp: Fri 2013-11-22 14:36:38 +0200 message: * progmodes/ruby-mode.el (ruby-custom-encoding-magic-comment-template), (ruby-encoding-magic-comment-style): Add :version. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-22 12:28:23 +0000 +++ lisp/ChangeLog 2013-11-22 12:36:38 +0000 @@ -2,6 +2,8 @@ * progmodes/ruby-mode.el (ruby-custom-encoding-magic-comment-template): Improve docstring. + Add :version. + (ruby-encoding-magic-comment-style): Add :version. 2013-11-22 Leo Liu === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-11-22 12:28:23 +0000 +++ lisp/progmodes/ruby-mode.el 2013-11-22 12:36:38 +0000 @@ -270,13 +270,15 @@ (const :tag "Emacs Style" emacs) (const :tag "Ruby Style" ruby) (const :tag "Custom Style" custom)) - :group 'ruby) + :group 'ruby + :version "24.4") (defcustom ruby-custom-encoding-magic-comment-template "# encoding: %s" "A custom encoding comment template. It is used when `ruby-encoding-magic-comment-style' is set to `custom'." :type 'string - :group 'ruby) + :group 'ruby + :version "24.4") (defcustom ruby-use-encoding-map t "Use `ruby-encoding-map' to set encoding magic comment if this is non-nil." ------------------------------------------------------------ revno: 115187 committer: Bozhidar Batsov branch nick: master timestamp: Fri 2013-11-22 14:28:23 +0200 message: * lisp/progmodes/ruby-mode.el (ruby-custom-encoding-magic-comment-template): Improve docstring. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-22 10:50:37 +0000 +++ lisp/ChangeLog 2013-11-22 12:28:23 +0000 @@ -1,3 +1,8 @@ +2013-11-22 Bozhidar Batsov + + * progmodes/ruby-mode.el (ruby-custom-encoding-magic-comment-template): + Improve docstring. + 2013-11-22 Leo Liu * progmodes/octave.el (octave-operator-regexp): Exclude newline. === modified file 'lisp/progmodes/ruby-mode.el' --- lisp/progmodes/ruby-mode.el 2013-11-20 10:52:07 +0000 +++ lisp/progmodes/ruby-mode.el 2013-11-22 12:28:23 +0000 @@ -273,8 +273,8 @@ :group 'ruby) (defcustom ruby-custom-encoding-magic-comment-template "# encoding: %s" - "The encoding comment template to be used when -`ruby-encoding-magic-comment-style' is set to `custom'." + "A custom encoding comment template. +It is used when `ruby-encoding-magic-comment-style' is set to `custom'." :type 'string :group 'ruby) ------------------------------------------------------------ revno: 115186 committer: Bozhidar Batsov branch nick: master timestamp: Fri 2013-11-22 13:02:26 +0200 message: Add missing ChangeLog entries diff: === modified file 'test/ChangeLog' --- test/ChangeLog 2013-11-22 03:08:31 +0000 +++ test/ChangeLog 2013-11-22 11:02:26 +0000 @@ -11,6 +11,13 @@ * automated/Makefile.in (PATH_SEPARATOR): New, set by configure. (EMACSOPT): Use PATH_SEPARATOR. +2013-11-20 Bozhidar Batsov + + * test/automated/ruby-mode-tests.el: + Add a failing test for Bug#15874. + * test/automated/ruby-mode-tests.el: + Add a few tests for `ruby--insert-coding-comment'. + 2013-11-18 Paul Eggert Improve API of recently-added bool vector functions (Bug#15912). ------------------------------------------------------------ revno: 115185 committer: Bozhidar Batsov branch nick: master timestamp: Fri 2013-11-22 12:50:37 +0200 message: Add missing ChangeLog entry diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-22 09:50:41 +0000 +++ lisp/ChangeLog 2013-11-22 10:50:37 +0000 @@ -53,6 +53,12 @@ * emacs-lisp/package.el (describe-package-1): Add package archive to shown fields. +2013-11-20 Bozhidar Batsov + + * progmodes/ruby-mode.el (ruby-custom-encoding-magic-comment-template): + Change default to "# encoding: %s" to differentiate it from the + default Ruby encoding comment template. + 2013-11-20 era eriksson * ses.el (ses-mode): Doc fix. (Bug#14748) ------------------------------------------------------------ revno: 115184 fixes bug: http://debbugs.gnu.org/10564 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-11-22 17:50:41 +0800 message: * progmodes/octave.el (octave-kill-process): Don't ask twice diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-22 08:09:40 +0000 +++ lisp/ChangeLog 2013-11-22 09:50:41 +0000 @@ -5,6 +5,7 @@ (octave-help-mode): Adapt to change to help-mode-finish to use derived-mode-p on 2013-09-17. (inferior-octave-prompt): Also match octave-gui. + (octave-kill-process): Don't ask twice. (Bug#10564) 2013-11-22 Leo Liu === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-11-22 08:09:40 +0000 +++ lisp/progmodes/octave.el 2013-11-22 09:50:41 +0000 @@ -1445,12 +1445,14 @@ (defun octave-kill-process () "Kill inferior Octave process and its buffer." (interactive) - (or (yes-or-no-p "Kill the inferior Octave process and its buffer? ") - (user-error "Aborted")) - (when (inferior-octave-process-live-p) - (process-send-string inferior-octave-process "quit;\n") - (accept-process-output inferior-octave-process)) - (when inferior-octave-buffer + (when (and (buffer-live-p (get-buffer inferior-octave-buffer)) + (or (yes-or-no-p (format "Kill %S and its buffer? " + inferior-octave-process)) + (user-error "Aborted"))) + (when (inferior-octave-process-live-p) + (set-process-query-on-exit-flag inferior-octave-process nil) + (process-send-string inferior-octave-process "quit;\n") + (accept-process-output inferior-octave-process)) (kill-buffer inferior-octave-buffer))) (defun octave-show-process-buffer () ------------------------------------------------------------ revno: 115183 committer: Leo Liu branch nick: trunk timestamp: Fri 2013-11-22 16:09:40 +0800 message: * progmodes/octave.el (octave-help-mode): Adapt to change to help-mode-finish to use derived-mode-p on 2013-09-17. (inferior-octave-prompt): Also match octave-gui. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2013-11-22 02:32:35 +0000 +++ lisp/ChangeLog 2013-11-22 08:09:40 +0000 @@ -2,6 +2,9 @@ * progmodes/octave.el (octave-operator-regexp): Exclude newline. (Bug#15076) + (octave-help-mode): Adapt to change to help-mode-finish to use + derived-mode-p on 2013-09-17. + (inferior-octave-prompt): Also match octave-gui. 2013-11-22 Leo Liu === modified file 'lisp/progmodes/octave.el' --- lisp/progmodes/octave.el 2013-11-22 02:32:35 +0000 +++ lisp/progmodes/octave.el 2013-11-22 08:09:40 +0000 @@ -599,7 +599,7 @@ :group 'octave) (defcustom inferior-octave-prompt - "\\(^octave\\(\\|.bin\\|.exe\\)\\(-[.0-9]+\\)?\\(:[0-9]+\\)?\\|^debug\\|^\\)>+ " + "\\(^octave\\(\\|.bin\\|.exe\\|-gui\\)\\(-[.0-9]+\\)?\\(:[0-9]+\\)?\\|^debug\\|^\\)>+ " "Regexp to match prompts for the inferior Octave process." :type 'regexp :group 'octave) @@ -1649,7 +1649,7 @@ (defvar octave-help-mode-map (let ((map (make-sparse-keymap))) - (define-key map "\M-." 'octave-find-definition) + (define-key map "\M-." 'octave-find-definition) (define-key map "\C-hd" 'octave-help) (define-key map "\C-ha" 'octave-lookfor) map)) @@ -1659,26 +1659,9 @@ :abbrev-table nil :syntax-table octave-mode-syntax-table (eval-and-compile (require 'help-mode)) - ;; Mostly stolen from `help-make-xrefs'. - (let ((inhibit-read-only t)) - (setq-local info-lookup-mode 'octave-mode) - ;; Delete extraneous newlines at the end of the docstring - (goto-char (point-max)) - (while (and (not (bobp)) (bolp)) - (delete-char -1)) - (insert "\n") - (when (or help-xref-stack help-xref-forward-stack) - (insert "\n")) - (when help-xref-stack - (help-insert-xref-button help-back-label 'help-back - (current-buffer))) - (when help-xref-forward-stack - (when help-xref-stack - (insert "\t")) - (help-insert-xref-button help-forward-label 'help-forward - (current-buffer))) - (when (or help-xref-stack help-xref-forward-stack) - (insert "\n")))) + ;; Don't highlight `EXAMPLE' as elisp symbols by using a regexp that + ;; can never match. + (setq-local help-xref-symbol-regexp "x\\`")) (defun octave-help (fn) "Display the documentation of FN." ------------------------------------------------------------ Use --include-merged or -n0 to see merged revisions.