]> git.eshelyaron.com Git - emacs.git/commitdiff
(ctext-pre-write-conversion): If FROM is a
authorEli Zaretskii <eliz@gnu.org>
Mon, 17 Jun 2002 10:36:46 +0000 (10:36 +0000)
committerEli Zaretskii <eliz@gnu.org>
Mon, 17 Jun 2002 10:36:46 +0000 (10:36 +0000)
string, or if the current buffer is not already a scratch buffer,
generate a new temporary buffer.

lisp/ChangeLog
lisp/international/mule-conf.el

index a543781e3698cca44b01b11b18f9abe58da6a649..9918f75befe1b30b09cbe07f999d86fba2599e57 100644 (file)
@@ -1,3 +1,9 @@
+2002-06-17  Eli Zaretskii <eliz@is.elta.co.il>
+
+       * international/mule.el (ctext-pre-write-conversion): If FROM is a
+       string, or if the current buffer is not already a scratch buffer,
+       generate a new temporary buffer.
+
 2002-06-12  Eli Zaretskii  <eliz@is.elta.co.il>
 
        * textmodes/bibtex.el: Change the maintainer to "none".
index 46637e9c97668945794c4f450bc6d11356a3cdf8..44d955437d33ad045a3cf245a0eb3f446b9982ef 100644 (file)
@@ -527,9 +527,24 @@ encode each character in this charset.  NOCTETS can be 0 (meaning the number
 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 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))
+          (setq from (point-min) to (point-max)))))
   (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.