1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-16 17:19:41 +00:00
Commit Graph

10206 Commits

Author SHA1 Message Date
Stefan Kangas
7d70320f35 Merge from origin/emacs-28
648acc8848 ; Fix @setfilename in calc.texi
2022-08-11 06:30:24 +02:00
Eli Zaretskii
648acc8848 ; Fix @setfilename in calc.texi
* doc/misc/calc.texi: Move the @setfilename command to its proper
place.  (Bug#57107)
2022-08-10 14:57:07 +03:00
Stefan Kangas
358ad0d30a Merge from origin/emacs-28
14833cd9df Improve wording when documenting other TRAMP syntaxes
628df15da5 ; * doc/misc/viper.texi (Rudimentary Changes): Avoid alias.
85de996bbb * lisp/vc/diff-mode.el: Don't mention XEmacs.
2022-08-10 06:31:02 +02:00
Stefan Kangas
14833cd9df Improve wording when documenting other TRAMP syntaxes
* doc/misc/tramp.texi (Change file name syntax): Improve wording.
(Bug#57061)
2022-08-09 22:35:35 +02:00
Stefan Kangas
628df15da5 ; * doc/misc/viper.texi (Rudimentary Changes): Avoid alias. 2022-08-09 22:21:01 +02:00
Stefan Kangas
2053c6aca1 Merge from origin/emacs-28
d91ffdbec2 Don't mention XEmacs toolbar in ediff manual
2022-08-09 06:30:25 +02:00
Stefan Kangas
d91ffdbec2 Don't mention XEmacs toolbar in ediff manual
* doc/misc/ediff.texi (Other Session Commands): Don't mention XEmacs
specific toolbar support for now.  This can be changed back once the
toolbar is ported to Emacs.
2022-08-08 21:28:53 +02:00
Lars Ingebrigtsen
ffc81ebc4b Allow specifying how args are to be stored in `command-history'
* doc/lispref/functions.texi (Declare Form): Document
`interactive-args'
* lisp/replace.el (replace-string): Store the correct interactive
arguments (bug#45607).

* lisp/emacs-lisp/byte-run.el (byte-run--set-interactive-args):
New function.
(defun-declarations-alist): Use it.

* src/callint.c (fix_command): Remove the old hack (which now
longer works since interactive specs are byte-compiled) and
instead rely on `interactive-args'.
2022-08-08 15:53:41 +02:00
Stefan Kangas
3d7d8ddc5a ; Fix typos 2022-08-08 14:23:29 +02:00
Stefan Kangas
91f4ea2fa4 Merge from origin/emacs-28
7ffcba4213 * etc/PROBLEMS: Problems with Alacritty and Emoji.  (Bug#5...
df95118e83 Link from (emacs)Init Syntax to (elisp)Introduction
7793cf0c3d Don't mention removed XEmacs support in reftex manual
3d1cf1b47a Don't mention removed XEmacs support in idlwave manual
7ff60c62a9 ; * admin/make-tarball.txt: Fix last change.
2fd5590d0c ; * lisp/play/fortune.el (fortune-ask-file): Doc fix.
2022-08-07 12:57:53 +02:00
Stefan Kangas
a3e894810a Fix defvar-keymap example in elisp manual
* lisp/textmodes/text-mode.el (text-mode-map): Convert to
defvar-keymap.
* doc/lispref/modes.texi (Example Major Modes): Fix example to
match code.
2022-08-06 17:17:38 +02:00
Jonas Bernoulli
bee6ee9de1 * doc/misc/transient.texi: Update to transient v0.3.7-156-ga5562cb
Eventually we want to be able to generate "transient.texi" from
"transient.org", without having to either give up on idiomatic texinfo
or making it much more painful to maintain the org file.

We are much closer to that now, but there are still a few areas where
additional work is needed.  This was mostly accomplished by using Org
macros.

The most significant outstanding issue is that the generated
references don't yet look like an experienced texinfo author like Eli
would like them to look.  Additionally it is not yet possible to use a
macro that produces @dots{} in the places Eli added them, and in Org
code blocks it is not possible to use macros, so we cannot have
@var{...} appear in "@lisp ... @end lisp".  The last issue probably
cannot be changed on Org's side, but since there are only two such
code blocks, this might be a situation where the compromise has to
come from the texinfo side.  There are also three other very minor
and inconsequential differences.

For now I have regenerated the texinfo file from the org file and then
discarded the differences mentioned in the previous paragraph.

The process of merging (1) Eli's changes to the texinfo file
(including, but certainly not limited to markup), (2) changes to the
org source (updated content, formatting changes backported earlier,
fixes for formatting changes Eli did not fix, etc.) and (3) changes to
the code that converts the org source to texinfo, was very laborious
and painful.  In essence, this amounted to a (at least) three-way
merge across three different languages and three repositories.

I tried very hard to not waste any of the effort Eli had put into
fixing up the generated texinfo file.  I.e., I went back and forth
making improvements to the org source, implementing org macros,
regenerating the texinfo and comparing the remaining difference, and
creating commits on both sides.  This resulted in a dozen commits on
both sides and took me well over a day.  I could have put in even more
effort to absolutely ensure nothing at all is lost in the process, but
I think that would have amounted to a colossal waste of my time.

Going forward, if you find unidiomatic texinfo, then please don't fix
each instance.  Instead write me an email, explaining what the problem
is.  You are welcome to make limited fixes to the content or fix
one-of markup issue in the texinfo file; those are relatively simple
to backport in comparison.
2022-08-06 16:03:51 +02:00
YugaEgo
df95118e83 Link from (emacs)Init Syntax to (elisp)Introduction
* doc/emacs/custom.texi (Init Syntax): Link to the ELisp manual (Bug#56870)
2022-08-06 16:18:02 +03:00
Lars Ingebrigtsen
83496888aa Fix mh-e.texi syntax (from previous change)
* doc/misc/mh-e.texi (Viewing): Add closing brace to @footnote.
2022-08-06 14:50:50 +02:00
Stefan Kangas
7793cf0c3d Don't mention removed XEmacs support in reftex manual
* doc/misc/reftex.texi (Installation, Imprint): Don't mention
removed XEmacs support.
2022-08-06 14:26:07 +02:00
Stefan Kangas
db5bc208fb Don't mention removed XEmacs support in mh-e manual
* doc/misc/mh-e.texi (Preface, Incorporating Mail, Viewing)
(Tool Bar, Tool Bar): Remove any reference to XEmacs.
2022-08-06 14:22:57 +02:00
Stefan Kangas
2ac3e3eda5 Drop support for XEmacs package func-menu from idlwave
* lisp/progmodes/idlwave.el (idlwave-function-menu): Make into
obsolete alias for imenu.  Update callers.
* doc/misc/idlwave.texi (Introduction, Motion Commands): Remove
any mention of func-menu.
2022-08-06 12:52:42 +02:00
Stefan Kangas
3d1cf1b47a Don't mention removed XEmacs support in idlwave manual
* doc/misc/idlwave.texi (Lesson I---Development Cycle)
(Syntax Highlighting, Windows and macOS, Troubleshooting): Delete
most references to XEmacs.  Support for it was deleted in 28.1.
2022-08-06 10:27:23 +02:00
Jim Porter
4e59830bc0 Add STREAM argument to 'process-tty-name'
* src/process.c (process-tty-name): Add STREAM argument.

* lisp/eshell/esh-io.el (eshell-close-target): Only call
'process-send-eof' once if the process's stdin is a pipe.

* test/src/process-tests.el (make-process/test-connection-type): Check
behavior of 'process-tty-name'.

* doc/lispref/processes.texi (Process Information): Document the new
argument.

* etc/NEWS: Announce this change.
2022-08-05 17:58:54 -07:00
Jim Porter
d7b89ea407 Allow creating processes where only one of stdin or stdout is a PTY
* src/lisp.h (emacs_spawn):
* src/callproc.c (emacs_spawn): Add PTY_IN and PTY_OUT arguments to
specify which streams should be set up as a PTY.
(call_process): Adjust call to 'emacs_spawn'.

* src/process.h (Lisp_Process): Replace 'pty_flag' with 'pty_in' and
'pty_out'.

* src/process.c (is_pty_from_symbol): New function.
(make-process): Allow :connection-type to be a cons cell, and allow
using a stderr process with a PTY for stdin/stdout.
(create_process): Handle creating a process where only one of stdin or
stdout is a PTY.

* lisp/eshell/esh-proc.el (eshell-needs-pipe, eshell-needs-pipe-p):
Remove.
(eshell-gather-process-output): Use 'make-process' and set
':connection-type' as needed by the value of 'eshell-in-pipeline-p'.

* lisp/net/tramp.el (tramp-handle-make-process):
* lisp/net/tramp-adb.el (tramp-adb-handle-make-process):
* lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Don't signal an
error when ':connection-type' is a cons cell.

* test/src/process-tests.el
(process-test-sentinel-wait-function-working-p): Allow passing PROC
in, and rework into...
(process-test-wait-for-sentinel): ... this.
(process-test-sentinel-accept-process-output)
(process-test-sentinel-sit-for, process-test-quoted-batfile)
(process-test-stderr-filter): Use 'process-test-wait-for-sentinel'.
(make/process/test-connection-type): New function.
(make-process/connection-type/pty, make-process/connection-type/pty-2)
(make-process/connection-type/pipe)
(make-process/connection-type/pipe-2)
(make-process/connection-type/in-pty)
(make-process/connection-type/out-pty)
(make-process/connection-type/pty-with-stderr-buffer)
(make-process/connection-type/out-pty-with-stderr-buffer): New tests.

* test/lisp/eshell/esh-proc-tests.el (esh-proc-test--detect-pty-cmd):
New variable.
(esh-proc-test/pipeline-connection-type/no-pipeline)
(esh-proc-test/pipeline-connection-type/first)
(esh-proc-test/pipeline-connection-type/middle)
(esh-proc-test/pipeline-connection-type/last): New tests.

* doc/lispref/processes.texi (Asynchronous Processes): Document new
':connection-type' behavior.
(Output from Processes): Remove caveat about ':stderr' forcing
'make-process' to use pipes.

* etc/NEWS: Announce this change (bug#56025).
2022-08-05 17:58:54 -07:00
Stefan Monnier
b70369c557 time-convert): Deprecate calls without an explicit FORM arg
* lisp/subr.el (time-convert): Deprecate calls without an explicit FORM arg.

* doc/lispref/os.texi (Time Conversion): Adjust doc accordingly.

* lisp/calendar/time-date.el (days-to-time):
* lisp/emacs-lisp/timer.el (timer-next-integral-multiple-of-time):
* lisp/gnus/nnrss.el (nnrss-normalize-date):
* lisp/epa-ks.el (epa-ks--parse-buffer): Silence corresponding warnings.
2022-08-05 18:46:31 -04:00
Stefan Kangas
c7b0eafd72 Merge from origin/emacs-28
f484da5fcb * doc/lispref/loading.texi (Autoload by Prefix): Fix typo.
2022-08-05 06:30:27 +02:00
Stefan Kangas
f484da5fcb * doc/lispref/loading.texi (Autoload by Prefix): Fix typo. 2022-08-04 14:59:24 +02:00
Lars Ingebrigtsen
c17f1a2e89 Adjust documentation for make-docfile
* doc/lispref/loading.texi (Autoload): We're no longer using
make-docfile for loaddefs.el, but we're retaining the format.
Adjust the documentation.
* lisp/loadup.el: Adjust commentary.
2022-08-04 08:05:25 +02:00
Eli Zaretskii
ec22e923c0 Teach 'symbol-file' about .eln natively-compiled files
* lisp/subr.el (locate-eln-file): New function.
(symbol-file): Accept an optional 3rd argument NATIVE-P, and, if
non-nil, try to locate and report the .eln file where SYMBOL was
defined.

* etc/NEWS:
* doc/lispref/loading.texi (Where Defined): Document the new
optional argument of 'symbol-file'.
2022-08-03 17:16:09 +03:00
Protesilaos Stavrou
8a9839348f
Update modus-themes to their version 2.5.0
* doc/misc/modus-themes.org (Debian 11 Bullseye): Clarify that the
Debian package as it is long outdated.
(Option for inhibiting theme reload): Fix typo
(Option for completion framework aesthetics): Remove reference to
obsolete package.
(Option for line highlighting): Mention 'lin' package from GNU ELPA.
(Option for the headings' overall style): Document support for
headings level 0.
(Advanced customization): Fix typo.
(Override colors): Remove obsolete entries.  Add link to new section.
(Override colors through blending): Add section with a complete
technology demonstration of overriding the color values.
(Font configurations for Org and others): Mention the 'fontaine'
package from GNU ELPA.
(Custom Org emphasis faces): Fix typo.
(Full support for packages or face groups, Indirectly covered
packages): Update list of supported packages.
(Note on vc-annotate-background-mode): Remove note.:(Are these color
schemes?): Fix typo.
(Acknowledgements): Update acknowledgements.
* etc/themes/modus-operandi-theme.el
* etc/themes/modus-vivendi-theme.el: Update version header.

* etc/themes/modus-themes.el (modus-themes--version): Update version.
(modus-themes-special-cold, modus-themes-special-mild)
(modus-themes-special-warm, modus-themes-special-calm)
(modus-themes-diff-added, modus-themes-diff-changed)
(modus-themes-diff-removed, modus-themes-diff-refine-added)
(modus-themes-diff-refine-changed, modus-themes-diff-refine-removed)
(modus-themes-diff-focus-added, modus-themes-diff-focus-changed)
(modus-themes-diff-focus-removed, modus-themes-mark-symbol)
(modus-themes-inhibit-reload, modus-themes-mode-line)
(modus-themes--paren): Fix doc string warning about quotes.
(modus-themes-operandi-color-overrides)
(modus-themes-vivendi-color-overrides): Fix ":link" to the Info
manual's relevant node.
(modus-themes-headings): Add support for headings level 0.
(modus-themes-org-agenda): Tweak spacing in the doc string.
(modus-themes--syntax-comment): Tweak combination of properties.
(modus-themes--list-colors-render, modus-themes-list-colors): Refine
how the command works to preview colors in the buffer.
(modus-themes-faces): Edit supported faces.
(modus-themes-custom-variables): Edit supported variables.

Release notes: <https://protesilaos.com/codelog/2022-08-03-modus-themes-2-5-0/>.
2022-08-03 14:36:47 +03:00
Stefan Kangas
85f1ad0c79 * doc/misc/vtable.texi (Commands): Fix typo. (Bug#56899) 2022-08-03 01:20:51 +02:00
Eli Zaretskii
7f59cadf6f ; Clarify documentation of "locked narrowing"
* src/editfns.c (Fwiden, Fnarrow_to_region):
* doc/lispref/positions.texi (Narrowing): Explain when
'narrow-to-region' and 'widen' might have no effect.
2022-08-02 16:24:00 +03:00
Robert Pluim
bf47851e08 Signal error on duplicate key definitions
* lisp/keymap.el (define-keymap, defvar-keymap): Signal error if the
same key is specified twice.  (Bug#56873)

* doc/lispref/keymaps.texi (Creating Keymaps): Document error
signaling behaviour.

* test/src/keymap-tests.el (keymap-test-duplicate-definitions): Test
duplicate definition detection.
2022-08-02 14:29:43 +02:00
Juri Linkov
7320a812e9 Wrap around the search on typing a letter (bug#56535)
* doc/emacs/search.texi (Repeat Isearch): Improve values no/no-ding.

* lisp/isearch.el (isearch-search-and-update): Try to repeat the search
on an error when isearch-wrap-pause is no/no-ding.
2022-08-01 22:19:01 +03:00
Gregory Heytings
9d8a6c8283 Fix the bytecode incompatibility due to the change to 'narrow-to-region'.
* src/editfns.c (narrow_to_region_internal): New function, which
contains the body previously in 'Fnarrow_to_region' but accepts
a third argument.
(Fnarrow_to_region): Use the new function. Update the docstring.
(Fwiden): Update the docstring.

* src/lisp.h: Prototype of the new function.

* src/xdisp.c (handle_fontified_prop): Use the new function instead
of 'Fnarrow_to_region'.

* src/process.c (Finternal_default_process_filter):
* src/lread.c (readevalloop): Remove the third argument to
'Fnarrow_to_region'.

* src/bytecode.c (exec_byte_code):
* lisp/emacs-lisp/comp.el (comp-limplify-lap-inst):
* lisp/emacs-lisp/bytecomp.el: Restore the statu quo ante.

* etc/NEWS: Remove the entry about the new optional argument.

* doc/lispref/positions.texi (Narrowing): Update the documentation.
2022-08-01 21:11:49 +02:00
Paul Eggert
9d4633e934 (time-equal-p nil X) returns nil
* src/timefns.c (Ftime_equal_p): nil compares unequal to non-nil.
2022-08-01 01:17:13 -07:00
Po Lu
99754dad3c Implement primitive frame synchronization on Haiku
Instead of relying on a compositor to do the work, we simply
wait for VBLANK and hope that the update finishes soon enough.

* doc/lispref/frames.texi (Management Parameters): Document that
frame synchronization is now supported on Haiku.

* src/haiku_support.cc (class EmacsView): New field
`use_frame_synchronization'.
(FlipBuffers): Wait for vertical blanking period.
(be_set_use_frame_synchronization): New function.
* src/haiku_support.h: Update prototypes.
* src/haikufns.c (haiku_create_frame): Set
`use-frame-synchronization'.

(haiku_set_use_frame_synchronization)
(haiku_frame_parm_handlers): New param handler.
2022-08-01 05:51:59 +00:00
Po Lu
3b5c03eeb2 Make frame synchronization a frame parameter
* doc/lispref/frames.texi (Management Parameters): Document
`use-frame-synchronization'.
* etc/NEWS: Update entry.

* src/frame.c (frame_parms): New frame parameter
`use-frame-synchronization'.
(syms_of_frame): New defsym.
* src/haikufns.c (haiku_frame_parm_handlers):
* src/nsfns.m (ns_frame_parm_handlers):
* src/pgtkfns.c (pgtk_frame_parm_handlers):
* src/w32fns.c (w32_frame_parm_handlers): Update frame param
handlers correctly.
* src/xfns.c (x_set_use_frame_synchronization): New function.
(Fx_create_frame): Set default value of said parameter.
(x_frame_parm_handlers): Add handler.

* src/xterm.c (x_sync_wait_for_frame_drawn_event): Clear
parameter if sync fails.
2022-08-01 09:56:12 +08:00
Stefan Kangas
d9bd334ef3 Merge from origin/emacs-28
eb11dae499 Improve documentation of column-related functions
c95a34c960 * src/macfont.m (macfont_open): Initialize font->space_wid...
31a6a37d45 Improve indexing of keymap variables
2022-07-31 06:30:25 +02:00
Stefan Kangas
5b29f8cd98 Delete redisplay-end-trigger-functions and related defuns
This variable and related functions have been obsolete since 23.1.
The last things to depend on this (fast-lock.el and lazy-lock.el) were
recently removed.

* src/dispextern.h (struct it): Delete field
'redisplay_end_trigger_charpos'.
* src/window.c (Fwindow_redisplay_end_trigger)
(Fset_window_redisplay_end_trigger): Delete defuns and corresponding
defsubrs for functions obsolete since 23.1.
* src/window.h (wset_redisplay_end_trigger): Delete function.
(GCALIGNED_STRUCT): Delete 'redisplay_end_trigger'.
* src/xdisp.c (run_redisplay_end_trigger_hook): Delete function.
(syms_of_xdisp) <redisplay_end_trigger_functions>: Delete
variable obsolete since 23.1.
(init_iterator, next_element_from_buffer): Don't run or set above
deleted hook variable.

* lisp/subr.el: Delete obsoletion definitions for above deleted
defuns and variable.
* doc/lispref/hooks.texi (Standard Hooks):
* lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
* lisp/loadhist.el (unload-feature-special-hooks): Don't mention
above deleted variable.
* admin/coccinelle/window.cocci: Adjust for above changes.
2022-07-31 01:44:22 +02:00
Eli Zaretskii
eb11dae499 Improve documentation of column-related functions
* doc/lispref/text.texi (Primitive Indent, Columns):
* src/indent.c (Fcurrent_indentation, Fmove_to_column): Document
that column counting ignores invisible text.  (Bug#56837)
2022-07-30 19:34:38 +03:00
Eli Zaretskii
31a6a37d45 Improve indexing of keymap variables
* doc/lispref/maps.texi (Standard Keymaps):
* doc/lispref/display.texi (Button Buffer Commands)
(Button Properties):
* doc/lispref/keymaps.texi (Translation Keymaps): Improve indexing
of keymaps.  (Bug#56816)
2022-07-30 09:32:48 +03:00
Stefan Kangas
76bcbe5f93 Merge from origin/emacs-28
e0f54c62ec CC Mode: fontify variables/functions after line comments e...
2c6a94c5b8 ; Correct the meaning of "cf." in tips.texi
2022-07-30 06:30:23 +02:00
Philip Kaludercic
006f621a89 ; * buffers.texi (Buffer List): Mention t 2022-07-29 18:21:54 +02:00
Eli Zaretskii
3756a13c30 ; * doc/emacs/display.texi (Icons): Improve indexing and wording. 2022-07-29 13:59:15 +03:00
Po Lu
acefbcf835 Minor additions to last change
* doc/emacs/xresources.texi (Table of Resources): Update
description of `extended'.
* etc/NEWS: Announce frame tearing reduction.

* src/xterm.c (x_sync_update_finish, x_sync_update_begin)
(x_update_begin, x_update_end, show_back_buffer, x_flip_and_flush)
(XTframe_up_to_date, handle_one_xevent): Minor redesign of frame
synchronization feature.  Fix crash with overflow and checking.
2022-07-29 17:27:36 +08:00
Gregory Heytings
db03eda636 Merge branch 'feature/long-lines-and-font-locking' 2022-07-29 10:22:03 +02:00
Štěpán Němec
2c6a94c5b8 ; Correct the meaning of "cf." in tips.texi
Cf. e.g. https://en.wiktionary.org/wiki/cf.

* doc/lispref/tips.texi (Documentation Tips): Correct the meaning of
"cf.".
2022-07-29 09:42:21 +02:00
Eli Zaretskii
c6029ed34e Minor improvements of recent documentation changes
* src/editfns.c (Fwiden):
* doc/lispref/display.texi (Auto Faces):
* src/xdisp.c (syms_of_xdisp) <fontification-functions>:
* etc/NEWS: Clarify and improve wording of documentation changes.
2022-07-29 10:08:50 +03:00
Gregory Heytings
d3c4833d13 Add an optional 'lock' parameter to 'narrow-to-region'
* src/editfns.c (Fnarrow_to_region): Add the parameter to the
function, and handle it. Update docstring.
(unwind_locked_begv, unwind_locked_zv): New functions.
(Fwiden): Do nothing when restrictions are locked. Update
docstring.
(syms_of_editfns): Replace the 'inhibit-widen' symbol and variable
with a 'restrictions-locked' symbol and variable. Update docstring.

* src/xdisp.c (handle_fontified_prop): Use Fnarrow_to_region with
the new parameter.
(unwind_narrowed_zv): Remove function.

* src/process.c (Finternal_default_process_filter): Add a third
argument to Fnarrow_to_region.

* src/lread.c (readevalloop): Add a third argument to
Fnarrow_to_region.

* src/bytecode.c (exec_byte_code): Add a third argument to
Fnarrow_to_region.

* etc/NEWS (like): Mention the new parameter of 'narrow-to-region'.

* doc/lispref/positions.texi (Narrowing): Document it.
2022-07-28 22:40:42 +02:00
Eli Zaretskii
41b63f7bed ; Minor fixes to the "icons" feature
* lisp/emacs-lisp/icons.el (icons--create): Use 'display-images-p'
to test for image capability.

* doc/lispref/display.texi (Icons): Improve indexing,
cross-references, and wording.
2022-07-28 17:21:30 +03:00
Stefan Kangas
cf252ef4db Merge from origin/emacs-28
ba54f7e39c ; * doc/lispref/windows.texi (Window Sizes): Another typo....
7990d0c36a ; * doc/lispref/windows.texi (Window Sizes): Fix a typo.  ...
2022-07-28 14:56:25 +02:00
Stefan Kangas
7b55a3dab6 Merge from origin/emacs-28
23112f89f9 ; Improve documentation of 'file-name-with-extension'
4be938169d Release the desktop lock in 'kill-emacs-hook'
4ea1f6c7f8 ; * doc/lispref/tips.texi (Documentation Tips): Fix typos....

# Conflicts:
#	doc/lispref/tips.texi
2022-07-28 14:56:24 +02:00
Lars Ingebrigtsen
601737d750 Add support for user-customizable icons
* doc/emacs/custom.texi (Specific Customization): Mention it.

* doc/emacs/display.texi (Icons): New node.

* doc/lispref/display.texi (Icons): New node.

* lisp/button.el (buttonize):
(button--properties, buttonize-region): Allow not overriding faces.

* lisp/cus-edit.el (custom-save-all): Save icons.
(custom-icon): New widget.
(custom-icon-value-create, custom-toggle-hide-icon)
(custom--icons-widget-value, custom-icon-set): Helper functions
for the widget.
(customize-icon): Main command.
(custom-icon-state-set, custom-icon-state): Helper functions.
(custom-theme-set-icons): Function to be used by theme writers.
(custom-set-icons): Function to be used in .emacs.
(custom-save-icons): New function.

* lisp/custom.el (custom-push-theme): Add icons.

* lisp/emacs-lisp/icons.el: New file.

* test/lisp/emacs-lisp/icons-tests.el: Add some tests.
2022-07-28 14:39:38 +02:00