>>>>> "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