Subject: bug#59095: closed (Re: bug#59095: 29.0.50; package-update will run vc-pull in wrong dir)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 15 Dec 2022 13:00:03 +0000

Your bug report

#59095: 29.0.50; package-update will run vc-pull in wrong dir

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
59095: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=59095
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#59095: 29.0.50; package-update will run vc-pull in wrong dir
From: Philip Kaludercic <[email-masked]>
To: Feng Shu <[email-masked]>
Cc: [email-masked]
Date: Thu, 15 Dec 2022 12:58:59 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Feng Shu <[email-masked]> writes:

> Philip Kaludercic <[email-masked]> writes:
>
>> Feng Shu <[email-masked]> writes:
>>
>>> When I run package-update to update pyim git, I found that vc-pull will
>>> run in wrong dir ("~/"), and show error "No VC backend is responsible for ~/".
>>
>> Here too,
>>
>> commit 7ab556b57631cb28db86b89ba296bc0599d9a399
>> Author: Philip Kaludercic <[email-masked]>
>> Date:   Tue Nov 15 10:20:01 2022 +0100
>>
>>     Improve robustness of 'package-vc-update'
>>     
>>     * lisp/emacs-lisp/package-vc.el (package-vc-update): Ensure that the
>>     command is only invoked with installed packages. that the hook is
>>     always removed and that 'vc-pull' is always called in the right
>>     directory.
>>
>> should have resolved the issue.  Can you confirm this?
>
> fixed.

Marking as closed.

Subject: 29.0.50; package-update will run vc-pull in wrong dir
From: Feng Shu <[email-masked]>
To: [email-masked]
Date: Mon, 07 Nov 2022 13:47:55 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

When I run package-update to update pyim git, I found that vc-pull will
run in wrong dir ("~/"), and show error "No VC backend is responsible for ~/".

