1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-01 18:00:40 -08:00
Commit graph

76526 commits

Author SHA1 Message Date
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
Andrii Kolomoiets
f450798cb0 Don't move point in vc-dir on vc-register/vc-checkin (bug#43188)
* lisp/vc/vc-dir.el (vc-dir-update):
  Save and restore point on 'ewoc-invalidate'.
* lisp/vc/vc-dispatcher.el (vc-finish-logentry):
  Don't call 'vc-dir-move-to-goal-column'.
* lisp/vc/vc.el (vc-register): Don't call 'vc-dir-move-to-goal-column'.
2020-09-05 00:16:39 +03:00
Lars Ingebrigtsen
9e5fd29bed Fix previous manual mis-merge of dired-aux
* lisp/dired-aux.el (dired-rename-file): Fix manual mis-merge of
previous patch.
2020-09-04 15:50:48 +02:00
Lars Ingebrigtsen
9e5db99d31 Fix up previous LAMDA->LAMBDA patch
* lisp/international/mule-cmds.el (ucs-names): Ensure we're only
matching LAMDA as a word.  Noted by Stefan Monnier.
2020-09-04 15:46:19 +02:00
Mauro Aranda
6dcfabea97 Do not remove unbound variables or faces when modifying a custom-theme
* lisp/cus-theme.el (custom-theme-write-variables
custom-theme-write-faces): Remove check for a bound symbol or for a
face name, so saving a theme does not remove not yet defined variables
or faces (bug#24727).
2020-09-04 15:35:41 +02:00
Michael Albinus
a418b0a920 Extend dbus.el by error messages, and :write access type
* doc/misc/dbus.texi (Receiving Method Calls): Describe how to
produce D-Bus error messages.
(Receiving Method Calls): Support :write access type.

* lisp/net/dbus.el (dbus-error-dbus, dbus-error-failed)
(dbus-error-access-denied, dbus-error-invalid-args)
(dbus-error-property-read-only): New defconsts.
(dbus-method-error-internal): Add arg ERROR-NAME.
(dbus-register-method): Adapt docstring.
(dbus-handle-event): Handle error messages returned from the handler.
(dbus-get-this-registered-property)
(dbus-get-other-registered-property): New defuns.
(dbus-register-property): Support :write access type.
(dbus-property-handler): Submit proper D-Bus error messages.
Handle several paths at the same interface.

* src/dbusbind.c (Fdbus_message_internal): Improve handling of
DBUS_MESSAGE_TYPE_ERROR.
2020-09-04 15:09:08 +02:00
Noam Postavsky
689f421252 Allow "lambda" spelling for ucs-insert
* lisp/international/mule-cmds.el (ucs-names): Add a "LAMBDA"
completion variant for every "LAMDA" name (bug#30513).
2020-09-04 06:43:13 +02:00
Robert Pluim
66d01012ba Show log suppression buttons in display-warning buffer
* etc/NEWS: Describe 'display-warning' button change (bug#30757).
* lisp/emacs-lisp/warnings.el (warning-suppress-warning):
Define button.
(warning-suppress-action): New function.
(warning-suppress-log-warning): Define button.
(warning-suppress-log-action): New function.
(display-warning): Show buttons to allow permanent
modification of warning-suppress-types and
warning-suppress-log-types per warning.
2020-09-04 06:28:21 +02:00
Tino Calancha
7769cad1e3 wdired-do-renames: Speed up for long Emacs sessions
`dired-rename-file' calls unconditionally `dired-rename-subdir'.
The second function performs performs a loop on all the Emacs
buffers; this step is only needed if FILE is a directory (bug#32899).

In a long lived Emacs session, this can make a difference
when renaming a bunch of files with `wdired'.
For instance, in my 40 days old Emacs session, with ~ 700 buffers,
this patch increases the speed to rename 2000 files a factor ~ 15.

* lisp/dired-aux.el (dired-rename-file): Call `dired-rename-subdir'
iif FILE is a directory.  Add docstring.
(dired-rename-subdir, dired-remove-entry)
(dired-remove-file): Add docstring.

(dired-remove-entry): Move definition into `dired.el'.

* lisp/wdired.el (wdired-do-renames): Use a progress-reporter.

* lisp/dired.el (dired-delete-entry):
Use `dired-remove-entry'.  Add docstring.

(dired-buffers-for-dir, dired-fun-in-all-buffers):
Change comment into docstring.
(dired-fun-in-all-buffers): Prefer `when' and `push' here.
2020-09-04 06:09:23 +02:00
Harald Jörg
70af9a9cb9 Fix infloop when indenting in cperl-mode
* lisp/progmodes/cperl-mode.el (cperl-indent-exp): Fix (Bug#10483)
Perl expressions (e.g. function calls) ending in ")" without
statement terminator on the same line no longer loop endlessly.
2020-09-04 05:13:43 +02:00
Lars Ingebrigtsen
74ba8f8421 Fix previous buffer name fixup in save-some-buffers
* lisp/files.el (save-some-buffers): Get the file name for the
correct buffer in the buffer name check (bug#43192).
2020-09-04 04:58:17 +02:00
Lars Ingebrigtsen
a0e026b274 Don't display the Gnus splash on gnus-read-ephemeral-emacs-bug-group
* lisp/gnus/gnus.el: Don't display the Gnus splash at load time
(bug#43123).
2020-09-04 04:45:55 +02:00
Stefan Monnier
6f88247a6c * lisp/mail/mspools.el: Use lexical-scoping. Autoload mspools-show.
(mspools-mode-map): Remove bindings made redundant by `special-mode-map`.
(mspools-show): Autoload.  Use `erase-buffer`.
(mspools-visit-spool): Use `inhibit-read-only`; simplify a bit.
(mspools-get-spool-files): Avoid `setq`.  Use `pcase-dolist`.
(mspools-revert-buffer): Make (unused) args optional.
(mspools-help, mspools-show-again, mspools-quit): Declare obsolete.
2020-09-03 22:03:46 -04:00
João Távora
ae6daa680a Fix ElDoc's eldoc-documentation-enthusiast strategy
As soon as we get a response from any of the user functions/sources in
eldoc-documentation-functions, we must make sure to call the
display-doc local function, just like in the other strategies.

That is even if that response produced nil, meaning that there's no
doc coming from that source.  Failure to do so when none of the
sources produced non-nil would keep stale documentation displaying.

First reported in https://github.com/joaotavora/eglot/issues/503

* lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy): Fix
:enthusiast strategy.
(Version): Bump to 1.10.0
2020-09-03 23:20:55 +01:00
Harald Jörg
7921b5db10 Fix freeze in cperl-mode when editing a regexp
* lisp/progmodes/cperl-mode.el (cperl-forward-group-in-re): Make
sure that an error is reported back to the caller (Bug#16368).

* test/lisp/progmodes/cperl-mode-tests.el (cperl-mode-test-bug-16368):
Tests for balanced (no error) and unbalanced (caught exception)
cases of `cperl-forward-group-in-re'.
2020-09-03 22:58:07 +02:00
Stefan Kangas
54070a5e20 Fix my previous change to cancel world-clock timer
* lisp/time.el (subr-x): Require when compiling.
(world-clock): Set 'kill-buffer-hook' buffer locally only.
(world-clock-update): Break out timer cancellation from here...
(world-clock-cancel-timer): ...to here, and don't rely on variable to
find the timer to cancel.
(world-clock-timer): Delete now superfluous variable.
2020-09-03 18:56:52 +02:00
João Távora
5142149758 Unbreak project.el, the GNU Elpa package, for Emacs 26.3
Fixes: bug#43164

* lisp/progmodes/project.el: Bump to 0.5.2
(bound-and-true-p): Check that tab-prefix-map is bound before binding.
2020-09-03 13:42:55 +01:00
Stefan Kangas
73d202e450 * lisp/eshell/esh-mode.el: Remove redundant :group args. 2020-09-03 14:36:38 +02:00
Stefan Kangas
23ee78b005 Support bookmarking Eshell buffers
* lisp/eshell/esh-mode.el (eshell-bookmark-name)
(eshell-bookmark-make-record, eshell-bookmark-jump): New defuns.
(eshell-mode): Set up bookmark handler.
2020-09-03 14:36:38 +02:00
Stefan Kangas
d37861535d Cancel timer when world-clock buffer is killed
* lisp/time.el (world-clock-timer): New variable.
(world-clock-cancel-timer): New defun.
(world-clock): Add 'world-clock-cancel-timer' to 'kill-buffer-hook'.
2020-09-03 12:54:30 +02:00
Stefan Kangas
18ae12e053 Use lexical-binding in mwheel.el 2020-09-02 23:18:02 +02:00
Stefan Kangas
76e8d935a7 Simplify mwheel-mode by using alist instead of two variables
* lisp/mwheel.el (mouse-wheel--remove-bindings): Update call
signature to take no arguments.  Doc fix.
(mouse-wheel--add-binding): Break out from...
(mouse-wheel-mode): ...here.  Simplify by using above functions.
(mouse-wheel--installed-bindings-alist): New variable.
(mwheel-installed-bindings): Make obsolete.
(mwheel-installed-text-scale-bindings): Make obsolete.
* test/lisp/mwheel-tests.el (mwheel-test-enable/disable):
New test.
2020-09-02 23:18:02 +02:00
Stefan Kangas
77a5b696bb Fix binding mouse wheel with modifiers in buffer area
* test/lisp/mwheel-tests.el (mwheel-test--create-scroll-keys): Fix
binding mouse wheel with modifiers in buffer area, while ignoring them
for fringes, margins, etc.  My previous change mistakenly ignored all
modifiers in `mouse-wheel-scroll-amount'.
* lisp/mwheel.el (mouse-wheel--create-scroll-keys): Fix test to
reflect the above.
2020-09-02 22:57:24 +02:00
Ulf Jasper
5aa5c0372d Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2020-09-02 19:59:57 +02:00
Ulf Jasper
c5e8254b9c Apply icalendar.el patch by Thomas Plass <thunk2@arcor.de>. Fix bug#34315.
* lisp/calendar/icalendar.el (icalendar--convert-tz-offset): No DST
  when RDATE is present.
* lisp/calendar/icalendar.el (icalendar--parse-vtimezone): Use
  `icalendar--get-most-recent-observance'.
* (icalendar--get-most-recent-observance): New.
* (icalendar--decode-isodatetime): Add parameters source-zone, result-zone.
* (icalendar--decode-isoduration): Fix decoding days.
* test/lisp/calendar/icalendar-tests.el (icalendar--decode-isoduration):
  Add testcases.
2020-09-02 19:58:56 +02:00
Michael Albinus
1457e84f44 Fix bug in dbus.el
* lisp/net/dbus.el (dbus-register-property)
(dbus-property-handler): Handle properties of the same interface
at different object paths properly.  (Bug#43146)
2020-09-02 19:50:14 +02:00
Eric Abrahamsen
410b16f92d Handle different IMAP server responses to COPY and MOVE
* lisp/gnus/nnimap.el (nnimap-request-move-article): Need to examine
different parts of the result.
2020-09-02 09:07:35 -07:00
Stefan Kangas
dd2c37d0e1 Fix OBOE in flyspell-check-previous-highlighted-word
* lisp/textmodes/flyspell.el
(flyspell-check-previous-highlighted-word): Fix off-by-one error when
word is at (point-min).  (Bug#39898)

Suggested by OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>.
2020-09-02 17:31:08 +02:00
Stefan Kangas
615c15fd85 Use lexical-binding in pcmpl-unix.el
* lisp/pcmpl-unix.el: Use lexical-binding.
(pcmpl-ssh-known-hosts, pcmpl-ssh-config-hosts, pcmpl-ssh-hosts):
Adjust for lexical-binding.
2020-09-02 16:37:48 +02:00
Stefan Kangas
a50b8397f4 Use lexical-binding in pcmpl-linux.el and add tests
* lisp/pcmpl-linux.el: Use lexical-binding.
(pcmpl-linux-fs-modules-path-format)
(pcmpl-linux-mtab-file): New constants.
(pcmpl-linux-fs-types, pcmpl-linux-mounted-directories): Use above
new constants.
* test/lisp/pcmpl-linux-resources/fs/ext4/.keep:
* test/lisp/pcmpl-linux-resources/mtab:
* test/lisp/pcmpl-linux-tests.el: New files.
2020-09-02 12:53:02 +02:00
Robert Pluim
2e3ec40293 Strip carriage returns from received password prompts (comint)
* comint.el (comint-password-prompt-regexp): Strip carriage
returns from the received prompt before matching.  (Bug#43003)
2020-09-01 17:01:48 +02:00
Glenn Morris
f7d14ef23b ; Auto-commit of loaddefs files. 2020-09-01 06:27:54 -07:00
Stefan Kangas
2ea34662c2 Use lexical-binding in pong.el
* lisp/play/pong.el: Use lexical-binding.
Remove redundant :group args.
2020-08-31 20:48:59 +02:00
Glenn Morris
2f797124c3 Merge from origin/emacs-27
f20169399d (origin/emacs-27) Fix typo in Introduction to Emacs Lisp
7605060d51 Update Elisp Manual reference to which-function-mode
29708cbde7 Some precisions to bug handling
dddc971f0e CC Mode: Fix processing for when c-multiline-string-start-...
4a73fb9668 Fix description of %-constructs in 'mode-line-format'
2020-08-31 10:45:54 -07:00
Lars Ingebrigtsen
a0d3d2935f Make quoted-printable-encode-region work in multibyte buffers
* lisp/mail/qp.el (quoted-printable-encode-region): If we're in a
multibyte buffer (that has been encoded with some coding system),
then get-byte will get the correct byte value.
2020-08-31 19:13:30 +02:00
Lars Ingebrigtsen
e63705ab9b Add a new function dom-print
* doc/lispref/text.texi (Document Object Model): Document it.

* lisp/dom.el (dom-print): New function.
2020-08-31 19:13:30 +02:00
Stefan Kangas
04578c1063 * lisp/dired-x.el (dired-omit-mode): Add autoload cookie. 2020-08-31 15:58:01 +02: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
Stefan Kangas
886ba068c8 Bind 'n' and 'p' in compilation-mode-map
* lisp/progmodes/compile.el (compilation-mode-map): Bind
'(next|previous)-error-no-select' to 'n' and 'p'.  (Bug#41844)
2020-08-30 21:12:33 +02:00
Stefan Kangas
6593d73928 Use lexical-binding in life.el and add tests
* lisp/play/life.el: Use lexical-binding.
(life--tick): Extract from...
(life): ...here.
(life--max-width, life--max-height): New variables.
(life-mode, life-setup): Use above variables.

* test/lisp/play/life-tests.el: New file.
2020-08-30 21:09:07 +02:00
Stefan Kangas
be2ef629ee Various life.el improvements
* lisp/play/life.el (life): New defgroup.
(life-step-time): New defcustom (lower default from 1 to 0.5).
(life): Use above new variable.  Make prefix arguments set step time
in tenths of a second instead of whole seconds.
(life-expand-plane-if-needed): Rename argument to step-time.

(life-setup): Fix running `M-x life' with existing buffer.

(life-patterns): Add three more classic patterns.
2020-08-30 21:09:07 +02:00
Stefan Kangas
87b4368862 Remove some XEmacs compat code from gamegrid.el
* lisp/play/gamegrid.el (gamegrid-setup-face): Remove XEmacs
compat code.
2020-08-30 21:09:07 +02:00
Stefan Kangas
2c284889e0 * lisp/play/tetris.el: Use lexical-binding. 2020-08-30 21:09:07 +02:00
Lars Ingebrigtsen
9d10a8ca05 Tweak background colours in shr when there's indentation
* lisp/net/shr.el (shr-fill-line): Get the background colour right
for the indentation, too.
2020-08-30 17:03:11 +02:00
Mauro Aranda
34e7617365 Respect :must-match for file types in customization buffers
* lisp/wid-edit.el (file widget): Add a :match and a :validate
function to the 'file widget, to be able to check if the widget
value is an existent file, when required (bug#25678).
2020-08-30 17:03:11 +02:00
João Távora
dd910dd2f8 Place flymake-eldoc-function at the end of eldoc-documentation-functions
Having it placed in the beginning of that hook meant it was mostly
impossible to track the args to a function call while writing it from
scratch, since most compilers issue a diagnostic about incorrect
number of arguments.

See bug#43103.

* lisp/progmodes/flymake.el (flymake-mode): Lower priority of
flymake-eldoc-function.
2020-08-30 14:55:36 +01:00
João Távora
bf018eefa2 ; tiny indentation fix to lisp/progmodes/elisp-mode.el
* lisp/progmodes/elisp-mode.el (elisp-eldoc-var-docstring): Fix
indentation.
2020-08-30 14:55:36 +01:00
Lars Ingebrigtsen
130bf51c41 Make format-prompt interpret a nil default value as "no default"
* doc/lispref/minibuf.texi (Text from Minibuffer): Document it.

* lisp/help-fns.el (describe-function): Adjust the caller.

* lisp/minibuffer.el (format-prompt): Interpret a nil default
value as "no default".
2020-08-30 15:22:20 +02:00
Lars Ingebrigtsen
6ac270dcd3 Fix compilation warning in snake.el
* lisp/play/snake.el (snake-reset-game): Avoid warning about
unused variable.
2020-08-30 14:16:07 +02:00
Stefan Kangas
826192409a Convert unsafep tests to ert
* lisp/emacs-lisp/tcover-unsafep.el: Move from here...
* test/lisp/emacs-lisp/unsafep-tests.el: ...to here, and convert to
use ert instead of tcover.
2020-08-29 23:35:00 +02:00