"Madhu" == Madhu <enometh@meer.net> writes:
Madhu> When running Unicode CMUCL from the location where it is compiled, Madhu> it starts with an error saying it cannot find the unidata.bin file. Madhu> Usually one can set the search-list translations in ~/.cmucl-init.lisp, Madhu> but this error happens even before that, so the only locations CMUCL can Madhu> look for are the hardcoded locations. Madhu> How can one supress the error, or specify the location during startup, Madhu> so one can start `lisp -noinit' without throwing this error (when the Madhu> "unidata.bin" file is not where the packaged/installed CMUCL expects to Madhu> find it installed) Ah, you're right. I don't think it's currently possible, because unidata.bin is used by reinit-char-attributes, which is on the *after-save-initializations* list, which is run very early in the startup, just before the locale is setup and before any (lisp) command line arguments are processed. I think calling reinit-char-attributes after the command line is processed is generally too late, because the locale needs to be set before then. I think the only option would be to add a new command-line argument that is processed by the C code before Lisp starts up. Not sure what this argument should be named or do, though. Maybe -unidata-path to specify the location of the unidata.bin file? If not specified, the default (hard-wired) path is used. Would that work for you? Or do you need also need a way to specify that the error should be ignored? (That would be kind of bad, I think, because the user won't know that unicode is broken.) Ray