Hello, I'm assuming that when (backtrace) seg-faults that that is a bug, no matter how screwed up my cod may be.
To recreate, put the following into a file, say segf.scm (define (assignments commandls) (let ((env (the-environment ))) (for-each (lambda (triplet) (let ((x (car triplet)) (y (cadr triplet)) (z (caddr triplet))) (local-eval `(define ,x (option-ref options ,y ,z)) env))) '((a b c)(d e f))))) this is what happens with a guile from a cvs snapshot (20020209): [mi@localhost scheme]$ guile1.5 guile> (load "segf.scm") guile> (assignments (command-line)) <unnamed port>: In expression (define a (option-ref options b ...)): <unnamed port>: Bad define placement ABORT: (misc-error) Type "(backtrace)" to get more information or "(debug)" to enter the debugger. guile> (backtrace ) Backtrace: In current input: 2: 0* [assignments ("guile1.5")] In segf.scm: 2: 1 (let ((env #)) (for-each (lambda # #) (quote #))) 3: 2 Segmentation fault now with guile 1.4: [mi@localhost scheme]$ guile guile> (load "segf.scm") guile> (assignments (command-line)) ERROR: In expression (define a (option-ref options b ...)): ERROR: Bad define placement ABORT: (misc-error) Type "(backtrace)" to get more information or "(debug)" to enter the debugger. guile> (backtrace) Backtrace: 0* [assignments ("guile")] 1 (let ((env #)) (for-each (lambda # #) (quote #))) 2 Segmentation fault That's it. Thanks for your work, by the way. Let me know if you need more info. --Michael _______________________________________________ Bug-guile mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-guile