Subject: emacs-guix: guix-system-from-file broken

From: Christopher Howard <[email-masked]>
Date: Fri, 08 Nov 2024 14:23:16 -0900

I get an error when attempting to run guix-system-from-file, which is run with command M-x guix y y. After entering path to the system configuration file, I get this error:

```
Debugger entered--Lisp error: (error "Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:\nerror: system-sexps: unbound variable\n\nEntering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.")
  signal(error ("Error in evaluating guile expression: ice-9/boot-9.scm:1685:16: In procedure raise-exception:\nerror: system-sexps: unbound variable\n\nEntering a new prompt.  Type `,bt' for a backtrace or `,q' to continue."))
  error("Error in evaluating guile expression: %s" "ice-9/boot-9.scm:1685:16: In procedure raise-exception:\nerror: system-sexps: unbound variable\n\nEntering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.")
  (if (geiser-eval--retort-error res) (error "Error in evaluating guile expression: %s" (geiser-eval--retort-output res)) (cdr (assq 'result res)))
  (let ((res (geiser-eval--send/wait (list ':eval (list ':scm str)) guix-geiser-connection-timeout))) (if res nil (error "Sorry, the evaluation is aborted because it has taken too much time.\nTry to increase the value of `guix-geiser-connection-timeout'\nvariable if you have a slow machine, or please report if you\nthink this command takes unreasonably long time to run.")) (if (geiser-eval--retort-error res) (error "Error in evaluating guile expression: %s" (geiser-eval--retort-output res)) (cdr (assq 'result res))))
  (save-current-buffer (set-buffer (or repl (guix-geiser-repl))) (let ((res (geiser-eval--send/wait (list ':eval (list ':scm str)) guix-geiser-connection-timeout))) (if res nil (error "Sorry, the evaluation is aborted because it has taken too much time.\nTry to increase the value of `guix-geiser-connection-timeout'\nvariable if you have a slow machine, or please report if you\nthink this command takes unreasonably long time to run.")) (if (geiser-eval--retort-error res) (error "Error in evaluating guile expression: %s" (geiser-eval--retort-output res)) (cdr (assq 'result res)))))
  (let ((gc-cons-threshold (max gc-cons-threshold 10000000))) (save-current-buffer (set-buffer (or repl (guix-geiser-repl))) (let ((res (geiser-eval--send/wait (list ':eval (list ... str)) guix-geiser-connection-timeout))) (if res nil (error "Sorry, the evaluation is aborted because it has taken too much time.\nTry to increase the value of `guix-geiser-connection-timeout'\nvariable if you have a slow machine, or please report if you\nthink this command takes unreasonably long time to run.")) (if (geiser-eval--retort-error res) (error "Error in evaluating guile expression: %s" (geiser-eval--retort-output res)) (cdr (assq 'result res))))))
  guix-geiser-eval("(system-sexps 'from-file '(\"/home/christopher/Repos/cmh/systems/work.scm\") '(file number-of-packages number-of-services kernel bootloader firmware initrd-modules))" #<buffer *Guix Internal REPL*>)
  (car (guix-geiser-eval str repl))
  (guix-guile-read-from-string (car (guix-geiser-eval str repl)))
  guix-geiser-eval-read("(system-sexps 'from-file '(\"/home/christopher/Repos/cmh/systems/work.scm\") '(file number-of-packages number-of-services kernel bootloader firmware initrd-modules))" #<buffer *Guix Internal REPL*>)
  (let ((result (guix-geiser-eval-read str (guix-get-repl-buffer 'internal)))) (if (and (consp result) (eq (car result) 'in-file)) (guix-guile-read-from-file (cdr result)) result))
  guix-eval-read("(system-sexps 'from-file '(\"/home/christopher/Repos/cmh/systems/work.scm\") '(file number-of-packages number-of-services kernel bootloader firmware initrd-modules))")
  (let ((sexps (guix-eval-read (guix-make-guile-expression 'system-sexps search-type search-values params)))) (if (eq search-type 'from-file) (mapcar #'(lambda (alist) (cons (cons 'file (car search-values)) alist)) sexps) sexps))
  guix-system-get-entries(from-file ("/home/christopher/Repos/cmh/systems/work.scm") (file number-of-packages number-of-services kernel bootloader firmware initrd-modules))
  guix-system-info-get-entries(from-file "/home/christopher/Repos/cmh/systems/work.scm")
  apply(guix-system-info-get-entries (from-file "/home/christopher/Repos/cmh/systems/work.scm"))
  bui-get-entries(guix-system info (from-file "/home/christopher/Repos/cmh/systems/work.scm"))
  bui-get-display-entries(guix-system info (from-file "/home/christopher/Repos/cmh/systems/work.scm"))
  guix-system-get-display(from-file "/home/christopher/Repos/cmh/systems/work.scm")
  guix-system-from-file("/home/christopher/Repos/cmh/systems/work.scm")
  funcall-interactively(guix-system-from-file "/home/christopher/Repos/cmh/systems/work.scm")
  call-interactively(guix-system-from-file)
  magit-invoke-popup-action(121)
  funcall-interactively(magit-invoke-popup-action 121)
  call-interactively(magit-invoke-popup-action nil nil)
  command-execute(magit-invoke-popup-action)
```

-- 
📛 Christopher Howard
🚀 gemini://gem.librehacker.com
🌐 http://gem.librehacker.com

בראשית ברא אלהים את השמים ואת הארץ