1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-12 17:10:43 -08:00
Commit graph

327 commits

Author SHA1 Message Date
Lars Ingebrigtsen
2daffe3550 Adjust defvar-keymap' and define-keymap' to the new syntax
* lisp/vc/smerge-mode.el (smerge-basic-map):
* lisp/vc/pcvs.el (cvs-mode-map):
(cvs-minor-mode-prefix):
* lisp/vc/log-view.el (log-view-mode-map):
* lisp/vc/log-edit.el (log-edit-mode-map):
* lisp/vc/diff-mode.el (diff-mode-shared-map):
(diff-minor-mode-prefix):
* lisp/vc/cvs-status.el (cvs-status-mode-map):
* lisp/simple.el (special-mode-map):
* lisp/outline.el (outline--insert-open-button):
(outline--insert-close-button):
* lisp/net/shr.el (shr-map):
* lisp/net/eww.el (eww-link-keymap):
(eww-mode-map):
(eww-submit-map):
(eww-bookmark-mode-map):
(eww-history-mode-map):
(eww-buffers-mode-map):
* lisp/mh-e/mh-speed.el (:keymap):
* lisp/mh-e/mh-show.el (:keymap):
* lisp/mh-e/mh-search.el (:keymap):
* lisp/mh-e/mh-letter.el (:keymap):
* lisp/mh-e/mh-folder.el (:keymap):
* lisp/international/emoji.el (emoji-list-mode-map):
* lisp/gnus/spam.el (:keymap):
* lisp/gnus/mml.el (mml-mode-map):
* lisp/gnus/message.el (message-mode-map):
* lisp/gnus/gnus-undo.el (gnus-undo-mode-map):
* lisp/gnus/gnus-topic.el (gnus-topic-mode-map):
* lisp/gnus/gnus-sum.el (:keymap):
* lisp/gnus/gnus-srvr.el (gnus-server-mode-map):
(gnus-browse-mode-map):
* lisp/gnus/gnus-salt.el (gnus-pick-mode-map):
(gnus-tree-mode-map):
* lisp/gnus/gnus-msg.el (:prefix):
* lisp/gnus/gnus-ml.el (gnus-mailing-list-mode-map):
* lisp/gnus/gnus-kill.el (gnus-kill-file-mode-map):
* lisp/gnus/gnus-html.el (gnus-html-displayed-image-map):
* lisp/gnus/gnus-group.el (:keymap):
* lisp/gnus/gnus-eform.el (gnus-edit-form-mode-map):
* lisp/gnus/gnus-draft.el (gnus-draft-mode-map):
* lisp/gnus/gnus-dired.el (gnus-dired-mode-map):
* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map):
* lisp/gnus/gnus-art.el (:keymap):
(gnus-article-edit-mode-map):
* lisp/gnus/gnus-agent.el (gnus-agent-group-mode-map):
(gnus-agent-summary-mode-map):
(gnus-agent-server-mode-map):
(gnus-category-mode-map): Adjust `defvar-keymap' and
`define-keymap' to the new syntax.
2021-11-16 08:26:24 +01:00
Lars Ingebrigtsen
a1477ebb0c Fix more Gnus group key bindings recently changed
* lisp/gnus/gnus-group.el (:keymap): Fix some prefix keys that
ended up in the wrong place during the keymap rewrite (bug#51136).
2021-10-12 14:27:41 +02:00
Lars Ingebrigtsen
3f14418b11 Fix gnus-group-mode-map breakage from previous patch
* lisp/gnus/gnus-group.el (:keymap): Restore gnus-group-list-map
key strokes to the correct location.
2021-10-04 16:19:40 +02:00
Lars Ingebrigtsen
859190f03e Convert some keymaps to defvar-keymap
* lisp/simple.el (special-mode-map):
* lisp/net/shr.el (shr-map):
* lisp/net/eww.el (eww-link-keymap):
(eww-mode-map):
(eww-submit-map):
(eww-bookmark-mode-map):
(eww-history-mode-map):
(eww-buffers-mode-map):
* lisp/gnus/message.el (message-mode-map): Use defvar-keymap.

* lisp/gnus/gnus-eform.el (gnus-edit-form-mode-map):
* lisp/gnus/gnus-dired.el (gnus-dired-mode-map):
* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Use
defvar-keymap.

* lisp/gnus/gnus-group.el (gnus-group-mode-map): Use define-keymap.

* lisp/gnus/gnus-html.el (gnus-html-image-map): Use defvar-keymap.

* lisp/gnus/gnus.el: Autoload gnus-score-edit-all-score.
2021-10-04 10:15:11 +02:00
Stefan Kangas
c78e16962e ; Adjust overly long docstrings to fit 80 characters 2021-09-26 13:23:57 +02:00
Mattias Engdegård
32de11d8de ; Remove various duplicated words
* doc/lispref/searching.texi (Extending Rx):
* doc/lispref/strings.texi (Creating Strings):
* doc/misc/modus-themes.org (Measure color contrast (DIY)):
* etc/NEWS:
* lisp/find-file.el (ff-find-other-file):
* lisp/gnus/gnus-group.el (gnus-group-suspend):
* lisp/progmodes/cc-langs.el (c-ml-string-any-closer-re):
* lisp/progmodes/flymake.el (flymake-list-only-diagnostics):
* lisp/progmodes/xref.el (xref--group-name-for-display):
* lisp/transient.el (transient-child, transient-files)
(transient-infix-value):
* src/alloc.c:
* src/regex-emacs.c (regex_compile):

Remove duplicate words in comments, documentation etc.
2021-09-25 20:25:01 +02:00
Lars Ingebrigtsen
43c1ee90cb Don't use `format' on strings without % format directives
* lisp/vc/ediff-init.el (ediff-BAD-INFO):
* lisp/url/url-ldap.el (url-ldap):
* lisp/url/url-http.el (url-http--user-agent-default-string):
* lisp/textmodes/reftex.el (reftex-access-parse-file):
* lisp/textmodes/reftex-index.el (reftex-index-phrases-info):
* lisp/textmodes/ispell.el (ispell-create-debug-buffer):
* lisp/term.el (serial-read-speed):
* lisp/progmodes/verilog-mode.el (verilog-scan-debug):
* lisp/progmodes/idlwave.el (idlwave-find-module):
* lisp/progmodes/compile.el (compilation-revert-buffer):
* lisp/org/org-agenda.el (org-search-view):
* lisp/net/telnet.el (telnet-revert-buffer):
* lisp/net/soap-inspect.el (soap-sample-value-for-xs-simple-type):
* lisp/net/newst-backend.el (newsticker--cache-read):
* lisp/mh-e/mh-seq.el (mh-msg-is-in-seq):
* lisp/mail/smtpmail.el (smtpmail-via-smtp):
* lisp/mail/emacsbug.el (report-emacs-bug):
* lisp/jsonrpc.el (jsonrpc-error):
* lisp/help-fns.el (describe-variable):
* lisp/gnus/mm-decode.el (mm-possibly-verify-or-decrypt):
* lisp/gnus/gnus.el (gnus-group-startup-message):
(gnus-group-startup-message):
* lisp/gnus/gnus-group.el (gnus-group-restart):
* lisp/frame.el (make-frame-on-display):
* lisp/emulation/viper-ex.el (ex-help):
* lisp/calendar/icalendar.el (icalendar--convert-ical-to-diary):
(icalendar--add-diary-entry):
* lisp/calendar/cal-tex.el (cal-tex-end-document):
* lisp/calc/calcalg3.el (math-ninteg-romberg): Don't use `format'
on strings that have no % format directives in them.
2021-09-21 17:52:53 +02:00
Stefan Kangas
3f9f3ba437 Docfix: use command substitution for 'universal-argument'
* lisp/autoarg.el (autoarg-mode):
* lisp/bookmark.el (bookmark-set, bookmark-set-no-overwrite)
(bookmark-save):
* lisp/calendar/todo-mode.el (todo-insert-item)
(todo-filter-top-priorities)
(todo-filter-top-priorities-multifile):
* lisp/dired-x.el (dired-mark-extension, dired-mark-suffix):
* lisp/eshell/eshell.el (eshell):
* lisp/gnus/gnus-group.el (gnus-group-find-new-groups):
* lisp/gnus/gnus-start.el (gnus-find-new-newsgroups):
* lisp/gnus/gnus-sum.el (gnus-summary-show-article):
* lisp/gnus/gnus.el (gnus-secondary-servers):
* lisp/org/org-timer.el (org-timer-set-timer):
* lisp/org/ox.el (org-export-dispatch-last-position):
* lisp/printing.el (pr-ps-directory-preview)
(pr-ps-directory-using-ghostscript, pr-ps-directory-print)
(pr-ps-directory-ps-print, pr-ps-buffer-preview)
(pr-ps-buffer-using-ghostscript, pr-ps-buffer-print)
(pr-ps-buffer-ps-print, pr-despool-preview)
(pr-despool-using-ghostscript, pr-despool-print)
(pr-despool-ps-print, pr-ps-file-up-ps-print, pr-ps-fast-fire)
(pr-txt-fast-fire):
* lisp/progmodes/idlwave.el (idlwave-complete):
* lisp/progmodes/sh-script.el (sh-set-shell):
* lisp/replace.el (occur):
* lisp/ses.el (ses--advice-yank):
* lisp/simple.el (set-mark-command-repeat-pop):
* lisp/sort.el (delete-duplicate-lines):
* lisp/strokes.el (strokes-help):
* lisp/textmodes/artist.el (artist-mode):
* lisp/textmodes/reftex-cite.el (reftex-citation):
* lisp/textmodes/reftex-dcr.el (reftex-view-crossref):
* lisp/textmodes/reftex-index.el (reftex-index-selection-or-word)
(reftex-display-index):
* lisp/textmodes/reftex-ref.el (reftex-reference):
* lisp/textmodes/reftex-toc.el (reftex-toc):
* lisp/textmodes/reftex-vars.el (reftex-cite-prompt-optional-args)
(reftex-enable-partial-scans):
* lisp/textmodes/texnfo-upd.el (texinfo-master-menu):
* lisp/windmove.el (windmove-display-in-direction)
(windmove-delete-left, windmove-delete-up)
(windmove-delete-right, windmove-delete-down):
* lisp/window.el (recenter-window-group, recenter-other-window): Use
command substitution for 'universal-argument' instead of raw "C-u".
2021-09-16 20:05:48 +02:00
Lars Ingebrigtsen
331be89e7c Improve the gnus-group-default-list-level doc string
* lisp/gnus/gnus-group.el (gnus-group-default-list-level): Improve
doc string.
2021-09-06 11:12:00 +02:00
Allen Li
7f9ca3b2f4 Make `gnus-group-use-permanent-levels' work better
* lisp/gnus/gnus-group.el (gnus-group-default-level): Removed implicit
setting of gnus-group-use-permanent-levels.
(gnus-group-list-groups): Set gnus-group-use-permanent-levels
explicitly.
(gnus-group-get-new-news): Set gnus-group-use-permanent-levels
explicitly (bug#50417).
(gnus-group-get-new-news): When the user has given a numeric
prefix, use that as the list level.
2021-09-06 11:00:06 +02:00
Mattias Engdegård
051434fdef Use string-replace instead of replace-regexp-in-string
`string-replace` is easier to understand, less error-prone, much
faster, and results in shorter Lisp and byte code.  Use it where
applicable and obviously safe (erring on the conservative side).

* admin/authors.el (authors-scan-change-log):
* lisp/autoinsert.el (auto-insert-alist):
* lisp/calc/calc-prog.el (calc-edit-macro-combine-alg-ent)
(calc-edit-macro-combine-ext-command)
(calc-edit-macro-combine-var-name):
* lisp/calc/calc-units.el (math-make-unit-string):
* lisp/calendar/cal-html.el (cal-html-comment):
* lisp/calendar/cal-tex.el (cal-tex-comment):
* lisp/calendar/icalendar.el (icalendar--convert-string-for-export)
(icalendar--convert-string-for-import):
* lisp/calendar/iso8601.el (iso8601--concat-regexps)
(iso8601--full-time-match, iso8601--combined-match):
* lisp/calendar/time-date.el (format-seconds):
* lisp/calendar/todo-mode.el (todo-filter-items-filename):
* lisp/cedet/cedet-files.el (cedet-directory-name-to-file-name)
(cedet-file-name-to-directory-name):
* lisp/comint.el (comint-watch-for-password-prompt):
* lisp/dired-aux.el (dired-do-chmod):
* lisp/dired-x.el (dired-man):
* lisp/dired.el (dired-insert-directory, dired-goto-file-1):
* lisp/emacs-lisp/comp.el (comp-c-func-name):
* lisp/emacs-lisp/re-builder.el (reb-copy):
* lisp/erc/erc-dcc.el (erc-dcc-unquote-filename):
* lisp/erc/erc.el (erc-quit-reason-zippy, erc-part-reason-zippy)
(erc-update-mode-line-buffer, erc-message-english-PART):
* lisp/files.el (make-backup-file-name-1, files--transform-file-name)
(read-file-modes):
* lisp/fringe.el (fringe-mode):
* lisp/gnus/gnus-art.el (gnus-button-handle-info-url):
* lisp/gnus/gnus-group.el (gnus-group-completing-read):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
* lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy):
* lisp/gnus/gnus-search.el (gnus-search-query-parse-date)
(gnus-search-transform-expression, gnus-search-run-search):
* lisp/gnus/gnus-start.el (gnus-dribble-enter):
* lisp/gnus/gnus-sum.el (gnus-summary-refer-article):
* lisp/gnus/gnus-util.el (gnus-mode-string-quote):
* lisp/gnus/message.el (message-put-addresses-in-ecomplete)
(message-parse-mailto-url, message-mailto-1):
* lisp/gnus/mml-sec.el (mml-secure-epg-sign):
* lisp/gnus/mml-smime.el (mml-smime-epg-verify):
* lisp/gnus/mml2015.el (mml2015-epg-verify):
* lisp/gnus/nnmaildir.el (nnmaildir--system-name)
(nnmaildir-request-list, nnmaildir-retrieve-groups)
(nnmaildir-request-group, nnmaildir-retrieve-headers):
* lisp/gnus/nnrss.el (nnrss-node-text):
* lisp/gnus/spam-report.el (spam-report-gmane-internal)
(spam-report-user-mail-address):
* lisp/ibuffer.el (name):
* lisp/image-dired.el (image-dired-pngnq-thumb)
(image-dired-pngcrush-thumb, image-dired-optipng-thumb)
(image-dired-create-thumb-1):
* lisp/info.el (Info-set-mode-line):
* lisp/international/mule-cmds.el (describe-language-environment):
* lisp/mail/rfc2231.el (rfc2231-parse-string):
* lisp/mail/rfc2368.el (rfc2368-parse-mailto-url):
* lisp/mail/rmail.el (rmail-insert-inbox-text)
(rmail-simplified-subject-regexp):
* lisp/mail/rmailout.el (rmail-output-body-to-file):
* lisp/mail/undigest.el (rmail-digest-rfc1153):
* lisp/man.el (Man-default-man-entry):
* lisp/mouse.el (minor-mode-menu-from-indicator):
* lisp/mpc.el (mpc--debug):
* lisp/net/browse-url.el (browse-url-mail):
* lisp/net/eww.el (eww-update-header-line-format):
* lisp/net/newst-backend.el (newsticker-save-item):
* lisp/net/rcirc.el (rcirc-sentinel):
* lisp/net/soap-client.el (soap-decode-date-time):
* lisp/nxml/rng-cmpct.el (rng-c-literal-2-re):
* lisp/nxml/xmltok.el (let*):
* lisp/obsolete/nnir.el (nnir-run-swish-e, nnir-run-hyrex)
(nnir-run-find-grep):
* lisp/play/dunnet.el (dun-doassign):
* lisp/play/handwrite.el (handwrite):
* lisp/proced.el (proced-format-args):
* lisp/profiler.el (profiler-report-header-line-format):
* lisp/progmodes/gdb-mi.el (gdb-mi-quote):
* lisp/progmodes/make-mode.el (makefile-bsdmake-rule-action-regex)
(makefile-make-font-lock-keywords):
* lisp/progmodes/prolog.el (prolog-guess-fill-prefix):
* lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
* lisp/progmodes/sql.el (sql-remove-tabs-filter, sql-str-literal):
* lisp/progmodes/which-func.el (which-func-current):
* lisp/replace.el (query-replace-read-from)
(occur-engine, replace-quote):
* lisp/select.el (xselect--encode-string):
* lisp/ses.el (ses-export-tab):
* lisp/subr.el (shell-quote-argument):
* lisp/term/pc-win.el (msdos-show-help):
* lisp/term/w32-win.el (w32--set-selection):
* lisp/term/xterm.el (gui-backend-set-selection):
* lisp/textmodes/picture.el (picture-tab-search):
* lisp/thumbs.el (thumbs-call-setroot-command):
* lisp/tooltip.el (tooltip-show-help-non-mode):
* lisp/transient.el (transient-format-key):
* lisp/url/url-mailto.el (url-mailto):
* lisp/vc/log-edit.el (log-edit-changelog-ours-p):
* lisp/vc/vc-bzr.el (vc-bzr-status):
* lisp/vc/vc-hg.el (vc-hg--glob-to-pcre):
* lisp/vc/vc-svn.el (vc-svn-after-dir-status):
* lisp/xdg.el (xdg-desktop-strings):
* test/lisp/electric-tests.el (defun):
* test/lisp/term-tests.el (term-simple-lines):
* test/lisp/time-stamp-tests.el (formatz-mod-del-colons):
* test/lisp/wdired-tests.el (wdired-test-bug32173-01)
(wdired-test-unfinished-edit-01):
* test/src/json-tests.el (json-parse-with-custom-null-and-false-objects):
Use `string-replace` instead of `replace-regexp-in-string`.
2021-08-08 19:25:26 +02:00
dickmao
314474e2d5 Follow-up toggle-subscription name change
* doc/misc/gnus.texi (Subscription Commands): Refer to correct function.
* lisp/gnus/gnus-group.el (gnus-group-unsubscribe-current-group):
Make backwards-compatible.
(gnus-group-unsubscribe-group):
Make backwards-compatible (bug#49768).
2021-07-29 13:33:58 +02:00
dickmao
d6a3b1cd2b Rename Gnus -unsubscribe-group commands to -toggle-subscription
* doc/emacs/misc.texi (Gnus Group Buffer): Document change.
* doc/misc/gnus.texi (Subscription Commands): Document change.
(Browse Foreign Server): Document change.
* lisp/gnus/gnus-group.el (gnus-group-mode-map):
Unsubscribe is not subscribe.
(gnus-group-sub-map): Unsubscribe is not subscribe.
(gnus-group-make-menu-bar): Unsubscribe is not subscribe.
(gnus-group-tool-bar-gnome): Unsubscribe is not subscribe.
(gnus-group-mode): Unsubscribe is not subscribe.
(gnus-group-unsubscribe): Refactor.
(gnus-group-subscribe): Refactor.
(gnus-group-unsubscribe-current-group): Define obsolete alias.
(gnus-group-unsubscribe-group): Define obsolete alias.
(gnus-group-toggle-subscription-at-point): Refactor.
(gnus-group-set-subscription-at-point): Refactor.
(gnus-group-toggle-subscription): Refactor.
(gnus-group-set-subscription): Refactor.
* lisp/gnus/gnus-srvr.el (gnus-browse-mode-map):
Unsubscribe is not subscribe.
(gnus-browse-make-menu-bar): Unsubscribe is not subscribe.
(gnus-browse-mode): Document the change.
(gnus-browse-unsubscribe-current-group): Define obsolete alias.
(gnus-browse-unsubscribe-group): Define obsolete alias.
(gnus-browse-toggle-subscription-at-point): Unsubscribe is not subscribe.
(gnus-browse-toggle-subscription): Unsubscribe is not subscribe
(bug#49759).
2021-07-28 20:52:51 +02:00
Alex Bochannek
4888addd30 Change the Gnus default to use `#' to toggle the process mark
* doc/misc/gnus.texi (Marking Groups, Topic Commands):
(Setting Process Marks, Pick and Read): Document the new default.
* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.

* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.

* lisp/gnus/gnus-topic.el (gnus-topic-make-menu-bar): Update menu.

* lisp/gnus/gnus.el (gnus-process-mark-toggle): Change default.
2021-06-08 13:34:24 +02:00
Alex Bochannek
16793dc35a Add new user option to Gnus to allow `#' to toggle
* doc/misc/gnus.texi (Marking Groups, Setting Process Marks):
Mention the new variable.

* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.
(gnus-group-mark-group): Support the variable.
(gnus-group-mark-update): New command.
(gnus-group-unmark-group, gnus-group-mark-region): Pass in new
parameter.

* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.
(gnus-summary-mark-as-processable): Use the variable.

* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic):  (bug#48683).

* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): Use the variable.

* lisp/gnus/gnus.el (gnus-process-mark-toggle): New user option.
2021-06-02 07:41:25 +02:00
Stefan Kangas
07bb2cbf55 Don't hard-code "~/.emacs.d/" in two more places
* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
* lisp/progmodes/js.el (js-js-tmpdir): Don't hard-code
"~/.emacs.d/".
2021-04-19 09:50:13 +02:00
Stefan Kangas
41f37c8c82 Remove redundant #' before lambda in Gnus
* lisp/gnus/gnus-group.el (gnus-group-list-cached)
(gnus-group-list-dormant, gnus-group-list-ticked):
* lisp/gnus/gnus-registry.el (gnus-registry-remove-extra-data):
* lisp/gnus/gnus-score.el (gnus-score-edit-file-at-point):
* lisp/gnus/gnus-sum.el (gnus-fetch-headers):
* lisp/gnus/mm-partial.el (mm-inline-partial):
* lisp/gnus/nnselect.el (nnselect-uncompress-artlist)
(numbers-by-group, nnselect-request-expire-articles)
(nnselect-request-update-info, nnselect-request-thread):
* lisp/gnus/nnvirtual.el (nnvirtual-request-expire-articles):
* lisp/gnus/spam-stat.el (spam-stat-score-buffer): Remove redundant #'
before lambda.
2021-04-01 10:23:21 +02:00
Lars Ingebrigtsen
c0221990c4 Do `interactive' mode markup in all Gnus files 2021-02-14 14:14:48 +01:00
Stefan Monnier
c2b3a1d414 * lisp/gnus/gnus-group.el: Fix a regression due to lexical scoping
(gnus-group-highlight): Improve docstring.
(gnus-group-update-eval-form): Add `group` and `method` to the vars
provided to `eval`.
2021-02-02 14:12:17 -05:00
Stefan Monnier
d2341eb0fb * lisp/gnus/gnus-group.el: Defvar all the gnus-tmp-* vars
These were collected via

    sed -n -e 's/.*\(gnus-tmp-[^     ()]*\).*/(defvar \1)/p' \
        lisp/gnus/gnus-group.el
2021-01-31 17:34:12 -05:00
Stefan Monnier
12189ae415 * lisp/gnus: Use closures now that we activated lexical-binding
* lisp/gnus/nnml.el (nnml-request-accept-article):
* lisp/gnus/nnmairix.el (nnmairix-request-marks):
* lisp/gnus/nnmail.el (nnmail-get-new-mail-1):
* lisp/gnus/mm-view.el (mm-inline-image)
(mm-inline-text-html-render-with-w3m, mm-inline-text)
(mm-insert-inline, mm-inline-message):
* lisp/gnus/mm-partial.el (mm-inline-partial):
* lisp/gnus/mm-archive.el (mm-archive-dissect-and-inline):
* lisp/gnus/gnus-util.el (gnus-create-info-command):
* lisp/gnus/gnus-topic.el (gnus-topic-edit-parameters)
(gnus-topic-sort-topics-1):
* lisp/gnus/gnus-sum.el (gnus-summary-edit-article):
* lisp/gnus/gnus-srvr.el (gnus-server-edit-server):
* lisp/gnus/gnus-msg.el (gnus-inews-make-draft)
(gnus-inews-add-send-actions, gnus-summary-cancel-article)
(gnus-summary-supersede-article, gnus-summary-resend-message)
(gnus-configure-posting-styles):
* lisp/gnus/gnus-kill.el (gnus-execute):
* lisp/gnus/gnus-html.el (gnus-html-wash-images):
* lisp/gnus/gnus-group.el (gnus-group-edit-group)
(gnus-group-nnimap-edit-acl):
* lisp/gnus/gnus-draft.el (gnus-draft-edit-message, gnus-draft-setup):
* lisp/gnus/gnus-art.el (gnus-article-edit-part)
(gnus-mm-display-part, gnus-article-edit):
* lisp/gnus/gnus-agent.el (gnus-category-edit-predicate)
(gnus-category-edit-score, gnus-category-edit-groups):
Use closures instead of `(lambda ...).

* lisp/gnus/nnoo.el (noo--defalias): New function.
(nnoo-import-1, nnoo-define-skeleton-1): Use it to avoid `eval`.
2021-01-30 18:56:37 -05:00
Stefan Monnier
daa4e0120d * lisp/gnus: Use lexical-binding in all the files
* lisp/gnus/gnus-group.el (features): Use `dlet`.
(gnus-tmp-level, gnus-tmp-marked, gnus-tmp-group): Declare vars.
(gnus-group-insert-group-line): Bind dynbound vars via `let` rather
than as formal args.  Bind `number` as dynbound.
(gnus-visual, gnus-score-find-score-files-function)
(gnus-home-score-file, gnus-apply-kill-hook)
(gnus-summary-expunge-below): Declare vars.
(gnus-group-restart, gnus-group-list-plus): Fix `interactive` spec
since the arg is unused.

* lisp/gnus/mail-source.el (mail-source-bind, mail-source-bind-common):
Use `dlet` and suppress the warnings about the non-prefixed dynbound vars.
(mail-source-set-1): Remove unused var `auth-info`.
(mail-source-call-script): Remove unused var `background`.
(mail-source-fetch-pop, mail-source-check-pop): Bind pop3 vars with `dlet`.

* lisp/gnus/gnus-int.el (mail-source-plugged, gnus-inhibit-demon):
Declare vars.
(gnus-server-opened, gnus-status-message)
(gnus-open-server, gnus-close-server, gnus-request-list)
(gnus-finish-retrieve-group-infos, gnus-retrieve-group-data-early)
(gnus-request-list-newsgroups, gnus-request-newgroups)
(gnus-request-regenerate, gnus-request-compact, gnus-request-group)
(gnus-retrieve-groups, gnus-request-post, gnus-request-expunge-group)
(gnus-request-scan, gnus-request-update-info, gnus-request-marks)
(gnus-request-accept-article, gnus-request-create-group)
(gnus-asynchronous-p, gnus-remove-denial):
Bind `gnus-command-method` via `let` rather than as formal args.

* lisp/gnus/gnus-topic.el (gnus-topic-insert-topic-line):
Pass documented vars to eval for `gnus-topic-line-format-spec`.

* lisp/gnus/message.el (message-yank-original): Use `cl-progv` rather
than `eval` to bind the vars from `message-cite-style`.

* lisp/gnus/mml.el (mml-parse-1): Use `apply` instead of `eval`.
(gnus-newsgroup-name, gnus-displaying-mime, gnus-newsgroup-name)
(gnus-article-prepare-hook, gnus-newsgroup-charset)
(gnus-original-article-buffer, gnus-message-buffer)
(message-this-is-news, message-this-is-mail): Declare vars.

* lisp/gnus/deuglify.el (gnus-outlook-rearrange-article): Remove unused
var `cite-marks`.
* lisp/gnus/gnus-art.el (ansi-color-context-region): Declare var.
(gnus-mime-display-attachment-buttons-in-header): Move declaration
before first use.
(gnus-mime-display-alternative): Remove unused var `from`.
* lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-list): Remove unused
var `start` `end`.
* lisp/gnus/gnus-cache.el (gnus-article-decode-hook)
(nnml-generate-active-function): Declare var.
* lisp/gnus/gnus-cite.el (gnus-message-citation-mode): Remove unused
var `keywords`.
* lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Remove unused var
`cipher`.
(gnus-cloud-ensure-cloud-group): Remove unused var `method`.
* lisp/gnus/gnus-delay.el (gnus-delay-article): Remove unused var `days`.
* lisp/gnus/gnus-html.el (gnus-html-wash-images): Remove unused vars
`tag`, `string`, and `images`.
(gnus-html-wash-tags): Remove unused vars `string` and `images`.
* lisp/gnus/gnus-msg.el (gnus-msg-mail): Remove unused var `group-name`.
(gnus-group-mail, gnus-group-news, gnus-summary-mail-other-window)
(gnus-summary-news-other-window):
Remove unused vars `group` and `buffer`.
(gnus-configure-posting-styles): Remove unused vars `style` and `attribute`.
* lisp/gnus/gnus-picon.el (gnus-picon-find-face): Remove unused vars
`database`, `directory`, and `instance`.
(gnus-picon-transform-newsgroups): Remove unused var `point`.
* lisp/gnus/gnus-range.el (gnus-range-difference): Remove unused var `safe`.
* lisp/gnus/gnus-score.el (gnus-score-load-file): Remove unused var
`score-fn`.
* lisp/gnus/gnus-sum.el (message-options-set-recipient): Declare var.
* lisp/gnus/gnus-undo.el (gnus-undo): Fix docstring lie.
* lisp/gnus/gnus-util.el (print-string-length)
(iswitchb-make-buflist-hook): Declare vars.
(gnus-emacs-version): Remove unused var `codename`.
(gnus-rename-file): Remove unused vars `old-name` and `new-name`.
* lisp/gnus/gnus-uu.el (gnus-uu-yenc-article): Remove unused var
`start-char`.
(gnus-asynchronous): Declare var.
* lisp/gnus/mm-partial.el (gnus-displaying-mime): Declare var.
(mm-inline-partial): Remove unused var `buffer`.
* lisp/gnus/mm-view.el (w3m-force-redisplay, w3m-safe-url-regexp)
(gnus-displaying-mime, gnus-original-article-buffer)
(gnus-article-prepare-hook): Declare vars.
* lisp/gnus/mml-smime.el (mml-smime-epg-encrypt): Remove unused var
`boundary`.
(mml-smime-epg-verify): Remove unused vars `plain` and `signature-file`.
* lisp/gnus/mml1991.el (pgg-text-mode): Declare var.
* lisp/gnus/mml2015.el (pgg-text-mode): Declare var.
(mml2015-pgg-decrypt): Remove unused var `result`.
(mml2015-epg-key-image-to-string): Remove unused var `error`.
(mml2015-epg-decrypt): Remove unused var `result`.
(mml2015-epg-verify): Remove unused vars `plain` and `signature-file`.
* lisp/gnus/nnbabyl.el (nnml-current-directory): Declare var.
* lisp/gnus/nndiary.el (nndiary-files): Move declaration before first use.
* lisp/gnus/nnfolder.el (nnfolder-request-accept-article):
Remove unused var `buf`.
* lisp/gnus/nnmail.el (nnmail-parse-active): Remove unused var `err`.
* lisp/gnus/nnmairix.el (nnmairix-request-group): Remove unused var `args`.
(nnmairix-request-create-group): Remove unused var `info`.
(nnmairix-request-list): Remove unused var `folder`.
(nnmairix-request-set-mark): Remove unused var `propto`.
(nnmairix-request-set-mark): Remove unused vars `number` and `method`.
(nnmairix-close-group): Remove unused var `method`.
(nnmairix-create-search-group-from-message): Remove unused var `cq`.
(nnmairix-create-server-and-default-group): Remove unused var `create`.
(nnmairix-purge-old-groups): Remove unused var `folder`.
(nnmairix-remove-tick-mark-original-article, nnmairix-get-valid-servers):
Remove unused var `cur`.
(nnmairix-replace-group-and-numbers): Remove unused var `header`.
(nnmairix-goto-original-article): Remove unused var `rval`.
(nnmairix-widget-create-query): Remove unused var `allwidgets`.
* lisp/gnus/nnmbox.el (nnml-current-directory): Declare var.
* lisp/gnus/nnmh.el (nnmh-toplev): Move declaration before first use.
(nnmh-request-list-1): Remove unused var `rdir`.
* lisp/gnus/nnml.el (nnml-generate-nov-file): Remove unused var `file`.
* lisp/gnus/nnrss.el (nnrss-request-article): Remove unused var `post`.
(nnrss-request-article): Remove unused var `fn`.
(nnrss-check-group): Remove unused var `rdf-ns`.
* lisp/gnus/nnweb.el (nnweb-request-article): Remove unused var `active`.
(nnweb-google-parse-1): Remove unused var `Score`.
* lisp/gnus/spam-stat.el (spam-stat-error-holder): Remove var.
(spam-stat-buffer-words-with-scores): Remove unused var `word`.
(spam-stat-score-buffer): Remove unused var `spam-stat-error-holder`.
(spam-stat-split-fancy): Use `err` instead of `spam-stat-error-holder`.
* lisp/gnus/spam-wash.el (spam-wash): Remove unused var `handle`.
* lisp/gnus/spam.el (spam-copy-or-move-routine): Remove unused vars
`article` and `mark`.
(spam-register-routine): Remove unused var `article`.
(spam-log-undo-registration): Remove unused var `found`.
(spam-ifile-register-with-ifile): Remove unused var `parameters`.
(spam-check-stat): Remove unused vars `category` and `return`.
(spam-parse-list): Remove unused var `found`.
(spam-filelist-register-routine): Remove unused var `from`.
2021-01-30 18:44:00 -05:00
Stefan Monnier
9be4f41b42 * lisp/gnus: Misc simplifications found during conversion to lexical
* lisp/gnus/nnoo.el (noo-import-1, nnoo-define-skeleton-1): Use `dolist`.
(noo-map-functions, nnoo-define-basics): Directly emit the code rather than
going through an intermediate function; this also avoids the use of `eval`.
(noo-map-functions-1, nnoo-define-basics-1): Delete functions,
folded into their corresponding macro.

* lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Demote `eval` to
`symbol-value`.

* lisp/gnus/gnus-art.el (gnus-button-handle-describe-key): Avoid `eval`
since `kbd` is a function nowadays.
(gnus-treat-part-number): Rename from `part-number`.
(gnus-treat-total-parts): Rename from `total-parts`.
(gnus-treat-article, gnus-treat-predicate): Adjust accordingly.

* lisp/gnus/gnus-cache.el (gnus-agent-load-alist): Use `declare-function`.

* lisp/gnus/gnus-group.el (gnus-cache-active-hashtb): Use `defvar`.
(gnus-group-iterate): Make it a normal function since lexical scoping
avoids the risk of name capture anyway.
(gnus-group-delete-articles): Actually use the `oldp` arg.

* lisp/gnus/gnus-html.el (gnus-html-wash-images): Fix debug message so
it's emitted after the `url` var it prints is actually initialized.
And avoid `setq` while we're at it.

* lisp/gnus/gnus-msg.el (gnus-group-mail, gnus-group-news)
(gnus-summary-mail-other-window, gnus-summary-news-other-window):
Merge `let`s using `let*`.

* lisp/gnus/gnus-spec.el (gnus-update-format-specifications):
Tighten the scope of `buffer`, and tighten a regexp.
(gnus-parse-simple-format): Reduce code duplication.

* lisp/gnus/gnus-start.el (gnus-child-mode): Don't `defvar` it since we
never use that variable and accordingly don't define it as a minor mode.

* lisp/gnus/gnus-util.el (gnus-byte-compile): Simplify so it obeys
`gnus-use-byte-compile` not just on the first call.
(iswitchb-minibuffer-setup): Declare.

* lisp/gnus/mail-source.el (mail-source-bind-1)
(mail-source-bind-common-1): Use `mapcar`.
(mail-source-set-common-1): Use `dolist`.
(display-time-event-handler): Declare.

* lisp/gnus/mml-smime.el (mml-smime-epg-verify): Reduce code duplication.

* lisp/gnus/mml.el (mml-parse-1): Reduce code duplication.

* lisp/gnus/mml2015.el (mml2015-epg-verify): Reduce code duplication.

* lisp/gnus/nnmail.el (nnmail-get-split-group): Tighten regexp.
(nnmail-split-it): Reduce code duplication.

* lisp/gnus/nnweb.el (nnweb-request-article): Avoid `setq`.

* lisp/gnus/spam.el (BBDB): Use the `noerror` arg of `require`, and
define all the functions for BBDB regardless if the require succeeded.
(spam-exists-in-BBDB-p): Don't inline, not worth it.
2021-01-30 17:30:08 -05:00
Stefan Monnier
d6f8bce6d4 * lisp/gnus: Quote functions with #'
To get better warnings, try and use #' to quote function names.

* lisp/gnus/canlock.el:
* lisp/gnus/deuglify.el:
* lisp/gnus/gmm-utils.el:
* lisp/gnus/gnus-agent.el:
* lisp/gnus/gnus-art.el:
* lisp/gnus/gnus-bookmark.el:
* lisp/gnus/gnus-cache.el:
* lisp/gnus/gnus-cite.el:
* lisp/gnus/gnus-cus.el:
* lisp/gnus/gnus-delay.el:
* lisp/gnus/gnus-diary.el:
* lisp/gnus/gnus-dired.el:
* lisp/gnus/gnus-draft.el:
* lisp/gnus/gnus-fun.el:
* lisp/gnus/gnus-group.el:
* lisp/gnus/gnus-html.el:
* lisp/gnus/gnus-int.el:
* lisp/gnus/gnus-kill.el:
* lisp/gnus/gnus-mlspl.el:
* lisp/gnus/gnus-msg.el:
* lisp/gnus/gnus-notifications.el:
* lisp/gnus/gnus-picon.el:
* lisp/gnus/gnus-registry.el:
* lisp/gnus/gnus-rfc1843.el:
* lisp/gnus/gnus-salt.el:
* lisp/gnus/gnus-score.el:
* lisp/gnus/gnus-search.el:
* lisp/gnus/gnus-sieve.el:
* lisp/gnus/gnus-srvr.el:
* lisp/gnus/gnus-start.el:
* lisp/gnus/gnus-topic.el:
* lisp/gnus/gnus-undo.el:
* lisp/gnus/gnus-util.el:
* lisp/gnus/gnus-uu.el:
* lisp/gnus/gnus.el:
* lisp/gnus/mail-source.el:
* lisp/gnus/message.el:
* lisp/gnus/mm-archive.el:
* lisp/gnus/mm-decode.el:
* lisp/gnus/mm-url.el:
* lisp/gnus/mm-util.el:
* lisp/gnus/mm-view.el:
* lisp/gnus/mml-sec.el:
* lisp/gnus/mml-smime.el:
* lisp/gnus/mml.el:
* lisp/gnus/nnagent.el:
* lisp/gnus/nndiary.el:
* lisp/gnus/nndoc.el:
* lisp/gnus/nndraft.el:
* lisp/gnus/nnfolder.el:
* lisp/gnus/nnheader.el:
* lisp/gnus/nnmail.el:
* lisp/gnus/nnmaildir.el:
* lisp/gnus/nnmairix.el:
* lisp/gnus/nnmh.el:
* lisp/gnus/nnml.el:
* lisp/gnus/nnrss.el:
* lisp/gnus/nnselect.el:
* lisp/gnus/nnspool.el:
* lisp/gnus/nnvirtual.el:
* lisp/gnus/nnweb.el:
* lisp/gnus/smiley.el:
* lisp/gnus/smime.el:
* lisp/gnus/spam-report.el:
* lisp/gnus/spam-stat.el:
* lisp/gnus/spam-wash.el:
* lisp/gnus/spam.el:
2021-01-30 12:27:34 -05:00
Paul Eggert
ba05d005e5 Update copyright year to 2021
Run "TZ=UTC0 admin/update-copyright".
2021-01-01 01:13:56 -08:00
Stefan Kangas
5ab5c38987 Shorten over-wide docstrings in defcustoms
* lisp/calc/calc.el (calc-embedded-announce-formula-alist)
(calc-embedded-open-formula, calc-embedded-close-formula)
(calc-matrix-mode):
* lisp/cedet/semantic/imenu.el (semantic-imenu-sort-bucket-function):
* lisp/emacs-lisp/find-func.el (find-feature-regexp):
* lisp/emulation/cua-base.el (cua-paste-pop-rotate-temporarily):
* lisp/emulation/viper-init.el (viper-fast-keyseq-timeout)
(viper-related-files-and-buffers-ring):
* lisp/emulation/viper-keym.el (viper-want-ctl-h-help):
* lisp/gnus/gnus-art.el (gnus-article-banner-alist):
* lisp/gnus/gnus-group.el (gnus-keep-same-level):
* lisp/gnus/gnus-score.el (gnus-adaptive-word-length-limit):
* lisp/gnus/gnus-sum.el (gnus-inhibit-user-auto-expire):
* lisp/gnus/gnus-uu.el (gnus-uu-ignore-files-by-type)
(gnus-uu-do-not-unpack-archives)
(gnus-uu-unmark-articles-not-decoded)
(gnus-uu-correct-stripped-uucode, gnus-uu-save-in-digest)
(gnus-uu-post-include-before-composing):
* lisp/gnus/gnus.el (gnus-use-long-file-name)
(gnus-install-group-spam-parameters):
* lisp/gnus/message.el (message-cite-style):
* lisp/gnus/nnmail.el
(nnmail-split-fancy-with-parent-ignore-groups)
(nnmail-cache-ignore-groups):
* lisp/ido.el (ido-rewrite-file-prompt-functions):
* lisp/mail/feedmail.el (feedmail-fiddle-plex-user-list)
(feedmail-spray-address-fiddle-plex-list):
* lisp/mh-e/mh-e.el (mh-annotate-msg-hook):
* lisp/net/imap.el (imap-process-connection-type):
* lisp/net/rcirc.el (rcirc-omit-threshold):
* lisp/net/tramp-sh.el (tramp-copy-size-limit):
* lisp/nxml/nxml-mode.el (nxml-default-buffer-file-coding-system):
* lisp/obsolete/landmark.el (landmark-max-stall-time):
* lisp/obsolete/tls.el (tls-checktrust):
* lisp/org/org-indent.el
(org-indent-mode-turns-off-org-adapt-indentation)
(org-indent-mode-turns-on-hiding-stars):
* lisp/org/org-protocol.el (org-protocol-project-alist):
* lisp/progmodes/cc-vars.el (c-doc-comment-style):
* lisp/progmodes/cperl-mode.el (cperl-indent-subs-specially):
* lisp/progmodes/flymake-proc.el (flymake-proc-allowed-file-name-masks):
* lisp/progmodes/hideif.el (hide-ifdef-expand-reinclusion-protection):
* lisp/simple.el (minibuffer-history-case-insensitive-variables):
* lisp/tab-bar.el (tab-bar-close-last-tab-choice):
* lisp/textmodes/reftex-vars.el
(reftex-special-environment-functions):
* lisp/vc/ediff-init.el (ediff-startup-hook, ediff-cleanup-hook)
(ediff-metachars):
* lisp/vc/ediff-merg.el (ediff-show-clashes-only):
* lisp/vc/ediff-mult.el (ediff-default-filtering-regexp): Shorten doc
strings to not exceed 80-column limits.  (Bug#44858)
2020-12-19 18:21:06 +01:00
Lars Ingebrigtsen
06168c124d Use the proper face for the Gnus mode line id
* lisp/gnus/gnus-sum.el (gnus-set-mode-line):
* lisp/gnus/gnus-group.el (gnus-group-set-mode-line): Use the
mode-line-buffer-id face on the buffer id.
2020-12-08 14:20:10 +01:00
Stefan Kangas
d174a2bb23 Prefer setq-local in gnus/*.el
* lisp/gnus/gnus-agent.el (gnus-agent-mode)
(gnus-agent-get-undownloaded-list, gnus-agent-open-history):
* lisp/gnus/gnus-art.el (gnus-article-setup-highlight-words)
(gnus-article-mode, gnus-article-setup-buffer, defsubst)
(gnus-article-describe-bindings, gnus-article-edit-mode):
* lisp/gnus/gnus-cus.el (gnus-custom-mode, gnus-group-customize)
(gnus-score-customize, gnus-agent-customize-category):
* lisp/gnus/gnus-group.el (gnus-group-make-tool-bar):
* lisp/gnus/gnus-msg.el (gnus-setup-message)
(gnus-summary-news-other-window, gnus-configure-posting-styles):
* lisp/gnus/gnus-salt.el (gnus-pick-mode, gnus-binary-mode):
* lisp/gnus/gnus-score.el (gnus-score-edit-current-scores)
(gnus-score-edit-file):
* lisp/gnus/gnus-srvr.el (gnus-server-mode):
* lisp/gnus/gnus-start.el (gnus-no-server-1)
(gnus-dribble-read-file, gnus-save-newsrc-file)
(gnus-gnus-to-newsrc-format):
* lisp/gnus/gnus-sum.el (gnus-summary-make-tool-bar)
(gnus-summary-mode, gnus-summary-setup-buffer)
(gnus-select-newsgroup, gnus-summary-edit-article)
(gnus-summary-setup-default-charset):
* lisp/gnus/gnus-topic.el (gnus-topic-mode):
* lisp/gnus/gnus-undo.el (gnus-undo-mode):
* lisp/gnus/gnus.el (gnus-simplify-mode-line):
* lisp/gnus/message.el (message-cite-reply-position)
(message-cite-style, message-mode, message-setup-fill-variables):
* lisp/gnus/mm-view.el (mm-display-inline-fontify):
* lisp/gnus/mml.el (mml-mode):
* lisp/gnus/nndiary.el (nndiary-open-nov):
* lisp/gnus/nnfolder.el (nnfolder-save-buffer)
(nnfolder-open-nov):
* lisp/gnus/nnheader.el (nnheader-init-server-buffer):
* lisp/gnus/nnimap.el (nnimap-make-process-buffer):
* lisp/gnus/nnml.el (nnml-get-nov-buffer): Prefer setq-local.
2020-12-07 16:45:33 +01:00
Eric Abrahamsen
bb28f8b9d1 Make sure Gnus search groups search topics recursively
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): If a search is initiated from
a topic line, make sure we get all the groups under that topic (and
under sub-topics).
2020-11-13 17:25:46 -08:00
Eric Abrahamsen
795b7da16b Add more protections to gnus-search query parsing
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): If the query is coming in via
the old 'nnir-query-spec key, we know not to parse it.
* lisp/gnus/gnus-search.el (gnus-search-make-query-string): Check if
the query was sent in as '(query "query"), and not '(query . "query).
(gnus-search-imap-search-keys): Add x-gm-raw to imap search keys.
(gnus-search-prepare-query): If we know this query should be raw,
don't even try parsing it, as it probably won't work.
2020-11-08 16:35:19 -08:00
Eric Abrahamsen
35d9881809 Various fixes and backward compatibility for gnus-search
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): Check for and accept the old
nnir-* spec keys.
* lisp/gnus/gnus-search.el (shared-initialize): Use
generate-new-buffer instead of doing it ourselves.
(gnus-search-server-to-engine): Raise an informative error explicitly
if we can't find a search engine, rather than letting it fall through
to something less helpful.
(gnus-search-make-spec): Add `gnus-search--complete-key-data' to
`completion-at-point-functions' locally, not globally.
2020-11-07 09:44:10 -08:00
Eric Abrahamsen
7fad12c59b New gnus-search library
This library provides a fundamental reworking of the search
functionality previously found in nnir.el.  It uses class-based search
engines to interface with external searching facilities, and a parsed
search query syntax that can search multiple engines.

* lisp/gnus/gnus-search.el: New library containing search
functionality for Gnus.
* doc/misc/gnus.texi: Document.
* lisp/gnus/gnus-group.el (gnus-group-make-search-group,
gnus-group-read-ephemeral-search-group): Remove references to nnir,
change meaning of prefix argument, change values of nnselect-function
and nnselect-args.
* lisp/gnus/nnselect.el: Replace references to nnir
(nnselect-request-article): Use gnus-search functions, and search
criteria.
(nnselect-request-thread, nnselect-search-thread): Use gnus-search
thread search.
(gnus-summary-make-search-group): Switch to use gnus-search function
and arguments.
* test/lisp/gnus/search-tests.el: Tests for new functionality.
2020-11-03 21:20:17 -08:00
Andrew G Cohen
206cff84bd Clean up group-finding in Gnus nnir search
This is part of removing code from nnir.el that isn't related to
searching backends and therefore belongs somewhere else.

* lisp/gnus/gnus-group.el (gnus-group-make-search-group)
(gnus-group-read-ephemeral-search-group): Put the logic for
determining the groups to search here, rather than in nnir. Improve
documentation.
* lisp/gnus/gnus-int.el (gnus-server-get-active): Renamed from
'nnir-get-active.
* lisp/gnus/nnir.el (nnir-run-imap, nnir-run-find-grep): Use it.
(nnir-get-active): Remove.
(nnir-make-specs): Make obsolete.
* lisp/gnus/nnselect.el (nnselect-group-server):  Make obsolete in
favor of 'gnus-group-server.
2020-09-11 09:02:09 +08:00
Andrew G Cohen
f103e89c1d Add aliases for recent Gnus nnselect changes
* lisp/org/ol-gnus.el (org-gnus-store-link): Change 'nnir to
'nnselect.
* lisp/gnus/gnus-group.el: Define obsolete function alias for
'gnus-group-make-nnir-group to
'gnus-group-read-ephemeral-search-group.
* lisp/gnus/gnus-sum.el: Define obsolete variable alias for
'gnus-refer-thread-use-nnir to 'gnus-refer-thread-use-search.
* lisp/gnus/nnselect.el: Define obsolete variable alias for
'nnir-retrieve-headers-override-function to
'nnselect-retrieve-headers-override-function.
* lisp/gnus/nnir.el: Restore definition of 'nnir-summary-line-format
and mark obsolete.
2020-09-07 09:05:04 +08:00
Basil L. Contovounesios
d7197f9d99 Fix formatting of recent Gnus nnselect changes
* doc/misc/gnus.texi (Finding the Parent, Selection Groups)
(Searching, Basic Usage): Heed sentence-end-double-space.  Fix
formatting of prose and examples.
* etc/NEWS: Fix typo.
* lisp/gnus/gnus-srvr.el: Remove disabled autoload.
* lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks):
* lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-search-group):
* lisp/gnus/gnus-sum.el (gnus-refer-thread-use-search)
(gnus-summary-refer-thread):
* lisp/gnus/gnus.el (gnus-kill-ephemeral-group):
* lisp/gnus/nnheader.el (nnheader-head-make-header)
(nnheader-parse-head):
* lisp/gnus/nnir.el:
(nnir-hyrex-remove-prefix, nnir-run-notmuch):
* lisp/gnus/nnselect.el: Fix formatting/indentation of commentary,
docstring, and/or code.
2020-09-06 16:06:57 +01:00
Lars Ingebrigtsen
7d927fa8dd Use `format-prompt' when prompting with default values
* lisp/woman.el (woman-file-name):
* lisp/wid-edit.el (widget-file-prompt-value)
(widget-coding-system-prompt-value):
* lisp/w32-fns.el (w32-set-system-coding-system):
* lisp/vc/vc.el (vc-print-root-log):
* lisp/vc/vc-annotate.el (vc-annotate):
* lisp/vc/emerge.el (emerge-read-file-name):
* lisp/vc/ediff.el (ediff-directories)
(ediff-directory-revisions, ediff-directories3)
(ediff-merge-directories, )
(ediff-merge-directories-with-ancestor)
(ediff-merge-directory-revisions)
(ediff-merge-directory-revisions-with-ancestor)
(ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
(ediff-revision):
* lisp/vc/ediff-util.el (ediff-toggle-regexp-match):
* lisp/vc/ediff-mult.el (ediff-filegroup-action):
* lisp/vc/add-log.el (prompt-for-change-log-name):
* lisp/textmodes/table.el (table-insert-row-column)
(table-span-cell, table-split-cell-horizontally)
(table-split-cell, table-justify, table-generate-source)
(table-insert-sequence, table-capture)
(table--read-from-minibuffer, table--query-justification):
* lisp/textmodes/sgml-mode.el (sgml-tag, sgml-tag-help):
* lisp/textmodes/reftex-ref.el (reftex-goto-label):
* lisp/textmodes/refer.el (refer-get-bib-files):
* lisp/textmodes/css-mode.el (css-lookup-symbol):
* lisp/term.el (serial-read-name, serial-read-speed):
* lisp/speedbar.el (speedbar-change-initial-expansion-list):
* lisp/simple.el (previous-matching-history-element)
(set-variable):
* lisp/ses.el (ses-read-cell, ses-set-column-width):
* lisp/replace.el (query-replace-read-from)
(occur-read-primary-args):
* lisp/rect.el (string-rectangle, string-insert-rectangle):
* lisp/progmodes/tcl.el (tcl-help-on-word):
* lisp/progmodes/sh-script.el (sh-set-shell):
* lisp/progmodes/python.el (python-eldoc-at-point):
* lisp/progmodes/octave.el (octave-completing-read)
(octave-update-function-file-comment, octave-insert-defun):
* lisp/progmodes/inf-lisp.el (lisp-symprompt):
* lisp/progmodes/cperl-mode.el (cperl-info-on-command)
(cperl-perldoc):
* lisp/progmodes/compile.el (compilation-find-file):
* lisp/net/rcirc.el (rcirc-prompt-for-encryption):
* lisp/net/eww.el (eww):
* lisp/net/browse-url.el (browse-url-with-browser-kind):
* lisp/man.el (man):
* lisp/mail/sendmail.el (sendmail-query-user-about-smtp):
* lisp/mail/mailalias.el (build-mail-aliases):
* lisp/mail/mailabbrev.el (merge-mail-abbrevs)
(rebuild-mail-abbrevs):
* lisp/locate.el (locate-prompt-for-search-string):
* lisp/isearch.el (isearch-occur):
* lisp/international/ogonek.el (ogonek-read-encoding)
(ogonek-read-prefix):
* lisp/international/mule.el (read-buffer-file-coding-system)
(set-terminal-coding-system, set-keyboard-coding-system)
(set-next-selection-coding-system, recode-region):
* lisp/international/mule-cmds.el ()
(universal-coding-system-argument, search-unencodable-char)
(select-safe-coding-system-interactively):
* lisp/info.el (Info-search, Info-search-backward, Info-menu):
* lisp/info-look.el (info-lookup-interactive-arguments):
* lisp/imenu.el (imenu--completion-buffer):
* lisp/ibuf-ext.el (mode, used-mode, ibuffer-mark-by-mode):
* lisp/hi-lock.el (hi-lock-unface-buffer)
(hi-lock-read-face-name):
* lisp/help.el (view-emacs-news, where-is):
* lisp/help-fns.el (describe-variable, describe-symbol)
(describe-keymap):
* lisp/gnus/mm-decode.el (mm-save-part):
* lisp/gnus/gnus-sum.el (gnus-summary-browse-url):
* lisp/gnus/gnus-group.el (gnus-group--read-bug-ids)
(gnus-group-set-current-level):
* lisp/frame.el (make-frame-on-monitor)
(close-display-connection, select-frame-by-name):
* lisp/format.el (format-encode-buffer, format-encode-region):
* lisp/files.el (recode-file-name):
* lisp/files-x.el (read-file-local-variable)
(read-file-local-variable-value, )
(read-file-local-variable-mode):
* lisp/ffap.el (ffap-menu-ask):
* lisp/faces.el (face-read-string):
* lisp/facemenu.el (facemenu-set-charset):
* lisp/erc/erc-dcc.el (erc-dcc-do-GET-command):
* lisp/emulation/edt-mapper.el (edt-mapper):
* lisp/emacs-lisp/trace.el (trace--read-args)
(trace-function-foreground, trace-function-background):
* lisp/emacs-lisp/smie.el (smie-config-set-indent):
* lisp/emacs-lisp/re-builder.el (reb-change-syntax):
* lisp/emacs-lisp/package.el (describe-package):
* lisp/emacs-lisp/find-func.el (read-library-name)
(find-function-read):
* lisp/emacs-lisp/ert.el (ert-read-test-name)
(ert-run-tests-interactively):
* lisp/emacs-lisp/disass.el (disassemble):
* lisp/emacs-lisp/debug.el (debug-on-entry)
(debug-on-variable-change):
* lisp/emacs-lisp/advice.el (ad-read-advised-function)
(ad-read-advice-class, ad-read-advice-name, ad-read-regexp):
* lisp/dired-x.el (dired--mark-suffix-interactive-spec):
* lisp/dired-aux.el (dired-diff):
* lisp/cus-edit.el (custom-variable-prompt, customize-mode)
(customize-changed-options):
* lisp/completion.el (interactive-completion-string-reader):
* lisp/calendar/timeclock.el (timeclock-ask-for-project):
* lisp/calc/calcalg3.el (calc-get-fit-variables):
* lisp/calc/calc-store.el (calc-edit-variable):
* lisp/calc/calc-bin.el (calc-word-size):
* lisp/bookmark.el (bookmark-set-internal):
* lisp/abbrev.el (read-abbrev-file): Use `format-prompt' for
prompting (bug#12443).
2020-09-06 16:56:54 +02:00
Andrew G Cohen
ecfc13e416 Introduce nnselect backend for gnus
This new backend allows gnus to handle arbitrary sets of messages
spanning multiple groups, even when these groups are from different
backends and different servers. All gnus glue is removed from
nnir (leaving only the backend search functions) and gnus
search-related processing is done through nnselect. In appropriate
places 'nnir' has been replaced by 'nnselect' or 'search'.

* etc/NEWS: Document the change.
* doc/misc/gnus.texi: New  documentation for nnselect and update
searching and thread-referral  sections.
* lisp/gnus/nnselect.el: New file.
* lisp/gnus/nnir.el: Remove all gnus glue, leaving only searching
capability. Improve documentation strings.
* lisp/gnus/gnus-group.el (gnus-group-read-ephemeral-search-group,
gnus-group-make-search-group): New functions.
* lisp/gnus/gnus-msg.el (gnus-setup-message, gnus-group-news,
gnus-summary-news-other-window): Update to work for nnselect. Fix
gnus-newsgroup-name wrangling.
*lisp/gnus/gnus-registry.el
(gnus-registry-action,gnus-registry-ignore-group-p): Make work from nnselect.
* lisp/gnus/nnheader.el (nnheader-parse-head, nnheader-parse-nov):
Rework and consolidate header parsing.
* lisp/gnus/gnus-agent.el (gnus-agent-regenerate-group):
* lisp/gnus/gnus-cache.el (gnus-possibly-enter-article):
* lisp/gnus/gnus-cloud.el (gnus-cloud-available-chunks):
* lisp/gnus/gnus-msg.el (gnus-inews-yank-articles):
* lisp/gnus/gnus-sum. (gnus-get-newsgroup-headers):
* lisp/gnus/nndiary.el (nndiary-parse-head):
* lisp/gnus/nnfolder.el (nnfolder-parse-head):
* lisp/gnus/nnmaildir.el (nnmaildir--update-nov):
* lisp/gnus/nnml.el (nnml-parse-head):
* lisp/gnus/nnspool.el (nnspool-insert-nov-head):
Use new header parsing.
* lisp/gnus/gnus-start.el (gnus-read-active-for-groups): Rescan on
activation by default.
* lisp/gnus/gnus-sum.el (gnus-summary-line-format-alist): New specs
for virtual groups.
(gnus-article-sort-by-rsv, gnus-thread-sort-by-rsv):  New functions to
allow sorting by search RSV.
2020-09-05 08:46:43 +08:00
Stefan Kangas
58d9623795 Fix minibuffer default of ephemeral debbugs group
* lisp/gnus/gnus-group.el (gnus-group--read-bug-ids): Don't read
number in "bug-123" as a negative bug ID; they are always positive.
2020-08-31 11:43:52 +02:00
Eric Abrahamsen
1153b238ae Set Gnus server 'closed status in gnus-close-server
* lisp/gnus/gnus-int.el (gnus-close-server): Set 'closed status here.
* lisp/gnus/gnus-group.el (gnus-group-suspend): Not here.
2020-08-27 14:19:07 -07:00
Lars Ingebrigtsen
3bd748ebba Fix problem with new-mail-mark in Gnus with non-unique names
* lisp/gnus/gnus-group.el (gnus-group-new-mail): Call with Gnus
group name.
(gnus-group-catchup): Ditto.

* lisp/gnus/gnus-sum.el (gnus-summary-exit): Ditto.

* lisp/gnus/nnimap.el (nnimap-update-info): Store Gnus group name.

* lisp/gnus/nnmail.el (nnmail-check-duplication): Store unique
Gnus names in the history instead of backend-specific (possibly
duplicated) group names (bug#41842).
2020-07-28 00:46:37 +02:00
Lars Ingebrigtsen
55e858d7cd Adjust naming convention for dependent Gnus sessions
* doc/misc/gnus.texi (Child Gnusae): Rename node from "Slave
Gnusae" and adjust wording.  Also remove at least one joke.

* lisp/gnus/gnus-start.el (gnus-no-server-1, gnus-1)
(gnus-setup-news, gnus-save-newsrc-file): Adjust parameter names.
(gnus-child-mode): Rename and add alias.
(gnus-child-save-newsrc): Rename.
(gnus-parent-read-child-newsrc): Ditto.

* lisp/gnus/gnus-group.el (gnus-group-mode)
(gnus-group-get-new-news): Ditto.

* lisp/gnus/gnus-agent.el (gnus-child-unplugged): Rename function
from gnus-slave-unplugged (and add the latter as an obsolete alias).

* lisp/gnus/gnus.el (gnus-other-frame-function): Adjust function
names in the defcustom to new naming scheme.
(gnus-other-frame-resume-function): Ditto.
(gnus): Adjust parameter names.
2020-07-17 01:46:57 +02:00
Stefan Monnier
5669878d7f * lisp/gnus/gnus-start.el (gnus-group-change-level): Simplify
* lisp/gnus/gnus-group.el (gnus-group-unsubscribe-group): Simplify.
2020-01-04 18:07:23 -05:00
Paul Eggert
365e01cc9f Update copyright year to 2020
Run "TZ=UTC0 admin/update-copyright $(git ls-files)".
2020-01-01 00:59:52 +00:00
Stefan Monnier
b1a6950584 * lisp/gnus/gnus.el (gnus-info): Define with cl-defstruct
This makes the accessors into (inlined) functions (instead of macros),
which simplifies some uses, and it makes the gnus-info-set-<foo>
macros redundant since we can use `setf` instead.  Remove them and
update all users.

(gnus-info-group, gnus-info-rank, gnus-info-read, gnus-info-marks)
(gnus-info-method, gnus-info-params): Auto-defined by defstruct.
(gnus-info-level, gnus-info-score): Define as a function.  Add gv-setter.
(gnus-info-set-group, gnus-info-set-rank, gnus-info-set-read): Remove,
use `setf` instead.
(gnus-info-set-marks, gnus-info-set-method, gnus-info-set-params):
Define as a function.
(gnus-info-set-entry): Delete function.
(gnus-info--grow-entry): New function, extracted from it.
(gnus-info--set-level, gnus-info--set-score): New functions, extracted
from the `gnus-info-set-level` and `gnus-info-set-score` which they replace.
(gnus-get-info): Define as a function.

* lisp/gnus/gnus-group.el (gnus-group-edit-group-done):
Use the `extend` arg of `gnus-info-set-method`.
(gnus-group-sort-selected-flat): eta-reduce.
2019-11-29 12:26:31 -05:00
Lars Ingebrigtsen
c2e77ff89a Revert "Make the debbugs groups also include robot messages"
This reverts commit 682eae776e.

The change made the bug# disappear from the Subject lines.
2019-11-02 15:37:14 +01:00
Lars Ingebrigtsen
682eae776e Make the debbugs groups also include robot messages
* lisp/gnus/gnus-group.el (gnus-bug-group-download-format-alist):
Change the URL to also include robot messages.
2019-10-30 00:17:57 +01:00
Eric Abrahamsen
2ff16a4837 Don't manipulate gnus-newsrc-alist if it hasn't been initalized
* lisp/gnus/gnus-group.el (gnus-group-set-info): Packages that use
Gnus summary mode without actually booting Gnus might end up in this
situation. See bug#36903
2019-10-04 15:14:28 -07:00
Paul Eggert
946a56a10f Update some URLs
This mostly changes http: to https: in URLs.  It also updates
some URLs that have moved, removes some URLs that no longer
work, recommends against using procmail (procmail.org no
longer works), and removes some mentions of the
no-longer-existing Gmane, LPF and VTW.
It doesn't update all URLs, just the ones I had time for.
* GNUmakefile (help):
* admin/admin.el (manual-doctype-string):
* admin/charsets/Makefile.in (${charsetdir}/ALTERNATIVNYJ.map):
* admin/charsets/mapconv:
* lisp/net/soap-client.el (soap-create-envelope):
* lisp/org/org.el (org-doi-server-url):
* lisp/textmodes/bibtex.el (bibtex-generate-url-list):
Prefer https: to http: un URLs.
2019-09-23 00:12:52 -07:00
Paul Eggert
89c63b3522 New function time-convert
This replaces the awkward reuse of encode-time to both convert
calendrical timestamps to Lisp timestamps, and to convert Lisp
timestamps to other forms.  Now, encode-time does just the
former and the new function does just the latter.
The new function builds on a suggestion by Lars Ingebrigtsen in:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00801.html
and refined by Stefan Monnier in:
https://lists.gnu.org/r/emacs-devel/2019-07/msg00803.html
* doc/lispref/os.texi (Time of Day, Time Conversion):
* doc/misc/emacs-mime.texi (time-date):
* etc/NEWS: Update documentation.
* lisp/calendar/cal-dst.el (calendar-next-time-zone-transition):
* lisp/calendar/time-date.el (seconds-to-time, days-to-time):
* lisp/calendar/timeclock.el (timeclock-seconds-to-time):
* lisp/cedet/ede/detect.el (ede-detect-qtest):
* lisp/completion.el (cmpl-hours-since-origin):
* lisp/ecomplete.el (ecomplete-add-item):
* lisp/emacs-lisp/cl-extra.el (cl--random-time):
* lisp/emacs-lisp/timer.el (timer--time-setter)
(timer-next-integral-multiple-of-time):
* lisp/find-lisp.el (find-lisp-format-time):
* lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
* lisp/gnus/gnus-group.el (gnus-group-set-timestamp):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-show-org-agenda):
* lisp/gnus/nnrss.el (nnrss-normalize-date):
* lisp/gnus/nnspool.el (nnspool-request-newgroups):
* lisp/net/ntlm.el (ntlm-compute-timestamp):
* lisp/net/pop3.el (pop3-uidl-dele):
* lisp/obsolete/vc-arch.el (vc-arch-add-tagline):
* lisp/org/org-clock.el (org-clock-get-clocked-time)
(org-clock-resolve, org-resolve-clocks, org-clock-in)
(org-clock-out, org-clock-sum):
* lisp/org/org-id.el (org-id-uuid, org-id-time-to-b36):
* lisp/org/ox-publish.el (org-publish-cache-ctime-of-src):
* lisp/proced.el (proced-format-time):
* lisp/progmodes/cc-cmds.el (c-progress-init)
(c-progress-update):
* lisp/progmodes/cperl-mode.el (cperl-time-fontification):
* lisp/progmodes/flymake.el (flymake--schedule-timer-maybe):
* lisp/progmodes/vhdl-mode.el (vhdl-update-progress-info)
(vhdl-fix-case-region-1):
* lisp/tar-mode.el (tar-octal-time):
* lisp/time.el (emacs-uptime):
* lisp/url/url-auth.el (url-digest-auth-make-cnonce):
* lisp/url/url-util.el (url-lazy-message):
* lisp/vc/vc-cvs.el (vc-cvs-parse-entry):
* lisp/vc/vc-hg.el (vc-hg-state-fast):
* lisp/xt-mouse.el (xterm-mouse-event):
* test/lisp/emacs-lisp/timer-tests.el:
(timer-next-integral-multiple-of-time-2):
Use time-convert, not encode-time.
* lisp/calendar/icalendar.el (icalendar--decode-isodatetime):
Don’t use now-removed FORM argument for encode-time.
It wasn’t crucial anyway.
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add time-convert.
* lisp/emacs-lisp/elint.el (elint-unknown-builtin-args):
Update encode-time signature to match current arg set.
* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
Use timer-convert with t rather than doing it by hand.
* src/timefns.c (time_hz_ticks, time_form_stamp, lisp_time_form_stamp):
Remove; no longer needed.
(decode_lisp_time): Rturn the form instead of having a *PFORM arg.
All uses changed.
(time_arith): Just return TICKS if HZ is 1.
(Fencode_time): Remove argument FORM.  All callers changed.
Do not attempt to encode time values; just encode
decoded (calendrical) times.
Unless CURRENT_TIME_LIST, just return VALUE since HZ is 1.
(Ftime_convert): New function, which does the time value
conversion that bleeding-edge encode-time formerly did.
Return TIME if it is easy to see that it is already
of the correct form.
(Fcurrent_time): Mention in doc that the form is planned to change.
* test/src/timefns-tests.el (decode-then-encode-time):
Don’t use (encode-time nil).
2019-08-05 18:37:29 -07:00
Eric Abrahamsen
cb12a84f2c Remove Gnus group name encoding/decoding
This completes the process started in c1b63af445. Gnus group names are
now fully decoded inside the Gnus system.

* lisp/gnus/gnus-agent.el (gnus-agent-file-coding-system): Change
  default to utf-8-emacs.
  (gnus-agent-decoded-group-names, gnus-agent-decoded-group-name):
  Remove variable and function. Remove all usage in this file.
* lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-names,
  gnus-cache-unified-group-names, gnus-cache-decoded-group-name):
  Remove these variables and function. Remove all usage in this file.
* lisp/gnus/gnus-group.el (gnus-tmp-decoded-group): Remove this
  variable, gnus-tmp-group is now decoded.
  (gnus-group-completing-read): Don't encode or decode group names
  here.
  (gnus-group-make-group): Remove ENCODED argument.
* lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Decode group
  names here.
* lisp/gnus/gnus-start.el (gnus-make-hashtable-from-newsrc-alist):
  check for encoded group names and decode.
  (gnus-active-to-gnus-format): Make sure incoming group names are
  decoded.
  (gnus-read-newsrc-el-file): Check for encoded group names in
  gnus-topic-alist.
* lisp/gnus/nnagent.el: Don't use a unibyte buffer.
* lisp/gnus/nnheader.el (nnheader-file-coding-system): Switch default
  from 'raw-text to 'undecided, on the assumption that 'undecided will
  probably write 'utf-8-emacs unless the user has arranged things
  otherwise.
* lisp/gnus/nnimap.el (nnimap-decode-gnus-group,
  nnimap-encode-gnus-group): Remove functions and their use.
* lisp/gnus/nnmail.el (nnmail-parse-active): Remove encoding.
  (nnmail-active-file-coding-system): Default to 'utf-8-emacs instead
  of 'raw-text.
  (nnmail-group-names-not-encoded-p): Obsolete this variable; stop
  using it.
* lisp/gnus/gnus-art.el:
* lisp/gnus/gnus-cus.el:
* lisp/gnus/gnus-msg.el:
* lisp/gnus/gnus-start.el:
* lisp/gnus/gnus-sum.el:
* lisp/gnus/gnus.el:
* lisp/gnus/nnml.el:
* lisp/gnus/message.el:
* lisp/gnus/nnrss.el: Stop using gnus-group-decoded-name in all these
  files.
2019-08-03 14:52:56 -07:00