1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-18 03:40:47 -08:00
Commit graph

92730 commits

Author SHA1 Message Date
João Távora
ef8458558d Flymake: fix eol overlay flicker due to untimely overlay deletion
This commit helps in ensuring that `flymake--eol-overlay-update' is
only called once per cycle.

* lisp/progmodes/flymake.el (flymake--delete-overlay): Don't
delete eol overlay here.
(flymake--eol-overlay-summary): Rework again.
(flymake--eol-overlay-update): Delete eol overlay here.
(flymake-start): Make sure to set all backends reported-p to nil.
2023-09-21 01:14:00 +01:00
João Távora
f35818f2e7 Flymake: more fixes to the end-of-line overlays
bug#66041

* lisp/progmodes/flymake.el (flymake--eol-overlay-summary): Rework.
(flymake--eol-overlay-update): Rework.
(flymake--highlight-line): Simplify.
2023-09-21 00:28:34 +01:00
João Távora
4da3ff1f0c Flymake: do use condition-case-unless-debug
The reasons previously highlighted in the FIXME either don't apply
anymore or don't outweigh the advantages of using this macro.

* lisp/progmodes/flymake.el (flymake--run-backend): Do use
condition-case-unless-debug.
2023-09-21 00:05:07 +01:00
João Távora
8b1947ffdd Flymake: more fixes to flymake--highlight-line
Make it robust to diagonstics with invalid bounds.

* lisp/progmodes/flymake.el (flymake--highlight-line): Robustify.
2023-09-21 00:03:32 +01:00
João Távora
e0ce4409b2 Flymake: Fix bug in flymake-diagnostics
* lisp/progmodes/flymake.el (flymake-diagnostics): Fix bug.
2023-09-20 22:49:17 +01:00
Jim Porter
d989d14e13 Flymake: use 'compilation-info' as basis for "note" faces
bug#66041

* lisp/progmodes/flymake.el (flymake-note-echo)
(flymake-note-echo-at-eol): Inherit from 'compilation-info'.
2023-09-20 22:48:44 +01:00
Alan Mackenzie
f931cebce7 Insert symbol `debug' into two condition-case handlers
This fixes bug#65622.  Also correct a mismatch between a
function to which advice is added, and that from which it is
removed.

* lisp/emacs-lisp/macroexp.el (internal-macroexpand-for-load):
Add a `debug' to the condition-case handler for `error', so
that a useful backtrace will be produced on a macro expansion
error.

