Subject: 30.1; vc-print-log weird for shortlog when vc-git-print-log-follow not nil for git

From: jixiuf <[email-masked]>
Date: Sat, 22 Mar 2025 23:33:17 +0800

with
```
(setq 
 vc-git-print-log-follow t
 vc-log-short-style '(directory file))
 ```
 then find-file: lisp/vc/vc-git.el then M-x:vc-print-log
 
 ...    <-------------------- why three dots here
* acb96a5ca8a..: Mauro Aranda 2025-03-17 Make marking conflicted files as resolved upon saving opt-out
...   <-------------------- why three dots here
| * | 7fa975adbce..: Stefan Kangas 2025-01-02 Update copyright year to 2025
...   <-------------------- why three dots here
* | | 4da38c63216..: Paul Eggert 2025-01-01 Update copyright year to 2025
...     <-------------------- why three dots here
| * | | 331610aef05..: Eli Zaretskii 2024-11-18 ; Improve vc-dir help-echo
...   <-------------------- why three dots here
* | | 679c0c7b940..: Sean Whitton 2024-10-30 ; Revise improvements to vc-git-stash-read
* | | 6a2e49e53f1..: Sean Whitton 2024-10-29 ; * lisp/vc/vc-git.el (vc-git-stash-read): Use string-empty-p.
* | | 4024c5db892..: Sean Whitton 2024-10-29 ; * lisp/vc/vc-git.el (vc-deduce-fileset): Declare.

In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.42,
 cairo version 1.18.2) of 2025-02-24 built on localhost
System Description: Gentoo Linux

Configured using:
 'configure --prefix=/usr --build=x86_64-pc-linux-gnu
 --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
 --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
 --localstatedir=/var/lib --datarootdir=/usr/share
 --disable-silent-rules --docdir=/usr/share/doc/emacs-30.1
 --htmldir=/usr/share/doc/emacs-30.1/html --libdir=/usr/lib64
 --program-suffix=-emacs-30 --includedir=/usr/include/emacs-30
 --infodir=/usr/share/info/emacs-30 --localstatedir=/var
 --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
 --without-compress-install --without-hesiod --without-pop
 --with-file-notification=inotify --with-pdumper --enable-acl
 --enable-xattr --with-dbus --with-modules --without-gameuser
 --with-libgmp --with-gpm --without-native-compilation
 --without-kerberos --without-kerberos5 --with-lcms2 --with-xml2
 --without-mailutils --without-selinux --with-sqlite3 --with-gnutls
 --with-libsystemd --with-threads --with-tree-sitter --without-wide-int
 --with-sound=alsa --with-zlib --with-pgtk --without-x --without-ns
 --with-toolkit-scroll-bars --without-gconf --without-xwidgets
 --without-gsettings --with-harfbuzz --without-libotf --without-m17n-flt
 --with-gif --with-jpeg --with-png --with-rsvg --with-tiff
 --without-webp --with-imagemagick --with-dumping=pdumper
 'CFLAGS=-march=native -O2 -pipe -fno-fast-math -ffp-contract=off'
 CPPFLAGS= LDFLAGS=-Wl,-O2,--as-needed'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM HARFBUZZ IMAGEMAGICK
JPEG LCMS2 LIBSYSTEMD LIBXML2 MODULES NOTIFY INOTIFY PDUMPER PGTK PNG
RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER
XIM GTK3 ZLIB

Important settings:
  value of $LC_ALL: zh_CN.UTF-8
  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
  dired-async-mode: t
  whitespace-mode: t
  display-line-numbers-mode: t
  subword-mode: t
  server-mode: t
  beacon-mode: t
  savehist-mode: t
  save-place-mode: t
  global-tab-line-mode: t
  tab-line-mode: t
  auto-insert-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  pixel-scroll-precision-mode: t
  marginalia-mode: t
  global-completion-preview-mode: t
  completion-preview-mode: t
  minibuffer-depth-indicate-mode: t
  minibuffer-electric-default-mode: t
  recentf-mode: t
  icomplete-mode: t
  which-key-mode: t
  meow-global-mode: t
  meow-mode: t
  meow-normal-mode: t
  meow-esc-mode: t
  global-auto-revert-mode: t
  electric-pair-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
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  window-divider-mode: t
  minibuffer-regexp-mode: t
  line-number-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  auto-save-visited-mode: t

