GNU bug report logs - #54593
Do not create output file on error

Previous Next

Package: skribilo;

Reported by: Arun Isaac <arunisaac <at> systemreboot.net>

Date: Sun, 27 Mar 2022 08:52:02 UTC

Severity: normal

To reply to this bug, email your comments to 54593 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to skribilo-bugs <at> nongnu.org:
bug#54593; Package skribilo. (Sun, 27 Mar 2022 08:52:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Arun Isaac <arunisaac <at> systemreboot.net>:
New bug report received and forwarded. Copy sent to skribilo-bugs <at> nongnu.org. (Sun, 27 Mar 2022 08:52:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: skribilo-bugs <at> nongnu.org
Subject: Do not create output file on error
Date: Sun, 27 Mar 2022 14:21:35 +0530
Skribilo creates an empty output file even when it errors out. For
example, if I invoke skribilo as follows with foo.skb being
non-existent, skribilo will error out but still create a foo.html.

--8<---------------cut here---------------start------------->8---
$ ls foo.html
ls: cannot access 'foo.html': No such file or directory

$ ls foo.skb
ls: cannot access 'foo.skb': No such file or directory

$ skribilo -t html -o foo.html foo.skb
Backtrace:
In ice-9/boot-9.scm:
  1752:10 10 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In unknown file:
           9 (apply-smob/0 #<thunk 7f583ec7d2e0>)
In ice-9/boot-9.scm:
    724:2  8 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
In ice-9/eval.scm:
    619:8  7 (_ #(#(#<directory (guile-user) 7f583ec83c80>)))
In ice-9/command-line.scm:
   185:19  6 (_ #<input: string 7f583ec7c850>)
In unknown file:
           5 (eval (call-with-skribilo-error-catch/exit (lambda () (apply (module-ref (resolve-interface (quote (skribilo))) (quote skribilo)) (cdr (command-line))))) #<directory (guile-user) 7f583ec83c80>)
In ice-9/boot-9.scm:
  1752:10  4 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In skribilo.scm:
   429:14  3 (skribilo . _)
In ice-9/ports.scm:
   450:11  2 (call-with-input-file "foo.skb" #<procedure 7f583ec69e60 at ice-9/ports.scm:494:3 (p)> #:binary _ #:encoding _ #:guess-encoding _)
In unknown file:
           1 (open-file "foo.skb" "r" #:encoding #f #:guess-encoding #f)
In ice-9/boot-9.scm:
  1685:16  0 (raise-exception _ #:continuable? _)

ice-9/boot-9.scm:1685:16: In procedure raise-exception:
In procedure open-file: No such file or directory: "foo.skb"

$ ls foo.html
foo.html
--8<---------------cut here---------------end--------------->8---

Among other things, this upsets the use of skribilo in Makefiles. When a
skribilo invocation in a Makefile recipe fails, an output file is still
created, and when make is run again, the skribilo invocation is not
re-run.




Information forwarded to skribilo-bugs <at> nongnu.org:
bug#54593; Package skribilo. (Sun, 10 Apr 2022 20:02:02 GMT) Full text and rfc822 format available.

Message #8 received at 54593 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Arun Isaac <arunisaac <at> systemreboot.net>
Cc: 54593 <at> debbugs.gnu.org
Subject: Re: bug#54593: Do not create output file on error
Date: Sun, 10 Apr 2022 22:01:02 +0200
Arun Isaac <arunisaac <at> systemreboot.net> skribis:

> Among other things, this upsets the use of skribilo in Makefiles. When a
> skribilo invocation in a Makefile recipe fails, an output file is still
> created, and when make is run again, the skribilo invocation is not
> re-run.

Indeed.  Furthermore, I think the output file should be created
atomically, with something like Guix’s ‘with-atomic-file-output’.

Ludo’.




Information forwarded to skribilo-bugs <at> nongnu.org:
bug#54593; Package skribilo. (Tue, 12 Apr 2022 19:46:01 GMT) Full text and rfc822 format available.

Message #11 received at 54593 <at> debbugs.gnu.org (full text, mbox):

From: Arun Isaac <arunisaac <at> systemreboot.net>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 54593 <at> debbugs.gnu.org
Subject: Re: bug#54593: Do not create output file on error
Date: Wed, 13 Apr 2022 01:15:15 +0530
> Furthermore, I think the output file should be created atomically,
> with something like Guix’s ‘with-atomic-file-output’.

Definitely, agreed!




This bug report was last modified 2 years and 226 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.