[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] depsys and SBCL
From: |
Gabriel Dos Reis |
Subject: |
Re: [Axiom-developer] depsys and SBCL |
Date: |
31 Mar 2007 02:01:14 -0500 |
Gabriel Dos Reis <address@hidden> writes:
| Gregory Vanuxem <address@hidden> writes:
|
| [...]
|
| | > This is just a head up. If you know anything about the illegal
| | > character \#Stx, please let me know.
| |
| | No idea.
|
| I believe I nailed down where the error is coming from.
|
| Have a loot at line 368 in src/interp/def.lisp.pamphlet. There are two
| uses of character Conotrol-B there (at least that is what Emacs shows
| me). I'm curious about what could have been intended. Tim?
I finally got my head around the def.lisp file.
The particular line at fault was trying to use a temporary placeholder
during the local transformation (DEFTRAN), and then replace that
placeholder with the value that was being decomposed. The patch
below uses a gensym symbols instead of the non-portable (it appears
ANSI CL-2.2 forbids it) control-b character. Note also that this
particular function appears to be effectively unexecuted because its
call is guarded by a variable which is globally set no nil and never
set again.
built on x86_64-suse-linux.
Applied to build-improvements.
-- Gaby
2007-03-30 Gabriel Dos Reis <address@hidden>
* def.lisp.pamphlet (|defLETdcq|): Use a gensym'd variable name
instead of special character control-b.
*** src/interp/def.lisp.pamphlet (revision 15421)
--- src/interp/def.lisp.pamphlet (local)
***************
*** 1,3 ****
--- 1,4 ----
+ %% Oh Emacs, this is a -*- Lisp -*- file, despite appearance.
\documentclass{article}
\usepackage{axiom}
\begin{document}
*************** foo defined inside of fum gets renamed a
*** 367,373 ****
(LIST ''T (LIST 'LET_ERROR (LIST 'MAKESTRING
(MK_LEFORM FORM)) RHS))))
((AND (EQ (CAR RHS) 'SPADLET) (IDENTP (SETQ NAME (CADR RHS)) ))
! (LIST 'COND (LIST (SUBST RHS ' (DEFTRAN (LIST 'IS ' FORM))) NAME)
(LIST ''T (LIST 'LET_ERROR (LIST 'MAKESTRING
(MK_LEFORM FORM)) NAME))))
('T (SPADLET G (GENSYM))
--- 368,375 ----
(LIST ''T (LIST 'LET_ERROR (LIST 'MAKESTRING
(MK_LEFORM FORM)) RHS))))
((AND (EQ (CAR RHS) 'SPADLET) (IDENTP (SETQ NAME (CADR RHS)) ))
! (SPADLET G (GENSYM))
! (LIST 'COND (LIST (SUBST RHS G (DEFTRAN (LIST 'IS G FORM))) NAME)
(LIST ''T (LIST 'LET_ERROR (LIST 'MAKESTRING
(MK_LEFORM FORM)) NAME))))
('T (SPADLET G (GENSYM))