aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ChangeLogscratch/allocPo Lu2023-04-062-0/+102
|
* * No log message *Po Lu2023-04-0610-81/+2838
|
* ; Fix compiler warningPo Lu2023-04-061-1/+1
| | | | | | | * src/xterm.c (x_term_init): Fix: "xterm.c", line 30759: warning: improper pointer/integer combination: op "="
* Comp: Fix limplification pass (bug#62537)Andrea Corallo2023-04-052-1/+21
| | | | | | | | * 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.
* CC Mode: Fix fontification problems shown by test file templates-20.ccAlan Mackenzie2023-04-052-16/+12
| | | | | | | | | | | | | | | | 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.
* Improve sigil fontification for elixir-ts-modeWilhelm H Kirschbaum2023-04-041-6/+3
| | | | | * lisp/progmodes/elixir-ts-mode.el: (elixir-ts--font-lock-settings): Update sigil queries.
* Improve list indentation for elixir-ts-modeWilhelm H Kirschbaum2023-04-042-3/+27
| | | | | | | | * 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.
* ruby-ts-mode: Add more constructs to treesit-sexp-type-regexpDmitry Gutov2023-04-051-1/+5
| | | | | * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Add more constructs to treesit-sexp-type-regexp (bug#62086).
* Improve Tramp robustnessMichael Albinus2023-04-042-2/+2
| | | | | * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell): Check for `tramp-string-empty-or-nil-p'.
* Display unlock-file warning only when file locks are enabledMichael Albinus2023-04-043-11/+14
| | | | | | | | | | | * 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.
* ruby-ts-mode: Recognize more nodes as sexpsJuri Linkov2023-04-041-0/+1
| | | | | * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Add "unless" to 'treesit-sexp-type-regexp'.
* ruby-ts-mode: Recognize more nodes as sexpsDmitry Gutov2023-04-031-0/+3
| | | | | | * lisp/progmodes/ruby-ts-mode.el (ruby-ts-mode): Argument treesit-sexp-type-regexp with interpolation, instance_variable, global_variable (bug#62086, bug#62416).
* ; Fix last changeMichael Albinus2023-04-031-2/+2
|
* ; * lisp/gnus/gnus-sum.el (gnus-summary-move-article): Just setqAndrew G Cohen2023-04-031-1/+1
|
* Fix some `unwind-protect' formsMichael Albinus2023-04-033-72/+74
| | | | | | | | | | | * 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.
* Improve portability of newly added iconsPo Lu2023-04-0322-1/+7
| | | | | * etc/images/symbols/README: Document what to do with changed icons. * etc/images/symbols: Add portable variants of SVG icons.
* Modify chevron icons and add some moreYuan Fu2023-04-038-2/+20
| | | | | | | | | | | | * etc/images/symbols/chevron_left_16.svg: * etc/images/symbols/chevron_right_16.svg: Make them shorter so that they appear roughly the same size as up and down chevrons. * etc/images/symbols/cross_circle_fill_16.svg: * etc/images/symbols/heart_16.svg: * etc/images/symbols/heart_fill_16.svg: * etc/images/symbols/heart_half_16.svg: * etc/images/symbols/minus_circle_fill_16.svg: * etc/images/symbols/plus_circle_fill_16.svg: New icons.
* Eglot: Bump to 1.14João Távora2023-04-032-3/+3
| | | | | | | * lisp/progmodes/eglot.el (Version): Bump to 1.14 (Package-Requires): Require ElDoc 1.14.0 * etc/EGLOT-NEWS: Update.
* Merge from origin/emacs-29João Távora2023-04-0316-62/+126
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3bdbb66efb9 ; CONTRIBUTE: Minor stylistic changes. d0eb12e8d3c Fix typo in section 14.1 of Emacs Manual b2fbec37f39 ; * etc/EGLOT-NEWS: Clarify scope of topmost section 131ec049db0 Eglot: unbreak eglot-extend-to-xref on w32 0622e1f29f6 Eglot: ensure server shutdown turns off eglot-inlay-hints... 59f66ea3027 ; * lisp/emacs-lisp/package-vc.el: Remove completed item ... d23dc3dd7e3 ; * lisp/emacs-lisp/package-vc.el (package-vc): Fix manua... 4508a024e81 ; Clarify documentation of 'cursor' text property d2e82817a3f Add two typescript-ts-mode faces (bug#62429) 10918fc9d24 Fix scrolling window when point moves up 9b32bc134c4 Improve documentation of 'defcustom's :set keyword ab4273056e0 Comp fix calls to redefined primtives with op-bytecode (b... c98929c7e18 ; Fix last change a14c3f62a67 ; Fix last change 09fece5722f Fix duplicate defcustom in eww.el e45bd10a3d9 Fix indentation regression in 'C-h l' 46fd10a7600 * doc/misc/tramp.texi (Remote shell setup): Clarify use o...
| * ; CONTRIBUTE: Minor stylistic changes.Eli Zaretskii2023-03-311-5/+5
| |
| * Fix typo in section 14.1 of Emacs ManualShynur2023-03-311-1/+1
| | | | | | | | | | | | * doc/emacs/display.texi (Scrolling): Fix typo. (Bug#62569) Copyright-paperwork-exempt: yes
| * ; * etc/EGLOT-NEWS: Clarify scope of topmost sectionJoão Távora2023-03-301-1/+1
| |
| * Eglot: unbreak eglot-extend-to-xref on w32João Távora2023-03-301-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because of a drive-letter casing mismatch between 'buffer-file-name' and the return value of 'url-generic-parse-url', the hash-table test 'equal' in 'eglot-current-server' failed. This failed to recognize that the file xref landed us on really is managed by the language server that facilitated that jump. The function w32-long-file-name seems to convert "C:/Users/" to "c:/Users" consistently and so is a good addition to eglot--uri-to-path. * lisp/progmodes/eglot.el (eglot--uri-to-path): Use w32-long-file-name.
| * Eglot: ensure server shutdown turns off eglot-inlay-hints-modeJoão Távora2023-03-301-0/+1
| | | | | | | | | | * lisp/progmodes/eglot.el (eglot--managed-mode-off): Turn off eglot-inlay-hints-mode.
| * ; * lisp/emacs-lisp/package-vc.el: Remove completed item from TODOPhilip Kaludercic2023-03-301-3/+0
| |
| * ; * lisp/emacs-lisp/package-vc.el (package-vc): Fix manual referencePhilip Kaludercic2023-03-301-1/+1
| |
| * ; Clarify documentation of 'cursor' text propertyEli Zaretskii2023-03-301-12/+13
| | | | | | | | | | | | * doc/lispref/text.texi (Special Properties): Clarify that 'cursor' property is only considered when the overlay hides buffer text on display. (Bug#62540)
| * Add two typescript-ts-mode faces (bug#62429)Yuan Fu2023-03-301-5/+20
| | | | | | | | | | | | | | | | * lisp/progmodes/typescript-ts-mode.el: (typescript-ts-mode-jsx-tag-face) (typescript-ts-mode-jsx-attribute-face): New faces. (typescript-ts-mode--font-lock-settings): Use new faces. (tsx-ts-mode): Mention the new faces in the docstring.
| * Fix scrolling window when point moves upShynur2023-03-301-2/+3
| | | | | | | | | | | | | | | | | | | | This fixes the case when both 'scroll-conservatively' and 'scroll-step' are customized to non-default values. * src/xdisp.c (try_scrolling): Fix precedence between 'scroll-step' and 'scroll-conservatively' when scrolling with 'previous-line'. (Bug#62530) Copyright-paperwork-exempt: yes
| * Improve documentation of 'defcustom's :set keywordEli Zaretskii2023-03-302-2/+11
| | | | | | | | | | | | * lisp/custom.el (defcustom): * doc/lispref/customize.texi (Variable Definitions): Improve the documentation of the :set keyword in 'defcustom'.
| * Comp fix calls to redefined primtives with op-bytecode (bug#61917)Andrea Corallo2023-03-294-19/+54
| | | | | | | | | | | | | | | | * test/src/comp-tests.el (61917-1): New test. * src/comp.c (syms_of_comp): New variable. * lisp/loadup.el: Store primitive arities before dumping. * lisp/emacs-lisp/comp.el (comp--func-arity): New function. (comp-emit-set-call-subr): Make use of `comp--func-arity'.
| * ; Fix last changeEli Zaretskii2023-03-291-1/+1
| |
| * ; Fix last changeEli Zaretskii2023-03-291-1/+1
| |
| * Fix duplicate defcustom in eww.elEli Zaretskii2023-03-291-4/+5
| | | | | | | | | | | | * lisp/net/eww.el (eww-default-download-directory): Renamed back from 'eww-download-directory'; all users changed. Doc fix. (Bug#62531)
| * Fix indentation regression in 'C-h l'Eli Zaretskii2023-03-291-0/+4
| | | | | | | | | | * lisp/help.el (view-lossage): Fix indentation of commands when the key sequence includes a semicolon. (Bug#62453)
| * * doc/misc/tramp.texi (Remote shell setup): Clarify use of ssh RemoteCommand.Michael Albinus2023-03-291-5/+6
| |
* | ; * etc/EGLOT-NEWS (Upcoming 1.14): Update.João Távora2023-04-031-0/+26
| |
* | Eldoc: bump package version to 1.14.0João Távora2023-04-021-1/+1
| | | | | | | | * lisp/emacs-lisp/eldoc.el (Version): Bump to 1.14.0
* | ; Eldoc: fix doc of e-d-functions w.r.t. :origin keywordJoão Távora2023-04-021-5/+5
| | | | | | | | * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): Fix.
* | ; Eglot: removed unused dependency on 'array.el'João Távora2023-04-021-1/+0
| | | | | | | | * lisp/progmodes/eglot.el (array): Don't require
* | Eglot: load built-in GNU ELPA dependencies explicitlyJoão Távora2023-04-021-18/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because of outstanding bug#62576, it's way to easy for users to get confused by the M-x package-install process for Eglot. Whenever an Eglot release depends on a new version of a GNU ELPA :core package which is _also_ provided built-in, M-x package-install will install that dependency, but will not always load it on top of the built-in one. The solution is to not use "require" for now. This may potentially lead to double "loads", but that should in principle be idempotent. * lisp/progmodes/eglot.el (project, eldoc, seq, flymake, xref, jsonrpc) (external-completion): Load, don't require.
* | Eglot: improve caching in eglot-completion-at-pointJoão Távora2023-04-022-48/+95
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When answering the :textDocument/completion request, LSP servers provide a :isIncomplete flag in the response, which allows Eglot to know if "further typing should result in recomputing [the completions] list. If :isIncomplete is false (i.e. the full set was returned), Eglot caches the response in a global variable eglot--capf-cache that persists for the duration of the "completion session", taken to be the interval between two calls to completion-in-region-mode. If the cache has been set, and Eglot detects that "further typing" has happened, it is safe to use the cache instead of making a request to the server. Thus eglot--capf-cache-flush, added to completion-in-region-mode-hook, is used to flush this cache. Since the popular Company completion package doesn't use completion-in-region-mode, eglot--capf-cache-flush is also added to its company-after-completion-hook. * lisp/progmodes/eglot.el (eglot--managed-mode): Set 'completion-in-region-mode-hook and company-after-completion-hook. (eglot--capf-cache): New variable. (eglot--capf-cache-flush): New function. (eglot-completion-at-point): Rework. * etc/EGLOT-NEWS: Update.
* | Eglot: take advantage of new Eldoc options for signature docJoão Távora2023-04-021-60/+56
| | | | | | | | | | | | | | | | Only echo the "active signature", send all the other signatures for the *eldoc* buffer. * lisp/progmodes/eglot.el (eglot--sig-info): Rework protocol. (eglot-signature-eldoc-function): Rework.
* | Eglot: declare support for markdown also for signaturesJoão Távora2023-04-021-5/+6
| | | | | | | | | | | | * lisp/progmodes/eglot.el (eglot--accepted-formats): new helper. (eglot-client-capabilities): use it.
* | Eglot: define eglot--ensure-list with defaliasJoão Távora2023-04-021-3/+3
| | | | | | | | | | | | This avoids annoying obsoletion warnings when compiling the whole buffer. * lisp/progmodes/eglot.el (eglot--ensure-list): define with defalias.
* | Eglot: remove hacky advice of jsonrpc-requestJoão Távora2023-04-021-39/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The vast majority of Eglot sync requests to the server need to inform the server of any pending changes to the buffer beforehand, so that the server has up-to-date information to do its job. But doing so at the expense of ugly advice of jsonrpc-request is ill advised. Introduce eglot--request helper instead and use that. Use this opportunity to conduct a review of Eglot sync requests and come to the conclusion that all need to send any changes beforehand. Nevertheless, an IMMEDIATE kwarg to eglot--request was added to bypassing this. * lisp/progmodes/eglot.el (eglot--request): New helper. (eglot-shutdown) (eglot-execute-command) (eglot-workspace-configuration) (eglot--signal-textDocument/willSave) (eglot--workspace-symbols) (eglot--lsp-xrefs-for-method) (xref-backend-apropos) (eglot-format) (eglot-completion-at-point) (eglot-imenu) (eglot-rename) (eglot-code-actions): Use eglot--request.
* | Use the 'interactive' spec to set arguments for 'eshell-command'Jim Porter2023-04-021-16/+18
| | | | | | | | | | | | * lisp/eshell/eshell.el (eshell-read-command): New function... (eshell-command): ... use it. Additionally, require the COMMAND argument, and rename ARG to TO-CURRENT-BUFFER.
* | Fix using background commands in 'eshell-command'Jim Porter2023-04-023-30/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This regressed due to the patch for bug#53715, which changed how Eshell pipelines return the processes in the pipeline (bug#62556). * lisp/eshell/esh-cmd.el (eshell-parse-command): When creating background commands, wrap the process(es) in a cons cell whose CAR is ':eshell-background'. This lets us use fewer heuristics... (eshell-eval-command): ... here. Additionally, keep the result and the incomplete delimiter separate. * lisp/eshell/eshell.el (eshell-command): Check ':eshell-background' and use a more-robust method for setting the output target. * test/lisp/eshell/eshell-tests.el (eshell-test/eshell-command/simple) (eshell-test/eshell-command/pipeline) (eshell-test/eshell-command/background) (eshell-test/eshell-command/background-pipeline): New tests.
* | lisp/simple.el (inhibit-auto-fill): New varStefan Monnier2023-04-022-4/+10
| | | | | | | | | | | | | | | | * lisp/simple.el (inhibit-auto-fill): New var. (internal-auto-fill): Obey it. (newline): Use it instead of binding `auto-fill-function`, so as to avoid messing up the state if something wants to enable/disable `auto-fill-mode` during the course of the let binding (bug#62419).
* | src/eval.c: Fix bug#62419Stefan Monnier2023-04-022-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Yup, almost 40 years after ELisp first combined them, buffer-local and let bindings still don't work quite right :-( The "automatically buffer-local if set" semantics should follow the principle that it becomes buffer-local iff the var's current binding refers to the top-level/global/non-let binding. * src/eval.c (let_shadows_buffer_binding_p): Disregard non-global let-bindings. * test/src/eval-tests.el (eval-test--bug62419): New test.