summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Don't modify interactive closures destructively (Bug#60974).fix/bug-60974Vibhav Pant2023-03-012-10/+39
| | | | | | | | | | * lisp/emacs-lisp/cconv.el (cconv-convert): When form is an interactive lambda form, don't destructively modify it, as it might be a constant literal. Instead, create a new list with the relevant place(s) changed. * test/lisp/emacs-lisp/cconv-tests.el (cconv-tests-interactive-form-modify-bug60974): New test.
* ; Merge from origin/emacs-29Stefan Kangas2023-03-010-0/+0
|\ | | | | | | | | | | The following commit was skipped: ec1dea7b43f ; Auto-commit of loaddefs files.
| * ; Auto-commit of loaddefs files.Stefan Kangas2023-03-011-15/+31
| |
* | Merge from origin/emacs-29Stefan Kangas2023-03-018-53/+67
|\ \ | |/ | | | | | | | | | | | | | | | | 97a83ff31fa Eglot: fix M-x eglot-show-workspace-configuration (bug#61... 48a0804d10d ruby-mode: Fix method call indentation in rhs of multiple... 16d012cf3bd * lisp/net/tramp.el (tramp-remote-path): Improve docstring. b371697cdca Minor change in 'dired--find-possibly-alternative-file' c2b5c6acc58 Implement prefix arg for 'c-ts-mode-toggle-comment-style' eb2ab52fb01 Defaults to zero for image-dired--number-of-thumbnails 5dc163f592a ; Add a doc string for 'ediff-window-display-p' obsolescence
| * Eglot: fix M-x eglot-show-workspace-configuration (bug#61866)João Távora2023-03-011-35/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * ruby-mode: Fix method call indentation in rhs of multiple assignmentDmitry Gutov2023-02-282-5/+13
| | | | | | | | | | | | | | * 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.
| * * lisp/net/tramp.el (tramp-remote-path): Improve docstring.Michael Albinus2023-02-281-1/+3
| |
| * Minor change in 'dired--find-possibly-alternative-file'Felix2023-02-281-1/+2
| | | | | | | | | | | | | | * lisp/dired.el (dired--find-possibly-alternative-file): Don't kill the buffer if the directory is shown in other windows. Copyright-paperwork-exempt: yes
| * Implement prefix arg for 'c-ts-mode-toggle-comment-style'Felix2023-02-281-9/+13
| | | | | | | | | | | | | | | | * lisp/progmodes/c-ts-mode.el (c-ts-mode-toggle-comment-style): Actually implement the optional numeric arg mentioned in the docstring. Copyright-paperwork-exempt: yes
| * Defaults to zero for image-dired--number-of-thumbnailsManuel Giraud2023-02-281-1/+1
| | | | | | | | | | * lisp/image/image-dired.el (image-dired--number-of-thumbnails): Defaults zero to avoid wrong type argument error. (Bug#61734)
| * ; Add a doc string for 'ediff-window-display-p' obsolescenceEli Zaretskii2023-02-281-1/+4
| | | | | | | | | | | | * lisp/vc/ediff-init.el (ediff-window-display-p): Document how to prevent Ediff from creating additional frames, now that this function can no longer be used or advised for that. (Bug#61850)
* | Update SKK-JISYO.L from upstreamStefan Kangas2023-03-011-2/+2
| | | | | | | | | | * leim/SKK-DIC/SKK-JISYO.L: Update from https://raw.githubusercontent.com/skk-dev/dict/master/SKK-JISYO.L
* | Update publicsuffix.txt from upstreamStefan Kangas2023-03-011-15/+134
| | | | | | | | | | | | * etc/publicsuffix.txt: Update from https://publicsuffix.org/list/public_suffix_list.dat dated 2023-02-28 02:16:27 UTC.
* | ; Auto-commit of loaddefs files.Stefan Kangas2023-03-011-23/+53
| |
* | Fix some useless condition-case formsMattias Engdegård2023-02-283-32/+33
| | | | | | | | | | | | | | | | * 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.
* | Improve warning in tramp-handle-unlock-fileMichael Albinus2023-02-281-12/+13
| | | | | | | | | | * lisp/net/tramp.el (tramp-connectable-p): Simplify. (tramp-handle-unlock-file): Improve warning.
* | Merge from origin/emacs-29Stefan Kangas2023-02-2823-172/+270
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 613de662811 Rename the newly added -ref- faces to -use- f601e9666d8 Eglot: support multiple labels in same inlay hint 4a5eda7ed2a Eglot: don't paint hints outside requested region (bug#61... 11c1aa1eb12 ; * doc/misc/gnus.texi: Fix last change. 44949c292f9 ; Add `nnimap-user' to Gnus manual 6c7078c66f4 ; * lisp/progmodes/c-ts-mode.el (treesit-node-prev-siblin... 3d0a6c9baa6 Eglot: protect against unintended field text motion (bug#... 647e40f4a0c ; And yet another fix to eglot-current-linepos-function's... 9d0f856a167 Fix description of 'desktop-save-mode' aee10ca1cbe Adjust tree-sitter defun navigation (bug#61617) edf5b976869 Simplify c-ts-mode--top-level-label-matcher 0f15286c539 New tree-sitter indent anchor standalone-parent used by c... # Conflicts: # etc/NEWS
| * Rename the newly added -ref- faces to -use-Dmitry Gutov2023-02-2818-76/+76
| | | | | | | | | | | | * lisp/font-lock.el (font-lock-variable-use-face) (font-lock-property-use-face): Rename from font-lock-variable-ref-face and font-lock-property-ref-face. Update all references (bug#61655).
| * Eglot: support multiple labels in same inlay hintJoão Távora2023-02-271-15/+25
| | | | | | | | | | | | | | | | | | Mainly the rust-analyzer LSP server uses this. There are still more things we could support, like tooltips and stuff. * lisp/progmodes/eglot.el (lsp-interface-alist): Add InlayHintLabelPart. (eglot--update-hints-1): Support multiple labels for same hint.
| * Eglot: don't paint hints outside requested region (bug#61812)João Távora2023-02-271-1/+2
| | | | | | | | | | | | * lisp/progmodes/eglot.el (eglot--lambda): Add cl-block. (eglot--update-hints-1): Return early if hint is outside the requested inlay hint range.
| * ; * doc/misc/gnus.texi: Fix last change.Eli Zaretskii2023-02-271-11/+11
| |
| * ; Add `nnimap-user' to Gnus manualArash Esbati2023-02-271-0/+17
| | | | | | | | | | | | | | * doc/misc/gnus.texi (Customizing the IMAP Connection): Document backend variable `nnimap-user' which was introduced with commit 5e68f8614f in 2011. Add index entries for all backend variables. (bug#61837)
| * ; * lisp/progmodes/c-ts-mode.el (treesit-node-prev-sibling): Declare.Eli Zaretskii2023-02-271-0/+1
| |
| * Eglot: protect against unintended field text motion (bug#61726)João Távora2023-02-271-12/+16
| | | | | | | | | | | | | | | | | | | | | | Suggested-by: Augusto Stoffel <arstoffel@gmail.com> * lisp/progmodes/eglot.el (eglot--bol): New helper. (eglot-utf-8-linepos, eglot-utf-16-linepos) (eglot-utf-32-linepos, eglot-move-to-utf-8-linepos) (eglot-move-to-utf-16-linepos, eglot-move-to-utf-32-linepos) (eglot-handle-notification, eglot--xref-make-match) (eglot-completion-at-point): Use it.
| * ; And yet another fix to eglot-current-linepos-function's docstringJoão Távora2023-02-271-5/+9
| | | | | | | | | | | | | | bug#61726 * lisp/progmodes/eglot.el (eglot-current-linepos-function): Another fix.
| * Fix description of 'desktop-save-mode'Eli Zaretskii2023-02-271-4/+6
| | | | | | | | | | * doc/emacs/misc.texi (Saving Emacs Sessions): Adjust to changes in 'desktop-path'. Reported by Petteri Hintsanen <petterih@iki.fi>.
| * Adjust tree-sitter defun navigation (bug#61617)Yuan Fu2023-02-272-37/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, when you use a tree-sitter navigation function to move to the next beginning of a thing, it jumps over the immediate next thing and lands you at the beginning of the next-next thing. Eg, when point is at the "|", and we evaluate (treesit--navigate-thing pos 1 'beg), we go from | (thing) (thing) to (thing) |(thing) But some might expect point to go to |(thing) (thing) instead, which makes sense. Also, that's how Emacs expect defun navigation functions to work. The discrepancy in expectation causes bug#61617. In this change I made tree-sitter navigation functions to work as what Emacs expects. And what I described for moving to the next beginning of thing is similarly applicable to moving to the end of previous end of thing. * lisp/treesit.el (treesit-beginning-of-defun) (treesit-end-of-defun): Handle the case where defun-skipper moves point back to where we started, by adding a retry. (treesit--navigate-thing): Add a single condition checking for progress to the condition form responsible for checking whether to skip the next defun. Namely (eq pos (funcall advance next)))). * test/src/treesit-tests.el: (treesit--ert-defun-navigation-nested-master) (treesit--ert-defun-navigation-top-level-master): Change tests to reflect the new expectation.
| * Simplify c-ts-mode--top-level-label-matcherYuan Fu2023-02-261-9/+6
| | | | | | | | | | | | * lisp/progmodes/c-ts-mode.el: (c-ts-mode--top-level-label-matcher): Make more assumptions and remove the loop, so it's faster in large files.
| * New tree-sitter indent anchor standalone-parent used by c-ts-modeYuan Fu2023-02-263-13/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When writing c-ts-mode Theo used parent-bol which works well except one case: 1 for (int i=0; 2 i < 5; 3 i++) { 4 func(i); 5 } In this case, when indenting "func(i)", parent-bol returns the start of "i++" on line 3, instead of the "correct" anchor, the start of "for" on line 1. parent-bol would have worked if the "for (...) {" part is in one line. To support this case I tried numerous things and added a bunch of stuff, culminating in c-ts-common-statement-offset. It's complicated, requires extra setup, and slow. Not anymore! I think the new anchor standalone-parent really captures the logic behind how people expect indentation to work. It's simple and fast, and requires no setup. * doc/lispref/modes.texi (Parser-based Indentation): Update manual. * lisp/progmodes/c-ts-mode.el: (c-ts-mode--standalone-grandparent): New anchor. (c-ts-mode--indent-styles): Replace c-ts-common-statement-offset with standalone-parent. (c-ts-base-mode): Add comment. * lisp/treesit.el: (treesit-simple-indent-presets): New anchor standalone-parent.
* | New user option 'grep-use-headings'Augusto Stoffel2023-02-273-0/+89
| | | | | | | | | | | | | | | | | | * lisp/progmodes/grep.el (grep-heading-regexp): New user option. (grep-heading): New face (bug#59888). (grep--heading-format, grep--heading-state, grep--heading-filter): Filter function for grep processes and supporting variables. (grep-use-headings): New user option. (grep-mode): Use the above, if applicable.
* | Introduce 'compilation-annotation' text propertyAugusto Stoffel2023-02-271-14/+21
| | | | | | | | | | | | | | | | | | | | | | It is meant to mark parts of compilation buffers which do not correspond to process output (bug#59888). * lisp/progmodes/compile.el (compilation-insert-annotation): New function. (compilation-start, compilation-handle-exit): Use it. (compilation--ensure-parse) Rely on 'compilation-annotation' property instead of 'compilation-header-end'.
* | * lisp/icomplete.el (fido-mode): Enable in-buffer completion (bug#45763).João Távora2023-02-271-0/+3
| |
* | * lisp/icomplete.el: Fix in-buffer completion.Juri Linkov2023-02-271-3/+17
| | | | | | | | | | | | | | (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).
* | Adjust some `pure` and `side-effect-free` function declarationsMattias Engdegård2023-02-272-4/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns): Add `format-message` and `substring-no-properties`. * lisp/subr.el (number-sequence, copy-tree, looking-at-p) (string-match-p, string-trim-right, string-lines): Declare side-effect-free. (syntax-class, version-list-<, version-list-=, version-list-<=) (version-list-not-zero): Declare pure and side-effect-free. (ensure-list): Declare side-effect-free and error-free. (string-equal-ignore-case): Remove `pure` declaration. We may want it to be pure but right now it's not.
* | Warn about `condition-case` without handlersMattias Engdegård2023-02-273-8/+34
| | | | | | | | | | | | | | | | | | | | Omitting handlers from a `condition-case` form makes it useless since no errors are caught. * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): New warning. * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-test--with-suppressed-warnings): Add test case. * etc/NEWS: Announce.
* | * lisp/calc/calc.el (calcDigit-backspace): Hush warning.Mattias Engdegård2023-02-271-1/+2
| |
* | Improve delete-consecutive-dups doc precision and add testMattias Engdegård2023-02-272-1/+37
| | | | | | | | | | | | | | | | * lisp/subr.el (delete-consecutive-dups): Document which element of each run is retained (the earliest in the list). This matters because it makes it safe to ignore the return value. * test/lisp/subr-tests.el (subr--delete-dups) (subr--delete-consecutive-dups): Add tests.
* | Merge from origin/emacs-29Stefan Kangas2023-02-2710-86/+153
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | 267fc6d00c4 ruby-smie-rules: Fix misindentation of a method call afte... 0fde314f6f6 * lib-src/etags.c (process_file_name): Free malloc'ed var... dde9d149af3 ; Improve documentation of loading *.eln files 7c552be89da ; Another doc fix in eglot.el 75c65fcc98e ; Fix last change a3d15c1f749 ; Fix last change ca79b138d42 Eglot: rename and redocument encoding-related functions (... 3e3e6d71be7 Eglot: support positionEncoding LSP capability (bug#61726) b0e87e930e8 Eglot: use faster strategy for moving to LSP positions (b... 5b174b96834 Fix mule-tests in UTF-8 locales 5256392a7ec Fix 'vertical-motion' when display strings are around 0db88d625a7 ; * src/treesit.c (treesit_predicate_match): Fix typo.
| * ruby-smie-rules: Fix misindentation of a method call after assignmentDmitry Gutov2023-02-272-1/+7
| | | | | | | | | | | | | | | | | | * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Fix indentation of a method call after assignment with ruby-after-operator-indent=nil (bug#61822). * test/lisp/progmodes/ruby-mode-resources/ruby-after-operator-indent.rb: Add corresponding example.
| * * lib-src/etags.c (process_file_name): Free malloc'ed vars (bug#61819).Eli Zaretskii2023-02-261-0/+2
| |
| * ; Improve documentation of loading *.eln filesEli Zaretskii2023-02-262-23/+39
| | | | | | | | | | | | * doc/lispref/loading.texi (How Programs Do Loading): * doc/emacs/building.texi (Lisp Libraries): Some additional details about what happens with natively-compiled files.
| * ; Another doc fix in eglot.elEli Zaretskii2023-02-261-5/+6
| | | | | | | | | | * lisp/progmodes/eglot.el (eglot-current-linepos-function): Another doc fix.
| * ; Fix last changeJoão Távora2023-02-261-1/+1
| | | | | | | | | | | | bug#61726 * lisp/progmodes/eglot.el (eglot-current-linepos-function): Fix docstring.
| * ; Fix last changeEli Zaretskii2023-02-261-8/+8
| | | | | | | | | | | | | | | | * lisp/progmodes/eglot.el (eglot-current-linepos-function) (eglot-utf-8-linepos, eglot-utf-16-linepos) (eglot-utf-32-linepos, eglot-move-to-linepos-function) (eglot-move-to-utf-8-linepos, eglot-move-to-utf-32-linepos): Doc fixes. (Bug#61726)
| * Eglot: rename and redocument encoding-related functions (bug#61726)João Távora2023-02-262-65/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lisp/progmodes/eglot.el (eglot-current-column): Obsolete. (eglot-lsp-abiding-column): Obsolete. (eglot-current-column-function): Obsolete. (eglot-current-linepos-function): Rename from eglot-current-column-function. (eglot-utf-8-linepos): Rename from eglot-bytewise-column. (eglot-utf-16-linepos): Rename from eglot-lsp-abiding-column. (eglot-utf-32-linepos): Rename from eglot-current-column. (eglot-move-to-current-column): Obsolete. (eglot-move-to-lsp-abiding-column): Obsolete. (eglot-move-to-column-function): Obsolete. (eglot-move-to-linepos-function): Rename from eglot-move-to-column-function. (eglot-move-to-utf-8-linepos): Rename from eglot-move-to-bytewise-column. (eglot-move-to-utf-16-linepos): Rename from eglot-move-to-lsp-abiding-column. (eglot-move-to-utf-32-linepos): Rename from eglot-move-to-current-column. (eglot--managed-mode): Adjust. (eglot-client-capabilities): Trim whitespace. * test/lisp/progmodes/eglot-tests.el (eglot-test-lsp-abiding-column) (eglot-test-lsp-abiding-column-1): Use new function/variable names.
| * Eglot: support positionEncoding LSP capability (bug#61726)Augusto Stoffel2023-02-261-0/+28
| | | | | | | | | | | | | | | | * lisp/progmodes/eglot.el(eglot-client-capabilities): Announce the new capability. (eglot-bytewise-column, eglot-move-to-bytewise-column): New functions. (eglot--managed-mode): Set 'eglot-current-column-function' and 'eglot-move-to-bytewise-column' appropriately.
| * Eglot: use faster strategy for moving to LSP positions (bug#61726)Eli Zaretskii2023-02-261-13/+10
| | | | | | | | | | | | | | | | Turns out we don't need encode-coding-region after all. * lisp/progmodes/eglot.el (eglot-move-to-lsp-abiding-column): Rewrite. Co-authored-by: Augusto Stoffel <arstoffel@gmail.com>
| * Fix mule-tests in UTF-8 localesEli Zaretskii2023-02-261-3/+4
| | | | | | | | | | * test/lisp/international/mule-tests.el (sgml-html-meta-no-post-less-than-10lines): Fix test condition.
| * Fix 'vertical-motion' when display strings are aroundEli Zaretskii2023-02-261-1/+1
| | | | | | | | | | * src/indent.c (Fvertical_motion): Correct bidi-related condition for character position, when we didn't move vertically. (Bug#61636)
| * ; * src/treesit.c (treesit_predicate_match): Fix typo.Yuan Fu2023-02-261-1/+1
| |