Debugger entered--Lisp error: (error "No VC backend is responsible for ~/")
  signal(error ("No VC backend is responsible for ~/"))
  error("No VC backend is responsible for %s" "~/")
  vc-responsible-backend("~/")
  vc-deduce-fileset-1(t nil nil)
  vc-deduce-fileset(t)
  vc-pull()
  (condition-case err (vc-pull) ((debug error) (message "Failed to fetch: %S" err) nil))
  (let (post-upgrade) (setq post-upgrade #'(lambda (command file-or-list flags) (if (and (memq (nth 0 args) (list command empty)) (memq (nth 1 args) (list file-or-list empty)) (memq (nth 2 args) (list flags empty))) (progn (condition-case err (package-vc--unpack-1 pkg-desc pkg-dir) (... ... nil)) (remove-hook 'vc-post-command-functions post-upgrade))))) (add-hook 'vc-post-command-functions post-upgrade) (condition-case err (vc-pull) ((debug error) (message "Failed to fetch: %S" err) nil)))
  (let* ((pkg-dir (progn (or (progn (and (memq ... cl-struct-package-desc-tags) t)) (signal 'wrong-type-argument (list 'package-desc pkg-desc))) (aref pkg-desc 7))) (empty (make-symbol "empty")) (args (list empty empty empty)) (vc-filter-command-function #'(lambda (command file-or-list flags) (progn (let* (...) (setcar c command)) (let* (...) (setcar c file-or-list)) (let* (...) (setcar c flags))) (list command file-or-list flags)))) (let (post-upgrade) (setq post-upgrade #'(lambda (command file-or-list flags) (if (and (memq ... ...) (memq ... ...) (memq ... ...)) (progn (condition-case err ... ...) (remove-hook ... post-upgrade))))) (add-hook 'vc-post-command-functions post-upgrade) (condition-case err (vc-pull) ((debug error) (message "Failed to fetch: %S" err) nil))))
  package-vc-update(#s(package-desc :name pyim :version (5 2 8) :summary "A Chinese input method support quanpin, shuangpin,..." :reqs ((emacs (25 1)) (async (1 6)) (xr (1 13))) :kind vc :archive nil :dir "/home/feng/.emacs.d/elpa-29/pyim" :extras ((:url . "https://github.com/tumashu/pyim") (:keywords "convenience" "chinese" "pinyin" "input-method") (:maintainer "Feng Shu" . "[email-masked]") (:authors ("Ye Wenbin" . "[email-masked]") ("Feng Shu" . "[email-masked]")) (:commit . "8c4f7d40c05dc06b3c96c2955e5d72ec268f2b61")) :signed nil))
  package-update("pyim")
  funcall-interactively(package-update "pyim")
  call-interactively(package-update record nil)
  command-execute(package-update record)
  execute-extended-command(nil "package-update" nil)
  funcall-interactively(execute-extended-command nil "package-update" nil)
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)

In GNU Emacs 29.0.50 (build 11, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.16.0, Xaw3d scroll bars) of 2022-11-07 built on Tumashu
Repository revision: 61d55ce3bb4dc1f7deac552439c61bbe0909dcdb
Repository branch: feng-emacs-29
Windowing system distributor 'The X.Org Foundation', version 11.0.12011000
System Description: Debian GNU/Linux 11 (bullseye)

Configured using:
 'configure --with-x-toolkit=lucid --with-json'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS
X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB

Important settings:
  value of $LANG: zh_CN.UTF-8
  value of $XMODIFIERS: @im=fcitx
  locale-coding-system: utf-8-unix

Major mode: Debugger

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  emms-playing-time-display-mode: t
  emms-playing-time-mode: t
  cnfonts-mode: t
  projectile-mode: t
  corfu-history-mode: t
  global-corfu-mode: t
  corfu-mode: t
  org-super-agenda-mode: t
  pyim-isearch-mode: t
  vertico-mode: t
  savehist-mode: t
  global-tab-line-mode: t
  tab-line-mode: t
  global-so-long-mode: t
  electric-pair-mode: t
  pixel-scroll-precision-mode: t
  shell-dirtrack-mode: t
  recentf-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/home/feng/.emacs.d/elpa-29/xr-1.23/xr hides ~/projects/emacs-packages/pyim/.deps/xr
/home/feng/.emacs.d/elpa-29/pyim-basedict-0.5.4/pyim-basedict hides ~/projects/emacs-packages/pyim/.deps/pyim-basedict
/home/feng/.emacs.d/elpa-29/async-20221103.638/async hides ~/projects/emacs-packages/pyim/.deps/async
/home/feng/.emacs.d/elpa-29/transient-20221028.1430/transient hides /home/feng/emacs/emacs29/lisp/transient

Features:
(shadow mail-extr emacsbug cl-print cus-start mule-util pop3 nndraft
nnmh nnml diary-lib diary-loaddefs cal-iso org-eldoc ol-eww ol-rmail
ol-mhe ol-irc ol-info ol-gnus ol-docview doc-view jka-compr image-mode
exif ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi face-remap vc-hg citre
citre-global bug-reference shortdoc package-x loaddefs-gen vc-git
mm-archive network-stream url-cache url-http url-auth url-gw nsm
package-vc cursor-sensor warnings emacs-helper eh-guix guix geiser-guile
info-look geiser-debug geiser-repl geiser-image geiser-capf geiser-doc
geiser-menu geiser-autodoc geiser-edit etags fileloop xref
geiser-completion geiser-eval geiser-connection geiser-syntax scheme
geiser-log geiser-popup view geiser eh-misc vundo magit-bookmark
magit-submodule magit-obsolete magit-popup magit-blame magit-stash
magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone
magit-remote magit-commit magit-sequence magit-notes magit-worktree
magit-tag magit-merge magit-branch magit-reset magit-files magit-refs
magit-status magit magit-repos magit-apply magit-wip magit-log
which-func imenu edebug debug backtrace magit-diff smerge-mode diff
diff-mode git-commit log-edit pcvs-util add-log magit-core
magit-autorevert magit-margin magit-transient magit-process with-editor
server magit-mode transient edmacro magit-git magit-base magit-section
compat-27 compat-26 aggressive-indent eh-emms emms-player-vlc
emms-player-mpv emms-player-mplayer emms-setup emms-librefm-stream
emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-history
emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks
emms-cue emms-mode-line-icon emms-browser emms-volume
emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse
emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine
emms-player-mpd tq emms-playing-time emms-lyrics emms-url
emms-player-simple emms-streams emms-show-all emms-tag-editor
emms-tag-tracktag emms-mark emms-mode-line emms-cache emms-info-native
bindat emms-info-exiftool emms-info-tinytag emms-info-metaflac
emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-info
emms-later-do emms-playlist-mode emms-source-playlist emms-source-file
locate emms emms-compat el2org cnfonts tempel citre-config
citre-lang-fileref citre-tags citre-ctags citre-readtags
citre-readtags-tables citre-backend-interface citre-ui-peek color
citre-ui-jump citre-common-tag citre-common-util projectile skeleton
ibuf-macs find-dired lisp-mnt grep compile ibuf-ext ibuffer
ibuffer-loaddefs eh-gnus-common ebdb-message ebdb-gnus nnselect ebdb-mua
ebdb-complete ebdb-com crm ebdb-format ebdb-i18n-chn ebdb-i18n
ebdb-i18n-basic ebdb inline eieio-base timezone eww xdg url-queue
thingatpt mm-url gnus-demon gnus-search eieio-opt speedbar ezimage
dframe gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg
nntp gnus-cite gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls dig
gnus-cache gnus-sum shr pixel-fill kinsoku url-file svg dom gnus-group
gnus-undo gnus-start gnus-dbus dbus xml gnus-cloud nnimap nnmail
mail-source utf7 nnoo gnus-spec gnus-int gnus-range message sendmail
yank-media puny rfc822 mml mml-sec epa derived epg rfc6068 epg-config
mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev gmm-utils mailheader gnus-win gnus nnheader
gnus-util mail-utils range mm-util mail-prsvr eh-complete cape
corfu-history corfu eh-org org-ql peg org-super-agenda ts ht s dash
org-habit org-capture ob-python python project ob-org ox-md ox-org
ox-odt rng-loc rng-uri rng-parse rng-match rng-dt rng-util rng-pttrn
nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar
org-agenda ox-html table ox-ascii ox-publish ox org-element avl-tree
generator autorevert filenotify org-attach org-id org-refile org ob
ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src
ob-comint org-pcomplete org-list org-faces org-entities noutline outline
org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex ol
org-keys oc org-compat advice org-macs org-loaddefs find-func
eh-functions eh-theme modus-vivendi-theme modus-themes eh-basic
cal-china-x cal-china lunar solar cal-dst holidays holiday-loaddefs
cal-menu calendar cal-loaddefs pyim-basedict pyim-cregexp-utils
easy-mmode pyim pyim-cloudim pyim-probe pyim-preview pyim-page popup
cl-extra posframe pyim-indicator pyim-dregcache pyim-dhashcache sort
pyim-dict async pyim-autoselector pyim-process pyim-punctuation
pyim-outcome pyim-candidates pyim-cstring pyim-cregexp pcase xr
pyim-codes pyim-imobjs pyim-pinyin pyim-entered pyim-dcache pyim-pymap
pyim-scheme pyim-common wdired dired dired-loaddefs vc vc-dispatcher
consult-vertico consult compat-28 compat compat-macs kmacro orderless
vertico-directory vertico savehist tab-line switch-window
switch-window-mvborder switch-window-asciiart quail so-long elec-pair
bookmark text-property-search pixel-scroll cua-base tramp-cache
time-stamp tramp-sh tramp tramp-loaddefs trampver tramp-integration
cus-edit pp cus-load icons files-x tramp-compat rx shell pcomplete
comint ansi-osc ansi-color parse-time iso8601 time-date ls-lisp
format-spec recentf tree-widget wid-edit elpa-mirror finder-inf
vertico-autoloads org-ql-autoloads f-autoloads ov-autoloads
peg-autoloads aggressive-indent-autoloads magit-autoloads
git-commit-autoloads orderless-autoloads cnfonts-autoloads
modus-themes-autoloads consult-autoloads magit-section-autoloads
org-download-autoloads org-super-agenda-autoloads ht-autoloads
paredit-autoloads pos-tip-autoloads switch-window-autoloads ts-autoloads
s-autoloads geiser-guile-autoloads geiser-impl help-fns radix-tree
help-mode geiser-custom geiser-base ring transient-autoloads
with-editor-autoloads xmlgen-autoloads wrap-region-autoloads
wgrep-autoloads vundo-autoloads recentf-ext-autoloads
rainbow-mode-autoloads rainbow-delimiters-autoloads
pyim-basedict-autoloads citre-autoloads compat-autoloads cape-autoloads
emms-autoloads org-contrib-autoloads ox-gfm-autoloads guix-autoloads
geiser-autoloads bui-autoloads edit-indirect-autoloads
marginalia-autoloads flycheck-autoloads pkg-info-autoloads epl-autoloads
elpa-mirror-autoloads el2org-autoloads ebdb-i18n-chn-autoloads
ebdb-autoloads pyim-autoloads async-autoloads markdown-mode-autoloads
xr-autoloads dired-ranger-autoloads dired-hacks-utils-autoloads
dash-autoloads ef-themes-autoloads tempel-autoloads projectile-autoloads
cal-china-x-autoloads autopair-autoloads info corfu-autoloads
adaptive-wrap-autoloads package browse-url url url-proxy url-privacy
url-expand url-methods url-history url-cookie generate-lisp-file
url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs password-cache json subr-x map byte-opt gv
bytecomp byte-compile url-vars cl-loaddefs cl-lib china-util rmc
iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp
files window text-properties overlay sha1 md5 base64 format env
code-pages mule custom widget keymap hashtable-print-readable backquote
threads dbusbind inotify lcms2 dynamic-setting system-font-setting
font-render-setting cairo x-toolkit xinput2 x multi-tty
make-network-process emacs)

Memory information:
((conses 16 1441531 215596)
 (symbols 48 58246 942)
 (strings 32 573952 38887)
 (string-bytes 1 11017666)
 (vectors 16 100706)
 (vector-slots 8 13391183 153755)
 (floats 8 1372 1499)
 (intervals 56 3501 1291)
 (buffers 984 32))

--