Joseph Turner writes: > Tags: patch > > Tags: patch > > This patch fixes a serious bug which caused package-vc-checkout to fail > entirely when its second argument `directory' was not expanded. > > From 75a6ec74ff5e31edc7592b68e7ad9d1ec26f515c Mon Sep 17 00:00:00 2001 > From: Joseph Turner > Date: Wed, 20 Sep 2023 00:12:10 -0700 > Subject: [PATCH] Ensure that directory is expanded in package-vc-checkout > > * lisp/emacs-lisp/package-vc.el (package-vc-checkout) > --- > lisp/emacs-lisp/package-vc.el | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el > index 29b540d86b8..47d8c996ff0 100644 > --- a/lisp/emacs-lisp/package-vc.el > +++ b/lisp/emacs-lisp/package-vc.el > @@ -834,6 +834,7 @@ for the last released version of the package." > (setf dir subdir) > (user-error "Directory not empty: %S" (expand-file-name dir))))) > (list desc dir (and current-prefix-arg :last-release)))) > + (setf directory (expand-file-name directory)) > (package-vc--archives-initialize) > (let ((pkg-spec (or (package-vc--desc->spec pkg-desc) > (and-let* ((extras (package-desc-extras pkg-desc)) DIRECTORY is passed on to `package-vc--clone' and in turn `vc-clone'. Wouldn't it be more robust to ensure that `vc-clone' can handle unexpanded directory names, eg. like this: