Subject: RE: [External] : Re: bug#55853: 28.1; Please document f#(...) syntax in Elisp manual

From: Drew Adams <[email-masked]>
Date: Thu, 9 Jun 2022 14:04:52 +0000

> > See https://urldefense.com/v3/__https://stackoverflow.com/q/72547221/729907
> __;!!ACWV5N9M2RV99hQ!Js5VF7KbuZreJUFSLAH2FrOVle2g3oyTYcFXS7qlnAwG8QAl9v
> GcS1skzoz2U2AgbNowlTxv7NJQ$ .
> >
> > Users see this #f(...) syntax.  They should be able to consult the
> > doc in some way to find out what it is/means.  Please consider
> > documenting it in the Elisp manual.  Thx.
> 
> From the URL:
> 
> The syntax in question is in the following expression
> 
> ((remote . emacs)
>  (system . #f(compiled-function
>           (file path)
>           #<bytecode -0x47e8150df949387>))
>  (t . #f(compiled-function
>      (file path)
>      #<bytecode -0x47e8150df949387>)))
> 
> It's from:
> 
> (cl-defmethod cl-print-object ((object compiled-function) stream)
>   (unless stream (setq stream standard-output))
>   ;; We use "#f(...)" rather than "#<...>" so that pp.el gives better
> results.
>   (princ "#f(compiled-function " stream)
> 
> I.e., it's from the "pretty" version of prin1, and is not meant to be
> readable by the Lisp reader.
> 
> I've now mentioned this in the Special Read Syntax node in the lispref
> manual in Emacs 28.2.

Thanks, that's a start (and all that the bug report
requested: document in the manual).

But is there any chance this "pretty"-printing itself
can be made more human-friendly / communicative?

Aside from (I guess) naming the formal parameters, it
looks like it just says "BLAT$%@#(*&{}:"|?><(/.,!!".

https://stackoverflow.com/a/72561466/729907