Commit Graph

165792 Commits

Author SHA1 Message Date
Mattias Engdegård
aef996cd34 Consolidate existing warnings about unused return values
Move the warning about unused return values from calls to
side-effect-free functions from the source-level optimiser to the code
generator, where it can be unified with the special-purpose warning
about unused values from `mapcar`.  This change also cures spurious
duplicate warnings about the same code, makes the warnings amenable to
suppression through `with-suppressed-warnings`, and now warns about
some unused values that weren't caught before.

* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Move warning away from here.
* lisp/emacs-lisp/byte-run.el (with-suppressed-warnings):
* lisp/emacs-lisp/bytecomp.el (byte-compile-warnings):
Doc string updates.
(byte-compile-form): Put the new warnings here.
(byte-compile-normal-call): Move mapcar warning away from here.
* lisp/emacs-lisp/bytecomp.el (byte-compile-ignore):
Compile args to `ignore` for value to avoid unused-value warnings, and
then discard the generated values immediately thereafter.  Mostly this
does not affect the generated code but in rare cases it might result
in slightly worse code.
* test/lisp/emacs-lisp/bytecomp-tests.el
(bytecomp-test--with-suppressed-warnings): Adapt test.
2023-04-08 19:34:30 +02:00
Basil L. Contovounesios
10b58633b5 Improve ibuffer-diff-with-file
* lisp/ibuf-ext.el (ibuffer-diff-with-file): Link to diff-command in
docstring.  Make Diff buffer read-only from outset and inhibit as
needed to avoid surprises.  Check whether diff-command
supports --label.  Leave point at BOB and clean up any excess
newline inserted by ibuffer-diff-buffer-with-file-1.  Prefer
pop-to-buffer-same-window over switch-to-buffer.

