1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-03 06:00:50 -08:00
Commit graph

8756 commits

Author SHA1 Message Date
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
Tassilo Horn
6ae3f7e889 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.
2021-05-19 21:21:03 +02:00
Juri Linkov
39b67c3ffe * doc/emacs/basic.texi (Repeating): Document repeat-exit-timeout (bug#48472). 2021-05-19 00:15:30 +03:00
Sun Lin
dac20f08fa 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.
2021-05-17 18:03:55 +02:00
Pierre-Antoine Rouby
ec870f8986 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).
2021-05-17 17:24:04 +02:00
Lars Ingebrigtsen
cbeaf28c5e Mention *-nov-is-evil in the Extra Headers Gnus manual section
* doc/misc/gnus.texi (To From Newsgroups): Mention nov-is-evil.
2021-05-17 16:30:01 +02:00
Eli Zaretskii
7b82584c69 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.
2021-05-17 15:17:57 +03:00
Sebastian Urban
bf8b8cc6c5 Improve some quotation quoting in the Emacs manual
* doc/emacs/text.texi (Quotation Marks, Quotation Marks):
* doc/emacs/display.texi (Text Display): Fix some issues when
quoting quote marks and the like (bug#35885).

* doc/emacs/emacs.texi: Switch on double-sided printing headings.

Copyright-paperwork-exempt: yes
2021-05-16 15:29:39 +02:00
Eli Zaretskii
43701a8436 ; * doc/misc/calc.texi (Date Arithmetic): Fix order in @menu. 2021-05-13 19:58:30 +03:00
Glenn Morris
5cfb9a507d * doc/misc/calc.texi: Remove most hand-written node pointers.
The complex, conditional node layout makes this one of the very
few cases that can't be done entirely automatically.
2021-05-13 09:26:47 -07:00
Glenn Morris
fa33870e9f Remove more hand-written node pointers in doc/misc
* doc/misc/ede.texi, doc/misc/mh-e.texi, doc/misc/reftex.texi:
* doc/misc/todo-mode.texi: Remove hand-written node pointers.
2021-05-13 09:08:40 -07:00
Glenn Morris
9533eacec8 * doc/misc/epa.texi: Remove hand-written node pointers. 2021-05-13 08:21:10 -07:00
Glenn Morris
3061409de2 Merge from origin/emacs-27
bcd92b5708 (origin/emacs-27) Improve documentation of Hexl mode
c233f4eccd ; * etc/NEWS: Fix decoded-time-set-defaults typo.
4c3abb3dd1 Fix compilation errors with latest w32 API headers
127f1f330b Improve doc strings in log-edit.el
e36183ff46 ; * etc/TODO (etc/DOC): Update the todo entries.

# Conflicts:
#	etc/NEWS
2021-05-13 08:11:03 -07:00
Glenn Morris
ff8bf8c8df * doc/misc/epa.texi: Fix @nodes in previous change. 2021-05-13 08:07:57 -07:00
Stefan Kangas
218001e484 Document `package-quickstart' in the user manual
* doc/emacs/package.texi (Package Installation): Document
`package-quickstart' (bug#44748).
2021-05-13 13:45:04 +02:00
Philip K
6ca599f291 All a GPG key server client
* lisp/epa-ks.el (epa-keyserver): New file (bug#39886).
* doc/misc/epa.texi (Quick start): Mention it.
(Querying a key server): Document it.
2021-05-12 18:45:28 +02:00
Eli Zaretskii
bcd92b5708 Improve documentation of Hexl mode
* doc/emacs/misc.texi (Editing Binary Files): Explain that Hexl can
also be used for editing text, including non-ASCII text.
2021-05-11 20:06:02 +03:00
Eli Zaretskii
f84a385d79 Mention native compilation in the user manual
* doc/emacs/building.texi (Lisp Libraries): Mention native
compilation.
2021-05-11 17:41:42 +03:00
Michael Albinus
6d24a8e626 ; Fix typo in erc.texi 2021-05-11 09:27:14 +02:00
Glenn Morris
59fca4e8cd * doc/misc/erc.texi (Connecting): Fix cross reference. 2021-05-10 18:55:19 -07:00
Amin Bandali
c38b4a9bef
Tweak documentation relating to 'erc-tls'
* doc/misc/erc.texi (Connecting): Add a reference to the auth manual.
* etc/NEWS: Remove the verbose, detailed example of client certificate
specification and refer to the ERC manual instead.
* lisp/erc/erc.el (erc-tls): Fix leftover path example in docstring.
2021-05-10 21:36:33 -04:00
Michael Albinus
02c80307f1 Extend meaning of UNIQUIFY `auto-save-file-name-transforms'. (Bug#47493)
* doc/lispref/backups.texi (Auto-Saving): Explain UNIQUIFY being a
secure hash in auto-save-file-name-transforms.

* etc/NEWS: Mention change in `auto-save-file-name-transforms'.

* lisp/files.el (auto-save-file-name-transforms): Adapt docstring.
(make-auto-save-file-name): Care, if UNIQ is a secure hash symbol.
2021-05-10 13:42:48 +02:00
Lars Ingebrigtsen
5bedbe6b1d Always heed the `lexical-binding' local variable
* doc/lispref/variables.texi (File Local Variables): Document
`permanently-enabled-local-variables'.

* lisp/files.el (enable-local-variables): Mention the new variable.
(set-auto-mode): Always call `hack-local-variables'.
(hack-local-variables): Factor out the variable gathering into its
own function, and respect the new variable (bug#47843).
(hack-local-variables--find-variables): Factored out from
`hack-local-variables'.
(permanently-enabled-local-variables): New variable.
2021-05-10 12:40:11 +02:00
Michael Albinus
515cac0dc0 Cleanups for Tramp out-of-band methods on MS Windows
* doc/misc/tramp.texi (Frequently Asked Questions):
tramp-use-ssh-controlmaster-options is nil on MS Windows.

* lisp/net/tramp.el (tramp-unquote-shell-quote-argument): Revert previous
change, it worked (not as expected but) properly.

* test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
Don't skip on MS Windows.
(tramp--test-windows-nt-and-scp-p): Remove.
(tramp--test-special-characters): Skip for out-of-band methods on
MS Windows, sometimes.
2021-05-09 15:37:37 +02:00
Basil L. Contovounesios
bb8b8d717f Tiny fixes to recent native compilation docs
For discussion, see the following thread:
https://lists.gnu.org/r/emacs-devel/2021-05/msg00347.html

* doc/lispref/compile.texi (Native Compilation): Fix grammar in @ref
online label.
(Native-Compilation Functions): Consistently unhyphenate
'sub-process'.  Fix grammar.
(Native-Compilation Variables): Fix @cindex entry.
2021-05-08 17:53:41 +01:00
Basil L. Contovounesios
d3344e0a7f ; Fix recent re-builder doc changes. 2021-05-08 15:07:38 +01:00
Eli Zaretskii
79e2d0486c Document native-compilation
* doc/lispref/loading.texi (How Programs Do Loading)
(Library Search): Update for native-compilation features.
* doc/lispref/compile.texi (Native Compilation)
(Native-Compilation Functions, Native-Compilation Variables): New
chapter and sections.
* doc/lispref/elisp.texi (Top): Update the top-level menus.

* etc/NEWS: Add a reference to the ELisp manual.
2021-05-08 16:26:41 +03:00
dalanicolai
fdeb1a3dc7 Mention that Emacs is usually case-insensitive in a couple of places
* doc/lispref/searching.texi (Regular Expressions): Mention
`case-fold-search'.

* lisp/emacs-lisp/re-builder.el (re-builder): Mention case
sensitivity toggles (bug#47534).

Copyright-paperwork-exempt: yes
2021-05-08 13:59:03 +02:00
Michael Albinus
70bfcbcdd3 Tune Tramp traces
* doc/misc/tramp.texi (Traces and Profiles): Describe call traces.

* lisp/net/tramp-compat.el: Add `tramp-suppress-trace' property for all
functions.

* lisp/net/tramp.el (tramp-verbose): Adapt docstring.
(tramp-file-name-method, tramp-file-name-user)
(tramp-file-name-domain, tramp-file-name-host)
(tramp-file-name-port, tramp-file-name-localname)
(tramp-file-name-hop, tramp-file-name-user-domain)
(tramp-file-name-host-port, tramp-file-name-port-or-default)
(tramp-tramp-file-p, tramp-find-method, tramp-find-user)
(tramp-find-host, tramp-dissect-file-name)
(tramp-dissect-hop-name, tramp-debug-buffer-name)
(tramp-debug-outline-level, tramp-get-debug-buffer)
(tramp-get-debug-file-name, tramp-read-passwd)
(tramp-clear-passwd): Add `tramp-suppress-trace' property.
(tramp-debug-message): Activate call traces.

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case): Simplify.
2021-05-07 13:04:28 +02:00
Lars Ingebrigtsen
58b0bcd16d Use @defmac on eval-{and,when}-compile
* doc/lispref/compile.texi (Eval During Compile):  Use @defmac
instead of @defspec on two macros (bug#47862).
2021-05-05 10:31:36 +02:00
Eric Abrahamsen
aeada12ebb Add new defvoo nnimap-keepalive-intervals to Gnus nnimap servers
* lisp/gnus/nnimap.el (nnimap-keepalive-intervals): New per-server
config for customizing when keepalive commands are sent.
(nnimap-keepalive, nnimap-open-connection-1): Consult in these
places.  Additionally, use nnimap-streaming -> t when sending the
keepalive NOOP, so we don't wait for the response.
* doc/misc/gnus.texi (Customizing the IMAP Connection): Document.
2021-05-04 16:34:29 -07:00
Glenn Morris
0c993ed1d3 Merge from origin/emacs-27
40228fffd7 (origin/emacs-27) Fix code for newline-and-indent in skele...
56c4c8ef32 * lisp/jka-compr.el (jka-compr-uninstall): Fix function re...
2021-05-04 07:50:28 -07:00
Philipp Stephani
40228fffd7 Fix code for newline-and-indent in skeleton language.
The code for this is the symbol 'n', which is usually spelled as '\n'
here, not the character ?\n.

* doc/misc/autotype.texi (Skeleton Language): Fix item for
newline-and-indent.
2021-05-02 20:57:38 +02:00
Stefan Kangas
6c1c3204e4 Add new help command 'describe-command'
* lisp/help-fns.el (describe-command): New command.
(help-fns--describe-function-or-command-prompt): New helper
function to prompt for a function or function.  (Bug#46627)
(describe-function): Use above new helper function.

* lisp/help.el (help-map): Bind above new command to `C-h x'.
(help-for-help): Add this new command to the help summary.
* lisp/menu-bar.el (menu-bar-describe-menu): Add the new command to
the help menu.

* doc/emacs/help.texi (Help Summary, Name Help): Document
'describe-command', and update documentation on 'describe-function'.
* etc/tutorials/TUTORIAL: Change reference from 'describe-function' to
'describe-command'.
2021-05-02 15:04:00 +02:00
Stefan Monnier
0ce2f591ff * lisp/minibuffer.el (completing-read-default): Fix bug#45474
Set `minibuffer-completion-*` variables buffer-locally instead of using
a global let-binding.  This should also help make completion work
correctly when multiple minibuffers are simultaneously active.
2021-05-01 15:30:57 -04:00
Michael Albinus
a8aa217bff Some Tramp corrections, Bug#48067
* doc/misc/tramp.texi (Frequently Asked Questions): Rephrase GNU
ELPA warnings.

* lisp/net/tramp-sh.el (tramp-sh-gio-monitor-process-filter):
Improve handling of gio warning.  (Bug#48067)
2021-04-29 15:04:51 +02:00
Andrea Corallo
f32ff81020 * Add a note related to native compilation and Dynamic Binding
* doc/lispref/variables.texi (Dynamic Binding): Add a note
	related to native compilation.
2021-04-28 22:08:29 +02:00
Daniel Mendler
d8e037eeaa (affixation-function): Allow only three-element list elements
Restrict the definition of the `affixation-function`.  The function
must return a list of three element lists.  Since the
`affixation-function` is part of the widely used `completing-read` API
a simplification is helpful for both authors of completion UIs and
authors of completion tables.

* doc/lispref/minibuf.texi: Update documentation.
* lisp/minibuffer.el: Update documentation.
* lisp/simple.el (read-extended-command--affixation):
Return three-element lists.

https://lists.gnu.org/archive/html/emacs-devel/2021-04/msg01193.html
2021-04-27 19:44:41 +03:00
Glenn Morris
6dabbddb5f Merge from origin/emacs-27
7d5b973959 (origin/emacs-27) * doc/misc/cl.texi (For Clauses): Minor ...
4570781f8d ; * doc/lispref/files.texi (Directory Names): Add missing ...
1b52fd538d Minor update for make-tarball.txt
8efb8491b2 * doc/misc/cl.texi (Iteration Clauses): fix `never' clause...
0873134682 ; Fix Texinfo in last change to minibuf.texi.
cad8913c89 Improve filling-related documentation
2b7eed23eb ; * doc/lispref/keymaps.texi (Easy Menu): Fix typo.
47fc92cefc Fix reference to "yanking" in the main Emacs manual
1789dcdb35 Improve documentation of 'map-y-or-n-p'
2021-04-25 09:16:09 -07:00
Štěpán Němec
bda866009b * doc/lispref/macros.texi (Eval During Expansion): Copy edit. 2021-04-25 09:30:16 +02:00
Philipp Stephani
7d5b973959 * doc/misc/cl.texi (For Clauses): Minor copyedits. 2021-04-24 23:29:58 +02:00
Philipp Stephani
4570781f8d ; * doc/lispref/files.texi (Directory Names): Add missing parenthesis 2021-04-24 23:24:08 +02:00
Stefan Monnier
dec8a4775d * doc/lispref/macros.texi (Eval During Expansion): Fix fixme 2021-04-24 13:45:08 -04:00
Štěpán Němec
2c2dfbbbf0 ; Fix some typos in doc strings and manuals 2021-04-24 18:26:07 +02:00
Jorge P. de Morais Neto
8efb8491b2 * doc/misc/cl.texi (Iteration Clauses): fix `never' clause typo
This fixes bug#47962.

Copyright-paperwork-exempt: yes
2021-04-24 13:05:47 +03:00
Eli Zaretskii
d753b39096 Obsolete the TAB binding in *xref* buffers
* doc/emacs/maintaining.texi (Xref Commands): Remove the
description of the TAB binding.  Enhance the description of the
RET binding.  (Bug#44611)

* etc/NEWS: Announce the obsolescence of TAB binding in XREF.

* lisp/progmodes/xref.el (xref-goto-xref): Improve doc string.
2021-04-24 12:54:44 +03:00
Eli Zaretskii
e44a0b7c79 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.
2021-04-23 16:32:37 +03:00
Philipp Stephani
3995f0515a 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.
2021-04-23 13:01:51 +02:00
Eli Zaretskii
804f5acda4 Revert "Remove the binding for xref-quit-and-goto-xref"
This reverts commit 522c34f0e8.

Making changes to which there was an explicit disagreement
and a long discussion is unacceptable.  (Bug#44611)
2021-04-23 09:25:35 +03:00