1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-02 08:22:22 +00:00
Commit Graph

12485 Commits

Author SHA1 Message Date
Jim Porter
a6e88dc726 Add support for explicitly-remote commands in Eshell
* lisp/files.el (file-remote-p):
* doc/lispref/files.texi (Magic File Names): Document 'never' for
CONNECTED argument.

* lisp/net/tramp.el (tramp-handle-file-remote-p): Handle CONNECTED
value of 'never'.

* lisp/eshell/esh-ext.el (eshell-explicit-remote-commands): New
option.
(eshell-ext-initialize): Apply 'eshell-handle-remote-command' when
requested.
(eshell-handle-remote-command): New function.
(eshell-remote-command): Reimplement this function and dispatch to
'eshell-external-command', which can handle remote processes on its
own.

* test/lisp/eshell/esh-ext-tests.el
(esh-ext-test/explicitly-remote-command)
(esh-ext-test/explicitly-local-command): New tests.

* doc/misc/eshell.texi (Remote Access): Document explicitly-remote
commands.

* etc/NEWS: Announce this change.
2023-07-10 12:27:09 -07:00
Jim Porter
e074081af3 Add special '$GID' variable in Eshell
See bug#64529.

* lisp/eshell/esh-var.el (eshell-variable-aliases-list): Add '$GID'.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/gid-var): New test.

* doc/misc/eshell.texi (Variables): Document '$GID'.