(ibuffer-diff-buffer-with-file-1): Add docstring.  Remove unused
unwind-protect and copypasta from diff-no-select (bug#62599).  Use
diff-file-local-copy, string-join, and redisplay in place of
analogues.  Condition --label use on availability, and label buffers
consistently with diff-no-select.  Leave empty line between runs.
Let diff-sentinel delete temporary files.  Leave point at EOB for
next run.
2023-04-08 11:51:43 +01:00
João Távora
9848ae1716 Eglot: fix problems after changes to eglot-imenu (bug#62718)
* lisp/progmodes/eglot.el (eglot--imenu-SymbolInformation)
(eglot--imenu-DocumentSymbol): Fix.
2023-04-07 23:00:44 +01:00
João Távora
cc288a0e33 Eglot: version strings must start with numbers (bug#62718)
Even though Eglot is a :core ELPA package and as such is on a
different release cycle than Emacs proper, the version strings used in
'defcustom' and 'make-obsolete' must still follow the numeric format.

* lisp/progmodes/eglot.el (eglot-report-progress): Adjust :version.
(eglot-lsp-abiding-column)
(eglot-current-column)
(eglot-current-column-function)
(eglot-move-to-current-column)
(eglot-move-to-lsp-abiding-column)
(eglot-move-to-column-function)
(eglot-ignored-server-capabilites)
(eglot-manual)
(eglot--managed-mode-hook): Update "obsolete" spec.
2023-04-07 22:47:15 +01:00
João Távora
621e732ade Eglot: use Eglot versions, not Emacs's in obsolete specs
* lisp/progmodes/eglot.el (eglot-report-progress): Adjust :version.
(eglot-lsp-abiding-column)
(eglot-current-column)
(eglot-current-column-function)
(eglot-move-to-current-column)
(eglot-move-to-lsp-abiding-column)
(eglot-move-to-column-function)
(eglot-ignored-server-capabilites)
(eglot-manual)
(eglot--managed-mode-hook): Update "obsolete" spec.
2023-04-07 19:54:57 +01:00
João Távora
6cc5fe7724 Eglot: require optional text-property-search.el
Originally reported in
https://github.com/joaotavora/eglot/discussions/1201.

Also check for text-property-search-forward before using it, so we
won't break on Emacs 26.3.  At this point, better start relying on
compat.el, I guess.

* lisp/progmodes/eglot.el (eglot--format-markup): Check for
text-property-search-forward.
2023-04-07 19:45:28 +01:00
João Távora
7239098ad4 Eglot: be careful about gfm-view-mode read-only buffers
Although in most situations this doesn't error, it's only because of
the very wide binding of inhibit-read-only in jsonrpc--process-filter.
That binding will soon be narrowed, so better not rely on it.

Originally reported in
https://github.com/joaotavora/eglot/discussions/1202.

* lisp/progmodes/eglot.el (eglot--format-markup): Inhibit
read-only before touching buffer potentially in gfm-view-mode.
2023-04-07 19:40:27 +01:00
João Távora
3aedd5c920 ; Eglot: fix misplaced parenthesis in last commit to eglot-tests.el
* test/lisp/progmodes/eglot-tests.el
(eglot-test-eldoc-after-completions): Fix misplaced parenthesis.
2023-04-07 18:52:24 +01:00
Mattias Engdegård
4489d89783 ; * test/src/comp-tests.el (61917-1): Underscore unused parameter. 2023-04-07 19:19:58 +02:00
Mattias Engdegård
7c0c2b1bb5 Remove useless unwind-protect forms, or make them useful as intended
* lisp/imenu.el (imenu--generic-function):
* lisp/mail/yenc.el (yenc-decode-region):
* lisp/textmodes/table.el (table-recognize-region):
* test/lisp/dired-tests.el (dired-test-directory-files):
* test/lisp/hl-line-tests.el (hl-line-tests-sticky):
Fix unwind-protect bracketing mistakes that caused the unwind code to
be misplaced.
* lisp/strokes.el (strokes-read-stroke): Fix a bracketing mistake that
misplaced the unwind code, and another one that misplaced the
else-clause of an `if` form.
* test/lisp/gnus/mml-sec-tests.el (mml-secure-test-fixture): Fix a
bracketing mistake that misplaced the unwind code, and remove
superfluous condition-case.

* lisp/mwheel.el (mouse-wheel-global-text-scale):
* lisp/speedbar.el (speedbar-stealthy-updates)
(speedbar-fetch-dynamic-etags):
* lisp/emacs-lisp/edebug.el (edebug--recursive-edit):
* lisp/emacs-lisp/package.el (package--read-pkg-desc):
* lisp/cedet/semantic.el (semantic-refresh-tags-safe):
* lisp/emulation/viper-cmd.el (viper-escape-to-state):
* lisp/emulation/viper-cmd.el (viper-file-add-suffix):
* lisp/gnus/mail-source.el (mail-source-movemail):
* lisp/mail/feedmail.el (feedmail-send-it-immediately)
(feedmail-deduce-address-list):
* lisp/mail/mailclient.el (mailclient-send-it):
* lisp/mail/smtpmail.el (smtpmail-deduce-address-list):
* lisp/mh-e/mh-print.el (mh-ps-print-range):
* lisp/textmodes/reftex-index.el (reftex-index-this-phrase):
* test/lisp/emacs-lisp/ert-tests.el (ert-test-run-tests-batch):
(ert-test-run-tests-batch-expensive):
Remove unwind-protect forms that are apparently useless, some since a
prior edit that removed their purpose, some since their first
appearance.

* test/lisp/subr-tests.el (subr-test--frames-2):
Insert dummy unwind form in backtrace test code.
2023-04-07 19:08:33 +02:00
Michael Albinus
211618293d * test/infra/Dockerfile.emba (emacs-eglot): Adapt software selection. 2023-04-07 17:08:46 +02:00
João Távora
fc8230f336 Eglot: no more tests based on Pylsp (bug#62694)
The functionality under test in eglot.el is exactly the same, but use
the clangd server only, as that is used in more tests, and it is much
easier to check if it misbehaves or not.

Tests pass with clangd version 15.

* test/lisp/progmodes/eglot-tests.el (python): Don't require it.
(eglot--call-with-fixture): Simplify.
(eglot--wait-for-clangd): New helper.
(eglot-test-basic-completions)
(eglot-test-non-unique-completions, eglot-test-basic-xref)
(eglot-test-snippet-completions)
(eglot-test-snippet-completions-with-company)
(eglot-test-eldoc-after-completions, eglot-test-multiline-eldoc):
Use clangd, not pylsp.
(eglot-test-formatting): Renamed from
eglot-test-python-autopep-formatting.
(eglot-test-python-yapf-formatting): Remove.
2023-04-07 14:55:09 +01:00
João Távora
b1f8d98a11 Eglot: rework eglot-imenu
Most newer servers return a vector of 'DocumentSymbol' as a response
to 'textDocument/documentSymbol'.  It's not worth trying to dumb this
down to imenu format of 'SymbolInformation' vectors.

This lays groundwork for the forthcoming "breadcrumb" feature of
bug#58431.

* lisp/progmodes/eglot.el
(eglot--imenu-SymbolInformation, eglot--imenu-DocumentSymbol): New
helpers.
(eglot-imenu): Rework.
2023-04-07 12:57:59 +01:00
Eli Zaretskii
5e5f5b28e9 Avoid failing the build when org-version.el is updated
* lisp/Makefile.in: Force recompilation of all Org files when
org-version.el is updated with a new Org version.
2023-04-06 22:14:59 +03:00
Eli Zaretskii
2d1a96e878 Merge from origin/emacs-29
305246d972 Add emoji-zoom-reset
470d269ec1 Make emoji-zoom-{increase,decrease} set text properties c...
63d4a86f8d Fix transforming sliced images
5e1953a8f8 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' fun...
6b9f9df945 ; Improve documentation of 'declare-function'
81d1f46d0f ; Avoid compiler warning in eglot.el.
38cdfcb212 ; Fix description of new 'keymap-*' functions
257090b872 Adapt EMBA scripts.
90c07d3fdd Another terminology fix in ELisp reference manual
a832bc7090 Correct terminology in Elisp Reference Manual
db308233cb Comment out GNUSTEP jobs on EMBA (again)
8c1b102243 ; * lisp/image.el (put-image): Doc fix.
eda88c63ad ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix.
728bc09cf3 Fix regexp string escaping mistake in vhdl-mode.el (bug#6...
479626dbac Update to Org 9.6.3-2-gf2949d
5a1c9aace7 ; Add a bit more docstring to tsx-ts-mode (bug#62429)
86cf9fd932 Eglot: don't watch directories that don't exist
82d0b6c64e ; * lisp/subr.el (use-dialog-box-p): Fix last change.
3619663f98 Preserve peer information for web page in eww-readable
cb8d6ab648 * lisp/subr.el (use-dialog-box-p): Fix conditions for GUI...
fb2c440920 ; * lisp/progmodes/c-ts-mode.el (c++-ts-mode): Add some n...

# Conflicts:
#	etc/NEWS
2023-04-06 14:38:20 -04:00
Eli Zaretskii
f7e8586104 ; Merge from origin/emacs-29
The following commit was skipped:

89e337c3fc ; Make sure 'eshell-command' tests don't prompt the user
2023-04-06 14:38:16 -04:00
Eli Zaretskii
40860b61ee Merge from origin/emacs-29
b39c3cd112 ; * etc/NEWS: Fix typos.
89ac5ba11c Fix ModelSim error regexp in vhdl-mode
24ed9c7ae7 ; * doc/emacs/trouble.texi (Checklist): Minor copyedits (...
d1d39a0f09 Document enhancements in handling of echo-area messages

# Conflicts:
#	etc/NEWS
2023-04-06 14:38:13 -04:00
Eli Zaretskii
c755463f04 ; Merge from origin/emacs-29
The following commits were skipped:

46209b2453 ; Fix last change
21a4ee209c Fix new Eshell tests on MS-Windows
e2ebf3995d ; Auto-commit of loaddefs files.
6419d78fa6 Fix using background commands in 'eshell-command'
2023-04-06 14:38:04 -04:00
Michael Albinus
5ae0c16732 Describe how to run Emba tests locally
* admin/notes/emba: Describe how to run Emba tests locally.

* test/infra/Dockerfile.emba (emacs-eglot):  Adapt software selection.
2023-04-06 16:31:49 +02:00
Robert Pluim
305246d972 Add emoji-zoom-reset
* lisp/international/emoji.el (emoji-zoom-map): Add emoji-zoom-reset.
(emoji-zoom-reset): New function, it resets the zoom level.
* lisp/international/mule-cmds.el (ctl-x-map): Add emoji-zoom-reset.
* etc/NEWS: Announce new command.
2023-04-06 13:36:11 +02:00
Robert Pluim
470d269ec1 Make emoji-zoom-{increase,decrease} set text properties correctly
* lisp/international/emoji.el (emoji-zoom-increase): Ensure that we're
increasing the :height of the anonymous face at point, rather than
having two :height properties, which appeared to work by
accident, and don't error at eob.  (Bug#62675)
2023-04-06 13:36:11 +02:00
Liu Hui
27a21709c1 Restore positions reliably for abbreviated file names in saveplace.el
* lisp/saveplace.el (save-place-abbreviate-file-names): Add setter
function for rewriting `save-place-alist'.  Update docstring.
(save-place-to-alist): Save Abbreviated dired-filename.
(save-place-load-alist-from-file): Move this function above
`save-place-abbreviate-file-names' since it is used in the :set
function.
(save-place-find-file-hook):
(save-place-dired-hook): Use abbreviated file name when
`save-place-abbreviate-file-names' is non-nil.
(Bug#62413)
2023-04-06 13:25:54 +03:00
Wilhelm H Kirschbaum
0563dbf95d Handle electric heredocs pairs in elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el
(elixir-ts--electric-pair-string-delimiter): New helper.
(elixir-ts-mode): Add post-self-insert-hook.  (Bug#62536)
2023-04-06 13:05:39 +03:00
Wilhelm H Kirschbaum
c6bbc20c38 Propertize heredocs in elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el
(elixir-ts--syntax-propertize-query): New variable.
(elixir-ts--syntax-propertize): New helper.
(elixir-ts-mode): Set syntax-propertize-function.  (Bug#62536)
2023-04-06 13:04:54 +03:00
Eli Zaretskii
63d4a86f8d Fix transforming sliced images
* lisp/image.el (image--get-image): Support sliced images
(bug#62679).  Doc fix.
(image-mouse-decrease-size, image-mouse-increase-size)
(image-decrease-size, image-increase-size): Doc fixes.
2023-04-06 12:35:17 +03:00
Alan Mackenzie
e579c9cc33 CC Mode: Miscellaneous coding fixes in c-forward-type
This fixes bug #62339.

* lisp/progmodes/cc-engine.el (c-forward-type): In the implicit int handling,
respect the setting of the parameter stop-at-end.  In the case "normal
identifier", insert a missing (c-forward-syntactic-ws); this fixes the bug.
Here, correct the wrong return value `prefix' to t.
2023-04-06 09:14:56 +00:00
Po Lu
d6ac262746 ; Fix compiler warning
* src/xterm.c (x_term_init): Fix:

"xterm.c", line 30759: warning: improper pointer/integer
combination: op "="
2023-04-06 10:07:25 +08:00
Andrea Corallo
fa669c4b17 Comp: Fix limplification pass (bug#62537)
* test/src/comp-resources/comp-test-funcs.el (comp-test-62537-1-f)
(comp-test-62537-2-f): New functions.

* lisp/emacs-lisp/comp.el (comp-jump-table-optimizable): Make it
stricter add a comment.
2023-04-05 19:12:42 +02:00
Eli Zaretskii
5e1953a8f8 ; * etc/NEWS: Minor copyedits of entry for 'keymap-*' functions. 2023-04-05 16:50:58 +03:00
Alan Mackenzie
a42f4a775b CC Mode: Fix fontification problems shown by test file templates-20.cc
Also fix one problem evident in test file decls-10.cc.

* lisp/progmodes/cc-engine.el (c-brace-stack-at): Bind
c-record-type-identifiers to nil to prevent called functions recording
identifiers spuriously.
(c-forward-<>-arglist-recur): Revert the ill-advised optimization from autumn
2022 which attempted to avoid re-marking c-type text properties inside angle
bracket arglists.
(c-forward-decl-or-cast-1): Accept the semicolon at the end of "t8 * id;" as
sufficient evidence to fontify as a declaration (not a multiplication).

* lisp/progmodes/cc-fonts.el (c-font-lock-c++-using): No longer fontify the
last component of foo::bar with c-reference-face-name.
2023-04-05 13:02:12 +00:00
Eli Zaretskii
6b9f9df945 ; Improve documentation of 'declare-function'
* doc/lispref/functions.texi (Declaring Functions):
* lisp/subr.el (declare-function): Document explicitly that
ARGLIST argument, if provided, should include the parentheses.
2023-04-05 12:31:01 +03:00
Eli Zaretskii
81d1f46d0f ; Avoid compiler warning in eglot.el. 2023-04-05 12:23:54 +03:00
Eli Zaretskii
38cdfcb212 ; Fix description of new 'keymap-*' functions
* doc/lispref/keymaps.texi (Prefix Keys): Fix example (bug#62673).
(Functions for Key Lookup): Clarify the possible values of KEYMAP
argument of 'keymap-lookup'.
(Active Keymaps): Fix typo in function name; add cross-reference.
2023-04-05 11:31:15 +03:00
Wilhelm H Kirschbaum
8678708ad1 Improve sigil fontification for elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el:
(elixir-ts--font-lock-settings): Update sigil queries.
2023-04-04 23:01:21 -07:00
Wilhelm H Kirschbaum
eb0a9e4633 Improve list indentation for elixir-ts-mode
* lisp/progmodes/elixir-ts-mode.el:
(elixir-ts--argument-indent-offset): Add empty line check.
(elixir-ts--argument-indent-anchor): Change ERROR offset.
* test/lisp/progmodes/elixir-ts-mode-resources/indent.erts:
Add test.
2023-04-04 23:01:21 -07:00
Dmitry Gutov
830bf66dad ruby-ts-mode: Add more constructs to treesit-sexp-type-regexp
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Add more
constructs to treesit-sexp-type-regexp (bug#62086).
2023-04-05 03:00:57 +03:00
Michael Albinus
257090b872 Adapt EMBA scripts.
* test/infra/Dockerfile.emba (emacs-gnustep): Add zlib1g-dev.
Remove make instrumentation.

* test/infra/gitlab-ci.yml (build-image-gnustep, test-gnustep): Uncomment.
2023-04-04 20:01:19 +02:00
Michael Albinus
30692f16b1 Improve Tramp robustness
* lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
Check for `tramp-string-empty-or-nil-p'.
2023-04-04 13:37:18 +02:00
Eli Zaretskii
90c07d3fdd Another terminology fix in ELisp reference manual
* doc/lispref/frames.texi (Mouse Tracking):
* doc/lispref/commands.texi (Motion Events, Event Examples):
'track-mouse' is a macro, not a special form.
2023-04-04 14:22:56 +03:00
Shynur
a832bc7090 Correct terminology in Elisp Reference Manual
* doc/lispref/functions.texi (Function Names): 'defun' is a macro, not
a special form.  (Bug#62661)

Copyright-paperwork-exempt: yes
2023-04-04 14:16:23 +03:00
Michael Albinus
db308233cb Comment out GNUSTEP jobs on EMBA (again)
* test/infra/gitlab-ci.yml (build-image-gnustep, test-gnustep):
Comment out jobs due to bug#62210.
2023-04-04 13:00:51 +02:00
Michael Albinus
b3046c6c1f Display unlock-file warning only when file locks are enabled
* lisp/files.el (remote-file-name-inhibit-locks): Fix docstring.

* lisp/userlock.el (userlock--handle-unlock-error):
Display warning only when `create-lockfiles' is non-nil.  (Bug#62614)

* lisp/net/tramp.el (tramp-handle-unlock-file): Raise a warning
only when `create-lockfiles' is non-nil or
`remote-file-name-inhibit-locks' is nil.
2023-04-04 09:43:09 +02:00
Juri Linkov
3b48fdc912 ruby-ts-mode: Recognize more nodes as sexps
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode):
Add "unless" to 'treesit-sexp-type-regexp'.
2023-04-04 09:42:10 +03:00
Dmitry Gutov
bd5c1d1cbb ruby-ts-mode: Recognize more nodes as sexps
* lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Argument
treesit-sexp-type-regexp with interpolation, instance_variable,
global_variable (bug#62086, bug#62416).
2023-04-03 23:39:41 +03:00
Eli Zaretskii
8c1b102243 ; * lisp/image.el (put-image): Doc fix. 2023-04-03 19:32:46 +03:00
Michael Albinus
0275c54ca8 ; Fix last change 2023-04-03 16:00:11 +02:00
Andrew G Cohen
676087e701 ; * lisp/gnus/gnus-sum.el (gnus-summary-move-article): Just setq 2023-04-03 21:53:50 +08:00
Robert Pluim
eda88c63ad ; * doc/emacs/trouble.texi (Checklist): Minor grammar fix. 2023-04-03 14:42:54 +02:00
Michael Albinus
4a1df61946 Fix some `unwind-protect' forms
* lisp/net/tramp-smb.el (tramp-smb-handle-file-acl)
(tramp-smb-handle-set-file-acl): Remove superfluous `unwind-protect'.

* test/lisp/auth-source-tests.el
(auth-source-test-secrets-create-secret): Fix `unwind-protect' handler.

* test/lisp/net/tramp-tests.el (tramp-test38-find-backup-file-name):
Add dummy cleanup form.
2023-04-03 13:18:55 +02:00
Mattias Engdegård
728bc09cf3 Fix regexp string escaping mistake in vhdl-mode.el (bug#62508)
* lisp/progmodes/vhdl-mode.el (vhdl-compiler-alist): Quote brackets
correctly.
2023-04-03 12:57:54 +02:00