Mercurial > hg > xemacs-beta
changeset 3163:04a435415e1d
[xemacs-hg @ 2005-12-23 11:42:32 by stephent]
undo spurious commit
author | stephent |
---|---|
date | Fri, 23 Dec 2005 11:42:35 +0000 |
parents | 6e11554a16aa |
children | c9423e7289d2 |
files | lisp/derived.el lisp/mule/mule-charset.el |
diffstat | 2 files changed, 16 insertions(+), 76 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/derived.el Fri Dec 23 11:40:39 2005 +0000 +++ b/lisp/derived.el Fri Dec 23 11:42:35 2005 +0000 @@ -419,13 +419,22 @@ ;; (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 (range value) - (when (eq ?@ (char-syntax-from-code value)) - (map-char-table #'(lambda (rng val) - (put-char-table rng val new)) - old - range))) - new)) + (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)) ;; Merge an old abbrev table into a new one. ;; This function requires internal knowledge of how abbrev tables work,
--- a/lisp/mule/mule-charset.el Fri Dec 23 11:40:39 2005 +0000 +++ b/lisp/mule/mule-charset.el Fri Dec 23 11:42:35 2005 +0000 @@ -62,67 +62,6 @@ (forward-char)))) list)) -(defun fixed-charsets-in-region (start end &optional buffer) - "Return a list of the charsets in the region between START and END. -BUFFER defaults to the current buffer if omitted." - (let (list) - (save-excursion - (if buffer - (set-buffer buffer)) - (save-restriction - (narrow-to-region start end) - (goto-char (point-min)) - (let ((prev-charset nil)) - (while (not (eobp)) - (let* ((charset (char-charset (char-after (point))))) - (if (not (eq prev-charset charset)) - (progn - (setq prev-charset charset) - (or (memq charset list) - (setq list (cons charset list)))))) - (forward-char))))) - list)) - -(defun list-charsets-in-region (start end &optional buffer) - "Return a list of the charsets in the region between START and END. -BUFFER defaults to the current buffer if omitted." - (let (list) - (save-excursion - (if buffer - (set-buffer buffer)) - (save-restriction - (narrow-to-region start end) - (goto-char (point-min)) - ;; this could be optimized by maintaining prev-charset and checking - ;; for equality, but memq is not that slow for a short list. - (while (not (eobp)) - (let* ((charset (char-charset (char-after (point))))) - (or (memq charset list) - (setq list (cons charset list)))) - (forward-char)))) - list)) - -(defun hash-charsets-in-region (start end &optional buffer) - "Return a list of the charsets in the region between START and END. -BUFFER defaults to the current buffer if omitted." - (let ((ht (make-hash-table :size 10))) - (save-excursion - (if buffer - (set-buffer buffer)) - (save-restriction - (narrow-to-region start end) - (goto-char (point-min)) - (while (not (eobp)) - (puthash (char-charset (char-after (point))) t ht) - (forward-char)))) - (hash-table-key-list ht))) - -(defun c-charsets-in-region (start end &optional buffer) - "Return a list of the charsets in the region between START and END. -BUFFER defaults to the current buffer if omitted." - (setq buffer (or buffer (current-buffer))) - (charsets-in-region-internal buffer start end)) - (defun charsets-in-string (string) "Return a list of the charsets in STRING." (let (list) @@ -134,15 +73,7 @@ string) list)) -(defun c-charsets-in-string (string) - "Return a list of the charsets in STRING." - (charsets-in-string-internal string nil nil)) - -(or (fboundp 'charsets-in-string) - (defalias 'charsets-in-string 'c-charsets-in-string)) (defalias 'find-charset-string 'charsets-in-string) -(or (fboundp 'charsets-in-region) - (defalias 'charsets-in-region 'c-charsets-in-region)) (defalias 'find-charset-region 'charsets-in-region)