X-Git-Url: http://git.chise.org/gitweb/?p=chise%2Fxemacs-chise.git.1;a=blobdiff_plain;f=lisp%2Fderived.el;h=3ca8e03d2c0ccde5d86f2f4b2d70179e3e1700d9;hp=9f3dfc77c2dcb53749acb06ae1b269dd4997e4c2;hb=d498337390c3a567aae4fa0e1c1f06064a808d21;hpb=ee38d21b330f5001b47a577cefb5ba7b82a3b7d3 diff --git a/lisp/derived.el b/lisp/derived.el index 9f3dfc7..3ca8e03 100644 --- a/lisp/derived.el +++ b/lisp/derived.el @@ -421,20 +421,12 @@ Where the new table already has an entry, nothing is copied from the old one." ;; 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)) + (if (eq ?@ (char-syntax-from-code value)) + (map-char-table #'(lambda (key1 value1) + (put-char-table key1 value1 new)) + old + key))) + new)) ;; Merge an old abbrev table into a new one. ;; This function requires internal knowledge of how abbrev tables work,