* binhex.el (binhex-decode-region-internal)
authorKatsumi Yamaoka <yamaoka@jpl.org>
Fri, 7 May 2010 06:34:41 +0000 (06:34 +0000)
committerKatsumi Yamaoka <yamaoka@jpl.org>
Fri, 7 May 2010 06:34:41 +0000 (06:34 +0000)
* dns.el (dns-read-string-name, dns-write, dns-read, dns-read-type)
(dns-query)
* nnweb.el (nnweb-gmane-search)
* pgg-parse.el (pgg-parse-armor)
* pgg.el (pgg-verify-region)
* sha1.el (sha1-string-external)
* uudecode.el (uudecode-decode-region-internal)
* yenc.el (yenc-decode-region): Don't run set-buffer-multibyte for
XEmacs.

* gnus-art.el (gnus-article-browse-html-parts)
* gnus-group.el (gnus-read-ephemeral-gmane-group)
(gnus-read-ephemeral-bug-grou): Use mm-make-temp-file instead of
make-temp-file.

* gnus-dired.el (gnus-dired-mode): Bind gnus-dired-mode-hook,
gnus-dired-mode-on-hook and gnus-dired-mode-off-hook for XEmacs when
compiling.

* gnus-ml.el (gnus-mailing-list-mode): Bind gnus-mailing-list-mode-hook,
gnus-mailing-list-mode-on-hook and gnus-mailing-list-mode-off-hook for
XEmacs when compiling.

* gnus-salt.el (gnus-pick-mode): Bind gnus-pick-mode-on-hook and
gnus-pick-mode-off-hook for XEmacs when compiling.
(gnus-binary-mode): Bind gnus-binary-mode-on-hook and
gnus-binary-mode-off-hook for XEmacs when compiling.

* gnus-sum.el (gnus-summary-limit-strange-charsets-predicate): Return
nil if char-charset is not available.

* imap.el (imap-disable-multibyte)
* sieve-manage.el (sieve-manage-disable-multibyte): Redefine them as a
macro.

* mm-url.el (mm-url-form-encode-xwfu): Use mm-encode-coding-string
instead of encode-coding-string.

