From: Mark Oteiza <address@hidden>
Date: Sat, 29 Jul 2017 12:43:51 -0400
Cc: address@hidden
Stefan Monnier <address@hidden> writes:
>> (let ((pure-fns
>> - '(concat symbol-name regexp-opt regexp-quote string-to-syntax)))
>> + '(concat symbol-name regexp-opt regexp-quote string-to-syntax
>> + make-vector)))
>
> Ah, now that makes a lot more sense: make-vector is much less pure than
> string-to-char. The above will cause the compiler to replace
>
> (make-vector 2 ?a)
>
> with
>
> [?a ?a]
>
> so you end with a single immediate vector being re-used over and over,
> instead of having a new vector created each time.
But reading a literal vector still generates a new vector, no?