Subject: Re: bug#56183: 29.0.50; read-from-minibuffer does not result with default value

From: Visuwesh <[email-masked]>
Date: Fri, 24 Jun 2022 13:33:16 +0530

[வெள்ளி ஜூன் 24, 2022] Jean Louis wrote:

> How I understand the "default" is that it should be the value
> that function gives as result in case when user does not write
> anything else, hits enter.
>
> However, it does not work this way with `read-from-minibuffer',
> so I will file bug report.
>
> (read-from-minibuffer "Your name: " nil nil nil nil "Jean") ⇒ ""
>

As the docstring of read-from-minibuffer says, READ should be non-nil if
DEFAULT-VALUE is to be returned:

    Sixth arg DEFAULT-VALUE, if non-nil, should be a string, which is used
      as the default to ‘read’ if READ is non-nil and the user enters
      empty input.  But if READ is nil, this function does _not_ return
      DEFAULT-VALUE for empty input!  Instead, it returns the empty string.

so everything works as expected.

Try (read-from-minibuffer "Your name: " nil nil t nil "Jean") instead.

> However, in this function it does work the expected way:
>
> (completing-read "Your name: " '("Jean" "Emmanuel" "Adebayo") nil nil nil nil "Jean") ⇒ "Jean"
>
> (completing-read "Your name: " '("Jean" "Emmanuel" "Adebayo") nil nil nil nil "Adebayo") ⇒ "Adebayo"
>
>
>
> In GNU Emacs 29.0.50 (build 10, x86_64-pc-linux-gnu, X toolkit, cairo version 1.17.6, Xaw3d scroll bars)
>  of 2022-06-18 built on protected.rcdrun.com
> Repository revision: 99577312f569e22f05a4d0960cc881ff46d4dc3a
> Repository branch: master
> Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
> System Description: Parabola GNU/Linux-libre
>
> Configured using:
>  'configure --with-x-toolkit=lucid'
>
> Configured features:
> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
> JSON LCMS2 LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY
> PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
> WEBP X11 XAW3D XDBE XIM XINPUT2 XPM LUCID ZLIB
>
> Important settings:
>   value of $LC_ALL: en_US.UTF-8
>   value of $LANG: de_DE.UTF-8
>   value of $XMODIFIERS: @im=exwm-xim
>   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
>   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 rmc puny
> dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg
> rfc6068 epg-config gnus-util text-property-search time-date seq gv
> subr-x byte-opt bytecomp byte-compile cconv mm-decode mm-bodies
> mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
> cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
> iso-transl tooltip 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
> 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 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 47056 8487)
>  (symbols 48 6255 3)
>  (strings 32 17744 2189)
>  (string-bytes 1 558767)
>  (vectors 16 12163)
>  (vector-slots 8 172412 13460)
>  (floats 8 22 38)
>  (intervals 56 246 0)
>  (buffers 992 11))