[armedbear-devel] ASDF: Cannot handle the special form EXTENSIONS:TRULY-THE

Blake McBride blake at mcbride.name
Wed Nov 30 15:34:20 UTC 2011


On Wed, Nov 30, 2011 at 9:13 AM, Alessio Stalla <alessiostalla at gmail.com> wrote:
> On Wed, Nov 30, 2011 at 3:30 PM, Blake McBride <blake at 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*) , at values))))
./src/org/armedbear/lisp/.svn/text-base/defstruct.lisp.svn-base:
        (%make-structure (truly-the symbol ',*dd-name*) (list
, at values))))))))
./src/org/armedbear/lisp/.svn/text-base/defstruct.lisp.svn-base:
              (make-structure (truly-the symbol ',*dd-name*)
, at values))))
./src/org/armedbear/lisp/.svn/text-base/defstruct.lisp.svn-base:
              (%make-structure (truly-the symbol ',*dd-name*) (list
, at 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*) , at values))))
./src/org/armedbear/lisp/defstruct.lisp:
(%make-structure (truly-the symbol ',*dd-name*) (list , at values))))))))
./src/org/armedbear/lisp/defstruct.lisp:
(make-structure (truly-the symbol ',*dd-name*) , at values))))
./src/org/armedbear/lisp/defstruct.lisp:
(%make-structure (truly-the symbol ',*dd-name*) (list
, at 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$




More information about the armedbear-devel mailing list