[Ecls-list] Xmas fixes
Juan Jose Garcia Ripoll
jlr at mpq.mpg.de
Fri Jan 7 03:55:11 UTC 2005
Freshly committed to CVS...
# Xmas fixes:
- The reader was not able to interpret RANDOM-STATE objects.
- The routines in the pretty printer now check the type of the arguments.
- When parsing a physical pathname, version is NIL unless the pathname
has a name or a type components, in which case version is :NEWEST.
- Support for binary streams of arbitrary byte size. By default, binary
streams are written with an octet as header, which is used to determine
the actual length of the file. However, if you pass the argument
:use-header-p = NIL to the function OPEN, the header is not used and
instead the size in bits of the stream element type is rounded to a
multiple of 8 (M. Goffioul)
- The implementation of (SETF VALUES) now produces the right result
when there are nested (SETF VALUES) forms.
- DEFGENERIC now signals a PROGRAM-ERROR when the syntax is incorrect.
- The sequence functions now also accept class objects.
- DESCRIBE takes an additional (in ECL optional) argument denoting the
stream to which the description is written (M. Goffioul)
- Important fixes in how arrays are printed with *print-readably* = T.
Displaced bitvectors now print properly. (M. Goffioul)
- SETF-functions can now be traced.
- In PATHNAME-MATCH-P, mask's missing components become :WILD.
- A physical namestring without file name/type has now version NIL.
Otherwise version defaults to :NEWEST. This ensures that directory
names have version set to NIL.
- The constants in the code created by COMPILE are now EQ to those in the
original forms.
- FIND-METHOD checks the validity of the specializers list.
* The indentation value in PPRINT-INDENT is a real number. We round it
to the
nearest integer.
* PRINT-UNREADABLE-OBJECT always outputs a space before the identity and
after the type, even if the forms have been omitted.
* PPRINT-LOGICAL-BLOCK only accepts strings as :PREFIX and :SUFFIX
arguments
and these strings need not be simple.
- All non graphic characters now have a name "A~D" where ~D is the
character
code in hexadecimal form.
* The code for handling *PRINT-LINES* was broken.
- WRITE now accepts the keyword arguments :LINES, :MISER-WIDTH,
:PPRINT-DISPATCH, and :RIGHT-MARGIN.
* *PRINT-LEVEL* and *PRINT-LENGTH now affect printing of structures and
instances, as well as PPRINT-LOGICAL-BLOCK.
* In format directives, a negative value of "minpad" is converted to zero.
* PPRINT-LOGICAL-BLOCK now includes support for printing circular
structures when *PRINT-CIRCLE* = T.
- FLOAT-PRECISION now really returns the number of siginificant digits
in a denormalized float.
- PPRINT-TAB did not compute the tab positions properly in any case.
- "~<~>" removed all padding when the line length exceeded the minimal
number of columns.
- FORMAT now signals an error (as per ANSI 22.3.5.2) when a format string
mixes ~<...~:;...~> with ~W, ~I, ~_, ~<...~:> or ~T.
- DOCUMENTATION now works on generic functions and methods.
- Improved initarg checking in SHARED-INITIALIZE, REINITIALIZE-INSTANCE,
MAKE-INSTANCE, UPDATE-INSTANCE-FOR-{DIFFERENT-CLASS,REDEFINED-CLASS}.
Now the keyword arguments of the applicable methods are considered to
be valid initargs (ANSI 7.1.2)
# MOP compliance:
- ADD-METHOD is now a generic function and implements most of the
protocol in
the specification except for the calls to ADD-DIRECT-METHOD, because
we do
not have specializer objects, and for the call to
COMPUTE-DISCRIMINATING-FUNCTION because of the differences in the
function
calling protocol.
- Implemented all of the generic function initialization protocol
including
ENSURE-GENERIC-FUNCTION, ENSURE-GENERIC-FUNCTION-USING-CLASS, and
(RE)INITIALIZE-INSTANCE specializations. Generic functions can now be
redefined and there are better checks to ensure the consistency
between the
lambda lists of a generic function and it methods.
- Implemented SLOT-{EXISTS-P,VALUE,MAKUNBOUND,BOUNDP}-USING-CLASS.
NOTES:
- Changes preceded by (*) apply only when ECL is configured with CMU CL's
format and pretty printing routines (configure flag --with-cmuformat).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: jlr.vcf
Type: text/x-vcard
Size: 361 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20050107/1029796d/attachment.vcf>
More information about the ecl-devel
mailing list