Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Commit [a7a4ca] Maximize Restore History

1.0.48.28: make TRULY-THE macroexpandable

lp#771673

* MACRO-FUNCTION no longer checks :FUNCTION :KIND, allowing us to have
special operators with macro-expansions in the first place.

* Add %MACROEXPAND and %MACROEXPAND which are careful not to expand special
forms, and use them in place of SB!XC:MACROEXPAND.

* Set the :FUNCTION :MACRO-FUNCTION into an expander that just converts
it to THE. This only happens when someone explicitly calls MACROEXPAND
or uses MACRO-FUNCTION directly -- never in the compiler.

* Also add a SETF-expander.

Nikodemus Siivola Nikodemus Siivola 2011-05-28

changed src/code/defboot.lisp
changed src/code/early-setf.lisp
changed src/code/host-alieneval.lisp
changed src/code/loop.lisp
changed src/code/macroexpand.lisp
changed src/code/macros.lisp
changed src/compiler/assem.lisp
changed src/compiler/constantp.lisp
changed src/compiler/fndb.lisp
changed src/compiler/fopcompile.lisp
changed src/compiler/info-functions.lisp
changed src/compiler/ir1-translators.lisp
changed src/compiler/main.lisp
changed src/pcl/slots-boot.lisp
changed src/pcl/time.lisp
changed src/pcl/vector.lisp
changed src/pcl/walk.lisp
changed tests/compiler.pure.lisp
changed NEWS
changed package-data-list.lisp-expr
changed version.lisp-expr
src/code/defboot.lisp Diff Switch to side-by-side view
Loading...
src/code/early-setf.lisp Diff Switch to side-by-side view
Loading...
src/code/host-alieneval.lisp Diff Switch to side-by-side view
Loading...
src/code/loop.lisp Diff Switch to side-by-side view
Loading...
src/code/macroexpand.lisp Diff Switch to side-by-side view
Loading...
src/code/macros.lisp Diff Switch to side-by-side view
Loading...
src/compiler/assem.lisp Diff Switch to side-by-side view
Loading...
src/compiler/constantp.lisp Diff Switch to side-by-side view
Loading...
src/compiler/fndb.lisp Diff Switch to side-by-side view
Loading...
src/compiler/fopcompile.lisp Diff Switch to side-by-side view
Loading...
src/compiler/info-functions.lisp Diff Switch to side-by-side view
Loading...
src/compiler/ir1-translators.lisp Diff Switch to side-by-side view
Loading...
src/compiler/main.lisp Diff Switch to side-by-side view
Loading...
src/pcl/slots-boot.lisp Diff Switch to side-by-side view
Loading...
src/pcl/time.lisp Diff Switch to side-by-side view
Loading...
src/pcl/vector.lisp Diff Switch to side-by-side view
Loading...
src/pcl/walk.lisp Diff Switch to side-by-side view
Loading...
tests/compiler.pure.lisp Diff Switch to side-by-side view
Loading...
NEWS Diff Switch to side-by-side view
Loading...
package-data-list.lisp-expr Diff Switch to side-by-side view
Loading...
version.lisp-expr Diff Switch to side-by-side view
Loading...