Merge from origin/emacs-29

7678b7e46f Eglot: check server capability before sending didSave (bu...
a3a1ef7bd5 Fix rust-ts-mode type and module highlighting (Bug#61302)
477aa047ee rust-ts-mode: Highlight variable reassignments
5206a551c1 Improve backward compatibility of save-restriction
accd88d554 Don't indent template_string contents (bug#61503)
d97a383996 csharp-ts-mode: fontify compiler directives (bug#61512)
420d2cae84 Update to Transient v0.3.7-209-gdab1dfa
a3751b5d0c ; Raise an error if a VC package checkout is empty
6a32ba8b69 ; Fix the installation of dependencies for VC packages
4eac80fcc3 ; Prepare to update ERC version to 5.5
4f099a7217 ; Remove failing erc-reuse-buffers test
4bb27a5ca9 ; Minor docs copyedits
13bcff3da5 Merge branch 'emacs-29' of git.savannah.gnu.org:/srv/git/...
3d572ae0d5 Rename with/without-narrowing to with/without-restriction
d806b0e33c * lisp/repeat.el: Rename internal function and variable (...
dd8b720ee7 ; * etc/NEWS: Fix typos.
909bd04cf5 ; * lisp/calendar/lunar.el: Add comments. (bug#61460)
10f2aedea9 ; * lisp/progmodes/c-ts-mode.el (c-ts-base-mode): delete ...
865758130a ; * admin/git-bisect-start: Update failing commits
b948d0d7ef Merge branch 'scratch/fix-locked-narrowing'
dcb2379a46 Minor improvements to labeled narrowing
cc30422825 Fix spurious display of eclipses in Calendar
f2114e8d89 Fix indentation for closing bracket in c-ts-mode (bug#61398)
f49caaa892 ; * src/pdumper.c (dump_buffer): Update hash.
fe2ea5ddd8 Update to Org 9.6.1-31-gaf1bb1
8280d721d7 * src/.gdbinit (nextcons): Amend $.u.cdr to $.u.s.u.cdr (...
eb2b0931cf Add lambda_expression to c-ts-common-indent-type-regexp-a...
2da05876ed ; Use the right name when specifying VC packages
d4fc701297 Tolerate missing elpa-packages.eld files
8bc1b7d0b2 Avoid warning about 'load-path' in non-interactive sessions
3d17aee13d ; Fix installation of dependencies for VC packages
86ca7df6a3 ; Mention Hunspell private-dictionary misfeature in doc s...
7287b7b53a Support webkit2gtk-4.1
048a2dabfc ; Fix typo
8f3091defb ; Fix typo in buffer.h
4da398d8b5 ; Fix typos
074008ee2d ; Fix doc strings in lisp/image/ directory
2d1e43436d ; Improve documentation of hash functions.
900f7e0727 ; Remove extraneous local variables from image-dired-*.el...
4297039bd1 Save and restore the absence of narrowing locks
4f053afe8e bug-reference: prevent match-data clobbering (bug#61395)
10af9fbcad ; * admin/notes/tree-sitter/starter-guide: Typos.
9ac242ce93 ; Fix recent changes in treesit docs
f5789aefc2 Rename LIMIT to DEPTH in tree-sitter functions (bug#61231)
b39821fdce ; Fix incorrect function name in treesit manual
5190173696 Add 'live' property to treesit-node-check (bug#61235)
56960a6558 Update to Transient v0.3.7-205-gb8ad0da
68a6b364d1 Fix 'rmail-summary-output'
67c6ec2559 lisp-mode: add docstring recognition for more common lisp...
417a8ed8b0 ; Improve discoverability of empty file names handling
e47cf6ca15 Update to Transient v0.3.7-204-gecff8c2
b04cce02ff Fix Scala entry in Eglot's DB of LSP servers
973c1d24c6 ruby-ts-mode: Also don't reindent 'identifier' when insid...
a5651c0c40 ruby-ts-mode: Fix indentation inside empty if/unless/case...
2956e54b1d Add an extensive test for labeled (locked) narrowing
79ce185ad1 Update the documentation about labeled (locked) narrowing
a6cd4553d4 Rename two long line optimizations variables
0d73e4aa26 Add specific symbols for narrowings
d8438e2bb4 Add 'without-narrowing' macro
97314447e6 Make 'narrowing-lock' and 'narrowing-unlock' internal
a4aa32bdff Fix 'save-restriction' for narrowing locks

# Conflicts:
#	etc/NEWS
This commit is contained in:
Stefan Kangas 2023-02-15 14:41:04 +01:00
commit 142f5683c1
31 changed files with 753 additions and 434 deletions

View file

@ -435,24 +435,29 @@ version of that package."
(push pkg missing))))))
(version-order (a b)
"Predicate to sort packages in order."
(version-list-< (cadr b) (cadr a)))
(version-list-<
(package-desc-version b)
(package-desc-version a)))
(duplicate-p (a b)
"Are A and B the same package?"
(eq (car a) (car b)))
(equal a (car b)))
(depends-on-p (target package)
"Does PACKAGE depend on TARGET?"
(or (eq target package)
(let* ((pac package-archive-contents)
(desc (cadr (assoc package pac))))
(seq-some
(apply-partially #'depends-on-p target)
(package-desc-reqs desc)))))
(and desc (seq-some
(apply-partially #'depends-on-p target)
(package-desc-reqs desc))))))
(dependent-order (a b)
(or (not (depends-on-p (car b) (car a)))
(depends-on-p (car a) (car b)))))
(let ((desc-a (package-desc-name a))
(desc-b (package-desc-name b)))
(or (not desc-a) (not desc-b)
(not (depends-on-p desc-b desc-a))
(depends-on-p desc-a desc-b)))))
(mapc #'search requirements)
(cl-callf sort to-install #'version-order)
(cl-callf seq-uniq to-install #'duplicate-p)
(cl-callf seq-uniq to-install)
(cl-callf sort to-install #'dependent-order))
(mapc #'package-install-from-archive to-install)
missing))
@ -606,7 +611,7 @@ checkout. This overrides the `:branch' attribute in PKG-SPEC."
(pcase-let* (((map :lisp-dir) pkg-spec)
(name (package-desc-name pkg-desc))
(dirname (package-desc-full-name pkg-desc))
(pkg-dir (expand-file-name dirname package-user-dir)))
(pkg-dir (file-name-as-directory (expand-file-name dirname package-user-dir))))
(when (string-empty-p name)
(user-error "Empty package name"))
(setf (package-desc-dir pkg-desc) pkg-dir)
@ -615,6 +620,9 @@ checkout. This overrides the `:branch' attribute in PKG-SPEC."
(package--delete-directory pkg-dir)
(error "There already exists a checkout for %s" name)))
(package-vc--clone pkg-desc pkg-spec pkg-dir rev)
(when (directory-empty-p pkg-dir)
(delete-directory pkg-dir)
(error "Empty checkout for %s" name))
;; When nothing is specified about a `lisp-dir', then should
;; heuristically check if there is a sub-directory with lisp