* bug#59088: 29.0.50; void-function package-vc-update when first run package-update-all.
@ 2022-11-07 2:35 Feng Shu
2022-12-15 10:15 ` Philip Kaludercic
0 siblings, 1 reply; 4+ messages in thread
From: Feng Shu @ 2022-11-07 2:35 UTC (permalink / raw)
To: 59088
Debugger entered--Lisp error: (void-function package-vc-update)
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" . "tumashu@163.com") (:authors ("Ye Wenbin" . "wenbinye@163.com") ("Feng Shu" . "tumashu@163.com")) (:commit . "8c4f7d40c05dc06b3c96c2955e5d72ec268f2b61")) :signed nil))
package-update(pyim)
mapc(package-update (pyim))
package-update-all(t)
funcall-interactively(package-update-all t)
call-interactively(package-update-all record nil)
command-execute(package-update-all record)
execute-extended-command(nil "package-update-all" nil)
funcall-interactively(execute-extended-command nil "package-update-all" 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: ELisp/d
Minor modes in effect:
global-git-commit-mode: t
magit-auto-revert-mode: t
aggressive-indent-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
eldoc-mode: t
show-paren-mode: t
electric-indent-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
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 mm-archive network-stream url-cache
url-http url-auth url-gw nsm cus-start 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 762447 82408)
(symbols 48 50073 10)
(strings 32 190223 24390)
(string-bytes 1 6414991)
(vectors 16 88894)
(vector-slots 8 1798945 61443)
(floats 8 1218 338)
(intervals 56 1289 46)
(buffers 984 13))
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#59088: 29.0.50; void-function package-vc-update when first run package-update-all.
2022-11-07 2:35 bug#59088: 29.0.50; void-function package-vc-update when first run package-update-all Feng Shu
@ 2022-12-15 10:15 ` Philip Kaludercic
2022-12-15 10:37 ` Feng Shu
0 siblings, 1 reply; 4+ messages in thread
From: Philip Kaludercic @ 2022-12-15 10:15 UTC (permalink / raw)
To: Feng Shu; +Cc: 59088
Feng Shu <tumashu@163.com> writes:
> Debugger entered--Lisp error: (void-function package-vc-update)
> 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" . "tumashu@163.com") (:authors ("Ye Wenbin" . "wenbinye@163.com") ("Feng Shu" . "tumashu@163.com")) (:commit . "8c4f7d40c05dc06b3c96c2955e5d72ec268f2b61")) :signed nil))
> package-update(pyim)
> mapc(package-update (pyim))
> package-update-all(t)
> funcall-interactively(package-update-all t)
> call-interactively(package-update-all record nil)
> command-execute(package-update-all record)
> execute-extended-command(nil "package-update-all" nil)
> funcall-interactively(execute-extended-command nil "package-update-all" nil)
> call-interactively(execute-extended-command nil nil)
> command-execute(execute-extended-command)
The function has been autoloaded, so this shouldn't occur any more:
commit 17889dd828dabc8d4a015c3df889799818178afb
Author: Philip Kaludercic <philipk@posteo.net>
Date: Thu Nov 17 17:39:46 2022 +0100
* lisp/emacs-lisp/package-vc.el: Autoload package-vc-update{,-all}
diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
--- a/lisp/emacs-lisp/package-vc.el
+++ b/lisp/emacs-lisp/package-vc.el
@@ -573,35 +574,36 @@
+;;;###autoload
(defun package-vc-update (pkg-desc)
"Attempt to update the package PKG-DESC."
(interactive (list (package-vc--read-package-desc "Update source package: " t)))
;; HACK: To run `package-vc--unpack-1' after checking out the new
;; revision, we insert a hook into `vc-post-command-functions', and
;; remove it right after it ran. To avoid running the hook multiple
;; times or even for the wrong repository (as `vc-pull' is often
;; asynchronous), we extract the relevant arguments using a pseudo
;; filter for `vc-filter-command-function', executed only for the
;; side effect, and store them in the lexical scope. When the hook
;; is run, we check if the arguments are the same (`eq') as the ones
;; previously extracted, and only in that case will be call
;; `package-vc--unpack-1'. Ugh...
;;
;; If there is a better way to do this, it should be done.
(cl-assert (package-vc-p pkg-desc))
(letrec ((pkg-dir (package-desc-dir pkg-desc))
(vc-flags)
(vc-filter-command-function
(lambda (command file-or-list flags)
(setq vc-flags flags)
(list command file-or-list flags)))
(post-upgrade
(lambda (_command _file-or-list flags)
(when (and (file-equal-p pkg-dir default-directory)
(eq flags vc-flags))
(unwind-protect
(with-demoted-errors "Failed to activate: %S"
(package-vc--unpack-1 pkg-desc pkg-dir))
(remove-hook 'vc-post-command-functions post-upgrade))))))
(add-hook 'vc-post-command-functions post-upgrade)
(with-demoted-errors "Failed to fetch: %S"
(let ((default-directory pkg-dir))
(vc-pull)))))
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#59088: 29.0.50; void-function package-vc-update when first run package-update-all.
2022-12-15 10:15 ` Philip Kaludercic
@ 2022-12-15 10:37 ` Feng Shu
2022-12-15 12:59 ` Philip Kaludercic
0 siblings, 1 reply; 4+ messages in thread
From: Feng Shu @ 2022-12-15 10:37 UTC (permalink / raw)
To: Philip Kaludercic; +Cc: 59088
Philip Kaludercic <philipk@posteo.net> writes:
> Feng Shu <tumashu@163.com> writes:
>
>> Debugger entered--Lisp error: (void-function package-vc-update)
>> 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"
>> . "tumashu@163.com") (:authors ("Ye Wenbin" . "wenbinye@163.com")
>> ("Feng Shu" . "tumashu@163.com")) (:commit
>> . "8c4f7d40c05dc06b3c96c2955e5d72ec268f2b61")) :signed nil))
>> package-update(pyim)
>> mapc(package-update (pyim))
>> package-update-all(t)
>> funcall-interactively(package-update-all t)
>> call-interactively(package-update-all record nil)
>> command-execute(package-update-all record)
>> execute-extended-command(nil "package-update-all" nil)
>> funcall-interactively(execute-extended-command nil "package-update-all" nil)
>> call-interactively(execute-extended-command nil nil)
>> command-execute(execute-extended-command)
>
> The function has been autoloaded, so this shouldn't occur any more:
>
> commit 17889dd828dabc8d4a015c3df889799818178afb
> Author: Philip Kaludercic <philipk@posteo.net>
> Date: Thu Nov 17 17:39:46 2022 +0100
>
> * lisp/emacs-lisp/package-vc.el: Autoload package-vc-update{,-all}
>
> diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
> --- a/lisp/emacs-lisp/package-vc.el
> +++ b/lisp/emacs-lisp/package-vc.el
> @@ -573,35 +574,36 @@
>
> +;;;###autoload
> (defun package-vc-update (pkg-desc)
> "Attempt to update the package PKG-DESC."
> (interactive (list (package-vc--read-package-desc "Update source package: " t)))
> ;; HACK: To run `package-vc--unpack-1' after checking out the new
> ;; revision, we insert a hook into `vc-post-command-functions', and
> ;; remove it right after it ran. To avoid running the hook multiple
> ;; times or even for the wrong repository (as `vc-pull' is often
> ;; asynchronous), we extract the relevant arguments using a pseudo
> ;; filter for `vc-filter-command-function', executed only for the
> ;; side effect, and store them in the lexical scope. When the hook
> ;; is run, we check if the arguments are the same (`eq') as the ones
> ;; previously extracted, and only in that case will be call
> ;; `package-vc--unpack-1'. Ugh...
> ;;
> ;; If there is a better way to do this, it should be done.
> (cl-assert (package-vc-p pkg-desc))
> (letrec ((pkg-dir (package-desc-dir pkg-desc))
> (vc-flags)
> (vc-filter-command-function
> (lambda (command file-or-list flags)
> (setq vc-flags flags)
> (list command file-or-list flags)))
> (post-upgrade
> (lambda (_command _file-or-list flags)
> (when (and (file-equal-p pkg-dir default-directory)
> (eq flags vc-flags))
> (unwind-protect
> (with-demoted-errors "Failed to activate: %S"
> (package-vc--unpack-1 pkg-desc pkg-dir))
> (remove-hook 'vc-post-command-functions post-upgrade))))))
> (add-hook 'vc-post-command-functions post-upgrade)
> (with-demoted-errors "Failed to fetch: %S"
> (let ((default-directory pkg-dir))
> (vc-pull)))))
works!
--
^ permalink raw reply [flat|nested] 4+ messages in thread
* bug#59088: 29.0.50; void-function package-vc-update when first run package-update-all.
2022-12-15 10:37 ` Feng Shu
@ 2022-12-15 12:59 ` Philip Kaludercic
0 siblings, 0 replies; 4+ messages in thread
From: Philip Kaludercic @ 2022-12-15 12:59 UTC (permalink / raw)
To: Feng Shu; +Cc: 59088-done
Feng Shu <tumashu@163.com> writes:
> Philip Kaludercic <philipk@posteo.net> writes:
>
>> Feng Shu <tumashu@163.com> writes:
>>
>>> Debugger entered--Lisp error: (void-function package-vc-update)
>>> 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"
>>> . "tumashu@163.com") (:authors ("Ye Wenbin" . "wenbinye@163.com")
>>> ("Feng Shu" . "tumashu@163.com")) (:commit
>>> . "8c4f7d40c05dc06b3c96c2955e5d72ec268f2b61")) :signed nil))
>>> package-update(pyim)
>>> mapc(package-update (pyim))
>>> package-update-all(t)
>>> funcall-interactively(package-update-all t)
>>> call-interactively(package-update-all record nil)
>>> command-execute(package-update-all record)
>>> execute-extended-command(nil "package-update-all" nil)
>>> funcall-interactively(execute-extended-command nil "package-update-all" nil)
>>> call-interactively(execute-extended-command nil nil)
>>> command-execute(execute-extended-command)
>>
>> The function has been autoloaded, so this shouldn't occur any more:
>>
>> commit 17889dd828dabc8d4a015c3df889799818178afb
>> Author: Philip Kaludercic <philipk@posteo.net>
>> Date: Thu Nov 17 17:39:46 2022 +0100
>>
>> * lisp/emacs-lisp/package-vc.el: Autoload package-vc-update{,-all}
>>
>> diff --git a/lisp/emacs-lisp/package-vc.el b/lisp/emacs-lisp/package-vc.el
>> --- a/lisp/emacs-lisp/package-vc.el
>> +++ b/lisp/emacs-lisp/package-vc.el
>> @@ -573,35 +574,36 @@
>>
>> +;;;###autoload
>> (defun package-vc-update (pkg-desc)
>> "Attempt to update the package PKG-DESC."
>> (interactive (list (package-vc--read-package-desc "Update source package: " t)))
>> ;; HACK: To run `package-vc--unpack-1' after checking out the new
>> ;; revision, we insert a hook into `vc-post-command-functions', and
>> ;; remove it right after it ran. To avoid running the hook multiple
>> ;; times or even for the wrong repository (as `vc-pull' is often
>> ;; asynchronous), we extract the relevant arguments using a pseudo
>> ;; filter for `vc-filter-command-function', executed only for the
>> ;; side effect, and store them in the lexical scope. When the hook
>> ;; is run, we check if the arguments are the same (`eq') as the ones
>> ;; previously extracted, and only in that case will be call
>> ;; `package-vc--unpack-1'. Ugh...
>> ;;
>> ;; If there is a better way to do this, it should be done.
>> (cl-assert (package-vc-p pkg-desc))
>> (letrec ((pkg-dir (package-desc-dir pkg-desc))
>> (vc-flags)
>> (vc-filter-command-function
>> (lambda (command file-or-list flags)
>> (setq vc-flags flags)
>> (list command file-or-list flags)))
>> (post-upgrade
>> (lambda (_command _file-or-list flags)
>> (when (and (file-equal-p pkg-dir default-directory)
>> (eq flags vc-flags))
>> (unwind-protect
>> (with-demoted-errors "Failed to activate: %S"
>> (package-vc--unpack-1 pkg-desc pkg-dir))
>> (remove-hook 'vc-post-command-functions post-upgrade))))))
>> (add-hook 'vc-post-command-functions post-upgrade)
>> (with-demoted-errors "Failed to fetch: %S"
>> (let ((default-directory pkg-dir))
>> (vc-pull)))))
>
> works!
Marked as closed.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-12-15 12:59 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-07 2:35 bug#59088: 29.0.50; void-function package-vc-update when first run package-update-all Feng Shu
2022-12-15 10:15 ` Philip Kaludercic
2022-12-15 10:37 ` Feng Shu
2022-12-15 12:59 ` Philip Kaludercic
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.