* lisp/progmodes/elisp-mode.el (elisp--local-variables): Add
`debug' to a condition-case handler, as above.  In the
advice-remove call, give the same function, macroexpand-1, as
in the corresponding advice-add call.
2023-09-20 15:51:17 +00:00
João Távora
5792ea14ad Flymake: fix many problems with the end-of-line overlays
bug#66041

* lisp/progmodes/flymake.el (flymake-diagnostics): Rewrite.
(flymake--really-all-overlays): Rename from flymake--overlays.
(flymake--delete-overlay): Complexify.
(flymake--highlight-line): Rework.
(flymake--handle-report): Update eol overlays
(flymake-mode): use flymake--really-all-overlays.
(flymake-after-change-function): Simplify.
(flymake-goto-next-error): Don't use flymake--overlays.
2023-09-20 14:53:13 +01:00
Andrea Corallo
ea12230039 * lisp/emacs-lisp/comp.el (comp-compute-dominator-tree): Simplify. 2023-09-20 12:09:15 +02:00
João Távora
76cdf293c4 Eglot: better consider diagnostics at point on code action requests
* lisp/progmodes/eglot.el (eglot--code-action-bounds): Rename from
eglot--code-action-bounds.  Rework to consider diagnostics.
(eglot-code-actions): Use new eglot--code-action-bounds.
(eglot--code-action): Use new eglot--code-action-bounds.

* etc/EGLOT-NEWS: mention change.

GitHub-reference: https://github.com/joaotavora/eglot/discussions/1295
2023-09-20 11:02:51 +01:00
Juri Linkov
74dffcdf4f * lisp/tab-bar.el (tab-bar-auto-width): Don't check if width changes.
Remove the condition '(< curr-width prev-width)' that was intended to check
if the width stopped to change.  But actually it's not only unneeded,
but causes a bug: when the name contains a combining character, then
the width doesn't change, and the name truncation stops too early.
2023-09-19 20:51:07 +03:00
Juri Linkov
3c14cab797 ; * tab-bar, tab-line: Use integer 1 instead of float for height em. 2023-09-19 20:44:16 +03:00
Mattias Engdegård
b03338c70d Warn about duplicated :tag strings in defcustom choices
It is bad user experience when two menu items have identical labels.

* lisp/emacs-lisp/bytecomp.el (bytecomp--check-cus-type): Add check.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test-defcustom-type): Add test case.
2023-09-19 15:21:03 +02:00
Alan Mackenzie
761f8901ff Don't use ellipses while cl-printing strings.
This fixes bug#65680.  The former use of print-length as a
bound on the length of the printed string was erroneous,
causing error messages preceding backtracees to get
unnecessarily truncated to 50 characters.

* lisp/emacs-lisp/cl-print.el (cl-print-object <string>):
Remove the substitution of ellipses for long strings.

* test/lisp/emacs-lisp/cl-print-tests.el
(cl-print-tests-ellipsis-string): Remove this test.
2023-09-19 10:25:34 +00:00
Andrea Corallo
ea5ae08b06 * lisp/emacs-lisp/comp.el (comp-final1): Clean-up unused form. 2023-09-19 11:46:19 +02:00
Andrea Corallo
438d71e83b * lisp/emacs-lisp/comp.el (comp-op-to-fun): Use `string-replace'. 2023-09-19 11:46:19 +02:00
Yuan Fu
fc7c1f1e93
Fix treesit--update-ranges-local
* lisp/treesit.el (treesit--update-ranges-local): Don't forget to set
local parser's range when creating it.
2023-09-18 20:48:28 -07:00
Jim Porter
acdb77c289 ; Add debug instrumention for queueing commands in Eshell
* lisp/eshell/esh-cmd.el (eshell-eval-command): Log the new command
form.
2023-09-18 18:00:07 -07:00
Jim Porter
146bd41dde Fix another race condition when waiting for Eshell processes
When checking if the other processes in our pipeline are "alive", we
also need to check whether their sentinels are finished.  Otherwise,
we might proceed with command evaluation while one of the other
processes is still cleaning up.

