Commit graph

178583 commits

Author SHA1 Message Date
Michael Albinus
81a3e4e511 Make file-notify--call-handler more robust
* lisp/filenotify.el (file-notify--call-handler): Make it more
robust.  (Bug#78712)
2025-06-11 19:20:43 +02:00
Robert Pluim
7e62c2cf3a Normalize URL path correctly for http
* lisp/url/url-http.el (url-http-create-request): Prepend "/" if
it's missing from the filename.  (Bug#78640)
2025-06-11 17:10:46 +02:00
Sean Whitton
8be65cf6e0 ; etc/NEWS: Clarify VC entry about missing vs. removed files. 2025-06-11 15:09:07 +01:00
Alan Mackenzie
1468daf1d1 Amend CC Mode so that the test suite in XEmacs runs error free
* lisp/progmodes/cc-awk.el (awk-font-lock-keywords):
Reformulate this using backquote and ,@.  Only include the
entry for _" in Emacs.

* lisp/progmodes/cc-defs.el (c--mapcan, c--set-difference)
c--intersection, c--macroexpand-all, c--delete-duplicates): No
longer use the existence of cl-lib.el as the criterion for
what to expand to.
(c-min-property-position): Use c-next-single-property-change
rather than next-single-property-change.  This now works in
XEmacs.

* lisp/progmodes/cc-engine.el
(c-invalidate-sws-region-after-del)
(c-invalidate-sws-region-after-ins, c-forward-sws)
(c-backward-sws, c-find-decl-spots): Replace
next/previous-single-property-change by
c-next/previous-single-property-change to ensure functionality
in XEmacs.
(c-forward-sws, c-backward-sws): Handle NO-BREAKING-SPACE as
whitespace.  This corrects the error in hardspace.c in the test
suite.

