Eli Zaretskii [Wed, 15 Nov 2023 13:10:04 +0000 (15:10 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Po Lu [Wed, 15 Nov 2023 13:06:27 +0000 (21:06 +0800)]
; * doc/lispref/commands.texi (Touchscreen Events): Correct typo.
Po Lu [Wed, 15 Nov 2023 12:58:46 +0000 (20:58 +0800)]
Register ``pinch to zoom'' touch screen gestures
* doc/emacs/input.texi (Touchscreens): Address pinch gestures.
* doc/lispref/commands.texi (Touchscreen Events): Address touch
screen pinch events and the process by which they are produced.
* java/org/gnu/emacs/EmacsWindow.java (figureChange)
<ACTION_POINTER_DOWN>: Supply pointer index to getX and getY,
correcting a mistake where the first touch point's coordinate
was saved here in lieu of the pointer that was pressed's.
* lisp/touch-screen.el (touch-screen-current-tool): Revise doc
string.
(touch-screen-aux-tool): New variable.
(touch-screen-scroll-point-to-y, touch-screen-pinch): New
functions.
(global-map): Bind [touchscreen-pinch] to touch-screen-pinch.
(touch-screen-handle-point-update): Revise doc string; set new
tenth field of t-s-c-t to POINT relative to its window, without
regard to whether an event has been sent.
(touch-screen-distance, touch-screen-centrum): New functions.
(touch-screen-handle-aux-point-update): New function; generate
and send touchscreen-pinch if need be.
(touch-screen-handle-point-up): If an ancillary tool exists,
transfer the information there into touch-screen-current-tool
and clear t-s-a-t.
(touch-screen-handle-touch): Call t-s-a-p-u as is proper; set
t-s-a-t if a touchscreen-down event arrives and t-s-c-t is set.
* src/androidterm.c (handle_one_android_event): Properly save
the event's X and Y when a new touch point is registered.
nverno [Sun, 12 Nov 2023 19:36:09 +0000 (11:36 -0800)]
Fix font-lock for string escapes in lua-ts-mode
* lua-ts-mode.el (lua-ts--font-lock-settings): Apply font-lock
to the entire string containing an escape sequence. (Bug#67135)
john muhl [Mon, 13 Nov 2023 22:06:07 +0000 (16:06 -0600)]
Fix flymake integration in lua-ts-mode (Bug#67152)
* lisp/progmodes/lua-ts-mode.el (lua-ts-flymake-luacheck): Use
'flymake-diag-region' to mark highlighted region.
João Távora [Wed, 15 Nov 2023 10:12:03 +0000 (04:12 -0600)]
* lisp/progmodes/eglot.el (eglot-server-programs): Fix previous commit.
Juri Linkov [Tue, 14 Nov 2023 07:44:15 +0000 (09:44 +0200)]
* lisp/vc/vc.el (vc-deduce-backend-nonvc-modes): New variable (bug#67145).
(vc-deduce-backend): Use it.
Po Lu [Tue, 14 Nov 2023 02:57:18 +0000 (10:57 +0800)]
Properly merge EXTRA_EMAIL content with mailto URIs
* java/org/gnu/emacs/EmacsOpenActivity.java (onCreate):
EXTRA_EMAIL is an array rather than a string, so insert
its first element into an empty mailto URI.
João Távora [Tue, 14 Nov 2023 00:06:24 +0000 (00:06 +0000)]
Eglot: Send standard :language-id for typescript-language-server
bug#67150
* lisp/progmodes/eglot.el (eglot-server-programs): Update
language-id for languages handled by typescript-language-server.
Sean Whitton [Mon, 13 Nov 2023 21:58:46 +0000 (21:58 +0000)]
; * etc/NEWS: Use setopt not setq for project-switch-commands.
Stefan Monnier [Mon, 13 Nov 2023 18:24:12 +0000 (13:24 -0500)]
(wisent-python-lex-beginning-of-line): Fix compiler warning
* lisp/cedet/semantic/wisent/python.el
(wisent-python-lex-beginning-of-line): Comment out unused test.
Harald Jörg [Mon, 13 Nov 2023 15:39:20 +0000 (16:39 +0100)]
; cperl-mode.el: Eliminate warnings about using obsolete functions
* lisp/progmodes/cperl-mode.el (cperl-info-on-current-command):
Use cperl-perldoc instead of cperl-info-on-command.
(cperl-imenu-on-info): Shortcut this function since the Perl info
file can no longer be installed.
Mattias Engdegård [Mon, 13 Nov 2023 10:49:32 +0000 (11:49 +0100)]
Fix variable aliasing bytecode miscompilation (bug#67116)
The compiler didn't cancel aliasing if the aliased variable was
modified in a variable binding in the same `let` that created
the alias. For example,
(let ((x A))
(let ((y x)
(z (setq x B)))
y))
would incorrectly substitute y->x in the body form despite x being
already modified at that point, which normally should have cancelled
the aliasing.
Bug reported by Alan Mackenzie.
* lisp/emacs-lisp/byte-opt.el (byte-optimize--aliased-vars):
Now an alist that also contains the aliases; update the doc string.
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
* lisp/emacs-lisp/byte-opt.el (byte-optimize-let-form):
Detect aliasing early for `let`-bound variables as well.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test cases.
João Távora [Mon, 13 Nov 2023 10:11:09 +0000 (04:11 -0600)]
Fix hanful-insert-character (bug#66970)
* lisp/leim/quail/hangul.el (hangul-insert-character): Rework.
Juri Linkov [Mon, 13 Nov 2023 07:18:49 +0000 (09:18 +0200)]
; * etc/NEWS: Rearrange wrongly categorized entries.
Move Project, Minibuffer and Completions, JS Mode
from "New Modes and Packages" to "Changes in Specialized Modes and Packages".
Juri Linkov [Mon, 13 Nov 2023 07:09:15 +0000 (09:09 +0200)]
* lisp/vc/vc-hooks.el (vc-display-status): New value 'no-backend' (bug#66464).
* lisp/vc/vc-hooks.el (vc-default-mode-line-string): Use it.
* lisp/vc/vc-git.el (vc-git-mode-line-string): Use it.
* lisp/vc/vc-hg.el (vc-hg-mode-line-string): Use it.
F. Jason Park [Wed, 8 Nov 2023 07:51:27 +0000 (23:51 -0800)]
; Prepare for ERC 5.6 release
* doc/misc/erc.texi: Minor tweak in SASL section.
* etc/ERC-NEWS: Revise various sections under 5.6.
* lisp/erc/erc-button.el (erc-button-alist): Remove comment.
(erc-nick-popup-alist): Remove comment.
* lisp/erc/erc-fill.el (erc-fill-wrap-margin-width): Remove comment.
(erc-fill-wrap-margin-side): Remove comment.
(erc-fill-line-spacing): Remove comment.
(erc-fill-wrap-use-pixels): Remove comment.
(erc-fill-wrap-visual-keys): Remove comment.
(erc-fill-wrap-force-screen-line-movement): Remove comment.
(erc-fill-wrap-merge): Remove comment.
* lisp/erc/erc-goodies.el (erc-scrolltobottom-all): Remove comment.
(erc-keep-place-indicator-style): Remove comment.
(erc-keep-place-indicator-buffer-type): Remove comment.
(erc-keep-place-indicator-follow): Remove comment.
* lisp/erc/erc-networks.el (erc-server-alist): Remove comment.
* lisp/erc/erc-nicks.el (erc-nicks): Remove comment.
* lisp/erc/erc-speedbar.el
(erc-speedbar-nicknames-window-width): Remove comment.
(erc-speedbar-hide-mode-topic): Remove comment.
(erc-speedbar-my-nick-face): Remove comment.
* lisp/erc/erc-stamp.el (erc-timestamp-format-right): Remove comment.
(erc-echo-timestamp-zone): Remove comment.
(erc-timestamp-use-align-to): Remove comment.
* lisp/erc/erc-status-sidebar.el
(erc-status-sidebar-highlight-active-buffer): Remove comment.
(erc-status-sidebar-style): Remove comment.
(erc-status-sidebar-click-display-action): Remove comment.
* lisp/erc/erc.el: Bump required Compat version to 29.1.4.3 in
Package-Requires header.
(erc-notice-face): Remove comment.
(erc-action-face): Remove comment.
(erc-interactive-display): Remove comment.
(erc-auto-reconnect-display-timeout): Remove comment.
(erc-reconnect-display-server-buffers): Remove comment.
(erc-modules): Remove comment.
* test/lisp/erc/resources/base/display-message/multibuf.eld: Remove
reference to specific ERC version in QUIT command reason.
* test/lisp/erc/resources/base/assoc/reconplay/foonet.eld: Timeout.
F. Jason Park [Fri, 10 Nov 2023 21:34:31 +0000 (13:34 -0800)]
Revive erc-command-indicator as new module
* doc/misc/erc.texi: Add entry for `command-indicator' to Modules
chapter.
* etc/ERC-NEWS: Mention new module `command-indicator'.
* lisp/erc/erc-goodies.el (erc-noncommands-list): Replace the
nonexistent `erc-cmd-SMV' with function `erc-cmd-SAY'.
(erc-noncommands-mode, erc-noncommands-enable,
erc-noncommands-disable): Deprecate this module because it's a no-op.
(erc-command-indicator-face, erc-command-indicator): Migrate from main
library.
(erc-command-indicator-mode, erc-command-indicator-enable,
erc-command-indicator-disable): New module to take the spiritual place
of `noncommands'.
(erc-command-indicator): Move function here from main library, along
with option namesake mentioned above.
(erc-command-indicator-toggle-hidden): New command to toggle echoed
command-line visibility.
(erc--command-indicator-permit-insertion): New function.
(erc--command-indicator-display): New function, a slightly revised
version of the old `erc-display-command' from the main library. Its
only call site was removed back in
d1036d288de "backport: erc
bugfixes". However, references were left behind to associated assets,
like `erc-command-indicator', etc. The function was later commented
out in
0c599ee2e2c "* lisp/erc/erc.el: Use `run-hook-with-args` for
`erc-pre-send-functions`", and then removed by
a63ed6f78a6 "Remove
duplicate ERC prompt on reconnect".
* lisp/erc/erc-match.el (erc-match-toggle-hidden-fools): Use new
non-module-specific name for `erc-match--toggle-hidden'.
(erc-match--toggle-hidden): Move to main library for shared use by
other modules.
* lisp/erc/erc.el (erc-hide-prompt): Leave note explaining updated
role.
(erc-command-indicator): Move option and function of same name to
erc-goodies.
(erc-command-indicator-face): Move to erc-goodies.
(erc-modules): Remove module `noncommands' from standard value and
Custom set. Add `command-indicator' to set.
(erc--toggle-hidden): "New" function, a rebranded version of the
utility `erc-match--toggle-hidden' from erc-match.
(erc--send-input-lines): Accommodate modules wanting alternate
insertion functions.
(erc-load-irc-script-lines): Account for `erc-command-indicator' no
longer being defined in this library.
* test/lisp/erc/erc-scenarios-base-send-message.el
(erc-scenarios-base-send-message--command-indicator): New test.
* test/lisp/erc/erc-tests.el (erc-tests--modules): Remove
deprecated module `noncommands' from manifest. (Bug#67031)
F. Jason Park [Thu, 9 Nov 2023 05:20:54 +0000 (21:20 -0800)]
Simplify default text props for ERC input
* lisp/erc/erc.el (erc--msg-props): Reformat doc string to improve
readability.
(erc-send-current-line): Don't bind `erc--msg-prop-overrides' because
doing so affects all scoped calls to `erc-display-message' made by
slash commands, etc. and makes handling overly complex and error
prone.
(erc-display-msg): Set `erc-msg' property to `msg' instead of `self'
because the only legitimate use of this function is for inserting
"echoed" prompt input. (Bug#60936 and Bug#67031)
F. Jason Park [Mon, 18 Sep 2023 10:39:57 +0000 (03:39 -0700)]
Allow opting out of empty message padding in ERC
* lisp/erc/erc.el (erc--allow-empty-outgoing-lines-p): New internal
variable.
(erc-send-input-line, erc--run-send-hooks): Don't pad output when
`erc--allow-empty-outgoing-lines-p' is non-nil. (Bug#67031)
F. Jason Park [Sat, 10 Jun 2023 04:00:03 +0000 (21:00 -0700)]
Make nested input handling more robust in ERC
* lisp/erc/erc.el (erc--send-action-function): New function-valued
variable for locally advising `erc-send-action' so that built-in
modules can elect to handle insertion and sending themselves.
(erc-send-action): Defer to `erc--send-action-function'.
(erc--send-action-perform-ctcp): Isolate the message-sending business
for CTCP ACTIONs that used to reside in `erc-send-action'.
(erc--send-action-display): Isolate the message-insertion business
formerly residing in `erc-send-action' for more granular use. Fix a
minor bug involving inserted representations of CTCP ACTIONs not
having `erc-my-nick-face' applied to the speaker.
(erc--send-action): Perform the same displaying and sending of CTCP
ACTION messages formerly handled by `erc-send-action', but display
messages before sending them.
(erc--current-line-input-split): New variable bound to the post-review
`erc--input-split' object for the extent of display processing. This
mainly benefits slash-command handlers and the utility functions they
employ, such as `erc-send-message'.
(erc-cmd-SAY): Defer to `erc--send-message'.
(erc--send-message-nested-function): New function-valued variable
supporting an internal interface for influencing how
`erc-send-message' inserts and sends prompt input. Some handlers for
slash commands, like /SV, use `erc-send-message' to perform their own
insertion and sending, which is normally the domain of
`erc-send-current-line'. When this happens, modules can't easily
leverage the normal hook-based API to do things like suppress
insertion but allow sending or vice-versa. This variable provides an
internal seam for modules to exert such influence.
(erc-send-message): Behave specially when called by the default
interactive client via `erc-send-current-line' and friends.
(erc--send-message-external): New function to house the former body of
`erc-send-message', for third-party code needing to apply the
traditional behavior.
(erc--send-message-nested): New function for turning arbitrary text,
such as replacement prompt input, into outgoing message text by doing
things like ensuring "send" hooks run and invariants for prompt
markers are preserved.
(erc--make-input-split): New helper function for creating a standard
`erc--input-split' object from a string. This is arguably less
confusing than adding another constructor to the struct definition.
(erc-send-current-line): Bind `erc--current-line-input-split' when
dispatching prompt-input handlers. Use helper `erc--make-input-split'
to initialize working `erc--input-split' state object.
(erc--run-send-hooks): Honor existing `refoldp' slot from
`erc--input-split' object.
(erc--send-input-lines): Convert to generic function to allow modules
control over fundamental insertion and sending operations, which is
necessary for next-generation features, like multiline messages.
(erc-modes): Don't output non-modules. That is, only list actual
modules created via `define-erc-module', and `quote' members of the
resulting list.
* test/lisp/erc/erc-scenarios-base-send-message.el: New test file.
* test/lisp/erc/resources/base/send-message/noncommands.eld: New data
file. (Bug#67031)
F. Jason Park [Fri, 15 Jul 2022 12:02:35 +0000 (05:02 -0700)]
Always run erc-server-send-queue via timer
* lisp/erc/erc-backend.el (erc--server-send, erc-server-send): Convert
the latter into a wrapper that calls the former, a "new" internal
generic function, so that built-in modules can do things like prepend
tags to outgoing messages and send messages over other transports or
proxy protocols. Extend the `no-penalty' parameter to mean ERC will
schedule an imminent send via a timer. And always run the function
`erc-server-send-queue' on a timer. (Bug#67031)
F. Jason Park [Thu, 9 Nov 2023 03:14:55 +0000 (19:14 -0800)]
Make ERC's error-notice formatting more consistent
* lisp/erc/erc-backend.el (erc--server-propagate-failed-connection):
Include leading three-asterisk notice prefix when reporting process
exit status, and set the `erc-msg' text property to `notice-error'.
(erc-schedule-reconnect): Include leading notice prefix when inserting
`reconnecting' message.
* lisp/erc/erc.el (erc-process-input-line, erc-cmd-PART,
erc-cmd-TOPIC): Display `no-target' messages as "error notices".
(erc-message-english-disconnected,
erc-message-english-disconnected-noreconnect): Hard-code standard
value of `erc-notice-prefix' into message text for consistency during
formatting and insertion.
* test/lisp/erc/erc-tests.el (erc--refresh-prompt): Expect notice
prefix before `no-target' message. (Bug#67031)
F. Jason Park [Sun, 3 Sep 2023 23:05:59 +0000 (16:05 -0700)]
Offer alternate pool-creation strategies in erc-nicks
* lisp/erc/erc-nicks.el (erc-nicks-bg-color): Expand doc string.
(erc-nicks-colors): Add new choices `font-lock' and `ansi-color'.
(erc-nicks--adjust-contrast): Add assertion to prevent dependency bug
from resurfacing when hacking on module activation code.
(erc-nicks--create-pool-function): New function-valued variable to
specify a pool creation strategy. Note in doc string that this could
form the basis for a possible user option should the need arise.
(erc-nicks--create-coerced-pool): New function for filtering
user-provided `erc-nicks-color' values.
(erc-nicks--create-pool, erc-nicks--create-culled-pool): Rename former
to latter.
(erc-nicks--init-pool): Call `erc-nicks--create-pool-function' to
actually create pool. Account for new `erc-nicks-colors' values.
(erc-nicks-enable, erc-nicks-mode): Set `erc-nicks--fg-rgb' before
`erc-nicks--init-pool' to prevent type error in filters that depend on
that variable being initialized. This is a bug fix.
(erc-nicks-refresh): Provide helpful user error instead of letting
`arith-error' propagate due to an empty pool.
(erc-nicks--colors-from-faces): New helper function.
* test/lisp/erc/erc-nicks-tests.el (erc-nicks--create-pool,
erc-nicks--create-culled-pool): Rename test from former to latter and
update function invocations to reflect that.
(erc-nicks--create-coerced-pool): New test. (Bug#63569)
F. Jason Park [Mon, 6 Nov 2023 00:03:15 +0000 (16:03 -0800)]
Don't use func-arity to trigger API warning in url-irc
* lisp/url/url-irc.el (url-irc): Use more robust `condition-case'
pattern instead, which will still fail when met with various edge
cases. The old way was only useful for non-variadic lambda lists
consisting entirely of named positional parameters. (Bug#56514)
Xiaoyue Chen [Sun, 12 Nov 2023 20:04:02 +0000 (12:04 -0800)]
Pass only the local parts of Eshell's $PATH to 'tramp-remote-path'
* lisp/eshell/esh-proc.el (eshell-gather-process-output): Get the
local part of the $PATH (bug#67126).
Copyright-paperwork-exempt: yes
Jim Porter [Sun, 12 Nov 2023 19:08:40 +0000 (11:08 -0800)]
; Fix docstring typo in Eshell tests
* test/lisp/eshell/em-hist-tests.el (em-hist-test/check-history-file):
Fix typo.
Stephen Berman [Sun, 12 Nov 2023 13:58:58 +0000 (14:58 +0100)]
Add support in todo-mode.el for ISO date format
* lisp/calendar/todo-mode.el (todo--date-pattern-groups): New defconst.
(todo-date-pattern): Use it to extend pattern matching of
`calendar-date-display-form' to support the ISO date format in
todo item date headers (bug#66395, bug#55284).
(todo-edit-item--header): Make it work with ISO date strings.
Jim Porter [Wed, 25 Oct 2023 22:24:28 +0000 (15:24 -0700)]
Hook 'bug-reference-mode' up to 'thing-at-point'
* lisp/progmodes/bug-reference.el (bug-reference--url-at-point): New
function.
(bug-reference-mode, bug-reference-prog-mode): Factor initialization
code out to...
(bug-reference--init): ... here.
* test/lisp/progmodes/bug-reference-tests.el (test-thing-at-point):
New test.
* etc/NEWS: Announce this change (bug#66752).
Po Lu [Sun, 12 Nov 2023 03:44:58 +0000 (11:44 +0800)]
Adjust dump file location under Android
* java/org/gnu/emacs/EmacsApplication.java (EmacsApplication)
<apkFileName>: New field.
(getApkFile): Move from EmacsService.java.
(findDumpFile): If the dump file is older than the APK, delete
it irrespective of whether the checksums agree.
(onCreate): Initialize apkFileName.
* java/org/gnu/emacs/EmacsService.java (onCreate): Use
EmacsApplication.apkFileName.
* src/android.c (android_on_low_memory): Correct arguments to
Fclear_image_cache.
* src/image.c (Fclear_image_cache): Check that animation_cache
is always a cons.
João Távora [Sat, 11 Nov 2023 15:29:46 +0000 (15:29 +0000)]
Fix test failures in test/lisp/minibuffer-tests.el
bug#48841, bug#47711
In some instances the test code needed to be updated to make different
assumptions about implementation details.
In others, like the ones about the completions-first-difference face,
minor parts of the actual user-visible behaviour were broken.
* test/lisp/minibuffer-tests.el (completion-test1): Robustify test.
(completion--pcm-score): Don't assume completion-score is stored
in string as a property.
* lisp/minibuffer.el (completion--hilit-from-re): Take new parameter.
(completion-pcm--hilit-commonality): Use it.
Eli Zaretskii [Sat, 11 Nov 2023 10:31:52 +0000 (05:31 -0500)]
Merge from origin/emacs-29
ce0ebb91f25 Improve documentation of read syntax and printed represen...
81f84b00a5d ; * doc/lispref/modes.texi (Other Font Lock Variables): A...
434592b0746 ; * lisp/dired.el (dired-use-ls-dired): Doc fix (bug#67053).
fe000236cf2 Improve documentation of signaling errors in batch mode
103ca678ac1 Fix treesit-simple-indent-presets docstring (bug#67007)
b7871cefe7b Prevent an infinite loop in todo-mode (bug#66994)
fa8cc4c9ee2 Fix cmake-ts-mode indentation (Bug#66845)
5bdc61bc0ef Update to Org 9.6.11
18e2de1bec9 ; * lisp/bindings.el (right-word, left-word): Doc fix.
4f0fc3bfda3 ; Document core input events problems with XInput2
Po Lu [Sat, 11 Nov 2023 10:05:35 +0000 (18:05 +0800)]
; * lisp/touch-screen.el (touch-screen-track-tap): Fix typo.
Po Lu [Sat, 11 Nov 2023 10:03:33 +0000 (18:03 +0800)]
Enable canceling tap gestures
* doc/lispref/commands.texi (Touchscreen Events): Relate new
THRESHOLD argument to touch-screen-track-tap.
* lisp/button.el (push-button):
* lisp/wid-edit.el (widget-button--check-and-call-button):
Provide a threshold to enable canceling button presses.
* lisp/touch-screen.el (touch-screen-track-tap): Enable
canceling tap gestures and resuming touch sequence translation
if the touch point exceeds a set threshold.
Eli Zaretskii [Sat, 11 Nov 2023 10:02:24 +0000 (12:02 +0200)]
Improve documentation of read syntax and printed representation
* doc/lispref/objects.texi (Syntax for Strings): Describe in more
detail how to specify special characters in string literals.
(Printed Representation, Character Type, Nonprinting Characters):
Improve information and add cross-references about printed
representation and read syntax. (Bug#67033)
Eli Zaretskii [Sat, 11 Nov 2023 09:05:58 +0000 (11:05 +0200)]
; * doc/lispref/modes.texi (Other Font Lock Variables): Add link.
Eli Zaretskii [Sat, 11 Nov 2023 06:47:22 +0000 (08:47 +0200)]
; * lisp/dired.el (dired-use-ls-dired): Doc fix (bug#67053).
Jim Porter [Sat, 11 Nov 2023 01:53:02 +0000 (17:53 -0800)]
Add some more Eshell history tests
* test/lisp/eshell/em-hist-tests.el (em-hist-test/check-history-file):
New function. Use it throughout this file.
(em-hist-test/history-append): Rename to...
(em-hist-test/write-history/append): ... this.
(em-hist-test/history-read): Rename to...
(em-hist-test/write-history/overwrite): ... this.
(em-hist-test/write-history/append-multiple-eshells)
(em-hist-test/write-history/overwrite-multiple-shells): New tests.
(em-hist-test/write-history/read-only): Check the resulting history.
Liu Hui [Tue, 7 Nov 2023 01:10:59 +0000 (09:10 +0800)]
Improve read/append behavior of eshell history command
* lisp/eshell/em-hist.el (eshell-hist--new-items): New variable.
(eshell-hist-initialize): Initialize 'eshell-hist--new-items' to 0.
(eshell/history): Change the behavior of 'history -a' to "append new
history in current buffer to history file". Clarify the help text of
'history -r'.
(eshell-add-input-to-history): Increase counter of new history items.
(eshell-read-history): Respect 'eshell-hist-ignoredups' option.
(eshell-write-history): If the optional argument APPEND is non-nil,
appending new history items rather than the whole history.
* test/lisp/eshell/em-hist-tests.el (em-hist-test/history-append)
(em-hist-test/history-read): New tests (bug#66768).
Eli Zaretskii [Fri, 10 Nov 2023 19:54:35 +0000 (21:54 +0200)]
Fix mode-line after switching from WDired back to Dired
* lisp/wdired.el (wdired-change-to-dired-mode): Call
'dired-sort-set-mode-line' to set the mode name in the mode line,
so as to restore the display before switching to WDired.
(Bug#67028)
Eric Abrahamsen [Fri, 10 Nov 2023 16:35:04 +0000 (17:35 +0100)]
Add some headers to message-ignored-bounced-headers
* lisp/gnus/message.el (message-ignored-bounced-headers): These are
headers that a) are derived from the exact text of the message and
thus are now invalid and b) either will be automatically regenerated
when the message is sent or shouldn't be present on the message copy
at all.
Mattias Engdegård [Fri, 10 Nov 2023 15:57:15 +0000 (16:57 +0100)]
Use BASE_EQ instead of EQ for some uninterned symbols
* src/editfns.c (labeled_restrictions_pop, Fwiden):
* src/eval.c (lexbound_p, Fbacktrace__locals):
* src/fileio.c (Finsert_file_contents):
* src/fns.c (Fyes_or_no_p):
* src/keyboard.c (command_loop_1):
Use BASE_EQ for comparing with Qoutermost_restriction,
Qinternal_interpreter_environment and Qunbound as uninterned
symbols won't be EQ to a symbol-with-pos.
Michael Albinus [Fri, 10 Nov 2023 10:16:22 +0000 (11:16 +0100)]
* test/infra/gitlab-ci.yml (.native-comp-template): Adapt "changes".
Michael Albinus [Fri, 10 Nov 2023 10:15:30 +0000 (11:15 +0100)]
Don't expand file names for non-existing remote connections
* lisp/saveplace.el (save-place-abbreviate-file-names) [:set]:
* lisp/bookmark.el (bookmark--remove-fringe-mark): Don't expand
file names for non-existing remote connections. (Bug#66982)
Po Lu [Fri, 10 Nov 2023 06:57:24 +0000 (14:57 +0800)]
Clear image caches in reaction to system VM warnings
* java/org/gnu/emacs/EmacsNative.java (onLowMemory):
* java/org/gnu/emacs/EmacsService.java (onLowMemory): New
function.
* src/android.c (android_on_low_memory, onLowMemory): New
functions called when a VM caution is registered. Clear
the image cache and run garbage collection.
Yuan Fu [Fri, 10 Nov 2023 05:19:12 +0000 (21:19 -0800)]
Mark treesit--things-around obsolete
* lisp/treesit.el (treesit--things-around): Mark obsolete.
Yuan Fu [Fri, 10 Nov 2023 05:09:48 +0000 (21:09 -0800)]
Replace treesit--things-around with new functions (bug#66989)
* lisp/treesit.el (treesit-forward-sexp):
Replace things-around with thing-at.
(treesit--navigate-thing): Replace things-around with
thing-prev/next/at. Also this should fix the problem described in
bug#66989.
(treesit-thing-at-point): Replace things-around with thing-at.
Yuan Fu [Fri, 10 Nov 2023 04:50:44 +0000 (20:50 -0800)]
Add treesit thing-at-point functions
* lisp/treesit.el (treesit--thing-sibling):
(treesit--thing-prev):
(treesit--thing-next):
(treesit--thing-at): New functions.
Yuan Fu [Fri, 10 Nov 2023 04:49:30 +0000 (20:49 -0800)]
Add treesit-node-enclosed-p
* doc/lispref/parsing.texi (Accessing Node Information):
Add manual entry.
* lisp/treesit.el (treesit-node-enclosed-p): New function.
(treesit): Add shortdoc entry.
* test/src/treesit-tests.el (treesit-node-api): Add tests.
Yuan Fu [Fri, 10 Nov 2023 04:09:06 +0000 (20:09 -0800)]
Add shortdoc for treesit-node-get
Andrea Corallo [Thu, 9 Nov 2023 18:12:14 +0000 (19:12 +0100)]
Clean-up warnings for non native builds (this time for real)
* lisp/emacs-lisp/comp.el (comp-native-version-dir)
(comp-subr-arities-h, native-comp-eln-load-path)
(native-comp-enable-subr-trampolines): Remove warning.
(comp--compile-ctxt-to-file, comp--init-ctxt, comp--release-ctxt)
(comp-el-to-eln-filename)
(comp-el-to-eln-rel-filename, native-elisp-load): Declare.
* lisp/emacs-lisp/comp-run.el (comp--no-native-compile)
(comp-deferred-pending-h, comp-installed-trampolines-h)
(native-comp-enable-subr-trampolines): Remove warning.
(comp--install-trampoline, comp-el-to-eln-filename)
(native-elisp-load): Declare.
* lisp/emacs-lisp/comp-common.el: Update.
Juri Linkov [Thu, 9 Nov 2023 16:24:48 +0000 (18:24 +0200)]
* lisp/minibuffer.el (minibuffer-choose-completion-or-exit): Improve.
Use minibuffer-complete-and-exit instead of exit-minibuffer
since this is what it's used in the completion minibuffer.
Juri Linkov [Thu, 9 Nov 2023 16:20:14 +0000 (18:20 +0200)]
Improve 'next-line-completion' and add more tests
* lisp/simple.el (next-line-completion): Improve (bug#59486).
Better handle the case when completion-auto-wrap is nil.
* test/lisp/minibuffer-tests.el (completion-auto-wrap-test)
(completions-header-format-test)
(completions-affixation-navigation-test): Add calls to
'next-line-completion' and 'previous-line-completion'.
(completions-group-navigation-test): New test.
Andrea Corallo [Thu, 9 Nov 2023 16:00:22 +0000 (17:00 +0100)]
Clean-up warnings for non native builds
* lisp/emacs-lisp/comp-common.el (native-comp-enable-subr-trampolines)
(comp-installed-trampolines-h, comp-subr-arities-h)
(native-comp-eln-load-path, comp-native-version-dir)
(comp-deferred-pending-h, comp--no-native-compile): Silence
warning.
(comp-el-to-eln-rel-filename, native-elisp-load)
(comp--release-ctxt, comp--init-ctxt)
(comp--compile-ctxt-to-file, comp-el-to-eln-filename)
(comp--install-trampoline): Declare function.
* lisp/emacs-lisp/comp.el : Update.
Andrea Corallo [Wed, 8 Nov 2023 15:36:24 +0000 (16:36 +0100)]
comp: Don't load.el comp when C-h f
* lisp/emacs-lisp/comp-common.el (comp-known-type-specifiers)
(comp-function-type-spec): Move here.
Andrea Corallo [Wed, 8 Nov 2023 15:19:18 +0000 (16:19 +0100)]
comp: Add comp-common.el
* lisp/emacs-lisp/comp-common.el: New file.
(comp-common): New group.
(native-comp-verbose, native-comp-never-optimize-functions)
(native-comp-async-env-modifier-form, comp-limple-calls)
(comp-limple-sets, comp-limple-assignments)
(comp-limple-branches, comp-limple-ops)
(comp-limple-lock-keywords, comp-log-buffer-name, comp-log)
(native-comp-limple-mode, comp-log-to-buffer)
(comp-ensure-native-compiler, comp-trampoline-filename)
(comp-eln-load-path-eff): Move here
* lisp/emacs-lisp/comp-run.el (comp-common): Require.
* lisp/emacs-lisp/comp.el (comp-common): Require.
* admin/MAINTAINERS: Add comp-common.el
* lisp/Makefile.in (COMPILE_FIRST): Likewise.
* src/Makefile.in (elnlisp): Likewise.
Andrea Corallo [Tue, 7 Nov 2023 10:28:32 +0000 (11:28 +0100)]
Don't load comp when installing an existing trampoline
* lisp/emacs-lisp/nadvice.el (advice--add-function): Update.
(comp-subr-trampoline-install): Update src file.
* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Autoload.
* lisp/emacs-lisp/comp-run.el (comp-log-buffer-name)
(native--compile-async, comp-warn-primitives)
(comp-trampoline-filename, comp-eln-load-path-eff)
(comp-trampoline-search, comp-trampoline-compile): Move here.
* lisp/emacs-lisp/advice.el (comp-subr-trampoline-install): Update
src file.
Andrea Corallo [Wed, 25 Oct 2023 21:50:39 +0000 (23:50 +0200)]
comp: don't require 'warnings' in comp-run
* lisp/emacs-lisp/comp-run.el (warnings): Don't require.
(warning-suppress-types): Wave warning.
* lisp/emacs-lisp/warnings.el (warning-suppress-types): Autoload it.
Andrea Corallo [Wed, 25 Oct 2023 15:58:43 +0000 (17:58 +0200)]
comp: make comp-run don't require cl-lib at runtime
* lisp/emacs-lisp/comp-run.el (cl-lib): Require it only at compile
time.
(native-compile-async-skip-p): Use 'seq-some'.
(native--compile-async): Don't use 'cl-substitute'.
Andrea Corallo [Thu, 19 Oct 2023 16:10:25 +0000 (18:10 +0200)]
comp: split code in comp-run.el
* lisp/emacs-lisp/comp-run.el : New file.
(comp-run)
(native-comp-jit-compilation-deny-list)
(native-comp-async-jobs-number)
(native-comp-async-report-warnings-errors)
(native-comp-always-compile)
(native-comp-async-cu-done-functions)
(native-comp-async-all-done-hook)
(native-comp-async-env-modifier-form)
(native-comp-async-query-on-exit, native-comp-verbose)
(comp-log-buffer-name, comp-async-buffer-name, comp-no-spawn)
(comp-async-compilations, native-comp-limple-mode)
(comp-ensure-native-compiler, native-compile-async-skip-p)
(comp-files-queue, comp-async-compilations, comp-async-runnings)
(comp-num-cpus, comp-effective-async-max-jobs)
(comp-last-scanned-async-output)
(comp-accept-and-process-async-output, comp-valid-source-re)
(comp-run-async-workers, native--compile-async)
(native-compile-async): Move these definitions here.
* lisp/Makefile.in (COMPILE_FIRST): Update.
* src/Makefile.in (elnlisp): Likewise.
* admin/MAINTAINERS: Likewise.
Eli Zaretskii [Thu, 9 Nov 2023 08:33:28 +0000 (10:33 +0200)]
Improve documentation of signaling errors in batch mode
* doc/lispref/control.texi (Signaling Errors)
(Processing of Errors):
* doc/lispref/os.texi (Batch Mode):
* doc/lispref/debugging.texi (Invoking the Debugger):
* lisp/emacs-lisp/debug.el (debug):
* src/eval.c (Fsignal):
* lisp/subr.el (error): Document more prominently that signaling
an unhandled error in batch mode kills Emacs. Better
documentation of backtrace in batch mode.
Yuan Fu [Thu, 9 Nov 2023 07:46:32 +0000 (23:46 -0800)]
Fix treesit-simple-indent-presets docstring (bug#67007)
* lisp/treesit.el (treesit-simple-indent-presets): Fix docstring.
* doc/lispref/modes.texi (Parser-based Indentation): Fix example.
Eshel Yaron [Wed, 8 Nov 2023 17:27:03 +0000 (18:27 +0100)]
Promptly disable 'completion-in-region-mode' (bug#67001)
Avoid keeping 'completion-in-region-mode' on when exiting
'completion--in-region-1' if the *Completions* buffer isn't shown.
Otherwise, the bindings from 'completion-in-region-mode-map' linger,
notable shadowing other bindings for TAB.
* lisp/minibuffer.el (completion--in-region-1): Disable
'completion-in-region-mode' if the *Completions* buffer isn't visible.
Juri Linkov [Thu, 9 Nov 2023 07:32:39 +0000 (09:32 +0200)]
* lisp/progmodes/elisp-mode.el (elisp--local-variables): Remove `debug'.
Remove symbol `debug' from the condition-case handler of `error'
that was added in commit
f931cebce76d911dfc61274e0a8c1de3627b9179
since it interferes on completing in an incomplete elisp form (bug#66979).
Po Lu [Thu, 9 Nov 2023 02:12:24 +0000 (10:12 +0800)]
Guarantee files are auto-saved when Emacs is terminated by Android
* java/org/gnu/emacs/EmacsNative.java (shutDownEmacs):
* java/org/gnu/emacs/EmacsService.java (onDestroy): New
function. When invoked, call shut_down_emacs and await its
completion.
* src/android.c (android_shut_down_emacs, shutDownEmacs): New
functions.
Stephen Berman [Wed, 8 Nov 2023 23:13:06 +0000 (00:13 +0100)]
Prevent an infinite loop in todo-mode (bug#66994)
* lisp/calendar/todo-mode.el (todo-item-start): Moving an item to
a todo file (with `C-u m') that had not yet been read into a
buffer puts point at the beginning of the file, from where it is
impossible to reach todo-item-start by this function, so don't try
in that case.
Alan Mackenzie [Wed, 8 Nov 2023 20:49:48 +0000 (20:49 +0000)]
With `native-compile', compile lambdas in a defun or lambda too
This fixes bug#64646. Also refactor two functions to reduce
code duplication.
* lisp/emacs-lisp/comp.el (comp-spill-lap-function/symbol)
(comp-spill-lap-function/list): Add all functions found by the
byte compiler (including lambdas) to the native compiler's
context, thus making them be native compiled. Refactor to use
comp-intern-func-in-ctxt. Make comp-spill-lap-function/list
also compile closures.
* test/src/comp-resources/comp-test-funcs.el
(comp-tests-lambda-return-f2): New function
* test/src/comp-tests.el (comp-test-lambda-return2)
(comp-tests-free-fun-f2): New functions to test that internal
lambdas get native compiled.
Randy Taylor [Wed, 1 Nov 2023 02:08:25 +0000 (22:08 -0400)]
Fix cmake-ts-mode indentation (Bug#66845)
* lisp/progmodes/cmake-ts-mode.el (cmake-ts-mode--indent-rules):
Support versions v0.3.0 and v0.4.0 of the grammar.
(cmake-ts-mode--font-lock-compatibility-
fe9b5e0): Fix docstring.
Philip Kaludercic [Wed, 1 Nov 2023 21:34:28 +0000 (22:34 +0100)]
Simplify 'project-remember-projects-under'
* lisp/progmodes/project.el (project-remember-projects-under): Instead
of traversing the directories manually, re-use
`directory-files-recursively' to reduce complexity. (Bug#66649)
Juri Linkov [Wed, 8 Nov 2023 07:38:35 +0000 (09:38 +0200)]
* lisp/minibuffer.el (minibuffer-choose-completion-or-exit): New command.
(minibuffer-visible-completions-map): Bind it to "RET".
https://lists.gnu.org/archive/html/emacs-devel/2023-11/msg00246.html
Po Lu [Wed, 8 Nov 2023 03:03:57 +0000 (11:03 +0800)]
Don't leave point amid text conversion edits if auto-fill transpires
* lisp/simple.el (analyze-text-conversion): Save point in
old-point after auto-fill completes, so that point-moved is not
set if point remains intact subsequent to the execution of both
hooks.
João Távora [Tue, 7 Nov 2023 15:09:30 +0000 (09:09 -0600)]
Eglot: Demote errors to warnings in eglot-ensure
Github-reference: https://github.com/joaotavora/eglot/discussions/1318
* doc/misc/eglot.texi (Quick Start): Reword.
(Starting Eglot): Reword.
* lisp/progmodes/eglot.el (eglot-ensure): Demote errors to warnings.
Eli Zaretskii [Tue, 7 Nov 2023 14:31:40 +0000 (16:31 +0200)]
; * lisp/minibuffer.el (completion-lazy-hilit-fn): Fix last change.
Eli Zaretskii [Tue, 7 Nov 2023 14:29:06 +0000 (16:29 +0200)]
; Minor documentation fixes
* etc/NEWS:
* lisp/minibuffer.el (completion-lazy-hilit)
(completion-lazy-hilit-fn, completion-lazy-hilit): Fix recently
added documentation.
Juri Linkov [Mon, 6 Nov 2023 17:43:06 +0000 (19:43 +0200)]
* lisp/simple.el (next-line-completion): Improve (bug#59486).
Handle the case when lines with completion candidates are
interspersed with lines that contain group headings.
João Távora [Wed, 25 Oct 2023 12:45:01 +0000 (13:45 +0100)]
Allow completion frontends to fontify candidates just-in-time
bug#48841, bug#47711
The variable may be bound by the frontend to a non-nil around
completion-producing calls like completion-all-completions. See
completion-lazy-hilit docstring for more info.
* lisp/icomplete.el (icomplete-minibuffer-setup): Set completion-lazy-hilit.
(icomplete--render-vertical): Call completion-lazy-hilit.
(icomplete-completions): Call completion-lazy-hilit.
* lisp/minibuffer.el (completion-lazy-hilit): New variable.
(completion-lazy-hilit): New function.
(completion-lazy-hilit-fn): New variable.
(completion-pcm--regexp)
(completion--flex-score-last-md): New helper variables.
(completion--flex-score-1): New helper.
(completion-pcm--hilit-commonality): Use completion-lazy-hilit.
(completion--flex-adjust-metadata): Rework sorting code.
* etc/NEWS: Mention completion-lazy-hilit
Mattias Engdegård [Mon, 6 Nov 2023 11:06:40 +0000 (12:06 +0100)]
; * lisp/emacs-lisp/cl-macs.el: Axe useless `gethash` inline decl
Stefan Kangas [Mon, 6 Nov 2023 07:51:59 +0000 (08:51 +0100)]
Silence warning when requiring ruby-ts-mode
* lisp/progmodes/ruby-ts-mode.el: Silence warning when requiring
file without a treesitter grammar.
Juri Linkov [Mon, 6 Nov 2023 07:27:48 +0000 (09:27 +0200)]
* lisp/vc/vc-git.el (vc-git-revision-table): Reverse the table (bug#64656).
Kyle Meyer [Mon, 6 Nov 2023 02:46:42 +0000 (21:46 -0500)]
Update to Org 9.6.11
Po Lu [Mon, 6 Nov 2023 02:14:09 +0000 (10:14 +0800)]
Emulate secondary selections on Android
* doc/lispref/frames.texi (Other Selections): Revise
documentation to match.
* lisp/term/android-win.el (android-secondary-selection): New
variable.
(android-primary-selection, android-get-clipboard-1)
(android-get-primary, gui-backend-get-selection)
(gui-backend-selection-exists-p, gui-backend-selection-owner-p)
(gui-backend-set-selection): Update doc strings and code as is
proper.
Jeremy Bryant [Sat, 4 Nov 2023 23:29:10 +0000 (23:29 +0000)]
* lisp/emacs-lisp/cl-extra.el (cl-remprop): Update names to match docstring
Juri Linkov [Sun, 5 Nov 2023 17:52:33 +0000 (19:52 +0200)]
New option to use arrows in the minibuffer to select completions (bug#59486)
* lisp/minibuffer.el (minibuffer-visible-completions): New defcustom.
(minibuffer-visible-completions-bind): New function.
(minibuffer-visible-completions-map): New defvar-keymap.
(minibuffer-mode): Set buffer-local minibuffer-completion-auto-choose
to nil for minibuffer-visible-completions.
(completing-read-default, completion-in-region-mode):
Use minibuffer-visible-completions to compose keymap
with minibuffer-visible-completions-map.
(minibuffer-next-completion): Add new arg VERTICAL,
and use next-line-completion.
(minibuffer-next-line-completion)
(minibuffer-previous-line-completion): New commands.
Stefan Kangas [Sun, 5 Nov 2023 16:36:21 +0000 (17:36 +0100)]
Declare calc-eval-error in calc.el
* lisp/calc/calc.el (calc-eval-error): Declare. (Bug#58801)
Stephen Gildea [Sun, 5 Nov 2023 04:46:27 +0000 (21:46 -0700)]
Further improve test coverage of time-stamp-pattern parsing
* test/lisp/time-stamp-tests.el (time-stamp-custom-pattern): Use test
strings that are easier to mis-parse, for a more exacting test.
* (fz-make+zone, fz-make-zone): Declare pure.
Po Lu [Sun, 5 Nov 2023 02:40:52 +0000 (10:40 +0800)]
Implement more Android text editing controls
* lisp/term/android-win.el (android-deactivate-mark-command):
New command.
(select-all, start-selecting-text, stop-selecting-text): Arrange
for commands manipulating the region to be executed when these
keys are registered.
* src/android.c (android_get_keysym_name): Return the keysym
name of each of the new keysyms introduced.
* src/androidterm.c (performContextMenuAction): Save special
keysyms into key events for the selectAll, startSelectingText
and stopSelectingText actions.
Dmitry Gutov [Sun, 5 Nov 2023 00:35:25 +0000 (02:35 +0200)]
Add project-any-command and project-prefix-or-any-command
* lisp/progmodes/project.el (project-any-command): New command.
(project-prefix-map): Bind it to 'o'.
(project-switch-commands): Add entry for it here too.
(project-prefix-or-any-command): New command (bug#63648).
(project-switch-commands): Update the custom type to mention
'project-prefix-or-any-command' as well.
* etc/NEWS: Document the change.
F. Jason Park [Fri, 3 Nov 2023 00:05:48 +0000 (17:05 -0700)]
Align date stamps to whole days in ERC
* lisp/erc/erc-stamp.el (erc-stamp--current-time): Ditch overriding
precedence of the `erc--ts' property in `:around' method because the
variable `erc-stamp--current-time' fills that role well enough.
(erc-stamp--current-datestamp-left): Remove unused variable.
(erc-stamp--insert-date-stamp-as-phony-message): Assume
`erc-timestamp-last-inserted-left' has already been assigned the
updated rendered stamp for the current time.
(erc-stamp--lr-date-on-pre-modify): Use the variable
`erc-stamp--current-time' instead of the `erc-ts' property to convey
an overriding time value for `erc-add-timestamp'. Set
`erc-timestamp-last-inserted-left' instead of fiddling with another
temporary variable to hack around these ill-fitting interfaces. Use
day-aligned time value for the `erc-ts' property assigned to date
stamps.
(erc-stamp--date-mode): New internal minor mode.
(erc-insert-timestamp-left-and-right): Defer to `erc-stamp--date-mode'
for setting up date-stamp specific hooks.
(erc-stamp--time-as-day): New function to "round" a date stamp to
start of local day.
(erc-stamp--setup): Defer to `erc-stamp--date-mode' for date-stamp
specific teardown. (Bug#60936)
* test/lisp/erc/erc-fill-tests.el
(erc-fill-tests--current-time-value): Change default value to nil.
(erc-stamp--current-time): New method for test cases.
(erc-fill-tests--insert-privmsg): Use realistic value for `unparsed'
slot.
(erc-fill-tests--wrap-populate): Bind
`erc-fill-tests--current-time-value' to 0. Don't mock the function
`erc-stamp--current-time' because doing so inhibits normal polymorphic
dispatch, which test cases rely on for delivering correct timestamp
values in varied contexts.
; * test/lisp/erc/resources/fill/snapshots/merge-01-start.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/merge-02-right.eld: Update.
; * test/lisp/erc/resources/fill/snapshots/merge-wrap-01.eld: Update.
F. Jason Park [Sat, 4 Nov 2023 20:48:11 +0000 (13:48 -0700)]
Decouple disparate escape-hatch concerns in erc-stamp
* lisp/erc/erc-stamp.el (erc-stamp--allow-unmanaged): Improve doc
string.
(erc-stamp--permanent-cursor-sensor-functions): New variable to take
over the formerly provided `cursor-sensor-functions' aspect of the
flag `erc-stamp--allow-unmanaged'.
(erc-add-timestamp): Use
`erc-stamp--permanent-cursor-sensor-functions' instead of
`erc-stamp--allow-unmanaged' in guard condition.
(erc-munge-invisibility-spec): Use dedicated compatibility flag
`erc-stamp--permanent-cursor-sensor-functions' and forgo unnecessary
setup when it's non-nil. (Bug#60936)
F. Jason Park [Sat, 4 Nov 2023 18:08:22 +0000 (11:08 -0700)]
Preserve user markers when inserting ERC date stamps
* lisp/erc/erc-stamp.el
(erc-stamp--insert-date-stamp-as-phony-message): Ensure existing
user markers aren't displaced by date-stamp insertion.
* lisp/erc/erc.el (erc--insert-line-function): New function-valued
variable for overriding `insert'.
(erc-insert-line): Call `erc--insert-line-function', when non-nil, to
insert line specially.
* test/lisp/erc/erc-scenarios-stamp.el
(erc-scenarios-stamp--on-insert-modify): New assertion helper
function.
(erc-scenarios-stamp--date-mode/left-and-right): New test.
(Bug#60936)
F. Jason Park [Thu, 2 Nov 2023 02:22:49 +0000 (19:22 -0700)]
Don't over-truncate erc-timestamp-format-left
* lisp/erc/erc-stamp.el (erc-timestamp-format-left): Fix typo in doc
string and mention that changing the value mid-session requires
cycling the minor mode.
(erc-echo-timestamp-format): Add Custom :tag for choices.
(erc-stamp--date-format-end): Revise doc string.
(erc-stamp--format-date-stamp): Fix bug involving erroneous truncation
parameter for `substring' when `erc-timestamp-format-left' doesn't end
in a newline. Thanks to Emanuel Berg for catching this.
(erc-stamp-prepend-date-stamps-p) Revise doc string.
(erc-insert-timestamp-left-and-right): Add comment regarding
compatibility concession. (Bug#60936)
F. Jason Park [Fri, 3 Nov 2023 23:07:20 +0000 (16:07 -0700)]
Really fix off-by-one in erc--get-inserted-msg-bounds
* lisp/erc/erc.el (erc--get-inserted-msg-bounds): Account for
`previous-single-property-change' returning a position adjacent to
that with an actual changed value. The prior attempt at addressing
this was insufficient.
* test/lisp/erc/erc-tests.el (erc--get-inserted-msg-bounds): New test.
; * test/lisp/erc/resources/base/local-modules/second.eld: Timeout.
; * test/lisp/erc/resources/base/local-modules/third.eld: Timeout.
Eli Zaretskii [Sat, 4 Nov 2023 15:46:27 +0000 (17:46 +0200)]
; * lisp/bindings.el (right-word, left-word): Doc fix.
Eli Zaretskii [Sat, 4 Nov 2023 15:29:24 +0000 (17:29 +0200)]
; Fix last change in the FAQ
* doc/misc/efaq.texi (Start Emacs maximized, Common requests): Fix
last change.
Stefan Kangas [Sat, 4 Nov 2023 13:51:33 +0000 (14:51 +0100)]
Make FAQ on starting Emacs maximized portable
* doc/misc/efaq.texi (Start Emacs Maximized): Rename node from
"Fullscreen mode on MS-Windows". Make advice portable to other
platforms, and remove MS-Windows specific hacks.
Ref: https://lists.gnu.org/r/emacs-devel/2023-10/msg00733.html
Co-authored-by: David Hedlund <public@beloved.name>
Eli Zaretskii [Sat, 4 Nov 2023 13:02:07 +0000 (15:02 +0200)]
; Improve commentary in 'files-tests-save-buffer-read-only-file'.
Jens Schmidt [Wed, 1 Nov 2023 18:56:06 +0000 (19:56 +0100)]
Add tests for saving to write-protected files
* test/lisp/files-tests.el (files-tests--with-yes-or-no-p): Add macro.
(files-tests-save-buffer-read-only-file): Add test for writing to
write-protected files with `save-buffer'. (Bug#66546)
Po Lu [Sat, 4 Nov 2023 11:03:27 +0000 (13:03 +0200)]
; Document core input events problems with XInput2
* etc/PROBLEMS: Document problems with XInput2 and core input
events. (Bug#66765)
Visuwesh [Sat, 4 Nov 2023 02:39:14 +0000 (08:09 +0530)]
; Update eww-suggest-uris :version.
* lisp/net/eww.el (eww-suggest-uris): Bump it to 30.1 since it was
changed. (Bug#66926)
Mattias Engdegård [Sat, 4 Nov 2023 09:19:52 +0000 (10:19 +0100)]
Fix bytecomp-tests--dest-mountpoint test failure
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-tests--dest-mountpoint): Add lexical cookie.
Bug reported and fix suggested by Jens Schmidt
(https://lists.gnu.org/archive/html/emacs-devel/2023-10/msg00719.html)