commit ef2739aa76ba2e0e95457372cf43c4a0ac4af136 (HEAD, refs/remotes/origin/master) Merge: 3924fbd025 6c46aa2116 Author: Stefan Kangas Date: Sun Oct 2 06:30:21 2022 +0200 ; Merge from origin/emacs-28 The following commit was skipped: 6c46aa2116 ; Auto-commit of loaddefs files. commit 3924fbd0257a53e10502d6cdee32616fbe26f0c2 Author: Po Lu Date: Sun Oct 2 08:28:56 2022 +0800 Only rely on EWMH window activation if possible * xterm.c (x_ewmh_activate_frame): Remove unnecessary x_wm_supports check. (x_focus_frame): When the window manager supports _NET_ACTIVE_WINDOW, just use it; anything else may confuse the window manager. diff --git a/src/xterm.c b/src/xterm.c index 947cf7edb5..d83b03d1ca 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -26842,8 +26842,7 @@ x_ewmh_activate_frame (struct frame *f) dpyinfo = FRAME_DISPLAY_INFO (f); - if (FRAME_VISIBLE_P (f) - && x_wm_supports (f, dpyinfo->Xatom_net_active_window)) + if (FRAME_VISIBLE_P (f)) { /* See the documentation at https://specifications.freedesktop.org/wm-spec/wm-spec-latest.html @@ -26903,14 +26902,23 @@ x_focus_frame (struct frame *f, bool noactivate) xembed_request_focus (f); else { + if (!noactivate + && x_wm_supports (f, dpyinfo->Xatom_net_active_window)) + { + /* When window manager activation is possible, use it + instead. The window manager is expected to perform any + necessary actions such as raising the frame, moving it to + the current workspace, and mapping it, etc, before moving + input focus to the frame. */ + x_ewmh_activate_frame (f); + return; + } + /* Ignore any BadMatch error this request might result in. */ x_ignore_errors_for_next_request (dpyinfo); XSetInputFocus (FRAME_X_DISPLAY (f), FRAME_OUTER_WINDOW (f), RevertToParent, CurrentTime); x_stop_ignoring_errors (dpyinfo); - - if (!noactivate) - x_ewmh_activate_frame (f); } } commit 8a2bc8603996db24f206fc0c933536c7695a537a Author: Stefan Kangas Date: Sat Oct 1 22:38:58 2022 +0200 ; Fix two wallpaper tests * test/lisp/image/wallpaper-tests.el (wallpaper--find-command/return-string) (wallpaper--find-command-args/return-list): Fix tests. diff --git a/test/lisp/image/wallpaper-tests.el b/test/lisp/image/wallpaper-tests.el index c3feab0e20..52011fe797 100644 --- a/test/lisp/image/wallpaper-tests.el +++ b/test/lisp/image/wallpaper-tests.el @@ -24,12 +24,12 @@ (require 'wallpaper) (ert-deftest wallpaper--find-command/return-string () - (should (and (wallpaper--find-command) - (stringp (wallpaper--find-command))))) + (should (or (not (wallpaper--find-command)) + (stringp (wallpaper--find-command))))) (ert-deftest wallpaper--find-command-args/return-list () - (should (and (wallpaper--find-command-args) - (listp (wallpaper--find-command-args))))) + (should (or (not (wallpaper--find-command-args)) + (listp (wallpaper--find-command-args))))) (ert-deftest wallpaper--image-file-regexp/return-string () (should (stringp (wallpaper--image-file-regexp)))) commit 179a1d52984b8b79e7614fe2f8d8a5c8e355809c Author: Stefan Kangas Date: Sat Oct 1 22:35:46 2022 +0200 ; * lisp/winner.el: Fix two comments. diff --git a/lisp/winner.el b/lisp/winner.el index 4290f1fd23..174b698e7b 100644 --- a/lisp/winner.el +++ b/lisp/winner.el @@ -171,8 +171,7 @@ You may want to include buffer names such as *Help*, *Apropos*, (/= 0 (minibuffer-depth))) (push (selected-frame) winner-modified-list))) -;; A `post-command-hook' for emacsen with -;; `window-configuration-change-hook'. +;; Used as `post-command-hook'. (defun winner-save-old-configurations () (when (zerop (minibuffer-depth)) (unless (eq this-command winner-last-command) @@ -191,8 +190,7 @@ You may want to include buffer names such as *Help*, *Apropos*, (winner-insert-if-new (selected-frame)) (winner-remember)) -;; A `post-command-hook' for other emacsen. -;; Also called by `winner-undo' before "undoing". +;; Called by `winner-undo' before "undoing". (defun winner-save-conditionally () (when (zerop (minibuffer-depth)) (winner-save-unconditionally))) commit fee9deff5309cfc5f952181cb2cae1a344b4cc45 Author: Stefan Kangas Date: Sat Oct 1 22:32:25 2022 +0200 Revert "Decrease use of the word "Emacsen" in docs" This reverts commit 55f46cc77cb9d72fbabadb63d8aeab45c5e005e2. Ref. https://lists.gnu.org/r/emacs-devel/2022-10/msg00016.html diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 9e5b994a3e..b1331e79bf 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -28121,7 +28121,7 @@ If you use a stand-alone Gnus distribution, you'd better add lisp directory into load-path. File @file{gnus-load.el} contains autoload commands, functions and variables, -some of which may not be included in distributions of Emacs. +some of which may not be included in distributions of Emacsen. @end itemize diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index d3634ebc82..c84b49a038 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi @@ -587,7 +587,8 @@ string. @vindex tag-glyph@r{ keyword} @item :tag-glyph -Name of image to use instead of the string specified by @code{:tag}. +Name of image to use instead of the string specified by @code{:tag} on +Emacsen that supports it. @vindex help-echo@r{ keyword} @item :help-echo @@ -1013,10 +1014,12 @@ A string representing the @samp{off} state. By default the string @samp{off}. @vindex on-glyph@r{ keyword} @item :on-glyph -Name of a glyph to be used instead of the @samp{:on} text string. +Name of a glyph to be used instead of the @samp{:on} text string, on +emacsen that supports this. @vindex off-glyph@r{ keyword} @item :off-glyph -Name of a glyph to be used instead of the @samp{:off} text string. +Name of a glyph to be used instead of the @samp{:off} text string, on +emacsen that supports this. @end table @node checkbox diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el index 6e880b92d4..d4ce20589e 100644 --- a/lisp/cedet/semantic/bovine/c.el +++ b/lisp/cedet/semantic/bovine/c.el @@ -308,7 +308,7 @@ Moves completely over balanced #if blocks." ;; We found a nested if. Skip it. (if (fboundp 'c-scan-conditionals) (goto-char (c-scan-conditionals 1)) - ;; For older versions of Emacs, but this will set the mark. + ;; For older Emacsen, but this will set the mark. (c-forward-conditional 1))) ((looking-at "^\\s-*#\\s-*elif") ;; We need to let the preprocessor analyze this one. diff --git a/lisp/cedet/semantic/wisent/comp.el b/lisp/cedet/semantic/wisent/comp.el index 2ffce5652d..e24f6128a6 100644 --- a/lisp/cedet/semantic/wisent/comp.el +++ b/lisp/cedet/semantic/wisent/comp.el @@ -3449,7 +3449,7 @@ Automatically called by the Emacs Lisp byte compiler as a (defun wisent-compile-grammar (grammar &optional start-list) ;; This is kept for compatibility with FOO-wy.el files generated - ;; with older versions of Emacs. + ;; with older Emacsen. (declare (obsolete wisent-compiled-grammar "Mar 2021")) (wisent--compile-grammar grammar start-list)) diff --git a/lisp/desktop.el b/lisp/desktop.el index ec321faa63..ef73bc596d 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -1186,7 +1186,7 @@ no questions asked." (goto-char (point-max)) (insert "\n;; Global section:\n") ;; Called here because we save the window/frame state as a global - ;; variable for compatibility with older versions of Emacs. + ;; variable for compatibility with previous Emacsen. (desktop-save-frameset) (unless (memq 'desktop-saved-frameset desktop-globals-to-save) (desktop-outvar 'desktop-saved-frameset)) diff --git a/lisp/erc/erc-compat.el b/lisp/erc/erc-compat.el index 4a1280fe64..8a00e711ac 100644 --- a/lisp/erc/erc-compat.el +++ b/lisp/erc/erc-compat.el @@ -1,6 +1,6 @@ -;;; erc-compat.el --- ERC compatibility code for old Emacs versions -*- lexical-binding: t; -*- +;;; erc-compat.el --- ERC compatibility code for older Emacsen -*- lexical-binding: t; -*- -;; Copyright (C) 2002-2022 Free Software Foundation, Inc. +;; Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; Maintainer: Amin Bandali , F. Jason Park diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index 7a79754ab4..57093d3fc6 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el @@ -74,21 +74,21 @@ ;;; TODO: ;; ;; * Really, we need to lock the logfiles somehow, so that if a user -;; is running multiple Emacs processes and/or on the same channel as -;; more than one user, only one process writes to the logfile. This -;; is especially needed for those logfiles with no nick in them, as +;; is running multiple emacsen and/or on the same channel as more +;; than one user, only one process writes to the logfile. This is +;; especially needed for those logfiles with no nick in them, as ;; these would become corrupted. -;; For a single Emacs process, the problem could be solved using a +;; For a single emacs process, the problem could be solved using a ;; variable which contained the names of buffers already being ;; logged. This would require that logging be buffer-local, ;; possibly not a bad thing anyway, since many people don't want to ;; log the server buffer. -;; For multiple Emacs processes the problem is trickier. On some -;; systems, on could use the function `lock-buffer' and -;; `unlock-buffer'. However, file locking isn't implemented on all -;; platforms, for example, there is none on w32 systems. +;; For multiple emacsen the problem is trickier. On some systems, +;; on could use the function `lock-buffer' and `unlock-buffer'. +;; However, file locking isn't implemented on all platforms, for +;; example, there is none on w32 systems. ;; A third possibility might be to fake lockfiles. However, this -;; might lead to problems if one Emacs crashes, as the lockfile +;; might lead to problems if an emacs crashes, as the lockfile ;; would be left lying around. ;;; Code: diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index 2cf1d2f18c..fe556b155a 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el @@ -78,7 +78,7 @@ If LITERAL is non-nil, insert NEWTEXT literally. Return a new string containing the replacements. -This is a compatibility function." +This is a compatibility function for different Emacsen." (declare (obsolete replace-regexp-in-string "26.1")) (replace-regexp-in-string regexp newtext string nil literal)) diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el index b2eb0c3e9e..a594fa3ccb 100644 --- a/lisp/mail/footnote.el +++ b/lisp/mail/footnote.el @@ -24,7 +24,7 @@ ;;; Commentary: -;; This file provides footnote[1] support for message-mode in Emacs. +;; This file provides footnote[1] support for message-mode in emacsen. ;; footnote-mode is implemented as a minor mode. ;; [1] Footnotes look something like this. Along with some decorative diff --git a/lisp/net/tramp-archive.el b/lisp/net/tramp-archive.el index 646ae86452..b343e460df 100644 --- a/lisp/net/tramp-archive.el +++ b/lisp/net/tramp-archive.el @@ -201,7 +201,7 @@ It must be supported by libarchive(3).") (put #'tramp-archive-autoload-file-name-regexp 'tramp-autoload t) -;; In older Emacs (prior 27.1), `tramp-archive-autoload-file-name-regexp' +;; In older Emacsen (prior 27.1), `tramp-archive-autoload-file-name-regexp' ;; is not autoloaded. So we cannot expect it to be known in ;; tramp-loaddefs.el. But it exists, when tramp-archive.el is loaded. ;;;###tramp-autoload @@ -332,7 +332,7 @@ arguments to pass to the OPERATION." ;; Starting with Emacs 29, `tramp-archive-file-name-handler' is ;; autoloaded. But it must still be in tramp-loaddefs.el for older -;; versions of Emacs. +;; Emacsen. ;;;###autoload(autoload 'tramp-archive-file-name-handler "tramp-archive") ;;;###tramp-autoload (defun tramp-archive-file-name-handler (operation &rest args) diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index e55f6bb6ee..11b3689df6 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -1761,7 +1761,7 @@ Result is a list of (LOCALNAME MODE SIZE MONTH DAY TIME YEAR)." ;; ;; Problems: ;; * Modern regexp constructs, like spy groups and counted repetitions, aren't -;; available in older versions of Emacs. +;; available in older Emacsen. ;; * The length of constructs (file name, size) might exceed the default. ;; * File names might contain spaces. ;; * Permissions might be empty. diff --git a/lisp/net/tramp-uu.el b/lisp/net/tramp-uu.el index 2bbdb299a6..e849c36d13 100644 --- a/lisp/net/tramp-uu.el +++ b/lisp/net/tramp-uu.el @@ -25,7 +25,7 @@ ;;; Commentary: ;; An implementation of "uuencode" in Lisp. Uses the function -;; base64-encode-region which is built-in to modern Emacs. +;; base64-encode-region which is built-in to modern Emacsen. ;;; Code: diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 03dc47a053..ada529d396 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -3676,7 +3676,7 @@ Let-bind it when necessary.") ;; `directory-abbrev-apply' and `directory-abbrev-make-regexp' exists ;; since Emacs 29.1. Since this handler isn't called for older -;; Emacs, it is save to invoke them via `tramp-compat-funcall'. +;; Emacsen, it is save to invoke them via `tramp-compat-funcall'. (defun tramp-handle-abbreviate-file-name (filename) "Like `abbreviate-file-name' for Tramp files." (let* ((case-fold-search (file-name-case-insensitive-p filename)) @@ -5487,7 +5487,7 @@ performed successfully. Any other value means an error." Mostly useful to protect BODY from being interrupted by timers." (declare (indent 1) (debug t)) `(if (tramp-get-connection-property ,proc "locked") - ;; Be kind for old versions of Emacs. + ;; Be kind for older Emacsen. (if (member 'remote-file-error debug-ignored-errors) (throw 'non-essential 'non-essential) (tramp-error diff --git a/lisp/org/ol-eww.el b/lisp/org/ol-eww.el index 0bd1b5b926..d1bb519510 100644 --- a/lisp/org/ol-eww.el +++ b/lisp/org/ol-eww.el @@ -48,7 +48,7 @@ (require 'cl-lib) (require 'eww) -;; For Emacs < 25. +;; For Emacsen < 25. (defvar eww-current-title) (defvar eww-current-url) diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el index bbad4ae635..15f0daa91a 100644 --- a/lisp/org/org-compat.el +++ b/lisp/org/org-compat.el @@ -1,4 +1,4 @@ -;;; org-compat.el --- Compatibility Code for Older Emacs -*- lexical-binding: t; -*- +;;; org-compat.el --- Compatibility Code for Older Emacsen -*- lexical-binding: t; -*- ;; Copyright (C) 2004-2022 Free Software Foundation, Inc. @@ -929,7 +929,7 @@ Pass COLUMN and FORCE to `move-to-column'." "Define NAME as a new error signal. MESSAGE is a string that will be output to the echo area if such an error is signaled without being caught by a `condition-case'. -Implements `define-error' for older versions of Emacs." +Implements `define-error' for older emacsen." (if (fboundp 'define-error) (define-error name message) (put name 'error-conditions (copy-sequence (cons name (get 'error 'error-conditions)))))) diff --git a/lisp/shadowfile.el b/lisp/shadowfile.el index c8567a7d47..c1c31fe9c6 100644 --- a/lisp/shadowfile.el +++ b/lisp/shadowfile.el @@ -56,9 +56,8 @@ ;; Bugs & Warnings: ;; -;; - It is bad to have two instances of Emacs both running shadowfile -;; at the same time. It tries to detect this condition, but is not -;; always successful. +;; - It is bad to have two Emacsen both running shadowfile at the same +;; time. It tries to detect this condition, but is not always successful. ;; ;; - You have to be careful not to edit a file in two locations ;; before shadowfile has had a chance to copy it; otherwise diff --git a/lisp/winner.el b/lisp/winner.el index 174b698e7b..4290f1fd23 100644 --- a/lisp/winner.el +++ b/lisp/winner.el @@ -171,7 +171,8 @@ You may want to include buffer names such as *Help*, *Apropos*, (/= 0 (minibuffer-depth))) (push (selected-frame) winner-modified-list))) -;; Used as `post-command-hook'. +;; A `post-command-hook' for emacsen with +;; `window-configuration-change-hook'. (defun winner-save-old-configurations () (when (zerop (minibuffer-depth)) (unless (eq this-command winner-last-command) @@ -190,7 +191,8 @@ You may want to include buffer names such as *Help*, *Apropos*, (winner-insert-if-new (selected-frame)) (winner-remember)) -;; Called by `winner-undo' before "undoing". +;; A `post-command-hook' for other emacsen. +;; Also called by `winner-undo' before "undoing". (defun winner-save-conditionally () (when (zerop (minibuffer-depth)) (winner-save-unconditionally))) commit be85d2d92070c15da495fa16199112f118f03da5 Author: Michael Albinus Date: Sat Oct 1 21:56:41 2022 +0200 Tramp cleanup * doc/misc/tramp.texi (Password handling): Fix typos. * lisp/net/tramp-docker.el (tramp-default-remote-shell): * lisp/net/tramp-sshfs.el (tramp-default-remote-shell): Declare. * lisp/net/tramp.el (tramp-methods): Fix docstring. (tramp-get-remote-tmpdir): Revert previous patch, it isn't needed anymore. diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 455e145a81..a182c0510d 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -2000,10 +2000,10 @@ password of the target user. If these connections happen on the local host, an entry with the local user and local host is used: @example -machine @var{HOST} port sudo login @var{USER} password secret +machine @var{host} port sudo login @var{user} password secret @end example -@var{USER} and @var{HOST} are the strings returned by +@var{user} and @var{host} are the strings returned by @code{(user-login-name)} and @code{(system-name)}. If one of these methods is connected via a multi hop (@pxref{Multi-hops}), the credentials of the previous hop are used. diff --git a/lisp/net/tramp-docker.el b/lisp/net/tramp-docker.el index 918469908a..12fabfe7ba 100644 --- a/lisp/net/tramp-docker.el +++ b/lisp/net/tramp-docker.el @@ -73,6 +73,9 @@ see its function help for a description of the format." lines))) (mapcar (lambda (m) (list nil m)) (delq nil names)))) +;;;###tramp-autoload +(defvar tramp-default-remote-shell) ;; Silence byte compiler. + ;;;###tramp-autoload (tramp--with-startup (push `(,tramp-docker-method diff --git a/lisp/net/tramp-sshfs.el b/lisp/net/tramp-sshfs.el index b89e1282d2..3c67fa6ea2 100644 --- a/lisp/net/tramp-sshfs.el +++ b/lisp/net/tramp-sshfs.el @@ -46,6 +46,9 @@ :version "28.1" :type 'string) +;;;###tramp-autoload +(defvar tramp-default-remote-shell) ;; Silence byte compiler. + ;;;###tramp-autoload (tramp--with-startup (add-to-list 'tramp-methods diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 5b60aa6313..03dc47a053 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -205,9 +205,9 @@ pair of the form (KEY VALUE). The following KEYs are defined: MUST be a Bourne-like shell. It is normally not necessary to set this to any value other than \"/bin/sh\": Tramp wants to use a shell which groks tilde expansion, but it can search - for it. Also note that \"/bin/sh\" exists on all Unixen, - this might not be true for the value that you decide to use. - You Have Been Warned. + for it. Also note that \"/bin/sh\" exists on all Unixen + except Andtoid, this might not be true for the value that you + decide to use. You Have Been Warned. * `tramp-remote-shell-login' This specifies the arguments to let `tramp-remote-shell' run @@ -278,7 +278,8 @@ pair of the form (KEY VALUE). The following KEYs are defined: * `tramp-direct-async' Whether the method supports direct asynchronous processes. - Until now, just \"ssh\"-based and \"adb\"-based methods do. + Until now, just \"ssh\"-based, \"sshfs\"-based and + \"adb\"-based methods do. * `tramp-copy-program' This specifies the name of the program to use for remotely copying @@ -2876,6 +2877,7 @@ remote file names." (put #'tramp-completion-file-name-handler 'operations (mapcar #'car tramp-completion-file-name-handler-alist)) + ;; Integrated in Emacs 27. (when (bound-and-true-p tramp-archive-enabled) (add-to-list 'file-name-handler-alist (cons tramp-archive-file-name-regexp @@ -6124,11 +6126,6 @@ This handles also chrooted environments, which are not regarded as local." (defun tramp-get-remote-tmpdir (vec) "Return directory for temporary files on the remote host identified by VEC." (with-tramp-connection-property (tramp-get-process vec) "remote-tmpdir" - ;; Prior Tramp 2.5.3.2, the connection property "tmpdir" did exist - ;; with a remote file name. This must be discarded. (Bug#57800) - (when-let ((tmpdir (tramp-get-connection-property vec "tmpdir" nil))) - (when (tramp-tramp-file-p tmpdir) - (tramp-flush-connection-property vec "tmpdir"))) (let ((dir (tramp-make-tramp-file-name vec (or (tramp-get-method-parameter vec 'tramp-tmpdir) "/tmp")))) commit 6c46aa2116557ab3fa4f9c81e50a30246e2614d8 (refs/remotes/origin/emacs-28) Author: Stefan Kangas Date: Sat Oct 1 20:31:44 2022 +0200 ; Auto-commit of loaddefs files. diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index d954130d41..01dfc2a86a 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -18222,8 +18222,9 @@ non-nil value. If that value is non-nil, but not t, then the image type must be available." nil nil) (autoload 'create-image "image" "\ -Create an image. -FILE-OR-DATA is an image file name or image data. +Create an image from FILE-OR-DATA. +FILE-OR-DATA is an image file name or image data. If it is a relative +file name, the function will look for it along `image-load-path'. Optional TYPE is a symbol describing the image type. If TYPE is omitted or nil, try to determine the image type from its first few bytes @@ -18242,10 +18243,6 @@ Value is the image created, or nil if images of type TYPE are not supported. Images should not be larger than specified by `max-image-size'. -Image file names that are not absolute are searched for in the -\"images\" sub-directory of `data-directory' and -`x-bitmap-file-path' (in that order). - \(fn FILE-OR-DATA &optional TYPE DATA-P &rest PROPS)" nil nil) (autoload 'put-image "image" "\ @@ -35091,7 +35088,7 @@ Add archive file name handler to `file-name-handler-alist'." (when (and tramp-ar ;;;### (autoloads nil "trampver" "net/trampver.el" (0 0 0 0)) ;;; Generated autoloads from net/trampver.el -(push (purecopy '(tramp 2 5 3 28 2)) package--builtin-versions) +(push (purecopy '(tramp 2 5 4 -1)) package--builtin-versions) (register-definition-prefixes "trampver" '("tramp-")) @@ -39538,21 +39535,11 @@ Zone out, completely." t nil) ;;;;;; "eshell/em-term.el" "eshell/em-tramp.el" "eshell/em-unix.el" ;;;;;; "eshell/em-xtra.el" "faces.el" "files.el" "font-core.el" ;;;;;; "font-lock.el" "format.el" "frame.el" "help.el" "hfy-cmap.el" -;;;;;; "ibuf-ext.el" "indent.el" "international/characters.el" "international/charprop.el" -;;;;;; "international/charscript.el" "international/cp51932.el" -;;;;;; "international/emoji-zwj.el" "international/eucjp-ms.el" +;;;;;; "ibuf-ext.el" "indent.el" "international/characters.el" "international/charscript.el" +;;;;;; "international/cp51932.el" "international/emoji-zwj.el" "international/eucjp-ms.el" ;;;;;; "international/iso-transl.el" "international/mule-cmds.el" -;;;;;; "international/mule-conf.el" "international/mule.el" "international/uni-bidi.el" -;;;;;; "international/uni-brackets.el" "international/uni-category.el" -;;;;;; "international/uni-combining.el" "international/uni-comment.el" -;;;;;; "international/uni-decimal.el" "international/uni-decomposition.el" -;;;;;; "international/uni-digit.el" "international/uni-lowercase.el" -;;;;;; "international/uni-mirrored.el" "international/uni-name.el" -;;;;;; "international/uni-numeric.el" "international/uni-old-name.el" -;;;;;; "international/uni-special-lowercase.el" "international/uni-special-titlecase.el" -;;;;;; "international/uni-special-uppercase.el" "international/uni-titlecase.el" -;;;;;; "international/uni-uppercase.el" "isearch.el" "jit-lock.el" -;;;;;; "jka-cmpr-hook.el" "language/burmese.el" "language/cham.el" +;;;;;; "international/mule-conf.el" "international/mule.el" "isearch.el" +;;;;;; "jit-lock.el" "jka-cmpr-hook.el" "language/burmese.el" "language/cham.el" ;;;;;; "language/chinese.el" "language/cyrillic.el" "language/czech.el" ;;;;;; "language/english.el" "language/ethiopic.el" "language/european.el" ;;;;;; "language/georgian.el" "language/greek.el" "language/hebrew.el" commit 9f1aec505546d9239d9c13512f6c5c9f6bd17f58 Author: Stefan Kangas Date: Sat Oct 1 20:28:53 2022 +0200 ; Auto-commit of loaddefs files. diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index 98a94b310c..c9502fbb21 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -896,6 +896,15 @@ This function depends on the `ansi-color-for-compilation-mode' variable, and is meant to be used in `compilation-filter-hook'.") (register-definition-prefixes "ansi-color" '("ansi-color-")) + +;;; Generated autoloads from ansi-osc.el + +(autoload 'ansi-osc-compilation-filter "ansi-osc" "\ +Maybe collect OSC control sequences. +This function depends on the variable `ansi-osc-for-compilation-buffer', +and is meant to be used in `compilation-filter-hook'.") +(register-definition-prefixes "ansi-osc" '("ansi-osc-")) + ;;; Generated autoloads from progmodes/antlr-mode.el @@ -4951,6 +4960,8 @@ evaluate `compilation-shell-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. +\\{compilation-shell-minor-mode-map} + (fn &optional ARG)" t) (autoload 'compilation-minor-mode "compile" "\ Toggle Compilation minor mode. @@ -4974,6 +4985,8 @@ evaluate `compilation-minor-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. +\\{compilation-minor-mode-map} + (fn &optional ARG)" t) (autoload 'compilation-next-error-function "compile" "\ Advance to the next error message and visit the file where the error was. @@ -7796,7 +7809,7 @@ Document types are symbols like `dvi', `ps', `pdf', `epub', Major mode in DocView buffers. DocView Mode is an Emacs document viewer. It displays PDF, PS -and DVI files (as PNG images) in Emacs buffers. +and DVI files (as PNG or SVG images) in Emacs buffers. You can use \\\\[doc-view-toggle-display] to toggle between displaying the document or editing it as text. @@ -8358,7 +8371,7 @@ A second call of this function without changing point inserts the next match. A call with prefix PREFIX reads the symbol to insert from the minibuffer with completion. -(fn PREFIX)" '("P")) +(fn PREFIX)" t) (autoload 'ebrowse-tags-loop-continue "ebrowse" "\ Repeat last operation on files in tree. FIRST-TIME non-nil means this is not a repetition, but the first time. @@ -9907,7 +9920,7 @@ When present, ID should be an opaque object used to identify the connection unequivocally. This is rarely needed and not available interactively. -(fn &key (SERVER (erc-compute-server)) (PORT (erc-compute-port)) (NICK (erc-compute-nick)) (USER (erc-compute-user)) PASSWORD (FULL-NAME (erc-compute-full-name)) ID)" '((erc-select-read-args))) +(fn &key (SERVER (erc-compute-server)) (PORT (erc-compute-port)) (NICK (erc-compute-nick)) (USER (erc-compute-user)) PASSWORD (FULL-NAME (erc-compute-full-name)) ID)" t) (defalias 'erc-select #'erc) (autoload 'erc-tls "erc" "\ ERC is a powerful, modular, and extensible IRC client. @@ -9954,7 +9967,7 @@ symbol composed of letters from the Latin alphabet.) This option is generally unneeded, however. See info node `(erc) Connecting' for use cases. Not available interactively. -(fn &key (SERVER (erc-compute-server)) (PORT (erc-compute-port)) (NICK (erc-compute-nick)) (USER (erc-compute-user)) PASSWORD (FULL-NAME (erc-compute-full-name)) CLIENT-CERTIFICATE ID)" '((let ((erc-default-port erc-default-port-tls)) (erc-select-read-args)))) +(fn &key (SERVER (erc-compute-server)) (PORT (erc-compute-port)) (NICK (erc-compute-nick)) (USER (erc-compute-user)) PASSWORD (FULL-NAME (erc-compute-full-name)) CLIENT-CERTIFICATE ID)" t) (autoload 'erc-handle-irc-url "erc" "\ Use ERC to IRC on HOST:PORT in CHANNEL as USER with PASSWORD. If ERC is already connected to HOST:PORT, simply /join CHANNEL. @@ -10170,7 +10183,9 @@ it has to be wrapped in `(eval (quote ...))'. If NAME is already defined as a test and Emacs is running in batch mode, an error is signalled. -(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags \\='(TAG...)] BODY...)" nil 'macro) +(fn NAME () [DOCSTRING] [:expected-result RESULT-TYPE] [:tags \\='(TAG...)] BODY...)" nil t) +(function-put 'ert-deftest 'doc-string-elt 3) +(function-put 'ert-deftest 'lisp-indent-function 2) (autoload 'ert-run-tests-batch "ert" "\ Run the tests specified by SELECTOR, printing results to the terminal. @@ -12246,6 +12261,8 @@ evaluate `flymake-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. +\\{flymake-mode-map} + (fn &optional ARG)" t) (autoload 'flymake-mode-on "flymake" "\ Turn Flymake mode on.") @@ -12543,6 +12560,18 @@ value associated with ?b in SPECIFICATION, either padding it with leading zeros or truncating leading characters until it's ten characters wide\". +the substitution for a specification character can also be a +function, taking no arguments and returning a string to be used +for the replacement. It will only be called if FORMAT uses that +character. For example: + + (format-spec \"%n\" + \\=`((?n . ,(lambda () + (read-number \"Number: \"))))) + +Note that it is best to make sure the function is not quoted, +like above, so that it is compiled by the byte-compiler. + Any text properties of FORMAT are copied to the result, with any text properties of a %-spec itself copied to its substitution. @@ -15859,7 +15888,8 @@ inlined into the compiled format versions. This means that if you change its definition, you should explicitly call `ibuffer-recompile-formats'. -(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" nil 'macro) +(fn SYMBOL (&key NAME INLINE PROPS SUMMARIZER) &rest BODY)" nil t) +(function-put 'define-ibuffer-column 'lisp-indent-function 'defun) (autoload 'define-ibuffer-sorter "ibuf-macs" "\ Define a method of sorting named NAME. DOCUMENTATION is the documentation of the function, which will be called @@ -15870,7 +15900,9 @@ For sorting, the forms in BODY will be evaluated with `a' bound to one buffer object, and `b' bound to another. BODY should return a non-nil value if and only if `a' is \"less than\" `b'. -(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)" nil 'macro) +(fn NAME DOCUMENTATION (&key DESCRIPTION) &rest BODY)" nil t) +(function-put 'define-ibuffer-sorter 'lisp-indent-function 1) +(function-put 'define-ibuffer-sorter 'doc-string-elt 2) (autoload 'define-ibuffer-op "ibuf-macs" "\ Generate a function which operates on a buffer. OP becomes the name of the function; if it doesn't begin with @@ -15909,7 +15941,9 @@ BODY define the operation; they are forms to evaluate per each marked buffer. BODY is evaluated with `buf' bound to the buffer object. -(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING BEFORE AFTER COMPLEX) &rest BODY)" nil 'macro) +(fn OP ARGS DOCUMENTATION (&key INTERACTIVE MARK MODIFIER-P DANGEROUS OPSTRING ACTIVE-OPSTRING BEFORE AFTER COMPLEX) &rest BODY)" nil t) +(function-put 'define-ibuffer-op 'lisp-indent-function 2) +(function-put 'define-ibuffer-op 'doc-string-elt 3) (autoload 'define-ibuffer-filter "ibuf-macs" "\ Define a filter named NAME. DOCUMENTATION is the documentation of the function. @@ -15924,7 +15958,9 @@ not a particular buffer should be displayed or not. The forms in BODY will be evaluated with BUF bound to the buffer object, and QUALIFIER bound to the current value of the filter. -(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)" nil 'macro) +(fn NAME DOCUMENTATION (&key READER DESCRIPTION) &rest BODY)" nil t) +(function-put 'define-ibuffer-filter 'lisp-indent-function 2) +(function-put 'define-ibuffer-filter 'doc-string-elt 2) (register-definition-prefixes "ibuf-macs" '("ibuffer-")) @@ -16708,8 +16744,9 @@ and that image type is present in `image-type-auto-detectable' with a non-nil value. If that value is non-nil, but not t, then the image type must be available.") (autoload 'create-image "image" "\ -Create an image. -FILE-OR-DATA is an image file name or image data. +Create an image from FILE-OR-DATA. +FILE-OR-DATA is an image file name or image data. If it is a relative +file name, the function will look for it along `image-load-path'. Optional TYPE is a symbol describing the image type. If TYPE is omitted or nil, try to determine the image type from its first few bytes @@ -16728,10 +16765,6 @@ Value is the image created, or nil if images of type TYPE are not supported. Images should not be larger than specified by `max-image-size'. -Image file names that are not absolute are searched for in the -\"images\" sub-directory of `data-directory' and -`x-bitmap-file-path' (in that order). - (fn FILE-OR-DATA &optional TYPE DATA-P &rest PROPS)") (autoload 'put-image "image" "\ Put image IMAGE in front of POS in the current buffer. @@ -16898,6 +16931,7 @@ After cropping an image, you can save it by `M-x image-save' or ;;; Generated autoloads from image/image-dired.el (push (purecopy '(image-dired 0 5)) package--builtin-versions) +(put 'image-dired-thumbnail-storage 'safe-local-variable (lambda (x) (eq x 'per-directory))) (autoload 'image-dired-dired-with-window-configuration "image-dired" "\ Open directory DIR and create a default window configuration. @@ -17243,6 +17277,11 @@ an index alist of the current buffer. The function is called within a `save-excursion'. See `imenu--index-alist' for the format of the buffer index alist.") +(defvar-local imenu-submenus-on-top t "\ +Flag specifying whether items with sublists should be kept at top. + +For some indexes, such as those describing sections in a document, it +makes sense to keep their original order even in the menubar.") (defvar-local imenu-prev-index-position-function 'beginning-of-defun "\ Function for finding the next index position. @@ -22557,15 +22596,6 @@ Inserted by installing Org mode or when a release is made.") The Git version of Org mode. Inserted by installing Org or when a release is made.") - -;;; Generated autoloads from osc.el - -(autoload 'osc-compilation-filter "osc" "\ -Maybe collect OSC control sequences. -This function depends on the variable `osc-for-compilation-buffer', -and is meant to be used in `compilation-filter-hook'.") -(register-definition-prefixes "osc" '("osc-")) - ;;; Generated autoloads from outline.el @@ -25566,6 +25596,8 @@ evaluate `rectangle-mark-mode'. The mode's hook is called both when the mode is enabled and when it is disabled. +\\{rectangle-mark-mode-map} + (fn &optional ARG)" t) (register-definition-prefixes "rect" '("apply-on-rectangle" "clear-rectangle-line" "delete-" "extract-rectangle-" "killed-rectangle" "ope" "rectangle-" "spaces-string" "string-rectangle-")) @@ -30746,9 +30778,9 @@ such as if there are no commands in the file, the value of `tex-default-mode' says which mode to use. (fn)" t) -(defalias 'TeX-mode #'tex-mode) -(defalias 'plain-TeX-mode #'plain-tex-mode) -(defalias 'LaTeX-mode #'latex-mode) + (defalias 'TeX-mode #'tex-mode) + (defalias 'plain-TeX-mode #'plain-tex-mode) + (defalias 'LaTeX-mode #'latex-mode) (autoload 'plain-tex-mode "tex-mode" "\ Major mode for editing files of input for plain TeX. Makes $ and } display the characters they match. @@ -31972,6 +32004,11 @@ Add archive file name handler to `file-name-handler-alist'." (when (and tramp-ar (register-definition-prefixes "tramp-crypt" '("tramp-crypt-")) + +;;; Generated autoloads from net/tramp-docker.el + +(register-definition-prefixes "tramp-docker" '("tramp-docker-")) + ;;; Generated autoloads from net/tramp-ftp.el @@ -33398,11 +33435,8 @@ with its diffs (if the underlying VCS supports that). (fn &optional LIMIT REVISION)" t) (autoload 'vc-print-branch-log "vc" "\ Show the change log for BRANCH root in a window. -Optional prefix ARG non-nil requests an opportunity for the user -to edit the VC shell command that will be run to generate the -log. -(fn BRANCH &optional ARG)" t) +(fn BRANCH)" t) (autoload 'vc-log-incoming "vc" "\ Show log of changes that will be received with pull from REMOTE-LOCATION. When called interactively with a prefix argument, prompt for REMOTE-LOCATION. @@ -33533,6 +33567,10 @@ From a program, any ARGS are assumed to be filenames for which log entries should be gathered. (fn &rest ARGS)" t) +(autoload 'vc-edit-next-command "vc" "\ +Request editing the next VC shell command before execution. +This is a prefix command. It affects only a VC command executed +immediately after this one." t) (register-definition-prefixes "vc" '("vc-" "with-vc-properties")) @@ -33653,9 +33691,6 @@ files or be nil (to execute commands that don't expect a file name or set of files). If an optional list of FLAGS is present, that is inserted into the command line before the filename. -If `vc-want-edit-command-p' is non-nil, prompt the user to edit -COMMAND and FLAGS before execution. - Return the return value of the slave command in the synchronous case, and the process object in the asynchronous case. @@ -34832,6 +34867,7 @@ Turn on Viper emulation of Vi in Emacs. See Info node `(viper)Top'." t) ;;; Generated autoloads from image/wallpaper.el +(put 'wallpaper-setter-create 'lisp-indent-function 1) (autoload 'wallpaper-set "wallpaper" "\ Set the desktop background to FILE in a graphical environment. commit 858daf8e0d5d4bd3189e38f024b9a3defe4fa378 Author: Stefan Kangas Date: Sat Oct 1 20:21:28 2022 +0200 ; * admin/update_autogen: Really fix. diff --git a/admin/update_autogen b/admin/update_autogen index d1833d0a84..d1f49d9f25 100755 --- a/admin/update_autogen +++ b/admin/update_autogen @@ -147,6 +147,7 @@ status () local stat file modified + modified="" while read stat file; do [ "$stat" != "M" ] && \ commit 16dd2cd5a4c5538844b5352ff4ea3718899c6772 Author: Stefan Kangas Date: Sat Oct 1 20:17:57 2022 +0200 Update publicsuffix.txt from upstream * etc/publicsuffix.txt: Update from https://publicsuffix.org/list/public_suffix_list.dat dated 2022-09-27 20:39:13 UTC. diff --git a/etc/publicsuffix.txt b/etc/publicsuffix.txt index 626c799390..5676a31c3a 100644 --- a/etc/publicsuffix.txt +++ b/etc/publicsuffix.txt @@ -7171,7 +7171,7 @@ org.zw // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-07-28T15:14:54Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-09-15T15:17:34Z // This list is auto-generated, don't edit it manually. // aaa : 2015-02-26 American Automobile Association, Inc. aaa @@ -7680,7 +7680,7 @@ cars // casa : 2013-11-21 Registry Services, LLC casa -// case : 2015-09-03 Helium TLDs Ltd +// case : 2015-09-03 Digity, LLC case // cash : 2014-03-06 Binky Moon, LLC @@ -7866,7 +7866,7 @@ cool // corsica : 2014-09-25 Collectivité de Corse corsica -// country : 2013-12-19 DotCountry LLC +// country : 2013-12-19 Internet Naming Company LLC country // coupon : 2015-02-26 Amazon Registry Services, Inc. @@ -8370,7 +8370,7 @@ gifts // gives : 2014-03-06 Public Interest Registry gives -// giving : 2014-11-13 Giving Limited +// giving : 2014-11-13 Public Interest Registry giving // glass : 2013-11-07 Binky Moon, LLC @@ -10804,6 +10804,52 @@ s3-website.eu-west-2.amazonaws.com s3-website.eu-west-3.amazonaws.com s3-website.us-east-2.amazonaws.com +// AWS Cloud9 : https://aws.amazon.com/cloud9/ +// Submitted by: AWS Security +// Reference: 2b6dfa9a-3a7f-4367-b2e7-0321e77c0d59 +vfs.cloud9.af-south-1.amazonaws.com +webview-assets.cloud9.af-south-1.amazonaws.com +vfs.cloud9.ap-east-1.amazonaws.com +webview-assets.cloud9.ap-east-1.amazonaws.com +vfs.cloud9.ap-northeast-1.amazonaws.com +webview-assets.cloud9.ap-northeast-1.amazonaws.com +vfs.cloud9.ap-northeast-2.amazonaws.com +webview-assets.cloud9.ap-northeast-2.amazonaws.com +vfs.cloud9.ap-northeast-3.amazonaws.com +webview-assets.cloud9.ap-northeast-3.amazonaws.com +vfs.cloud9.ap-south-1.amazonaws.com +webview-assets.cloud9.ap-south-1.amazonaws.com +vfs.cloud9.ap-southeast-1.amazonaws.com +webview-assets.cloud9.ap-southeast-1.amazonaws.com +vfs.cloud9.ap-southeast-2.amazonaws.com +webview-assets.cloud9.ap-southeast-2.amazonaws.com +vfs.cloud9.ca-central-1.amazonaws.com +webview-assets.cloud9.ca-central-1.amazonaws.com +vfs.cloud9.eu-central-1.amazonaws.com +webview-assets.cloud9.eu-central-1.amazonaws.com +vfs.cloud9.eu-north-1.amazonaws.com +webview-assets.cloud9.eu-north-1.amazonaws.com +vfs.cloud9.eu-south-1.amazonaws.com +webview-assets.cloud9.eu-south-1.amazonaws.com +vfs.cloud9.eu-west-1.amazonaws.com +webview-assets.cloud9.eu-west-1.amazonaws.com +vfs.cloud9.eu-west-2.amazonaws.com +webview-assets.cloud9.eu-west-2.amazonaws.com +vfs.cloud9.eu-west-3.amazonaws.com +webview-assets.cloud9.eu-west-3.amazonaws.com +vfs.cloud9.me-south-1.amazonaws.com +webview-assets.cloud9.me-south-1.amazonaws.com +vfs.cloud9.sa-east-1.amazonaws.com +webview-assets.cloud9.sa-east-1.amazonaws.com +vfs.cloud9.us-east-1.amazonaws.com +webview-assets.cloud9.us-east-1.amazonaws.com +vfs.cloud9.us-east-2.amazonaws.com +webview-assets.cloud9.us-east-2.amazonaws.com +vfs.cloud9.us-west-1.amazonaws.com +webview-assets.cloud9.us-west-1.amazonaws.com +vfs.cloud9.us-west-2.amazonaws.com +webview-assets.cloud9.us-west-2.amazonaws.com + // Amune : https://amune.org/ // Submitted by Team Amune t3l3p0rt.net @@ -12874,6 +12920,7 @@ azure-mobile.net cloudapp.net azurestaticapps.net 1.azurestaticapps.net +2.azurestaticapps.net centralus.azurestaticapps.net eastasia.azurestaticapps.net eastus2.azurestaticapps.net commit 8995c5604f7f588d4376a145648437fd1ad619bd Author: Stefan Kangas Date: Sat Oct 1 17:39:54 2022 +0200 ; * admin/update_autogen: Fix for "set -o nounset". diff --git a/admin/update_autogen b/admin/update_autogen index 8bfbdc92e9..d1833d0a84 100755 --- a/admin/update_autogen +++ b/admin/update_autogen @@ -95,6 +95,7 @@ genfiles=" ## msdos-only: genfiles="src/config.in" +basegen="" for g in $genfiles; do basegen="$basegen ${g##*/}" done commit 405466b79c4cc935f98a722d7d7ae9c2cf6eb4b6 Author: Michael Albinus Date: Sat Oct 1 17:17:39 2022 +0200 Use a version for the Tramp cache * lisp/net/tramp-cache.el (tramp-cache-version): New defconst. (top): Check the cache version, and flush the cache in case of mismatch. Suggested by Paul Pogonyshev . * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections): Re-initialize the cache version. diff --git a/lisp/net/tramp-cache.el b/lisp/net/tramp-cache.el index d8f31daa1f..4d7d35a4de 100644 --- a/lisp/net/tramp-cache.el +++ b/lisp/net/tramp-cache.el @@ -28,7 +28,7 @@ ;; An implementation of information caching for remote files. ;; Each connection, identified by a `tramp-file-name' structure or by -;; a process, has a unique cache. We distinguish 5 kind of caches, +;; a process, has a unique cache. We distinguish 6 kind of caches, ;; depending on the key: ;; ;; - localname is nil. These are reusable properties. Examples: @@ -56,6 +56,10 @@ ;; "{uid,gid}-{integer,string}" are the local uid and gid, and ;; "locale" is the used shell locale. ;; +;; - The key is `tramp-cache-version'. It keeps the Tramp version the +;; cache data was produced with. If the cache is read by another +;; Tramp version, it is flushed. +;; ;; - The key is `tramp-cache-undefined'. All functions return the ;; expected values, but nothing is cached. @@ -105,6 +109,10 @@ details see the info pages." :group 'tramp :type 'file) +;;;###tramp-autoload +(defconst tramp-cache-version (make-tramp-file-name :method "cache") +"Virtual connection vector for Tramp version.") + (defvar tramp-cache-data-changed nil "Whether persistent cache data have been changed.") @@ -632,9 +640,16 @@ for all methods. Resulting data are derived from connection history." ;; initialized properly by side effect. (unless (tramp-connection-property-p key (car item)) (tramp-set-connection-property key (pop item) (car item))))))) + ;; Check Tramp version. Clear cache in case of mismatch. + (unless (string-equal + (tramp-get-connection-property + tramp-cache-version "tramp-version" "") + tramp-version) + (signal 'file-error nil)) (setq tramp-cache-data-changed nil)) (file-error - ;; Most likely because the file doesn't exist yet. No message. + ;; Most likely because the file doesn't exist yet, or the Tramp + ;; version doesn't match. No message. (clrhash tramp-cache-data)) (error ;; File is corrupted. @@ -642,6 +657,9 @@ for all methods. Resulting data are derived from connection history." tramp-persistency-file-name (error-message-string err)) (clrhash tramp-cache-data)))) +;; Initialize the cache version. +(tramp-set-connection-property tramp-cache-version "tramp-version" tramp-version) + (add-hook 'tramp-unload-hook (lambda () (unload-feature 'tramp-cache 'force))) diff --git a/lisp/net/tramp-cmds.el b/lisp/net/tramp-cmds.el index d36514bab2..0442fa7409 100644 --- a/lisp/net/tramp-cmds.el +++ b/lisp/net/tramp-cmds.el @@ -179,6 +179,10 @@ This includes password cache, file cache, connection cache, buffers." ;; Flush file and connection cache. (clrhash tramp-cache-data) + ;; Initialize the cache version. + (tramp-set-connection-property + tramp-cache-version "tramp-version" tramp-version) + ;; Remove ad-hoc proxies. (let ((proxies tramp-default-proxies-alist)) (while proxies commit 55f46cc77cb9d72fbabadb63d8aeab45c5e005e2 Author: Stefan Kangas Date: Sat Oct 1 17:16:03 2022 +0200 Decrease use of the word "Emacsen" in docs "Emacsen" is either a less clear way of saying "old versions of Emacs", or an implicit reference to XEmacs. We recommend against using it in the FAQ. So use the more clear wording instead. * doc/misc/gnus.texi (Oort Gnus): * doc/misc/widget.texi (Basic Types, toggle): * lisp/cedet/semantic/bovine/c.el (semantic-c-skip-conditional-section): * lisp/cedet/semantic/wisent/comp.el (wisent-compile-grammar): * lisp/desktop.el (desktop-save): * lisp/erc/erc-compat.el: * lisp/erc/erc-log.el: * lisp/gnus/gnus-util.el (gnus-replace-in-string): * lisp/mail/footnote.el: * lisp/net/tramp-archive.el: * lisp/net/tramp-smb.el: * lisp/net/tramp-uu.el: * lisp/net/tramp.el: (with-tramp-locked-connection): * lisp/org/ol-eww.el: * lisp/org/org-compat.el: (org-define-error): * lisp/shadowfile.el: * lisp/winner.el: Don't use the word "Emacsen". diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index b1331e79bf..9e5b994a3e 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -28121,7 +28121,7 @@ If you use a stand-alone Gnus distribution, you'd better add lisp directory into load-path. File @file{gnus-load.el} contains autoload commands, functions and variables, -some of which may not be included in distributions of Emacsen. +some of which may not be included in distributions of Emacs. @end itemize diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index c84b49a038..d3634ebc82 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi @@ -587,8 +587,7 @@ string. @vindex tag-glyph@r{ keyword} @item :tag-glyph -Name of image to use instead of the string specified by @code{:tag} on -Emacsen that supports it. +Name of image to use instead of the string specified by @code{:tag}. @vindex help-echo@r{ keyword} @item :help-echo @@ -1014,12 +1013,10 @@ A string representing the @samp{off} state. By default the string @samp{off}. @vindex on-glyph@r{ keyword} @item :on-glyph -Name of a glyph to be used instead of the @samp{:on} text string, on -emacsen that supports this. +Name of a glyph to be used instead of the @samp{:on} text string. @vindex off-glyph@r{ keyword} @item :off-glyph -Name of a glyph to be used instead of the @samp{:off} text string, on -emacsen that supports this. +Name of a glyph to be used instead of the @samp{:off} text string. @end table @node checkbox diff --git a/lisp/cedet/semantic/bovine/c.el b/lisp/cedet/semantic/bovine/c.el index d4ce20589e..6e880b92d4 100644 --- a/lisp/cedet/semantic/bovine/c.el +++ b/lisp/cedet/semantic/bovine/c.el @@ -308,7 +308,7 @@ Moves completely over balanced #if blocks." ;; We found a nested if. Skip it. (if (fboundp 'c-scan-conditionals) (goto-char (c-scan-conditionals 1)) - ;; For older Emacsen, but this will set the mark. + ;; For older versions of Emacs, but this will set the mark. (c-forward-conditional 1))) ((looking-at "^\\s-*#\\s-*elif") ;; We need to let the preprocessor analyze this one. diff --git a/lisp/cedet/semantic/wisent/comp.el b/lisp/cedet/semantic/wisent/comp.el index e24f6128a6..2ffce5652d 100644 --- a/lisp/cedet/semantic/wisent/comp.el +++ b/lisp/cedet/semantic/wisent/comp.el @@ -3449,7 +3449,7 @@ Automatically called by the Emacs Lisp byte compiler as a (defun wisent-compile-grammar (grammar &optional start-list) ;; This is kept for compatibility with FOO-wy.el files generated - ;; with older Emacsen. + ;; with older versions of Emacs. (declare (obsolete wisent-compiled-grammar "Mar 2021")) (wisent--compile-grammar grammar start-list)) diff --git a/lisp/desktop.el b/lisp/desktop.el index ef73bc596d..ec321faa63 100644 --- a/lisp/desktop.el +++ b/lisp/desktop.el @@ -1186,7 +1186,7 @@ no questions asked." (goto-char (point-max)) (insert "\n;; Global section:\n") ;; Called here because we save the window/frame state as a global - ;; variable for compatibility with previous Emacsen. + ;; variable for compatibility with older versions of Emacs. (desktop-save-frameset) (unless (memq 'desktop-saved-frameset desktop-globals-to-save) (desktop-outvar 'desktop-saved-frameset)) diff --git a/lisp/erc/erc-compat.el b/lisp/erc/erc-compat.el index 8a00e711ac..4a1280fe64 100644 --- a/lisp/erc/erc-compat.el +++ b/lisp/erc/erc-compat.el @@ -1,6 +1,6 @@ -;;; erc-compat.el --- ERC compatibility code for older Emacsen -*- lexical-binding: t; -*- +;;; erc-compat.el --- ERC compatibility code for old Emacs versions -*- lexical-binding: t; -*- -;; Copyright (C) 2002-2003, 2005-2022 Free Software Foundation, Inc. +;; Copyright (C) 2002-2022 Free Software Foundation, Inc. ;; Author: Alex Schroeder ;; Maintainer: Amin Bandali , F. Jason Park diff --git a/lisp/erc/erc-log.el b/lisp/erc/erc-log.el index 57093d3fc6..7a79754ab4 100644 --- a/lisp/erc/erc-log.el +++ b/lisp/erc/erc-log.el @@ -74,21 +74,21 @@ ;;; TODO: ;; ;; * Really, we need to lock the logfiles somehow, so that if a user -;; is running multiple emacsen and/or on the same channel as more -;; than one user, only one process writes to the logfile. This is -;; especially needed for those logfiles with no nick in them, as +;; is running multiple Emacs processes and/or on the same channel as +;; more than one user, only one process writes to the logfile. This +;; is especially needed for those logfiles with no nick in them, as ;; these would become corrupted. -;; For a single emacs process, the problem could be solved using a +;; For a single Emacs process, the problem could be solved using a ;; variable which contained the names of buffers already being ;; logged. This would require that logging be buffer-local, ;; possibly not a bad thing anyway, since many people don't want to ;; log the server buffer. -;; For multiple emacsen the problem is trickier. On some systems, -;; on could use the function `lock-buffer' and `unlock-buffer'. -;; However, file locking isn't implemented on all platforms, for -;; example, there is none on w32 systems. +;; For multiple Emacs processes the problem is trickier. On some +;; systems, on could use the function `lock-buffer' and +;; `unlock-buffer'. However, file locking isn't implemented on all +;; platforms, for example, there is none on w32 systems. ;; A third possibility might be to fake lockfiles. However, this -;; might lead to problems if an emacs crashes, as the lockfile +;; might lead to problems if one Emacs crashes, as the lockfile ;; would be left lying around. ;;; Code: diff --git a/lisp/gnus/gnus-util.el b/lisp/gnus/gnus-util.el index fe556b155a..2cf1d2f18c 100644 --- a/lisp/gnus/gnus-util.el +++ b/lisp/gnus/gnus-util.el @@ -78,7 +78,7 @@ If LITERAL is non-nil, insert NEWTEXT literally. Return a new string containing the replacements. -This is a compatibility function for different Emacsen." +This is a compatibility function." (declare (obsolete replace-regexp-in-string "26.1")) (replace-regexp-in-string regexp newtext string nil literal)) diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el index a594fa3ccb..b2eb0c3e9e 100644 --- a/lisp/mail/footnote.el +++ b/lisp/mail/footnote.el @@ -24,7 +24,7 @@ ;;; Commentary: -;; This file provides footnote[1] support for message-mode in emacsen. +;; This file provides footnote[1] support for message-mode in Emacs. ;; footnote-mode is implemented as a minor mode. ;; [1] Footnotes look something like this. Along with some decorative diff --git a/lisp/net/tramp-archive.el b/lisp/net/tramp-archive.el index b343e460df..646ae86452 100644 --- a/lisp/net/tramp-archive.el +++ b/lisp/net/tramp-archive.el @@ -201,7 +201,7 @@ It must be supported by libarchive(3).") (put #'tramp-archive-autoload-file-name-regexp 'tramp-autoload t) -;; In older Emacsen (prior 27.1), `tramp-archive-autoload-file-name-regexp' +;; In older Emacs (prior 27.1), `tramp-archive-autoload-file-name-regexp' ;; is not autoloaded. So we cannot expect it to be known in ;; tramp-loaddefs.el. But it exists, when tramp-archive.el is loaded. ;;;###tramp-autoload @@ -332,7 +332,7 @@ arguments to pass to the OPERATION." ;; Starting with Emacs 29, `tramp-archive-file-name-handler' is ;; autoloaded. But it must still be in tramp-loaddefs.el for older -;; Emacsen. +;; versions of Emacs. ;;;###autoload(autoload 'tramp-archive-file-name-handler "tramp-archive") ;;;###tramp-autoload (defun tramp-archive-file-name-handler (operation &rest args) diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 11b3689df6..e55f6bb6ee 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -1761,7 +1761,7 @@ Result is a list of (LOCALNAME MODE SIZE MONTH DAY TIME YEAR)." ;; ;; Problems: ;; * Modern regexp constructs, like spy groups and counted repetitions, aren't -;; available in older Emacsen. +;; available in older versions of Emacs. ;; * The length of constructs (file name, size) might exceed the default. ;; * File names might contain spaces. ;; * Permissions might be empty. diff --git a/lisp/net/tramp-uu.el b/lisp/net/tramp-uu.el index e849c36d13..2bbdb299a6 100644 --- a/lisp/net/tramp-uu.el +++ b/lisp/net/tramp-uu.el @@ -25,7 +25,7 @@ ;;; Commentary: ;; An implementation of "uuencode" in Lisp. Uses the function -;; base64-encode-region which is built-in to modern Emacsen. +;; base64-encode-region which is built-in to modern Emacs. ;;; Code: diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 373392f7c8..5b60aa6313 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -3674,7 +3674,7 @@ Let-bind it when necessary.") ;; `directory-abbrev-apply' and `directory-abbrev-make-regexp' exists ;; since Emacs 29.1. Since this handler isn't called for older -;; Emacsen, it is save to invoke them via `tramp-compat-funcall'. +;; Emacs, it is save to invoke them via `tramp-compat-funcall'. (defun tramp-handle-abbreviate-file-name (filename) "Like `abbreviate-file-name' for Tramp files." (let* ((case-fold-search (file-name-case-insensitive-p filename)) @@ -5485,7 +5485,7 @@ performed successfully. Any other value means an error." Mostly useful to protect BODY from being interrupted by timers." (declare (indent 1) (debug t)) `(if (tramp-get-connection-property ,proc "locked") - ;; Be kind for older Emacsen. + ;; Be kind for old versions of Emacs. (if (member 'remote-file-error debug-ignored-errors) (throw 'non-essential 'non-essential) (tramp-error diff --git a/lisp/org/ol-eww.el b/lisp/org/ol-eww.el index d1bb519510..0bd1b5b926 100644 --- a/lisp/org/ol-eww.el +++ b/lisp/org/ol-eww.el @@ -48,7 +48,7 @@ (require 'cl-lib) (require 'eww) -;; For Emacsen < 25. +;; For Emacs < 25. (defvar eww-current-title) (defvar eww-current-url) diff --git a/lisp/org/org-compat.el b/lisp/org/org-compat.el index 15f0daa91a..bbad4ae635 100644 --- a/lisp/org/org-compat.el +++ b/lisp/org/org-compat.el @@ -1,4 +1,4 @@ -;;; org-compat.el --- Compatibility Code for Older Emacsen -*- lexical-binding: t; -*- +;;; org-compat.el --- Compatibility Code for Older Emacs -*- lexical-binding: t; -*- ;; Copyright (C) 2004-2022 Free Software Foundation, Inc. @@ -929,7 +929,7 @@ Pass COLUMN and FORCE to `move-to-column'." "Define NAME as a new error signal. MESSAGE is a string that will be output to the echo area if such an error is signaled without being caught by a `condition-case'. -Implements `define-error' for older emacsen." +Implements `define-error' for older versions of Emacs." (if (fboundp 'define-error) (define-error name message) (put name 'error-conditions (copy-sequence (cons name (get 'error 'error-conditions)))))) diff --git a/lisp/shadowfile.el b/lisp/shadowfile.el index c1c31fe9c6..c8567a7d47 100644 --- a/lisp/shadowfile.el +++ b/lisp/shadowfile.el @@ -56,8 +56,9 @@ ;; Bugs & Warnings: ;; -;; - It is bad to have two Emacsen both running shadowfile at the same -;; time. It tries to detect this condition, but is not always successful. +;; - It is bad to have two instances of Emacs both running shadowfile +;; at the same time. It tries to detect this condition, but is not +;; always successful. ;; ;; - You have to be careful not to edit a file in two locations ;; before shadowfile has had a chance to copy it; otherwise diff --git a/lisp/winner.el b/lisp/winner.el index 4290f1fd23..174b698e7b 100644 --- a/lisp/winner.el +++ b/lisp/winner.el @@ -171,8 +171,7 @@ You may want to include buffer names such as *Help*, *Apropos*, (/= 0 (minibuffer-depth))) (push (selected-frame) winner-modified-list))) -;; A `post-command-hook' for emacsen with -;; `window-configuration-change-hook'. +;; Used as `post-command-hook'. (defun winner-save-old-configurations () (when (zerop (minibuffer-depth)) (unless (eq this-command winner-last-command) @@ -191,8 +190,7 @@ You may want to include buffer names such as *Help*, *Apropos*, (winner-insert-if-new (selected-frame)) (winner-remember)) -;; A `post-command-hook' for other emacsen. -;; Also called by `winner-undo' before "undoing". +;; Called by `winner-undo' before "undoing". (defun winner-save-conditionally () (when (zerop (minibuffer-depth)) (winner-save-unconditionally))) commit abe83f76de36bc3922b410f9872065fc3903738b Merge: ced37a87e7 be3eac3929 Author: Stefan Kangas Date: Sat Oct 1 17:14:47 2022 +0200 Merge from origin/emacs-28 be3eac3929 ; * etc/NEWS: Fix typos. 99a8c53247 Fix connection property incompatibility in Tramp # Conflicts: # etc/NEWS commit ced37a87e73e6450b554d5a5db2b451aec70fafe Merge: 3bd9606922 3215760194 Author: Eli Zaretskii Date: Sat Oct 1 18:00:24 2022 +0300 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs commit 3bd960692218b3dedc64dac44cc0777b8eb24782 Author: Eli Zaretskii Date: Sat Oct 1 17:56:58 2022 +0300 ; Another fix for vertical motion * src/xdisp.c (move_it_vertically_backward): Undo recent changes for bidi-reordered text. (Bug#58210) diff --git a/src/xdisp.c b/src/xdisp.c index c2e91d54ce..818cf5e3f8 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -10709,11 +10709,6 @@ move_it_vertically_backward (struct it *it, int dy) /* Estimate how many newlines we must move back. */ nlines = max (1, dy / default_line_pixel_height (it->w)); - /* Move one line more back, for the (rare) situation where we have - bidi-reordered continued lines, and we start from the top-most - screen line, which is the last in logical order. */ - if (it->bidi_p && dy == 0) - nlines++; if (it->line_wrap == TRUNCATE || nchars_per_row == 0) pos_limit = BEGV; else @@ -10776,10 +10771,10 @@ move_it_vertically_backward (struct it *it, int dy) if (dy == 0) { /* DY == 0 means move to the start of the screen line. The - value of nlines is > 1 if continuation lines were involved, + value of nlines is > 0 if continuation lines were involved, or if the original IT position was at start of a line. */ RESTORE_IT (it, it, it2data); - if (nlines > 1) + if (nlines > 0) move_it_by_lines (it, nlines); /* The above code moves us to some position NLINES down, usually to its first glyph (leftmost in an L2R line), but commit 3215760194f9d28f0053c38d9b2eb0942914615c Author: Lars Ingebrigtsen Date: Sat Oct 1 16:56:19 2022 +0200 Make mailcap--regexp-quote-type more resilient * lisp/net/mailcap.el (mailcap--regexp-quote-type): Make more resilient in the presence of junk. diff --git a/lisp/net/mailcap.el b/lisp/net/mailcap.el index b678df30bd..aa0c172655 100644 --- a/lisp/net/mailcap.el +++ b/lisp/net/mailcap.el @@ -1066,8 +1066,10 @@ If FORCE, re-parse even if already parsed." extns nil))))) (defun mailcap--regexp-quote-type (type) - (pcase-let ((`(,major ,minor) (split-string type "/"))) - (concat major "/" (regexp-quote minor)))) + (if (not (string-search "/" type)) + type + (pcase-let ((`(,major ,minor) (split-string type "/"))) + (concat major "/" (regexp-quote minor))))) (defun mailcap-extension-to-mime (extn) "Return the MIME content type of the file extensions EXTN." commit e50a3b57921e8b690d3c3adb993e2441d5970116 Author: Lars Ingebrigtsen Date: Sat Oct 1 16:06:27 2022 +0200 Make "git pull" output slightly prettier * lisp/vc/vc-git.el (vc-git--pushpull): Translate ^M in output (bug#58199). diff --git a/lisp/vc/vc-git.el b/lisp/vc/vc-git.el index f5ac43f536..87f6a5a37c 100644 --- a/lisp/vc/vc-git.el +++ b/lisp/vc/vc-git.el @@ -1110,6 +1110,14 @@ If PROMPT is non-nil, prompt for the Git command to run." vc-filter-command-function)) (proc (apply #'vc-do-async-command buffer root git-program command extra-args))) + ;; "git pull" includes progress output that uses ^M to move point + ;; to the beginning of the line. Just translate these to newlines + ;; (but don't do anything with the CRLF sequence). + (add-function :around (process-filter proc) + (lambda (filter process string) + (funcall filter process + (replace-regexp-in-string "\r\\(\\'\\|[^\n]\\)" + "\n\\1" string)))) (with-current-buffer buffer (vc-run-delayed (vc-compilation-mode 'git) commit ff43fd07b7eb25dd20facff21ec3226769efd8d8 Author: Eli Zaretskii Date: Sat Oct 1 17:01:15 2022 +0300 Fix vertical motion in some rare bidi situations * src/xdisp.c (move_it_by_lines): Handle the case where we didn't move vertically at all. diff --git a/src/xdisp.c b/src/xdisp.c index bee17bd6d7..c2e91d54ce 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -10966,7 +10966,7 @@ move_it_by_lines (struct it *it, ptrdiff_t dvpos) { struct it it2; void *it2data = NULL; - ptrdiff_t start_charpos, i; + ptrdiff_t start_charpos, orig_charpos, i; int nchars_per_row = (it->last_visible_x - it->first_visible_x) / FRAME_COLUMN_WIDTH (it->f); bool hit_pos_limit = false; @@ -10976,7 +10976,7 @@ move_it_by_lines (struct it *it, ptrdiff_t dvpos) position. This may actually move vertically backwards, in case of overlays, so adjust dvpos accordingly. */ dvpos += it->vpos; - start_charpos = IT_CHARPOS (*it); + orig_charpos = IT_CHARPOS (*it); move_it_vertically_backward (it, 0); dvpos -= it->vpos; @@ -11029,8 +11029,9 @@ move_it_by_lines (struct it *it, ptrdiff_t dvpos) RESTORE_IT (&it2, &it2, it2data); SAVE_IT (it2, *it, it2data); move_it_to (it, -1, -1, -1, it->vpos + delta, MOVE_TO_VPOS); - /* Move back again if we got too far ahead. */ - if (it->vpos - it2.vpos > delta) + /* Move back again if we got too far ahead, + or didn't move at all. */ + if (it->vpos - it2.vpos > delta || IT_CHARPOS (*it) == orig_charpos) RESTORE_IT (it, &it2, it2data); else bidi_unshelve_cache (it2data, true); commit 3faa508eba84a1983732099cbd3cc1eaad404158 Author: Lars Ingebrigtsen Date: Sat Oct 1 15:20:42 2022 +0200 Make mailcap consistent about regexp-quoting minors * lisp/net/mailcap.el (mailcap-mime-data): Quote regexp. (mailcap-mime-extensions): Ditto. (mailcap--regexp-quote-type): New function. (mailcap-parse-mimetype-file): Use it to get consistent quoting of (regexp) strings (bug#52038). Before you'd get both application/vnd\.ms-excel and application/vnd.ms-excel (etc), making prompting confusing. diff --git a/lisp/net/mailcap.el b/lisp/net/mailcap.el index a5f589459b..b678df30bd 100644 --- a/lisp/net/mailcap.el +++ b/lisp/net/mailcap.el @@ -125,7 +125,7 @@ is consulted." ("vnd\\.ms-excel" (viewer . "gnumeric %s") (test . (getenv "DISPLAY")) - (type . "application/vnd.ms-excel")) + (type . "application/vnd\\.ms-excel")) ("octet-stream" (viewer . mailcap-save-binary-file) (non-viewer . t) @@ -979,7 +979,7 @@ If NO-DECODE is non-nil, don't decode STRING." (".vox" . "audio/basic") (".vrml" . "x-world/x-vrml") (".wav" . "audio/x-wav") - (".xls" . "application/vnd.ms-excel") + (".xls" . "application/vnd\\.ms-excel") (".wrl" . "x-world/x-vrml") (".xbm" . "image/xbm") (".xpm" . "image/xpm") @@ -1051,7 +1051,8 @@ If FORCE, re-parse even if already parsed." (setq save-pos (point)) (skip-chars-forward "^ \t\n") (downcase-region save-pos (point)) - (setq type (buffer-substring save-pos (point))) + (setq type (mailcap--regexp-quote-type + (buffer-substring save-pos (point)))) (while (not (eolp)) (skip-chars-forward " \t") (setq save-pos (point)) @@ -1064,6 +1065,10 @@ If FORCE, re-parse even if already parsed." (setq mailcap-mime-extensions (append extns mailcap-mime-extensions) extns nil))))) +(defun mailcap--regexp-quote-type (type) + (pcase-let ((`(,major ,minor) (split-string type "/"))) + (concat major "/" (regexp-quote minor)))) + (defun mailcap-extension-to-mime (extn) "Return the MIME content type of the file extensions EXTN." (mailcap-parse-mimetypes) commit 41234a21bf7d6713491ce60501bbf2d211fbac8e Author: Lars Ingebrigtsen Date: Sat Oct 1 14:50:22 2022 +0200 Fix url-retrieve-synchronously on very short timeouts * lisp/url/url.el (url-retrieve-synchronously): Don't kill the process buffer unless we made one (bug#58218). This makes HTTP free connection marking work on premature timeouts. diff --git a/lisp/url/url.el b/lisp/url/url.el index d08ff04eda..b4ece5faeb 100644 --- a/lisp/url/url.el +++ b/lisp/url/url.el @@ -280,7 +280,9 @@ how long to wait for a response before giving up." ;; Querying over consumer internet in the US takes 100 ;; ms, so split the difference. (accept-process-output nil 0.05))) - (unless (eq data-buffer proc-buffer) + ;; Kill the process buffer on redirects. + (when (and data-buffer + (not (eq data-buffer proc-buffer))) (let (kill-buffer-query-functions) (kill-buffer proc-buffer))))) data-buffer)) commit 82860cb7f7a92a75c08637a5aa5f1fcb2b6f2cc5 Author: Eli Zaretskii Date: Sat Oct 1 15:44:23 2022 +0300 ; (move_it_vertically_backward): Yet another fix of bug#58210. diff --git a/src/xdisp.c b/src/xdisp.c index 95e97a0bb8..bee17bd6d7 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -10775,15 +10775,11 @@ move_it_vertically_backward (struct it *it, int dy) if (dy == 0) { - /* Adjust nlines for increasing it at the beginning. */ - if (it2.bidi_p - && !(it2.line_wrap == WORD_WRAP && it2.continuation_lines_width)) - nlines--; /* DY == 0 means move to the start of the screen line. The - value of nlines is > 0 if continuation lines were involved, + value of nlines is > 1 if continuation lines were involved, or if the original IT position was at start of a line. */ RESTORE_IT (it, it, it2data); - if (nlines > 0) + if (nlines > 1) move_it_by_lines (it, nlines); /* The above code moves us to some position NLINES down, usually to its first glyph (leftmost in an L2R line), but commit a2a91f0205b82030d502b3b1c48c78ccfe35fda6 Author: Matthias Meulien Date: Sat Oct 1 08:46:50 2022 +0200 Define ansi-osc customization group * lisp/ansi-osc.el (ansi-osc): Define ansi-osc customization group (ansi-osc-for-compilation-buffer): Fix wrong group diff --git a/lisp/ansi-osc.el b/lisp/ansi-osc.el index 67a8551628..34154998cd 100644 --- a/lisp/ansi-osc.el +++ b/lisp/ansi-osc.el @@ -155,6 +155,17 @@ that is the value of `ansi-osc-handlers'." (and (string-match ";\\(.+\\)" text) (cons (point-marker) (match-string-no-properties 1 text))))) +(defgroup ansi-osc nil + "Interpretation of OSC escape sequences. +Handlers for OSC 2, 7 and 8 (for window title, current directory +and hyperlinks respectively) are provided. OSC (Operating System +Commands) control sequences are defined in section 8.3.89 of the +ECMA-48 standard is freely available at + +as a PDF file." + :version "29.1" + :group 'processes) + (defcustom ansi-osc-for-compilation-buffer 'filter "What to do with OSC escape sequences in compilation output. @@ -170,7 +181,7 @@ must be in `compilation-filter-hook'." :type '(choice (const :tag "Do nothing" nil) (const :tag "Filter out OSC" filter) (other :tag "Translate OSC" t)) - :group 'osc + :group 'ansi-osc :version "29.1") (defvar compilation-filter-start) commit abc955d017cc4e6ad33d06d61f8317bd2b6c380f Author: Matthias Meulien Date: Fri Sep 30 22:46:35 2022 +0200 Rename osc.el to ansi-osc.el (bug#58200) * lisp/osc.el: Move from here... * lisp/ansi-osc.el: ...to here. * test/lisp/osc-tests.el: Move from here... * test/lisp/ansi-osc-tests.el: ...to here. diff --git a/etc/NEWS b/etc/NEWS index b9c4ef62ce..ec23f10b1f 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -2577,12 +2577,12 @@ Enabling this minor mode turns on hiding header material, like 'elide-head' does; disabling it shows the header. The commands 'elide-head' and 'elide-head-show' are now obsolete. -*** New package osc.el. +*** New package ansi-osc.el. Support for OSC ("Operating System Command") escape sequences has been extracted from comint.el in order to provide interpretation of OSC sequences in compilation buffers. -Adding the new function 'osc-compilation-filter' to +Adding the new function 'ansi-osc-compilation-filter' to 'compilation-filter-hook' enables interpretation of OSC escape sequences in compilation buffers. By default, all sequences are filtered out. diff --git a/lisp/osc.el b/lisp/ansi-osc.el similarity index 63% rename from lisp/osc.el rename to lisp/ansi-osc.el index 14f7fe6a4f..67a8551628 100644 --- a/lisp/osc.el +++ b/lisp/ansi-osc.el @@ -1,4 +1,4 @@ -;;; osc.el --- Support for OSC escape sequences -*- lexical-binding: t; -*- +;;; ansi-osc.el --- Support for OSC escape sequences -*- lexical-binding: t; -*- ;; Copyright (C) 2022 Free Software Foundation, Inc. @@ -26,37 +26,37 @@ ;; Handlers for OSC 2, 7 and 8 (for window title, current directory ;; and hyperlinks respectively) are provided. -;; The function `osc-compilation-filter' can be added to +;; The function `ansi-osc-compilation-filter' can be added to ;; `compilation-filter-hook' to collect OSC sequences in compilation -;; buffers. The variable `osc-for-compilation-buffer' tells what to -;; do with collected sequences. +;; buffers. The variable `ansi-osc-for-compilation-buffer' tells what +;; to do with collected sequences. ;;; Code: -(defconst osc-control-seq-regexp +(defconst ansi-osc-control-seq-regexp ;; See ECMA 48, section 8.3.89 "OSC - OPERATING SYSTEM COMMAND". "\e\\][\x08-\x0D]*[\x20-\x7E]*\\(\a\\|\e\\\\\\)" "Regexp matching an OSC control sequence.") -(defun osc-filter-region (begin end) +(defun ansi-osc-filter-region (begin end) "Filter out all OSC control sequences from region between BEGIN and END." (save-excursion (goto-char begin) ;; Delete escape sequences. - (while (re-search-forward osc-control-seq-regexp end t) + (while (re-search-forward ansi-osc-control-seq-regexp end t) (delete-region (match-beginning 0) (match-end 0))))) -(defvar-local osc-handlers '(("2" . osc-window-title-handler) - ("7" . osc-directory-tracker) - ("8" . osc-hyperlink-handler)) +(defvar-local ansi-osc-handlers '(("2" . ansi-osc-window-title-handler) + ("7" . ansi-osc-directory-tracker) + ("8" . ansi-osc-hyperlink-handler)) "Alist of handlers for OSC escape sequences. -See `osc-apply-on-region' for details.") +See `ansi-osc-apply-on-region' for details.") -(defvar-local osc--marker nil) -;; The function `osc-apply-on-region' can set `osc--marker' to the start -;; position of an escape sequence without termination. +(defvar-local ansi-osc--marker nil) +;; The function `ansi-osc-apply-on-region' can set `ansi-osc--marker' +;; to the start position of an escape sequence without termination. -(defun osc-apply-on-region (begin end) +(defun ansi-osc-apply-on-region (begin end) "Interpret OSC escape sequences in region between BEGIN and END. This function searches for escape sequences of the forms @@ -64,12 +64,13 @@ This function searches for escape sequences of the forms ESC ] command ; text ESC \\ Every occurrence of such escape sequences is removed from the -buffer. Then, if `command' is a key in the alist that is the value -of the local variable `osc-handlers', that key's value, which should -be a function, is called with `command' and `text' as arguments, with -point where the escape sequence was located." +buffer. Then, if `command' is a key in the alist that is the +value of the local variable `ansi-osc-handlers', that key's +value, which should be a function, is called with `command' and +`text' as arguments, with point where the escape sequence was +located." (save-excursion - (goto-char (or osc--marker begin)) + (goto-char (or ansi-osc--marker begin)) (when (eq (char-before) ?\e) (backward-char)) (while (re-search-forward "\e]" end t) (let ((pos0 (match-beginning 0)) @@ -79,35 +80,35 @@ point where the escape sequence was located." (if (re-search-forward "\a\\|\e\\\\" end t) (let ((text (buffer-substring-no-properties pos1 (match-beginning 0)))) - (setq osc--marker nil) + (setq ansi-osc--marker nil) (delete-region pos0 (point)) - (when-let ((fun (cdr (assoc-string code osc-handlers)))) + (when-let ((fun (cdr (assoc-string code ansi-osc-handlers)))) (funcall fun code text))) (put-text-property pos0 end 'invisible t) - (setq osc--marker (copy-marker pos0))))))) + (setq ansi-osc--marker (copy-marker pos0))))))) ;; Window title handling (OSC 2) -(defvar-local osc-window-title nil) -(defun osc-window-title-handler (_ text) - "Set value of `osc-window-title' from an OSC 2 escape sequence. -The variable `osc-window-title' can then be referenced in +(defvar-local ansi-osc-window-title nil) +(defun ansi-osc-window-title-handler (_ text) + "Set value of `ansi-osc-window-title' from an OSC 2 escape sequence. +The variable `ansi-osc-window-title' can then be referenced in `frame-title-format' to dynamically set the frame title. This function is intended to be included as an element of the -list that is the value of `osc-handlers'." - (setq osc-window-title text)) +list that is the value of `ansi-osc-handlers'." + (setq ansi-osc-window-title text)) ;; Current directory tracking (OSC 7) (declare-function url-host "url/url-parse.el") (declare-function url-type "url/url-parse.el") (declare-function url-filename "url/url-parse.el") -(defun osc-directory-tracker (_ text) +(defun ansi-osc-directory-tracker (_ text) "Update `default-directory' from OSC 7 escape sequences. This function is intended to be included as an element of the -the list that is the value of `osc-handlers'. You should arrange +the list that is the value of `ansi-osc-handlers'. You should arrange for your shell to print the appropriate escape sequence at each prompt, such as with the following command: @@ -124,7 +125,7 @@ and `shell-dirtrack-mode'." ;; Hyperlink handling (OSC 8) -(defvar osc-hyperlink-map +(defvar ansi-osc-hyperlink-map (let ((map (make-sparse-keymap))) (define-key map "\C-c\r" 'browse-url-button-open) (define-key map [mouse-2] 'browse-url-button-open) @@ -132,29 +133,29 @@ and `shell-dirtrack-mode'." map) "Keymap used by OSC 8 hyperlink buttons.") -(define-button-type 'osc-hyperlink - 'keymap osc-hyperlink-map +(define-button-type 'ansi-osc-hyperlink + 'keymap ansi-osc-hyperlink-map 'help-echo (lambda (_ buffer pos) (when-let ((url (get-text-property pos 'browse-url-data buffer))) (format "mouse-2, C-c RET: Open %s" url)))) -(defvar-local osc-hyperlink--state nil) +(defvar-local ansi-osc-hyperlink--state nil) -(defun osc-hyperlink-handler (_ text) +(defun ansi-osc-hyperlink-handler (_ text) "Create a hyperlink from an OSC 8 escape sequence. This function is intended to be included as an elemnt of the list -that is the value of `osc-handlers'." - (when osc-hyperlink--state - (let ((start (car osc-hyperlink--state)) - (url (cdr osc-hyperlink--state))) +that is the value of `ansi-osc-handlers'." + (when ansi-osc-hyperlink--state + (let ((start (car ansi-osc-hyperlink--state)) + (url (cdr ansi-osc-hyperlink--state))) (make-text-button start (point) - 'type 'osc-hyperlink + 'type 'ansi-osc-hyperlink 'browse-url-data url))) - (setq osc-hyperlink--state + (setq ansi-osc-hyperlink--state (and (string-match ";\\(.+\\)" text) (cons (point-marker) (match-string-no-properties 1 text))))) -(defcustom osc-for-compilation-buffer 'filter +(defcustom ansi-osc-for-compilation-buffer 'filter "What to do with OSC escape sequences in compilation output. If nil, do nothing. @@ -162,9 +163,9 @@ If nil, do nothing. If the symbol `filter', then filter out all OSC control sequences. If any other non-nil value, then collect OSC control sequences -and call the appropriate handlers as described in `osc-handlers'. +and call the appropriate handlers as described in `ansi-osc-handlers'. -In order for this to have any effect, `osc-compilation-filter' +In order for this to have any effect, `ansi-osc-compilation-filter' must be in `compilation-filter-hook'." :type '(choice (const :tag "Do nothing" nil) (const :tag "Filter out OSC" filter) @@ -175,17 +176,17 @@ must be in `compilation-filter-hook'." (defvar compilation-filter-start) ;;;###autoload -(defun osc-compilation-filter () +(defun ansi-osc-compilation-filter () "Maybe collect OSC control sequences. -This function depends on the variable `osc-for-compilation-buffer', +This function depends on the variable `ansi-osc-for-compilation-buffer', and is meant to be used in `compilation-filter-hook'." (let ((inhibit-read-only t)) - (pcase osc-for-compilation-buffer + (pcase ansi-osc-for-compilation-buffer ('nil nil) ('filter - (osc-filter-region compilation-filter-start (point))) + (ansi-osc-filter-region compilation-filter-start (point))) (_ - (osc-apply-on-region compilation-filter-start (point)))))) + (ansi-osc-apply-on-region compilation-filter-start (point)))))) -(provide 'osc) -;;; osc.el ends here +(provide 'ansi-osc) +;;; ansi-osc.el ends here diff --git a/lisp/comint.el b/lisp/comint.el index a70a75c648..b1f3ad8259 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -103,7 +103,7 @@ (require 'ring) (require 'ansi-color) -(require 'osc) +(require 'ansi-osc) (require 'regexp-opt) ;For regexp-opt-charset. (eval-when-compile (require 'subr-x)) @@ -3918,11 +3918,11 @@ REGEXP-GROUP is the regular expression group in REGEXP to use." ;; sequences. ;; Aliases defined for reverse compatibility -(defvaralias 'comint-osc-handlers 'osc-handlers) -(defalias 'comint-osc-directory-tracker 'osc-directory-tracker) -(defalias 'comint-osc-hyperlink-handler 'osc-hyperlink-handler) -(defalias 'comint-osc-hyperlink 'osc-hyperlink) -(defvaralias 'comint-osc-hyperlink-map 'osc-hyperlink-map) +(defvaralias 'comint-osc-handlers 'ansi-osc-handlers) +(defalias 'comint-osc-directory-tracker 'ansi-osc-directory-tracker) +(defalias 'comint-osc-hyperlink-handler 'ansi-osc-hyperlink-handler) +(defalias 'comint-osc-hyperlink 'ansi-osc-hyperlink) +(defvaralias 'comint-osc-hyperlink-map 'ansi-osc-hyperlink-map) (defun comint-osc-process-output (_) "Interpret OSC escape sequences in comint output. @@ -3941,7 +3941,7 @@ arguments, with point where the escape sequence was located." (let ((start (1- comint-last-output-start)) ;; Start one char before last output to catch a possibly stray ESC (bound (process-mark (get-buffer-process (current-buffer))))) - (osc-apply-on-region start bound))) + (ansi-osc-apply-on-region start bound))) ;;; Input fontification and indentation through an indirect buffer diff --git a/test/lisp/osc-tests.el b/test/lisp/ansi-osc-tests.el similarity index 85% rename from test/lisp/osc-tests.el rename to test/lisp/ansi-osc-tests.el index d53bab08d3..b3d66fb036 100644 --- a/test/lisp/osc-tests.el +++ b/test/lisp/ansi-osc-tests.el @@ -26,10 +26,10 @@ ;;; Code: -(require 'osc) +(require 'ansi-osc) (require 'ert) -(defvar osc-tests--strings +(defvar ansi-osc-tests--strings `( ("Hello World" "Hello World") @@ -48,10 +48,10 @@ ;; Don't output those strings to stdout since they may have ;; side-effects on the environment -(ert-deftest osc-tests-apply-region-no-handlers () - (let ((osc-handlers nil)) - (pcase-dolist (`(,input ,text) osc-tests--strings) +(ert-deftest ansi-osc-tests-apply-region-no-handlers () + (let ((ansi-osc-handlers nil)) + (pcase-dolist (`(,input ,text) ansi-osc-tests--strings) (with-temp-buffer (insert input) - (osc-apply-on-region (point-min) (point-max)) + (ansi-osc-apply-on-region (point-min) (point-max)) (should (equal (buffer-string) text)))))) commit 454e1a06a2c5194a81148df91da6ee441adb601b Author: Protesilaos Stavrou Date: Sat Oct 1 10:57:59 2022 +0300 Update to Modus themes stable version 2.7.0 * doc/misc/modus-themes.org (Load theme depending on time of day): Add missing keyword from sample configuration. (Full support for packages or face groups): Update list of supported packages. (Note on goto-address-mode faces): Add documentation about possible user-level tweaks. (Are these color schemes?): Fix typo. (Acknowledgements): Update list of contributors to the project. * etc/themes/modus-themes.el (modus-themes--version): Update to current stable version. (modus-themes-vivendi-colors): Tweak value of a single color. (modus-themes-faces): Update list of supported faces. (modus-themes-custom-variables): Remove outdated "TODO" comment. * etc/themes/modus-operandi-theme.el: * etc/themes/modus-vivendi-theme.el: Update version header. Release notes: . diff --git a/doc/misc/modus-themes.org b/doc/misc/modus-themes.org index fdc1dfcaba..2680fe9eb5 100644 --- a/doc/misc/modus-themes.org +++ b/doc/misc/modus-themes.org @@ -4,9 +4,9 @@ #+language: en #+options: ':t toc:nil author:t email:t num:t #+startup: content -#+macro: stable-version 2.6.0 -#+macro: release-date 2022-08-19 -#+macro: development-version 2.7.0-dev +#+macro: stable-version 2.7.0 +#+macro: release-date 2022-10-01 +#+macro: development-version 2.8.0-dev #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@ #+macro: space @@texinfo:@: @@ #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@ @@ -3902,6 +3902,7 @@ package: (use-package circadian ; you need to install this :ensure :after solar + :config (setq circadian-themes '((:sunrise . modus-operandi) (:sunset . modus-vivendi))) (circadian-setup)) @@ -4514,6 +4515,7 @@ have lots of extensions, so the "full support" may not be 100% true… + calendar and diary + calfw + calibredb ++ centaur-tabs + cfrs + change-log and log-view (such as ~vc-print-log~, ~vc-print-root-log~) + chart @@ -4533,6 +4535,7 @@ have lots of extensions, so the "full support" may not be 100% true… + counsel-css + cov + cperl-mode ++ crontab-mode + css-mode + csv-mode + ctrlf @@ -4705,6 +4708,7 @@ have lots of extensions, so the "full support" may not be 100% true… + powerline + powerline-evil + prism ([[#h:a94272e0-99da-4149-9e80-11a7e67a2cf2][Note for prism.el]]) ++ prescient + proced + prodigy + pulse @@ -4738,6 +4742,7 @@ have lots of extensions, so the "full support" may not be 100% true… + smerge + spaceline + speedbar ++ spell-fu + stripes + suggest + switch-window @@ -5596,6 +5601,32 @@ those buttons. Disabling the logo fixes the problem: (setq notmuch-show-logo nil) #+end_src +** Note on goto-address-mode faces +:PROPERTIES: +:CUSTOM_ID: h:2d74236a-e41c-4616-8735-75f949a67334 +:END: + +The built-in ~goto-address-mode~ uses heuristics to identify URLs and +email addresses in the current buffer. It then applies a face to them +to change their style. Some packages, such as =notmuch=, use this +minor-mode automatically. + +The faces are not declared with ~defface~, meaning that it is better +that the theme does not modify them. The user is thus encouraged to +consider including (or equivalent) this in their setup: + +#+begin_src emacs-lisp +(setq goto-address-url-face 'link + goto-address-url-mouse-face 'highlight + goto-address-mail-face 'link + goto-address-mail-mouse-face 'highlight) +#+end_src + +My personal preference is to set ~goto-address-mail-face~ to nil, as +it otherwise adds too much visual noise to the buffer (email addresses +stand out more, due to the use of the uncommon =@= character but also +because they are often enclosed in angled brackets). + * Frequently Asked Questions :properties: :custom_id: h:b3384767-30d3-4484-ba7f-081729f03a47 @@ -5852,7 +5883,7 @@ interface virtually unusable. [[#h:5808be52-361a-4d18-88fd-90129d206f9b][Option for links]]. -Again, one must exercise judgment in order to avoid discrimination, +Again, one must exercise judgement in order to avoid discrimination, where "discrimination" refers to: + The treatment of substantially different magnitudes as if they were of @@ -6072,42 +6103,44 @@ The Modus themes are a collective effort. Every bit of work matters. + Author/maintainer :: Protesilaos Stavrou. + Contributions to code or documentation :: Alex Griffin, Anders - Johansson, Basil L.{{{space()}}} Contovounesios, Björn Lindström, - Carlo Zancanaro, Christian Tietze, Daniel Mendler, Eli Zaretskii, - Fritz Grabo, Illia Ostapyshyn, Kévin Le Gouguec, Kostadin Ninev, - Madhavan Krishnan, Manuel Giraud, Markus Beppler, Matthew Stevenson, - Mauro Aranda, Nicolas De Jaeghere, Paul David, Philip Kaludercic, - Pierre Téchoueyres, Rudolf Adamkovič, Stephen Gildea, Shreyas Ragavan, - Stefan Kangas, Utkarsh Singh, Vincent Murphy, Xinglu Chen, Yuanchen - Xie. + Johansson, Antonio Ruiz, Basil L.{{{space()}}} Contovounesios, Björn + Lindström, Carlo Zancanaro, Christian Tietze, Daniel Mendler, Eli + Zaretskii, Fritz Grabo, Illia Ostapyshyn, Kévin Le Gouguec, Koen van + Greevenbroek, Kostadin Ninev, Madhavan Krishnan, Manuel Giraud, + Markus Beppler, Matthew Stevenson, Mauro Aranda, Nicolas De + Jaeghere, Paul David, Philip Kaludercic, Pierre Téchoueyres, Rudolf + Adamkovič, Stephen Gildea, Shreyas Ragavan, Stefan Kangas, Utkarsh + Singh, Vincent Murphy, Xinglu Chen, Yuanchen Xie, okamsn. + Ideas and user feedback :: Aaron Jensen, Adam Porter, Adam Spiers, - Adrian Manea, Alex Griffin, Alex Koen, Alex Peitsinis, Alexey Shmalko, - Alok Singh, Anders Johansson, André Alexandre Gomes, Andrew Tropin, - Antonio Hernández Blas, Arif Rezai, Augusto Stoffel, Basil + Adrian Manea, Alex Griffin, Alex Koen, Alex Peitsinis, Alexey + Shmalko, Alok Singh, Anders Johansson, André Alexandre Gomes, Andrew + Tropin, Antonio Hernández Blas, Arif Rezai, Augusto Stoffel, Basil L.{{{space()}}} Contovounesios, Burgess Chang, Christian Tietze, - Christopher Dimech, Christopher League, Damien Cassou, Daniel Mendler, - Dario Gjorgjevski, David Edmondson, Davor Rotim, Divan Santana, Eliraz - Kedmi, Emanuele Michele Alberto Monterosso, Farasha Euker, Feng Shu, - Gautier Ponsinet, Gerry Agbobada, Gianluca Recchia, Gonçalo Marrafa, - Guilherme Semente, Gustavo Barros, Hörmetjan Yiltiz, Ilja Kocken, Iris - Garcia, Ivan Popovych, Jeremy Friesen, Jerry Zhang, Johannes Grødem, - John Haman, Jonas Collberg, Jorge Morais, Joshua O'Connor, Julio - C. Villasante, Kenta Usami, Kevin Fleming, Kévin Le Gouguec, Kostadin - Ninev, Len Trigg, Lennart C. Karssen, Magne Hov, Manuel Uberti, Mark - Bestley, Mark Burton, Markus Beppler, Matt Armstrong, Mauro Aranda, - Maxime Tréca, Michael Goldenberg, Morgan Smith, Morgan Willcock, - Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere, Paul Poloskov, - Pengji Zhang, Pete Kazmier, Peter Wu, Philip Kaludercic, Pierre - Téchoueyres, Przemysław Kryger, Robert Hepple, Roman Rudakov, Ryan - Phillips, Rytis Paškauskas, Rudolf Adamkovič, Sam Kleinman, Samuel - Culpepper, Saša Janiška, Shreyas Ragavan, Simon Pugnet, Tassilo Horn, - Thibaut Verron, Thomas Heartman, Togan Muftuoglu, Tony Zorman, Trey - Merkley, Tomasz Hołubowicz, Toon Claes, Uri Sharf, Utkarsh Singh, - Vincent Foley. As well as users: Ben, CsBigDataHub1, Emacs Contrib, - Eugene, Fourchaux, Fredrik, Moesasji, Nick, Summer Emacs, TheBlob42, - Trey, bepolymathe, bit9tream, derek-upham, doolio, fleimgruber, - gitrj95, iSeeU, jixiuf, okamsn, pRot0ta1p. + Christopher Dimech, Christopher League, Damien Cassou, Daniel + Mendler, Dario Gjorgjevski, David Edmondson, Davor Rotim, Divan + Santana, Eliraz Kedmi, Emanuele Michele Alberto Monterosso, Farasha + Euker, Feng Shu, Gautier Ponsinet, Gerry Agbobada, Gianluca Recchia, + Gonçalo Marrafa, Guilherme Semente, Gustavo Barros, Hörmetjan + Yiltiz, Ilja Kocken, Iris Garcia, Ivan Popovych, Jeremy Friesen, + Jerry Zhang, Johannes Grødem, John Haman, Jonas Collberg, Jorge + Morais, Joshua O'Connor, Julio C. Villasante, Kenta Usami, Kevin + Fleming, Kévin Le Gouguec, Kostadin Ninev, Len Trigg, Lennart + C. Karssen, Luis Miguel Castañeda, Magne Hov, Manuel Uberti, Mark + Bestley, Mark Burton, Mark Simpson, Markus Beppler, Matt Armstrong, + Mauro Aranda, Maxime Tréca, Michael Goldenberg, Morgan Smith, Morgan + Willcock, Murilo Pereira, Nicky van Foreest, Nicolas De Jaeghere, + Paul Poloskov, Pengji Zhang, Pete Kazmier, Peter Wu, Philip + Kaludercic, Pierre Téchoueyres, Przemysław Kryger, Robert Hepple, + Roman Rudakov, Ryan Phillips, Rytis Paškauskas, Rudolf Adamkovič, + Sam Kleinman, Samuel Culpepper, Saša Janiška, Shreyas Ragavan, Simon + Pugnet, Tassilo Horn, Thibaut Verron, Thomas Heartman, Togan + Muftuoglu, Tony Zorman, Trey Merkley, Tomasz Hołubowicz, Toon Claes, + Uri Sharf, Utkarsh Singh, Vincent Foley. As well as users: Ben, + CsBigDataHub1, Emacs Contrib, Eugene, Fourchaux, Fredrik, Moesasji, + Nick, Summer Emacs, TheBlob42, Trey, bepolymathe, bit9tream, + derek-upham, doolio, fleimgruber, gitrj95, iSeeU, jixiuf, okamsn, + pRot0ta1p. + Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii, Glenn Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core diff --git a/etc/themes/modus-operandi-theme.el b/etc/themes/modus-operandi-theme.el index fd7ffff98f..6e609c0803 100644 --- a/etc/themes/modus-operandi-theme.el +++ b/etc/themes/modus-operandi-theme.el @@ -6,7 +6,7 @@ ;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes -;; Version: 2.6.0 +;; Version: 2.7.1 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility diff --git a/etc/themes/modus-themes.el b/etc/themes/modus-themes.el index a6bbdfe0bb..d5e1b0a120 100644 --- a/etc/themes/modus-themes.el +++ b/etc/themes/modus-themes.el @@ -6,7 +6,7 @@ ;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes -;; Version: 2.6.0 +;; Version: 2.7.1 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility @@ -109,7 +109,7 @@ cover the blue-cyan-magenta side of the spectrum." :prefix "modus-themes-" :tag "Modus Themes Faces") -(defvar modus-themes--version "2.6.0" +(defvar modus-themes--version "2.7.0" "Current version of the Modus themes. The version either is the last tagged release, such as '1.0.0', @@ -634,7 +634,7 @@ symbol and the latter as a string.") (bg-diff-focus-added . "#1d3c25") (fg-diff-focus-added . "#b4ddb4") (bg-diff-focus-added-deuteran . "#003959") (fg-diff-focus-added-deuteran . "#bfe4ff") (bg-diff-focus-changed . "#424200") (fg-diff-focus-changed . "#d0daaf") - (bg-diff-focus-removed . "#500f29") (fg-diff-focus-removed . "#eebdba") + (bg-diff-focus-removed . "#601f29") (fg-diff-focus-removed . "#eebdba") (bg-mark-sel . "#002f2f") (fg-mark-sel . "#60cfa2") (bg-mark-del . "#5a0000") (fg-mark-del . "#ff99aa") @@ -4387,6 +4387,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(help-key-binding ((,class :inherit modus-themes-key-binding))) `(homoglyph ((,class :foreground ,red-alt-faint))) `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other-faint))) + `(icon-button ((,class :inherit modus-themes-box-button))) `(italic ((,class :slant italic))) `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct))) `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline t))) @@ -4396,6 +4397,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild))) `(next-error ((,class :inherit modus-themes-subtle-red :extend t))) `(pgtk-im-0 ((,class :inherit modus-themes-refine-cyan))) + `(read-multiple-choice-face ((,class :inherit (bold modus-themes-mark-alt)))) `(rectangle-preview ((,class :inherit modus-themes-special-warm))) `(region ((,class ,@(modus-themes--region bg-region fg-main bg-hl-alt-intense bg-region-accent @@ -4532,9 +4534,9 @@ by virtue of calling either of `modus-themes-load-operandi' and `(font-latex-string-face ((,class :inherit font-lock-string-face))) `(font-latex-subscript-face ((,class :height 0.95))) `(font-latex-superscript-face ((,class :height 0.95))) + `(font-latex-underline-face ((,class :inherit underline))) `(font-latex-verbatim-face ((,class :inherit modus-themes-markup-verbatim))) `(font-latex-warning-face ((,class :inherit font-lock-warning-face))) - `(tex-match ((,class :foreground ,blue-alt-other))) `(tex-verbatim ((,class :inherit modus-themes-markup-verbatim))) `(texinfo-heading ((,class :foreground ,magenta))) `(TeX-error-description-error ((,class :inherit error))) @@ -4657,6 +4659,18 @@ by virtue of calling either of `modus-themes-load-operandi' and `(calibredb-mark-face ((,class :inherit modus-themes-mark-sel))) `(calibredb-size-face (( ))) `(calibredb-tag-face ((,class :foreground ,magenta-alt-faint))) +;;;;; centaur-tabs + `(centaur-tabs-active-bar-face ((,class :background ,blue-active))) + `(centaur-tabs-close-mouse-face ((,class :inherit bold :foreground ,red-active :underline t))) + `(centaur-tabs-close-selected ((,class :inherit centaur-tabs-selected))) + `(centaur-tabs-close-unselected ((,class :inherit centaur-tabs-unselected))) + `(centaur-tabs-modified-marker-selected ((,class :inherit centaur-tabs-selected))) + `(centaur-tabs-modified-marker-unselected ((,class :inherit centaur-tabs-unselected))) + `(centaur-tabs-default ((,class :background ,bg-main))) + `(centaur-tabs-selected ((,class :inherit modus-themes-tab-active))) + `(centaur-tabs-selected-modified ((,class :inherit (italic centaur-tabs-selected)))) + `(centaur-tabs-unselected ((,class :inherit modus-themes-tab-inactive))) + `(centaur-tabs-unselected-modified ((,class :inherit (italic centaur-tabs-unselected)))) ;;;;; cfrs `(cfrs-border-color ((,class :background ,fg-window-divider-inner))) ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log') @@ -4669,6 +4683,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(change-log-list ((,class :foreground ,magenta-alt))) `(change-log-name ((,class :foreground ,magenta-alt-other))) `(log-edit-header ((,class :foreground ,fg-special-warm))) + `(log-edit-headers-separator ((,class :height 1 :background ,fg-window-divider-inner :extend t))) `(log-edit-summary ((,class :inherit bold :foreground ,blue))) `(log-edit-unknown-header ((,class :inherit shadow))) `(log-view-commit-body ((,class :foreground ,blue-nuanced-fg))) @@ -4743,6 +4758,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(company-preview-common ((,class :inherit company-echo-common))) `(company-preview-search ((,class :inherit modus-themes-special-calm))) `(company-template-field ((,class :inherit modus-themes-intense-magenta))) + `(company-scrollbar-bg ((,class :background ,bg-active))) + `(company-scrollbar-fg ((,class :background ,fg-active))) `(company-tooltip ((,class :background ,bg-alt))) `(company-tooltip-annotation ((,class :inherit completions-annotations))) `(company-tooltip-common ((,class :inherit company-echo-common))) @@ -4824,6 +4841,13 @@ by virtue of calling either of `modus-themes-load-operandi' and `(cperl-nonoverridable-face ((,class :foreground unspecified))) `(cperl-array-face ((,class :inherit font-lock-keyword-face))) `(cperl-hash-face ((,class :inherit font-lock-variable-name-face))) +;;;;; crontab-mode + `(crontab-minute ((,class :foreground ,blue-alt))) + `(crontab-hour ((,class :foreground ,magenta-alt-other))) + `(crontab-month-day ((,class :foreground ,magenta-alt))) + `(crontab-month ((,class :foreground ,blue))) + `(crontab-week-day ((,class :foreground ,cyan))) + `(crontab-predefined ((,class :foreground ,blue-alt))) ;;;;; css-mode `(css-property ((,class :inherit font-lock-type-face))) `(css-selector ((,class :inherit font-lock-keyword-face))) @@ -5041,7 +5065,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(diredp-tagged-autofile-name ((,class :inherit modus-themes-refine-magenta))) `(diredp-write-priv ((,class :foreground ,cyan))) ;;;;; display-fill-column-indicator-mode - `(fill-column-indicator ((,class :height 1 :background ,bg-inactive :foreground ,bg-inactive))) + `(fill-column-indicator ((,class :height 1 :background ,bg-region :foreground ,bg-region))) ;;;;; doom-modeline `(doom-modeline-bar ((,class :inherit modus-themes-active-blue))) `(doom-modeline-bar-inactive ((,class :background ,fg-inactive :foreground ,bg-main))) @@ -5608,7 +5632,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(gnus-summary-low-read ((,class :inherit italic :foreground ,fg-alt))) `(gnus-summary-low-ticked ((,class :inherit italic :foreground ,red-refine-fg))) `(gnus-summary-low-undownloaded ((,class :inherit italic :foreground ,yellow-refine-fg))) - `(gnus-summary-low-unread ((,class :inherit bold :foreground ,fg-special-cold))) + `(gnus-summary-low-unread ((,class :inherit italic :foreground ,fg-special-cold))) `(gnus-summary-normal-ancient ((,class :foreground ,fg-special-calm))) `(gnus-summary-normal-read ((,class :inherit shadow))) `(gnus-summary-normal-ticked ((,class :foreground ,red-alt-other))) @@ -6723,6 +6747,9 @@ by virtue of calling either of `modus-themes-load-operandi' and `(powerline-evil-operator-face ((,class :inherit modus-themes-active-yellow))) `(powerline-evil-replace-face ((,class :inherit modus-themes-active-red))) `(powerline-evil-visual-face ((,class :inherit modus-themes-active-cyan))) +;;;;; prescient + `(prescient-primary-highlight ((,class :inherit modus-themes-completion-match-0))) + `(prescient-secondary-highlight ((,class :inherit modus-themes-completion-match-1))) ;;;;; proced `(proced-mark ((,class :inherit modus-themes-mark-symbol))) `(proced-marked ((,class :inherit modus-themes-mark-alt))) @@ -6841,9 +6868,6 @@ by virtue of calling either of `modus-themes-load-operandi' and `(selectrum-mouse-highlight ((,class :inherit highlight))) `(selectrum-quick-keys-highlight ((,class :inherit bold :background ,bg-char-0))) `(selectrum-quick-keys-match ((,class :inherit bold :background ,bg-char-1))) -;;;;; selectrum-prescient - `(selectrum-prescient-primary-highlight ((,class :inherit modus-themes-completion-match-0))) - `(selectrum-prescient-secondary-highlight ((,class :inherit modus-themes-completion-match-1))) ;;;;; semantic `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm :underline t))) `(semantic-decoration-on-fileless-includes ((,class :inherit modus-themes-refine-green))) @@ -6988,6 +7012,8 @@ by virtue of calling either of `modus-themes-load-operandi' and `(speedbar-selected-face ((,class :inherit bold :foreground ,cyan))) `(speedbar-separator-face ((,class :inherit modus-themes-intense-neutral))) `(speedbar-tag-face ((,class :foreground ,yellow-alt-other))) +;;;;; spell-fu + `(spell-fu-incorrect-face ((,class :inherit modus-themes-lang-error))) ;;;;; stripes `(stripes ((,class :background ,bg-alt))) ;;;;; suggest @@ -7526,7 +7552,7 @@ by virtue of calling either of `modus-themes-load-operandi' and `(xterm-color-names-bright ["gray35" ,red-alt ,green-alt ,yellow-alt ,blue-alt ,magenta-alt ,cyan-alt "white"]) (if (or (eq modus-themes-org-blocks 'tinted-background) (eq modus-themes-org-blocks 'rainbow)) - `(org-src-block-faces ; TODO this list should be expanded + `(org-src-block-faces `(("emacs-lisp" modus-themes-nuanced-magenta) ("elisp" modus-themes-nuanced-magenta) ("clojure" modus-themes-nuanced-magenta) diff --git a/etc/themes/modus-vivendi-theme.el b/etc/themes/modus-vivendi-theme.el index ba75a2527d..0983e26c78 100644 --- a/etc/themes/modus-vivendi-theme.el +++ b/etc/themes/modus-vivendi-theme.el @@ -6,7 +6,7 @@ ;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht> ;; URL: https://git.sr.ht/~protesilaos/modus-themes ;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes -;; Version: 2.6.0 +;; Version: 2.7.1 ;; Package-Requires: ((emacs "27.1")) ;; Keywords: faces, theme, accessibility commit be3eac3929c96d9ba340ef362cc1146b0b487f1f Author: Michael Albinus Date: Fri Sep 30 21:54:05 2022 +0200 ; * etc/NEWS: Fix typos. diff --git a/etc/NEWS b/etc/NEWS index 6e5ddfa066..1edf4e85b0 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -30,12 +30,11 @@ with a prefix argument or by typing 'C-u C-h C-n'. * Changes in Specialized Modes and Packages in Emacs 28.3 -** 'native-comp-driver-options' on macOS - +** 'native-comp-driver-options' on macOS. The value of 'native-comp-driver-options' has been changed to contain "-Wl,-w" to suppress warnings of the form - ld: warning: -undefined dynamic_lookup may not work with chained fixups + ld: warning: -undefined dynamic_lookup may not work with chained fixups emitted during native compilation on macOS 12.6 with Xcode 14. commit 99a8c532470d9b1b6fc40211151b1ce196530d8e Author: Michael Albinus Date: Fri Sep 30 21:53:52 2022 +0200 Fix connection property incompatibility in Tramp * lisp/net/tramp.el (tramp-get-remote-tmpdir): Remove obsolete connection property "tmpdir". (Bug#57800) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index f7243625c7..91dfb5c3c8 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -5459,6 +5459,11 @@ This handles also chrooted environments, which are not regarded as local." (defun tramp-get-remote-tmpdir (vec) "Return directory for temporary files on the remote host identified by VEC." (with-tramp-connection-property (tramp-get-process vec) "remote-tmpdir" + ;; Prior Tramp 2.5.3.2, the connection property "tmpdir" did exist + ;; with a remote file name. This must be discarded. (Bug#57800) + (when-let ((tmpdir (tramp-get-connection-property vec "tmpdir" nil))) + (when (tramp-tramp-file-p tmpdir) + (tramp-flush-connection-property vec "tmpdir"))) (let ((dir (tramp-make-tramp-file-name vec (or (tramp-get-method-parameter vec 'tramp-tmpdir) "/tmp"))))