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.el


From: Eli Zaretskii
Subject: [Emacs-diffs] Changes to emacs/lisp/international/mule.el
Date: Tue, 26 Feb 2002 11:27:47 -0500

Index: emacs/lisp/international/mule.el
diff -c emacs/lisp/international/mule.el:1.140 
emacs/lisp/international/mule.el:1.141
*** emacs/lisp/international/mule.el:1.140      Fri Feb 22 08:44:21 2002
--- emacs/lisp/international/mule.el    Tue Feb 26 11:27:47 2002
***************
*** 1392,1400 ****
  of octets per character is variable), 1, 2, 3, or 4.")
  
  (defun ctext-pre-write-conversion (from to)
!   "Encode characters between FROM and TO as Compound Text w/Extended 
Segments."
!   (buffer-disable-undo)       ; minimize consing due to insertions and 
deletions
!   (narrow-to-region from to)
    (encode-coding-region from to 'ctext-no-compositions)
    ;; Replace ISO-2022 charset designations with extended segments, for
    ;; those charsets that are not part of the official X registry.
--- 1392,1414 ----
  of octets per character is variable), 1, 2, 3, or 4.")
  
  (defun ctext-pre-write-conversion (from to)
!   "Encode characters between FROM and TO as Compound Text w/Extended Segments.
! 
! If FROM is a string, or if the current buffer is not the one set up for us
! by run_pre_post_conversion_on_str, generate a new temp buffer, insert the
! text, and convert it in the temporary buffer.  Otherwise, convert in-place."
!   (cond ((and (string= (buffer-name) " *code-converting-work*")
!             (not (stringp from)))
!        ; Minimize consing due to subsequent insertions and deletions.
!        (buffer-disable-undo)
!        (narrow-to-region from to))
!       (t
!        (let ((buf (current-buffer)))
!          (set-buffer (generate-new-buffer " *temp"))
!          (buffer-disable-undo)
!          (if (stringp from)
!              (insert from)
!            (insert-buffer-substring buf from to)))))
    (encode-coding-region from to 'ctext-no-compositions)
    ;; Replace ISO-2022 charset designations with extended segments, for
    ;; those charsets that are not part of the official X registry.
***************
*** 1404,1409 ****
--- 1418,1425 ----
          (case-fold-search nil)
          pt desig encode-info encoding chset noctets textlen)
        (set-buffer-multibyte nil)
+       ;; The regexp below finds the leading sequences for big5 and
+       ;; iso8859-1[03-6] charsets.
        (while (re-search-forward "\e\\(\$([01]\\|-[VY_bf]\\)" nil 'move)
        (setq desig (match-string 1)
              pt (point-marker)
***************
*** 1416,1421 ****
--- 1432,1438 ----
        (cond
         ((eq encoding t)  ; only the leading sequence needs to be changed
          (setq textlen (+ (- newpt pt) (length chset) 1))
+         ;; Generate the ICCCM control sequence for an extended segment.
          (replace-match (format "\e%%/%d%c%c%s"
                                 noctets
                                 (+ (/ textlen 128) 128)
***************
*** 1437,1442 ****
--- 1454,1460 ----
                          chset))))
        (goto-char newpt))))
    (set-buffer-multibyte t)
+   ;; Must return nil, as build_annotations_2 expects that.
    nil)
  
  ;;; FILE I/O



reply via email to

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