From 69f20365543f30263b9c6856071d5a8610490a24 Mon Sep 17 00:00:00 2001 From: Andrew G Cohen Date: Mon, 14 Mar 2022 07:47:39 +0800 Subject: Track article while moving between gnus groups * lisp/gnus/gnus-sum.el (gnus-current-move-article): New variable to track article while moving. (gnus-summary-move-article): Set gnus-current-move-article when moving/copying/crossposting or respooling. --- lisp/gnus/gnus-sum.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index 0e81f95cd15..f13db8d9167 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -1408,6 +1408,7 @@ the normal Gnus MIME machinery." (defvar gnus-newsgroup-adaptive-score-file nil) (defvar gnus-current-score-file nil) (defvar gnus-current-move-group nil) +(defvar gnus-current-move-article nil) (defvar gnus-current-copy-group nil) (defvar gnus-current-crosspost-group nil) (defvar gnus-newsgroup-display nil) @@ -10248,6 +10249,7 @@ ACTION can be either `move' (the default), `crosspost' or `copy'." article gnus-newsgroup-name (current-buffer) t))) ;; run the move/copy/crosspost/respool hook + (set (intern "gnus-current-move-article") (cdr art-group)) (run-hook-with-args 'gnus-summary-article-move-hook action (gnus-data-header (gnus-data-find article)) -- cgit v1.2.1 From 9acfb7662c5c25fe9bfa7156da9916f58dfde9a5 Mon Sep 17 00:00:00 2001 From: Andrew G Cohen Date: Mon, 14 Mar 2022 07:59:25 +0800 Subject: Use completion when mark limiting in gnus summary buffers * lisp/gnus/gnus-sum.el (gnus-summary-limit-to-marks) (gnus-summary-limit-exclude-marks): Use completing-read to complete on marks in the current summary buffer. --- lisp/gnus/gnus-sum.el | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/lisp/gnus/gnus-sum.el b/lisp/gnus/gnus-sum.el index f13db8d9167..9a632922deb 100644 --- a/lisp/gnus/gnus-sum.el +++ b/lisp/gnus/gnus-sum.el @@ -8501,7 +8501,15 @@ If UNREPLIED (the prefix), limit to unreplied articles." If REVERSE, limit the summary buffer to articles that are marked with MARKS. MARKS can either be a string of marks or a list of marks. Returns how many articles were removed." - (interactive "sMarks: " gnus-summary-mode) + (interactive + (list + (completing-read "Marks:" + (let ((mark-list '())) + (mapc (lambda (datum) + (cl-pushnew (gnus-data-mark datum) mark-list)) + gnus-newsgroup-data) + (mapcar 'char-to-string mark-list))) + current-prefix-arg) gnus-summary-mode) (gnus-summary-limit-to-marks marks t)) (defun gnus-summary-limit-to-marks (marks &optional reverse) @@ -8510,7 +8518,15 @@ If REVERSE (the prefix), limit the summary buffer to articles that are not marked with MARKS. MARKS can either be a string of marks or a list of marks. Returns how many articles were removed." - (interactive "sMarks: \nP" gnus-summary-mode) + (interactive + (list + (completing-read "Marks:" + (let ((mark-list '())) + (mapc (lambda (datum) + (cl-pushnew (gnus-data-mark datum) mark-list)) + gnus-newsgroup-data) + (mapcar 'char-to-string mark-list))) + current-prefix-arg) gnus-summary-mode) (prog1 (let ((data gnus-newsgroup-data) (marks (if (listp marks) marks -- cgit v1.2.1 From 2c9ea31999d2f69f8bca4fe352dd0f74c6766c54 Mon Sep 17 00:00:00 2001 From: Andrew G Cohen Date: Thu, 9 Mar 2023 16:05:31 +0800 Subject: Reset 'gnus-current-window-configuration' on edit-form exit. * lisp/gnus/gnus.el: New variable gnus-prev-cwc. * lisp/gnus/gnus-art.el (gnus-article-edit-mode): New local variable gnus-prev-cwc. (gnus-article-edit-article): Store original gnus-current-window-configuration as gnus-prev-cwc. (gnus-article-edit-done, gnus-article-edit-exit): Restore gnus-current-window-configuration from gnus-prev-cwc. * lisp/gnus/gnus-eform.el (gnus-edit-form-mode): New local variable gnus-prev-cwc. (gnus-edit-form): Store original gnus-current-window-configuration as gnus-prev-cwc. (gnus-edit-form-done, gnus-edit-form-exit): Restore gnus-current-window-configuration from gnus-prev-cwc. --- lisp/gnus/gnus-art.el | 13 ++++++++++--- lisp/gnus/gnus-eform.el | 13 +++++++++---- lisp/gnus/gnus.el | 1 + 3 files changed, 20 insertions(+), 7 deletions(-) diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index ce7a4488a7f..6a7a3f41746 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el @@ -7390,6 +7390,7 @@ This is an extended text-mode. \\{gnus-article-edit-mode-map}" (make-local-variable 'gnus-article-edit-done-function) (make-local-variable 'gnus-prev-winconf) + (make-local-variable 'gnus-prev-cwc) (setq-local font-lock-defaults '(message-font-lock-keywords t)) (setq-local mail-header-separator "") (setq-local gnus-article-edit-mode t) @@ -7420,7 +7421,8 @@ groups." (defun gnus-article-edit-article (start-func exit-func &optional quiet) "Start editing the contents of the current article buffer." - (let ((winconf (current-window-configuration))) + (let ((winconf (current-window-configuration)) + (cwc gnus-current-window-configuration)) (set-buffer gnus-article-buffer) (let ((message-auto-save-directory ;; Don't associate the article buffer with a draft file. @@ -7431,6 +7433,7 @@ groups." (gnus-configure-windows 'edit-article) (setq gnus-article-edit-done-function exit-func) (setq gnus-prev-winconf winconf) + (setq gnus-prev-cwc cwc) (unless quiet (gnus-message 6 "C-c C-c to end edits")))) @@ -7440,7 +7443,8 @@ groups." (let ((func gnus-article-edit-done-function) (buf (current-buffer)) (start (window-start)) - (winconf gnus-prev-winconf)) + (winconf gnus-prev-winconf) + (cwc gnus-prev-cwc)) (widen) ;; Widen it in case that users narrowed the buffer. (funcall func arg) (set-buffer buf) @@ -7458,6 +7462,7 @@ groups." (set-text-properties (point-min) (point-max) nil) (gnus-article-mode) (set-window-configuration winconf) + (setq gnus-current-window-configuration cwc) (set-buffer buf) (set-window-start (get-buffer-window buf) start) (set-window-point (get-buffer-window buf) (point))) @@ -7479,10 +7484,12 @@ groups." (erase-buffer) (if (gnus-buffer-live-p gnus-original-article-buffer) (insert-buffer-substring gnus-original-article-buffer)) - (let ((winconf gnus-prev-winconf)) + (let ((winconf gnus-prev-winconf) + (cwc gnus-prev-cwc)) (kill-all-local-variables) (gnus-article-mode) (set-window-configuration winconf) + (setq gnus-current-window-configuration cwc) ;; Tippy-toe some to make sure that point remains where it was. (with-current-buffer curbuf (set-window-start (get-buffer-window (current-buffer)) window-start) diff --git a/lisp/gnus/gnus-eform.el b/lisp/gnus/gnus-eform.el index 958d819048f..cc5beb16a34 100644 --- a/lisp/gnus/gnus-eform.el +++ b/lisp/gnus/gnus-eform.el @@ -70,17 +70,20 @@ It is a slightly enhanced `lisp-data-mode'. (when (gnus-visual-p 'group-menu 'menu) (gnus-edit-form-make-menu-bar)) (make-local-variable 'gnus-edit-form-done-function) - (make-local-variable 'gnus-prev-winconf)) + (make-local-variable 'gnus-prev-winconf) + (make-local-variable 'gnus-prev-cwc)) (defun gnus-edit-form (form documentation exit-func &optional layout) "Edit FORM in a new buffer. Call EXIT-FUNC on exit. Display DOCUMENTATION in the beginning of the buffer. The optional LAYOUT overrides the `edit-form' window layout." - (let ((winconf (current-window-configuration))) + (let ((winconf (current-window-configuration)) + (cwc gnus-current-window-configuration)) (set-buffer (gnus-get-buffer-create gnus-edit-form-buffer)) (gnus-configure-windows (or layout 'edit-form)) (gnus-edit-form-mode) + (setq gnus-prev-cwc cwc) (setq gnus-prev-winconf winconf) (setq gnus-edit-form-done-function exit-func) (erase-buffer) @@ -113,9 +116,11 @@ The optional LAYOUT overrides the `edit-form' window layout." (defun gnus-edit-form-exit () "Kill the current buffer." (interactive nil gnus-edit-form-mode) - (let ((winconf gnus-prev-winconf)) + (let ((winconf gnus-prev-winconf) + (cwc gnus-prev-cwc)) (kill-buffer (current-buffer)) - (set-window-configuration winconf))) + (set-window-configuration winconf) + (setq gnus-current-window-configuration cwc))) (provide 'gnus-eform) diff --git a/lisp/gnus/gnus.el b/lisp/gnus/gnus.el index efab58437e9..fc8518512ee 100644 --- a/lisp/gnus/gnus.el +++ b/lisp/gnus/gnus.el @@ -2445,6 +2445,7 @@ are always t.") ;; Save window configuration. (defvar gnus-prev-winconf nil) +(defvar gnus-prev-cwc nil) (defvar gnus-reffed-article-number nil) -- cgit v1.2.1 From 4c0e40b75ba7c0ec1ee18eb577418f2ea5199a60 Mon Sep 17 00:00:00 2001 From: Andrew G Cohen Date: Thu, 16 Mar 2023 18:43:35 +0800 Subject: Allow null date in gnus-icalendar-event--decode-datefield * lisp/gnus/gnus-icalendar.el: (gnus-icalendar-event--decode-datefield): Don't throw an error if the event date is missing. --- lisp/gnus/gnus-icalendar.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lisp/gnus/gnus-icalendar.el b/lisp/gnus/gnus-icalendar.el index 0d776cd1bca..adbc39547ff 100644 --- a/lisp/gnus/gnus-icalendar.el +++ b/lisp/gnus/gnus-icalendar.el @@ -165,7 +165,7 @@ (icalendar--get-event-property-attributes event field) zone-map)) (dtdate-dec (icalendar--decode-isodatetime dtdate nil dtdate-zone))) - (encode-time dtdate-dec))) + (when dtdate-dec (encode-time dtdate-dec)))) (defun gnus-icalendar-event--find-attendee (ical name-or-email) (let* ((event (car (icalendar--all-events ical))) -- cgit v1.2.1 From 90be1f3adbba9e01baf61bb45bf4482131bbab32 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Sat, 1 Apr 2023 05:10:48 +0200 Subject: ; Auto-commit of loaddefs files. --- lisp/ldefs-boot.el | 90 ++++++++++++++++++------------------------------------ 1 file changed, 30 insertions(+), 60 deletions(-) diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index fe46b220da5..acf8a1d2556 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -3779,14 +3779,18 @@ and exists only for compatibility reasons. ;;; Generated autoloads from progmodes/cc-vars.el +(autoload 'c-string-list-p "cc-vars" "\ +Return non-nil if VAL is a list of strings. + +(fn VAL)") (put 'c-basic-offset 'safe-local-variable 'integerp) (put 'c-backslash-column 'safe-local-variable 'integerp) - (put 'c-font-lock-extra-types 'safe-local-variable #'c-list-of-strings) - (put 'c++-font-lock-extra-types 'safe-local-variable #'c-list-of-strings) - (put 'objc-font-lock-extra-types 'safe-local-variable #'c-list-of-strings) - (put 'java-font-lock-extra-types 'safe-local-variable #'c-list-of-strings) - (put 'idl-font-lock-extra-types 'safe-local-variable #'c-list-of-strings) - (put 'pike-font-lock-extra-types 'safe-local-variable #'c-list-of-strings) + (put 'c-font-lock-extra-types 'safe-local-variable #'c-string-list-p) + (put 'c++-font-lock-extra-types 'safe-local-variable #'c-string-list-p) + (put 'objc-font-lock-extra-types 'safe-local-variable #'c-string-list-p) + (put 'java-font-lock-extra-types 'safe-local-variable #'c-string-list-p) + (put 'idl-font-lock-extra-types 'safe-local-variable #'c-string-list-p) + (put 'pike-font-lock-extra-types 'safe-local-variable #'c-string-list-p) (put 'c-file-style 'safe-local-variable 'string-or-null-p) (register-definition-prefixes "cc-vars" '("awk-mode-hook" "c++-" "c-" "defcustom-c-stylevar" "idl-" "java-" "objc-" "pike-")) @@ -8234,15 +8238,23 @@ Make a global mode GLOBAL-MODE corresponding to buffer-local minor MODE. TURN-ON is a function that will be called with no args in every buffer and that should try to turn MODE on if applicable for that buffer. -Each of KEY VALUE is a pair of CL-style keyword arguments. :predicate -specifies which major modes the globalized minor mode should be switched on -in. As the minor mode defined by this function is always global, any -:global keyword is ignored. Other keywords have the same meaning as in -`define-minor-mode', which see. In particular, :group specifies the custom -group. The most useful keywords are those that are passed on to the -`defcustom'. It normally makes no sense to pass the :lighter or :keymap -keywords to `define-globalized-minor-mode', since these are usually passed -to the buffer-local version of the minor mode. +Each of KEY VALUE is a pair of CL-style keyword arguments. +The :predicate argument specifies in which major modes should the +globalized minor mode be switched on. The value should be t (meaning +switch on the minor mode in all major modes), nil (meaning don't +switch on in any major mode), a list of modes (meaning switch on only +in those modes and their descendants), or a list (not MODES...), +meaning switch on in any major mode except MODES. The value can also +mix all of these forms, see the info node `Defining Minor Modes' for +details. +As the minor mode defined by this function is always global, any +:global keyword is ignored. +Other keywords have the same meaning as in `define-minor-mode', +which see. In particular, :group specifies the custom group. +The most useful keywords are those that are passed on to the `defcustom'. +It normally makes no sense to pass the :lighter or :keymap keywords +to `define-globalized-minor-mode', since these are usually passed to +the buffer-local version of the minor mode. BODY contains code to execute each time the mode is enabled or disabled. It is executed after toggling the mode, and before running @@ -9218,7 +9230,7 @@ Turn on EDT Emulation." t) ;;; Generated autoloads from progmodes/eglot.el -(push (purecopy '(eglot 1 12)) package--builtin-versions) +(push (purecopy '(eglot 1 13)) package--builtin-versions) (autoload 'eglot "eglot" "\ Start LSP server in support of PROJECT's buffers under MANAGED-MAJOR-MODE. @@ -22454,7 +22466,7 @@ Coloring: ;;; Generated autoloads from org/org.el -(push (purecopy '(org 9 6 1)) package--builtin-versions) +(push (purecopy '(org 9 6 2)) package--builtin-versions) (autoload 'org-babel-do-load-languages "org" "\ Load the languages defined in `org-babel-load-languages'. @@ -23553,48 +23565,6 @@ DESC must be a `package-desc' object. (autoload 'package-vc-install-selected-packages "package-vc" "\ Ensure packages specified in `package-vc-selected-packages' are installed." t) -(defvar package-vc-selected-packages 'nil "\ -List of packages that must be installed. -Each member of the list is of the form (NAME . SPEC), where NAME -is a symbol designating the package and SPEC is one of: - -- nil, if any package version can be installed; -- a version string, if that specific revision is to be installed; -- a property list, describing a package specification. Valid - key/value pairs are - - `:url' (string) - The URL of the repository used to fetch the package source. - - `:branch' (string) - If given, the name of the branch to checkout after cloning the directory. - - `:lisp-dir' (string) - The repository-relative name of the directory to use for loading the Lisp - sources. If not given, the value defaults to the root directory - of the repository. - - `:main-file' (string) - The main file of the project, relevant to gather package metadata. - If not given, the assumed default is the package name with \".el\" - appended to it. - - `:vc-backend' (symbol) - A symbol of the VC backend to use for cloning the package. The - value ought to be a member of `vc-handled-backends'. If omitted, - `vc-clone' will fall back onto the archive default or on - `package-vc-default-backend'. - - All other keys are ignored. - -This user option differs from `package-selected-packages' in that -it is meant to be specified manually. If you want to install all -the packages in the list, you cal also use -`package-vc-install-selected-packages'. - -Note that this option will not override an existing source -package installation or revert the checked out revision.") -(custom-autoload 'package-vc-selected-packages "package-vc" nil) (autoload 'package-vc-update-all "package-vc" "\ Attempt to update all installed VC packages." t) (autoload 'package-vc-update "package-vc" "\ @@ -36975,7 +36945,7 @@ If LIMIT is non-nil, then do not consider characters beyond LIMIT. Go back to the previous position in xref history. To undo, use \\[xref-go-forward]." t) (autoload 'xref-go-forward "xref" "\ -Got to the point where a previous \\[xref-go-back] was invoked." t) +Go to the point where a previous \\[xref-go-back] was invoked." t) (autoload 'xref-marker-stack-empty-p "xref" "\ Whether the xref back-history is empty.") (autoload 'xref-forward-history-empty-p "xref" "\ -- cgit v1.2.1 From 204b652493d88cfcef70095fb9adf930554b283f Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Sat, 1 Apr 2023 06:00:47 +0200 Subject: Update publicsuffix.txt from upstream * etc/publicsuffix.txt: Update from https://publicsuffix.org/list/public_suffix_list.dat dated 2023-03-18 16:17:52 UTC. --- etc/publicsuffix.txt | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/etc/publicsuffix.txt b/etc/publicsuffix.txt index 3b920e67ed0..9d0dfc04ea9 100644 --- a/etc/publicsuffix.txt +++ b/etc/publicsuffix.txt @@ -7189,7 +7189,7 @@ org.zw // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2023-02-22T15:15:03Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2023-03-18T15:13:13Z // This list is auto-generated, don't edit it manually. // aaa : 2015-02-26 American Automobile Association, Inc. aaa @@ -8898,9 +8898,6 @@ limo // lincoln : 2014-11-13 Ford Motor Company lincoln -// linde : 2014-12-04 Linde Aktiengesellschaft -linde - // link : 2013-11-14 Nova Registry Ltd link @@ -8967,9 +8964,6 @@ luxe // luxury : 2013-10-17 Luxury Partners, LLC luxury -// macys : 2015-07-31 Macys, Inc. -macys - // madrid : 2014-05-01 Comunidad de Madrid madrid -- cgit v1.2.1 From 5276c0890586b10bdbb749803bc1985bf03d1015 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sat, 1 Apr 2023 14:23:32 +0800 Subject: ; * src/fns.c (Fstring_lessp): Port to RISCs. --- src/fns.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/fns.c b/src/fns.c index 94505eda444..90bb3fac178 100644 --- a/src/fns.c +++ b/src/fns.c @@ -506,7 +506,7 @@ Symbols are also allowed; their print names are used instead. */) /* String data is normally allocated with word alignment, but there are exceptions (notably pure strings) so we restrict the wordwise skipping to safe architectures. */ - if (HAVE_FAST_UNALIGNED_ACCESS) +#ifdef HAVE_FAST_UNALIGNED_ACCESS { /* First compare entire machine words. */ int ws = sizeof (size_t); @@ -516,6 +516,7 @@ Symbols are also allowed; their print names are used instead. */) == load_unaligned_size_t (w2 + b)) b += ws; } +#endif /* Scan forward to the differing byte. */ while (b < nb && SREF (string1, b) == SREF (string2, b)) -- cgit v1.2.1 From c10c545ef26ef0be00ec8526d30b8c57141a3683 Mon Sep 17 00:00:00 2001 From: Po Lu Date: Sat, 1 Apr 2023 14:24:22 +0800 Subject: ; * src/fns.c (Fstring_lessp): Fix coding style. --- src/fns.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/fns.c b/src/fns.c index 90bb3fac178..354b3415ec5 100644 --- a/src/fns.c +++ b/src/fns.c @@ -512,8 +512,9 @@ Symbols are also allowed; their print names are used instead. */) int ws = sizeof (size_t); const char *w1 = SSDATA (string1); const char *w2 = SSDATA (string2); - while (b < nb - ws + 1 && load_unaligned_size_t (w1 + b) - == load_unaligned_size_t (w2 + b)) + while (b < nb - ws + 1 + && (load_unaligned_size_t (w1 + b) + == load_unaligned_size_t (w2 + b))) b += ws; } #endif -- cgit v1.2.1