axiom-developer
[Top][All Lists]
Advanced

[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))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]