Commit graph

169755 commits

Author SHA1 Message Date
Po Lu
e1c0c5def3 ; * doc/emacs/input.texi (On-Screen Keyboards): Fix typos. 2023-11-23 08:20:51 +08:00
Andrea Corallo
7f359d2488 (package-quickstart-refresh): Generate marginally more efficient code
* lisp/emacs-lisp/package.el (package-quickstart-refresh): Include
only one copy of the file names.
2023-11-22 17:51:45 -05:00
Andrea Corallo
366c316a2f * Update 'native-comp-never-optimize-functions' version
* lisp/emacs-lisp/comp-common.el (native-comp-never-optimize-functions):
Update version.
2023-11-22 16:37:16 +01:00
Andrea Corallo
cfd47e516f * configure.ac: Fix non posix (bash only) eq operator 2023-11-22 16:34:13 +01:00
Michael Albinus
025cd2a9c2 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 "..".
2023-11-22 13:50:06 +01:00
Michael Albinus
04aa76bb92 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>.
2023-11-22 13:48:57 +01:00
Po Lu
f50e54c01e ; * lisp/touch-screen.el (touch-screen-handle-touch): Correct typo. 2023-11-22 11:25:23 +08:00
Po Lu
148250f074 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.
2023-11-22 11:10:13 +08:00
Po Lu
47e86445de Insert NEWS entry for native compilation changes
* etc/NEWS (Installation Changes in 30.1): Mention that native
compilation has been enabled by default.
2023-11-22 11:07:13 +08:00
Po Lu
41b67c0318 Disable native compilation in build machine Android binaries
* configure.ac (XCONFIGURE): Set with_native_compilation to no.
2023-11-22 11:00:04 +08:00
Andrea Corallo
3328c32725 * 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.
2023-11-21 11:35:33 +01:00
Po Lu
3027695ea8 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.
2023-11-21 14:18:04 +08:00
Manuel Giraud
65600b97bd 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.
2023-11-20 10:00:08 -08:00
Juri Linkov
9d292262f5 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.
2023-11-20 19:57:57 +02:00
Eli Zaretskii
5024ee1ad1 ; * etc/TODO: Fix punctuation. 2023-11-20 14:45:30 +02:00
Andrea Corallo
498daa8886 * etc/TODO (Native compiler improvements): Add 'Diagnostic' section. 2023-11-20 10:38:54 +01:00
Andrea Corallo
c598a808be * etc/TODO (Native compiler improvements): Move old entry here. 2023-11-20 10:29:28 +01:00
Andrea Corallo
94b3c7b9d2 * etc/TODO (Native compiler improvements): Add section. 2023-11-20 10:29:28 +01:00
Andrea Corallo
ea7a52dbae * Add 'eval' to 'native-comp-never-optimize-functions' (bug#67141)
* lisp/emacs-lisp/comp-common.el (native-comp-never-optimize-functions):
Add 'eval'.
2023-11-20 09:47:24 +01:00
Jim Porter
16ac377aab 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.
2023-11-19 15:11:40 -08:00
Eli Zaretskii
1c8b6a00cf ; * doc/emacs/emacs.texi: Add a missing menu to @detailmenu. 2023-11-19 19:31:46 +02:00
Eli Zaretskii
e32c57ed4d ; 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.
2023-11-19 11:37:45 +02:00
Eli Zaretskii
3a3202e4a6 ; * etc/NEWS: Fix last change. 2023-11-19 11:08:53 +02:00
Kévin Le Gouguec
53bd2d57f3 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'.
2023-11-19 11:05:26 +02:00
Po Lu
779e669bbc ; * doc/emacs/emacs.texi: Remove redundant menu. 2023-11-19 12:46:21 +08:00
Po Lu
7751ef3a32 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.
2023-11-19 11:38:02 +08:00
Po Lu
2cb78a31eb ; Correct typo
* doc/emacs/input.texi (Touchscreens): Use pxref where xref was
inserted by mistake.
2023-11-19 11:02:44 +08:00
Po Lu
f2898e24fd 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.
2023-11-19 11:00:25 +08:00
Stefan Monnier
47b497b4da (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.
2023-11-18 16:34:38 -05:00
F. Jason Park
cca7956c82 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)
2023-11-18 12:34:56 -08:00
F. Jason Park
e7fa460e1d 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)
2023-11-18 12:34:56 -08:00
F. Jason Park
b088222ec9 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)
2023-11-18 12:34:56 -08:00
F. Jason Park
cc7e008dce 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)
2023-11-18 12:34:56 -08:00
Osmo Karppinen
64174ae148 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
2023-11-18 12:34:56 -08:00
Michael Albinus
80d0ff4612 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'.
2023-11-18 14:39:16 +01:00
Eli Zaretskii
1d0e3030ff Merge from origin/emacs-29
d9e43f2197 Document changes in 'edmacro-parse-keys'
3327f36ad9 Add 2 SQLite extensions to allow-list.
8d2012024d * test/lisp/net/tramp-tests.el (tramp--test-timeout-handl...
2023-11-18 06:07:48 -05:00
Eli Zaretskii
e5e35a2be6 ; Merge from origin/emacs-29
The following commit was skipped:

7b0e07c41a Make Tramp aware of completion-regexp-list (don't merge)
2023-11-18 06:07:48 -05:00
Eli Zaretskii
6c367f0ad4 Merge from origin/emacs-29
232a57a3e3 ; * doc/lispref/debugging.texi (Debugging): Add cross-ref...
c65ddf26a3 ; doc/lispref/debugging.texi: Add reference to Profiler d...
6f884d3aed Add 5 docstrings to abbrev.el (bug#67153)
b4d990bd63 ; Clarify wording about arguments in doc strings
c20ae7a30f ; Improve cross-references in description of 'pcase'
42181b65df ; * src/editfns.c (Fline_beginning_position): Doc fix.
5f3309f6b0 ; Improve indexing in ELisp manual
4e406bb420 Fix CBZ file detection in doc-view-mode
2023-11-18 06:07:47 -05:00
Eli Zaretskii
703b9c8d24 ; Merge from origin/emacs-29
The following commit was skipped:

c1251ae1f9 * lisp/progmodes/eglot.el (eglot-server-programs): Fix pr...
2023-11-18 06:07:47 -05:00
Eli Zaretskii
7ce68f0435 Merge from origin/emacs-29
5a1808da5f ; * doc/misc/eglot.texi (Eglot Commands): Fix typos (bug#...
2023-11-18 06:07:47 -05:00
Eli Zaretskii
1eec562e11 ; Merge from origin/emacs-29
The following commit was skipped:

260ba357bb Eglot: Send standard :language-id for typescript-language...
2023-11-18 06:07:47 -05:00
Eli Zaretskii
f99de40efc Merge from origin/emacs-29
32a32853ce Typofix in the doc/lispref/modes.texi
f98637b51b ; Fix 'add-face-text-property' shortdoc
3fff22eb20 Fix spell-checking email message with citations
2023-11-18 06:07:47 -05:00
Eli Zaretskii
457b5e23fa ; Merge from origin/emacs-29
The following commit was skipped:

5bebd292c6 Pass only the local parts of Eshell's $PATH to 'tramp-rem...
2023-11-18 06:07:47 -05:00
Eli Zaretskii
fe55361183 Merge from origin/emacs-29
5612fd21a0 Add two doc strings to cl-extra.el
2023-11-18 06:07:46 -05:00
Eli Zaretskii
9b0cb2185d ; * etc/NEWS: Fix last change (bug#67225). 2023-11-18 12:11:56 +02:00
Rudi Schlatte
41b837b413 Add key translations 'C-x 8 a e' and 'C-x 8 A E'.
* lisp/international/iso-transl.el (iso-transl-char-map): Add
new entries for ae and AE.  (Bug#67225)
2023-11-18 12:08:34 +02:00
Eli Zaretskii
d5799ce666 ; Add commentary for exposing a mode hook to Custom
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode-hook): Add
commentary about the reasons for exposing the hook to Custom, per
the discussion in bug#67207.
2023-11-18 12:02:25 +02:00
Wilhelm H Kirschbaum
09de967f6c Add elixir-ts-mode-hook to elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el (elixir-ts-mode-hook):
Make hook available to customize.  (Bug#67207)
2023-11-18 11:57:08 +02:00
Eli Zaretskii
d9e43f2197 Document changes in 'edmacro-parse-keys'
* lisp/edmacro.el (edmacro-parse-keys): Add a comment for forcing
output to be a vector.
(read-kbd-macro): Adjust the doc string to changes in
'edmacro-parse-keys'.  (Bug#67182)
2023-11-18 11:52:48 +02:00
Po Lu
6aa70c236f Document Battery Optimization challenges on Android
* etc/PROBLEMS (Runtime problems specific to Android): Mention
battery optimization, the way it impacts background execution,
and how it might be disabled.
2023-11-18 17:42:19 +08:00