Remove Emacs 20 bug workaround in ebnf2ps (bug#39663)
* lisp/progmodes/ebnf2ps.el (ebnf-range-regexp): Remove. All calls replaced with a string equivalent to the returned value.
This commit is contained in:
parent
17691ad2d3
commit
d950a61fc8
7 changed files with 23 additions and 52 deletions
|
@ -474,11 +474,10 @@
|
|||
(aset ebnf-abn-token-table ?\; 'comment)))
|
||||
|
||||
|
||||
;; replace the range "\240-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-abn-non-terminal-chars
|
||||
(ebnf-range-regexp "-_0-9A-Za-z" ?\240 ?\377))
|
||||
"-_0-9A-Za-z\u00a0-\u00ff")
|
||||
(defconst ebnf-abn-non-terminal-letter-chars
|
||||
(ebnf-range-regexp "A-Za-z" ?\240 ?\377))
|
||||
"A-Za-z\u00a0-\u00ff")
|
||||
|
||||
|
||||
(defun ebnf-abn-lex ()
|
||||
|
@ -572,9 +571,8 @@ See documentation for variable `ebnf-abn-lex'."
|
|||
(not eor-p)))
|
||||
|
||||
|
||||
;; replace the range "\177-\237" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-abn-comment-chars
|
||||
(ebnf-range-regexp "^\n\000-\010\016-\037" ?\177 ?\237))
|
||||
"^\n\000-\010\016-\037\177\u0080-\u009f")
|
||||
|
||||
|
||||
(defun ebnf-abn-skip-comment ()
|
||||
|
@ -612,9 +610,8 @@ See documentation for variable `ebnf-abn-lex'."
|
|||
(ebnf-buffer-substring ebnf-abn-comment-chars))
|
||||
|
||||
|
||||
;; replace the range "\240-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-abn-string-chars
|
||||
(ebnf-range-regexp " -!#-~" ?\240 ?\377))
|
||||
" !#-~\u00a0-\u00ff")
|
||||
|
||||
|
||||
(defun ebnf-abn-string ()
|
||||
|
|
|
@ -419,9 +419,8 @@
|
|||
(aset ebnf-bnf-token-table ebnf-lex-eop-char 'period)))
|
||||
|
||||
|
||||
;; replace the range "\240-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-bnf-non-terminal-chars
|
||||
(ebnf-range-regexp "!#%&'*-,0-:<>@-Z\\\\^-z~" ?\240 ?\377))
|
||||
"!#%&'*-,0-:<>@-Z\\\\^-z~\u00a0-\u00ff")
|
||||
|
||||
|
||||
(defun ebnf-bnf-lex ()
|
||||
|
@ -520,9 +519,8 @@ See documentation for variable `ebnf-bnf-lex'."
|
|||
))))
|
||||
|
||||
|
||||
;; replace the range "\177-\237" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-bnf-comment-chars
|
||||
(ebnf-range-regexp "^\n\000-\010\016-\037" ?\177 ?\237))
|
||||
"^\n\000-\010\016-\037\177\u0080-\u009f")
|
||||
|
||||
|
||||
(defun ebnf-bnf-skip-comment ()
|
||||
|
|
|
@ -1108,9 +1108,8 @@
|
|||
(aset ebnf-dtd-token-table ?\] 'end-subset)))
|
||||
|
||||
|
||||
;; replace the range "\240-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-dtd-name-chars
|
||||
(ebnf-range-regexp "-._:0-9A-Za-z" ?\240 ?\377))
|
||||
"-._:0-9A-Za-z\u00a0-\u00ff")
|
||||
|
||||
|
||||
(defconst ebnf-dtd-decl-alist
|
||||
|
@ -1263,11 +1262,10 @@ See documentation for variable `ebnf-dtd-lex'."
|
|||
(format "%s%s;" start char)))
|
||||
|
||||
|
||||
;; replace the range "\240-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-dtd-double-string-chars
|
||||
(ebnf-range-regexp "\t -!#-~" ?\240 ?\377))
|
||||
"\t -!#-~\u00a0-\u00ff")
|
||||
(defconst ebnf-dtd-single-string-chars
|
||||
(ebnf-range-regexp "\t -&(-~" ?\240 ?\377))
|
||||
"\t -&(-~\u00a0-\u00ff")
|
||||
|
||||
|
||||
(defun ebnf-dtd-string (delim)
|
||||
|
@ -1287,11 +1285,10 @@ See documentation for variable `ebnf-dtd-lex'."
|
|||
(forward-char)))))
|
||||
|
||||
|
||||
;; replace the range "\177-\237" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-dtd-comment-chars
|
||||
(ebnf-range-regexp "^-\000-\010\013\014\016-\037" ?\177 ?\237))
|
||||
"^-\000-\010\013\014\016-\037\177\u0080-\u009f")
|
||||
(defconst ebnf-dtd-filename-chars
|
||||
(ebnf-range-regexp "^-\000-\037" ?\177 ?\237))
|
||||
"^-\000-\037\177\u0080-\u009f")
|
||||
|
||||
|
||||
(defun ebnf-dtd-skip-comment ()
|
||||
|
|
|
@ -405,11 +405,10 @@
|
|||
(aset ebnf-ebx-token-table ?/ 'comment)))
|
||||
|
||||
|
||||
;; replace the range "\240-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-ebx-non-terminal-chars
|
||||
(ebnf-range-regexp "-_A-Za-z" ?\240 ?\377))
|
||||
"-_A-Za-z\u00a0-\u00ff")
|
||||
(defconst ebnf-ebx-non-terminal-letter-chars
|
||||
(ebnf-range-regexp "A-Za-z" ?\240 ?\377))
|
||||
"A-Za-z\u00a0-\u00ff")
|
||||
|
||||
|
||||
(defun ebnf-ebx-lex ()
|
||||
|
@ -488,9 +487,8 @@ See documentation for variable `ebnf-ebx-lex'."
|
|||
))))
|
||||
|
||||
|
||||
;; replace the range "\177-\237" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-ebx-constraint-chars
|
||||
(ebnf-range-regexp "^\000-\010\016-\037]" ?\177 ?\237))
|
||||
"^\000-\010\016-\037]\177\u0080-\u009f")
|
||||
|
||||
|
||||
(defun ebnf-ebx-skip-constraint ()
|
||||
|
@ -517,11 +515,10 @@ See documentation for variable `ebnf-ebx-lex'."
|
|||
(not eor-p)))
|
||||
|
||||
|
||||
;; replace the range "\177-\237" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-ebx-comment-chars
|
||||
(ebnf-range-regexp "^\000-\010\016-\037\\*" ?\177 ?\237))
|
||||
"^\000-\010\016-\037*\177\u0080-\u009f")
|
||||
(defconst ebnf-ebx-filename-chars
|
||||
(ebnf-range-regexp "^\000-\037\\*" ?\177 ?\237))
|
||||
"^\000-\037*\177\u0080-\u009f")
|
||||
|
||||
|
||||
(defun ebnf-ebx-skip-comment ()
|
||||
|
@ -581,11 +578,10 @@ See documentation for variable `ebnf-ebx-lex'."
|
|||
(concat fname (make-string nchar ?*)))))
|
||||
|
||||
|
||||
;; replace the range "\240-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-ebx-double-string-chars
|
||||
(ebnf-range-regexp "\t -!#-~" ?\240 ?\377))
|
||||
"\t -!#-~\u00a0-\u00ff")
|
||||
(defconst ebnf-ebx-single-string-chars
|
||||
(ebnf-range-regexp "\t -&(-~" ?\240 ?\377))
|
||||
"\t -&(-~\u00a0-\u00ff")
|
||||
|
||||
|
||||
(defun ebnf-ebx-string (delim)
|
||||
|
|
|
@ -379,9 +379,8 @@
|
|||
(aset ebnf-iso-token-table ?. 'character)))
|
||||
|
||||
|
||||
;; replace the range "\240-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-iso-non-terminal-chars
|
||||
(ebnf-range-regexp " 0-9A-Za-z_" ?\240 ?\377))
|
||||
" 0-9A-Za-z_\u00a0-\u00ff")
|
||||
|
||||
|
||||
(defun ebnf-iso-lex ()
|
||||
|
@ -487,9 +486,8 @@ See documentation for variable `ebnf-iso-lex'."
|
|||
))))
|
||||
|
||||
|
||||
;; replace the range "\177-\237" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-iso-comment-chars
|
||||
(ebnf-range-regexp "^*(\000-\010\016-\037" ?\177 ?\237))
|
||||
"^*(\000-\010\016-\037\177\u0080-\u009f")
|
||||
|
||||
|
||||
(defun ebnf-iso-skip-comment ()
|
||||
|
|
|
@ -397,9 +397,8 @@ See documentation for variable `ebnf-yac-lex'."
|
|||
(< (point) ebnf-limit))
|
||||
|
||||
|
||||
;; replace the range "\177-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-yac-skip-chars
|
||||
(ebnf-range-regexp "^{}/'\"\000-\010\013\016-\037" ?\177 ?\377))
|
||||
"^{}/'\"\000-\010\013\016-\037\177\u0080-\u009f")
|
||||
|
||||
|
||||
(defun ebnf-yac-skip-code ()
|
||||
|
@ -442,9 +441,8 @@ See documentation for variable `ebnf-yac-lex'."
|
|||
))
|
||||
|
||||
|
||||
;; replace the range "\177-\237" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-yac-comment-chars
|
||||
(ebnf-range-regexp "^*\000-\010\013\016-\037" ?\177 ?\237))
|
||||
"^*\000-\010\013\016-\037\177\u0080-\u009f")
|
||||
|
||||
|
||||
(defun ebnf-yac-skip-comment ()
|
||||
|
|
|
@ -4962,18 +4962,6 @@ killed after process termination."
|
|||
(kill-buffer (current-buffer))))
|
||||
|
||||
|
||||
;; function `ebnf-range-regexp' is used to avoid a bug of `skip-chars-forward'
|
||||
;; on version 20.4.1, that is, it doesn't accept ranges like "\240-\377" (or
|
||||
;; "\177-\237"), but it accepts the character sequence from \240 to \377 (or
|
||||
;; from \177 to \237). It seems that version 20.7 has the same problem.
|
||||
(defun ebnf-range-regexp (prefix from to)
|
||||
(let (str)
|
||||
(while (<= from to)
|
||||
(setq str (concat str (char-to-string from))
|
||||
from (1+ from)))
|
||||
(concat prefix str)))
|
||||
|
||||
|
||||
(defvar ebnf-map-name
|
||||
(let ((map (make-vector 256 ?\_)))
|
||||
(mapc #'(lambda (char)
|
||||
|
@ -5970,8 +5958,7 @@ killed after process termination."
|
|||
(point))))
|
||||
|
||||
|
||||
;; replace the range "\240-\377" (see `ebnf-range-regexp').
|
||||
(defconst ebnf-8-bit-chars (ebnf-range-regexp "" ?\240 ?\377))
|
||||
(defconst ebnf-8-bit-chars "\u00a0-\u00ff")
|
||||
|
||||
|
||||
(defun ebnf-string (chars eos-char kind)
|
||||
|
|
Loading…
Add table
Reference in a new issue