Author: yamakenz
Date: Sat Aug 11 11:31:41 2007
New Revision: 4832

Modified:
   trunk/scm/uim-sh.scm

Log:
* scm/uim-sh.scm
  - (uim-sh-loop): Terminate execution on a non-recoverable read error
    such as non-ASCII char in token on a non-Unicode port. Thanks
    No.785 of [uim thread 7] for the report


Modified: trunk/scm/uim-sh.scm
==============================================================================
--- trunk/scm/uim-sh.scm        (original)
+++ trunk/scm/uim-sh.scm        Sat Aug 11 11:31:41 2007
@@ -43,7 +43,11 @@
   (lambda ()
     (if (not uim-sh-opt-batch)
        (display uim-sh-prompt))
-    (let* ((expr (read))
+    ;; Non-recoverable read error is turned into fatal errorr such as
+    ;; non-ASCII char in token on a non-Unicode port.
+    (let* ((expr (guard (read-err
+                        (else (%%fatal-error read-err)))
+                  (read)))
           (eof  (eof-object? expr)))
       (if (not eof)
          (begin

Reply via email to