From 05a792a120227f9ce294866dfd1494e059968335 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 15 Mar 2022 15:04:02 +0530 Subject: tissue: Use more specific &issue-file-not-found-error. * bin/tissue: Do not import (rnrs conditions). Import (tissue conditions). (tissue-edit, tissue-show): Raise &issue-file-not-found-error instead of &message-condition. (print-usage): Handle &issue-file-not-found-error instead of &message-condition. * tissue/web.scm: Do not import (rnrs exceptions). Import (tissue conditions). (build-website): Raise &issue-file-not-found-error instead of &message-condition. --- bin/tissue | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'bin') diff --git a/bin/tissue b/bin/tissue index e0abcda..e399e64 100755 --- a/bin/tissue +++ b/bin/tissue @@ -19,8 +19,7 @@ ;;; You should have received a copy of the GNU General Public License ;;; along with tissue. If not, see . -(import (rnrs conditions) - (rnrs exceptions) +(import (rnrs exceptions) (rnrs io ports) (srfi srfi-1) (srfi srfi-26) @@ -30,6 +29,7 @@ (ice-9 match) (ice-9 popen) (ice-9 regex) + (tissue conditions) (tissue issue) (tissue utils)) @@ -286,8 +286,7 @@ export EDITOR=emacsclient")) ;; committed. Therefore, only read the file if it exists. (if (file-exists? issue-file) (invoke (getenv "EDITOR") issue-file) - (raise (make-message-condition - (string-append "No such file or directory: " issue-file)))))))) + (raise (issue-file-not-found-error issue-file))))))) (define tissue-show (match-lambda* @@ -344,8 +343,7 @@ Show the text of issue #ISSUE-NUMBER. (const #t) get-line-dos-or-unix port))) - (raise (make-message-condition - (string-append "No such file or directory: " issue-file)))))))) + (raise (issue-file-not-found-error issue-file))))))) (define (print-usage) (format #t "Usage: ~a COMMAND [OPTIONS] [ARGS] @@ -369,8 +367,10 @@ To get usage information for one of these sub-commands, run ((_ (or "-h" "--help")) (print-usage)) ((_ command args ...) - (guard (c ((message-condition? c) - (display (condition-message c) (current-error-port)) + (guard (c ((issue-file-not-found-error? c) + (display (string-append "No such file or directory: " + (issue-file-not-found-error-issue-file c)) + (current-error-port)) (newline (current-error-port)) (exit #f))) (apply (match command -- cgit v1.2.3