1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-21 07:30:50 -08:00
Commit graph

176935 commits

Author SHA1 Message Date
Po Lu
bb45d35ea7 ; * etc/NEWS: Document the previous change. 2025-02-19 10:18:10 +08:00
Po Lu
d05894f82d Don't insist on the presence of a mouse in strokes-mode
* lisp/strokes.el (strokes-mode): Don't test `display-mouse-p',
as the presence of a mouse may vary over the course of an Emacs
session.
2025-02-19 10:18:10 +08:00
kobarity
4509662236 Add python-ts-mode to ffap-alist
* lisp/progmodes/python.el (ffap-alist): Add
python-ts-mode.  (Bug#76364)
2025-02-19 03:07:34 +01:00
Stefan Kangas
4faade9f84 ; * etc/NEWS: Move cl-lib related entries to proper section. 2025-02-18 22:36:33 +01:00
Stefan Kangas
4c4f907bad Make cl-locally obsolete
* doc/misc/cl.texi (Declarations): Don't document cl-locally.
* lisp/emacs-lisp/cl-macs.el (cl-locally): Make into obsolete
function alias for progn.
2025-02-18 22:30:41 +01:00
Stefan Kangas
ef34303eaf ; Fix copyright year in last commit 2025-02-18 21:56:00 +01:00
Rahul Martim Juliato
a102dcebb7 Add markdown-ts-mode
* lisp/textmodes/markdown-ts-mode.el: New file.
Ref: https://lists.gnu.org/r/emacs-devel/2024-06/msg01061.html
2025-02-18 21:56:00 +01:00
Stefan Monnier
d685d21e8a (lexical-binding): Allow changing the default value (bug#74145)
* lisp/loadup.el: Preserve (default-toplevel-value 'lexical-binding).

* src/lread.c (Fload, Feval_buffer): Obey (default-toplevel-value
'lexical-binding).

* doc/lispintro/emacs-lisp-intro.texi (Lexical vs Dynamic Binding
Example): Use the lexical dialect also for the dynamic
scoping example.
* doc/lispref/edebug.texi (Edebug Eval): Remove long-obsolete mention
of Edebug support for `lexical-let`.
2025-02-18 15:37:50 -05:00
Gerd Möllmann
790c2f7c1c ; * .mailmap: Change my entries. 2025-02-18 21:27:03 +01:00
Liu Hui
db8af88222 Disable PyREPL in Python shell
The new default REPL (PyREPL) in Python 3.13 is incompatible
with Python shell and displays a warning message when reverting
to the old basic REPL.

* lisp/progmodes/python.el
(python-shell--calculate-process-environment): Use the basic
REPL.  (Bug#76205)
2025-02-18 20:04:17 +01:00
kobarity
a75f4449fa Improve completion in IPython/Python 3.13
IPython/Python 3.13 indirectly imports rlcompleter, and the
completer is set up to reference rlcompleter.__main__.
However, this rlcompleter.__main__ is different from the
__main__ in the REPL execution.  Therefore, this completer
cannot correctly complete the REPL globals.  To address this
issue, we override rlcompleter.__main__ with __main__ only in
the case of IPython.

* lisp/progmodes/python.el (python-shell-completion-native-setup):
Modify __PYTHON_EL_native_completion_setup().  (Bug#76205)
2025-02-18 20:04:16 +01:00
Stefan Kangas
c180966b31 Prefer defvar-keymap in tcl.el
* lisp/progmodes/tcl.el (tcl-mode-map, inferior-tcl-mode-map): Prefer
defvar-keymap.
2025-02-18 20:04:16 +01:00
Stefan Kangas
697e7c3211 Prefer defvar-keymap in pascal.el
* lisp/progmodes/pascal.el (pascal-mode-map, pascal-outline-map):
Prefer defvar-keymap.
2025-02-18 20:04:16 +01:00
Stefan Kangas
941ba65d1e Prefer defvar-keymap in meta-mode.el
* lisp/progmodes/meta-mode.el (meta-common-mode-map): Prefer
defvar-keymap.
2025-02-18 20:04:16 +01:00
Stefan Kangas
93206cd138 Prefer plusp to open-coding it in image-dired
* lisp/image/image-dired.el (image-dired-display-thumbs)
(image-dired-forward-image, image-dired-slideshow-start)
(image-dired-line-up-interactive): Prefer plusp to open-coding it.
2025-02-18 20:04:16 +01:00
Stefan Monnier
20edecd21f Merge remote-tracking branch 'refs/remotes/origin/master' 2025-02-18 10:07:34 -05:00
Gerd Möllmann
4d3a618941 ; * src/menu.c (x_popup_menu_1): Fix typo. 2025-02-18 16:05:38 +01:00
Stefan Monnier
41624d94ce (replace_range): Delete last arg, always the negation of the first bool
* src/insdel.c (replace_range): Merge last arg, with `prepare`.
Rename `prepare` to `run-mode-hooks`.
* src/lisp.h (replace_range): Adjust accordingly.
* src/editfns.c (Ftranslate_region_internal):
* src/cmds.c (internal_self_insert):
* src/search.c (Freplace_match): Adjust callers.
2025-02-18 10:05:34 -05:00
Stefan Monnier
19f5ccbf39 src/search.c (Freplace_match): Let replace_range call the a-c-f 2025-02-18 09:54:48 -05:00
Stefan Monnier
9854103b52 * src/editfns.c (Fsubst_char_in_region): Delete left-over code
This code was missed back in 2000 (commit 1b16afa45bb6).
2025-02-18 09:52:35 -05:00
Gerd Möllmann
bf067daf0d * src/menu.c (x_popup_menu_1): Use calln. 2025-02-18 15:47:18 +01:00
Eli Zaretskii
c54d6680d3 ; * etc/NEWS: Fix punctuation. 2025-02-18 16:40:42 +02:00
Po Lu
37fad04830 * src/menu.c (x_popup_menu_1): Fix coding style. 2025-02-18 21:00:08 +08:00
Po Lu
0cf3823463 Don't access overriding-text-conversion-style when unbound
* lisp/replace.el (perform-replace): Don't access
overriding-text-conversion-style when unbound, and also avoid
needlessly polluting this symbol with a binding.  (bug#76371)
2025-02-18 20:58:55 +08:00
Gerd Möllmann
17bf6b9efe Add x-popup-menu-function
* src/menu.c (x_popup_menu_1): If non-nil call x-popup-menu-function.
(syms_of_menu): DEFSYM x-popup-menu-function, DEFVAR_LISP it.
2025-02-18 05:13:16 +01:00
Gerd Möllmann
a51cfbbd15 Hide cursor based on tty frame's `cursor-type'
* src/dispnew.c (terminal_cursor_magic): if selected-frame has
`(cursor-type . nil)' parameter.
2025-02-18 05:05:39 +01:00
john muhl
df93e53a1c Add MPD stats viewer to 'mpc' (Bug#76350)
* lisp/mpc.el (mpc-server-stats): New command.
(mpc-mode-menu): Add menu item.
(mpc--server-stats-date, mpc--server-stats-duration):
New variable.
(mpc--server-stats-date, mpc--server-stats-duration):
(mpc--server-stats-format): New function.
(mpc-song-viewer-value, mpc-song-viewer-tag):
(mpc-song-viewer-empty): Remove face.
(mpc-table-value, mpc-table-key, mpc-table-empty): New face.
(mpc-describe-song): Use new table face names.
2025-02-17 22:40:29 -05:00
Basil L. Contovounesios
2e3cf73e05 Improve autoconf-mode macro detection
* doc/lispref/modes.texi (Search-based Fontification): Fix
indentation of (MATCHER . FACESPEC) example.
* doc/misc/cc-mode.texi (Performance Issues): Index
defun-prompt-regexp under variables, not functions.

* lisp/progmodes/autoconf.el (autoconf--symbol, autoconf--macro):
New rx definitions.
(autoconf-definition-regexp): Use an optional second capture group
to indicate a function rather than variable definition.  Detect
AC_DEFINE defining a function-like CPP macro.  Skip more shell
syntax such as variable ${} expansion and command `` substitution in
AC_DEFINE_UNQUOTED variable.  Match AH_VERBATIM, AM_CONDITIONAL, and
AM_MISSING_PROG as defining variables, and AC_DEFUN, AC_DEFUN_ONCE,
AU_ALIAS, and AU_DEFUN as defining functions.  Document first
capture group in docstring.
(autoconf-font-lock-keywords): Use autoconf--macro to match more
Autoconf macros, such as those defined in the Autoconf Archive and
Gnulib.  Reserve font-lock-function-name-face for function
definitions as determined by autoconf-definition-regexp, and use
font-lock-variable-name-face for the rest instead.  Use Font Lock
face symbols directly in place of their corresponding variable.
Fontify M4 changequote primitive only as a standalone symbol.
(autoconf-imenu-generic-expression): Add commentary mentioning new
submenu possibility.
(autoconf-current-defun-function): Update docstring accuracy.
Replace line-end-position with pos-eol since there are no fields.
(autoconf-mode): Define defun-prompt-regexp in terms of
autoconf--macro to support more toplevel macros, such as those
defined in Autoheader, M4sh, etc.  Set
open-paren-in-column-0-is-defun-start to nil to avoid false
positives when an Autoconf quote character is in column zero.

* test/lisp/progmodes/autoconf-resources/configure.ac: New file.
* test/lisp/progmodes/autoconf-tests.el
(autoconf-tests-current-defun-function-define)
(autoconf-tests-current-defun-function-subst): Replace character
motion with search.
(autoconf-tests-autoconf-mode-comment-syntax): Ditto.  Test both dnl
and # comments.  Use syntax-ppss-context.
(autoconf-tests-font-lock): New test.
2025-02-17 17:28:05 -08:00
Antero Mejr
9cedb434ee Add file completion for git apply, am to pcomplete
* lisp/pcmpl-git.el (pcomplete/git): Add an "apply" and "am" clause to
complete all files.  (Bug#76356)
2025-02-18 00:03:05 +01:00
Stefan Kangas
515542b653 Prefer oddp/evenp to open-coding in a few more cases
* lisp/arc-mode.el (archive-zip-summarize):
* lisp/cus-edit.el (setopt):
* lisp/isearch.el (isearch-backslash):
* lisp/simple.el (blink-paren-post-self-insert-function):
* lisp/subr.el (setq-local, buffer-local-set-state):
* lisp/term.el (term-within-quotes):
* test/src/data-tests.el (test-bool-vector-bv-from-hex-string): Use
oddp/evenp instead of open-coding them.
Reported by Pip Cet <pipcet@protonmail.com>.
2025-02-18 00:00:31 +01:00
Richard Stallman
abd861ca26 merging with my changes in cond-star.el. 2025-02-17 16:56:22 -05:00
Stefan Kangas
8a7c1a31ac Prefer plusp/minusp to open-coding them in subr.el
* lisp/subr.el (lsh, nbutlast, number-sequence, add-to-history)
(read-char-from-minibuffer, split-string, subst-char-in-string)
(forward-whitespace, forward-symbol, forward-same-syntax)
(progress-reporter-do-update, version-list-<): Prefer plusp/minusp to
open-coding them.
2025-02-17 22:48:47 +01:00
Stefan Kangas
83bc811f7f Prefer plusp/minusp to cl-plusp/cl-minusp
* lisp/dired.el (dired--move-to-next-line):
* lisp/emacs-lisp/ert.el (ert-run-tests-batch, ert-face-for-stats):
* lisp/emacs-lisp/pp.el (pp--format-definition):
* lisp/gnus/gnus-icalendar.el (gnus-icalendar-event--org-timestamp):
* lisp/ibuffer.el (ibuffer-compile-format, ibuffer--format-title)
(ibuffer--format-summary):
* lisp/image-mode.el (image-transform-set-percent):
* lisp/international/emoji.el (emoji--list-generate, emoji--read-emoji):
* lisp/progmodes/ebrowse.el (ebrowse-set-tree-indentation)
(ebrowse-set-member-buffer-column-width)
(ebrowse-cyclic-display-next/previous-member-list)
(ebrowse-draw-member-short-fn)
(ebrowse-switch-member-buffer-to-sibling-class, ebrowse-push-position):
* lisp/textmodes/dns-mode.el (dns-mode-reverse-and-expand-ipv6):
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--not-writable-directory)
(bytecomp-tests--dest-mountpoint)
(bytecomp-tests--target-file-no-directory):
* test/lisp/emacs-lisp/cl-seq-tests.el (cl-member-if-test)
(cl-member-if-not-test, cl-assoc-if-not-test, cl-rassoc-if-test)
(cl-rassoc-if-not-test):
* test/src/emacs-module-tests.el (mod-test-add-nanosecond/valid):
Prefer plusp and minusp to cl-plusp and cl-minusp.
2025-02-17 22:46:56 +01:00
Stefan Kangas
afbf932106 New functions plusp and minusp
* lisp/emacs-lisp/cl-lib.el (cl-plusp, cl-minusp): Move from here...
* lisp/subr.el (plusp, minusp): ...to here.  Make old names into
aliases, documented as deprecated.  Add type declarations.  Change from
defsubst to regular functions with compiler macros.
* lisp/obsolete/cl.el: Don't alias plusp and minusp.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-plusp)
(cl-lib-test-minusp): Move tests from here...
* test/lisp/subr-tests.el (subr-test-plusp, subr-test-minusp):
...to here.

* doc/lispref/numbers.texi (Predicates on Numbers): Document plusp
and minusp.
* doc/misc/cl.texi (Predicates on Numbers): Delete cl-plusp and
cl-minusp.
* lisp/emacs-lisp/shortdoc.el (number): Document plusp and minusp
instead of cl-plusp and cl-minusp.
2025-02-17 22:46:56 +01:00
Yuan Fu
1d27028df8
; Update comments for mhtml-ts-mode--treesit-indent-rules
* lisp/textmodes/mhtml-ts-mode.el:
(mhtml-ts-mode--treesit-indent-rules): Update comments.
2025-02-17 13:41:30 -08:00
Yuan Fu
237afc82b2
Rename treesit-add-simple-indent-rules
* lisp/treesit.el (treesit-add-simple-indent-rules): Rename to
treesit-simple-indent-add-rules.
* etc/NEWS: Update.
* test/src/treesit-tests.el:
(treesit-test-simple-indent-add-rules): Update accordingly.
2025-02-17 13:38:15 -08:00
Yuan Fu
928bad9360
Rename treesit-simple-indent-modify-rules and fix docstring
* lisp/treesit.el (treesit-simple-indent-modify-rules): Rename
and fix docstring.  It should be matcher, not anchor.  Also
reword a little bit.
* etc/NEWS: Update.
* lisp/textmodes/mhtml-ts-mode.el:
(mhtml-ts-mode--treesit-indent-rules): Update accordingly.
2025-02-17 13:38:15 -08:00
Yuan Fu
77c7ba7fac
Make mhtml-ts-mode--treesit-indent-rules a function
* lisp/textmodes/mhtml-ts-mode.el:
(mhtml-ts-mode--treesit-indent-rules): Turn into a function.
(mhtml-ts-mode): Update accordingly.
2025-02-17 13:38:14 -08:00
Kévin Le Gouguec
15d2fc6498 Test vc-git-dir-extra-headers directly (bug#76187)
* test/lisp/vc/vc-git-tests.el (vc-git-test--run): Make sure to
log output from failing Git commands.
(vc-git-test--dir-headers): Stop bothering with vc-dir
internals and just invoke the branch-munging and
header-formatting code we mean to test.
(vc-git-test-dir-branch-headers): Stop invoking vc-dir; just set
default-directory to be able to pass it to the backend function.
2025-02-17 21:47:14 +01:00
Pip Cet
53a5dada41 Fix compilation errors due to insufficient compiler safety (bug#63288)
The default safety level is 1.  Restoring the default safety level to
1 after it was temporarily 0 should reset byte-compile-delete-errors
to nil, its default level.  Failing to do that resulted in
miscompilation of code in highly-parallel builds.

* lisp/emacs-lisp/cl-macs.el (cl--do-proclaim): Change
'byte-compile-delete-errors' to become t only at 'safety' level 0, not
levels 1 or 2.
2025-02-17 19:03:14 +00:00
Stefan Kangas
fd5dbea21b Prefer '(oddp A)' to '(= 1 (logand A 1))'
* lisp/calendar/todo-mode.el (todo-padded-string):
* lisp/emacs-lisp/gv.el (setf):
* lisp/emacs-lisp/macroexp.el (macroexp--expand-all):
* lisp/hexl.el (hexl-insert-hex-string):
* lisp/play/gamegrid.el (gamegrid-xbm):
* lisp/play/hanoi.el (hanoi-internal):
* lisp/progmodes/ebnf2ps.el (ebnf-end-of-string):
* lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
* lisp/progmodes/ruby-mode.el (ruby-backward-sexp):
* lisp/ps-print.el (ps-print-page-p):
(ps-print-sheet-p): Prefer '(oddp A)' to '(= 1 (logand A 1))' and
variations thereof.
2025-02-17 19:33:56 +01:00
Stefan Kangas
7c7cf3e8c8 Prefer '(evenp A)' to '(= 0 (logand A 1))'
* lisp/calc/calc-arith.el (calcFunc-dint):
* lisp/calculator.el (calculator-expt):
* lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf):
* lisp/emacs-lisp/elint.el (elint-check-defcustom-form):
* lisp/ps-print.el (ps-print-page-p):
(ps-print-sheet-p): Prefer '(evenp A)' to '(= 0 (logand A 1))' and
variations thereof.
2025-02-17 19:30:44 +01:00
Juri Linkov
1a8493f0a5 ; Small fixes for the recently added 'mhtml-ts-mode'
* lisp/textmodes/mhtml-ts-mode.el (mhtml-ts-mode): Add autoload cookie.

* lisp/treesit.el (treesit-modify-indent-rules): Use 'rules'
instead of 'js--treesit-indent-rules'.
2025-02-17 19:40:20 +02:00
Eli Zaretskii
c380a72679 ; * CONTRIBUTE: Fix style. 2025-02-17 18:06:18 +02:00
Eli Zaretskii
1136963b4e ; * src/xdisp.c (maybe_produce_line_number): Fix last change (bug#76362). 2025-02-17 18:00:30 +02:00
Mattias Engdegård
bb86bd2bf6 ; * lisp/term.el (term-control-seq-regexp): remove duplicate chars 2025-02-17 16:24:53 +01:00
Mattias Engdegård
89f88f06a4 Make the rx eval form use lexical binding when active
Previously, it always used dynamic binding.

* lisp/emacs-lisp/rx.el (rx--expand-eval): Heed `lexical-binding`.
* test/lisp/emacs-lisp/rx-tests.el (rx-tests--x, rx-tests--get-x)
(rx-eval): Add test case.
* etc/NEWS: Announce.
2025-02-17 16:24:53 +01:00
Po Lu
ba6779ab2a ; Move Markdown quotation detection to commit-msg hook
* build-aux/git-hooks/prepare-commit-msg: Don't detect markdown
quotes here...

* build-aux/git-hooks/commit-msg: but here, to intercept
interactively composed log messages.
2025-02-17 22:43:36 +08:00
Gerd Möllmann
d80ac0fbaa Fix child coordinate calculation (bug#76321)
* src/dispnew.c (rect_intersect): Simplify.
(copy_child_glyphs): Compute child coordinates using child_xy.
2025-02-17 11:22:28 +01:00
Michael Albinus
ae4685c5e2 ; * etc/NEWS: Fix typos. 2025-02-17 10:53:58 +01:00