Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Merge fix from HEAD branch.
Oops. If the domain-entry-encoding is NIL, we just want to return NIL. (From Paul Foley.)
Revert previous change. Instead of caching probe-file, have LOAD-DOMAIN return an appropriate entry instead of returning NIL. This still gets rid of all the stats. Solution from Paul Foley.
Speed up building on sparc. Time taken is now almost half! This was caused by all the calls to stat in PROBE-FILE in LOCATE-DOMAIN-FILE for files that did not exist. The default locale was C, so every message lookup was causing many stat's to non-exist files. (There were over 1000 calls/sec on a 750 MHz sparc!) So we cache all the calls to PROBE-FILE in LOCATE-DOMAIN-FILE. But just in case, we also allow the user to get at the hash table to examine it (GET-DOMAIN-FILE-CACHE) and also allow the user to clear it (CLEAR-DOMAIN-FILE-CACHE) in case new translations are added without restarting lisp.
Oops. Previous implementation of with-textdomain didn't actually work. Use this new one. code/intl.lisp: o New WITH-TEXTDOMAIN. code/signal.lisp: o Update uses of WITH-TEXTDOMAIN. bootfiles/20a/boot-2010-07-1.lisp: o Update with new WITH-TEXTDOMAIN.
Some docstrings in signal.lisp were conditionalized for different features and causes the translated string to be included or removed from cmucl.pot. To help make this consistent, we put the system-dependent strings in the system-dependent pot files. bootfiles/20a/boot-2010-07-1.lisp: o Add a fake definition for with-textdomain so we can bootstrap the changes. o Removed a defstruct that was already commented out. code/exports.lisp: o Export WITH-TEXTDOMAIN. code/intl.lisp: o Add macro WITH-TEXTDOMAIN to temporarily bind the textdomain to the desired domain for the body, and restoring the original domain afterwards. code/signal.lisp: o Wrap the system-specific items in WITH-TEXTDOMAIN so they are placed in the system-dependent text domain.
Change uses of _"foo" to (intl:gettext "foo"). This is because slime may get confused with source locations if the reader macros are installed.
Remove _N"" reader macro from docstrings when possible.
From Paul Foley. Translatable strings are recorded only if *TRANSLATIONS* is non-NIL. Use boot-2010-04-1 to bootstrap this. code/intl.lisp: o Change default for *TRANSLATIONS* to NIL to disable translations. o Add TRANSLATION-ENABLE and TRANSLATION-DISABLE. code/exports.lisp: o Update exports list for new functions in INTL. o Remove *TRANSLATABLE-DUMP-STREAM* which no longer exists. bootfiles/20a/boot-2010-04-1.lisp: o New bootstrap file.
code/intl.lisp: o When saving the file name, use *compile-file-truename* instead of *compile-file-pathname*. Also use enough-namestring to make a shorter name. The file names that were placed in the pot file included search-lists which aren't understood by anything besides CMUCL. o Don't install the reader macros by default anymore. o Change INSTALL to accept an optional readtable that is modified with the reader macros and such. code/exports.lisp: o Export INTL::INSTALL. tools/build-world.sh: tools/build-utils.sh: o Need to install the reader macros when building so we can get generate the pot files. o Set *default-pathname-defaults* to be the (full) current build directory so that the pathnames in the pot file are relative to the build directory. These changes fix the main part of Ticket #39.
Merge intl-branch 2010-03-18 to HEAD. To build, you need to use boot-2010-02-1 as the bootstrap file. You should probably also use the new -P option for build.sh to generate and update the po files while building.
Restart internalization work. This new branch starts with code from the intl-branch on date 2010-02-12 18:00:00+0500. This version works and LANG=en@piglatin bin/lisp works (once the piglatin translation is added).
o Turn off optimization properties for now. o Fix issue where we run into trouble doing a domain lookup. This can call the compiler, which might want to look up translations, which calls for a domain lookup and so on. We fix it by binding *locale* to "C" in FIND-ENCODING. o Don't translate the error message about bad magic numbers. Also, change the error to a warning and return NIL. I think otherwise we get in an infinite loop trying to find a domain to print the translated error message. o Fix OCTETS= to handle the case where start1/start2 is not less than end1/end2. This happens when we do a domain lookup for "" to determine the encoding.
o Use normal optimization for dump-pot-files o Print a simple message when dumping a domain. o Change external format from :utf8 to :iso8859-1. (Might be problems with utf8 when doing a worldcom?)
Paul says we need to call NOTE-TRANSLATABLE in READ-TRANSLATABLE-STRING for #\", just like for #\N. This allows string in code that has been conditionalized out to be put in the pot file.
Make the search for the domain file if search lists aren't initialized yet, since the default locale directories includes search lists. This prevents the search from failing if we need to print out an error message early in the build/load process. Could this be done in a better/different way? code/save.lisp: o Define *ENVIRONMENT-LIST-INITIALIZED* o Set *ENVIRONMENT-LIST-INITIALIZED* to T after ENVIRONMENT-INIT has initialized everything. code/intl.lisp: o Make LOCATE-DOMAIN-FILE return NIL if the search lists aren't set up yet. This allows translated strings to just use the non-translated version. bootfiles/20a/boot-2010-02-1.lisp: o Bootstrap *ENVIRONMENT-LIST-INITIALIZED*
Should be LET* in READ-TRANSLATABLE-STRING so we read the string.
Remove debugging print.
Print out warning when dumping the pot file if a key is nil.
Generate a warning if the key is NIL. Don't know how this happens, but it needs to be fixed.
o Change the domain from "libintl" to "cmucl". o Document that the comment reader handles "TRANSLATORS: " in a comment as translator comments that are written to the pot file. o Change DUMP-POT-FILES to include a new keyword parameter to specify the output directory. Each domain is written to a file in that directory.
file intl.lisp was added on branch intl-2-branch on 2010-02-25 20:34:50 +0000
Add support for localization. From Paul Foley. bootfiles/20a/boot-2010-02-1.lisp: o New file to bootstrap localization support. code/intl.lisp: o New file that implements localization. code/exports.lisp: o Define INTL package o Add INTL package to LISP tools/worldbuild.lisp tools/worldcom.lisp tools/worldload.lisp o Compile intl.lisp
file intl.lisp was initially added on branch intl-branch.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|