From 79206c05454ef96e95fa6a63597d8576dfd72ba1 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 17 Jun 2002 10:36:46 +0000 Subject: [PATCH] (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. --- lisp/ChangeLog | 6 ++++++ lisp/international/mule-conf.el | 21 ++++++++++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a543781e369..9918f75befe 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2002-06-17 Eli Zaretskii + + * 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 * textmodes/bibtex.el: Change the maintainer to "none". diff --git a/lisp/international/mule-conf.el b/lisp/international/mule-conf.el index 46637e9c976..44d955437d3 100644 --- a/lisp/international/mule-conf.el +++ b/lisp/international/mule-conf.el @@ -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. -- 2.39.2