* mm-util.el (mm-enable-multibyte, mm-disable-multibyte): Use (featurep
'xemacs) instead of mm-emacs-mule to switch function definitions.
(mm-with-unibyte-current-buffer): Make it a progn macro for XEmacs.

* lpath.el: Fbind delete-overlay and overlay-lists for XEmacs;
bind temporary-file-directory for XEmacs;
fbind make-temp-file, set-buffer-multibyte, string-as-multibyte and
timer-set-function for XEmacs 21.4 and SXEmacs;
bind timer-list for XEmacs 21.4 and SXEmacs;
fbind char-charset and find-charset-region for non-Mule XEmacs;
fbind decode-coding-region, decode-coding-string, detect-coding-region,
encode-coding-region and encode-coding-string for XEmacs having no
file-coding feature.

20 files changed:
lisp/ChangeLog
lisp/binhex.el
lisp/dns.el
lisp/gnus-art.el
lisp/gnus-dired.el
lisp/gnus-group.el
lisp/gnus-ml.el
lisp/gnus-salt.el
lisp/gnus-sum.el
lisp/imap.el
lisp/lpath.el
lisp/mm-url.el
lisp/mm-util.el
lisp/nnweb.el
lisp/pgg-parse.el
lisp/pgg.el
lisp/sha1.el
lisp/sieve-manage.el
lisp/uudecode.el
lisp/yenc.el

index 24d1f94..0ee07a6 100644 (file)
@@ -1,3 +1,58 @@
+2010-05-07  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * binhex.el (binhex-decode-region-internal)
+       * dns.el (dns-read-string-name, dns-write, dns-read, dns-read-type)
+       (dns-query)
+       * nnweb.el (nnweb-gmane-search)
+       * pgg-parse.el (pgg-parse-armor)
+       * pgg.el (pgg-verify-region)
+       * sha1.el (sha1-string-external)
+       * uudecode.el (uudecode-decode-region-internal)
+       * yenc.el (yenc-decode-region): Don't run set-buffer-multibyte for
+       XEmacs.
+
+       * gnus-art.el (gnus-article-browse-html-parts)
+       * gnus-group.el (gnus-read-ephemeral-gmane-group)
+       (gnus-read-ephemeral-bug-grou): Use mm-make-temp-file instead of
+       make-temp-file.
+
+       * gnus-dired.el (gnus-dired-mode): Bind gnus-dired-mode-hook,
+       gnus-dired-mode-on-hook and gnus-dired-mode-off-hook for XEmacs when
+       compiling.
+
+       * gnus-ml.el (gnus-mailing-list-mode): Bind gnus-mailing-list-mode-hook,
+       gnus-mailing-list-mode-on-hook and gnus-mailing-list-mode-off-hook for
+       XEmacs when compiling.
+
+       * gnus-salt.el (gnus-pick-mode): Bind gnus-pick-mode-on-hook and
+       gnus-pick-mode-off-hook for XEmacs when compiling.
+       (gnus-binary-mode): Bind gnus-binary-mode-on-hook and
+       gnus-binary-mode-off-hook for XEmacs when compiling.
+
+       * gnus-sum.el (gnus-summary-limit-strange-charsets-predicate): Return
+       nil if char-charset is not available.
+
+       * imap.el (imap-disable-multibyte)
+       * sieve-manage.el (sieve-manage-disable-multibyte): Redefine them as a
+       macro.
+
+       * mm-url.el (mm-url-form-encode-xwfu): Use mm-encode-coding-string
+       instead of encode-coding-string.
+
+       * mm-util.el (mm-enable-multibyte, mm-disable-multibyte): Use (featurep
+       'xemacs) instead of mm-emacs-mule to switch function definitions.
+       (mm-with-unibyte-current-buffer): Make it a progn macro for XEmacs.
+
+       * lpath.el: Fbind delete-overlay and overlay-lists for XEmacs;
+       bind temporary-file-directory for XEmacs;
+       fbind make-temp-file, set-buffer-multibyte, string-as-multibyte and
+       timer-set-function for XEmacs 21.4 and SXEmacs;
+       bind timer-list for XEmacs 21.4 and SXEmacs;
+       fbind char-charset and find-charset-region for non-Mule XEmacs;
+       fbind decode-coding-region, decode-coding-string, detect-coding-region,
+       encode-coding-region and encode-coding-string for XEmacs having no
+       file-coding feature.
+
 2010-05-06  Tommi Vainikainen  <thv@iki.fi>  (tiny change)
 
        * mml-sec.el (mml-secure-message-sign): Fix cut and paste error.
index e131db7..4d80d02 100644 (file)
@@ -221,7 +221,8 @@ If HEADER-ONLY is non-nil only decode header and return filename."
          (goto-char start)
          (when (re-search-forward binhex-begin-line end t)
             (setq work-buffer (generate-new-buffer " *binhex-work*"))
-            (with-current-buffer work-buffer (set-buffer-multibyte nil))
+           (unless (featurep 'xemacs)
+             (with-current-buffer work-buffer (set-buffer-multibyte nil)))
            (beginning-of-line)
            (setq bits 0 counter 0)
            (while tmp
index 17973cf..d371737 100644 (file)
@@ -101,7 +101,7 @@ If nil, /etc/resolv.conf and nslookup will be consulted.")
 
 (defun dns-read-string-name (string buffer)
   (with-temp-buffer
-    (set-buffer-multibyte nil)
+    (unless (featurep 'xemacs) (set-buffer-multibyte nil))
     (insert string)
     (goto-char (point-min))
     (dns-read-name buffer)))
@@ -135,7 +135,7 @@ If nil, /etc/resolv.conf and nslookup will be consulted.")
   "Write a DNS packet according to SPEC.
 If TCP-P, the first two bytes of the package with be the length field."
   (with-temp-buffer
-    (set-buffer-multibyte nil)
+    (unless (featurep 'xemacs) (set-buffer-multibyte nil))
     (dns-write-bytes (dns-get 'id spec) 2)
     (dns-write-bytes
      (logior
@@ -186,7 +186,7 @@ If TCP-P, the first two bytes of the package with be the length field."
 
 (defun dns-read (packet)
   (with-temp-buffer
-    (set-buffer-multibyte nil)
+    (unless (featurep 'xemacs) (set-buffer-multibyte nil))
     (let ((spec nil)
           queries answers authorities additionals)
       (insert packet)
@@ -263,7 +263,7 @@ If TCP-P, the first two bytes of the package with be the length field."
        (point (point)))
     (prog1
         (with-temp-buffer
-          (set-buffer-multibyte nil)
+         (unless (featurep 'xemacs) (set-buffer-multibyte nil))
           (insert string)
           (goto-char (point-min))
           (cond
@@ -391,7 +391,7 @@ If REVERSEP, look up an IP address."
   (if (not dns-servers)
       (message "No DNS server configuration found")
     (with-temp-buffer
-      (set-buffer-multibyte nil)
+      (unless (featurep 'xemacs) (set-buffer-multibyte nil))
       (let ((process (condition-case ()
                          (dns-make-network-process (car dns-servers))
                        (error
index 8b9d8b6..7ce3a43 100644 (file)
@@ -2897,7 +2897,7 @@ message header will be added to the bodies of the \"text/html\" parts."
 <img[\t\n ]+\\(?:[^\t\n >]+[\t\n ]+\\)*src=\"\\(cid:\\([^\"]+\\)\\)\""
                                           nil t)
                   (unless cid-dir
-                    (setq cid-dir (make-temp-file "cid" t))
+                    (setq cid-dir (mm-make-temp-file "cid" t))
                     (add-to-list 'gnus-article-browse-html-temp-list cid-dir))
                   (setq file nil
                         content nil)
index 4874de1..e5c886d 100644 (file)
@@ -87,6 +87,12 @@ See `mail-user-agent' for more information."
                               gnus-user-agent)
                (function :tag "Other")))
 
+(eval-when-compile
+  (when (featurep 'xemacs)
+    (defvar gnus-dired-mode-hook)
+    (defvar gnus-dired-mode-on-hook)
+    (defvar gnus-dired-mode-off-hook)))
+
 (define-minor-mode gnus-dired-mode
   "Minor mode for intersections of gnus and dired.
 
index 6d3b80e..7a88773 100644 (file)
@@ -2364,7 +2364,7 @@ specified by `gnus-gmane-group-download-format'."
   (unless range (setq range 500))
   (when (< range 1)
     (error "Invalid range: %s" range))
-  (let ((tmpfile (make-temp-file
+  (let ((tmpfile (mm-make-temp-file
                  (format "%s.start-%s.range-%s." group start range)))
        (gnus-thread-sort-functions '(gnus-thread-sort-by-number)))
     (with-temp-file tmpfile
@@ -2445,7 +2445,7 @@ the bug number, and browsing the URL must return mbox output."
                     (cdr (assoc 'emacs gnus-bug-group-download-format-alist))))
   (when (stringp number)
     (setq number (string-to-number number)))
-  (let ((tmpfile (make-temp-file "gnus-temp-group-")))
+  (let ((tmpfile (mm-make-temp-file "gnus-temp-group-")))
     (with-temp-file tmpfile
       (url-insert-file-contents (format mbox-url number))
       (write-region (point-min) (point-max) tmpfile)
index 3a5b8de..30c1bfe 100644 (file)
@@ -85,6 +85,12 @@ If FORCE is non-nil, replace the old ones."
          (gnus-mailing-list-mode 1))
       (gnus-message 1 "no list-post in this message."))))
 
+(eval-when-compile
+  (when (featurep 'xemacs)
+    (defvar gnus-mailing-list-mode-hook)
+    (defvar gnus-mailing-list-mode-on-hook)
+    (defvar gnus-mailing-list-mode-off-hook)))
+
 ;;;###autoload
 (define-minor-mode gnus-mailing-list-mode
   "Minor mode for providing mailing-list commands.
index 21c556a..52f307d 100644 (file)
@@ -101,6 +101,11 @@ It accepts the same format specs that `gnus-summary-line-format' does."
        ["Start reading" gnus-pick-start-reading t]
        ["Switch pick mode off" gnus-pick-mode gnus-pick-mode]))))
 
+(eval-when-compile
+  (when (featurep 'xemacs)
+    (defvar gnus-pick-mode-on-hook)
+    (defvar gnus-pick-mode-off-hook)))
+
 (define-minor-mode gnus-pick-mode
   "Minor mode for providing a pick-and-read interface in Gnus summary buffers.
 
@@ -332,6 +337,11 @@ This must be bound to a button-down mouse event."
       '("Pick"
        ["Switch binary mode off" gnus-binary-mode t]))))
 
+(eval-when-compile
+  (when (featurep 'xemacs)
+    (defvar gnus-binary-mode-on-hook)
+    (defvar gnus-binary-mode-off-hook)))
+
 (define-minor-mode gnus-binary-mode
   "Minor mode for providing a binary group interface in Gnus summary buffers."
   :lighter " Binary" :keymap gnus-binary-mode-map
index 5939f9b..480c546 100644 (file)
@@ -8185,14 +8185,15 @@ in `nnmail-extra-headers'."
       (gnus-summary-position-point))))
 
 (defun gnus-summary-limit-strange-charsets-predicate (header)
-  (let ((string (concat (mail-header-subject header)
-                       (mail-header-from header)))
-       charset found)
-    (dotimes (i (1- (length string)))
-      (setq charset (format "%s" (char-charset (aref string (1+ i)))))
-      (when (string-match "unicode\\|big\\|japanese" charset)
-       (setq found t)))
-    found))
+  (when (fboundp 'char-charset)
+    (let ((string (concat (mail-header-subject header)
+                         (mail-header-from header)))
+         charset found)
+      (dotimes (i (1- (length string)))
+       (setq charset (format "%s" (char-charset (aref string (1+ i)))))
+       (when (string-match "unicode\\|big\\|japanese" charset)
+         (setq found t)))
+      found)))
 
 (defun gnus-summary-limit-to-predicate (predicate)
   "Limit to articles where PREDICATE returns non-nil.
index a478225..9f1afc5 100644 (file)
@@ -475,10 +475,10 @@ sure of changing the value of `foo'."
       (setcdr alist (imap-remassoc key (cdr alist)))
       alist)))
 
-(defsubst imap-disable-multibyte ()
+(defmacro imap-disable-multibyte ()
   "Enable multibyte in the current buffer."
-  (when (fboundp 'set-buffer-multibyte)
-    (set-buffer-multibyte nil)))
+  (unless (featurep 'xemacs)
+    '(set-buffer-multibyte nil)))
 
 (defsubst imap-utf7-encode (string)
   (if imap-use-utf7
index 971bf7c..2e08821 100644 (file)
    '(bookmark-default-handler
      bookmark-get-bookmark-record bookmark-make-record-default
      bookmark-prop-get clear-string codepage-setup coding-system-from-name
-     cp-supported-codepages create-image detect-coding-string
+     cp-supported-codepages create-image delete-overlay detect-coding-string
      display-time-event-handler epg-check-configuration event-click-count
      event-end event-start find-coding-systems-for-charsets
      find-coding-systems-region find-coding-systems-string find-image
      float-time help-buffer image-size image-type-available-p insert-image
      mail-abbrevs-setup make-mode-line-mouse-map make-network-process
-     mouse-minibuffer-check mouse-movement-p mouse-scroll-subr
+     mouse-minibuffer-check mouse-movement-p mouse-scroll-subr overlay-lists
      pgg-display-output-buffer posn-point posn-window put-image read-event
      recenter-top-bottom rmail-msg-restore-non-pruned-header
      rmail-swap-buffers-maybe select-safe-coding-system sort-coding-systems
      line-spacing mark-active mouse-selection-click-count
      mouse-selection-click-count-buffer ps-print-color-p rmail-default-file
      rmail-default-rmail-file rmail-insert-mime-forwarded-message-function
-     show-trailing-whitespace smtpmail-default-smtp-server tool-bar-mode
-     transient-mark-mode url-version w3-meta-charset-content-type-regexp
-     w3m-link-map w3-meta-content-type-charset-regexp))
+     show-trailing-whitespace smtpmail-default-smtp-server
+     temporary-file-directory tool-bar-mode transient-mark-mode url-version
+     w3-meta-charset-content-type-regexp w3m-link-map
+     w3-meta-content-type-charset-regexp))
 
   (when (or (and (= emacs-major-version 21) (= emacs-minor-version 4))
            (featurep 'sxemacs))
     (maybe-fbind
      '(custom-autoload
        decode-char display-graphic-p display-images-p display-visual-class
-       get-display-table next-single-char-property-change put-display-table
-       select-frame-set-input-focus unicode-precedence-list unicode-to-char
-       w32-focus-frame x-focus-frame))
+       get-display-table make-temp-file next-single-char-property-change
+       put-display-table select-frame-set-input-focus set-buffer-multibyte
+       string-as-multibyte timer-set-function unicode-precedence-list
+       unicode-to-char w32-focus-frame x-focus-frame))
     (maybe-bind
-     '(scroll-margin)))
+     '(scroll-margin
+       timer-list)))
 
   (when (and (= emacs-major-version 21) (= emacs-minor-version 4))
     (maybe-fbind
   (unless (featurep 'mule)
     (maybe-fbind
      '(ccl-execute-on-string
-       charsetp coding-system-get get-charset-property
-       pgg-display-output-buffer pgg-parse-crc24-string
+       char-charset charsetp coding-system-get find-charset-region
+       get-charset-property pgg-display-output-buffer pgg-parse-crc24-string
        unicode-precedence-list))
     (maybe-bind
      '(current-language-environment
     (maybe-fbind
      '(coding-system-aliasee
        coding-system-base coding-system-change-eol-conversion coding-system-list
-       coding-system-p find-coding-system))
+       coding-system-p decode-coding-region decode-coding-string
+       detect-coding-region encode-coding-region encode-coding-string
+       find-coding-system))
     (maybe-bind
      '(buffer-file-coding-system
        coding-system-for-read coding-system-for-write
index 35a43f5..c5a8d9f 100644 (file)
@@ -404,14 +404,10 @@ spaces.  Die Die Die."
       ((= char ?  ) "+")
       ((memq char mm-url-unreserved-chars) (char-to-string char))
       (t (upcase (format "%%%02x" char)))))
-   ;; Fixme: Should this actually be accepting multibyte?  Is there a
-   ;; better way in XEmacs?
-   (if (featurep 'mule)
-       (encode-coding-string chunk
-                            (if (fboundp 'find-coding-systems-string)
-                                (car (find-coding-systems-string chunk))
-                                buffer-file-coding-system))
-     chunk)
+   (mm-encode-coding-string chunk
+                           (if (fboundp 'find-coding-systems-string)
+                               (car (find-coding-systems-string chunk))
+                             buffer-file-coding-system))
    ""))
 
 (defun mm-url-encode-www-form-urlencoded (pairs)
index c1dc4f5..a288b8b 100644 (file)
@@ -908,20 +908,20 @@ mail with multiple parts is preferred to sending a Unicode one.")
                             (fboundp 'set-buffer-multibyte))
     "True in Emacs with Mule.")
 
-  (if mm-emacs-mule
-      (defun mm-enable-multibyte ()
-       "Set the multibyte flag of the current buffer.
+  (if (featurep 'xemacs)
+      (defalias 'mm-enable-multibyte 'ignore)
+    (defun mm-enable-multibyte ()
+      "Set the multibyte flag of the current buffer.
 Only do this if the default value of `enable-multibyte-characters' is
 non-nil.  This is a no-op in XEmacs."
-       (set-buffer-multibyte 'to))
-    (defalias 'mm-enable-multibyte 'ignore))
+      (set-buffer-multibyte t)))
 
-  (if mm-emacs-mule
-      (defun mm-disable-multibyte ()
-       "Unset the multibyte flag of in the current buffer.
+  (if (featurep 'xemacs)
+      (defalias 'mm-disable-multibyte 'ignore)
+    (defun mm-disable-multibyte ()
+      "Unset the multibyte flag of in the current buffer.
 This is a no-op in XEmacs."
-       (set-buffer-multibyte nil))
-    (defalias 'mm-disable-multibyte 'ignore)))
+      (set-buffer-multibyte nil))))
 
 (defun mm-preferred-coding-system (charset)
   ;; A typo in some Emacs versions.
@@ -1239,22 +1239,24 @@ worth using this macro in unibyte buffers of course).  Use of
 harmful since it is likely to modify existing data in the buffer.
 For instance, it converts \"\\300\\255\" into \"\\255\" in
 Emacs 23 (unicode)."
-  ;; FIXME: (default-value 'enable-multibyte-characters) is read-only
-  ;; so let-binding it is wrong.  The right fix is to not use this
-  ;; macro at all any more, since it's been ill-defined from the start.
-  (let ((multibyte (make-symbol "multibyte"))
-       (buffer (make-symbol "buffer")))
-    `(if mm-emacs-mule
-        (let ((,multibyte enable-multibyte-characters)
-              (,buffer (current-buffer)))
-          (unwind-protect
-              (letf (((default-value 'enable-multibyte-characters) nil))
-                (set-buffer-multibyte nil)
-                ,@forms)
-            (set-buffer ,buffer)
-            (set-buffer-multibyte ,multibyte)))
-       (letf (((default-value 'enable-multibyte-characters) nil))
-        ,@forms))))
+  (if (featurep 'xemacs)
+      `(progn ,@forms)
+    ;; FIXME: (default-value 'enable-multibyte-characters) is read-only
+    ;; so let-binding it is wrong.  The right fix is to not use this
+    ;; macro at all any more, since it's been ill-defined from the start.
+    (let ((multibyte (make-symbol "multibyte"))
+         (buffer (make-symbol "buffer")))
+      `(if mm-emacs-mule
+          (let ((,multibyte enable-multibyte-characters)
+                (,buffer (current-buffer)))
+            (unwind-protect
+                (letf (((default-value 'enable-multibyte-characters) nil))
+                      (set-buffer-multibyte nil)
+                      ,@forms)
+              (set-buffer ,buffer)
+              (set-buffer-multibyte ,multibyte)))
+        (letf (((default-value 'enable-multibyte-characters) nil))
+              ,@forms)))))
 (put 'mm-with-unibyte-current-buffer 'lisp-indent-function 0)
 (put 'mm-with-unibyte-current-buffer 'edebug-form-spec '(body))
 
index b6b0ddd..fcb8e93 100644 (file)
@@ -525,7 +525,7 @@ Valid types include `google', `dejanews', and `gmane'.")
        ;;("TOPDOC" . "1000")
        ))))
   (setq buffer-file-name nil)
-  (set-buffer-multibyte t)
+  (unless (featurep 'xemacs) (set-buffer-multibyte t))
   (mm-decode-coding-region (point-min) (point-max) 'utf-8)
   t)
 
index b0f2a81..40df20b 100644 (file)
 (defun pgg-parse-armor (string)
   (with-temp-buffer
     (buffer-disable-undo)
-    (if (fboundp 'set-buffer-multibyte)
-       (set-buffer-multibyte nil))
+    (unless (featurep 'xemacs)
+      (set-buffer-multibyte nil))
     (insert string)
     (pgg-decode-armor-region (point-min)(point))))
 
index f72aa76..75e1c86 100644 (file)
@@ -473,8 +473,8 @@ signer's public key from `pgg-default-keyserver-address'."
          (if (null signature) nil
            (with-temp-buffer
              (buffer-disable-undo)
-             (if (fboundp 'set-buffer-multibyte)
-                 (set-buffer-multibyte nil))
+             (unless (featurep 'xemacs)
+               (set-buffer-multibyte nil))
              (insert-file-contents signature)
              (cdr (assq 2 (pgg-decode-armor-region
                            (point-min)(point-max)))))))
index 1db7a28..351af62 100644 (file)
@@ -95,7 +95,7 @@ If this variable is set to nil, use internal function only."
       (setq prog sha1-program
            args nil))
     (with-temp-buffer
-      (set-buffer-multibyte nil)
+      (unless (featurep 'xemacs) (set-buffer-multibyte nil))
       (insert string)
       (apply (function call-process-region)
             (point-min) (point-max)
index 4b78490..bd8741f 100644 (file)
@@ -191,10 +191,10 @@ Valid states are `closed', `initial', `nonauth', and `auth'.")
 
 ;; Internal utility functions
 
-(defsubst sieve-manage-disable-multibyte ()
+(defmacro sieve-manage-disable-multibyte ()
   "Enable multibyte in the current buffer."
-  (when (fboundp 'set-buffer-multibyte)
-    (set-buffer-multibyte nil)))
+  (unless (featurep 'xemacs)
+    '(set-buffer-multibyte nil)))
 
 (declare-function password-read         "password-cache" (prompt &optional key))
 (declare-function password-cache-add    "password-cache" (key password))
index 335e1e1..b1c2a7b 100644 (file)
@@ -216,7 +216,7 @@ If FILE-NAME is non-nil, save the result to FILE-NAME."
          (skip-chars-forward non-data-chars end))
        (if file-name
             (with-temp-file file-name
-              (set-buffer-multibyte nil)
+              (unless (featurep 'xemacs) (set-buffer-multibyte nil))
               (insert (apply 'concat (nreverse result))))
          (or (markerp end) (setq end (set-marker (make-marker) end)))
          (goto-char start)
index 8cb522c..2d56d66 100644 (file)
@@ -89,9 +89,9 @@
              (when (re-search-forward "^=yend.*$" end t)
                (setq last (match-beginning 0))
                (setq footer-alist (yenc-parse-line (match-string 0)))
-                (with-current-buffer
-                    (setq work-buffer (generate-new-buffer " *yenc-work*"))
-                  (set-buffer-multibyte nil))
+               (setq work-buffer (generate-new-buffer " *yenc-work*"))
+               (unless (featurep 'xemacs)
+                 (with-current-buffer work-buffer (set-buffer-multibyte nil)))
                (while (< first last)
                  (setq char (char-after first))
                  (cond ((or (eq char ?\r)