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
					
				
					 1 changed files with 10 additions and 7 deletions
				
			
		
							
								
								
									
										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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue