Subject: bug#74250: emacs-guix: guix-pull invalid input error

From: Christopher Howard <[email-masked]>
Date: Wed, 20 Nov 2024 10:23:35 -0900

Suhail Singh <[email-masked]> writes:

> Out of curiosity, does the below raise an assertion error for you when
> GUILE_LOAD_PATH is _not_ set "appropriately"?
>
> #+begin_src emacs-lisp
>   (let ((guile-load-path (split-string (getenv "GUILE_LOAD_PATH") ":")))
>       (dolist (suffix '("guix/current/share/guile/site/3.0"
>                         ;; <https://www.mail-archive.com/[email-masked]/msg13819.html>
>                         "guix-module-union/share/guile/site/3.0"))
>         (cl-assert (cl-some (lambda (x)
>                               (string-suffix-p suffix x))
>                             guile-load-path))))
> #+end_src

Hi, this is a little confusing since my example involved working outside
of Emacs, running Scheme from the guix repl. Are you wanting this elisp
code run before/after emacs-guix.el is loaded in Emacs? Anyhow, if I
just execute (eval-last-sexp) the code you sent, I get this error:

```
Debugger entered--Lisp error: (cl-assertion-failed ((cl-some (lambda (x) (string-suffix-p suffix x)) guile-load-path) nil))
  cl--assertion-failed((cl-some (lambda (x) (string-suffix-p suffix x)) guile-load-path))
  (or (cl-some #'(lambda (x) (string-suffix-p suffix x)) guile-load-path) (cl--assertion-failed '(cl-some (lambda (x) (string-suffix-p suffix x)) guile-load-path)))
  (progn (or (cl-some #'(lambda (x) (string-suffix-p suffix x)) guile-load-path) (cl--assertion-failed '(cl-some (lambda (x) (string-suffix-p suffix x)) guile-load-path))) nil)
  (let ((suffix (car tail))) (progn (or (cl-some #'(lambda (x) (string-suffix-p suffix x)) guile-load-path) (cl--assertion-failed '(cl-some (lambda (x) (string-suffix-p suffix x)) guile-load-path))) nil) (setq tail (cdr tail)))
  (while tail (let ((suffix (car tail))) (progn (or (cl-some #'(lambda (x) (string-suffix-p suffix x)) guile-load-path) (cl--assertion-failed '(cl-some (lambda ... ...) guile-load-path))) nil) (setq tail (cdr tail))))
  (let ((tail '("guix/current/share/guile/site/3.0" "guix-module-union/share/guile/site/3.0"))) (while tail (let ((suffix (car tail))) (progn (or (cl-some #'(lambda ... ...) guile-load-path) (cl--assertion-failed '(cl-some ... guile-load-path))) nil) (setq tail (cdr tail)))))
  (let ((guile-load-path (split-string (getenv "GUILE_LOAD_PATH") ":"))) (let ((tail '("guix/current/share/guile/site/3.0" "guix-module-union/share/guile/site/3.0"))) (while tail (let ((suffix (car tail))) (progn (or (cl-some #'... guile-load-path) (cl--assertion-failed '...)) nil) (setq tail (cdr tail))))))
  eval((let ((guile-load-path (split-string (getenv "GUILE_LOAD_PATH") ":"))) (let ((tail '("guix/current/share/guile/site/3.0" "guix-module-union/share/guile/site/3.0"))) (while tail (let ((suffix (car tail))) (progn (or (cl-some ... guile-load-path) (cl--assertion-failed ...)) nil) (setq tail (cdr tail)))))) nil)
  elisp--eval-last-sexp(nil)
  #f(compiled-function () #<bytecode 0x2999fd94511e2>)()
  handler-bind-1(#f(compiled-function () #<bytecode 0x2999fd94511e2>) (error) eval-expression--debug)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)
```

-- 
Christopher Howard