changeset 30572:f0463edb8518

Get around a bug on skip-chars-forward. (ebnf-8-bit-chars): New var for bug fix. (ebnf-string): Bug fix.
author Gerd Moellmann <gerd@gnu.org>
date Thu, 03 Aug 2000 20:11:01 +0000
parents aa1b8b4c369d
children 3bb43339533c
files lisp/progmodes/ebnf2ps.el
diffstat 1 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/progmodes/ebnf2ps.el	Thu Aug 03 20:09:56 2000 +0000
+++ b/lisp/progmodes/ebnf2ps.el	Thu Aug 03 20:11:01 2000 +0000
@@ -4996,12 +4996,25 @@
      (point))))
 
 
+;; to avoid a bug of `skip-chars-forward' on version 20.4.1, that is, it
+;; doesn't accept the range "\240-\377", but it accepts the character sequence
+;; from \240 to \377.  It seems that version 20.7 has the same problem.
+(defconst ebnf-8-bit-chars
+  (let ((char ?\240)
+	str)
+    (while (<= char ?\377)
+      (setq str (concat str (char-to-string char))
+	    char (1+ char)))
+    str))
+
+
 (defun ebnf-string (chars eos-char kind)
   (forward-char)
   (buffer-substring-no-properties
    (point)
    (progn
-     (skip-chars-forward (concat chars "\240-\377") ebnf-limit)
+     ;;(skip-chars-forward (concat chars "\240-\377") ebnf-limit)
+     (skip-chars-forward (concat chars ebnf-8-bit-chars) ebnf-limit)
      (if (or (eobp) (/= (following-char) eos-char))
 	 (error "Illegal %s: missing `%c'." kind eos-char)
        (forward-char)