On Wed, Nov 30, 2011 at 4:34 PM, Blake McBride blake@mcbride.name wrote:
On Wed, Nov 30, 2011 at 9:13 AM, Alessio Stalla alessiostalla@gmail.com wrote:
On Wed, Nov 30, 2011 at 3:30 PM, Blake McBride blake@mcbride.name wrote:
BTW:
SBCL works CLISP fails with MACROLET error CMUCL works ECL works
To me it seems more like a Screamer error than an ASDF error. Probably Screamer's code walker cannot handle some ABCL-specific macroexpansion.
Alessio
I don't agree.
blakes-mac:ff blake$ rm -rf screamer/ blakes-mac:ff blake$ !git git clone git://github.com/nikodemus/screamer.git Cloning into screamer... remote: Counting objects: 1094, done. remote: Compressing objects: 100% (436/436), done. remote: Total 1094 (delta 781), reused 959 (delta 650) Receiving objects: 100% (1094/1094), 8.22 MiB | 670 KiB/s, done. Resolving deltas: 100% (781/781), done. blakes-mac:ff blake$ cd screamer/ blakes-mac:screamer blake$ find . -type f -exec grep -Hi truly-the {} ; blakes-mac:screamer blake$ cd ~/Backup/abcl.svn blakes-mac:abcl.svn blake$ find . -type f -exec grep -Hi truly-the {} ; ./doc/manual/.svn/text-base/extensions.tex.svn-base:\label{EXTENSIONS:TRULY-THE} ./doc/manual/.svn/text-base/extensions.tex.svn-base:\index{TRULY-THE} ./doc/manual/.svn/text-base/extensions.tex.svn-base:--- Special Operator: \textbf{truly-the} [\textbf{extensions}] \textit{} ./doc/manual/extensions.tex:\label{EXTENSIONS:TRULY-THE} ./doc/manual/extensions.tex:\index{TRULY-THE} ./doc/manual/extensions.tex:--- Special Operator: \textbf{truly-the} [\textbf{extensions}] \textit{} ./src/org/armedbear/lisp/.svn/text-base/boot.lisp.svn-base: (list 'car (list 'truly-the 'cons x))) ./src/org/armedbear/lisp/.svn/text-base/boot.lisp.svn-base: (list 'cdr (list 'truly-the 'cons x))) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass1.lisp.svn-base:(defun p1-truly-the (form) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass1.lisp.svn-base: 'TRULY-THE ./src/org/armedbear/lisp/.svn/text-base/compiler-pass1.lisp.svn-base: (list 'TRULY-THE (%cadr form) (p1 (%caddr form)))) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass1.lisp.svn-base: (TRULY-THE p1-truly-the) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass2.lisp.svn-base: ((memq op '(THE TRULY-THE)) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass2.lisp.svn-base: (cond ((and lambda-name (symbolp lambda-name) (symbol-package (truly-the symbol lambda-name))) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass2.lisp.svn-base: (emit 'ldc (pool-string (symbol-name (truly-the symbol lambda-name)))) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass2.lisp.svn-base: (emit 'ldc (pool-string (package-name (symbol-package (truly-the symbol lambda-name))))) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass2.lisp.svn-base: (eq (symbol-package (truly-the symbol sym)) +cl-package+) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass2.lisp.svn-base: ((THE TRULY-THE) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass2.lisp.svn-base:(defun p2-truly-the (form target representation) ./src/org/armedbear/lisp/.svn/text-base/compiler-pass2.lisp.svn-base: (install-p2-handler 'truly-the 'p2-truly-the) ./src/org/armedbear/lisp/.svn/text-base/concatenate.lisp.svn-base: (setf (schar result i) (char (truly-the string seq) j)) ./src/org/armedbear/lisp/.svn/text-base/defstruct.lisp.svn-base: (make-structure (truly-the symbol ',*dd-name*) ,@values)))) ./src/org/armedbear/lisp/.svn/text-base/defstruct.lisp.svn-base: (%make-structure (truly-the symbol ',*dd-name*) (list ,@values)))))))) ./src/org/armedbear/lisp/.svn/text-base/defstruct.lisp.svn-base: (make-structure (truly-the symbol ',*dd-name*) ,@values)))) ./src/org/armedbear/lisp/.svn/text-base/defstruct.lisp.svn-base: (%make-structure (truly-the symbol ',*dd-name*) (list ,@values))))))))))) ./src/org/armedbear/lisp/.svn/text-base/defstruct.lisp.svn-base: `(aref (truly-the ,',*dd-type* ,instance) ,,index)))) ./src/org/armedbear/lisp/.svn/text-base/defstruct.lisp.svn-base: `(aset (truly-the ,',*dd-type* ,instance) ,,index ,value)))) ./src/org/armedbear/lisp/.svn/text-base/extensible-sequences-base.lisp.svn-base: (let ((,sequence (ext:truly-the list ,sequence))) ./src/org/armedbear/lisp/.svn/text-base/extensible-sequences-base.lisp.svn-base: (let ((,sequence (ext:truly-the vector ,sequence))) ./src/org/armedbear/lisp/.svn/text-base/extensible-sequences-base.lisp.svn-base: `((let ((,sequence (ext:truly-the vector ,sequence))) ./src/org/armedbear/lisp/.svn/text-base/Extensions.java.svn-base: // ### truly-the value-type form => result* ./src/org/armedbear/lisp/.svn/text-base/Extensions.java.svn-base: super("truly-the", PACKAGE_EXT, true, "type value"); ./src/org/armedbear/lisp/.svn/text-base/macros.lisp.svn-base: `(car (truly-the cons ,x))) ./src/org/armedbear/lisp/.svn/text-base/macros.lisp.svn-base: `(cdr (truly-the cons ,x))) ./src/org/armedbear/lisp/.svn/text-base/precompiler.lisp.svn-base: (setf new-form (list 'TRULY-THE result-type new-form))))) ./src/org/armedbear/lisp/.svn/text-base/precompiler.lisp.svn-base:(defun precompile-truly-the (form) ./src/org/armedbear/lisp/.svn/text-base/precompiler.lisp.svn-base: (list 'TRULY-THE ./src/org/armedbear/lisp/.svn/text-base/precompiler.lisp.svn-base: (TRULY-THE precompile-truly-the) ./src/org/armedbear/lisp/boot.lisp: (list 'car (list 'truly-the 'cons x))) ./src/org/armedbear/lisp/boot.lisp: (list 'cdr (list 'truly-the 'cons x))) ./src/org/armedbear/lisp/compiler-pass1.lisp:(defun p1-truly-the (form) ./src/org/armedbear/lisp/compiler-pass1.lisp: 'TRULY-THE ./src/org/armedbear/lisp/compiler-pass1.lisp: (list 'TRULY-THE (%cadr form) (p1 (%caddr form)))) ./src/org/armedbear/lisp/compiler-pass1.lisp: (TRULY-THE p1-truly-the) ./src/org/armedbear/lisp/compiler-pass2.lisp: ((memq op '(THE TRULY-THE)) ./src/org/armedbear/lisp/compiler-pass2.lisp: (cond ((and lambda-name (symbolp lambda-name) (symbol-package (truly-the symbol lambda-name))) ./src/org/armedbear/lisp/compiler-pass2.lisp: (emit 'ldc (pool-string (symbol-name (truly-the symbol lambda-name)))) ./src/org/armedbear/lisp/compiler-pass2.lisp: (emit 'ldc (pool-string (package-name (symbol-package (truly-the symbol lambda-name))))) ./src/org/armedbear/lisp/compiler-pass2.lisp: (eq (symbol-package (truly-the symbol sym)) +cl-package+) ./src/org/armedbear/lisp/compiler-pass2.lisp: ((THE TRULY-THE) ./src/org/armedbear/lisp/compiler-pass2.lisp:(defun p2-truly-the (form target representation) ./src/org/armedbear/lisp/compiler-pass2.lisp: (install-p2-handler 'truly-the 'p2-truly-the) ./src/org/armedbear/lisp/concatenate.lisp: (setf (schar result i) (char (truly-the string seq) j)) ./src/org/armedbear/lisp/defstruct.lisp: (make-structure (truly-the symbol ',*dd-name*) ,@values)))) ./src/org/armedbear/lisp/defstruct.lisp: (%make-structure (truly-the symbol ',*dd-name*) (list ,@values)))))))) ./src/org/armedbear/lisp/defstruct.lisp: (make-structure (truly-the symbol ',*dd-name*) ,@values)))) ./src/org/armedbear/lisp/defstruct.lisp: (%make-structure (truly-the symbol ',*dd-name*) (list ,@values))))))))))) ./src/org/armedbear/lisp/defstruct.lisp: `(aref (truly-the ,',*dd-type* ,instance) ,,index)))) ./src/org/armedbear/lisp/defstruct.lisp: `(aset (truly-the ,',*dd-type* ,instance) ,,index ,value)))) ./src/org/armedbear/lisp/extensible-sequences-base.lisp: (let ((,sequence (ext:truly-the list ,sequence))) ./src/org/armedbear/lisp/extensible-sequences-base.lisp: (let ((,sequence (ext:truly-the vector ,sequence))) ./src/org/armedbear/lisp/extensible-sequences-base.lisp: `((let ((,sequence (ext:truly-the vector ,sequence))) ./src/org/armedbear/lisp/Extensions.java: // ### truly-the value-type form => result* ./src/org/armedbear/lisp/Extensions.java: super("truly-the", PACKAGE_EXT, true, "type value"); ./src/org/armedbear/lisp/macros.lisp: `(car (truly-the cons ,x))) ./src/org/armedbear/lisp/macros.lisp: `(cdr (truly-the cons ,x))) ./src/org/armedbear/lisp/precompiler.lisp: (setf new-form (list 'TRULY-THE result-type new-form))))) ./src/org/armedbear/lisp/precompiler.lisp:(defun precompile-truly-the (form) ./src/org/armedbear/lisp/precompiler.lisp: (list 'TRULY-THE ./src/org/armedbear/lisp/precompiler.lisp: (TRULY-THE precompile-truly-the) blakes-mac:abcl.svn blake$
I don't agree :) I believe your transcript justifies my claim: Screamer does not know about ABCL's truly-the. Somehow it gets in contact with one such form and barfs. Try grepping "Cannot (currently) handle the special form" in Screamer (I can't right now or I'd do it myself).
A.