Subject: bug#59087: 29.0.50; package-vc-update error

From: Philip Kaludercic <[email-masked]>
Date: Wed, 16 Nov 2022 08:20:23 +0000

Feng Shu <[email-masked]> writes:

> Philip Kaludercic <[email-masked]> writes:
>
>> Thank you for all these stack traces, I have managed to reproduce and
>> resolve all the mistakes -- at least on my end.  The new state is still
>> on scratch/package-vc-fixes.
>>
>
> Ok, new info :-)
>
> 1. package-vc-update is unusable when first run emacs.

Unusable in what sense?  The command is not auto-loaded, so you need to

  M-x load-library RET package-vc RET

first.

> 2. when I run 'package-vc-install pyim' twice, package-list-package
> "*Packages*" buffer will show pyim twice, is it a feature or bug? like:

No, that was a bug I assumed was resolved... I'll take a look at it
again.

> ```
>   wrap-region                    20140117.720   dependency            Wrap text with punctation or tag
>   pyim 16f7c3cf0736a65d8af0c8ba8396343dbd17e368 source A Chinese input
> method support quanpin, shuangpin, wubi, cangjie and rime.
>   pyim 16f7c3cf0736a65d8af0c8ba8396343dbd17e368 source A Chinese input
> method support quanpin, shuangpin, wubi, cangjie and rime.
>   allout                         2.3            built-in              extensive outline mode for use alone and with other modes
>   allout-widgets                 1.0            built-in              Visually highlight allout outline structure.
>
> ```
>
> In this time, when I run package-delete pyim, show
>
> ```
> Error in post-command-hook (package-menu--post-refresh): (file-missing
> "Opening directory" "没有那个文件或目录" 
> "/home/feng/.emacs.d/elpa-29/pyim")
> ```
>
> which mean have no "/home/feng/.emacs.d/elpa-29/pyim" file or directory.

Interesting.

> 3. package-vc-install-from-checkout is unusable, I use vertico. show:
>
> ```
> Debugger entered--Lisp error: (cl-assertion-failed (dir nil))
>   cl--assertion-failed(dir)
>   package-vc--unpack-1(#s(package-desc :name pyim :version nil
> :summary "No description available." :reqs nil :kind vc :archive nil
> :dir nil :extras nil :signed nil) "/home/feng/.emacs.d/elpa-29/pyim")
>   package-vc-install-from-checkout("/home/feng/projects/emacs-packages/pyim/" "pyim")
>   funcall-interactively(package-vc-install-from-checkout "/home/feng/projects/emacs-packages/pyim/" "pyim")
>   call-interactively(package-vc-install-from-checkout record nil)
>   command-execute(package-vc-install-from-checkout record)
>   execute-extended-command(nil "package-vc-install-from-checkout" nil)
>   funcall-interactively(execute-extended-command nil "package-vc-install-from-checkout" nil)
>   call-interactively(execute-extended-command nil nil)
>   command-execute(execute-extended-command)
>   recursive-edit()
>   debug(error (file-already-exists "File already exists" "/home/feng/.emacs.d/elpa-29/pyim"))
>   make-symbolic-link("~/projects/emacs-packages/pyim/" "/home/feng/.emacs.d/elpa-29/pyim")
>   package-vc-install-from-checkout("~/projects/emacs-packages/pyim/" "pyim")
>   funcall-interactively(package-vc-install-from-checkout "~/projects/emacs-packages/pyim/" "pyim")
>   call-interactively(package-vc-install-from-checkout record nil)
>   command-execute(package-vc-install-from-checkout record)
>   execute-extended-command(nil "package-vc-install-from-checkout" nil)
>   funcall-interactively(execute-extended-command nil "package-vc-install-from-checkout" nil)
>   call-interactively(execute-extended-command nil nil)
>   command-execute(execute-extended-command)
> ```

I'll take a look at what is going on here, and report back.