Localized maxima?



On 2/15/10 4:21 AM, Andrej Vodopivec wrote:
>> Soon, I'll be checking in a new version of intl from Paul that should
>> have these things fixed.
>>     
> This new version does not work for me:
>
> Maxima 5.20post http://maxima.sourceforge.net
> using Lisp SBCL 1.0.19
> Distributed under the GNU Public License. See the file COPYING.
> Dedicated to the memory of William Schelter.
> The function bug_report() provides bug reporting information.
> (%i1) :lisp intl::*default-domain*
> maxima
> (%i1) :lisp intl::*locale*
> es
>
> This does not get translated:
>
> (%i1) l:[1]$ l[5];
> part: invalid index of list or matrix.
>  -- an error. To debug this try: debugmode(true);
>
>   

Sorry about that.  If you look at the end of intl.lisp, *default-domain*
is set to nil.  Change that to "maxima".  This makes it work for me with
clisp.  (There are other issues with clisp, but I think it's a clisp
issue, not a maxima issue.)

Can you test that for me?

My understanding is that we're really supposed to have a
(intl:textdomain "maxima") in each source file.  The domain is supposed
to be reset to nil (the default) after compiling each file.  However,
there's no portable way to do that so the domain is set to whatever the
last value is.  This happens to be nil, from the end of intl.lisp.

I'm too lazy to put the textdomain in each file, so setting the domain
to maxima at the end of intl should work.  (Except for upcoming versions
of cmucl where that won't work because cmucl will reset *default-domain*
after compiling or loading a file.  This is why Makefile sets
*default-domain* to maxima when building sources.)

Ray