Eli Zaretskii [Sat, 25 Nov 2023 10:58:21 +0000 (12:58 +0200)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Rahguzar [Wed, 25 Oct 2023 13:20:29 +0000 (15:20 +0200)]
Don't insert subscript on a newline
* lisp/net/shr.el (shr-tag-sub): Don't insert subscript on a
newline. (Bug#66676)
Rahguzar [Tue, 24 Oct 2023 21:35:44 +0000 (23:35 +0200)]
Optionally turn on visual-line-mode + outline support
* lisp/net/eww.el (eww-render): Turn on 'visual-line-mode'
in absence of filling.
(eww-mode): Set 'outline-regexp' and 'outline-level'.
(Bug#66676)
Rahguzar [Tue, 24 Oct 2023 20:07:51 +0000 (22:07 +0200)]
Outline support for shr rendered documents
* lisp/net/shr.el
(shr-heading): Propertize heading with level.
(shr-outline-search): An 'outline-search-function' that finds
headings using text property search.
(shr-outline-level): Outline level for 'shr-outline-search'.
(Bug#66676)
Rahguzar [Tue, 24 Oct 2023 18:30:23 +0000 (20:30 +0200)]
Allow displaying images inline
* lisp/net/shr.el
(shr-max-inline-image-size): New custom variable.
(shr--inline-image-p): New helper function to decide if an
image should be inserted inline.
(shr-insert, shr-put-image, shr-tag-img): Use
'shr-max-inline-image-size' to insert some images inline.
(Bug#66676)
Rahguzar [Mon, 23 Oct 2023 19:23:53 +0000 (21:23 +0200)]
Make some aspects of shr rendering customizable
* lisp/net/shr.el (shr-fill-text, shr-sup-raise-factor)
(shr-sub-raise-factor, shr-image-ascent): New custom variables.
(shr-fill-lines): Only fill if 'shr-fill-text' is non-nil.
(shr-put-image): Use 'shr-image-ascent' as value of :ascent.
(shr-rescale-image, shr-make-placeholder-image): Use
'shr-image-ascent'.
(shr-tag-sup, shr-tag-sub): Use 'shr-sup/sub-raise-factor'.
(Bug#66676)
Ulrich Müller [Fri, 17 Nov 2023 11:16:54 +0000 (12:16 +0100)]
Don't enable pinentry loopback mode for gpgsm
* lisp/epg.el (epg--start): Passphrase entry through the
minibuffer is currently not supported with gpgsm, therefore don't
pass "--pinentry-mode loopback" as an argument when the protocol
is CMS. (Bug#67012)
* doc/misc/epa.texi (GnuPG Pinentry): Document it.
Liu Hui [Mon, 20 Nov 2023 04:09:15 +0000 (12:09 +0800)]
Add option `dired-filename-display-length'
* lisp/dired.el (dired-filename-display-length): New option.
(dired-insert-set-properties): Set invisible property for long
filenames.
(dired--get-ellipsis-length, dired--get-filename-display-length)
(dired-filename-update-invisibility-spec): New functions.
(dired-mode): Add filename invisibility spec.
(dired-make-directory-clickable)
(dired-kill-when-opening-new-dired-buffer)
(dired-hide-details-preserved-columns): Add missing :group.
* lisp/wdired.el (wdired-change-to-wdired-mode)
(wdired-change-to-dired-mode): Update filename invisibility spec.
* etc/NEWS: Announce the change. (Bug#67161)
Eli Zaretskii [Sat, 25 Nov 2023 10:30:03 +0000 (12:30 +0200)]
Fix merging italic and underline faces with other fonts
* lisp/faces.el (italic, underline): Leave the 'slant'
resp. 'underline' attributes even when they are not supported by
the default font. (Bug#67269)
Eshel Yaron [Mon, 20 Nov 2023 11:45:11 +0000 (12:45 +0100)]
; Avoid 'completion-at-point' in 'completion-preview-insert'
Insert the completion suggestion directly in
'completion-preview-insert' instead of using 'completion-at-point' to
do that. This fixes an issue where 'completion-preview-insert' would
not work correctly when the user uses 'add-hook' with a DEPTH argument
below a certain value to add functions to
'completion-at-point-functions', and obviates the need to manipulate
'completion-at-point-functions' when showing the preview all together.
* lisp/completion-preview.el (completion-preview--make-overlay)
(completion-preview-prev-candidate)
(completion-preview-next-candidate)
(completion-preview-mode): Improve docstring.
(completion-preview--exit-function)
(completion-preview--insert)
(completion-preview-insert-on-completion): Remove, no longer used.
(completion-preview--get): Turn into a 'defsubst'.
(completion-preview-active-mode)
(completion-preview--capf-wrapper): Simplify.
(completion-preview--try-table)
(completion-preview--update): Keep the completion "base" as a property
of the preview overlay, for use in completion exit functions.
(completion-preview-insert): Insert completion and call exit function
directly instead of manipulating 'completion-at-point' to do so.
(Bug#67275)
Eshel Yaron [Sun, 19 Nov 2023 09:55:15 +0000 (10:55 +0100)]
; Improve and add tests for Completion Preview mode
Fix handling of capfs that return a function or signal an error,
respect the ':exclusive' completion property, fix lingering "exact"
face after deletion that makes the matches non-exact, and add tests.
* lisp/completion-preview.el (completion-preview--make-overlay): Only
reuse the previous 'after-string' if it has the right face.
(completion-preview--try-table)
(completion-preview--capf-wrapper): New functions.
(completion-preview--update): Use them.
* test/lisp/completion-preview-tests.el: New file. (Bug#67275)
nverno [Fri, 17 Nov 2023 01:55:59 +0000 (17:55 -0800)]
Fix test name with erts-run-test with Point-Char
* lisp/progmodes/erts-mode.el (erts-run-test): Fix finding
the test name when Point-Char is defined, (Bug#67235)
Po Lu [Sat, 25 Nov 2023 04:52:09 +0000 (12:52 +0800)]
; Correct typos
* doc/lispref/frames.texi (Window System Selections): Correct
documentation typos.
Po Lu [Sat, 25 Nov 2023 02:40:13 +0000 (10:40 +0800)]
Dismiss Android Back key events that are canceled
* java/org/gnu/emacs/EmacsWindow.java (onKeyDown): Disregard
KEYCODE_BACK events.
(onKeyUp): If the event is KEYCODE_BACK, deliver the disregarded
key press event, unless FLAG_CANCELED is set.
Spencer Baugh [Tue, 21 Nov 2023 15:11:52 +0000 (10:11 -0500)]
Use the project--list as history when prompting for a project
The project--list is already ordered such that the most recently used
projects are at the front. Now we use it as the minibuffer history
when prompting for a project.
To avoid savehist from picking up project--list as a minibuffer
history variable and overriding our own persistence mechanism, we
don't pass project--list directly as a history variable, but instead
pass project--dir-history or project--name-history, dynamically-bound
to an appropriate value. project--dir-history and
project--name-history won't be persisted since they're always unbound
at the top level; but if they are persisted anyway somehow, it won't
affect us.
If we later find a way to rely on savehist for persistence instead of
having our own mechanism, we can change the in-memory format of
project--list to be just a list of directories, and our explicit calls
to project--add-dir can be replaced by let-binding
history-delete-duplicates=t, history-length=t.
* lisp/progmodes/project.el (project--remember-dir): Add.
(project-remember-project): Use project--remember-dir.
(project--name-history, project-prompt-project-name)
(project--dir-history, project-prompt-project-dir): Pass a
preprocessed project--list as HIST to completing-read. (bug#67310)
(project-switch-project): Call project--remember-dir.
F. Jason Park [Thu, 7 Oct 2021 12:26:36 +0000 (14:26 +0200)]
Optionally allow substitution patterns in erc-prompt
* etc/ERC-NEWS: Add entry for `erc-prompt-format'.
* lisp/erc/erc-compat.el (erc-compat--defer-format-spec-in-buffer):
New macro to wrap `format-spec' specification values in functions that
run in the current buffer and fall back to the empty string.
* lisp/erc/erc.el (erc-prompt): Add predefined Custom choice for
function type in `erc-prompt-format'.
(erc--prompt-format-face-example): New "pre-propertized" value for
option `erc-prompt-format'.
(erc-prompt-format): New companion option for `erc-prompt' choice
`erc-prompt-format'. New function of the same name to perform format
substitutions and serve as a Custom choice value for `erc-prompt'.
Based on work and ideas originally proposed by Stefan Kangas.
(erc--away-indicator, erc-away-status-indicator,
erc--format-away-indicator): New formatting function and helper
variables for displaying short away status.
(erc--user-modes-indicator): New variable.
(erc--format-user-modes): New function.
(erc--format-channel-status-prefix): New function.
(erc--format-modes): New function.
* test/lisp/erc/erc-scenarios-prompt-format.el: New file. (Bug#51082)
Co-authored-by: Stefan Kangas <stefankangas@gmail.com>
F. Jason Park [Mon, 20 Nov 2023 01:18:29 +0000 (17:18 -0800)]
Add merged-message indicator option for erc-fill-wrap
* lisp/erc/erc-fill.el (erc-fill): Use `when-let' instead of
`when-let*'.
(erc-fill-wrap-merge): Mention companion options in doc string.
(erc-fill-wrap-merge-indicator): New option to display a
distinguishing "indicator" in the form of a one-character string
between messages from the same speaker.
(erc-fill-wrap-mode, erc-fill-wrap-disable): Mention
`erc-fill-wrap-merge-indicator' in doc string and kill related local
variables.
(erc-fill--wrap-merge-indicator-pre,
erc-fill--wrap-merge-indicator-post): New internal variables for
caching merge indicator.
(erc-fill--wrap-insert-merged-post, erc-fill--wrap-insert-merged-pre):
New functions for adding merge indicators either before or after a
message.
(erc-fill-wrap): Add logic for deferring to merge-indicator helpers
when needed.
* test/lisp/erc/erc-fill-tests.el (erc-fill-wrap-tests--merge-action,
erc-fill-wrap--merge-action): Move body of latter test into former, a
new fixture function.
(erc-fill-wrap--merge-action/indicator-pre,
erc-fill-wrap--merge-action/indicator-post): New tests.
* test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-post-01.eld:
New test data file.
* test/lisp/erc/resources/fill/snapshots/merge-wrap-indicator-pre-01.eld:
New test data file. (Bug#60936)
F. Jason Park [Mon, 20 Nov 2023 01:18:29 +0000 (17:18 -0800)]
Optionally align prompt to prefix in erc-fill-wrap
* lisp/erc/erc-fill.el (erc-fill-wrap-align-prompt): New option for
aligning prompt with leading portion of messages at the common "static
center" pivot-column barrier, so it appears "dedented" along with all
speaker name tags. Tests for this functionality appear in the
subsequent patch of this same change set.
(erc-fill-wrap-use-pixels): Demote from user option to normal variable
because it has no practical use other than for testing. Don't rename
as internal variable to spare the improbable user of ERC on HEAD who's
already customized this.
(erc-fill-wrap-mode, erc-fill-wrap-enable, erc-fill-wrap-disable):
Take care to disable prompt-in-left-margin behavior when option
`erc-fill-wrap-align-prompt' is non-nil.
(erc-fill--wrap-measure): Improve doc string and always attempt to
leverage `buffer-text-pixel-size', even when the variable
`erc-fill-wrap-use-pixels' is nil.
(erc-fill--wrap-indent-prompt): New function to massage prompt
`line-prefix' after updates, such as changes to away status.
(Bug#51082)
F. Jason Park [Sun, 19 Nov 2023 07:44:20 +0000 (23:44 -0800)]
Use overlay instead of text prop to hide ERC's prompt
* lisp/erc/erc-backend.el (erc--hidden-prompt-overlay):
New variable, a buffer-local handle for the prompt overlay.
(erc--reveal-prompt): Delete overlay instead of text prop.
(erc--conceal-prompt): Add overlay instead of text prop.
(erc--unhide-prompt): Run `erc--refresh-prompt-hook' after revealing.
(erc--hide-prompt): Run `erc--refresh-prompt-hook' after hiding.
* lisp/erc/erc-stamp.el (erc-stamp--adjust-margin): Attempt a more
accurate estimate of the prompt's width in columns when initially
setting left-margin.
(erc-stamp--skip-left-margin-prompt-p): New variable to inhibit normal
behavior of displaying prompt in left margin.
(erc-stamp--display-margin-mode): Allow opting out of
prompt-in-left-margin behavior.
(erc--reveal-prompt): Delete unneeded method implementation.
(erc--conceal-prompt): Put overlay in margin.
* test/lisp/erc/erc-tests.el (erc-hide-prompt): Use
`get-char-property' instead of `get-text-property' in order to
accommodate overlay-based prompt hiding. (Bug#51082)
F. Jason Park [Sun, 19 Nov 2023 07:04:50 +0000 (23:04 -0800)]
Don't inherit properties when refreshing ERC's prompt
* lisp/erc/erc.el (erc--merge-prop-behind-p): New variable to be
dynamically bound around rare calls to `erc--merge-props' when the
latter should append to the end of existing list-valued text
properties.
(erc--inhibit-prompt-display-property-p): New variable to be non-nil
in buffers where an active module needs to reserve all uses of the
`display' text property in the prompt region for itself.
(erc--prompt-properties): Collect all common prompt properties in one
place for code reuse and maintenance purposes.
(erc--refresh-prompt-continue, erc--refresh-prompt-continue-request):
New function and state variable for custom `erc-prompt' functions to
indicate to ERC that they need the prompt to be refreshed in all
buffers and not just the current one.
(erc--refresh-prompt): Merge `erc-prompt-face' behind any applied by a
customized `erc-prompt' function value. Crucially, don't inherit
properties at the beginning of the prompt because doing so may clobber
any added by a custom `erc-prompt' function. Instead, apply known
properties from `erc-display-prompt' manually. Integrate
`erc--refresh-prompt-continue' logic.
(erc--merge-prop): Recognize flag to activate `append' behavior in
which new prop values are appended to the tail of existing ones rather
than consed in front. This functionality could be extended to
arbitrary splices as well.
(erc-display-prompt): Use common text properties defined elsewhere.
* test/lisp/erc/erc-tests.el (erc--merge-prop): Add assertion for
`erc--merge-prop-behind-p' non-nil behavior. (Bug#51082)
F. Jason Park [Thu, 23 Nov 2023 21:30:06 +0000 (13:30 -0800)]
Fix speedbar help-echo in erc-nickbar-mode
* lisp/erc/erc-speedbar.el (erc-speedbar-buttons): "Spoof"
`dframe-help-echo-function' in channel buffers to get around the fact
that we're not using the real speedbar frame.
(erc-speedbar--fmt-sentinel): New variable.
(erc-speedbar-expand-channel): Use cached channel-mode string for mode
item. Use button chars to mark mode and topic items and move verbose
labels into mouse-hover text. Also set face for mode and topic.
(erc-speedbar-item-info): Look for `speedbar-token' as a fallback even
when the primary pattern doesn't match. If the value's contents are
structured like a `format' function call, use them.
(erc-speedbar--emulate-sidebar): Add comment about speedbar setting
everything globally in older Emacsen. (Bug#63595)
F. Jason Park [Tue, 21 Nov 2023 03:45:30 +0000 (19:45 -0800)]
Cache UI string for channel modes in ERC
* etc/ERC-NEWS: Add entry for more expansive "%m" in header line.
* lisp/erc/erc-common.el (erc--channel-mode-types): New slot
`shortargs' for caching truncated mode args.
* lisp/erc/erc.el (erc--mode-line-chanmodes-arg-len): New internal
variable for adjusting the truncation length of channel-mode arguments
as they appear in the header line.
(erc--mode-line-mode-string): New variable for caching the relevant
"modestring", if any, in ERC buffers.
(erc--process-channel-modes): Don't associate args with group 4/D,
which are all nullary modes. This fixes a bug in which arguments were
associated with the wrong letters. Also, set cached mode string for
channel.
(erc--user-modes): Simplify slightly by removing likely useless
variant for overloaded arg AS-TYPE. This function is new in ERC 5.6.
(erc--channel-modes): New function. A higher-level getter for
current channel mode representation to complement `erc--user-modes'.
(erc--parse-user-modes): Set `erc--mode-line-mode-string in server
buffers.
(erc--handle-channel-mode): Change model to associate modes of type A
with a running plus/minus tally of state changes since joining the
channel.
(erc-update-mode-line-buffer): Use cached verbose representation of
channel or user modes instead of calling `erc-format-channel-modes'.
* test/lisp/erc/erc-tests.el (erc--update-channel-modes): Update to
reflect new running tally associations for type A modes.
(erc--channel-modes): New test.
(erc--user-modes): Update to reflect parameter simplification.
(Bug#67220)
Alan Mackenzie [Fri, 24 Nov 2023 12:22:08 +0000 (12:22 +0000)]
CC Mode: Fontify int unsigned Foo;
This fixes bug#59953. Foo now gets fontified when unsigned
comes after int.
* lisp/progmodes/cc-engine.el (c-forward-type): Refactor nested
`if' forms into a cond form. Loop around matches for
c-opt-type-component-key, advancing over them.
Alan Mackenzie [Fri, 24 Nov 2023 10:03:33 +0000 (10:03 +0000)]
CC Mode: Add second anchor point to class-open and class-close
This fixes the second (last) part of bug#66911. The new second
anchor points allow the indentation of braces in template
classes to be anchored on the keyword 'class' rather than the
`template' at the beginning of the statement.
* lisp/progmodes/cc-engine.el (c-add-class-syntax): Add &rest
args parameter for additional anchor points. Pass these to
c-add-syntax.
(c-guess-continued-construct): CASE B.1: Note return value from
c-looking-at-decl-block and pass this to c-add-syntax for a
class-open construct.
(c-guess-basic-syntax): CASE 4: Duplicate anchor position for
class-open.
(c-guess-basic-syntax): CASE 5A.2: Note return value of
c-looking-at-decl-block and pass it as extra argument to
c-add-syntax for a class-open construct.
(c-guess-basic-syntax): CASE 5G: Call c-looking-at-decl-block
to determine the second anchor point for a class-close, and
pass it to c-add-class-syntax.
* doc/misc/cc-mode.texi (Class Symbols): Document the anchor
points for class-open and class-close.
Po Lu [Fri, 24 Nov 2023 02:39:49 +0000 (10:39 +0800)]
Prevent touch screen translation from entering invalid state
* lisp/subr.el (touch-screen-events-received): New variable.
(read--potential-mouse-event): If a touch screen event's been
registered thus far, continue as though xterm-mouse-mode is
enabled.
* lisp/touch-screen.el (touch-screen-handle-touch): Set that
variable. If t-s-c-t already exists but the new touch point was
assigned the same number by the system, replace the current tool
with it rather than installing it as the anciliary tool.
Po Lu [Fri, 24 Nov 2023 00:45:18 +0000 (08:45 +0800)]
; Complete merge of emoji.el
* lisp/international/emoji.el (emoji-list): Import changes
from emacs-29.
Po Lu [Fri, 24 Nov 2023 00:44:34 +0000 (08:44 +0800)]
Merge from savannah/emacs-29
1978b603bc3 Make python-ts-mode's syntax-highlighting more standardized
99658346d1e ; Improve documentation of desktop.el in user manual
f7dc0202127 Fix "Text is read-only" on backspacing initial Calc input
662d54775d5 Add a doc string to simple.el (bug#67355)
5a5e36d2aad ; Improve function documentation tips
86016d8ecdb Mention "visual line" in user manual
4bb65ed77a8 ; * doc/lispref/minibuf.texi (Programmed Completion): Imp...
dfb3dcb404c Allow listing Emoji from a read-only buffer
# Conflicts:
# lisp/calc/calc.el
# lisp/international/emoji.el
Po Lu [Fri, 24 Nov 2023 00:38:06 +0000 (08:38 +0800)]
; Merge from savannah/emacs-29
The following commits were skipped:
8256bf4cdfb Fix CRLF handling in Tramp (don't merge)
81b63ec032f Annotate java-ts-mode-test-movement with expected result
054202d48c3 Backport: Add more java indentation tests
d2776d8254f Backport: Add test for java indentation (bug#61115)
Po Lu [Fri, 24 Nov 2023 00:38:06 +0000 (08:38 +0800)]
Merge from savannah/emacs-29
9af03e0e189 typescript-ts-mode: Support indentation for conditionals ...
Po Lu [Fri, 24 Nov 2023 00:38:05 +0000 (08:38 +0800)]
; Merge from savannah/emacs-29
The following commit was skipped:
61cdf42a48f Backport: Add some basic tests for java-ts-mode and types...
Po Lu [Fri, 24 Nov 2023 00:38:03 +0000 (08:38 +0800)]
Merge from savannah/emacs-29
d72a4ed65ce Fix 'with-sqlite-transaction' when BODY fails
a7b3c923733 ; * doc/emacs/cmdargs.texi (Initial Options): Fix last ch...
fd76a80864d ; Mention that -x and --script ignore file-locals
e0469ddb9d4 ; * doc/emacs/search.texi (Special Isearch): More accurat...
e521669fb3f Fix wording in ELisp Intro manual
da946ca6924 Add missing python-ts-mode keyword (bug#67015)
0128495afde Fix string-pixel-width with global setting of display-lin...
# Conflicts:
# etc/NEWS
Dmitry Gutov [Thu, 23 Nov 2023 22:00:32 +0000 (00:00 +0200)]
Make python-ts-mode's syntax-highlighting more standardized
This was brought up in a Reddit discussion.
* lisp/progmodes/python.el (python--treesit-fontify-variable):
Use font-lock-variable-use-face (since it applies to references).
(python-ts-mode): Move 'property' from 3rd to 4th
treesit-font-lock-level.
Juri Linkov [Thu, 23 Nov 2023 18:12:40 +0000 (20:12 +0200)]
Support dired-movement-style in dired-next-dirline and dired-prev-dirline
* lisp/dired.el (dired-movement-style): Mention dired-next-dirline
and dired-prev-dirline in the docstring (bug#67303).
(dired-next-line): Refactor most code to dired--move-to-next-line.
(dired--move-to-next-line): New function with code from dired-next-line.
(dired--trivial-next-dirline): Rename from dired-next-dirline.
(dired-next-dirline): New function body that uses dired-movement-style,
dired--move-to-next-line and dired--trivial-next-dirline.
(dired-prev-dirline): Mention dired-movement-style in the docstring.
Manuel Giraud [Thu, 23 Nov 2023 17:14:16 +0000 (09:14 -0800)]
Remove spurious "nil" from Gnus mode line
Bug#67322
* lisp/gnus/gnus.el (gnus-mode-line-buffer-identification): Handle a
nil return value from `gnus-emacs-version'.
Stefan Monnier [Tue, 14 Nov 2023 00:09:17 +0000 (19:09 -0500)]
Adjust affected callers of derived-mode-p` to use the new convention
* lisp/align.el (align-rules-list): Prefer `derived-mode-p` over
`provided-mode-derived-p`.
(align--rule-should-run):
* lisp/window.el (display-buffer-reuse-mode-window):
* lisp/whitespace.el (whitespace-enable-predicate):
* lisp/transient.el (transient--do-suffix-p):
* lisp/so-long.el (so-long--set-auto-mode):
* lisp/simple.el (command-completion-with-modes-p):
* lisp/progmodes/tcl.el (tcl-current-word):
* lisp/progmodes/idlwave.el (idlwave-fix-keywords):
* lisp/progmodes/gdb-mi.el (gdb, gdb-locals-mode-map)
(gdb-registers-mode-map, gdb-function-buffer-p):
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-style-setter)
(c-ts-mode-set-style):
* lisp/progmodes/bug-reference.el (bug-reference--try-setup-gnus-article):
* lisp/help-fns.el (help-fns--list-local-commands):
* lisp/emulation/viper.el (viper-mode)
(viper-this-major-mode-requires-vi-state):
* lisp/emacs-lisp/easy-mmode.el (easy-mmode--globalized-predicate-p):
* lisp/dired.el (dired-hide-details-mode, dired-click-to-select-mode):
* lisp/calendar/todo-mode.el (todo-reset-nondiary-marker)
(todo-reset-done-string, todo-reset-comment-string):
* lisp/vc/vc.el (vc-deduce-backend): Use new calling convention for
`derived-mode-p` and `provided-mode-derived-p`.
Stefan Monnier [Thu, 16 Nov 2023 22:21:18 +0000 (17:21 -0500)]
(derived-mode-p): Take MODES as a single argument
Looking at uses of `derived-mode-p` and `provide-mode-derived-p`,
I can't find a single use case where it wouldn't be preferable for
it to take a single argument instead of `&rest`: all the calls are
either passing a single argument anyway, or passing a fixed list of modes.
The use of `&rest` just makes the code less efficient and sometimes
more clunky (because of the need for `apply`).
So let's change that (while preserving backward compatibility, of course).
* doc/lispref/modes.texi (Derived Modes): Adjust accordingly.
* lisp/subr.el (provided-mode-derived-p, derived-mode-p): Take the
`modes` as a single argument.
Alan Mackenzie [Thu, 23 Nov 2023 16:31:52 +0000 (16:31 +0000)]
CC Mode: Handle noise clauses, template arglists in any order
This fixes the first part of bug#66911.
* lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Skip
back over template arglists and noise clauses in any order, no
longer assuming the noise clauses are before the template
arglist in the buffer. When scanning forward, take noise
clauses into account. Refactor a collection of nested `if'
forms as a cond form.
Eli Zaretskii [Thu, 23 Nov 2023 15:56:50 +0000 (17:56 +0200)]
; Improve documentation of desktop.el in user manual
* doc/emacs/misc.texi (Saving Emacs Sessions): Mention saving
minibuffer history via desktop.el.
George Kuzler [Thu, 23 Nov 2023 00:45:55 +0000 (19:45 -0500)]
Fix "Text is read-only" on backspacing initial Calc input
Immediately after `calc-mode' opens the minibuffer for input
(because you typed a digit, "e", etc), pressing backspace
should clear the minibuffer and return you to the *Calculator*
buffer. Instead, it leaves the minibuffer as-is and prints the
message "Text is read-only"; this is because the function used,
`erase-buffer', tries to erase the read-only minibuffer prompt.
Using `delete-minibuffer-contents' fixes this, since it doesn't
attempt to delete the prompt.
* lisp/calc/calc.el (calcDigit-backspace): Use
`delete-minibuffer-contents' instead of `erase-buffer'. (Bug#67395)
Copyright-paperwork-exempt: yes
Jeremy Bryant [Tue, 21 Nov 2023 23:27:44 +0000 (23:27 +0000)]
Add a doc string to simple.el (bug#67355)
* lisp/simple.el (kill-buffer--possibly-save): Add doc string.
Eli Zaretskii [Thu, 23 Nov 2023 15:26:09 +0000 (17:26 +0200)]
; Improve function documentation tips
* doc/lispref/tips.texi (Documentation Tips): Clarify the good
style of descriptions in doc strings.
Eli Zaretskii [Thu, 23 Nov 2023 14:56:10 +0000 (16:56 +0200)]
Mention "visual line" in user manual
* doc/emacs/display.texi (Visual Line Mode):
* doc/emacs/basic.texi (Continuation Lines, Moving Point): Mention
"visual line". (Bug#67382)
Eli Zaretskii [Thu, 23 Nov 2023 14:43:17 +0000 (16:43 +0200)]
; * doc/lispref/minibuf.texi (Programmed Completion): Improve indexing.
Eli Zaretskii [Thu, 23 Nov 2023 14:07:31 +0000 (16:07 +0200)]
Allow listing Emoji from a read-only buffer
* lisp/international/emoji.el (emoji-list): Don't barf here if the
original buffer is read-inly...
(emoji-list-select): ...barf here instead. (Bug#67400)
(emoji-list): Doc fix.
Philipp Stephani [Thu, 23 Nov 2023 12:34:47 +0000 (13:34 +0100)]
; * src/module-env-30.h: Fix commentary
Po Lu [Thu, 23 Nov 2023 07:05:31 +0000 (15:05 +0800)]
Prevent tab bar from vanishing on Android
* src/androidfns.c (android_change_tab_bar_height): Amend with
code absent when the function was first transcribed.
* src/haikufns.c (haiku_change_tab_bar_height):
* src/nsfns.m (ns_change_tab_bar_height):
* src/pgtkfns.c (pgtk_change_tab_bar_height):
* src/w32fns.c (w32_change_tab_bar_height):
* src/xfns.c (x_change_tab_bar_height): Revise commentary.
Po Lu [Thu, 23 Nov 2023 00:20:51 +0000 (08:20 +0800)]
; * doc/emacs/input.texi (On-Screen Keyboards): Fix typos.
Andrea Corallo [Wed, 22 Nov 2023 22:51:45 +0000 (17:51 -0500)]
(package-quickstart-refresh): Generate marginally more efficient code
* lisp/emacs-lisp/package.el (package-quickstart-refresh): Include
only one copy of the file names.
Andrea Corallo [Wed, 22 Nov 2023 15:37:16 +0000 (16:37 +0100)]
* Update 'native-comp-never-optimize-functions' version
* lisp/emacs-lisp/comp-common.el (native-comp-never-optimize-functions):
Update version.
Andrea Corallo [Wed, 22 Nov 2023 15:30:01 +0000 (16:30 +0100)]
* configure.ac: Fix non posix (bash only) eq operator
Michael Albinus [Wed, 22 Nov 2023 12:50:06 +0000 (13:50 +0100)]
Unify "."" and ".." handling in tramp-*-file-name-all-completions
* lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions):
* lisp/net/tramp-fuse.el (tramp-fuse-handle-file-name-all-completions):
* lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions):
Remove special handling of "." an "..".
* lisp/net/tramp.el (tramp-skeleton-file-name-all-completions):
Handle "."" and "..".
Michael Albinus [Wed, 22 Nov 2023 12:48:57 +0000 (13:48 +0100)]
Fix CRLF handling in Tramp
* lisp/net/tramp-sh.el (tramp-send-command-and-read): Use 'space'
instead of 'blank' in rx expression, in order to handle also CR
and alike. Reported by Dominique Quatravaux
<dominique@quatravaux.org>.
Michael Albinus [Wed, 22 Nov 2023 12:29:19 +0000 (13:29 +0100)]
Fix CRLF handling in Tramp (don't merge)
* lisp/net/tramp-sh.el (tramp-send-command-and-read): Use 'space'
instead of 'blank' in rx expression, in order to handle also CR
and alike. Reported by Dominique Quatravaux
<dominique@quatravaux.org>.
Po Lu [Wed, 22 Nov 2023 03:25:23 +0000 (11:25 +0800)]
; * lisp/touch-screen.el (touch-screen-handle-touch): Correct typo.
Po Lu [Wed, 22 Nov 2023 03:10:13 +0000 (11:10 +0800)]
Update touch-screen.el
* lisp/touch-screen.el (touch-screen-handle-aux-point-update):
Wrap exceptionally wide form.
(touch-screen-handle-touch): Guarantee that only tools from the
same frame as the current tool will be considered ancillary
tools. Further guarantee that normal gesture translation can
resume even if a touchscreen-end event is omitted or overlooked.
Po Lu [Wed, 22 Nov 2023 03:07:13 +0000 (11:07 +0800)]
Insert NEWS entry for native compilation changes
* etc/NEWS (Installation Changes in 30.1): Mention that native
compilation has been enabled by default.
Po Lu [Wed, 22 Nov 2023 03:00:04 +0000 (11:00 +0800)]
Disable native compilation in build machine Android binaries
* configure.ac (XCONFIGURE): Set with_native_compilation to no.
Noah Peart [Tue, 21 Nov 2023 13:59:48 +0000 (15:59 +0200)]
typescript-ts-mode: Support indentation for conditionals without braces
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts-mode--indent-rules): Support indentation for
conditionals without braces (bug#67031).
* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts
(Statement indentation without braces): New test.
Theodor Thornhill [Mon, 16 Jan 2023 13:33:27 +0000 (14:33 +0100)]
Backport: Add some basic tests for java-ts-mode and typescript-ts-mode
* test/lisp/progmodes/java-ts-mode-resources/indent.erts: New file
with tests for indentation.
* test/lisp/progmodes/java-ts-mode-resources/movement.erts: New file
with tests for movement.
* test/lisp/progmodes/java-ts-mode-tests.el: New tests.
* test/lisp/progmodes/typescript-ts-mode-resources/indent.erts: New
file with tests for indentation.
* test/lisp/progmodes/typescript-ts-mode-tests.el: New tests.
(cherry picked from commit
c8dd37b16c574beda900d4ee48ac7b4ab4a2ee56)
Dmitry Gutov [Tue, 21 Nov 2023 14:08:09 +0000 (16:08 +0200)]
Annotate java-ts-mode-test-movement with expected result
Do not merge to master.
Theodor Thornhill [Mon, 6 Feb 2023 08:36:08 +0000 (09:36 +0100)]
Backport: Add more java indentation tests
* test/lisp/progmodes/java-ts-mode-resources/indent.erts: Use default
indent offset, and tweak the indentation examples.
(cherry picked from commit
dbe7803aa1e8249bd70f67f25f19aedabeb9cc22)
Theodor Thornhill [Fri, 3 Feb 2023 08:09:49 +0000 (09:09 +0100)]
Backport: Add test for java indentation (bug#61115)
* test/lisp/progmodes/java-ts-mode-resources/indent.erts: Add new test
case.
(cherry picked from commit
229d0772e235f51812ed8020a31f9a8de366c7ba)
Eli Zaretskii [Tue, 21 Nov 2023 13:36:22 +0000 (15:36 +0200)]
Fix 'with-sqlite-transaction' when BODY fails
* lisp/sqlite.el (with-sqlite-transaction): Don't commit changes
if BODY errors out. Roll back the transaction if committing
fails. (Bug#67142)
* etc/NEWS:
* doc/lispref/text.texi (Database): Document the error handling in
'with-sqlite-transaction'.
Eli Zaretskii [Tue, 21 Nov 2023 12:40:27 +0000 (14:40 +0200)]
; * doc/emacs/cmdargs.texi (Initial Options): Fix last change.
Eli Zaretskii [Tue, 21 Nov 2023 12:23:38 +0000 (14:23 +0200)]
; Mention that -x and --script ignore file-locals
* doc/emacs/cmdargs.texi (Initial Options): Document that --script
and -x ignore file-local variables. (Bug#67321)
Andrea Corallo [Tue, 21 Nov 2023 10:14:15 +0000 (11:14 +0100)]
* Enable native compiler by default when libgccjit is available
* configure.ac: Enable native compiler by default when libgccjit available.
(with_native_compilation): Change default to 'default'.
(libgccjit_not_found_err, libgccjit_dev_not_found_err)
(libgccjit_broken_err): Renamed.
(libgccjit_not_found, libgccjit_dev_not_found, libgccjit_broken):
New functions.
Po Lu [Tue, 21 Nov 2023 06:18:04 +0000 (14:18 +0800)]
Save more information into Android font names
* src/sfntfont.c (sfntfont_open): Besides just the font file
name, also store the interpreter state, UPEM, charset and
instance number in FONT_FULLNAME_INDEX.
Eli Zaretskii [Mon, 20 Nov 2023 19:38:55 +0000 (21:38 +0200)]
; * doc/emacs/search.texi (Special Isearch): More accurate text.
Manuel Giraud [Tue, 14 Nov 2023 13:49:37 +0000 (14:49 +0100)]
Add Gnus mode line logo in SVG format
Bug#67174
* etc/images/gnus/gnus-pointer.svg: New Gnus mode line logo in SVG format.
* lisp/gnus/gnus.el (gnus-mode-line-buffer-identification): Use it.
Juri Linkov [Mon, 20 Nov 2023 17:57:57 +0000 (19:57 +0200)]
Improve invisibility handling in isearch-lazy-highlight (bug#40808)
* lisp/isearch.el (isearch-lazy-highlight-invisible): New variable.
(isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search)
(isearch-lazy-highlight-match, isearch-lazy-highlight-buffer-update): Use it.
* lisp/replace.el (replace-highlight): Let-bind isearch-invisible
to search-invisible.
* test/lisp/isearch-tests.el (isearch--test-invisible): New test.
Eli Zaretskii [Mon, 20 Nov 2023 12:45:30 +0000 (14:45 +0200)]
; * etc/TODO: Fix punctuation.
Andrea Corallo [Mon, 20 Nov 2023 09:37:04 +0000 (10:37 +0100)]
* etc/TODO (Native compiler improvements): Add 'Diagnostic' section.
Andrea Corallo [Mon, 20 Nov 2023 09:19:38 +0000 (10:19 +0100)]
* etc/TODO (Native compiler improvements): Move old entry here.
Andrea Corallo [Mon, 20 Nov 2023 09:09:31 +0000 (10:09 +0100)]
* etc/TODO (Native compiler improvements): Add section.
Andrea Corallo [Mon, 20 Nov 2023 08:45:33 +0000 (09:45 +0100)]
* Add 'eval' to 'native-comp-never-optimize-functions' (bug#67141)
* lisp/emacs-lisp/comp-common.el (native-comp-never-optimize-functions):
Add 'eval'.
Jim Porter [Sat, 11 Nov 2023 21:26:44 +0000 (13:26 -0800)]
Forward completion text properties in 'completion-table-with-quoting'
This fixes an issue with 'pcomplete-here-using-help', which passes
annotation strings along as text properties. Previously, those got
clobbered when the completions got requoted (bug#67112).
* lisp/minibuffer.el (completion--twq-all): Apply text properties from
the first character of the unquoted completion to the quoted
completion.
Eli Zaretskii [Sun, 19 Nov 2023 17:31:46 +0000 (19:31 +0200)]
; * doc/emacs/emacs.texi: Add a missing menu to @detailmenu.
Richard Stallman [Sun, 19 Nov 2023 10:14:36 +0000 (12:14 +0200)]
Fix wording in ELisp Intro manual
* doc/lispintro/emacs-lisp-intro.texi (Lisp macro): Improve
wording in description of 'unless'. (Bug#67185)
Eli Zaretskii [Sun, 19 Nov 2023 09:37:45 +0000 (11:37 +0200)]
; Fix make-obsolete warnings in treesit.el
* lisp/treesit.el (treesit-text-type-regexp)
(treesit-sentence-type-regexp, treesit--things-around)
(treesit-sexp-type-regexp): Fix obsolescence warnings.
Eli Zaretskii [Sun, 19 Nov 2023 09:08:53 +0000 (11:08 +0200)]
; * etc/NEWS: Fix last change.
Kévin Le Gouguec [Sun, 12 Nov 2023 09:55:24 +0000 (10:55 +0100)]
Recognize shebang lines that pass '-S/--split-string' to 'env'
* etc/NEWS: announce the change.
* lisp/files.el (auto-mode-interpreter-regexp): Add optional '-S'
switch to the ignored group capturing the env invocation.
Allow multiple spaces between #!, interpreter and first argument:
empirically, Linux's 'execve' accepts that. (Bug#66902)
* test/lisp/files-tests.el (files-tests--check-shebang): New helper to
generate a temporary file with a given interpreter line, and assert
that the mode picked by 'set-auto-mode' is derived from an expected
mode. Write the 'should' form so that failure reports include useful
context; for example:
(ert-test-failed
((should
(equal (list shebang actual-mode) (list shebang expected-mode)))
:form
(equal ("#!/usr/bin/env -S make -f" fundamental-mode)
("#!/usr/bin/env -S make -f" makefile-mode))
:value nil :explanation
(list-elt 1 (different-atoms fundamental-mode makefile-mode))))
* test/lisp/files-tests.el (files-tests-auto-mode-interpreter): New
test; exercise some aspects of 'interpreter-mode-alist'.
Po Lu [Sun, 19 Nov 2023 04:46:21 +0000 (12:46 +0800)]
; * doc/emacs/emacs.texi: Remove redundant menu.
Po Lu [Sun, 19 Nov 2023 03:38:02 +0000 (11:38 +0800)]
Properly avoid displaying the OSK for calls to read-key-sequence
* lisp/touch-screen.el (touch-screen-handle-point-up): If prompt
is set, throw the input event rather than execute its command.
Po Lu [Sun, 19 Nov 2023 03:02:44 +0000 (11:02 +0800)]
; Correct typo
* doc/emacs/input.texi (Touchscreens): Use pxref where xref was
inserted by mistake.
Po Lu [Sun, 19 Nov 2023 03:00:25 +0000 (11:00 +0800)]
Reorganize documentation relating to touch screens
Chiefly, elevate it from an appendix to a node in the User Input
chapter. I have been approached time and again with questions
from people who have not searched the appendices for such
documentation.
* doc/emacs/emacs.texi: Move Other Input below Commands in the
menu.
* doc/emacs/input.texi (Other Input Devices): Rename to Other
Input. All callers changed.
(Touchscreens, On-Screen Keyboards): Revise and reword
documentation. Homogenize nomenclature for on screen keyboards,
preferring "virtual keyboards" after it has been mentioned once
by the other name.
Stefan Monnier [Sat, 18 Nov 2023 21:34:38 +0000 (16:34 -0500)]
(update_search_regs): Install better fix for bug#67124
The recent fix for the bug in `replace-match-maybe-edit`
was basically a refinement of a previously installed workaround,
whereas the bug was really in `update_search_regs`.
* src/search.c (update_search_regs): Improve handling of `start` positions.
* lisp/replace.el (replace-match-maybe-edit): Remove workaround.
* test/src/search-tests.el (search-test--replace-match-update-data): New test.
F. Jason Park [Wed, 15 Nov 2023 05:10:39 +0000 (21:10 -0800)]
Favor ISUPPORT params for MODE processing in ERC
* etc/ERC-NEWS: Mention shift toward CHANMODES ISUPPORT parameter for
dictating MODE parsing behavior.
* lisp/erc/erc-backend.el (erc--init-channel-modes, erc--update-modes,
erc-set-modes, erc-update-modes): Forward declarations, the last two
being removals.
(erc-server-MODE, erc-server-221): Use `erc--update-modes' instead of
`erc-update-modes'.
(erc-server-324): Use `erc--init-channel-modes' instead of
`erc-set-modes'.
* lisp/erc/erc-common.el (erc--channel-mode-types): New struct for
stashing processed \"CHANMODES\" data for the current server.
* lisp/erc/erc.el (erc-channel-modes): Fix doc string.
(erc-set-initial-user-mode): Display a local notice when requesting
redundant user MODE operations.
(erc-set-modes, erc-parse-modes, erc-update-modes): Deprecate for
reasons explained in associated ERC-NEWS entry.
(erc--update-membership-prefix): New function, a helper for specifying
arguments to the rather unruly `erc-update-current-channel-member'.
(erc--channel-modes): New variable to record channel-mode state in a
hash table.
(erc--channel-mode-types): New variable and getter to stash
and retrieve server-local instance of the struct of the same name.
(erc--process-channel-modes): New function to parse channel-mode
changes, dispatch handlers for unary modes, and update the local
variables `erc-channel-modes' and `erc--channel-modes'.
(erc--user-modes): New local variable for remembering user modes per
server. New function of the same name, a "getter" for the variable.
(erc--parse-user-modes): New function to parse user modes only.
(erc--update-user-modes): New function to update and sort
`erc--user-modes'.
(erc--update-channel-modes): New function to replace much of
`erc-update-modes', currently a thin wrapper around
`erc--process-channel-modes' to ensure it updates status prefixes.
(erc--update-modes): New function to call appropriate mode-updating
function for the current buffer.
(erc--init-channel-modes): New function to update channel mode letters
without status prefixes.
(erc--handle-channel-mode): New generic function, a placeholder for an
eventual API to handle specific "unary" mode letters, meaning those
that specify a single parameter for setting or unsetting.
(erc-update-channel-limit): Update doc string and answer question
posed by ancient comment.
(erc-message-english-user-mode-redundant-add,
erc-message-english-user-mode-redundant-drop): New English catalog
messages.
* test/lisp/erc/erc-scenarios-base-chan-modes.el: New file.
* test/lisp/erc/erc-tests.el (erc-parse-modes,
erc--update-channel-modes, erc--update-user-modes, erc--user-modes,
erc--parse-user-modes): New tests.
* test/lisp/erc/resources/base/modes/chan-changed.eld: New test data
file. (Bug#67220)
F. Jason Park [Tue, 14 Nov 2023 02:24:59 +0000 (18:24 -0800)]
Use caching variant of erc-parse-prefix internally
* lisp/erc/erc-common.el (erc--parsed-prefix): New struct to help with
tasks that depends on the advertised "PREFIX" parameter.
* lisp/erc/erc.el (erc-parse-prefix): Rework slightly for readability.
(erc--parsed-prefix): New variable and function of the same name for
caching the reversed result of `erc-parse-prefix' locally per server.
(erc-channel-receive-names): Use value stored in `erc--parsed-prefix'.
* test/lisp/erc/erc-tests.el (erc-with-server-buffer): Only activate
spy around actual test case forms.
(erc--parse-prefix): New test. (Bug#67220)
F. Jason Park [Tue, 14 Nov 2023 02:24:59 +0000 (18:24 -0800)]
Simplify ISUPPORT-derived data wrangling in ERC
* lisp/erc/erc-backend.el (erc--get-isupport-entry): Check server
buffer for `erc-server-parameters' when (re)initializing value. This
function was previously unreliable from a target buffer on cache
misses.
(erc--with-isupport-data): New macro for accessing and caching data
derived from an ISUPPORT parameter. Late-arriving params break the
cache.
(erc-server-005): Rewrite pattern as `rx' form, factoring out bol/eol.
* lisp/erc/erc-common.el (erc--isupport-data): New struct to be
subclassed for storing cached ISUPPORT-derived data.
* test/lisp/erc/erc-scenarios-display-message.el: Remove stray
`require'. (Bug#67220)
F. Jason Park [Fri, 17 Nov 2023 21:26:00 +0000 (13:26 -0800)]
Add test for erc-cmd-SQUERY
* lisp/erc/erc-backend.el (erc-message): Revise doc string.
* test/lisp/erc/erc-scenarios-base-misc-regressions.el (erc-cmd-MOTD):
Move test to another file specifically for slash commands.
* test/lisp/erc/erc-scenarios-misc-commands.el: New file.
* test/lisp/erc/resources/base/commands/motd.eld: Move file elsewhere.
* test/lisp/erc/resources/commands/motd.eld: "New" file, moved here
reusing the same Git blob from now deleted subdir base/commands.
* test/lisp/erc/resources/commands/squery.eld: New file. (Bug#67209)
Osmo Karppinen [Fri, 17 Nov 2023 10:31:50 +0000 (12:31 +0200)]
Fix command-line parsing for erc-cmd-SQUERY
* lisp/erc/erc.el (erc-cmd-SQUERY): Set symbol property
`do-not-parse-args' to t so additional command-line arguments aren't
parsed but rather included as part of the function's lone (raw) LINE
parameter. (Bug#67209)
Copyright-paperwork-exempt: yes
Yuan Fu [Sat, 18 Nov 2023 19:01:08 +0000 (11:01 -0800)]
Add missing python-ts-mode keyword (bug#67015)
* lisp/progmodes/python.el (python--treesit-keywords): Add "not in".
Dmitry Gutov [Sat, 18 Nov 2023 16:35:18 +0000 (18:35 +0200)]
Fix string-pixel-width with global setting of display-line-numbers
* lisp/emacs-lisp/subr-x.el (string-pixel-width):
Instead of checking for display-line-numbers-mode, set the
display-line-numbers variable to nil (bug#67248).
Michael Albinus [Sat, 18 Nov 2023 13:39:16 +0000 (14:39 +0100)]
Minor Tramp optimization
* lisp/net/tramp.el (tramp-skeleton-file-truename)
(tramp-skeleton-write-region, tramp-handle-file-truename):
* lisp/net/tramp-integration.el (tramp-eshell-directory-change)
(tramp-recentf-exclude-predicate):
* lisp/net/tramp-smb.el (tramp-smb-handle-copy-file):
* lisp/net/tramp-sudoedit.el (tramp-sudoedit-do-copy-or-rename-file):
Use `tramp-tramp-file-p' instead of `file-remote-p'.
Eli Zaretskii [Sat, 18 Nov 2023 11:07:48 +0000 (06:07 -0500)]
Merge from origin/emacs-29
d9e43f2197f Document changes in 'edmacro-parse-keys'
3327f36ad95 Add 2 SQLite extensions to allow-list.
8d2012024de * test/lisp/net/tramp-tests.el (tramp--test-timeout-handl...
Eli Zaretskii [Sat, 18 Nov 2023 11:07:48 +0000 (06:07 -0500)]
; Merge from origin/emacs-29
The following commit was skipped:
7b0e07c41ae Make Tramp aware of completion-regexp-list (don't merge)
Eli Zaretskii [Sat, 18 Nov 2023 11:07:47 +0000 (06:07 -0500)]
Merge from origin/emacs-29
232a57a3e32 ; * doc/lispref/debugging.texi (Debugging): Add cross-ref...
c65ddf26a33 ; doc/lispref/debugging.texi: Add reference to Profiler d...
6f884d3aed9 Add 5 docstrings to abbrev.el (bug#67153)
b4d990bd637 ; Clarify wording about arguments in doc strings
c20ae7a30fb ; Improve cross-references in description of 'pcase'
42181b65df1 ; * src/editfns.c (Fline_beginning_position): Doc fix.
5f3309f6b0f ; Improve indexing in ELisp manual
4e406bb4208 Fix CBZ file detection in doc-view-mode
Eli Zaretskii [Sat, 18 Nov 2023 11:07:47 +0000 (06:07 -0500)]
; Merge from origin/emacs-29
The following commit was skipped:
c1251ae1f93 * lisp/progmodes/eglot.el (eglot-server-programs): Fix pr...
Eli Zaretskii [Sat, 18 Nov 2023 11:07:47 +0000 (06:07 -0500)]
Merge from origin/emacs-29
5a1808da5f3 ; * doc/misc/eglot.texi (Eglot Commands): Fix typos (bug#...
Eli Zaretskii [Sat, 18 Nov 2023 11:07:47 +0000 (06:07 -0500)]
; Merge from origin/emacs-29
The following commit was skipped:
260ba357bbe Eglot: Send standard :language-id for typescript-language...