Subject: bug#65092: closed (Re: bug#65092: 30.0.50; C-h f shows malformed description for vc-mode)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 14 Mar 2025 04:18:02 +0000

Your bug report

#65092: 30.0.50; C-h f shows malformed description for vc-mode

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].

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

Subject: Re: bug#65092: 30.0.50; C-h f shows malformed description for vc-mode
From: Sean Whitton <[email-masked]>
To: Stefan Monnier <[email-masked]>, [email-masked]
Date: Fri, 14 Mar 2025 12:17:17 +0800
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 31.1

Hello,

Confirmed fixed, thank you.

-- 
Sean Whitton

Subject: 30.0.50; C-h f shows malformed description for vc-mode
From: Eshel Yaron <[email-masked]>
To: [email-masked]
Date: Sat, 05 Aug 2023 14:25:11 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

I seems to have stumbled upon an issue with type inference on the master
branch that causes `describe-function` to display the following
malformed description for the function `vc-mode`:

    vc-mode is a native-compiled Lisp function in ‘vc-hooks.el’.

    (vc-mode &optional ARG)

    Inferred type: (function (&optional t) (member Version Control minor
    mode.  This minor mode is automatically activated whenever you visit a
    file under control of one of the revision control systems in
    `vc-handled-backends'.  VC commands are globally reachable under the
    prefix `\[vc-prefix-map]': \{vc-prefix-map}))

    Version Control minor mode.
    This minor mode is automatically activated whenever you...

To reproduce, do `C-h f vc-mode RET` in `emacs -Q`.

Basically, it looks like the inferred type somehow includes the
function's docstring verbatim:

--8<---------------cut here---------------start------------->8---
(comp-function-type-spec 'vc-mode)
=> ((function (&optional t) (member "Version Control minor mode.
This minor mode is automatically activated whenever you visit a file under
control of one of the revision control systems in `vc-handled-backends'.
VC commands are globally reachable under the prefix `\\[vc-prefix-map]':
\\{vc-prefix-map}")) . inferred)
--8<---------------cut here---------------end--------------->8---

In GNU Emacs 30.0.50 (build 3, x86_64-apple-darwin22.5.0, NS
 appkit-2299.60 Version 13.4 (Build 22F66)) of 2023-08-03 built on
 Dazzs-MBP
Repository revision: 7b30e11b2ac5cd360db7ee8b6aed07bd918b93a2
Repository branch: master
Windowing system distributor 'Apple', version 10.3.2299
System Description:  macOS 13.4

Configured using:
 'configure 'CFLAGS=-g0 -O3' --with-native-compilation --with-json
 --with-imagemagick --with-tree-sitter --enable-link-time-optimization'

Configured features:
ACL DBUS GIF GMP GNUTLS IMAGEMAGICK JPEG JSON LCMS2 LIBXML2 MODULES
NATIVE_COMP NOTIFY KQUEUE NS PDUMPER PNG SQLITE3 THREADS TIFF
TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Help

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  isearch-fold-quotes-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils time-date shortdoc vc-annotate vc-dir ewoc
vc vc-filewise vc-git diff-mode easy-mmode vc-dispatcher compile
text-property-search comint ansi-osc ansi-color ring comp comp-cstr
warnings icons subr-x rx cl-seq cl-macs gv cl-extra bytecomp
byte-compile thingatpt help-fns radix-tree help-mode cl-loaddefs cl-lib
rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/ns-win ns-win
ucs-normalize mule-util term/common-win 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 kqueue cocoa ns
lcms2 multi-tty make-network-process native-compile emacs)

Memory information:
((conses 16 117625 14245) (symbols 48 8927 0) (strings 32 28340 1637)
 (string-bytes 1 843928) (vectors 16 20095)
 (vector-slots 8 394629 13087) (floats 8 92 641) (intervals 56 470 0)
 (buffers 984 13))