* etc/NEWS: Announce this change (and the previous change for '$UID').
2023-07-08 12:19:29 -07:00
Eli Zaretskii
a19beb4ad4 ; Fix last change. 2023-07-08 11:48:12 +03:00
Eli Zaretskii
bb4b511c4c * etc/NEWS: Document changes to coding-system mnemonics. 2023-07-08 11:47:32 +03:00
Spencer Baugh
1930312992 ; * etc/NEWS: News entry for previous change (bug#62164). 2023-07-06 10:49:59 +03:00
Eli Zaretskii
ea845e3fcd ; * etc/NEWS: Fix punctuation and whitespace of last added entry. 2023-07-06 10:33:43 +03:00
Hugo Heagren
c296bcc6c4 Support right-align in mode-line
* lisp/bindings.el (mode-line-right-align-edge):  New custom
variable, controls where `mode-line-format-right-align' should
align to.
(mode-line-format-right-align):  New function.  If the symbol
`mode-line-format-right-align' appears in `mode-line-format',
then return return a padding string which aligns everything
after that symbol to the right.  Padding width is altered with
the display property and depends on the value of
`mode-line-right-align-edge'.
(mode-line-format-right-align):  New variable.  Convenience
definition for including right alignment in `mode-line-format'.
* doc/lispref/modes.texi (Mode Line Variables):  Document new
alignment functionality and user option.  (Bug#62606)
2023-07-06 10:31:46 +03:00
Michael Albinus
2dc7798449 `remote-file-name-access-timeout' being 0 is equal to nil
* doc/lispref/files.texi (Testing Accessibility): Clarify the
value of remote-file-name-access-timeout.

* etc/NEWS: Clarify the value of remote-file-name-access-timeout.

* lisp/files.el (remote-file-name-access-timeout): Adapt docstring.

* lisp/net//tramp.el (with-tramp-timeout): Ensure, that the
timeout is a positive number, or nil.
(tramp-handle-access-file): Simplify code.
2023-07-05 10:05:44 +02:00
Robert Pluim
a2db9b426b Improve remote-file-name-access-timeout NEWS entries
* etc/NEWS: Improve recentf and desktop mode entries.
2023-07-04 19:03:56 +02:00
Eli Zaretskii
85ac3b84af ; * etc/NEWS: Fix recently added entry. 2023-07-04 19:35:28 +03:00
Michael Albinus
b34f9a4439 Apply remote-file-name-access-timeout in desktop.el and recentf.el
* doc/emacs/files.texi (File Conveniences):
* doc/emacs/misc.texi (Saving Emacs Sessions):
Mention remote-file-name-access-timeout.

* doc/misc/tramp.texi (Frequently Asked Questions): Add note.

* etc/NEWS: Explain use of 'remote-file-name-access-timeout' in
desktop.el and recentf.el.

* lisp/desktop.el (desktop-access-file): New defun.
(desktop-restore-file-buffer): Use it.

* lisp/recentf.el (recentf-access-file): New defun.
(recentf-keep-default-predicate): Use it.

* lisp/net/tramp.el (tramp-handle-access-file): Improve error handling.
2023-07-04 15:27:03 +02:00
Harald Jörg
4d49b9bad4 cperl-mode: Announce the news in etc/NEWS
* etc/NEWS: add to the entry "CPerl mode".
2023-07-03 23:06:49 +02:00
Michael Albinus
c565a6c62c Add user option remote-file-name-access-timeout
* doc/lispref/files.texi (Testing Accessibility):
Add user option remote-file-name-access-timeout.

* doc/misc/tramp.texi (Frequently Asked Questions):
Explain remote-file-name-access-timeout.

* etc/NEWS: Mention 'remote-file-name-access-timeout'.

* lisp/files.el (remote-file-name-access-timeout): New defcustom.
(remote-file-name-inhibit-auto-save-visited)
(remote-file-name-inhibit-locks, remote-file-name-inhibit-cache)
(remote-file-name-inhibit-delete-by-moving-to-trash):
* lisp/simple.el (remote-file-name-inhibit-auto-save): Add group `tramp'.

* lisp/net/tramp.el (with-tramp-timeout, with-tramp-suspended-timers):
New defmacros.
(tramp-dont-suspend-timers): New defvar.
(tramp-handle-access-file): Implement handling of
`remote-file-name-access-timeout'.  (Bug#64401)
(tramp-action-show-and-confirm-message, tramp-process-actions)
(with-tramp-locked-connection, tramp-wait-for-regexp)
(tramp-read-passwd, tramp-read-passwd-without-cache): Use the macros.

* test/lisp/net/tramp-tests.el (remote-file-name-access-timeout):
Declare.
(tramp-test18-file-attributes): Extend test.
2023-07-03 18:24:11 +02:00
F. Jason Park
d0325e2309 Revert "Account for leading timestamps in erc-match"
This reverts commit 99d74dcd45 but keeps
the test file test/lisp/erc/erc-scenarios-match.el.  It also
implements a partial alternative solution by undoing the reordering of
insert hooks owned by the `stamp' and `match' modules.  The initial
reordering stems from d880a08f "Cement ordering of essential hook
members in ERC" and was intended to address the problem of timestamps
not being hidden in matched "fool" messages.  However, a more
comprehensive solution is being pursued as part of bug#64301.  The
following changes differ from those in a pure revert.

* erc/ERC-NEWS: Fix erroneous claim about relative hook ordering
pre-5.6.
* lisp/erc/erc-match.el (erc-match-mode, erc-match-enable): Lower hook
depth of `erc-match-message' in `erc-insert-modify-hook' from 60 to
50.
(erc-text-matched-hook): Retain cleaned-up portion of revised doc
string instead of reverting completely.
* lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Raise
depth of `erc-add-timestamp' in `erc-insert-modify-hook' and
`erc-send-modify-hook' from 50 to 60.
* test/lisp/erc/erc-scenarios-match.el
(erc-scenarios-match--stamp-left-current-nick
erc-scenarios-match--stamp-left-fools-invisible): Temporarily disable
the latter and fix expected hook ordering.
* test/lisp/erc/erc-tests.el (erc--essential-hook-ordering): Fix
expected order of default insert hooks.  (Bug#60936)
2023-07-03 07:30:32 -07:00
Mattias Engdegård
3ac4b2de77 * etc/NEWS: Announce addition of duplicate-region-final-position. 2023-07-03 13:15:53 +02:00
F. Jason Park
6ce957154b Redo erc-nickname-in-use-functions as a local module
* etc/ERC-NEWS: Mention new module `services-regain'.
* lisp/erc/erc-backend.el: Rename option.
* lisp/erc/erc-services.el (erc-services-regain-alist): Strategies for
regaining a lost nickname on reconnect.  This option, in addition to
the rest of these changes, is a redo of
`erc-nickname-in-use-functions' from commit 8c0c9826 "Add hook to
regain nickname in ERC", which originally stemmed from bug#62044.
(erc-services-retry-nick-on-connect, erc-services-issue-regain,
erc-services-issue-ghost-and-retry-nick): New function variants for
`erc-services-regain-alist.
(erc-services-regain-mode, erc-services-regain-enable,
erc-services-regain-disable): New local module to activate
nick-regaining behavior.
(erc--nickname-in-use-make-request): New method, a services-specific
implementation.
* lisp/erc/erc.el (erc--nickname-in-use-make-request): New generic
function to request alternate nick when first choice is rejected.
(erc-nickname-in-use): Call `erc--nickname-in-use-make-request' to
request alternate nick.
* test/lisp/erc/erc-scenarios-services-misc.el
(erc-scenarios-services-misc--reconnect-retry-nick): Adopt renamed
version of `erc-scenarios-base-renick-auto-regain'.
(erc-scenarios-services-misc--regain-command,
erc-scenarios-services-misc--ghost-and-retry-nick): New tests.
* test/lisp/erc/resources/services/regain/reconnect-retry-again.eld:
New test data file reusing existing blob c0529052 that once lived at
resources/base/renick/regain/normal-again.eld.
* test/lisp/erc/resources/services/regain/reconnect-retry.eld: New
test data file reusing existing blob 9f4df70e5 that once lived at
resources/base/renick/regain/normal.eld.
* test/lisp/erc/resources/services/regain/taken-ghost.eld: New test
data file.
* test/lisp/erc/resources/services/regain/taken-regain.eld New test
data file.
2023-07-01 07:21:30 -07:00
Eli Zaretskii
3ba9f9657f Merge from origin/emacs-29
edd36786e1 ; * lisp/bookmark.el (bookmark-bmenu-locate): Doc fix (bu...
16eac20a5d ; Fix last change
ab8d0f7b76 Add project command entries to the menu-bar
fc6099bf04 ; Improve documentation of text-property-search-* functions
cc660bd265 ; * etc/PROBLEMS: Mention MinGW problems with -D_FORTIFY_...
a5bd9fb8c4 ; Improve doc strings in register.el
0be18d8097 ; Fix @xref in last change to doc/emacs/regs.texi.
624c779517 ; Fix tree-sitter C binding typos in Elisp manual.
16e9bdff4f Improve documentation of registers
2023-07-01 06:30:00 -04:00
Eli Zaretskii
fbdc85b8f8 Merge from origin/emacs-29
a722e7dd15 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
65f146cf1c ; * lisp/calculator.el (calculator-need-3-lines): Fix las...
9e8386bdac Support cons cell as value of ':line-width' box attribute
1d2ba6b363 ; * admin/notes/tree-sitter/treesit_record_change: Update.
02b6be892f Add missing calls to treesit_record_change in editfns.c
e982192e93 Call treesit_record_change in subst-char-in-region (bug#6...
ddbb11f565 ; * lisp/misc.el (duplicate-line-final-position): Fix las...
cecbe92d5d ; * lisp/misc.el (duplicate-line-final-position): doc pre...
042f0d6a14 ; Fix documentation of ':box' face attribute

# Conflicts:
#	etc/NEWS
2023-07-01 06:29:52 -04:00
Eli Zaretskii
0006245f1d Merge from origin/emacs-29
ef16339918 Make js-beginning-of-defun return non-nil on success
2c90ade09a Tree-sitter use with-silent-modifications like jit-lock (...
11cead0d73 Fix todo-mode.el Commentary and a doc string (bug#64298)
6ae83322d4 Prevent truncation of todo-mode categories sexp
ee41f07be5 Avoid making todo-mode buffers manually editable
53332bdf62 ; * doc/lispref/variables.texi: Fix define-obsolete-varia...
162c9c058e ; Document that 'named-let' needs lexical-binding
68028f0fa3 ; * etc/PROBLEMS: Fix typo.
2023-07-01 06:29:43 -04:00
Eli Zaretskii
cc660bd265 ; * etc/PROBLEMS: Mention MinGW problems with -D_FORTIFY_SOURCE=2. 2023-07-01 10:01:59 +03:00
Harald Jörg
952692643e cperl-mode: Add recent features to etc/NEWS
I mishandled git and killed my previous commit.  Sorry for the noise.

* etc/NEWS: Add a section to Changes in Specialized Modes
2023-07-01 00:07:31 +02:00
Harald Jörg
61268e5827 cperl-mode: Add recent features to etc/NEWS
* etc/NEWS: Add a section to Changes in Specialized Modes
2023-06-30 23:58:31 +02:00
Harald Jörg
8956236635 cperl-mode: Add recent features to etc/NEWS
* etc/NEWS: Add a section to Changes in Specialized Modes
2023-06-30 23:57:51 +02:00
Mattias Engdegård
cecbe92d5d ; * lisp/misc.el (duplicate-line-final-position): doc precision 2023-06-29 11:24:47 +02:00
Juri Linkov
1b64ed6d6a * lisp/misc.el (duplicate-line-final-position): New defcustom (bug#64185).
* lisp/misc.el (duplicate-line): Use it.

* test/lisp/misc-tests.el (misc--duplicate-line): Add tests for
duplicate-line-final-position.
2023-06-29 10:13:09 +03:00
Juri Linkov
d5cff340b3 * lisp/misc.el (duplicate-line-final-position): New defcustom (bug#64185).
* lisp/misc.el (duplicate-line): Use it.

* test/lisp/misc-tests.el (misc--duplicate-line): Add tests for
duplicate-line-final-position.

Don't merge to master.
2023-06-29 10:13:06 +03:00
Robert Pluim
68028f0fa3 ; * etc/PROBLEMS: Fix typo. 2023-06-26 15:28:50 +02:00
F. Jason Park
d2a7b0c76d Revert "Allow erc-reuse-frames to favor connections"
This (mostly) reverts commit 0e4c07dc74.

* etc/ERC-NEWS: Also revert hunk from 52c8d537 "* etc/ERC-NEWS: Add
section for ERC 5.6." because it announced this feature, which no
longer exists.
* lisp/erc/erc.el (erc-reuse-frames): Revise doc string instead of
reverting completely.  (Bug#62833)
2023-06-25 16:26:40 -07:00
Eli Zaretskii
5b7e999e24 ; Fix documentation of last change
* lisp/net/eww.el (eww-copy-alternate-url): Doc fix.
* etc/NEWS:
* doc/misc/eww.texi (Basics): Minor wording and punctuation fixes.
(Bug#64126)
2023-06-24 14:58:44 +03:00
Eshel Yaron
dfba4347c7 New command 'eww-copy-alternate-url'
This adds a new command to EWW that copies an alternate link to the
currently visited page into the kill ring.  This is useful for
subscribing to website feeds, etc.

* lisp/net/eww.el (eww--alternate-urls, eww-read-alternate-url):
 New functions.
(eww-copy-alternate-url): New command.
(eww-mode-map): Bind it to 'A'.

* doc/misc/eww.texi (Basics): Document it.

* etc/NEWS: Announce it.
(Bug#64126)
2023-06-24 14:52:23 +03:00
Eli Zaretskii
8e8667246a Merge from origin/emacs-29
d0147ff9e5 * lisp/emacs-lisp/shortdoc.el: More and better `substring...
fa06249a9f Fix "C-x RET r" when the new encoding is UTF
679e9d7c56 ; Mention MinGW64 GCC 13.1 problems in PROBLEMS
fdc1a12ed1 Fix "vc-print-log does not erase buffer" and associated p...
d507aa7336 Add selector_expression indentation rule
1f664a0af7 Add "nixd" LSP server to Eglot
e962cf4ba7 Fix building --with-native-compilation=aot from release t...
4ca371e9cc Fix bug#64152 (Minibuffer sometimes goes "modal")
a0ccf1859c Disable target-async by default in gdb-mi.el
2bad5829ff Revert "Fix parsing of dn line if WITHDN is non-nil"
7637e361d3 Don't truncate filenames with "emacs.el" in them
2591eb1190 Improve documentation of 'minibuffer-message'
6f211bc57b Eglot: again fix positions of coinciding inlay hint overl...
a24e9e3fee ; Update ChangeLog.4 and etc/AUTHORS.
2023-06-24 07:13:42 -04:00
Eli Zaretskii
679e9d7c56 ; Mention MinGW64 GCC 13.1 problems in PROBLEMS
* etc/PROBLEMS: Mention the problems building with MinGW64 GCC
13.1.  (Bug#63365)
2023-06-24 10:23:07 +03:00
Michael Albinus
77c2f05d77 Extend Tramp kubernetes method
* doc/misc/tramp.texi (Inline methods): Adapt kubernetes method.

* etc/NEWS: Describe changes in Tramp kubernetes method.

* lisp/net/tramp-container.el (tramp-kubernetes-context)
(tramp-kubernetes-namespace): New defcustoms.
(tramp-kubernetes--completion-function): Extend for CONTAINER.POD
syntax.
(tramp-kubernetes--host-name-regexp): New defconst.
(tramp-kubernetes--container, tramp-kubernetes--pod)
(tramp-kubernetes--current-context): New defuns.
(tramp-kubernetes--current-context-data): Simplify.
(tramp-kubernetes--context-namespace): New defun.
(tramp-methods) <kubernetes>: Respect container, context and
namespace.  (Bug#59797)
(tramp-container-connection-local-default-kubernetes-variables):
New defconst.  Set respective connection-local variables.

* lisp/net/tramp-sh.el (tramp-config-check): New variable.
(tramp-open-connection-setup-interactive-shell): Use it.

* lisp/net/tramp.el (tramp-methods): Adapt docstring.
(tramp-extra-expand-args): New defvar.
(tramp-expand-args): Use it.
2023-06-23 21:26:14 +02:00
Michael Albinus
1c499c18af ; * etc/NEWS: Fix typos. 2023-06-23 21:15:13 +02:00
Eli Zaretskii
01ce70cea9 Revert "Avoid header line with some empty non-nil formats"
This reverts commit 4f66cbbfe5.
This is part of removing the recently-added feature whereby
certain non-nil values of 'header-line-format' could signal
that the header line shall not be displayed.  The feature is
being reverted because its advantages are very minor, whereas
the complications it causes are serious.
2023-06-23 13:50:15 +03:00
Mattias Engdegård
a23a09a82f * etc/NEWS: Announce the fix for bug#44418 (,@ prefix syntax) 2023-06-22 13:22:47 +02:00
Mattias Engdegård
be91192ecb Straighten regexp postfix operator after zero-width assertion parse
The zero-width assertions \` \' \b \B were parsed in a sloppy way so
that a following postfix repetition operator could yield surprising
results.  For instance, "\\b*" would act as "\\b\\*", and "xy\\b*"
would act as "\\(?:xy\\b\\)*".

Except for \` and ^, any following postfix operator now applies to the
zero-width assertion itself only, which is predictable and consistent
with other assertions, if useless in practice.
For historical compatibility, an operator character following \` and ^
always becomes a literal. (Bug#64128)

* src/regex-emacs.c (regex_compile):
Set `laststart` appropriately for each zero-width assertion instead
of leaving it with whatever value it had before.
Remove a redundant condition.
* test/src/regex-emacs-tests.el
(regexp-tests-zero-width-assertion-repetition): New test.
* doc/lispref/searching.texi (Regexp Special):
Say that repetition operators are not special after \`,
and that they work as expected after other backslash escapes.
* etc/NEWS: Announce.
2023-06-21 18:00:26 +02:00
Sean Whitton
f16064f6bc Delete eval-command-interactive-spec
* etc/NEWS: Delete announcement of eval-command-interactive-spec.
* lisp/emacs-lisp/subr-x.el (eval-command-interactive-spec): Delete.
2023-06-21 13:26:09 +01:00
Po Lu
db6de49f23 Allow displaying tool bar on the bottom of the frame
* src/xterm.c (x_clear_under_internal_border): Subtract bottom
margins before clearing bottom border.
(XTflash): Subtract bottom margins before flashing mini window.

* src/xfns.c (x_set_tool_bar_position): Allow setting different
values outside of GTK+.
(frame_geometry): Adjust inner width and height for tool bars
placed on the bottom.

* src/xdisp.c (init_xdisp): Calculate using top margins only.

* src/window.c (resize_frame_windows): Fix commentary.

* src/w32fns.c (Fw32_frame_geometry): Report tool bar position
correctly.
(w32_clear_under_internal_border): Subtract bottom margins
prior to clearing bottom border.
(w32_set_tool_bar_position): New function.
(Fw32_frame_edges): Subtract bottom tool bar from inner width and
height.
(w32_frame_parm_handlers): Add `set_tool_bar_position' parameter
handler.

* src/pgtkterm.c (pgtk_flash): Subtract bottom
margins before clearing bottom border.
(XTflash): Subtract bottom margins before flashing mini window.

* src/pgtkfns.c (frame_geometry): Set `inner_top' correctly.
(Fpgtk_set_mouse_absolute_pixel_position):
(Fpgtk_mouse_absolute_pixel_position):
(Fpgtk_page_setup_dialog):
(Fpgtk_get_page_setup): Wrap lines which cause C Mode to hang.

* src/nsterm.m (ns_clear_under_internal_border): Subtract bottom
margins before clearing bottom border.

* src/nsfns.m (ns_set_tool_bar_position): New function.  Error if
arg is not top.
(ns_frame_parm_handlers): Add that as the handler for
`tool-bar-position', to prevent it from being set to an invalid
value.

* src/haikuterm.c (haiku_flash): Subtract bottom margins before
flashing mini window.
(haiku_clear_under_internal_border): Subtract bottom margins
before clearing bottom border.

* src/haikufns.c (haiku_set_tool_bar_position): Allow setting
values other than `top'.
(frame_geometry): Take bottom margin into account when calculating
inner dimensions.

* src/frame.h (struct frame): Always define `tool_bar_position'.
(fset_tool_bar_position): Define function everywhere.
(FRAME_TOOL_BAR_POSITION): Define correctly on all toolkits.
(FRAME_TOOL_BAR_TOP_HEIGHT):
(FRAME_TOOL_BAR_TOP_LINES):
(FRAME_TOOL_BAR_BOTTOM_HEIGHT):
(FRAME_TOOL_BAR_BOTTOM_LINES): New macros.  Each pair returns the
tool bar dimensions only if the tool bar position is set
appropriately.
(FRAME_TOP_MARGIN, FRAME_TOP_MARGIN_HEIGHT): Only add tool bar
height if it is placed at the top of the frame.
(FRAME_BOTTOM_MARGIN, FRAME_BOTTOM_MARGIN_HEIGHT): Add ``bottom
margins''.
(FRAME_MARGINS, FRAME_MARGIN_HEIGHT): Move original margin macro
here.
(FRAME_PIXEL_HEIGHT_TO_TEXT_LINES):
(FRAME_TEXT_TO_PIXEL_HEIGHT):
(FRAME_PIXEL_TO_TEXT_HEIGHT):
(FRAME_INNER_HEIGHT): Subtract both vertical margins.

* src/frame.c (adjust_frame_size): Subtract both top and bottom
margins to determine the inner height.
(make_frame): Initialize `f->tool_bar_position' unconditionally.

* src/dispnew.c (adjust_frame_glyphs_for_window_redisplay): Place
internal tool bar on bottom if requested.

* doc/lispref/frames.texi (Frame Layout): Describe the possibility
of the tool bar being placed below the inner area of the frame.
(Layout Parameters): Describe that `tool-bar-position' is now
supported almost everywhere.
2023-06-21 10:06:34 +08:00
Eli Zaretskii
a24e9e3fee ; Update ChangeLog.4 and etc/AUTHORS. 2023-06-18 07:15:29 -04:00
Stefan Monnier
017475a70e * doc/lispref/streams.texi (Output Variables): Document pp-default-function 2023-06-17 17:27:52 -04:00
Eli Zaretskii
4c975111af ; * etc/NEWS: Backward compatibility with 'doc-view-svg-face'. 2023-06-13 16:42:38 +03:00
F. Jason Park
2daa71f932 Don't insert prompt input before markers in ERC
* etc/ERC-NEWS: Update entry in 5.6 section announcing a persistent
prompt.
* lisp/erc/erc-dcc.el (erc-dcc-chat-setup): Use helper
`erc--initialize-markers' to set up prompt.
* lisp/erc/erc.el (erc--initialize-markers): Change
`erc-insert-marker' type to t.  Do this to spare modules that want to
remember the current message location from resorting to workarounds,
like leaving a marker one char before the end of a message, which is
not foolproof.
(erc--refresh-prompt): Temporarily change type of `erc-insert-marker'
when inserting prompt.
(erc-display-line-1): Insert incoming message normally instead of
forcing before markers, thus respecting markers left by third parties.
Strictly speaking, this is a breaking change.
(erc-display-msg): Insert normally instead of calling
`insert-before-markers', which was a regression introduced by 05f6fdb9
"Preserve ERC prompt and its bounding markers".
* test/lisp/erc/erc-dcc-tests.el
(erc-dcc-tests--dcc-handle-ctcp-send,
erc-dcc-tests--erc-dcc-do-GET-command): Use helper to initialize
prompt and markers.
* test/lisp/erc/erc-networks-tests.el
(erc-networks--ensure-announced,
erc-networks--rename-server-buffer--existing--reuse,
erc-networks--rename-server-buffer--existing--noreuse,
erc-networks--rename-server-buffer--reconnecting,
erc-networks--rename-server-buffer--id,
erc-networks--rename-server-buffer--existing--live,
erc-networks--rename-server-buffer--local-match,
erc-networks--rename-server-buffer--local-nomatch): Use helper to
initialize prompt and bounding markers.
* test/lisp/erc/erc-stamp-tests.el (erc-stamp-tests--insert-right):
Use `erc--initialize-markers' for setting up prompt.
* test/lisp/erc/erc-tests.el (erc--refresh-prompt): Adjust assertions
for expected prompt content.  (Bug#60936)
2023-06-11 20:14:08 -07:00
F. Jason Park
d880a08f95 Cement ordering of essential hook members in ERC
* etc/ERC-NEWS: Add new section explaining the pinning of certain hook
members owned by built-in modules to fixed depths.
* lisp/erc/erc-button.el (erc-button-mode, erc-button-enable): Change
hook depth for `erc-button-add-buttons' from 90 to 30.
* lisp/erc/erc-fill.el (erc-fill-mode, erc-fill-enable): Change hook
depth for `erc-fill' from 0 to 40.
* lisp/erc/erc-match.el (erc-match-mode, erc-match-enable): Change
hook depth for `erc-match-message' from 90 to 60.
* lisp/erc/erc-stamp.el (erc-stamp-mode, erc-stamp-enable): Change
hook depth for `erc-add-timestamp' from 90 to 50.
* test/lisp/erc/erc-tests.el
(erc-tests--assert-printed-in-subprocess): Add fixture for testing a
form printed from a subprocess.
(erc--find-mode, erc--essential-hook-ordering): Use helper in existing
and new tests, respectively.  (Bug#60936)
2023-06-11 19:55:11 -07:00
F. Jason Park
e560f9af8e Allow ERC modules to extend erc-nick-popup-alist
* etc/ERC-NEWS: Mention changes to `erc-button-alist' and superficial
changes to `erc-nick-popup-alist'.
* lisp/erc/erc-button.el (erc-nick-popup-alist): Change type to prefer
associating strings with functions instead of arbitrary sexps.
(erc-button-cmd-KICK, erc-button-cmd-MSG): New functions to serve as
interrogative wrappers for `erc-cmd-KICK' and `erc-cmd-MSG' in
`erc-nick-popup-alist'.  The first also fixes a bug in which all but
the first token of a given "reason" would be omitted from the
":trailing" portion of an outgoing "KICK" message.
(erc-button--nick-popup-alist): New variable to help built-in modules
expose special actions to `erc-nick-popup' without touching
`erc-nick-popup-alist'.
(erc-nick-popup): Present members from both `erc--nick-popup-alist'
and `erc-nick-popup-alist' to the invoking user.  Accommodate
functions as well as arbitrary sexps.  (bug#63569)
2023-06-11 19:18:14 -07:00
F. Jason Park
a4df748329 Prefer emacs-news-mode in etc/ERC-NEWS
* etc/ERC-NEWS: Remove `outline' from prop line and prefer
`emacs-news-mode' in local variables list.
* lisp/erc/erc.el (erc-news): Overwrite cached file and ask before
re-fetching.
2023-06-11 19:18:14 -07:00
Eli Zaretskii
acfd261a61 Merge from origin/emacs-29
0d8b69e0ad Don't ding when completion succeeded
f11e2d3699 ; * admin/git-bisect-start: Update failing commits
9855a3ea74 ; * src/xdisp.c (redisplay_tool_bar): Fix a typo in a com...
f4ee696b88 Improve documentation of color-related functions
90eadc3e23 Revert "* package.el (package--get-activatable-pkg): Pref...
65f355ea0a ; Update my mail address
a3a69ec234 Fix connection-local user options handling (bug#63300)
240803cc3e Document 'startup-redirect-eln-cache'
026afb2298 ; * etc/PROBLEMS: Entry about crashes due to anti-virus (...
bcc222251e Fix `emacs-lisp-native-compile-and-load' for C-h f (bug#5...
07c8211ca3 Add 'infer' as a keyword to typescript-ts-mode (bug#63880)
dd2d8ff2f5 ; * etc/NEWS: Mention the issue with PGTK on WSL (bug#633...
fa8135f891 Revert changes to the order in which package descs are lo...
27fcfa2c0a ; * etc/NEWS: Improve instructions for grammar libraries.
2a84ab905c Handle point in last file-name component in minibuffer co...
05f25238b7 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
4bc043ff45 Avoid asking redundant question in emacsbug.el
2eadf328d0 * test/infra/Dockerfile.emba (emacs-base): Don't install ...
583ba1db7e typescript-ts-mode: Add a rule for function_signature

# Conflicts:
#	etc/NEWS
#	lisp/minibuffer.el
2023-06-10 06:42:43 -04:00
João Távora
433a452814 Eglot: try reuse file watchers when server over-watches
GitHub-reference: https://github.com/joaotavora/eglot/pull/1228
GitHub-reference: https://github.com/joaotavora/eglot/discussions/1226

The Pyright language server issues very heavy file watching requests,
which sometimes exceed the OS limit.  Most of these file watches are
useless, but Pyright insists on issuing them.

What's more, for some (absurd?) reason, Pyright issues two file
watching requests for the _same_ directories, only to then almost
immediately ask to undo the effects of one of these requests.

This change to Eglot makes it so that if a single server requests to
watch a specific directory twice, only one file watch object is used.

Suggested by: https://github.com/thejeffphil

* lisp/progmodes/eglot.el (eglot-lsp-server): Change structure of
file-watches field.
(eglot--on-shutdown): Adapt to new structure.
(eglot-register-capability): Rework.
(eglot-unregister-capability): Rework.

* etc/EGLOT-NEWS: Mention change
2023-06-08 15:08:46 +01:00
Eli Zaretskii
240803cc3e Document 'startup-redirect-eln-cache'
* doc/lispref/compile.texi (Native Compilation)
(Native-Compilation Functions): Document
'startup-redirect-eln-cache'.

* etc/PROBLEMS: Fix last change.
* etc/NEWS: Mark 'startup-redirect-eln-cache' as documented.
2023-06-08 08:50:54 +03:00
Eli Zaretskii
026afb2298 ; * etc/PROBLEMS: Entry about crashes due to anti-virus (bug#57880). 2023-06-08 08:30:18 +03:00