Merge from origin/emacs-29
79a886ba36
(package-upgrade): Don't remove the package from 'package...c0ab4e9ca9
Eglot: re-rename eglot-upgrade to eglot-upgrade-eglotb4e90070f9
Fix arguments of xml.c functions as displayed in Help buf...b1bda8228e
More fixes for NetBSD/vaxa2d4cd06f4
Improve VHDL mode highlighting2f3a514b6d
Clarify documentation wrt floating point division by zero...94e984e670
Make loaddefs-generate slightly more tolerantaba41d2c4b
; Minor doc cleanups in go-ts-mode.elb42ccb2e5c
; Minor grammar fix in treesit manual.ab44c8a6f9
Fix order of rcirc-connect arguments8eb6e33691
Fix rcirc messages printing in the wrong place2901a3443c
Prevent unnecessary modifications of 'package-vc-selected...eaad302bd6
Rename eglot-update to eglot-upgradeeaf25b9c6a
go-ts-mode: Use iota query only if supported (Bug#63086)cc090294d7
(rng-complete-tag): Add the (ignored) argument to the :co...21ec6c1d5c
Update to Transient v0.3.7-219-g3ded15b8d5aa8df4a
Fix inserting selection data into Mozilla programs57562c3fd0
Recognize defstruct slot names in various eieio functionsb93eb68cc3
Use 'calendar-buffer' instead of fixed string # Conflicts: # etc/EGLOT-NEWS
This commit is contained in:
commit
0c6311386a
19 changed files with 125 additions and 63 deletions
|
@ -4155,7 +4155,7 @@ Other keywords are optional:
|
|||
@end multitable
|
||||
|
||||
Lisp programs mark patterns in @var{query} with capture names (names
|
||||
that starts with @code{@@}), and tree-sitter will return matched nodes
|
||||
that start with @code{@@}), and tree-sitter will return matched nodes
|
||||
tagged with those same capture names. For the purpose of
|
||||
fontification, capture names in @var{query} should be face names like
|
||||
@code{font-lock-keyword-face}. The captured node will be fontified
|
||||
|
|
|
@ -219,17 +219,25 @@ creates huge integers.
|
|||
|
||||
@cindex @acronym{IEEE} floating point
|
||||
Floating-point numbers are useful for representing numbers that are
|
||||
not integral. The range of floating-point numbers is
|
||||
the same as the range of the C data type @code{double} on the machine
|
||||
you are using. On all computers supported by Emacs, this is
|
||||
@acronym{IEEE} binary64 floating point format, which is standardized by
|
||||
@url{https://standards.ieee.org/standard/754-2019.html,,IEEE Std 754-2019}
|
||||
and is discussed further in David Goldberg's paper
|
||||
not integral. The range of floating-point numbers is the same as the
|
||||
range of the C data type @code{double} on the machine you are using.
|
||||
On almost all computers supported by Emacs, this is @acronym{IEEE}
|
||||
binary64 floating point format, which is standardized by
|
||||
@url{https://standards.ieee.org/standard/754-2019.html,,IEEE Std
|
||||
754-2019} and is discussed further in David Goldberg's paper
|
||||
``@url{https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html,
|
||||
What Every Computer Scientist Should Know About Floating-Point Arithmetic}''.
|
||||
On modern platforms, floating-point operations follow the IEEE-754
|
||||
standard closely; however, results are not always rounded correctly on
|
||||
some obsolescent platforms, notably 32-bit x86.
|
||||
What Every Computer Scientist Should Know About Floating-Point
|
||||
Arithmetic}''. On modern platforms, floating-point operations follow
|
||||
the IEEE-754 standard closely; however, results are not always rounded
|
||||
correctly on some systems, notably 32-bit x86.
|
||||
|
||||
On some old computer systems, Emacs may not use IEEE floating-point.
|
||||
We know of one such system on which Emacs runs correctly, but does not
|
||||
follow IEEE-754: the VAX running NetBSD using GCC 10.4.0, where the
|
||||
VAX @samp{D_Floating} format is used instead. IBM System/370-derived
|
||||
mainframes and their XL/C compiler are also capable of utilizing a
|
||||
hexadecimal floating point format, but Emacs has not yet been built in
|
||||
such a configuration.
|
||||
|
||||
The read syntax for floating-point numbers requires either a decimal
|
||||
point, an exponent, or both. Optional signs (@samp{+} or @samp{-})
|
||||
|
@ -262,6 +270,10 @@ two NaNs as equal when their
|
|||
signs and significands agree. Significands of NaNs are
|
||||
machine-dependent, as are the digits in their string representation.
|
||||
|
||||
NaNs are not available on systems which do not use IEEE
|
||||
floating-point arithmetic; if the read syntax for a NaN is used on a
|
||||
VAX, for example, the reader signals an error.
|
||||
|
||||
When NaNs and signed zeros are involved, non-numeric functions like
|
||||
@code{eql}, @code{equal}, @code{sxhash-eql}, @code{sxhash-equal} and
|
||||
@code{gethash} determine whether values are indistinguishable, not
|
||||
|
@ -742,9 +754,10 @@ by rounding the quotient towards zero after each division.
|
|||
|
||||
@cindex @code{arith-error} in division
|
||||
If you divide an integer by the integer 0, Emacs signals an
|
||||
@code{arith-error} error (@pxref{Errors}). Floating-point division of
|
||||
a nonzero number by zero yields either positive or negative infinity
|
||||
(@pxref{Float Basics}).
|
||||
@code{arith-error} error (@pxref{Errors}). On systems using IEEE-754
|
||||
floating-point, floating-point division of a nonzero number by zero
|
||||
yields either positive or negative infinity (@pxref{Float Basics});
|
||||
otherwise, an @code{arith-error} is signaled as usual.
|
||||
@end defun
|
||||
|
||||
@defun % dividend divisor
|
||||
|
|
|
@ -1307,8 +1307,8 @@ Eglot, use @kbd{M-x package-install}.
|
|||
Often, a newer Eglot version exists that has fixed a longstanding bug,
|
||||
has more LSP features, or just better supports a particular language
|
||||
server. Recent Eglot versions can self-update via the command
|
||||
@kbd{M-x eglot-update}. This will replace any currently installed
|
||||
version with the newest one available from the ELPA archives
|
||||
@kbd{M-x eglot-upgrade-eglot}. This will replace any currently
|
||||
installed version with the newest one available from the ELPA archives
|
||||
configured in @code{package-archives}.
|
||||
|
||||
You can also update Eglot through other methods, such as
|
||||
|
|
|
@ -96,6 +96,16 @@ been added to 'eglot-stay-out-of'.
|
|||
|
||||
** ELPA installations on Emacs 26.3 are supported again.
|
||||
|
||||
|
||||
* Changes in Eglot 1.12.29 (Eglot bundled with Emacs 29.1)
|
||||
|
||||
** Eglot can upgrade itself 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.
|
||||
|
||||
|
||||
* Changes in Eglot 1.12 (13/03/2023)
|
||||
|
||||
|
|
|
@ -147,7 +147,7 @@ letters, digits, plus or minus signs or colons."
|
|||
;;;###autoload(put 'parse-time-rules 'risky-local-variable t)
|
||||
|
||||
;;;###autoload
|
||||
(defun parse-time-string (string)
|
||||
(defun parse-time-string (string &optional form)
|
||||
"Parse the time in STRING into (SEC MIN HOUR DAY MON YEAR DOW DST TZ).
|
||||
STRING should be an ISO 8601 time string, e.g., \"2020-01-15T16:12:21-08:00\",
|
||||
or something resembling an RFC 822 (or later) date-time, e.g.,
|
||||
|
@ -156,9 +156,11 @@ somewhat liberal in what format it accepts, and will attempt to
|
|||
return a \"likely\" value even for somewhat malformed strings.
|
||||
The values returned are identical to those of `decode-time', but
|
||||
any unknown values other than DST are returned as nil, and an
|
||||
unknown DST value is returned as -1."
|
||||
unknown DST value is returned as -1.
|
||||
|
||||
See `decode-time' for the meaning of FORM."
|
||||
(condition-case ()
|
||||
(iso8601-parse string)
|
||||
(iso8601-parse string form)
|
||||
(wrong-type-argument
|
||||
(let ((time (list nil nil nil nil nil nil nil -1 nil))
|
||||
(temp (parse-time-tokenize (downcase string))))
|
||||
|
@ -199,12 +201,14 @@ unknown DST value is returned as -1."
|
|||
(setf (nth (pop slots) time) new-val))))))))
|
||||
time))))
|
||||
|
||||
(defun parse-iso8601-time-string (date-string)
|
||||
(defun parse-iso8601-time-string (date-string &optional form)
|
||||
"Parse an ISO 8601 time string, such as \"2020-01-15T16:12:21-08:00\".
|
||||
Fall back on parsing something resembling an RFC 822 (or later) date-time.
|
||||
This function is like `parse-time-string' except that it returns
|
||||
a Lisp timestamp when successful."
|
||||
(when-let ((time (parse-time-string date-string)))
|
||||
a Lisp timestamp when successful.
|
||||
|
||||
See `decode-time' for the meaning of FORM."
|
||||
(when-let ((time (parse-time-string date-string form)))
|
||||
(encode-time time)))
|
||||
|
||||
(provide 'parse-time)
|
||||
|
|
|
@ -176,6 +176,7 @@ supertypes from the most specific to least specific.")
|
|||
(i 0)
|
||||
(offset (if type 0 1)))
|
||||
(dolist (slot slots)
|
||||
(put (car slot) 'slot-name t)
|
||||
(let* ((props (cl--plist-to-alist (cddr slot)))
|
||||
(typep (assq :type props))
|
||||
(type (if (null typep) t
|
||||
|
|
|
@ -635,9 +635,12 @@ instead of just updating them with the new/changed autoloads."
|
|||
(progn
|
||||
(goto-char (point-max))
|
||||
(search-backward "\f\n" nil t))
|
||||
;; Delete the old version of the section.
|
||||
;; Delete the old version of the section. Strictly
|
||||
;; speaking this should search for "\n\f\n;;;", but
|
||||
;; there are loaddefs files in the wild that only
|
||||
;; have two ';;'. (Bug#63236)
|
||||
(delete-region (match-beginning 0)
|
||||
(and (search-forward "\n\f\n;;;")
|
||||
(and (search-forward "\n\f\n;;")
|
||||
(match-beginning 0)))
|
||||
(forward-line -2)))
|
||||
(insert head)
|
||||
|
|
|
@ -167,7 +167,7 @@ archive."
|
|||
(:vc-backend symbol)))))
|
||||
:version "29.1")
|
||||
|
||||
(defvar package-vc--archive-spec-alist nil
|
||||
(defvar package-vc--archive-spec-alists nil
|
||||
"List of package specifications for each archive.
|
||||
The list maps each package name, as a string, to a plist as
|
||||
specified in `package-vc-selected-packages'.")
|
||||
|
@ -199,15 +199,15 @@ name for PKG-DESC."
|
|||
(not (alist-get name package-vc-selected-packages
|
||||
nil nil #'string=)))
|
||||
(alist-get (intern (package-desc-archive pkg-desc))
|
||||
package-vc--archive-spec-alist)
|
||||
package-vc--archive-spec-alists)
|
||||
;; Consult both our local list of package specifications, as well
|
||||
;; as the lists provided by the archives.
|
||||
(apply #'append (cons package-vc-selected-packages
|
||||
(mapcar #'cdr package-vc--archive-spec-alist))))
|
||||
(mapcar #'cdr package-vc--archive-spec-alists))))
|
||||
'() nil #'string=))
|
||||
|
||||
(defun package-vc--read-archive-data (archive)
|
||||
"Update `package-vc--archive-spec-alist' for ARCHIVE.
|
||||
"Update `package-vc--archive-spec-alists' for ARCHIVE.
|
||||
This function is meant to be used as a hook for `package-read-archive-hook'."
|
||||
(let ((contents-file (expand-file-name
|
||||
(format "archives/%s/elpa-packages.eld" archive)
|
||||
|
@ -224,7 +224,7 @@ This function is meant to be used as a hook for `package-read-archive-hook'."
|
|||
(let ((spec (read (current-buffer))))
|
||||
(when (eq package-vc--elpa-packages-version
|
||||
(plist-get (cdr spec) :version))
|
||||
(setf (alist-get (intern archive) package-vc--archive-spec-alist)
|
||||
(setf (alist-get (intern archive) package-vc--archive-spec-alists)
|
||||
(car spec)))
|
||||
(setf (alist-get (intern archive) package-vc--archive-data-alist)
|
||||
(cdr spec))
|
||||
|
@ -235,7 +235,7 @@ This function is meant to be used as a hook for `package-read-archive-hook'."
|
|||
|
||||
(defun package-vc--download-and-read-archives (&optional async)
|
||||
"Download specifications of all `package-archives' and read them.
|
||||
Populate `package-vc--archive-spec-alist' with the result.
|
||||
Populate `package-vc--archive-spec-alists' with the result.
|
||||
|
||||
If optional argument ASYNC is non-nil, perform the downloads
|
||||
asynchronously."
|
||||
|
@ -583,7 +583,7 @@ Emacs Lisp files.")
|
|||
(defun package-vc--unpack (pkg-desc pkg-spec &optional rev)
|
||||
"Install the package described by PKG-DESC.
|
||||
PKG-SPEC is a package specification, a property list describing
|
||||
how to fetch and build the package. See `package-vc--archive-spec-alist'
|
||||
how to fetch and build the package. See `package-vc--archive-spec-alists'
|
||||
for details. The optional argument REV specifies a specific revision to
|
||||
checkout. This overrides the `:branch' attribute in PKG-SPEC."
|
||||
(unless (eq (package-desc-kind pkg-desc) 'vc)
|
||||
|
@ -632,7 +632,8 @@ abort installation?" name))
|
|||
(throw 'done (setq lisp-dir name)))))
|
||||
|
||||
;; Ensure we have a copy of the package specification
|
||||
(unless (equal (alist-get name (mapcar #'cdr package-vc--archive-spec-alist)) pkg-spec)
|
||||
(unless (seq-some (lambda (alist) (equal (alist-get name (cdr alist)) pkg-spec))
|
||||
package-vc--archive-spec-alists)
|
||||
(customize-save-variable
|
||||
'package-vc-selected-packages
|
||||
(cons (cons name pkg-spec)
|
||||
|
|
|
@ -2278,7 +2278,7 @@ newer version from ELPA by using `\\<package-menu-mode-map>\\[package-menu-mark-
|
|||
(pkg-desc (cadr (assq package package-alist))))
|
||||
(if (package-vc-p pkg-desc)
|
||||
(package-vc-upgrade pkg-desc)
|
||||
(package-delete pkg-desc 'force)
|
||||
(package-delete pkg-desc 'force 'dont-unselect)
|
||||
(package-install package 'dont-select))))
|
||||
|
||||
(defun package--upgradeable-packages ()
|
||||
|
|
|
@ -584,7 +584,7 @@ If ARG is non-nil, instead prompt for connection parameters."
|
|||
(condition-case nil
|
||||
(let ((process (rcirc-connect server port nick user-name
|
||||
full-name channels password encryption
|
||||
client-cert server-alias)))
|
||||
server-alias client-cert)))
|
||||
(when rcirc-display-server-buffer
|
||||
(pop-to-buffer-same-window (process-buffer process))))
|
||||
(quit (message "Quit connecting to %s"
|
||||
|
@ -680,7 +680,7 @@ See `rcirc-connect' for more details on these variables.")
|
|||
;;;###autoload
|
||||
(defun rcirc-connect (server &optional port nick user-name
|
||||
full-name startup-channels password encryption
|
||||
certfp server-alias)
|
||||
server-alias certfp)
|
||||
"Connect to SERVER.
|
||||
The arguments PORT, NICK, USER-NAME, FULL-NAME, PASSWORD,
|
||||
ENCRYPTION, CERTFP, SERVER-ALIAS are interpreted as in
|
||||
|
@ -1233,9 +1233,9 @@ If SILENT is non-nil, do not print the message in any irc buffer."
|
|||
(let ((response (if noticep "NOTICE" "PRIVMSG")))
|
||||
(rcirc-get-buffer-create process target)
|
||||
(dolist (msg (rcirc-split-message message))
|
||||
(rcirc-send-string process response target : msg)
|
||||
(unless silent
|
||||
(rcirc-print process (rcirc-nick process) response target msg)))))
|
||||
(rcirc-print process (rcirc-nick process) response target msg))
|
||||
(rcirc-send-string process response target : msg))))
|
||||
|
||||
(defvar-local rcirc-input-ring nil
|
||||
"Ring object for input.")
|
||||
|
@ -2034,7 +2034,7 @@ connection."
|
|||
(not (string= sender (rcirc-nick process))))
|
||||
(let* ((buffer (rcirc-target-buffer process sender response target text))
|
||||
(time (if-let ((time (rcirc-get-tag "time")))
|
||||
(parse-iso8601-time-string time)
|
||||
(parse-iso8601-time-string time t)
|
||||
(current-time)))
|
||||
(inhibit-read-only t))
|
||||
(with-current-buffer buffer
|
||||
|
@ -2204,7 +2204,7 @@ The message is logged in `rcirc-log', and is later written to
|
|||
disk. PROCESS is the process object for the current connection."
|
||||
(let ((filename (funcall rcirc-log-filename-function process target))
|
||||
(time (and-let* ((time (rcirc-get-tag "time")))
|
||||
(parse-iso8601-time-string time))))
|
||||
(parse-iso8601-time-string time t))))
|
||||
(unless (null filename)
|
||||
(let ((cell (assoc-string filename rcirc-log-alist))
|
||||
(line (concat (format-time-string rcirc-time-format time)
|
||||
|
@ -2998,7 +2998,7 @@ If ARG is given, opens the URL in a new browser window."
|
|||
"Insert a timestamp."
|
||||
(goto-char (point-min))
|
||||
(let ((time (and-let* ((time (rcirc-get-tag "time")))
|
||||
(parse-iso8601-time-string time))))
|
||||
(parse-iso8601-time-string time t))))
|
||||
(insert (rcirc-facify (format-time-string rcirc-time-format time)
|
||||
'rcirc-timestamp))))
|
||||
|
||||
|
|
|
@ -180,7 +180,7 @@ Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil."
|
|||
(insert " "))))
|
||||
((member completion extra-strings)
|
||||
(insert ">"))))
|
||||
:company-kind ,(lambda () 'property))))))
|
||||
:company-kind ,(lambda (_) 'property))))))
|
||||
|
||||
(defconst rng-in-end-tag-name-regex
|
||||
(replace-regexp-in-string
|
||||
|
|
|
@ -2003,7 +2003,7 @@ If it is activated, also signal textDocument/didOpen."
|
|||
(interactive) (info "(eglot)"))
|
||||
|
||||
;;;###autoload
|
||||
(defun eglot-update (&rest _) "Update Eglot."
|
||||
(defun eglot-upgrade-eglot (&rest _) "Update Eglot to latest version."
|
||||
(interactive)
|
||||
(with-no-warnings
|
||||
(require 'package)
|
||||
|
@ -2012,6 +2012,9 @@ If it is activated, also signal textDocument/didOpen."
|
|||
(package-delete existing t))
|
||||
(package-install (cadr (assoc 'eglot package-archive-contents)))))
|
||||
|
||||
;;;###autoload
|
||||
(define-obsolete-function-alias 'eglot-update 'eglot-upgrade-eglot "29.1")
|
||||
|
||||
(easy-menu-define eglot-menu nil "Eglot"
|
||||
`("Eglot"
|
||||
;; Commands for getting information and customization.
|
||||
|
|
|
@ -106,6 +106,11 @@
|
|||
">>" "%=" ">>=" "--" "!" "..." "&^" "&^=" "~")
|
||||
"Go operators for tree-sitter font-locking.")
|
||||
|
||||
(defun go-ts-mode--iota-query-supported-p ()
|
||||
"Return t if the iota query is supported by the tree-sitter-go grammar."
|
||||
(ignore-errors
|
||||
(or (treesit-query-string "" '((iota) @font-lock-constant-face) 'go) t)))
|
||||
|
||||
(defvar go-ts-mode--font-lock-settings
|
||||
(treesit-font-lock-rules
|
||||
:language 'go
|
||||
|
@ -118,7 +123,9 @@
|
|||
|
||||
:language 'go
|
||||
:feature 'constant
|
||||
'([(false) (iota) (nil) (true)] @font-lock-constant-face
|
||||
`([(false) (nil) (true)] @font-lock-constant-face
|
||||
,@(when (go-ts-mode--iota-query-supported-p)
|
||||
'((iota) @font-lock-constant-face))
|
||||
(const_declaration
|
||||
(const_spec name: (identifier) @font-lock-constant-face)))
|
||||
|
||||
|
@ -296,7 +303,7 @@ Methods are prefixed with the receiver name, unless SKIP-PREFIX is t."
|
|||
(treesit-search-subtree node "type_alias" nil nil 1)))
|
||||
|
||||
(defun go-ts-mode--other-type-node-p (node)
|
||||
"Return t if NODE is a type, other than interface, struct or alias."
|
||||
"Return t if NODE is a type other than interface, struct, or alias."
|
||||
(and
|
||||
(string-equal "type_declaration" (treesit-node-type node))
|
||||
(not (go-ts-mode--interface-node-p node))
|
||||
|
@ -351,7 +358,7 @@ comment already exists, jump to it."
|
|||
"Tree-sitter indent rules for `go-mod-ts-mode'.")
|
||||
|
||||
(defun go-mod-ts-mode--in-directive-p ()
|
||||
"Return non-nil if inside a directive.
|
||||
"Return non-nil if point is inside a directive.
|
||||
When entering an empty directive or adding a new entry to one, no node
|
||||
will be present meaning none of the indentation rules will match,
|
||||
because there is no parent to match against. This function determines
|
||||
|
|
|
@ -286,7 +286,7 @@ Overrides local variable `indent-tabs-mode'."
|
|||
;; counter_rtl.vhd(29):Conditional signal assignment line__29
|
||||
("ModelSim" "vcom" "-93 -work \\1" "make" "-f \\1"
|
||||
nil "vlib \\1; vmap \\2 \\1" "./" "work/" "Makefile" "modelsim"
|
||||
("^\\(ERROR\\|WARNING\\|\\*\\* Error\\|\\*\\* Warning\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\([^ \t\n]+\\)(\\([0-9]+\\)):" 3 4 nil)
|
||||
("^\\(?:\\(?1:ERROR\\|\\*\\* Error\\)\\|\\(?2:WARNING\\|\\*\\* Warning\\)\\|\\(?3:NOTE\\|\\*\\* Note\\)\\)[^:]*:\\( *\\[[0-9]+]\\| ([^)]+)\\)? \\(?4:[^ \t\n]+\\)(\\(?5:[0-9]+\\)):" 4 5 nil (2 . 3))
|
||||
("" 0)
|
||||
("\\1/_primary.dat" "\\2/\\1.dat" "\\1/_primary.dat"
|
||||
"\\1/_primary.dat" "\\1/body.dat" downcase))
|
||||
|
@ -385,6 +385,13 @@ Overrides local variable `indent-tabs-mode'."
|
|||
nil "mkdir \\1" "./" "work/" "Makefile" "xilinx"
|
||||
("^ERROR:HDLParsers:[0-9]+ - \"\\([^ \t\n]+\\)\" Line \\([0-9]+\\)\\." 1 2 nil) ("" 0)
|
||||
nil)
|
||||
;; Xilinx Vivado:
|
||||
;; ERROR: [VRFC 10-1412] syntax error near o_idle [test.vhd:23]
|
||||
("Xilinx Vivado" "xvhdl" "" "make" "-f \\1"
|
||||
nil "mkdir \\1" "./" "work" "Makefile" "vivado"
|
||||
("^\\(?:\\(?1:ERROR\\)\\|\\(?2:WARNING\\)\\|\\(?3:INFO\\)\\): \\(.+\\) \\[\\(?4:[^ \t\n]+\\):\\(?5:[0-9]+\\)\\]" 4 5 nil (2 . 3)) ("" 0)
|
||||
("\\1/entity" "\\2/\\1" "\\1/configuration"
|
||||
"\\1/package" "\\1/body" downcase))
|
||||
)
|
||||
"List of available VHDL compilers and their properties.
|
||||
Each list entry specifies the following items for a compiler:
|
||||
|
|
|
@ -807,19 +807,24 @@ This function returns the string \"emacs\"."
|
|||
(defun xselect-convert-to-username (_selection _type _value)
|
||||
(user-real-login-name))
|
||||
|
||||
(defun xselect-convert-to-text-uri-list (_selection _type value)
|
||||
(let ((string
|
||||
(if (stringp value)
|
||||
(xselect--encode-string 'TEXT
|
||||
(concat (url-encode-url value) "\n"))
|
||||
(when (vectorp value)
|
||||
(with-temp-buffer
|
||||
(cl-loop for tem across value
|
||||
do (progn
|
||||
(insert (url-encode-url tem))
|
||||
(insert "\n")))
|
||||
(xselect--encode-string 'TEXT (buffer-string)))))))
|
||||
(cons 'text/uri-list (cdr string))))
|
||||
(defun xselect-convert-to-text-uri-list (selection _type value)
|
||||
;; While `xselect-uri-list-available-p' ensures that this target
|
||||
;; will not be reported in the TARGETS of non-drag-and-drop
|
||||
;; selections, Firefox stupidly converts to it anyway. Check that
|
||||
;; the conversion request is being made for the correct selection.
|
||||
(and (eq selection 'XdndSelection)
|
||||
(let ((string
|
||||
(if (stringp value)
|
||||
(xselect--encode-string 'TEXT
|
||||
(concat (url-encode-url value) "\n"))
|
||||
(when (vectorp value)
|
||||
(with-temp-buffer
|
||||
(cl-loop for tem across value
|
||||
do (progn
|
||||
(insert (url-encode-url tem))
|
||||
(insert "\n")))
|
||||
(xselect--encode-string 'TEXT (buffer-string)))))))
|
||||
(cons 'text/uri-list (cdr string)))))
|
||||
|
||||
(defun xselect-convert-to-xm-file (selection _type value)
|
||||
(when (and (stringp value)
|
||||
|
|
|
@ -1885,8 +1885,8 @@ be a list of the form returned by `event-start' and `event-end'."
|
|||
(set-advertised-calling-convention 'unintern '(name obarray) "23.3")
|
||||
(set-advertised-calling-convention 'indirect-function '(object) "25.1")
|
||||
(set-advertised-calling-convention 'redirect-frame-focus '(frame focus-frame) "24.3")
|
||||
(set-advertised-calling-convention 'libxml-parse-xml-region '(start end &optional base-url) "27.1")
|
||||
(set-advertised-calling-convention 'libxml-parse-html-region '(start end &optional base-url) "27.1")
|
||||
(set-advertised-calling-convention 'libxml-parse-xml-region '(&optional start end base-url) "27.1")
|
||||
(set-advertised-calling-convention 'libxml-parse-html-region '(&optional start end base-url) "27.1")
|
||||
(set-advertised-calling-convention 'time-convert '(time form) "29.1")
|
||||
|
||||
;;;; Obsolescence declarations for variables, and aliases.
|
||||
|
|
|
@ -1071,7 +1071,8 @@ example, sets a variable, use `transient-define-infix' instead.
|
|||
(if (and desc (or (stringp desc) (symbolp desc)))
|
||||
desc
|
||||
(plist-get args :key)))))))
|
||||
(setq args (plist-put args :command `(defalias ',sym ,cmd)))))
|
||||
(setq args (plist-put args :command
|
||||
`(defalias ',sym ,(macroexp-quote cmd))))))
|
||||
((or (stringp car)
|
||||
(and car (listp car)))
|
||||
(let ((arg pop))
|
||||
|
|
|
@ -2005,7 +2005,9 @@ init_signals (void)
|
|||
signal (SIGPIPE, SIG_IGN);
|
||||
|
||||
sigaction (SIGQUIT, &process_fatal_action, 0);
|
||||
#ifndef __vax__
|
||||
sigaction (SIGILL, &thread_fatal_action, 0);
|
||||
#endif /* __vax__ */
|
||||
sigaction (SIGTRAP, &thread_fatal_action, 0);
|
||||
|
||||
/* Typically SIGFPE is thread-specific and is fatal, like SIGILL.
|
||||
|
@ -2018,6 +2020,11 @@ init_signals (void)
|
|||
{
|
||||
emacs_sigaction_init (&action, deliver_arith_signal);
|
||||
sigaction (SIGFPE, &action, 0);
|
||||
#ifdef __vax__
|
||||
/* NetBSD/vax generates SIGILL upon some floating point errors,
|
||||
such as taking the log of 0.0. */
|
||||
sigaction (SIGILL, &action, 0);
|
||||
#endif /* __vax__ */
|
||||
}
|
||||
|
||||
#ifdef SIGUSR1
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
(progn
|
||||
(calendar)
|
||||
,@body)
|
||||
(kill-buffer "*Calendar*"))))
|
||||
(kill-buffer calendar-buffer))))
|
||||
|
||||
(ert-deftest cal-julian-test-goto-date ()
|
||||
(with-cal-julian-test
|
||||
|
|
Loading…
Add table
Reference in a new issue