forked from Github/emacs
Compare commits
9 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
910a7b30df | ||
|
|
e205f68717 | ||
|
|
dfde902f3b | ||
|
|
7133784303 | ||
|
|
15e06260ae | ||
|
|
a081b6625b | ||
|
|
97b818a4fb | ||
|
|
6f910ad932 | ||
|
|
9b775ddc05 |
9 changed files with 71 additions and 31 deletions
|
|
@ -1482,7 +1482,7 @@ the symbol as a function, Emacs signals a @code{void-function} error.
|
|||
Note that void is not the same as @code{nil} or the symbol
|
||||
@code{void}. The symbols @code{nil} and @code{void} are Lisp objects,
|
||||
and can be stored into a function cell just as any other object can be
|
||||
(and they can be valid functions if you define them in turn with
|
||||
(and @code{void} can be a valid function if you define it with
|
||||
@code{defun}). A void function cell contains no object whatsoever.
|
||||
|
||||
You can test the voidness of a symbol's function definition with
|
||||
|
|
|
|||
|
|
@ -20,12 +20,12 @@ https://github.com/joaotavora/eglot/issues/1234.
|
|||
|
||||
* Changes in Eglot 1.12.29 (Eglot bundled with Emacs 29.1)
|
||||
|
||||
** Eglot can upgrade itself to the latest version.
|
||||
** Eglot has a new command to upgrade to the latest version.
|
||||
|
||||
The new command 'eglot-upgrade-eglot' works around behaviour in the
|
||||
existing 'package-install' command and the new 'package-upgrade'
|
||||
command which would prevent the user from easily grabbing the latest
|
||||
version as usual.
|
||||
The new command 'eglot-upgrade-eglot' allows easily grabbing the
|
||||
latest version of Eglot from ELPA. This might be more convenient than
|
||||
using the more general command 'package-install', which by default
|
||||
will not upgrade "built-in" packages, those that come with Emacs.
|
||||
|
||||
** LSP inlay hints are now supported.
|
||||
Inlay hints are small text annotations not unlike diagnostics, but
|
||||
|
|
@ -171,12 +171,12 @@ may be disabled via 'eglot-ignored-server-capabilities'
|
|||
** Basic LSP "workspace folders" support added.
|
||||
Eglot now advertises 'project-root' and 'project-external-roots' as
|
||||
workspace-folders. (Configuring 'project-vc-external-roots-function'
|
||||
via Elisp or 'tags-table-list' via Custtomize are two ways to set the
|
||||
via Elisp or 'tags-table-list' via Customize are two ways to set the
|
||||
external roots of a simple git project.)
|
||||
|
||||
(github#893)
|
||||
|
||||
** Eglot can now show project wide diagnosics via Flymake.
|
||||
** Eglot can now show project wide diagnostics via Flymake.
|
||||
Some LSP servers report diagnostics for all files in the current
|
||||
workspace. Flymake has (as of version 1.2.1) the option to show
|
||||
diagnostics from buffers other than the currently visited one. The
|
||||
|
|
@ -394,7 +394,7 @@ these two domains.
|
|||
|
||||
* Changes in Eglot 1.3 (10/12/2018)
|
||||
|
||||
** Provide strict checking of incoming LSP messagesp.
|
||||
** Provide strict checking of incoming LSP messages.
|
||||
|
||||
(github#144, github#156)
|
||||
|
||||
|
|
@ -488,7 +488,7 @@ here.
|
|||
* Changes in Eglot 1.1 (9/7/2018)
|
||||
|
||||
** Implement TCP autostart/autoconnect (and support Ruby's Solargraph).
|
||||
The ':autoport' symbol in the server incovation is replaced
|
||||
The ':autoport' symbol in the server invocation is replaced
|
||||
dynamically by a local port believed to be vacant, so that the ensuing
|
||||
TCP connection finds a listening server.
|
||||
|
||||
|
|
|
|||
|
|
@ -92,12 +92,22 @@ report errors as appropriate for this kind of usage."
|
|||
(forward-sexp (- arg) interactive))
|
||||
|
||||
(defun mark-sexp (&optional arg allow-extend)
|
||||
"Set mark ARG sexps from point.
|
||||
The place mark goes is the same place \\[forward-sexp] would
|
||||
move to with the same argument.
|
||||
Interactively, if this command is repeated
|
||||
or (in Transient Mark mode) if the mark is active,
|
||||
it marks the next ARG sexps after the ones already marked.
|
||||
"Set mark ARG sexps from point or move mark one sexp.
|
||||
When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is
|
||||
set ARG sexps from point.
|
||||
With ARG and ALLOW-EXTEND both non-nil (interactively, with prefix
|
||||
argument), the place to which mark goes is the same place \\[forward-sexp]
|
||||
would move to with the same argument; if the mark is active, it moves
|
||||
ARG sexps from its current position, otherwise it is set ARG sexps
|
||||
from point.
|
||||
When invoked interactively without a prefix argument and no active
|
||||
region, mark moves one sexp forward.
|
||||
When invoked interactively without a prefix argument, and region
|
||||
is active, mark moves one sexp away of point (i.e., forward
|
||||
if mark is at or after point, back if mark is before point), thus
|
||||
extending the region by one sexp. Since the direction of region
|
||||
extension depends on the relative position of mark and point, you
|
||||
can change the direction by \\[exchange-point-and-mark].
|
||||
This command assumes point is not in a string or comment."
|
||||
(interactive "P\np")
|
||||
(cond ((and allow-extend
|
||||
|
|
|
|||
|
|
@ -747,11 +747,13 @@ indicating the package name and SPEC is a plist as described in
|
|||
symbol whose name is the package name, and the URL for the
|
||||
package will be taken from the package's metadata.
|
||||
|
||||
By default, this function installs the last version of the package
|
||||
available from its repository, but if REV is given and non-nil, it
|
||||
specifies the revision to install. If REV has the special value
|
||||
`:last-release' (interactively, the prefix argument), that stands
|
||||
for the last released version of the package.
|
||||
By default, this function installs the last revision of the
|
||||
package available from its repository. If REV is a string, it
|
||||
describes the revision to install, as interpreted by the VC
|
||||
backend. The special value `:last-release' (interactively, the
|
||||
prefix argument), will use the commit of the latest release, if
|
||||
it exists. The last release is the latest revision which changed
|
||||
the \"Version:\" header of the package's main Lisp file.
|
||||
|
||||
Optional argument BACKEND specifies the VC backend to use for cloning
|
||||
the package's repository; this is only possible if NAME-OR-URL is a URL,
|
||||
|
|
|
|||
|
|
@ -504,10 +504,10 @@ NODE should be a labeled_statement. PARENT is its parent."
|
|||
"C/C++ keywords for tree-sitter font-locking.
|
||||
MODE is either `c' or `cpp'."
|
||||
(let ((c-keywords
|
||||
'("break" "case" "const" "continue"
|
||||
'("_Atomic" "break" "case" "const" "continue"
|
||||
"default" "do" "else" "enum"
|
||||
"extern" "for" "goto" "if" "inline"
|
||||
"register" "return"
|
||||
"register" "restrict" "return"
|
||||
"sizeof" "static" "struct"
|
||||
"switch" "typedef" "union"
|
||||
"volatile" "while")))
|
||||
|
|
|
|||
|
|
@ -464,6 +464,15 @@ compilation and evaluation time conflicts."
|
|||
|
||||
(defun csharp-guess-basic-syntax (orig-fun &rest args)
|
||||
(cond
|
||||
(;; enum
|
||||
(save-excursion
|
||||
(goto-char (c-point 'boi))
|
||||
(and
|
||||
(eq (char-after) ?\{)
|
||||
(save-excursion
|
||||
(goto-char (c-point 'iopl))
|
||||
(looking-at ".*enum.*"))))
|
||||
`((class-open ,(c-point 'iopl))))
|
||||
(;; Attributes
|
||||
(save-excursion
|
||||
(goto-char (c-point 'iopl))
|
||||
|
|
|
|||
|
|
@ -8668,12 +8668,22 @@ node `(elisp) Word Motion' for details."
|
|||
(forward-word (- (or arg 1))))
|
||||
|
||||
(defun mark-word (&optional arg allow-extend)
|
||||
"Set mark ARG words away from point.
|
||||
The place mark goes is the same place \\[forward-word] would
|
||||
move to with the same argument.
|
||||
Interactively, if this command is repeated
|
||||
or (in Transient Mark mode) if the mark is active,
|
||||
it marks the next ARG words after the ones already marked."
|
||||
"Set mark ARG words from point or move mark one word.
|
||||
When called from Lisp with ALLOW-EXTEND ommitted or nil, mark is
|
||||
set ARG words from point.
|
||||
With ARG and ALLOW-EXTEND both non-nil (interactively, with prefix
|
||||
argument), the place to which mark goes is the same place \\[forward-word]
|
||||
would move to with the same argument; if the mark is active, it moves
|
||||
ARG words from its current position, otherwise it is set ARG words
|
||||
from point.
|
||||
When invoked interactively without a prefix argument and no active
|
||||
region, mark moves one word forward.
|
||||
When invoked interactively without a prefix argument, and region
|
||||
is active, mark moves one word away of point (i.e., forward
|
||||
if mark is at or after point, back if mark is before point), thus
|
||||
extending the region by one word. Since the direction of region
|
||||
extension depends on the relative position of mark and point, you
|
||||
can change the direction by \\[exchange-point-and-mark]."
|
||||
(interactive "P\np")
|
||||
(cond ((and allow-extend
|
||||
(or (and (eq last-command this-command) (mark t))
|
||||
|
|
|
|||
|
|
@ -1862,6 +1862,10 @@ This is a tree-sitter equivalent of `beginning-of-defun'.
|
|||
Behavior of this function depends on `treesit-defun-type-regexp'
|
||||
and `treesit-defun-skipper'."
|
||||
(interactive "^p")
|
||||
(or (not (eq this-command 'treesit-beginning-of-defun))
|
||||
(eq last-command 'treesit-beginning-of-defun)
|
||||
(and transient-mark-mode mark-active)
|
||||
(push-mark))
|
||||
(let ((orig-point (point))
|
||||
(success nil))
|
||||
(catch 'done
|
||||
|
|
@ -1892,6 +1896,10 @@ this function depends on `treesit-defun-type-regexp' and
|
|||
(interactive "^p\nd")
|
||||
(let ((orig-point (point)))
|
||||
(if (or (null arg) (= arg 0)) (setq arg 1))
|
||||
(or (not (eq this-command 'treesit-end-of-defun))
|
||||
(eq last-command 'treesit-end-of-defun)
|
||||
(and transient-mark-mode mark-active)
|
||||
(push-mark))
|
||||
(catch 'done
|
||||
(dotimes (_ 2) ; Not making progress is better than infloop.
|
||||
|
||||
|
|
|
|||
|
|
@ -609,8 +609,9 @@ message (format 32) that caused EVENT to be generated."
|
|||
(defun x-dnd-after-move-frame (frame)
|
||||
"Handle FRAME moving to a different position.
|
||||
Clear any cached root window position."
|
||||
(set-frame-parameter frame 'dnd-root-window-position
|
||||
nil))
|
||||
(and (frame-live-p frame)
|
||||
(set-frame-parameter frame 'dnd-root-window-position
|
||||
nil)))
|
||||
|
||||
(add-hook 'move-frame-functions #'x-dnd-after-move-frame)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue