bug-mcron
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-mcron] [PATCH 14/33] main: Make 'catch-mcron-error' macro hygienic.


From: Mathieu Lirzin
Subject: [Bug-mcron] [PATCH 14/33] main: Make 'catch-mcron-error' macro hygienic.
Date: Sun, 27 Sep 2015 23:00:25 +0200

* scm/mcron/main.scm (catch-mcron-error): Use 'define-syntax-rule'
  instead of 'defmacro'.
---
 scm/mcron/main.scm | 20 +++++++-------------
 1 file changed, 7 insertions(+), 13 deletions(-)

diff --git a/scm/mcron/main.scm b/scm/mcron/main.scm
index 19631d1..e05e39e 100644
--- a/scm/mcron/main.scm
+++ b/scm/mcron/main.scm
@@ -64,19 +64,13 @@ When COMMAND is not specified this uses the first element 
of (command-line)."
   (when (and exit-code (not (eq? exit-code 0)))
     (primitive-exit exit-code)))
 
-
-
-;; Code contributed by Sergey Poznyakoff.  Execute body. If an 'mcron-error
-;; exception occurs, print its diagnostics and exit with its error code.
-
-(defmacro catch-mcron-error (. body)
-  `(catch 'mcron-error
-          (lambda ()
-            ,@body)
-          (lambda (key exit-code . msg)
-            (apply mcron-error exit-code msg))))
-
-
+(define-syntax-rule (catch-mcron-error exp ...)
+  "Evaluate EXP .... if an 'mcron-error exception occurs, print its diagnostics
+and exit with its error code."
+  (catch 'mcron-error
+    (lambda () exp ...)
+    (lambda (key exit-code . msg)
+      (apply mcron-error exit-code msg))))
 
 ;; We will be doing a lot of testing of the command name, so it makes sense to
 ;; perform the string comparisons once and for all here.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]