[Attached find Alejandro’s reply for completeness. I need to redo my credentials to the admin dashboard to forward cleanly which is going to take an unknown amount of time]
Begin forwarded message:
From: armedbear-devel-owner@common-lisp.net Subject: armedbear-devel@common-lisp.net post from ale2014.zamora@gmail.com requires approval Date: January 3, 2024 at 21:25:42 GMT+1 To: armedbear-devel-owner@common-lisp.net
As list administrator, your authorization is requested for the following mailing list posting:
List: armedbear-devel@common-lisp.net From: ale2014.zamora@gmail.com Subject: Re: Associating names with characters for named Unicode characters
The message is being held because:
The message is larger than the 40 KB maximum size
At your convenience, visit your dashboard to approve or deny the request.
From: Alejandro Zamora Fonseca ale2014.zamora@gmail.com Subject: Re: Associating names with characters for named Unicode characters Date: January 3, 2024 at 21:25:21 GMT+1 To: Robert Dodier robert.dodier@gmail.com Cc: Armed Bear armedbear-devel@common-lisp.net
Hi Robert
Probably not completely related but I made a small library to handle with Unicode details with ABCL https://github.com/alejandrozf/abcl-utils
Maybe that might help you in the association you want to make.

Best,
Alejandro
El mié, 3 ene 2024 a las 16:51, Robert Dodier (<robert.dodier@gmail.com mailto:robert.dodier@gmail.com>) escribió:
Hi, I wonder if there is a way to associate a name with a character at run time in ABCL.
I am interested in working with Unicode characters which have names, e.g. BOX DRAWINGS LIGHT HORIZONTAL and others listed in the document at: https://www.unicode.org/charts/PDF/U2500.pdf
I am thinking it would be great if I could refer to such characters by name, e.g.: #\BOX_DRAWINGS_LIGHT_HORIZONTAL. It appears that such names are not defined in ABCL; I'm looking for a way to define them at run time.
From looking at the source code, maybe it's possible via the
setCharName static method in org.armedbear.lisp.LispCharacter. However, when I try to get a reference to setCharName, I get an error:
CL-USER(10): (java:jstatic "setCharName" "org.armedbear.lisp.LispCharacter") #<THREAD "interpreter" native {48616CA1}>: Debugger invoked on condition of type ERROR No such static method: org.armedbear.lisp.LispCharacter.setCharName()
I thought maybe the problem there is that setCharName isn't declared public, but I tried the same operation with a declared public static method and I get the same error:
CL-USER(12): (java:jstatic "getInstance" "org.armedbear.lisp.LispCharacter") #<THREAD "interpreter" native {48616CA1}>: Debugger invoked on condition of type ERROR No such static method: org.armedbear.lisp.LispCharacter.getInstance()
so maybe I am not going about that correctly.
setCharName modifies the lookup table org.armedbear.lisp.LispCharacter.lispChars -- I'm sure it's not recommended, but maybe I can put new entries into it directly; can someone give me a hint as to the appropriate incantation in Lisp? lispChars is declared public static so it seems like it should be possible, if I can craft the appropriate method call to org.armedbear.lisp.CharHashMap.put.
Thanks for any info,
Robert
armedbear-devel@common-lisp.net