1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-27 07:30:59 -08:00
Commit graph

149304 commits

Author SHA1 Message Date
Miha Rihtaršič
0c7a7433dc Try to not prioritise reading from lower file descriptors
* src/process.c (wait_reading_process_output): When looping through
fds, continue from where we left off.
(syms_of_process): Vprocess_prioritize_lower_fds: New variable
(bug#48118).
2021-05-25 21:01:58 +02:00
Glenn Morris
316de2a131 * doc/misc/cc-mode.texi: Remove hand-written node pointers (bug#48402). 2021-05-25 11:06:07 -07:00
Stefan Monnier
354ecaf12b * lisp/emacs-lisp/byte-opt.el: Make the build more reproducible
(byte-compile-inline-expand): When inlining code from another file,
always inline the byte-code version of the function.
(byte-optimize--pcase): Simplify edebug spec.
2021-05-25 13:38:05 -04:00
Philipp Stephani
7a46fa9c75 Allow years in a copyright range to be separated by en dashes.
* lisp/emacs-lisp/copyright.el (copyright-regexp)
(copyright-years-regexp, copyright-update-year)
(copyright-fix-years): Also include en dash.

* test/lisp/emacs-lisp/copyright-tests.el (copyright-tests--data): New
test cases.
2021-05-25 14:04:06 +02:00
Jonas Bernoulli
75604f882a
* lisp/transient.el: Update to package version 0.3.4. 2021-05-25 13:45:32 +02:00
Gregory Heytings
ce2de3b50a Further improvements to completion-list-mode-map
* doc/emacs/mini.texi (Completion Commands): Mention the change,
and mention the 'n' and 'p' keys bound to 'next-completion' and
'previous-completion'. (bug#47699).
* lisp/minibuffer.el (minibuffer-local-completion-map): Change the
M-g key to M-g M-c.

* lisp/simple.el (completion-list-mode-map): Change the M-g key to
M-g M-c.
(read-expression-map): Bind M-g M-c to
read-expression-switch-to-completions.
(read-expression-switch-to-completions): New function.
2021-05-25 10:39:48 +02:00
Gregory Heytings
de9a11255d Improve completion-list-mode-map
* doc/emacs/mini.texi (Completion Commands): Mention it.

* lisp/minibuffer.el (minibuffer-local-completion-map): Add the M-g key
for switch-to-completion (bug#47699).

* lisp/simple.el (completion-list-mode-map): Make special-mode-map its
parent, unbind the 'g' revert key, add the 'n' and 'p' keys for
next-completion and previous-completion, and the M-g key for
switch-to-minibuffer.
(switch-to-minibuffer): New function.
2021-05-25 06:38:15 +02:00
Gregory Heytings
1fa58c548a Use correct face when pulsing in CEDET
* lisp/cedet/pulse.el (pulse-momentary-highlight-overlay): Use
pulse-highlight-face, not pulse-highlight-start-face (bug#47810).
2021-05-25 06:22:36 +02:00
Gregory Heytings
740d424547 Consider all user-defined bitmaps in gui_init_fringe()
* src/fringe.c (gui_init_fringe): Consider user-defined bitmaps
that override default ones (bug#47832).
2021-05-25 06:21:03 +02:00
Gregory Heytings
0b48e2d258 Fix infloop in Modula-2 mode
* lisp/progmodes/modula2.el (m2-smie-refine-colon): Stop looping
when point does not move with forward-sexp (Bug#48011).
2021-05-25 06:18:29 +02:00
Amin Bandali
86e4d770a8
* lisp/erc/erc-services.el: Fix newly-added Libera.Chat entry (bug#48529). 2021-05-24 23:28:35 -04:00
Gregory Heytings
3f8b303ec0 Fix bug when moving directories to trash
* lisp/files.el (move-file-to-trash): Pass the correct dir-flag to
make-temp-file so that a directory is created when a directory is
being trashed (Bug#47960).
2021-05-25 00:24:57 +02:00
Corwin Brust
a70a344941 Add Libera.chat to `erc-nickserv-alist'
* lisp/erc/erc-services.el (erc-nickserv-alist): Add support for
the Libera chat.

Copyright-paperwork-exempt: yes
2021-05-24 23:36:01 +02:00
Glenn Morris
19c14be04f Tweak c-mode bug reporting address
* lisp/progmodes/cc-mode.el (c-mode-help-address):
Switch to bug-gnu-emacs.  This is an alias for the previous
submit@debbugs address, except that if no Package header can be found,
as often seems to happen for cc-mode reports, debbugs will assign
the report to the "emacs" package rather than to "debbugs.gnu.org".
2021-05-23 16:03:34 -07:00
Philipp Stephani
2e55201b80 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.
2021-05-23 13:03:49 +02:00
Michael Albinus
fc87cdf959 Adapt tramp-archive-autoload-file-name-handler
* lisp/net/tramp-archive.el (tramp-archive-autoload-file-name-handler):
Bind `default-directory' to safe value.
2021-05-23 12:34:36 +02:00
Juri Linkov
c60d707f2c * src/editfns.c (Finsert_char): Add docstring reference to read-char-by-name. 2021-05-22 23:52:19 +03:00
Tassilo Horn
62e2dce3a9 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.
2021-05-22 19:06:57 +02:00
Glenn Morris
048dc9441e 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...
2021-05-22 09:19:01 -07:00
Glenn Morris
35182fff40 * doc/emacs/maintaining.texi (Bug Reference): Fix cross refs.
"First argument to cross-reference may not be empty." (makeinfo 4).
2021-05-22 09:17:56 -07:00
Michael Albinus
4db69b32b8 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.
2021-05-22 17:51:07 +02:00
Stefan Monnier
84e207c811 * 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.
2021-05-22 10:21:59 -04:00
Basil L. Contovounesios
43fd13770a 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).
2021-05-22 13:22:29 +01:00
Philipp Stephani
33a52cb458 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'.
2021-05-22 13:29:50 +02:00
Philipp Stephani
91fa95bde0 * lisp/emacs-lisp/cl-macs.el (cl-loop): Add missing 'when' to spec 2021-05-22 13:17:00 +02:00
Tassilo Horn
a3de48687e 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.
2021-05-21 23:15:46 +02:00
Eric Abrahamsen
5fe343a44c 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.
2021-05-21 13:35:38 -07:00
Basil L. Contovounesios
484bd8137a ; * etc/NEWS: Fix typo in last change. 2021-05-21 20:49:32 +01:00
Juri Linkov
099caace34 * lisp/dired-aux.el (dired-do-revert-buffer): New defcustom (bug#48456).
(dired-do-create-files): Use it.
2021-05-21 21:31:48 +03:00
Juri Linkov
dfe79a8185 * lisp/simple.el (yank-from-kill-ring): Fix kill-ring-yank-pointer (bug#48478) 2021-05-21 21:18:09 +03:00
Michael Albinus
bab7e85461 ; * test/infra/gitlab-ci.yml: Fix it, again. 2021-05-21 20:03:31 +02:00
Michael Albinus
9351da3862 ; * test/infra/gitlab-ci.yml: Fix previous commit 2021-05-21 20:00:55 +02:00
Michael Albinus
5fbbcdea2b 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.
2021-05-21 19:33:42 +02:00
Eli Zaretskii
fe8c1e7b1a Avoid byte-compiler warning during bootstrap
* lisp/isearch.el (multi-isearch-switch-buffer): Avoid
byte-compiler warning.
2021-05-21 13:37:48 +03:00
Michael Albinus
92464bd9b7 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.
2021-05-21 09:43:04 +02:00
Eli Zaretskii
30e5d93ee1 Improve documentation of display tables
* doc/lispref/display.texi (Display Tables): Add a cross-reference
to the next section.
2021-05-21 09:51:17 +03:00
Andrea Corallo
3f207753a0 * 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'.
2021-05-21 08:49:25 +02:00
Eli Zaretskii
8804ac857b * src/buffer.c (syms_of_buffer) <ctl-arrow>: Doc fix. (Bug#48539) 2021-05-21 09:37:47 +03:00
Tassilo Horn
8349f8294c ; Improve new bug-reference manual section 2021-05-20 21:30:10 +02:00
Juri Linkov
e0ebce5ce2 * 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.
2021-05-20 21:37:04 +03:00
Juri Linkov
9be9d1f94e * lisp/vc/diff-mode.el (diff-hunk-text): Handle better "\ No newline at end". 2021-05-20 21:23:01 +03:00
Juri Linkov
ef7a6eec20 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.
2021-05-20 21:02:27 +03:00
Juri Linkov
1866e66a73 * 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
2021-05-20 20:51:32 +03:00
Daniel Mendler
cb8b994217 (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`.
2021-05-20 20:50:35 +03:00
Daniel Mendler
836d69bc60 (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.
2021-05-20 20:50:33 +03:00
Daniel Mendler
cacfd0321a (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`.
2021-05-20 20:50:31 +03:00
Daniel Mendler
de168b70b1 (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.
2021-05-20 20:50:28 +03:00
Daniel Mendler
443d9efc95 (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.
2021-05-20 20:50:23 +03:00
Michael Albinus
72ec24d480 * doc/emacs/maintaining.texi (Bug Reference): Add debbugs-browse-mode. 2021-05-20 14:33:43 +02:00
Eli Zaretskii
ae3ec0860a 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
2021-05-20 13:02:29 +03:00