Subject: bug#52137: committer.scm wrong type passed to car

From: Jack Hill <[email-masked]>
Date: Sat, 27 Nov 2021 01:41:20 -0500 (EST)

Hi Guix and Ricardo,

Running the etc/commiter.scm script with the diff of a patch that I 
recently submitted [0] results in the backtrace below. This might be 
because I was holding the script wrong, but it would be nice to provide a 
more friendly message for people like me who don't remember how to use it 
properly.

[0] https://issues.guix.gnu.org/52134#1

jackhill@leyden ~/repos/guix [env]$ git status
On branch committer-test
Changes not staged for commit:
   (use "git add <file>..." to update what will be committed)
   (use "git restore <file>..." to discard changes in working directory)
modified:   gnu/packages/web-browsers.scm

no changes added to commit (use "git add" and/or "git commit -a")
jackhill@leyden ~/repos/guix [env]$ git diff
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 7ea2a9a9ec..50a41309d3 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -51,6 +51,7 @@ (define-module (gnu packages web-browsers)
    #:use-module (gnu packages)
    #:use-module (gnu packages autotools)
    #:use-module (gnu packages backup)
+  #:use-module (gnu packages base)
    #:use-module (gnu packages bison)
    #:use-module (gnu packages compression)
    #:use-module (gnu packages curl)
@@ -125,10 +126,12 @@ (define-public midori
             (assoc-ref glib-or-gtk:%standard-phases
                        'glib-or-gtk-wrap)))))
      (native-inputs
-     `(("glib:bin" ,glib "bin")
+     `(("desktop-file-utils" ,desktop-file-utils) ;for tests
+       ("glib:bin" ,glib "bin")
         ("gtk+:bin" ,gtk+ "bin")
         ("intltool" ,intltool)
-       ("pkg-config" ,pkg-config)))
+       ("pkg-config" ,pkg-config)
+       ("which" ,which))) ;for tests
      (inputs
       `(("adwaita-icon-theme" ,adwaita-icon-theme)
         ("gcr" ,gcr)
@@ -139,10 +142,9 @@ (define-public midori
         ("json-glib" ,json-glib)
         ("libarchive" ,libarchive)
         ("libpeas" ,libpeas)
-       ("libsoup" ,libsoup)
         ("sqlite" ,sqlite)
         ("vala" ,vala)
-       ("webkitgtk" ,webkitgtk)))
+       ("webkitgtk" ,webkitgtk-with-libsoup2)))
      (synopsis "Lightweight graphical web browser")
      (description "@code{Midori} is a lightweight, Webkit-based web browser.
  It features integration with GTK+3, configurable web search engine, bookmark
jackhill@leyden ~/repos/guix [env]$ ./etc/committer.scm
Backtrace:
            5 (primitive-load "/home/jackhill/repos/guix/./etc/commit…")
In srfi/srfi-1.scm:
     634:9  4 (for-each #<procedure 7fefd554e4c0 at ice-9/eval.scm:3…> …)
In ice-9/eval.scm:
     619:8  3 (_ #(#(#(#(#(#(#(#(#(#(#(…) …) …) …) …) …) …) …) …) …) …))
     619:8  2 (_ #(#(#(#<directory (guile-user) 7fefd7cbbc80>) # …) …))
    626:19  1 (_ #(#(#(#<directory (guile-user) 7fefd7cbbc80>) # …) …))
In unknown file:
            0 (car ())

ERROR: In procedure car:
In procedure car: Wrong type (expecting pair): ()
Aborting commit due to empty commit message.