1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 04:10:54 -08:00
Commit graph

10368 commits

Author SHA1 Message Date
Dmitry Gutov
d1dbf7fc9e Revert "Bind the GIT_LITERAL_PATHSPECS environment variable"
This reverts commit a2d0ff2600.

It was found to break a certain use case, and we decided to go with
the other solution (bug#39452).
2021-08-15 03:45:42 +03:00
Lars Ingebrigtsen
e91b574bf8 Add new functions for lax mail address splitting
* lisp/emacs-lisp/subr-x.el (string-clean-whitespace): Autoload.
* lisp/mail/mail-parse.el (mail-header-parse-addresses-lax)
(mail-header-parse-address-lax): New functions.
2021-08-14 15:20:59 +02:00
Basil L. Contovounesios
37d48edf6d Fix merging of ambiguous nil maps
* lisp/emacs-lisp/map.el: Bump version to 3.1.
(map--merge): New merging subroutine that uses a hash table in place
of lists, for both efficiency and avoiding ambiguities (bug#49848).
(map-merge): Rewrite in terms of map--merge.
(map-merge-with): Ditto.  This ensures that FUNCTION is called
whenever two keys are merged, even if they are not eql (which could
happen until now).  It also makes map-merge-with consistent with
map-merge, thus achieving greater overall predictability.
* etc/NEWS: Announce this weakening of guarantees.
* test/lisp/emacs-lisp/map-tests.el (test-map-merge)
(test-map-merge-with): Don't depend on specific orderings.  Test
that nil is correctly merged into a plist.
2021-08-14 11:24:54 +01:00
Mattias Engdegård
1bfbb2b706 Add font-lock-doc-markup-face (bug#50041)
This face is intended for mark-up syntax and constructs inside text
using font-lock-doc-face; ie, documentation comments and strings in
programming modes.

* lisp/font-lock.el (font-lock-doc-markup-face): New face.
* lisp/cus-theme.el (custom-theme--listed-faces): Add it to the list.
* doc/lispref/modes.texi (Faces for Font Lock): Document it.
* etc/NEWS: Mention it.
2021-08-14 11:00:40 +02:00
Eli Zaretskii
a3dd5f1216 ; * etc/NEWS: Improve wording of a recent addition. 2021-08-14 10:35:09 +03:00
Lars Ingebrigtsen
4d51c2c472 Add new face diff-changed-unspecified
* lisp/vc/diff-mode.el (diff-changed-unspecified): New face.
(diff-font-lock-keywords): Use it (bug#26969).
2021-08-13 15:35:49 +02:00
Juri Linkov
a9ad3d4774 Add save-some-buffers-root to save-some-buffers-default-predicate (bug#46374)
* lisp/files.el (save-some-buffers-default-predicate): Add choice
'save-some-buffers-root'.
(save-some-buffers-root): New predicate function.
(save-some-buffers): Check if 'pred' returns a lexically-bound lambda,
then use it as 'pred'.

Thanks to Tino Calancha <tino.calancha@gmail.com>
2021-08-13 10:10:29 +03:00
Lars Ingebrigtsen
7328a6ea10 Change the `region' face in the Wombat theme
* etc/themes/wombat-theme.el (class): Don't use a foreground in
the `region' face because it obscures syntax highlighting (bug#32143).
2021-08-12 15:34:36 +02:00
Earl Hyatt
2f90fa19b8 Add a `pcase-setq' macro
* doc/lispref/control.texi (Destructuring with pcase Patterns):
Document this macro.

* lisp/emacs-lisp/pcase.el (pcase-setq): New macro.  This macro is
the 'setq' equivalent of 'pcase-let'.

* test/lisp/emacs-lisp/pcase-tests.el (pcase-setq): Test this new
macro. (bug#49809).
2021-08-11 23:54:31 +02:00
Peter Münster
7dbbe6cbc5 Add new image-dired commands
* lisp/image-dired.el (image-dired-delete-marked): Factored out
(bug#50000).
(image-dired-display-thumbs): From here.
(image-dired-tag-marked-thumbnails): New command.
(image-dired-delete-marked): Ditto.
2021-08-11 18:06:19 +02:00
Peter Oliver
024e6d213c Drop redundant keywords in .desktop files.
The Freedesktop.org Desktop Entry spec says, “The values [of
Keywords]… should not be redundant with the values of Name or
GenericName”.

* etc/emacs.desktop, etc/emacsclient.desktop (Keywords): Remove
keywords that are duplicated from the GenericName field.
2021-08-11 14:05:25 +02:00
Peter Oliver
aea7823a7e Hint that emacsclient.desktop should match a search for “emacsclient”
This is necessary to get the Gnome desktop to show “Emacs (Client)”
when the user searches for “emacsclient”.

* etc/emacsclient.desktop, emacsclient-mail.desktop (Keywords): Add
“emacsclient”.
2021-08-11 14:05:14 +02:00
Peter Oliver
0a4b66f827 Valid quoting in .desktop files
* etc/emacsclient.desktop, emacsclient-mail.desktop (Exec): Quote
according to the rules in the Freedesktop.org Desktop Entry
Specification.
2021-08-11 14:04:58 +02:00
Peter Münster
8b645837d2 Mark marked images in Image-Dired mode
* lisp/image-dired.el (image-dired-thumb-update-marks): New
function that makes the marks visible in the thumbnail buffer
(bug#49988).
(image-dired-thumb-margin, image-dired-thumb-mark-color): New user
options.
2021-08-11 14:03:23 +02:00
Peter Münster
c56e395edf Let image-dired-mouse-toggle-mark act on active region
* lisp/image-dired.el (image-dired-mouse-toggle-mark): When region is
active, then toggle marks of all images within (bug#49987).
(image-dired-mouse-toggle-mark-1): Separated out into function.
2021-08-11 13:39:53 +02:00
Lars Ingebrigtsen
a8e89964f3 Use ### for outline headings in shell-script-mode
* lisp/progmodes/sh-script.el (sh-mode): Use ### for outline headings.
This aligns it more with emacs-lisp-mode headings.
2021-08-10 18:21:15 +02:00
Lars Ingebrigtsen
a6bd049031 Add support for outlining in shell-script-mode
* lisp/progmodes/sh-script.el (sh-mode): Set outline-regexp (bug#49346).
2021-08-10 17:52:26 +02:00
Lars Ingebrigtsen
877df4eb1c Add new user option `gnus-topic-prepare-topic'
* doc/misc/gnus.texi (Topic Variables): Document it.
* lisp/gnus/gnus-topic.el (gnus-topic-prepare-topic): New user option.
(gnus-topic-prepare-topic): Use it.
2021-08-10 17:29:20 +02:00
Lars Ingebrigtsen
ebaae4480e Add a new command `revert-buffer-quick'
* doc/emacs/files.texi (Reverting): Document it.
* lisp/bindings.el (ctl-x-x-map): Bind `C-x x g' to
`revert-buffer-quick' instead.

* lisp/files.el (revert-buffer-quick-short-answers): New user option.
(revert-buffer-quick): New command (bug#49869).
2021-08-10 16:41:37 +02:00
Michael Albinus
fd2d56d63c Doc update wrt Tramp support of SSH security keys
* doc/misc/tramp.texi (Frequently Asked Questions): Speak about
SSH security keys.
(GVFS-based methods, Predefined connection information)
(Remote shell setup): Fix typo.

* etc/NEWS: Precise Tramp's support for SSH security keys.  Fix typos.
2021-08-08 16:18:59 +02:00
Eli Zaretskii
c327d61ec8 Improve wording of recently changed documentation
* src/minibuf.c (syms_of_minibuf):
* lisp/minibuffer.el (minibuffer-restore-windows):
* lisp/progmodes/etags.el (etags-xref-prefer-current-file):
Improve wording of doc strings.

* etc/NEWS: Improve wording and format of recently added entries.
2021-08-06 10:22:22 +03:00
Dmitry Gutov
fa895379d6 Change how project-find-file's completion works
* lisp/progmodes/project.el (project--completing-read-strict):
Allow to choose a non-existent file, with confirmation
(bug#49204).
Don't use the string at point as a "real" default, and instead
only include it in "future history": meaning, it will be inserted
on 'M-n' (bug#49865).
2021-08-06 03:30:10 +03:00
Dmitry Gutov
d5a2fdeefb New option etags-xref-prefer-current-file
* lisp/progmodes/etags.el (etags-xref-prefer-current-file):
New user option (bug#2544).
(xref-backend-definitions): Use it.
2021-08-06 03:12:40 +03:00
Juri Linkov
18d7562e91 Add function minibuffer-restore-windows (bug#45072)
* lisp/minibuffer.el (minibuffer-restore-windows): New function
that removes the completions buffer.  Add it to minibuffer-exit-hook.
* src/minibuf.c (read-minibuffer-restore-windows): Mention
minibuffer-restore-windows.
2021-08-06 02:36:22 +03:00
Lars Ingebrigtsen
2d8c14d299 Fix M-n description in refcards
* etc/refcards/pl-refcard.tex (section{Szukanie przyrostowe}):
Ditto (in comments).

* etc/refcards/refcard.tex (section{Incremental Search}): Fix M-n
description (bug#49872).
2021-08-05 13:14:32 +02:00
Basil L. Contovounesios
0b5cc6c567 ; Fix oauth typos in last change. 2021-08-05 11:40:31 +01:00
Roland Winkler
1505dca91f Add support for the oauth2.el library in nnimap and smtpmail
* doc/misc/gnus.texi (Customizing the IMAP Connection):
* doc/misc/smtpmail.texi (Authentication): Mention it.

* lisp/gnus/nnimap.el (nnimap-login): Support oauth2.

* lisp/mail/smtpmail.el (smtpmail-try-auth-method): New function
for oauth2.
2021-08-05 12:33:21 +02:00
Lars Ingebrigtsen
b8c43b594e Add a new thing-at-point type: existing-filename
* doc/lispref/text.texi (Buffer Contents): Mention it.

* lisp/thingatpt.el (thing-at-point-file-at-point): New function.
(existing-filename): Register it.
2021-08-04 10:35:53 +02:00
martin rudalics
51583a0f9f Add new user option 'read-minibuffer-restore-windows'
* doc/lispref/minibuf.texi (Text from Minibuffer): Document it
(bug#45072).

* lisp/cus-start.el (standard): Add.

* src/minibuf.c (syms_of_minibuf): New variable
'read-minibuffer-restore-windows'.
2021-08-04 08:48:18 +02:00
Stefan Monnier
b0d07396e8 * lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Don't emit warning
Also remove "WARNING" annotations after confirming that he code was right.
2021-08-03 19:02:11 -04:00
akater
6535fd1fa9 Evaluate eql specializers
* lisp/emacs-lisp/cl-generic.el (cl-generic-generalizers): Evaluate
forms that are eql specializers.  Provide backward compatibility
with a warning.

* test/lisp/emacs-lisp/cl-generic-tests.el: Add a test.
* lisp/emacs-lisp/bindat.el (bindat--type): Adhere to the new rule.
* lisp/emacs-lisp/edebug.el (edebug--match-&-spec-op): Adhere to the new rule.
* lisp/emacs-lisp/map.el (map-into): Adhere to the new rule.
* lisp/emacs-lisp/radix-tree.el (map-into): Adhere to the new rule.
* lisp/frame.el (cl-generic-define-context-rewriter): Adhere to the new rule.
* lisp/gnus/gnus-search.el
(gnus-search-transform-expression): Adhere to the new rule.
* lisp/image/image-converter.el
(image-converter--probe image-converter--convert): Adhere to the new rule.
* lisp/mail/smtpmail.el (smtpmail-try-auth-method): Adhere to the new rule.
* lisp/progmodes/elisp-mode.el
(xref-backend-definitions)
(xref-backend-apropos): Adhere to the new rule.
* lisp/progmodes/etags.el (xref-backend-identifier-at-point)
(xref-backend-identifier-completion-table)
(xref-backend-identifier-completion-ignore-case)
(xref-backend-definitions)(xref-backend-apropos): Adhere to the new rule.
* test/lisp/emacs-lisp/checkdoc-tests.el
(checkdoc-cl-defmethod-with-types-ok)
(checkdoc-cl-defmethod-qualified-ok)
(checkdoc-cl-defmethod-with-extra-qualifier-ok): Adhere to the new rule.

* etc/NEWS: Describe the change.
2021-08-03 18:26:15 -04:00
Phil Sainty
59128bb804 Make global-so-long-mode' use buffer-line-statistics'
* lisp/so-long.el: (so-long-statistics-excessive-p): New predicate
function using `buffer-line-statistics'.
(so-long-predicate): Use `so-long-statistics-excessive-p' by default.

* etc/NEWS: Describe changes.

* test/lisp/so-long-tests/so-long-tests-helpers.el:
* test/lisp/so-long-tests/so-long-tests.el: Update tests.
Also improve the existing `so-long-tests-predicate' tests.
2021-08-03 23:20:07 +12:00
Phil Sainty
10bd4bc6ec Support 'preserved' variables and minor modes in `so-long-mode'
The default values support preserving the state of `view-mode' when
switching to (and reverting from) `so-long-mode' (bug#45084).

* lisp/so-long.el (so-long-mode-preserved-variables)
(so-long-mode-preserved-minor-modes): New user options.
(so-long-mode-maintain-preserved-variables)
(so-long-mode-maintain-preserved-minor-modes): New functions.
(so-long-remember-all, so-long-after-change-major-mode)
(so-long-mode-revert): Use them.

* etc/NEWS: Describe changes.

* test/lisp/so-long-tests/so-long-tests-helpers.el:
* test/lisp/so-long-tests/so-long-tests.el: Update tests.
2021-08-03 23:20:07 +12:00
Phil Sainty
e8718522c2 Make `global-so-long-mode' handle unrecognised file types
* lisp/so-long.el (so-long-target-modes): Add `fundamental-mode'

* etc/NEWS: Describe changes.

This doesn't affect buffers which are simply in `fundamental-mode' by
default.  It only affects buffers for which `set-auto-mode' has been
called (normally via `find-file') without establishing a different
major mode.
2021-08-03 23:20:06 +12:00
Phil Sainty
9df60d52d5 Increase so-long-threshold' and so-long-max-lines' defaults
* lisp/so-long.el (so-long-threshold, so-long-max-lines): Increase
default values to reduce false-positives.

* etc/NEWS: Describe changes.

Lines shorter than 10,000 characters shouldn't generally be causing
problems, so testing this explicitly will largely eliminate
false-positives.  We must also increase the maximum number of lines
to check, because 'minified' code may still include newlines, and so
there may be many lines shorter than the new threshold before we find
a line which exceeds it.

Previously we used a minimum-effort heuristic, testing a very small
number of lines against a maximum length which, while not remotely
long enough to cause problems, would nevertheless be uncommon in any
normal file of programming code (and hence indicative that the file
was likely to be minified code).

Testing indicates that the performance penalty for the larger values
should be negligible.
2021-08-03 23:20:06 +12:00
Mattias Engdegård
660b17ef3e Indicate selected occur target with fringe arrow
* lisp/replace.el (occur--set-arrow): New function.
(occur-mode-goto-occurrence)
(occur-mode-goto-occurrence-other-window)
(occur-mode-display-occurrence): Call it.
* etc/NEWS: Announce.
2021-08-01 14:42:07 +02:00
Juri Linkov
12af7ee46d * lisp/filecache.el: Fix cycling (bug#49761).
(file-cache-cycle): Refactor from file-cache-minibuffer-complete.
(file-cache-minibuffer-complete): Use file-cache-cycle in 2 old places,
and in 1 following new place.  When last-command is equal to this-command,
use file-cache-cycle to continue cycling the previous completion
as long as the user continues typing C-TAB.
Also when displaying a list of completions, don't try to move point
to the common prefix.
2021-08-01 11:38:51 +03:00
Mattias Engdegård
ff16bea7f4 * etc/NEWS: Mention occur-mode highlight changes. 2021-07-31 22:46:24 +02:00
Lars Ingebrigtsen
943d79914b C-x 5 5 manual tweak
* doc/emacs/frames.texi (Creating Frames): Mention
other-frame-prefix function name.
2021-07-31 22:36:19 +02:00
Lars Ingebrigtsen
fa09452ab5 Update NEWS tagging for a couple entries 2021-07-31 22:27:08 +02:00
Lars Ingebrigtsen
59f80ffc7d Document outline-minor-mode-cycle in the manual.
* doc/emacs/text.texi (Outline Mode): Document outline-minor-mode-cycle.
2021-07-31 22:22:42 +02:00
Lars Ingebrigtsen
2dcb0f8f52 Add new user option python-forward-sexp-function
* lisp/progmodes/python.el (python-forward-sexp-function): New
user option (bug#41361).
(python-mode): Use it.
2021-07-31 18:44:02 +02:00
Lars Ingebrigtsen
f6c5a801ef Adjust how `replace-match' runs modification hooks
* src/editfns.c (Fsubst_char_in_region)
(Ftranslate_region_internal):
* src/cmds.c (internal_self_insert): Update callers.
* src/insdel.c (replace_range): Allow inhibiting
signal_after_change/update_compositions.
* src/lisp.h: Update.

* src/search.c (Freplace_match): Run the modification hooks at the
end instead of before adjusting point (bug#42424).
2021-07-31 17:44:43 +02:00
Adam Porter
44fe0043d3 * lisp/emacs-lisp/cl-macs.el: Add cl-type pattern
* lisp/emacs-lisp/cl-macs.el:
((pcase-defmacro type)): Add 'cl-type' pattern.

* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-cl-type): Add test.

* doc/lispref/control.texi (pcase Macro): Update manual.

With thanks to Stefan Monnier and Eli Zaretskii for their guidance.
2021-07-30 17:23:32 -04:00
Dmitry Gutov
df1dbaf121 Make fileloop skip missing files
* lisp/fileloop.el (fileloop-next-file): If a file doesn't exist,
skip to the next one (bug#44979).
2021-07-30 14:58:25 +02:00
Michael Albinus
5f65b67dac * etc/NEWS: Tramp supports authentication via yubikey now. Fix typos. 2021-07-30 11:57:50 +02:00
Stephen Gildea
5fb8b20fa3 mh-junk: replace color-based terms with descriptive words
* lisp/mh-e/*.el: "whitelist" -> "allowlist" and "blacklist" -> "blocklist".
* doc/misc/mh-e.texi: update manual to match.
* lisp/mh-e/folder.el: Change the binding of 'mh-junk-allowlist' to 'J a'.
  Add a compatibility binding for the old 'J w'.
* lisp/mh-e/mh-scan.el (mh-note-allowlisted): Change char from 'W' to 'A'.
* lisp/mh-e/junk.el: Rename 'mh-blacklist-a-msg' to 'mh-junk-blocklist-a-msg',
  adding the missing "junk-" to the function name.
2021-07-29 17:38:39 -07:00
Kévin Le Gouguec
6a6ea7bc6f Improve file-name-concat NEWS entry 2021-07-28 17:38:41 +02:00
Lars Ingebrigtsen
989937e1bc Revert "Make revert-buffer preserve buffer-readedness"
This reverts commit fcae435f59.

This leads to problems when reverting from a file that's changed
readedness externally.
2021-07-27 17:24:14 +02:00
Mattias Engdegård
a45aed9479 Describe changes to the occur-mode implementation in NEWS
* etc/NEWS: Mention change to the `occur-target` property (bug#39121).
2021-07-25 21:40:56 +02:00