summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorLudovic Courtes2006-07-23 20:49:40 +0000
committerLudovic Courtes2006-07-23 20:49:40 +0000
commit6d7a8dbae57f06b883bab6e57728d07a9d072c22 (patch)
treeaeb9ea3e003a4c046b4a9b9a898009b055c6c202 /src
parent9d8bd8dfbcd71464a17bf3e12546868a5c9e0580 (diff)
downloadskribilo-6d7a8dbae57f06b883bab6e57728d07a9d072c22.tar.gz
skribilo-6d7a8dbae57f06b883bab6e57728d07a9d072c22.tar.lz
skribilo-6d7a8dbae57f06b883bab6e57728d07a9d072c22.zip
Improved error reporting of the Skribilo module reader.
* src/guile/skribilo/utils/syntax.scm (%skribilo-module-reader): Improved
  error reporting by showing the location of the unexpected character.

git-archimport-id: lcourtes@laas.fr--2005-libre/skribilo--devo--1.2--patch-23
Diffstat (limited to 'src')
-rw-r--r--src/guile/skribilo/utils/syntax.scm11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/guile/skribilo/utils/syntax.scm b/src/guile/skribilo/utils/syntax.scm
index 975b879..06c89bd 100644
--- a/src/guile/skribilo/utils/syntax.scm
+++ b/src/guile/skribilo/utils/syntax.scm
@@ -42,8 +42,15 @@
          '(colon-keywords no-scsh-block-comments
            srfi30-block-comments srfi62-sexp-comments)
          (lambda (chr port read)
-           (error "unexpected character in Skribilo module"
-                  chr))
+	   (let ((file (port-filename port))
+		 (line (port-line port))
+		 (column (port-column port)))
+	     (error (string-append
+		     (if (string? file)
+			 (format #f "~a:~a:~a: " file line column)
+			 "")
+		     "unexpected character in Skribilo module")
+		    chr)))
 
          ;; By default, don't record positions: this yields a nice read
          ;; performance improvement.