GNU bug report logs - #79059
31.0.50; eshell-emit-prompt errors when front-sticky or rear-nonsticky properties are set to t

Previous Next

Package: emacs;

Reported by: László Vaskó <hello <at> vlaci.email>

Date: Sun, 20 Jul 2025 10:51:04 UTC

Severity: normal

Found in version 31.0.50

Done: Jim Porter <jporterbugs <at> gmail.com>

Full log


Message #8 received at 79059 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: László Vaskó <hello <at> vlaci.email>, Jim Porter
 <jporterbugs <at> gmail.com>
Cc: 79059 <at> debbugs.gnu.org
Subject: Re: bug#79059: 31.0.50;
 eshell-emit-prompt errors when front-sticky or rear-nonsticky
 properties are set to t
Date: Tue, 22 Jul 2025 14:22:06 +0300
> Date: Sun, 20 Jul 2025 12:00:55 +0200
> From: László Vaskó <hello <at> vlaci.email>
> 
> Hello,
> 
> Since df288d2e414 (bug#74230) eshell is more careful adding text
> properties to prompts using `eshell--append-text-property'. It's
> implementation assumes that `get-text-property' will always return a
> list. This is not true, as both `front-sticky' and `rear-nonsticky'
> properties can be set to t.
> 
> Repro:
> 
> -- 8< --
> cat <<EOF > /tmp/init-eshell-propertized-prompt.el
> ;; -*- lexical-binding: t; -*-
> (setq eshell-prompt-function 
>       (defun propertizing-prompt ()
>         (setq eshell-prompt-string (propertize "test" 'rear-nonsticky t))))
> (eshell)                           
> EOF                                                    
> emacs -Q --batch --load /tmp/init-eshell-propertized-prompt.el
> -- 8< --
> 
> Output:
> 
>     Loading eshell-alias...
>     Loading eshell-alias...done
>     Loading eshell-banner...
>     Loading eshell-banner...done
>     Loading eshell-basic...
>     Loading eshell-basic...done
>     Loading eshell-cmpl...
>     Loading eshell-cmpl...done
>     Loading eshell-extpipe...
>     Loading eshell-extpipe...done
>     Loading eshell-glob...
>     Loading eshell-glob...done
>     Loading eshell-hist...
>     Loading eshell-hist...done
>     Loading eshell-ls...
>     Loading eshell-ls...done
>     Loading eshell-pred...
>     Loading eshell-pred...done
>     Loading eshell-prompt...
>     Loading eshell-prompt...done
>     Loading eshell-script...
>     Loading eshell-script...done
>     Loading eshell-term...
>     Loading eshell-term...done
>     Loading eshell-unix...
>     Loading eshell-unix...done
> 
>     Error: wrong-type-argument (sequencep t)
>       eshell--append-text-property(0 4 rear-nonsticky (read-only font-lock-face field) #("test" 0 4 (front-sticky (read-only font-lock-face field) font-lock-face eshell-prompt read-only t field prompt rear-nonsticky t)))
>       eshell-emit-prompt()
>       run-hooks(eshell-post-command-hook)
>       eshell-mode()
>       eshell()
>       load-with-code-conversion("/tmp/init-eshell-propertized-prompt.el" "/tmp/init-eshell-propertized-prompt.el" nil t)
>       command-line-1(("--load" "/tmp/init-eshell-propertized-prompt.el"))
>       command-line()
>       normal-top-level()
> 
>     debug-early-backtrace...done
>     Wrong type argument: sequencep, t

Thanks.

Jim, could you please look into this?




This bug report was last modified 23 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.