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