(require 'mime-view)
(require 'alist)
(require 'filename)
+(require 'ccl)
(eval-when-compile
- (require 'mime-text)
(condition-case nil
(require 'bbdb)
(error (defvar bbdb-buffer-name nil)))
(erase-buffer)
(insert ";;; " (file-name-nondirectory file) "\n")
(insert "\n;; This file is generated automatically by "
- mime-view-version-string "\n\n")
+ mime-view-version "\n\n")
(insert ";;; Code:\n\n")
(pp `(setq mime-acting-situation-example-list
',mime-acting-situation-example-list)
(if (cdr ret)
(let ((rest ret)
(max-score 0)
- max-escore
+ (max-escore 0)
max-examples
max-situations)
(while rest
(name (mime-entity-safe-filename entity)))
(setq name
(if (and name (not (string= name "")))
- (expand-file-name name mime-temp-directory)
+ (expand-file-name name temporary-file-directory)
(make-temp-name
- (expand-file-name "EMI" mime-temp-directory))
+ (expand-file-name "EMI" temporary-file-directory))
))
(mime-write-entity-content entity name)
(message "External method is starting...")
(remove-alist 'mime-mailcap-method-filename-alist process)
(message (format "%s %s" process event)))
-(defvar mime-echo-window-is-shared-with-bbdb t
+(defvar mime-echo-window-is-shared-with-bbdb
+ (module-installed-p 'bbdb)
"*If non-nil, mime-echo window is shared with BBDB window.")
(defvar mime-echo-window-height
"Show mime-echo buffer to display MIME-playing information."
(get-buffer-create mime-echo-buffer-name)
(let ((the-win (selected-window))
- (win (get-buffer-window mime-echo-buffer-name))
+ (win (get-buffer-window mime-echo-buffer-name)))
+ (unless win
+ (unless (and mime-echo-window-is-shared-with-bbdb
+ (condition-case nil
+ (setq win (get-buffer-window bbdb-buffer-name))
+ (error nil)))
+ (select-window (get-buffer-window mime-preview-buffer))
+ (setq win (split-window-vertically
+ (- (window-height)
+ (if (functionp mime-echo-window-height)
+ (funcall mime-echo-window-height)
+ mime-echo-window-height)
+ )))
)
- (or win
- (if (and mime-echo-window-is-shared-with-bbdb
- (boundp 'bbdb-buffer-name)
- (setq win (get-buffer-window bbdb-buffer-name))
- )
- (set-window-buffer win mime-echo-buffer-name)
- (select-window (get-buffer-window mime-preview-buffer))
- (setq win (split-window-vertically
- (- (window-height)
- (if (functionp mime-echo-window-height)
- (funcall mime-echo-window-height)
- mime-echo-window-height)
- )))
- (set-window-buffer win mime-echo-buffer-name)
- ))
+ (set-window-buffer win mime-echo-buffer-name)
+ )
(select-window win)
(goto-char (point-max))
(if forms
(goto-char (mime-entity-point-min entity))
(let* ((root-dir
(expand-file-name
- (concat "m-prts-" (user-login-name)) mime-temp-directory))
+ (concat "m-prts-" (user-login-name)) temporary-file-directory))
(id (cdr (assoc "id" cal)))
(number (cdr (assoc "number" cal)))
(total (cdr (assoc "total" cal)))
(search-forward name)
))
-(defvar mime-raw-browse-url-function (function mime-browse-url))
+(defvar mime-raw-browse-url-function mime-browse-url-function)
(defun mime-view-message/external-url (entity cal)
(let ((url (cdr (assoc "url" cal))))
;;; @ rot13-47
;;;
+(define-ccl-program translate-string
+ '(4
+ (loop
+ (read-multibyte-character r1 r2)
+ (translate-character r0 r1 r2)
+ (write-multibyte-character r1 r2)
+ (repeat))))
+
(defun mime-view-caesar (entity situation)
"Internal method for mime-view to display ROT13-47-48 message."
(let* ((new-name (format "%s-%s" (buffer-name)
)
(setq buffer-read-only nil)
(erase-buffer)
- (mime-text-insert-decoded-body entity)
+ (let ((enable-character-translation nil))
+ (mime-insert-text-content entity))
(mule-caesar-region (point-min) (point-max))
+ (let ((str (buffer-string))
+ (status (make-vector 9 nil))
+ (table
+ (catch 'tbl
+ (let ((i 0) e)
+ (while (and (< i (length translation-table-vector))
+ (setq e (aref translation-table-vector i)))
+ (if (eq (cdr e) standard-translation-table-for-decode)
+ (throw 'tbl i))
+ (setq i (1+ i)))
+ nil))))
+ (when table
+ (aset status 0 table)
+ (delete-region (point-min) (point-max))
+ (insert (ccl-execute-on-string
+ 'translate-string
+ status
+ str))))
(set-buffer-modified-p nil)
(set-buffer mother)
(view-buffer new-name)