]> git.eshelyaron.com Git - emacs.git/log
emacs.git
2 weeks agoImprove menu-bar-item-at-x
Gerd Möllmann [Tue, 25 Feb 2025 08:23:58 +0000 (09:23 +0100)]
Improve menu-bar-item-at-x

* lisp/menu-bar.el (menu-bar-item-at-x): Handle case of duplicate keys
in the menu-bar definition.

(cherry picked from commit 41837050181a7cc313f1e9951136f4356601fc4a)

2 weeks agoPrefer incf to cl-incf in progmodes/*.el
Stefan Kangas [Tue, 25 Feb 2025 07:28:30 +0000 (08:28 +0100)]
Prefer incf to cl-incf in progmodes/*.el

* lisp/progmodes/bug-reference.el (bug-reference--overlay-bounds):
* lisp/progmodes/c-ts-common.el (c-ts-common-statement-offset):
* lisp/progmodes/compile.el (compilation--note-type):
* lisp/progmodes/ebrowse.el (ebrowse-files-table)
(ebrowse-fill-member-table, ebrowse-find-pattern)
(ebrowse-draw-member-short-fn, ebrowse-gather-statistics):
* lisp/progmodes/elixir-ts-mode.el
(elixir-ts--electric-pair-string-delimiter):
* lisp/progmodes/gdb-mi.el (gdb-thread-list-handler-custom):
* lisp/progmodes/grep.el (grep-filter):
* lisp/progmodes/hideif.el (hif-backward-comment, hif-__COUNTER__)
(hif-token-concatenation, hif-find-define):
* lisp/progmodes/js.el (js--pstate-is-toplevel-defun)
(js-beginning-of-defun, js-end-of-defun, js--pitems-to-imenu)
(js--imenu-to-flat, js-ts--syntax-propertize):
* lisp/progmodes/tcl.el (tcl--syntax-of-quote):
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts--syntax-propertize-captures): Prefer incf to cl-incf.

(cherry picked from commit d1d85e0f35d4cb22f2cdfda0672ca33f5bb87b21)

2 weeks ago; * .gitignore: Add new VCS ignores.
Po Lu [Mon, 24 Feb 2025 13:06:41 +0000 (21:06 +0800)]
; * .gitignore: Add new VCS ignores.

(cherry picked from commit 99d116a8f41c29193cb41d0cde24a7051237ecf4)

2 weeks ago; Begin integrating facilities for executing ERT tests on Android
Po Lu [Mon, 24 Feb 2025 13:06:30 +0000 (21:06 +0800)]
; Begin integrating facilities for executing ERT tests on Android

* test/infra/android/README:

* test/infra/android/bin/AtsStub.java (AtsStub):

* test/infra/android/bin/README:

* test/infra/android/test-controller.el (tramp)
(ats-adb-executable, ats-adb-host, ats-adb-infile, ats-cache)
(ats-adb-disable-stderr, ats-adb-device-regexp, ats-adb)
(ats-adb-process-filter, ats-start-adb, ats-enumerate-devices)
(ats-online-devices, ats-memoize, ats-ps-device, ats-getprop)
(ats-get-sdk-version, ats-package-list-regexp)
(ats-is-package-debuggable, ats-list-users, ats-get-package-aid)
(ats-aid-user-offset, ats-aid-isolated-start, ats-aid-app-start)
(ats-aid-to-uid, ats-uid-to-username, ats-verify-directory)
(ats-get-package-data-directory)
(ats-get-user-external-storage-directory, ats-transfer-padding)
(ats-exec-script, ats-exec-script-checked)
(ats-use-private-staging-directory, ats-get-staging-directory)
(ats-base64-available, ats-echo-n-e, ats-echo-c, ats-octab, c)
(ats-upload-encode-binary, ats-upload, ats-download)
(ats-create-empty-temporary, ats-run-jar)
(ats-supports-am-force-stop, ats-supports-am-force-stop-user)
(ats-kill-process-by-username-and-name)
(ats-portforward-local-type-regexp)
(ats-portforward-remote-type-regexp, ats-portforward-list-regexp)
(ats-portreverse-type-regexp, ats-portreverse-list-regexp)
(ats-reverse-list, ats-reverse-tcp, ats-forward-list)
(ats-forward-tcp, ats-is-tail-available, ats-java-int-min)
(ats-java-int-max, ats-java-long-min, ats-java-long-max)
(ats-intent-array-type, ats-fmt-array-element, ats-build-intent)
(ats-working-stub-file, ats-file-directory, ats-am-start-intent)
(ats-create-commfile, ats-watch-commfile, ats-server)
(ats-default-port, ats-accepting-connection)
(ats-address-to-hostname, ats-is-localhost-p)
(ats-server-sentinel, ats-server-log, ats-server-exists-p)
(ats-start-server, ats-await-connection-timeout)
(ats-await-connection, ats-forward-server-sentinel)
(ats-forward-server-filter, ats-reverse-server)
(ats-forward-server, ats-cancel-forward-server, ats-remote-port)
(ats-in-connection-context, ats-outstanding-reverse-connection)
(ats-terminate-reverse-safely, ats-disconnect-internal)
(ats-read-connection, ats-disconnect, ats-establish-connection)
(ats-connect, ats-eval, test-controller):

* test/infra/android/test-driver.el (ats-process)
(ats-connection-established, ats-header, ats-in-eval)
(ats-eval-as-printed, ats-eval-serial, ats-process-filter)
(ats-display-status-buffer, ats-establish-connection)
(ats-driver-log, ats-initiate-connection, test-driver): New
files.

(cherry picked from commit 08077788dbcc535e8840495d62cee79434766b3d)

2 weeks ago; Re-enable 'typescript-ts-mode' indentation tests
john muhl [Mon, 24 Feb 2025 23:31:15 +0000 (17:31 -0600)]
; Re-enable 'typescript-ts-mode' indentation tests

* test/lisp/progmodes/typescript-ts-mode-tests.el
(typescript-ts-mode-test-indentation): Remove unstable tag.
(Bug#76536)

(cherry picked from commit ae5674c758a26ce598cdca37d83d268b51fe53dd)

2 weeks agoMake cl-gensym obsolete in favor of built-in gensym
Stefan Kangas [Mon, 24 Feb 2025 23:12:00 +0000 (00:12 +0100)]
Make cl-gensym obsolete in favor of built-in gensym

* lisp/emacs-lisp/cl-macs.el (cl-gensym): Declare function
obsolete in favor of gensym, added in Emacs 26.1.  The only reason
for its existence is that it allows an integer argument, but
that's not really useful, so it's better to remove this complexity.
Ref: https://lists.gnu.org/r/emacs-devel/2017-09/msg00313.html
* doc/misc/cl.texi (Symbols, Creating Symbols, Efficiency Concerns)
(Obsolete Setf Customization): Don't document above obsolete function.
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause):
* lisp/emacs-lisp/edebug.el (edebug-make-form-wrapper):
* lisp/obsolete/cl.el (cl--function-convert, lexical-let):
* lisp/obsolete/thumbs.el (thumbs-temp-file):
* lisp/progmodes/eglot.el (eglot--lambda)
(eglot--when-live-buffer, eglot--when-buffer-window)
(eglot--collecting-xrefs, eglot--glob-parse):
* lisp/progmodes/flymake.el (flymake--run-backend):
* test/lisp/emacs-lisp/package-tests.el (with-package-test):
* test/lisp/progmodes/eglot-tests.el (eglot--guessing-contact):
* test/lisp/progmodes/elisp-mode-tests.el
(elisp-shorthand-read-buffer, elisp-shorthand-read-from-string): Prefer
plain gensym to cl-gensym in files that can depend on Emacs 26.1.
* lisp/jsonrpc.el (jsonrpc-lambda, jsonrpc-request): Prefer gensym to
cl-gensym only when defined, as this file supports Emacs 25.1
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-lib-test-gensym): Simplify
test as 'should' no longer uses cl-gensym.

(cherry picked from commit 60b071e224136207f7fa24983037522e637e7efa)

2 weeks agoUse cl-with-gensyms in a few more cases
Stefan Kangas [Mon, 24 Feb 2025 22:02:20 +0000 (23:02 +0100)]
Use cl-with-gensyms in a few more cases

* doc/misc/cl.texi (Macro Bindings):
* lisp/emacs-lisp/comp.el (comp--with-sp):
* lisp/emacs-lisp/subr-x.el (with-buffer-unmodified-if-unchanged):
* lisp/eshell/em-extpipe.el (eshell-extpipe--or-with-catch):
* lisp/international/mule-cmds.el (with-locale-environment):
* lisp/kmacro.el (kmacro-menu--marks-exist-p):
* test/lisp/emacs-lisp/cl-extra-tests.el (cl-lib-test-remprop):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-deduplicate):
* test/lisp/emacs-lisp/ert-tests.el (ert-test-special-operator-p):
* test/lisp/kmacro-tests.el (kmacro-tests-should-insert)
(kmacro-tests-should-match-message):
* test/lisp/replace-tests.el (replace-tests-with-undo): Use
cl-with-gensyms instead of bare gensym call.

(cherry picked from commit 1a22bc0fd672e2c71955faf81ff2cfd1c0c76be9)

2 weeks agoEglot: add out-of-box support for neocmakelsp
João Távora [Mon, 24 Feb 2025 19:12:21 +0000 (19:12 +0000)]
Eglot: add out-of-box support for neocmakelsp

* lisp/progmodes/eglot.el (eglot-server-programs): Add
neocmakelsp.

(cherry picked from commit 7bb53815d2bcc7af8bc613e67e2aeb4ec01db901)

2 weeks agoEglot: use eglot-advertise-cancellation in more situations
João Távora [Sun, 16 Feb 2025 18:27:48 +0000 (18:27 +0000)]
Eglot: use eglot-advertise-cancellation in more situations

The async requests frequently issued by ElDoc are a significant
source of request pile-up on the server side (for some servers).

With this change, Eglot will issue additional LSP
$/cancelRequest notifications for in-flight requests of certain
kinds in the pre-command hook.

This required a small change to the 'jsonrpc-async-request'
entrypoint.

This feature is experimental.

* lisp/jsonrpc.el (jsonrpc-async-request): No longer returns nil.

* lisp/progmodes/eglot.el (eglot--inflight-async-requests): New variable.
(eglot--cancel-inflight-async-requests): New function.
(eglot--async-request): New function.
(eglot--pre-command-hook): Call eglot--cancel-inflight-async-requests.
(eglot-signature-eldoc-function, eglot-hover-eldoc-function)
(eglot-highlight-eldoc-function, eglot-code-action-suggestion):
Use eglot--async-request.

(cherry picked from commit e4c911adeaa679a92fab58b196b27c502aaed2f3)

2 weeks ago; Skip commit 0ac0f355e50639fb2cdacb6cbfca696d5592a89e
Eshel Yaron [Wed, 26 Feb 2025 09:36:59 +0000 (10:36 +0100)]
; Skip commit 0ac0f355e50639fb2cdacb6cbfca696d5592a89e

2 weeks agoFix bad fontification of inactive widgets
Mauro Aranda [Mon, 24 Feb 2025 22:39:43 +0000 (19:39 -0300)]
Fix bad fontification of inactive widgets

* lisp/wid-edit.el (widget-specify-inactive): When a widget is
already inactive, still move the overlay to the desired
positions.  Improve docstring.  (Bug#69941)

* doc/misc/widget.texi (default): Document the need to call the
:deactivate function when modifying an inactive widget.

* test/lisp/wid-edit-tests.el
(widget-test-modification-of-inactive-widget): New test

(cherry picked from commit 363adcc69d322bdede1934b47e9dd1fbc3148ab9)

2 weeks ago; Set :version on recently changed user option
Stefan Kangas [Mon, 24 Feb 2025 21:37:17 +0000 (22:37 +0100)]
; Set :version on recently changed user option

* lisp/vc/vc-hooks.el (vc-directory-exclusion-list): Set :version.

(cherry picked from commit 60232a30e360c00fb303cb033d4aec15a9e41342)

2 weeks agoAdd Obsolete-since header to hashcash.el
Stefan Kangas [Tue, 11 Feb 2025 17:51:43 +0000 (18:51 +0100)]
Add Obsolete-since header to hashcash.el

* lisp/obsolete/hashcash.el: Add Obsolete-since header.  (Bug#76195)

(cherry picked from commit 706970fc25de34fd63c21bed13e31e96ae258a28)

2 weeks agoMove hashcash.el to lisp/obsolete
Stefan Kangas [Tue, 11 Feb 2025 17:49:25 +0000 (18:49 +0100)]
Move hashcash.el to lisp/obsolete

* lisp/mail/hashcash.el: Move from here...
* lisp/obsolete/hashcash.el: ...to here.  (Bug#76195)

(cherry picked from commit 074b32d53f7a8c590895d49faf0f157aa800544e)

2 weeks agoDrop hashcash support from Gnus and Message mode
Stefan Kangas [Tue, 11 Feb 2025 17:47:27 +0000 (18:47 +0100)]
Drop hashcash support from Gnus and Message mode

* lisp/gnus/gnus.el (gnus-install-group-spam-parameters): Remove
'spam-use-hashcash' option.
* lisp/gnus/message.el (message-generate-hashcash): Mark as
obsolete, default to nil unconditionally.
(message-send-mail, message-setup-1, message-resend): Don't
generate hashcash headers.
* lisp/gnus/spam.el (hashcash): Don't require.
(spam-use-hashcash):
(spam-check-hashcash): Mark as obsolete.
(spam-install-hooks): Don't install 'spam-use-hashcash' hook.
* doc/misc/message.texi (Mail Headers): Don't document above
obsoleted variable 'message-generate-hashcash'.
* doc/misc/gnus.texi (Hashcash): Delete section.
(Anti-spam Hashcash Payments): Delete subsection.
(Extending the Spam package): Don't mention Hashcash.  (Bug#76195)

(cherry picked from commit 250f4214752d223981259e453c55a8c5cabb111a)

2 weeks agoMake cl-declare obsolete
Stefan Kangas [Mon, 24 Feb 2025 21:21:46 +0000 (22:21 +0100)]
Make cl-declare obsolete

* lisp/emacs-lisp/cl-macs.el (cl-declare): Make obsolete.
* doc/misc/cl.texi (Declarations): Don't document above obsolete
macro.  (Bug#63288)

(cherry picked from commit 7d5fe06e79defb0669ef2ba34d644e0836e54a38)

2 weeks agoMove buffer related functions from ert-x.el to ert.el
Stefan Kangas [Mon, 24 Feb 2025 19:25:01 +0000 (20:25 +0100)]
Move buffer related functions from ert-x.el to ert.el

* lisp/emacs-lisp/ert-x.el (ert--text-button)
(ert--format-test-buffer-name, ert--test-buffers)
(ert--test-buffer-button, ert--test-buffer-button-action)
(ert--call-with-test-buffer, ert-with-test-buffer)
(ert-with-buffer-selected, ert-kill-all-test-buffers)
(ert-call-with-buffer-renamed, ert-buffer-string-reindented): Move
from here...
* lisp/emacs-lisp/ert.el (ert--text-button)
(ert--format-test-buffer-name, ert--test-buffers)
(ert--test-buffer-button, ert--test-buffer-button-action)
(ert--call-with-test-buffer, ert-with-test-buffer)
(ert-kill-all-test-buffers, ert-with-buffer-selected)
(ert-call-with-buffer-renamed, ert-with-buffer-renamed): ...to
here.
* doc/misc/ert.texi (Helpers for Buffers): Break out new section...
(Helper Functions): ...from here.
* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer-selected): Move
obsolete definition to the end of the file.

* test/lisp/emacs-lisp/ert-x-tests.el
(ert--hash-table-to-alist, ert-test-test-buffers)
(ert-test-with-buffer-selected/current)
(ert-test-with-buffer-selected/selected)
(ert-test-with-buffer-selected/nil-buffer)
(ert-test-with-buffer-selected/modification-hooks)
(ert-test-with-buffer-selected/read-only)
(ert-test-with-buffer-selected/return-value)
(ert-test-with-test-buffer-selected/modification-hooks)
(ert-test-with-test-buffer-selected/read-only)
(ert-test-with-test-buffer-selected/return-value)
(ert-test-with-test-buffer-selected/buffer-name): Move tests from
here...
* test/lisp/emacs-lisp/ert-tests.el
(ert--hash-table-to-alist, ert-test-test-buffers)
(ert-test-with-buffer-selected/current)
(ert-test-with-buffer-selected/selected)
(ert-test-with-buffer-selected/nil-buffer)
(ert-test-with-buffer-selected/modification-hooks)
(ert-test-with-buffer-selected/read-only)
(ert-test-with-buffer-selected/return-value)
(ert-test-with-test-buffer-selected/selected)
(ert-test-with-test-buffer-selected/modification-hooks)
(ert-test-with-test-buffer-selected/read-only)
(ert-test-with-test-buffer-selected/return-value)
(ert-test-with-test-buffer-selected/buffer-name): ...to here.
* test/lisp/progmodes/hideshow-tests.el (ert-x):
* test/lisp/simple-tests.el (ert-x):
* test/lisp/whitespace-tests.el (ert-x): Don't require.

(cherry picked from commit c9e681aa0c75feaf1c0a5495b0d475698cbdb653)

2 weeks ago; Delete outdated comment from ert-x.el
Stefan Kangas [Mon, 24 Feb 2025 19:00:49 +0000 (20:00 +0100)]
; Delete outdated comment from ert-x.el

(cherry picked from commit d9f165b129f5c9c94a78bd4237be6c7171085d35)

2 weeks agoSupport selecting buffer in ert-with-test-buffer
Stefan Kangas [Mon, 24 Feb 2025 17:54:23 +0000 (18:54 +0100)]
Support selecting buffer in ert-with-test-buffer

* lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Add new keyword
argument :selected to make the buffer current and selected.
(ert-with-test-buffer-selected): Make obsolete and redefine in
terms of ert-with-test-buffer.

* doc/misc/ert.texi (Helper Functions): Document above new
:selected keyword argument, and remove documentation of
ert-with-test-buffer-selected.

* test/lisp/emacs-lisp/ert-x-tests.el
(ert-test-with-test-buffer-selected/selected)
(ert-test-with-test-buffer-selected/modification-hooks)
(ert-test-with-test-buffer-selected/read-only)
(ert-test-with-test-buffer-selected/return-value)
(ert-test-with-test-buffer-selected/buffer-name):
* test/lisp/progmodes/hideshow-tests.el
(hideshow-tests-with-temp-buffer-selected):
* test/lisp/simple-tests.el (kill-whole-line-invisible)
(kill-whole-line-read-only, kill-whole-line-after-other-kill)
(kill-whole-line-buffer-boundaries)
(kill-whole-line-line-boundaries):
* test/lisp/whitespace-tests.el
(whitespace-tests--with-test-buffer, whitespace-tests--global): Use
ert-with-test-buffer instead of ert-with-test-buffer-selected.

(cherry picked from commit 13ca18e1f79f9c02ac46735b58bc5126f77f0a77)

2 weeks agoUse cl-with-gensyms in with-sqlite-transaction
Stefan Kangas [Sun, 23 Feb 2025 23:55:16 +0000 (00:55 +0100)]
Use cl-with-gensyms in with-sqlite-transaction

* lisp/sqlite.el (cl-lib): Require at compile-time.
(with-sqlite-transaction): Use cl-with-gensyms.

(cherry picked from commit 637c73d3a804f7e64736b87994e8974892529b00)

2 weeks agoPrefer incf to cl-incf in textmodes/*.el
Stefan Kangas [Mon, 24 Feb 2025 18:27:21 +0000 (19:27 +0100)]
Prefer incf to cl-incf in textmodes/*.el

* lisp/textmodes/css-mode.el (css--rgb-color):
* lisp/textmodes/reftex-dcr.el (reftex-view-regexp-match):
* lisp/textmodes/reftex-global.el (reftex-find-duplicate-labels)
(reftex-renumber-simple-labels, reftex-translate):
* lisp/textmodes/reftex-index.el (reftex-index-select-tag)
(reftex-index-phrases-info, reftex-query-index-phrase):
* lisp/textmodes/reftex-parse.el (reftex-where-am-I)
(reftex-what-macro, reftex-nth-arg, reftex-section-number):
* lisp/textmodes/reftex-ref.el (reftex-uniquify-label):
* lisp/textmodes/reftex-sel.el (reftex-insert-docstruct):
* lisp/textmodes/reftex.el (reftex-next-multifile-index)
(reftex-compile-variables, reftex-parse-args)
(reftex-select-external-document):
* lisp/textmodes/rst.el (rst-display-hdr-hierarchy)
(rst-toc-insert-children, rst-apply-indented-blocks)
(rst-enumerate-region, rst-convert-bullets-to-enumeration):
* lisp/textmodes/tex-mode.el (tex-count-words): Prefer incf to cl-incf.

(cherry picked from commit 0eada9e1d30b9072cdc1bf8388205773cd23986f)

2 weeks ago* lisp/msb.el (msb-mode-map): Use 'defvar-keymap'.
Robert Pluim [Thu, 20 Feb 2025 16:40:43 +0000 (17:40 +0100)]
* lisp/msb.el (msb-mode-map): Use 'defvar-keymap'.

(cherry picked from commit ee04b7da8059acb230fe32f508947ecb6a24b7e2)

2 weeks agoBetter support for nil enable-local-variables in vc-find-revision-no-save
Juri Linkov [Mon, 24 Feb 2025 17:51:13 +0000 (19:51 +0200)]
Better support for nil enable-local-variables in vc-find-revision-no-save

* lisp/vc/diff-mode.el (diff-syntax-fontify-props):
* lisp/vc/vc.el (vc-find-revision-no-save):
Use enable-local-variables as is only when it's one of these values:
:safe, :all, or nil.  Otherwise, for all remaining values that query,
use :safe.  Also use non-nil 'find-file' arg of 'normal-mode'.
https://lists.gnu.org/archive/html/emacs-devel/2025-02/msg00897.html

(cherry picked from commit 24e8477aa2f5ef228107707078735ade31e5d1c3)

2 weeks ago; Fix thinko in subr-test-zerop
Stefan Kangas [Mon, 24 Feb 2025 17:38:28 +0000 (18:38 +0100)]
; Fix thinko in subr-test-zerop

* test/lisp/subr-tests.el (subr-test-zerop): Fix test.
Reported by Pip Cet <pipcet@protonmail.com>.

(cherry picked from commit 3f72af997308db3160f05ace47602f1f2b8afd9c)

2 weeks agoUse 'password-colon-equivalents' when matching "Re" variants
Robert Pluim [Fri, 14 Feb 2025 15:26:49 +0000 (16:26 +0100)]
Use 'password-colon-equivalents' when matching "Re" variants

* lisp/mail/mail-utils.el (mail--wrap-re-regexp): Use
'password-colon-equivalents'.

(cherry picked from commit 0c8ec155f60bdebaf2f7a86e57e7c559c5552821)

2 weeks agoAdd ".jj" to vc-directory-exclusion-list
Rudi Schlatte [Mon, 24 Feb 2025 17:04:46 +0000 (18:04 +0100)]
Add ".jj" to vc-directory-exclusion-list

* lisp/vc/vc-hooks.el (vc-directory-exclusion-list): Add ".jj", a
directory used by the jujutsu version control system.  (Bug#76524)

(cherry picked from commit bca04d3c580e3bd3d787274973d33ce95098d423)

2 weeks agoOptionally have 'display-buffer' reuse windows of indirect buffers
Martin Rudalics [Mon, 24 Feb 2025 09:17:10 +0000 (10:17 +0100)]
Optionally have 'display-buffer' reuse windows of indirect buffers

* lisp/window.el (window-indirect-buffer-p): New function.
(get-buffer-window-list): New argument INDIRECT.
(display-buffer-reuse-window): New alist entry 'reuse-indirect'
to reuse a window indirectly related to the BUFFER argument.
* doc/lispref/windows.texi (Buffers and Windows): Describe new
function 'window-indirect-buffer-p' and new argument INDIRECT of
'get-buffer-window-list'.
(Buffer Display Action Functions): Describe new action alist
entry 'reuse-indirect'.
* etc/NEWS: Announce new argument for 'get-buffer-window-list' and
new 'display-buffer' action alist entry 'reuse-indirect'.

(cherry picked from commit a205d554522340e23540bdda63c80965ddd64951)

2 weeks agoClarify semantics of 'frame-inhibit-implied-resize'
Martin Rudalics [Mon, 24 Feb 2025 08:47:30 +0000 (09:47 +0100)]
Clarify semantics of 'frame-inhibit-implied-resize'

* src/frame.c (frame_inhibit_implied_resize):
* doc/lispref/frames.texi (Implied Frame Resizing): Clarify
semantics of 'frame-inhibit-implied-resize'.

(cherry picked from commit be60601ae884214503c4f958a74cebc27e8381b6)

2 weeks ago; Fix 'typescript-ts-mode' indent test (bug#71998)
john muhl [Mon, 24 Feb 2025 02:03:39 +0000 (20:03 -0600)]
; Fix 'typescript-ts-mode' indent test (bug#71998)

* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts:
Set 'indent-tabs-mode' after changing the major mode.

(cherry picked from commit c9964e180f743a95579ca832d08bfc450a2dc639)

2 weeks agoFix typescript-ts-mode indentation tests (bug#71998)
Yuan Fu [Mon, 24 Feb 2025 06:04:32 +0000 (22:04 -0800)]
Fix typescript-ts-mode indentation tests (bug#71998)

* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts:
(JSX indentation): Add quote and remove semi-colon, so the code
is valid.

(cherry picked from commit 3d46f3e3ed50753766f87f995f9514dff9a6abed)

2 weeks agoHandle case of not knowing a frame when mouse moved
Gerd Möllmann [Mon, 24 Feb 2025 04:48:29 +0000 (05:48 +0100)]
Handle case of not knowing a frame when mouse moved

* lisp/xt-mouse.el (xterm-mouse--handle-mouse-movement): Don't call
display--update-for-mouse-movement if we don't have a frame.

(cherry picked from commit 02fbdbf4ff628fe4ee6112a57d63a14445726215)

2 weeks agoUse cl-with-gensyms in ert-with-message-capture
Stefan Kangas [Sun, 23 Feb 2025 23:45:20 +0000 (00:45 +0100)]
Use cl-with-gensyms in ert-with-message-capture

* lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Use
cl-with-gensyms.

(cherry picked from commit 45f5f718a07bb126bbd71952c5fbd1c5f126df7d)

2 weeks agoPrefer incf to cl-incf in gnus/*.el
Stefan Kangas [Sun, 23 Feb 2025 20:25:55 +0000 (21:25 +0100)]
Prefer incf to cl-incf in gnus/*.el

* lisp/gnus/gnus-agent.el (gnus-agent-load-local)
(gnus-agent-expire-group-1, gnus-agent-update-files-total-fetched-for):
* lisp/gnus/gnus-art.el (gnus-article-header-rank):
* lisp/gnus/gnus-async.el (gnus-async-wait-for-article):
* lisp/gnus/gnus-cache.el (gnus-cache-update-file-total-fetched-for):
* lisp/gnus/gnus-registry.el (gnus-registry-import-eld):
* lisp/gnus/gnus-salt.el (gnus-pick-line-number, gnus-tree-minimize)
(gnus-generate-vertical-tree):
* lisp/gnus/gnus-spec.el (gnus-correct-substring):
* lisp/gnus/gnus-start.el (gnus-ask-server-for-new-groups, gnus-method-rank):
* lisp/gnus/gnus-sum.el (gnus-data-update-list)
(gnus-summary-number-of-articles-in-thread, gnus-build-sparse-threads)
(gnus-summary-prepare-threads, gnus-invisible-cut-children)
(gnus-summary-limit-children, gnus-expunge-thread)
(gnus-summary-refer-references, gnus-summary-update-mark)
(gnus-summary-hide-all-threads, gnus-summary-save-parts-1):
* lisp/gnus/gnus-topic.el (gnus-topic-articles-in-topic)
(gnus-topic-prepare-topic, gnus-topic-display-missing-topic)
(gnus-topic-update-topic-line):
* lisp/gnus/gnus-uu.el (gnus-uu-post-encoded):
* lisp/gnus/gnus-win.el (gnus-configure-frame):
* lisp/gnus/mail-source.el (mail-source-fetch-directory)
(mail-source-fetch-maildir, mail-source-fetch-imap):
* lisp/gnus/message.el (message-remove-header)
(message-remove-first-header, message-make-caesar-translation-table):
* lisp/gnus/mm-encode.el (mm-qp-or-base64):
* lisp/gnus/mml.el (mml-compute-boundary, mml-compute-boundary-1):
* lisp/gnus/nnatom.el (nnatom--read-links):
* lisp/gnus/nnbabyl.el (nnbabyl-retrieve-headers):
* lisp/gnus/nndoc.el (nndoc-oe-dbx-dissection, nndoc-dissect-buffer)
(nndoc-dissect-mime-parts-sub):
* lisp/gnus/nneething.el (nneething-retrieve-headers):
* lisp/gnus/nnheader.el (nnheader-generate-fake-message-id)
(nnheader-insert-head, nnheader-translate-file-chars):
* lisp/gnus/nnimap.el (nnimap-find-wanted-parts-1)
(nnimap-retrieve-group-data-early, nnimap-send-command):
* lisp/gnus/nnmail.el (nnmail-process-babyl-mail-format)
(nnmail-process-unix-mail-format, nnmail-process-mmdf-mail-format)
(nnmail-get-new-mail-1):
* lisp/gnus/nnmaildir.el (nnmaildir--scan):
* lisp/gnus/nnrss.el (nnrss-check-group):
* lisp/gnus/nnselect.el (nnselect-request-thread):
* lisp/gnus/nnspool.el (nnspool-retrieve-headers):
* lisp/gnus/nntp.el (nntp-retrieve-headers)
(nntp-finish-retrieve-group-infos, nntp-retrieve-groups)
(nntp-retrieve-articles, nntp-retrieve-headers-with-xover):
* lisp/gnus/nnvirtual.el (nnvirtual-create-mapping):
* lisp/gnus/nnweb.el (nnweb-google-parse-1, nnweb-google-create-mapping)
(nnweb-gmane-create-mapping):
* lisp/gnus/spam.el (spam-resolve-registrations-routine): Prefer incf to
cl-incf.

(cherry picked from commit ae8522af41bb67bf417b94ed54146a43fe2150ec)

2 weeks ago(Ftranspose_regions): Fix text-properties for len1==len2
Stefan Monnier [Sun, 23 Feb 2025 05:29:49 +0000 (00:29 -0500)]
(Ftranspose_regions): Fix text-properties for len1==len2

When `len1_byte == len2_byte`, the code presumed that len1==len2
as well in its handling of text-properties.  Fix that case.
While at it, try and reduce code duplication by hoisting common
code out of `if`s, and throw away the optimization for `len_mid == 0`
which only saved 3 trivial function calls.

* src/editfns.c (Ftranspose_regions): Shuffle the code a bit.

* test/src/editfns-tests.el (editfns-tests--transpose-equal-but-not):
New test.

(cherry picked from commit d84dbcb4504f6c53968a9f245b31676c90921b38)

2 weeks agoMark cdl.el as obsolete
Stefan Kangas [Sun, 23 Feb 2025 03:43:04 +0000 (04:43 +0100)]
Mark cdl.el as obsolete

* lisp/obsolete/cdl.el: Add Obsolete-since header.  It is fully
replaceable by shell-command and shell-command-on-region.

(cherry picked from commit 7972a3448d53c515b074e6681fe3a369ada642d6)

2 weeks agoMove cdl.el to obsolete/cdl.el
Stefan Kangas [Sun, 23 Feb 2025 13:55:40 +0000 (14:55 +0100)]
Move cdl.el to obsolete/cdl.el

* lisp/cdl.el: Move from here...
* lisp/obsolete/cdl.el: ...to here.

(cherry picked from commit 827694ff282e2b1b09b277a964db7b3fba776233)

2 weeks agoFix DocView's text conversion on tty Emacs
Manuel Giraud [Fri, 26 Jul 2024 15:37:02 +0000 (17:37 +0200)]
Fix DocView's text conversion on tty Emacs

* lisp/doc-view.el (doc-view-open-text): Defaults to first page
should `doc-view-current-page' return nil.  (Bug#72305)

(cherry picked from commit 93f62f10f7b28e0ceeb1464d918746fe2b2beae1)

2 weeks ago; Skip commit 71a4670a9fa238f920ce88b938f703b605ad2f48
Eshel Yaron [Wed, 26 Feb 2025 09:32:02 +0000 (10:32 +0100)]
; Skip commit 71a4670a9fa238f920ce88b938f703b605ad2f48

2 weeks ago; Fix last change
Eli Zaretskii [Sun, 23 Feb 2025 10:25:14 +0000 (12:25 +0200)]
; Fix last change

* src/frame.c (syms_of_frame) <frame-inhibit-implied-resize>:
* doc/lispref/frames.texi (Implied Frame Resizing): Don't use
passive voice.  (Bug#76275)

(cherry picked from commit 70b15c5174e147c25f4cf71f7c94ee72a8839393)

2 weeks agoOptionally inhibit implied resizing while frame is made (Bug#76275)
Martin Rudalics [Sun, 23 Feb 2025 10:01:20 +0000 (11:01 +0100)]
Optionally inhibit implied resizing while frame is made (Bug#76275)

* src/frame.c (frame_inhibit_resize): Handle new value 'force'
for 'frame-inhibit-implied-resize' (Bug#76275).
(frame_inhibit_implied_resize): New value 'force' to inhibit
implied resizing while a new frame is made.
* lisp/cus-start.el (frame-inhibit-implied-resize): Make new
value 'force' customizable.
* doc/lispref/frames.texi (Implied Frame Resizing): Describe new
value 'force' of 'frame-inhibit-implied-resize'.
* etc/NEWS: Announce new value 'force' of
'frame-inhibit-implied-resize'.

(cherry picked from commit 499da9e1a9f63d9a767a3cab1f7771799e1d3274)

2 weeks agoTramp: Improve doc of ad-hoc multi-hop file names
Michael Albinus [Sun, 23 Feb 2025 09:47:58 +0000 (10:47 +0100)]
Tramp: Improve doc of ad-hoc multi-hop file names

* doc/misc/tramp.texi (Ad-hoc multi-hops, Frequently Asked Questions):
Improve description how ad-hoc multi-hop file names can be made
persistent.  (Bug#65039, Bug#76457)

(cherry picked from commit 949739571ba48bcece296d805668de71b2481e82)

2 weeks agoEnforce redisplay when deleting a child frame (bug#76406)
Gerd Möllmann [Sun, 23 Feb 2025 04:07:55 +0000 (05:07 +0100)]
Enforce redisplay when deleting a child frame (bug#76406)

* src/term.c (tty_free_frame_resources): When deleting a child mark its
root frame to garbaged.
* src/dispnew.c (prepare_desired_root_row): Add a check for GLYPH_DEBUG.

(cherry picked from commit 2a756ce9d774a91774fdf4c5cd40562540a40633)

2 weeks agoImplement new user option 'quit-window-kill-buffer' (Bug#76248)
Martin Rudalics [Sun, 23 Feb 2025 09:19:49 +0000 (10:19 +0100)]
Implement new user option 'quit-window-kill-buffer' (Bug#76248)

* lisp/window.el (quit-window-kill-buffer): New option.
(quit-window): Handle it.
* doc/lispref/windows.texi (Quitting Windows): Describe new
option 'quit-window-kill-buffer'.
* etc/NEWS: Announce new option 'quit-window-kill-buffer'.

(cherry picked from commit 99410ba902a01d56b49001b4c18a5390b3c5463b)

2 weeks agodolist: support non-list spec
Eshel Yaron [Tue, 25 Feb 2025 20:15:18 +0000 (21:15 +0100)]
dolist: support non-list spec

2 weeks agoRecognize extracted functions as such
Eshel Yaron [Tue, 25 Feb 2025 19:57:48 +0000 (20:57 +0100)]
Recognize extracted functions as such

2 weeks agoImprove imenu indexing in ELisp mode
Eshel Yaron [Tue, 25 Feb 2025 19:54:42 +0000 (20:54 +0100)]
Improve imenu indexing in ELisp mode

2 weeks agoNew command 'lisp-duplicate-sexp'
Eshel Yaron [Tue, 25 Feb 2025 19:54:05 +0000 (20:54 +0100)]
New command 'lisp-duplicate-sexp'

2 weeks ago* lisp/emacs-lisp/lisp-mode.el (lisp-tidy-sexp): Fix infloop.
Eshel Yaron [Tue, 25 Feb 2025 19:38:12 +0000 (20:38 +0100)]
* lisp/emacs-lisp/lisp-mode.el (lisp-tidy-sexp): Fix infloop.

2 weeks agoDemote errors in 'cl-case' to warnings
Eshel Yaron [Tue, 25 Feb 2025 19:37:40 +0000 (20:37 +0100)]
Demote errors in 'cl-case' to warnings

2 weeks agoelisp-mode.el: Improve Eldoc support
Eshel Yaron [Tue, 25 Feb 2025 15:47:52 +0000 (16:47 +0100)]
elisp-mode.el: Improve Eldoc support

2 weeks agoFix imenu minibuffer action regression
Eshel Yaron [Tue, 25 Feb 2025 15:47:02 +0000 (16:47 +0100)]
Fix imenu minibuffer action regression

2 weeks ago(elisp-extract-to-local-variable): Fix off-by-one error
Eshel Yaron [Mon, 24 Feb 2025 17:23:23 +0000 (18:23 +0100)]
(elisp-extract-to-local-variable): Fix off-by-one error

2 weeks agolisp-mode.el: A few more structural editing commands
Eshel Yaron [Sun, 23 Feb 2025 15:20:10 +0000 (16:20 +0100)]
lisp-mode.el: A few more structural editing commands

2 weeks agoRevert “Pacify GCC in pgtkselect malloc alignment”
Paul Eggert [Sun, 23 Feb 2025 06:53:52 +0000 (23:53 -0700)]
Revert “Pacify GCC in pgtkselect malloc alignment”

Problem reported by the wurfkreuz (Bug#76414).
* src/pgtkselect.c: Revert my commit
ff65cc9944dc0b37986d512ee8b9817c6913db36 dated Sun Jan 26 22:15:49
2025 -0800 for now.  I may come up with a better commit later.

(cherry picked from commit f12fbed4c13998d4838633bfa89124685a79dae2)

2 weeks ago; Skip commit 3a1195894e55db5c48c4a337bff5f6e58ce356f5
Eshel Yaron [Sun, 23 Feb 2025 08:22:11 +0000 (09:22 +0100)]
; Skip commit 3a1195894e55db5c48c4a337bff5f6e58ce356f5

2 weeks agoFix diary not displaying some entries in european style
Michael Heerdegen [Wed, 2 Feb 2022 00:08:43 +0000 (01:08 +0100)]
Fix diary not displaying some entries in european style

* lisp/calendar/calendar.el (diary-european-date-forms): Correctly
recognize times using a dot as separator.  (Bug#53702)

(cherry picked from commit 8b0043ffd609344f714ba962f82624128e662011)

2 weeks ago; Delete out-of-date comment in float-sup.el
Stefan Kangas [Sun, 23 Feb 2025 03:31:53 +0000 (04:31 +0100)]
; Delete out-of-date comment in float-sup.el

* lisp/emacs-lisp/float-sup.el: Delete out-of-date comment.

(cherry picked from commit dfce17103c8f91db887b490418b9bafb0f52aacb)

2 weeks agoMark kermit.el as obsolete
Stefan Kangas [Sun, 23 Feb 2025 03:04:24 +0000 (04:04 +0100)]
Mark kermit.el as obsolete

While Kermit is still developed, this Emacs support library is
essentially unchanged since it was added to Emacs, which seems to have
been in 1988.  It is also based on the old pre-Emacs 20 shell mode, so
it's not clear if it even works, and much less if it is relevant with
Kermit from this century.

There is also this modern alternative, from 1994, which seems far
more complete: https://www.kermitproject.org/archive.html#emacs

The bug tracker has stayed silent, so if anyone is still using it, they
will have to report a bug and ask us to unobsolete it.

* lisp/obsolete/kermit.el: Add Obsolete-since header.  Add link to
alternative library at kermitproject.org.

(cherry picked from commit 96e066be3d252efe44a8321be313a67def14ea4e)

2 weeks agoMove kermit.el to obsolete/kermit.el
Stefan Kangas [Sun, 23 Feb 2025 03:03:37 +0000 (04:03 +0100)]
Move kermit.el to obsolete/kermit.el

* lisp/kermit.el: Move from here...
* lisp/obsolete/kermit.el: ...to here.

(cherry picked from commit 29a7f63b5f374ba9cfd6f3e6c314e415bcd5936d)

2 weeks ago; Fix documentation of recent changes
Eli Zaretskii [Sun, 23 Feb 2025 05:23:33 +0000 (07:23 +0200)]
; Fix documentation of recent changes

* etc/NEWS:
* doc/lispref/numbers.texi (Arithmetic Operations): Fix wording
and markup.

(cherry picked from commit 4abeb75a51634641185f80a747f9d8b3debcedd2)

2 weeks agoPrefer ert-with-temp-directory in tests
Stefan Kangas [Sun, 23 Feb 2025 02:43:25 +0000 (03:43 +0100)]
Prefer ert-with-temp-directory in tests

* test/lisp/dired-aux-tests.el (dired-test-bug30624):
* test/lisp/emacs-lisp/track-changes-tests.el
(track-changes-tests--random):
* test/src/buffer-tests.el (test-buffer-chars-modified-ticks):
* test/src/fileio-tests.el (fileio-tests--symlink-failure)
(fileio-tests--insert-file-interrupt)
(fileio-tests--circular-after-insert-file-functions): Prefer
ert-with-temp-directory to using make-temp-file directly.

(cherry picked from commit 03bc51349f19899812652a8335f5055f561494e2)

2 weeks agoFix print-tests
Thuna [Wed, 12 Feb 2025 22:34:16 +0000 (23:34 +0100)]
Fix print-tests

* test/src/print-tests.el (terpri): Erase the buffer *terpri-test*
before individual runs.  (Bug#72334)
(print-circle): Allow circular references with number greater than 9.

(cherry picked from commit 5f1d52c43b5eafeb4938d99c275e78c9155f4142)

2 weeks agoFix comparison of current values for the key-sequence :type
Mauro Aranda [Sat, 15 Feb 2025 12:26:46 +0000 (09:26 -0300)]
Fix comparison of current values for the key-sequence :type

* lisp/cus-edit.el (custom-variable-modified-p): Round-trip
the option value before comparing it against the widget's value.
This mostly fixes comparison against the obsolete key-sequence
widget, but could fix other corner cases, when the widget
accepts different types as values.  (Bug#76156)

* test/lisp/cus-edit-tests.el (cus-edit-test-bug76156)
(cus-edit-test-bug76156-2): New test options.
(cus-edit-test-unedited-option): New test.

(cherry picked from commit f549cedaa2721bfc463fe714c00016aed21f7b5c)

2 weeks agoImprove fontification of docker-files
Jostein Kjønigsen [Fri, 21 Feb 2025 12:59:26 +0000 (13:59 +0100)]
Improve fontification of docker-files

Add support for fontifying the following grammar-elements:
- image-declarations (image-name, image-tag & image alias)
- strings in more general terms
- string-expansion statements
- treat path-values as strings
- identifiers names for ENV and ARG statements
- argument values for ENV and ARG statements
* lisp/progmodes/dockerfile-ts-mode.el (dockerfile-ts-mode)
(dockerfile-ts-mode--font-lock-settings): Improve fontification.
(Bug#76481)

(cherry picked from commit 2044f6d9592cdec3a916c0d3c0a8a079c479db61)

2 weeks agoPrefer incf to cl-incf in emacs-lisp/*.el
Stefan Kangas [Sat, 22 Feb 2025 23:13:21 +0000 (00:13 +0100)]
Prefer incf to cl-incf in emacs-lisp/*.el

* lisp/emacs-lisp/backtrace.el (backtrace--print-func-and-args):
* lisp/emacs-lisp/bindat.el (bindat--type):
* lisp/emacs-lisp/bytecomp.el (byte-recompile-directory):
* lisp/emacs-lisp/chart.el (chart-file-count):
* lisp/emacs-lisp/cl-extra.el (cl-parse-integer, cl--print-table):
* lisp/emacs-lisp/cl-generic.el (cl--defmethod-doc-pos):
* lisp/emacs-lisp/cl-indent.el (common-lisp-loop-part-indentation)
(common-lisp-indent-function-1, lisp-indent-defmethod):
* lisp/emacs-lisp/cl-lib.el (cl--set-substring):
* lisp/emacs-lisp/cl-macs.el (cl--parse-loop-clause):
* lisp/emacs-lisp/cl-preloaded.el (cl-struct-define):
* lisp/emacs-lisp/cl-print.el (cl-print--cons-tail)
(cl-print--vector-contents, cl-print--struct-contents)
(cl-print--string-props):
* lisp/emacs-lisp/cl-seq.el (cl-substitute):
* lisp/emacs-lisp/comp-cstr.el (comp--range-union)
(comp--range-intersection):
* lisp/emacs-lisp/comp.el (comp-vec-append, comp--gen-counter)
(comp--op-case, comp--limplify-lap-inst, comp--limplify-block)
(comp--limplify-function, comp--maybe-add-vmvar, comp--fwprop*):
* lisp/emacs-lisp/edebug.el (edebug--called-interactively-skip):
* lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy):
* lisp/emacs-lisp/elp.el (elp--make-wrapper):
* lisp/emacs-lisp/ert-x.el (ert-kill-all-test-buffers):
* lisp/emacs-lisp/ert.el (ert--stats-set-test-and-result)
(ert-write-junit-test-summary-report):
* lisp/emacs-lisp/memory-report.el (memory-report--symbol-plist)
(memory-report--object-size-1):
* lisp/emacs-lisp/oclosure.el (oclosure--index-table)
(oclosure--define-functions):
* lisp/emacs-lisp/package.el (package-menu--perform-transaction):
* lisp/emacs-lisp/smie.el (smie-set-prec2tab, smie-prec2->grammar)
(smie-config--guess, smie-config--guess-1):
* lisp/emacs-lisp/syntax.el (syntax-propertize-rules)
(syntax-ppss--update-stats):
* lisp/emacs-lisp/track-changes.el (track-changes--after): Prefer incf
to cl-incf.

(cherry picked from commit ae37a1cc3d93d3703b43c5ab2d10f1f3e146cf90)

2 weeks agoPrefer incf to cl-incf in tests
Stefan Kangas [Sat, 22 Feb 2025 18:14:51 +0000 (19:14 +0100)]
Prefer incf to cl-incf in tests

* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-reify-function):
* test/lisp/emacs-lisp/cl-extra-tests.el (cl-getf):
* test/lisp/emacs-lisp/cl-macs-tests.el
(cl-macs-loop-for-as-arith-order-side-effects)
(cl-macs-loop-for-as-equals-then, cl-macs-loop-do, cl-macs-loop-finally)
(cl-macs-loop-in-ref, cl-macs-loop-being-elements-of-ref)
(cl-macs-test--symbol-macrolet, cl-the):
* test/lisp/emacs-lisp/cl-seq-tests.el (cl-lib-test-remove)
(cl-lib-test-remove-if-not):
* test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el
(edebug-test-code-range):
* test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-deduplicate):
* test/lisp/emacs-lisp/generator-tests.el (cps-while-incf):
(cps-test-iter-cleanup-once-only):
* test/lisp/emacs-lisp/hierarchy-tests.el
(hierarchy-labelfn-button-if-does-not-button-unless-condition)
(hierarchy-labelfn-button-if-does-button-when-condition):
* test/lisp/emacs-lisp/let-alist-tests.el (let-alist-evaluate-once):
* test/lisp/emacs-lisp/lisp-mode-tests.el
(indent-sexp, lisp-indent-region):
* test/lisp/emacs-lisp/map-tests.el (test-map-elt-gv)
(test-setf-map-with-function):
* test/lisp/emacs-lisp/multisession-tests.el (multi-test-sqlite-simple)
(multi-test-sqlite-busy, multi-test-files-simple)
(multi-test-files-busy):
* test/lisp/emacs-lisp/oclosure-tests.el
(oclosure-test, oclosure-test-mutate):
* test/lisp/emacs-lisp/track-changes-tests.el
(track-changes-tests--random):
* test/lisp/files-tests.el (files-tests--with-buffer-offer-save):
* test/lisp/net/shr-tests.el (shr-test/zoom-image):
* test/lisp/replace-tests.el (replace-tests-with-undo):
* test/src/buffer-tests.el (test-overlay-randomly):
* test/src/data-tests.el (test-bool-vector-bv-from-hex-string):
* test/src/fns-tests.el (fns-tests-sort):
* test/src/json-tests.el (json-insert/signal, json-insert/throw):
* test/src/minibuf-tests.el (minibuf-tests--strings-to-symbol-alist)
(minibuf-tests--strings-to-string-alist)
(minibuf-tests--strings-to-string-hashtable)
(minibuf-tests--strings-to-symbol-hashtable):
* test/src/process-tests.el (make-process/file-handler/found): Prefer
incf to cl-incf.

(cherry picked from commit 042dc5929b706b5fbc0ea8ada6014661d44a1b53)

2 weeks agoPrefer decf to cl-decf
Stefan Kangas [Sat, 22 Feb 2025 18:06:11 +0000 (19:06 +0100)]
Prefer decf to cl-decf

* lisp/auth-source-pass.el (auth-source-pass--find-match-many):
* lisp/calendar/time-date.el (decoded-time-add)
(decoded-time--alter-month, decoded-time--alter-day):
* lisp/dired.el (dired--move-to-next-line):
* lisp/dom.el (dom-pp):
* lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
* lisp/emacs-lisp/cl-print.el (cl-print-to-string-with-limit):
* lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-substitute):
* lisp/emacs-lisp/comp-cstr.el (comp--range-union)
(comp--range-intersection):
* lisp/emacs-lisp/comp.el (comp-vec-prepend, comp--emit-narg-prologue):
* lisp/emacs-lisp/edebug.el (edebug--strip-instrumentation):
* lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy):
* lisp/emacs-lisp/pp.el (pp--format-definition):
* lisp/emacs-lisp/smie.el (smie-config--guess-1):
* lisp/eshell/esh-io.el (eshell-close-handle, eshell-set-output-handle):
* lisp/gnus/gnus-async.el (gnus-async-prefetch-article):
* lisp/gnus/gnus-group.el (gnus-group-mark-group)
(gnus-group-yank-group):
* lisp/gnus/gnus-salt.el (gnus-tree-forward-line):
* lisp/gnus/gnus-score.el (gnus-decay-scores):
* lisp/gnus/gnus-srvr.el (gnus-browse-toggle-subscription-at-point):
* lisp/gnus/gnus-sum.el (gnus-build-sparse-threads, gnus-parent-headers)
(gnus-update-marks, gnus-summary-work-articles)
(gnus-summary-refer-parent-article, gnus-summary-next-thread)
(gnus-read-header, gnus-summary-insert-new-articles):
* lisp/gnus/gnus-topic.el (gnus-topic-forward-topic):
* lisp/gnus/gnus.el (gnus-short-group-name):
* lisp/gnus/message.el (message-remove-first-header)
(message-shorten-references, message-insert-screenshot):
* lisp/gnus/mm-url.el (mm-url-insert):
* lisp/gnus/nnselect.el (nnselect-push-info):
* lisp/ibuffer.el (ibuffer-backward-line, ibuffer-forward-line)
(ibuffer-map-lines):
* lisp/icomplete.el (icomplete--render-vertical):
* lisp/image/image-dired-external.el (image-dired-create-thumb-1):
* lisp/image/image-dired.el (image-dired-delete-char):
* lisp/mail/ietf-drums-date.el (ietf-drums-date--tokenize-string):
* lisp/mh-e/mh-utils.el (mh-sub-folders-parse):
* lisp/minibuffer.el (minibuffer-completion-help):
* lisp/mpc.el (mpc-cmd-move, mpc-songpointer-refresh-hairy):
* lisp/net/eww.el (eww-process-text-input):
* lisp/net/pop3.el (pop3-wait-for-messages, pop3-uidl-stat)
(pop3-uidl-dele):
* lisp/net/shr-color.el (shr-color-hue-to-rgb):
* lisp/play/5x5.el (5x5-up, 5x5-left):
* lisp/play/decipher.el (decipher-read-alphabet, decipher--digram-total)
(decipher-analyze-buffer):
* lisp/play/hanoi.el (hanoi-insert-ring, hanoi-move-ring):
* lisp/profiler.el (profiler-format-number)
(profiler-calltree-build-unified):
* lisp/progmodes/antlr-mode.el (antlr-next-rule, antlr-indent-line):
* lisp/progmodes/c-ts-common.el (c-ts-common-statement-offset):
* lisp/progmodes/ebrowse.el
(ebrowse-cyclic-display-next/previous-member-list):
* lisp/progmodes/hideif.el (hif-backward-comment):
* lisp/progmodes/js.el (js-beginning-of-defun, js-end-of-defun)
(js-ts--syntax-propertize):
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts--syntax-propertize-captures):
* lisp/rect.el (rectangle--*-char):
* lisp/term.el (term-emulate-terminal):
* lisp/textmodes/reftex-cite.el (reftex-do-citation):
* lisp/textmodes/reftex-index.el (reftex-index-next-phrase):
* lisp/textmodes/reftex-parse.el (reftex-init-section-numbers):
* lisp/textmodes/reftex-sel.el (reftex-select-unmark):
* lisp/textmodes/reftex.el (reftex-silence-toc-markers):
* lisp/treesit.el (treesit-navigate-thing):
* lisp/vc/diff-mode.el (diff-sanity-check-context-hunk-half,
(diff-sanity-check-hunk):
* lisp/vc/pcvs-util.el (cvs-first):
* lisp/vc/smerge-mode.el (smerge-get-current):
* lisp/vc/vc-hg.el (vc-hg--glob-to-pcre):
* test/lisp/net/socks-tests.el
(socks-tests-perform-hello-world-http-request):
* test/src/buffer-tests.el (test-overlay-randomly): Prefer decf to
cl-defc in all code where we can.

(cherry picked from commit 9d7d4db7eb3398e754872f4c82d3d2071ae10fb2)

2 weeks agoNew macros incf and decf
Stefan Kangas [Sat, 22 Feb 2025 16:32:31 +0000 (17:32 +0100)]
New macros incf and decf

* lisp/emacs-lisp/cl-lib.el (cl-incf, cl-decf): Move macros from here...
* lisp/emacs-lisp/gv.el (incf, decf): ...to here.  Make old names into
aliases, documented as deprecated.
* lisp/obsolete/cl.el: Don't alias incf and decf.

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-incf)
(cl-lib-test-decf): Move tests from here...
* test/lisp/emacs-lisp/gv-tests.el (gv-incf, gv-decf): ...to here.

* doc/lispref/numbers.texi (Arithmetic Operations):
* lisp/emacs-lisp/shortdoc.el (number): Document incf and decf.

* doc/lispref/variables.texi (Multisession Variables):
* doc/misc/cl.texi (Organization, Modify Macros, Modify Macros)
(Modify Macros, Macro Bindings, For Clauses, Property Lists)
(Structures, Efficiency Concerns, Obsolete Setf Customization): Delete
cl-incf and cl-decf documentation, moving any relevant parts to lispref.
Delete some parts that seem to primarily regard implementation details
that do not warrant inclusion in lispref.  Update all examples to use
incf/decf.

(cherry picked from commit 95fee880e45184f4820e9704b75887ef2d91bd01)

2 weeks agoFix last commit to wid-edit.el
Mauro Aranda [Sat, 22 Feb 2025 21:31:40 +0000 (18:31 -0300)]
Fix last commit to wid-edit.el

* lisp/wid-edit.el (widget-editable-list-entry-create): Don't
use save-excursion when indenting.  Previously, it was needed
because we inserted the :entry-format string, but we don't do
that anymore.  (Bug#53606)

https://lists.gnu.org/archive/html/emacs-devel/2025-02/msg00958.html
(cherry picked from commit 44a1c4a9aea54d6542bcf0c231b080f0ed023229)

2 weeks ago(help--append-keystrokes-help): Fix bug#76341
Stefan Monnier [Sat, 22 Feb 2025 19:57:25 +0000 (14:57 -0500)]
(help--append-keystrokes-help): Fix bug#76341

* lisp/help.el (help--append-keystrokes-help): Silence the help message
when there is no help key.

(cherry picked from commit c830caab2c5bd3d03673c26f053397042dc58ad3)

2 weeks ago* lisp/treesit.el (treesit-up-list, treesit-outline-level): Improve.
Juri Linkov [Sat, 22 Feb 2025 19:52:39 +0000 (21:52 +0200)]
* lisp/treesit.el (treesit-up-list, treesit-outline-level): Improve.

Try to get the parent parser host node that contains the
embedded parser and continue the search from it (bug#76398).

(cherry picked from commit 1ffa0521131c20edbbcba84765870f01411d039e)

2 weeks agoDelete self-evident explanation from cl.texi
Stefan Kangas [Sat, 22 Feb 2025 17:22:12 +0000 (18:22 +0100)]
Delete self-evident explanation from cl.texi

* doc/misc/cl.texi (Setf Extensions): Delete self-evident
explanation.

(cherry picked from commit ba8a1b902594189fb067c0ff5d761d19d3a2369c)

2 weeks ago; Delete obsolete commented out parts from cl.texi
Stefan Kangas [Sat, 22 Feb 2025 16:18:01 +0000 (17:18 +0100)]
; Delete obsolete commented out parts from cl.texi

* doc/misc/cl.texi (Modify Macros, Obsolete Setf Customization): Delete
commented out documentation that is no longer true, and documentation of
a function that was removed in Emacs 24.3.

(cherry picked from commit 4aae820a017faab47662d0fa82cb5e39d8728d8c)

2 weeks agoMake 'text-property-default-nonsticky' buffer-local when set
Eli Zaretskii [Sat, 22 Feb 2025 16:04:04 +0000 (18:04 +0200)]
Make 'text-property-default-nonsticky' buffer-local when set

* src/textprop.c (syms_of_textprop)
<text-property-default-nonsticky>: Make buffer-local when set.
(Bug#76445)

* etc/symbol-releases.eld: Add text-property-default-nonsticky.

* etc/NEWS:
* doc/lispref/text.texi (Sticky Properties): Document the change.

(cherry picked from commit 827a91dbf3a45d6c3c620545b5e620ce76e44bb2)

2 weeks agoExpand tests for cl-incf and cl-decf
Stefan Kangas [Sat, 22 Feb 2025 15:55:06 +0000 (16:55 +0100)]
Expand tests for cl-incf and cl-decf

* test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-incf)
(cl-lib-test-decf): Expand tests.

(cherry picked from commit 8b6797fa01bf8c8c64bd1f72c1e2475bf2331ad9)

2 weeks ago; Skip commit 72d7f1922611e01d01fbe407a577ab95afb0ddd7
Eshel Yaron [Sun, 23 Feb 2025 08:17:53 +0000 (09:17 +0100)]
; Skip commit 72d7f1922611e01d01fbe407a577ab95afb0ddd7

2 weeks ago; Fix typos
Stefan Kangas [Sun, 19 Jan 2025 12:59:13 +0000 (13:59 +0100)]
; Fix typos

(cherry picked from commit 702cb123faf1bdbacf555188ae4997d6be3765fe)

2 weeks agorecentf.el: Add verbosity option
Lockywolf [Thu, 13 Feb 2025 03:51:50 +0000 (11:51 +0800)]
recentf.el: Add verbosity option

* lisp/recentf.el (recentf-show-messages): New defcustom to
control verbosity.
(recentf-save-list): Use that to control verbosity.  (Bug#67946)

(cherry picked from commit ce28916282800b2e4a5f8e244616e25f9e81831a)

2 weeks ago* lisp/net/tramp-sh.el (tramp-find-executable): Fix check.
Michael Albinus [Sat, 22 Feb 2025 13:38:24 +0000 (14:38 +0100)]
* lisp/net/tramp-sh.el (tramp-find-executable): Fix check.

(cherry picked from commit e682fd2d5ba5f471a6e4d07b7f691a1ba9fa1139)

2 weeks ago; Skip commit f0d58d976a62b92bdcfe0bebdfe81c7f463fb938
Eshel Yaron [Sun, 23 Feb 2025 08:15:47 +0000 (09:15 +0100)]
; Skip commit f0d58d976a62b92bdcfe0bebdfe81c7f463fb938

2 weeks ago; Skip commit 9a4b9a1e65857422b4c3f3ff27f21a46a30356c2
Eshel Yaron [Sun, 23 Feb 2025 08:15:39 +0000 (09:15 +0100)]
; Skip commit 9a4b9a1e65857422b4c3f3ff27f21a46a30356c2

2 weeks ago; Skip commit ecb7ad1a9aa9b98e7d582c0c9769a1ae0c52a78b
Eshel Yaron [Sun, 23 Feb 2025 08:15:26 +0000 (09:15 +0100)]
; Skip commit ecb7ad1a9aa9b98e7d582c0c9769a1ae0c52a78b

2 weeks ago; Skip commit 26bd9f61f43c6898f5b143fae8f9d10150c1ba64
Eshel Yaron [Sun, 23 Feb 2025 08:15:22 +0000 (09:15 +0100)]
; Skip commit 26bd9f61f43c6898f5b143fae8f9d10150c1ba64

2 weeks ago; * admin/authors.el (authors-aliases): Add Vladimir Nikishkin.
Eli Zaretskii [Sat, 22 Feb 2025 10:07:16 +0000 (12:07 +0200)]
; * admin/authors.el (authors-aliases): Add Vladimir Nikishkin.

(cherry picked from commit 9c1d13c89a94685c0d1120d15e28bfb24e9644c3)

2 weeks ago; Fix saveplace-tests for MS-Windows
Eli Zaretskii [Sat, 22 Feb 2025 09:49:25 +0000 (11:49 +0200)]
; Fix saveplace-tests for MS-Windows

* test/lisp/saveplace-tests.el
(saveplace-test-load-alist-from-file): Fix test for MS-Windows.

(cherry picked from commit 456c52978c505ce09467564cda3db30d3d38197c)

2 weeks agoInhibit "Wrote" message in saveplace.el when non-interactive
shipmints [Thu, 13 Feb 2025 13:10:45 +0000 (08:10 -0500)]
Inhibit "Wrote" message in saveplace.el when non-interactive

* lisp/saveplace.el (save-place-alist-to-file): Tell 'write-region'
to be quiet when called non-interactively.  This is in harmony with
'savehist-save'.  (Bug#76267)

(cherry picked from commit 8f45cbdee45317faa978732fa5311c3c056b559f)

2 weeks agoMake yank-media auto select the best mime type
Visuwesh [Thu, 13 Feb 2025 11:13:06 +0000 (16:43 +0530)]
Make yank-media auto select the best mime type

* lisp/yank-media.el (yank-media-preferred-types): Add new
variable that holds the list of mime types in order of their
preference.
(yank-media-autoselect-function): Add new variable and function
to choose the most preferred media type.
(yank-media): Make 'yank-media' choose the most preferred mime
type by default.
* doc/emacs/killing.texi (Clipboard):
* doc/lispref/frames.texi (Yanking Media): Document the new
behaviour, and the new variables.
* etc/NEWS: Announce the change.  (Bug#75116)

(cherry picked from commit 0ee50a3420fb8df8f3477dac610dcd53c633fff5)

2 weeks agoSpeed up widget creation (Bug#53606)
Mauro Aranda [Thu, 6 Feb 2025 11:01:08 +0000 (08:01 -0300)]
Speed up widget creation (Bug#53606)

* lisp/wid-edit.el (widget-default-create, widget-checklist-add-item)
(widget-radio-add-item, widget-editable-list-entry-create): Don't
insert format escapes into the buffer, only to delete them after.
This avoids calls to delete-char and makes widget creation about 3
times faster.

(cherry picked from commit 3e269371507ea4cd7e933e39320d258a3b98de44)

2 weeks ago; * INSTALL.REPO: Minor copyedits.
Eli Zaretskii [Sat, 22 Feb 2025 07:16:05 +0000 (09:16 +0200)]
; * INSTALL.REPO: Minor copyedits.

(cherry picked from commit 443df12eddc66f4e2dbb14113b868f12419508bc)

2 weeks ago* admin/check-doc-strings: Reduce false positives.
Stefan Kangas [Sat, 22 Feb 2025 03:21:10 +0000 (04:21 +0100)]
* admin/check-doc-strings: Reduce false positives.

(cherry picked from commit 79ab873b9b679ec0aedb03ce246035d8e5d4b09c)

2 weeks agoUse .pem extension for client certs in ERC docs
F. Jason Park [Sat, 15 Feb 2025 02:57:41 +0000 (18:57 -0800)]
Use .pem extension for client certs in ERC docs

* doc/misc/erc.texi (Connecting): Change file-name extensions to .pem in
all examples, and explain that the key and the cert can be combined into
one file.
(SASL): Use .pem extension for certs.
* lisp/erc/erc.el (erc--warn-once-before-connect): Revise doc.
(erc-tls): Use .pem extension for certs.  (Bug#76278)

(cherry picked from commit 1f60f86af5edba45a7d59f45ca174f6c288dde3f)

2 weeks agoDon't kill window buffer in erc--split-line
F. Jason Park [Wed, 19 Feb 2025 03:20:45 +0000 (19:20 -0800)]
Don't kill window buffer in erc--split-line

* lisp/erc/erc-backend.el (erc--split-line): Restore original window
buffer before killing temp buffer.  (Bug#76404)

(cherry picked from commit 1270e6aec5ff4b6f420d132a2249bb94095a3f11)

2 weeks agoDelete note on Emacs 19 modes from comint.el
Stefan Kangas [Fri, 21 Feb 2025 17:48:12 +0000 (18:48 +0100)]
Delete note on Emacs 19 modes from comint.el

* lisp/comint.el: Delete note on how to convert pre-Emacs 20 modes to
use comint.el.  Emacs 20 was released in 1997, so it's safe to assume
that any relevant code has been updated in the last three decades.

(cherry picked from commit 4ece0e2e46b1eeb315b9ebcdcee09679319128f9)

2 weeks agoFix identation in csharp-mode.el
Jostein Kjønigsen [Fri, 21 Feb 2025 14:09:26 +0000 (15:09 +0100)]
Fix identation in csharp-mode.el

* lisp/progmodes/csharp-mode.el (csharp-ts-mode--indent-rules): Fix
indentation for using statements and multiline lambdas.  (Bug#75883)
Patch based on bug report by Dino Chiesa <dpchiesa@hotmail.com>.

(cherry picked from commit ecddc8227d9be8283d9bb47639a61c888a036896)

2 weeks agoNew user option checkdoc-allow-quoting-nil-and-t
Stefan Kangas [Fri, 21 Feb 2025 16:40:12 +0000 (17:40 +0100)]
New user option checkdoc-allow-quoting-nil-and-t

* lisp/emacs-lisp/checkdoc.el (checkdoc-allow-quoting-nil-and-t):
New user option that allows turning off the warning for having nil
and t in quotes.
(checkdoc-this-string-valid-engine): Use above new option.

(cherry picked from commit 8d4feb214b7eb802fec34269de11d30b9382cd83)

2 weeks ago; Delete superfluous comment
Stefan Kangas [Thu, 20 Feb 2025 13:06:46 +0000 (14:06 +0100)]
; Delete superfluous comment

(cherry picked from commit e7a35dac2fbe5777df531690c770b99e5f7561bb)

2 weeks agoPrefer defvar-keymap in admin/gitmerge.el
Stefan Kangas [Thu, 20 Feb 2025 03:11:23 +0000 (04:11 +0100)]
Prefer defvar-keymap in admin/gitmerge.el

* admin/gitmerge.el (gitmerge-mode-map): Prefer defvar-keymap.

(cherry picked from commit 3c93085650762c04ae3988dedc6b872b7f217143)

2 weeks ago; Skip commit c24a142657bd025b111d089d7f79d8e4ace918c7
Eshel Yaron [Sun, 23 Feb 2025 08:07:58 +0000 (09:07 +0100)]
; Skip commit c24a142657bd025b111d089d7f79d8e4ace918c7

2 weeks agoUse a persistent directory as default directory in diff
Michael Albinus [Fri, 21 Feb 2025 13:47:15 +0000 (14:47 +0100)]
Use a persistent directory as default directory in diff

* lisp/vc/diff.el (diff-no-select): Use `temporary-file-directory'
as default directory.  Set default file permissions temporarily to
#o600.  (Bug#69606)

(cherry picked from commit ae439cc1b9f428a8247548f4ef3b992608a3c09b)

2 weeks ago; Don't fail image tests if jpeg is supported via imagemagick
Ulrich Müller [Fri, 21 Feb 2025 11:13:20 +0000 (12:13 +0100)]
; Don't fail image tests if jpeg is supported via imagemagick

* test/lisp/image-tests.el (image-supported-file-p/optional):
Consider also the imagemagick case.  (Bug#76465)

(cherry picked from commit 76b938fc1d24b9dcc0c50db1dc520fbdacc19a16)