* lisp/eshell/esh-proc.el (eshell-process-active-p): New function...
(eshell-wait-for-process)
* lisp/eshell/esh-cmd.el (eshell-resume-command): ... use it.
2023-09-18 10:26:34 -07:00
Andrea Corallo
991bf3f0f5 * Fix comp-function-type-spec for non symbol input (bug#66021)
* lisp/emacs-lisp/comp.el (comp-function-type-spec): Make it robust
against closures (bug#66021).
2023-09-18 10:15:38 +02:00
Danny Freeman
b892da5f61
Offset ranges before applying embedded tree-sitter parser
This feature would allow treesitter major modes to easily specify
offsets when using embeded parsers.  A potential use case for this is
javascript template strings, when we want to apply a different parser
to the string's contents, but do not want to include the template
string's delimiters.

* lisp/treesit.el
(treesit-query-range): Accept an optional offest arg, apply the offset
to all returned ranges.
(treesit-range-rules): Accept an optional :offset keyword arg to adjust
ranges an embded parser is applied to.
(treesit-update-ranges): Forward optional :offset setting from
`treesit-range-rules' to `treesit-query-rang'.
* test/lisp/treesit-tests.el
(treesit-range-offset): Tests the new offset functionality.
2023-09-17 21:12:56 -07:00
Jim Porter
9ab8b968d6 Use 'eshell-with-temp-command' (indirectly) to parse Eshell script files
* lisp/eshell/esh-cmd.el (eshell--region-p): New function.
(eshell-with-temp-command, eshell-parse-command): Support
'(:file . FILENAME)' to use the contents of FILENAME.

* lisp/eshell/em-script.el (eshell-source-file): Call
'eshell-parse-command' and use backticks.
2023-09-17 21:10:28 -07:00
F. Jason Park
a0ed463bab Spoof channel users in erc-button--phantom-users-mode
* lisp/erc/erc-backend.el (erc--cmem-from-nick-function): Update
forward declaration.
(erc-server-PRIVMSG): Use new name for `erc--user-from-nick-function',
now `erc--cmem-from-nick-function'.
* lisp/erc/erc-button.el (erc-button--phantom-users,
erc-button--phantom-cmems): Rename former to latter.
(erc-button--fallback-user-function,
erc-button--fallback-cmem-function): Rename former to latter.
(erc--phantom-channel-user, erc--phantom-server-user): New superficial
`cl-struct' definitions "subclassing" `erc-channel-user' and
`erc-server-user'.  Note that these symbols lack an `erc-button'
prefix.
(erc-button--add-phantom-speaker): Look for channel member instead of
server user, creating one if necessary.  Return a made-up
`erc-channel-user' along with a fake `erc-server-user'.
(erc-button--get-phantom-user, erc-button--get-phantom-cmem): Rename
former to latter.
(erc-button--phantom-users-mode, erc-button--phantom-users-enable,
erc-button--phantom-users-disable): Use updated "cmem" names for
function-valued interface variables and their implementing functions.
Remove obsolete comment.
(erc-button-add-nickname-buttons): Attempt to query fallback function
for channel member instead of server user.
* lisp/erc/erc.el (erc--user-from-nick-function,
erc--cmem-from-nick-function): Rename former to latter.
(erc--examine-nick, erc--cmem-get-existing): Rename former to
latter.  (Bug#60933)
2023-09-17 16:17:59 -07:00
F. Jason Park
69a154616e Run erc--scrolltobottom-on-pre-insert unconditionally
* lisp/erc/erc-goodies.el (erc--scrolltobottom-all): Pass `no-force'
argument to `set-window-start'.
(erc--scrolltobottom-on-pre-insert): Convert from generic to normal
function and drop `erc-input' method completely.  A non-nil `insertp'
slot means a message is marked for insertion in the read-only portion
of the buffer, above the prompt.  But conditionally restoring window
parameters based on that flag is insufficient because the window still
needs adjusting whenever input is typed, regardless of whether it's
erased or "inserted."  (Bug#64855)
2023-09-17 16:06:49 -07:00
F. Jason Park
c1e86203b0 Simplify erc--fill-module-docstring
* lisp/erc/erc-common.el (erc--fill-module-docstring): Don't run hooks
for major mode when filling.  Prefer `lisp-data-mode' to
`emacs-lisp-mode'.
2023-09-17 16:06:49 -07:00
Jim Porter
7d2870dc85 Fix running background commands via 'eshell-command'
This regressed (I believe) due to 2ec41c174f.

* lisp/eshell/esh-cmd.el (eshell-resume-eval): Check for non-nil
'retval' instead of for a process list (nil is also a technically a
process list!).

* test/lisp/eshell/eshell-tests.el
(eshell-test/eshell-command/background-pipeline): Remove unnecessary
'copy-tree'.
(eshell-test/eshell-command/output-buffer/sync)
(eshell-test/eshell-command/output-buffer/async): New tests.
2023-09-17 15:45:45 -07:00
Stefan Kangas
6dfe252fff Delete commented out code from cperl-mode.el
* lisp/progmodes/cperl-mode.el: Delete some commented out code.
2023-09-17 23:37:32 +02:00
Stefan Kangas
f3a50f6dd8 Rename describe-map-tree to help--describe-map-tree
This function should have been made internal in the first place.
* lisp/help.el (help--describe-map-tree): Rename from
'describe-map-tree'.  Keep old name as an obsolete alias, and update
all callers.
2023-09-17 22:56:00 +02:00
Jim Porter
ae983e9283 ; Fix a recent change in Eshell
* lisp/eshell/esh-cmd.el (eshell-manipulate): Fix 'eshell-stringify' calls.
(eshell-do-eval): Simplify 'if' condition.
2023-09-17 11:22:19 -07:00
Eli Zaretskii
16453ed611 ; * lisp/progmodes/flymake.el (flymake-mode): Fix 'cond'. 2023-09-17 19:35:30 +03:00
Eli Zaretskii
e65ed92795 ; * lisp/simple.el (suggest-key-bindings): Fix :type. 2023-09-17 19:33:11 +03:00
Mattias Engdegård
f8ea47ebf4 Expanded defcustom type byte-compilation warnings (bug#65852)
Warn about more kinds of mistakes in :type arguments of `defcustom`
and `define-widget`.  These include:

- misplaced keyword args, as in (const red :tag "A reddish hue")
- missing subordinate types, as in (repeat :tag "List of names")
  or (choice list string)
- duplicated values, as in (choice (const yes) (const yes))
- misplaced `other` member, as in
  (choice (const red) (other nil) (const blue))
- various type name mistakes, as in (vector bool functionp)

* lisp/emacs-lisp/bytecomp.el (byte-compile--defcustom-type-quoted)
(byte-compile-nogroup-warn): Remove.
(byte-compile-normal-call): Remove call to the above.
(bytecomp--cus-warn, bytecomp--check-cus-type)
(bytecomp--custom-declare): New.
2023-09-17 17:16:35 +02:00
Stefan Kangas
e0070fc574 Improve org-babel-execute:eshell docstring
* lisp/org/ob-eshell.el (org-babel-execute:eshell): Improve docstring.
2023-09-17 16:57:25 +02:00
Stefan Kangas
1e270e580d ; Grammar fixes ("allow to" et al)
Ref:
https://lists.gnu.org/r/emacs-devel/2016-01/msg01598.html
https://lists.gnu.org/r/emacs-devel/2016-01/msg01465.html
2023-09-17 16:49:21 +02:00
Michael Albinus
0d493116ae Make "toolbox" and "flatpak" multi-hop completion capable in Tramp
* lisp/net/tramp-container.el (tramp-skeleton-completion-function):
Bind `tramp-verbose' to 0.
(tramp-toolbox--completion-function)
(tramp-flatpak--completion-function): Use METHOD as argument.
Use `tramp-skeleton-completion-function'.
(tramp-completion-multi-hop-methods): Add "toolbox" and "flatpak".
2023-09-17 12:13:14 +02:00
Christophe Troestler
e686fb9de3 Add prettify-symbols configuration to 'rust-ts-mode'
* lisp/progmodes/rust-ts-mode.el
(rust-ts-mode-prettify-symbols-alist): New variable.
(rust-ts-mode--prettify-symbols-compose-p): New function.
(rust-ts-mode): Use it.
2023-09-17 12:57:23 +03:00
Eli Zaretskii
38757723e1 Support Unicode version 15.1
* admin/unidata/BidiBrackets.txt:
* admin/unidata/BidiMirroring.txt:
* admin/unidata/Blocks.txt:
* admin/unidata/IdnaMappingTable.txt:
* admin/unidata/NormalizationTest.txt:
* admin/unidata/PropertyValueAliases.txt:
* admin/unidata/ScriptExtensions.txt:
* admin/unidata/Scripts.txt:
* admin/unidata/SpecialCasing.txt:
* admin/unidata/UnicodeData.txt:
* admin/unidata/confusables.txt:
* admin/unidata/copyright.html:
* test/manual/BidiCharacterTest.txt:
* admin/unidata/emoji-data.txt:
* admin/unidata/emoji-sequences.txt:
* admin/unidata/emoji-test.txt:
* admin/unidata/emoji-variation-sequences.txt:
* admin/unidata/emoji-zwj-sequences.txt: Update from Unicode data
files.
* admin/notes/unicode: Update instructions.
* lisp/international/characters.el: Update 'char-width-table'
data.
* etc/NEWS: Announce support for Unicode 15.1.
2023-09-17 11:40:06 +03:00
Eli Zaretskii
d2f6a5c59a Merge from origin/emacs-29
bcf287bd11 typescript-ts-mode.el: Minor touches
67c8271076 Improve namespacing situation WRT to recent change in typ...
33ff4fed03 Make move-end-of-line in minibuffer consistent (bug#65980)
2023-09-17 01:26:46 -04:00
Dmitry Gutov
bcf287bd11 typescript-ts-mode.el: Minor touches
* lisp/progmodes/typescript-ts-mode.el
(tsx-ts-mode--indent-compatibility-b893426)
(tsx-ts-mode--font-lock-compatibility-bb1f97b):
Catch specific error.
(typescript-ts-base-mode): Improve docstring (bug#65470).
2023-09-16 23:03:44 +03:00
Dmitry Gutov
67c8271076 Improve namespacing situation WRT to recent change in typescript-ts-mode.el
* lisp/progmodes/typescript-ts-mode.el
(typescript-ts--syntax-propertize):
Rename from ts-ts--syntax-propertize.
(tsx-ts--syntax-propertize-captures):
Rename from ts-ts--syntax-propertize-captures.
(typescript-ts--s-p-query):
Rename from ts-ts--s-p-query.
Update all references (bug#65470).
2023-09-16 23:03:44 +03:00
Michael Albinus
41a45373c1 ; Add some comments in Tramp 2023-09-16 20:36:28 +02:00
Michael Albinus
9e736d254a Improve Tramp messages
* lisp/net/tramp-message.el (tramp-debug-message): Publish the
name of the debug file name.
2023-09-16 20:35:57 +02:00
Michael Albinus
f0f4cbfe87 Make "kubernetes" multi-hop completion capable in Tramp
* lisp/net/tramp-container.el (tramp-skeleton-completion-function):
New defmacro.
(tramp-container--completion-function): Use it.
(tramp-kubernetes--completion-function): Use METHOD as argument.
Use `tramp-skeleton-completion-function'.
(tramp-skeleton-kubernetes-vector): New defmacro.
(tramp-kubernetes--current-context)
(tramp-kubernetes--current-context-data): Use it.
(tramp-completion-multi-hop-methods): Add "kubernetes".
2023-09-16 20:35:35 +02:00
Michael Albinus
be70f4ab0e Adapt tramp-otp-password-prompt-regexp
* lisp/net/tramp.el (tramp-otp-password-prompt-regexp):
Use `tramp-compat-password-colon-equivalents'.
2023-09-16 20:34:06 +02:00
Stefan Kangas
94b1de2774 Add missing builtin package declarations
* lisp/finder.el (finder--builtins-alist): Add new package
directories 'leim' and 'obsolete' as part of the 'emacs' package.
Add new package directory 'use-package' as part of the
'use-package' package.
* lisp/net/eudc-capf.el:
* lisp/net/eudcb-ecomplete.el:
* lisp/net/eudcb-macos-contacts.el:
* lisp/net/eudcb-mailabbrev.el: Declare library as part of the
'eudc' package.
* lisp/mail/ietf-drums-date.el: Declare library as part of the
'ietf-drums' package.
* lisp/image/image-dired-dired.el:
* lisp/image/image-dired-external.el:
* lisp/image/image-dired-tags.el:
* lisp/image/image-dired-util.el: Declare library as part of the
'image-dired' package.
* lisp/emacs-lisp/oclosure.el:
* lisp/keymap.el:
* lisp/progmodes/c-ts-common.el: Declare library as part of the
'emacs' package.  (Bug#62751)
2023-09-16 14:36:24 +02:00
Stephen Berman
33ff4fed03 Make move-end-of-line in minibuffer consistent (bug#65980)
* lisp/simple.el (move-end-of-line): Always move to eol when
invoking `C-e' from within the minibuffer's prompt string.
2023-09-16 14:00:24 +02:00
Eli Zaretskii
302bc23f7c Merge from origin/emacs-29
755ae813a6 ; Declare some treesit.c functions in typescript-ts-mode.el.
89fa204b70 Fix loss of encrypted data in plstore.el
d9a1175a61 Close SQL database when corresponding 'sqlite-mode' buffe...
cbd8fac283 Fix Unicode normalization of characters
825be05b37 Support one-time passwords in Tramp
f880b94e64 Fix the 'C' and 'c' categories of characters
58fd212d8a Fix Emoji zooming commands
8970cdd009 ; Fix last change.
ba924be452 ; * etc/DEBUG: Improve the redisplay section.
e110312ad9 ; * doc/lispref/minibuf.texi (Text from Minibuffer): Ment...
65f4810003 tsx-ts-mode--font-lock-compatibility-bb1f97b: Improve
6fe11b88ed Avoid using --display in emacsclient to reuse frames on PGTK
2fc7463c0e ; * INSTALL: Don't advertise -O3.  (Bug#65988)
29055412f2 ; Fix doc string of 'lsh'
738d854333 Support emacsclient on Windows with server on GNU or Unix...
f0a89fa1d0 ; * lisp/saveplace.el (save-place-ignore-files-regexp): F...
c9cb8ee0fc Fix defcustom in saveplace.el (Bug#65977)
5ec8be1d58 ; * lisp/subr.el (string-suffix-p, string-prefix-p): Doc ...
809305e6d8 Fix 'window-text-pixel-size' when there are several image...
ea14b0dcc2 : Doc fix.
01e8a0c6cb Doc fix for prettify-symbols-unprettify-at-point
0065621d0d (report_overlay_modification): Fix bug#65929
6cc6455e93 Fix SVG colors (bug#56182)
9396d73942 * doc/emacs/text.texi (Outline Minor Mode): Add a note ab...
a65d1a5a16 Improve documentation of 'list-abbrevs'
5dcc4b7eab Tweak s-p-f for js-ts-mode
1fb2fb501f typescript-ts-mode, tsx-ts-mode: Fix syntax properties fo...
946b395e7e * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Provide (bug...
33ee3e588f Fix regression of treesit_cursor_helper_1
d11d81dfcc ; Fix doc typos (Bug#65868)
6554ec2246 Update docs for passing of Thien-Thi Nguyen
5ab2792d5c Update defvar usage tips example in manual
35d88c657e Document using Flymake together with Eglot
3f04efe9e7 ; * src/font.h (struct font): Comment about use of averag...
459b5f6b6d ; * admin/authors.el (authors-aliases): Update.
0c029ae8bc ; tweak etc/TODO item

# Conflicts:
#	admin/authors.el
#	lisp/subr.el
2023-09-16 07:36:49 -04:00
Eli Zaretskii
755ae813a6 ; Declare some treesit.c functions in typescript-ts-mode.el. 2023-09-16 14:26:46 +03:00
Jens Schmidt
89fa204b70 Fix loss of encrypted data in plstore.el
* lisp/plstore.el (plstore--insert-buffer): Fix loss of encrypted
data when a plstore gets opened and saved without being decrypted
between these steps.  (Bug#63627)
2023-09-16 14:05:36 +03:00
Eli Zaretskii
f44c1969b6 ; Fix last change in gdb-mi.el
* lisp/progmodes/gdb-mi.el (gdb-display-io-buffer): Move to before
the first use.  Doc fix.  Change the group to 'gdb-buffers'.

* etc/NEWS: Announce the new option.  (Bug#65007)
2023-09-16 13:41:07 +03:00