[armedbear-cvs] r13416 - in branches/0.26.x/abcl: doc/manual src/org/armedbear/lisp test/lisp/ansi
mevenson at common-lisp.net
mevenson at common-lisp.net
Tue Jul 26 19:55:05 UTC 2011
Author: mevenson
Date: Tue Jul 26 12:55:04 2011
New Revision: 13416
Log:
Backport r13415: make #\Uxxxx a synonym for a character not the cannoical name.
Modified:
branches/0.26.x/abcl/doc/manual/abcl.tex
branches/0.26.x/abcl/src/org/armedbear/lisp/LispCharacter.java
branches/0.26.x/abcl/test/lisp/ansi/ansi-test-failures
Modified: branches/0.26.x/abcl/doc/manual/abcl.tex
==============================================================================
--- branches/0.26.x/abcl/doc/manual/abcl.tex Tue Jul 26 11:50:04 2011 (r13415)
+++ branches/0.26.x/abcl/doc/manual/abcl.tex Tue Jul 26 12:55:04 2011 (r13416)
@@ -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: branches/0.26.x/abcl/src/org/armedbear/lisp/LispCharacter.java
==============================================================================
--- branches/0.26.x/abcl/src/org/armedbear/lisp/LispCharacter.java Tue Jul 26 11:50:04 2011 (r13415)
+++ branches/0.26.x/abcl/src/org/armedbear/lisp/LispCharacter.java Tue Jul 26 12:55:04 2011 (r13416)
@@ -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: branches/0.26.x/abcl/test/lisp/ansi/ansi-test-failures
==============================================================================
--- branches/0.26.x/abcl/test/lisp/ansi/ansi-test-failures Tue Jul 26 11:50:04 2011 (r13415)
+++ branches/0.26.x/abcl/test/lisp/ansi/ansi-test-failures Tue Jul 26 12:55:04 2011 (r13416)
@@ -358,3 +358,73 @@
FORMAT.LOGICAL-BLOCK.CIRCLE.1 FORMAT.LOGICAL-BLOCK.CIRCLE.2
FORMAT.LOGICAL-BLOCK.CIRCLE.3 WITH-STANDARD-IO-SYNTAX.23 TRACE.8))
+(doit 0.25.0 :id saturn
+ :uname "i386-pc-solaris2.11.oi_148" :jvm "jdk-1.6.0_25"
+ (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 MAKE-PATHNAME.9
+ ENSURE-DIRECTORIES-EXIST.8 PRINT.SYMBOL.RANDOM.2
+ PRINT.RANDOM-STATE.1 PPRINT-FILL.14 PPRINT-FILL.15
+ PPRINT-LINEAR.14 PPRINT-TABULAR.13 PPRINT-LOGICAL-BLOCK.17
+ PPRINT-POP.7 PPRINT-POP.8 FORMAT.LOGICAL-BLOCK.CIRCLE.1
+ FORMAT.LOGICAL-BLOCK.CIRCLE.2 FORMAT.LOGICAL-BLOCK.CIRCLE.3
+ COMPILE-FILE.16))
+
+(compileit 0.25.0 :id saturn
+ :uname "i386-pc-solaris2.11.oi_148" :jvm "jdk-1.6.0_25"
+ (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 MAKE-PATHNAME.9
+ ENSURE-DIRECTORIES-EXIST.8 PRINT.SYMBOL.RANDOM.2
+ PRINT.SYMBOL.RANDOM.4 PRINT.STRING.RANDOM.1 PRINT.RANDOM-STATE.1
+ PPRINT-FILL.14 PPRINT-FILL.15 PPRINT-LINEAR.14 PPRINT-TABULAR.13
+ PPRINT-LOGICAL-BLOCK.17 PPRINT-POP.7 PPRINT-POP.8
+ FORMAT.LOGICAL-BLOCK.CIRCLE.1 FORMAT.LOGICAL-BLOCK.CIRCLE.2
+ FORMAT.LOGICAL-BLOCK.CIRCLE.3 COMPILE-FILE.16 TRACE.8))
+
+(doit 0.26.1 :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 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.RANDOM-STATE.1
+ PPRINT-LOGICAL-BLOCK.17 FORMAT.C.2A FORMATTER.C.2A))
+
+(compileit 0.26.1 :id saturn
+ (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 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 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