+2007-01-24 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * uudecode.el (uudecode-string-to-multibyte): New function emulating
+ string-to-multibyte.
+ (uudecode-decode-region-internal): Use it.
+
+ * lpath.el: Fbind string-as-multibyte for XEmacs.
+
2007-01-23 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-score.el (gnus-home-score-file, gnus-home-adapt-file): Fix
mouse-scroll-subr overlay-lists posn-point posn-window
read-event set-buffer-multibyte
select-frame-set-input-focus select-safe-coding-system
- timer-set-function track-mouse window-edges))
+ string-as-multibyte timer-set-function track-mouse
+ window-edges))
(maybe-bind '(adaptive-fill-first-line-regexp
buffer-display-table buffer-file-coding-system
current-language-environment cursor-in-non-selected-windows
(message "Can not uudecode")))
(ignore-errors (or file-name (delete-file tempfile))))))
+(eval-and-compile
+ (defalias 'uudecode-string-to-multibyte
+ (cond
+ ((featurep 'xemacs)
+ 'identity)
+ ((fboundp 'string-to-multibyte)
+ 'string-to-multibyte)
+ (t
+ (lambda (string)
+ "Return a multibyte string with the same individual chars as string."
+ (mapconcat
+ (lambda (ch) (string-as-multibyte (char-to-string ch)))
+ string ""))))))
+
;;;###autoload
(defun uudecode-decode-region-internal (start end &optional file-name)
"Uudecode region between START and END without using an external program.
(or (markerp end) (setq end (set-marker (make-marker) end)))
(goto-char start)
(if enable-multibyte-characters
- (mapc #'(lambda (x) (insert (string-to-multibyte x)))
+ (mapc #'(lambda (x) (insert (uudecode-string-to-multibyte x)))
(nreverse result))
(insert (apply 'concat (nreverse result))))
(delete-region (point) end))))))