gEDA-dev: gnetlist vs guile 1.8
Dean Ferreyra
dferreyra at igc.org
Mon Jan 22 12:47:07 EST 2007
Stuart Brorson wrote:
> I fixed spice-sdb several days ago. It works now with guile-1.8. My
> biggest headache is gnet-drc2.scm, which dies with a different error:
>
> ERROR: In procedure memoization:
> ERROR: Mixed definitions and expressions in (begin (define
> check-slots-loop (lambda (slots_list) (if (not (null? slots_list))
> (let ((this_slot #)) (if (integer? this_slot) (if # #))
> (check-slots-loop (cdr slots_list)))))) (if (string-ci=? slot_string
> "unknown") (begin (if (or (string-ci=? numslots_string "unknown") (=
> numslots 0)) (begin (display "")) (begin (if (integer? numslots)
> (begin # # #) (begin # # #))))) (begin (if (integer? slot) (if
> (integer? numslots) (check-slots-loop (gnetlist:get-unique-slots
> uref)) (begin (display # port) (newline port) (set! errors_number #)))
> (begin (display (string-append "ERROR: Reference " uref ": Incorrect
> value of slot attribute " slot_string ".") port) (newline port) (set!
> errors_number (+ errors_number 1))))))).
>
> This has nothing to do with the ice-9 package. It may be syntax which
> Guile used to accept, but now doesn't. :-(
The expression guile is complaining about would only work at the top
level. If it isn't at the top level, then replacing that first (begin
...) with (let () ...) should work. Except for top-level begins, I
think defines are only allowed at the beginning of lexical scopes.
Dean
More information about the geda-dev
mailing list