commit 45deb048ad6d6b93082515773df2ba21006c2f42 (HEAD, refs/remotes/origin/master) Author: Glenn Morris Date: Wed Jun 10 21:37:06 2015 -0400 * build-aux/gitlog-to-emacslog: Also ignore pointless merge commits. ; * ChangeLog.2: Related fixes. diff --git a/ChangeLog.2 b/ChangeLog.2 index ff9cbdf..b3a5a85 100644 --- a/ChangeLog.2 +++ b/ChangeLog.2 @@ -726,8 +726,6 @@ * doc/emacs/mule.texi (Modifying Fontsets): Document face-ignored-fonts. (Bug#20628) - Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs - Add etags test for the new -Q option * test/etags/ETAGS.good_1, test/etags/ETAGS.good_2: * test/etags/ETAGS.good_3, test/etags/ETAGS.good_4: @@ -1039,16 +1037,8 @@ 2015-05-27 Michael Albinus - Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs - Conflicts: - lisp/net/tramp.el - Fix typo in commit 3953c4be2816537be95520605d45b866dc731f4b -2015-05-27 Eli Zaretskii - - Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs - 2015-05-27 Stefan Monnier * lisp/isearch.el (isearch--current-buffer): New var @@ -2368,10 +2358,6 @@ (vc-git-resolve-when-done): Update to honor the new variable. (Bug#20292) -2015-05-16 Eli Zaretskii - - Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs - 2015-05-16 Artur Malabarba * lisp/emacs-lisp/tabulated-list.el: Don't error on nil header-string @@ -3484,8 +3470,6 @@ 2015-05-02 K. Handa - Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs - * cmds.c (internal_self_insert): When we insert spaces for padding, set point before the padding spaces, not after them. @@ -3780,10 +3764,6 @@ (rcirc-next-active-buffer): when there is no new activity, use `rcirc-bury-buffers' to hide all RCIRC buffers -2015-04-29 Michael Albinus - - Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs - 2015-04-29 Krzysztof Jurewicz (tiny change) Fix DBUS query result parsing for secrets-search-items @@ -5405,10 +5385,6 @@ `intangible' since that property is not used any more. (gnus-article-treat-body-boundary): Use gnus-hidden-properties. -2015-04-09 Jay Belanger - - Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs - 2015-04-09 Dmitry Gutov Use the VC root in `log-edit-listfun' @@ -5600,8 +5576,6 @@ 2015-04-08 Michael Albinus - Merge branch 'master' of git.sv.gnu.org:/srv/git/emacs - Fix nasty scoping bug in tramp-cache.el * lisp/net/tramp-cache.el (tramp-flush-file-property): Fix nasty scoping bug. diff --git a/build-aux/gitlog-to-emacslog b/build-aux/gitlog-to-emacslog index 07b33e9..4fec4de 100755 --- a/build-aux/gitlog-to-emacslog +++ b/build-aux/gitlog-to-emacslog @@ -74,7 +74,10 @@ test -d .git || { } # Use Gnulib's packaged ChangeLog generator. -./build-aux/gitlog-to-changelog --ignore-matching='^; ' \ +# Maybe we should skip all "Merge branch 'master'" messages. +# See eg the cairo-related ones. +./build-aux/gitlog-to-changelog \ + --ignore-matching="^; |^Merge branch 'master' of git\.(savannah|sv)\.gnu\.org:/srv/git/emacs$" \ --ignore-line='^; ' --format='%B' \ "$gen_origin..$new_origin" >"ChangeLog.tmp" || exit commit 62afb85efbaaa1e8f4c2015486e7453614027141 Author: Glenn Morris Date: Wed Jun 10 21:13:51 2015 -0400 Improve generated ChangeLog for gitmerge.el commits. (Bug#20717) * build-aux/gitlog-to-changelog: Handle gitmerge.el skipped commits. * admin/gitmerge.el (gitmerge-commit-message): Exclude "skipped" messages from ChangeLog once again. ; * ChangLog.2: Related fixes. diff --git a/ChangeLog.2 b/ChangeLog.2 index 4d59b8f..ff9cbdf 100644 --- a/ChangeLog.2 +++ b/ChangeLog.2 @@ -676,20 +676,6 @@ * test/automated/map-test.el: New file. * lisp/emacs-lisp/map.el: New file. -2015-04-11 Ulrich Müller - - Bump Emacs version to 24.5.50. - -2015-04-06 Nicolas Petton - - * lisp/ChangeLog: Remove a duplicate - -2015-04-05 Nicolas Petton - - lisp/ldefs-boot.el: Update for the 24.5 release - - Update the 24.5 release date in all ChangeLog files - 2015-05-30 Dmitry Gutov Make sure there's no explicit tag name diff --git a/admin/gitmerge.el b/admin/gitmerge.el index 70dff29..c8cf2dc 100644 --- a/admin/gitmerge.el +++ b/admin/gitmerge.el @@ -314,7 +314,10 @@ Returns non-nil if conflicts remain." SKIP denotes whether those commits are actually skipped. If END is nil, only the single commit BEG is merged." (with-temp-buffer - (insert ; (if skip "; " "") ; I have no idea what to do for this + ;; We do not insert "; " for non-skipped messages, + ;; because the date of those entries is helpful in figuring out + ;; when things got merged, since git does not track that. + (insert (if skip "; " "") "Merge from " branch "\n\n" (if skip (concat "The following commit" diff --git a/build-aux/gitlog-to-changelog b/build-aux/gitlog-to-changelog index 9abb693..0cab1bf 100755 --- a/build-aux/gitlog-to-changelog +++ b/build-aux/gitlog-to-changelog @@ -3,7 +3,7 @@ eval '(exit $?0)' && eval 'exec perl -wS "$0" ${1+"$@"}' if 0; # Convert git log output to ChangeLog format. -my $VERSION = '2015-05-19 01:37'; # UTC +my $VERSION = '2015-06-11 01:03'; # UTC # The definition above must lie within the first 8 lines in order # for the Emacs time-stamp write hook (at end) to update it. # If you change this file with Emacs, please let the write hook @@ -270,6 +270,7 @@ sub git_dir_option($) my $prev_multi_paragraph; my $prev_date_line = ''; my @prev_coauthors = (); + my @skipshas = (); while (1) { defined (my $in = ) @@ -290,6 +291,21 @@ sub git_dir_option($) $sha =~ /^[0-9a-fA-F]{40}$/ or die "$ME:$.: invalid SHA1: $sha\n"; + my $skipflag = 0; + if (@skipshas) + { + foreach(@skipshas) + { + if ($sha =~ /^$_/) + { + $skipflag = 1; + ## Perhaps only warn if a pattern matches more than once? + warn "$ME: warning: skipping $sha due to $_\n"; + last; + } + } + } + # If this commit's log requires any transformation, do it now. my $code = $amend_code->{$sha}; if (defined $code) @@ -348,9 +364,30 @@ sub git_dir_option($) while ($line[$#line] =~ /^\s*$/) { pop @line; } } + # Handle Emacs gitmerge.el "skipped" commits. + # Yes, this should be controlled by an option. So sue me. + if ( grep /^(; )?Merge from /, @line ) + { + my $found = 0; + foreach (@line) + { + if (grep /^The following commit.*skipped:$/, $_) + { + $found = 1; + ## Reset at each merge to reduce chance of false matches. + @skipshas = (); + next; + } + if ($found && $_ =~ /^([0-9a-fA-F]{7,}) [^ ]/) + { + push ( @skipshas, $1 ); + } + } + } + # Ignore commits that match the --ignore-matching pattern, if specified. - if (! (defined $ignore_matching - && @line && $line[0] =~ /$ignore_matching/)) + if (! ($skipflag || (defined $ignore_matching + && @line && $line[0] =~ /$ignore_matching/))) { if (defined $ignore_line && @line) { commit cabaa992fa7f7f1bcde79be8c202d54a41a52c9f Author: Glenn Morris Date: Wed Jun 10 19:07:09 2015 -0400 Slight namespace cleanup for thingatpt.el. * lisp/thingatpt.el (thing-at-point--in-string-p) (thing-at-point--end-of-sexp, thing-at-point--beginning-of-sexp) (thing-at-point--read-from-whole-string): Rename from old versions without "thing-at-point--" prefix. Keep old versions as obsolete aliases. Update all uses. diff --git a/lisp/thingatpt.el b/lisp/thingatpt.el index 7fdb32c..ac4a3d3 100644 --- a/lisp/thingatpt.el +++ b/lisp/thingatpt.el @@ -177,36 +177,45 @@ The bounds of THING are determined by `bounds-of-thing-at-point'." ;; Sexps -(defun in-string-p () - "Return non-nil if point is in a string. -\[This is an internal function.]" +(defun thing-at-point--in-string-p () + "Return non-nil if point is in a string." (declare (obsolete "use (nth 3 (syntax-ppss)) instead." "25.1")) (let ((orig (point))) (save-excursion (beginning-of-defun) (nth 3 (parse-partial-sexp (point) orig))))) -(defun end-of-sexp () - "Move point to the end of the current sexp. -\[This is an internal function.]" +(define-obsolete-function-alias 'in-string-p + 'thing-at-point--in-string-p "25.1" + "This is an internal thingatpt function and should not be used.") + +(defun thing-at-point--end-of-sexp () + "Move point to the end of the current sexp." (let ((char-syntax (syntax-after (point)))) (if (or (eq char-syntax ?\)) (and (eq char-syntax ?\") (nth 3 (syntax-ppss)))) (forward-char 1) (forward-sexp 1)))) -(put 'sexp 'end-op 'end-of-sexp) +(define-obsolete-function-alias 'end-of-sexp + 'thing-at-point--end-of-sexp "25.1" + "This is an internal thingatpt function and should not be used.") + +(put 'sexp 'end-op 'thing-at-point--end-of-sexp) -(defun beginning-of-sexp () - "Move point to the beginning of the current sexp. -\[This is an internal function.]" +(defun thing-at-point--beginning-of-sexp () + "Move point to the beginning of the current sexp." (let ((char-syntax (char-syntax (char-before)))) (if (or (eq char-syntax ?\() (and (eq char-syntax ?\") (nth 3 (syntax-ppss)))) (forward-char -1) (forward-sexp -1)))) -(put 'sexp 'beginning-op 'beginning-of-sexp) +(define-obsolete-function-alias 'beginning-of-sexp + 'thing-at-point--beginning-of-sexp "25.1" + "This is an internal thingatpt function and should not be used.") + +(put 'sexp 'beginning-op 'thing-at-point--beginning-of-sexp) ;; Lists @@ -551,7 +560,7 @@ with angle brackets.") "Return the sentence at point. See `thing-at-point'." (thing-at-point 'sentence)) -(defun read-from-whole-string (str) +(defun thing-at-point--read-from-whole-string (str) "Read a Lisp expression from STR. Signal an error if the entire string was not used." (let* ((read-data (read-from-string str)) @@ -565,9 +574,14 @@ Signal an error if the entire string was not used." (error "Can't read whole string") (car read-data)))) +(define-obsolete-function-alias 'read-from-whole-string + 'thing-at-point--read-from-whole-string "25.1" + "This is an internal thingatpt function and should not be used.") + (defun form-at-point (&optional thing pred) (let ((sexp (ignore-errors - (read-from-whole-string (thing-at-point (or thing 'sexp)))))) + (thing-at-point--read-from-whole-string + (thing-at-point (or thing 'sexp)))))) (if (or (not pred) (funcall pred sexp)) sexp))) ;;;###autoload commit 7c24a2c2101cd54f9bfdbe61daddd068b556afb0 Author: Glenn Morris Date: Wed Jun 10 17:06:02 2015 -0400 * lisp/emacs-lisp/checkdoc.el (checkdoc-get-keywords): Move requiring of finder from here... (checkdoc-package-keywords): ... to here. diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index d928a0d..0b451ef 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el @@ -2654,7 +2654,6 @@ function called to create the messages." (defun checkdoc-get-keywords () "Return a list of package keywords for the current file." - (require 'finder) (save-excursion (goto-char (point-min)) (when (re-search-forward "^;; Keywords: \\(.*\\)$" nil t) @@ -2666,6 +2665,7 @@ function called to create the messages." (defun checkdoc-package-keywords () "Find package keywords that aren't in `finder-known-keywords'." (interactive) + (require 'finder) (let ((unrecognized-keys (cl-remove-if (lambda (x) (assoc (intern-soft x) finder-known-keywords)) commit fb7234019fe279e9122c4178fce975bffa0d8c55 Author: Glenn Morris Date: Wed Jun 10 17:04:54 2015 -0400 Use 'user-error' in a few calendar files. * lisp/calendar/appt.el (appt-add): * lisp/calendar/calendar.el (calendar-absolute-from-gregorian) (calendar-generate): * lisp/calendar/diary-lib.el (diary-mail-entries, diary-cyclic): Replace 'error' with 'user-error'. diff --git a/lisp/calendar/appt.el b/lisp/calendar/appt.el index f143b2d..d5d8a40 100644 --- a/lisp/calendar/appt.el +++ b/lisp/calendar/appt.el @@ -511,13 +511,13 @@ The default is `appt-message-warning-time'." (interactive "sTime (hh:mm[am/pm]): \nsMessage: \n\ sMinutes before the appointment to start warning: ") (unless (string-match appt-time-regexp time) - (error "Unacceptable time-string")) + (user-error "Unacceptable time-string")) (and (stringp warntime) (setq warntime (unless (string-equal warntime "") (string-to-number warntime)))) (and warntime (not (integerp warntime)) - (error "Argument WARNTIME must be an integer, or nil")) + (user-error "Argument WARNTIME must be an integer, or nil")) (or appt-timer (appt-activate)) (let ((time-msg (list (list (appt-convert-time time)) (concat time " " msg) t))) diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 1612f48..233d2cf 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -1194,7 +1194,7 @@ return negative results." (let ((year (calendar-extract-year date)) offset-years) (cond ((zerop year) - (error "There was no year zero")) + (user-error "There was no year zero")) ((> year 0) (setq offset-years (1- year)) (+ (calendar-day-number date) ; days this year @@ -1379,7 +1379,7 @@ Optional integers MON and YR are used instead of today's date." ;; stands, almost all other calendar functions (eg holidays) would ;; at best have unpredictable results for such dates. (if (< (+ month (* 12 (1- year))) 2) - (error "Months before January, 1 AD cannot be displayed")) + (user-error "Months before January, 1 AD cannot be displayed")) (setq displayed-month month displayed-year year) (erase-buffer) diff --git a/lisp/calendar/diary-lib.el b/lisp/calendar/diary-lib.el index d5bd26a..1cb13e4 100644 --- a/lisp/calendar/diary-lib.el +++ b/lisp/calendar/diary-lib.el @@ -1197,7 +1197,7 @@ ensure that all relevant variables are set. " (interactive "P") (if (string-equal diary-mail-addr "") - (error "You must set `diary-mail-addr' to use this command") + (user-error "You must set `diary-mail-addr' to use this command") (let ((diary-display-function 'diary-fancy-display)) (diary-list-entries (calendar-current-date) (or ndays diary-mail-days))) (compose-mail diary-mail-addr @@ -1969,7 +1969,7 @@ and %s by the ordinal ending of that number (that is, `st', `nd', An optional parameter MARK specifies a face or single-character string to use when highlighting the day in the calendar." (or (> n 0) - (error "Day count must be positive")) + (user-error "Day count must be positive")) (let* ((diff (- (calendar-absolute-from-gregorian date) (calendar-absolute-from-gregorian (diary-make-date month day year)))) commit 7de8137710f3abf96b19c15bb7ba3a05a950b505 Author: Glenn Morris Date: Wed Jun 10 16:57:59 2015 -0400 * lisp/progmodes/f90.el (f90-backslash-not-special): Use user-error. diff --git a/lisp/progmodes/f90.el b/lisp/progmodes/f90.el index 0fde4f4..2bd7e7c 100644 --- a/lisp/progmodes/f90.el +++ b/lisp/progmodes/f90.el @@ -2374,7 +2374,7 @@ With optional argument ALL, change the default for all present and future F90 buffers. F90 mode normally treats backslash as an escape character." (or (derived-mode-p 'f90-mode) - (error "This function should only be used in F90 buffers")) + (user-error "This function should only be used in F90 buffers")) (when (equal (char-syntax ?\\ ) ?\\ ) (or all (set-syntax-table (copy-syntax-table (syntax-table)))) (modify-syntax-entry ?\\ "."))) commit 6bf9bdb4b155f3f330c0e2b6eb00c45c8e01f54b Author: Glenn Morris Date: Wed Jun 10 16:38:18 2015 -0400 * lisp/files-x.el (add-file-local-variable): Special-case 'lexical-binding'. (Bug#20641) diff --git a/lisp/files-x.el b/lisp/files-x.el index 248c307..a130ffc 100644 --- a/lisp/files-x.el +++ b/lisp/files-x.el @@ -247,7 +247,14 @@ then this function adds the first line containing the string `Local Variables:' and the last line containing the string `End:'." (interactive (let ((variable (read-file-local-variable "Add file-local variable"))) + ;; Error before reading value. + (if (equal variable 'lexical-binding) + (user-error "The `%s' variable must be set at the start of the file" + variable)) (list variable (read-file-local-variable-value variable) t))) + (if (equal variable 'lexical-binding) + (user-error "The `%s' variable must be set at the start of the file" + variable)) (modify-file-local-variable variable value 'add-or-replace interactive)) ;;;###autoload commit d9d04bfa49514692b752072d9e6559a05d24f336 Author: Glenn Morris Date: Wed Jun 10 16:24:32 2015 -0400 * lisp/progmodes/executable.el (executable-self-display): Obsolete. No longer autoload. * doc/misc/autotype.texi (Executables): Undocument executable-self-display. diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index acc98ed..a147d4b 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi @@ -517,12 +517,6 @@ is only done with @kbd{M-x executable-set-magic}. When this is called as a function, such as when Emacs puts a buffer in Shell script mode. Otherwise you are always queried. -@findex executable-self-display - @kbd{M-x executable-self-display} adds a magic number to the buffer, which -will turn it into a self displaying text file, when called as a Un*x command. -The ``interpreter'' used is @code{executable-self-display} with argument -@samp{+2}. - @node Timestamps @chapter Maintaining Timestamps in Modified Files @cindex timestamps diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el index 367a2e7..50e4da9 100644 --- a/lisp/progmodes/executable.el +++ b/lisp/progmodes/executable.el @@ -109,6 +109,8 @@ Note that the like of `more' doesn't work too well under Emacs \\[shell]." :type 'string :group 'executable) +(make-obsolete-variable 'executable-self-display nil "25.1" 'set) + (defvar executable-font-lock-keywords '(("\\`#!.*/\\([^ \t\n]+\\)" 1 font-lock-keyword-face t)) @@ -251,10 +253,10 @@ executable." -;;;###autoload (defun executable-self-display () "Turn a text file into a self-displaying Un*x command. The magic number of such a command displays all lines but itself." + (declare (obsolete nil "25.1")) (interactive) (if (eq this-command 'executable-self-display) (setq this-command 'executable-set-magic)) commit dfa1dc1c2b05eff6336cfac0f36c6137b4a57733 Author: Glenn Morris Date: Wed Jun 10 16:19:13 2015 -0400 * lisp/progmodes/executable.el (executable-self-display): Use non-obsolete tail syntax. (Bug#20779) (executable-self-display): Doc update. diff --git a/lisp/progmodes/executable.el b/lisp/progmodes/executable.el index bdc6403..367a2e7 100644 --- a/lisp/progmodes/executable.el +++ b/lisp/progmodes/executable.el @@ -104,7 +104,7 @@ Typical values are 73 (+x) or -493 (rwxr-xr-x)." (defvar executable-command nil) (defcustom executable-self-display "tail" - "Command you use with argument `+2' to make text files self-display. + "Command you use with argument `-n+2' to make text files self-display. Note that the like of `more' doesn't work too well under Emacs \\[shell]." :type 'string :group 'executable) @@ -258,7 +258,7 @@ The magic number of such a command displays all lines but itself." (interactive) (if (eq this-command 'executable-self-display) (setq this-command 'executable-set-magic)) - (executable-set-magic executable-self-display "+2")) + (executable-set-magic executable-self-display "-n+2")) ;;;###autoload (defun executable-make-buffer-file-executable-if-script-p () commit a0f0f08a521d3119ab08da3c4f1697fd67092183 Author: Stefan Monnier Date: Wed Jun 10 09:11:20 2015 -0400 * lisp/emacs-lisp/checkdoc.el: Use lexical-binding (finder-known-keywords): Silence byte-compiler. diff --git a/lisp/emacs-lisp/checkdoc.el b/lisp/emacs-lisp/checkdoc.el index b20e4f1..d928a0d 100644 --- a/lisp/emacs-lisp/checkdoc.el +++ b/lisp/emacs-lisp/checkdoc.el @@ -1,4 +1,4 @@ -;;; checkdoc.el --- check documentation strings for style requirements +;;; checkdoc.el --- check documentation strings for style requirements -*- lexical-binding:t -*- ;; Copyright (C) 1997-1998, 2001-2015 Free Software Foundation, Inc. @@ -2660,6 +2660,8 @@ function called to create the messages." (when (re-search-forward "^;; Keywords: \\(.*\\)$" nil t) (split-string (match-string-no-properties 1) ", " t)))) +(defvar finder-known-keywords) + ;;;###autoload (defun checkdoc-package-keywords () "Find package keywords that aren't in `finder-known-keywords'."