]> git.eshelyaron.com Git - emacs.git/log
emacs.git
15 months agoImprove filling of ChangeLog entries
Po Lu [Sun, 28 Jan 2024 08:31:33 +0000 (16:31 +0800)]
Improve filling of ChangeLog entries

* lisp/vc/log-edit.el (log-edit--insert-filled-defuns): Rewrite
completely.
(log-edit-fill-entry): Abandon pcase and cl-lib.

(cherry picked from commit 78fc49407b8ef8ec649fe70fcce09101801dbc05)

15 months agoPrefer C23 ckd_* to Gnulib *_WRAPV and *_OK macros
Paul Eggert [Sun, 28 Jan 2024 08:15:38 +0000 (00:15 -0800)]
Prefer C23 ckd_* to Gnulib *_WRAPV and *_OK macros

* src/alloc.c (android_make_lisp_symbol) [HAVE_ANDROID && !__clang__]:
* src/android.c (android_blit_copy, android_blit_xor)
(android_get_image):
* src/androidmenu.c (android_menu_show):
* src/androidselect.c (Fandroid_get_clipboard_data)
(android_notifications_notify_1):
* src/androidterm.c (android_decode_utf16)
(android_text_to_string):
* src/haiku_select.cc (be_display_notification):
* src/sfnt.c (sfnt_read_cmap_format_8, sfnt_read_cmap_format_12)
(sfnt_read_cmap_format_14, sfnt_read_cmap_table_1)
(sfnt_expand_compound_glyph_context, sfnt_poly_edges_exact)
(sfnt_read_meta_table, sfnt_read_ttc_header)
(sfnt_read_cvt_table, sfnt_read_fpgm_table)
(sfnt_read_prep_table, sfnt_make_interpreter)
(sfnt_interpret_simple_glyph, sfnt_interpret_compound_glyph_2)
(sfnt_interpret_compound_glyph, sfnt_read_default_uvs_table)
(sfnt_read_nondefault_uvs_table, sfnt_create_uvs_context)
(sfnt_read_fvar_table, sfnt_read_gvar_table)
(sfnt_read_avar_table, sfnt_read_cvar_table):
* src/sfntfont-android.c (GET_SCANLINE_BUFFER):
* src/textconv.c (really_commit_text, really_set_composing_text)
(really_replace_text, get_surrounding_text):
Prefer C2x stdckdint.h macros to intprops.h macros.

(cherry picked from commit ad2c81082a62f9f781e4f5771fc223520d91cefd)

15 months agoRename TAG_PTR to TAG_PTR_INITIALLY
Paul Eggert [Sun, 28 Jan 2024 08:15:38 +0000 (00:15 -0800)]
Rename TAG_PTR to TAG_PTR_INITIALLY

* src/lisp.h (TAG_PTR_INITIALLY): Rename from TAG_PTR, since calls
can be used only as initializers, and the convention elsewhere in
lisp.c is to give these macros names ending in ‘_INITIALLY’.
This should help avoid confusion such as we recently experienced
in make_lisp_symbol_internal.  All uses changed.

(cherry picked from commit a3d7092114db09fee392ccc8187fde03376f2089)

15 months ago* src/lisp.h: Improve TAG_PTR comments.
Paul Eggert [Sun, 28 Jan 2024 08:15:38 +0000 (00:15 -0800)]
* src/lisp.h: Improve TAG_PTR comments.

(cherry picked from commit fcf69960e89b826841a8c6ccc2af4019b5dc5e31)

15 months agoFix C conformance issue in LISPSYM_INITIALLY
Paul Eggert [Sun, 28 Jan 2024 08:15:38 +0000 (00:15 -0800)]
Fix C conformance issue in LISPSYM_INITIALLY

* src/lisp.h (LISPSYM_INITIALLY): Remove unnecessary cast to char *.
The C standard allows but does not require support for casts to
pointers in constant expressions in static initializers.

(cherry picked from commit 99a122b5b816f6c5dd2acc67eeca13eb4d1d8cd5)

15 months agoFix "emacs -nw" on MS-Windows
Eli Zaretskii [Sun, 28 Jan 2024 08:19:48 +0000 (10:19 +0200)]
Fix "emacs -nw" on MS-Windows

* src/w32term.c (w32_flip_buffers_if_dirty): Do nothing if F is
not a GUI frame.  This avoids rare crashes in "emacs -nw".
* src/w32console.c (initialize_w32_display): Set the
ENABLE_EXTENDED_FLAGS bit in 'prev_console_mode'.

(cherry picked from commit e1970c99f097715fc5bb3b88154799bfe13de90f)

15 months ago; Be more strict with command arguments for a few Eshell commands
Jim Porter [Wed, 16 Aug 2023 01:52:11 +0000 (18:52 -0700)]
; Be more strict with command arguments for a few Eshell commands

* lisp/eshell/em-dirs.el (eshell/pwd):
* lisp/eshell/em-unix.el (eshell/whoami):
* lisp/eshell/esh-proc.el (eshell/jobs): Don't accept arguments.

(cherry picked from commit c4d16909fa4c30fd5f11bd66de7936790349cb7d)

15 months agoSupport setting umask symbolically in Eshell
Jim Porter [Sun, 5 Mar 2023 06:11:23 +0000 (22:11 -0800)]
Support setting umask symbolically in Eshell

* lisp/eshell/em-basic.el (eshell/umask): Handle setting umask
symbolically, and make setting umask take precedence over "-S".

* test/lisp/eshell/em-basic-tests.el
(em-basic-test/umask-print-numeric, em-basic-test/umask-read-symbolic,
em-basic-test/umask-set): Rename to...
(em-basic-test/umask/print-numeric)
(em-basic-test/umask/print-symbolic, em-basic-test/umask/set-numeric):
... these.
(em-basic-test/umask/set-symbolic, em-basic-test/umask/set-with-S):
New tests.

* etc/NEWS: Announce this change.

(cherry picked from commit a3cd284b90edcc7e06b21110cdbf55d11fb6fd0d)

15 months agoFix treesit-range-rules
Yuan Fu [Sun, 28 Jan 2024 06:03:28 +0000 (22:03 -0800)]
Fix treesit-range-rules

* lisp/treesit.el (treesit-range-rules): Reset :local like other
keywords.  The other chunk is indentation fix.

(cherry picked from commit 236317e5d2284399d6ca0413ea2a29b84270d545)

15 months ago; Skip commit 6d76e3991241905b0841effc6f8cd42394d9aa64
Eshel Yaron [Wed, 31 Jan 2024 20:10:30 +0000 (21:10 +0100)]
; Skip commit 6d76e3991241905b0841effc6f8cd42394d9aa64

