emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/international/mule-cmds.el


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lisp/international/mule-cmds.el
Date: Fri, 04 Apr 2003 01:22:22 -0500

Index: emacs/lisp/international/mule-cmds.el
diff -c emacs/lisp/international/mule-cmds.el:1.225 
emacs/lisp/international/mule-cmds.el:1.226
*** emacs/lisp/international/mule-cmds.el:1.225 Thu Mar 13 03:32:17 2003
--- emacs/lisp/international/mule-cmds.el       Mon Mar 17 23:23:50 2003
***************
*** 483,489 ****
  
  (defun find-coding-systems-for-charsets (charsets)
    "Return a list of proper coding systems to encode characters of CHARSETS.
! CHARSETS is a list of character sets."
    (cond ((or (null charsets)
             (and (= (length charsets) 1)
                  (eq 'ascii (car charsets))))
--- 483,492 ----
  
  (defun find-coding-systems-for-charsets (charsets)
    "Return a list of proper coding systems to encode characters of CHARSETS.
! CHARSETS is a list of character sets.
! It actually checks at most the first 96 characters of each charset.
! So, if a charset of dimension two is included in CHARSETS, the value may
! contain a coding system that can't encode all characters of the charset."
    (cond ((or (null charsets)
             (and (= (length charsets) 1)
                  (eq 'ascii (car charsets))))
***************
*** 493,513 ****
         '(raw-text emacs-mule))
        (t
         (let ((codings t)
!              charset l ll)
           (while (and codings charsets)
             (setq charset (car charsets) charsets (cdr charsets))
             (unless (eq charset 'ascii)
!              (setq l (aref char-coding-system-table (make-char charset)))
               (if (eq codings t)
                   (setq codings l)
                 (let ((ll nil))
!                  (while codings
!                    (if (memq (car codings) l)
!                        (setq ll (cons (car codings) ll)))
!                    (setq codings (cdr codings)))
                   (setq codings ll)))))
!          (append codings
!                  (char-table-extra-slot char-coding-system-table 0))))))
  
  (defun find-multibyte-characters (from to &optional maxcount excludes)
    "Find multibyte characters in the region specified by FROM and TO.
--- 496,526 ----
         '(raw-text emacs-mule))
        (t
         (let ((codings t)
!              charset l str)
           (while (and codings charsets)
             (setq charset (car charsets) charsets (cdr charsets))
             (unless (eq charset 'ascii)
!              (setq str (make-string 96 32))
!              (if (= (charset-dimension charset) 1)
!                  (if (= (charset-chars charset) 96)
!                      (dotimes (i 96)
!                        (aset str i (make-char charset (+ i 32))))
!                    (dotimes (i 94)
!                      (aset str i (make-char charset (+ i 33)))))
!                (if (= (charset-chars charset) 96)
!                    (dotimes (i 96)
!                      (aset str i (make-char charset 32 (+ i 32))))
!                  (dotimes (i 94)
!                    (aset str i (make-char charset 33 (+ i 33))))))
!              (setq l (find-coding-systems-string str))
               (if (eq codings t)
                   (setq codings l)
                 (let ((ll nil))
!                  (dolist (elt codings)
!                    (if (memq elt l)
!                        (setq ll (cons elt ll))))
                   (setq codings ll)))))
!          codings))))
  
  (defun find-multibyte-characters (from to &optional maxcount excludes)
    "Find multibyte characters in the region specified by FROM and TO.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]