Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
|Links to RELEASE_18b:||(view) (annotate)|
Update from the current main branch.
This (huge) revision brings the RELENG_18 branch up to the current HEAD. Note code/unix-glib2.lisp not yet included -- not sure it is ready to go.
Minor change to inhibit compiler notes about dead code removal when WITH-INPUT-FROM-STRING was called with an END argument.
Change %set-documentation to (setf documentation) to help operation with PCL loaded.
New shiftf from Bruno Haible fixes problem with duplicated places.
Prevent warnings from eg (case key (t))
Add ANSI lambda macro
initial post 1.3.7 merge
Werkowskis source kit 1.03.7
Fix headed boilerplate.
Added: (defsetf sap-ref-64 %set-sap-ref-64) and (defsetf signed-sap-ref-64 %set-signed-sap-ref-64) for the Alpha.
changed %deftype to use interface functions instead of (info type class ...)
Changed uses of RESTART-CASE to be detectable calls to error.
format-string -> format-control
Changed renamed get-setf-method-multiple-value to get-setf-expansion and define-setf-method to define-setf-expander. The old names are also defined for backward compatibility.
Really really fixed get-setf-method-multiple-value for local macros. Also, in the recursive calls, people were not propagating the environment through, and in some places were not recursing with the multiple-value version.
Rip out NS-BOOT conditionals.
new structure branch & tuning, see new_struct
Changed DOLIST not to introduce the spurious let around the result form when there is no result form. Also, just read the var in the spurious let, instead of using IGNORABLE, since the var might be special.
In %defsetf, don't bother creating temp vars for constants. This is necessary so that keywords stay keywords, and are not changed to gensyms.
Changed GET-SETF-METHOD-MULTIPLE-VALUE to try to macroexpand-1 the form when it's an atom in case it's a symbol-macro as per the X3J13 cleanup SYMBOL-MACROLET-SEMANTICS:SPECIAL-FORM. Now you can safely INCF, etc. symbol macros where the macroexpansion has side effects.
Fixed SETF of GETF to evaluate the various parts in the correct order as per X3J13 cleanup SETF-SUB-METHODS:DELAYED-ACCESS-STORES.
Fixed bug in NTH-VALUE where it expanded into bogus code unless ``n'' was a constant integer.
X3J13 cleanup SETF-MULTIPLE-STORE-VARIABLES: Extend the semantics of the macros SETF, PSETF, SHIFTF, ROTATEF, and ASSERT to allow "places" whose SETF methods have more than one "store variable". In such cases, the macros accept as many values from the newvalue form as there are store variables. As usual, extra values are ignored and missing values default to NIL. Extend the long form of DEFSETF to allow the specification of more than one "store variable", with the obvious semantics. Clarify that GET-SETF-METHOD signals an error if there would be more than one store-variable.
Changed the DEFSETF for SYMBOL-FUNCTION and SYMBOL-PLIST to FSET and %SET-SYMBOL-PLIST.
Changed all SAP-REF-mumble functions to take the offset in bytes.
Merged Lange's enhancement to NTH-VALUE; it now doesn't cons for non-constant N less than 3.
Fixed get-setf-method to only inhibit for local functions, not local macros too. Removed some bootstrapping code.
Added :PACKAGE constext declaration.
Frobbed SETF a bit more. We still always call GET-SETF-METHOD to let it do its thing, but if the result is just a call to the inverse, then directly call the inverse w/o any let binding. This makes setf inverses usable without the full interpreter.
Changed DEFSETF and DEFINE-SETF-METHOD to call a common subfunction, %DEFINE-SETF-MACRO, which checks for any existing definition as a slot accessor or other setf function. Changed GET-SETF-METHOD to ignore setf macros (always global) when there is a local macro or function. Changed SETF to always call GET-SETF-METHOD, instead of special-casing setf inverses. I was tired to keeping the duplicated code consistent. Generalized the special casing in SETF of APPLY. We now go for the SETF function when called on any symbol in the Lisp package. Now SETF of APPLY will work on all Common Lisp functions, instead of just two.
Fixed WITH-COMPILATION-UNIT keyword to be :OVERRIDE instead of :FORCE. Also, added :OPTIMIZE and :OPTIMIZE-INTERFACE for changing the "global" compilation policy within the dynamic extent. Added :CONTEXT-DECLARATIONS, which provides a way to insert declarations conditional on pattern mathcing of the context in which the definition appears. So you can compiler all external functions safe, or whatever.
New file header with RCS header FILE-COMMENT.
ignore => ignore
Added Dan's NTH-VALUE macro.
In destructuring-bind, pass NIL to parse-defmacro as the name, 'cause there is no name.
Ack. Maybe this time I got defsetter correct.
Changed a use of analyze1 to parse-defmacro.
Changed to use Blaine's parse-defmacro. Stripped out lots of bootstrapping code. Ripped out loop, 'cause the full blown loop macro now exists in it's own file.
Made DEFTYPE warn if redefining a structure and flame if a primitive type. Fixed it to test FBOUNDP on the right symbol so that %NOTE-TYPE-DEFINED can get called. Changed %%DEFUN to use DEFINE-FUNCTION-NAME and also to blow away any assumed type info.
Random stuff to get define-setf-method to cross compile.
Moved MIPS branch onto trunk; no merge necessary.
Flushed commented-out PUTF macro. Changed %PRIMITIVE PUTF to be %PUTF so that we can interpret SETF GETF.
Added UNSIGNED-BYTE declarations in DOTIMES to help type inference.
Changed DEFTYPE to expand into %DEFTYPE, and made %DEFTYPE call %NOTE-TYPE-DEFINED.
Merged non-descriptor changes: revision 22.214.171.124 date: 90/04/09 00:00:09; author: ram; state: Exp; lines added/del: 1/1 Fixed typo. ---------------------------- revision 126.96.36.199 date: 90/03/27 13:18:14; author: ram; state: Exp; lines added/del: 11/6 Changed WITH-COMPILATION-UNIT to hack delayed unknown type warnings. We define a handler for PARSE-UNKNOWN-TYPE.
.../systems-work/code/macros.lisp, 10-Feb-90 13:06:45, Edit by MBB. WITH-OUTPUT-TO-STRING-APPEND-STYLE: Changed the doc-string to exploit the new standard that was already there. WITH-OPEN-FILE-DOES-NOT-EXIST: Modified WITH-OPEN-FILE to not execute the body when OPEN fails. This is the new standard.
Added some missing commas in DEFTYPE.
Made %DEFMACRO set the interpreted function name to "DEFMACRO <name>" rather than just <name>. Also, changed %DEFUN to set the function name.
Changed DEFTYPE to use INFO instead of plist hackery.
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|