commit 383722dee79aee1dd0b9def6a2af6649b26f5687 (HEAD, refs/remotes/origin/master) Author: Oleh Krehel Date: Fri Feb 13 14:59:31 2015 +0100 check-declare.el: Use compilation-style warnings * lisp/emacs-lisp/check-declare.el (check-declare-warn): Add file-line-column info to the warning. (check-declare-files): Make sure that `check-declare-warning-buffer' is in `compilation-mode'. Make the order of the errors that same as in the file. Add code to ensure that `first-error' will work properly. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 078fc3e..f1dd8db 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,12 @@ 2015-02-25 Oleh Krehel + * emacs-lisp/check-declare.el (check-declare-warn): Use + compilation-style warnings. + (check-declare-files): Make sure that + `check-declare-warning-buffer' is in `compilation-mode'. + +2015-02-25 Oleh Krehel + * emacs-lisp/check-declare.el (check-declare-ext-errors): New defcustom. (check-declare): New defgroup. diff --git a/lisp/emacs-lisp/check-declare.el b/lisp/emacs-lisp/check-declare.el index 40ab03d..c263972 100644 --- a/lisp/emacs-lisp/check-declare.el +++ b/lisp/emacs-lisp/check-declare.el @@ -260,12 +260,29 @@ Returned list has elements FNFILE (FILE ...)." "Warn that FILE made a false claim about FN in FNFILE. TYPE is a string giving the nature of the error. Warning is displayed in `check-declare-warning-buffer'." - (display-warning 'check-declare - (format "%s said `%s' was defined in %s: %s" - (file-name-nondirectory file) fn - (file-name-nondirectory fnfile) - type) - nil check-declare-warning-buffer)) + (let ((warning-prefix-function + (lambda (level entry) + (let ((line 0) + (col 0)) + (insert + (with-current-buffer (find-file-noselect file) + (goto-char (point-min)) + (when (re-search-forward + (format "(declare-function[ \t\n]+%s" fn) nil t) + (goto-char (match-beginning 0)) + (setq line (line-number-at-pos)) + (setq col (1+ (current-column)))) + (format "%s:%d:%d:" + (file-name-nondirectory file) + line col)))) + entry)) + (warning-fill-prefix " ")) + (display-warning 'check-declare + (format "%s said `%s' was defined in %s: %s" + (file-name-nondirectory file) fn + (file-name-nondirectory fnfile) + type) + nil check-declare-warning-buffer))) (defun check-declare-files (&rest files) "Check veracity of all `declare-function' statements in FILES. @@ -278,13 +295,20 @@ Return a list of any errors found." (dolist (e (check-declare-sort alist)) (if (setq err (check-declare-verify (car e) (cdr e))) (setq errlist (cons (cons (car e) err) errlist)))) + (setq errlist (nreverse errlist)) (if (get-buffer check-declare-warning-buffer) (kill-buffer check-declare-warning-buffer)) + (with-current-buffer (get-buffer-create check-declare-warning-buffer) + (unless (derived-mode-p 'compilation-mode) + (compilation-mode)) + (let ((inhibit-read-only t)) + (insert "\f\n")) + (compilation-forget-errors)) ;; Sort back again so that errors are ordered by the files ;; containing the declare-function statements. (dolist (e (check-declare-sort errlist)) - (dolist (f (cdr e)) - (check-declare-warn (car e) (cadr f) (car f) (nth 2 f)))) + (dolist (f (cdr e)) + (check-declare-warn (car e) (cadr f) (car f) (nth 2 f)))) errlist)) ;;;###autoload commit 26b2e9aa4d022fbd13e7878dab6a1df51eddebc5 Author: Oleh Krehel Date: Fri Feb 13 14:34:17 2015 +0100 check-declare.el (check-declare-ext-errors): New defcustom. * emacs-lisp/check-declare.el (check-declare): New defgroup. (check-declare-verify): When `check-declare-ext-errors' is non-nil, warn about an unfound function, instead of saying "skipping external file". diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fb8b1f7..078fc3e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,12 @@ +2015-02-25 Oleh Krehel + + * emacs-lisp/check-declare.el (check-declare-ext-errors): New + defcustom. + (check-declare): New defgroup. + (check-declare-verify): When `check-declare-ext-errors' is + non-nil, warn about an unfound function, instead of saying + "skipping external file". + 2015-02-25 Tassilo Horn * textmodes/reftex-vars.el (reftex-include-file-commands): Call diff --git a/lisp/emacs-lisp/check-declare.el b/lisp/emacs-lisp/check-declare.el index 13de61c..40ab03d 100644 --- a/lisp/emacs-lisp/check-declare.el +++ b/lisp/emacs-lisp/check-declare.el @@ -125,6 +125,14 @@ With optional argument FULL, sums the number of elements in each element." (autoload 'byte-compile-arglist-signature "bytecomp") +(defgroup check-declare nil + "Check declare-function statements." + :group 'tools) + +(defcustom check-declare-ext-errors nil + "When non-nil, warn abount functions not found in :ext." + :type 'boolean) + (defun check-declare-verify (fnfile fnlist) "Check that FNFILE contains function definitions matching FNLIST. Each element of FNLIST has the form (FILE FN ARGLIST FILEONLY), where @@ -226,7 +234,8 @@ method\\|class\\)\\|fset\\)\\>" type) (when type (setq errlist (cons (list (car e) (cadr e) type) errlist)))) (message "%s%s" m - (if (or re (not ext)) + (if (or re (or check-declare-ext-errors + (not ext))) (check-declare-errmsg errlist) (progn (setq errlist nil) commit dcd4830cb9b716c0d055df84f5106b14585eb879 Author: Tassilo Horn Date: Wed Feb 25 11:45:20 2015 +0100 Handle customizations of reftex-include-file-commands * reftex.texi (Multifile Documents): Document reftex-include-file-commands. (Options): Mention that non-customize changes might require calling reftex-compile-variables. * textmodes/reftex-vars.el (reftex-include-file-commands): Call reftex-set-dirty on changes. diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index d04a8bb..448c7f2 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,10 @@ +2015-02-25 Tassilo Horn + + * reftex.texi (Multifile Documents): Document + reftex-include-file-commands. + (Options): Mention that non-customize changes might require + calling reftex-compile-variables. + 2015-02-21 Paul Eggert * texinfo.tex: Update from gnulib. diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index 567063f..facfb43 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi @@ -2961,6 +2961,12 @@ label itself in order to be processed correctly by @RefTeX{}. The only exception is that section labels referring to a section statement outside the current file can still use that section title as context. + +@item +@vindex reftex-include-file-commands +@RefTeX{} knows about the @code{\include} and @code{\input} macros. +In case you use different commands to include files in a multifile +document, customize the variable @code{reftex-include-file-commands}. @end itemize @node Language Support @@ -3893,6 +3899,10 @@ Lisp (and even if you are) you might find it more comfortable to use @code{customize} to look at and change these variables. @kbd{M-x reftex-customize} will get you there. +In case you don't use the @code{customize} interface, here's a caveat: +Changing (mostly parsing-related) options might require a call to +@code{reftex-compile-variables} in order to become effective. + @menu * Options - Table of Contents:: * Options - Defining Label Environments:: diff --git a/lisp/ChangeLog b/lisp/ChangeLog index fc2893e..fb8b1f7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2015-02-25 Tassilo Horn + + * textmodes/reftex-vars.el (reftex-include-file-commands): Call + reftex-set-dirty on changes. + 2015-02-25 Stefan Monnier * emacs-lisp/edebug.el (edebug--display): Save-excursion (bug#19611). diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el index 115c1e0..7fe6882 100644 --- a/lisp/textmodes/reftex-vars.el +++ b/lisp/textmodes/reftex-vars.el @@ -263,6 +263,7 @@ distribution. Mixed-case symbols are convenience aliases.") The file name is expected after the command, either in braces or separated by whitespace." :group 'reftex-table-of-contents-browser + :set 'reftex-set-dirty :type '(repeat string)) (defcustom reftex-max-section-depth 12 commit 8bb64d2722632fcc2b7c816e5f85d64ff10161f9 Author: Stefan Monnier Date: Wed Feb 25 01:03:14 2015 -0500 * lisp/emacs-lisp/edebug.el (edebug--display): Save-excursion. Fixes: debbugs:19611 * lisp/emacs-lisp/debug.el (debugger-env-macro): Remove redundant save-excursion. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5fa7ef7..fc2893e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2015-02-25 Stefan Monnier + + * emacs-lisp/edebug.el (edebug--display): Save-excursion (bug#19611). + * emacs-lisp/debug.el (debugger-env-macro): Remove redundant + save-excursion. + 2015-02-24 Glenn Morris * mail/rmailsum.el (rmail-summary-previous-all) diff --git a/lisp/emacs-lisp/debug.el b/lisp/emacs-lisp/debug.el index dc0e666..8c1440d 100644 --- a/lisp/emacs-lisp/debug.el +++ b/lisp/emacs-lisp/debug.el @@ -535,11 +535,7 @@ Applies to the frame whose line point is on in the backtrace." (defmacro debugger-env-macro (&rest body) "Run BODY in original environment." (declare (indent 0)) - `(save-excursion - (if (null (buffer-live-p debugger-old-buffer)) - ;; old buffer deleted - (setq debugger-old-buffer (current-buffer))) - (set-buffer debugger-old-buffer) + `(progn (set-match-data debugger-outer-match-data) (prog1 (progn ,@body) diff --git a/lisp/emacs-lisp/edebug.el b/lisp/emacs-lisp/edebug.el index 7faa101..1091877 100644 --- a/lisp/emacs-lisp/edebug.el +++ b/lisp/emacs-lisp/edebug.el @@ -2358,6 +2358,12 @@ MSG is printed after `::::} '." (defalias 'edebug-mark-marker 'mark-marker) (defun edebug--display (value offset-index arg-mode) + ;; edebug--display-1 is too big, we should split it. This function + ;; here was just introduced to avoid making edebug--display-1 + ;; yet a bit deeper. + (save-excursion (edebug--display-1 value offset-index arg-mode))) + +(defun edebug--display-1 (value offset-index arg-mode) (unless (marker-position edebug-def-mark) ;; The buffer holding the source has been killed. ;; Let's at least show a backtrace so the user can figure out @@ -3317,6 +3323,9 @@ Return the result of the last expression." ;; Restore outside context. (setq-default cursor-in-non-selected-windows edebug-outside-d-c-i-n-s-w) (unwind-protect + ;; FIXME: This restoring of edebug-outside-buffer and + ;; edebug-outside-point is redundant now that backtrace-eval does it + ;; for us. (with-current-buffer edebug-outside-buffer ; of edebug-buffer (goto-char edebug-outside-point) (if (marker-buffer (edebug-mark-marker)) commit b86ba30d17abcc85c73ad47ed95f15147508538c Author: Katsumi Yamaoka Date: Wed Feb 25 02:39:47 2015 +0000 Gnus: Revert my bogus changes (2014-06-05) * mm-decode.el (mm-shr) * mm-view.el (mm-inline-text-html-render-with-w3m): Revert my bogus change that made the start marker of a part the "moves after insertion" type. diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 7a4c463..671e171 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,10 @@ +2015-02-25 Katsumi Yamaoka + + * mm-decode.el (mm-shr) + * mm-view.el (mm-inline-text-html-render-with-w3m): + Revert my bogus change that made the start marker of a part + the "moves after insertion" type. + 2015-02-23 Tassilo Horn * mailcap.el (mailcap-mime-data): Support `pdf-view-mode' (from PDF diff --git a/lisp/gnus/mm-decode.el b/lisp/gnus/mm-decode.el index 459c793..ae6bb71 100644 --- a/lisp/gnus/mm-decode.el +++ b/lisp/gnus/mm-decode.el @@ -1895,7 +1895,7 @@ If RECURSIVE, search recursively." handle `(lambda () (let ((inhibit-read-only t)) - (delete-region ,(copy-marker (point-min) t) + (delete-region ,(point-min-marker) ,(point-max-marker)))))))) (defvar shr-map) diff --git a/lisp/gnus/mm-view.el b/lisp/gnus/mm-view.el index 4b520ed..a3d6e74 100644 --- a/lisp/gnus/mm-view.el +++ b/lisp/gnus/mm-view.el @@ -217,7 +217,7 @@ handle `(lambda () (let ((inhibit-read-only t)) - (delete-region ,(copy-marker (point-min) t) + (delete-region ,(point-min-marker) ,(point-max-marker))))))))) (defvar mm-w3m-standalone-supports-m17n-p (if (featurep 'mule) 'undecided) commit 27bd6dadf4a841c16e7f8fcdbd6068512c02bc3b Author: Paul Eggert Date: Tue Feb 24 16:38:16 2015 -0800 Merge from gnulib * lib/getdtablesize.c, m4/dup2.m4, m4/fcntl.m4: Update from gnulib, incorporating: 2015-02-23 dup2: doc and test for Android bug 2015-02-23 Replace dup2() on Android 2015-02-22 Android doesn't define RLIM_SAVED_* diff --git a/ChangeLog b/ChangeLog index 41bff0e..47ef578 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2015-02-25 Paul Eggert + + Merge from gnulib + * lib/getdtablesize.c, m4/dup2.m4, m4/fcntl.m4: + Update from gnulib, incorporating: + 2015-02-23 dup2: doc and test for Android bug + 2015-02-23 Replace dup2() on Android + 2015-02-22 Android doesn't define RLIM_SAVED_* + 2015-02-21 Paul Eggert Merge from gnulib diff --git a/lib/getdtablesize.c b/lib/getdtablesize.c index bad45f7..03eb7ef 100644 --- a/lib/getdtablesize.c +++ b/lib/getdtablesize.c @@ -89,6 +89,13 @@ getdtablesize (void) # include # include +# ifndef RLIM_SAVED_CUR +# define RLIM_SAVED_CUR RLIM_INFINITY +# endif +# ifndef RLIM_SAVED_MAX +# define RLIM_SAVED_MAX RLIM_INFINITY +# endif + # ifdef __CYGWIN__ /* Cygwin 1.7.25 auto-increases the RLIMIT_NOFILE soft limit until it hits the compile-time constant hard limit of 3200. We might as diff --git a/m4/dup2.m4 b/m4/dup2.m4 index 9aa2ea8..59028e0 100644 --- a/m4/dup2.m4 +++ b/m4/dup2.m4 @@ -1,4 +1,4 @@ -#serial 22 +#serial 24 dnl Copyright (C) 2002, 2005, 2007, 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -25,6 +25,12 @@ AC_DEFUN([gl_FUNC_DUP2], #include #include #include + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif ]], [[int result = 0; int bad_fd = INT_MAX; @@ -39,7 +45,7 @@ AC_DEFUN([gl_FUNC_DUP2], if (fcntl (1, F_SETFD, FD_CLOEXEC) == -1) result |= 1; #endif - if (dup2 (1, 1) == 0) + if (dup2 (1, 1) != 1) result |= 2; #ifdef FD_CLOEXEC if (fcntl (1, F_GETFD) != FD_CLOEXEC) @@ -70,6 +76,8 @@ AC_DEFUN([gl_FUNC_DUP2], gl_cv_func_dup2_works="guessing no" ;; haiku*) # on Haiku alpha 2, dup2(1, 1) resets FD_CLOEXEC. gl_cv_func_dup2_works="guessing no" ;; + *-android*) # implemented using dup3(), which fails if oldfd == newfd + gl_cv_func_dup2_works="guessing no" ;; *) gl_cv_func_dup2_works="guessing yes" ;; esac]) ]) diff --git a/m4/fcntl.m4 b/m4/fcntl.m4 index 218e786..76dd867 100644 --- a/m4/fcntl.m4 +++ b/m4/fcntl.m4 @@ -1,4 +1,4 @@ -# fcntl.m4 serial 7 +# fcntl.m4 serial 8 dnl Copyright (C) 2009-2015 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -34,6 +34,12 @@ AC_DEFUN([gl_FUNC_FCNTL], #include #include #include + #ifndef RLIM_SAVED_CUR + # define RLIM_SAVED_CUR RLIM_INFINITY + #endif + #ifndef RLIM_SAVED_MAX + # define RLIM_SAVED_MAX RLIM_INFINITY + #endif ]], [[int result = 0; int bad_fd = INT_MAX; commit b74db6347cf5cac1ebd4c604fd5691c588fd8e32 Author: Paul Eggert Date: Tue Feb 24 16:34:13 2015 -0800 Backtrace after malloc arena is corrupted Without this change, if the malloc arena is corrupted and then 'backtrace' is called, the backtrace can crash because 'backtrace' calls 'malloc'. For more, please see: https://sourceware.org/ml/libc-alpha/2015-02/msg00678.html * emacs.c (main): Initialize tables used by 'backtrace'. * sysdep.c (emacs_backtrace): Document the newly used part of the API. diff --git a/src/ChangeLog b/src/ChangeLog index 6ef5746..1f0781f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,13 @@ +2015-02-25 Paul Eggert + + Backtrace after malloc arena is corrupted + Without this change, if the malloc arena is corrupted and then + 'backtrace' is called, the backtrace can crash because 'backtrace' + calls 'malloc'. For more, please see: + https://sourceware.org/ml/libc-alpha/2015-02/msg00678.html + * emacs.c (main): Initialize tables used by 'backtrace'. + * sysdep.c (emacs_backtrace): Document the newly used part of the API. + 2015-02-22 Jan Djärv * nsfns.m (Fx_frame_geometry): New function. diff --git a/src/emacs.c b/src/emacs.c index 4a6d6ba..c2b698b 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -884,6 +884,8 @@ main (int argc, char **argv) clearerr (stdin); + emacs_backtrace (-1); + #if !defined SYSTEM_MALLOC && !defined HYBRID_MALLOC /* Arrange to get warning messages as memory fills up. */ memory_warnings (0, malloc_warning); diff --git a/src/sysdep.c b/src/sysdep.c index a2bda96..cb361ec 100644 --- a/src/sysdep.c +++ b/src/sysdep.c @@ -2147,7 +2147,17 @@ snprintf (char *buf, size_t bufsize, char const *format, ...) /* If a backtrace is available, output the top lines of it to stderr. Do not output more than BACKTRACE_LIMIT or BACKTRACE_LIMIT_MAX lines. This function may be called from a signal handler, so it should - not invoke async-unsafe functions like malloc. */ + not invoke async-unsafe functions like malloc. + + If BACKTRACE_LIMIT is -1, initialize tables that 'backtrace' uses + but do not output anything. This avoids some problems that can + otherwise occur if the malloc arena is corrupted before 'backtrace' + is called, since 'backtrace' may call malloc if the tables are not + initialized. + + If the static variable THREAD_BACKTRACE_NPOINTERS is nonzero, a + fatal error has occurred in some other thread; generate a thread + backtrace instead, ignoring BACKTRACE_LIMIT. */ void emacs_backtrace (int backtrace_limit) { commit 0c4f73a09d9069824911420f0205da0dd90c1504 Author: Glenn Morris Date: Tue Feb 24 18:10:36 2015 -0500 rmailsum.el tiny simplification * lisp/mail/rmailsum.el (rmail-summary-previous-all) (rmail-summary-previous-msg): Simplify. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 76f9eb4..5fa7ef7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2015-02-24 Glenn Morris + + * mail/rmailsum.el (rmail-summary-previous-all) + (rmail-summary-previous-msg): Simplify. + 2015-02-25 Artur Malabarba * simple.el (region-active-p): Fix doc to say non-nil. diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index bfcd81c..7144e43 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el @@ -1,7 +1,6 @@ ;;; rmailsum.el --- make summary buffers for the mail reader -;; Copyright (C) 1985, 1993-1996, 2000-2015 Free Software Foundation, -;; Inc. +;; Copyright (C) 1985, 1993-1996, 2000-2015 Free Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org ;; Keywords: mail @@ -813,12 +812,7 @@ the message being processed." (defun rmail-summary-previous-all (&optional number) (interactive "p") - (or number (setq number 1)) - (forward-line (- number)) - ;; It doesn't look nice to move forward past the last message line. - (and (eobp) (< number 0) - (forward-line -1)) - (display-buffer rmail-buffer)) + (rmail-summary-next-all (- (or number 1)))) (defun rmail-summary-next-msg (&optional number) "Display next non-deleted msg from rmail file. @@ -843,7 +837,7 @@ messages, or backward if NUMBER is negative." With optional prefix argument NUMBER, moves backward this number of non-deleted messages." (interactive "p") - (rmail-summary-next-msg (- (if number number 1)))) + (rmail-summary-next-msg (- (or number 1)))) (defun rmail-summary-next-labeled-message (n labels) "Show next message with LABELS. Defaults to last labels used. commit 341e5f3c867f25c33a18dfe3e2ed369e6fb58c66 Author: Artur Malabarba Date: Tue Feb 24 22:50:44 2015 -0300 simple.el (region-active-p): Fix doc to say non-nil. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b152a75..76f9eb4 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2015-02-25 Artur Malabarba + + * simple.el (region-active-p): Fix doc to say non-nil. + 2015-02-24 Samer Masterson * eshell/em-hist.el (eshell-hist-parse-word-designator): diff --git a/lisp/simple.el b/lisp/simple.el index b78286d..2f09042 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -4865,7 +4865,7 @@ For some commands, it may be appropriate to ignore the value of (or use-empty-active-region (> (region-end) (region-beginning))))) (defun region-active-p () - "Return t if Transient Mark mode is enabled and the mark is active. + "Return non-nil if Transient Mark mode is enabled and the mark is active. Some commands act specially on the region when Transient Mark mode is enabled. Usually, such commands should use commit 450bebaec94611f0958e13e35faf494e17931f8e Author: Samer Masterson Date: Tue Feb 24 14:03:54 2015 -0500 * lisp/eshell: Fix history substitution error Fixes: debbugs:18960 * lisp/eshell/em-hist.el (eshell-hist-parse-word-designator): Return args joined with " ". * lisp/eshell/em-pred.el (eshell-parse-modifiers): Correct docstring. (eshell-hist-parse-modifier): Pass mod a list instead of a string. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4c50f25..b152a75 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,11 @@ +2015-02-24 Samer Masterson + + * eshell/em-hist.el (eshell-hist-parse-word-designator): + Return args joined with " ". + * eshell/em-pred.el (eshell-parse-modifiers): Correct docstring. + (eshell-hist-parse-modifier): Pass mod a list instead of a string + (bug#18960). + 2015-02-24 Karl Fogel (tiny change) * comint.el (comint-mode-map): Fix obvious typo. @@ -100,8 +108,8 @@ (verilog-auto-inst, verilog-auto-inst-param): Use arguments rather than vector-skip. (verilog-auto-inst-port): Fix AUTOINST interfaces to not show - modport if signal attachment is itself a modport. Reported by - Matthew Lovell. + modport if signal attachment is itself a modport. + Reported by Matthew Lovell. 2015-02-21 Reto Zimmermann @@ -341,7 +349,7 @@ 2015-02-11 Stefan Monnier * hi-lock.el (hi-lock-unface-buffer): Don't call - font-lock-remove-keywords if not needed (bug#19737). + font-lock-remove-keywords if not needed (bug#19796). 2015-02-11 Artur Malabarba @@ -1622,7 +1630,7 @@ * vc/vc-svn.el (vc-svn-dir-status-files): Pass t as vc-svn-after-dir-status's second argument. (Bug#19429) -2015-01-16 Samer Masterson (tiny change) +2015-01-16 Samer Masterson * pcomplete.el (pcomplete-parse-arguments): Parse arguments regardless of pcomplete-cycle-completions's value. (Bug#18950) diff --git a/lisp/eshell/em-hist.el b/lisp/eshell/em-hist.el index 55c83e4..1cdf6d6 100644 --- a/lisp/eshell/em-hist.el +++ b/lisp/eshell/em-hist.el @@ -724,7 +724,7 @@ matched." (setq nth (eshell-hist-word-reference nth))) (unless (numberp mth) (setq mth (eshell-hist-word-reference mth))) - (cons (mapconcat 'identity (eshell-sublist textargs nth mth) "") + (cons (mapconcat 'identity (eshell-sublist textargs nth mth) " ") end)))) (defun eshell-hist-parse-modifier (hist reference) @@ -737,7 +737,7 @@ matched." (goto-char (point-min)) (let ((modifiers (cdr (eshell-parse-modifiers)))) (dolist (mod modifiers) - (setq hist (funcall mod hist))) + (setq hist (car (funcall mod (list hist))))) hist)) (delete-region here (point))))) diff --git a/lisp/eshell/em-pred.el b/lisp/eshell/em-pred.el index abaa99e..289d37d 100644 --- a/lisp/eshell/em-pred.el +++ b/lisp/eshell/em-pred.el @@ -119,7 +119,8 @@ The format of each entry is (function (lambda (str) (eshell-stringify - (car (eshell-parse-argument str))))) lst))) + (car (eshell-parse-argument str))))) + lst))) (?L . #'(lambda (lst) (mapcar 'downcase lst))) (?U . #'(lambda (lst) (mapcar 'upcase lst))) (?C . #'(lambda (lst) (mapcar 'capitalize lst))) @@ -296,16 +297,15 @@ This function is specially for adding onto `eshell-parse-argument-hook'." (defun eshell-parse-modifiers () "Parse value modifiers and predicates at point. -If ALLOW-PREDS is non-nil, predicates will be parsed as well. Return a cons cell of the form (PRED-FUNC-LIST . MOD-FUNC-LIST) -NEW-STRING is STRING minus any modifiers. PRED-FUNC-LIST is a list of -predicate functions. MOD-FUNC-LIST is a list of result modifier -functions. PRED-FUNCS take a filename and return t if the test -succeeds; MOD-FUNCS take any string and preform a modification, -returning the resultant string." +PRED-FUNC-LIST is a list of predicate functions. MOD-FUNC-LIST +is a list of result modifier functions. PRED-FUNCS take a +filename and return t if the test succeeds; MOD-FUNCS take any +list of strings and perform a modification, returning the +resultant list of strings." (let (negate follow preds mods) (condition-case nil (while (not (eobp)) diff --git a/lisp/hi-lock.el b/lisp/hi-lock.el index d74664a..0255585 100644 --- a/lisp/hi-lock.el +++ b/lisp/hi-lock.el @@ -600,7 +600,7 @@ then remove all hi-lock highlighting." ;; `font-lock-specified-p' to go from nil to non-nil (because it ;; calls font-lock-set-defaults). This is yet-another bug in ;; font-lock-add/remove-keywords, which we circumvent here by - ;; testing `font-lock-fontified' (bug#19737). + ;; testing `font-lock-fontified' (bug#19796). (if font-lock-fontified (font-lock-remove-keywords nil (list keyword))) (setq hi-lock-interactive-patterns (delq keyword hi-lock-interactive-patterns)) commit feb49cb7a481f988350899c748ba5582ffac5bf7 Author: Karl Fogel Date: Tue Feb 24 09:30:56 2015 -0600 * comint.el (comint-mode-map): Fix obvious typo. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index b0a07df..4c50f25 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,7 @@ +2015-02-24 Karl Fogel (tiny change) + + * comint.el (comint-mode-map): Fix obvious typo. + 2015-02-24 Johan Claesson (tiny change) * filecache.el (file-cache-filter-regexps): diff --git a/lisp/comint.el b/lisp/comint.el index 30aece1..2c41684 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -472,7 +472,7 @@ executed once when the buffer is created." (define-key map "\C-c\C-\\" 'comint-quit-subjob) (define-key map "\C-c\C-m" 'comint-copy-old-input) (define-key map "\C-c\C-o" 'comint-delete-output) - (defile-key map "\C-c\M-o" 'comint-clear-buffer) + (define-key map "\C-c\M-o" 'comint-clear-buffer) (define-key map "\C-c\C-r" 'comint-show-output) (define-key map "\C-c\C-e" 'comint-show-maximum-output) (define-key map "\C-c\C-l" 'comint-dynamic-list-input-ring) commit 7a77ed9147703d9fcaa70868282b9c09d00bfad3 Author: Johan Claesson Date: Mon Feb 23 23:50:44 2015 -0800 * filecache.el (file-cache-filter-regexps): Add lock files (tiny change) Fixes: debbugs:19516 diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 25b3266..b0a07df 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2015-02-24 Johan Claesson (tiny change) + + * filecache.el (file-cache-filter-regexps): + Add lock files. (Bug#19516) + 2015-02-24 Glenn Morris * mail/rmailsum.el (rmail-summary-next-all) diff --git a/lisp/filecache.el b/lisp/filecache.el index d036107..fd99ee0 100644 --- a/lisp/filecache.el +++ b/lisp/filecache.el @@ -154,11 +154,12 @@ ;; These are also used in buffers containing lines of file names, ;; so the end-of-name is matched with $ rather than \\'. (list "~$" "\\.o$" "\\.exe$" "\\.a$" "\\.elc$" ",v$" "\\.output$" - "\\.$" "#$" "\\.class$") + "\\.$" "#$" "\\.class$" "/\\.#") "List of regular expressions used as filters by the file cache. File names which match these expressions will not be added to the cache. Note that the functions `file-cache-add-file' and `file-cache-add-file-list' do not use this variable." + :version "25.1" ; added "/\\.#" :type '(repeat regexp) :group 'file-cache) commit f418e991c052a1f9c4ad5b877a47de524c24a892 Author: Glenn Morris Date: Mon Feb 23 23:43:58 2015 -0800 rmailsum.el minor optional argument fix * lisp/mail/rmailsum.el (rmail-summary-next-all) (rmail-summary-previous-all, rmail-summary-next-msg): Fix handling of optional argument. Fixes: debbugs:19916 diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 165c1ce..25b3266 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,9 @@ 2015-02-24 Glenn Morris + * mail/rmailsum.el (rmail-summary-next-all) + (rmail-summary-previous-all, rmail-summary-next-msg): + Fix handling of optional argument. (Bug#19916) + * progmodes/f90.el (f90-beginning-of-subprogram) (f90-end-of-subprogram, f90-match-end): Handle continued strings where the continuation does not start diff --git a/lisp/mail/rmailsum.el b/lisp/mail/rmailsum.el index 7ac147b..bfcd81c 100644 --- a/lisp/mail/rmailsum.el +++ b/lisp/mail/rmailsum.el @@ -791,7 +791,7 @@ the message being processed." (forward-line 1) (setq str (buffer-substring pos (1- (point)))) (while (looking-at "[ \t]") - (setq str (concat str " " + (setq str (concat str " " (buffer-substring (match-end 0) (line-end-position)))) (forward-line 1)) @@ -804,7 +804,8 @@ the message being processed." (defun rmail-summary-next-all (&optional number) (interactive "p") - (forward-line (if number number 1)) + (or number (setq number 1)) + (forward-line number) ;; It doesn't look nice to move forward past the last message line. (and (eobp) (> number 0) (forward-line -1)) @@ -812,7 +813,8 @@ the message being processed." (defun rmail-summary-previous-all (&optional number) (interactive "p") - (forward-line (- (if number number 1))) + (or number (setq number 1)) + (forward-line (- number)) ;; It doesn't look nice to move forward past the last message line. (and (eobp) (< number 0) (forward-line -1)) @@ -823,6 +825,7 @@ the message being processed." With optional prefix argument NUMBER, moves forward this number of non-deleted messages, or backward if NUMBER is negative." (interactive "p") + (or number (setq number 1)) (forward-line 0) (and (> number 0) (end-of-line)) (let ((count (if (< number 0) (- number) number)) commit e8a11db943dfc7a469a761f98d606a4072a6ca43 Author: Glenn Morris Date: Mon Feb 23 23:13:49 2015 -0800 f90.el: add some support for continued strings without leading '&' * lisp/progmodes/f90.el (f90-beginning-of-subprogram) (f90-end-of-subprogram, f90-match-end): Handle continued strings where the continuation does not start with "&" and happens to match our regexp. * test/automated/f90.el (f90-test-bug-19809): New test. Fixes: debbugs:19809 diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7e7bbb7..165c1ce 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2015-02-24 Glenn Morris + + * progmodes/f90.el (f90-beginning-of-subprogram) + (f90-end-of-subprogram, f90-match-end): + Handle continued strings where the continuation does not start + with "&" and happens to match our regexp. (Bug#19809) + 2015-02-24 Bozhidar Batsov * comint.el (comint-clear-buffer): New command. diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el index b923819e..6264d3b 100644 --- a/lisp/progmodes/f90.el +++ b/lisp/progmodes/f90.el @@ -1634,7 +1634,10 @@ Return (TYPE NAME), or nil if not found." (re-search-backward f90-program-block-re nil 'move)) (beginning-of-line) (skip-chars-forward " \t0-9") - (cond ((setq matching-beg (f90-looking-at-program-block-start)) + ;; Check if in string in case using non-standard feature where + ;; continued strings do not need "&" at start of continuations. + (cond ((f90-in-string)) + ((setq matching-beg (f90-looking-at-program-block-start)) (setq count (1- count))) ((f90-looking-at-program-block-end) (setq count (1+ count))))) @@ -1659,7 +1662,8 @@ Return (TYPE NAME), or nil if not found." (re-search-forward f90-program-block-re nil 'move)) (beginning-of-line) (skip-chars-forward " \t0-9") - (cond ((f90-looking-at-program-block-start) + (cond ((f90-in-string)) + ((f90-looking-at-program-block-start) (setq count (1+ count))) ((setq matching-end (f90-looking-at-program-block-end)) (setq count (1- count)))) @@ -2199,8 +2203,12 @@ Leave point at the end of line." (end-point (point)) (case-fold-search t) matching-beg beg-name end-name beg-block end-block end-struct) + ;; Check if in string in case using non-standard feature where + ;; continued strings do not need "&" at start of continuations. (when (save-excursion (beginning-of-line) (skip-chars-forward " \t0-9") - (setq end-struct (f90-looking-at-program-block-end))) + (unless (f90-in-string) + (setq end-struct + (f90-looking-at-program-block-end)))) (setq end-block (car end-struct) end-name (cadr end-struct)) (save-excursion diff --git a/test/ChangeLog b/test/ChangeLog index abc582c..7ba1496 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,3 +1,7 @@ +2015-02-24 Glenn Morris + + * automated/f90.el (f90-test-bug-19809): New test. + 2015-02-22 Michael Albinus * automated/tramp-tests.el (tramp-test17-insert-directory): diff --git a/test/automated/f90.el b/test/automated/f90.el index c6bc41f..1cb2f03 100644 --- a/test/automated/f90.el +++ b/test/automated/f90.el @@ -173,4 +173,20 @@ end program prog") (f90-indent-subprogram) (should (= 0 (current-indentation))))) +(ert-deftest f90-test-bug-19809 () + "Test for http://debbugs.gnu.org/19809 ." + (with-temp-buffer + (f90-mode) + ;; The Fortran standard says that continued strings should have + ;; '&' at the start of continuation lines, but it seems gfortran + ;; allows them to be absent (albeit with a warning). + (insert "program prog + write (*,*), '& +end program prog' +end program prog") + (goto-char (point-min)) + (f90-end-of-subprogram) + (should (= (point) (point-max))))) + + ;;; f90.el ends here commit eaf9499a7fe485a57ab54c665f0548d4eb1a2e88 Author: Bozhidar Batsov Date: Sun Feb 22 08:01:08 2015 +0200 Add new interactive command comint-clear-buffer The command clears the entire comint buffer. It's bound to C-c M-o. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d401852..7e7bbb7 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2015-02-24 Bozhidar Batsov + + * comint.el (comint-clear-buffer): New command. + (comint-mode-map): Bind `comint-clear-buffer' to 'C-c M-o'. + 2015-02-23 Pete Williamson (tiny change) Use ${EXEEXT} more uniformly in makefiles diff --git a/lisp/comint.el b/lisp/comint.el index 30c4dda..30aece1 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -472,6 +472,7 @@ executed once when the buffer is created." (define-key map "\C-c\C-\\" 'comint-quit-subjob) (define-key map "\C-c\C-m" 'comint-copy-old-input) (define-key map "\C-c\C-o" 'comint-delete-output) + (defile-key map "\C-c\M-o" 'comint-clear-buffer) (define-key map "\C-c\C-r" 'comint-show-output) (define-key map "\C-c\C-e" 'comint-show-maximum-output) (define-key map "\C-c\C-l" 'comint-dynamic-list-input-ring) @@ -2428,6 +2429,11 @@ Sets mark to the value of point when this command is run." (goto-char (field-beginning pos)) (set-window-start (selected-window) (point)))))) +(defun comint-clear-buffer () + "Clear the comint buffer." + (interactive) + (let ((comint-buffer-maximum-size 0)) + (comint-truncate-buffer))) (defun comint-interrupt-subjob () "Interrupt the current subjob. commit ed7005c0e974a43c9b63d6f5d8ef6bd4099ba449 Author: Paul Eggert Date: Mon Feb 23 10:17:21 2015 -0800 Fix previous change's attribution diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index f161dbc..5c55bce 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,4 +1,4 @@ -2015-02-23 Paul Eggert +2015-02-23 Pete Williamson (tiny change) Use ${EXEEXT} more uniformly in makefiles * Makefile.in (EMACS): Append ${EXEEXT}. diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 7b6b48b..d401852 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,4 +1,4 @@ -2015-02-23 Paul Eggert +2015-02-23 Pete Williamson (tiny change) Use ${EXEEXT} more uniformly in makefiles * Makefile.in (EMACS): Append ${EXEEXT}. commit 6b62d265891cf28e263ff4c99054e30ffb1fb2b3 Author: Paul Eggert Date: Mon Feb 23 10:09:51 2015 -0800 Use ${EXEEXT} more uniformly in makefiles When porting Emacs to run on NaCl, we need to make sure that we always call it with the proper extension (.nexe in this case) during the build. * leim/Makefile.in, lib-src/Makefile.in, lisp/Makefile.in (EMACS): Append ${EXEEXT}. (tiny change) diff --git a/leim/ChangeLog b/leim/ChangeLog index 4bda9a6..a8dbca2 100644 --- a/leim/ChangeLog +++ b/leim/ChangeLog @@ -1,3 +1,10 @@ +2015-02-23 Pete Williamson (tiny change) + + Use ${EXEEXT} more uniformly in makefiles + When porting Emacs to run on NaCl, we need to make sure that we always + call it with the proper extension (.nexe in this case) during the build. + * Makefile.in (EMACS): Append ${EXEEXT}. + 2015-01-04 Paul Eggert Less 'make' chatter for leim diff --git a/leim/Makefile.in b/leim/Makefile.in index 573acf7..2ec03db 100644 --- a/leim/Makefile.in +++ b/leim/Makefile.in @@ -47,7 +47,7 @@ unexport EMACSDATA EMACSDOC EMACSPATH # Which Emacs to use to convert TIT files to Emacs Lisp files, # and generate the file leim-list.el. -EMACS = ../src/emacs +EMACS = ../src/emacs${EXEEXT} # How to run Emacs. # Prevent any setting of EMACSLOADPATH in user environment causing problems. diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 4ac9638..f161dbc 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -1,3 +1,8 @@ +2015-02-23 Paul Eggert + + Use ${EXEEXT} more uniformly in makefiles + * Makefile.in (EMACS): Append ${EXEEXT}. + 2015-02-20 Paul Eggert Simplify binary I/O configuration diff --git a/lib-src/Makefile.in b/lib-src/Makefile.in index d2705e7..6b5d379 100644 --- a/lib-src/Makefile.in +++ b/lib-src/Makefile.in @@ -21,7 +21,7 @@ SHELL = @SHELL@ # Following ../lisp/Makefile.in. -EMACS = ../src/emacs +EMACS = ../src/emacs${EXEEXT} EMACSOPT = -batch --no-site-file --no-site-lisp # ==================== Things `configure' will edit ==================== diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2c22ed2..7b6b48b 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2015-02-23 Paul Eggert + + Use ${EXEEXT} more uniformly in makefiles + * Makefile.in (EMACS): Append ${EXEEXT}. + 2015-02-23 Sam Steingold * files.el (recover-session): Handle `auto-save-list-file-prefix' diff --git a/lisp/Makefile.in b/lisp/Makefile.in index e5cfc63..22d5ddc 100644 --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@ -47,7 +47,7 @@ am__v_GEN_1 = # We never change directory before running Emacs, so a relative file # name is fine, and makes life easier. If we need to change # directory, we can use emacs --chdir. -EMACS = ../src/emacs +EMACS = ../src/emacs${EXEEXT} # Command line flags for Emacs. commit a0edb0160b482bdb9ea48b82e440a3ec5763dd11 Author: Sam Steingold Date: Mon Feb 23 09:13:31 2015 -0500 `auto-save-list-file-prefix' can be a directory name * lisp/files.el (recover-session): Handle `auto-save-list-file-prefix' being a directory (empty non-directory part). diff --git a/lisp/ChangeLog b/lisp/ChangeLog index af8845b..2c22ed2 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2015-02-23 Sam Steingold + + * files.el (recover-session): Handle `auto-save-list-file-prefix' + being a directory (empty non-directory part). + 2015-02-23 Magnus Henoch * net/sasl.el (sasl-mechanism-alist): Refer to sasl-scram-rfc diff --git a/lisp/files.el b/lisp/files.el index 1914ad8..42b00ac 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -5664,13 +5664,14 @@ Then you'll be asked about a number of files to recover." (interactive) (if (null auto-save-list-file-prefix) (error "You set `auto-save-list-file-prefix' to disable making session files")) - (let ((dir (file-name-directory auto-save-list-file-prefix))) + (let ((dir (file-name-directory auto-save-list-file-prefix)) + (nd (file-name-nondirectory auto-save-list-file-prefix))) (unless (file-directory-p dir) (make-directory dir t)) (unless (directory-files dir nil - (concat "\\`" (regexp-quote - (file-name-nondirectory - auto-save-list-file-prefix))) + (if (string= "" nd) + directory-files-no-dot-files-regexp + (concat "\\`" (regexp-quote nd))) t) (error "No previous sessions to recover"))) (let ((ls-lisp-support-shell-wildcards t))