commit 35d547096293a6ee5233ad086d6e27756f092fee (HEAD, refs/remotes/origin/master) Author: Tino Calancha Date: Sun Dec 4 18:12:59 2016 +0900 Fix typo in dired-omit-case-fold-p * lisp/dired-x.el (dired-omit-case-fold-p): Write 'file-name-case-insensitive-p' instead of 'file-name-case-sensitive-p'. Add declaration of 'file-name-case-insensitive-p'. diff --git a/lisp/dired-x.el b/lisp/dired-x.el index 88caca4..bddf1eb 100644 --- a/lisp/dired-x.el +++ b/lisp/dired-x.el @@ -130,10 +130,11 @@ folding to be used on case-insensitive filesystems only." :group 'dired-x :version "26.1") +(declare-function file-name-case-insensitive-p "fileio.c" (filename)) (defun dired-omit-case-fold-p (dir) "Non-nil if `dired-omit-mode' should be case-insensitive in DIR." (if (eq dired-omit-case-fold 'filesystem) - (file-name-case-sensitive-p dir) + (file-name-case-insensitive-p dir) dired-omit-case-fold)) ;; For backward compatibility commit d993aaf9cdbb1d4f14c46b828f1c6caf17443c9b Author: Simen Heggestøyl Date: Sun Dec 4 09:34:19 2016 +0100 Add HTML5 attributes for the input element * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes for the input element. diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index 13c3cfb..f476cfb 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el @@ -1840,10 +1840,22 @@ This takes effect when first loading the library.") ("img" t ("align" ,@valign ("texttop") ("absmiddle") ("absbottom")) ("src") ("alt") ("width" "1") ("height" "1") ("border" "1") ("vspace" "1") ("hspace" "1") ("ismap" t)) - ("input" t ("size" ,@1-9) ("maxlength" ,@1-9) ("checked" t) ,name - ("type" ("text") ("password") ("checkbox") ("radio") - ("submit") ("reset")) - ("value")) + ("input" t ,name ("accept") ("alt") ("autocomplete" ("on") ("off")) + ("autofocus" t) ("checked" t) ("dirname") ("disabled" t) ("form") + ("formaction") + ("formenctype" ("application/x-www-form-urlencoded") + ("multipart/form-data") ("text/plain")) + ("formmethod" ("get") ("post")) + ("formnovalidate" t) + ("formtarget" ("_blank") ("_self") ("_parent") ("_top")) + ("height") ("inputmode") ("list") ("max") ("maxlength") ("min") + ("minlength") ("multiple" t) ("pattern") ("placeholder") + ("readonly" t) ("required" t) ("size") ("src") ("step") + ("type" ("hidden") ("text") ("search") ("tel") ("url") ("email") + ("password") ("date") ("time") ("number") ("range") ("color") + ("checkbox") ("radio") ("file") ("submit") ("image") ("reset") + ("button")) + ("value") ("width")) ("link" t ,@link) ("menu" ,@list) ("ol" ,@list ("type" ("A") ("a") ("I") ("i") ("1"))) commit dd210a63dfdb1b021c8a6b5f29c8e6b0d428d5a2 Author: Glenn Morris Date: Sat Dec 3 19:27:41 2016 -0800 Obsolete sc-load-hook in favor of eval-after-load * lisp/mail/supercite.el (sc-load-hook): Make obsolete. * doc/misc/sc.texi (Getting Connected, Filling Cited Text): No longer mention sc-load-hook. diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index 1f7b73d..8051229 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi @@ -775,18 +775,6 @@ MUA calls @code{sc-cite-original} at the right time. As mentioned above, some MUAs handle this differently. Read the sections that follow pertaining to the MUAs you are using. -@vindex sc-load-hook -@vindex load-hook (sc-) -@vindex sc-pre-hook -@vindex pre-hook (sc-) -One final note. After Supercite is loaded into your Emacs session, it -runs the hook @code{sc-load-hook}. You can put any customizations into -this hook since it is only run once. This will not work, however, if -your Emacs maintainer has put Supercite into your dumped Emacs image. -In that case, you can use the @code{sc-pre-hook} variable, but this will -get executed every time @code{sc-cite-original} is called. @xref{Reply -Buffer Initialization}. - @node Replying and Yanking @chapter Replying and Yanking @@ -964,8 +952,6 @@ reset certain variables set in @code{sc-pre-hook}. @cindex gin-mode @findex sc-setup-filladapt @findex setup-filladapt (sc-) -@vindex sc-load-hook -@vindex load-hook (sc-) Supercite will automatically fill newly cited text from the original message unless the variable @code{sc-auto-fill-region-p} has a @@ -979,7 +965,8 @@ two best known are @dfn{filladapt} and @dfn{gin-mode}. Both work well with Supercite and both are available at the normal Emacs Lisp archive sites. @dfn{gin-mode} works pretty well out of the box, but if you use @dfn{filladapt}, you may want to run the function -@code{sc-setup-filladapt} from your @code{sc-load-hook}. This simply +@code{sc-setup-filladapt} after loading @file{supercite} +(e.g., using @code{with-eval-after-load}). This simply makes @dfn{filladapt} a little more Supercite savvy than its default setup. diff --git a/lisp/mail/supercite.el b/lisp/mail/supercite.el index 3d4ccf9..b38b16f 100644 --- a/lisp/mail/supercite.el +++ b/lisp/mail/supercite.el @@ -302,6 +302,9 @@ during the initial citing via `sc-cite-original'." "Hook which gets run once after Supercite loads." :type 'hook :group 'supercite-hooks) +(make-obsolete-variable 'sc-load-hook + "use `with-eval-after-load' instead." "26.1") + (defcustom sc-pre-hook nil "Hook which gets run before each invocation of `sc-cite-original'." :type 'hook commit 041e90962b1309ff013c85ee9b537800a332a94c Author: Glenn Morris Date: Sat Dec 3 19:22:37 2016 -0800 Obsolete calendar-load-hook in favor of eval-after-load * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete. (calendar): Doc fix - no longer mention calendar-load-hook. * doc/emacs/cal-xtra.texi (Calendar Customizing): No longer mention calendar-load-hook. * doc/lispintro/emacs-lisp-intro.texi (X11 Colors): Replace calendar-load-hook in example with with-eval-after-load. diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi index 2dff8c9..842c079 100644 --- a/doc/emacs/cal-xtra.texi +++ b/doc/emacs/cal-xtra.texi @@ -62,11 +62,6 @@ uses @code{calendar-today-marker} to mark today's date. By default, the calendar uses faces named @code{holiday}, @code{diary}, and @code{calendar-today} for these purposes. -@vindex calendar-load-hook - The variable @code{calendar-load-hook} is a normal hook run when the -calendar package is first loaded (before actually starting to display -the calendar). - @vindex calendar-initial-window-hook Starting the calendar runs the normal hook @code{calendar-initial-window-hook}. Recomputation of the calendar diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 958dba1..0a6b775 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -17584,11 +17584,10 @@ file that set values: @group ;; Set calendar highlighting colors -(add-hook 'calendar-load-hook - (lambda () - (set-face-foreground 'diary-face "skyblue") - (set-face-background 'holiday-face "slate blue") - (set-face-foreground 'holiday-face "white"))) +(with-eval-after-load 'calendar + (set-face-foreground 'diary "skyblue") + (set-face-background 'holiday "slate blue") + (set-face-foreground 'holiday "white")) @end group @end smallexample diff --git a/lisp/calendar/calendar.el b/lisp/calendar/calendar.el index 7a2b3fe..5cea46b 100644 --- a/lisp/calendar/calendar.el +++ b/lisp/calendar/calendar.el @@ -330,6 +330,8 @@ The marking symbol is specified by the variable `calendar-holiday-marker'." This is the place to add key bindings to `calendar-mode-map'." :type 'hook :group 'calendar-hooks) +(make-obsolete-variable 'calendar-load-hook + "use `with-eval-after-load' instead." "26.1") (defcustom calendar-initial-window-hook nil "List of functions to be called when the calendar window is created. @@ -1257,7 +1259,6 @@ diary entries can also be marked on the calendar (see Runs the following hooks: -`calendar-load-hook' - after loading calendar.el `calendar-today-visible-hook', `calendar-today-invisible-hook' - after generating a calendar, if today's date is visible or not, respectively `calendar-initial-window-hook' - after first creating a calendar commit c387127feea588ef3834cc5e933b5d4d61ecadc4 Author: Glenn Morris Date: Sat Dec 3 18:14:53 2016 -0800 Fix markup in read-multiple-choice doc (Bug#25102) * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix. diff --git a/lisp/emacs-lisp/subr-x.el b/lisp/emacs-lisp/subr-x.el index 7d1e1c9..fdcfa70 100644 --- a/lisp/emacs-lisp/subr-x.el +++ b/lisp/emacs-lisp/subr-x.el @@ -219,7 +219,7 @@ The return value is the matching entry from the CHOICES list. Usage example: \(read-multiple-choice \"Continue connecting?\" - '((?a \"always\") + \\='((?a \"always\") (?s \"session only\") (?n \"no\")))" (let* ((altered-names nil) commit 041afb2d37124c5a89e9abcf637a39087e480c9c Author: Glenn Morris Date: Sat Dec 3 17:59:36 2016 -0800 Stop flymake using dialog boxes for errors (Bug#16622) * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled): Mark as obsolete. (flymake-display-warning): Turn into an obsolete alias. (flymake-report-fatal-status): Just use message for a warning that was formerly displayed by default. diff --git a/lisp/progmodes/flymake.el b/lisp/progmodes/flymake.el index 1b78823..cb9f7b6 100644 --- a/lisp/progmodes/flymake.el +++ b/lisp/progmodes/flymake.el @@ -102,6 +102,8 @@ See `flymake-error-bitmap' and `flymake-warning-bitmap'." "Enables/disables GUI warnings." :group 'flymake :type 'boolean) +(make-obsolete-variable 'flymake-gui-warnings-enabled + "it no longer has any effect." "26.1") (defcustom flymake-start-syntax-check-on-find-file t "Start syntax check on find file." @@ -1190,15 +1192,16 @@ For the format of LINE-ERR-INFO, see `flymake-ler-make-ler'." (setq flymake-mode-line mode-line) (force-mode-line-update))) -(defun flymake-display-warning (warning) - "Display a warning to user." - (message-box warning)) +;; Nothing in flymake uses this at all any more, so this is just for +;; third-party compatibility. +(define-obsolete-function-alias 'flymake-display-warning 'message-box "26.1") (defun flymake-report-fatal-status (status warning) "Display a warning and switch flymake mode off." - (when flymake-gui-warnings-enabled - (flymake-display-warning (format "Flymake: %s. Flymake will be switched OFF" warning)) - ) + ;; This should really by flymake-log 0, but that is not shown by default. + ;; flymake-mode already uses message if no file name. + ;; Another option is display-warning. + (message "Flymake: %s. Flymake will be switched OFF" warning) (flymake-mode 0) (flymake-log 0 "switched OFF Flymake mode for buffer %s due to fatal status %s, warning %s" (buffer-name) status warning)) commit b905454680c7200e92112a54d2ebaf709776ca6a Author: Mark Oteiza Date: Sat Dec 3 16:18:48 2016 -0500 Clean up keymap and menu code in image-dired A function to populate these maps is not necessary, just define the maps once and for all. * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt clearer and in the spirit of dired's. (image-dired-define-display-image-mode-keymap): (image-dired-define-thumbnail-mode-keymap): Remove. (image-dired-thumbnail-mode-map): (image-dired-thumbnail-mode-line-up-map): (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode menu code from the aforementioned removed functions. Reorder so that the definitions are inherited properly. (image-dired-display-current-image-sized): Fix erroneous message. (image-dired-thumbnail-mode): (image-dired-display-image-mode): Remove defunct call. diff --git a/lisp/image-dired.el b/lisp/image-dired.el index cf7ef53..0979527 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el @@ -870,7 +870,7 @@ thumbnail buffer to be selected." If the number of files in DIR matching `image-file-name-regexp' exceeds `image-dired-show-all-from-dir-max-files', a warning will be displayed." - (interactive "DDir: ") + (interactive "DImage Dired: ") (dired dir) (dired-mark-files-regexp (image-file-name-regexp)) (let ((files (dired-get-marked-files))) @@ -1280,198 +1280,122 @@ You probably want to use this together with (select-window window)) (message "Thumbnail buffer not visible")))) -(defvar image-dired-thumbnail-mode-map (make-sparse-keymap) - "Keymap for `image-dired-thumbnail-mode'.") - -(defvar image-dired-thumbnail-mode-line-up-map (make-sparse-keymap) +(defvar image-dired-thumbnail-mode-line-up-map + (let ((map (make-sparse-keymap))) + ;; map it to "g" so that the user can press it more quickly + (define-key map "g" 'image-dired-line-up-dynamic) + ;; "f" for "fixed" number of thumbs per row + (define-key map "f" 'image-dired-line-up) + ;; "i" for "interactive" + (define-key map "i" 'image-dired-line-up-interactive) + map) "Keymap for line-up commands in `image-dired-thumbnail-mode'.") -(defvar image-dired-thumbnail-mode-tag-map (make-sparse-keymap) +(defvar image-dired-thumbnail-mode-tag-map + (let ((map (make-sparse-keymap))) + ;; map it to "t" so that the user can press it more quickly + (define-key map "t" 'image-dired-tag-thumbnail) + ;; "r" for "remove" + (define-key map "r" 'image-dired-tag-thumbnail-remove) + map) "Keymap for tag commands in `image-dired-thumbnail-mode'.") -(defun image-dired-define-thumbnail-mode-keymap () - "Define keymap for `image-dired-thumbnail-mode'." - - ;; Keys - (define-key image-dired-thumbnail-mode-map [right] 'image-dired-forward-image) - (define-key image-dired-thumbnail-mode-map [left] 'image-dired-backward-image) - (define-key image-dired-thumbnail-mode-map [up] 'image-dired-previous-line) - (define-key image-dired-thumbnail-mode-map [down] 'image-dired-next-line) - (define-key image-dired-thumbnail-mode-map "\C-f" 'image-dired-forward-image) - (define-key image-dired-thumbnail-mode-map "\C-b" 'image-dired-backward-image) - (define-key image-dired-thumbnail-mode-map "\C-p" 'image-dired-previous-line) - (define-key image-dired-thumbnail-mode-map "\C-n" 'image-dired-next-line) - - (define-key image-dired-thumbnail-mode-map "d" 'image-dired-flag-thumb-original-file) - (define-key image-dired-thumbnail-mode-map [delete] - 'image-dired-flag-thumb-original-file) - (define-key image-dired-thumbnail-mode-map "m" 'image-dired-mark-thumb-original-file) - (define-key image-dired-thumbnail-mode-map "u" 'image-dired-unmark-thumb-original-file) - (define-key image-dired-thumbnail-mode-map "." 'image-dired-track-original-file) - (define-key image-dired-thumbnail-mode-map [tab] 'image-dired-jump-original-dired-buffer) - - ;; add line-up map - (define-key image-dired-thumbnail-mode-map "g" image-dired-thumbnail-mode-line-up-map) - - ;; map it to "g" so that the user can press it more quickly - (define-key image-dired-thumbnail-mode-line-up-map "g" 'image-dired-line-up-dynamic) - ;; "f" for "fixed" number of thumbs per row - (define-key image-dired-thumbnail-mode-line-up-map "f" 'image-dired-line-up) - ;; "i" for "interactive" - (define-key image-dired-thumbnail-mode-line-up-map "i" 'image-dired-line-up-interactive) - - ;; add tag map - (define-key image-dired-thumbnail-mode-map "t" image-dired-thumbnail-mode-tag-map) - - ;; map it to "t" so that the user can press it more quickly - (define-key image-dired-thumbnail-mode-tag-map "t" 'image-dired-tag-thumbnail) - ;; "r" for "remove" - (define-key image-dired-thumbnail-mode-tag-map "r" 'image-dired-tag-thumbnail-remove) - - (define-key image-dired-thumbnail-mode-map "\C-m" - 'image-dired-display-thumbnail-original-image) - (define-key image-dired-thumbnail-mode-map [C-return] - 'image-dired-thumbnail-display-external) - - (define-key image-dired-thumbnail-mode-map "l" 'image-dired-rotate-thumbnail-left) - (define-key image-dired-thumbnail-mode-map "r" 'image-dired-rotate-thumbnail-right) - - (define-key image-dired-thumbnail-mode-map "L" 'image-dired-rotate-original-left) - (define-key image-dired-thumbnail-mode-map "R" 'image-dired-rotate-original-right) - - (define-key image-dired-thumbnail-mode-map "D" - 'image-dired-thumbnail-set-image-description) - - (define-key image-dired-thumbnail-mode-map "\C-d" 'image-dired-delete-char) - (define-key image-dired-thumbnail-mode-map " " - 'image-dired-display-next-thumbnail-original) - (define-key image-dired-thumbnail-mode-map - (kbd "DEL") 'image-dired-display-previous-thumbnail-original) - (define-key image-dired-thumbnail-mode-map "c" 'image-dired-comment-thumbnail) - (define-key image-dired-thumbnail-mode-map "q" 'image-dired-kill-buffer-and-window) - - ;; Mouse - (define-key image-dired-thumbnail-mode-map [mouse-2] 'image-dired-mouse-display-image) - (define-key image-dired-thumbnail-mode-map [mouse-1] 'image-dired-mouse-select-thumbnail) - - ;; Seems I must first set C-down-mouse-1 to undefined, or else it - ;; will trigger the buffer menu. If I try to instead bind - ;; C-down-mouse-1 to `image-dired-mouse-toggle-mark', I get a message - ;; about C-mouse-1 not being defined afterwards. Annoying, but I - ;; probably do not completely understand mouse events. - - (define-key image-dired-thumbnail-mode-map [C-down-mouse-1] 'undefined) - (define-key image-dired-thumbnail-mode-map [C-mouse-1] 'image-dired-mouse-toggle-mark) - - ;; Menu - (define-key image-dired-thumbnail-mode-map [menu-bar image-dired] - (cons "Image-Dired" (make-sparse-keymap "Image-Dired"))) +(defvar image-dired-thumbnail-mode-map + (let ((map (make-sparse-keymap))) + (define-key map [right] 'image-dired-forward-image) + (define-key map [left] 'image-dired-backward-image) + (define-key map [up] 'image-dired-previous-line) + (define-key map [down] 'image-dired-next-line) + (define-key map "\C-f" 'image-dired-forward-image) + (define-key map "\C-b" 'image-dired-backward-image) + (define-key map "\C-p" 'image-dired-previous-line) + (define-key map "\C-n" 'image-dired-next-line) + + (define-key map "d" 'image-dired-flag-thumb-original-file) + (define-key map [delete] 'image-dired-flag-thumb-original-file) + (define-key map "m" 'image-dired-mark-thumb-original-file) + (define-key map "u" 'image-dired-unmark-thumb-original-file) + (define-key map "." 'image-dired-track-original-file) + (define-key map [tab] 'image-dired-jump-original-dired-buffer) + + ;; add line-up map + (define-key map "g" image-dired-thumbnail-mode-line-up-map) + ;; add tag map + (define-key map "t" image-dired-thumbnail-mode-tag-map) + + (define-key map "\C-m" 'image-dired-display-thumbnail-original-image) + (define-key map [C-return] 'image-dired-thumbnail-display-external) + + (define-key map "l" 'image-dired-rotate-thumbnail-left) + (define-key map "r" 'image-dired-rotate-thumbnail-right) + (define-key map "L" 'image-dired-rotate-original-left) + (define-key map "R" 'image-dired-rotate-original-right) + + (define-key map "D" 'image-dired-thumbnail-set-image-description) + (define-key map "\C-d" 'image-dired-delete-char) + (define-key map " " 'image-dired-display-next-thumbnail-original) + (define-key map (kbd "DEL") 'image-dired-display-previous-thumbnail-original) + (define-key map "c" 'image-dired-comment-thumbnail) + (define-key map "q" 'image-dired-kill-buffer-and-window) + + ;; Mouse + (define-key map [mouse-2] 'image-dired-mouse-display-image) + (define-key map [mouse-1] 'image-dired-mouse-select-thumbnail) + ;; Seems I must first set C-down-mouse-1 to undefined, or else it + ;; will trigger the buffer menu. If I try to instead bind + ;; C-down-mouse-1 to `image-dired-mouse-toggle-mark', I get a message + ;; about C-mouse-1 not being defined afterwards. Annoying, but I + ;; probably do not completely understand mouse events. + (define-key map [C-down-mouse-1] 'undefined) + (define-key map [C-mouse-1] 'image-dired-mouse-toggle-mark) + + ;; Menu + (easy-menu-define nil map + "Menu for `image-dired-thumbnail-mode'." + '("Image-Dired" + ["Quit" image-dired-kill-buffer-and-window] + ["Delete thumbnail from buffer" image-dired-delete-char] + ["Remove tag from thumbnail" image-dired-tag-thumbnail-remove] + ["Tag thumbnail" image-dired-tag-thumbnail] + ["Comment thumbnail" image-dired-comment-thumbnail] + ["Refresh thumb" image-dired-refresh-thumb] + ["Dynamic line up" image-dired-line-up-dynamic] + ["Line up thumbnails" image-dired-line-up] + + ["Rotate thumbnail left" image-dired-rotate-thumbnail-left] + ["Rotate thumbnail right" image-dired-rotate-thumbnail-right] + ["Rotate original left" image-dired-rotate-original-left] + ["Rotate original right" image-dired-rotate-original-right] + + ["Toggle movement tracking on/off" image-dired-toggle-movement-tracking] + + ["Jump to dired buffer" image-dired-jump-original-dired-buffer] + ["Track original" image-dired-track-original-file] + + ["Flag original for deletion" image-dired-flag-thumb-original-file] + ["Unmark original" image-dired-unmark-thumb-original-file] + ["Mark original" image-dired-mark-thumb-original-file] + + ["Display in external viewer" image-dired-thumbnail-display-external] + ["Display image" image-dired-display-thumbnail-original-image])) + map) + "Keymap for `image-dired-thumbnail-mode'.") - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-kill-buffer-and-window] - '("Quit" . image-dired-kill-buffer-and-window)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-delete-char] - '("Delete thumbnail from buffer" . image-dired-delete-char)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-tag-thumbnail-remove] - '("Remove tag from thumbnail" . image-dired-tag-thumbnail-remove)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-tag-thumbnail] - '("Tag thumbnail" . image-dired-tag-thumbnail)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-comment-thumbnail] - '("Comment thumbnail" . image-dired-comment-thumbnail)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-refresh-thumb] - '("Refresh thumb" . image-dired-refresh-thumb)) - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-line-up-dynamic] - '("Dynamic line up" . image-dired-line-up-dynamic)) - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-line-up] - '("Line up thumbnails" . image-dired-line-up)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-rotate-thumbnail-left] - '("Rotate thumbnail left" . image-dired-rotate-thumbnail-left)) - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-rotate-thumbnail-right] - '("Rotate thumbnail right" . image-dired-rotate-thumbnail-right)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-rotate-original-left] - '("Rotate original left" . image-dired-rotate-original-left)) - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-rotate-original-right] - '("Rotate original right" . image-dired-rotate-original-right)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-toggle-movement-tracking] - '("Toggle movement tracking on/off" . image-dired-toggle-movement-tracking)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-jump-original-dired-buffer] - '("Jump to dired buffer" . image-dired-jump-original-dired-buffer)) - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-track-original-file] - '("Track original" . image-dired-track-original-file)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-flag-thumb-original-file] - '("Flag original for deletion" . image-dired-flag-thumb-original-file)) - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-unmark-thumb-original-file] - '("Unmark original" . image-dired-unmark-thumb-original-file)) - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-mark-thumb-original-file] - '("Mark original" . image-dired-mark-thumb-original-file)) - - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-thumbnail-display-external] - '("Display in external viewer" . image-dired-thumbnail-display-external)) - (define-key image-dired-thumbnail-mode-map - [menu-bar image-dired image-dired-display-thumbnail-original-image] - '("Display image" . image-dired-display-thumbnail-original-image))) - -(defvar image-dired-display-image-mode-map (make-sparse-keymap) +(defvar image-dired-display-image-mode-map + (let ((map (make-sparse-keymap))) + (define-key map "q" 'image-dired-kill-buffer-and-window) + (define-key map "f" 'image-dired-display-current-image-full) + (define-key map "s" 'image-dired-display-current-image-sized) + + (easy-menu-define nil map + "Menu for `image-dired-display-image-mode-map'." + '("Image-Dired" + ["Quit" image-dired-kill-buffer-and-window] + ["Display original, sized to fit" image-dired-display-current-image-sized] + ["Display original, full size" image-dired-display-current-image-full])) + map) "Keymap for `image-dired-display-image-mode'.") -(defun image-dired-define-display-image-mode-keymap () - "Define keymap for `image-dired-display-image-mode'." - - ;; Keys - (define-key image-dired-display-image-mode-map "q" 'image-dired-kill-buffer-and-window) - - (define-key image-dired-display-image-mode-map "f" - 'image-dired-display-current-image-full) - - (define-key image-dired-display-image-mode-map "s" - 'image-dired-display-current-image-sized) - - ;; Menu - (define-key image-dired-display-image-mode-map [menu-bar image-dired] - (cons "Image-Dired" (make-sparse-keymap "Image-Dired"))) - - (define-key image-dired-display-image-mode-map - [menu-bar image-dired image-dired-kill-buffer-and-window] - '("Quit" . image-dired-kill-buffer-and-window)) - - (define-key image-dired-display-image-mode-map - [menu-bar image-dired image-dired-display-current-image-sized] - '("Display original, sized to fit" . image-dired-display-current-image-sized)) - - (define-key image-dired-display-image-mode-map - [menu-bar image-dired image-dired-display-current-image-full] - '("Display original, full size" . image-dired-display-current-image-full)) - - ) - (defun image-dired-display-current-image-full () "Display current image in full size." (interactive) @@ -1489,7 +1413,7 @@ You probably want to use this together with (if file (progn (image-dired-display-image file) - (message "Full size image displayed")) + (message "Fitted image displayed")) (error "No original file name at point")))) (define-derived-mode image-dired-thumbnail-mode @@ -1497,14 +1421,12 @@ You probably want to use this together with "Browse and manipulate thumbnail images using dired. Use `image-dired-dired' and `image-dired-setup-dired-keybindings' to get a nice setup to start with." - (image-dired-define-thumbnail-mode-keymap) (message "image-dired-thumbnail-mode enabled")) (define-derived-mode image-dired-display-image-mode fundamental-mode "image-dired-image-display" "Mode for displaying and manipulating original image. Resized or in full-size." - (image-dired-define-display-image-mode-keymap) (message "image-dired-display-image-mode enabled")) ;;;###autoload commit e72b24fb4a7d8e6b70f7678e1bb6f28fd703ab3c Author: Michael Albinus Date: Sat Dec 3 19:54:24 2016 +0100 Mention `file-name-case-insensitive-p' as magic file name * doc/lispref/files.texi (Magic File Names): Mention `file-name-case-insensitive-p'. * doc/lispref/variables.texi (Connection Local Variables): Fix typo. diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index d9e366b..b13df9f 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -2995,6 +2995,7 @@ first, before handlers for jobs such as remote file access. @code{file-local-copy}, @code{file-modes}, @code{file-name-all-completions}, @code{file-name-as-directory}, +@code{file-name-case-insensitive-p}, @code{file-name-completion}, @code{file-name-directory}, @code{file-name-nondirectory}, @@ -3005,8 +3006,7 @@ first, before handlers for jobs such as remote file access. @code{file-readable-p}, @code{file-regular-p}, @code{file-remote-p}, @code{file-selinux-context}, @code{file-symlink-p}, @code{file-truename}, @code{file-writable-p}, -@code{find-backup-file-name}, -@c Not sure why it was here: @code{find-file-noselect},@* +@code{find-backup-file-name},@* @code{get-file-buffer}, @code{insert-directory}, @code{insert-file-contents},@* @@ -3051,6 +3051,7 @@ first, before handlers for jobs such as remote file access. @code{file-local-copy}, @code{file-modes}, @code{file-name-all-completions}, @code{file-name-as-directory}, +@code{file-name-case-insensitive-p}, @code{file-name-completion}, @code{file-name-directory}, @code{file-name-nondirec@discretionary{}{}{}tory}, @@ -3062,7 +3063,6 @@ first, before handlers for jobs such as remote file access. @code{file-remote-p}, @code{file-selinux-context}, @code{file-symlink-p}, @code{file-truename}, @code{file-writable-p}, @code{find-backup-file-name}, -@c Not sure why it was here: @code{find-file-noselect}, @code{get-file-buffer}, @code{insert-directory}, @code{insert-file-contents}, diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index d777e4d..40738e6 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -1965,7 +1965,7 @@ settings to all process buffers for those connections. The list in @group (connection-local-set-class-variables 'remote-null-device - '((null-device "/dev/null"))) + '((null-device . "/dev/null"))) @end group @end example @end defun commit ac83325b1d302a96cac096c527ef096ce168b20c Author: Mark Oteiza Date: Sat Dec 3 13:05:39 2016 -0500 Clean up uses of cl-foo in image-dired Both instances here are just emulating cl-find-if. * lisp/image-dired.el: Use cl-lib at compile time. (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top. Replace the cl-foo instances with equivalent cl-loops. diff --git a/lisp/image-dired.el b/lisp/image-dired.el index 67fbc02..cf7ef53 100644 --- a/lisp/image-dired.el +++ b/lisp/image-dired.el @@ -156,9 +156,8 @@ (require 'format-spec) (require 'widget) -(require 'cl-lib) - (eval-when-compile + (require 'cl-lib) (require 'wid-edit)) (defgroup image-dired nil @@ -656,25 +655,22 @@ of the marked files. If ARG is an integer, use the next ARG (or previous -ARG, if ARG<0) files." (interactive "P") (dired-map-over-marks - (let* ((image-pos (dired-move-to-filename)) - (image-file (dired-get-filename nil t)) - thumb-file - overlay) + (let ((image-pos (dired-move-to-filename)) + (image-file (dired-get-filename nil t)) + thumb-file + overlay) (when (and image-file (string-match-p (image-file-name-regexp) image-file)) (setq thumb-file (image-dired-get-thumbnail-image image-file)) ;; If image is not already added, then add it. - (let* ((cur-ovs (overlays-in (point) (1+ (point)))) - (thumb-ov (car (cl-remove-if-not - (lambda (ov) (overlay-get ov 'thumb-file)) - cur-ovs)))) + (let ((thumb-ov (cl-loop for ov in (overlays-in (point) (1+ (point))) + if (overlay-get ov 'thumb-file) return ov))) (if thumb-ov (delete-overlay thumb-ov) (put-image thumb-file image-pos) (setq overlay - (cl-loop for o in (overlays-in (point) (1+ (point))) - when (overlay-get o 'put-image) collect o into ov - finally return (car ov))) + (cl-loop for ov in (overlays-in (point) (1+ (point))) + if (overlay-get ov 'put-image) return ov)) (overlay-put overlay 'image-file image-file) (overlay-put overlay 'thumb-file thumb-file))))) arg ; Show or hide image on ARG next files. commit a486fabb41cdbaa5813c2687fd4008945297d71d Author: Eli Zaretskii Date: Sat Dec 3 11:54:24 2016 +0200 Avoid compilation warnings in nt/*.c files * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn) (console_event_handler): Add prototypes. (canon_filename, skip_space, skip_nonspace, get_next_token) (batch_file_p, search_dir, make_absolute, try_dequote_cmdline) (spawn, get_env_size): Now static. * nt/ddeclient.c (DdeCallback): Provide prototype. * nt/addpm.c (DdeCallback): Provide prototype. (add_registry): Now static. diff --git a/nt/addpm.c b/nt/addpm.c index 2161ea7..14a77d5 100644 --- a/nt/addpm.c +++ b/nt/addpm.c @@ -53,6 +53,9 @@ along with GNU Emacs. If not, see . */ #include "../src/epaths.h" #endif +HDDEDATA CALLBACK DdeCallback (UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, + DWORD); + HDDEDATA CALLBACK DdeCallback (UINT uType, UINT uFmt, HCONV hconv, HSZ hsz1, HSZ hsz2, HDDEDATA hdata, @@ -101,7 +104,7 @@ env_vars[] = #endif }; -void +static void add_registry (const char *path) { HKEY hrootkey = NULL; diff --git a/nt/cmdproxy.c b/nt/cmdproxy.c index 411a409..d0298da 100644 --- a/nt/cmdproxy.c +++ b/nt/cmdproxy.c @@ -46,6 +46,16 @@ extern int _snprintf (char *buffer, size_t count, const char *format, ...); #define stdout GetStdHandle (STD_OUTPUT_HANDLE) #define stderr GetStdHandle (STD_ERROR_HANDLE) +#if __GNUC__ + (__GNUC_MINOR__ >= 4) >= 5 +void fail (const char *, ...) __attribute__((noreturn)); +#else +void fail (const char *, ...); +#endif +int vfprintf (HANDLE, const char *, va_list); +int fprintf (HANDLE, const char *, ...); +int printf (const char *, ...); +void warn (const char *, ...); + int vfprintf (HANDLE hnd, const char * msg, va_list args) { @@ -106,7 +116,7 @@ warn (const char * msg, ...) /******************************************************************/ -char * +static char * canon_filename (char *fname) { char *p = fname; @@ -121,14 +131,14 @@ canon_filename (char *fname) return fname; } -const char * +static const char * skip_space (const char *str) { while (isspace (*str)) str++; return str; } -const char * +static const char * skip_nonspace (const char *str) { while (*str && !isspace (*str)) str++; @@ -141,7 +151,7 @@ skip_nonspace (const char *str) const int escape_char = '\\'; /* Get next token from input, advancing pointer. */ -int +static int get_next_token (char * buf, const char ** pSrc) { const char * p = *pSrc; @@ -244,7 +254,7 @@ get_next_token (char * buf, const char ** pSrc) } /* Return TRUE if PROGNAME is a batch file. */ -BOOL +static BOOL batch_file_p (const char *progname) { const char *exts[] = {".bat", ".cmd"}; @@ -267,7 +277,7 @@ batch_file_p (const char *progname) /* Search for EXEC file in DIR. If EXEC does not have an extension, DIR is searched for EXEC with the standard extensions appended. */ -int +static int search_dir (const char *dir, const char *exec, int bufsize, char *buffer) { const char *exts[] = {".bat", ".cmd", ".exe", ".com"}; @@ -320,7 +330,7 @@ search_dir (const char *dir, const char *exec, int bufsize, char *buffer) /* Return the absolute name of executable file PROG, including any file extensions. If an absolute name for PROG cannot be found, return NULL. */ -char * +static char * make_absolute (const char *prog) { char absname[MAX_PATH]; @@ -393,7 +403,7 @@ make_absolute (const char *prog) success, return 1 with cmdline dequoted. Otherwise, when we've found constructs only cmd can properly interpret, return 0 and leave cmdline unchanged. */ -int +static int try_dequote_cmdline (char* cmdline) { /* Dequoting can only subtract characters, so the length of the @@ -491,6 +501,8 @@ setup_argv (void) PROCESS_INFORMATION child; int interactive = TRUE; +BOOL console_event_handler (DWORD); + BOOL console_event_handler (DWORD event) { @@ -527,7 +539,7 @@ console_event_handler (DWORD event) /* Change from normal usage; return value indicates whether spawn succeeded or failed - program return code is returned separately. */ -int +static int spawn (const char *progname, char *cmdline, const char *dir, int *retcode) { BOOL success = FALSE; @@ -572,7 +584,7 @@ spawn (const char *progname, char *cmdline, const char *dir, int *retcode) } /* Return size of current environment block. */ -int +static int get_env_size (void) { char * start = GetEnvironmentStrings (); diff --git a/nt/ddeclient.c b/nt/ddeclient.c index 7bbbdb0..a9ad6d6 100644 --- a/nt/ddeclient.c +++ b/nt/ddeclient.c @@ -21,6 +21,9 @@ along with GNU Emacs. If not, see . */ #include #include +HDDEDATA CALLBACK DdeCallback (UINT, UINT, HCONV, HSZ, HSZ, HDDEDATA, DWORD, + DWORD); + HDDEDATA CALLBACK DdeCallback (UINT uType, UINT uFmt, HCONV hconv, HSZ hsz1, HSZ hsz2, HDDEDATA hdata,