ui: Better workaround for lack of '%fresh-auto-compile' on 2.2.3.
Fixes <https://bugs.gnu.org/29226> for the most part. * guix/ui.scm (load*): Add call to 'compile-file' on 2.2.3.
This commit is contained in:
parent
f285b17b35
commit
f44c7aaccd
17
guix/ui.scm
17
guix/ui.scm
|
@ -52,6 +52,7 @@
|
||||||
#:use-module (ice-9 match)
|
#:use-module (ice-9 match)
|
||||||
#:use-module (ice-9 format)
|
#:use-module (ice-9 format)
|
||||||
#:use-module (ice-9 regex)
|
#:use-module (ice-9 regex)
|
||||||
|
#:autoload (system base compile) (compile-file)
|
||||||
#:autoload (system repl repl) (start-repl)
|
#:autoload (system repl repl) (start-repl)
|
||||||
#:autoload (system repl debug) (make-debug stack->vector)
|
#:autoload (system repl debug) (make-debug stack->vector)
|
||||||
#:use-module (texinfo)
|
#:use-module (texinfo)
|
||||||
|
@ -186,8 +187,8 @@ messages."
|
||||||
|
|
||||||
(define (error-string frame args)
|
(define (error-string frame args)
|
||||||
(call-with-output-string
|
(call-with-output-string
|
||||||
(lambda (port)
|
(lambda (port)
|
||||||
(apply display-error frame port (cdr args)))))
|
(apply display-error frame port (cdr args)))))
|
||||||
|
|
||||||
(define tag
|
(define tag
|
||||||
(make-prompt-tag "user-code"))
|
(make-prompt-tag "user-code"))
|
||||||
|
@ -199,11 +200,13 @@ messages."
|
||||||
;; In 2.2.3, the bogus answer to <https://bugs.gnu.org/29226> was to
|
;; In 2.2.3, the bogus answer to <https://bugs.gnu.org/29226> was to
|
||||||
;; ignore all available .go, not just those from ~/.cache, which in turn
|
;; ignore all available .go, not just those from ~/.cache, which in turn
|
||||||
;; meant that we had to rebuild *everything*. Since this is too costly,
|
;; meant that we had to rebuild *everything*. Since this is too costly,
|
||||||
;; we have to turn auto '%fresh-auto-compile' with that version, at the
|
;; we have to turn off '%fresh-auto-compile' with that version, so to
|
||||||
;; risk of getting ABI breakage in the user's config file. See
|
;; avoid ABI breakage in the user's config file, we explicitly compile
|
||||||
;; <https://bugs.gnu.org/29881>.
|
;; it (the problem remains if the user's config is spread on several
|
||||||
(unless (string=? (version) "2.2.3")
|
;; modules.) See <https://bugs.gnu.org/29881>.
|
||||||
(set! %fresh-auto-compile #t))
|
(if (string=? (version) "2.2.3")
|
||||||
|
(compile-file file #:env user-module)
|
||||||
|
(set! %fresh-auto-compile #t))
|
||||||
|
|
||||||
(set! %load-should-auto-compile #t)
|
(set! %load-should-auto-compile #t)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue