]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 months agoUpdate to modus-themes version 4.5.0
Protesilaos Stavrou [Wed, 21 Aug 2024 08:07:47 +0000 (11:07 +0300)]
Update to modus-themes version 4.5.0

* doc/misc/modus-themes.org (COPYING): Update the version headers.
(Option to extend the palette): Document new user options.
(Full support for packages or face groups): Document more
packages that are explicitly supported by the themes.
(Acknowledgements): Update the list of people who have
contributed to the project in one way or another.

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-operandi-tritanopia-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el:
* etc/themes/modus-vivendi-tritanopia-theme.el: Update the
  palette of each theme and include the new user option to extend
  its palette.

* etc/themes/modus-themes.el: Cover more faces and include user
  option for common extension to all theme palettes.

Detailed release notes:
<https://protesilaos.com/codelog/2024-08-21-modus-themes-4-5-0/>.

(cherry picked from commit 3efb89ddb9633569a1ef3a4a7ffad0ce68e1ef29)

2 months agoRestore vc-git helper function (bug#68183)
Kévin Le Gouguec [Wed, 21 Aug 2024 06:45:00 +0000 (08:45 +0200)]
Restore vc-git helper function (bug#68183)

* lisp/vc/vc-git.el (vc-git--cmds-in-progress): Restore; it was removed
in a previous refactoring patch, but we may still find use for it.
(vc-git-dir--in-progress-headers): Use it.

(cherry picked from commit 53ea5f1df411aa349fb99d6b444d433a42ded594)

2 months agoSplit vc-git-dir-extra-headers into more manageable chunks
Kévin Le Gouguec [Sun, 9 Jun 2024 17:41:41 +0000 (19:41 +0200)]
Split vc-git-dir-extra-headers into more manageable chunks

The current code requires a lot of eyeballing back-and-forth
to:

- check where variables are actually used, what impact changing
them can have: in actuality, there are three distinct "groups"
of headers we compute, each with their own independent state;
- understand formatting details such as "who's in charge of the
newlines".

To solve both issues, split that function into smaller ones,
each handling a "group" of headers.

The only expected "functional" change is that, by propertizing
"\nHeader: " strings, the original code sometimes applied the
vc-dir-header face to the newline preceding a header; the new
code applies no faces to these newlines.

This change would be visible to users with themes adding an
:extended background to vc-dir-header.  In practice, no in-tree
theme is impacted.

For bug#68183.

* lisp/vc/vc-git.el (vc-git-dir--branch-headers): New function
to compute "Branch", "Tracking" and "Remote".
(vc-git--cmds-in-progress): Rename to...
(vc-git-dir--in-progress-headers): ... this, and compute
headers.
(vc-git-dir--stash-headers): New function to compute the
"Stash" header.
(vc-git-dir-extra-headers): Boil down to just setting
default-directory and assembling the headers from these new
helpers.
(vc-git--out-match): New function to call 'git' and capture
specific bits of output.

(cherry picked from commit 88ac5d03586a81cc8644e75adbdb3cab9b56a1b9)

2 months agoTest more vc-dir scenarios with Git (bug#68183)
Kévin Le Gouguec [Sun, 7 Jul 2024 10:16:12 +0000 (12:16 +0200)]
Test more vc-dir scenarios with Git (bug#68183)

* test/lisp/vc/vc-git-tests.el
(vc-git-test-dir-track-local-branch): Remove in favor of new
test.
(vc-git-test--start-branch): New helper to get a repository
going.
(vc-git-test--dir-headers): New helper to get a list of headers
in the current vc-dir buffer.
(vc-git-test-dir-branch-headers): New test, exercising the
original bug recipe plus more common scenarios.

(cherry picked from commit 2f710af5bf303b5d0ed7a7f70e058e1eab281b8d)

2 months ago; Inhibit completion preview in read-only buffers
Eshel Yaron [Wed, 21 Aug 2024 09:25:17 +0000 (11:25 +0200)]
; Inhibit completion preview in read-only buffers

* lisp/completion-preview.el
(completion-preview--post-command): Avoid showing completion
preview if buffer is read-only.

2 months agoCorrect Android failure to open an old CJK font
Po Lu [Tue, 20 Aug 2024 13:56:41 +0000 (21:56 +0800)]
Correct Android failure to open an old CJK font

* src/sfnt.c (sfnt_read_cmap_format_2): Properly compute
subtable count, and append the empty table at position 0.
(sfnt_lookup_glyph_2): Update commentary.

(cherry picked from commit 3419e7ea522462c47a5ab4389a879d8b7c14452b)

2 months ago* lisp/help-fns.el (help-definition-prefixes): Don't delete the hashtable
Stefan Monnier [Tue, 20 Aug 2024 12:09:54 +0000 (08:09 -0400)]
* lisp/help-fns.el (help-definition-prefixes): Don't delete the hashtable

Fixes bug#72511.

(cherry picked from commit 45ae4de0e7ce99c88c62f940f605bca693b8e33f)

2 months ago; Fix :version tags
Stefan Kangas [Mon, 19 Aug 2024 23:59:55 +0000 (01:59 +0200)]
; Fix :version tags

(cherry picked from commit 5e940a353e37a4867758d13a32928ed18fc437dc)

2 months agoDelete defgroup use-package-ensure
Stefan Kangas [Mon, 19 Aug 2024 23:45:57 +0000 (01:45 +0200)]
Delete defgroup use-package-ensure

* lisp/use-package/use-package-core.el (use-package-ensure):
Delete defgroup.
(use-package-always-ensure, use-package-always-pin)
(use-package-ensure-function): Move defcustoms from above deleted
defgroup to the 'use-package' defgroup.

(cherry picked from commit 8f4ad4d72676e9b721ce83bbd00ac73ad3edf770)

2 months agoFix early use of use-package-always-ensure
Stefan Kangas [Sun, 18 Aug 2024 11:10:19 +0000 (13:10 +0200)]
Fix early use of use-package-always-ensure

* lisp/use-package/use-package-core.el:
* lisp/use-package/use-package-delight.el:
* lisp/use-package/use-package-diminish.el:
* lisp/use-package/use-package-ensure.el: Move add-to-list for
'use-package-keywords' and 'use-package-defaults' from here...
* lisp/use-package/use-package-core.el (use-package-ensure)
(use-package-keywords): ...to the default definition here.

* lisp/use-package/use-package-ensure.el
(use-package-ensure): Move this defgroup...
(use-package-always-ensure)
(use-package-always-pin, use-package-ensure-function): ...and
these defcustoms from here...
* lisp/use-package/use-package-core.el (use-package-ensure)
(use-package-always-ensure, use-package-always-pin)
(use-package-ensure-function): ...to here.  (Bug#72453)

(cherry picked from commit 644d2a8331670cc8068c914d86993a17d0efbc96)

2 months agoMark tex-dvi-view-command as :risky
Stefan Kangas [Mon, 19 Aug 2024 23:40:26 +0000 (01:40 +0200)]
Mark tex-dvi-view-command as :risky

* lisp/textmodes/tex-mode.el (tex-dvi-view-command): Mark as
:risky.

(cherry picked from commit bcfab1e88b7b559c7ba79ef526529ef7622c8138)

2 months agoRemove stray obsolete comment about ‘volatile’
Paul Eggert [Mon, 19 Aug 2024 18:44:44 +0000 (11:44 -0700)]
Remove stray obsolete comment about ‘volatile’

* src/lisp.h: Remove comment about ‘volatile’ that was mistakenly
left behind when 2013-10-03T04:58:56!monnier@iro.umontreal.ca
(adf2aa61404305e58e71cde0193bb650aff2c4b3) removed all the volatile
members of struct handler.

(cherry picked from commit 845d22652d08f998863134334f7de617c50a10b2)

2 months ago* lisp/tab-bar.el: Improve tab-bar-auto-width-predicate-default (bug#71883).
Juri Linkov [Mon, 19 Aug 2024 16:56:31 +0000 (19:56 +0300)]
* lisp/tab-bar.el: Improve tab-bar-auto-width-predicate-default (bug#71883).

(tab-bar--auto-width-faces-default): New variable with the
value from the default value of tab-bar-auto-width-faces.
(tab-bar-auto-width-faces): Set the default value to
tab-bar--auto-width-faces-default.
(tab-bar-auto-width-predicate-default): For backwards-compatibility
use the old logic of checking tab-bar-auto-width-faces when its value
was changed.  Otherwise, check for a symbol, but remove "current-group"
from the list of symbols.

(cherry picked from commit 60da504cf7ca2c95ab4e3bea10875271b15a5a45)

2 months agoAdd abnormal hook to determine which tabs to auto-widen
Joseph Turner [Tue, 16 Jul 2024 04:55:35 +0000 (21:55 -0700)]
Add abnormal hook to determine which tabs to auto-widen

* lisp/tab-bar.el (tab-bar-auto-width-predicate-default):  Default value
for tab-bar-auto-width-functions.
(tab-bar-auto-width-functions): New abnormal hook.
(tab-bar-auto-width): Run new abnormal hook until success instead of
comparing text properties.

(cherry picked from commit 9ed761a793f0f11ffea1d2cfa9b7ff38a58d3fe1)

2 months ago; Fix documentation of secure-hash functions
Eli Zaretskii [Mon, 19 Aug 2024 14:51:50 +0000 (17:51 +0300)]
; Fix documentation of secure-hash functions

* src/fns.c (Fsecure_hash):
* doc/lispref/text.texi (Checksum/Hash):
* lisp/subr.el (sha1): Fix documentation wrt to the number of
bytes 'secure-hash' and its variants return when BINARY is
non-nil.  Reported by Pip Cet <pipcet@protonmail.com>.

(cherry picked from commit fc7581ae2ee9db1e3189b76c66be9cd13f72f004)

2 months ago; * lisp/subr.el (sha1): Fix typo in docstring.
Ulrich Müller [Mon, 19 Aug 2024 13:49:47 +0000 (15:49 +0200)]
; * lisp/subr.el (sha1): Fix typo in docstring.

(cherry picked from commit 21be5cadaf1e43cf886f38cb14fa25b96d8b551d)

2 months ago; Skip commit 8715619d485d9da0f7bb056bf390d2f45d4d806c
Eshel Yaron [Tue, 20 Aug 2024 14:12:14 +0000 (16:12 +0200)]
; Skip commit 8715619d485d9da0f7bb056bf390d2f45d4d806c

2 months agoUpdate to Org 9.7.10
Kyle Meyer [Mon, 19 Aug 2024 00:54:39 +0000 (20:54 -0400)]
Update to Org 9.7.10

(cherry picked from commit 023d387a7bd41298a5c294ce163a49ba55b31ef5)

2 months agoImprove SHR/EWW support for 'visual-wrap-prefix-mode'
Jim Porter [Mon, 5 Aug 2024 02:37:00 +0000 (19:37 -0700)]
Improve SHR/EWW support for 'visual-wrap-prefix-mode'

* lisp/visual-wrap.el (visual-wrap--apply-to-line): Use
'add-display-text-property' so we don't clobber other display
properties.
(visual-wrap--content-prefix): Remove special-case for spaces-only
indent prefix; this was an attempt to be helpful for variable-pitch
fonts, but in practice just interferes with matters.  This case now
falls back to the one immediately following it (return the string of
spaces).  Use 'string-pixel-width' instead of 'string-width'.

* lisp/net/shr.el (shr-indent): Set 'shr-prefix-length' here to help
keep track of the prefixes of nestedly-indented elements.  Set the
specified space width in terms of the default width of the current face.
* lisp/net/shr.el (shr-adaptive-fill-function): Use 'shr-prefix-length'
as set above to return a fill prefix.

* lisp/net/eww.el (eww-render): Enable 'visual-wrap-prefix-mode'
alongside of 'visual-line-mode'.
(eww-mode): Set 'adaptive-fill-function' to
'shr-adaptive-fill-function'.

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

(cherry picked from commit a876c4d7a17df152e3e78800c76ddf158f632ee5)

2 months ago; Skip commit b54e8b3741bed4d81bd8840c5f6904f605f5f9fa
Eshel Yaron [Tue, 20 Aug 2024 14:11:57 +0000 (16:11 +0200)]
; Skip commit b54e8b3741bed4d81bd8840c5f6904f605f5f9fa

2 months ago; * lisp/emacs-lisp/compat.el: Fix header style.
Andrea Corallo [Sun, 18 Aug 2024 09:12:08 +0000 (11:12 +0200)]
; * lisp/emacs-lisp/compat.el: Fix header style.

(cherry picked from commit acfd91bc0c73c540c76672a86a85b5b551601c06)

2 months ago* test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt changes.
Michael Albinus [Sun, 18 Aug 2024 09:29:05 +0000 (11:29 +0200)]
* test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt changes.

(cherry picked from commit 55337dc36a20ea3dc805116411cf436551bc3566)

2 months agoBump use-package version for Emacs 30.1
Stefan Kangas [Sun, 18 Aug 2024 09:18:04 +0000 (11:18 +0200)]
Bump use-package version for Emacs 30.1

* lisp/use-package/use-package.el: Bump version to 2.4.6.

(cherry picked from commit d8e9eb73c2b5f93adf3ae29d1349ce2161e23cb4)

2 months agoFix finding tags by 'etags' in Java source code
Eli Zaretskii [Sun, 18 Aug 2024 08:59:28 +0000 (11:59 +0300)]
Fix finding tags by 'etags' in Java source code

* lib-src/etags.c (C_entries): A comma is not special inside class
parameters <..>.  (Bug#72402)
(hash, in_word_set): Regenerated after adding "@SuppressWarnings"
to wordlist[].  This avoids missing tags preceded by
"@SuppressWarnings".

(cherry picked from commit 754d83d981f7ba28a05b5ce37307ead4596ec95f)

2 months ago* Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump.
Andrea Corallo [Sat, 17 Aug 2024 16:42:43 +0000 (18:42 +0200)]
* Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump.

(cherry picked from commit 4d9d3fec1b93698cc6dc014246fa6d3f5b4bb717)

2 months ago; * admin/make-tarball.txt: Some clarifications.
Eli Zaretskii [Sun, 18 Aug 2024 04:56:57 +0000 (07:56 +0300)]
; * admin/make-tarball.txt: Some clarifications.

(cherry picked from commit 502285e84aaac4b6939d5f4e27351dd0e01498ed)

2 months agoBe more careful about aligning prefix lines in 'visual-wrap-prefix-mode'
Jim Porter [Sat, 17 Aug 2024 20:21:00 +0000 (13:21 -0700)]
Be more careful about aligning prefix lines in 'visual-wrap-prefix-mode'

* lisp/visual-wrap.el (visual-wrap--apply-to-line): Ensure we don't
apply the 'min-width' property across multiple lines (bug#72681).

(cherry picked from commit 135da3556bb34bb20a01e02b30bc949c1a45b6cd)

2 months agoAvoid rare crashes due to clobbering of input events
Eli Zaretskii [Sat, 17 Aug 2024 18:35:08 +0000 (21:35 +0300)]
Avoid rare crashes due to clobbering of input events

* src/keyboard.c (read_char): Declare C 'volatile', to prevent
clobbering it by setjmp/longjmp.  Do not merge to master.
(Bug#71744)

(cherry picked from commit 9e7c2d3816ec3e1247b1bd3cfcafc60a84b0f5ec)

2 months agoPacify GCC 14 on recent read_char change
Paul Eggert [Sat, 17 Aug 2024 18:09:17 +0000 (11:09 -0700)]
Pacify GCC 14 on recent read_char change

* src/keyboard.c (read_char): Initialize c_volatile before
calling setjmp.  Although not necessary for correctness,
and not needed for gcc 14.2.1 20240801 (Red Hat 14.2.1-1)
on x86-64 when built with --enable-gcc-warnings,
some GCC 14 x86-64 configurations issue a false positive
without this change.
Problem reported by Andrea Corallo in:
https://lists.gnu.org/r/emacs-devel/2024-08/msg00620.html
and fix suggested by Pip Cet in:
https://lists.gnu.org/r/emacs-devel/2024-08/msg00627.html

(cherry picked from commit 4f1987cf77bc8e0f0180a665b3cab732021e25ab)

2 months agoFurther fix of reading and writing profiler data
Stefan Monnier [Sat, 17 Aug 2024 17:35:07 +0000 (13:35 -0400)]
Further fix of reading and writing profiler data

* lisp/profiler.el (profiler-report-make-entry-part): Print
strings as-is.  (Bug#72559)

(cherry picked from commit d6726e6dfc7f0a5133a0489bcdc21f10844692f2)

2 months ago* Makefile.in (PREFERRED_BRANCH): Update to emacs-30.
Andrea Corallo [Sat, 17 Aug 2024 16:25:46 +0000 (18:25 +0200)]
* Makefile.in (PREFERRED_BRANCH): Update to emacs-30.

(cherry picked from commit 30b2fae77b7c9e03b64ea36ee327d380f94123b3)

2 months ago; Eliminate more C++ comments
Po Lu [Sat, 17 Aug 2024 14:03:55 +0000 (22:03 +0800)]
; Eliminate more C++ comments

* lib-src/movemail.c:

* nt/preprep.c (main):

* src/unexw32.c (unexec): Convert C++-style comments to C.

(cherry picked from commit 5397808e5bc314ca7ff6a707c153e59cf141008b)

2 months ago; Eliminate C++ comments and typo
Po Lu [Sat, 17 Aug 2024 14:01:03 +0000 (22:01 +0800)]
; Eliminate C++ comments and typo

* lib-src/etags.c (Rust_entries): Eliminate C++ comments and
typo.

(cherry picked from commit 1463434907eeccd077f5d3c00309d1e75c7d63f4)

2 months ago; Skip commit 8d5f88d326b409651b0ebd6275b881d500090ea5
Eshel Yaron [Tue, 20 Aug 2024 14:10:37 +0000 (16:10 +0200)]
; Skip commit 8d5f88d326b409651b0ebd6275b881d500090ea5

2 months agoFix a typo in Eglot manual
Eli Zaretskii [Sat, 17 Aug 2024 10:07:56 +0000 (13:07 +0300)]
Fix a typo in Eglot manual

* doc/misc/eglot.texi (Eglot and Buffers): Fix typo.  Patch by
david edmonds <edmonds.david.a@gmail.com>.  (Bug#72634)

(cherry picked from commit 6a512ab032e960cb027cd2d80b09fb909640f1c5)

2 months agoFix dumping of Lisp profiles
Stefan Monnier [Wed, 14 Aug 2024 12:48:43 +0000 (08:48 -0400)]
Fix dumping of Lisp profiles

* lisp/profiler.el (profiler-fixup-entry): New function.
(profiler-fixup-backtrace): Use it.  (Bug#72559)

(cherry picked from commit 7b752a93a46bca1ec11f00a47a85aebcecb69980)

2 months agoFix 'apropos-library' for 'define-symbol-props'
Stefan Monnier [Wed, 14 Aug 2024 12:47:40 +0000 (08:47 -0400)]
Fix 'apropos-library' for 'define-symbol-props'

* lisp/apropos.el (apropos-library): Sanitize data to avoid
signaling errors when 'define-symbol-props' is seen.  (Bug#72616)

(cherry picked from commit bfe07eca5981fe80ddc8a54b18dd9340ad5ec2be)

2 months agoFix 'forward-comment' in 'toml-ts-mode'
Eli Zaretskii [Sat, 17 Aug 2024 09:29:31 +0000 (12:29 +0300)]
Fix 'forward-comment' in 'toml-ts-mode'

* lisp/textmodes/toml-ts-mode.el (toml-ts-mode--syntax-table): Fix
syntax of newline.  Patch from Jostein Kjønigsen
<jostein@secure.kjonigsen.net>.  (Bug#72489)

(cherry picked from commit 5c1bd991396ff92cf0b81996f63c378c115f5b86)

2 months agoStop subprocesses from using inherited or default PAGER
Spencer Baugh [Tue, 6 Aug 2024 16:39:37 +0000 (12:39 -0400)]
Stop subprocesses from using inherited or default PAGER

At startup, set PAGER to "cat" so that any inherited or
default value of PAGER does not affect subprocesses of
Emacs.  Pagers generally won't work when a subprocess
runs under Emacs.
Users can use 'comint-pager' (or other customizations)
to tell subprocesses to use a different specific pager.
* lisp/startup.el (normal-top-level): Set PAGER to 'cat',
if 'cat' is available.  (Bug#72426)

(cherry picked from commit 7811a7d38bb7cb303dc66efa02eb95e75a03f39d)

2 months agoDocument spell-checking of multiple languages
Eli Zaretskii [Sat, 17 Aug 2024 08:44:35 +0000 (11:44 +0300)]
Document spell-checking of multiple languages

* doc/emacs/fixit.texi (Spelling): Document spell-checking
multi-lingual text with Hunspell.

(cherry picked from commit e966dd5ee2c20e3579e490d05a1eb31b3272db45)

2 months agoDelete matching of whitespace in ispell's LaTeX env names
Arash Esbati [Tue, 23 Jul 2024 20:40:41 +0000 (22:40 +0200)]
Delete matching of whitespace in ispell's LaTeX env names

* lisp/textmodes/ispell.el (ispell-begin-tex-skip-regexp): Remove
matching of arbitrary whitespaces in LaTeX environment names when
wrapping them inside \begin{}.  (bug#72262)

(cherry picked from commit ebac13844294483f708bb92699ee7da7a1b2db21)

2 months agoApply --display kluge for PGTK too
Peter Oliver [Sun, 14 Jul 2024 20:50:33 +0000 (21:50 +0100)]
Apply --display kluge for PGTK too

* src/emacs.c (main): The --display option needs the same handling
with the PGTK backend as it does with the X11 backends.  (Bug#72118)

(cherry picked from commit 8a072d1f05befb302a2107c44b935af7a69ad0d3)

2 months agoFix script for characters in 3300..3357 range
Eli Zaretskii [Sat, 17 Aug 2024 08:01:12 +0000 (11:01 +0300)]
Fix script for characters in 3300..3357 range

* admin/unidata/blocks.awk: The characters in the 3300..3357 range
are Katakana according to Unicode's Scripts.txt.

(cherry picked from commit c70ac0fef12f5c84b2a62a4a8b1bdf78f69300ee)

2 months agoAdd CJK Compatibility character to Han representative chars
Eli Zaretskii [Sat, 17 Aug 2024 06:29:32 +0000 (09:29 +0300)]
Add CJK Compatibility character to Han representative chars

* lisp/international/fontset.el (script-representative-chars): Add
U+3410 to Han characters, to represent the 3400..4DBF block.

(cherry picked from commit 2c505c68b28f76c90f4daa2b9fdbf70a8785a225)

2 months agoFix x_construct_mouse_click || vs | typo
Paul Eggert [Sat, 17 Aug 2024 03:49:18 +0000 (20:49 -0700)]
Fix x_construct_mouse_click || vs | typo

* src/xterm.c (x_construct_mouse_click): ‘||’ → ‘|’.
Typo found by clang 18.1.6 -Wbool-operation.

(cherry picked from commit ed305c4b98cda5c6d479310e4ba350a17d901e75)

2 months agoTune volatile in read_char
Paul Eggert [Sat, 17 Aug 2024 02:02:55 +0000 (19:02 -0700)]
Tune volatile in read_char

* src/keyboard.c (read_char): Optimize access to a local volatile.

(cherry picked from commit 8c81818673ae9ff788c6e65fb90984f327b27964)

2 months agoDon’t ignore -Wclobbered in keyboard.c
Paul Eggert [Sat, 17 Aug 2024 00:20:58 +0000 (17:20 -0700)]
Don’t ignore -Wclobbered in keyboard.c

This fixes Emacs bug#71744.
* src/keyboard.c: Do not ignore -Wclobbered.
(read_char): Fix violation of the C standard, where setjmp
clobbered c.  Fix suggested by Pip Cet in
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=71744#38>

(cherry picked from commit a967efdd2a5b77e35657f9bdd7098b79241e3aa5)

2 months agoDon’t ignore -Wclobbered in image.c
Paul Eggert [Sat, 17 Aug 2024 00:19:12 +0000 (17:19 -0700)]
Don’t ignore -Wclobbered in image.c

This fix is also prompted by Emacs bug#71744.
* src/image.c: Do not ignore -Wclobbered.
(png_load_body): Fix violations of the C standard, where setjmp
clobbered c.  Move mask_img decl to pacify GCC.
(jpeg_load_body): Don’t make fp volatile; solve that problem in a
better way, via a new fp_volatile local.  Fix violations of the C
standard, where setjmp clobbered mgr, img, and ximg.  If __GNUC__
&& !__clang__, add useless assignments to pacify GCC.

(cherry picked from commit 3b24ac538858d994a74826361a1af3f802dd065a)

2 months agoDon’t ignore -Wclobbered in eval.c
Paul Eggert [Sat, 17 Aug 2024 00:08:36 +0000 (17:08 -0700)]
Don’t ignore -Wclobbered in eval.c

This fix is also prompted by Emacs bug#71744.
* src/eval.c (CACHEABLE): Remove.  All uses removed.
Do not ignore -Wclobbered.
(internal_lisp_condition_case): Fix violations of the C standard,
where setjmp clobbered oldhandlerlist, var, and clauses.
Rewrite to pacify GCC, by using a sentinel rather than a count,
which GCC incorrectly complained about, and by coalescing some
duplicate code.  If GCC_LINT && __GNUC__ && !__clang__ add a useless
assignment to pacify GCC.

(cherry picked from commit 1282714da55cd4bbc1c7f2e49edeb43503427e5e)

2 months agoDon’t ignore -Wclobbered in emacs-module.c
Paul Eggert [Fri, 16 Aug 2024 23:59:08 +0000 (16:59 -0700)]
Don’t ignore -Wclobbered in emacs-module.c

This fix is also prompted by Emacs bug#71744.
* src/emacs-module.c: Do not ignore -Wclobbered.
(MODULE_HANDLE_NONLOCAL_EXIT): Fix violations of the C standard,
where setjmp clobbered env and internal_cleanup.
(module_extract_big_integer) [GCC_LINT && __GNUC__ && !__clang__]:
Work around GCC -Wclobbered false positive for ‘sign’.

(cherry picked from commit cfa5a634e91f5c232a71ec212679165074dc480b)

2 months agoDon’t ignore -Wclobbered in bytecode.c
Paul Eggert [Fri, 16 Aug 2024 23:29:51 +0000 (16:29 -0700)]
Don’t ignore -Wclobbered in bytecode.c

This fix is prompted by Emacs bug#71744.
The working hypothesis is that there are some bugs in Emacs,
and some in GCC’s diagnostics, and that this patch
fixes the Emacs bugs and works around the GCC diagnostic bugs.
The hypothesis is that GCC diagnostic bugs occur when GCC
coalesces variables or temporaries and some variables
are clobbered by setjmp and some vars/temps are not.
Part of this hypothesis involves GCC diagnosing the wrong variables.
Instead of ignoring the diagnostics, which the hypothesis suggests
indicate either problems in Emacs or in GCC, fix the Emacs bugs
and pacify the GCC false positives, with comments about the GCC bugs.
GCC’s true positives are helpful enough in squashing obscure bugs like
Emacs bug#71744, that it’s worth going to some effort to pacify
-Wclobbered instead of ignoring it.
* src/bytecode.c: Do not ignore -Wclobbered.
(exec_byte_code): Fix violations of the C standard, where setjmp
clobbered quitcounter and bc.  If GCC_LINT && __GNUC__ && !__clang__,
work around GCC -Wclobbered warnings for bytestr_data and vectorp.

(cherry picked from commit 2169a9387a5ac22b969d37ece4ec1aaa0fd830d9)

2 months ago; * admin/make-tarball.txt: Minor copyedits.
Eli Zaretskii [Fri, 16 Aug 2024 18:55:37 +0000 (21:55 +0300)]
; * admin/make-tarball.txt: Minor copyedits.

(cherry picked from commit 5c9de704cc8cff861a37158229e0b393598798a4)

2 months ago; * doc/lispref/strings.texi (Text Comparison): Improve indexing.
Eli Zaretskii [Fri, 16 Aug 2024 11:05:20 +0000 (14:05 +0300)]
; * doc/lispref/strings.texi (Text Comparison): Improve indexing.

(cherry picked from commit 3fc16357832130a6ab8e6016b05ed60f4763e0c7)

2 months ago* lisp/files.el (require-with-check): Improve error messages.
Pip Cet [Thu, 15 Aug 2024 16:28:07 +0000 (16:28 +0000)]
* lisp/files.el (require-with-check): Improve error messages.

(cherry picked from commit 45a78ec6c57ab7d88846a143f81087d5575d0422)

2 months ago; * src/data.c (Fsubrp): Improve docstring.
Andrea Corallo [Thu, 15 Aug 2024 08:47:00 +0000 (10:47 +0200)]
; * src/data.c (Fsubrp): Improve docstring.

(cherry picked from commit 9a04b99b3d39d8f5aa965ad486e26012b686c7a0)

2 months agoImprove documentation of ERT
Eli Zaretskii [Thu, 15 Aug 2024 08:30:48 +0000 (11:30 +0300)]
Improve documentation of ERT

* doc/misc/ert.texi (Running Tests Interactively)
(Test Selectors):
* lisp/emacs-lisp/ert.el (ert-select-tests)
(ert-run-tests-interactively, ert-run-tests-batch): Improve and
clarify the documentation of the main ERT functions.

(cherry picked from commit 4f3e8c3b4ed7b4d12fca9370e84e91b4b3379c7c)

2 months ago; Skip commit ed8904937ece766da57777f8a8435f5b0c95270c
Eshel Yaron [Tue, 20 Aug 2024 14:07:58 +0000 (16:07 +0200)]
; Skip commit ed8904937ece766da57777f8a8435f5b0c95270c

2 months agoFix project-dired keybinding in manual
Arash Esbati [Sun, 11 Aug 2024 19:28:43 +0000 (21:28 +0200)]
Fix project-dired keybinding in manual

* doc/emacs/maintaining.texi (Project File Commands): Fix the
keybinding for `project-dired'.  (Bug#72581)

(cherry picked from commit 505139e0bad92cd44774b0002585ae1212df11a6)

2 months agoImprove documentation of time-parsing functions
Eli Zaretskii [Wed, 14 Aug 2024 08:35:48 +0000 (11:35 +0300)]
Improve documentation of time-parsing functions

* doc/lispref/os.texi (Time Parsing):
* lisp/calendar/iso8601.el (iso8601-parse):
* lisp/calendar/parse-time.el (parse-time-string): Document that
these functions don't care about the distinction between local
time and UTC.  (Bug#72570)

(cherry picked from commit 9bedb957bebdca99b1bb96f58ea790e20ed48dee)

2 months ago; Skip commit 7c588a00655f70d4a6405642a384f34a6478628d
Eshel Yaron [Tue, 20 Aug 2024 14:06:08 +0000 (16:06 +0200)]
; Skip commit 7c588a00655f70d4a6405642a384f34a6478628d

2 months ago; Skip commit 4589f51c21df3a07e1c5b46897608c344df73e68
Eshel Yaron [Tue, 20 Aug 2024 14:05:47 +0000 (16:05 +0200)]
; Skip commit 4589f51c21df3a07e1c5b46897608c344df73e68

2 months agoTag test in typescript-ts-mode-tests.el as unstable
Michael Albinus [Tue, 13 Aug 2024 07:19:00 +0000 (09:19 +0200)]
Tag test in typescript-ts-mode-tests.el as unstable

* test/lisp/progmodes/typescript-ts-mode-tests.el
(typescript-ts-mode-test-indentation): Tag it as :unstable on emba.

(cherry picked from commit 616a93d185a9dc394ac9dcea2556060258c4276a)

2 months ago; * lisp/files.el (require-with-check): Fix last change.
Eli Zaretskii [Tue, 13 Aug 2024 02:27:08 +0000 (05:27 +0300)]
; * lisp/files.el (require-with-check): Fix last change.

(cherry picked from commit e9e7e3908ab5db1b8f097d47f763309cc3814e91)

2 months agoDrop left margin convention and associated cruft
Eshel Yaron [Tue, 20 Aug 2024 13:37:52 +0000 (15:37 +0200)]
Drop left margin convention and associated cruft

2 months agoSome ElDoc simplifications
Eshel Yaron [Sat, 17 Aug 2024 11:08:07 +0000 (13:08 +0200)]
Some ElDoc simplifications

2 months agoscope.el: Some macros will hurt you if you expand them
Eshel Yaron [Sat, 17 Aug 2024 10:39:04 +0000 (12:39 +0200)]
scope.el: Some macros will hurt you if you expand them

2 months agoscope.el: Improve commentary.
Eshel Yaron [Fri, 16 Aug 2024 17:18:53 +0000 (19:18 +0200)]
scope.el: Improve commentary.

2 months ago* lisp/progmodes/elisp-mode.el: Minor cleanup.
Eshel Yaron [Fri, 16 Aug 2024 15:56:47 +0000 (17:56 +0200)]
* lisp/progmodes/elisp-mode.el: Minor cleanup.

2 months ago; * test/lisp/emacs-lisp/scope-tests.el: Update tests.
Eshel Yaron [Fri, 16 Aug 2024 14:35:55 +0000 (16:35 +0200)]
; * test/lisp/emacs-lisp/scope-tests.el: Update tests.

2 months ago(minibuffer-narrow-completions-to-current): Drop text props
Eshel Yaron [Fri, 16 Aug 2024 14:35:37 +0000 (16:35 +0200)]
(minibuffer-narrow-completions-to-current): Drop text props

2 months agoRemove Hangul character from `han' representative character list
Po Lu [Fri, 16 Aug 2024 13:01:22 +0000 (21:01 +0800)]
Remove Hangul character from `han' representative character list

* lisp/international/fontset.el (script-representative-chars):
U+3200 is a Hangul character that is predictably absent from CJK
fonts, such as are provided by Xiaomi devices.

(cherry picked from commit 909d1d02db1c11e1309316cba2a392e1456e6053)

2 months agoPort better to NFS unlink
Paul Eggert [Fri, 16 Aug 2024 03:10:53 +0000 (20:10 -0700)]
Port better to NFS unlink

I found this problem while looking into Bug#72641.
* lib-src/etags.c (do_move_file):
* lib-src/update-game-score.c (unlock_file):
* src/androidvfs.c (android_hack_asset_fd_fallback):
* src/filelock.c (current_lock_owner):
Treat unlink as successful if it fails because the file wasn’t there.
This can happen with some NFS implementations, due to its
retrying over the network to get at-least-once semantics.
Although most of Emacs’s calls to unlink were already doing this,
a few instances were not.

(cherry picked from commit 40eecd594ac60f38b6729fd9cf3474a8b9d133b9)

2 months agoRemove empty (& invalid) lock files
Paul Eggert [Thu, 15 Aug 2024 20:30:23 +0000 (13:30 -0700)]
Remove empty (& invalid) lock files

* src/filelock.c (current_lock_owner):
Remove empty lock files, as they are necessarily invalid
and can be caused by buggy file systems.
Problem reported by Michal Nazarewicz (bug#72641).

(cherry picked from commit 8b36bfc553b97cf435bdfe1b84abe21c3a605b9f)

2 months agoRefactor current_lock_owner
Paul Eggert [Thu, 15 Aug 2024 20:17:24 +0000 (13:17 -0700)]
Refactor current_lock_owner

* src/filelock.c (current_lock_owner): Refactor to make further
changes easier.  This should not affect behavior.

(cherry picked from commit 775fa8443faa3d7f5ce7f7d0aa6e6fb53321715a)

2 months agoAvoid some GC when locking/unlocking files
Paul Eggert [Thu, 15 Aug 2024 19:58:19 +0000 (12:58 -0700)]
Avoid some GC when locking/unlocking files

* src/filelock.c (lock_file_1, current_lock_owner):
Don’t possibly invoke the garbage collector when
comparing lock file contents to host names.

(cherry picked from commit 4b6b9a7acdc4f7d0594caaaa382e2e633f8f1225)

2 months agoFix unlikely lock file integer overflow
Paul Eggert [Thu, 15 Aug 2024 18:29:16 +0000 (11:29 -0700)]
Fix unlikely lock file integer overflow

* src/filelock.c (within_one_second): Accept intmax_t first arg.
Avoid undefined behavior on integer overflow.
(current_lock_owner): Simplify based on within_one_second change.

(cherry picked from commit cbacdca9e3f6dcf9b88704391f06daf7301608b0)

2 months agoscope.el: Delete some unused functions
Eshel Yaron [Fri, 16 Aug 2024 14:03:13 +0000 (16:03 +0200)]
scope.el: Delete some unused functions

2 months ago(scope): Take callback argument instead of consing a list
Eshel Yaron [Fri, 16 Aug 2024 13:55:32 +0000 (15:55 +0200)]
(scope): Take callback argument instead of consing a list

2 months agoReplace some EQ with BASE_EQ
Mattias Engdegård [Thu, 15 Aug 2024 14:00:47 +0000 (16:00 +0200)]
Replace some EQ with BASE_EQ

* src/eval.c (FletX, Flet, funcall_lambda)
(let_shadows_buffer_binding_p):
* src/data.c (set_blv_found, set_internal, default_value)
(set_default_internal, Flocal_variable_p):
* src/buffer.c (Fkill_buffer):
(mouse_face_overlay_overlaps, compare_overlays)
(report_overlay_modification):
BASE_EQ is safe because we don't actually compare symbols here.

(cherry picked from commit 8db72a8d4b77ccdbb68f7361a52d7f2ebe78b656)

2 months ago; * etc/NEWS: Restore reference to Linux kernel.
Po Lu [Thu, 15 Aug 2024 11:59:43 +0000 (19:59 +0800)]
; * etc/NEWS: Restore reference to Linux kernel.

(cherry picked from commit 03a791556af3b3683921799cce6df2f5ec81c1e7)

2 months ago; * etc/NEWS: Fix typo.
Ulrich Müller [Thu, 15 Aug 2024 09:13:38 +0000 (11:13 +0200)]
; * etc/NEWS: Fix typo.

(cherry picked from commit dcd5b80b09c4679d7cceecc852725dba6a75b5f0)

2 months agoFix 'partial-completion' for candidates containing newlines
Spencer Baugh [Fri, 2 Aug 2024 16:15:58 +0000 (12:15 -0400)]
Fix 'partial-completion' for candidates containing newlines

'partial-completion' tries to match a pattern containing wildcards
(such as `any' or `prefix') against completion candidates.
Wildcards are supposed to match any sequence of characters, but
'completion-pcm--pattern->regex' transformed the wildcards into
".*", which won't match sequences containing newlines.  Fix this to
properly match anything by using "[^z-a]*" instead.
(That's (rx (* anything)).)
* lisp/minibuffer.el (completion-pcm--pattern->regex): Fix
regex.  (Bug#72425)

(cherry picked from commit 7b60a2532895ebda2db2798767cbaff049032edb)

2 months ago; * etc/NEWS: Update wording of last change
Ulrich Müller [Thu, 15 Aug 2024 07:28:48 +0000 (09:28 +0200)]
; * etc/NEWS: Update wording of last change

(cherry picked from commit 62067d2ae7563352cae4eedd4b784fc0ffcd78a3)

2 months agoDrop fallback code in date-to-time, update documentation
Ulrich Müller [Wed, 14 Aug 2024 11:57:16 +0000 (13:57 +0200)]
Drop fallback code in date-to-time, update documentation

* lisp/calendar/time-date.el (date-to-time): Drop fallback code.
Document that the default timezone is local time, rather than GMT.
* test/lisp/calendar/time-date-tests.el (test-date-to-time):
Add more test cases.
* doc/lispref/os.texi (Time Parsing): Document that 'date-to-time'
defaults to local time.
* etc/NEWS: Announce the change.  (Bug#72570)

(cherry picked from commit 49e7f1b92daaaa12e42de93d1f7604ae0a1bbeaa)

2 months ago* lisp/calendar/time-date.el: Add comment.
Paul Eggert [Thu, 15 Aug 2024 03:37:12 +0000 (20:37 -0700)]
* lisp/calendar/time-date.el: Add comment.

(cherry picked from commit 2533a60e4256336eb30786a555a8922326c49a8a)

2 months agoTag treesit-indirect-buffer as :unstable
Michael Albinus [Wed, 14 Aug 2024 07:34:52 +0000 (09:34 +0200)]
Tag treesit-indirect-buffer as :unstable

* test/src/treesit-tests.el (treesit-indirect-buffer):
Tag it as :unstable on emba.

(cherry picked from commit c0ccb18d258c3134ac46125b676b676704a3dd00)

2 months ago* test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt changes.
Michael Albinus [Tue, 13 Aug 2024 09:08:39 +0000 (11:08 +0200)]
* test/infra/gitlab-ci.yml (.tree-sitter-template): Adapt changes.

(cherry picked from commit 632e6c27a89da9a2386ce1b29e433fe29a16e710)

2 months agoDocument time-parsing functions a bit better
Paul Eggert [Mon, 12 Aug 2024 21:31:19 +0000 (14:31 -0700)]
Document time-parsing functions a bit better

See <https://bugs.gnu.org/72570#14>

(cherry picked from commit 7a828c938ca9daf37baa02a50bb6463e2b7c0b85)

2 months ago; * lisp/files.el (require-with-check): Fix doc string and error text.
Eli Zaretskii [Mon, 12 Aug 2024 18:38:46 +0000 (21:38 +0300)]
; * lisp/files.el (require-with-check): Fix doc string and error text.

(cherry picked from commit b585826a65ebfb58d3fe4744f0f8f9b5f3fc08cc)

2 months agoRemove extraneous entries for `han' from script-representative-chars
Po Lu [Mon, 12 Aug 2024 12:44:27 +0000 (20:44 +0800)]
Remove extraneous entries for `han' from script-representative-chars

* lisp/international/fontset.el (script-representative-chars):
Remove characters that are either Kana, obsolete, or radicals,
which interferes with the discovery of real Chinese fonts, and
does not impact font resolution on free systems with Fontconfig.

(cherry picked from commit 5d69e2916458148159d7f21257f3c4863b868690)

2 months agoAdapt cache settings on emba.
Michael Albinus [Mon, 12 Aug 2024 07:51:50 +0000 (09:51 +0200)]
Adapt cache settings on emba.

* test/infra/gitlab-ci.yml (.job-template): Remove cache:policy.
(.gnustep-template, .filenotify-gio-template, .eglot-template)
(.tree-sitter-template, .native-comp-template): Remove cache.

(cherry picked from commit 02c5ce7c92f327d2dfb6117cd6788b53106a25e0)

2 months agomacOS: Wrong frame rectangle after wake (bug#71912)
Gerd Möllmann [Sun, 11 Aug 2024 11:22:45 +0000 (13:22 +0200)]
macOS: Wrong frame rectangle after wake (bug#71912)

* src/nsterm.m ([EmacsView windowDidBecomeKey]):
Call adjustEmacsFrameRect.

(cherry picked from commit 6d55e94996ef2603a2c1cc2e956ac36bdbb69ba6)

2 months ago; Grammar fixes
Po Lu [Mon, 12 Aug 2024 00:10:36 +0000 (08:10 +0800)]
; Grammar fixes

* doc/misc/erc.texi (Connecting):

* lisp/erc/erc.el (erc-compute-server, erc-compute-nick)
(erc-compute-full-name, erc-compute-port): Replace "a number of
increasingly more" with an alternative more grammatical.

(cherry picked from commit c49724b96493dc557abcc9014165364d2d624222)

2 months agoFix format 2 cmap handling in sfnt.c
Pip Cet [Sun, 11 Aug 2024 10:07:12 +0000 (10:07 +0000)]
Fix format 2 cmap handling in sfnt.c

This code is untested as no font with a format 2 cmap could be found.

* src/sfnt.c (sfnt_lookup_glyph_2): Fix typos.  Assume single-byte
encodings use character codes 0, 1, ..., 255 rather than 0, 256, ...,
65280.

(cherry picked from commit 5c3d340e001187ad027bc0328f738938a2bc32c5)

2 months agoscope.el: Expand unknown macros, regress a bit
Eshel Yaron [Thu, 15 Aug 2024 18:38:49 +0000 (20:38 +0200)]
scope.el: Expand unknown macros, regress a bit

2 months agoUpdate 'elisp-fontify-region'
Eshel Yaron [Tue, 13 Aug 2024 05:31:30 +0000 (07:31 +0200)]
Update 'elisp-fontify-region'

3 months agoscope.el: Extend 'cl-loop' support
Eshel Yaron [Mon, 12 Aug 2024 17:56:12 +0000 (19:56 +0200)]
scope.el: Extend 'cl-loop' support

3 months ago(xref-backend-apropos) <(head project-dir)>: Normalize dir name.
Eshel Yaron [Mon, 12 Aug 2024 15:24:08 +0000 (17:24 +0200)]
(xref-backend-apropos) <(head project-dir)>: Normalize dir name.

3 months agoscope.el: Support cl block name bindings.
Eshel Yaron [Mon, 12 Aug 2024 15:15:41 +0000 (17:15 +0200)]
scope.el: Support cl block name bindings.

3 months ago* elisp-mode.el (xref-backend-references): Be more cautious.
Eshel Yaron [Mon, 12 Aug 2024 13:13:00 +0000 (15:13 +0200)]
* elisp-mode.el (xref-backend-references): Be more cautious.