15 months ago* doc/lispref/package.texi (Multi-file Packages): Document ".elpaignore".
Jim Porter [Thu, 3 Aug 2023 04:51:18 +0000 (21:51 -0700)]
* doc/lispref/package.texi (Multi-file Packages): Document ".elpaignore".

(cherry picked from commit 744a10a4d722a361bc21561b4162045e4ec97ed6)

15 months agoFix command replacement with the Eshell builtin versions of "sudo" and "doas"
Jim Porter [Thu, 25 Jan 2024 02:32:00 +0000 (18:32 -0800)]
Fix command replacement with the Eshell builtin versions of "sudo" and "doas"

This is particularly important when the inner command to execute is an
alias.  Aliases throw 'eshell-replace-command' too, so we want to do
this in two phases: first, replace the "sudo"/"doas" with a
let-binding of 'default-directory', and then later, let the alias code
do its own replacement (bug#68074).

* lisp/eshell/em-tramp.el (eshell/sudo, eshell/doas): Use
'eshell-replace-command' to wrap the inner command.
* test/lisp/eshell/em-tramp-tests.el (mock-eshell-named-command):
Remove.
(em-tramp-test/sudo-basic, em-tramp-test/sudo-user)
(em-tramp-test/doas-basic, em-tramp-test/doas-user): Catch
'eshell-replace-command'.

(cherry picked from commit 3c680968e492acf8891fda22c28baef5078ca768)

15 months ago; * src/pdumper.c: Fix comments.
Eli Zaretskii [Sat, 27 Jan 2024 20:21:11 +0000 (22:21 +0200)]
; * src/pdumper.c: Fix comments.

(cherry picked from commit aa386cd92f403b2441d09e06743c78d6f2c8a7f5)

15 months agoSupport a local repo as URL in 'treesit-language-source-alist'
Konstantin Kharlamov [Fri, 19 Jan 2024 07:33:47 +0000 (10:33 +0300)]
Support a local repo as URL in 'treesit-language-source-alist'

Sometimes people may need to bisect to find specific revision
in a grammar library's repo.  In this case they'd want to point
the URL to the local repo to avoid cloning it on every rebuild.
So add support for a directory instead of URL in
'treesit-language-source-alist'.
* lisp/treesit.el (treesit--install-language-grammar-1): Test
if URL is a local directory.  Then if it is, avoid cloning the
repo and removing the path on success.
(treesit--git-clone-repo): Factor out the code for cloning to
a separate function.
(treesit--git-checkout-branch): A helper to checkout the
revision for cases where we didn't clone the repo but want it
to point the revision.  (Bug#68579)

(cherry picked from commit 54c6588952b469df8d7983b6735461f542cd806e)

15 months agoEnable marking tagged with ls -F
Manuel Giraud [Sat, 27 Jan 2024 16:23:06 +0000 (17:23 +0100)]
Enable marking tagged with ls -F

Bug#68637

* lisp/image/image-dired-dired.el (image-dired-mark-tagged-files):
Enable marking tagged for executable and symlink images when
'dired-listing-switches' includes -F.

(cherry picked from commit 12afe75cf7af99eabf821e40dd2fab2f9c3efcf9)

15 months ago; * lisp/visual-wrap.el: Fix typos.
Eli Zaretskii [Sat, 27 Jan 2024 17:18:16 +0000 (19:18 +0200)]
; * lisp/visual-wrap.el: Fix typos.

(cherry picked from commit 6da9dc90481fc5678dd79ac211c9d92b5e1ee8a5)

15 months ago; * lisp/visual-wrap.el (visual-wrap-fill-context-prefix): Doc fix.
Eli Zaretskii [Sat, 27 Jan 2024 17:15:00 +0000 (19:15 +0200)]
; * lisp/visual-wrap.el (visual-wrap-fill-context-prefix): Doc fix.

(cherry picked from commit 37c0607241506540b033e2feebe152e249517794)

15 months agoAllow users to opt out of following Windows Dark mode
Eli Zaretskii [Sat, 27 Jan 2024 17:11:22 +0000 (19:11 +0200)]
Allow users to opt out of following Windows Dark mode

* src/w32fns.c (globals_of_w32fns) <w32-follow-system-dark-mode>:
New variable.
(w32_applytheme): Disable application of Dark mode if
'w32-follow-system-dark-mode' is nil.

* etc/NEWS:
* doc/emacs/msdos.texi (Windows Misc): Document
'w32-follow-system-dark-mode'.

(cherry picked from commit 58f0603d40d238383aaa911eb09b3e2809177bfa)

15 months ago* src/pdumper.c (Fdump_emacs_portable): Simplify commit 16a16645f524
Stefan Monnier [Sat, 27 Jan 2024 16:15:54 +0000 (11:15 -0500)]
* src/pdumper.c (Fdump_emacs_portable): Simplify commit 16a16645f524

(cherry picked from commit 3c4b6823c3f92291888a24b7fee40de82bb92d68)

15 months ago; * doc/misc/calc.texi (Fractions): Fix typos. (Bug#66944)
Eli Zaretskii [Sat, 27 Jan 2024 14:47:10 +0000 (16:47 +0200)]
; * doc/misc/calc.texi (Fractions): Fix typos.  (Bug#66944)

(cherry picked from commit 4e5dd1a796ab3fbf26a9c6f0119776327068cafd)

15 months agoCalc parses fractions written using U+2044 FRACTION SLASH
Daniel Brooks [Sun, 5 Nov 2023 08:03:37 +0000 (01:03 -0700)]
Calc parses fractions written using U+2044 FRACTION SLASH

Fractions of the form 123⁄456 are handled as if written 123:456. Note
in particular the difference in behavior from U+2215 DIVISION SLASH
and U+002F SOLIDUS, which result in division rather than a rational
fraction.
* lisp/calc/calc-aent.el (math-read-replacement-list): Substitute a
colon for any fraction slash.  (Bug#66944)

* test/lisp/calc/calc-tests.el (calc-frac-input): Test various
fraction types.

* etc/NEWS:
* doc/misc/calc.texi (Fractions): Mention fraction slash, precomposed
fractions.

Copyright-paperwork-exempt: yes
(cherry picked from commit 77d9d05df87965409c537f49d59cb5ea632abda1)

15 months ago; Skip commit 63a12ffbc37e46d2752b3903228fc8ec2c1fc611
Eshel Yaron [Wed, 31 Jan 2024 20:09:02 +0000 (21:09 +0100)]
; Skip commit 63a12ffbc37e46d2752b3903228fc8ec2c1fc611

15 months ago; Skip commit 3c2baa1b95442c114f717aaf2d017986bc07a270
Eshel Yaron [Wed, 31 Jan 2024 20:08:50 +0000 (21:08 +0100)]
; Skip commit 3c2baa1b95442c114f717aaf2d017986bc07a270

15 months ago; Declare tree-sitter functions in yaml-ts-mode.el
Eli Zaretskii [Sat, 27 Jan 2024 13:05:40 +0000 (15:05 +0200)]
; Declare tree-sitter functions in yaml-ts-mode.el

* lisp/textmodes/yaml-ts-mode.el (treesit-node-start)
(treesit-node-end, treesit-node-type): Declare.

(cherry picked from commit 47ee5aacdc12516a24dbcec1d9fddae85345aa0b)

15 months ago; * lisp/visual-wrap.el: use regexp-unmatchable
Mattias Engdegård [Sat, 27 Jan 2024 11:36:15 +0000 (12:36 +0100)]
; * lisp/visual-wrap.el: use regexp-unmatchable

(cherry picked from commit 85faf907618798eb09f34ba49527827b0e4026bc)

15 months agoAdd DOHASH_SAFE, make DOHASH faster (bug#68690)
Mattias Engdegård [Thu, 25 Jan 2024 17:56:03 +0000 (18:56 +0100)]
Add DOHASH_SAFE, make DOHASH faster (bug#68690)

Revert DOHASH to the fast (field-caching) implementation but with
an assertion to detect misuses.  Add DOHASH_SAFE for use in
code that must tolerate arbitrary mutation of the table being
iterated through.

* src/lisp.h (DOHASH): Go back to fast design that only allows
restricted mutation, but with a checking assertion.
(DOHASH_SAFE): New macro that tolerates arbitrary mutation while being
much simpler (and acceptably fast).
* src/fns.c (Fmaphash):
* src/comp.c (compile_function, Fcomp__compile_ctxt_to_file):
Use DOHASH_SAFE.

(cherry picked from commit da726c6de201cdb9123bd99e22206dbed5fdc50f)

15 months ago; * lisp/textmodes/refill.el (refill-fill-paragraph-at): Fix typo.
Eli Zaretskii [Sat, 27 Jan 2024 11:28:32 +0000 (13:28 +0200)]
; * lisp/textmodes/refill.el (refill-fill-paragraph-at): Fix typo.

(cherry picked from commit 9b3f43fa08b2672a5ef33b872b2c6d1b0e881b88)

15 months ago; Skip commit d36c370ce555849d3d19f25999998230361cc828
Eshel Yaron [Wed, 31 Jan 2024 20:08:22 +0000 (21:08 +0100)]
; Skip commit d36c370ce555849d3d19f25999998230361cc828

15 months ago; Skip commit 6b93e16e436735003d49a5a2ab451394937ee76c
Eshel Yaron [Wed, 31 Jan 2024 20:08:18 +0000 (21:08 +0100)]
; Skip commit 6b93e16e436735003d49a5a2ab451394937ee76c

15 months agoDowncase host names in ansi-osc.el to match URL parsing behavior
Brad Howes [Sun, 21 Jan 2024 09:07:24 +0000 (10:07 +0100)]
Downcase host names in ansi-osc.el to match URL parsing behavior

* lisp/ansi-osc.el (ansi-osc-directory-tracker): Compare
with 'system-name' case-insensitively.  (Bug#68632)

Copyright-paperwork-exempt: yes
(cherry picked from commit fc70eced27832bde0f3702a1f9033d5b81a8d61d)

15 months agoAdd option Info-url-alist
Mekeor Melire [Mon, 4 Dec 2023 15:37:37 +0000 (16:37 +0100)]
Add option Info-url-alist

* lisp/info.el (Info-url-alist): New option mapping manuals
to URLs.
(Info-url-for-node): Use it.
* test/lisp/info-tests.el (test-info-urls): Add more tests.
In particular, 'Info-url-for-node' should error when
manual-name is not handled in 'Info-url-alist'.
* etc/NEWS: Announce the change.  (Bug#67615)

(cherry picked from commit 756daa93b3ef7ce33e741ab30000fa397fcd9783)

15 months agoFix syntax highlighting after string literal concat in python-mode
Jakub Ječmínek [Fri, 19 Jan 2024 15:38:21 +0000 (16:38 +0100)]
Fix syntax highlighting after string literal concat in python-mode

* lisp/progmodes/python.el (python-syntax-stringify): Fix
incorrect font-lock after string literal concatenation.
(Bug#45897)

* test/lisp/progmodes/python-tests.el
(python-font-lock-string-literal-concatenation): New test.

Co-authored-by: kobarity <kobarity@gmail.com>
Copyright-paperwork-exempt: yes
(cherry picked from commit 09cdf8a406c5b73e8924a7396c2aaabe74a1a638)

15 months agoOptionally avoid extending 'completion-at-point-functions'
Eshel Yaron [Sat, 20 Jan 2024 11:24:32 +0000 (12:24 +0100)]
Optionally avoid extending 'completion-at-point-functions'

It is now possible to avoid extending
'completion-at-point-functions' in Text mode and its descendants.
* lisp/textmodes/text-mode.el
(text-mode-meta-tab-ispell-complete-word): Rename to...
(text-mode-ispell-word-completion): ...this.  Extend with another
option 'completion-at-point'.
(text-mode): Only extend 'completion-at-point-functions' when
'text-mode-ispell-word-completion' is 'completion-at-point'.
(Bug#67527)

* etc/NEWS: Update the entry about 'M-TAB' in Text mode.

(cherry picked from commit f0c573d8069f7ee654a550ae3d148325c49900a3)

15 months agoMinor fix in 'describe-language-environment'
Eli Zaretskii [Sat, 27 Jan 2024 09:44:54 +0000 (11:44 +0200)]
Minor fix in 'describe-language-environment'

* lisp/international/mule-cmds.el (describe-language-environment):
Use 'current-language-environment' as DEFAULT in the prompt.
Patch by Thierry Volpiatto <thievol@posteo.net>.  (Bug#68602)

(cherry picked from commit fa7543eeb72342544d324a54010b6cb96c246733)

15 months agoImprove 'refill-mode' in Org buffers
Eli Zaretskii [Sat, 27 Jan 2024 08:52:47 +0000 (10:52 +0200)]
Improve 'refill-mode' in Org buffers

* lisp/textmodes/refill.el (refill-fill-paragraph-at): Use
'fill-forward-paragraph' instead of 'forward/backward-paragraph',
so that modes could customize the behavior.  (Bug#68418)

(cherry picked from commit 8163e0b20c97a8394225a7165a8ab361af09ec29)

15 months ago; Minor improvements in 'visual-wrap-prefix-mode'
Eli Zaretskii [Sat, 27 Jan 2024 08:38:14 +0000 (10:38 +0200)]
; Minor improvements in 'visual-wrap-prefix-mode'

* lisp/visual-wrap.el (visual-wrap-extra-indent): Add :version.
(visual-wrap-fill-context-prefix): Doc fix.
* lisp/menu-bar.el (menu-bar-line-wrapping-menu): Move the menu to
a better place, improve the help-echo text.

* etc/NEWS:
* doc/emacs/basic.texi (Continuation Lines): Improve documentation
and indexing of 'visual-wrap-prefix-mode'.

(cherry picked from commit 43e2f3acdd2dbd040ec2fc473ca60ee3179bb796)

15 months agoFix description of when "\xNNN" is considered a unibyte character
Eli Zaretskii [Sat, 27 Jan 2024 08:11:32 +0000 (10:11 +0200)]
Fix description of when "\xNNN" is considered a unibyte character

* doc/lispref/objects.texi (Non-ASCII in Strings): More accurate
description of when a hexadecimal escape sequence yields a unibyte
character.  (Bug#68751)

(cherry picked from commit 53481cc954641256602830a6d74def86440ac4a9)

15 months agoSimplify imenu setup for {cmake,dockerfile}-ts-modes
Randy Taylor [Thu, 25 Jan 2024 02:39:45 +0000 (21:39 -0500)]
Simplify imenu setup for {cmake,dockerfile}-ts-modes

* lisp/progmodes/cmake-ts-mode.el (treesit-induce-sparse-tree,
treesit-node-child, treesit-node-start, cmake-ts-mode--imenu,
cmake-ts-mode--imenu-1): Remove.
(treesit-search-subtree): Declare.
(cmake-ts-mode--function-name): New function.
(cmake-ts-mode): Use it.

* lisp/progmodes/dockerfile-ts-mode.el (treesit-induce-sparse-tree,
treesit-node-start, dockerfile-ts-mode--imenu,
dockerfile-ts-mode--imenu-1): Remove.
(dockerfile-ts-mode--stage-name): New function.
(dockerfile-ts-mode): Use it.

(cherry picked from commit 1ef8b90ae06d698ab2ba9b43f67fde7289db2c5d)

15 months agopdumper.c: Minor improvements found while debugging
Stefan Monnier [Sat, 27 Jan 2024 04:15:57 +0000 (23:15 -0500)]
pdumper.c: Minor improvements found while debugging

* src/pdumper.c (dump_hash_table_list): Remove unused return value;
and simplify with `vconcat`.
(dump_charset): Don't copy uninitialized fields.

(cherry picked from commit 08007a030e03762b888dcfcd64e84f03e5a2d54f)

15 months agopdumder.c: Fix bug#68690
Stefan Monnier [Sat, 27 Jan 2024 04:03:00 +0000 (23:03 -0500)]
pdumder.c: Fix bug#68690

The problem was that the offset computed for the `charset_table` array
was a multiple of 4 but the `struct charset` needed an alignment on
a multiple of 8, so `dump_charset` inserted 4 bytes of padding,
whereas you can't have padding at the beginning of an array.

* src/pdumper.c (dump_charset): Don't set alignment here.
(dump_charset_table): Set it here instead.

(cherry picked from commit 89734c4f1d2fb9aa18e44481174eb595134f497b)

15 months agoIntercept calls to `openat' under Android
Po Lu [Sat, 27 Jan 2024 02:36:30 +0000 (10:36 +0800)]
Intercept calls to `openat' under Android

* exec/configure.ac (OPEN_SYSCALL, OPENAT_SYSCALL): Define new
macros.

* exec/exec.h (struct exec_tracee): New field `sp'.

* exec/trace.c (handle_openat): New function.
(process_system_call): If handle_openat executes successfully,
save the unmodified stack pointer within the tracee structure to
be restored once the system call completes.

(cherry picked from commit c37b50ad417c6cb340f54ffe218f5d889345451a)

15 months agoMove Visual Wrap menu to menu-bar.el
Po Lu [Sat, 27 Jan 2024 01:38:46 +0000 (09:38 +0800)]
Move Visual Wrap menu to menu-bar.el

* lisp/menu-bar.el (menu-bar-line-wrapping-menu): Insert new
menu item controlling visual-wrap-prefix-mode.

* lisp/visual-wrap.el: Remove menu bar autoload.

(cherry picked from commit 55f0b3e561034a1ad4235770d1c0685439a64fe5)

15 months ago* lisp/visual-wrap.el (visual-wrap-prefix-mode): Improve doc string.
Po Lu [Sat, 27 Jan 2024 01:31:38 +0000 (09:31 +0800)]
* lisp/visual-wrap.el (visual-wrap-prefix-mode): Improve doc string.

(cherry picked from commit d50300c50028a81ade1eb08405036168d5a24f00)

15 months agoImport ELPA package adaptive-wrap as visual-wrap
Po Lu [Sat, 27 Jan 2024 01:30:16 +0000 (09:30 +0800)]
Import ELPA package adaptive-wrap as visual-wrap

* doc/emacs/basic.texi (Continuation Lines): Document
visual-wrap and its applications.

* etc/NEWS (Editing Changes in Emacs 30.1): Ditto.

* lisp/visual-wrap.el (visual-wrap-extra-indent)
(visual-wrap--face-extend-p, visual-wrap--prefix-face)
(visual-wrap--prefix, visual-wrap-fill-context-prefix)
(visual-wrap-prefix-function, visual-wrap-prefix-mode, lookup-key)
(visual-wrap): New file.  Update copyright years and rename to
`visual-wrap'.

(cherry picked from commit 6667d6c19c3934871ed54d89dc153efc72f947de)

15 months agoEglot: fix eglot--dumb-tryc for "only possible completion" case
João Távora [Fri, 26 Jan 2024 23:18:55 +0000 (17:18 -0600)]
Eglot: fix eglot--dumb-tryc for "only possible completion" case

* lisp/progmodes/eglot.el (eglot--dumb-tryc): Fix for "only possible
  completion" case.

(cherry picked from commit 972466dce268c5697f47a7f342b13dbf01f23a39)

15 months ago; Add docstring to test
Jim Porter [Fri, 26 Jan 2024 19:56:47 +0000 (11:56 -0800)]
; Add docstring to test

Note to self: coffee first, *then* push upstream.

* test/lisp/eshell/esh-cmd-tests.el
(esh-cmd-test--deftest-invoke-directly): Add missing docstring.

(cherry picked from commit b803d10d5fa550338e184baded42cc17d01c866e)

15 months ago; * etc/PROBLEMS: Document that GnuPG 2.4.4 solves the EasyPG hangs.
Eli Zaretskii [Fri, 26 Jan 2024 19:05:43 +0000 (21:05 +0200)]
; * etc/PROBLEMS: Document that GnuPG 2.4.4 solves the EasyPG hangs.

(cherry picked from commit 7338af9c9862f7581f8a246efbd2ee35040b0219)

15 months ago; * etc/DEBUG: Add a blurb about disabling ASLR on macOS.
Eli Zaretskii [Fri, 26 Jan 2024 19:02:10 +0000 (21:02 +0200)]
; * etc/DEBUG: Add a blurb about disabling ASLR on macOS.

(cherry picked from commit 9d985f24a7fe298980f9af7b9e44318d145cfae5)

15 months agoImprove documentation of profiler commands
Eli Zaretskii [Wed, 24 Jan 2024 19:34:16 +0000 (21:34 +0200)]
Improve documentation of profiler commands

* doc/lispref/debugging.texi (Profiling): Document more commands.
Improve indexing.  (Bug#68693)

(cherry picked from commit 5483a1df99c4c36a96435e1c81ffd021f9355af9)

15 months ago; Fix xref under Output Overrides in Elisp manual.
Basil L. Contovounesios [Wed, 20 Dec 2023 12:42:53 +0000 (13:42 +0100)]
; Fix xref under Output Overrides in Elisp manual.

(cherry picked from commit fb4cf0ab46df5a0bb70ebe51ac31becfe21deb8d)

15 months agoFix broken links to Freedesktop notifications spec
Basil L. Contovounesios [Wed, 20 Dec 2023 12:40:47 +0000 (13:40 +0100)]
Fix broken links to Freedesktop notifications spec

* doc/lispref/os.texi (Desktop Notifications):
* lisp/notifications.el: Replace broken developer.gnome.org links
with specifications.freedesktop.org (bug#67939).

(cherry picked from commit aa6c24da61fd1419ac0a7c491c5aec20e52cc964)

15 months agoFix nasty cut'n'waste error in Tramp
Michael Albinus [Mon, 22 Jan 2024 09:08:45 +0000 (10:08 +0100)]
Fix nasty cut'n'waste error in Tramp

* lisp/net/tramp.el (tramp-parse-passwd): Use `tramp-parse-passwd-group'.
Reported by Tim Landscheidt <tim@tim-landscheidt.de>.

(cherry picked from commit 14d68221d26af5c3e99ae0fbc7ade44494aaf4f3)

15 months agoFix image-dired-tags-db-file void variable error
Stefan Kangas [Sun, 21 Jan 2024 13:41:27 +0000 (14:41 +0100)]
Fix image-dired-tags-db-file void variable error

* lisp/image/image-dired-tags.el (image-dired-sane-db-file):
Require 'image-dired'.  (Bug#68636)

(cherry picked from commit 51ca049608cd116e5ec5b8bb4fd815bed1cbf4ca)

15 months agotypescript-ts-mode: Skip test if tsx grammar missing
Matthew Smith [Sat, 20 Jan 2024 09:45:31 +0000 (09:45 +0000)]
typescript-ts-mode: Skip test if tsx grammar missing

typescript-ts-mode-test-indentation depends on both the tree-sitter
typescript grammar, and the tree-sitter tsx grammar.  If only the
typescript is installed, the tests will run and then fail unexpectedly
after tsx fails to load.

* test/lisp/progmodes/typescript-ts-mode-tests.el
(typescript-ts-mode-test-indentation): Skip test if tsx grammar is
missing.

Copyright-paperwork-exempt: yes
(cherry picked from commit c450eec07ff19953c8e1e75e99909d140db0e5d0)

15 months ago; Fix typos
Stefan Kangas [Sat, 20 Jan 2024 20:08:52 +0000 (21:08 +0100)]
; Fix typos

(cherry picked from commit 9841ced147f8a198da58a7925c0be55e2ed8dc75)

15 months ago* admin/README: Document the run-codespell script.
Stefan Kangas [Sat, 20 Jan 2024 20:03:12 +0000 (21:03 +0100)]
* admin/README: Document the run-codespell script.

(cherry picked from commit 557ed9c04634aaacaafb9bf3066d33b1644912ac)

15 months ago* admin/README: Fix entry on coccinelle subdirectory.
Stefan Kangas [Sat, 20 Jan 2024 20:01:11 +0000 (21:01 +0100)]
* admin/README: Fix entry on coccinelle subdirectory.

(cherry picked from commit 5701f96335c603b474ccb01a7d8522875ac4905f)

15 months agoAdd script admin/run-codespell and supporting files
Stefan Kangas [Sun, 10 Dec 2023 13:48:33 +0000 (14:48 +0100)]
Add script admin/run-codespell and supporting files

* admin/codespell/README:
* admin/codespell/codespell.dictionary:
* admin/codespell/codespell.exclude:
* admin/codespell/codespell.ignore:
* admin/codespell/codespell.rc:
* admin/run-codespell: New files.

(cherry picked from commit 1805f4bfd62354f4331c8f0464a2adb7787ecc1f)

15 months ago; Skip commit 115908469d30f8c40689673312f72b44c1631c6b
Eshel Yaron [Wed, 31 Jan 2024 20:06:07 +0000 (21:06 +0100)]
; Skip commit 115908469d30f8c40689673312f72b44c1631c6b

15 months agoUpdate Polish translation of tutorial
Eli Zaretskii [Sat, 20 Jan 2024 07:18:27 +0000 (09:18 +0200)]
Update Polish translation of tutorial

* etc/tutorials/TUTORIAL.pl: Update text about scroll bar.  New
text by Christopher Yeleighton <giecrilj@stegny.2a.pl>.
(Bug#68599)

Copyright-paperwork-exempt: yes
(cherry picked from commit 3a541b25df5b46439d0cec33e9d276b210e6ca41)

15 months ago* doc/misc/gnus.texi (Summary Mail Commands): Fix command name.
Michael Albinus [Fri, 19 Jan 2024 17:21:37 +0000 (18:21 +0100)]
* doc/misc/gnus.texi (Summary Mail Commands): Fix command name.

(cherry picked from commit 6df731431ada23e7ca6b0d76bc91766ab3b8b534)

15 months ago; * doc/misc/gnus.texi (Scoring): Typo (bug#68581).
Manuel Giraud [Fri, 19 Jan 2024 09:55:32 +0000 (10:55 +0100)]
; * doc/misc/gnus.texi (Scoring): Typo (bug#68581).

(cherry picked from commit 409bb8eb24320f5c9924596841cc81e389617e29)

15 months ago; Delete pre-release remainder in NEWS.27
Arash Esbati [Thu, 18 Jan 2024 23:38:25 +0000 (00:38 +0100)]
; Delete pre-release remainder in NEWS.27

(cherry picked from commit 25734dd40c1833841dc6c4ddd4a210927e73b286)

15 months ago; Skip commit 4e500d9d5ab56e0345557e7ab251c997ebebf4c3
Eshel Yaron [Wed, 31 Jan 2024 20:04:49 +0000 (21:04 +0100)]
; Skip commit 4e500d9d5ab56e0345557e7ab251c997ebebf4c3

15 months ago; Skip commit ef01b634d219bcceda17dcd61024c7a12173b88c
Eshel Yaron [Wed, 31 Jan 2024 20:04:44 +0000 (21:04 +0100)]
; Skip commit ef01b634d219bcceda17dcd61024c7a12173b88c

15 months ago; Update ChangeLog.4 with latest changes.
Eli Zaretskii [Thu, 18 Jan 2024 09:43:06 +0000 (04:43 -0500)]
; Update ChangeLog.4 with latest changes.

(cherry picked from commit b4baf0f8216b27a34a632f668cb9b02b1ac35b25)

15 months ago* Update etc/HISTORY and ChangeLog.4 for 29.2 release.
Eli Zaretskii [Thu, 18 Jan 2024 09:39:57 +0000 (04:39 -0500)]
* Update etc/HISTORY and ChangeLog.4 for 29.2 release.

(cherry picked from commit c633c90993f069123c788900a39031ca32c8a1d9)

15 months ago; Skip commit 1ab88d8aa52453d2839435e495b47e74673a38c7
Eshel Yaron [Wed, 31 Jan 2024 20:03:42 +0000 (21:03 +0100)]
; Skip commit 1ab88d8aa52453d2839435e495b47e74673a38c7

15 months ago; admin/authors.el (authors-aliases): Update for Emacs 29.2.
Eli Zaretskii [Thu, 18 Jan 2024 09:23:04 +0000 (04:23 -0500)]
; admin/authors.el (authors-aliases): Update for Emacs 29.2.

(cherry picked from commit 20125ad97b4592d7f9ae815aff2ca68cda7a4c31)

15 months ago; Skip commit 92a7132bd6c76a43860fa01ca3363857d8dfc8f3
Eshel Yaron [Wed, 31 Jan 2024 20:03:21 +0000 (21:03 +0100)]
; Skip commit 92a7132bd6c76a43860fa01ca3363857d8dfc8f3

15 months ago; * lisp/mail/rmail.el (rmail-show-message-verbose-min): Doc fix (bug#68369).
Eli Zaretskii [Thu, 18 Jan 2024 06:29:34 +0000 (08:29 +0200)]
; * lisp/mail/rmail.el (rmail-show-message-verbose-min): Doc fix (bug#68369).

(cherry picked from commit 314ac2e4317650a5135b950374118bbc38e8207f)

15 months agodiff-mode: Support committing diff with file deletions
Dmitry Gutov [Wed, 17 Jan 2024 23:25:24 +0000 (01:25 +0200)]
diff-mode: Support committing diff with file deletions

* lisp/vc/diff-mode.el (diff-vc-deduce-fileset):
Remove nil elements from the result (bug#68443).

(cherry picked from commit 2cb1b76696b56fe01eb70d623b602dfe00613511)

15 months ago* lisp/net/eww.el (eww-retrieve): Fix args of eww-render for sync (bug#68336).
Juri Linkov [Tue, 16 Jan 2024 17:51:18 +0000 (19:51 +0200)]
* lisp/net/eww.el (eww-retrieve): Fix args of eww-render for sync (bug#68336).

Suggested by Phil Sainty <psainty@orcon.net.nz>.

(cherry picked from commit b96aa528f642f69e2b42620807d53f8d9bbd9623)

15 months ago; Skip commit 53b5b77010117e2f58565dacf96fddeb734b6021
Eshel Yaron [Wed, 31 Jan 2024 20:00:37 +0000 (21:00 +0100)]
; Skip commit 53b5b77010117e2f58565dacf96fddeb734b6021

15 months ago; (emoji--read-emoji): Signal error on empty input (Bug#68671)
Eshel Yaron [Sat, 27 Jan 2024 13:01:47 +0000 (14:01 +0100)]
; (emoji--read-emoji): Signal error on empty input (Bug#68671)

15 months ago; * test/lisp/eshell/esh-cmd-tests.el: Fix last change.
Jim Porter [Fri, 26 Jan 2024 18:26:57 +0000 (10:26 -0800)]
; * test/lisp/eshell/esh-cmd-tests.el: Fix last change.

(cherry picked from commit 330284e7f6d5191bc107caaa1c6e8d4b319af259)

15 months agoFix detection of directly-invokable commands in Eshell
Jim Porter [Fri, 26 Jan 2024 18:17:19 +0000 (10:17 -0800)]
Fix detection of directly-invokable commands in Eshell

I think this regressed partly due to eef32d13da58, so let's add some
regression tests to make sure that doesn't happen again.

* lisp/eshell/em-unix.el (eshell-unix-initialize): Add "compile".

* lisp/eshell/esh-cmd.el (eshell--find-subcommands): Yield the second
element of the subcommand.
(eshell--invoke-command-directly-p): Rename and account for
'eshell-with-copied-handles'.
(eshell-invoke-directly): Rename to...
(eshell-invoke-directly-p): ... this, and use 'pcase' to make the
logic clearer.

* lisp/eshell/esh-mode.el (eshell-send-input): Always queue input if
the process is running; rename some locals to be clearer.

* lisp/eshell/esh-var.el (eshell-var-initialize): Add "env" as a
complex command.

* test/lisp/eshell/esh-cmd-tests.el
(esh-cmd-test--deftest-invoke-directly): New macro.
(no-args, with-args, multiple-cmds, subcmd, complex, complex-subcmd):
New test cases.

(cherry picked from commit 047607f6e611709f89f6c93ae0e2fc97b25bf18f)

15 months agoFix crash backtraces on MS-Windows, broken by ASLR
Eli Zaretskii [Fri, 26 Jan 2024 13:01:51 +0000 (15:01 +0200)]
Fix crash backtraces on MS-Windows, broken by ASLR

* src/w32fns.c (DEFAULT_IMAGE_BASE): Define for 64-bit and 32-bit
MinGW builds.
(emacs_abort): Correct the callstack addresses for potential
relocation of the image base due to ASLR.  This makes 'addr2line'
be able to interpret emacs_backtrace.txt when ASLR is in effect,
which it is on every modern version of MS-Windows.  (Bug#63365)

* configure.ac (LD_SWITCH_SYSTEM_TEMACS) [mingw32]: Add comment
about keeping the image-base values in sync with w32fns.c.

* etc/DEBUG (How to disable ASLR): New section.

(cherry picked from commit de020255a5cef4349d786fceb19481352c49557b)

15 months agoAdd support for running commands via Eshell's "env" command
Jim Porter [Fri, 26 Jan 2024 04:58:34 +0000 (20:58 -0800)]
Add support for running commands via Eshell's "env" command

* (eshell-handle-local-variables): Move most of the code to...
(eshell-parse-local-variables): ... here.
(eshell/env): Call 'eshell-parse-local-variables'.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/local-variables/env): New test.

* doc/misc/eshell.texi (Built-ins): Describe the new behavior.

* etc/NEWS: Announce this change.

(cherry picked from commit 723b0973512c0e6e9fb0f07678124347ccd44b54)

15 months ago; * etc/NEWS: Fix thinko in Eshell entry.
Jim Porter [Fri, 26 Jan 2024 04:54:48 +0000 (20:54 -0800)]
; * etc/NEWS: Fix thinko in Eshell entry.

(cherry picked from commit f897b82ab16ac92e7fd800f75b00e55762b0df31)

15 months agoAvert race condition between window attachment and buffer swap
Po Lu [Fri, 26 Jan 2024 03:24:51 +0000 (11:24 +0800)]
Avert race condition between window attachment and buffer swap

* java/org/gnu/emacs/EmacsView.java (swapBuffers): Synchronize
such that code cannot execute between the bitmap's being loaded
and being transferred to surfaceView.
(onDetachedFromWindow): Recycle bitmap after the surface view is
reset.

* java/org/gnu/emacs/EmacsWindow.java (recreateActivity):

* src/android.c (android_init_emacs_window)
(android_recreate_activity):

* src/androidfns.c (Fandroid_recreate_activity)
(syms_of_androidfns): New functions for debugging window
attachment.

* src/androidgui.h: Update prototypes.

(cherry picked from commit 16831e290ed29f5f70dfe144ec63c583527485e8)

15 months agoImprove handling of local variable settings in Eshell
Jim Porter [Fri, 26 Jan 2024 01:54:13 +0000 (17:54 -0800)]
Improve handling of local variable settings in Eshell

This ensures that these commands work the same as normal commands,
aside from making environment variable settings local to that command.
Among other things, this means that "VAR=value cd dir/" now changes
the directory correctly.

* lisp/eshell/esh-var.el (eshell-in-local-scope-p)
(eshell-local-variable-bindings): New variables.
(eshell-var-initialize, eshell-set-variable): Use
'eshell-local-variable-bindings'.
(eshell-handle-local-variables): Don't use 'eshell-as-subcommand'.

* test/lisp/eshell/esh-var-tests.el (esh-var-test/local-variables/cd):
New test.

(cherry picked from commit 65829b27ca4898ff0905a8124980243977a1382f)

15 months ago; For compatibility, eshell/make should print to Eshell unless backgrounded
Jim Porter [Fri, 26 Jan 2024 01:12:28 +0000 (17:12 -0800)]
; For compatibility, eshell/make should print to Eshell unless backgrounded

* lisp/eshell/em-unix.el (eshell/make): Pass 'plain' to eshell-compile
when in the foreground (bug#68724).

(cherry picked from commit 4834be0949e13a728b69ab97ac9c8a0dbec65f3a)

15 months agopython--treesit-syntax-propertize: Fix edits in the middle
Dmitry Gutov [Fri, 26 Jan 2024 01:00:04 +0000 (03:00 +0200)]
python--treesit-syntax-propertize: Fix edits in the middle

* lisp/progmodes/python.el (python--treesit-syntax-propertize):
Process the beginning and the end of the triple-quoted string's
delimiters separately.  Among other things, that still works when
the beginning is outside of the propertized region (bug#68445).

(cherry picked from commit 737d46e04d73dbad84bf0225cebb1c936ff89365)

15 months agoproject--read-project-list: Handle corrupted file contents
Dmitry Gutov [Fri, 26 Jan 2024 00:52:35 +0000 (02:52 +0200)]
project--read-project-list: Handle corrupted file contents

* lisp/progmodes/project.el (project--read-project-list):
Handle the 'end-of-file' error (bug#68546).

(cherry picked from commit 22a58fccb763da6ec52f4bea98f91647b71ee1f0)

15 months ago* lisp/emacs-lisp/cl-generic.el (cl--generic-compiler): Clarify the test
Stefan Monnier [Thu, 25 Jan 2024 19:24:20 +0000 (14:24 -0500)]
* lisp/emacs-lisp/cl-generic.el (cl--generic-compiler): Clarify the test

Use `compiled-function-p`.

(cherry picked from commit 4e260bfc47e5b507df1db218f49729fbae91900c)

15 months ago; * etc/NEWS: Fix typo.
Eshel Yaron [Thu, 25 Jan 2024 19:41:18 +0000 (20:41 +0100)]
; * etc/NEWS: Fix typo.

15 months agoNew command 'minibuffer-narrow-completions-to-history'
Eshel Yaron [Thu, 25 Jan 2024 19:38:13 +0000 (20:38 +0100)]
New command 'minibuffer-narrow-completions-to-history'

This command filters completions by whether or not they appear in the
minibuffer history list.

* lisp/minibuffer.el (minibuffer-narrow-completions-to-history): New
command.
(minibuffer-narrow-completions-map): Bind it to 'C-x n h'.

* doc/emacs/mini.texi (Completion Commands, Narrow Completions):
Document it.

15 months ago* lisp/simple.el (next-line-completion): Better handing of group lines.
Juri Linkov [Thu, 25 Jan 2024 17:52:08 +0000 (19:52 +0200)]
* lisp/simple.el (next-line-completion): Better handing of group lines.

Simplify to not compare the result of 'move-to-column'
with the value 'column'.  Such comparison prevented from moving
over lines without completion candidates such as group lines (bug#68688).

* test/lisp/minibuffer-tests.el (completions-group-navigation-test):
Add more group candidates to create more columns and to test
moving over group lines and over columns without candidates.

(cherry picked from commit d22a3e5afe75c9f4a18926cce16c1a13fa912df2)

15 months ago* lisp/dired.el (dired--move-to-next-line): Improve to avoid an infinite loop.
Juri Linkov [Thu, 25 Jan 2024 17:38:03 +0000 (19:38 +0200)]
* lisp/dired.el (dired--move-to-next-line): Improve to avoid an infinite loop.

An infinite loop is possible in a directory without files and subdirectories,
where even lines with . and .. are omitted, so 'dired-between-files' is true
for all Dired lines.  For the case of dired-movement-style=cycle
a guard is triggered when the loop wraps twice while the value 'arg'
is not changing.  And for the case of dired-movement-style=bounded
a guard is triggered when point doesn't move while trying to
go back to the last non-empty line.

(cherry picked from commit b07265f8eed74dda792e13062baae94319484b4b)

15 months ago; Update 'struct charset' hash for CHECK_STRUCTS
Basil L. Contovounesios [Thu, 25 Jan 2024 14:57:54 +0000 (15:57 +0100)]
; Update 'struct charset' hash for CHECK_STRUCTS

This follows commit 33b8d5b6c5 of 2024-01-23
"(struct charset): Remove dependency on hash-table internals".

(cherry picked from commit a8cfe3bda8b8008071818d6ac5e5103002ed6c08)

15 months ago; * .mailmap: Change own email address.
Basil L. Contovounesios [Wed, 24 Jan 2024 09:50:46 +0000 (10:50 +0100)]
; * .mailmap: Change own email address.

(cherry picked from commit e13653ae5cb86c26e5b9ae0c3bb5753ebb7bc98c)

15 months ago* Make comp tests robust against sxhash-equal internal changes
Andrea Corallo [Thu, 25 Jan 2024 13:37:17 +0000 (14:37 +0100)]
* Make comp tests robust against sxhash-equal internal changes

* test/src/comp-tests.el (cl-seq): Require.
(comp-tests--types-equal): New function.
(comp-tests-check-ret-type-spec): Make use of.

(cherry picked from commit 5d91cbf9a57d519968a6fb3ad6edfbf9709574a5)

15 months agoEglot: bump to 1.17
João Távora [Thu, 25 Jan 2024 12:18:58 +0000 (12:18 +0000)]
Eglot: bump to 1.17

* etc/EGLOT-NEWS: Update.

* lisp/progmodes/eglot.el (Version): Bump to 1.17
(Package-Requires): Bump jsonrpc depedency to 1.24

(cherry picked from commit b014bca833a17f5b2258e88115f03cffa983d0bd)

15 months agoEglot: fix bug introduced when "fixing" middle-of-symbol completions
João Távora [Thu, 25 Jan 2024 12:10:40 +0000 (12:10 +0000)]
Eglot: fix bug introduced when "fixing" middle-of-symbol completions

Culprit:

    commit a6ef458e3831001b0acad57cf8fa75b77a4aff3f
    Author: João Távora <joaotavora@gmail.com>
    Date:   Tue Dec 26 00:31:29 2023 +0000

        Eglot: partial fix for middle-of-symbol completions

The decision to restore the buffer state to when the last LSP
completion set was invoked is rock-solid (because that the state
those completions' edits apply to).

However, when caching the LSP completions across multiple
eglot-completion-at-point calls, we must make sure to also restore the
values of the local values, such as 'bounds-string'.  This allows us
to do that restoration.

* lisp/progmodes/eglot.el (eglot-completion-at-point): Also
restore bounds-string from capf session cache.

Github-reference: https://github.com/joaotavora/eglot/issues/1349
(cherry picked from commit 5d88c98e7c101ebad68b562334020b8c082c2ca5)

15 months agoUpdate minibuffer-show-help based on minibuffer-visible-completions
Spencer Baugh [Wed, 24 Jan 2024 16:10:40 +0000 (11:10 -0500)]
Update minibuffer-show-help based on minibuffer-visible-completions

minibuffer-visible-completions makes some more convenient bindings
available, but the help shown by minibuffer-show-help wasn't
suggesting them.  Now it is.

* lisp/simple.el (completion-setup-function): Change help text when
minibuffer-visible-completions is non-nil. (bug#68689)

(cherry picked from commit b5d36efa5777e4cc6db1067d58224d676cedbdd3)

15 months agoFix next-line-completion for multi-line completions
Spencer Baugh [Wed, 24 Jan 2024 15:52:40 +0000 (10:52 -0500)]
Fix next-line-completion for multi-line completions

Previously it would not move out of a multi-line completion, and now it will.

* lisp/simple.el (next-line-completion): Move to the completion start
or end before going forward or backward lines.  (bug#68688)

(cherry picked from commit 28c9c7cf464c87e90567f8b0e04f854163aa6187)

15 months agoAdd more erc-message-type choices
Corwin Brust [Sat, 20 Jan 2024 05:51:36 +0000 (23:51 -0600)]
Add more erc-message-type choices

* lisp/erc/erc.el (erc-message-type): Add more of the possible
IRC message types to customize widget for `erc-*hide-list'.
New options have tags informed by these descriptions:
https://modern.ircdocs.horse/#numerics   (Bug#68601)

(cherry picked from commit 1ba8d1c43702cf8ddd5d7159401d7b3ebc51f4fe)

15 months agoAdd replacement-text field to erc-input struct
F. Jason Park [Mon, 1 Jan 2024 14:37:25 +0000 (06:37 -0800)]
Add replacement-text field to erc-input struct

* etc/ERC-NEWS: Promote `refoldp' slot from simulated to real.
Mention new `substxt' slot of `erc-input' struct.
* lisp/erc/erc-common.el (erc-input): Add `substxt' and `refoldp'
slots.
(erc--input-split): Move `refoldp' to "superclass".
* lisp/erc/erc-goodies.el (erc--command-indicator-permit-insertion):
Use `substxt' field instead of overloading `insertp'.
(erc--command-indicator-display): Accept extra lines for
compatibility.
* lisp/erc/erc.el (erc-pre-send-functions): Revise doc.
(erc--input-ensure-hook-context, erc-input-refoldp): Remove unused
functions, originally meant to be new in ERC 5.6.
(erc--run-send-hooks): Copy data from additional fields of `erc-input'
object to `erc--input-split' workspace object.
(erc--send-input-lines): Handle `substxt' field of `erc-input' object
when it's non-nil.  (Bug#68265)

(cherry picked from commit d6be068ffe8c151575ea784ce508711b41cec7c5)

15 months agoForce erc-speedbar to update on insertion
F. Jason Park [Tue, 16 Jan 2024 18:42:21 +0000 (10:42 -0800)]
Force erc-speedbar to update on insertion

* lisp/erc/erc-speedbar.el (erc-speedbar--force-update-interval-secs,
erc-speedbar--last-ran): New variables.
(erc-speedbar--reset-last-ran-on-timer,
erc-speedbar--run-timer-on-post-insert): New functions.
(erc-nickbar-mode, erc-nickbar-enable, erc-nickbar-disable): Use
`erc-insert-post-hook' and `speedbar-timer-hook' to update the
speedbar periodically.  (Bug#63595)

(cherry picked from commit aae131b8dd9ab3c3ceb23079796005873e107bee)