1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-21 06:55:39 +00:00
Commit Graph

175235 Commits

Author SHA1 Message Date
Morgan Willcock
bcc4e64fa7 Rewrite Speedbar expansion for all descendants (bug#73533)
Rewrite 'speedbar-expand-line-descendants' to avoid getting into
an infinite loop by reaching max-lisp-eval-depth.  The new
method avoids querying and displaying information for every
movement, instead using a single message to indicate that
expansion is in progress, and so is significantly faster.  The
narrowing per item introduced by the fix for bug#35014 is
removed because it prevented expanded descendant items when the
top-level item was already expanded.
* lisp/speedbar.el (speedbar--get-line-indent-level): New
function to return the indentation level of the current line.
(speedbar-expand-line-descendants): Use simpler line motion and
no recursion.  Output messages indicating when expansion is in
progress and when it is completed.  Fix expansion of descendants
where the top-level item was already expanded.
2024-10-19 10:33:35 +03:00
Morgan Willcock
9dcc32f10c Add Speedbar tests (bug#73533)
Add Speedbar tests which test the operation of
'speedbar-expand-line-descendants'.
* test/lisp/speedbar-tests.el (speedbar-tests-container)
(eieio-speedbar-object-children, speedbar-tests-item)
(speedbar-tests--make-object, speedbar-tests--setup-strings)
(speedbar-tests--object-hierarchy, speedbar-tests--base-items)
(speedbar-tests--clean-up, speedbar-tests--initialize)
(speedbar-tests--object-name-expanded)
(speedbar-tests--object-name-function)
(speedbar-tests--objects-as-strings)
(speedbar-tests--state-test)
(speedbar-tests--expand-descendants-single)
(speedbar-tests--expand-descendants-nested)
(speedbar-tests--expand-descendants-nested-wide)
(speedbar-tests--expand-descendants-of-first)
(speedbar-tests--expand-descendants-of-first-expanded)
(speedbar-tests--expand-descendants-of-last)
(speedbar-tests--expand-descendants-of-last-expanded)
(speedbar-tests--expand-descendants-of-middle)
(speedbar-tests--expand-descendants-of-middle-expanded):
New tests, test 'speedbar-expand-line-descendants'.
2024-10-19 10:14:37 +03:00
Eli Zaretskii
b730c4acfc Fix skeleton-related errors in sgml-mode.el
* lisp/textmodes/sgml-mode.el (sgml-mode-facemenu-add-face-function)
(sgml-attributes): Require 'skeleton before using its symbols.
(Bug#53710)
2024-10-19 09:40:53 +03:00
F. Jason Park
1854f2751e Don't autoload erc-modules
* doc/misc/erc.texi (Modules): Recommend using `describe-variable'
instead of `customize-option' because the latter needs the symbol to be
loaded.
* lisp/erc/erc.el (erc-modules): Remove autoload cookie because it
caused customizations for this option to load the main library.  This
reverts the thrust of bb894845 "Teach customize-option about
erc-modules", which was added in ERC 5.6 and Emacs 30.  The motivation
for the original offending change was to allow new users to run M-x
customize-option RET erc-modules RET immediately after startup instead
of M-x customize-group RET, followed by an I-search.  (Bug#73812)
2024-10-18 18:37:58 -07:00
F. Jason Park
be3318badd Move experimental module querypoll to erc-notify
* etc/ERC-NEWS: Announce migration of misplaced `querypoll' module from
erc-goodies.el to erc-notify.el.
* lisp/erc/erc-goodies.el: Move all definitions associated with
experimental module `querypoll' to erc-notify.
* lisp/erc/erc-notify.el (erc--querypoll-ring)
(erc--querypoll-timer, erc-querypoll-exclude-regexp)
(erc-querypoll-mode, erc-querypoll-enable, erc-querypoll-disable)
(erc--queries-current-p, erc-querypoll-period-params)
(erc--querypoll-compute-period, erc--querypoll-target-in-chan-p)
(erc--querypoll-get-length, erc--querypoll-get-next)
(erc--querypoll-subscribe, erc--querypoll-on-352)
(erc--querypoll-send): Move here from erc-goodies.
* test/lisp/erc/erc-goodies-tests.el (erc--querypoll-compute-period)
(erc--querypoll-target-in-chan-p, erc--querypoll-get-length)
(erc--querypoll-get-next): Move to new file erc-notify-tests.el.
* test/lisp/erc/erc-notify-tests.el: New file.  The `querypoll' module
was first introduced as part of bug#70928 in ERC 5.6.
2024-10-18 18:37:58 -07:00
F. Jason Park
a5b2de8b54 Fix trailing args bug in erc-d-i--parse-message
* test/lisp/erc/resources/erc-d/erc-d-i.el: Require `subr-x'.
(erc-d-i--parse-message): Populate `contents' slot when lone trailing
arg lacks a preceding colon.
* test/lisp/erc/resources/erc-d/erc-d-tests.el (erc-d-i--parse-message):
Fix expected result.
(erc-d-i--parse-message/privmsg): New test.
2024-10-18 18:37:58 -07:00
F. Jason Park
b00f400d1d ; Undo erroneous change in ERC's sample configuration
* doc/misc/erc.texi (Sample Configuration): Remove `erc-modules' from
the `:custom' section of the `use-package' declaration for feature `erc'
because its presence there depends on `:defer' being non-nil, and this
configuration is supposed to be `:defer' agnostic.  This reverts part of
3f1ce47f "; Add face customization to ERC's sample config".
* etc/ERC-NEWS: Mention `erc-modules' no longer being autoloaded.
* lisp/erc/erc-match.el (erc-text-matched-hooks): Explain expected
format of non-NUH matches.
* test/lisp/erc/erc-match-tests.el (test/lisp/erc/erc-match-tests.el):
Inhibit messages when running non-interactively.
2024-10-18 18:37:57 -07:00
Dmitry Gutov
1374f20491 Fix the regression in dired-backup-diff's diff-goto-source behavior
* lisp/vc/diff-mode.el (diff-find-source-location): Undo part of
the previous change, so that 'reverse' does not affect whether the
"other file" is used (bug#62731).
(diff-apply-hunk): Make that choice here.
2024-10-19 02:26:32 +01:00
john muhl
60e58be091 Fix naming of buffers for tags ending in Y in 'mpc'
* lisp/mpc.el (mpc-tagbrowser-buf): Use 'mpc-tagbrowser-tag-name'
to ensure buffers corresponding to tags that end in Y are
correctly pluralized; e.g. the tag "Directory" should create a
buffer named "*MPC Directories*" not "*MPC Directorys".
2024-10-18 17:11:45 -04:00
Stefan Monnier
0886ef01a8 (symbol-file): Fix C-h v pcase where cl-struct lacks file info
* lisp/subr.el (symbol-file): Return an actual (and absolute) file name
for the autoload case, as is done for other cases.
2024-10-18 14:51:13 -04:00
Stefan Monnier
e807d62cdd (help-fns-short-filename): Fix bug#73766
* lisp/help-fns.el (help-fns--radix-trees): New var.
(help-fns--filename, help-fns--radix-tree): New functions.
(help-fns-short-filename): Use them.
2024-10-18 14:48:28 -04:00
Michael Albinus
c437d7110b * admin/notes/git-workflow: Use emacs-30 in examples. 2024-10-18 18:33:48 +02:00
Michael Albinus
cf01f8776a Merge from origin/emacs-30
7dbbd58d6c Locate password icon in global-mode-string
19049efd30 ; Fix last documentation change
2c640e63a8 Explain tty-color-mode frame parameter more.
e5d600006e ; * src/doc.c (Ftext_quoting_style): Make doc string agre...
90c6880a92 (track-changes--after): Fix problem found in bug#73041
2024-10-18 17:56:15 +02:00
Michael Albinus
01eb03d807 ; Merge from origin/emacs-30
The following commit was skipped:

d3c9410226 Fix Eshell's evaluation of empty 'progn' forms
2024-10-18 17:56:12 +02:00
Michael Albinus
674ad2ba7f Merge from origin/emacs-30
78e6328faf ; (select-safe-coding-system-interactively): Say "safely ...
c5eba443ae ; * lisp/icomplete.el (icomplete-in-buffer): Doc fix (bug...
569186c36e ; * doc/lispref/display.texi (Face Attributes): Fix typo ...
d5723fc4f0 * lisp/progmodes/c-ts-mode.el (treesit-node-eq): Declare ...
0085e48f91 * admin/notes/emba: Docker builds do not run in a worktree.
3d30905b02 * lisp/calc/calc-ext.el (math-approx-sqrt-e): Doc fix (bu...
94d0e9c401 : Revert a mistaken change
4d90a1d820 ; * doc/emacs/search.texi (Word Search): Spelling fixes.
c154047c46 Fix c-ts-mode--anchor-prev-sibling (bug#73661)
b87fda63dd Fix formatting of long keyboard macros by 'list-keyboard-...
ae75ea6232 ; * src/fileio.c (Ffile_newer_than_file_p): Fix wording (...
b120397868 Merge branch 'emacs-30' of git.sv.gnu.org:/srv/git/emacs ...
de54d922b5 * doc/emacs/mini.texi (Passwords): Mention password visib...
0f8f077318 ; * doc/emacs/search.texi (Word Search): Document 'dictio...
fb155bcfb6 ; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Doc fix.
6dbe4e99ac ; * lisp/emacs-lisp/chart.el (chart-bar-quickie): Improve...
d664227f81 ; More accurate documentation of 'file-newer-than-file-p'
e49b479f86 Fix c-ts-mode indentation for initializer lists (bug#73661)
f520008744 Avoid segfaults in Rmail-MIME
6a5c2edd84 Eglot: use :immediate t when resolving completions (bug#7...
cd36e070c2 Eglot: minor changes to doc and docstrings
1ea0d9b891 Revert "Set treesit-primary-parser for tree-sitter modes"
52746ceb62 Remove duplicate indent rules in elixir-ts-mode
ed57faafc7 Set treesit-primary-parser for tree-sitter modes
37a6c859b0 ; * lisp/emacs-lisp/cl-macs.el (cl-once-only): Fix capita...
2d4d6dc43a Delete XIE X extension from TODO
b68b9f291c ; * lisp/progmodes/csharp-mode.el (treesit-query-compile)...
688201ef18 ; * lisp/window.el (switch-to-prev-buffer-skip-regexp): D...
ba44fc9a44 Restore comment/string check for 'electric-layout-mode'
5a462948e1 Update Arni Magnusson's email address
6b1271b169 Fix python-ts-mode-map docstring
aaaafddc94 Normalize "Commentary" section in eudc.el
d656be9794 Expand email abbrevs in X-Debbugs-Cc header.
e9dcf0c57d Fix 'list-tags' when invoked from a non-file buffer
51ef05f684 count-windows: Fix reference to walk-windows
5eaf0c784b * lisp/info-look.el (mapc): Add use-package manual's index.
705a5a1a9e ; * ChangeLog.4: Fix attribution of one change.
bf26ff0dc8 Update csharp-ts-mode font-lock (bug#73369)
4c866abab9 ; * doc/lispref/variables.texi (Creating Buffer-Local): F...
d42d7d474f ; * lisp/doc-view.el (doc-view-svg-face): Copy-edit docst...
f46f476bb8 ; * admin/MAINTAINERS: Take VC subsystem, add note about ...
d68e6d2689 ; rcirc-update-activity-string: Justify some existing beh...
e6a37869c8 Fix inconsistency in value of rcirc-activity-string
108b3179bd Revert "; Minor clarification in variables.texi"
44156c2140 ; Minor clarification in variables.texi
63058e1153 Tag interactive commands in 'lua-ts-mode'
84bea20eba ; * lisp/info-look.el: Add two more links.
96b87ad536 Mention LSP acronym in eglot defgroup docstring
9c904e8cea Change :group of 'eglot' defgroup to 'tools'
fd1a1b0780 Remove out-of-date documentation from python.el
11e3e0cadd Fix executing commands in Eshell using "env" with no loca...
c0ef8a9a1b Fix a typo in the calendar manual
36ff7138fe ; Fix a thinko in sieve-manage.el
7abecbcd63 ; * nt/INSTALL: Update MinGW notes URL.  (Bug#73528)
e2b01d164c ; Fix last changes in php-ts-mode.el
e8830015b0 Require ert-x for use by 'ert-font-lock-deftest-file'
a1841b4d8e ; * admin/authors.el (authors-aliases): Don't ignore "one...
69d8f9d1b7 Fix php-ts-mode font-lock for latest PHP grammar (bug#73516)
68f53e4348 eieio.texi: Fix bug#73505
53c887fdf6 ; cperl-mode.el: Fix an invalid face specification
f5cd5585f4 ; Recommend GNU Find for 'find-dired'
65e589698e ; * lisp/filesets.el (filesets-homepage): Fix URL.
1f243a9780 Delete duplicated line in Viper refcard
2024-10-18 17:56:08 +02:00
Michael Albinus
7dbbd58d6c Locate password icon in global-mode-string
* doc/emacs/mini.texi (Passwords): Precise the location of the
password icon.

* doc/lispref/minibuf.texi (Reading a Password): The password icon
is added to global-mode-string.

* lisp/auth-source.el (read-passwd--mode-line-buffer): Remove.
(read-passwd--hide-password): Fix docstring.
(read-passwd-toggle-visibility): Don't use
`read-passwd--mode-line-buffer'.  Check for `read-passwd-mode'.
Force update in all mode lines.
(read-passwd-mode): Set `read-passwd--mode-line-icon' in
`global-mode-string'.  (Bug#73768)
2024-10-18 17:47:43 +02:00
Eli Zaretskii
19049efd30 ; Fix last documentation change
* doc/misc/efaq.texi (Colors on a TTY):
* doc/lispref/frames.texi (Font and Color Parameters):
* doc/emacs/cmdargs.texi (Colors X): More accurate documentation
of TTY color modes and 'tty-color-mode' frame parameter.
(Bug#73813)
2024-10-18 15:46:17 +03:00
Robert Pluim
2c640e63a8 Explain tty-color-mode frame parameter more.
* doc/emacs/cmdargs.texi (Colors X): Explain that tty color
support is dynamic.
* doc/lispref/frames.texi (Font and Color Parameters): Explain
that 'tty-color-mode' can be changed on the fly.
* doc/misc/efaq.texi (Colors on a TTY): Explain how to disable
'tty-color-mode', either at startup or dynamically.
2024-10-18 11:44:49 +02:00
Sean Whitton
5c59ab56e6 Replace my recent change to vc-start-logentry
* lisp/vc/vc-dispatcher.el (vc-start-logentry): Restore previous
logic for determining the parent buffer from before my recent
change to this function.  If the attempt to determine the parent
buffer fails, signal an error immediately.
(vc-dispatcher-browsing): Consider derived modes of
log-view-mode, too, as indicating that we are in a directory
browser.
2024-10-18 17:08:53 +08:00
Visuwesh
5f22c090b1 Make djvused emit UTF-8 encoded text
* lisp/doc-view.el (doc-view--djvu-outline): Pass -u to djvused
to make it emit UTF-8 encoded text rather than using octal
escapes for non-ASCII string.  (bug#73846)
2024-10-18 08:06:40 +02:00
Eli Zaretskii
09e586b383 ; Fix documentation of recent changes in mpc.el
* etc/NEWS: Fix entry for 'mpc-notifications'.

* lisp/mpc.el (mpc-status-callbacks, mpc-format)
(mpc-cover-image-find, mpc-cover-image-p, mpc-notifications)
(mpc-notifications-title, mpc-notifications-body): Doc fixes.
2024-10-18 08:52:02 +03:00
Sean Whitton
d6ea735af8 ; * etc/NEWS: Shorten find-function-mode entry back to single line. 2024-10-18 12:33:20 +08:00
Jim Porter
83e3ed651d ; Mark interactive Eshell output as such after inserting into the buffer
This avoids adding the "output" text properties to strings that may live
past the call to 'eshell-interactive-filter'.

* lisp/eshell/esh-mode.el (eshell-interactive-output-filter): New
function...
(eshell-interactive-print): ... call it.
(eshell-interactive-filter): Update docstring.

* lisp/eshell/esh-proc.el (eshell-interactive-process-filter)
(eshell-sentinel): Call 'eshell-interactive-output-filter'.
2024-10-17 14:30:31 -07:00
Stefan Monnier
f994154d08 * lisp/emacs-lisp/track-changes.el (track-changes--backtrace): Fix prefix 2024-10-17 12:54:04 -04:00
Stefan Monnier
4690f2f44d mpc.el: Misc tweaks.
* lisp/mpc.el: Require `cl-lib` at run-time.
Don't require `subr-x` any more.
(mpc-status-callbacks): Improve docstring.
(mpc-cover-image-find): Avoid `and-let*`.
(mpc-cover-image-p): Use `member-ignore-case` to recover the
behavior before last patch.
(mpc-cover-image-find, mpc-cover-image-p): Move to later in the
file to avoid compiler warning.
(mpc-format, mpc-notifications-title, mpc-notifications-body):
Tweak docstring.
(mpc--notifications-format): Create only one temp buffer and use
the faster `cl-some` since we know the arg is a list.
(mpc-notifications-notify): Prefer `when-let*` since all the other
`*-let` we use are also of the `let*`family.
2024-10-17 12:38:18 -04:00
Mattias Engdegård
e5d600006e ; * src/doc.c (Ftext_quoting_style): Make doc string agree with code. 2024-10-17 18:23:58 +02:00
john muhl
49084bad79 Add notifications support to 'mpc' (Bug#73538)
* lisp/mpc.el (mpc-notifications, mpc-notifications-title)
(mpc-notifications-body): New option.
(mpc--notifications-id): New variable.
(mpc-notifications-notify, mpc-cover-image-find)
(mpc-cover-image-p, mpc--notifications-format): New function.
(mpc-format): Use 'mpc-cover-find' and expand docstring to
include details about the FORMAT-SPEC.
(mpc-status-callbacks): Add file callback for
notifications.
2024-10-17 11:48:36 -04:00
Stefan Monnier
90c6880a92 (track-changes--after): Fix problem found in bug#73041
When calling `track-changes--before` (e.g. because of a missing
b-f-c or for some other reason), it sets `track-changes--before-end`
to the right value so we shouldn't increment it right after.
Also, we should update `track-changes--buffer-size` before
calling `track-changes--before` so it doesn't risk signaling
a spurious inconsistency.

* lisp/emacs-lisp/track-changes.el (track-changes--after):
Update `track-changes--buffer-size` earlier, and don't increment
`track-changes--before-end` when we call `track-changes--before`.
2024-10-17 11:39:19 -04:00
Sean Whitton
38071e3989 ; * lisp/vc/vc.el: Drop some old notes
Firstly, we are unlikely to do any unifying, because both amend
capabilities have been around for a long time now and we don't
want to break people's usage.  Secondly, there is now a plan for
dealing with dangerous git operations described in bug#64055.
2024-10-17 21:24:17 +08:00
Sean Whitton
8d7d9dd42a log-view-modify-change-comment: Prepend Summary header
* lisp/vc/log-view.el (log-edit): Require.
(log-view-modify-change-comment): When log-edit-hook would
insert an empty Summary header, prepend one to the old comment.
2024-10-17 21:24:17 +08:00
Sean Whitton
01c8f31a54 New get-change-comment VC backend action
This gets us closer to using log-view-modify-change-comment with modern
VCS.  What remains is implementing the modify-change-comment backend
action for those VCS.

* lisp/vc/vc.el: New get-change-comment backend action.
(vc-modify-change-comment): Pass the backend to vc-start-logentry.
* lisp/vc/log-view.el (log-view-extract-comment): Use new
get-change-comment action.
* lisp/vc/vc-git.el (vc-git-get-change-comment): Factor out of
vc-git-log-edit-toggle-amend.
2024-10-17 21:24:10 +08:00
Sean Whitton
475a33adb9 vc-start-logentry: Use current buffer as parent buffer more often
* lisp/vc/vc-dispatcher.el (vc-start-logentry): When determining
the parent buffer, if get-file-buffer returns nil, use the
current buffer.  Also, if the first file is a directory, don't
try to call get-file-buffer, just use the current buffer.
2024-10-17 21:23:29 +08:00
Eli Zaretskii
b9eb7f1945 Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs 2024-10-17 16:22:58 +03:00
Eli Zaretskii
4c0d69cbff Improve coverage of scripts by the default fontset
* lisp/international/fontset.el (setup-default-fontset): Add
missing "simple" scripts.
2024-10-17 16:21:49 +03:00
Sean Whitton
ee265922a0 More consistently propertize Log Edit headers as fields
* lisp/vc/log-edit.el (log-edit--make-header-line): Factor out
of log-edit-insert-message-template.
(log-edit-set-header): Call log-edit--make-header-line so that
the Log Edit header is propertized as a field.
2024-10-17 20:11:53 +08:00
Jim Porter
fada04cfc7 Add support for chaining conditionals in Eshell
* lisp/eshell/esh-cmd.el (eshell-structure-basic-command): Check for the
presence of the conditional.  Allow any number of BODY forms.
(eshell-rewrite-if-command): Add support for 'else' keyword and chained
conditionals.

* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/if-else-statement):
Test 'else' keyword.
(esh-cmd-test/if-else-statement-chain): New test.

* doc/misc/eshell.texi (Control Flow): Document this change.

* etc/NEWS: Announce this change.
2024-10-16 21:48:36 -07:00
Jim Porter
40ffacb34b Improve correctness of Eshell sub-forms
This makes sure that we treat Eshell sub-forms (whether Lisp or command
forms) as values when appropriate, or as regular invocations.  This
requires a bit more explicit work, but helps to resolve some of the
surprising differences between Lisp and command forms in complex Eshell
statements.

* lisp/eshell/esh-cmd.el (eshell-subcommand-arg-values): Make obsolete.
(eshell-parse-lisp-argument): Don't add 'eshell-command-to-value' here.
(eshell-rewrite-sexp-command): Don't check for 'eshell-command-to-value
here'; instead check for 'eshell-lisp-command'.
(eshell-structure-basic-command): Check for 'eshell-lisp-command'.
(eshell-term-as-value): New function...
(eshell-rewrite-named-command, eshell-rewrite-for-command): ... call it.

* lisp/eshell/esh-arg.el (eshell-parse-special-reference):
* lisp/eshell/esh-io.el (eshell-strip-redirections):
* lisp/eshell/esh-var.el (eshell-prepare-indices): Call
'eshell-term-as-value'.

* test/lisp/eshell/esh-arg-tests.el
(esh-arg-test/special-reference/command-form):
* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/for-loop-lisp-body)
(esh-cmd-test/while-loop-lisp-body)
(esh-cmd-test/if-else-statement-lisp-body): New tests.

* test/lisp/eshell/esh-var-tests.el
(esh-var-test/interp-var-indices-subcommand): Add another command to
test.

* doc/misc/eshell.texi (Control Flow): Update documentation.
2024-10-16 21:48:35 -07:00
Jim Porter
af029cdb3a Simplify creation of Eshell command forms
Previously, Eshell over-aggressively converted subcommands, which forced
control flow commands to undo that change.

* lisp/eshell/esh-cmd.el (eshell-pre-rewrite-command-hook): Remove
'eshell-subcommand-arg-values' call from here...
(eshell-rewrite-named-command): ... and put it here.
(eshell-invokify-arg): Make obsolete.
(eshell-structure-basic-command): Handle subcommand test forms.
(eshell-rewrite-for-command, eshell-rewrite-while-command)
(eshell-rewrite-if-command): Don't call 'eshell-invokify-arg'; it's not
necessary.
2024-10-16 21:48:35 -07:00
Dmitry Gutov
561ab9829d New helper function project-read-project
* lisp/progmodes/project.el (project-read-project): New helper.
2024-10-17 01:58:09 +03:00
Michael R. Mauger
aaa734ac6e Add suffixes individually and use minor mode directly
* lisp/jka-cmpr-hook.el (jka-compr-install): Add jka-compr
  suffixes individually with add-to-list rather than append.
  * (with-auto-compression-mode): Use auto-compression-mode minor mode.
2024-10-16 17:59:58 -04:00
Jim Porter
d3c9410226 Fix Eshell's evaluation of empty 'progn' forms
Do not merge to master.

* lisp/eshell/esh-cmd.el (eshell-do-eval): Make sure we evaluate to
'nil' for 'progn' forms with no body (bug#73722).
2024-10-16 10:44:35 -07:00
Michael Albinus
6213ca44d4 Use debian:bookworm for tests on emba
* test/infra/Dockerfile.emba (emacs-base): Derive from debian:bookworm.
(emacs-eglot, emacs-tree-sitter): Derive from emacs-base.
(emacs-native-comp): Install libgccjit-12-dev.
2024-10-16 17:26:44 +02:00
Alan Mackenzie
5340fdaade CC Mode: Fix dodgy lisp `let' form.
* lisp/progmodes/cc-engine.el (c-forward-sws): Move a `setq'
form from out of a let binding.  This form could have been
affected by the byte compiler bug bug#67116 before this was
fixed.
2024-10-16 13:21:59 +00:00
Eli Zaretskii
78e6328faf ; (select-safe-coding-system-interactively): Say "safely encode". 2024-10-16 09:04:02 +03:00
Eli Zaretskii
c5eba443ae ; * lisp/icomplete.el (icomplete-in-buffer): Doc fix (bug#73820). 2024-10-16 08:32:02 +03:00
Eli Zaretskii
569186c36e ; * doc/lispref/display.texi (Face Attributes): Fix typo (bug#73824). 2024-10-16 07:59:59 +03:00
Alan Mackenzie
fdac10b216 CC Mode: Rationalize and optimize cache invalidation (2).
Replace separate syntax-table text property changes and cache
invalidation with macros which do both together.  Correct a bug
in the invocation of XEmacs's map-extents.

* lisp/progmodes/cc-defs.el (c-put-syntax-table-trim-caches)
(c-clear-syntax-table-trim-caches)
(c-clear-syntax-table-properties-trim-caches)
(c-clear-syntax-table-with-value-trim-caches)
(c-clear-syntax-table-with-value-on-char-trim-caches)
(c-put-syntax-table-properties-on-char-trim-caches): New
macros.
(c-clear-char-properties, c-clear-char-property-with-value)
(c-clear-char-property-with-value-on-char): Correct the
invocation of XEmacs's map-extents by returning nil from the
mapping function to prevent premature exit from map-extents.
(c-clear-char-property-with-value-function)
(c-clear-char-property-with-value)
(c-clear-char-property-with-value-on-char-function)
(c-clear-char-property-with-value-on-char)
(c-put-char-properties-on-char): Enhance to return the position
of the first changed char property (or nil).

* lisp/progmodes/cc-awk.el
(c-awk-set-string-regexp-syntax-table-properties)
(c-awk-set-syntax-table-properties)
* lisp/progmodes/cc-engine.el
(c-depropertize-ml-string-delims)
(c-after-change-unmark-ml-strings, c-propertize-ml-string-id)
(c-propertize-ml-string-opener, c-depropertize-ml-string)
(c-depropertize-ml-strings-in-region)
* lisp/progmodes/cc-mode.el (c-depropertize-CPP)
(c-neutralize-CPP-line, c-put-syn-tab, c-clear-syn-tab)
(c-parse-quotes-before-change, c-parse-quotes-after-change)
(c-before-change-fix-comment-escapes)
(c-after-change-fix-comment-escapes): Use the new macros from
cc-defs.el.

* lisp/progmodes/cc-mode.el
(c-trim-cache-first-punctuation-prop): Remove.
(c-depropertize-CPP): Remove calls to the above function.
2024-10-15 21:14:34 +00:00
Andrea Corallo
1686d48417 * lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Add assertion. 2024-10-15 22:13:08 +02:00
Andrea Corallo
cd739d3644 Fix comp branch-optim pass (bug#73270)
* test/src/comp-tests.el (comp-test-73270-1): Define new test.
* test/src/comp-resources/comp-test-funcs.el (comp-test-73270-base)
(comp-test-73270-child1, comp-test-73270-child2)
(comp-test-73270-child3, comp-test-73270-child4)
(comp-test-73270-1-f): Define.
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-type-p): Fix it for nil cstrs.
2024-10-15 22:13:08 +02:00
Andrea Corallo
358b38bc17 * lisp/emacs-lisp/comp.el (comp--type-check-optim-block): Improve log msg. 2024-10-15 22:13:08 +02:00