Commit graph

165364 commits

Author SHA1 Message Date
Michael Albinus
5a22f5ac9a ; Whitespace cleanup 2023-03-04 10:19:38 +01:00
Michael Albinus
b14cd8380e Merge branch 'master' into feature/tramp-thread-safe 2023-03-04 10:17:25 +01:00
Mattias Engdegård
7f740b87d8 Remove ineffective uses of condition-case
* lisp/gnus/message.el (message-setup-1):
* lisp/progmodes/cc-engine.el (c-forward-single-comment):
* lisp/progmodes/ruby-mode.el (ruby-add-log-current-method):
Eliminate uses of condition-case without handlers.  These seem to have
been there for quite a long time.  This change does not affect the
behaviour of the code and makes some warnings go away.
2023-03-03 11:36:09 +01:00
Stefan Kangas
841614c722 Merge from origin/emacs-29
9e105d483f Fix c-ts-mode indentation for statement after preproc (bu...
a72a55e3e4 Fix c/c++-ts-mode's mode lighter
67befc1f5a Eglot: use shell-file-name in eglot--cmd (bug#61748)
1c7b2673bd Avoid signaling errors in url-basic-auth when password is...
756225e377 Fix wdired-tests on MS-Windows
a137f71c67 Improvements to xwidget on macOS (bug#60703)
3f43a16bc6 ; Avoid byte-compilation warning in c-ts-mode.el
2023-03-03 06:30:12 +01:00
Yuan Fu
9e105d483f
Fix c-ts-mode indentation for statement after preproc (bug#61893)
Originally our c-ts-mode--anchor-prev-sibling only specially handled
labeled_statements, now we add special case for preproc in the similar
fasion: instead of using the preproc directive as anchor, use the last
statement in that preproc as the anchor. Thus effectively ignore the
preproc.

There should be an accompanying test, but there are some problem in
the elif preproc directive indent so it would pass, we'll add the test
when that is fixed.

* lisp/progmodes/c-ts-mode.el:
(c-ts-mode--anchor-prev-sibling): Add special case for preproc
directives.
2023-03-02 19:59:37 -08:00
Eli Zaretskii
a72a55e3e4 Fix c/c++-ts-mode's mode lighter
* lisp/progmodes/c-ts-mode.el (c-ts-mode-set-modeline): Remove
trailing blank from comment-start when indicating the comment
style on the mode line.
2023-03-02 21:34:22 +02:00
Mattias Engdegård
828c49ae29 Fix cond miscompilation bug
This fixes a bug that miscompiled

  (cond ... C S1...Sn)

where S1...Sn are switch clauses (that can be compiled into a switch
op) and C a non-switch clause, by tucking on an extra copy of C at the
end.  This was a serious wrong-code bug when the condition of C had
side-effects; otherwise it was only a waste of time and space.

* lisp/emacs-lisp/bytecomp.el (byte-compile-cond): Fix.
* test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--test-cases):
Add test case.
2023-03-02 15:47:26 +01:00
Mattias Engdegård
a1d90e48bb Small unwind-protect optimisation improvement
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Use the current for-effect mode when optimising the body form,
instead of always optimising it for value.
2023-03-02 15:47:26 +01:00
João Távora
67befc1f5a Eglot: use shell-file-name in eglot--cmd (bug#61748)
* lisp/progmodes/eglot.el (eglot--cmd): Use shell-file-name.
2023-03-02 13:42:15 +00:00
Michael Albinus
8106cb50f5 Tramp cleanup
* lisp/net/tramp.el (tramp-handle-unlock-file): Raise a warning
only when `create-lockfiles'.

* test/lisp/net/tramp-tests.el (tramp-test26-file-name-completion):
Extend test.
2023-03-02 13:54:14 +01:00
Po Lu
3b39873ce2 Fix bootstrap failure
* lisp/man.el (Man-prefer-synchronous-call): Fix version
specification.
2023-03-02 20:45:02 +08:00
Eli Zaretskii
1c7b2673bd Avoid signaling errors in url-basic-auth when password is nil
* lisp/url/url-auth.el (url-basic-auth): Handle nil PASS.
Suggested by Ellis Kenyo <me@elken.dev>.  (Bug#61411)
2023-03-02 14:35:15 +02:00
Eli Zaretskii
756225e377 Fix wdired-tests on MS-Windows
* test/lisp/wdired-tests.el (wdired-test-bug32173-01)
(wdired-test-bug32173-02, wdired-test-unfinished-edit-01)
(wdired-test-bug39280): Run test-dir through file-truename, to
avoid failures due to MS-Windows "numeric tails" (mis)feature and
similar issues, which make file names fail to compare 'equal'.
(wdired-test-bug34915, wdired-test-bug61510): Skip if symlinks
fail.
2023-03-02 14:21:33 +02:00
Augusto Stoffel
11c4177430 Add option to keep some columns in dired-hide-details-mode
* lisp/dired.el (dired-hide-details-preserved-columns): New user
option.
(dired-insert-set-properties): Use it.  (Bug#61785)
2023-03-02 14:02:24 +02:00
Eli Zaretskii
8d5d7509b0 ; Fix last change
* doc/emacs/programs.texi (Man Page): Improve wording.

* lisp/man.el (Man-prefer-synchronous-call): Fix quoting and
spelling.  (Bug#61552)
2023-03-02 13:28:28 +02:00
Sebastian Tennant
cf3c89423f Add new user option Man-prefer-synchronous-call
* lisp/man.el (Man-getpage-in-background): Add new defcustom
Man-prefer-synchronous-call and modify #'Man-getpage-in-background.
Only call #'start-process when 'make-process satisfies #'fboundp AND
Man-prefer-synchronous-call is bound to nil.  (Bug#61552)

Copyright-paperwork-exempt: yes
2023-03-02 13:23:18 +02:00
Andrew De Angelis
a137f71c67 Improvements to xwidget on macOS (bug#60703)
* src/nsxwidget.m ()
([XwWebView initWithFrame:configuration:xwidget:])
(nsxwidget_init):  Fixed memory leaks: when sending an alloc
message to an object, send an autorelease message to any objects
we won't explictly release.
([XwWebView webView:didFinishNavigation:]): Second string to
store in 'store_xwidget_event_string' is "load finished" rather
than empty string.
([XwWebView webView:didStartProvisionalNavigation:])
([XwWebView webView:didReceiveServerRedirectForProvisionalNavigation:])
([XwWebView webView:didCommitNavigation:]): New functions.
(nsxwidget_webkit_estimated_load_progress): New function.
(nsxwidget_webkit_stop_loading): New function.
* src/xwidget.c (Fxwidget_webkit_estimated_load_progress): Call
'nsxwidget_webkit_estimated_load_progress' if we're on MacOS.
(Fxwidget_webkit_stop_loading): Call 'nsxwidget_webkit_stop_loading'
if we're on MacOS.
(syms_of_xwidget): Define symbol for function.
'xwidget_webkit_estimated_load_progress' if we're on MacOS.
* src/nsxwidget.h: Signature for functions
'nsxwidget_webkit_estimated_load_progress' and
'nsxwidget_webkit_stop_loading'.
* lisp/xwidget.el (xwidget-webkit-current-url): Message URL rather
than return value of 'kill-new' (which is always nil).
2023-03-02 12:53:35 +02:00
Philippe Altherr
68f49083af Add support for Zsh's case branches ;|.
* lisp/progmodes/sh-script.el (sh-font-lock-paren)
(sh-smie-sh-grammar, sh-smie-sh-rules, sh-smie-rc-grammar):
Support case branches ending with ";|", per Zsh.  (Bug#60833)

* test/manual/indent/shell.sh (bar): Add ";|".
2023-03-02 12:49:32 +02:00
Philippe Altherr
30e2a85717 Use 'sh-indent-for-continuation' for continued lines in 'sh-script-mode'
* lisp/progmodes/sh-script.el (sh-smie--indent-continuation): Use
'sh-indent-for-continuation' instead of 'sh-basic-offset'.
(Bug#60832)

* test/lisp/progmodes/sh-script-tests.el
(test-indent-after-continuation): New test.
2023-03-02 12:37:58 +02:00
Eli Zaretskii
3f43a16bc6 ; Avoid byte-compilation warning in c-ts-mode.el
* lisp/progmodes/c-ts-mode.el (treesit-node-first-child-for-pos):
Declare.
2023-03-02 09:33:04 +02:00
Stefan Kangas
a798a29f75 Merge from origin/emacs-29
59365f9285 * lisp/progmodes/go-ts-mode.el: Use treesit-language-avai...
56cd810b9d Don’t signal warning when loading go-ts-mode.el without g...
b06d551966 Fix c-ts-mode empty line indentation (bug#61893)
6b2720778d Improve tree-sitter's prev-sibling indent anchor
2023-03-02 06:30:15 +01:00
Stefan Kangas
65e99fb08b ; Merge from origin/emacs-29
The following commits were skipped:

db50545e3e * lisp/icomplete.el (fido-mode): Enable in-buffer complet...
ef72e99e86 * lisp/icomplete.el: Fix in-buffer completion.
2023-03-02 06:30:15 +01:00
Stefan Kangas
c9b0f1df0d Merge from origin/emacs-29
07f3236133 * src/profiler.c (malloc_probe): Make it safe for GC (bug...
1f1d36fa80 * lisp/emacs-lisp/debug-early.el (debug-early-backtrace):...
99df815c15 Revert "Don't disable eldoc when doing edebug"
0a4b1c0102 ; Eglot: improve bug-reference-url-format/bug-reference-u...
40c9fc8e3b Eglot: work around Tramp instability bug#61350
4a6db125b9 Fix treesit-indent-region
7ef9a8210c Replace C++ comments with C style equivalents
2023-03-02 06:30:15 +01:00
Po Lu
a1cb77771a ; * src/haikufont.c (haikufont_open): Remove unused variable. 2023-03-02 03:07:37 +00:00
Yuan Fu
59365f9285
* lisp/progmodes/go-ts-mode.el: Use treesit-language-available-p.
treesit-ready-p does more checks than language grammar availability.
2023-03-01 14:38:22 -08:00
Yuan Fu
56cd810b9d
Don’t signal warning when loading go-ts-mode.el without grammar
* lisp/progmodes/go-ts-mode.el: Add a QUIET flag to the call of
treesit-ready-p, so that it doesn't signal a warning if
go-mod (tree-sitter grammar) is not available.
2023-03-01 14:34:56 -08:00
Yuan Fu
b06d551966
Fix c-ts-mode empty line indentation (bug#61893)
* lisp/progmodes/c-ts-mode.el (c-ts-mode--indent-styles): Make the
"rest sibling" matchers catch the case where NODE is nil, when
indenting an empty line.
* test/lisp/progmodes/c-ts-mode-resources/indent.erts: New test.
2023-03-01 14:07:01 -08:00
Yuan Fu
6b2720778d
Improve tree-sitter's prev-sibling indent anchor
Now it handles the case where NODE is nil when indenting an empty
line: it tries to get the previous sibling nonetheless.

* lisp/progmodes/c-ts-mode.el (c-ts-mode--anchor-prev-sibling):
* lisp/treesit.el (treesit-simple-indent-presets): Add an or form to
handle more cases.
2023-03-01 14:07:01 -08:00
João Távora
db50545e3e * lisp/icomplete.el (fido-mode): Enable in-buffer completion (bug#45763).
Backport:
(cherry picked from commit b5c1303253)
2023-03-01 19:54:59 +02:00
Juri Linkov
ef72e99e86 * lisp/icomplete.el: Fix in-buffer completion.
(icomplete-force-complete-and-exit, icomplete-force-complete): Use
'icomplete--field-beg/end' when not in the minibuffer to not erase
the current buffer.  Also disable 'completion-in-region-mode' instead
of calling 'exit-minibuffer' (bug#45764, bug#51575, bug#61479).

Backport:
(cherry picked from commit a7a984c0eb)
2023-03-01 19:52:35 +02:00
Stefan Monnier
07f3236133 * src/profiler.c (malloc_probe): Make it safe for GC (bug#60237) 2023-03-01 12:36:58 -05:00
Stefan Monnier
1f1d36fa80 * lisp/emacs-lisp/debug-early.el (debug-early-backtrace): Fix bug#61847
The `noerror` arg of `require` doesn't do what Stefan naively thought
when he wrote this code, so use `condition-case` instead.
Also check for `cl-defmethod` since `cl-prin1` can't be loaded before
that anyway.
2023-03-01 12:31:09 -05:00
Michael Albinus
4b99015e15 Make Tramp file name completion more quiet
* lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions):
Don't print status message.
(tramp-sh-handle-file-name-all-completions): Return nil when check
fails.  (Bug#61890)

* test/lisp/net/tramp-tests.el
(tramp-test26-file-name-completion-with-perl):
(tramp-test26-file-name-completion-with-ls): New tests.
2023-03-01 17:07:59 +01:00
Eli Zaretskii
99df815c15 Revert "Don't disable eldoc when doing edebug"
This reverts commit 6fd1fb8a68.
It turns out ElDoc does show messages inside Edebug, if you
are (un)lucky enough to have point where ElDoc has something
to show.  Bug#56459 needs to be fixed in some more complex
way.
2023-03-01 17:35:51 +02:00
João Távora
0a4b1c0102 ; Eglot: improve bug-reference-url-format/bug-reference-url-regexp
* lisp/progmodes/eglot.el (eglot--debbugs-or-github-bug-uri): New helper.
2023-03-01 13:27:06 +00:00
Mattias Engdegård
42f4691388 Simplify effect-free code elimination
* lisp/emacs-lisp/byte-opt.el (byte-optimize-form-code-walker):
Simplify overly defensive code.  This does not affect code generation.
2023-03-01 13:37:06 +01:00
João Távora
40c9fc8e3b Eglot: work around Tramp instability bug#61350
Unconditionally disable ControlMaster for the Eglot's Tramp
connection.

* lisp/progmodes/eglot.el (tramp-ssh-controlmaster-options)
(use-tramp-ssh-controlmaster-options): Forward declare
(eglot--connect): Set variables to unconditionally disable ControlMaster.
2023-03-01 11:13:24 +00:00
Yuan Fu
4a6db125b9
Fix treesit-indent-region
Fix it for the case where there is no suitable rule for the line.
Right now treesit-indent-region would indent the line to column 0.
After the change the indentation is not altered.

* lisp/treesit.el (treesit-indent-region): Handle the case where
ANCHOR or OFFSET is nil specially.
2023-03-01 00:55:51 -08:00
Po Lu
7ef9a8210c Replace C++ comments with C style equivalents
* src/alloc.c (Fmake_byte_code, purecopy):
* src/bytecode.c (exec_byte_code):
* src/xdisp.c (face_at_pos): Do not use C++-style comments!
2023-03-01 14:29:24 +08:00
Stefan Kangas
522b82118d ; Merge from origin/emacs-29
The following commit was skipped:

ec1dea7b43 ; Auto-commit of loaddefs files.
2023-03-01 06:30:20 +01:00
Stefan Kangas
4a5335158d Merge from origin/emacs-29
97a83ff31f Eglot: fix M-x eglot-show-workspace-configuration (bug#61...
48a0804d10 ruby-mode: Fix method call indentation in rhs of multiple...
16d012cf3b * lisp/net/tramp.el (tramp-remote-path): Improve docstring.
b371697cdc Minor change in 'dired--find-possibly-alternative-file'
c2b5c6acc5 Implement prefix arg for 'c-ts-mode-toggle-comment-style'
eb2ab52fb0 Defaults to zero for image-dired--number-of-thumbnails
5dc163f592 ; Add a doc string for 'ediff-window-display-p' obsolescence
2023-03-01 06:30:20 +01:00
Stefan Kangas
5b037331f6 Update SKK-JISYO.L from upstream
* leim/SKK-DIC/SKK-JISYO.L: Update from
https://raw.githubusercontent.com/skk-dev/dict/master/SKK-JISYO.L
2023-03-01 06:00:53 +01:00
Stefan Kangas
8ca5cb2564 Update publicsuffix.txt from upstream
* etc/publicsuffix.txt: Update from
https://publicsuffix.org/list/public_suffix_list.dat
dated 2023-02-28 02:16:27 UTC.
2023-03-01 06:00:51 +01:00
Stefan Kangas
93461e100c ; Auto-commit of loaddefs files. 2023-03-01 05:08:22 +01:00
Stefan Kangas
ec1dea7b43 ; Auto-commit of loaddefs files. 2023-03-01 05:07:53 +01:00
João Távora
97a83ff31f Eglot: fix M-x eglot-show-workspace-configuration (bug#61866)
Now consult .dir-locals.el every time the workspace configuration is
needed:

- workspace/configuration server request
- workspace/didChangeConfiguration signal
- M-x eglot-show-workspace-configuration

The major-mode/hack-dir-local-variables-non-file-buffer trick is used.
When there is more than one, the server connection's "main" major mode
is used to find the relevant .dir-locals.el section.

* lisp/progmodes/eglot.el (eglot--lookup-mode): Fix docstring.
(eglot--connect): Simplify.
(eglot-show-workspace-configuration): Fix.
(eglot--workspace-configuration): Remove.
(eglot--workspace-configuration-plist): Rework.
(eglot-handle-request): Simplify.
2023-03-01 01:22:40 +00:00
Dmitry Gutov
48a0804d10 ruby-mode: Fix method call indentation in rhs of multiple assignment
* lisp/progmodes/ruby-mode.el (ruby-smie-rules): Special-case
assignment that follows a comma-separated list (bug#61871).

* test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add case.
2023-02-28 23:01:04 +02:00
Mattias Engdegård
68cc286c04 Fix some useless condition-case forms
* lisp/progmodes/cperl-mode.el (cperl-calculate-indent):
* lisp/progmodes/verilog-mode.el (verilog--suppressed-warnings):
Add error handler, seemingly the intention here.
* lisp/url/url-gw.el (url-open-stream): Remove condition-case;
it was neutered in 2006.
2023-02-28 17:12:54 +01:00
Michael Albinus
16d012cf3b * lisp/net/tramp.el (tramp-remote-path): Improve docstring. 2023-02-28 16:42:11 +01:00
Michael Albinus
316ba78a73 Improve warning in tramp-handle-unlock-file
* lisp/net/tramp.el (tramp-connectable-p): Simplify.
(tramp-handle-unlock-file): Improve warning.
2023-02-28 15:33:52 +01:00