Subject: 29.0.50; Init-debug error when package-vc-install package and run older emacs

From: Feng Shu <[email-masked]>
Date: Sun, 20 Nov 2022 14:16:29 +0800

When I package-vc-install corfu-terminal and run an older version emacs,
the following error will be showed.

Debugger entered--Lisp error: (error "Version must be a string")
  error("Version must be a string")
  version-to-list((vc . "0.5"))
  package-desc-from-define("corfu-terminal" (vc . "0.5") "Corfu popup on terminal" '((emacs "26.1") (corfu "0.24") (popon "0.1")) :url "https://codeberg.org/akib/emacs-corfu-terminal" :keywords '("convenience") :maintainer '("Akib Azmain Turja" . "[email-masked]") :authors '(("Akib Azmain Turja" . "[email-masked]")) :commit "1a15a01e2e1464daadfa4973cb695802e5c23a25")
  package-process-define-package((define-package "corfu-terminal" (vc . "0.5") "Corfu popup on terminal" '((emacs "26.1") (corfu "0.24") (popon "0.1")) :url "https://codeberg.org/akib/emacs-corfu-terminal" :keywords '("convenience") :maintainer '("Akib Azmain Turja" . "[email-masked]") :authors '(("Akib Azmain Turja" . "[email-masked]")) :commit "1a15a01e2e1464daadfa4973cb695802e5c23a25"))
  package-load-descriptor("/home/feng/.emacs.d/elpa-29/corfu-terminal")
  #<subr package-load-all-descriptors>()
  apply(#<subr package-load-all-descriptors> nil)
  package-load-all-descriptors()
  package-initialize()
  (if package--initialized nil (package-initialize))
  load-with-code-conversion("/home/feng/projects/emacs-packages/emacs-helper/eh..." "/home/feng/projects/emacs-packages/emacs-helper/eh..." nil t)
  require(eh-basic)
  load-with-code-conversion("/home/feng/projects/emacs-packages/emacs-helper/em..." "/home/feng/projects/emacs-packages/emacs-helper/em..." nil t)
  require(emacs-helper)
  load-with-code-conversion("/home/feng/.emacs" "/home/feng/.emacs" t t)
  load("~/.emacs" noerror nomessage)
  startup--load-user-init-file(#f(compiled-function () #<bytecode 0x13f0af8d99d5a33e>) #f(compiled-function () #<bytecode -0x1f3c6feddc0bc175>) t)
  command-line()
  normal-top-level()

In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.16.0, Xaw scroll bars) of 2022-11-20 built on Guix
Repository revision: 2ec39734ca03e075f2515f178ed789872e52f98f
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Guix System

Configured using:
 'configure --with-native-compilation=no'

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

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

Major mode: ELisp/d

Minor modes in effect:
  global-git-commit-mode: t
  magit-auto-revert-mode: t
  shell-dirtrack-mode: t
  aggressive-indent-mode: t
  emms-playing-time-display-mode: t
  emms-playing-time-mode: t
  cnfonts-mode: t
  projectile-mode: t
  company-posframe-mode: t
  global-company-mode: t
  company-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
  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/corfu-terminal/corfu-terminal-pkg hides /home/feng/.emacs.d/elpa-29/corfu-terminal-0.5/corfu-terminal-pkg
/home/feng/.emacs.d/elpa-29/corfu-terminal/corfu-terminal hides /home/feng/.emacs.d/elpa-29/corfu-terminal-0.5/corfu-terminal
/home/feng/.emacs.d/elpa-29/corfu-terminal/corfu-terminal-autoloads hides /home/feng/.emacs.d/elpa-29/corfu-terminal-0.5/corfu-terminal-autoloads
/home/feng/.emacs.d/elpa-29/transient-20221119.1503/transient hides /home/feng/projects/emacs/lisp/transient

Features:
(shadow mail-extr emacsbug citre citre-global cus-edit cus-start
cus-load popon corfu loaddefs-gen vc-git mm-archive network-stream
url-cache url-http url-auth url-gw nsm package-vc cursor-sensor
emacs-helper eh-guix skeleton guix geiser-guile info-look geiser-debug
geiser-repl geiser-image geiser-capf geiser-doc geiser-menu
geiser-autodoc geiser-edit 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 shell server magit-mode
transient edmacro magit-git magit-base magit-section compat-27 compat-26
aggressive-indent eh-emms 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-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams
emms-show-all emms-tag-editor emms-tag-tracktag emms-mark emms-mode-line
emms-info-tinytag emms-info-metaflac emms-info-opusinfo
emms-info-ogginfo emms-info-mp3info emms-player-vlc emms-player-mpv
emms-playing-time emms-player-mplayer emms-player-simple emms-browser
emms-playlist-sort emms-last-played emms-volume easy-mmode
emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse
emms-volume-amixer emms-playlist-mode emms-source-playlist
emms-source-file locate emms-cache emms-info-native bindat
emms-info-exiftool emms-info emms-later-do emms-setup 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 lisp-mnt grep compile ibuf-ext ibuffer ibuffer-loaddefs
eh-gnus-common ebdb-message ebdb-gnus ebdb-mua ebdb-complete ebdb-com
crm ebdb-format ebdb-i18n-chn ebdb-i18n ebdb-i18n-basic ebdb eieio-base
timezone eww xdg url-queue thingatpt mm-url gnus-demon gnus-search
eieio-opt cl-extra 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
parse-time 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 company-posframe
company-keywords company-etags etags fileloop xref company-gtags
company-template company-dabbrev-code company-dabbrev company-files
company-capf company 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 pcase 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 pcomplete comint ansi-osc ansi-color
org-list org-faces org-entities noutline outline icons org-version
ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex iso8601
time-date ol org-keys oc org-compat advice org-macs org-loaddefs
format-spec 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 pyim pyim-cloudim pyim-probe pyim-preview pyim-page
popup 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 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 pp pixel-scroll cua-base recentf tree-widget
wid-edit elpa-mirror finder-inf projectile-autoloads
corfu-terminal-autoloads cape-autoloads paredit-autoloads
org-download-autoloads 0blayout-autoloads package-lint-autoloads rx
ivy-autoloads aggressive-indent-autoloads pyim-autoloads
ox-gfm-autoloads switch-window-autoloads cnfonts-autoloads
flycheck-autoloads tempel-autoloads magit-autoloads
magit-section-autoloads vundo-autoloads vertico-autoloads
corfu-autoloads marginalia-autoloads modus-themes-autoloads
citre-autoloads geiser-guile-autoloads geiser-impl help-fns radix-tree
help-mode geiser-custom geiser-base ring geiser-autoloads xr-autoloads
orderless-autoloads ebdb-autoloads consult-autoloads emms-autoloads
company-posframe-autoloads posframe-autoloads popon-autoloads
company-autoloads org-ql-autoloads peg-autoloads ov-autoloads
org-super-agenda-autoloads ts-autoloads ht-autoloads
markdown-mode-autoloads f-autoloads s-autoloads git-commit-autoloads
transient-autoloads pos-tip-autoloads dash-autoloads async-autoloads
with-editor-autoloads info compat-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 x multi-tty make-network-process
emacs)

Memory information:
((conses 16 933686 278283)
 (symbols 48 52254 6)
 (strings 32 552384 5771)
 (string-bytes 1 9911994)
 (vectors 16 103348)
 (vector-slots 8 13241609 64954)
 (floats 8 1202 482)
 (intervals 56 820 0)
 (buffers 984 13))