1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-03-05 05:21:26 -08:00
Commit graph

11318 commits

Author SHA1 Message Date
Eli Zaretskii
f63c5faf07 ; Fix last change
* lisp/faces.el (faces--string-with-color, read-color): Doc fixes.

* doc/lispref/minibuf.texi (High-Level Completion): Fix markup and
wording.  (Bug#64725)
2023-08-03 10:56:35 +03:00
Helmut Eller
5129ea4b05 Improve interactive prompting for face colors
When displaying the completion candidates, show how the face would
look with the new foreground/background.

* lisp/faces.el (faces--string-with-color): New helper,
factored out from 'defined-colors-with-face-attributes'.
(defined-colors-with-face-attributes): Use it.
(read-color): Add optional argument FACE and pass
it to 'faces--string-with-color.'
(read-face-attribute): Call 'read-color' with more appropriate
foreground and face arguments.

* doc/lispref/minibuf.texi (High-Level Completion): Describe
the intention behind the arguments FOREGROUND and FACE of
'read-color'.  (Bug#64725)
2023-08-03 10:45:41 +03:00
Stefan Kangas
0910230be6 ; Prefer HTTPS to HTTP in more links 2023-08-02 23:32:28 +02:00
Eli Zaretskii
30bcd71476 Merge from origin/emacs-29
525d05c1b8 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
29ef215711 ; * lisp/textmodes/paragraphs.el: Remove leftover comment.
80c9f491fc Update to Org 9.6.7-5-gd1d0c3
735f3700f6 ; * src/character.c (Fstring_width): Fix last change.
bf83fdba9e ; * src/character.c (Fstring_width, Fchar_width): Doc fixes.
1198cdb556 Merge branch 'emacs-29' of git.sv.gnu.org:/srv/git/emacs ...
2b8796eea1 Fix rx wrong-code bug: ranges starting with ^
ba60070b81 Backport: Fix some tree-sitter :match regexps
092a2ecb08 ; * admin/make-tarball.txt: Update based on latest experi...
7b9e83d3cf Fix bug#64923
0002d4f316 Avoid spurious whitespace in the modeline of emacsclient ...
96d52f8944 Fix function help for advised aliases (bug#64797)
71419a60c3 Avoid crashes due to invalid 'mode-line-format'
b2cb6e8216 ; Better documentation of HOME on MS-Windows
54e98b5f9b ; Clarify documentation of 'server-after-make-frame-hook'
d13029cdcd Avoid crashes under 'which-key-mode'
cb1f7db249 ; Minor documentation fixes
4a687bcc20 Bump Emacs version
2023-07-31 11:11:23 -04:00
Eli Zaretskii
555cb8f7b1 Merge from origin/emacs-29
ee20b50dfe ; * lisp/progmodes/typescript-ts-mode.el (treesit-query-c...
2215298d90 Update JSX support due to upstream changes (bug#64647)
235561a2cc Update TSX support due to upstream changes (bug#64647)
12ab82d3b3 ; Fix customization form of 'bookmark-watch-bookmark-file'
d149a4dc42 ; Improve documentation of automatic addition to minibuff...
42a9962794 ; Improve documentation of 'last-command-event'
101455cb85 ; * lisp/subr.el (ignore, always): Doc fixes.  (Bug#64776)
2023-07-31 11:11:21 -04:00
Kyle Meyer
80c9f491fc Update to Org 9.6.7-5-gd1d0c3 2023-07-30 16:52:11 -04:00
Eli Zaretskii
b2cb6e8216 ; Better documentation of HOME on MS-Windows
* doc/emacs/custom.texi (Find Init): Add footnote about HOME on
MS-Windows.  (Bug#64871)

(cherry picked from commit d59630e591)
2023-07-30 10:23:51 +03:00
Eli Zaretskii
54e98b5f9b ; Clarify documentation of 'server-after-make-frame-hook'
* doc/lispref/frames.texi (Creating Frames):
* lisp/server.el (server-after-make-frame-hook): Clarify
documentation of 'server-after-make-frame-hook'.  (Bug#64873)

(cherry picked from commit e650a14f64)
2023-07-30 10:23:32 +03:00
Eli Zaretskii
cb1f7db249 ; Minor documentation fixes
* src/character.c (Fstring_width): Doc fix.

* doc/emacs/trouble.texi (Understanding Bug Reporting): Fix typo
(bug#64854).

(cherry picked from commit f6e4e77d23)
2023-07-30 10:22:42 +03:00
Michael Albinus
14ab840c9f Reorganize Tramp's messages
* doc/misc/tramp.texi (Traces and Profiles): Use proper buffer
names.  Add tramp-debug-command-messages.

* lisp/net/tramp-adb.el (tramp-adb-file-name-handler):
* lisp/net/tramp-crypt.el (tramp-crypt-file-name-handler):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
* lisp/net/tramp-rclone.el (tramp-rclone-file-name-handler):
* lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
* lisp/net/tramp-smb.el (tramp-smb-file-name-handler):
* lisp/net/tramp-sshfs.el (tramp-sshfs-file-name-handler):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-file-name-handler):
Set `tramp-debug-message-fnh-function'.

* lisp/net/tramp.el (tramp-file-name-handler):
* lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
* lisp/net/tramp-crypt.el (tramp-crypt-maybe-open-connection):
* lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* lisp/net/tramp-rclone.el (tramp-rclone-maybe-open-connection):
* lisp/net/tramp-sh.el (tramp-maybe-open-connection):
* lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
* lisp/net/tramp-sshfs.el (tramp-sshfs-maybe-open-connection):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-maybe-open-connection):
Wrap code `with-tramp-debug-message'.

* lisp/net/tramp-message.el: New file.

* lisp/net/tramp.el (tramp-message): Require.
(tramp-verbose, tramp-debug-to-file, tramp-debug-buffer-name)
(tramp-debug-outline-regexp, tramp-debug-font-lock-keywords)
(tramp-debug-outline-level)
(tramp-debug-buffer-command-completion-p)
(tramp-setup-debug-buffer, tramp-get-debug-buffer)
(tramp-get-debug-file-name, tramp-trace-buffer-name)
(tramp-trace-functions, tramp-debug-message, tramp-message)
(tramp-backtrace, tramp-error, tramp-error-show-message-timeout)
(tramp-error-with-buffer, tramp-user-error)
(tramp-with-demoted-errors): Move to tramp-message.el.
(tramp-current-connection, tramp-file-name-user-domain)
(tramp-file-name-host-port): Add ;;;###tramp-autoload cookie.
(tramp-inhibit-progress-reporter): Move down.
(tramp-post-process-creation): Write debug message only when there
is a command.

* lisp/net/trampver.el (tramp-repository-branch)
(tramp-repository-version): Add ;;;###tramp-autoload cookie.

* test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case):
Don't bind `trace-buffer'.
2023-07-29 13:11:01 +02:00
F. Jason Park
fb57b6ccb9 ; Add example buffer-display option to ERC's manual
* doc/misc/erc.texi: Add customization for `erc-interactive-display'
to Sample Configuration section.
* etc/ERC-NEWS: Improve various entries, like those for
`keep-place-indicator', `fill-wrap', `bufbar', etc.
2023-07-28 16:34:31 -07:00
Mattias Engdegård
aa360dfc3e Clarify docs about regexp syntax-dependent character classes
* doc/lispref/searching.texi (Char Classes, Rx Constructs)
(Regexp Problems): Note that character classes don't take syntax
properties into account.
2023-07-28 11:32:10 +02:00
Andrew Tropin
42a911c61e notifications: Allow to use Icon Naming Specification for app-icon
* doc/lispref/os.texi (Desktop Notifications): Extend meaning of
:app-icon.

* etc/NEWS: Allow to use Icon Naming Specification for app-icon in
notifications-notify.

* lisp/notifications.el (notifications-notify): Allow to use Icon
Naming Specification for app-icon.
2023-07-27 16:43:17 +02:00
Eli Zaretskii
e708da6227 ; Better documentation of HOME on MS-Windows
* doc/emacs/custom.texi (Find Init): Add footnote about HOME on
MS-Windows.  (Bug#64871)
2023-07-27 10:00:08 +03:00
Eli Zaretskii
e650a14f64 ; Clarify documentation of 'server-after-make-frame-hook'
* doc/lispref/frames.texi (Creating Frames):
* lisp/server.el (server-after-make-frame-hook): Clarify
documentation of 'server-after-make-frame-hook'.  (Bug#64873)
2023-07-27 09:37:03 +03:00
Eli Zaretskii
f6e4e77d23 ; Minor documentation fixes
* src/character.c (Fstring_width): Doc fix.

* doc/emacs/trouble.texi (Understanding Bug Reporting): Fix typo
(bug#64854).
2023-07-25 16:49:18 +03:00
Eli Zaretskii
cfdce1a19f ; Fix documentation of last change.
* src/xdisp.c (syms_of_xdisp):
* src/dispnew.c (syms_of_display):
* doc/lispref/commands.texi (Accessing Mouse): Fix documentation
of last change.
2023-07-22 18:50:26 +03:00
Moritz Maxeiner
191aef4f61 Implement new option 'mouse-prefer-closest-glyph'
* src/dispnew.c (mouse_prefer_closest_glyph): New global
variable.
(buffer_posn_from_coords):
* src/xdisp.c (remember_mouse_glyph): Respect
'mouse_prefer_closest_glyph'.
(mouse_fine_grained_tracking): Update documentation to
include 'mouse_prefer_closest_glyph' effects.

* doc/lispref/commands.texi (Accessing Mouse): Update
documentation to say what the new option does when enabled.
* lisp/cus-start.el (standard): New user option
'mouse-prefer-closest-glyph'.
2023-07-22 18:39:24 +03:00
Michael Albinus
9069699795 Add inhibit-remote-files and without-remote-files
* doc/emacs/files.texi (Remote Files): Do not document tramp-mode
any longer.  Describe inhibit-remote-files instead.

* doc/lispref/files.texi (Magic File Names): Add without-remote-files.

* doc/misc/tramp.texi (Frequently Asked Questions): Do not
document tramp-mode any longer.  Describe inhibit-remote-files and
without-remote-files instead.

* etc/NEWS: Add inhibit-remote-files and without-remote-files.
Fix typos.

* lisp/net/tramp.el (inhibit-remote-files): New defun.
(without-remote-files): New defmacro.

* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test49-without-remote-files):
* test/lisp/net/tramp-tests.el (tramp-test49-without-remote-files):
New tests.
(tramp-test50-unload): Rename.
2023-07-22 10:16:04 +02:00
Eli Zaretskii
d149a4dc42 ; Improve documentation of automatic addition to minibuffer history
* doc/lispref/minibuf.texi (Minibuffer History)
(Minibuffer Commands, Text from Minibuffer)
(Minibuffer Completion): Document the behavior of 'M-n' and
"future history" when the value(s) in DEFAULT is/are exhausted.
(Bug#64656)
2023-07-22 11:02:04 +03:00
Eli Zaretskii
42a9962794 ; Improve documentation of 'last-command-event'
* doc/lispref/text.texi (Commands for Insertion):
* doc/lispref/commands.texi (Command Loop Info):
* src/cmds.c (syms_of_cmds) <post-self-insert-hook>: Improve the
documentation of 'last-command-event' and 'post-self-insert-hook'.
2023-07-22 09:34:15 +03:00
Po Lu
f9bbe3189b Merge from origin/emacs-29
4bd8e8c6d2 ; * src/xdisp.c: Fix wording in commentary.
3af27a4b81 Improve commentary in nsfns.m
5de5e4b4d0 Fix typos and ommissions in cus-edit.el
9d93c6ba14 ; * src/xdisp.c: Fix typos in the commentary.
86f2d6d62f ; * src/xdisp.c: Improve commentary.  (Bug#64596)
ac075176bf ; * admin/notes/bugtracker: Fix punctuation.
8151853447 ; * admin/notes/bugtracker: Use 'e.g.' throughout the doc...
f063f79a49 Convert NUL-containing NSString objects to Lisp strings c...
d172cd5985 ; * doc/lispref/keymaps.texi (Modifying Menus): Add cross...
927e8b470f ; * doc/lispref/keymaps.texi (Extended Menu Items): Add @...
77f489421e ; * src/xdisp.c: Minor improvements of the commentary.
ce3f9fba1a ; Improve accuracy of out-out-order message insertion
17073af84d ; Improve robustness of package-report-bug
2023-07-20 19:50:45 +08:00
F. Jason Park
8af96d831f ; Address some ambiguities in ERC's documentation
* doc/misc/erc.texi: Change name of example function from
`erc-my-enable-read-indicator-on-join' to
`erc-my-enable-keep-place-indicator-on-join'.  Fix example functions
`erc-cmd-TRACK' and `erc-cmd-UNTRACK' to work with server buffers as
well as target buffers.
* etc/ERC-NEWS: Revise `keep-place' entry and make headlines less
redundant.
* lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Fix
portion of existing wording that was more likely interpreted as a
single multiline submission, whereas the intended meaning is three
separate submissions.
2023-07-19 06:11:21 -07:00
Eli Zaretskii
d172cd5985 ; * doc/lispref/keymaps.texi (Modifying Menus): Add cross-references. 2023-07-18 16:17:15 +03:00
Eli Zaretskii
927e8b470f ; * doc/lispref/keymaps.texi (Extended Menu Items): Add @pxref. 2023-07-18 15:57:01 +03:00
Po Lu
9ad601e7d7 Expose the ``cancellation'' of touch events to Lisp
* doc/lispref/commands.texi (Touchscreen Events):
* etc/NEWS: Describe new event parameter `canceled'.
* src/keyboard.c (make_lispy_event) <TOUCHSCREEN_END_EVENT>:
If event->modifiers, set canceled to t.

* src/termhooks.h (enum event_kind): Describe meaning of
modifiers in TOUCHSCREEN_END_EVENTs.
* src/xfns.c (setup_xi_event_mask): Select for
XI_TouchOwnership.
* src/xterm.c (xi_link_touch_point): Round X and Y and clear
ownership.
(xi_unlink_touch_point): Return 1 if the touch point is not
owned by Emacs, 2 otherwise.
(handle_one_xevent): Handle XI_TouchOwnership events and report
ownership correctly.
* src/xterm.h (enum xi_touch_ownership): New enum.  Write
commentary on XI touch sequence ownership.
(struct xi_touch_point_t): Use integer X and Y.  New field
`ownership'.  Adjust for alignment.
2023-07-18 09:28:14 +08:00
Robert Pluim
91424cb9ad Fix eshell.texi markup
* doc/misc/eshell.texi (Aliases): Add missing @end table.  (Bug#64674)
2023-07-17 14:25:18 +02:00
Eli Zaretskii
77fa417d10 Merge from origin/emacs-29
d09de2f49d Ignore quit while getting interprogram paste in kill-new
afdf54a531 * lisp/progmodes/gdb-mi.el: Fix interactive invocation of...
b54febef5d Fix NetBSD build with and without ncurses
c5fb730159 ; * lisp/paren.el (show-paren-function): Fix last change ...
ea696ea4b9 ; Fix last change.
b0181dafb9 Improve documentation of 'enable-local-variables' in Emac...
eb7c45ca43 ; Fix copy-paste in Widget Manual (Bug#64610)
aedbc3006e ; * doc/misc/eshell.texi (Aliases): Remove stray "@end ta...
673992d28e ; * lisp/progmodes/sql.el (sql-interactive-mode): Remove ...
2023-07-15 05:30:28 -04:00
Eli Zaretskii
748d2ed515 Merge from origin/emacs-29
7ac947f34c ; * src/lisp.h (struct Lisp_Overlay): Update commentary (...
9bc93c7996 Replace duplicate text from epa.texi by a reference
74cc1d27f1 Add basic usage information and fix references
f24bdbfaf5 Add concept index, title-case structure titles
0165b50b0f ; * lisp/emacs-lisp/lisp.el (raise-sexp): Fix typo in doc...
4cf33b6bd0 ; * doc/misc/modus-themes.org: Fix whitespace (bug#64548).
4821da1ad7 Fix show-paren-mode when the parentheses is partially vis...
419b4d4491 ; Improve documentation of with-restriction
be34e8294a ; * admin/git-bisect-start: Update failing commits
8e06809fcc Merge branch 'scratch/bug64391' into emacs-29
dbac807605 * lisp/net/tramp.el (tramp-get-buffer-string): Stabilize.
01fb898420 Simplify after adding internal function to enter a labele...
b741dc7fcd Add internal function to enter a labeled restriction

# Conflicts:
#	doc/misc/modus-themes.org
2023-07-15 05:30:14 -04:00
Spencer Baugh
dcad72a779 Support displaying function name in the header line
In some languages, the function name as displayed in the mode-line by
which-func-mode can be quite long.  It's useful to be able to display
it in the header-line instead.  Let's support that.

* lisp/progmodes/which-func.el (which-func-display)
(which-func--use-header-line, which-func--use-mode-line):
Add. (Bug#64533)
(which-func-try-to-enable): Support 'which-func--use-header-line'.
(which-func--disable): Add, to support 'which-func--use-header-line'.
(which-func-ff-hook, which-func-update-1): Use 'which-func--disable'.
2023-07-15 10:54:25 +03:00
Eli Zaretskii
ea696ea4b9 ; Fix last change. 2023-07-14 20:33:29 +03:00
YugaEgo
b0181dafb9 Improve documentation of 'enable-local-variables' in Emacs manual
* doc/emacs/custom.texi (Safe File Variables): Document ':all'.
(Bug#64621)
2023-07-14 20:30:33 +03:00
Mauro Aranda
eb7c45ca43 ; Fix copy-paste in Widget Manual (Bug#64610) 2023-07-14 14:54:24 +03:00
Paul Eggert
01b80a6f0e Reorder NaN, INF paras
* doc/lispref/numbers.texi (Float Basics):
Reorder paragraphs so that examples follow defns.
2023-07-13 23:56:10 -07:00
Paul Eggert
be501f468e Improve doc for VAX reading NaN, INF
* doc/lispref/numbers.texi (Float Basics): Improve description of
how Lisp reads infinities and NaNs on a VAX.
2023-07-13 23:36:55 -07:00
Eli Zaretskii
aedbc3006e ; * doc/misc/eshell.texi (Aliases): Remove stray "@end table". 2023-07-14 08:32:57 +03:00
Jim Porter
6a360b0840 ; * doc/misc/eshell.texi (Variables): Add missing index for $INSIDE_EMACS
Do not merge to master.  On master, this was fixed by 0bb8a011d5.
2023-07-13 19:24:12 -07:00
Michael Albinus
f529bf52eb ; * doc/misc/eshell.texi (Invocation): Whitespace cleanup.
Do not merge to master.  This is a backport of 04710bd01b.
2023-07-13 19:24:12 -07:00
Jim Porter
3a70354579 Add documentation about remote access in Eshell
Do not merge to master.  This is a backport of 438921161a.

* doc/misc/eshell.texi
(Invocation): Mention the '*' prefix.
(Remote Access): New section...
(Commands): ... link to it.
2023-07-13 19:24:12 -07:00
Jim Porter
7640835ae0 ; * doc/misc/eshell.texi: Fix last change.
Do not merge to master.  This is a backport of 8c5fef4eb3.
2023-07-13 19:24:12 -07:00
Jim Porter
e79306fb46 ; * doc/misc/eshell.texi: Fix typos and clean up unclear wording.
Do not merge to master.  This is a backport of 118582efb3.
2023-07-13 19:24:11 -07:00
Jim Porter
9f6d79dd96 Document some missing Eshell commands
Do not merge to master.  This is a backport of f7a899d7ca.

* doc/misc/eshell.texi (Built-ins): Document 'eshell-debug'.
(Extra built-in commands): Document 'count', 'ff', and 'gf'.
2023-07-13 19:24:11 -07:00
Jim Porter
951671b0e1 Document optional Eshell modules
Do not merge to master.  This is a backport of 77f13edab0.

* doc/misc/eshell.texi (Built-ins): Move disabled-by-default commands
to...
(Tramp extensions, Extra built-in commands): ...here
(Optional modules, Key rebinding, Smart scrolling): Add documentation.
(Bug and ideas): Documentation is no longer incomplete!
2023-07-13 19:24:11 -07:00
Jim Porter
7c417b2ae5 Correct the Eshell documentation about how to write new modules
* doc/misc/eshell.texi (Writing a module): Fix the documentation.
'eshell-defgroup' doesn't exist anymore.

Do not merge to master.  This is a backport of 77f13edab0.
2023-07-13 19:24:11 -07:00
Jim Porter
6c3fe42bde Restructure Eshell extension modules documentation
This adds a section for documenting all the optional modules.

Do not merge to master.  This is a backport of f2981a1681.

* doc/misc/eshell.texi (Extension modules): Move explanation about
writing modules to...
(Writing a module): ... here.
(Module testing): Remove.  Testing an Eshell module doesn't require
any special documentation.
(Key binding, Smart scrolling, Electric forward slash): Move under...
(Optional modules): ... here.
(Directory handling, Terminal emulation): Remove.  These modules are
enabled by default, and so are documented above.
(Tramp extensions, Extra built-in commands): New sections.
2023-07-13 19:24:11 -07:00
Jim Porter
4e204b5618 ; * doc/misc/eshell.texi (Bugs and ideas): Remove implemented feature.
Do not merge to master.  This is a backport of 194de36ca9.
2023-07-13 19:24:11 -07:00
F. Jason Park
80e5e9ddc8 Improve walkthrough and sample config in ERC manual
* doc/misc/erc.texi: Improve "Sample Session" and "Sample
Configuration" sections.  Move introductory paragraph detailing the
history of official GNU IRC channels to the "History" chapter (from
"Sample Sessoin"), and leave a link in its place.  Silence strange
warning in "Getting Help and Reporting Bugs" about lack of punctuation
after xref.
2023-07-13 18:45:31 -07:00
F. Jason Park
08515350fa Add mini modules bufbar and nickbar to ERC
* doc/misc/erc.texi: Add `bufbar' and `nickbar' to known modules.
Also add `keep-place', which was missing, and remove `bbdb', which is
not part of ERC.  Add new section "Auxiliary Modules" for listing
experimental modules or those typically managed by some other feature.
* erc/ERC-NEWS: Mention new mini modules for libraries
erc-status-sidebar.el and erc-speedbar.el.
* lisp/erc/erc.el (erc-modules): Add `bufbar' and `nickbar' to
selection of offered modules.
* test/lisp/erc/erc-tests.el (erc-tests--modules): Add `bufbar' and
`nickbar'.  (Bug#63595)
2023-07-13 18:45:31 -07:00
David Leatherman
9bdc5c6204 Add module for colorizing nicknames to ERC
* doc/misc/erc.texi: Add `nicks' to module lineup.
* etc/ERC-NEWS: Mention new module `nicks'.
* lisp/erc/erc-nicks.el: New file.
* lisp/erc/erc.el: (erc-modules): Add `nicks'.
* test/lisp/erc/erc-nicks-tests.el: New file.
* test/lisp/erc/erc-tests (erc-tests--modules): Add `nicks' to
inventory of available modules.  (Bug#63569)

Special thanks to Corwin Brust for doing much of the administrative
legwork to bring this addition to ERC.

Co-authored-by: Andy Stewart <lazycat.manatee@gmail.com>
Co-authored-by: F. Jason Park <jp@neverwas.me>
2023-07-13 18:45:31 -07:00
F. Jason Park
b354b3a53b Allow custom display-buffer actions in ERC
* doc/misc/erc.texi: Add new section under "Integrations" chapter
describing `display-buffer' Custom function choice for ERC's many
buffer-display options.
* etc/ERC-NEWS: Mention new function variant for all buffer-display
options.
* lisp/erc/erc-backend.el: Add forward declaration for
`erc--called-as-input-p' and `erc--display-context'.
(erc--server-reconnect-display-timer,
erc--server-last-reconnect-display-reset): Use new name for option
`erc-reconnect-display', now `erc-auto-reconnect-display'.
(erc--server-determine-join-display-context): New generic function to
determine value of `erc--display-context' during JOINs.
(erc-server-JOIN, erc-server-PRIVMSG): Set `erc--display-context' to a
symbol for the handler's IRC command, like `JOIN', for the benefit of
custom `display-buffer'-like functions running in `erc-setup-buffer'.
(erc-server-471, erc-server-471-functions, erc-server-473,
erc-server-473-functions): New handlers for JOIN rejections.  Also
remove 471 and 473 from comment at bottom of file.
(erc-server-475): Bind `erc--called-as-input-p' so that `erc-cmd-JOIN'
sets `erc-interactive-display' context.
* lisp/erc/erc-join.el (erc-autojoin-mode, erc-autojoin-enable,
erc-autojoin-disable): Kill local variable
`erc-join--requested-channels'.  Add and remove
`erc-join--remove-requested-channels' to/from various server-handler
hooks for JOIN rejection numerics.
(erc-join--requested-channels): New local variable to remember
channels we've attempted to JOIN this session that haven't yet been
confirmed by the server.
(erc-join--remove-requested-channel): New JOIN rejection handler to
stop tracking channel in `erc-join--requested-channels'.
(erc--server-determine-join-display-context): module-specific
implementation of generic function for `erc-autojoin-mode'.
(erc-autojoin--join): Remember channels slated for JOIN'ing.
* lisp/erc/erc.el (erc--buffer-display-choices): New helper constant
for defining common `:type' for all buffer-display options.
(erc-buffer-display, erc-interactive-display,
erc-auto-reconnect-display, erc-receive-query-display): Use helper
`erc--buffer-display-choices' for defining `:type', which
includes a new choice for a `display-buffer'-like function.
(erc-reconnect-display, erc-auto-reconnect-display): Alias former to
latter, now the preferred name.
(erc-reconnect-timeout, erc-auto-reconnect-timeout): Change name from
former to latter.  This option is new in ERC 5.6.
(erc-reconnect-display-server-buffers): New option.
(erc-buffer-do): Revise doc string.
(erc--display-context): New variable, an alist of "context tokens" to
be forwarded as the "action alist" to `erc-buffer-display' functions.
(erc-skip-displaying-selected-window-buffer): New variable, deprecated
at birth, to act as an escape hatch for folks who don't want to skip
the displaying of buffers already showing in the selected window.
(erc--display-buffer-overriding-action): Local variable allowing
modules to influence the displaying of new ERC buffers independently
of user options.
(erc-setup-buffer): Do nothing when the selected window already shows
current buffer unless user has provided a custom display function.
Accommodate new Custom choice function values, like `display-buffer'
and `pop-to-buffer'.
(erc-open): Run `erc-setup-buffer' when option
`erc-reconnect-display-server-buffers' is non-nil, even for existing
server buffers.  Bind `display-buffer-overriding-action' to the value
of `erc--display-buffer-overriding-action' around calls to
`erc-setup-buffer'.
(erc-select-read-args): Add `erc--display-context' to environment.
(erc, erc-tls): Bind `erc--display-context' around calls to
`erc-select-read-args' and main body.
(erc-cmd-JOIN, erc-cmd-QUERY, erc--cmd-reconnect, erc-handle-irc-url):
Add item for `erc-interactive-display' to `erc--display-context'.
(erc-connection-established): Update name of
`erc-reconnect-display-timeout' to
`erc-auto-reconnect-display-timeout'.
(erc-message-english-s471, erc-message-english-s473): New variables,
format templates for JOIN rejection messages.
* test/lisp/erc/erc-scenarios-base-buffer-display.el
(erc-scenarios-base-buffer-display--defwin-recbury-intbuf,
erc-scenarios-base-buffer-display--defwino-recbury-intbuf,
erc-scenarios-base-buffer-display--count-reset-timeout): Use preferred
name `erc-auto-reconnect-display' for `erc-reconnect-display'.
* test/lisp/erc/erc-scenarios-join-display-context.el: New file.
* test/lisp/erc/erc-tests.el (erc--initialize-markers): Fix
unrealistic call to `erc-open'.
(erc-setup-buffer--custom-action): New test.
(erc-select-read-args, erc-tls, erc--interactive, erc-server-select):
Expect new environment binding for `erc--display-context'.
* test/lisp/erc/resources/join/buffer-display/mode-context.eld: New
file.  (Bug#62833)
2023-07-13 18:45:31 -07:00