]>
git.eshelyaron.com Git - emacs.git/log
Po Lu [Wed, 26 Feb 2025 02:33:30 +0000 (10:33 +0800)]
Enable auto-revert-tests to pass on Android
* lisp/emacs-lisp/ert-x.el
(ert-remote-temporary-file-directory): Define to null-device on
Android.
* test/lisp/autorevert-tests.el
(auto-revert-test02-auto-revert-deleted-file): Provide for
situations where the watch descriptor is recreated by the
polling timer after a file notification is received.
(cherry picked from commit
c5853892c58be8e1c543177967850dceb1f4bcbc )
Po Lu [Wed, 26 Feb 2025 01:56:46 +0000 (09:56 +0800)]
Guarantee delivery of inotify special events
* src/inotify.c (inotifyevent_to_event): Always match events
that are not encompassed by IN_ALL_EVENTS and which the
documentation implies are always delivered to callbacks.
* test/src/inotify-tests.el (inotify-file-watch-stop-delivery):
New test.
(cherry picked from commit
928dc34e05fc04a9b8394df477beca2ef6d9fd1b )
Stefan Kangas [Wed, 26 Feb 2025 02:15:37 +0000 (03:15 +0100)]
; Prefer incf/decf in image-dired
* lisp/image/image-dired-dired.el (image-dired-mark-tagged-files):
* lisp/image/image-dired.el (image-dired-gallery-generate):
Prefer incf/decf.
(cherry picked from commit
68f9a7aac1f5b9606ca6245e1dd74d09087752d4 )
Eshel Yaron [Wed, 26 Feb 2025 09:41:18 +0000 (10:41 +0100)]
Stefan Kangas [Wed, 26 Feb 2025 02:01:15 +0000 (03:01 +0100)]
; Add missing require to wdired.el
(cherry picked from commit
dfcfb9792cfa9dacb890ab7e5b63e3adbe1cc6c0 )
Stefan Kangas [Sun, 23 Feb 2025 01:55:14 +0000 (02:55 +0100)]
Prefer incf to cl-incf in remaining files
* admin/syncdoc-type-hierarchy.el (syncdoc-make-type-table):
* admin/unidata/unidata-gen.el (unidata-gen-table-word-list):
* lisp/arc-mode.el (archive--summarize-descs):
* lisp/auth-source.el (auth-source-forget+):
* lisp/battery.el (battery-linux-proc-acpi, battery-linux-sysfs):
* lisp/calendar/parse-time.el (parse-time-tokenize):
* lisp/calendar/time-date.el (decoded-time-add)
(decoded-time--alter-month, decoded-time--alter-day):
* lisp/cedet/semantic/ede-grammar.el (project-compile-target):
* lisp/dired.el (dired-insert-set-properties):
* lisp/edmacro.el (edmacro-format-keys):
* lisp/epa-file.el (epa-file--replace-text):
* lisp/eshell/esh-cmd.el (eshell-for-iterate):
* lisp/eshell/esh-io.el (eshell-create-handles)
(eshell-duplicate-handles, eshell-protect-handles)
(eshell-copy-output-handle, eshell-buffered-print):
* lisp/font-lock.el (font-lock-fontify-keywords-region):
* lisp/help-fns.el:
* lisp/ibuf-ext.el (ibuffer-generate-filter-groups)
(ibuffer-insert-filter-group-before):
* lisp/ibuffer.el (ibuffer-confirm-operation-on, ibuffer-map-lines):
* lisp/image/image-dired-external.el (image-dired-thumb-queue-run):
* lisp/image/image-dired.el (image-dired-display-thumbs)
(image-dired-line-up):
* lisp/imenu.el (imenu--split):
* lisp/info-xref.el (info-xref-check-node, info-xref-check-all-custom):
* lisp/international/quail.el (quail-insert-decode-map):
* lisp/international/rfc1843.el (rfc1843-decode):
* lisp/mail/ietf-drums-date.el (ietf-drums-date--tokenize-string):
* lisp/mail/ietf-drums.el (ietf-drums-token-to-list):
* lisp/mail/rfc2047.el (rfc2047-qp-or-base64):
* lisp/mail/rfc2231.el (rfc2231-encode-string):
* lisp/mail/yenc.el (yenc-decode-region):
* lisp/mh-e/mh-e.el (mh-xargs):
* lisp/mh-e/mh-folder.el (mh-recenter):
* lisp/mh-e/mh-mime.el (mh-mime-part-index):
* lisp/mh-e/mh-search.el (mh-search):
* lisp/mh-e/mh-thread.el (mh-thread-current-indentation-level):
* lisp/mh-e/mh-utils.el (mh-sub-folders-parse):
* lisp/minibuffer.el (minibuffer--sort-by-position)
(completion-pcm--pattern-point-idx):
* lisp/mpc.el (mpc-cmd-find, mpc-cmd-move, mpc-select-extend)
(mpc-songs-refresh, mpc-songpointer-score)
(mpc-songpointer-refresh-hairy):
* lisp/msb.el (msb--mode-menu-cond, msb--most-recently-used-menu)
(msb--split-menus-2, msb--make-keymap-menu):
* lisp/net/pop3.el (pop3-send-streaming-command):
* lisp/net/puny.el
(puny-encode-complex, puny-decode-string-internal):
* lisp/net/shr-color.el (shr-color-hue-to-rgb):
* lisp/net/soap-client.el (soap-encode-xs-complex-type)
(soap-decode-xs-complex-type, soap-resolve-references-for-operation)
(soap-wsdl-resolve-references):
* lisp/play/5x5.el (5x5-made-move, 5x5-down, 5x5-right):
* lisp/play/decipher.el (key, decipher-mode-syntax-table)
(decipher-add-undo, decipher-complete-alphabet, decipher--analyze)
(decipher--digram-counts, decipher--digram-total):
* lisp/play/hanoi.el (hanoi-move-ring):
* lisp/play/snake.el (snake-reset-game, snake-update-game):
* lisp/profiler.el (profiler-calltree-depth, profiler-calltree-build-1)
(profiler-calltree-build-unified)
(profiler-calltree-compute-percentages):
* lisp/registry.el (registry-reindex):
* lisp/simple.el (completion-list-candidate-at-point):
* lisp/strokes.el (strokes-xpm-to-compressed-string):
* lisp/term.el (term-emulate-terminal, term--handle-colors-list):
* lisp/treesit.el (treesit-node-index, treesit-indent-region):
* lisp/url/url-cookie.el (url-cookie-parse-file-netscape):
* lisp/url/url-dav.el (url-dav-file-name-completion):
* lisp/url/url-queue.el (url-queue-setup-runners)
(url-queue-run-queue):
* lisp/wdired.el (wdired-finish-edit):
* lisp/wid-edit.el (widget-move):
* lisp/window-tool-bar.el (window-tool-bar-string):
* lisp/winner.el (winner-undo):
* lisp/xwidget.el (xwidget-webkit-isearch-forward)
(xwidget-webkit-isearch-backward): Prefer incf to cl-incf.
(cherry picked from commit
fa0131723c3d59240c3bf9b6cd6c0d8abc4ef63f )
Stefan Kangas [Wed, 26 Feb 2025 00:48:48 +0000 (01:48 +0100)]
Prefer incf to cl-incf in vc/*.el
* lisp/vc/diff-mode.el (diff-count-matches):
(diff-fixup-modifs, diff-add-log-current-defuns):
* lisp/vc/vc-hg.el (vc-hg--glob-to-pcre):
* lisp/vc/vc-hooks.el (vc-insert-file):
* lisp/vc/vc.el (vc-print-log-setup-buttons, vc-prepare-patch):
Prefer incf to cl-incf.
(cherry picked from commit
e60103f130916a4632a108352360cb620c02e9f0 )
Pip Cet [Mon, 24 Feb 2025 20:46:49 +0000 (20:46 +0000)]
Handle multibyte mode line spec chars (bug#76517)
* src/xdisp.c (display_mode_element): Make 'c' an 'int'. Use
'string_char_and_length' to fetch the character from a multibyte
string, not 'SREF'.
(cherry picked from commit
1f891898d490380ea59f21fa8ea4e7f7364a1a79 )
Robert Pluim [Fri, 21 Feb 2025 13:20:12 +0000 (14:20 +0100)]
Improve 'send-mail-function' defcustom.
* lisp/mail/sendmail.el (send-mail-function): Provide better
:doc for the available values.
(cherry picked from commit
6f3067324aa83c0e6a44193c81a443d2c98e43d8 )
Po Lu [Tue, 25 Feb 2025 15:20:31 +0000 (23:20 +0800)]
Respect temporary-file-directory in Android test controller
* test/infra/android/test-controller.el (ats-exec-script):
Respect temporary-file-directory.
(cherry picked from commit
5ea0cee19a7a4d88f92e6fab692a17ce295a6698 )
Michael Albinus [Tue, 25 Feb 2025 14:50:35 +0000 (15:50 +0100)]
Fix bug in Tramp argument computing
* lisp/net/tramp-sh.el (tramp-ssh-or-plink-options): Return always
a string. (Bug#76553)
(cherry picked from commit
c2d20946059bb78d7ab40060dbdc829c59a16bde )
Po Lu [Tue, 25 Feb 2025 14:34:43 +0000 (22:34 +0800)]
Implement commands for executing all tests on connected Android devices
* test/infra/android/test-controller.el (ats-upload-test):
Correct minor encoding error. Transfer solitary files without
creating a tar archive, and handle `resources' directories.
(ats-list-tests-locally, ats-list-tests): Don't list files in
`resources' directories. Insert test header locally, and
redisplay after insertion.
(ats-run-all-tests): New function.
(cherry picked from commit
55768eaaaac0702dea9bb686b932af24434c26cb )
Robert Pluim [Fri, 14 Feb 2025 15:57:36 +0000 (16:57 +0100)]
Remove unneded cl-extra require
* lisp/international/emoji.el: Remove cl-extra require.
(cherry picked from commit
4101df53cc4d0bb5a913ce374206845d49336a15 )
Robert Pluim [Fri, 14 Feb 2025 15:56:28 +0000 (16:56 +0100)]
Remove wallpaper.el runtime dependency on cl-lib/cl-macs.
* lisp/image/wallpaper.el: Don't require "cl-macs"
unconditionally, instead require "cl-lib", only when compiling.
(cherry picked from commit
6a2dc0bbd93c56b8d3e3bd178735026140b76c36 )
Michael Albinus [Tue, 25 Feb 2025 11:40:33 +0000 (12:40 +0100)]
; Fix last change
* lisp/net/tramp-cmds.el (tramp-list-remote-buffers)
(tramp-list-remote-buffer-connections): Fix docstring.
(tramp-cleanup-bufferless-connections): Use `string-join'.
(cherry picked from commit
c8985a6d9fe955c66bb24c910708957ed88afb55 )
Po Lu [Tue, 25 Feb 2025 11:12:37 +0000 (19:12 +0800)]
Fix a number of ERT tests for execution on Android
* test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
* test/lisp/server-tests.el (server-tests/emacsclient): Don't
assume emacsclient is installed as emacsclient.
(cherry picked from commit
7da9d2d7464496ff684d28b0d37f286ddae70d65 )
Po Lu [Tue, 25 Feb 2025 11:12:06 +0000 (19:12 +0800)]
; Improve Android regression test execution facilities
* test/infra/android/test-controller.el
(ats-associated-process): New variable.
(ats-start-server): Set coding system to `no-conversion'.
(ats-read-connection): If this buffer is associated with a
connection, return the same.
(ats-establish-connection): New arg INTERACTIVE. Interactively,
open a Lisp interaction buffer with this connection as its
associated process.
(ats-connect): Provide this argument if called interactively.
(ats-eval): New argument RAW. Request that encoded forms not be
decoded if specified, and decode results.
(ats-remote-eval-defuns, ats-remote-eval-print-sexp)
(ats-remote-eval-for-interaction)
(ats-remote-eval-print-last-sexp, ats-remote-eval-last-sexp)
(ats-remote-eval-defun, ats-remote-eval-region-or-buffer)
(ats-lisp-interaction-mode-map, ats-lisp-interaction-mode-menu)
(ats-lisp-interaction-mode, ats-open-lisp-interaction-buffer)
(ats-emacs-test-directory, ats-upload-test)
(ats-list-tests-locally, ats-list-tests, ats-run-test): New
functions and variables.
* test/infra/android/test-driver.el (ats-eval-do-decode): New
variable.
(ats-process-filter, ats-establish-connection)
(ats-initiate-connection): Adjust correspondingly.
(cherry picked from commit
93a185a1fb874ebbcfdac257b50a3d0700a93fb5 )
shipmints [Tue, 25 Feb 2025 10:34:49 +0000 (11:34 +0100)]
Add tramp-cleanup-bufferless-connections (bug#76417)
* doc/misc/tramp.texi (Cleanup remote connections): Add
'tramp-cleanup-bufferless-connections'.
* etc/NEWS: Announce 'tramp-cleanup-bufferless-connections'.
* lisp/net/tramp-cmds.el:
(tramp-list-remote-buffer-connections): New function.
(tramp-cleanup-bufferless-connections): New command.
(tramp-list-remote-buffers): Account for 'buffer-file-name'.
(cherry picked from commit
bea00a07990ebfbe420636363f8d3514571ae79d )
Michael Albinus [Tue, 25 Feb 2025 08:57:30 +0000 (09:57 +0100)]
* doc/misc/ert.texi (Helpers for Buffers): Fix wrong name.
(cherry picked from commit
cc8e8b2595ff2ad0c4e4d5805fed1657a5ad504a )
Michael Albinus [Tue, 25 Feb 2025 08:37:28 +0000 (09:37 +0100)]
Fix tramp-find-executable
* lisp/net/tramp-sh.el (tramp-find-executable): Use "command -pv",
it isbetter supported in different shells. (Bug#76521)
(cherry picked from commit
53eec34da1bf2fb9381680734a99f3fb11225787 )
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 )
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 )
Po Lu [Mon, 24 Feb 2025 13:06:41 +0000 (21:06 +0800)]
; * .gitignore: Add new VCS ignores.
(cherry picked from commit
99d116a8f41c29193cb41d0cde24a7051237ecf4 )
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 )
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 )
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 )
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 )
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 )
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 )
Eshel Yaron [Wed, 26 Feb 2025 09:36:59 +0000 (10:36 +0100)]
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
Eshel Yaron [Wed, 26 Feb 2025 09:32:02 +0000 (10:32 +0100)]
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 )
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 )
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 )
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 )
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 )
Eshel Yaron [Tue, 25 Feb 2025 20:15:18 +0000 (21:15 +0100)]
dolist: support non-list spec
Eshel Yaron [Tue, 25 Feb 2025 19:57:48 +0000 (20:57 +0100)]
Recognize extracted functions as such
Eshel Yaron [Tue, 25 Feb 2025 19:54:42 +0000 (20:54 +0100)]
Improve imenu indexing in ELisp mode
Eshel Yaron [Tue, 25 Feb 2025 19:54:05 +0000 (20:54 +0100)]
New command 'lisp-duplicate-sexp'
Eshel Yaron [Tue, 25 Feb 2025 19:38:12 +0000 (20:38 +0100)]
* lisp/emacs-lisp/lisp-mode.el (lisp-tidy-sexp): Fix infloop.
Eshel Yaron [Tue, 25 Feb 2025 19:37:40 +0000 (20:37 +0100)]
Demote errors in 'cl-case' to warnings
Eshel Yaron [Tue, 25 Feb 2025 15:47:52 +0000 (16:47 +0100)]
elisp-mode.el: Improve Eldoc support
Eshel Yaron [Tue, 25 Feb 2025 15:47:02 +0000 (16:47 +0100)]
Fix imenu minibuffer action regression
Eshel Yaron [Mon, 24 Feb 2025 17:23:23 +0000 (18:23 +0100)]
(elisp-extract-to-local-variable): Fix off-by-one error
Eshel Yaron [Sun, 23 Feb 2025 15:20:10 +0000 (16:20 +0100)]
lisp-mode.el: A few more structural editing commands
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 )
Eshel Yaron [Sun, 23 Feb 2025 08:22:11 +0000 (09:22 +0100)]
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
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 )
Eshel Yaron [Sun, 23 Feb 2025 08:17:53 +0000 (09:17 +0100)]
Stefan Kangas [Sun, 19 Jan 2025 12:59:13 +0000 (13:59 +0100)]
; Fix typos
(cherry picked from commit
702cb123faf1bdbacf555188ae4997d6be3765fe )
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 )
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 )
Eshel Yaron [Sun, 23 Feb 2025 08:15:47 +0000 (09:15 +0100)]