]> git.eshelyaron.com Git - emacs.git/log
emacs.git
4 months agoFontify `mkbool` as function in `awk-mode`
Stefan Kangas [Sun, 7 Jul 2024 01:50:35 +0000 (03:50 +0200)]
Fontify `mkbool` as function in `awk-mode`

* lisp/progmodes/cc-awk.el (awk-font-lock-keywords):
Fontify 'mkbool' function, added in gawk version 5.2.
See Info node '(gawk) Boolean Functions'.

(cherry picked from commit 745eae00d4178906eda58c26d0d132fbd32b3ff7)

4 months agoCorrectly highlight SYMTAB in `awk-mode`
Stefan Kangas [Sun, 7 Jul 2024 01:39:37 +0000 (03:39 +0200)]
Correctly highlight SYMTAB in `awk-mode`

* lisp/progmodes/cc-awk.el (awk-font-lock-keywords): Fix typo for
"SYMTAB" (see Info node '(gawk) Auto-set').

(cherry picked from commit bbe95a8ceabfa1f4ad2064e1607fe64cf56434fd)

4 months agoAdd a heuristic for type font-lock in rust-ts-mode (bug#69625)
Yuan Fu [Sat, 6 Jul 2024 21:07:39 +0000 (14:07 -0700)]
Add a heuristic for type font-lock in rust-ts-mode (bug#69625)

* lisp/progmodes/rust-ts-mode.el:
(rust-ts-mode--font-lock-settings): Add rule.

(cherry picked from commit 2e9777512a0cd2fb2e60706d6908247496faeeec)

4 months agoFix formatting of tables with thead/tfoot but no tbody
JD Smith [Sat, 6 Jul 2024 13:22:33 +0000 (09:22 -0400)]
Fix formatting of tables with thead/tfoot but no tbody

Correctly handle formatting of tables containing thead and/or tfoot, but
without any tbody, to prevent including thead/tfoot content twice within
the table's derived body.
* lisp/net/shr.el (shr--fix-tbody): Omit 'thead' and 'tfoot' from
implicit body.  (Bug#71685)
* test/lisp/net/shr-resources/table.html:
* test/lisp/net/shr-resources/table.txt: New tests for table rendering.

(cherry picked from commit 9625e4af9946436cea6ba3f41f6c384634bcc999)

4 months ago; Reflow "Commentary" in lisp-mnt.el
Stefan Kangas [Sat, 6 Jul 2024 17:34:28 +0000 (19:34 +0200)]
; Reflow "Commentary" in lisp-mnt.el

* lisp/emacs-lisp/lisp-mnt.el: Reflow "Commentary" section.

(cherry picked from commit 48f4c9cbbc1297eeb2299928bd415c891b98d999)

4 months ago; * lisp/emacs-lisp/comp-run.el (native--compile-async): Improve warning.
Eli Zaretskii [Sat, 6 Jul 2024 17:32:49 +0000 (20:32 +0300)]
; * lisp/emacs-lisp/comp-run.el (native--compile-async): Improve warning.

(cherry picked from commit 22155753a464ceb7cd4f3387738e0dbca8acbd19)

4 months ago; Skip commit 235b9e85a672fa1e24ba12a00af62b3307f0d4c0
Eshel Yaron [Sat, 6 Jul 2024 21:19:23 +0000 (23:19 +0200)]
; Skip commit 235b9e85a672fa1e24ba12a00af62b3307f0d4c0

4 months agocheckdoc: Relax footer line check for recent Emacs
Stefan Kangas [Sat, 6 Jul 2024 15:36:30 +0000 (17:36 +0200)]
checkdoc: Relax footer line check for recent Emacs

* lisp/emacs-lisp/checkdoc.el (checkdoc-file-comments-engine):
Don't require a footer line unless 'lm-package-needs-footer-line'
returns true.

(cherry picked from commit d826240fa56230ef1561d5b4807284ce98a8c6b6)

4 months agoMake `lm-homepage` into an obsolete alias for 'lm-website'
Stefan Kangas [Sat, 6 Jul 2024 15:09:24 +0000 (17:09 +0200)]
Make `lm-homepage` into an obsolete alias for 'lm-website'

* lisp/emacs-lisp/lisp-mnt.el (lm-homepage): Make into an obsolete
function alias for 'lm-website'.

(cherry picked from commit 3cde0066998bc46a44a38583970d748badb0b850)

4 months agoMake `lm-verify` obsolete in favor of checkdoc
Stefan Kangas [Sat, 6 Jul 2024 15:02:34 +0000 (17:02 +0200)]
Make `lm-verify` obsolete in favor of checkdoc

* lisp/emacs-lisp/lisp-mnt.el (lm-verify): Make obsolete in favor
of checkdoc.

(cherry picked from commit af21ac1665832247605ba4835ce823e87efa4208)

4 months agoAdd new function `lm-package-needs-footer-line`
Stefan Kangas [Sat, 6 Jul 2024 14:41:33 +0000 (16:41 +0200)]
Add new function `lm-package-needs-footer-line`

* lisp/emacs-lisp/lisp-mnt.el (lm-package-needs-footer-line):
Factor out new function...
* lisp/emacs-lisp/package.el (package-buffer-info): ...from here.
* lisp/emacs-lisp/lisp-mnt.el (lm-verify): Use above new function.
* test/lisp/emacs-lisp/lisp-mnt-tests.el
(lm-tests--lm-package-needs-footer-line/empty-dependencies)
(lm-tests--lm-package-needs-footer-line/old-version)
(lm-tests--lm-package-needs-footer-line/new-version):
New tests.

(cherry picked from commit c302c5fab0c8dee12e7b19925452871ddb09c0b2)

4 months agoFix treesit range rule for jsdoc
Vincenzo Pupillo [Thu, 27 Jun 2024 14:13:58 +0000 (16:13 +0200)]
Fix treesit range rule for jsdoc

The parser for jsdoc is local, so it is necessary for the range
rule to take this into account.
* lisp/progmodes/js.el (js-ts-mode): Add ':local' keyword.
(js-ts-language-at-point): Remove 'js-ts-language-at-point'.
(Bug#71776)

(cherry picked from commit f910514721e2eac1535d51ccebf7f136be3ba57f)

4 months agoFix documentation of 'balance-windows'
Eli Zaretskii [Sat, 6 Jul 2024 10:44:57 +0000 (13:44 +0300)]
Fix documentation of 'balance-windows'

* lisp/window.el (balance-windows): Doc fix.

* doc/emacs/windows.texi (Change Window): Make the description of
'balance-windows' more accurate.  (Bug#71915)

(cherry picked from commit de3fa00a6140b19e6d62a47be721b5ca9b58438b)

4 months agonnatom: Ensure some parsed values are one line
Daniel Semyonov [Mon, 1 Jul 2024 23:15:24 +0000 (02:15 +0300)]
nnatom: Ensure some parsed values are one line

* lisp/gnus/nnatom.el (nnatom--dom-line): New function.
(nnatom--read-title, nnatom--read-description)
(nnatom--read-article-or-group-authors, nnatom--read-subject)
(nnatom--read-id, nnatom--read-publish, nnatom--read-update)
(nnatom--read-links): Read text using `nnatom--dom-line'.
(Bug#71889)

(cherry picked from commit c986387c79fbae8a99352cad0113bec0b5cb11a5)

4 months agonnfeed: (Mostly) fix group descriptions
Daniel Semyonov [Mon, 1 Jul 2024 22:42:26 +0000 (01:42 +0300)]
nnfeed: (Mostly) fix group descriptions

* lisp/gnus/nnfeed.el (nnfeed--group-description): New function.
(nnfeed-request-group-description, nnfeed-request-list-newsgroups):
Use `nnfeed--group-description' and always return t if group data
is found.  (Bug#71888)

(cherry picked from commit 2fb6a98ecfa1579273a640e923f2e52f75e1f7ad)

4 months agoEglot: support deprecated MarkedString (bug#71353)
João Távora [Sat, 6 Jul 2024 09:17:42 +0000 (10:17 +0100)]
Eglot: support deprecated MarkedString (bug#71353)

* lisp/progmodes/eglot.el: Make a markdown code block if
MarkedString passed.

(cherry picked from commit 74b82e6802e65ff0ec1ac3bbc680b5db9a7f1c89)

4 months ago; * doc/lispref/strings.texi (Creating Strings): Followup to last change.
Eli Zaretskii [Sat, 6 Jul 2024 08:36:44 +0000 (11:36 +0300)]
; * doc/lispref/strings.texi (Creating Strings): Followup to last change.

(cherry picked from commit a6a588ccf10bacb0c196f695dee9c7333af7e776)

4 months ago; Fix doc string of 'string-fill'
Eli Zaretskii [Sat, 6 Jul 2024 08:28:39 +0000 (11:28 +0300)]
; Fix doc string of 'string-fill'

* lisp/emacs-lisp/subr-x.el (string-fill): Rename LENGTH to WIDTH
and update the doc string accordingly.  (Bug#71856)

(cherry picked from commit a3e57a29becdc028d5a5059c35b5f7be7c1510e4)

4 months agoFix returning to original TTY frame after 'rmail-reply'
Eli Zaretskii [Sat, 6 Jul 2024 07:32:39 +0000 (10:32 +0300)]
Fix returning to original TTY frame after 'rmail-reply'

* lisp/mail/rmail.el (rmail-start-mail): Record the frame from
which an Rmail command, such as 'rmail-mail' or 'rmail-reply', was
invoked.
(rmail--find-orig-rmail-frame): New function.
(rmail-mail-return): Use 'rmail--find-orig-rmail-frame' to find
the original frame, and make it the top frame on its TTY terminal.
(Bug#69738)

(cherry picked from commit 1b5cf29431a0727329d5e223be68ea2499d872ea)

4 months agoAllow using multiple buffers in 'eshell-command'
Thierry Volpiatto [Wed, 19 Jun 2024 10:02:59 +0000 (12:02 +0200)]
Allow using multiple buffers in 'eshell-command'

Provide the same functionality as 'async-shell-command-buffer' but for
'eshell-command'.

Co-Authored-By: Jim Porter <jporterbugs@gmail.com>
* lisp/eshell/eshell.el (eshell-command-async-buffer): New option...
(eshell-command): ... use it.

* lisp/eshell/esh-proc.el (eshell-sentinel): Check for buffer liveness
in 'finish-io'.

* test/lisp/eshell/eshell-tests.el
(eshell-test/eshell-command/output-buffer/async-kill): New test.

* etc/NEWS: Announce this change (bug#71554).

(cherry picked from commit 7f631a3e2aca97e95b8659c902c25ab21f084e08)

4 months agoImprove warnings from native compiler
Eli Zaretskii [Fri, 5 Jul 2024 19:00:08 +0000 (22:00 +0300)]
Improve warnings from native compiler

* src/comp.c (syms_of_comp) <native-compiler>: Rename from 'comp'.

* src/lread.c (maybe_swap_for_eln):
* lisp/emacs-lisp/comp.el (comp--fwprop):
* lisp/emacs-lisp/comp-run.el
(comp--accept-and-process-async-output, native--compile-async):
Adjust to the new symbol.

(cherry picked from commit 814710067f0558e308c7020b22e455fe0ece7878)

4 months agoperl-mode.el: Improve indent after hanging open-paren
Stefan Monnier [Fri, 5 Jul 2024 14:02:39 +0000 (10:02 -0400)]
perl-mode.el: Improve indent after hanging open-paren

Make the indentation of the code right after an open paren/brace
use the same rule as already used to indent the corresponding
matching paren/brace.

* lisp/progmodes/perl-mode.el (perl-calculate-indent):
Use `perl-indent-new-calculate`s "virtual" indentation instead of
approximating it with `current-indentation`.

(cherry picked from commit bd86a6c4fde1aa42ea9e8b5434f0cb63f8d52684)

4 months agoDocument adding package dependency on Emacs version
Stefan Kangas [Fri, 5 Jul 2024 11:58:07 +0000 (13:58 +0200)]
Document adding package dependency on Emacs version

* doc/lispref/package.texi (Simple Packages, Multi-file Packages):
Document how to make a package depend on a specific version of Emacs.

(cherry picked from commit cefec59df7b24887496dafc32eae69083dfa60f2)

4 months agoFix file-name detection in Dired under -F
Eli Zaretskii [Fri, 5 Jul 2024 10:58:11 +0000 (13:58 +0300)]
Fix file-name detection in Dired under -F

* lisp/files.el (insert-directory-clean): Support all the symbols
appended to file names by the -F/--classify option of 'ls'.  See
https://lists.gnu.org/archive/html/emacs-devel/2024-07/msg00366.html
for the details.

(cherry picked from commit d190cb0e886f3d748ddbb8bf915c19149d00c0c4)

4 months agoEnable Gnulib substitute on Android systems with defective strnlen
Po Lu [Fri, 5 Jul 2024 04:09:52 +0000 (12:09 +0800)]
Enable Gnulib substitute on Android systems with defective strnlen

* configure.ac (AC_FUNC_STRNLEN): Detect a bug where strnlen is
liable to integer overflows if addition of the search limit to
the string would also overflow.

* src/xdisp.c (store_mode_line_string): Remove stopgap measure.

(cherry picked from commit 04d7318efa20cce3aa369fdfd563d8364feb6e78)

4 months agoFix dumping finalizers with pdumper
Pip Cet [Thu, 4 Jul 2024 22:09:55 +0000 (22:09 +0000)]
Fix dumping finalizers with pdumper

* src/pdumper.c (dump_finalizer): Use `out' (a pointer to a finalizer)
rather than `&out' (a pointer to a pointer to a finalizer).

(cherry picked from commit d76eb23232bffdf2505b13ec9216c6d0487a0ccb)

4 months agoRemove redundant `require`s
Stefan Kangas [Thu, 4 Jul 2024 21:55:16 +0000 (23:55 +0200)]
Remove redundant `require`s

* lisp/gnus/canlock.el (sha1):
* lisp/international/utf7.el (base64):
* lisp/net/hmac-md5.el (md5):
* lisp/org/ob-processing.el (sha1):
* lisp/org/org-feed.el (sha1):
* test/lisp/net/rfc2104-tests.el (sha1, md5): Don't require features
that are built-in, and always provided.

(cherry picked from commit 0e591a9112c15bfe7bd19c06fa117cfc9e87f8b5)

4 months agoIn SHR, load from URL cache if possible when zooming images
Jim Porter [Sun, 23 Jun 2024 21:53:49 +0000 (14:53 -0700)]
In SHR, load from URL cache if possible when zooming images

* lisp/net/shr.el (shr-replace-image): New function extracted from...
(shr-image-fetched): ... here.
(shr-zoom-image): Check URL cache and call 'shr-replace-image' if we
can.

(cherry picked from commit f91387cce8f6f1dced427ad44686ffcc69574ef6)

4 months agoFix the different image zoom levels in SHR to work as expected
Jim Porter [Sun, 23 Jun 2024 21:48:32 +0000 (14:48 -0700)]
Fix the different image zoom levels in SHR to work as expected

* lisp/net/shr.el (shr-image-zoom-levels): New option.
(shr-image-zoom-level-alist): New variable.
(shr-zoom-image): Take POSITION and ZOOM-LEVEL arguments.  Consult
'shr-image-zoom-levels'.
(shr-put-image): Use 'shr-image-zoom-level-alist'.
(shr-rescale-image): Only reset width *or* height when either is too
large.
(shr--image-zoom-original-size, shr--image-zoom-image-size)
(shr--image-zoom-fill-height): New functions.

* etc/NEWS: Announce this change.

(cherry picked from commit 208207c1c07fb4669c6b7d64c27236074f996ae4)

4 months agoIn SHR, keep track of image sizes as specified by the HTML
Jim Porter [Sun, 23 Jun 2024 19:25:25 +0000 (12:25 -0700)]
In SHR, keep track of image sizes as specified by the HTML

Previously, these values got lost when zooming the image.

* lisp/net/shr.el (shr-tag-img): Set 'image-dom-size'...
(shr-zoom-image): ... use it.  Rename 'size' to 'zoom'.
(shr-image-fetched): Rename 'image-size' to 'image-zoom'.
(shr-put-image): Accept the zoom level as ':zoom' and document it.
Previously, FLAGS was a mix of alist and plist(!).

* test/lisp/net/shr-tests.el (shr-test/zoom-image): Rename "size" to
"zoom".

(cherry picked from commit 6d082f3c79269f00308d6e8b7d31d6a119376fe2)

4 months agoSlice images based on their height in SHR, not their zoom level
Jim Porter [Sun, 23 Jun 2024 19:18:57 +0000 (12:18 -0700)]
Slice images based on their height in SHR, not their zoom level

* lisp/net/shr.el (shr-sliced-image-height): New option...
(shr-put-image): ... use it.  Compute the number of slices in relation
to the image height; this way, each slice is roughly the height of a
line of ordinary text.

* test/lisp/net/shr-tests.el (shr-test/zoom-image): Update test, since
zooming no longer necessarily triggers slicing.

* doc/misc/eww.texi (Advanced): Document 'shr-sliced-image-proportion'.

* etc/NEWS: Announce this change.

(cherry picked from commit 3ce7e4ee3f1f8bf85c2c455ac624bec6c7cd10a8)

4 months ago; * src/fns.c (fixnum_float_cmp): Explain argument constraint.
Mattias Engdegård [Thu, 4 Jul 2024 15:48:16 +0000 (17:48 +0200)]
; * src/fns.c (fixnum_float_cmp): Explain argument constraint.

Suggested by Pip Cet.

(cherry picked from commit fa6f088a483f1f2e19863800c6215a8136288b8f)

4 months ago(edebug--called-interactively-skip): Fix bug#71934
Stefan Monnier [Thu, 4 Jul 2024 15:47:01 +0000 (11:47 -0400)]
(edebug--called-interactively-skip): Fix bug#71934

* lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip):
Adjust to new interpreted functions.

(cherry picked from commit 334d51322072caea8283f3735864bb83afeaabce)

4 months ago; Strengthen value< tests slightly
Mattias Engdegård [Thu, 4 Jul 2024 13:39:32 +0000 (15:39 +0200)]
; Strengthen value< tests slightly

* test/src/fns-tests.el (fns-value<-ordered, fns-value<-unordered):
Check equality and/or unordered results using lexicographic constructs.

(cherry picked from commit 0b061ab2ed250f068e4fd36ed6c1c8cb2102b83c)

4 months agoCompare fixnums and floats accurately in value<
Mattias Engdegård [Thu, 4 Jul 2024 12:46:54 +0000 (14:46 +0200)]
Compare fixnums and floats accurately in value<

Make `value<` compare fixnums and floats by value, as `<` does, instead
of coercing the fixnum to a float first which is what C would do.
This matters when the fixnum cannot be represented as a float. For
example, C would evaluate

  72057594037927935 < 72057594037927936.0

to false since the operands are converted to the same floating-point
number.

* src/fns.c (fixnum_float_cmp): New.
(value_cmp): Use it.
* test/src/fns-tests.el (fns-value<-ordered, fns-value<-unordered):
New test cases.

(cherry picked from commit f9f4f054bc15791ff63252e101dbf08bb4eb33c1)

4 months ago; * lisp/ibuffer.el (ibuffer-mode): Doc fix.
Eli Zaretskii [Thu, 4 Jul 2024 07:59:45 +0000 (10:59 +0300)]
; * lisp/ibuffer.el (ibuffer-mode): Doc fix.

(cherry picked from commit 6e8b9ccaec284f934d990f6442cb3b9458a11bf5)

4 months ago; Delete redundant comment in rst.el
Stefan Kangas [Wed, 3 Jul 2024 19:36:00 +0000 (21:36 +0200)]
; Delete redundant comment in rst.el

* lisp/textmodes/rst.el: Delete redundant comment.

(cherry picked from commit 565f4e4ad17c929159d646bfeff7d1adb4c9b727)

4 months agoFix MS-Windows build with native-compilation
Eli Zaretskii [Wed, 3 Jul 2024 19:13:42 +0000 (22:13 +0300)]
Fix MS-Windows build with native-compilation

* src/w32.c (globals_of_w32): Move re-initialization of
Vlibrary_cache from here...
* src/emacs.c (main): ...to here, as it must be after load_pdump.
(Bug#71916)

(cherry picked from commit 3eaf1abbff8347c43fb0949bbe3806ab909cb54e)

4 months agoTag dbus-test05-register-signal-with-nils as unstable
Andrea Corallo [Wed, 3 Jul 2024 15:06:40 +0000 (17:06 +0200)]
Tag dbus-test05-register-signal-with-nils as unstable

* test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils):
Tag it as unstable.

(cherry picked from commit fc375359edd514801816078e24b88fa02cfd91a6)

4 months ago; * src/w32fns.c (funhook): Restore mistakenly lost line.
Eli Zaretskii [Wed, 3 Jul 2024 18:06:27 +0000 (21:06 +0300)]
; * src/w32fns.c (funhook): Restore mistakenly lost line.

(cherry picked from commit 99230d7080ffc8310b5700b613f31184eafccbd2)

4 months agoFix treesit test (bug#71907)
Yuan Fu [Wed, 3 Jul 2024 07:31:16 +0000 (00:31 -0700)]
Fix treesit test (bug#71907)

* test/src/treesit-tests.el (treesit-node-check): Re-parse buffer before
checking for node outdated-ness.

(cherry picked from commit b085d683962b65d3e138950dd660779e398134fa)

4 months agoFocus more on MS-Windows than MS-DOS in FAQ
Stefan Kangas [Wed, 3 Jul 2024 00:02:31 +0000 (02:02 +0200)]
Focus more on MS-Windows than MS-DOS in FAQ

* doc/misc/efaq.texi (Editing Windows files): Rename section from
"Editing MS-DOS files", and update the text to focus on Windows.
* doc/misc/efaq.texi (Colors on a TTY)
(Emacs does not display 8-bit characters): Mention MS-Windows before
MS-DOS.

(cherry picked from commit f39cf0beb74c092f8b6095f620ce8ea0680c5432)

4 months agoAutoload some string functions
Stefan Kangas [Mon, 1 Jul 2024 03:14:25 +0000 (05:14 +0200)]
Autoload some string functions

These functions are documented in both `(elisp) Creating Strings' and
'M-x shortdoc RET string RET', so users will expect them to be available
without having to require 'subr-x'.

* lisp/emacs-lisp/subr-x.el (string-fill, string-limit, string-pad)
(string-chop-newline): Autoload.

(cherry picked from commit d64396b8e427e883c47754b133d56cace1219f97)

4 months ago; * src/fns.c (value_cmp): ASCIIfy.
Eli Zaretskii [Mon, 1 Jul 2024 18:58:17 +0000 (21:58 +0300)]
; * src/fns.c (value_cmp): ASCIIfy.

(cherry picked from commit 5d2a115ab038fd509a06436a94c87b11a0882b18)

4 months agoMark many 'ibuffer-mode'-specific commands as such
Eshel Yaron [Sat, 6 Jul 2024 20:10:18 +0000 (22:10 +0200)]
Mark many 'ibuffer-mode'-specific commands as such

4 months agoFix bug#71927
Eshel Yaron [Sat, 6 Jul 2024 18:53:06 +0000 (20:53 +0200)]
Fix bug#71927

4 months agoPrefer to run find and grep in parallel in rgrep (bug#71094)
Spencer Baugh [Wed, 3 Jul 2024 13:39:23 +0000 (15:39 +0200)]
Prefer to run find and grep in parallel in rgrep (bug#71094)

* lisp/progmodes/grep.el (grep-compute-defaults): Prefer `gnu' for
grep-find-use-xargs over `exec-plus', but not on Windows.  (bug#71094)

(cherry picked from commit f7725d85f3132fb684032438f81defcb481892b7)

4 months agoAdapt doc-view-set-slice-using-mouse to touch-screen input
Po Lu [Wed, 3 Jul 2024 09:05:24 +0000 (17:05 +0800)]
Adapt doc-view-set-slice-using-mouse to touch-screen input

* doc/lispref/commands.texi (Touchscreen Events): Document means
of unconditionally enabling simple conversion.

* lisp/doc-view.el (doc-view-set-slice-using-mouse): Bind
touch-screen-simple-mouse-conversion to t, and read translated
mouse events with read-key rather than read-event.

* lisp/subr.el (read-key): Don't permit idle timer to interfere
with reporting of translated mouse events.

* lisp/touch-screen.el (touch-screen-simple-mouse-conversion):
New variable.
(touch-screen-handle-point-up, touch-screen-handle-touch):
Unconditionally enable `mouse-drag' translation if set.  Decide
whether to send drag or mouse events by the values of the two
touchpoints' XY positions and point and double-click-fuzz, as in
make_lispy_event.

(cherry picked from commit 65bd41d1cf6d8ea6b95b69d9c60b0111a1c33392)

4 months ago(dump_interval_node): Remove unused arg `offset`
Stefan Monnier [Tue, 2 Jul 2024 20:29:07 +0000 (16:29 -0400)]
(dump_interval_node): Remove unused arg `offset`

* src/pdumper.c (dump_interval_node): Remove unused arg `offset`.
(dump_overlay): Adjust call accordingly.

(cherry picked from commit 667ca66481c74325f3c8e4391d185ee547fdbb36)

4 months ago(buf_*pos_to_*pos): Fix minor off-by one
Stefan Monnier [Tue, 2 Jul 2024 20:28:08 +0000 (16:28 -0400)]
(buf_*pos_to_*pos): Fix minor off-by one

* src/marker.c (buf_charpos_to_bytepos, buf_bytepos_to_charpos):
Slightly restructure the markers loop so we check `distance`
also before "consider"ing the first marker.

(cherry picked from commit 0385c0c0820361b71a74988f23d0445238f30473)

4 months ago; Skip commit b534183135397498e66131fbc5414ef1d445a471
Eshel Yaron [Wed, 3 Jul 2024 18:46:18 +0000 (20:46 +0200)]
; Skip commit b534183135397498e66131fbc5414ef1d445a471

4 months agoPort seccomp acceleration to Linux 3.5.0
Po Lu [Tue, 2 Jul 2024 04:10:43 +0000 (12:10 +0800)]
Port seccomp acceleration to Linux 3.5.0

* etc/NEWS: Update correspondingly.

* exec/Makefile.in (config-mips.m4): Don't define rule
or predicate $(LOADOBJS) on it elsewhere than on MIPS.

* exec/README: Direct developers to GDB.

* exec/trace.c (finish_exec): Resume the tracee after reporting
an error in `exec'.
(after_fork): If seccomp is enabled on Android, and the kernel
is 4.7 or earlier, detect whether revisions to the sequencing of
seccomp events have been backported from 4.8.
(exec_waitpid): Resume the process with PTRACE_CONT after
receiving an unknown signal.
(exec_init): Cease disabling seccomp on Android kernels earlier
than 4.8.

(cherry picked from commit 6b5accdc05d007ab4d1804865c1b043260006673)

4 months agoRemove a reference to a non-existant variable from a doc-string
Alan Mackenzie [Mon, 1 Jul 2024 20:37:28 +0000 (20:37 +0000)]
Remove a reference to a non-existant variable from a doc-string

* lisp/progmodes/cc-langs.el (c-opt-extra-label-key): Remove
reference to c-nonlabel-decl-prefix-re from the doc string.

(cherry picked from commit 921d40759e54e2fb5685a5b662b862ed614b9bc6)

4 months ago; Skip commit 4c64b990873be1e6b99c0b988f2a117c2e08e784
Eshel Yaron [Wed, 3 Jul 2024 18:46:06 +0000 (20:46 +0200)]
; Skip commit 4c64b990873be1e6b99c0b988f2a117c2e08e784

4 months ago; Skip commit 459e635099bad257fc6739ddfccc437cac11bc96
Eshel Yaron [Wed, 3 Jul 2024 18:46:01 +0000 (20:46 +0200)]
; Skip commit 459e635099bad257fc6739ddfccc437cac11bc96

4 months ago* exec/exec.c (exec_0): Restore erroneously deleted statement.
Po Lu [Mon, 1 Jul 2024 14:55:03 +0000 (22:55 +0800)]
* exec/exec.c (exec_0): Restore erroneously deleted statement.

(cherry picked from commit e087d3009bf564446367a1465957d9ea7b699f01)

4 months ago* configure.ac: Provide for invocations where no cache file is set.
Po Lu [Mon, 1 Jul 2024 13:44:40 +0000 (21:44 +0800)]
* configure.ac: Provide for invocations where no cache file is set.

(cherry picked from commit 085a813c338ed8cc56301c1ad6d797e2f5dbd683)

4 months ago* configure.ac: Create a cache file for libexec.
Po Lu [Mon, 1 Jul 2024 13:35:03 +0000 (21:35 +0800)]
* configure.ac: Create a cache file for libexec.

(cherry picked from commit e64286f53c4f5b6c0ed385edfd63a782a8c90b9b)

4 months ago; * src/search.c (Fmatch_beginning, Fmatch_end): Doc fix.
Eli Zaretskii [Mon, 1 Jul 2024 12:59:05 +0000 (15:59 +0300)]
; * src/search.c (Fmatch_beginning, Fmatch_end): Doc fix.

(cherry picked from commit 7050128cfe91a86f87dfe495ce8c3a1c82337db6)

4 months ago; * exec/trace.c (seccomp_system_call): Typo in commentary.
Po Lu [Mon, 1 Jul 2024 10:22:01 +0000 (18:22 +0800)]
; * exec/trace.c (seccomp_system_call): Typo in commentary.

(cherry picked from commit 5965614d3ecb6b09277ea857212467b2f3f9c8bc)

4 months ago; * etc/NEWS: Announce last Android change.
Po Lu [Mon, 1 Jul 2024 10:15:51 +0000 (18:15 +0800)]
; * etc/NEWS: Announce last Android change.

(cherry picked from commit 708c6d83fc4774605acfcfc3920a8c66f428027f)

4 months agoOptimize process execution on Android
Po Lu [Mon, 1 Jul 2024 10:11:58 +0000 (18:11 +0800)]
Optimize process execution on Android

* exec/configure.ac (REENTRANT): Remove option for reentrancy.
(PROGRAM_COUNTER, HAVE_SECCOMP): Define register providing the
program counter and enable seccomp if its headers are available.

* exec/exec.c (write_load_command): Avoid defining unused
variable.
(exec_0): Remove code specific to REENTRANT configurations.

* exec/exec.h (struct exec_tracee) <exec_data, data_size>: New
fields for loader instructions and their size.

* exec/exec1.c (main): Call exec_init before forking.

* exec/mipsel-user.h (ELF_NGREG): Delete definition.
(struct mipsel_regs): Reduce number of gregs to 32, but
introduce separate fields for special registers.

* exec/trace.c (use_seccomp_p): New variable; defile to false if
!HAVE_SECCOMP.
(remove_tracee): Cease providing for non-reentrant
configurations.  Release executable data if present.
(handle_clone_prepare): Likewise.  Resume process with
PTRACE_CONT if seccomp-based interception is enabled.
(handle_clone, check_signal): Resume processes as above.
(handle_exec): Divide into two functions, with only rewriting
the system call and generating instructions for the loader
remaining in the first, and copying such instructions into the
loader's stack removed into a new function, `finish_exec'.
(finish_exec): New function.
(handle_readlinkat, handle_openat): Abolish non-REENTRANT
configurations.
(process_system_call): Divide exec system calls into two phases,
disambiguated by the value of tracee->waiting_for_syscall.  Typo
fixes.  Accommodate syscall-exit-stops where the signal was
initially intercepted by `seccomp_system_call'.
(interesting_syscalls): New array.
(ARRAYELTS): New macro.
(seccomp_system_call, establish_seccomp_filter): New function.
(tracing_execve) [HAVE_SECCOMP]: Establish a seccomp filter if
this is to be enabled.
(after_fork): Provide PTRACE_O_TRACESECCOMP.  Resume process
with PTRACE_CONT if seccomp-based interception is enabled.
(exec_waitpid): Resume process with PTRACE_CONT if seccomp-based
interception is enabled.  Dispatch stops identifying as
PTRACE_EVENT_SECCOMP to `seccomp_system_call'.
(exec_init): Establish whether it is possible to enable seccomp.

(cherry picked from commit ebf5bcb9f0b6adeb97a3918b8f3845844c9091b0)

4 months ago; Skip commit 1647494c04a57586c9616603b3ae803c6dd48d30
Eshel Yaron [Wed, 3 Jul 2024 18:45:34 +0000 (20:45 +0200)]
; Skip commit 1647494c04a57586c9616603b3ae803c6dd48d30

4 months ago; * src/treesit.c (Ftreesit_query_capture): Fix typo.
Yuan Fu [Mon, 1 Jul 2024 05:36:11 +0000 (22:36 -0700)]
; * src/treesit.c (Ftreesit_query_capture): Fix typo.

(cherry picked from commit b2c966f83963f1b4497896b81d3c51479f791e67)

4 months ago* java/res/mipmap-v26/emacs_icon.xml: Define monospace icon.
Po Lu [Mon, 1 Jul 2024 01:31:34 +0000 (09:31 +0800)]
* java/res/mipmap-v26/emacs_icon.xml: Define monospace icon.

(cherry picked from commit ae3857942069d9d9a17976387eee383d10c1ce31)

4 months agoImprove `sentence-end-double-space` docstring
Stefan Kangas [Mon, 1 Jul 2024 00:33:05 +0000 (02:33 +0200)]
Improve `sentence-end-double-space` docstring

* lisp/textmodes/paragraphs.el (sentence-end-double-space):
Improve and expand docstring.

(cherry picked from commit b2d99c0d0aaab4d0c7026a26393e22d66246a349)

4 months agoBackport file backup FAQ item to Emacs <28
Stefan Kangas [Sun, 30 Jun 2024 23:44:38 +0000 (01:44 +0200)]
Backport file backup FAQ item to Emacs <28

* doc/misc/efaq.texi (Not writing files to the current directory):
Backport recommendation to Emacs 27 or older.
Problem reported by David Hedlund <davidh@gnu.org>.

(cherry picked from commit 9d62dbc1f798f65d480c6b8e6255a33e124995d0)

4 months agoMore updates of documentation for Emacs 30
Eli Zaretskii [Sun, 30 Jun 2024 19:25:31 +0000 (22:25 +0300)]
More updates of documentation for Emacs 30

* etc/NEWS: Improve wording and move/mark entries.

* doc/lispref/positions.texi (List Motion): Document
'forward-sentence-function'.
* doc/lispref/functions.texi (What Is a Function): Document
'primitive-function-p' and 'cl-functionp'.
* doc/emacs/misc.texi (Saving Emacs Sessions): Improve wording and
indexing.
* doc/lispref/tips.texi (Documentation Tips): Adapt to the new
value of 'emacs-lisp-docstring-fill-column'.
* doc/emacs/fixit.texi (Spelling): Document
'flyspell-check-changes'.

(cherry picked from commit 2f71460d52fb8ec36766edc297de559b318ee5e1)

4 months ago; Skip commit a9df581c40392170af79258d9fd8f1cec4f479da
Eshel Yaron [Wed, 3 Jul 2024 18:44:47 +0000 (20:44 +0200)]
; Skip commit a9df581c40392170af79258d9fd8f1cec4f479da

4 months ago; Skip commit dfbdd38f701cbf70769b024ee3fc59f677b328da
Eshel Yaron [Wed, 3 Jul 2024 18:44:43 +0000 (20:44 +0200)]
; Skip commit dfbdd38f701cbf70769b024ee3fc59f677b328da

4 months agoNew command 'minibuffer-export'
Eshel Yaron [Wed, 3 Jul 2024 18:43:50 +0000 (20:43 +0200)]
New command 'minibuffer-export'

4 months ago(completions-setup): Remove, move setup to 'completion-list-mode'
Eshel Yaron [Wed, 3 Jul 2024 16:26:30 +0000 (18:26 +0200)]
(completions-setup): Remove, move setup to 'completion-list-mode'

4 months agoRevert 'imenu-flatten' to a boolean option
Eshel Yaron [Tue, 2 Jul 2024 17:38:17 +0000 (19:38 +0200)]
Revert 'imenu-flatten' to a boolean option

4 months ago(shr-test/zoom-image): Skip when libxml is absent
Eshel Yaron [Mon, 1 Jul 2024 16:02:01 +0000 (18:02 +0200)]
(shr-test/zoom-image): Skip when libxml is absent

4 months ago; * lisp/progmodes/grep.el (grep-read-files): Fix completion table
Eshel Yaron [Mon, 1 Jul 2024 15:35:51 +0000 (17:35 +0200)]
; * lisp/progmodes/grep.el (grep-read-files): Fix completion table

4 months ago(read-multiple-choice): Respect 'inhibit-interaction'
Eshel Yaron [Mon, 1 Jul 2024 15:31:56 +0000 (17:31 +0200)]
(read-multiple-choice): Respect 'inhibit-interaction'

4 months agoUpdate some tests
Eshel Yaron [Mon, 1 Jul 2024 13:14:45 +0000 (15:14 +0200)]
Update some tests

4 months ago(read-char-choice,y-or-n-p): Simplify, use 'r-m-c'
Eshel Yaron [Mon, 1 Jul 2024 09:57:47 +0000 (11:57 +0200)]
(read-char-choice,y-or-n-p): Simplify, use 'r-m-c'

4 months ago; * etc/NEWS.30: Sync from upstream
Eshel Yaron [Mon, 1 Jul 2024 09:05:42 +0000 (11:05 +0200)]
; * etc/NEWS.30: Sync from upstream

4 months agoImprove Android "adaptive icon"
Po Lu [Sun, 30 Jun 2024 15:11:19 +0000 (23:11 +0800)]
Improve Android "adaptive icon"

* java/res/drawable/emacs_background.xml:

* java/res/drawable/emacs_foreground.xml: Transform borders and
gradient colors to better align with the original.

(cherry picked from commit 64851d101a854e00c68f3e9259d70777e7b26cb2)

4 months agoFix documentation for Emacs 30
Eli Zaretskii [Sun, 30 Jun 2024 14:42:38 +0000 (17:42 +0300)]
Fix documentation for Emacs 30

* etc/NEWS: Mark entries and improve wording.

* doc/emacs/dired.texi (Operating on Files): Document
'dired-do-open'.  Fix indexing.
* doc/emacs/files.texi (Diff Mode): Document 'diff-apply-buffer'.
Fix indexing.
* doc/emacs/maintaining.texi (Project File Commands)
(Project Buffer Commands): Document 'project-any-command'.
* doc/emacs/building.texi (Other GDB Buffers): Document the user
option 'gdb-display-io-buffer'.
(Grep Searching): Document 'grep-use-headings'.
* doc/emacs/text.texi (Outline Visibility): Document Outline
commands that hide/show by heading regexp.
* doc/emacs/killing.texi (Kill Options): Document
'kill-ring-deindent-mode'.
* doc/emacs/basic.texi (Continuation Lines): Improve wording.

(cherry picked from commit 9b294059d71c20b43a35fd4aaa68e78b23e19d7c)

4 months ago; Update NEWS and corresponding manuals
Eli Zaretskii [Sun, 30 Jun 2024 12:06:06 +0000 (15:06 +0300)]
; Update NEWS and corresponding manuals

* etc/NEWS: Improve wording and mark entries as approriate.

* doc/emacs/buffers.texi (Kill Buffer): Document new commands.
* doc/emacs/mini.texi (Completion Options, Completion Commands):
Document new completion options and behaviors.

(cherry picked from commit f50167ab95ecd151afab12f9226885599be6cee2)

4 months agoUpdate from gnulib
Paul Eggert [Sun, 30 Jun 2024 10:31:55 +0000 (11:31 +0100)]
Update from gnulib

(cherry picked from commit 7f89fe8a342d7b4e8800d0ef333fb6759b58ccb5)

4 months agoAdd D-Bus test
Robert Church [Sun, 30 Jun 2024 10:16:20 +0000 (12:16 +0200)]
Add D-Bus test

* test/lisp/net/dbus-tests.el (dbus-test05-register-signal-with-nils):
New test.  (Bug#69926)

(cherry picked from commit 4e22ef870c4b650f29c4441ac51b6a2ac506ea57)

4 months ago; Repair corruption in etc/DEBUG
Po Lu [Sun, 30 Jun 2024 09:37:46 +0000 (17:37 +0800)]
; Repair corruption in etc/DEBUG

* etc/DEBUG: Repair corruption reported by Eli Zaretskii
<eliz@gnu.org>.

(cherry picked from commit f784d946d44e7a9034ca35a41675dfc0e0c37557)

4 months ago; * etc/DEBUG: Advice for debugging Emacs on OpenBSD (bug#71712).
Eli Zaretskii [Sun, 30 Jun 2024 09:18:22 +0000 (12:18 +0300)]
; * etc/DEBUG: Advice for debugging Emacs on OpenBSD (bug#71712).

(cherry picked from commit c750fbb539e21f5f8263c853fb9690658fa806cf)

4 months agoRespect --disable-build-details in Android builds
Po Lu [Sun, 30 Jun 2024 08:26:39 +0000 (16:26 +0800)]
Respect --disable-build-details in Android builds

* java/Makefile.in (BUILD_DETAILS, GEN_BUILD_DETAILS): New
variables.
(install_tmp): Tolerate failures in generation of metadata files
and prefix commands for such generation with GEN_BUILD_DETAILS.

* lisp/version.el (android-read-build-system)
(android-read-build-time): Return nil if metadata file does not
exist.

(cherry picked from commit c6a052f2fe53a26cdb0f3624a0b9af5201f3c487)

4 months ago* build-aux/ndk-module-extract.awk: Do not generate newlines in output.
Po Lu [Sun, 30 Jun 2024 04:11:32 +0000 (12:11 +0800)]
* build-aux/ndk-module-extract.awk: Do not generate newlines in output.

(cherry picked from commit c8473ee8c1914d15fb19207215f0a06c84d0915c)

4 months agoEnable caching values generated by the Android build system
Po Lu [Sun, 30 Jun 2024 04:10:21 +0000 (12:10 +0800)]
Enable caching values generated by the Android build system

* build-aux/ndk-build-helper-1.mk:

* build-aux/ndk-build-helper-2.mk:

* build-aux/ndk-build-helper.mk: Do not generate file names with
redundant directory separators, to port to systems where the
semantics of this are undefined.

* configure.ac: Provide a cache file to the recursive invocation
of configure if one is specified for the initial.

* cross/ndk-build/Makefile.in (my-dir): Better conform to the
original ndk-build by generating directory names with no
trailing separator.

* m4/ndk-build.m4 (ndk_resolve_import_module, ndk_SEARCH_MODULE):
Cache the names of Android.mk files and the commands produced
from them.

(cherry picked from commit cab91300d0df2250bc80c0cba15691fe5f8172fb)

4 months agoUpdate the DJGPP configuration scripts
Po Lu [Sun, 30 Jun 2024 02:05:45 +0000 (10:05 +0800)]
Update the DJGPP configuration scripts

* msdos/sedlibmk.inp (HAVE_WCHAR_T): Delete edit of variable
removed from Gnulib.

(cherry picked from commit f0f883da4b410c606b46b61c80b874ead08335ea)

4 months agoInaccuracy in efaq.texi
Po Lu [Sun, 30 Jun 2024 02:04:43 +0000 (10:04 +0800)]
Inaccuracy in efaq.texi

; * doc/misc/efaq.texi (New in Emacs 30): Mention GNUStep and
Mac OS separately.

(cherry picked from commit 72cf9964f3c0fd63332884b8145399f1784de7f1)

4 months ago; Fix typos in DOS Makefile scripts
Po Lu [Sun, 30 Jun 2024 01:58:09 +0000 (09:58 +0800)]
; Fix typos in DOS Makefile scripts

* msdos/sedlibmk.inp (NEXT_AS_FIRST_DIRECTIVE_ENDIAN_H)
(NEXT_ENDIAN_H): Use a different command deliminter character
from `/'.

(cherry picked from commit fc48e9e8ed57657e9c08497c6facd2f082e80e25)

4 months ago; Skip commit 9b8d754579f42eea24e6244cf7c65469d117d5cb
Eshel Yaron [Mon, 1 Jul 2024 07:49:56 +0000 (09:49 +0200)]
; Skip commit 9b8d754579f42eea24e6244cf7c65469d117d5cb

4 months agoDon’t define LC_COLLATE, LC_CTYPE
Paul Eggert [Sat, 29 Jun 2024 23:58:42 +0000 (00:58 +0100)]
Don’t define LC_COLLATE, LC_CTYPE

* src/sysdep.c (LC_COLLATE, LC_CTYPE): Remove unnecessary
macro defns.  They’re always available.

(cherry picked from commit 47ce6ed522d970342366b2d7f6a930576b92879d)

4 months agoAssume setlocale exists
Paul Eggert [Sat, 29 Jun 2024 23:36:34 +0000 (00:36 +0100)]
Assume setlocale exists

Like locale.h, it was standardized by C89, is universally
available now, and some code already assumes it.
* configure.ac: Do not check for setlocale.
* src/emacs.c (setlocale) [!HAVE_SETLOCALE]: Remove.
(fixup_locale, synchronize_locale, Vprevious_system_time_locale)
(synchronize_system_time_locale): Define even if !HAVE_SETLOCALE.
* src/sysdep.c (emacs_setlocale): Simplify by assuming HAVE_SETLOCALE.

(cherry picked from commit 69374fbe827b83c49eff084de8635220bd6d3ccf)

4 months agoDo not worry about whether locale.h is includable
Paul Eggert [Sat, 29 Jun 2024 23:20:42 +0000 (00:20 +0100)]
Do not worry about whether locale.h is includable

* src/emacs.c, src/lread.c, src/sysdep.c: Remove preconditions
from including locale.h.  It was standardized in C89, is universal
now, and some code already assumes it.

(cherry picked from commit d2b847d2911218380d1640dea81d6e72d4a7dc7c)

4 months agoUpdate from Gnulib by running admin/merge-gnulib
Paul Eggert [Sat, 29 Jun 2024 23:08:28 +0000 (00:08 +0100)]
Update from Gnulib by running admin/merge-gnulib

* m4/wchar_t.m4: Remove; no longer needed.

(cherry picked from commit 4a8c8021cc311626fbfa55e68c524195ce466738)

4 months agoFix treesit crash (bug#71681)
Yuan Fu [Sat, 29 Jun 2024 07:16:36 +0000 (00:16 -0700)]
Fix treesit crash (bug#71681)

To reproduce the problem:

0. emacs -Q
1. eval: (add-to-list 'major-mode-remap-alist '(c-mode . c-ts-mode))
2. C-x v L
3. in the *vc-change-log* buffer move point to the commit 20af58d3a13
4. type D
5. crash caused by diff-font-lock-syntax fontification that uses treesit

Emacs: 6f2036243f2 (2024-06-23, latest master)
Tree-sitter: 3da7deed (2024-06-08, version 0.22.6)

The immediate cause of the crash is that tree-sitter accessed a node's
tree, but the tree is already deleted.  Commenting out the
ts_tree_delete line in treesit_ensure_parsed can "fix" the crash.

What happended, I think, is this:

1. Buffer modified, parser->need_reparse set to true,
parser->timestamp incremented.
2. A node is created from the parser, this node has the old tree but
the new timestamp (bad!).
3. Parser re-parses (treesit_ensure_parsed), new tree created, old
tree deleted.
4. Ftreesit_query_capture accessed the old node, and the old tree,
crash.

We shouldn't bump the parser timestamp when we set
parser->need_reparse to true; instead, we should bump the timestamp
when we actually reparsed and created a new tree.

* src/treesit.c (treesit_record_change): Don't bump parser timestamp.
(treesit_sync_visible_region): Don't bump parser timestamp.
(Ftreesit_parser_set_included_ranges): Don't bump parser timestamp.
(treesit_ensure_parsed): Bump parser timestamp.
(Ftreesit_query_capture): Add node check.

(cherry picked from commit 8819e5a45d503b62c38e6310ceda9266606cd6d1)

4 months agoRemove unused m4/printf-posix-rpl.m4
Paul Eggert [Sat, 29 Jun 2024 22:14:54 +0000 (23:14 +0100)]
Remove unused m4/printf-posix-rpl.m4

* m4/printf-posix-rpl.m4: Remove unused file.
This is leftover from an old Android branch,
and the m4 macros are no longer needed in the master branch.

(cherry picked from commit fad7109e52208bf77da468c2c73545c084bc1557)

4 months ago; Fix SHR test on MS-Windows
Jim Porter [Fri, 28 Jun 2024 17:40:05 +0000 (10:40 -0700)]
; Fix SHR test on MS-Windows

* test/lisp/net/shr-tests.el (shr-test/zoom-image): Ensure the image URL
is properly formatted: it should always have 3 slashes after "file:".

(cherry picked from commit eaf2dc96c1f44fe8e07cf19614d7b73df9397ea0)