changeset 103946:774187433685

(describe-buffer-case-table): Fix for the case that KEY is a cons.
author Kenichi Handa <handa@m17n.org>
date Fri, 17 Jul 2009 12:27:15 +0000
parents 0d61df5be488
children 37177e1f2fcb
files lisp/case-table.el
diffstat 1 files changed, 19 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/case-table.el	Fri Jul 17 12:26:55 2009 +0000
+++ b/lisp/case-table.el	Fri Jul 17 12:27:15 2009 +0000
@@ -39,19 +39,25 @@
   (let ((description (make-char-table 'case-table)))
     (map-char-table
      (function (lambda (key value)
-		 (if (consp key)
-		     (set-char-table-range description key "case-invariant")
-		   (aset
-		    description key
-		    (cond ((not (natnump value))
-			   "case-invariant")
-			  ((/= key (downcase key))
-			   (concat "uppercase, matches "
-				   (char-to-string (downcase key))))
-			  ((/= key (upcase key))
-			   (concat "lowercase, matches "
-				   (char-to-string (upcase key))))
-			  (t "case-invariant"))))))
+		 (if (not (natnump value))
+		     (if (consp key)
+			 (set-char-table-range description key "case-invariant")
+		       (aset description key "case-invariant"))
+		   (let (from to)
+		     (if (consp key)
+			 (setq from (car key) to (cdr key))
+		       (setq from (setq to key)))
+		     (while (<= from to)
+		       (aset
+			description from
+			(cond ((/= from (downcase from))
+			       (concat "uppercase, matches "
+				       (char-to-string (downcase from))))
+			      ((/= from (upcase from))
+			       (concat "lowercase, matches "
+				       (char-to-string (upcase from))))
+			      (t "case-invariant")))
+		       (setq from (1+ from)))))))
      (current-case-table))
     (save-excursion
      (with-output-to-temp-buffer "*Help*"