1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-11 02:10:35 -08:00
Commit graph

8799 commits

Author SHA1 Message Date
Lars Ingebrigtsen
407062c296 Allow save-interprogram-paste-before-kill to be a number
* doc/emacs/killing.texi (Clipboard): Document it.
* lisp/simple.el (save-interprogram-paste-before-kill): Extend
range (bug#41168).
(kill-new): Implement it (bug#41168).
2021-06-13 14:04:45 +02:00
Juri Linkov
dc471feee3 * doc/emacs/windows.texi (Change Window): Add pxref to (elisp)Deleting Windows
(Bug#47300)
2021-06-13 01:10:38 +03:00
Stefan Monnier
4c6554413d EIEIO: Promote the CLOS behavior over the EIEIO-specific behavior
Change docs to advertize `slot-value` rather than `oref`.
Change the implementation of `:initform` to better match the CLOS semantics,
while preserving the EIEIO semantics, but warn when encountering cases
where the two diverge.
Demote the mostly unused special semantics of `oref-default`
on non-class allocated slots.

* doc/misc/eieio.texi (Quick Start): Use `slot-value`.
(Accessing Slots): Move `slot-value` before `oref`.
Fix paren-typo in example (reported by pillule <pillule@riseup.net>).
(Introspection): Remove mention of `class-slot-initarg`.

* lisp/transient.el (transient--parse-group, transient--parse-suffix):
Don't use `oref-default` to get the default value.
(transient-lisp-variable): Init forms are evaluated.

* lisp/emacs-lisp/eieio.el (defclass): Warn about inapplicable
`:initarg` and about uses of init forms that are ambiguous.
(oref): Don't advertize the deprecated use of initargs as slot names.
(oref-default): Don't advertize the deprecated case where it returns the
initform's value.
(initialize-instance): Use `macroexp-const-p`.
* lisp/emacs-lisp/eieio-core.el (eieio--unbound): Rename from
`eieio-unbound`.
(eieio--unbound-form): New var.
(eieio--slot-override): Use it.
(eieio-defclass-internal): Use it.  Change `init` so it should always
be evaluated.
(eieio--known-class-slot-names): New var.
(eieio--eval-default-p): Rename from `eieio-eval-default-p`.
(eieio--perform-slot-validation-for-default): Use `macroexp-const-p` to
decide whether to skip the test.
(eieio--add-new-slot): Register slot in `eieio--known-class-slot-names`
when applicable.
(eieio-oref-default, eieio-oset-default): Add warning for unknown slots
and slots not known to be allocated to the class.
(eieio-default-eval-maybe): Delete function.  Use just `eval` instead.
(eieio-declare-slots): Allow slots to specify their allocation class.

* lisp/cedet/srecode/insert.el (point): Declare the slot instead of
moving the class definition before the slot's first use.
(srecode-template-inserter-point, srecode-insert-fcn):
Use nil instead of unbound for the `point` slot.

* lisp/cedet/srecode/compile.el (srecode-template-inserter):
Declare the `key` slot that all children should have.

* lisp/emacs-lisp/eieio-speedbar.el (eieio-speedbar)
(eieio-speedbar-directory-button, eieio-speedbar-file-button):
* lisp/emacs-lisp/eieio-custom.el (eieio-widget-test-class):
* lisp/emacs-lisp/chart.el (chart-bar):
* lisp/cedet/semantic/ede-grammar.el (semantic-ede-proj-target-grammar):
* lisp/cedet/semantic/db.el (semanticdb-project-database):
* lisp/cedet/semantic/db-javascript.el (semanticdb-table-javascript)
(semanticdb-project-database-javascript):
* lisp/cedet/semantic/db-el.el (semanticdb-table-emacs-lisp)
(semanticdb-project-database-emacs-lisp):
* lisp/cedet/semantic/db-ebrowse.el (semanticdb-table-ebrowse)
(semanticdb-project-database-ebrowse):
* lisp/cedet/ede/proj.el (ede-proj-project):
* lisp/cedet/ede/proj-obj.el (ede-proj-target-makefile-objectcode):
* lisp/cedet/ede/generic.el (ede-generic-project):
* lisp/cedet/ede/config.el (ede-project-with-config):
* lisp/cedet/ede/base.el (ede-target, ede-project):
* lisp/auth-source.el (auth-source-backend): Init forms are evaluated,
so quote them accordingly.
2021-06-12 16:22:03 -04:00
Alex Bochannek
dd3094170a Mention nov-is-evil/nnvirtual combination in the Gnus manual
* doc/misc/gnus.texi (To From Newsgroups): Mention using separate
select methods for different values (bug#48801).
2021-06-12 14:09:05 +02:00
Robert Pluim
56e21ab2e1 ; Improve delete-window-choose-selected documentation
* doc/lispref/windows.texi (Deleting Windows): Improve
delete-window-choose-selected documentation.
2021-06-11 11:31:36 +02:00
Martin Rudalics
00140ca6bf Rename/rewrite recently added option and function in window.el
* lisp/window.el (window-at-x-y): Rename from `window-at-pos'.
Fix doc-string.
(delete-window-choose-selected): Rename from
`delete-window-set-selected'.  Fix doc-string.
(delete-window): Adjust to above renaming.
* doc/emacs/windows.texi (Change Window): Mention new option
`delete-window-choose-selected'.
* etc/NEWS:
* doc/lispref/windows.texi (Deleting Windows): Follow up on
above renamings.
2021-06-11 09:55:02 +02:00
Eli Zaretskii
e27b531d5a Improve documentation of 'M-y'
* doc/emacs/killing.texi (Yanking): Mention that TTY frames can
also support yanking from the clipboard.
(Earlier Kills): Finalize the documentation of the new behavior
of the lone 'M-y'.  (Bug#48478)
2021-06-10 15:06:10 +03:00
Martin Rudalics
b3dd0ce75b Provide new option `delete-window-set-selected' (Bug#47300)
When `delete-window' deletes its frame's selected window, this new
option allows to choose another window as replacement.

* lisp/window.el (get-lru-window, get-mru-window)
(get-largest-window): New optional argument NO-OTHER.
(window-at-pos): New function.
(delete-window-set-selected): New option.
(delete-window): Handle `delete-window-set-selected'.
* src/window.c (Fdelete_window_internal): Set the selected
window of WINDOW's frame to the first window on that frame and
let `delete-window' choose a more suitable window instead.
* doc/lispref/windows.texi (Deleting Windows): Describe new
option `delete-window-set-selected'.
(Cyclic Window Ordering): Describe new NO-OTHER argument for
`get-lru-window', `get-mru-window' and `get-largest-window'.
* etc/NEWS: Mention `delete-window-set-selected' and the NO-OTHER
argument.
2021-06-10 09:14:21 +02:00
Glenn Morris
bef3070ab8 Merge from origin/emacs-27
37f4457994 (origin/emacs-27) ; Fix typo in dynamic module functions d...
f7d4bbceee ; * src/composite.h: Improve comments for LGSTRING and LGL...
2021-06-08 07:50:36 -07:00
Alex Bochannek
4888addd30 Change the Gnus default to use `#' to toggle the process mark
* doc/misc/gnus.texi (Marking Groups, Topic Commands):
(Setting Process Marks, Pick and Read): Document the new default.
* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.

* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.

* lisp/gnus/gnus-topic.el (gnus-topic-make-menu-bar): Update menu.

* lisp/gnus/gnus.el (gnus-process-mark-toggle): Change default.
2021-06-08 13:34:24 +02:00
Stefan Kangas
19ef864084 Fix an example in ERC docs
* doc/misc/erc.texi (Connecting):
* lisp/erc/erc.el (erc, erc-tls): Fix example to use J. Random Hacker
instead of Harry S. Truman.
2021-06-08 02:00:29 +02:00
Stefan Kangas
27366fffbb * doc/man/emacs.1.in: Minor fixes. 2021-06-08 02:00:29 +02:00
Sebastian Urban
f3498109be Minor copyedits in the Emacs user manual
* doc/emacs/fixit.texi (Spelling): Move TeX hyphenation directives
from here...
* doc/emacs/docstyle.texi: ...to here.
* doc/emacs/display.texi (Displaying Boundaries, Text Display):
Minor stylistic changes.  (Bug#48654)

Copyright-paperwork-exempt: yes
2021-06-06 12:58:40 +03:00
Fabrice Nicol
5a8a5a990a Add support for Mercury (https://mercurylang.org) in 'etags'
Tag declarations starting lines with ':-'.
By default, all declarations are tagged.  Optionally, first
predicate or functions in clauses can be tagged as in Prolog
support using '--declarations'.  (Bug#47408).
* lib-src/etags.c (test_objc_is_mercury, Mercury_functions)
(mercury_skip_comment,  mercury_decl, mercury_pr):
Implement Mercury support.  As Mercury and Objective-C have
the same file extension .m, a heuristic test tries to detect
the language.

* doc/man/etags.1: Document the change.  Add Mercury-specific
 behavior for '--declarations'.  This option tags first
predicates or functions in clauses in addition to declarations.
2021-06-06 12:29:29 +03:00
Basil L. Contovounesios
37f4457994 ; Fix typo in dynamic module functions docs. 2021-06-06 07:52:01 +01:00
Eli Zaretskii
58de11fe13 Document the last change
* doc/lispref/os.texi (Input Modes): Document the changes in the
values of the META flag.

* etc/NEWS: Call out the change in input-meta-mode.
2021-06-05 17:17:17 +03:00
Eli Zaretskii
4c362b4ef7 Fix documentation of a recent change.
* etc/NEWS:
* doc/emacs/misc.texi (Invoking emacsclient): Fix a recent change.
(Bug#11358)
2021-06-04 16:50:43 +03:00
Harald Hanche-Olsen
9136c064d6 Add a new `server-edit-abort' command
* doc/emacs/misc.texi (Invoking emacsclient): Document it (bug#11358).

* lisp/server.el (server-edit): Mention it in the doc string.
(server-edit-abort): New command.

Copyright-paperwork-exempt: yes
2021-06-04 11:09:46 +02:00
Alex Bochannek
16793dc35a Add new user option to Gnus to allow `#' to toggle
* doc/misc/gnus.texi (Marking Groups, Setting Process Marks):
Mention the new variable.

* lisp/gnus/gnus-group.el (gnus-group-make-menu-bar): Update menu.
(gnus-group-mark-group): Support the variable.
(gnus-group-mark-update): New command.
(gnus-group-unmark-group, gnus-group-mark-region): Pass in new
parameter.

* lisp/gnus/gnus-sum.el (gnus-summary-make-menu-bar): Update menu.
(gnus-summary-mark-as-processable): Use the variable.

* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic):  (bug#48683).

* lisp/gnus/gnus-topic.el (gnus-topic-mark-topic): Use the variable.

* lisp/gnus/gnus.el (gnus-process-mark-toggle): New user option.
2021-06-02 07:41:25 +02:00
Lars Ingebrigtsen
43a9c3f725 Document `with-selected-frame'
* doc/lispref/windows.texi (Selecting Windows): Document
`with-selected-frame' (bug#12075).
2021-06-01 09:41:40 +02:00
Lars Ingebrigtsen
85e17196fa Add a new command `mailcap-view-file'
* doc/misc/emacs-mime.texi (mailcap): Document it (bug#12972).

* lisp/net/mailcap.el (mailcap-view-file): New command.
2021-06-01 08:55:06 +02:00
Lars Ingebrigtsen
78f885f370 Fix documentation of literal `face' syntax in font-lock section
* doc/lispref/modes.texi (Search-based Fontification): Fix
the literal `(0 (face ...))' syntax documentation (bug#13917).
2021-06-01 07:57:09 +02:00
Glenn Morris
b7c1b81ffb Merge from origin/emacs-27
5dfa5e26dd (origin/emacs-27) Improve documentation of regexp ranges
2021-05-31 07:50:34 -07:00
Colin Woodbury
0b1dfb5de6 Remove spurious @example from the elisp manual
* doc/lispref/macros.texi (Defining Macros): Remove spurious extra
pair of @example/@end example.

Copyright-paperwork-exempt: yes
2021-05-31 10:55:37 +02:00
Lars Ingebrigtsen
77f67d12f6 Add new convenience function `buffer-local-boundp'
* doc/lispref/variables.texi (Creating Buffer-Local): Document it.
* lisp/subr.el (buffer-local-boundp): New function.

* src/data.c (Flocal_variable_p): Mention it.
2021-05-31 07:21:09 +02:00
Philipp Stephani
ed72a8ccd5 Document that the 'syntax-propertize-function' may move point.
The functions generated by 'syntax-propertize-rules' don't use
'save-excursion', but 'syntax-propertize' does, so we might as well
document that the 'syntax-propertize-function' may move point.

* doc/lispref/syntax.texi (Syntax Properties): Document that the
'syntax-propertize-function' may move point.
2021-05-30 22:42:40 +02:00
Eli Zaretskii
5dfa5e26dd Improve documentation of regexp ranges
* doc/lispref/searching.texi (Regexp Special): Document the effect
of using octal escapes in regexp ranges.  (Bug#17758)
2021-05-30 13:20:02 +03:00
Daniel Martín
1230651ffd Improve the documentation of documentation groups
* doc/lispref/help.texi (Documentation Groups): Fix typos and add an
example.
* lisp/emacs-lisp/shortdoc.el (define-short-documentation-group): Add
:no-eval* and :result-string keywords to the docstring.  (Bug#48730)
2021-05-30 06:41:24 +02:00
Lars Ingebrigtsen
5a264c3694 Improve previous frames.texi change
* doc/emacs/frames.texi (Fonts): Use conf names instead of path
names (bug#19568).
2021-05-28 03:37:13 +02:00
Lars Ingebrigtsen
d0655b79ab Specify which Gsetting font names are used in the manual
* doc/emacs/frames.texi (Fonts): Explicitly say what Gsettings
names are used (bug#19568).
2021-05-28 03:31:00 +02:00
Mattias Engdegård
de45864cf7 Fix lexing of numbers with trailing decimal point and exponent
Numbers with a trailing dot and an exponent were incorrectly read as
integers (with the exponent ignored) instead of the floats they should
be.  For example, 1.e6 was read as the integer 1, not 1000000.0 as
every sane person would agree was meant. (Bug#48678)

Numbers with a trailing dot but no exponent are still read as
integers.

* src/lread.c (string_to_number): Fix float lexing.
* test/src/lread-tests.el (lread-float): Add test.
* doc/lispref/numbers.texi (Float Basics): Clarify syntax.
2021-05-27 14:16:28 +02:00
Protesilaos Stavrou
5a762c946e
Remove modus-themes.org build date (bug#48661)
* modus-themes.org: Delete Org macro of the current export date.

This makes the manual reproducible between Emacs builds.
2021-05-26 12:08:01 +03:00
Protesilaos Stavrou
ffd2a5c9ae Update modus-themes to version 1.4.0
* doc/misc/modus-themes.org:
(Overview): Document good support for cases with red-green color
deficiency (deuteranopia).
(Customization Options): Add code block with sample configuration.
(Option for mode line presentation): Document new values.
(Option for completion framework aesthetics): Reword statements.
(Option for mail citations): Include new customization.
(Option for line highlighting (hl-line-mode)): Change description
of possible value.
(Option for diff buffer looks): Update the meaning of 'fg-only',
which now is an alias for 'fg-only-deuteranopia'.
(Option for org-mode block styles): Rename possible values.
(Cycle through arbitrary colors (DIY)): Include code samples for
demo case.
(Override colors (DIY)): Use correct symbol.
(Override color saturation (DIY)): Show how to combine manual and
automatic color overrides.
(Update Org block delimiter fontification (DIY)): Provide example.
(Load theme depending on time of day): Include missing "DIY" label.
(Full support for packages or face groups): Update list with
additions, removals.
(Indirectly covered packages): Update list.
(Notes for individual packages)
(Note on dimmer.el)
(Note on display-fill-column-indicator-mode)
(Note on mmm-mode.el background colors)
(Note on prism.el)
(Note on ERC escaped color sequences)
(Note on powerline or spaceline)
(Note on Helm grep)
(Note on EWW and Elfeed fonts (SHR fonts)): Stylistic change to
the heading.
(Note on inline Latex in Org buffers)
(Note on god-mode.el): Add note.
(Frequently Asked Questions (FAQ)): Include new section.
(Acknowledgements): Update list of contributors (bug#48647).
* etc/themes/modus-operandi-theme.el: Bump version number.

* etc/themes/modus-themes.el: Add new defcustom forms and update
existing ones, edit doc strings, remove old obsolete aliases,
tweak internal functions, refine face specifications.

* etc/themes/modus-vivendi-theme.el: Bump version number.
2021-05-25 21:47:37 +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
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
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
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
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
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
Tassilo Horn
8349f8294c ; Improve new bug-reference manual section 2021-05-20 21:30:10 +02: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
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