Implement FIND-PACKAGE-FROM-SUBSTRING which is supposed to be used in the reader:
* For FIND-PACKAGE-FROM-SUBSTRING, use a customized hash-table which
is used to map package names to packageoids. It is possible to
use (LIST STRING START END) as key in that hash-table to mean the
same as (SUBSEQ STRING START END) but without the consing---the
list itself is stack-allocated. (Idea due to jsnell)
* Make FIND-SYMBOL-FROM-SUBSTRING, INTERN-FROM-SUBSTRING,
FIND-PACKAGE-FROM-SUBSTRING, and %SXHASH-FROM-SUBSTRING all take a
START and END parameter, so it really works like SUBSEQ.
(Previously, only END was customizable.)
* For the above, make what was previously a macro WITH-SYMBOL an
inlined function LOOKUP-SYMBOL. The macro had to be adapted anyway
to also take a START into account, but its definition was drowning
in unquote commas.