]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years ago* lisp/simple.el (shift-select-mode): Add new choice 'permanent' (bug#50038).
Juri Linkov [Sun, 15 Aug 2021 16:18:05 +0000 (19:18 +0300)]
* lisp/simple.el (shift-select-mode): Add new choice 'permanent' (bug#50038).

(handle-shift-selection): Handle new choice 'permanent'.

3 years ago* lisp/tab-bar.el (tab-bar-new-button-show): Make variable obsolete.
Juri Linkov [Sun, 15 Aug 2021 16:15:42 +0000 (19:15 +0300)]
* lisp/tab-bar.el (tab-bar-new-button-show): Make variable obsolete.

3 years ago* lisp/nxml/nxml-mode.el (nxml-mode): Use add-function
Stefan Monnier [Sun, 15 Aug 2021 14:18:08 +0000 (10:18 -0400)]
* lisp/nxml/nxml-mode.el (nxml-mode): Use add-function

This avoids calling the internal function `buffer-substring--filter`
from `nxml.el`.

(nxml--buffer-substring-filter): Adjust accordingly.

3 years agoFilter out rng-state elements in nxml-mode buffers from the kill ring
Lars Ingebrigtsen [Sun, 15 Aug 2021 13:43:35 +0000 (15:43 +0200)]
Filter out rng-state elements in nxml-mode buffers from the kill ring

* lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Filter
out `rng-state' objects (bug#50061).
(nxml-mode): Set `filter-buffer-substring-function'.

3 years agoSort by recency in flex completion style when no flexy stuff happening
João Távora [Sun, 15 Aug 2021 12:19:59 +0000 (13:19 +0100)]
Sort by recency in flex completion style when no flexy stuff happening

Fixes: bug#49888
* minibuffer.el (completion--flex-adjust-metadata): Fall back to usual
alphanumeric, length, recency strategy if no minibuffer input.  There
is still a bug indicated by the nearby FIXMEs, though.

3 years agoAllow evaluating Python code across machines
Augusto Stoffel [Sun, 15 Aug 2021 12:00:49 +0000 (14:00 +0200)]
Allow evaluating Python code across machines

* python.el (python-shell-send-string): Ensure that the temporary file
is created in the host running the Python process (bug#50057).

3 years agoRun execute-extended-command key binding suggestion from a timer
Lars Ingebrigtsen [Sun, 15 Aug 2021 11:36:24 +0000 (13:36 +0200)]
Run execute-extended-command key binding suggestion from a timer

* lisp/simple.el (execute-extended-command): Run the key binding
suggestion from a timer instead of in the program flow -- this
allows `post-command-hook' to be executed immediately (bug#50042).

3 years agoMake Emacs compile with musl instead of glibc
Lars Ingebrigtsen [Sun, 15 Aug 2021 11:25:18 +0000 (13:25 +0200)]
Make Emacs compile with musl instead of glibc

* src/alloc.c: musl doesn't have malloc_info (bug#50058).

3 years ago; * src/xdisp.c (display_mode_lines): Fix comment.
Eli Zaretskii [Sun, 15 Aug 2021 11:18:17 +0000 (14:18 +0300)]
; * src/xdisp.c (display_mode_lines): Fix comment.

3 years agoFix unwarranted point movement after C-g
Eli Zaretskii [Sun, 15 Aug 2021 11:11:23 +0000 (14:11 +0300)]
Fix unwarranted point movement after C-g

When the same buffer is displayed in more than one window,
redisplay temporarily moves point to the window-point when it
works on non-selected windows.  If we allow C-g to quit out of
redisplay_window in this situation, point will appear to have
moved to the window-point of that non-selected window, which is
unwarranted.  These changes prevent quitting in strategic places,
so that we never quit out of redisplay_window.
* src/xdisp.c (run_window_scroll_functions):
Prevent quitting while running window-scroll-functions, so that we
don't quit out of redisplay_window with temporarily moved point.
(redisplay_window): While redisplaying the mode line, prevent
quitting, to avoid exiting while point is temporarily moved.
(decode_mode_spec): Use safe_call1 instead of call1, to trap any
errors instead of letting them throw out of redisplay.  (Bug#44448)

3 years agoMark up commands in shortdoc.el for modes
Masahiro Nakamura [Sun, 15 Aug 2021 09:54:56 +0000 (11:54 +0200)]
Mark up commands in shortdoc.el for modes

* lisp/emacs-lisp/shortdoc.el: Add command mode tagging
(bug#50064).

3 years agoFix bug#50063 when using icomplete-fido-kill with C-x p p
João Távora [Sun, 15 Aug 2021 08:12:23 +0000 (09:12 +0100)]
Fix bug#50063 when using icomplete-fido-kill with C-x p p

C-x p p utilizes a completion table "category" which is 'project-file'
icomplete-fido-kill only functioned for 'buffer' and 'file', and
failed with a non-informative message when something else was used.

* lisp/icomplete.el (icomplete-fido-kill): Support 'project-file'
class.  Use cl-case, instead of pcase.

3 years agoFix vc-git-state for filenames with wildcards
Wolfgang Scherer [Sun, 15 Aug 2021 01:02:23 +0000 (04:02 +0300)]
Fix vc-git-state for filenames with wildcards

* lisp/vc/vc-git.el: (vc-git--literal-pathspec-inner),
(vc-git--literal-pathspec), (vc-git--literal-pathspecs) new functions
to add ":(literal)" pathspec magic (bug#39452).

(vc-git-registered), (vc-git-state), (vc-git-dir-status-goto-stage),
(vc-git-register), (vc-git-unregister), (vc-git-checkin),
(vc-git-find-revision), (vc-git-checkout), (vc-git-revert),
(vc-git-conflicted-files), (vc-git-print-log), (vc-git-diff),
(vc-git-previous-revision), (vc-git-next-revision),
(vc-git-delete-file), (vc-git-rename-file) functions
vc-git--literal-pathspec, vc-git--literal-pathspecs applied.

3 years agoRevert "Bind the GIT_LITERAL_PATHSPECS environment variable"
Dmitry Gutov [Sun, 15 Aug 2021 00:45:42 +0000 (03:45 +0300)]
Revert "Bind the GIT_LITERAL_PATHSPECS environment variable"

This reverts commit a2d0ff26005c5c10ffe0d84bd8b458a06828be82.

It was found to break a certain use case, and we decided to go with
the other solution (bug#39452).

3 years agoMark auto-revert-test02-auto-revert-deleted-file as unstable
Lars Ingebrigtsen [Sat, 14 Aug 2021 19:37:32 +0000 (21:37 +0200)]
Mark auto-revert-test02-auto-revert-deleted-file as unstable

* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): This tests fails
about 30% of the time for me.

3 years ago* src/w32.c (_sys_read_ahead): Pacify a silly compiler warning.
Eli Zaretskii [Sat, 14 Aug 2021 17:38:05 +0000 (20:38 +0300)]
* src/w32.c (_sys_read_ahead): Pacify a silly compiler warning.

3 years ago* lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Fix bug#50051
Stefan Monnier [Sat, 14 Aug 2021 16:22:57 +0000 (12:22 -0400)]
* lisp/emacs-lisp/easymenu.el (easy-menu-do-define): Fix bug#50051

This corrects the quite confused conversion to closure done in
commit a070bd1c8b5213ad469d41dd80d392f924644aed.

3 years ago* lisp/progmodes/cc-engine.el (c-ml-string-in-end-delim): Rewrite function
Alan Mackenzie [Sat, 14 Aug 2021 14:42:55 +0000 (14:42 +0000)]
* lisp/progmodes/cc-engine.el (c-ml-string-in-end-delim): Rewrite function

3 years agoFix 'random' on MS-Windows when integers are wider than 30 bits
Eli Zaretskii [Sat, 14 Aug 2021 14:39:38 +0000 (17:39 +0300)]
Fix 'random' on MS-Windows when integers are wider than 30 bits

* src/w32.c (random): Provide more random bits for MS-Windows
builds with EMACS_INT that is wider than 32 bits.  (Bug#32605)

3 years agoAdd a test for netrc folding parsing (bug#25769)
Lars Ingebrigtsen [Sat, 14 Aug 2021 14:08:48 +0000 (16:08 +0200)]
Add a test for netrc folding parsing (bug#25769)

3 years agoFilter out -L foo labels in diff-hunk-file-names
Lars Ingebrigtsen [Sat, 14 Aug 2021 13:50:55 +0000 (15:50 +0200)]
Filter out -L foo labels in diff-hunk-file-names

* lisp/vc/diff-mode.el (diff-hunk-file-names): Filter out "-L foo"
labels (bug#10160).

3 years agoRevert "Add macro `seq-setq`."
Lars Ingebrigtsen [Sat, 14 Aug 2021 13:30:17 +0000 (15:30 +0200)]
Revert "Add macro `seq-setq`."

This reverts commit a8a3fd8f8e27089ac46bf98e534529ff03f679a5.

The same patch was applied twice.  Remove the second instance.

3 years agoMake lm-crack-address less strict
Lars Ingebrigtsen [Sat, 14 Aug 2021 13:23:29 +0000 (15:23 +0200)]
Make lm-crack-address less strict

* lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Use
mail-header-parse-address-lax (bug#50049).

3 years agoAdd new functions for lax mail address splitting
Lars Ingebrigtsen [Sat, 14 Aug 2021 13:20:59 +0000 (15:20 +0200)]
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.

3 years agoAdd macro `seq-setq`.
Earl Hyatt [Sat, 14 Aug 2021 12:17:55 +0000 (14:17 +0200)]
Add macro `seq-setq`.

* doc/lispref/sequences.texi (seq-setq): Document this macro.

* test/lisp/emacs-lisp/seq-tests.el (test-seq-setq):
Test this macro (bug#50053).

3 years agoAdd macro `seq-setq`.
Earl Hyatt [Sat, 14 Aug 2021 12:17:12 +0000 (14:17 +0200)]
Add macro `seq-setq`.

* doc/lispref/sequences.texi (seq-setq): Document this macro.

* lisp/emacs-lisp/seq.el (seq-setq): New macro.

* test/lisp/emacs-lisp/seq-tests.el (test-seq-setq):
Test this macro (bug#50053).

3 years agoFix memory-report counting of vector/hash table sizes
Yikai Zhao [Sat, 14 Aug 2021 11:46:30 +0000 (13:46 +0200)]
Fix memory-report counting of vector/hash table sizes

* lisp/emacs-lisp/memory-report.el (memory-report--object-size-1):
Count element values in vectors and hash tables.

Copyright-paperwork-exempt: yes

3 years agoFix merging of ambiguous nil maps
Basil L. Contovounesios [Tue, 3 Aug 2021 23:48:50 +0000 (00:48 +0100)]
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.

3 years agoAdd font-lock-doc-markup-face (bug#50041)
Mattias Engdegård [Fri, 13 Aug 2021 10:47:39 +0000 (12:47 +0200)]
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.

3 years ago; * etc/NEWS: Improve wording of a recent addition.
Eli Zaretskii [Sat, 14 Aug 2021 07:35:09 +0000 (10:35 +0300)]
; * etc/NEWS: Improve wording of a recent addition.

3 years agoCC Mode: Fix a bug in yesterday's patch
Alan Mackenzie [Fri, 13 Aug 2021 20:58:30 +0000 (20:58 +0000)]
CC Mode: Fix a bug in yesterday's patch

* lisp/progmodes/cc-mode.el (c-before-change-check-unbalanced-strings): Check
the language has multi-line strings before calling
c-ml-string-opener-at-or-around-point.

3 years agoMake `debug' reset `inhibit-read-only' while running
Lars Ingebrigtsen [Fri, 13 Aug 2021 13:50:14 +0000 (15:50 +0200)]
Make `debug' reset `inhibit-read-only' while running

* lisp/emacs-lisp/debug.el (debug): Bind `inhibit-read-only' to
nil in case we're in a context that has bound it to t (bug#26947).

3 years agoAdjust previous diff-changed-unspecified change
Lars Ingebrigtsen [Fri, 13 Aug 2021 13:37:21 +0000 (15:37 +0200)]
Adjust previous diff-changed-unspecified change

* lisp/vc/diff-mode.el (diff-changed-unspecified): Adjust the
definition to Emacs 28 (bug#26969).

3 years agoAdd new face diff-changed-unspecified
Lars Ingebrigtsen [Fri, 13 Aug 2021 13:35:49 +0000 (15:35 +0200)]
Add new face diff-changed-unspecified

* lisp/vc/diff-mode.el (diff-changed-unspecified): New face.
(diff-font-lock-keywords): Use it (bug#26969).

3 years agopermanently-enabled-local-variables doc string clarification
Lars Ingebrigtsen [Fri, 13 Aug 2021 12:44:30 +0000 (14:44 +0200)]
permanently-enabled-local-variables doc string clarification

* lisp/files.el (permanently-enabled-local-variables): Clarify
what kind of local variables this refers to.

3 years agoMake info-look search harder for the Python info file
Lars Ingebrigtsen [Fri, 13 Aug 2021 11:38:38 +0000 (13:38 +0200)]
Make info-look search harder for the Python info file

* lisp/info-look.el (python-mode): Try harder to find the correct
info file (bug#31405).

3 years agoFix problem where an error would change standard-output
Lars Ingebrigtsen [Fri, 13 Aug 2021 11:19:39 +0000 (13:19 +0200)]
Fix problem where an error would change standard-output

* src/keyboard.c (cmd_error): Don't set
standard-output/standard-input (bug#30529).  Instead bind them
temporarily while handling the error.

3 years agoUnknown line endings in filepos-to-bufferpos/bufferpos-to-linepos
Lars Ingebrigtsen [Fri, 13 Aug 2021 11:06:33 +0000 (13:06 +0200)]
Unknown line endings in filepos-to-bufferpos/bufferpos-to-linepos

* lisp/international/mule-util.el (filepos-to-bufferpos): Give
better errors on `exact' with unknown line endings, and guess at
Unix if `approximate' (bug#36573).
(bufferpos-to-filepos): Ditto.

3 years agoRemove :group from defcustoms in image-dired.el
Lars Ingebrigtsen [Fri, 13 Aug 2021 10:28:55 +0000 (12:28 +0200)]
Remove :group from defcustoms in image-dired.el

* lisp/image-dired.el: Remove :group from the defcustoms throughout.

3 years agoDon't disable transient mark mode when changing image faces
Peter Münster [Fri, 13 Aug 2021 10:25:27 +0000 (12:25 +0200)]
Don't disable transient mark mode when changing image faces

* lisp/image-dired.el (image-dired-thumb-update-marks): Keep the
mark state when changing faces. (bug#49999).

3 years ago* lisp/tab-bar.el (tab-bar-history-buttons-show): Remove defcustom.
Juri Linkov [Fri, 13 Aug 2021 07:30:20 +0000 (10:30 +0300)]
* lisp/tab-bar.el (tab-bar-history-buttons-show): Remove defcustom.

(tab-bar-format-history): Don't use this recently added variable
because now it's possible to customize the option 'tab-bar-format'
to remove 'tab-bar-format-history' from it that gives the same result.

3 years agoAdd save-some-buffers-root to save-some-buffers-default-predicate (bug#46374)
Juri Linkov [Fri, 13 Aug 2021 07:10:29 +0000 (10:10 +0300)]
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>

3 years agoCC Mode: Enhance C++ Mode raw strings to multi-line strings for any language
Alan Mackenzie [Thu, 12 Aug 2021 19:04:28 +0000 (19:04 +0000)]
CC Mode: Enhance C++ Mode raw strings to multi-line strings for any language

* lisp/progmodes/cc-defs.el (cadar, caddr, cdddr): Add defsubsts for these for
when they are missing from the host Emacs.
(c-point): Add new `position' 'boll "beginning of logical line".
(c-clear-char-properties): Return the position of the lowest removed
property.

* lisp/progmodes/cc-engine.el (c-full-pp-to-literal): Fix for rare case where
LIMIT < START in parse-partial-sexp.
(c-old-beg-rs, c-old-end-rs, c-raw-string-end-delim-disrupted)
(c-raw-string-pos, c-raw-string-in-end-delim, c-depropertize-raw-string)
(c-depropertize-raw-strings-in-region, c-before-change-check-raw-strings)
(c-propertize-raw-string-id, c-propertize-raw-string-opener): Old functions
and variables removed or renamed "raw" -> "ml" and adapted.
(c-old-beg-ml, c-old-1-beg-ml, c-old-end-ml, c-beg-pos, c-end-pos)
(c-ml-string-end-delim-disrupted, c-depropertize-ml-string-delims)
(c-ml-string-delims-around-point,c-position-wrt-ml-delims)
(c-before-change-check-ml-strings, c-after-change-unmark-ml-strings)
(c-maybe-re-mark-ml-string, c-propertize-ml-string-id)
(c-propertize-ml-string-opener, c-depropertize-ml-string)
(c-depropertize-ml-strings-in-region): New functions and variables adapted and
possibly renamed from "raw" -> "ml".
(c-ml-string-make-closer-re, c-ml-string-make-opener-re)
(c-c++-make-ml-string-closer-re, c-c++-make-ml-string-opener-re)
(c-get-ml-closer, c-ml-string-opener-around-point)
(c-ml-string-opener-intersects-region, c-ml-string-opener-at-or-around-point)
(c-ml-string-back-to-neutral, c-ml-string-in-end-delim, c-neutralize-pos)
(c-neutralized-prop): New functions and variables.

* lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Replace
c-font-lock-raw-strings with c-font-lock-ml-strings.
(c-font-lock-ml-strings): New function taking the place of the old
c-font-lock-ml-strings.

* lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Move
c-depropertize-CPP to the second item of the C++ entry, and replace
c-before-change-check-raw-strings by c-before-change-check-ml-strings.  Add a
new entry for Pike Mode.
(c-before-font-lock-functions): (Replace c-after-change-unmark-raw-strings by
c-after-change-unmark-ml-strings in the C++ entry, and add a new entry for
Pike Mode.
(c-ml-string-backslash-escapes, c-ml-string-non-punc-skip-chars)
(c-ml-string-opener-re, c-ml-string-max-opener-len, c-ml-string-any-closer-re)
(c-ml-string-max-closer-len, c-ml-string-max-closer-len-no-leader)
(c-ml-string-back-closer-re, c-make-ml-string-closer-re-function)
(c-make-ml-string-opener-re-function, c-ml-string-cpp-or-opener-re)
(c-cpp-or-ml-match-offset): New c-lang-defconsts and c-land-defvars.
(c-multiline-string-start-char): Remove the Pike Mode setting.

* lisp/progmodes/cc-mode.el (c-depropertize-CPP): Test for general ml strings
rather than C++ raw strings.
(c-unescaped-nls-in-string-p): Handle languages with ml strings.
(c-clear-string-fences): Fix bug with wrong parenthesisation.
(c-before-change-check-unbalanced-strings)
(c-after-change-mark-abnormal-strings, c-after-change-escape-NL-in-string):
Adapt for multi-line strings.

3 years agoImprove connection type `pipe' for remote processes
Michael Albinus [Thu, 12 Aug 2021 18:09:48 +0000 (20:09 +0200)]
Improve connection type `pipe' for remote processes

* doc/misc/tramp.texi (Remote processes): New subsection "Remote
process connection type".

* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
Use `tramp-process-connection-type' as default connection type.
Improve check for `:connection-type'.

* lisp/net/tramp-sh.el (tramp-sh-handle-make-process):
Use `tramp-process-connection-type' as default connection type.
Improve check for `:connection-type'.  Send "stty -icrnl" when
connection type is a pipe.

* lisp/net/tramp.el (tramp-process-connection-type): Allow all
possible values.
(tramp-handle-make-process): Use `tramp-process-connection-type'
as default connection type.  Improve check for `:connection-type'.

* test/lisp/net/tramp-tests.el (tramp-test30-make-process): Extend test.

3 years ago* lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Handle multi-addresses
Stefan Monnier [Thu, 12 Aug 2021 17:55:38 +0000 (13:55 -0400)]
* lisp/emacs-lisp/lisp-mnt.el (lm-crack-address): Handle multi-addresses

(lm-authors, lm-maintainers): Adjust accordingly.

3 years ago; Fix last change.
Basil L. Contovounesios [Thu, 12 Aug 2021 15:35:43 +0000 (16:35 +0100)]
; Fix last change.

3 years agoMake info-look try to use more recent Python manual
Lars Ingebrigtsen [Thu, 12 Aug 2021 15:20:35 +0000 (17:20 +0200)]
Make info-look try to use more recent Python manual

* lisp/info-look.el: Use the Debian-installed python3.9 manual if
it exists (bug#31405).

3 years agoFurther tweak minibuffer-inactive-mode doc string
Lars Ingebrigtsen [Thu, 12 Aug 2021 15:15:47 +0000 (17:15 +0200)]
Further tweak minibuffer-inactive-mode doc string

* lisp/minibuffer.el (minibuffer-inactive-mode): Mention
`minibuffer-exit-hook' (bug#13641).

3 years agoImprove minibuffer-inactive-mode documentation
Lars Ingebrigtsen [Thu, 12 Aug 2021 15:14:36 +0000 (17:14 +0200)]
Improve minibuffer-inactive-mode documentation

* lisp/minibuffer.el (minibuffer-inactive-mode): Clarify when it's
used (bug#13641).

3 years agoMention url-handler-mode in the Emacs manual
Lars Ingebrigtsen [Thu, 12 Aug 2021 14:50:54 +0000 (16:50 +0200)]
Mention url-handler-mode in the Emacs manual

* doc/emacs/misc.texi (Browse-URL): Mention url-handler-mode
(bug#30389).

* lisp/url/url-handlers.el (url-handler-mode): Improve doc string.

3 years ago* lisp/emacs-lisp/pcase.el (pcase-setq): Align its semantics with `pcase-let`
Stefan Monnier [Thu, 12 Aug 2021 15:04:30 +0000 (11:04 -0400)]
* lisp/emacs-lisp/pcase.el (pcase-setq): Align its semantics with `pcase-let`

* test/lisp/emacs-lisp/pcase-tests.el (pcase-tests-setq): Rename from
pcase-setq and ajust accordingly.

3 years agoAdd support for Python mode in info-lookup-symbol
Lars Ingebrigtsen [Thu, 12 Aug 2021 14:10:57 +0000 (16:10 +0200)]
Add support for Python mode in info-lookup-symbol

* lisp/info-look.el (:mode): Add support for Python mode
(bug#31405).

3 years agoClarify smie-indent-forward-token doc string
Lars Ingebrigtsen [Thu, 12 Aug 2021 13:39:36 +0000 (15:39 +0200)]
Clarify smie-indent-forward-token doc string

* lisp/emacs-lisp/smie.el (smie-indent-forward-token): Doc string
clarification (bug#31948).

3 years agoChange the `region' face in the Wombat theme
Lars Ingebrigtsen [Thu, 12 Aug 2021 13:34:36 +0000 (15:34 +0200)]
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).

3 years agoMention `find-ignore-file' in the vc.el commentary
Omar Polo [Thu, 12 Aug 2021 12:59:45 +0000 (14:59 +0200)]
Mention `find-ignore-file' in the vc.el commentary

* lisp/vc/vc.el: Update documentation in the comments about
`find-ignore-file' (bug#50013).

3 years agoAdd XLFD font parsing tests
Lars Ingebrigtsen [Thu, 12 Aug 2021 12:18:08 +0000 (14:18 +0200)]
Add XLFD font parsing tests

* test/src/font-tests.el (font-parse-xlfd-test): Add some tests
for XLFD testing (bug#35816).

3 years ago* lisp/emacs-lisp/cl-macs.el (fixnum, bignum): Fix type definitions
Stefan Monnier [Thu, 12 Aug 2021 02:42:06 +0000 (22:42 -0400)]
* lisp/emacs-lisp/cl-macs.el (fixnum, bignum): Fix type definitions

3 years agoFix bytecomp container test case
Lars Ingebrigtsen [Wed, 11 Aug 2021 23:19:26 +0000 (01:19 +0200)]
Fix bytecomp container test case

* lisp/startup.el (normal-top-level): Make startup more robust --
we may not be allowed to create any directories when running under
test mode (bug#48350).

3 years ago* lisp/obsolete/cl.el (labels): Don't quote lambda
Stefan Monnier [Wed, 11 Aug 2021 22:20:35 +0000 (18:20 -0400)]
* lisp/obsolete/cl.el (labels): Don't quote lambda

(flet): Don't need `fboundp` any more before calling `symbol-function`.

3 years agoAdd a `pcase-setq' macro
Earl Hyatt [Wed, 11 Aug 2021 21:54:31 +0000 (23:54 +0200)]
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).

3 years agoAllow using a single anonymous face in enriced-mode
Lars Ingebrigtsen [Wed, 11 Aug 2021 20:29:38 +0000 (22:29 +0200)]
Allow using a single anonymous face in enriced-mode

* lisp/format.el (format-annotate-single-property-change): Allow
using a single anonymous face (bug#33682).

3 years agoAllow using XLFD font names with dashes in the family name
Lars Ingebrigtsen [Wed, 11 Aug 2021 20:07:13 +0000 (22:07 +0200)]
Allow using XLFD font names with dashes in the family name

* src/font.c (font_parse_xlfd_1): Rename from font_parse_xlfd to
allow calling twice from a wrapper (bug#35816).
(font_parse_xlfd): Wrapper function -- first try to parse in the
normal way, and then try to guess that the hyphenated bits are in
the family name.

3 years agoAllow `tex-buffer' to work on buffers not visiting files
Lars Ingebrigtsen [Wed, 11 Aug 2021 19:26:29 +0000 (21:26 +0200)]
Allow `tex-buffer' to work on buffers not visiting files

* lisp/textmodes/tex-mode.el (tex-region): Make `tex-buffer' work
again on unsaved files (bug#34082).

3 years agoFix URL entry in ffap after previous change
Stephen Berman [Wed, 11 Aug 2021 16:06:13 +0000 (18:06 +0200)]
Fix URL entry in ffap after previous change

* lisp/ffap.el (ffap-read-file-or-url): Make URL entry actually
work again (bug#50011).

3 years agoAdd new image-dired commands
Peter Münster [Wed, 11 Aug 2021 16:02:25 +0000 (18:02 +0200)]
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.

3 years agoReplace some `string-match-p' calls in Tramp
Michael Albinus [Wed, 11 Aug 2021 13:34:43 +0000 (15:34 +0200)]
Replace some `string-match-p' calls in Tramp

* lisp/net/tramp.el (tramp-debug-message, tramp-set-completion-function)
(tramp-get-completion-methods, tramp-get-completion-user-host):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process)
(tramp-open-connection-setup-interactive-shell)
(tramp-convert-file-attributes): Use `string-prefix-p'.

* lisp/net/tramp.el (tramp-dissect-file-name)
(tramp-progress-reporter-update, tramp-handle-insert-directory):
* lisp/net/tramp-cache.el (tramp-get-hash-table)
(tramp-flush-directory-properties):
* lisp/net/tramp-cmds.el (tramp-append-tramp-buffers):
* lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory)
(tramp-call-local-coding-command, tramp-get-inline-coding):
* lisp/net/tramp-smb.el (tramp-smb-handle-file-attributes)
(tramp-smb-handle-file-name-all-completions)
(tramp-smb-handle-file-writable-p)
(tramp-smb-handle-insert-directory)
(tramp-smb-handle-start-file-process, )
(tramp-smb-read-file-entry): Use `tramp-compat-string-search'.

3 years agoMake icalendar parse multi-line items correctly
Rajeev Narang [Wed, 11 Aug 2021 12:57:43 +0000 (14:57 +0200)]
Make icalendar parse multi-line items correctly

* lisp/calendar/icalendar.el (icalendar--parse-summary-and-rest):
Parse multi-line items correctly (bug#37887).

3 years agoFix icalendar-import-file prompt
Lars Ingebrigtsen [Wed, 11 Aug 2021 12:54:20 +0000 (14:54 +0200)]
Fix icalendar-import-file prompt

* lisp/calendar/icalendar.el (icalendar-import-file): Fix prompt.

3 years agoMake gnus-icalendar-event-from-ical more robust
Lars Ingebrigtsen [Wed, 11 Aug 2021 12:52:32 +0000 (14:52 +0200)]
Make gnus-icalendar-event-from-ical more robust

* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event-from-ical):
Don't bug out on nil UIDs.

3 years agoDrop redundant keywords in .desktop files.
Peter Oliver [Sat, 10 Jul 2021 11:01:57 +0000 (12:01 +0100)]
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.

3 years agoHint that emacsclient.desktop should match a search for “emacsclient”
Peter Oliver [Sat, 10 Jul 2021 11:01:09 +0000 (12:01 +0100)]
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”.

3 years agoValid quoting in .desktop files
Peter Oliver [Wed, 7 Jul 2021 21:04:01 +0000 (22:04 +0100)]
Valid quoting in .desktop files

* etc/emacsclient.desktop, emacsclient-mail.desktop (Exec): Quote
according to the rules in the Freedesktop.org Desktop Entry
Specification.

3 years agoMark marked images in Image-Dired mode
Peter Münster [Wed, 11 Aug 2021 12:03:23 +0000 (14:03 +0200)]
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.

3 years agoLet image-dired-mouse-toggle-mark act on active region
Peter Münster [Wed, 11 Aug 2021 11:39:53 +0000 (13:39 +0200)]
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.

3 years ago; Fix typos
Juri Linkov [Wed, 11 Aug 2021 07:10:19 +0000 (10:10 +0300)]
; Fix typos

3 years ago* lisp/replace.el (perform-replace): Use 'remove-function' (bug#49963).
Juri Linkov [Wed, 11 Aug 2021 07:06:29 +0000 (10:06 +0300)]
* lisp/replace.el (perform-replace): Use 'remove-function' (bug#49963).

Don't let-bind the value of 'isearch-filter-predicate' to protect
from changing the global value, since with a buffer-local value
it still changes the global value.  So after using 'add-function' on the
global value of 'isearch-filter-predicate', call 'remove-function' to remove
'region-filter' from the global value in 'unwind-protect'.

3 years agoUse ### for outline headings in shell-script-mode
Lars Ingebrigtsen [Tue, 10 Aug 2021 16:21:15 +0000 (18:21 +0200)]
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.

3 years agoAdd support for outlining in shell-script-mode
Lars Ingebrigtsen [Tue, 10 Aug 2021 15:52:26 +0000 (17:52 +0200)]
Add support for outlining in shell-script-mode

* lisp/progmodes/sh-script.el (sh-mode): Set outline-regexp (bug#49346).

3 years agoAdd new user option `gnus-topic-prepare-topic'
Lars Ingebrigtsen [Tue, 10 Aug 2021 15:29:07 +0000 (17:29 +0200)]
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.

3 years agoMore robust auto-detect of grep-highlight-matches (bug#49978)
Mattias Engdegård [Tue, 10 Aug 2021 15:04:34 +0000 (17:04 +0200)]
More robust auto-detect of grep-highlight-matches (bug#49978)

* lisp/progmodes/grep.el (grep-compute-defaults):
Don't require "grep --help" to finish with exit status 0 (BSD grep
does not) and check the output in a slightly more robust way.

3 years agoAdd a new command `revert-buffer-quick'
Lars Ingebrigtsen [Tue, 10 Aug 2021 14:40:58 +0000 (16:40 +0200)]
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).

3 years agoFix nnrss-get-namespace-prefix (bug#34685)
Benjamin Riefenstahl [Tue, 10 Aug 2021 13:47:50 +0000 (15:47 +0200)]
Fix nnrss-get-namespace-prefix (bug#34685)

* lisp/gnus/nnrss.el (nnrss-get-namespace-prefix): Use the car of
parameter el to match what dom-search expects.
* test/lisp/gnus/nnrss-tests.el (test-nnrss-xml): Adjust to what
xml-parse-region produces (bug#34685).

3 years agoTramp string-search and string-replace compatibility functions
Mattias Engdegård [Tue, 10 Aug 2021 13:05:51 +0000 (15:05 +0200)]
Tramp string-search and string-replace compatibility functions

Add a `string-search` compatibility function for use in Tramp with
Emacs version prior to 28, and fix the existing `string-replace`
compatibility function so that it uses the right semantics.

* lisp/net/tramp-compat.el (tramp-compat-string-replace):
Use case-sensitive matching and literal replacement.
(tramp-compat-string-search): New function.
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
* lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions)
(tramp-do-copy-or-rename-file-out-of-band)
(tramp-sh-handle-make-process, tramp-sh-handle-process-file):
* lisp/net/tramp.el (tramp-handle-make-process):
Use `tramp-compat-string-search` instead of `string-match-p`.

3 years ago* lisp/emacs-lisp/cl-generic.el: Try and fix bug#49866
Stefan Monnier [Mon, 9 Aug 2021 23:03:01 +0000 (19:03 -0400)]
* lisp/emacs-lisp/cl-generic.el: Try and fix bug#49866

(cl-generic-generalizers): Remember the specializers that match
a given value.
(cl--generic-eql-generalizer): Adjust accordingly.

* test/lisp/emacs-lisp/cl-generic-tests.el (cl-generic-test-01-eql):
Add corresponding test.

3 years ago* lisp/emacs-lisp/package.el (package-buffer-info): Fix typo
Stefan Monnier [Mon, 9 Aug 2021 22:55:25 +0000 (18:55 -0400)]
* lisp/emacs-lisp/package.el (package-buffer-info): Fix typo

3 years ago* lisp/emacs-lisp/package.el (package-buffer-info): Use lm-maintainers
Stefan Monnier [Mon, 9 Aug 2021 16:05:22 +0000 (12:05 -0400)]
* lisp/emacs-lisp/package.el (package-buffer-info): Use lm-maintainers

Avoid the now obsolete `lm-maintainer`.

3 years agoMake ffap-read-file-or-url put point at the correct place for URLs
Lars Ingebrigtsen [Mon, 9 Aug 2021 14:03:02 +0000 (16:03 +0200)]
Make ffap-read-file-or-url put point at the correct place for URLs

* lisp/ffap.el (ffap-read-file-or-url): Put point at the end of
URLs (bug#44822).
(ffap--url-file-handler): Remove hack for default dirs.

3 years agoForestall "Selected deleted buffer" in url-http-generic-filter
dickmao [Mon, 9 Aug 2021 13:46:00 +0000 (15:46 +0200)]
Forestall "Selected deleted buffer" in url-http-generic-filter

* lisp/url/url-http.el (url-http-generic-filter): Check that
corresponding buffer is still live before using it (bug#49928).

3 years agoMake xterm-set-window-title more robust
Lars Ingebrigtsen [Mon, 9 Aug 2021 13:43:01 +0000 (15:43 +0200)]
Make xterm-set-window-title more robust

* lisp/term/xterm.el (xterm-set-window-title): Don't do anything
on graphic displays (bug#49932).

3 years agoFix tmm-get-keymap under native-compile
Lars Ingebrigtsen [Mon, 9 Aug 2021 13:19:45 +0000 (15:19 +0200)]
Fix tmm-get-keymap under native-compile

* lisp/tmm.el (tmm-get-keymap): Make this work under
natively-compiled Emacsen (and with lexical binding, too) (bug#49953).

3 years agoFurther fixes for package-quickstart-refresh printing
Lars Ingebrigtsen [Mon, 9 Aug 2021 12:47:01 +0000 (14:47 +0200)]
Further fixes for package-quickstart-refresh printing

* lisp/emacs-lisp/package.el (package-quickstart-refresh): Really
ensure that the structures aren't shortened (bug#49924).

3 years agoFix last commit of tramp.el
Michael Albinus [Mon, 9 Aug 2021 12:45:43 +0000 (14:45 +0200)]
Fix last commit of tramp.el

3 years agoFix freeze on OpenBSD when reading the SECONDARY selection
Grégoire Jadi [Mon, 9 Aug 2021 12:25:36 +0000 (14:25 +0200)]
Fix freeze on OpenBSD when reading the SECONDARY selection

* configure.ac (NSIG_MINIMUM): OpenBSD doesn't have a broken SIGIO
any more (bug#29170).  Backport fix from the current OpenBSD port
tree.

3 years agoAdd test for nnrss
Benjamin Riefenstahl [Mon, 9 Aug 2021 12:14:33 +0000 (14:14 +0200)]
Add test for nnrss

* test/lisp/gnus/nnrss-tests.el (test-nnrss-xml): New test (bug#34685).

3 years agoAdd a new test for dom-search
Lars Ingebrigtsen [Mon, 9 Aug 2021 12:14:01 +0000 (14:14 +0200)]
Add a new test for dom-search

3 years agoFix variable binding in calendar (bug#49945)
Mattias Engdegård [Mon, 9 Aug 2021 10:09:49 +0000 (12:09 +0200)]
Fix variable binding in calendar (bug#49945)

* lisp/calendar/cal-tex.el (cal-tex-week-hours, cal-tex-daily-page):
Use `let*` instead of `let`.

3 years agoUse string-search instead of string-match[-p]
Mattias Engdegård [Mon, 9 Aug 2021 09:20:00 +0000 (11:20 +0200)]
Use string-search instead of string-match[-p]

`string-search` is easier to understand, less error-prone, much
faster, does not pollute the regexp cache, and does not mutate global
state.  Use it where applicable and obviously safe (erring on the
conservative side).

* admin/authors.el (authors-canonical-file-name)
(authors-scan-change-log):
* lisp/apropos.el (apropos-command)
(apropos-documentation-property, apropos-symbols-internal):
* lisp/arc-mode.el (archive-arc-summarize)
(archive-zoo-summarize):
* lisp/calc/calc-aent.el (math-read-factor):
* lisp/calc/calc-ext.el (math-read-big-expr)
(math-format-nice-expr, math-format-number-fancy):
* lisp/calc/calc-forms.el (math-read-angle-brackets):
* lisp/calc/calc-graph.el (calc-graph-set-range):
* lisp/calc/calc-keypd.el (calc-keypad-press):
* lisp/calc/calc-lang.el (tex, latex, math-read-big-rec):
* lisp/calc/calc-prog.el (calc-fix-token-name)
(calc-user-define-permanent, math-define-exp):
* lisp/calc/calc.el (calc-record, calcDigit-key)
(calc-count-lines):
* lisp/calc/calcalg2.el (calc-solve-for, calc-poly-roots)
(math-do-integral):
* lisp/calc/calcalg3.el (calc-find-root, calc-find-minimum)
(calc-get-fit-variables):
* lisp/cedet/ede/speedbar.el (ede-tag-expand):
* lisp/cedet/semantic/java.el (semantic-java-expand-tag):
* lisp/cedet/semantic/sb.el (semantic-sb-show-extra)
(semantic-sb-expand-group):
* lisp/cedet/semantic/wisent/python.el
(semantic-python-instance-variable-p):
* lisp/cus-edit.el (get):
* lisp/descr-text.el (describe-text-sexp):
* lisp/dired-aux.el (dired-compress-file):
* lisp/dired-x.el (dired-make-relative-symlink):
* lisp/dired.el (dired-glob-regexp):
* lisp/dos-fns.el (dos-convert-standard-filename, dos-8+3-filename):
* lisp/edmacro.el (edmacro-format-keys):
* lisp/emacs-lisp/eieio-opt.el (eieio-sb-expand):
* lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar-object-expand):
* lisp/emacs-lisp/lisp-mnt.el (lm-keywords-list):
* lisp/emacs-lisp/warnings.el (display-warning):
* lisp/emulation/viper-ex.el (viper-ex-read-file-name)
(ex-print-display-lines):
* lisp/env.el (read-envvar-name, setenv):
* lisp/epa-mail.el (epa-mail-encrypt):
* lisp/epg.el (epg--start):
* lisp/erc/erc-backend.el (erc-parse-server-response):
* lisp/erc/erc-dcc.el (erc-dcc-member):
* lisp/erc/erc-speedbar.el (erc-speedbar-expand-server)
(erc-speedbar-expand-channel, erc-speedbar-expand-user):
* lisp/erc/erc.el (erc-send-input):
* lisp/eshell/em-glob.el (eshell-glob-entries):
* lisp/eshell/esh-proc.el (eshell-needs-pipe-p):
* lisp/eshell/esh-util.el (eshell-convert):
* lisp/eshell/esh-var.el (eshell-envvar-names):
* lisp/faces.el (x-resolve-font-name):
* lisp/ffap.el (ffap-file-at-point):
* lisp/files.el (wildcard-to-regexp, shell-quote-wildcard-pattern):
* lisp/forms.el (forms--update):
* lisp/frameset.el (frameset-filter-unshelve-param):
* lisp/gnus/gnus-art.el (article-decode-charset):
* lisp/gnus/gnus-kill.el (gnus-kill-parse-rn-kill-file):
* lisp/gnus/gnus-mlspl.el (gnus-group-split-fancy):
* lisp/gnus/gnus-msg.el (gnus-summary-resend-message-insert-gcc)
(gnus-inews-insert-gcc):
* lisp/gnus/gnus-rfc1843.el (rfc1843-decode-article-body):
* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output)
(gnus-search--complete-key-data):
* lisp/gnus/gnus-spec.el (gnus-parse-simple-format):
* lisp/gnus/gnus-sum.el (gnus-summary-refer-article):
* lisp/gnus/gnus-util.el (gnus-extract-address-components)
(gnus-newsgroup-directory-form):
* lisp/gnus/gnus-uu.el (gnus-uu-grab-view):
* lisp/gnus/gnus.el (gnus-group-native-p, gnus-short-group-name):
* lisp/gnus/message.el (message-check-news-header-syntax)
(message-make-message-id, message-user-mail-address)
(message-make-fqdn, message-get-reply-headers, message-followup):
* lisp/gnus/mm-decode.el (mm-dissect-buffer):
* lisp/gnus/nnheader.el (nnheader-insert):
* lisp/gnus/nnimap.el (nnimap-process-quirk)
(nnimap-imap-ranges-to-gnus-ranges):
* lisp/gnus/nnmaildir.el (nnmaildir--ensure-suffix):
* lisp/gnus/nnmairix.el (nnmairix-determine-original-group-from-path):
* lisp/gnus/nnrss.el (nnrss-match-macro):
* lisp/gnus/nntp.el (nntp-find-group-and-number):
* lisp/help-fns.el (help--symbol-completion-table-affixation):
* lisp/help.el (help-function-arglist):
* lisp/hippie-exp.el (he-concat-directory-file-name):
* lisp/htmlfontify.el (hfy-relstub):
* lisp/ido.el (ido-make-prompt, ido-complete, ido-copy-current-word)
(ido-exhibit):
* lisp/image/image-converter.el (image-convert-p):
* lisp/info-xref.el (info-xref-docstrings):
* lisp/info.el (Info-toc-build, Info-follow-reference)
(Info-backward-node, Info-finder-find-node)
(Info-speedbar-expand-node):
* lisp/international/mule-diag.el (print-fontset-element):
* lisp/language/korea-util.el (default-korean-keyboard):
* lisp/linum.el (linum-after-change):
* lisp/mail/ietf-drums.el (ietf-drums-parse-address):
* lisp/mail/mail-utils.el (mail-dont-reply-to):
* lisp/mail/rfc2047.el (rfc2047-encode-1, rfc2047-decode-string):
* lisp/mail/rfc2231.el (rfc2231-parse-string):
* lisp/mail/rmailkwd.el (rmail-set-label):
* lisp/mail/rmailsum.el (rmail-header-summary):
* lisp/mail/smtpmail.el (smtpmail-maybe-append-domain)
(smtpmail-user-mail-address):
* lisp/mail/uce.el (uce-reply-to-uce):
* lisp/man.el (Man-default-man-entry):
* lisp/mh-e/mh-alias.el (mh-alias-gecos-name)
(mh-alias-minibuffer-confirm-address):
* lisp/mh-e/mh-comp.el (mh-forwarded-letter-subject):
* lisp/mh-e/mh-speed.el (mh-speed-parse-flists-output):
* lisp/mh-e/mh-utils.el (mh-collect-folder-names-filter)
(mh-folder-completion-function):
* lisp/minibuffer.el (completion--make-envvar-table)
(completion-file-name-table, completion-flex-try-completion)
(completion-flex-all-completions):
* lisp/mpc.el (mpc--proc-quote-string, mpc-cmd-special-tag-p)
(mpc-constraints-tag-lookup):
* lisp/net/ange-ftp.el (ange-ftp-send-cmd)
(ange-ftp-allow-child-lookup):
* lisp/net/mailcap.el (mailcap-mime-types):
* lisp/net/mairix.el (mairix-search-thread-this-article):
* lisp/net/pop3.el (pop3-open-server):
* lisp/net/soap-client.el (soap-decode-xs-complex-type):
* lisp/net/socks.el (socks-filter):
* lisp/nxml/nxml-outln.el (nxml-highlighted-qname):
* lisp/nxml/rng-cmpct.el (rng-c-expand-name, rng-c-expand-datatype):
* lisp/nxml/rng-uri.el (rng-uri-file-name-1):
* lisp/obsolete/complete.el (partial-completion-mode)
(PC-do-completion):
* lisp/obsolete/longlines.el (longlines-encode-string):
* lisp/obsolete/nnir.el (nnir-compose-result):
* lisp/obsolete/terminal.el (te-quote-arg-for-sh):
* lisp/obsolete/tpu-edt.el (tpu-check-search-case):
* lisp/obsolete/url-ns.el (isPlainHostName):
* lisp/pcmpl-unix.el (pcomplete/scp):
* lisp/play/dunnet.el (dun-listify-string2, dun-get-path)
(dun-unix-parse, dun-doassign, dun-cat, dun-batch-unix-interface):
* lisp/progmodes/ebnf2ps.el: (ebnf-eps-header-footer-comment):
* lisp/progmodes/gdb-mi.el (gdb-var-delete)
(gdb-speedbar-expand-node, gdbmi-bnf-incomplete-record-result):
* lisp/progmodes/gud.el (gud-find-expr):
* lisp/progmodes/idlw-help.el (idlwave-do-context-help1):
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode)
(idlwave-shell-filter-hidden-output, idlwave-shell-filter):
* lisp/progmodes/idlwave.el (idlwave-skip-label-or-case)
(idlwave-routine-info):
* lisp/progmodes/octave.el (inferior-octave-completion-at-point):
* lisp/progmodes/sh-script.el (sh-add-completer):
* lisp/progmodes/sql.el (defun):
* lisp/progmodes/xscheme.el (xscheme-process-filter):
* lisp/replace.el (query-replace-compile-replacement)
(map-query-replace-regexp):
* lisp/shell.el (shell--command-completion-data)
(shell-environment-variable-completion):
* lisp/simple.el (display-message-or-buffer):
* lisp/speedbar.el (speedbar-dired, speedbar-tag-file)
(speedbar-tag-expand):
* lisp/subr.el (split-string-and-unquote):
* lisp/tar-mode.el (tar-extract):
* lisp/term.el (term-command-hook, serial-read-name):
* lisp/textmodes/bibtex.el (bibtex-print-help-message):
* lisp/textmodes/ispell.el (ispell-lookup-words, ispell-filter)
(ispell-parse-output, ispell-buffer-local-parsing):
* lisp/textmodes/reftex-cite.el (reftex-do-citation):
* lisp/textmodes/reftex-parse.el (reftex-notice-new):
* lisp/textmodes/reftex-ref.el (reftex-show-entry):
* lisp/textmodes/reftex.el (reftex-compile-variables):
* lisp/textmodes/tex-mode.el (tex-send-command)
(tex-start-tex, tex-append):
* lisp/thingatpt.el (thing-at-point-url-at-point):
* lisp/tmm.el (tmm-add-one-shortcut):
* lisp/transient.el (transient-format-key):
* lisp/url/url-auth.el (url-basic-auth)
(url-digest-auth-directory-id-assoc):
* lisp/url/url-news.el (url-news):
* lisp/url/url-util.el (url-parse-query-string):
* lisp/vc/vc-cvs.el (vc-cvs-parse-entry):
* lisp/wid-browse.el (widget-browse-sexp):
* lisp/woman.el (woman-parse-colon-path, woman-mini-help)
(WoMan-getpage-in-background, woman-negative-vertical-space):
* lisp/xml.el:
* test/lisp/emacs-lisp/check-declare-tests.el
(check-declare-tests-warn):
* test/lisp/files-tests.el
(files-tests-file-name-non-special-dired-compress-handler):
* test/lisp/net/network-stream-tests.el (server-process-filter):
* test/src/coding-tests.el (ert-test-unibyte-buffer-dos-eol-decode):
Use `string-search` instead of `string-match` and `string-match-p`.

3 years ago* src/nsterm.m (max_used_fringe_bitmap): Remove unused variable.
Alan Third [Sun, 8 Aug 2021 21:17:18 +0000 (22:17 +0100)]
* src/nsterm.m (max_used_fringe_bitmap): Remove unused variable.

3 years agoUn-obsolete dired-in-this-tree-p and use it again in certain places.
Tassilo Horn [Sun, 8 Aug 2021 14:45:50 +0000 (16:45 +0200)]
Un-obsolete dired-in-this-tree-p and use it again in certain places.

This reverts parts of b425966b07, and 7b50ed553f, i.e. it reverts the
obsoletion of dired-in-this-tree-p and switches some new callers of
file-in-directory-p back to using dired-in-this-tree-p.

It turned out that using file-in-directory-p can be a major
performance regression in case you have a dired buffer of a remote
directory which has become (almost) inaccessible.

Any attempt to open a new dired buffer is checking if a buffer for
that directory already exists (in terms of dired-buffers-for-dir)
which meant that file-in-directory-p was called with the directory of
any existing dired buffer including the inaccessible one where the
file-truename call in file-in-directory-p could block for seconds or
even minutes.

* lisp/dired.el (dired-in-this-tree-p): Undo obsoletion.
(dired-buffers-for-dir): Use dired-in-this-tree-p as before.
* lisp/dired-aux.el (dired-kill-tree,dired-tree-down): Une
dired-in-this-tree-p as before.

3 years agoUse string-replace instead of replace-regexp-in-string
Mattias Engdegård [Sun, 8 Aug 2021 16:58:46 +0000 (18:58 +0200)]
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`.