]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoAdd menu bindings to new functions in image-dired.el
Peter Münster [Wed, 18 Aug 2021 12:53:25 +0000 (14:53 +0200)]
Add menu bindings to new functions in image-dired.el

* lisp/image-dired.el (image-dired--with-marked): New macro for
cycling over marked thumbnails.
(image-dired-tag-thumbnail, image-dired-tag-thumbnail-remove): Can
handle now also all marked thumbnails.
(image-dired-tag-marked-thumbnails): Remove it, because it's
obsoleted by `image-dired-tag-thumbnail' now.
(image-dired-delete-marked): Use new macro
`image-dired--with-marked', and add command to menu (bug#50000).

3 years ago; * etc/NEWS (Icomplete): Fix typo and remove redundant word
João Távora [Wed, 18 Aug 2021 10:37:55 +0000 (11:37 +0100)]
; * etc/NEWS (Icomplete): Fix typo and remove redundant word

3 years agoFix ediff3 layouts with window-combination-resize non-nil (Bug#49277)
pillule [Wed, 18 Aug 2021 07:21:06 +0000 (09:21 +0200)]
Fix ediff3 layouts with window-combination-resize non-nil (Bug#49277)

* lisp/vc/ediff-wind.el (ediff-setup-windows-plain-compare)
(ediff-setup-windows-multiframe-compare): Fix three windows
layouts produced by ediff3 when 'window-combination-resize'
was customized to t and 'even-window-sizes' to nil.

3 years agoFix behavior when switch-to-prev-buffer-skip is a function (Bug#49275)
pillule [Wed, 18 Aug 2021 07:16:06 +0000 (09:16 +0200)]
Fix behavior when switch-to-prev-buffer-skip is a function (Bug#49275)

* lisp/window.el (switch-to-prev-buffer)
(switch-to-next-buffer): More correctly handle cases where
'switch-to-prev-buffer-skip' is a function.

3 years ago; Fix quoting of braces in electric-tests.el.
Basil L. Contovounesios [Tue, 17 Aug 2021 23:54:44 +0000 (00:54 +0100)]
; Fix quoting of braces in electric-tests.el.

3 years ago* Fix `native-compile-target-directory' effectiveness for async compilation.
Andrea Corallo [Tue, 17 Aug 2021 21:44:12 +0000 (23:44 +0200)]
* Fix `native-compile-target-directory' effectiveness for async compilation.

* lisp/emacs-lisp/comp.el (comp-run-async-workers): Forward to async
workers `native-compile-target-directory'.

3 years ago* lisp/mouse.el (context-menu-filter-function): Fix type.
Glenn Morris [Tue, 17 Aug 2021 18:31:09 +0000 (11:31 -0700)]
* lisp/mouse.el (context-menu-filter-function): Fix type.

3 years agoAnother fix for quitting while displaying non-selected windows
Eli Zaretskii [Tue, 17 Aug 2021 18:29:58 +0000 (21:29 +0300)]
Another fix for quitting while displaying non-selected windows

* src/xdisp.c (handle_face_prop, extend_face_to_end_of_line):
Inhibit quitting around the call to face_at_pos, to prevent
leaking wrong value of point when the user quits while we
redisplay a non-selected window.  (Bug#44448)

3 years ago* test/lisp/electric-tests.el: Skip most c-mode tests on hydra.
Glenn Morris [Tue, 17 Aug 2021 15:53:00 +0000 (08:53 -0700)]
* test/lisp/electric-tests.el: Skip most c-mode tests on hydra.

3 years ago; * etc/NEWS: Fix wording of a recently added entry.
Eli Zaretskii [Tue, 17 Aug 2021 12:47:10 +0000 (15:47 +0300)]
; * etc/NEWS: Fix wording of a recently added entry.

3 years ago; Fix a comment in a recent commit.
Eli Zaretskii [Tue, 17 Aug 2021 12:40:05 +0000 (15:40 +0300)]
; Fix a comment in a recent commit.

* lisp/help-mode.el (help-mode-syntax-table): Fix punctuation in a
comment.

3 years agoFix TTY display performance degradation due to many markers
Eli Zaretskii [Tue, 17 Aug 2021 12:31:53 +0000 (15:31 +0300)]
Fix TTY display performance degradation due to many markers

* src/coding.c (encode_coding_object): Don't assume that
src_object == dst_object means src_object is the current buffer.
Add the missing commentary that explains the arguments.
(Bug#49127)

3 years agoImprove `forward-sexp' in *Help* buffers
Michalis V [Tue, 17 Aug 2021 12:20:57 +0000 (14:20 +0200)]
Improve `forward-sexp' in *Help* buffers

* lisp/help-mode.el (help-mode-syntax-table): New variable (bug#39134).
(help-make-xrefs): Use it to make picking out symbols in curved
quotes work reliably.
(help-xref-on-pp): Ditto.

3 years agoBind <up> and <down> in icomplete-vertical-mode
João Távora [Tue, 17 Aug 2021 12:06:06 +0000 (13:06 +0100)]
Bind <up> and <down> in icomplete-vertical-mode

Suggested by Ergus <spacibba@aol.com>

* lisp/icomplete.el (icomplete-vertical-mode-minibuffer-map): Bind
<up> and <down>

3 years agoJump to first,last completion with M-<, M-> in icomplete-vertical-mode
João Távora [Tue, 17 Aug 2021 11:48:37 +0000 (12:48 +0100)]
Jump to first,last completion with M-<, M-> in icomplete-vertical-mode

Fixes: bug#49005
Co-authored-by: Simon Lang <simon.lang@outlook.com>
* lisp/icomplete.el (icomplete-backward-completions): Return
non-nil iff something was stepped.  Ajust docstring.
(icomplete-forward-completions): Adjust docstring.
(icomplete-vertical-goto-first, icomplete-vertical-goto-last): New commands.
(icomplete-vertical-mode-minibuffer-map): Bind new commands to M-< and M->.

3 years agoMerge branch 'feature/context-menu'
Juri Linkov [Tue, 17 Aug 2021 08:11:35 +0000 (11:11 +0300)]
Merge branch 'feature/context-menu'

3 years agoruby-mode imenu: Support methods with modifiers
Dmitry Gutov [Tue, 17 Aug 2021 01:07:19 +0000 (04:07 +0300)]
ruby-mode imenu: Support methods with modifiers

* lisp/progmodes/ruby-mode.el (ruby-imenu-create-index-in-block):
Support methods with modifiers (visibility or otherwise)
(bug#50079).

3 years agovc-git-region-history: Fix to call 'diff' more correctly
Dmitry Gutov [Tue, 17 Aug 2021 00:32:12 +0000 (03:32 +0300)]
vc-git-region-history: Fix to call 'diff' more correctly

* lisp/vc/vc-git.el (vc-git-region-history):
Fix to pass a list to the backend 'diff' command (bug#39452).

3 years agoMake icomplete-vertical-mode take immediate effect (bug#49075)
João Távora [Mon, 16 Aug 2021 22:15:12 +0000 (23:15 +0100)]
Make icomplete-vertical-mode take immediate effect (bug#49075)

* etc/NEWS: Mention change.

* lisp/icomplete.el (icomplete-vertical-mode):
(fido-vertical-mode): Tweak docstring.  Turn on
icomplete-mode. and fido-mdoe

3 years ago; Fix menu entry alignment of last change
Stephen Berman [Mon, 16 Aug 2021 20:55:50 +0000 (22:55 +0200)]
; Fix menu entry alignment of last change

* doc/lispref/elisp.texi (Top): Fix alignment.

3 years ago* test/Makefile.in: Verbose logging for electric-tests on hydra.
Glenn Morris [Mon, 16 Aug 2021 19:34:53 +0000 (12:34 -0700)]
* test/Makefile.in: Verbose logging for electric-tests on hydra.

3 years agoPlug another hole for longjmp-ing from 'redisplay_window'
Eli Zaretskii [Mon, 16 Aug 2021 19:06:26 +0000 (22:06 +0300)]
Plug another hole for longjmp-ing from 'redisplay_window'

* src/fringe.c (update_window_fringes): Inhibit quitting, so as
not to longjmp out of redisplay_window.  (Bug#44448)

3 years agoAdd Command Modes to Elisp manual menu and add index entries
Stephen Berman [Mon, 16 Aug 2021 17:13:53 +0000 (19:13 +0200)]
Add Command Modes to Elisp manual menu and add index entries

* doc/lispref/commands.texi (Command Modes): Add index entries.

* doc/lispref/elisp.texi (Top): Add entry for the Command Modes
node to the detailed node listing.

3 years agoFix recent documentation additions
Eli Zaretskii [Mon, 16 Aug 2021 17:11:33 +0000 (20:11 +0300)]
Fix recent documentation additions

* doc/lispref/searching.texi (Search and Replace): Document the
new functions by @defun.

3 years agoMerge from origin/emacs-27
Glenn Morris [Mon, 16 Aug 2021 15:01:03 +0000 (08:01 -0700)]
Merge from origin/emacs-27

9664ee182c (origin/emacs-27) C++ Mode: Don't confuse the pointer oper...
b3aec9ee48 CC Mode: Fix unstable fontification of doc strings.

# Conflicts:
# lisp/progmodes/cc-fonts.el

3 years agoMake overlays-in treat zero-length overlays at point-max consistently
Lars Ingebrigtsen [Mon, 16 Aug 2021 13:40:43 +0000 (15:40 +0200)]
Make overlays-in treat zero-length overlays at point-max consistently

* doc/lispref/display.texi (Finding Overlays): Adjust documentation.

* src/buffer.c (overlays_in): Treat the end of the buffer and the
end of the narrowed-to buffer the same (bug#19422).
(Foverlays_in): Adjust doc string.

3 years agoFix cursor movement on the Linux console with certain characters
Lars Ingebrigtsen [Mon, 16 Aug 2021 12:49:19 +0000 (14:49 +0200)]
Fix cursor movement on the Linux console with certain characters

* lisp/term/linux.el (terminal-init-linux): Switch off
auto-compositions, because they confuse cursor movement on the
Linux console (bug#21363).

3 years agoMinor clarification for define-minor-mode :variable
Lars Ingebrigtsen [Mon, 16 Aug 2021 12:24:53 +0000 (14:24 +0200)]
Minor clarification for define-minor-mode :variable

* lisp/emacs-lisp/easy-mmode.el (define-minor-mode):
* doc/lispref/modes.texi (Defining Minor Modes): Clarify what the
setter function should do (bug#14875).

3 years agoRemove prettification for \par in tex-mode
Clément Pit-Claudel [Mon, 16 Aug 2021 12:10:41 +0000 (14:10 +0200)]
Remove prettification for \par in tex-mode

* lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Remove
prettified version of `\par'.  Many fonts don't display anything for
the character it was mapped to (#x2029 PARAGRAPH SEPARATOR), so
enabling prettification makes every `\par' disappear (bug#50073).

3 years ago; * test/lisp/vc/diff-mode-tests.el: Remove useless \
Mattias Engdegård [Mon, 16 Aug 2021 09:37:19 +0000 (11:37 +0200)]
; * test/lisp/vc/diff-mode-tests.el: Remove useless \

3 years agoAdd new functions to replace strings/regexp in a region
Lars Ingebrigtsen [Mon, 16 Aug 2021 11:20:35 +0000 (13:20 +0200)]
Add new functions to replace strings/regexp in a region

* doc/lispref/searching.texi (Search and Replace): Document them.
* lisp/subr.el (replace-string-in-region)
(replace-regexp-in-region): New functions.

* lisp/emacs-lisp/shortdoc.el (regexp, buffer): Mention them.

3 years agoDon't remove `fontified' in nxml--buffer-substring-filter
Lars Ingebrigtsen [Mon, 16 Aug 2021 11:17:25 +0000 (13:17 +0200)]
Don't remove `fontified' in nxml--buffer-substring-filter

* lisp/nxml/nxml-mode.el (nxml--buffer-substring-filter): Removing
`fontified' is probably unnecessary (bug#50061).

3 years agoFix regressions in the last change
Dmitry Gutov [Mon, 16 Aug 2021 00:13:30 +0000 (03:13 +0300)]
Fix regressions in the last change

* lisp/vc/vc-git.el (vc-git-register):
Use file names verbatim with 'git update-index', as it only accepts
file names, not pathspecs (bug#39452).

* lisp/vc/vc.el (vc-print-root-log):
Expand ROOTDIR, so that vc-git-print-log doesn't receive an
abbreviated name.  Literal pathspecs don't work with those.

3 years agoC++ Mode: Don't confuse the pointer operator -> with the type indicating ->
Alan Mackenzie [Sun, 15 Aug 2021 19:43:58 +0000 (19:43 +0000)]
C++ Mode: Don't confuse the pointer operator -> with the type indicating ->

This fixes bug #47468.

* lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): While searching
backwards for "->" which is a type indicating operator, disallow also commas.

3 years agoCC Mode: Fix unstable fontification of doc strings.
Alan Mackenzie [Sun, 15 Aug 2021 18:08:25 +0000 (18:08 +0000)]
CC Mode: Fix unstable fontification of doc strings.

Also optimize a loop over several line doc-comments.

* lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): New variable
comment-mid, used as the starting point for applying c-doc-face-name in a
line comments.  In block comments, apply this face not from `comment-beg' but
from `region-beg', no earlier than the start of the fontification region.

3 years agoUse map-keymap in context-menu-global, context-menu-local, context-menu-minor
Juri Linkov [Sun, 15 Aug 2021 16:27:06 +0000 (19:27 +0300)]
Use map-keymap in context-menu-global, context-menu-local, context-menu-minor

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).