commit 516b4c389ab7221726ac675bb7659476eae7ae35 (HEAD, refs/remotes/origin/master) Author: Michael Albinus Date: Mon Dec 19 09:32:30 2016 +0100 Fix Bug#24980 * lisp/ido.el (ido-add-virtual-buffers-to-list): Suppress Tramp invocation. (Bug#24980) diff --git a/lisp/ido.el b/lisp/ido.el index 9df89c9fb6..7b9cf074c9 100644 --- a/lisp/ido.el +++ b/lisp/ido.el @@ -3505,7 +3505,7 @@ This is to make them appear as if they were \"virtual buffers\"." (when (equal name "") (setq name head)) (and (not (equal name "")) - (null (get-file-buffer head)) + (null (let (file-name-handler-alist) (get-file-buffer head))) (not (assoc name ido-virtual-buffers)) (not (member name ido-temp-list)) (not (ido-ignore-item-p name ido-ignore-buffers)) commit 5d1d00c34123aad92cffd913152987de05c5e713 Author: Philipp Stephani Date: Sat Dec 10 21:39:55 2016 +0100 Add a new compile error regexp for Clang includes Clang uses a slight variation of GCC's include format, causing includes to be treated as warnings instead of informational messages. Use a new regular expression instead. * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): New element `clang-include' for Clang-style "included from" lines. * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add unit test. diff --git a/lisp/progmodes/compile.el b/lisp/progmodes/compile.el index fc7056ceea..7f20e79a26 100644 --- a/lisp/progmodes/compile.el +++ b/lisp/progmodes/compile.el @@ -230,6 +230,13 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1)) nil 1 nil 2 0 (2 (compilation-face '(3)))) + (clang-include + ,(rx bol "In file included from " + (group (+ (not (any ?\n ?:)))) ?: + (group (+ (any (?0 . ?9)))) ?: + eol) + 1 2 nil 0) + (gcc-include "^\\(?:In file included \\| \\|\t\\)from \ \\([0-9]*[^0-9\n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\):\ diff --git a/test/lisp/progmodes/compile-tests.el b/test/lisp/progmodes/compile-tests.el index 631174fa00..9f61c20fd5 100644 --- a/test/lisp/progmodes/compile-tests.el +++ b/test/lisp/progmodes/compile-tests.el @@ -83,6 +83,9 @@ 1 nil 302 "\\lib\\python\\Products\\PythonScripts\\PythonScript.py") ("File \"/tmp/foo.py\", line 10" 1 nil 10 "/tmp/foo.py") + ;; clang-include + ("In file included from foo.cpp:2:" + 1 nil 2 "foo.cpp" 0) ;; cmake cmake-info ("CMake Error at CMakeLists.txt:23 (hurz):" 1 nil 23 "CMakeLists.txt") commit 4b6baba2526c53c56fc1835b6353c0c87fe80a90 Author: Alan Third Date: Sun Dec 18 15:54:48 2016 +0000 Reinstate ispell character offset (bug#25219) * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where ispell-offset used to be. diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index 37a6ffc4ef..23ee412b8c 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -3338,7 +3338,10 @@ Returns the sum SHIFT due to changes in word replacements." ;; Markers can move with highlighting! This destroys ;; end of region markers line-end and ispell-region-end (let ((word-start - (copy-marker (+ ispell-start (car (cdr poss))))) + ;; There is a -1 offset here as the string is escaped + ;; with '^' to prevent us accidentally sending any + ;; ispell commands. + (copy-marker (+ ispell-start -1 (car (cdr poss))))) (word-len (length (car poss))) (line-end (copy-marker ispell-end)) (line-start (copy-marker ispell-start)) commit 15b3223ebc60ecaf7818d36a412646976efd5b3f Author: Mark Oteiza Date: Sun Dec 18 09:41:31 2016 -0500 Bind new image-mode scroll commands in image-dired * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings to new image-mode commands. diff --git a/lisp/image-dired.el b/lisp/image-dired.el index dd0c5b512e..6902d742db 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el @@ -1424,6 +1424,8 @@ You probably want to use this together with (define-key map [remap scroll-down] 'image-scroll-down) (define-key map [remap scroll-up-command] 'image-scroll-up) (define-key map [remap scroll-down-command] 'image-scroll-down) + (define-key map [remap scroll-left] 'image-scroll-left) + (define-key map [remap scroll-right] 'image-scroll-right) (define-key map [remap move-beginning-of-line] 'image-bol) (define-key map [remap move-end-of-line] 'image-eol) (define-key map [remap beginning-of-buffer] 'image-bob) commit a7523ba955005d546d7b3d0351dfefc1347b4b47 Author: Noam Postavsky Date: Wed Dec 7 23:17:37 2016 -0500 Fix rx-any with range with ?\] and ?- * lisp/emacs-lisp/rx.el: Make sure not to produce a circular list (Bug#25123). * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test. diff --git a/lisp/emacs-lisp/rx.el b/lisp/emacs-lisp/rx.el index 66d295e221..d305597631 100644 --- a/lisp/emacs-lisp/rx.el +++ b/lisp/emacs-lisp/rx.el @@ -521,7 +521,7 @@ ARG is optional." (setq args (nconc (delq ?- args) (list ?-)))) ((setq m (assq ?- args)) ;; next to the bracket's range, make the second range - (setcdr args (cons m (delq m args)))))) + (setcdr args (cons m (delq m (cdr args))))))) ;; bracket in the end range ;; => "[]...-]" ((setq m (rassq ?\] args)) diff --git a/test/lisp/emacs-lisp/rx-tests.el b/test/lisp/emacs-lisp/rx-tests.el new file mode 100644 index 0000000000..7ff45f650c --- /dev/null +++ b/test/lisp/emacs-lisp/rx-tests.el @@ -0,0 +1,37 @@ +;;; rx-tests.el --- test for rx.el functions -*- lexical-binding: t -*- + +;; Copyright (C) 2016 Free Software Foundation, Inc. + +;; This file is part of GNU Emacs. + +;; GNU Emacs is free software: you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Emacs is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with GNU Emacs. If not, see . + +;;; Commentary: + +(require 'ert) +(require 'rx) + +;;; Code: + +(ert-deftest rx-char-any () + "Test character alternatives with `\]' and `-' (Bug#25123)." + (should (string-match + (rx string-start (1+ (char (?\] . ?\{) (?< . ?\]) (?- . ?:))) + string-end) + (apply #'string (nconc (number-sequence ?\] ?\{) + (number-sequence ?< ?\]) + (number-sequence ?- ?:)))))) + +(provide 'rx-tests) +;; rx-tests.el ends here. commit b21a3e726feb521d013d3bda6dd8fd8e0c78ad37 Author: Mark Oteiza Date: Sun Dec 18 07:28:03 2016 -0500 Use floor of mtime instead of rounding for thumb property This seems to be the correct thing to do, at least more in line with what at least one other implementation does. Anything using gnome-desktop [0] effectively does the same, as gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for comparison and time_t on GNU/Linux is a signed int. [0] https://git.gnome.org/browse/gnome-desktop/ * lisp/image-dired.el (image-dired-create-thumb): Use floor here. diff --git a/lisp/image-dired.el b/lisp/image-dired.el index 96570a503f..dd0c5b512e 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el @@ -646,8 +646,7 @@ DIMENSION should be either the symbol 'width or 'height." 'image-dired-cmd-create-thumbnail-program) (let* ((width (int-to-string (image-dired-thumb-size 'width))) (height (int-to-string (image-dired-thumb-size 'height))) - (modif-time (format "%.0f" (float-time (nth 5 (file-attributes - original-file))))) + (modif-time (floor (float-time (nth 5 (file-attributes original-file))))) (thumbnail-nq8-file (replace-regexp-in-string ".png\\'" "-nq8.png" thumbnail-file)) (command