Subject: bug#79411: 31.0.50; describe-package does not show :readme after package installation, but sth else

From: Philip Kaludercic <[email-masked]>
Date: Mon, 08 Sep 2025 20:56:36 +0000

Hi, if you have a reasonable patch, I would gladly review it.  The behaviour you describe does fundamentally sound confusing, and it would be nice to come up with a solution.

On 8 September 2025 22:18:43 CEST, Jens Schmidt <[email-masked]> wrote:
>X-Debbugs-Cc: Philip Kaludercic <[email-masked]>
>
>Move your `package-user-dir' temporarily away.  Then start "./src/emacs
>-Q".  Then:
>
>M-x package-initialize RET
>M-x package-list-packages RET
>C-h P beframe RET
>
>This shows the README.md as package description, as defined by
>Prots through property :readme:
>
>  # Beframe (beframe.el) for GNU Emacs
>
>  `beframe` enables a frame-oriented Emacs workflow where each frame has
>  access to the list of buffers visited therein.  In the interest of
>  brevity, we call buffers that belong to frames "beframed".
>
>  **Video demo:** <https://protesilaos.com/codelog/2023-02-28-emacs-beframe-demo/>
>
>  + Package name (GNU ELPA): `beframe`
>  + Official manual: <https://protesilaos.com/emacs/beframe>
>  + Change log: <https://protesilaos.com/emacs/beframe-changelog>
>  + Git repositories:
>    + GitHub: <https://github.com/protesilaos/beframe>
>    + GitLab: <https://gitlab.com/protesilaos/beframe>
>  + Backronym: Buffers Encapsulated in Frames Realise Advanced
>    Management of Emacs.
>
>Then:
>
>M-x package-install beframe RET
>C-h P beframe RET
>
>Now this shows the README.org file as package description, which
>in that place is ... ugly.  I am aware of the following comment
>in function `package--get-description':
>
>  ;; We don’t include README.md here, because that is often the home
>  ;; page on a site like github, and not suitable as the package long
>  ;; description.
>
>But probably if a package author has willfully designed her/his
>README.md to be used as property :readme, then it should also be
>used for installed packages [1]?  Probably if there is a :readme
>property, then function `package--get-description' should even
>always use that, and not resort to guessing [2]?
>
>If you agree and want me to provide a patch to that effect ([1]
>or [2]?), please let me know.
>
>[ I'm filing/asking this because I have been planning to use a
>  combination of (:readme "README.md" :doc "README.org") similar
>  to what Prots has been doing for his beframe package. ]
>
>In GNU Emacs 31.0.50 (build 6, x86_64-pc-linux-gnu, GTK+ Version
> 3.24.38, cairo version 1.16.0) of 2025-09-08 built on sappc2
>Repository revision: 4c74b68fb1f23db6ba770f7322efe378f3492751
>Repository branch: master
>Windowing system distributor 'The X.Org Foundation', version 11.0.12201009
>System Description: Debian GNU/Linux 12 (bookworm)
>
>Configured using:
> 'configure --with-native-compilation --with-mailutils'
>
>Configured features:
>ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
>LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP
>NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF
>TOOLKIT_SCROLL_BARS WEBP X11 XDBE XIM XINERAMA XINPUT2 XPM XRANDR GTK3
>ZLIB
>
>Important settings:
>  value of $LC_COLLATE: POSIX
>  value of $LC_TIME: POSIX
>  value of $LANG: en_US.UTF-8
>  value of $XMODIFIERS: @im=ibus
>  locale-coding-system: utf-8-unix
>
>Major mode: Lisp Interaction
>
>Minor modes in effect:
>  tooltip-mode: t
>  global-eldoc-mode: t
>  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
>  global-font-lock-mode: t
>  font-lock-mode: t
>  blink-cursor-mode: t
>  minibuffer-regexp-mode: 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 transient pcase format-spec edmacro
>kmacro warnings info beframe-autoloads easy-mmode loaddefs-gen tar-mode
>arc-mode archive-mode novice cus-edit pp cus-start cus-load wid-edit
>lisp-mnt misearch multi-isearch cl-extra cl-print help-fns radix-tree
>help-mode mm-archive message sendmail yank-media dired dired-loaddefs
>rfc822 mml mml-sec epa derived gnus-util time-date mailabbrev gmm-utils
>mailheader mm-decode mm-bodies mm-encode mail-utils mule-util gnutls
>network-stream url-cache url-http url-auth mail-parse rfc2231 rfc2047
>rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm puny epg rfc6068
>epg-config display-line-numbers compile text-property-search comint
>ansi-osc ansi-color ring comp-run comp-common rx finder-inf thingatpt
>package browse-url xdg 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 icons
>password-cache json subr-x map byte-opt gv bytecomp byte-compile
>url-vars cl-loaddefs cl-lib 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 touch-screen 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 gtk
>x-toolkit xinput2 x multi-tty move-toolbar make-network-process
>tty-child-frames native-compile emacs)
>
>Memory information:
>((conses 16 348941 46086) (symbols 48 13566 0) (strings 32 67396 5547)
> (string-bytes 1 1770646) (vectors 16 33740)
> (vector-slots 8 746562 66527) (floats 8 61 158)
> (intervals 56 25221 0) (buffers 984 16))
>
>
>

Sent from my phone