Subject: RE: [External] : Re: bug#24982: 24.5; way to let Elisp reader ignore unreadable #(...) constructs

From: Drew Adams <[email-masked]>
Date: Sun, 13 Feb 2022 17:33:43 +0000

> > Provide a Boolean variable or a wrapper macro that has the effect of not
> > raising an error but just skipping over any unreadable #(...) construct.
> 
> I assume you mean #<...> here?

No.  I meant #(...).  I wrote that twice.

But if you like you could extend this request
to some other - or to ALL - # reader syntax.
In that case, it would be good to be able to
specify just which syntaxes to ignore - e.g.,
have an option or defvar whose value is a list
that specifies which to ignore (e.g. in a
given context).

E.g. (from `i # TAB' in the Elisp manual):

 ##
 #$
 #'
 #(
 #@COUNT
 #:
 #N#
 #N=
 #^

> Anyway, there was some discussion about this in the context of the new
> readablep function and the `print-unreadable-function' variable.  We
> could indeed introduce a new `read-unreadable-function' variable that's
> called when we encounter a #< instead of throwing an error (with no
> performance impact).
> 
> Does anybody see any major downsides to doing that?  We've been wary of
> allowing the users to customise the Emacs Lisp reader, but this seems
> like a very small thing.  And it'd allow people to implement having
> 
> #<marker in no buffer>
> 
> read to (make-marker), etc, if they find that useful for some data
> structures.
> 
> I had an extremely quick peek at this some time back, and it seemed
> pretty trivial to implement.
> 
> Any opinions?
> 
> --
> (domestic pets only, the antidote for overdose, milk.)
>    bloggy blog:
> https://urldefense.com/v3/__http://lars.ingebrigtsen.no__;!!ACWV5N9M2RV99hQ!
> ecUUd4A1C-jNt5HVD7l0qY450h_bpEQRCBEBtE78iCT4tITSqr-AY6VKDdpX9cNx$