summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorDmitry Gutov <dmitry@gutov.dev>2023-05-06 03:41:54 +0300
committerDmitry Gutov <dmitry@gutov.dev>2023-05-06 03:41:54 +0300
commit0c6311386a12560c6578ffe50996c1f2c841ddfe (patch)
tree9d607340c827e809c61c194cfd65cbc89778dd55 /lisp/emacs-lisp
parent3baab6c432b7763f5435a0f4ffb055d2e33fab69 (diff)
parent79a886ba36837c0e13d83172ab33c1c2680c6e62 (diff)
downloademacs-0c6311386a12560c6578ffe50996c1f2c841ddfe.tar.gz
Merge from origin/emacs-29
79a886ba368 (package-upgrade): Don't remove the package from 'package... c0ab4e9ca93 Eglot: re-rename eglot-upgrade to eglot-upgrade-eglot b4e90070f96 Fix arguments of xml.c functions as displayed in Help buf... b1bda8228e5 More fixes for NetBSD/vax a2d4cd06f45 Improve VHDL mode highlighting 2f3a514b6db Clarify documentation wrt floating point division by zero... 94e984e6700 Make loaddefs-generate slightly more tolerant aba41d2c4bb ; Minor doc cleanups in go-ts-mode.el b42ccb2e5c1 ; Minor grammar fix in treesit manual. ab44c8a6f9d Fix order of rcirc-connect arguments 8eb6e33691d Fix rcirc messages printing in the wrong place 2901a3443c7 Prevent unnecessary modifications of 'package-vc-selected... eaad302bd6f Rename eglot-update to eglot-upgrade eaf25b9c6ae go-ts-mode: Use iota query only if supported (Bug#63086) cc090294d77 (rng-complete-tag): Add the (ignored) argument to the :co... 21ec6c1d5cc Update to Transient v0.3.7-219-g3ded15b 8d5aa8df4ad Fix inserting selection data into Mozilla programs 57562c3fd0a Recognize defstruct slot names in various eieio functions b93eb68cc30 Use 'calendar-buffer' instead of fixed string # Conflicts: # etc/EGLOT-NEWS
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-preloaded.el1
-rw-r--r--lisp/emacs-lisp/loaddefs-gen.el7
-rw-r--r--lisp/emacs-lisp/package-vc.el17
-rw-r--r--lisp/emacs-lisp/package.el2
4 files changed, 16 insertions, 11 deletions
diff --git a/lisp/emacs-lisp/cl-preloaded.el b/lisp/emacs-lisp/cl-preloaded.el
index 9445093f143..5235be52996 100644
--- a/lisp/emacs-lisp/cl-preloaded.el
+++ b/lisp/emacs-lisp/cl-preloaded.el
@@ -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
diff --git a/lisp/emacs-lisp/loaddefs-gen.el b/lisp/emacs-lisp/loaddefs-gen.el
index a966b1e9f40..2a46fb7a022 100644
--- a/lisp/emacs-lisp/loaddefs-gen.el
+++ b/lisp/emacs-lisp/loaddefs-gen.el
@@ -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)
diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
index 83d697a2e90..421947b528d 100644
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -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)
diff --git a/lisp/emacs-lisp/package.el b/lisp/emacs-lisp/package.el
index 0f68f0e8041..0cd54c3fbe2 100644
--- a/lisp/emacs-lisp/package.el
+++ b/lisp/emacs-lisp/package.el
@@ -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 ()