* lisp/progmodes/cc-fonts.el (c-font-lock-ml-strings): Refactor
some nested `if's into a cond form.  Don't fontify multiline
string delimiters in XEmacs, in keeping with its string
conventions.

* lisp/progmodes/cc-langs.el (c-populate-syntax-table): Set the
syntax of NO-BREAKING-SPACE to whitespace rather than
punctuation.

* lisp/progmodes/cc-mode.el (c-before-change): Use
c-previous-single-property-change rather than
previous-single-property-change to ensure functionality in
XEmacs.
2025-06-11 13:43:50 +00:00
Sean Whitton
bf418cd836 vc-next-action: Leave files unregistered if user aborts the checkin
* lisp/vc/vc.el (vc-only-files-state-and-model):
Don't call vc-register.
(vc-checkin): New REGISTER parameter.
Call vc-register when it's non-nil.
(vc-next-action): Pass new REGISTER parameter to vc-checkin.
2025-06-11 11:28:24 +01:00
Juri Linkov
de2daa74bd * test/lisp/repeat-tests.el: Add a command for global continue.
(repeat-tests-call-g): New command (bug#78742).
Put 'repeat-continue' with t on this symbol.
(repeat-tests-global-map): Bind it to 'C-M-g'.
(repeat-tests-continue-another): Add 'C-M-g' that should continue.
2025-06-11 09:43:45 +03:00
Paul Nelson
3a0def802c Improve repeat-continue property handling
* lisp/repeat.el (repeat-get-map-sym): Support 'repeat-continue'
property value of t to continue any active repeat map (suggested
by Karthik Chikmagalur <karthikchikmagalur@gmail.com>).
Simplify logic so that repeat-continue does not interfere with
repeat-map activation.
(repeat-check-map): Allow commands with 'repeat-continue'
property value of t to continue without checking the key.
(repeat-mode): Update and tweak docstring.
* lisp/bind-key.el (bind-keys-form): Update handling of
':continue-only' keyword: only add keymap to 'repeat-continue'
if current value is a list.
(bind-keys): Update documentation, mirroring bind-keys-form.
* lisp/keymap.el (defvar-keymap): Update handling of ':continue'
keyword: only add keymap to 'repeat-continue' if current value
is a list.
* test/lisp/repeat-tests.el (repeat-tests-continue)
(repeat-tests-continue-another): Enable previously commented
tests that now work correctly.
* etc/NEWS: Update announcement of 'repeat-continue' (bug#78742).
2025-06-11 09:28:42 +03:00
Jim Porter
38c57855ae ; Remove superfluous POSITION argument from 'visual-wrap--apply-to-line'
* lisp/visual-wrap.el (visual-wrap--apply-to-line): Remove POSITION and
just use point instead.  Update caller.
2025-06-10 22:09:26 -07:00
Jim Porter
90c0c9a01e Clean up text properties in 'visual-wrap-prefix-mode'
Before refontifying a region, remove any text properties we care about
so that we don't end up with stray properties.  Additionally, make sure
to remove all the properties when deactivating the mode.

* lisp/emacs-lisp/subr-x.el (add-remove--display-text-property): New
function, extracted from...
(add-display-text-property): ... here.
(remove-display-text-property): New function.

* lisp/visual-wrap.el (visual-wrap--remove-properties): New function...
(visual-wrap-prefix-function, visual-wrap-prefix-mode): ... call it.

* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-test-remove-display-text-property): New test.

* test/lisp/visual-wrap-tests.el
(visual-wrap-tests/wrap-prefix-stickiness, visual-wrap-tests/cleanup):
New tests.

* doc/lispref/display.texi (Display Property): Document
'remove-display-text-property'.

* etc/NEWS: Announce 'remove-display-text-property' (bug#76018).
2025-06-10 22:09:26 -07:00
Jim Porter
24e6cd4233 Improve documentation for display property functions
Specifically, use the term "display specification" more consistently to
distinguish from "display property", which is the full value of the
'display' text property.

* src/xdisp.c (find_display_property): Rename PROP to SPEC.
(Fget_display_property): Rename PROP to SPEC and improve docstring.

* lisp/emacs-lisp/subr-x.el (add-display-text-property): Rename PROP to
SPEC and improve docstring.

* doc/lispref/display.texi (Display Property): Reword documentation to
more-consistently refer to display specifications.
2025-06-10 22:09:26 -07:00
Jim Porter
4a3c8e6e1d Don't delete in-place when replacing a display property
When calling 'add-display-text-property' on a region of text that
already contains PROP, we first delete the old display specification
from the region.  If the region's 'display' property is a list of
display specifications, we need to avoid destructively modifying the
list; other regions of text could be using the same list object.  (For a
'display' property that's a vector or a single display spec, this
doesn't matter since we first make a new list in the code.)

In addition, be more careful when working with a display property like
((margin ...) ...).  This is a single display specification, not a list
of display specs.

* lisp/emacs-lisp/subr-x.el (add-display-text-property): Don't delete
in-place for list values.  Handle (margin ...) display specification
type correctly.

* test/lisp/emacs-lisp/subr-x-tests.el
(subr-x-test-add-display-text-property): Update test.
2025-06-10 22:09:26 -07:00
Protesilaos Stavrou
7416595e2f
Update modus-themes to their version 4.8.0
* doc/misc/modus-themes.org (Preview theme colors):(Get a single color from the palette with ~modus-themes-get-color-value~):
(DIY Do not extend the region background, Note on SHR fonts): Fix some typos.
(Full support for packages or face groups): Include tmr in the
list of supported packages.
(Acknowledgements): Mention more people who have contributed to
the project in some capacity.

* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-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: Make small changes to the palette of each theme.

* etc/themes/modus-themes.el
(modus-themes-after-load-theme-hook): Reword the doc string
(modus-themes--rotate, modus-themes--rotate-p)
(modus-themes--next-in-rotation, modus-themes-rotate): Make
rotation optionally move in the opposite direction.
(modus-themes-faces): Tweak some faces.

Release notes: <https://protesilaos.com/codelog/2025-06-11-emacs-modus-themes-4-8-0/>.
2025-06-11 08:09:05 +03:00
Po Lu
82af5c10c5 * configure.ac: Detect Android API 36. 2025-06-11 10:35:28 +08:00
Po Lu
231c4f20ea Port to Android API 36
* java/AndroidManifest.xml.in: Update targetSdkVersion to 36.

* java/INSTALL: Document revised compilation dependencies.

* java/org/gnu/emacs/EmacsActivity.java (interceptBackGesture):
New function.
(onCreate): Invoke the same to register back gesture callbacks
on Android 16 or better.

* java/org/gnu/emacs/EmacsWindow.java (onBackInvoked): New
function.

* src/keyboard.c (lispy_function_keys): Amend with new symbols
introduced in Android API 36.
2025-06-11 10:34:49 +08:00
Pip Cet
f69b822fb0 Print a message when failing to recover a file
* lisp/files.el (recover-session-finish): Call 'message' rather than
evaluating a string and a variable without using the result.
2025-06-10 14:11:58 +00:00
Juri Linkov
073d06e34e * test/lisp/repeat-tests.el: Add a command to continue but not activate.
(repeat-tests-call-e): New command.
(repeat-tests-global-map): Bind it to 'C-M-e'.
(repeat-tests-another-repeat-map, repeat-tests-repeat-map):
Add 'repeat-tests-call-e' to :continue.
(repeat-tests-continue, repeat-tests-continue-another):
Add 'C-M-e' that should continue but not activate.
2025-06-10 09:34:28 +03:00
Yuan Fu
f904ff5ca2
Add tree-sitter version of prog-fill-reindent-defun (bug#78703)
Add a tree-sitter version of prog-fill-reindent-defun that
indents the defun that encloses point, rather than the sibling
defun after point when there is one.

* lisp/progmodes/prog-mode.el:
(prog-fill-reindent-defun): Turns into a wrapper function.
(prog-fill-reindent-defun-function): New variable.
(prog-fill-reindent-defun-default): Old prog-fill-reindent-defun
becomes this function.
* lisp/treesit.el (treesit-fill-reindent-defun): New function.
(treesit-major-mode-setup): Setup
prog-fill-reindent-defun-function.
2025-06-09 22:55:09 -07:00
Yuan Fu
5390593c42
; Create a new section for sexp functions in treesit.el. 2025-06-09 22:34:11 -07:00
Yuan Fu
32bc6914e5
Extract out prog--text-at-point-p from prog-fill-reindent-defun
* lisp/progmodes/prog-mode.el (prog--text-at-point-p): New function.
(prog-fill-reindent-defun): Use new function.
2025-06-09 22:13:25 -07:00
Yuan Fu
f9487d2b28
; * lisp/progmodes/prog-mode.el (prog-fill-reindent-defun): Typo. 2025-06-09 21:54:43 -07:00
Yuan Fu
0a629abfbb
Add new tactic to treesit-navigate-thing (bug#78703)
* doc/emacs/programs.texi (Moving by Defuns):
* doc/lispref/parsing.texi (User-defined Things): Describe the
new tactic.
* lisp/treesit.el (treesit-navigate-thing): Add new tactic.
2025-06-09 21:43:27 -07:00
Philip Kaludercic
1009e3d1fd
Support checking auth-source for NickServ password for rcirc
* doc/misc/rcirc.texi: Mention new feature.
* etc/NEWS: Mention new feature.
* lisp/net/rcirc.el (rcirc-authinfo): Update type and documentation.
(rcirc-authenticate): Handle a special type to indicate that the
password is stored via auth-source.
2025-06-09 15:13:38 +02:00
Philip Kaludercic
2438aaf764
; * lisp/net/rcirc.el (rcirc-channel-p): Simplify implementation 2025-06-09 15:13:38 +02:00
Sean Whitton
d660ed0b4c Prompt just once when deleting multiple files with C-x v v
* lisp/vc/vc.el (vc-delete-file): Accept lists of files in
addition to single files.
(vc-next-action): Call vc-delete-file once for all the files.
2025-06-09 12:13:06 +01:00
Philip Kaludercic
00a30a752e
Require CertFP files for rcirc to exist
* lisp/net/rcirc.el (rcirc-authinfo): Adjust the types for the
key and certificate file from 'string' to 'file'.
2025-06-09 13:10:13 +02:00
Mattias Engdegård
7f6244364b Revert "Fix function arity check for noncompiled callees (bug#78685)"
This reverts commit 8b0f5b0597.

This change wasn't quite right; the solution requires greater care.
2025-06-09 12:56:46 +02:00
Sean Whitton
e58635a184 ; Document recent VC changes regarding file removal
* doc/emacs/maintaining.texi (VC With A Merging VCS)
(VC With A Locking VCS): Update text about 'C-x v v' with mixed
file statuses.
* etc/NEWS: Announce the recent improvements.
2025-06-09 11:51:48 +01:00
Juri Linkov
3c04806b44 * lisp/progmodes/c-ts-mode.el (c-ts-mode-menu): Add 'bound-and-true-p'.
Use 'bound-and-true-p' for the case when 'subword-mode' is not loaded.
2025-06-09 09:40:12 +03:00
Eshel Yaron
86eb733aef
; Fix last change.
Thanks to Daniel Mendler <mail@daniel-mendler.de> for
pointing out my mistake in commit 4be63c85d2.
2025-06-08 21:58:18 +02:00
Eshel Yaron
4be63c85d2
; Document 'completion-table-with-metadata' in the ELisp manual
* doc/lispref/minibuf.texi (Programmed Completion): Document
'completion-table-with-metadata'.
2025-06-08 21:07:20 +02:00
Michael Albinus
13a4cd5ed1 More language server on emba
* test/infra/Dockerfile.emba (emacs-eglot): Install also
typescript-language-server and vscode-json-languageserver.
2025-06-08 16:45:06 +02:00
Michael Albinus
f1766fd2b3 Improve emba integration
* admin/notes/emba: Mention generated compatibility-report.html.

* test/infra/Dockerfile.emba (emacs-base): Install man-db.
(emacs-inotify): Don't install clangd.
(emacs-eglot): Derive from debian:trixie.  Install rust-analyzer.

* test/infra/gitlab-ci.yml (.job-template): Make actions in
after_script more robust.
2025-06-08 15:47:44 +02:00
Sean Whitton
988110fb6d vc-next-action: On mixed state sets, treat missing files as removed
* lisp/vc/vc.el (vc-only-files-state-and-model, vc-next-action):
Add the 'missing' state to the set of compatible states for
mixed state actions.  This means you can commit removals of
files without first moving them to the 'removed' state.
2025-06-08 11:25:17 +01:00
Sean Whitton
9b4fec7a97 vc-next-action: Offer to delete missing files
* lisp/vc/vc.el (vc-next-action): Call vc-delete-file on a set
of missing files, to move them to the 'removed' state, instead
of just erroring out.
2025-06-08 11:22:28 +01:00
Eli Zaretskii
ff8c0648fb Fix 'ffap-string-at-point' under 'ffap-file-name-with-spaces'
* lisp/ffap.el (ffap-file-name-with-spaces): Doc fix.
(ffap-string-at-point): Don't reject '~foo/' and 'd:/bar' file
names when 'ffap-file-name-with-spaces' is non-nil.

* test/lisp/ffap-tests.el (ffap-test-with-spaces): Add tests, and
fix expected results to not strip Windows drive letters.
2025-06-08 11:21:05 +03:00
Eshel Yaron
b7560fb63d
; Use completion category 'recentf' in 'recentf-open'
* lisp/recentf.el (recentf-open): Specify a completion
category, 'recentf', when prompting for a recent file name.
This allows users the customize the behavior of recent file
name completion via 'completion-category-overrides'.
(Bug#78596)
2025-06-07 21:41:47 +02:00
Eli Zaretskii
62014576dc Fix 'save-some-buffers' when file name has embedded '%'
* lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Don't assume the
prompt will never include the '%' character.  (Bug#78715)
2025-06-07 16:35:42 +03:00
Sean Whitton
b195ccfe89 vc-git: Properly track unstaged deletions
* lisp/vc/vc-git.el (vc-git--git-status-to-vc-state)
(vc-git-after-dir-status-stage): Return/set 'missing' VC state,
not 'removed' state, for unstaged deletions.
(vc-git-dir-status-goto-stage): Add 'ls-files-missing' stage.
2025-06-07 13:27:00 +01:00
Sean Whitton
29990aadda ; * lisp/vc/vc-git.el (vc-git-after-dir-status-stage): Comments. 2025-06-07 13:27:00 +01:00
Sean Whitton
82109aa726 Inline sole call to vc-git--state-code
* lisp/vc/vc-git.el (vc-git--state-code): Delete.
(vc-git-after-dir-status-stage): Inline it here.
2025-06-07 13:27:00 +01:00
Eli Zaretskii
58797a6735 Merge from origin/emacs-30
e4ba279b01 ; * doc/emacs/misc.texi (Network Security): Fix typo.
8fdb2d19b4 ; * lisp/treesit.el (treesit-beginning-of-defun): Doc fix...
2025-06-07 06:59:30 -04:00
Eli Zaretskii
bd4674f93d ; Merge from origin/emacs-30
The following commit was skipped:

41f8dc18df Make xoauth2 auth fail when a smtp server replies 334 (Bu...
2025-06-07 06:59:29 -04:00
Eli Zaretskii
c5e54fef67 Merge from origin/emacs-30
cd57a05542 ; * etc/PROBLEMS: Improve the item about 'C-S-u' in PGTK ...
2025-06-07 06:59:29 -04:00
Eli Zaretskii
bed490f0f2 ; Fix last change (bug#78396)
* lisp/paren.el (show-paren-not-in-comments-or-strings):
* etc/NEWS:
* doc/emacs/programs.texi (Matching): Fix wording and punctuation
in doc string, defcustom tags, manual, and NEWS.
2025-06-07 13:32:41 +03:00
Elías Gabriel Pérez
12397e3eb0 Add option for not highlight parens inside comments or strings
* lisp/paren.el (show-paren-not-in-comments-or-strings):
New user option.  (Bug#78396)
(show-paren-function): Enclose code in 'catch' function.
* etc/NEWS: Announce changes.
* doc/emacs/programs.texi (Matching): Document new option.
2025-06-07 13:23:31 +03:00
JD Smith
9b30934756 Fix vertical-motion when an image is at EOL under word-wrap
* src/xdisp.c (move_it_in_display_line_to): Fix return value under
word-wrap when a screen line ends with an image that "just fits".
(Bug#67604)
2025-06-07 12:57:52 +03:00
Eli Zaretskii
0bc2a5a2c1 ; Fix last change (bug#77945)
* lisp/faces.el (face-all-attributes):
* etc/NEWS: Reformat and fix wording in documentation.
2025-06-07 12:43:39 +03:00
shipmints
13fa74b73c Add optional inherit argument to 'face-all-attributes' (bug#77945)
* lisp/faces.el (face-all-attributes): Add 'inherit' argument
and pass to 'face-attribute'.
2025-06-07 12:39:49 +03:00
Eli Zaretskii
fc96cc1feb Avoid whitespace-mode breaking standard-display-unicode-special-glyphs
* lisp/whitespace.el (whitespace-display-char-on): Copy from
'standard-display-table' if 'buffer-display-table' is nil.  This
avoids overwriting display-table customizations by features that
modify 'standard-display-table' for global effects.  (Bug#78522)
2025-06-07 12:21:38 +03:00
Eli Zaretskii
9629ade0b0 Teach checkdoc about (:this that) in cl-defun
* lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
Support more complex keyword args.  (Bug#78543)
2025-06-07 12:15:33 +03:00