]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years ago* lisp/files.el (minibuffer-with-setup-hook): Fix bug#46326
Stefan Monnier [Fri, 23 Apr 2021 21:17:40 +0000 (17:17 -0400)]
* lisp/files.el (minibuffer-with-setup-hook): Fix bug#46326

3 years ago* lisp/subr.el (add-hook): Try and fix bug#46326
Stefan Monnier [Fri, 23 Apr 2021 20:50:12 +0000 (16:50 -0400)]
* lisp/subr.el (add-hook): Try and fix bug#46326

Use `eq` indexing on `hook--depth-alist`.

(remove-hook): Remove old entries from `hook--depth-alist`.

3 years ago* lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p):
Michael Albinus [Fri, 23 Apr 2021 17:57:50 +0000 (19:57 +0200)]
* lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p):

Check, whether Tramp has a package description.

3 years ago* lisp/wdired.el (wdired--before-change-fn): Wrap body in save-match-data.
Juri Linkov [Fri, 23 Apr 2021 16:52:22 +0000 (19:52 +0300)]
* lisp/wdired.el (wdired--before-change-fn): Wrap body in save-match-data.

Suggested by Michael Heerdegen <michael_heerdegen@web.de> (bug#14013)

3 years ago; * etc/NEWS: Fix quoting.
Eli Zaretskii [Fri, 23 Apr 2021 13:33:36 +0000 (16:33 +0300)]
; * etc/NEWS: Fix quoting.

3 years agoFix a recent change in minibuf.texi
Eli Zaretskii [Fri, 23 Apr 2021 13:32:37 +0000 (16:32 +0300)]
Fix a recent change in minibuf.texi

* doc/lispref/minibuf.texi (Basic Completion)
(Programmed Completion): Improve wording, punctuation, and markup
of a recently-added text.

3 years ago; * etc/NEWS: Fix typo.
Stefan Kangas [Fri, 23 Apr 2021 13:14:13 +0000 (15:14 +0200)]
; * etc/NEWS: Fix typo.

3 years ago; * etc/NEWS: Fix a recently added entry.
Eli Zaretskii [Fri, 23 Apr 2021 13:02:42 +0000 (16:02 +0300)]
; * etc/NEWS: Fix a recently added entry.

3 years ago* etc/NEWS: 'world-clock-mode' is no longer interactive.
Stefan Kangas [Fri, 23 Apr 2021 12:31:40 +0000 (14:31 +0200)]
* etc/NEWS: 'world-clock-mode' is no longer interactive.

3 years agoExpand documentation on nontrivial completion boundaries.
Philipp Stephani [Fri, 23 Apr 2021 11:01:51 +0000 (13:01 +0200)]
Expand documentation on nontrivial completion boundaries.

The interplay between nontrivial completion boundaries and the other
completion functions is somewhat subtle, so it deserves a bit more
explanation.

* doc/lispref/minibuf.texi (Basic Completion)
(Programmed Completion): Add a few more remarks about nontrivial
completion boundaries.

3 years agoFix small bug in 'completion-table-subvert'.
Philipp Stephani [Fri, 23 Apr 2021 10:52:51 +0000 (12:52 +0200)]
Fix small bug in 'completion-table-subvert'.

Even for a trivial underlying completion table (where the 'boundaries'
action returns nil), we need to provide nontrivial boundaries so that
they match the behavior of 'all-completions'.

* lisp/minibuffer.el (completion-table-subvert): Return boundaries
even for trivial underlying completion table.
* test/lisp/minibuffer-tests.el (completion-table-subvert-test):
Amend unit test to also test boundaries.  While there, also test
the other completion functions.

3 years agoRevert "Remove the binding for xref-quit-and-goto-xref"
Eli Zaretskii [Fri, 23 Apr 2021 06:25:35 +0000 (09:25 +0300)]
Revert "Remove the binding for xref-quit-and-goto-xref"

This reverts commit 522c34f0e80f60969861b0dc34bc7105249f9994.

Making changes to which there was an explicit disagreement
and a long discussion is unacceptable.  (Bug#44611)

3 years agoMisc changes
Dmitry Gutov [Fri, 23 Apr 2021 00:24:06 +0000 (03:24 +0300)]
Misc changes

* lisp/progmodes/project.el (project-shell, project-eshell):
Simplify.
(project-switch-commands, project-switch-use-entire-map):
Add :group keywords (to fix misattribution to project-vc).

3 years agoAdd support for using a TLS client certificate with 'erc-tls' (bug#47788)
Amin Bandali [Fri, 23 Apr 2021 00:22:38 +0000 (20:22 -0400)]
Add support for using a TLS client certificate with 'erc-tls' (bug#47788)

* lisp/erc/erc-backend.el (erc-session-client-certificate): New
buffer-local variable storing the TLS client certificate used for the
current connection.
(erc-open-network-stream): Use open-network-stream instead of
make-network-process, and pass any additional arguments to it.
(erc-server-connect): Add an optional client-certificate argument
that if present is passed with the :client-certificate keyword as part
of the arguments to erc-server-connect-function.
* lisp/erc/erc.el (erc-open): Add new optional client-certificate
argument, set it as erc-session-client-certificate, and pass it along
to erc-server-connect.
(erc): Clarify documentation string with respect to the full-name
argument.
(erc-tls): Add new client-certificate keyword argument and pass it in
the direct call to erc-open (instead of going through erc).
(erc-open-tls-stream): Pass any additional arguments (such as
:client-certificate) to open-network-stream.  Also allow overriding
:nowait if desired.

* doc/misc/erc.texi: Add documentation for erc-tls, including the new
:client-certificate argument.

* etc/NEWS: Announce the change.

3 years agoIntroduce project-compilation-buffer-name-function
Ivan Sokolov [Fri, 23 Apr 2021 00:14:44 +0000 (03:14 +0300)]
Introduce project-compilation-buffer-name-function

* lisp/progmodes/project.el (project-compilation-buffer-name-function):
New option.
(project-compile): Use it.
(project-prefixed-buffer-name): New function.

Copyright-paperwork-exempt: yes

3 years ago* lisp/progmodes/xref.el: Remove the "still experimental" note.
Dmitry Gutov [Thu, 22 Apr 2021 21:19:26 +0000 (00:19 +0300)]
* lisp/progmodes/xref.el: Remove the "still experimental" note.

3 years agoRemove the binding for xref-quit-and-goto-xref
Dmitry Gutov [Thu, 22 Apr 2021 21:18:01 +0000 (00:18 +0300)]
Remove the binding for xref-quit-and-goto-xref

* lisp/progmodes/xref.el (xref--xref-buffer-mode-map):
Remove the binding for xref-quit-and-goto-xref (bug#44611).

* doc/emacs/maintaining.texi (Xref Commands): Update.

3 years ago; * configure.ac (LD_SWITCH_SYSTEM_TEMACS) [mingw32]: Fix last change.
Eli Zaretskii [Thu, 22 Apr 2021 19:11:08 +0000 (22:11 +0300)]
; * configure.ac (LD_SWITCH_SYSTEM_TEMACS) [mingw32]: Fix last change.

3 years ago* lisp/time.el (world-clock-mode): Make non-interactive.
Stefan Kangas [Thu, 22 Apr 2021 18:34:37 +0000 (20:34 +0200)]
* lisp/time.el (world-clock-mode): Make non-interactive.

3 years agoMinor improvements to world-clock
Stefan Kangas [Thu, 22 Apr 2021 18:27:18 +0000 (20:27 +0200)]
Minor improvements to world-clock

* lisp/time.el (world-clock-mode-map): New variable.  Bind 'n' and
'p' to 'next-line' and 'previous-line'.
(world-clock-update): Preserve point.

3 years agoFix MS-Windows link switches for unexec
Eli Zaretskii [Thu, 22 Apr 2021 17:23:23 +0000 (20:23 +0300)]
Fix MS-Windows link switches for unexec

* configure.ac (LD_SWITCH_SYSTEM_TEMACS) [mingw32]: Disable ASLR
when linking for unexec.  Reported by Nikolay Kudryavtsev
<nikolay.kudryavtsev@gmail.com>.

3 years ago* lisp/progmodes/which-func.el: Doc fixes.
Stefan Kangas [Thu, 22 Apr 2021 16:02:06 +0000 (18:02 +0200)]
* lisp/progmodes/which-func.el: Doc fixes.

3 years agoMove part of the fix from project to xref
Dmitry Gutov [Thu, 22 Apr 2021 00:29:09 +0000 (03:29 +0300)]
Move part of the fix from project to xref

* lisp/progmodes/project.el (project--find-regexp-in-files):
Don't unquote file names here.

* lisp/progmodes/xref.el (xref-matches-in-files): Do it here.
And only if the first element in the list is quoted (bug#47799).

3 years agoEnsure that argument to 'verify' is a constant expression.
Philipp Stephani [Thu, 22 Apr 2021 14:11:10 +0000 (16:11 +0200)]
Ensure that argument to 'verify' is a constant expression.

Casting NULL is not a constant expression (Bug#47951).

* lib-src/seccomp-filter.c (main): Turn check for null pointer
representation into a runtime assertion.

3 years ago* lisp/window.el (display-buffer): Doc fix. (Bug#47950)
Utkarsh Singh [Thu, 22 Apr 2021 13:44:43 +0000 (15:44 +0200)]
* lisp/window.el (display-buffer): Doc fix.  (Bug#47950)

Copyright-paperwork-exempt: yes

3 years agoFix unload+reload of files using `custom-initialize-delay` (bug#47072)
Stefan Monnier [Thu, 22 Apr 2021 13:32:04 +0000 (09:32 -0400)]
Fix unload+reload of files using `custom-initialize-delay` (bug#47072)

* lisp/custom.el (custom-initialize-delay): Don't delay if
`custom-delayed-init-variables` has already been processed.
* lisp/startup.el (command-line): Mark `custom-delayed-init-variables`
as processed.

3 years agoFix unclean "can't happen" error handling in read_minibuf_unwind
Alan Mackenzie [Thu, 22 Apr 2021 12:07:21 +0000 (12:07 +0000)]
Fix unclean "can't happen" error handling in read_minibuf_unwind

Also fix a bug where, with minibuffer-follows-selected-frame neither nil nor
t, a minibuffer could appear in two frames at the same time.

* src/window.c (Fset_window_configuration): Add a new &optional parameter
DONT-SET-MINIWINDOW, which inhibits the minibuffer from being restored from
the supplied window configuration.
(restore_window_configuration): Enhance to match the above.

* src/minibuf.c (read_minibuf): Enhance the argument list to the
restore_window_configuration calls to match the above.  In the main case,
restoring the minibuffer is inhibited.
(read_minibuf_unwind): Should the frame with the expired minibuffer not be
found ("can't happen"), unwind the stacked data nevertheless, rather than just
exiting.

* src/keyboard.c (read_char_help_form_unwind): Amend a call of
Fset_window_configuration.

* doc/lispref/windows.texi (Window Configurations): Document the new form of
set-window-configuration.

* etc/NEWS (Lisp Changes in Emacs 28.1): Amend the entry for
set-window-configuration.

3 years agoFix Isearch hscrolling in a corner case
Eli Zaretskii [Thu, 22 Apr 2021 11:01:42 +0000 (14:01 +0300)]
Fix Isearch hscrolling in a corner case

* lisp/isearch.el (isearch-update): When we start hscrolled,
consider also the case that point ends up being to the left of the
hscrolled window's edge.  (Bug#46316)

3 years agoFix 'window-text-pixel-size' when there's after-string at EOB
Eli Zaretskii [Thu, 22 Apr 2021 10:59:08 +0000 (13:59 +0300)]
Fix 'window-text-pixel-size' when there's after-string at EOB

* src/xdisp.c (move_it_to): Fix logic of reaching TO_CHARPOS when
there's a display or overlay string(s) at EOB.  (Bug#47860)

3 years agoAvoid lowering gc-cons-threshold
Stefan Kangas [Thu, 22 Apr 2021 02:11:02 +0000 (04:11 +0200)]
Avoid lowering gc-cons-threshold

* lisp/cedet/semantic/wisent/comp.el (wisent--compile-grammar):
* lisp/international/mule-cmds.el (ucs-names):
* lisp/progmodes/ebrowse.el (ebrowse-read):
* test/src/coding-tests.el (benchmark-decoder): Avoid lowering
gc-cons-treshold.

3 years ago* lisp/strokes.el: Doc fix; update URL.
Stefan Kangas [Thu, 22 Apr 2021 01:07:53 +0000 (03:07 +0200)]
* lisp/strokes.el: Doc fix; update URL.

3 years agoUse khaki1 as 'match' background
Dmitry Gutov [Thu, 22 Apr 2021 00:09:13 +0000 (03:09 +0300)]
Use khaki1 as 'match' background

* lisp/replace.el (match): Use khaki1 as the background color for
light backgrounds (bug#47574).

3 years ago* lisp/emacs-lisp/package.el (package-archives): Bump :version.
Stefan Kangas [Wed, 21 Apr 2021 21:27:13 +0000 (23:27 +0200)]
* lisp/emacs-lisp/package.el (package-archives): Bump :version.

3 years ago* lisp/emacs-lisp/package.el: Doc fix.
Stefan Kangas [Wed, 21 Apr 2021 21:24:50 +0000 (23:24 +0200)]
* lisp/emacs-lisp/package.el: Doc fix.

3 years agoMake outline commands repeatable (bug#47878)
Philip K [Wed, 21 Apr 2021 20:17:27 +0000 (22:17 +0200)]
Make outline commands repeatable (bug#47878)

* outline.el (outline-navigation-repeat-map): Add new map.
(outline-editing-repeat-map): Add new map.

3 years agoDon't erroneously declare `mark` as error-free
Mattias Engdegård [Wed, 21 Apr 2021 15:27:14 +0000 (17:27 +0200)]
Don't erroneously declare `mark` as error-free

* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns)
(side-effect-and-error-free-fns):
`mark` is side-effect-free but not error-free.

3 years ago* lisp/isearch.el (isearch-forward-thing-at-point): New command (bug#39512).
Juri Linkov [Wed, 21 Apr 2021 20:39:27 +0000 (23:39 +0300)]
* lisp/isearch.el (isearch-forward-thing-at-point): New command (bug#39512).

(search-map): Bind "M-s M-." to isearch-forward-thing-at-point.
(isearch-forward-thing-at-point): New defcustom.

3 years ago* lisp/thingatpt.el (region): Put property bounds-of-thing-at-point, bug#39512
Juri Linkov [Wed, 21 Apr 2021 19:37:05 +0000 (22:37 +0300)]
* lisp/thingatpt.el (region): Put property bounds-of-thing-at-point, bug#39512

3 years agoRemove a self-reference from the Emacs Lisp manual.
Philipp Stephani [Wed, 21 Apr 2021 18:54:32 +0000 (20:54 +0200)]
Remove a self-reference from the Emacs Lisp manual.

* doc/lispref/minibuf.texi (Programmed Completion): Remove
self-reference.

3 years agoImprove error message for missing Info manual
Stefan Kangas [Wed, 21 Apr 2021 16:19:46 +0000 (18:19 +0200)]
Improve error message for missing Info manual

* lisp/info.el (Info-find-file): Improve error message for missing
Info manual.  (Bug#46236)
Fix suggested by Eli Zaretskii <eliz@gnu.org>.

3 years agosgml-mode: Only set sgml-xml-mode if guessed to be an XML file
Philip K [Wed, 14 Apr 2021 17:19:01 +0000 (19:19 +0200)]
sgml-mode: Only set sgml-xml-mode if guessed to be an XML file

* lisp/textmodes/sgml-mode.el (sgml-mode): Don't override
sgml-xml-mode if the result of the guess is used as the buffer local
value.  (Bug#47877)

3 years ago; * lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix last change.
Eli Zaretskii [Wed, 21 Apr 2021 12:29:49 +0000 (15:29 +0300)]
; * lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix last change.

3 years ago* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix bug#47925
Stefan Monnier [Tue, 20 Apr 2021 23:40:09 +0000 (19:40 -0400)]
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix bug#47925

In order to correctly detect the case of the "new style" with an empty body,
remove the old optional arguments `init-value`, `lighter`, and `keymap`,
so we can distinguish the "nil arg" from the "absent arg" cases.

3 years agocperl-mode: Avoid abbrev expansion in variable names
Harald Jörg [Mon, 19 Apr 2021 22:25:39 +0000 (00:25 +0200)]
cperl-mode: Avoid abbrev expansion in variable names

* lisp/progmodes/cperl-mode.el (cperl-electric-else): Don't expand
scalar variables like '$continue' as keywords.  (Bug#47902)
* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-hyperactive-electric-else): Verify that keywords are
expanded but variable names aren't.

3 years ago* lisp/wdired.el (wdired--self-insert): Put symbol property delete-selection.
Juri Linkov [Tue, 20 Apr 2021 20:04:36 +0000 (23:04 +0300)]
* lisp/wdired.el (wdired--self-insert): Put symbol property delete-selection.

3 years ago* lisp/isearch.el (isearch-post-command-hook): Revert ff796823e5 (bug#47894).
Juri Linkov [Tue, 20 Apr 2021 20:00:26 +0000 (23:00 +0300)]
* lisp/isearch.el (isearch-post-command-hook): Revert ff796823e5 (bug#47894).

3 years agoAdd new library transient.el
Jonas Bernoulli [Tue, 20 Apr 2021 16:43:49 +0000 (18:43 +0200)]
Add new library transient.el

* lisp/transient.el: New file.

3 years agoFix Rmail-MIME size estimations
Eli Zaretskii [Tue, 20 Apr 2021 14:58:18 +0000 (17:58 +0300)]
Fix Rmail-MIME size estimations

The quoted-printable estimation was obviously wrong: the size becomes
smaller when decoded, not larger...
* lisp/mail/rmailmm.el (rmail-mime-set-bulk-data): Fix estimations
of decoded MIME attachment.

3 years ago* src/minibuf.c (Fread_no_blanks_input): Move to `minibuffer.el`
Stefan Monnier [Tue, 20 Apr 2021 14:36:48 +0000 (10:36 -0400)]
* src/minibuf.c (Fread_no_blanks_input): Move to `minibuffer.el`

* src/keymap.c (syms_of_keymap):
* lisp/minibuffer.el (minibuffer-local-ns-map): Move declaration
to initialization.
(read-no-blanks-input): Move from `minibuf.c`.

3 years ago* lisp/minibuffer.el (minibuffer-mode-map): Make it an alias
Stefan Monnier [Tue, 20 Apr 2021 13:36:26 +0000 (09:36 -0400)]
* lisp/minibuffer.el (minibuffer-mode-map): Make it an alias

Avoid creating this "dummy" keymap by making it an alias of
the parent keymap of all minibuffer keymaps.

3 years ago* src/minibuf.c (read_minibuf): Change multibyte more safely
Stefan Monnier [Tue, 20 Apr 2021 12:51:44 +0000 (08:51 -0400)]
* src/minibuf.c (read_minibuf): Change multibyte more safely

We used to `bset_enable_multibyte_characters` while the buffer is not
empty, putting the buffer temporarily in an inconsistent state.

Further simplifications along the way: Prefer re-using local var `histvar`
and let `insert` do the unibyte<->multibyte conversion if needed.

3 years agoFix localization problem in Tramp
Michael Albinus [Tue, 20 Apr 2021 11:35:26 +0000 (13:35 +0200)]
Fix localization problem in Tramp

* lisp/net/tramp-sh.el (tramp-get-remote-stat): Use localized
quotation characters for check.

3 years agoFix bug #47781: (window-list-1 nil t) wrongly returned nil.
Alan Mackenzie [Tue, 20 Apr 2021 10:53:02 +0000 (10:53 +0000)]
Fix bug #47781: (window-list-1 nil t) wrongly returned nil.

* src/window.c (candidate_window_p): In the WINDOW_P (all_frames) branch of
the conditional, insert "EQ (minibuf, Qt)" in the requisite place.

3 years agoIntroduce and use minibuffer-mode. This fixes bug #47150
Alan Mackenzie [Tue, 20 Apr 2021 10:14:40 +0000 (10:14 +0000)]
Introduce and use minibuffer-mode.  This fixes bug #47150

* lisp/minibuffer.el (minibuffer-mode): New derived mode.

* src/minibuf.c (syms_of_minibuf): New DEFSYMs Qminibuffer_mode,
Qminibuffer_inactive_mode, Qminibuffer_completing_file_name,
Qselect_frame_set_input_focus, Qadd_to_history.
(read_minibuf, set_minibuffer_mode, read_minibuf_unwind): Use the new DEFSYMs
in place of continual interning.
(set_minibuffer_mode): Put an active minibuffer into minibuffer-mode rather
than fundamental-mode.

* doc/emacs/mini.texi (Minibuffer Edit): Mention minibuffer-mode.

* doc/lispref/minibuf.texi (Intro to Minibuffers): Add a paragraph about
minibuffer-mode.

* etc/NEWS (Incompatible Lisp Changes in Emacs 28.1): Add an entry.

3 years ago(completion-all-sorted-completions): Additional alphabetical sorting
Daniel Mendler [Mon, 19 Apr 2021 20:13:55 +0000 (22:13 +0200)]
(completion-all-sorted-completions): Additional alphabetical sorting

Even in the cases where it does not make much visible difference,
it brings the benefit of making the result deterministic.

* minibuffer.el (minibuffer--sort-by-length-alpha): New function.
(minibuffer--sort-by-position): New function extracted from
`completion-all-sorted-completions`.
(completion-all-sorted-completions): Use use them.

3 years agominibuffer.el: Use completion--message instead of minibuffer-message
Daniel Mendler [Mon, 19 Apr 2021 13:40:00 +0000 (15:40 +0200)]
minibuffer.el: Use completion--message instead of minibuffer-message

* minibuffer.el: Use completion--message consistently for the messages
"Incomplete", "Sole completion" and "No completions".

3 years agoSeccomp filter: deal with arch_prctl(ARCH_CET_STATUS, ...).
Philipp Stephani [Mon, 19 Apr 2021 19:10:20 +0000 (21:10 +0200)]
Seccomp filter: deal with arch_prctl(ARCH_CET_STATUS, ...).

The dynamic loader of GNU libc 2.28 uses this system call to
initialize CPU information, see
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/cpu-features.c;hb=glibc-2.28#l28.
Simulating an older kernel by returning EINVAL should be the most
harmless rule here.

The ARCH_CET_STATUS symbol isn't yet exposed by the kernel headers;
see the FIXME at the top of
https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/x86/include/asm/prctl.h;hb=glibc-2.28.

* lib-src/seccomp-filter.c (ARCH_CET_STATUS): Define if not
already present.  Inline the value because there doesn't seem to
be a header file exporting this constant yet.
(main): Make ARCH_CET_STATUS subfunction of arch_prctl return EINVAL.

3 years ago* lisp/minibuffer.el (completion-all-sorted-completions): Fix last change
Stefan Monnier [Mon, 19 Apr 2021 19:10:05 +0000 (15:10 -0400)]
* lisp/minibuffer.el (completion-all-sorted-completions): Fix last change

3 years ago* lisp/minibuffer.el (minibuffer--sort-by-key): New function
Stefan Monnier [Mon, 19 Apr 2021 18:57:41 +0000 (14:57 -0400)]
* lisp/minibuffer.el (minibuffer--sort-by-key): New function

(completion-all-sorted-completions): Use it.

3 years agocompletion-all-sorted-completions: Fix sorting performance bug
Daniel Mendler [Mon, 19 Apr 2021 06:43:41 +0000 (08:43 +0200)]
completion-all-sorted-completions: Fix sorting performance bug

* lisp/minibuffer.el (completion-all-sorted-completions): Use hash
table for sorting by history position, O(m+n*log(n)) instead of
O(m*n*log(n)) with history length `m` and candidate length `n`.

3 years agocompleting-read: If HIST is the symbol `t', history is not recorded.
Daniel Mendler [Mon, 19 Apr 2021 06:20:50 +0000 (08:20 +0200)]
completing-read: If HIST is the symbol `t', history is not recorded.

* lisp/minibuffer.el (completion-all-sorted-completions): Check if
`minibuffer-history-variable` is `t`
* src/minibuf.c (completing-read): Update docstring
* doc/lispref/minibuf.texi: Update documentation of
`read-from-minibuffer` and `completing-read`

3 years ago; Normalize and add missing first and last lines
Stefan Kangas [Mon, 19 Apr 2021 10:21:01 +0000 (12:21 +0200)]
; Normalize and add missing first and last lines

3 years agoAdd Tramp recompilation
Michael Albinus [Mon, 19 Apr 2021 09:52:48 +0000 (11:52 +0200)]
Add Tramp recompilation

* doc/misc/tramp.texi (Frequently Asked Questions): Refer to GNU
ELPA Tramp README.

* lisp/net/tramp-cmds.el (tramp-recompile-elpa-command-completion-p)
(tramp-recompile-elpa): New defuns.  Add property `completion-predicate'.

3 years agoDon't hard-code "~/.emacs.d/" in two more places
Stefan Kangas [Mon, 19 Apr 2021 07:50:13 +0000 (09:50 +0200)]
Don't hard-code "~/.emacs.d/" in two more places

* lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
* lisp/progmodes/js.el (js-js-tmpdir): Don't hard-code
"~/.emacs.d/".

3 years agoDon't hard-code "~/.emacs.d/" in rcirc.el
Philip K [Sun, 18 Apr 2021 18:41:37 +0000 (20:41 +0200)]
Don't hard-code "~/.emacs.d/" in rcirc.el

* lisp/net/rcirc.el (rcirc-log-directory): Use
locate-user-emacs-file.  (Bug#47880)

3 years ago; * test/lisp/progmodes/xref-tests.el: Add footer.
Philipp Stephani [Sun, 18 Apr 2021 20:05:59 +0000 (22:05 +0200)]
; * test/lisp/progmodes/xref-tests.el: Add footer.

3 years agoFactor out a helper macro to create a temporary directory.
Philipp Stephani [Sun, 18 Apr 2021 19:57:59 +0000 (21:57 +0200)]
Factor out a helper macro to create a temporary directory.

This is a useful abstraction, and saves a few levels of indentation in
the test body.

* test/lisp/progmodes/project-tests.el
(project-tests--with-temporary-directory): New helper macro.
(project/quoted-directory): Use it.

3 years agoAdd quoted filename support to 'project-find-regexp' (Bug#47799).
Philipp Stephani [Sun, 18 Apr 2021 19:47:53 +0000 (21:47 +0200)]
Add quoted filename support to 'project-find-regexp' (Bug#47799).

This is only a band-aid; it would be better to fix xref.el to work
with quoted filenames as well.

* lisp/progmodes/project.el (project--find-regexp-in-files): Unquote
filenames before passing them to 'xref-matches-in-files'.
* test/lisp/progmodes/project-tests.el (project/quoted-directory):
Also test 'project-find-regexp'.

3 years agoExtend project test so that 'project-current' works.
Philipp Stephani [Sun, 18 Apr 2021 19:46:10 +0000 (21:46 +0200)]
Extend project test so that 'project-current' works.

* test/lisp/progmodes/project-tests.el (project/quoted-directory):
Verify that 'project-current' returns the right project.

3 years agoSkip a unit test that requires an external program if necessary.
Philipp Stephani [Sun, 18 Apr 2021 19:43:17 +0000 (21:43 +0200)]
Skip a unit test that requires an external program if necessary.

* test/lisp/progmodes/project-tests.el (project/quoted-directory):
Skip if the 'find' program isn't available.  The 'project-files'
function uses 'find' to obtain the list of project files.

3 years agoUpdate modus-themes to version 1.3.2
Protesilaos Stavrou [Sun, 18 Apr 2021 03:30:12 +0000 (06:30 +0300)]
Update modus-themes to version 1.3.2

* doc/misc/modus-themes.org (COPYING): Reword to match the phrasing of
other manuals that are distributed with Emacs.

(Install from the archives)
(Sample configuration for use-package)
(Option for more bold constructs)
(Option for more slanted constructs)
(Option for syntax highlighting)
(Option for no font mixing)
(Option for links)
(Option for command prompt styles)
(Option for completion framework aesthetics)
(Option for fringe visibility)
(Option for language checkers)
(Option for org-habit graph styles)
(Option for line numbers (display-line-numbers-mode))
(Option for parenthesis matching (show-paren-mode))
(Option for diff buffer looks)
(Option for scaled headings)
(Option for variable-pitch font in UI elements)
(Option for variable-pitch font in headings)
(Case-by-case face specs using the themes' palette (DIY))
(Face specs at scale using the themes' palette (DIY))
(Font configurations for Org and others (DIY))
(Load theme depending on time of day): Minor markup changes for better
texi output.

(Option for mode line presentation): Document new possible values for
'modus-themes-mode-line'.

(Option for line highlighting (hl-line-mode)): Document new
'modus-themes-hl-line' variable, which supersedes
'modus-themes-intense-hl-line'.

(Option for active region): Document new possible values for
'modus-themes-region'.

(Option for org-mode block styles): Cite variables that affect
fontification.

(Option for the headings' overall style): Include the option of a
per-level nil value.

(Remap face with local value (DIY))
(Override colors (DIY)): Add sections.

(Full support for packages or face groups): Document newly supported packages

(Note for dimmer.el)
(Note for EWW and Elfeed fonts (SHR fonts)): Add notes.

(Acknowledgements): Add names of new contributors.

(GNU Free Documentation License): Add tags for html export.

* etc/themes/modus-operandi-theme.el (File)
* etc/themes/modus-vivendi-theme.el (File): Update to version 1.3.1

* etc/themes/modus-themes.el (modus-themes-operandi-colors)
(modus-themes-vivendi-colors)
(modus-theme-subtle-red)
(modus-themes-subtle-red)
(modus-theme-subtle-green)
(modus-themes-subtle-green)
(modus-theme-subtle-yellow)
(modus-themes-subtle-yellow)
(modus-theme-subtle-blue)
(modus-themes-subtle-blue)
(modus-theme-subtle-magenta)
(modus-themes-subtle-magenta)
(modus-theme-subtle-cyan)
(modus-themes-subtle-cyan)
(modus-theme-subtle-neutral)
(modus-themes-subtle-neutral)
(modus-theme-intense-red)
(modus-themes-intense-red)
(modus-theme-intense-green)
(modus-themes-intense-green)
(modus-theme-intense-yellow)
(modus-themes-intense-yellow)
(modus-theme-intense-blue)
(modus-themes-intense-blue)
(modus-theme-intense-magenta)
(modus-themes-intense-magenta)
(modus-theme-intense-cyan)
(modus-themes-intense-cyan)
(modus-theme-intense-neutral)
(modus-themes-intense-neutral)
(modus-theme-refine-red)
(modus-themes-refine-red)
(modus-theme-refine-green)
(modus-themes-refine-green)
(modus-theme-refine-yellow)
(modus-themes-refine-yellow)
(modus-theme-refine-blue)
(modus-themes-refine-blue)
(modus-theme-refine-magenta)
(modus-themes-refine-magenta)
(modus-theme-refine-cyan)
(modus-themes-refine-cyan)
(modus-theme-active-red)
(modus-themes-active-red)
(modus-theme-active-green)
(modus-themes-active-green)
(modus-theme-active-yellow)
(modus-themes-active-yellow)
(modus-theme-active-blue)
(modus-themes-active-blue)
(modus-theme-active-magenta)
(modus-themes-active-magenta)
(modus-theme-active-cyan)
(modus-themes-active-cyan)
(modus-theme-fringe-red)
(modus-themes-fringe-red)
(modus-theme-fringe-green)
(modus-themes-fringe-green)
(modus-theme-fringe-yellow)
(modus-themes-fringe-yellow)
(modus-theme-fringe-blue)
(modus-themes-fringe-blue)
(modus-theme-fringe-magenta)
(modus-themes-fringe-magenta)
(modus-theme-fringe-cyan)
(modus-themes-fringe-cyan)
(modus-theme-nuanced-red)
(modus-theme-nuanced-green)
(modus-theme-nuanced-yellow)
(modus-theme-nuanced-blue)
(modus-theme-nuanced-magenta)
(modus-theme-nuanced-cyan)
(modus-theme-special-cold)
(modus-theme-special-mild)
(modus-theme-special-warm)
(modus-theme-special-calm)
(modus-theme-diff-added)
(modus-theme-diff-changed)
(modus-theme-diff-removed)
(modus-theme-diff-refine-added)
(modus-theme-diff-refine-changed)
(modus-theme-diff-refine-removed)
(modus-theme-diff-focus-added)
(modus-theme-diff-focus-changed)
(modus-theme-diff-focus-removed)
(modus-theme-diff-heading)
(modus-theme-pseudo-header)
(modus-theme-mark-alt)
(modus-theme-mark-del)
(modus-theme-mark-sel)
(modus-theme-mark-symbol)
(modus-theme-heading-1)
(modus-theme-heading-2)
(modus-theme-heading-3)
(modus-theme-heading-4)
(modus-theme-heading-5)
(modus-theme-heading-6)
(modus-theme-heading-7)
(modus-theme-heading-8)
(modus-theme-hl-line)
(modus-theme-bold)
(modus-theme-slant)
(modus-theme-variable-pitch)
(modus-theme-graph-red-0)
(modus-theme-graph-red-1)
(modus-theme-graph-green-0)
(modus-theme-graph-green-1)
(modus-theme-graph-yellow-0)
(modus-theme-graph-yellow-1)
(modus-theme-graph-blue-0)
(modus-theme-graph-blue-1)
(modus-theme-graph-magenta-0)
(modus-theme-graph-magenta-1)
(modus-theme-graph-cyan-0)
(modus-theme-graph-cyan-1)
(modus-theme-lang-note)
(modus-theme-lang-warning)
(modus-theme-lang-error): Rename all internal faces.

(modus-themes-headings)
(modus-themes-fringes)
(modus-themes-lang-checkers)
(modus-themes-org-blocks)
(modus-themes-org-habit)
(modus-themes-mode-line)
(modus-themes-diffs)
(modus-themes-completions)
(modus-themes-prompts)
(modus-themes-intense-hl-line)
(modus-themes-hl-line)
(modus-themes-paren-match)
(modus-themes-syntax)
(modus-themes-links)
(modus-themes-region): Update defcustom.

(modus-themes--fringe):
(modus-themes--headings-choice):
(modus-themes--prompt):
(modus-themes--org-block-delim):
(modus-themes--mode-line-attrs):
(modus-themes--link):
(modus-themes--region):
(modus-themes--hl-line): Adjustments to internal functions.

(modus-themes-faces): Update faces.
(modus-themes-custom-variables): Update custom variables.

3 years agoFix Seccomp filter on CentOS 8.3 (Bug#47828).
Philipp Stephani [Sun, 18 Apr 2021 08:33:41 +0000 (10:33 +0200)]
Fix Seccomp filter on CentOS 8.3 (Bug#47828).

* lib-src/seccomp-filter.c (main): mmap: Also allow MAP_SHARED.

3 years ago* lisp/misearch.el (multi-isearch-pop-state): Doc fix.
Stefan Kangas [Sun, 18 Apr 2021 08:03:35 +0000 (10:03 +0200)]
* lisp/misearch.el (multi-isearch-pop-state): Doc fix.

3 years agoAvoid selecting tooltip windows and frames (Bug#47207)
Martin Rudalics [Sun, 18 Apr 2021 07:51:32 +0000 (09:51 +0200)]
Avoid selecting tooltip windows and frames (Bug#47207)

* src/frame.c (do_switch_frame): Don't switch to a tooltip frame.
(Fselect_frame): Do not select a tooltip frame.
* src/w32fns.c (Fx_show_tip):
* src/xfns.c (Fx_show_tip): Set the tooltip window's
`no-other-window' parameter so `other-window' will skip it.
* src/window.c (select_window): Do not select a tooltip window.
(candidate_window_p): Make sure MINIBUF is live.
(decode_next_window_args): Make sure that W's frame's minibuffer
window is live before including it.
(Qno_other_window): New symbol.

3 years ago* lisp/emacs-lisp/debug.el (debug): Fix (bug#47588)
Stefan Monnier [Sun, 18 Apr 2021 05:03:43 +0000 (01:03 -0400)]
* lisp/emacs-lisp/debug.el (debug): Fix (bug#47588)

Don't bind `load-read-function` to nil but to its actual default value.
Actually, I'm not sure it's worth the trouble rebinding this var, but
if we do, then we should bind it to a valid value rather than to nil.

* lisp/emacs-lisp/edebug.el (edebug--eval-defun): Re-install our advice
if needed.

3 years agoAttempt to print some debugging information on Seccomp failures.
Philipp Stephani [Sat, 17 Apr 2021 19:06:11 +0000 (21:06 +0200)]
Attempt to print some debugging information on Seccomp failures.

Try to search the audit log as well as recent core dumps.

* test/src/emacs-tests.el (emacs-tests--seccomp-debug): New helper
function.
(emacs-tests/seccomp/allows-stdout)
(emacs-tests/seccomp/forbids-subprocess)
(emacs-tests/bwrap/allows-stdout): Use it.

3 years agoMake stderr in Tramp's make-process more robust
Michael Albinus [Sat, 17 Apr 2021 14:39:14 +0000 (16:39 +0200)]
Make stderr in Tramp's make-process more robust

* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Wrap about
error in inserting stderr file.

* lisp/net/tramp.el (tramp-handle-make-process): Fix docstring.

3 years ago* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Tweak further
Stefan Monnier [Sat, 17 Apr 2021 13:57:01 +0000 (09:57 -0400)]
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Tweak further

Suggested by Lars Ingebrigtsen <larsi@gnus.org>.

3 years agoFix :scale's affect on :width and :height (bug#47819)
Alan Third [Fri, 16 Apr 2021 18:12:23 +0000 (19:12 +0100)]
Fix :scale's affect on :width and :height (bug#47819)

* src/image.c (compute_image_size): Multiply width and height values
by scale.

3 years agoDon't allow quitting while rebuilding Vwindow_list (Bug#47244)
Martin Rudalics [Sat, 17 Apr 2021 07:50:01 +0000 (09:50 +0200)]
Don't allow quitting while rebuilding Vwindow_list (Bug#47244)

* src/window.c (window_list, next_window, window_list_1): Don't
allow quitting in Fnconc and Fmemq (Bug#47244).

3 years ago* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Improve `C-h f` output
Stefan Monnier [Sat, 17 Apr 2021 03:40:51 +0000 (23:40 -0400)]
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Improve `C-h f` output

Suggested by Michael Heerdegen <michael_heerdegen@web.de>.

3 years agoCleanup in em-extra.el
Stefan Kangas [Fri, 16 Apr 2021 19:29:36 +0000 (21:29 +0200)]
Cleanup in em-extra.el

* lisp/eshell/em-xtra.el (cl-lib): Require.
(pcomplete, compile): Remove unnecessary requires.
(eshell/substitute, eshell/count, eshell/mismatch, eshell/union)
(eshell/intersection, eshell/set-difference)
(eshell/set-exclusive-or): Use cl-lib.  Doc fixes.
(eshell/ff, eshell/gf, eshell/expr): Quote function symbols as such.
(eshell/expr): Assume 'calc-eval' is always available.

3 years agoCheck minibuffer windows are live windows, rather than assuming it
Alan Mackenzie [Fri, 16 Apr 2021 19:34:00 +0000 (19:34 +0000)]
Check minibuffer windows are live windows, rather than assuming it

This partly fixes bug #47207.

* src/minibuf.c (choose_minibuf_frame, move_minibuffers_onto_frame)
(read_minibuf (twice), read_minibuf_unwind): Before using a frame's
->minibuffer_window field, check it is valid with WINDOW_LIVE_P.
(choose_minibuf_frame): Remove the emacs_abort for a null minibuffer.

3 years agoMerge from origin/emacs-27
Glenn Morris [Fri, 16 Apr 2021 14:50:20 +0000 (07:50 -0700)]
Merge from origin/emacs-27

eedad01b4b (origin/emacs-27) Fix typos in manuals
24d214652e Fix description of momentary message display

3 years ago; Fix typos: emacs lisp -> Emacs Lisp
Stefan Kangas [Fri, 16 Apr 2021 12:35:25 +0000 (14:35 +0200)]
; Fix typos: emacs lisp -> Emacs Lisp

3 years ago; Remove some useless comments
Stefan Kangas [Fri, 16 Apr 2021 12:28:10 +0000 (14:28 +0200)]
; Remove some useless comments

3 years ago; Grammar fixes
Robert Pluim [Fri, 16 Apr 2021 07:56:41 +0000 (09:56 +0200)]
; Grammar fixes

* doc/lispref/display.texi (Size of Displayed Text): Grammar fix.

* etc/NEWS: Grammar fix.

3 years ago; Fix typos
Robert Pluim [Tue, 13 Apr 2021 16:11:42 +0000 (18:11 +0200)]
; Fix typos

* doc/lispref/display.texi (SVG Images): Fix typos.

3 years agoImprove docstring of 'frame-scale-factor'
Robert Pluim [Tue, 13 Apr 2021 16:07:26 +0000 (18:07 +0200)]
Improve docstring of 'frame-scale-factor'

* src/frame.c (Fframe_scale_factor): Explain what happens when the
FRAME argument is nil.

3 years agoImprove quoting of directory names in project/xref
Dmitry Gutov [Fri, 16 Apr 2021 00:52:44 +0000 (03:52 +0300)]
Improve quoting of directory names in project/xref

* lisp/progmodes/project.el (project--files-in-directory):
Quote LOCALDIR a bit earlier, to affect
xref--find-ignores-arguments as well (bug#47799).

* lisp/progmodes/xref.el (xref-matches-in-directory):
Quote the dir passed to xref--rgrep-command.

3 years agoproject--files-in-directory: Handle errors reported by 'find'
Dmitry Gutov [Fri, 16 Apr 2021 00:38:23 +0000 (03:38 +0300)]
project--files-in-directory: Handle errors reported by 'find'

* lisp/progmodes/project.el (project--files-in-directory):
Handle errors reported by 'find' (bug#47799).

3 years agoFix 'garbage-collect-maybe'
Eli Zaretskii [Thu, 15 Apr 2021 19:00:19 +0000 (22:00 +0300)]
Fix 'garbage-collect-maybe'

* src/alloc.c (Fgarbage_collect_maybe): No longer interactive.
(Bug#47805)

3 years agoAllow use of em in image spec sizes
Alan Third [Mon, 12 Apr 2021 19:30:12 +0000 (20:30 +0100)]
Allow use of em in image spec sizes

* src/image.c (image_get_dimension): New function.
(compute_image_size): Use image_get_dimension to set the sizes, and
pass in the image struct instead of just the spec.
(image_set_transform):
(imagemagick_load_image):
(svg_load_image): Use the image instead of the spec in compute_image_size.
(syms_of_image): Add 'em' as a symbol.

3 years agoImprove project support for quoted directory names (Bug#47799)
Philipp Stephani [Thu, 15 Apr 2021 16:41:04 +0000 (18:41 +0200)]
Improve project support for quoted directory names (Bug#47799)

* lisp/progmodes/project.el (project--files-in-directory): Unquote
directory name before passing it to 'find'.
(project--remote-file-names): Requote local filenames if the original
directory is quoted.
* test/lisp/progmodes/project-tests.el (project/quoted-directory): New
unit test.

3 years ago* lisp/emacs-lisp/bindat.el: Allow non-fixed size of `strz`
Stefan Monnier [Thu, 15 Apr 2021 15:27:52 +0000 (11:27 -0400)]
* lisp/emacs-lisp/bindat.el: Allow non-fixed size of `strz`

(bindat--unpack-strz): Allow `len` to be nil.
(bindat--pack-strz): New function.
(bindat--type) <strz>: Make `len` arg optional.
(bindat-type): Adjust debug spec and docstring accordingly.

* doc/lispref/processes.texi (Bindat Types): Adjust accordingly.

3 years agoAdd condition-case success handler (bug#47677)
Mattias Engdegård [Wed, 7 Apr 2021 09:31:07 +0000 (11:31 +0200)]
Add condition-case success handler (bug#47677)

Allow a condition-case handler on the form (:success BODY) to be
specified as the success continuation of the protected form, with
the specified variable bound to its result.

* src/eval.c (Fcondition_case): Update the doc string.
(internal_lisp_condition_case): Implement in interpreter.
(syms_of_eval): Defsym :success.
* lisp/emacs-lisp/bytecomp.el (byte-compile-condition-case):
Implement in byte-compiler.
* lisp/emacs-lisp/cl-macs.el (cl--self-tco): Allow self-TCO
from success handler.
* doc/lispref/control.texi (Handling Errors): Update manual.
* etc/NEWS: Announce.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases)
(bytecomp-condition-case-success):
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs--labels):
Add test cases.

3 years agoCC Mode: Put debug specs inside declare forms. Add missing debug specs.
Alan Mackenzie [Thu, 15 Apr 2021 10:11:20 +0000 (10:11 +0000)]
CC Mode: Put debug specs inside declare forms.  Add missing debug specs.

* lisp/progmodes/cc-bytecomp.el, lisp/progmodes/cc-cmds.el,
lisp/progmodes/cc-defs.el, lisp/progmodes/cc-engine.el,
lisp/progmodes/cc-fonts.el, lisp/progmodes/cc-langs.el,
lisp/progmodes/cc-mode.el: Change the explicit def-edebug-spec for many macros
into a (declare (debug ...) ..) form.  Add such forms to macros which were
previously lacking def-edebug-spec forms.

3 years agorepeat-echo-mode-line-string doesn't need risky-local-variable to keep props
Juri Linkov [Wed, 14 Apr 2021 20:05:43 +0000 (23:05 +0300)]
repeat-echo-mode-line-string doesn't need risky-local-variable to keep props

(bug#47566)

3 years agoJava Mode: Change the syntax of character @ to prefix syntax
Filipp Gunbin [Wed, 14 Apr 2021 19:27:00 +0000 (19:27 +0000)]
Java Mode: Change the syntax of character @ to prefix syntax

lisp/progmodes/cc-langs.el (c-make-mode-syntax-table): Change the syntax of @
as indicated.

3 years ago* lisp/isearch.el (isearch-mouse-2): Let-bind isearch-mode to nil (bug#47755)
Juri Linkov [Wed, 14 Apr 2021 18:35:06 +0000 (21:35 +0300)]
* lisp/isearch.el (isearch-mouse-2): Let-bind isearch-mode to nil (bug#47755)