Features:
(shadow sort emacsbug mule-util tramp-cmds consult-dir mail-extr hl-line
gnus-topic gnus-search eieio-opt speedbar ezimage dframe qp nnselect
nndraft nnmh nnmaildir nnnil gnus-agent gnus-srvr gnus-score score-mode
nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime gnutls
dig nntp 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 gnus-win gnus
nnheader range tramp-cache time-stamp shortdoc comp-common jka-compr
help-fns radix-tree find-func misearch multi-isearch xref
golden-ratio-scroll-screen bug-reference log-view vc lazy-buffer
conf-magit magit-bookmark magit-submodule 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
magit-diff smerge-mode diff git-commit log-edit message sendmail
yank-media puny conf-dired dired-async async dired-aux
vmacs-dired-single lazy-dired-sort dired-filetype-face advice dired
dired-loaddefs rfc822 mml mml-sec gnus-util mm-decode mm-bodies
mm-encode mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log
magit-core magit-autorevert magit-margin magit-transient magit-process
with-editor magit-mode elp transient magit-git magit-base which-func
imenu vc-git diff-mode track-changes vc-dispatcher magit-section
benchmark cursor-sensor crm llama dabbrev cape project edmacro
lazy-command finder-inf whitespace display-line-numbers cap-words
superword subword conf-private server conf-tmp beacon savehist saveplace
tramp-sh conf-version-control conf-lsp conf-tabs tab-line conf-wgrep
exec-path-from-shell eshell esh-cmd generator esh-ext esh-opt esh-proc
esh-io esh-arg esh-module esh-module-loaddefs esh-util conf-yasnippet
autoinsert lazy-camelize yasnippet cl-extra conf-common pixel-scroll
cua-base conf-clipboard conf-evil-window conf-space-tab conf-sudo
conf-keybind conf-icomplete marginalia embark-consult embark ffap
thingatpt orderless completion-preview mb-depth minibuf-eldef consult
bookmark text-property-search pp compat recentf tree-widget wid-edit
icomplete conf-meow meow-tree-sitter treesit which-key meow meow-tutor
meow-cheatsheet meow-cheatsheet-layout meow-core meow-shims delsel
meow-esc easy-mmode meow-command array meow-thing meow-visual
meow-keypad meow-beacon kmacro meow-helpers meow-util color meow-keymap
meow-face meow-var conf-face conf-gpg epa-file epa derived epg rfc6068
epg-config modus-vivendi-theme modus-themes site-gentoo beacon-autoloads
cape-autoloads clipetty-autoloads consult-dir-autoloads
copilot-autoloads dape-autoloads dired-filetype-face-autoloads
dirvish-autoloads emamux-autoloads embark-consult-autoloads
consult-autoloads embark-autoloads exec-path-from-shell-autoloads
git-link-autoloads go-translate-autoloads
golden-ratio-scroll-screen-autoloads goto-chg-autoloads gptel-autoloads
kkp-autoloads lua-mode-autoloads magit-todos-autoloads magit-autoloads
pcase magit-section-autoloads llama-autoloads hl-todo-autoloads
f-autoloads dash-autoloads async-autoloads marginalia-autoloads
markdown-mode-autoloads meow-tree-sitter-autoloads meow-autoloads
orderless-autoloads org-alert-autoloads alert-autoloads log4e-autoloads
gntp-autoloads org-msg-autoloads htmlize-autoloads ox-gfm-autoloads
pcre2el-autoloads pinyinlib-autoloads plz-autoloads posframe-autoloads
protobuf-mode-autoloads s-autoloads transient-autoloads verb-autoloads
vundo-autoloads info with-editor-autoloads yasnippet-autoloads
conf-linux init-base conf-lazy-load lazy-loaddefs conf-package 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 url-vars tramp rx trampver tramp-integration files-x
tramp-message help-mode tramp-compat xdg shell pcomplete comint ansi-osc
ring parse-time iso8601 time-date format-spec auth-source cl-seq eieio
eieio-core cl-macs icons password-cache json subr-x map byte-opt gv
bytecomp byte-compile ansi-color tramp-loaddefs autorevert filenotify
cl-loaddefs cl-lib elec-pair cus-load custom-file conf-tmp-before
conf-macro china-util rmc iso-transl tooltip cconv eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel
term/pgtk-win pgtk-win term/common-win touch-screen pgtk-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
dynamic-setting font-render-setting cairo gtk pgtk lcms2 multi-tty
move-toolbar make-network-process emacs)

Memory information:
((conses 16 941727 1380699) (symbols 48 43080 216) (strings 32 273621 225138)
 (string-bytes 1 13578258) (vectors 16 94653) (vector-slots 8 1526836 939563) (floats 8 593 10038)
 (intervals 56 4843 1837) (buffers 992 32))