]> git.eshelyaron.com Git - emacs.git/log
emacs.git
7 weeks ago; Skip commit 7a404e6d510830323381e5febbe61273f341dc20
Eshel Yaron [Sat, 21 Sep 2024 18:55:18 +0000 (20:55 +0200)]
; Skip commit 7a404e6d510830323381e5febbe61273f341dc20

7 weeks ago; Always set 'emoji--insert-buffer'
Scott Bell [Fri, 20 Sep 2024 21:16:52 +0000 (14:16 -0700)]
; Always set 'emoji--insert-buffer'

* lisp/international/emoji.el (emoji-list): Always set insert buffer.
(Bug#73390)

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

7 weeks agoFix font-lock of last character before EOB under 'whitespace-mode'
Stefan Monnier [Thu, 19 Sep 2024 15:50:26 +0000 (11:50 -0400)]
Fix font-lock of last character before EOB under 'whitespace-mode'

* lisp/whitespace.el (whitespace-color-on): Don't use OVERRIDE in
font-lock-keywords; instead, use 'prepend' in the call to
'font-lock-add-keywords'.  (Bug#73332)

(cherry picked from commit 35e356f958af69baad8a1a824c59993915fb6abe)

7 weeks agoFix 'whitespace-mode' with 'missing-newline-at-eof'
Eli Zaretskii [Sat, 21 Sep 2024 10:41:21 +0000 (13:41 +0300)]
Fix 'whitespace-mode' with 'missing-newline-at-eof'

* lisp/whitespace.el (whitespace-post-command-hook): Refontify
when point moves if 'missing-newline-at-eof' is in
'whitespace-active-style'.  (Bug#73332)

(cherry picked from commit 01ebe6de8954b2381bfba31038a0bd0669e33910)

7 weeks ago; * lisp/emacs-lisp/lisp.el (delete-pair-push-mark): Add :version.
Eli Zaretskii [Sat, 21 Sep 2024 10:23:50 +0000 (13:23 +0300)]
; * lisp/emacs-lisp/lisp.el (delete-pair-push-mark): Add :version.

(cherry picked from commit 4c5ab949fb15f89596705704bfb90a2ee1e0aa82)

7 weeks agoAdd option for delete-pair to mark end of region
Paul Nelson [Sun, 15 Sep 2024 20:29:46 +0000 (22:29 +0200)]
Add option for delete-pair to mark end of region

* lisp/emacs-lisp/lisp.el (delete-pair-push-mark): New user option.
(delete-pair): Use it.  (Bug#73284)

* etc/NEWS: Announce the new user option.

(cherry picked from commit a48672c6bbf8cf0adae33b13634f3945c24c61dd)

7 weeks ago; * etc/NEWS: Fix last change.
Eli Zaretskii [Sat, 21 Sep 2024 09:42:43 +0000 (12:42 +0300)]
; * etc/NEWS: Fix last change.

(cherry picked from commit 39d2cc36b2ffeb9a0d0053fa3b800334e98ef49e)

7 weeks agoAdd user option to enable Doxygen syntax highlighting (bug#72814)
Vincenzo Pupillo [Mon, 9 Sep 2024 07:20:42 +0000 (09:20 +0200)]
Add user option to enable Doxygen syntax highlighting (bug#72814)

Both 'c-ts-mode' and 'java-ts-mode' have a new user option,
'c-ts-mode-enable-doxygen' and 'java-ts-mode-enable-doxygen'
(defaults to nil) which allow to enable syntax highlighting
of comment blocks based on the Doxygen grammar.

* lisp/progmodes/c-ts-mode.el: Add the 'c-ts-mode-enable-doxygen'
user option variable to disable doxygen grammar.
Notifies the user if doxygen grammar is not available.
* lisp/progmodes/c-ts-mode.el (c-ts-mode, c++-ts-mode): Use the
new 'c-ts-mode-enable-doxygen' option.
* lisp/progmodes/java-ts-mode.el: Add the
'java-ts-mode-enable-doxygen' user option variable to disable
doxygen grammar.  Notifies the user if doxygen grammar is not
available.
* lisp/progmodes/java-ts-mode.el (java-ts-mode): Use the new
'java-ts-mode-enable-doxygen' option.

* etc/NEWS: Document the change.

(cherry picked from commit b0523dffabbec8acd9c5c92711af849a11867884)

7 weeks agoFix 'regexp-replace' in WDired
Eli Zaretskii [Sat, 21 Sep 2024 09:30:49 +0000 (12:30 +0300)]
Fix 'regexp-replace' in WDired

* src/search.c (Freplace_match): Remove the test that
search_regs.num_regs != num_regs.  It is deemed unnecessary now,
and could produce false positives.  (Bug#73018)

(cherry picked from commit a513f2a4dd5a7f52abf48f06cf32fcfab765c373)

7 weeks ago; Skip commit eced1351200616eed626b56976d8ec98d12ebe61
Eshel Yaron [Sat, 21 Sep 2024 18:54:38 +0000 (20:54 +0200)]
; Skip commit eced1351200616eed626b56976d8ec98d12ebe61

7 weeks agoDisable xwidgets with recent webkitgtk versions (Bug#66068)
Peter Oliver [Wed, 4 Sep 2024 11:12:50 +0000 (12:12 +0100)]
Disable xwidgets with recent webkitgtk versions (Bug#66068)

* configure.ac: Accept only webkit2gtk-4.* versions less than 2.41.92.

(cherry picked from commit b7f6cde419f862dbbf25a8192f5f31ac557b60b5)

7 weeks ago* test/infra/gitlab-ci.yml (.tree-sitter-template): Add treesit.el.
Michael Albinus [Sat, 21 Sep 2024 08:22:41 +0000 (10:22 +0200)]
* test/infra/gitlab-ci.yml (.tree-sitter-template): Add treesit.el.

(cherry picked from commit 39ac8ddafd0482c0f3e1a0fd122168c90c962403)

7 weeks agoUse (sit-for 0) in Tramp
Michael Albinus [Sat, 21 Sep 2024 08:22:13 +0000 (10:22 +0200)]
Use (sit-for 0) in Tramp

* lisp/net/tramp.el (tramp-wait-for-regexp): Use (sit-for 0) in
order to avoid performace regression.

(cherry picked from commit 2f80e62e6e0ed2502fdf4be948c55f0b9ea72fb1)

7 weeks ago; * lisp/editorconfig.el (editorconfig-indentation-alist): Doc fix.
Eli Zaretskii [Sat, 21 Sep 2024 07:21:21 +0000 (10:21 +0300)]
; * lisp/editorconfig.el (editorconfig-indentation-alist): Doc fix.

(cherry picked from commit a6dafbc2bc559295485c72bdfc317dda8a0a9bf5)

7 weeks agoAdd accessors for treesit-font-lock-settings
Yuan Fu [Mon, 16 Sep 2024 06:32:51 +0000 (23:32 -0700)]
Add accessors for treesit-font-lock-settings

Since each SETTING in treesit-font-lock-settings is considered an opaque
object, provide accessor functions for each field.

* lisp/treesit.el:
(treesit-font-lock-settings): Update docstring.
(treesit-font-lock-setting-query):
(treesit-font-lock-setting-enable):
(treesit-font-lock-setting-feature):
(treesit-font-lock-setting-override): New functions.
(treesit--font-lock-setting-feature): Remove function.
(treesit--font-lock-setting-enable): Rename to
treesit--font-lock-setting-clone-enable to avoid confusion with
treesit-font-lock-setting-enable.
(treesit-add-font-lock-rules): Use renamed function.
(treesit-font-lock-fontify-region): Add a comment.
* doc/lispref/modes.texi (Parser-based Font Lock): Update manual.

(cherry picked from commit f9fa75c1ef31ee78b43509f15b50cf0603757181)

7 weeks ago; Skip commit 4c4e26be7c8da65c6c4d01d298ce8a35c920271b
Eshel Yaron [Sat, 21 Sep 2024 18:52:29 +0000 (20:52 +0200)]
; Skip commit 4c4e26be7c8da65c6c4d01d298ce8a35c920271b

7 weeks agoFix treesit--merge-ranges (bug#73324)
Yuan Fu [Sat, 21 Sep 2024 03:40:26 +0000 (20:40 -0700)]
Fix treesit--merge-ranges (bug#73324)

* lisp/treesit.el (treesit--merge-ranges): Make sure that old
ranges that intersects with START-END are actually discarded.
* test/src/treesit-tests.el (treesit-range-merge): New test.

(cherry picked from commit 0834106a6209833ab5f5c032cce857f39889d3d6)

7 weeks ago; Delete bug fix from etc/NEWS
Stefan Kangas [Sat, 21 Sep 2024 01:41:26 +0000 (03:41 +0200)]
; Delete bug fix from etc/NEWS

* etc/NEWS: Delete bug fix item.  No correct program will see a
difference in behavior; at worst, the error message when calling
`(error)` is now better.
Reported by Mattias Engdegård <mattias.engdegard@gmail.com>.

(cherry picked from commit 1103134a0e1edbd512891e64bad99de10da33ef4)

7 weeks agoFix regexps for TeX xref backend
David Fussner [Mon, 16 Sep 2024 13:05:01 +0000 (14:05 +0100)]
Fix regexps for TeX xref backend

* lisp/textmodes/tex-mode.el (tex-thingatpt-exclude-chars): Remove
variable.
(tex-thingatpt--beginning-of-symbol, tex-thingatpt--end-of-symbol):
Use hard-coded characters instead of variable.  (Bug#53749)

(cherry picked from commit 117d93a477079d9b051e2b764fc3cfa9402801b0)

7 weeks agoFix midnight-mode documentation
Stefan Kangas [Sat, 21 Sep 2024 00:19:53 +0000 (02:19 +0200)]
Fix midnight-mode documentation

* lisp/midnight.el (Commentary): Document that 'midnight-mode' should be
enabled using the function, instead of by merely loading the library.
In Emacs 31, doing the latter will no longer work.  (Bug#73291)

(cherry picked from commit 76c6b4d2799ab1396ba003d33e4a177519d7e53d)

7 weeks ago; Fix my email address
Stefan Kangas [Sat, 21 Sep 2024 00:16:40 +0000 (02:16 +0200)]
; Fix my email address

(cherry picked from commit f77825222077799b79a9f62cb8a3f0fa37373614)

7 weeks agoeditorconfig.el: Fix too naive sync from upstream
Stefan Monnier [Fri, 20 Sep 2024 18:58:45 +0000 (14:58 -0400)]
editorconfig.el: Fix too naive sync from upstream

* lisp/editorconfig.el (editorconfig--get-indentation-nxml-mode):
New function.
(editorconfig-indentation-alist): Use it to fix bug#73359.

(cherry picked from commit db22efca8d4fa14118563ae24b292871c7fa350a)

7 weeks ago; Skip commit 0f12d6dd23ce24dc880ec8981458fb369228262b
Eshel Yaron [Sat, 21 Sep 2024 18:51:06 +0000 (20:51 +0200)]
; Skip commit 0f12d6dd23ce24dc880ec8981458fb369228262b

7 weeks ago* lisp/progmodes/eglot.el (eglot--signal-textDocument/didOpen): Fix bug#72696
Stefan Monnier [Fri, 20 Sep 2024 18:42:22 +0000 (14:42 -0400)]
* lisp/progmodes/eglot.el (eglot--signal-textDocument/didOpen): Fix bug#72696

(cherry picked from commit 29d50e245f84d62a9cf4ce00593ea4c63fc4f44d)

7 weeks ago; Skip commit 7ef805d6a47ef12a40c18d1e449b326f787aa4ea
Eshel Yaron [Sat, 21 Sep 2024 18:50:36 +0000 (20:50 +0200)]
; Skip commit 7ef805d6a47ef12a40c18d1e449b326f787aa4ea

7 weeks agoRemove obsolete workaround
Po Lu [Fri, 20 Sep 2024 14:27:39 +0000 (22:27 +0800)]
Remove obsolete workaround

* src/fontset.c (fontset_find_font): Don't refuse to cache
font objects whose registries do not agree with the font
specs.  (bug#73363)

(cherry picked from commit 357cd83875a4dd0ec81d1af2b91270cb57973931)

7 weeks agoetags-regen-file-extensions: Add .pm
Sean Whitton [Fri, 20 Sep 2024 13:39:53 +0000 (14:39 +0100)]
etags-regen-file-extensions: Add .pm

* lisp/progmodes/etags-regen.el (etags-regen-file-extensions):
Add .pm.

(cherry picked from commit 4b9a8fd607423726aea390a5fe25fd2307c937b6)

7 weeks agoSpeed up tall rectangular selections (bug#72830)
Mattias Engdegård [Thu, 29 Aug 2024 12:14:22 +0000 (14:14 +0200)]
Speed up tall rectangular selections (bug#72830)

Instead of setting the highlight overlay on every line in the selection,
only do so on the window-height worth of lines closest to point because
the rest aren't likely to be visible.

This makes a massive difference for tall rectangular selections which
previously were so slow as to be unusable.

(Tall selections are still slow if `select-active-regions` is non-nil,
but that is something that users can actually do something about.)

* lisp/rect.el (rectangle--highlight-for-redisplay)
(rectangle--unhighlight-for-redisplay):
Replace call to `apply-on-rectangle`, which operates on every line,
with a loop over an approximate screenful.
Extend the `rectangle` overlay list structure with a value for point,
because `exchange-point-and-mark` must trigger a recomputation of
highlight overlays despite the selection not actually changing.

(cherry picked from commit 38c7516827902cdfb70bf68b2da4296a8d9349c0)

7 weeks ago; Skip commit cbaf7edbb467c7d6eedf44c055ecfc73b3bb3189
Eshel Yaron [Sat, 21 Sep 2024 18:49:04 +0000 (20:49 +0200)]
; Skip commit cbaf7edbb467c7d6eedf44c055ecfc73b3bb3189

7 weeks ago* src/treesit.c (treesit_debug_print_parser_list): Fix compiler warning.
Andrea Corallo [Thu, 19 Sep 2024 08:27:21 +0000 (10:27 +0200)]
* src/treesit.c (treesit_debug_print_parser_list): Fix compiler warning.

(cherry picked from commit 956f14ae5e999519e23a9a575b1d6616c744d802)

7 weeks agoType-check argument to network-lookup-address-info
Robert Pluim [Wed, 18 Sep 2024 15:19:28 +0000 (17:19 +0200)]
Type-check argument to network-lookup-address-info

* src/process.c (Fnetwork_lookup_address_info): Check that the
"name" argument is a string, and mention 'puny-encode-domain'.
(Bug#73337)

(cherry picked from commit 300d05ecb4cdd53eb8ae9c95f9db6909bb872e29)

7 weeks ago* lisp/dired-aux.el (dired-do-open): Optimize (bug#73004).
Juri Linkov [Thu, 19 Sep 2024 06:14:34 +0000 (09:14 +0300)]
* lisp/dired-aux.el (dired-do-open): Optimize (bug#73004).

Detect system-type only once, then iterate over files
for every system type separately.

(cherry picked from commit 8816b4f342983468d49f93decf216151e9c6ffbc)

7 weeks ago; Improve doc strings of options related to numbered backups
Eli Zaretskii [Thu, 19 Sep 2024 05:20:04 +0000 (08:20 +0300)]
; Improve doc strings of options related to numbered backups

* lisp/files.el (version-control, dired-kept-versions)
(delete-old-versions, kept-old-versions, kept-new-versions): Doc
fixes.

(cherry picked from commit 0f0f21b7f27265e7c9c3a47dc6c9042324f2b031)

7 weeks agoSupport numeric indexing in let-alist
Spencer Baugh [Thu, 12 Oct 2023 22:01:46 +0000 (18:01 -0400)]
Support numeric indexing in let-alist

let-alist is very useful.  But sometimes an alist contains a list in
the middle, which contains yet more alists.  Previously, this was
somewhat painful to deal with, and required something like:

(let-alist alist
  (let-alist (nth 0 .a)
    (let-alist (nth 3 .b)
       .c)))

Now, the following works:

(let-alist alist
  .a.0.b.3.c)

* lisp/emacs-lisp/let-alist.el (let-alist--access-sexp): Properly
parse numbers to handle lists.  (Bug#66509)
(let-alist--list-to-sexp): Use nth to handle numbers.
(let-alist): Update docs.

(cherry picked from commit ae4171efdc60dfa53aa404e5926f5165dbf98d59)

7 weeks ago; Use c-ctype.h in w32*.c
Eli Zaretskii [Wed, 18 Sep 2024 18:22:04 +0000 (21:22 +0300)]
; Use c-ctype.h in w32*.c

* src/w32.c:
* src/w32fns.c: Replace ctype.h functions by equivalent
c-ctype.h functions.

(cherry picked from commit 252ed22d62fc80e2af6f37cf55c62848f6bc8e29)

7 weeks ago; Skip commit 03a991931863486436193f3e8edd0fd7d7d271c3
Eshel Yaron [Sat, 21 Sep 2024 18:48:21 +0000 (20:48 +0200)]
; Skip commit 03a991931863486436193f3e8edd0fd7d7d271c3

7 weeks ago; Skip commit 9026bfb5716de7a6d8ea5df60da942204c32feff
Eshel Yaron [Sat, 21 Sep 2024 18:48:14 +0000 (20:48 +0200)]
; Skip commit 9026bfb5716de7a6d8ea5df60da942204c32feff

7 weeks ago; Small fix for 'grep-change-to-grep-edit-mode'
Juri Linkov [Wed, 18 Sep 2024 16:59:35 +0000 (19:59 +0300)]
; Small fix for 'grep-change-to-grep-edit-mode'

* lisp/progmodes/grep.el (grep-change-to-grep-edit-mode):
Use 'substitute-command-keys' like in 'occur-edit-mode'.

(cherry picked from commit 3924730200ccb79361ceac176e22731e862dbdd7)

7 weeks agoMake `dired-do-open' work on more *nix systems
Manuel Giraud [Fri, 6 Sep 2024 07:47:33 +0000 (09:47 +0200)]
Make `dired-do-open' work on more *nix systems

* lisp/dired-aux.el (dired-do-open): Make `dired-do-open' work
on more *nix systems (bug#73004).

(cherry picked from commit 5e377f4fcc0626065f930f68cff7a11f31c40ffe)

7 weeks agoyes-or-no-p now uses blankp rather than SYNTAX
Paul Eggert [Wed, 18 Sep 2024 16:18:29 +0000 (09:18 -0700)]
yes-or-no-p now uses blankp rather than SYNTAX

* src/fns.c: Do not include syntax.h; no longer needed.
(Fyes_or_no_p): Use blankp rather than SYNTAX to check whether the
prompt ends in nonspace.  That way, the test doesn’t depend on the
current buffer.

(cherry picked from commit 6d507d586a7ae2ab2caf32e32f2ae6134a90b1bd)

7 weeks agoConservative heuristic for tree-sitter parser ranges (bug#73324)
Yuan Fu [Wed, 18 Sep 2024 04:17:13 +0000 (21:17 -0700)]
Conservative heuristic for tree-sitter parser ranges (bug#73324)

* src/treesit.c (treesit_sync_visible_region): If the parser's original
ranges don't overlap with visible region, give it a zero range, rather
than don't set any range.
* test/src/treesit-tests.el (treesit-range-fixup-after-edit): Test new
behavior.

(cherry picked from commit f0daa2f2153a9d250d32ac1261a6fffb30860e31)

7 weeks ago; Fix treesit.c printing
Yuan Fu [Wed, 18 Sep 2024 03:53:36 +0000 (20:53 -0700)]
; Fix treesit.c printing

* src/treesit.c (treesit_debug_print_parser_list): Use PRIuPTR so 32bit
systems compile without warnings.

(cherry picked from commit 035024b4e5a8eb759e30ce72ed3b83036f35525e)

7 weeks ago; * admin/notes/unicode: Need to run textsec-tests (bug#73312).
Eli Zaretskii [Tue, 17 Sep 2024 13:18:08 +0000 (16:18 +0300)]
; * admin/notes/unicode: Need to run textsec-tests (bug#73312).

(cherry picked from commit 8771310a10d528e01e1ff853c6b180af39b60620)

7 weeks agoRe-enable GC mark trace buffer by default
Mattias Engdegård [Tue, 17 Sep 2024 11:07:01 +0000 (13:07 +0200)]
Re-enable GC mark trace buffer by default

Enable GC_REMEMBER_LAST_MARKED by default (it was disabled in Emacs 29)
to make it easier to debug difficult-to-reproduce GC problems
encountered by users.  This increases GC costs by about 5 %, which can
be avoided by turning the mark trace buffer back off using the new
--disable-gc-mark-trace option.

See discussion at
https://lists.gnu.org/archive/html/emacs-devel/2024-09/msg00240.html

* configure.ac (--disable-gc-mark-trace): New config option.
* etc/NEWS: Mention it.
* src/alloc.c: Enable it by default and avoid a compiler warning.

(cherry picked from commit 4c6f45fa8eef1a15d5790c1f3d3e608b548015db)

7 weeks ago; * src/haiku_support.cc: Correct last change.
Po Lu [Sun, 15 Sep 2024 08:28:38 +0000 (16:28 +0800)]
; * src/haiku_support.cc: Correct last change.

(cherry picked from commit c6077015894dd89c5aa3811bf55d3124394874d0)

7 weeks ago; Add even more tests for previous commit
Yuan Fu [Sun, 15 Sep 2024 07:42:41 +0000 (00:42 -0700)]
; Add even more tests for previous commit

* test/src/treesit-tests.el:
(treesit-range-fixup-after-edit): Make the tests trickier.

(cherry picked from commit ae22ad7f624afa5e974059b8f2e78959402d8b3a)

7 weeks agoFix treesit_sync_visible_region's range fixup code (bug#73264)
Yuan Fu [Sun, 15 Sep 2024 07:24:03 +0000 (00:24 -0700)]
Fix treesit_sync_visible_region's range fixup code (bug#73264)

      new_ranges_head
      |
      v
( )->( )->( )->( )->( )
           ^    ^
           |    |
           |    lisp_ranges (loop head)
           |
           prev_cons -> set cdr to nil to cut of the rest

result:

     ( )->( )

* src/treesit.c (treesit_sync_visible_region): Cut off this cons and the
rest, not set the current range's end to nil.
* test/src/treesit-tests.el:
(treesit-range-fixup-after-edit): Add tests for all cases.

(cherry picked from commit 460b9d705ab482003fabe75b0fd1df223abe467c)

7 weeks ago; * etc/PROBLEMS: Fix last change (bug#73207).
Eli Zaretskii [Sun, 15 Sep 2024 04:55:20 +0000 (07:55 +0300)]
; * etc/PROBLEMS: Fix last change (bug#73207).

(cherry picked from commit 81347c1aaf25b27e78e8beee4bc818ad2c4e1b71)

7 weeks agoDocument unavailability of frame geometry on Wayland
Po Lu [Sun, 15 Sep 2024 01:01:25 +0000 (09:01 +0800)]
Document unavailability of frame geometry on Wayland

* etc/PROBLEMS (Runtime problems specific to PGTK build):
Document that frame-edges and company are liable not to return
valid coordinates.  (bug#73207)

(cherry picked from commit a82b7f3e8233905f924493180bcdaf29c42a39b9)

7 weeks ago(elisp-completion-at-point): Simplify
Eshel Yaron [Sat, 21 Sep 2024 18:44:33 +0000 (20:44 +0200)]
(elisp-completion-at-point): Simplify

8 weeks agoFix layout of preferences activity on Android 35
Po Lu [Wed, 18 Sep 2024 02:08:26 +0000 (10:08 +0800)]
Fix layout of preferences activity on Android 35

* java/org/gnu/emacs/EmacsPreferencesActivity.java (onCreate):
Align list view to system windows.

(cherry picked from commit eace68a325b96d12188ea8d673f30bad1354b916)

8 weeks agoOnly conditionally resolve hosts in nsm-should-check
F. Jason Park [Mon, 14 Feb 2022 10:36:57 +0000 (02:36 -0800)]
Only conditionally resolve hosts in nsm-should-check

Libraries like `socks' need to run `nsm-verify-connection' without
performing DNS lookups.  This change allows them to achieve this by
binding `nsm-trust-local-network' to nil around calls to that function.

* lisp/net/nsm.el (nsm-should-check): Rework in a functionally
equivalent way, except forgo calling both `network-lookup-address-info'
and `network-interface-list' unless the various conditions regarding
`nsm-trust-local-network' are first satisfied.  Replace `mapc' with
`dolist' to align with modern sensibilities.   (Bug#53941)

(cherry picked from commit 50deb59aaee2a8d773e95a53c91da7bdb2c5cabd)

8 weeks agoUse c-ctype.h in lib-src
Paul Eggert [Tue, 17 Sep 2024 23:54:17 +0000 (16:54 -0700)]
Use c-ctype.h in lib-src

This fixes some unlikely bugs and removes the temptation
of using ctype.h.  Although some uses were correct,
many weren't.
* lib-src/ebrowse.c: Include c-ctype.h, not ctype.h.
* lib-src/emacsclient.c: Include c-ctype.h, not ctype.h.
* lib-src/update-game-score.c: Include c-ctype.h, not ctype.h.
All uses changed.

(cherry picked from commit 865b54e2acea4fdaa3f302ed225f50281b371d6e)

8 weeks agoFix some #! misparsing in check_interpreter
Paul Eggert [Tue, 17 Sep 2024 23:38:53 +0000 (16:38 -0700)]
Fix some #! misparsing in check_interpreter

* exec/exec.c: Do not include ctype.h, as the kernel
does not care about the locale.
(check_interpreter): Treat only spaces and tabs as white space.
Do not inspect more bytes than were read.
Although the resulting code does not exactly match what
the Android kernel does, it’s closer than what it was before.

(cherry picked from commit e0b027d1215ed32fe0f3d0956d2d7a81552274f2)

8 weeks agoFix misuse of toupper in sfnt_parse_style
Paul Eggert [Tue, 17 Sep 2024 22:23:47 +0000 (15:23 -0700)]
Fix misuse of toupper in sfnt_parse_style

* src/sfntfont.c: Include c-ctype.h, not ctype.h.
(sfnt_parse_style): Upcase just initial ASCII letters;
that’s good enough here.

(cherry picked from commit 58a44b6ac317c9a17bcdd208e4ec33ff9772429e)

8 weeks agoFix yes-or-no-p with multibyte spaces
Paul Eggert [Tue, 17 Sep 2024 22:22:02 +0000 (15:22 -0700)]
Fix yes-or-no-p with multibyte spaces

Problem reported by Thomas Klausner (Bug#73307).
Emacs shouldn’t use ctype.h, as it doesn’t work for multibyte
chars and it doesn’t work with Emacs’s locale model anyway.
* src/fns.c: Include syntax.h, not ctype.h.
(Fyes_or_no_p): Check the character category with SYNTAX, not
with isspace, which assumes the current locale and works only
with single-byte characters.

(cherry picked from commit 43cde03fa5a663a1509a762077c11eb57a60cee8)

8 weeks ago; Skip commit f1794a17b629f8ad2a85dbf9877e17dcdd9b9ee7
Eshel Yaron [Wed, 18 Sep 2024 10:49:08 +0000 (12:49 +0200)]
; Skip commit f1794a17b629f8ad2a85dbf9877e17dcdd9b9ee7

8 weeks agoFix idna-mapping-table following Unicode 16 changes
Robert Pluim [Tue, 17 Sep 2024 13:19:01 +0000 (15:19 +0200)]
Fix idna-mapping-table following Unicode 16 changes

The latest version of UTS #46 in Unicode 16 has changed the way it
indicates which codepoints are invalid in domain names, causing
'idna-mapping-table' to contain incorrect information, which then breaks
'textsec-domain-suspicious-p' and our test suite.  (Bug#73312)

* admin/unidata/unidata-gen.el (unidata-gen-idna-mapping): Check the
IDNA validity field in "IdnaMappingTable.txt" in addition to checking
the status field, as the latter can now be 'valid' for disallowed
codepoints.

(cherry picked from commit 7d365a2d72d8e656262205827cc5fdf423c3a41f)

8 weeks agoRename project-{find-file-in-root,root-find-file}
Dmitry Gutov [Mon, 16 Sep 2024 23:11:52 +0000 (02:11 +0300)]
Rename project-{find-file-in-root,root-find-file}

* lisp/progmodes/project.el (project-root-find-file):
Rename from 'project-find-file-in-root' (bug#73044).

(cherry picked from commit 8eb66cca78dca27d58a8881b587b3340043a74f7)

8 weeks agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Tue, 17 Sep 2024 07:32:39 +0000 (00:32 -0700)]
Update from Gnulib by running admin/merge-gnulib

(cherry picked from commit 73427887d63c086fb88449dce79bf2f8e58183fa)

8 weeks agoRemove unnecessary #include
Paul Eggert [Mon, 16 Sep 2024 23:48:33 +0000 (16:48 -0700)]
Remove unnecessary #include

* src/sysdep.c: Don’t include utimens.h; hasn’t been
needed for a while.

(cherry picked from commit cbe8683410a117698606b929532d4a3e692729d7)

8 weeks agoNew user option 'completion-preview-ignore-case'
Eshel Yaron [Tue, 17 Sep 2024 18:26:23 +0000 (20:26 +0200)]
New user option 'completion-preview-ignore-case'

Completion Preview mode implicitly assumed that
'completion-ignore-case' is nil, and while it can also work
with 'completion-ignore-case' non-nil, the results are a bit
different than what you get with 'completion-at-point'.  Add
an option that controls case sensitivity explicitly and
specifically for Completion Preview mode, and clarify the
behavior when case differences are ignored.  (Bug#73234)

* lisp/completion-preview.el
(completion-preview-ignore-case): New user option.

8 weeks agoAdd make-directory to symbol-releases.eld
Stefan Kangas [Sun, 15 Sep 2024 11:58:53 +0000 (13:58 +0200)]
Add make-directory to symbol-releases.eld

This avoids saying (incorrectly) that it was introduced in Emacs 23.1.

* etc/symbol-releases.eld: Add 'make-directory'.

(cherry picked from commit f27553c30a772a0103d2e6762e4d7f588f302e4b)

8 weeks agoRemove some XEmacs compat code from cperl-mode.el
Stefan Kangas [Sun, 15 Sep 2024 02:02:25 +0000 (04:02 +0200)]
Remove some XEmacs compat code from cperl-mode.el

The 'initialize-new-tags-table' function is unconditionally available
after 'etags' has been loaded, which is done further up.

* lisp/progmodes/cperl-mode.el (cperl-write-tags): Remove XEmacs compat
code.

(cherry picked from commit 4464062f4e4fe29aea237eec82cd5ddaaeac4052)

8 weeks ago;; Fix typo in Grep Edit mode manual description (bug#73274).
Daniel Martín [Sun, 15 Sep 2024 10:23:21 +0000 (12:23 +0200)]
;; Fix typo in Grep Edit mode manual description (bug#73274).

(cherry picked from commit 16a142c2b2203a2b18743ff27208dace756d86b2)

8 weeks ago; Skip commit 2cd5774689f96522709250b7805370522dcd4334
Eshel Yaron [Mon, 16 Sep 2024 10:00:57 +0000 (12:00 +0200)]
; Skip commit 2cd5774689f96522709250b7805370522dcd4334

8 weeks agoPort to Haiku R1/beta5
Po Lu [Sun, 15 Sep 2024 00:52:46 +0000 (08:52 +0800)]
Port to Haiku R1/beta5

* src/haiku_support.cc (keysym_from_raw_char): Use revised names
for B_HANGUL and B_HANGUL_HANJA.

(cherry picked from commit 709ce2aff146a8c09c191f818cda70b269902348)

8 weeks agoFix c++-ts-mode font-lock for latest c++ grammar (bug#73191)
Yuan Fu [Sat, 14 Sep 2024 18:07:28 +0000 (11:07 -0700)]
Fix c++-ts-mode font-lock for latest c++ grammar (bug#73191)

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--keywords): Add "thread_local" keyword.
(c-ts-mode--test-virtual-named-p): New function.
(c-ts-mode--font-lock-settings): Use named/anonymous "virtual" depending
on the grammar.

(cherry picked from commit 21efdd5ef31febc8fd59bf483a39bba512d50f45)

8 weeks ago; Skip commit ffc00eac53d88296e234d274ad1dd95bdf3cf065
Eshel Yaron [Mon, 16 Sep 2024 09:59:56 +0000 (11:59 +0200)]
; Skip commit ffc00eac53d88296e234d274ad1dd95bdf3cf065

8 weeks ago; Skip commit 3822a5e5d12781fb1cd6d075fc5fa3ae1b103f1e
Eshel Yaron [Mon, 16 Sep 2024 09:59:31 +0000 (11:59 +0200)]
; Skip commit 3822a5e5d12781fb1cd6d075fc5fa3ae1b103f1e

8 weeks ago; Skip commit 43b678d3d26b62d112fde286d0bf077954b28afa
Eshel Yaron [Mon, 16 Sep 2024 09:59:22 +0000 (11:59 +0200)]
; Skip commit 43b678d3d26b62d112fde286d0bf077954b28afa

8 weeks ago* etc/TODO: New item "support indentation guides".
Stefan Kangas [Sat, 14 Sep 2024 14:34:11 +0000 (16:34 +0200)]
* etc/TODO: New item "support indentation guides".

Ref:
https://lists.gnu.org/r/emacs-devel/2024-07/msg01062.html
(cherry picked from commit 38de992a5a3ff13c6c727fd519b3f016f15264ea)

2 months ago; Update ldefs-boot.el
Eshel Yaron [Sun, 15 Sep 2024 08:29:15 +0000 (10:29 +0200)]
; Update ldefs-boot.el

2 months agoSimplify 'kill-region'
Eshel Yaron [Sun, 15 Sep 2024 08:26:10 +0000 (10:26 +0200)]
Simplify 'kill-region'

2 months ago; Sync treesit.[ch] with upstream
Eshel Yaron [Sun, 15 Sep 2024 07:33:34 +0000 (09:33 +0200)]
; Sync treesit.[ch] with upstream

2 months ago; * etc/NEWS: Fix variable name.
Sean Whitton [Sat, 14 Sep 2024 16:35:45 +0000 (17:35 +0100)]
; * etc/NEWS: Fix variable name.

(cherry picked from commit 691f441717e968b1a497ed5d7792dbbe02cba609)

2 months ago; * lisp/simple.el (kill-region-dwim): Try to simplify docstring.
Sean Whitton [Sat, 14 Sep 2024 16:09:48 +0000 (17:09 +0100)]
; * lisp/simple.el (kill-region-dwim): Try to simplify docstring.

(cherry picked from commit a6631eaec3c9eba7fd495b33377574bbe44ba215)

2 months agoAllow 'kill-region' to kill the last word when there is no region
Philip Kaludercic [Tue, 3 Sep 2024 16:29:56 +0000 (18:29 +0200)]
Allow 'kill-region' to kill the last word when there is no region

* etc/NEWS: Document the new user option.
* lisp/simple.el (kill-region-dwim): New option.
(kill-region): Respect 'kill-region-dwim'.  (Bug#69097)

(cherry picked from commit 7451bd6e398f3dd8a3acc99df46d238d161463cb)

2 months ago; Skip commit efde34f422e85c777482affff74dbb562008dcbd
Eshel Yaron [Sat, 14 Sep 2024 20:35:26 +0000 (22:35 +0200)]
; Skip commit efde34f422e85c777482affff74dbb562008dcbd

2 months ago; Skip commit 3090b2304e715da5cb1286d9166ee8dcc8db0a24
Eshel Yaron [Sat, 14 Sep 2024 20:35:20 +0000 (22:35 +0200)]
; Skip commit 3090b2304e715da5cb1286d9166ee8dcc8db0a24

2 months agoProvide a modified xref backend for TeX buffers
David Fussner [Mon, 10 Jun 2024 13:16:04 +0000 (14:16 +0100)]
Provide a modified xref backend for TeX buffers

In addition to providing a new `xref' backend, the patch also improves
the general handling of expl3 syntax.  Expl3 is the next-generation
LaTeX specification, and has for some time been available by default in
the LaTeX kernel.  The new syntax co-exists in many files with the
standard LaTeX2e syntax, so we try at least minimally to separate the
way modes handle the two specifications, both to reduce
visually-disturbing interference between them and also to improve the
`xref' backend.  (Bug#53749)

* lib-src/etags.c (TeX_commands): Improve parsing of commands in TeX
buffers.
(TEX_defenv): Expand list of commands to tag by default in TeX buffers.
(TeX_help):
* doc/emacs/maintaining.texi (Tag Syntax): Document new tagged commands.
(Identifier Search): Add note about semantic-symref-filepattern-alist,
auto-mode-alist, and xref-find-references.

* lisp/textmodes/tex-mode.el (tex-font-lock-suscript): Test for
underscore in expl3 files and regions, disable subscript face there.
(tex-common-initialization): Set up xref backend for in-tree TeX modes.
Detect expl3 files, and in others set up a list of expl3 regions.
(tex-expl-buffer-parse): New function called in previous.
(tex-expl-buffer-p): New variable to hold the result of previous.
(tex-expl-region-set): New function added to
'syntax-propertize-extend-region-functions' hook.
(tex-expl-region-list): New variable to hold the result of previous.
(tex--xref-backend): New function to identify the xref backend.
(tex--thing-at-point, tex-thingatpt--beginning-of-symbol)
(tex-thingatpt--end-of-symbol, tex--bounds-of-symbol-at-point):
New functions to return 'thing-at-point' for xref backend.
(tex-thingatpt-exclude-chars): New variable to do the same.
(xref-backend-identifier-at-point): New TeX backend method to provide
symbols for processing by xref.
(xref-backend-identifier-completion-table)
(xref-backend-identifier-completion-ignore-case)
(xref-backend-definitions, xref-backend-apropos): Placeholders to
call the standard 'etags' xref backend methods.
(xref-backend-references): Wrapper to call the default xref backend
method, finding as many relevant files as possible and using a bespoke
syntax-propertize-function when required.
(tex--collect-file-extensions, tex-xref-syntax-function): Helper
functions for previous.
(tex-find-references-syntax-table, tex--buffers-list)
(tex--xref-syntax-fun, tex--old-syntax-function): New variables for
the same.

(cherry picked from commit b44c00669ace7b9e6a90aecb5f4e9f4edf6ed25a)

2 months agoFix indentation of Fortran do-loops
Eli Zaretskii [Sat, 14 Sep 2024 14:18:57 +0000 (17:18 +0300)]
Fix indentation of Fortran do-loops

* lisp/progmodes/fortran.el (fortran-calculate-indent): Fix regexp
for do-loops.  Reported by Ken Mankoff <km@kenmankoff.com>.
(Bug#73218)

(cherry picked from commit 98e582e74a2bbc2c7fdef02b8cd90036fa217712)

2 months ago; * etc/NEWS: Fix last change.
Eli Zaretskii [Sat, 14 Sep 2024 12:42:15 +0000 (15:42 +0300)]
; * etc/NEWS: Fix last change.

(cherry picked from commit 3e98ad3063a6dfc96676d297ee6ea3c96a3e049f)

2 months agoNew commands unix-word-rubout, unix-filename-rubout
Sean Whitton [Fri, 6 Sep 2024 10:35:46 +0000 (11:35 +0100)]
New commands unix-word-rubout, unix-filename-rubout

* lisp/simple.el (forward-unix-word): New function.
(unix-word-rubout, unix-filename-rubout): New commands.
* etc/NEWS: Announce the new commands.

(cherry picked from commit f6417ba91b3fdffc5af43bc4a7ad0b7ed007f442)

2 months ago; * etc/NEWS: Announce the improvements in w32 GUI dialogs.
Eli Zaretskii [Sat, 14 Sep 2024 11:02:51 +0000 (14:02 +0300)]
; * etc/NEWS: Announce the improvements in w32 GUI dialogs.

(cherry picked from commit 0a6e988b8d2d610d824d84a176fe9c5e86e02a87)

2 months agoSupport GUI dialogs and message boxes better on MS-Windows
Cecilio Pardo [Wed, 11 Sep 2024 13:44:28 +0000 (15:44 +0200)]
Support GUI dialogs and message boxes better on MS-Windows

* src/w32menu.c (TASKDIALOG_COMMON_BUTTON_FLAGS, TASKDIALOG_FLAGS)
(PFTASKDIALOGCALLBACK, TASKDIALOG_BUTTON, TASKDIALOGCONFIG)
(TDN_CREATED, TDM_ENABLE_BUTTON, TDF_ALLOW_DIALOG_CANCELLATION)
(TD_INFORMATION_ICON) [!MINGW_W64]: Define.
(TaskDialogIndirect_Proc): Declare function type.
(TASK_DIALOG_MAX_BUTTONS): New macro.
(task_dialog_callback): New callback function.
(w32_popup_dialog): Add dialog implementation using TaskDialog.
(globals_of_w32menu): Load TaskDialogIndirect from comctl32.dll.
(Bug#20481)

(cherry picked from commit aa7dee58d81817285208471074f1af598ebf0c98)

2 months agoFix regression in widget-move (bug#72995)
Stephen Berman [Sat, 14 Sep 2024 10:42:49 +0000 (12:42 +0200)]
Fix regression in widget-move (bug#72995)

* lisp/wid-edit.el (widget-move): Avoid advancing point only if it
is at the start of a widget at BOB.

* test/lisp/wid-edit-tests.el (widget-test-widget-move-bug72995): New test.

(cherry picked from commit d509a35699738519d42a35d72827b1111425669c)

2 months agoMake the *grep* buffer editable
Visuwesh [Mon, 9 Sep 2024 14:38:04 +0000 (20:08 +0530)]
Make the *grep* buffer editable

* lisp/progmodes/compile.el (compilation--update-markers):
Factor out function...
(compilation-next-error-function): ...from here.  Adjust
to use the above.
* lisp/progmodes/grep.el (grep-edit--prepare-buffer)
(grep-edit-mode-map, grep-edit-mode-hook, grep-edit-mode)
(grep-change-to-grep-edit-mode, grep-edit-save-changes): Add
new 'grep-edit-mode' to make the grep results editable like
in 'occur-edit-mode' by using the 'occur' framework.
(grep-mode-map): Bind 'e' to the new command
'grep-change-to-grep-edit-mode'.
* doc/emacs/building.texi (Grep Searching): Update Info
manual to include the above command.
* etc/NEWS: Announce the change.  (Bug#70820)

(cherry picked from commit db1eb8a282c1832fd34be049e80dcb1a3b59ade2)

2 months ago; * lisp/cus-edit.el (setopt): Doc fix. (Bug#73098)
Eli Zaretskii [Sat, 14 Sep 2024 09:33:36 +0000 (12:33 +0300)]
; * lisp/cus-edit.el (setopt): Doc fix.  (Bug#73098)

(cherry picked from commit ef0276de82b8ac517ea8c15ee504f290c6528c73)

2 months ago; * lisp/minibuffer.el (completion-pcm--merge-completions): Fix comments.
Eli Zaretskii [Sat, 14 Sep 2024 09:26:54 +0000 (12:26 +0300)]
; * lisp/minibuffer.el (completion-pcm--merge-completions): Fix comments.

(cherry picked from commit b115c2d5ebaa9819fc0a12b0df75f9b1080d53e6)

2 months agoCorrectly include fixed strings before a prefix wildcard in PCM
Spencer Baugh [Mon, 26 Aug 2024 14:12:51 +0000 (10:12 -0400)]
Correctly include fixed strings before a prefix wildcard in PCM

In 03ac16ece40ba3e3ba805d6a61cc457d84bf3792 I fixed a bug with the
PCM implementation of substring completion, relating to the handling
of PCM wildcards.
However, this fix was incomplete.  This change completes the fix by
also including a fixed string if it appears before a 'prefix'
wildcard, even if 'try-completion' doesn't discover that fixed
string grows to a unique completion.
I discovered this bug while working on enhancements to PCM
completion related to 'completion-pcm-leading-wildcard'.
* lisp/minibuffer.el (completion-pcm--merge-completions): Include
fixed strings before 'prefix wildcard.  (Bug#72819)
* test/lisp/minibuffer-tests.el (completion-substring-test-5): Add a
test for this behavior.

(cherry picked from commit 3cda1fdc3b755dd329617cabc266e2b86894d0cb)

2 months ago; * lisp/treesit.el (treesit-major-mode-setup): Doc fix.
Eli Zaretskii [Sat, 14 Sep 2024 09:02:56 +0000 (12:02 +0300)]
; * lisp/treesit.el (treesit-major-mode-setup): Doc fix.

(cherry picked from commit 57d93d0259a3cc9a180b1bcb3cec3f670485f82c)

2 months ago; Improve documentation of 'easy-menu-define'
Eli Zaretskii [Sat, 14 Sep 2024 08:55:08 +0000 (11:55 +0300)]
; Improve documentation of 'easy-menu-define'

* doc/lispref/keymaps.texi (Easy Menu):
* lisp/emacs-lisp/easymenu.el (easy-menu-define): Document that
SYMBOL is also defined as a variable.  (Bug#73108)

(cherry picked from commit ad289f364e5c508d6f5d6ae530ee919c5fa43335)

2 months ago; Skip commit 7c767ec781fdba02d073b79113b1d8d89548bb08
Eshel Yaron [Sat, 14 Sep 2024 20:34:03 +0000 (22:34 +0200)]
; Skip commit 7c767ec781fdba02d073b79113b1d8d89548bb08

2 months agoSet treesit-primary-parser for c and elixir ts mode
Yuan Fu [Sat, 14 Sep 2024 07:46:05 +0000 (00:46 -0700)]
Set treesit-primary-parser for c and elixir ts mode

For buffers with multiple parsers, it's important to set this variable
so font-lock invalidation works smoothly.

* lisp/progmodes/c-ts-mode.el (c-ts-mode): Set treesit-primary-parser.
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode): Set
treesit-primary-parser.

(cherry picked from commit 3cad7cc8dc823b8b1dd66d7777a01778e1a4defe)

2 months ago; Minor doc fix in treesit.el
Yuan Fu [Sat, 14 Sep 2024 07:19:47 +0000 (00:19 -0700)]
; Minor doc fix in treesit.el

* lisp/treesit.el (treesit-outline-search): Mention parameters.
(treesit-major-mode-setup): Mention outline setup.

(cherry picked from commit 2f243fb91d6d2c4c4e4a6dbbd94ef5b13d543732)

2 months ago; Skip commit 6a6d7925c9ddbf558f70932661ee943262aea4ca
Eshel Yaron [Sat, 14 Sep 2024 20:33:43 +0000 (22:33 +0200)]
; Skip commit 6a6d7925c9ddbf558f70932661ee943262aea4ca

2 months agoRevert "Read more on each call to treesit's buffer reader"
Yuan Fu [Sat, 14 Sep 2024 05:53:06 +0000 (22:53 -0700)]
Revert "Read more on each call to treesit's buffer reader"

This reverts commit bf23382f1f2d6ea072db4e4750f8a345f77a3ef2.

We move around the gap, narrow regions, ralloc, etc, and don't have a
way to invalidate previously given range.  So tree-sitter can't be given
the full range.

(cherry picked from commit 76faf7e60910ffc29b134fa4d16e3d8c176097a7)

2 months agoFix tree-sitter indent preset prev-adaptive-prefix
Yuan Fu [Fri, 13 Sep 2024 07:23:13 +0000 (00:23 -0700)]
Fix tree-sitter indent preset prev-adaptive-prefix

* lisp/treesit.el (treesit-simple-indent-presets): Use looking-at so the
call to match-string has the match data to work with.

(cherry picked from commit c70bd0e3fe9c2f5b1fcdce7939c07449f8a5ec4c)

2 months ago* lisp/net/tramp.el (tramp-wait-for-regexp): Deactivate (sit-for 0.005).
Michael Albinus [Sat, 14 Sep 2024 06:57:19 +0000 (08:57 +0200)]
* lisp/net/tramp.el (tramp-wait-for-regexp): Deactivate (sit-for 0.005).

(cherry picked from commit 0d07bc1a2d27a5e1dd41035e64612315d82c517b)