Subject: bug#37965: parse-error in latest news entry

From: Eric Bavier <[email-masked]>
Date: Mon, 28 Oct 2019 12:57:48 -0400 (EDT)

Commit https://git.savannah.gnu.org/cgit/guix.git/commit/?id=b13b9384bc43bf93c754c037956c8ef9a99c2b41 causes a recent 'guix pull' to throw a parse-error:

News for channel 'guix'
Backtrace:
          16 (apply-smob/1 #<catch-closure 7f64e679a200>)
In ice-9/boot-9.scm:
    705:2 15 (call-with-prompt _ _ #<procedure default-prompt-handle…>)
In ice-9/eval.scm:
    619:8 14 (_ #(#(#<directory (guile-user) 7f64e644b140>)))
In guix/ui.scm:
  1730:12 13 (run-guix-command _ . _)
In ice-9/boot-9.scm:
    829:9 12 (catch _ _ #<procedure 7f64e63bb018 at guix/ui.scm:642…> …)
    829:9 11 (catch _ _ #<procedure 7f64e63bb030 at guix/ui.scm:765…> …)
    829:9 10 (catch _ _ #<procedure 7f64e3d27878 at guix/scripts/pu…> …)
In srfi/srfi-1.scm:
    640:9  9 (for-each #<procedure 7f64e3d256e0 at guix/scripts/pul…> …)
In guix/scripts/pull.scm:
   283:11  8 (display-channel-specific-news _ _ #:port _ #:concise? _)
In srfi/srfi-1.scm:
    640:9  7 (for-each #<procedure 7f64d5b03720 at guix/scripts/pul…> …)
In guix/scripts/pull.scm:
    251:2  6 (display-news-entry #<<channel-news-entry> commit: "49…> …)
   241:12  5 (display-news-entry-title _ _ #<output: file /dev/pts/19>)
In guix/ui.scm:
  1210:23  4 (texi->plain-text _)
In texinfo.scm:
  1131:22  3 (parse _)
   979:31  2 (loop #<input: string 7f64e6483230> (*fragment*) _ _ _)
   910:31  1 (loop #<input: string 7f64e6483230> #f #<procedure ide…> …)
   745:27  0 (_ #<input: string 7f64e6483230> #f #f #<procedure 7f6…> …)

texinfo.scm:745:27: Throw to key `parser-error' with args `(#<input: string 7f64e6483230> "EOF while reading a token " "reading char data")'

I believe this is due to missing trailing '}' in the en title:

 (entry (commit "49af34cfac89d384c46269bfd9388b2c73b1220a")
        (title (en "@command{guix pull} now honors
@file{/etc/guix/channels.scm")
                            ^

BTW, is there a good way to test these news entries, since they appear to be code and can cause errors for users like this?  './pre-inst-env guix pull --news' seems to still read news ~/.config/guix/current.

-- 
`~Eric