load and autoload fails when ibase # 10



>>>>> "Rupert" == Rupert Swarbrick <rswarbrick at gmail.com> writes:

    Rupert> Robert Dodier <robert.dodier at gmail.com> writes:
    >> On 2013-01-02, Volker van Nek <volkervannek at gmail.com> wrote:
    >> 
    >>> I understand. So it's possible to explicitly load a package by
    >>> wrapping load in ibase:10. .
    >>> 
    >>> (%i1) ibase:16$
    >>> (%i2) block([ibase:10.], load(stringproc))$
    >>> (%i3) ascii(7a);
    >>> (%o3)                                  z
    >>> 
    >>> So a fix could be to wrap the corresponding source functions which
    >>> perform loading in ibase:10. . Which are these and what is $ibase at
    >>> Lisp level ?
    >> 
    >> The Lisp variable is *READ-BASE* (and the corresponding one for obase is
    >> *PRINT-BASE*). Looks like the function LOADFILE (src/suprv1.lisp circa
    >> line 229) loads Lisp files for Maxima (including autoloading).

    Rupert> Yeah, but my question is why we clobber *READ-BASE* when loading lisp
    Rupert> files. I genuinely can't think of any situation where I would want to do
    Rupert> that... Frankly, I'm struggling to think of a situation where I'd want
    Rupert> it when load()ing .mac files either.

Because the numerical constants are easier to interpret when written
in a certain base?  Like 0x3fffffff is (sometimes) easier to interpret
than 1073741823.

Ray