Changeset 13415

Ignore:
Timestamp:
07/26/11 18:50:04 (10 years ago)
Message:

Don't print the #\Uxxxx representation for character codes greater than 0xff.

We make #\Uxxxx a synonym of character code but not the cannonical
character name, using instead the unicode character at that point.

Location:
trunk/abcl
Files:
3 edited

Unmodified
Removed
• trunk/abcl/doc/manual/abcl.tex

 r13372 \subsection{Requirements} java-1.5.xx, java-1.6.0_10+ recommended. java-1.5.xx, java-1.6.0__10+ recommended. % Omit the build instructions?  This really doesn't belong in a User % Manual, or if it does, then in an appendix.  --ME 20110725 \subsection{Building from Source} There are three ways to build ABCL from the source release with the The Lisp \code{eval} primitive may be simply passed strings for evaluation, as follows Notice that all possible return values from an arbitrary Lisp computation are collapsed into a single return value.  Doing useful further computation on the LispObject depends on knowing what the further computation on the LispObject'' depends on knowing what the result of the computation might be, usually involves some amount of \code{instanceof} introspection, and forms a whole topic to itself (c.f. [Introspecting a LispObject](#introspecting)). Using EVAL involves the Lisp interpreter.  Lisp functions may be Using EVAL'' involves the Lisp interpreter.  Lisp functions may be directly invoked by Java method calls as follows.  One simply locates the package containing the symbol, then obtains a reference to the LispObject result = fooFunction.execute(parameter); // How to get the "naked string value"? System.out.prinln("The result was " + result.writeToString()); System.out.println("The result was " + result.writeToString()); \end{code} \end[java]{code} \subsubsection{Extensions to the Reader} We implement a special hexadecimal escape sequence for specifying characters to the Lisp reader, namely we allow a sequences of the form #\Uxxxx to be processed by the reader as character whose code is specified by the hexadecimal digits `xxxx'.  The hexadecimal sequence must be exactly four digits long, padded by leading zeros for values less than 0x1000. Note that this sequence is never output by the implementation.  Instead, the corresponding Unicode character is output for characters whose code is greater than 0x00ff. \section{Multithreading} \section{History} ABCL was originally the extension language for the J editor, which was started in 1998 by Peter Graves.  Sometime in 2003, it seems that a lot of code that had previously not been released publically was suddenly committed that enabled ABCL to be plausibly termed an ANSI Common Lisp implementation. In 2006, the implementation was transferred to the current maintainers, who have strived to improve its usability as a contemporary Common Lisp implementation. \end{document}
• trunk/abcl/src/org/armedbear/lisp/LispCharacter.java

 r13402 } if (c > 255) { final String result = "0000" + Integer.toString(c, 16); return "U" + result.substring(result.length() - 4, result.length()); } if (c<0) return null; if (c<0 || c>255) return null; return lispChars.get(c).name; }
• trunk/abcl/test/lisp/ansi/ansi-test-failures

 r13414 FORMATTER.C.2A TRACE.8)) (doit 0.27.0-dev-13414M :id saturn (DEFGENERIC.ERROR.20 DEFGENERIC.ERROR.21 DEFGENERIC.30 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 DEFMETHOD.ERROR.14 DEFMETHOD.ERROR.15 INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 DELETE-PACKAGE.5 DELETE-PACKAGE.6 MAP.48 TYPE-OF.1 TYPE-OF.4 ENSURE-DIRECTORIES-EXIST.8 PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17)) (compileit 0.27.0-dev-13414M :id saturn (ETYPECASE.15 MULTIPLE-VALUE-PROG1.10 DEFGENERIC.ERROR.20 DEFGENERIC.ERROR.21 DEFGENERIC.30 CALL-NEXT-METHOD.ERROR.1 CALL-NEXT-METHOD.ERROR.2 DEFMETHOD.ERROR.14 DEFMETHOD.ERROR.15 INVOKE-DEBUGGER.1 MAKE-CONDITION.3 MAKE-CONDITION.4 DELETE-PACKAGE.5 DELETE-PACKAGE.6 MAP.48 TYPE-OF.1 TYPE-OF.4 ENSURE-DIRECTORIES-EXIST.8 PRINT.SYMBOL.RANDOM.2 PRINT.SYMBOL.RANDOM.3 PRINT.SYMBOL.RANDOM.4 PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 TRACE.8))
Note: See TracChangeset for help on using the changeset viewer.