Subject: bug#12459: closed (Re: bug#12459: Strange issue with circular dependancies)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 27 Nov 2012 21:41:02 +0000

Your bug report

#12459: Strange issue with circular dependancies

which was filed against the guile package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
12459: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12459
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#12459: Strange issue with circular dependancies
From: [email-masked] (Ludovic Courtès)
To: [email-masked]
Cc: [email-masked]
Date: Tue, 27 Nov 2012 22:38:20 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

tags 12459 wontfix
thanks

Subject: Strange issue with circular dependancies
From: [email-masked]
To: [email-masked]
Date: Mon, 17 Sep 2012 13:48:08 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

While the compiler does manage most circular dependancies, some cases still
cannot be compiled.

For instance, with the attached circ-{a,b,c}.scm the compilation of b fails
with:

% GUILE_LOAD_PATH=. guile-tools compile -Warity-mismatch -Wformat -Wunused-variable -Wduplicate-case-datum -Wbad-case-datum -o circ-b.go circ-b.scm
Backtrace:
In ice-9/boot-9.scm:
2131: 19 [save-module-excursion #<procedure 2648a80 at ice-9/boot-9.scm:2787:17 ()>]
2797: 18 [#<procedure 2648a80 at ice-9/boot-9.scm:2787:17 ()>]
In unknown file:
   ?: 17 [primitive-load-path "circ-a" #f]
In ice-9/eval.scm:
 487: 16 [#<procedure 210ac60 at ice-9/eval.scm:481:4 (exp)> (use-modules # #)]
In ice-9/psyntax.scm:
1091: 15 [expand-top-sequence ((use-modules (circ-b) (circ-c))) () ...]
 976: 14 [scan ((use-modules (circ-b) (circ-c))) () ...]
 270: 13 [scan ((# #) #(syntax-object *unspecified* # #)) () (()) ...]
In ice-9/boot-9.scm:
3258: 12 [process-use-modules (((circ-b)) ((circ-c)))]
 621: 11 [map #<procedure 21d8fe0 at ice-9/boot-9.scm:3258:25 (mif-args)> ((#) (#))]
3259: 10 [#<procedure 21d8fe0 at ice-9/boot-9.scm:3258:25 (mif-args)> ((circ-c))]
2594: 9 [resolve-interface (circ-c) #:select ...]
2519: 8 [#<procedure 21cb760 at ice-9/boot-9.scm:2507:4 (name #:optional autoload version #:key ensure)> # ...]
2786: 7 [try-module-autoload (circ-c) #f]
2131: 6 [save-module-excursion #<procedure 26507b0 at ice-9/boot-9.scm:2787:17 ()>]
2797: 5 [#<procedure 26507b0 at ice-9/boot-9.scm:2787:17 ()>]
In unknown file:
   ?: 4 [primitive-load-path "circ-c" #f]
In ice-9/eval.scm:
 435: 3 [eval #<memoized (define y (@ (circ-b) fb))> ()]
 432: 2 [eval #<memoized (@ (circ-b) fb)> ()]
In unknown file:
   ?: 1 [memoize-variable-access! #<memoized (@ (circ-b) fb)> #f]
In ice-9/boot-9.scm:
 106: 0 [#<procedure 23e9100 at ice-9/boot-9.scm:97:6 (thrown-k . args)> unbound-variable ...]

ice-9/boot-9.scm:106:20: In procedure #<procedure 23e9100 at ice-9/boot-9.scm:97:6 (thrown-k . args)>:
ice-9/boot-9.scm:106:20: In procedure module-lookup: Unbound variable: fb

Note that it compiles if you remove (circ-c) from used-modules in circ-a.scm.