summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rwxr-xr-xsrc/skribilo.in19
1 files changed, 11 insertions, 8 deletions
diff --git a/src/skribilo.in b/src/skribilo.in
index 952784a..7d3a78d 100755
--- a/src/skribilo.in
+++ b/src/skribilo.in
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-# Copyright 2005,2006  Ludovic Courtès  <ludovic.courtes@laas.fr>
+# Copyright 2005, 2006  Ludovic Courtès  <ludovic.courtes@laas.fr>
 #
 #
 # This program is free software; you can redistribute it and/or modify
@@ -20,15 +20,18 @@
 
 # The `skribilo' executable.
 
+# Note: In Guile 1.8+ (or 1.9), when Guile is run in batch mode with
+# `--debug', it produces a clean stack trace when an exception is
+# raised and uncaught.  On earlier versions, it behaves as if
+# `--debug' had not been passed, not displaying a stack trace.  See
+# http://lists.gnu.org/archive/html/guile-devel/2006-01/msg00022.html
+# for details.
+
 main='(module-ref (resolve-module '\''(skribilo)) '\'main')'
 exec ${GUILE-@GUILE@} --debug \
                       -c "
 (use-modules (skribilo condition))
-(catch #t (lambda ()
-            (call-with-skribilo-error-catch
-	      (lambda ()
-	        (apply $main (cdr (command-line))))))
-	  (lambda (key . args)
-	    (format (current-error-port) \"exception \`~a' raised~%\" key)
-	    (exit 1)))"  "$@"
 
+(call-with-skribilo-error-catch
+  (lambda ()
+    (apply $main (cdr (command-line)))))"  "$@"