[armedbear-cvs] r13415 - in trunk/abcl: doc/manual src/org/armedbear/lisp test/lisp/ansi

mevenson at common-lisp.net mevenson at common-lisp.net
Tue Jul 26 18:50:05 UTC 2011


Author: mevenson
Date: Tue Jul 26 11:50:04 2011
New Revision: 13415

Log:
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.

Modified:
   trunk/abcl/doc/manual/abcl.tex
   trunk/abcl/src/org/armedbear/lisp/LispCharacter.java
   trunk/abcl/test/lisp/ansi/ansi-test-failures

Modified: trunk/abcl/doc/manual/abcl.tex
==============================================================================
--- trunk/abcl/doc/manual/abcl.tex	Thu Jul 21 23:20:11 2011	(r13414)
+++ trunk/abcl/doc/manual/abcl.tex	Tue Jul 26 11:50:04 2011	(r13415)
@@ -22,10 +22,14 @@
 
 \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
 preferred (and most tested way) is to being to use the Ant build tool:
 
@@ -238,7 +242,6 @@
 \end{code}
 
 
-
 The Lisp \code{eval} primitive may be simply passed strings for evaluation,
 as follows
 
@@ -249,12 +252,12 @@
 
 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
 symbol, and then invokes the `execute()` method with the desired
@@ -268,7 +271,7 @@
     JavaObject parameter = new JavaObject("Lisp is fun!");
     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}
 
 If one is calling an primitive function in the CL package the syntax
@@ -401,6 +404,18 @@
  …
  \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}
 
@@ -409,6 +424,17 @@
 
 \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}
 
 % TODO

Modified: trunk/abcl/src/org/armedbear/lisp/LispCharacter.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/LispCharacter.java	Thu Jul 21 23:20:11 2011	(r13414)
+++ trunk/abcl/src/org/armedbear/lisp/LispCharacter.java	Tue Jul 26 11:50:04 2011	(r13415)
@@ -626,12 +626,7 @@
         return "Rubout";
       }
 
-    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;
   }
 

Modified: trunk/abcl/test/lisp/ansi/ansi-test-failures
==============================================================================
--- trunk/abcl/test/lisp/ansi/ansi-test-failures	Thu Jul 21 23:20:11 2011	(r13414)
+++ trunk/abcl/test/lisp/ansi/ansi-test-failures	Tue Jul 26 11:50:04 2011	(r13415)
@@ -404,6 +404,27 @@
       PRINT.RANDOM-STATE.1 PPRINT-LOGICAL-BLOCK.17 FORMAT.C.2A
       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))
+
+
+
+
 
 
 




More information about the armedbear-cvs mailing list