diff lisp/derived.el @ 3162:6e11554a16aa

[xemacs-hg @ 2005-12-23 11:40:32 by stephent] Add rename function to buffer mode. <87hd902gcp.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Fri, 23 Dec 2005 11:40:39 +0000
parents fd1acd2f457a
children 04a435415e1d
line wrap: on
line diff
--- a/lisp/derived.el	Fri Dec 23 11:33:39 2005 +0000
+++ b/lisp/derived.el	Fri Dec 23 11:40:39 2005 +0000
@@ -419,22 +419,13 @@
   ;; (set-char-table-parent new old) here.
   ;; We use map-char-table, not map-syntax-table, so we can explicitly
   ;; check for inheritance.
-  (map-char-table
-   #'(lambda (key value)
-       (let ((newval (get-range-char-table key new 'multi)))
-	 (cond ((eq newval 'multi)	; OK, dive into the class hierarchy
-		(map-char-table
-		 #'(lambda (key1 value1)
-		     (when (eq ?@ (char-syntax-from-code
-				   (get-range-char-table key new ?@)))
-		       (put-char-table key1 value new))
-		     nil)
-		 new
-		 key))
-	       ((eq ?@ (char-syntax-from-code newval)) ;; class at once
-		(put-char-table key value new))))
-       nil)
-   old))
+  (map-char-table #'(lambda (range value)
+		      (when (eq ?@ (char-syntax-from-code value))
+			(map-char-table #'(lambda (rng val)
+					    (put-char-table rng val new))
+					old
+					range)))
+		  new))
 
 ;; Merge an old abbrev table into a new one.
 ;; This function requires internal knowledge of how abbrev tables work,