]> git.eshelyaron.com Git - emacs.git/log
emacs.git
3 years agoOverhaul annotation-function to match affixation-function scratch/annotation-function-improvements
João Távora [Mon, 24 May 2021 15:31:39 +0000 (16:31 +0100)]
Overhaul annotation-function to match affixation-function

* doc/lispref/minibuf.texi (Programmed Completion): Rework
annotation-function and affixation-function.

* lisp/help-fns.el (help--symbol-completion-table-annotation): Rename
from help--symbol-completion-table-affixation.
(help--symbol-completion-table): Use
help--symbol-completion-table-annotation.

* lisp/minibuffer.el (minibuffer-completion-help): Interpret
annotation-function with more sophistication.

* lisp/simple.el (read-extended-command): Use
read-extended-command--annotation
(read-extended-command--annotation): Rename from
read-extended-command--affixation

3 years agoFix find invocation for macOS (Bug#48471).
Philipp Stephani [Mon, 17 May 2021 19:59:57 +0000 (21:59 +0200)]
Fix find invocation for macOS (Bug#48471).

* lisp/progmodes/project.el (project--files-in-directory): Instead of
appending a slash (which doesn't work well with macOS find), remove
trailing slash and pass -H instead.

3 years agoAdapt tramp-archive-autoload-file-name-handler
Michael Albinus [Sun, 23 May 2021 10:34:36 +0000 (12:34 +0200)]
Adapt tramp-archive-autoload-file-name-handler

* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
Bind `default-directory' to safe value.

3 years ago* src/editfns.c (Finsert_char): Add docstring reference to read-char-by-name.
Juri Linkov [Sat, 22 May 2021 20:52:19 +0000 (23:52 +0300)]
* src/editfns.c (Finsert_char): Add docstring reference to read-char-by-name.

3 years agoDocument bug-reference setup for 3rd-party packages
Tassilo Horn [Sat, 22 May 2021 17:06:57 +0000 (19:06 +0200)]
Document bug-reference setup for 3rd-party packages

* doc/emacs/maintaining.texi (Bug Reference): Add section explaining
adding support for third-party packages.
* lisp/progmodes/bug-reference.el (bug-reference-maybe-setup-from-vc)
(bug-reference-maybe-setup-from-mail)
(bug-reference-maybe-setup-from-irc): Rename from
bug-reference--maybe-setup-from-*, i.e., un-privatize them because
they are advertised in the docs now.

3 years agoMerge from origin/emacs-27
Glenn Morris [Sat, 22 May 2021 16:19:01 +0000 (09:19 -0700)]
Merge from origin/emacs-27

30e5d93ee1 (origin/emacs-27) Improve documentation of display tables
8804ac857b * src/buffer.c (syms_of_buffer) <ctl-arrow>: Doc fix.  (Bu...

3 years ago* doc/emacs/maintaining.texi (Bug Reference): Fix cross refs.
Glenn Morris [Sat, 22 May 2021 16:17:56 +0000 (09:17 -0700)]
* doc/emacs/maintaining.texi (Bug Reference): Fix cross refs.

"First argument to cross-reference may not be empty." (makeinfo 4).

3 years agoFix bug#48476
Michael Albinus [Sat, 22 May 2021 15:51:07 +0000 (17:51 +0200)]
Fix bug#48476

* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
Add implementation.

* lisp/net/tramp-integration.el (tramp-rename-files)
(tramp-rename-these-files): Declare them.

* lisp/net/tramp.el (tramp-autoload-file-name-handler):
Load tramp-archive.el if needed.  (Bug#48476)

* test/lisp/net/tramp-archive-tests.el (tramp-archive-test45-auto-load):
Extend test.

Use #' syntax for function symbols.

3 years ago* lisp/emacs-lisp/subr-x.el (if-let*, if-let): Use looser Edebug spec
Stefan Monnier [Sat, 22 May 2021 14:21:59 +0000 (10:21 -0400)]
* lisp/emacs-lisp/subr-x.el (if-let*, if-let): Use looser Edebug spec

This makes the same spec work both for `if-let` and `when-let`.

(when-let*, and-let*, when-let): Simplify accordingly.

3 years agoFix native-comp-async-report-warnings-errors :type
Basil L. Contovounesios [Sat, 22 May 2021 12:22:29 +0000 (13:22 +0100)]
Fix native-comp-async-report-warnings-errors :type

* doc/lispref/compile.texi (Native-Compilation Variables): Document
'silent' alternative of native-comp-async-report-warnings-errors.
* lisp/emacs-lisp/comp.el
(native-comp-async-report-warnings-errors): Fix quoting in
:type expression (bug#48586).

3 years agoGive 'when-let' and 'when-let*' their own Edebug specification.
Philipp Stephani [Sat, 22 May 2021 11:29:50 +0000 (13:29 +0200)]
Give 'when-let' and 'when-let*' their own Edebug specification.

The Edebug specification of 'if-let' and 'if-let*' doesn't work if the
body is empty.  While that's a pathological case, it's not wrong per
se, and could arguably happen due to macro expansion.

* lisp/emacs-lisp/subr-x.el (when-let*, when-let): Don't reuse Edebug
specification from 'if-let*' and 'if-let'.

3 years ago* lisp/emacs-lisp/cl-macs.el (cl-loop): Add missing 'when' to spec
Philipp Stephani [Sat, 22 May 2021 11:17:00 +0000 (13:17 +0200)]
* lisp/emacs-lisp/cl-macs.el (cl-loop): Add missing 'when' to spec

3 years agoAdd documentation about bug-reference auto-setup.
Tassilo Horn [Fri, 21 May 2021 21:11:43 +0000 (23:11 +0200)]
Add documentation about bug-reference auto-setup.

* doc/emacs/maintaining.texi (Bug Reference): Add documentation about
the automatic setup.
* lisp/progmodes/bug-reference.el
(bug-reference-setup-from-irc-alist): Remove doubling in docstring.

3 years agoRobustify parsing of gnus-search search results
Eric Abrahamsen [Fri, 21 May 2021 20:35:38 +0000 (13:35 -0700)]
Robustify parsing of gnus-search search results

* lisp/gnus/gnus-search.el (gnus-search-indexed-parse-output): Look
for a "process finished" tag, and don't choke on mis-parsed lines.

3 years ago; * etc/NEWS: Fix typo in last change.
Basil L. Contovounesios [Fri, 21 May 2021 19:49:32 +0000 (20:49 +0100)]
; * etc/NEWS: Fix typo in last change.

3 years ago* lisp/dired-aux.el (dired-do-revert-buffer): New defcustom (bug#48456).
Juri Linkov [Fri, 21 May 2021 18:31:48 +0000 (21:31 +0300)]
* lisp/dired-aux.el (dired-do-revert-buffer): New defcustom (bug#48456).

(dired-do-create-files): Use it.

3 years ago* lisp/simple.el (yank-from-kill-ring): Fix kill-ring-yank-pointer (bug#48478)
Juri Linkov [Fri, 21 May 2021 18:18:09 +0000 (21:18 +0300)]
* lisp/simple.el (yank-from-kill-ring): Fix kill-ring-yank-pointer (bug#48478)

3 years ago; * test/infra/gitlab-ci.yml: Fix it, again.
Michael Albinus [Fri, 21 May 2021 18:03:31 +0000 (20:03 +0200)]
; * test/infra/gitlab-ci.yml: Fix it, again.

3 years ago; * test/infra/gitlab-ci.yml: Fix previous commit
Michael Albinus [Fri, 21 May 2021 18:00:55 +0000 (20:00 +0200)]
; * test/infra/gitlab-ci.yml: Fix previous commit

3 years agoAdapt native-comp entries in gitlab-ci.yml
Michael Albinus [Fri, 21 May 2021 17:33:42 +0000 (19:33 +0200)]
Adapt native-comp entries in gitlab-ci.yml

* test/infra/gitlab-ci.yml (stages): New stages native-comp-images
and native-comp.
(build-native-bootstrap-speed0): Simplify.
(build-native-bootstrap-speed1, build-native-bootstrap-speed2):
Deactivate temporarily.

* test/infra/gitlab-ci.yml (.build-template): Add 'needs:' clause.
(.native-comp-template): New template.
(build-native-bootstrap-speed0): Use it.

3 years agoAvoid byte-compiler warning during bootstrap
Eli Zaretskii [Fri, 21 May 2021 10:37:48 +0000 (13:37 +0300)]
Avoid byte-compiler warning during bootstrap

* lisp/isearch.el (multi-isearch-switch-buffer): Avoid
byte-compiler warning.

3 years agoRearrange nativecomp tests for EMBA
Michael Albinus [Fri, 21 May 2021 07:43:04 +0000 (09:43 +0200)]
Rearrange nativecomp tests for EMBA

* test/infra/Dockerfile.emba (emacs-native-comp-speed0):
Add recipe.

* test/infra/gitlab-ci.yml (stages): New stages native-comp-images
and native-comp.
(build-native-bootstrap-speed0): Simplify.
(build-native-bootstrap-speed1, build-native-bootstrap-speed2):
Deactivate temporarily.

3 years agoImprove documentation of display tables
Eli Zaretskii [Fri, 21 May 2021 06:51:17 +0000 (09:51 +0300)]
Improve documentation of display tables

* doc/lispref/display.texi (Display Tables): Add a cross-reference
to the next section.

3 years ago* Fix ahead-of-time native compilation for out-of-tree builds (bug#48497)
Andrea Corallo [Fri, 21 May 2021 06:44:55 +0000 (08:44 +0200)]
* Fix ahead-of-time native compilation for out-of-tree builds (bug#48497)

* src/comp.c (Fcomp_el_to_eln_rel_filename): Expand
'PATH_DUMPLOADSEARCH' while computing 'loadsearch_re_list'.

3 years ago* src/buffer.c (syms_of_buffer) <ctl-arrow>: Doc fix. (Bug#48539)
Eli Zaretskii [Fri, 21 May 2021 06:37:47 +0000 (09:37 +0300)]
* src/buffer.c (syms_of_buffer) <ctl-arrow>: Doc fix.  (Bug#48539)

3 years ago; Improve new bug-reference manual section
Tassilo Horn [Thu, 20 May 2021 19:30:10 +0000 (21:30 +0200)]
; Improve new bug-reference manual section

3 years ago* lisp/help.el (describe-bindings-outline): New defcustom (bug#45147).
Juri Linkov [Thu, 20 May 2021 18:37:04 +0000 (21:37 +0300)]
* lisp/help.el (describe-bindings-outline): New defcustom (bug#45147).

(describe-bindings): Use describe-bindings-outline.
(describe-bindings-internal): Remove function obsolete since 24.4.

3 years ago* lisp/vc/diff-mode.el (diff-hunk-text): Handle better "\ No newline at end".
Juri Linkov [Thu, 20 May 2021 18:23:01 +0000 (21:23 +0300)]
* lisp/vc/diff-mode.el (diff-hunk-text): Handle better "\ No newline at end".

3 years agoFix off-by-one inconsistency of 'M-y C-y' (bug#48478).
Juri Linkov [Thu, 20 May 2021 18:02:27 +0000 (21:02 +0300)]
Fix off-by-one inconsistency of 'M-y C-y' (bug#48478).

* lisp/simple.el (read-from-kill-ring): Increment kill-ring-yank-pointer by 1.
(yank-from-kill-ring): Don't increment kill-ring-yank-pointer by 1.

3 years ago* lisp/international/mule-cmds.el: Use group-function in read-char-by-name.
Juri Linkov [Thu, 20 May 2021 17:51:32 +0000 (20:51 +0300)]
* lisp/international/mule-cmds.el: Use group-function in read-char-by-name.

(mule--ucs-names-group): Simplify for using by group-function.
(read-char-by-name-group): Remove defcustom
obsoleted by completions-group.
(read-char-by-name): Mention completions-group and
completions-group-sort in docstring.  Use group-function when
completions-group is non-nil.
https://lists.gnu.org/archive/html/emacs-devel/2021-05/msg00791.html

3 years ago(minibuffer-completion-help): Add group sorting
Daniel Mendler [Tue, 11 May 2021 07:08:05 +0000 (09:08 +0200)]
(minibuffer-completion-help): Add group sorting

Sort the groups as returned by the `group-function` of the completion
table depending on the value of the customizable variable
`completions-group-sort`.  By default `completions-group-sort` is set
to nil.  The variable can be set to the symbol `alphabetical` in order
to configure alphabetical sorting.  Furthermore, a custom sorting
function can be used as value of `completions-group-sort`.

* lisp/minibuffer.el (completions-group-sort): New variable.
(minibuffer--group-by): Add SORT-FUN argument.
(minibuffer-completion-help): Pass `completions-group-sort` to
`minibuffer--group-by`.

3 years ago(completion--insert-vertical): Separate groups completely
Daniel Mendler [Sun, 2 May 2021 14:19:42 +0000 (16:19 +0200)]
(completion--insert-vertical): Separate groups completely

Insert the candidates vertically within the groups, but keep the
groups separate using the full width group separators.

* minibuffer.el (completion--insert-vertical): Adjust grouping.

3 years ago(minibuffer-completion-help): Do not check `completions-group` centrally
Daniel Mendler [Sun, 2 May 2021 13:50:08 +0000 (15:50 +0200)]
(minibuffer-completion-help): Do not check `completions-group` centrally

The guard variable `completions-group` should be checked in each
completion table individually.  The guard variable
`completions-detailed` variable is used in the same way.

* minibuffer.el (minibuffer-completion-help): Remove check of
  `completions-group`.

3 years ago(completion--insert-strings): Split function; Full group title support
Daniel Mendler [Fri, 30 Apr 2021 06:40:59 +0000 (08:40 +0200)]
(completion--insert-strings): Split function; Full group title support

Split `completion--insert-strings` into a function per completions
format in order to increase readability and extensibility.  This
change eases the addition of more formats.  Add support for group
titles to the vertical and horizontal formatting functions.

* minibuffer.el (completion--insert): Add new function.
(completion--insert-vertical, completion--insert-horizontal,
completion--insert-one-column): Extract function from
`completion--insert-strings`.  Use new function `completion--insert`.
(completion--insert-strings): Use new insertion functions.

3 years ago(completing-read): Add `group-function` to the completion metadata
Daniel Mendler [Sun, 25 Apr 2021 11:07:29 +0000 (13:07 +0200)]
(completing-read): Add `group-function` to the completion metadata

A completion table can specify a `group-function` in its metadata.
The group function takes two arguments, a completion candidate and a
transform argument.  The group function is used to group the
candidates after sorting and to enhance the completion UI with group
titles.

If the transform argument is nil, the function must return the title
of the group to which the completion candidate belongs.  The function
may also return nil if the candidate does not belong to a group.

If the transform argument is non-nil, the function must return the
transformed candidate.  For example, the transformation allows to
remove a redundant part of the candidate, which is then displayed in
the title.

The grouping functionality is guarded by the customizable variable
`completions-group` and turned off by default for the *Completions*
buffer.

The specific form of the `group-function` has been chosen in order to
allow allocation-free grouping.  This is important for completion UIs,
which continously update the displayed set of candidates (Icomplete,
Vertico, Ivy, etc.).  Only when the transform argument is non-nil the
candidate transformation is performed, which may involve a string
allocation as done in the function `xref--completing-read-group`.

The function `xref-show-definitions-completing-read` makes use of the
`group-function`, by moving the file name prefix to the title.  If
grouping is enabled, the *Completions* are displayed as
"linenum:summary" instead of "file:linenum:summary".  This way the
*Completions* buffer resembles the *Occur* buffer.

* doc/lispref/minibuf.texi: Add documentation.

* lisp/minibuffer.el (completion-metadata): Describe the
`group-function` in the docstring.
(completions-group): Add guard variable, off by default.
(completions-group-format): Add variable defining the format string
for the group titles.
(completions-group-title): Add face used by `completions-group-format`
for the group titles.
(completions-group-separator): Add face used by
`completions-group-format` for the group separator lines.
(minibuffer--group-by): New grouping function.
(minibuffer-completion-help): Use it.
(display-completion-list): Add optional GROUP-FUN argument.
(completion--insert-strings): Add optional GROUP-FUN argument.  Insert
group titles if `completions-format` is `one-column`.  Transform each
candidate with the GROUP-FUN.  Attach the untransformed candidate to
the property `completion--string`.

* lisp/simple.el (choose-completion): Retrieve the untransformed
completion candidate from the property `completion--string`.

* lisp/progmodes/xref.el:
(xref--completing-read-group): New grouping function.
(xref-show-definitions-completing-read): Use it.

3 years ago* doc/emacs/maintaining.texi (Bug Reference): Add debbugs-browse-mode.
Michael Albinus [Thu, 20 May 2021 12:33:43 +0000 (14:33 +0200)]
* doc/emacs/maintaining.texi (Bug Reference): Add debbugs-browse-mode.

3 years agoImprove documentation of 'etags' tests
Eli Zaretskii [Thu, 20 May 2021 10:02:29 +0000 (13:02 +0300)]
Improve documentation of 'etags' tests

* test/manual/etags/README: New file.  (Bug#46055)

* test/README: Mention separate README files for tests in the
'manual' subdirectory

3 years agoFix arg-out-of-range errors in 'line-number-at-pos'
Eli Zaretskii [Thu, 20 May 2021 09:01:40 +0000 (12:01 +0300)]
Fix arg-out-of-range errors in 'line-number-at-pos'

* src/fns.c (Fline_number_at_pos): Pass character position to
args_out_of_range.  Suggested by Andreas Schwab
<schwab@linux-m68k.org>.  Call args_out_of_range_3 to show both
ends of the accessible portion.

3 years agoMake sure gmalloc's hybrid_free preserves errno
Eli Zaretskii [Thu, 20 May 2021 08:44:54 +0000 (11:44 +0300)]
Make sure gmalloc's hybrid_free preserves errno

* src/gmalloc.c (hybrid_free_1): New function, with the body of
the previous 'hybrid_free'.
(hybrid_free): Call 'hybrid_free_1' while preserving the value of
'errno'.  Suggested by Paul Eggert <eggert@cs.ucla.edu>.

3 years agoClean up the fix for unexec build on GNU/Linux
Eli Zaretskii [Thu, 20 May 2021 08:26:00 +0000 (11:26 +0300)]
Clean up the fix for unexec build on GNU/Linux

* src/conf_post.h [HYBRID_MALLOC || DARWIN_OS && HAVE_UNEXEC]:
Include <stdlib.h> here, before redirecting 'malloc' and friends
to their hybrid_* and unexec_* equivalents.  #undef malloc and
friends before redefining.  Provide prototypes for the
replacements.  Suggested by Paul Eggert <eggert@cs.ucla.edu>.
* src/gmalloc.c [HYBRID_MALLOC]: Remove declarations of 'malloc'
and friends, as they are now redundant: we include <stdlib.h> in
conf_post.h before redefining 'malloc' etc., and that provides
prototypes from system headers.

* configure.ac (HYBRID_MALLOC): Remove kludge to avoid replacement
of 'free' by Gnulib.  (Bug#36649)

3 years ago; * src/fns.c (Fline_number_at_pos): Fix doc string and comments.
Eli Zaretskii [Thu, 20 May 2021 06:55:28 +0000 (09:55 +0300)]
; * src/fns.c (Fline_number_at_pos): Fix doc string and comments.

3 years agoAdd a section about bug-reference-mode.
Tassilo Horn [Wed, 19 May 2021 19:21:03 +0000 (21:21 +0200)]
Add a section about bug-reference-mode.

* doc/emacs/maintaining.texi (Maintaining): Add a section about
bug-reference-mode.
* doc/emacs/emacs.texi (Top): Link to the new section about
bug-reference-mode.

3 years ago* lisp/simple.el (yank-from-kill-ring-rotate): New defcustom (bug#48478).
Juri Linkov [Wed, 19 May 2021 16:30:33 +0000 (19:30 +0300)]
* lisp/simple.el (yank-from-kill-ring-rotate): New defcustom (bug#48478).

(read-from-kill-ring, yank-from-kill-ring): Use it.

3 years agoFix rare failures in 'window-default-font-height'
Eli Zaretskii [Wed, 19 May 2021 16:01:07 +0000 (19:01 +0300)]
Fix rare failures in 'window-default-font-height'

* lisp/window.el (window-default-font-height): Avoid signaling an
error when a client TTY frame happens to have an X-style 'display'
parameter.  (Bug#48408)

3 years ago* lisp/startup.el (command-line-1): Avoid byte-compiler warning.
Eli Zaretskii [Wed, 19 May 2021 15:56:27 +0000 (18:56 +0300)]
* lisp/startup.el (command-line-1): Avoid byte-compiler warning.

3 years agoFix custom type of recent dired-aux additions
Glenn Morris [Wed, 19 May 2021 15:28:35 +0000 (08:28 -0700)]
Fix custom type of recent dired-aux additions

* lisp/dired-aux.el (dired-compress-file-default-suffix)
(dired-compress-directory-default-suffix): Fix :type.

3 years ago* lisp/kmacro.el (kmacro-lambda-form): Fix bug#48523
Stefan Monnier [Wed, 19 May 2021 15:19:10 +0000 (11:19 -0400)]
* lisp/kmacro.el (kmacro-lambda-form): Fix bug#48523

Re-add `counter` and `format` arguments, since they are used in
`insert-kbd-macro`.

3 years agoFix the unexec build on GNU/Linux
Eli Zaretskii [Wed, 19 May 2021 14:42:50 +0000 (17:42 +0300)]
Fix the unexec build on GNU/Linux

The unexec build on GNU/Linux must use HYBRID_MALLOC (gmalloc.c) and
sheap.c.  This was inadvertently disabled because a configure-time
test for 'sbrk' was moved as side effect of an unrelated change.

* configure.ac: Test for 'sbrk' before using the result in the
decision about SYSTEM_MALLOC and HYBRID_MALLOC.
(HYBRID_MALLOC): Prevent Gnulib from redirecting 'free' to its
replacement 'rpl_free'.

* lib/Makefile.in (not_emacs_OBJECTS): Add mallooc/%.o and free.o.

3 years ago* lisp/progmodes/sql.el: `sql-postgres-statement-starters' defcustom
Ingo Lohmar [Wed, 19 May 2021 13:02:33 +0000 (15:02 +0200)]
* lisp/progmodes/sql.el: `sql-postgres-statement-starters' defcustom

Recognize common table expression as statement start in Postgres.

3 years agoLift restriction for finding theme summary line
Mauro Aranda [Wed, 19 May 2021 12:57:46 +0000 (09:57 -0300)]
Lift restriction for finding theme summary line

* lisp/cus-theme.el (custom-theme-summary): Don't limit the file to
having the deftheme form as the very first form, rather look for the
deftheme form explicitly.

3 years agoFix recently introduced misbehavior of `quit-restore-window' (Bug#48493)
Martin Rudalics [Wed, 19 May 2021 07:17:37 +0000 (09:17 +0200)]
Fix recently introduced misbehavior of `quit-restore-window' (Bug#48493)

* lisp/window.el (quit-restore-window): Unconditionally call
`switch-to-prev-buffer' (Bug#48493).

3 years ago* lisp/progmodes/js.el (js--make-framework-matcher): Use a closure
Stefan Monnier [Wed, 19 May 2021 00:30:08 +0000 (20:30 -0400)]
* lisp/progmodes/js.el (js--make-framework-matcher): Use a closure

3 years ago* lisp/progmodes/gud.el (gud-tooltip-tips): Use proper closures
Stefan Monnier [Wed, 19 May 2021 00:21:51 +0000 (20:21 -0400)]
* lisp/progmodes/gud.el (gud-tooltip-tips): Use proper closures

Also prefer #' to quote function names.

(jdb): Fix $ => \'.

3 years ago* lisp/org/org-timer.el (org-timer--run-countdown-timer): Use closures
Stefan Monnier [Tue, 18 May 2021 23:54:38 +0000 (19:54 -0400)]
* lisp/org/org-timer.el (org-timer--run-countdown-timer): Use closures

3 years ago* lisp/org/org-mouse.el: Make use of lexical scoping
Stefan Monnier [Tue, 18 May 2021 23:51:26 +0000 (19:51 -0400)]
* lisp/org/org-mouse.el: Make use of lexical scoping

(org-mouse-todo-menu): Simplify by eta-reduction.
(org-mouse-popup-global-menu): Remove redundant `eval`.
(org-mouse-keyword-menu, org-mouse-keyword-replace-menu)
(org-mouse-tag-menu, org-mouse-match-closure): Use proper closures.

3 years ago* lisp/org/org-colview.el (org-columns-map): Use proper closures
Stefan Monnier [Tue, 18 May 2021 23:36:54 +0000 (19:36 -0400)]
* lisp/org/org-colview.el (org-columns-map): Use proper closures

Also prefer #' to quote function names.

(org-columns-map): Use derived-mode-p.

3 years ago* lisp/org/org-clock.el (org-clock-get-table-data): Use proper closures
Stefan Monnier [Tue, 18 May 2021 23:32:35 +0000 (19:32 -0400)]
* lisp/org/org-clock.el (org-clock-get-table-data): Use proper closures

Also, prefer #' to quote function names

3 years ago* lisp/net/sieve-manage.el (sieve-sasl-auth): Use proper closures
Stefan Monnier [Tue, 18 May 2021 23:23:54 +0000 (19:23 -0400)]
* lisp/net/sieve-manage.el (sieve-sasl-auth): Use proper closures

3 years ago* lisp/net/shr.el (shr-image-displayer): Use proper closures
Stefan Monnier [Tue, 18 May 2021 23:15:04 +0000 (19:15 -0400)]
* lisp/net/shr.el (shr-image-displayer): Use proper closures

3 years ago* lisp/net/imap.el (imap-mailbox-close): Use proper closures
Stefan Monnier [Tue, 18 May 2021 23:12:11 +0000 (19:12 -0400)]
* lisp/net/imap.el (imap-mailbox-close): Use proper closures

Also, remove redundant `:group` args, and prefer #' to quote function names

3 years ago* lisp/net/eudc.el (eudc-menu): Use proper closures
Stefan Monnier [Tue, 18 May 2021 23:06:54 +0000 (19:06 -0400)]
* lisp/net/eudc.el (eudc-menu): Use proper closures

3 years ago* lisp/net/browse-url.el: Avoid `(lambda ..)
Stefan Monnier [Tue, 18 May 2021 23:05:29 +0000 (19:05 -0400)]
* lisp/net/browse-url.el: Avoid `(lambda ..)

(browse-url-netscape, browse-url-mozilla, browse-url-galeon)
(browse-url-epiphany, browse-url-elinks): Use proper closures.

3 years ago* lisp/misearch.el (multi-isearch-push-state): Use proper closures
Stefan Monnier [Tue, 18 May 2021 23:03:06 +0000 (19:03 -0400)]
* lisp/misearch.el (multi-isearch-push-state): Use proper closures

3 years ago* lisp/menu-bar.el: Avoid `(lambda
Stefan Monnier [Tue, 18 May 2021 23:01:49 +0000 (19:01 -0400)]
* lisp/menu-bar.el: Avoid `(lambda

(menu-bar-buffer-vector, menu-bar-update-buffers): Use proper closures.

3 years ago* lisp/info.el (Info-isearch-push-state): Use proper closures
Stefan Monnier [Tue, 18 May 2021 22:13:28 +0000 (18:13 -0400)]
* lisp/info.el (Info-isearch-push-state): Use proper closures

3 years ago* lisp/imenu.el (imenu--create-keymap): Use proper closures
Stefan Monnier [Tue, 18 May 2021 22:11:08 +0000 (18:11 -0400)]
* lisp/imenu.el (imenu--create-keymap): Use proper closures

3 years ago* lisp/find-dired.el (find-dired): Use a proper closure
Stefan Monnier [Tue, 18 May 2021 22:06:15 +0000 (18:06 -0400)]
* lisp/find-dired.el (find-dired): Use a proper closure

3 years ago* lisp/facemenu.el (facemenu-add-new-face): Use `:documentation`
Stefan Monnier [Tue, 18 May 2021 22:05:05 +0000 (18:05 -0400)]
* lisp/facemenu.el (facemenu-add-new-face): Use `:documentation`

3 years ago* lisp/eshell/em-pred.el: Take advantage of lexical scoping
Stefan Monnier [Tue, 18 May 2021 21:53:23 +0000 (17:53 -0400)]
* lisp/eshell/em-pred.el: Take advantage of lexical scoping

Also remove redundant `:group` arguments.

(eshell-parse-modifiers): Make sure we pass a function value.
(eshell-parse-arg-modifier, eshell-parse-modifiers)
(eshell-add-pred-func, eshell-pred-user-or-group)
(eshell-pred-file-time, eshell-pred-file-type, eshell-pred-file-mode)
(eshell-pred-file-links, eshell-pred-file-size)
(eshell-pred-substitute, eshell-include-members, eshell-join-members)
(eshell-split-members): Use proper closures.

3 years ago* doc/emacs/basic.texi (Repeating): Document repeat-exit-timeout (bug#48472).
Juri Linkov [Tue, 18 May 2021 21:15:30 +0000 (00:15 +0300)]
* doc/emacs/basic.texi (Repeating): Document repeat-exit-timeout (bug#48472).

3 years ago* lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Use a closure
Stefan Monnier [Tue, 18 May 2021 21:13:37 +0000 (17:13 -0400)]
* lisp/emacs-lisp/eieio-core.el (eieio-defclass-internal): Use a closure

3 years ago* lisp/repeat.el (repeat-exit-timeout): New defcustom (bug#48472).
Juri Linkov [Tue, 18 May 2021 21:02:42 +0000 (00:02 +0300)]
* lisp/repeat.el (repeat-exit-timeout): New defcustom (bug#48472).

(repeat-exit-timer): New variable.
(repeat-post-hook): Run idle timer with an "exit function"
returned from set-transient-map.
Suggested by Gustavo Barros <gusbrs.2016@gmail.com>.

(repeat-echo-message): Remove own previous message when input arg is nil.

* lisp/window.el (display-buffer-override-next-command): Return exitfun.

3 years ago* lisp/calendar/cal-menu.el (cal-menu-holidays-menu): Use a proper closure
Stefan Monnier [Tue, 18 May 2021 20:58:54 +0000 (16:58 -0400)]
* lisp/calendar/cal-menu.el (cal-menu-holidays-menu): Use a proper closure

3 years ago* lisp/emacs-lisp/lisp-mode.el (lisp-outline-level): Fix imprecise numbers.
Juri Linkov [Tue, 18 May 2021 20:35:57 +0000 (23:35 +0300)]
* lisp/emacs-lisp/lisp-mode.el (lisp-outline-level): Fix imprecise numbers.

(lisp-outline-level): Return right levels starting from 1 instead of 5.
Suggested by Howard Melman <hmelman@gmail.com> in bug#46878.

3 years ago* lisp/simple.el (read-from-kill-ring): Add new arg PROMPT (bug#48478).
Juri Linkov [Tue, 18 May 2021 20:23:50 +0000 (23:23 +0300)]
* lisp/simple.el (read-from-kill-ring): Add new arg PROMPT (bug#48478).

* lisp/simple.el (yank-pop, yank-from-kill-ring):
* lisp/isearch.el (isearch-yank-from-kill-ring):
Use arg PROMPT in the call read-from-kill-ring.

3 years agoRecreate symptom of Bug#42701.
Philipp Stephani [Tue, 18 May 2021 16:43:11 +0000 (18:43 +0200)]
Recreate symptom of Bug#42701.

The fix to Bug#48489 (commit 9676d41b8301b84e07717e633059a3f2b5c4c9d8)
has masked the symptom of Bug#42701 for 'if-let'.  Create a helper
macro that still exemplifies the bug.

* test/lisp/emacs-lisp/edebug-tests.el
(edebug-tests--duplicate-symbol-backtrack): New helper macro.
(edebug-tests-duplicate-symbol-backtrack): Use it instead of 'if-let'.

3 years agoFix some regressions introduced by the previous dired-aux change
Lars Ingebrigtsen [Tue, 18 May 2021 15:49:05 +0000 (17:49 +0200)]
Fix some regressions introduced by the previous dired-aux change

* lisp/dired-aux.el (dired-compress-file): Check that the file
we're compressing exists.  Also work outside the current directory.

3 years agoLook for ElDoc buffer in all visible frames
Basil L. Contovounesios [Tue, 18 May 2021 15:28:42 +0000 (16:28 +0100)]
Look for ElDoc buffer in all visible frames

* lisp/emacs-lisp/eldoc.el (eldoc--echo-area-prefer-doc-buffer-p):
Look for a window displaying the ElDoc documentation buffer in all
visible frames, as promised by the user option
eldoc-echo-area-prefer-doc-buffer (bug#48278).

3 years agoFix problem with focusing in `C-o' in ibuffer in some circumstances
Miha Rihtaršič [Tue, 18 May 2021 15:08:58 +0000 (17:08 +0200)]
Fix problem with focusing in `C-o' in ibuffer in some circumstances

* lisp/ibuffer.el (ibuffer-visit-buffer-other-window-noselect):
Use display-buffer instead of pop-to-buffer and selecting the old
window.  `pop-to-buffer' focuses the new frame, but
`select-window' usually fails to focus the original frame.  This
simple patch fixes that (bug#48218).

3 years agoFix `custom-delayed-init-variables' problem when re-dumping emacs
Gong Qijian [Tue, 18 May 2021 14:35:48 +0000 (16:35 +0200)]
Fix `custom-delayed-init-variables' problem when re-dumping emacs

* lisp/startup.el (command-line): Don't bug out on redumping Emacs
(bug#48492).

Copyright-paperwork-exempt: yes

3 years ago* lisp/kmacro.el: Fix test cases broken by last change
Stefan Monnier [Tue, 18 May 2021 14:37:57 +0000 (10:37 -0400)]
* lisp/kmacro.el: Fix test cases broken by last change

(kmacro-lambda-form): Remove unused args `counter` and `format`.
Arrange to be able to extract `mac` from the function.
(kmacro-extract-lambda): Use this new extraction instead of digging
into the guts of a function's code.

3 years agoFix the length= shortdoc example
Alexandr Vityazev [Tue, 18 May 2021 13:36:25 +0000 (15:36 +0200)]
Fix the length= shortdoc example

* lisp/emacs-lisp/shortdoc.el (list): Fix the length= example
(bug#48495).

Copyright-paperwork-exempt: yes

3 years agoRevert "* lisp/bookmark.el: make bookmark-fontify nil default value"
Eli Zaretskii [Tue, 18 May 2021 12:00:04 +0000 (15:00 +0300)]
Revert "* lisp/bookmark.el: make bookmark-fontify nil default value"

This reverts commit ed8c3303f945fbd2c16ece0e87d041c75ae05ff9.

3 years agoFix pcase 'rx' patterns with a single named submatch (bug#48477)
Mattias Engdegård [Tue, 18 May 2021 10:03:11 +0000 (12:03 +0200)]
Fix pcase 'rx' patterns with a single named submatch (bug#48477)

pcase 'rx' patterns with a single named submatch, like

  (rx (let x "a"))

would always succeed because of an over-optimistic transformation.
Patterns with 0 or more than 1 named submatches were not affected.

Reported by Philipp Stephani.

* lisp/emacs-lisp/rx.el (rx--pcase-macroexpander):
Special case for a single named submatch.
* test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add tests.

3 years ago* lisp/bookmark.el: make bookmark-fontify nil default value
Paul W. Rankin [Tue, 18 May 2021 06:10:51 +0000 (16:10 +1000)]
* lisp/bookmark.el: make bookmark-fontify nil default value

3 years ago* lisp/emacs-lisp/subr-x.el (if-let): Swap &or branches (Bug#48489)
Philipp Stephani [Tue, 18 May 2021 07:25:54 +0000 (09:25 +0200)]
* lisp/emacs-lisp/subr-x.el (if-let): Swap &or branches (Bug#48489)

3 years ago* lisp/kmacro.el: Avoid the dynbound dialect of ELisp
Stefan Monnier [Tue, 18 May 2021 02:16:42 +0000 (22:16 -0400)]
* lisp/kmacro.el: Avoid the dynbound dialect of ELisp

(kmacro-call-macro, kmacro-lambda-form): Use proper closures.
(kmacro-keymap): Prefer #' top quote function names.

3 years agoVisually truncate excessively long lines in Xref
Dmitry Gutov [Tue, 18 May 2021 00:33:29 +0000 (03:33 +0300)]
Visually truncate excessively long lines in Xref

* lisp/progmodes/xref.el (xref-truncation-width): New option.
(xref--apply-truncation): New function.
(xref--insert-xrefs): Use it (bug#46859).

3 years agoFix the etags test suite
Eli Zaretskii [Mon, 17 May 2021 16:39:45 +0000 (19:39 +0300)]
Fix the etags test suite

* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6:
* test/manual/etags/CTAGS.good: Adjust to addition test.rs.

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 17 May 2021 16:34:53 +0000 (19:34 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years ago; * admin/notes/years: Mention that etags test files need to be updated.
Eli Zaretskii [Mon, 17 May 2021 16:33:40 +0000 (19:33 +0300)]
; * admin/notes/years: Mention that etags test files need to be updated.

3 years agoAdd an etags test for Rust (bug#46055)
Lars Ingebrigtsen [Mon, 17 May 2021 16:25:08 +0000 (18:25 +0200)]
Add an etags test for Rust (bug#46055)

3 years agoUpdate the etags/ctags test files
Eli Zaretskii [Mon, 17 May 2021 16:06:56 +0000 (19:06 +0300)]
Update the etags/ctags test files

* test/manual/etags/ETAGS.good_1:
* test/manual/etags/ETAGS.good_2:
* test/manual/etags/ETAGS.good_3:
* test/manual/etags/ETAGS.good_4:
* test/manual/etags/ETAGS.good_5:
* test/manual/etags/ETAGS.good_6:
* test/manual/etags/CTAGS.good: Adjust to current codebase.

3 years agoAllow specifying the default archive types to compress to in Dired
Sun Lin [Mon, 17 May 2021 16:03:55 +0000 (18:03 +0200)]
Allow specifying the default archive types to compress to in Dired

* lisp/dired-aux.el (dired-compress-file-default-suffix):
(dired-compress-directory-default-suffix): New user options
(bug#47119).
(dired-compress-file-alist): New variable.

* lisp/dired-aux.el (dired-compress-file): Use them.
(dired-compress-file-suffixes): Remove the directory item.

3 years agoAdd support for Rust in etags
Pierre-Antoine Rouby [Mon, 17 May 2021 15:14:12 +0000 (17:14 +0200)]
Add support for Rust in etags

* lib-src/etags.c (Rust_functions): New function to make tags for rust
files.
(Rust_help, Rust_suffixes): New constant.
* doc/emacs/maintaining.texi (Tag Syntax): Add Rust item.
* doc/man/etags.1: Add Rust (bug#46055).

3 years agoAvoid crashes in condition-case
Eli Zaretskii [Mon, 17 May 2021 15:10:49 +0000 (18:10 +0300)]
Avoid crashes in condition-case

* src/eval.c (internal_lisp_condition_case): Don't take XCAR
without making sure the value is a cons cell.  (Bug#48479)

3 years agoMention *-nov-is-evil in the Extra Headers Gnus manual section
Lars Ingebrigtsen [Mon, 17 May 2021 14:29:56 +0000 (16:29 +0200)]
Mention *-nov-is-evil in the Extra Headers Gnus manual section

* doc/misc/gnus.texi (To From Newsgroups): Mention nov-is-evil.

3 years agoMerge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 17 May 2021 12:19:46 +0000 (15:19 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs

3 years agoImprove documentation of new behavior of 'M-y'
Eli Zaretskii [Mon, 17 May 2021 12:17:57 +0000 (15:17 +0300)]
Improve documentation of new behavior of 'M-y'

* lisp/minibuffer.el (minibuffer-local-map): Switch the order of
'\r' and '\n' bindings.
* lisp/simple.el (yank-pop, read-from-kill-ring)
(yank-from-kill-ring): Doc fixes.

* doc/emacs/search.texi (Isearch Yank):
* doc/emacs/killing.texi (Yanking): Improve the description of the
new functionality of 'M-y'.
* doc/lispref/text.texi (Yank Commands): Remove inaccurate
description of 'M-y' in Isearch.

* etc/NEWS: Improve the wording of 'M-y' entry.

3 years agoAdd a unit test to reproduce Bug#48471.
Philipp Stephani [Mon, 17 May 2021 08:43:54 +0000 (10:43 +0200)]
Add a unit test to reproduce Bug#48471.

* test/lisp/progmodes/project-tests.el (project-tests--trivial)
(project-root, project-ignores): New test project type.
(project-ignores): New unit test.