#
PACKAGE = semi
-API = 1.12
+API = 1.13
RELEASE = 0
TAR = tar
$(RM) /tmp/$(PACKAGE)-$(VERSION)/ftp.in
cd /tmp; $(TAR) cvzf $(PACKAGE)-$(VERSION).tar.gz $(PACKAGE)-$(VERSION)
cd /tmp; $(RM) -r $(PACKAGE)-$(VERSION)
- sed "s/VERSION/$(VERSION)/" < ftp.in | sed "s/API/$(API)/" > ftp
+ sed "s/VERSION/$(VERSION)/" < ftp.in | sed "s/API/$(API)/" \
+ | sed "s/PACKAGE/$(PACKAGE)/" > ftp
release:
-$(RM) $(ARC_DIR)/$(PACKAGE)-$(VERSION).tar.gz
SEMI NEWS --- history of major-changes.
-Copyright (C) 1998 Free Software Foundation, Inc.
+Copyright (C) 1998,1999 Free Software Foundation, Inc.
+* Changes in SEMI 1.13
+
+** Function `mime-play-entity'
+
+Function `mime-play-entity' was renamed from `mime-raw-play-entity'
+and changed interface.
+
+Current interface is:
+
+ mime-play-entity (entity &optional situation mode
+ ignore-examples ignored-method)
+
+
+** Now acting-method must not expect to run in raw-buffer
+
+Function `mime-play-entity' was changed to permit to run in any buffer
+(may be called in preview-buffer). So each acting-method is called in
+any buffer.
+
+
+\f
+* Changes in SEMI 1.12
+
+There are no user-visible changes.
+
+** New function `eliminate-top-spaces'
+
+Now mime-edit has it.
+
+\f
* Changes in SEMI 1.11
** New function `mime-edit-decode-message-in-buffer'
1.10.2 Higashi-Kanazawa \e$(BEl6bBt\e(B
1.11.0 Kanazawa \e$(B6bBt\e(B ; <=> \e$(BKLN&E4F;\e(B \e$(BKLE46bBt\e(B
1.12.0 Nishi-Kanazawa \e$(B@>6bBt\e(B ; <=> \e$(BKLN&E4F;\e(B \e$(B?7@>6bBt\e(B
-1.12.1 [JR] Nonoichi \e$(BLn!9;T\e(B
+1.12.1 [JR] Nonoichi [JR] \e$(BLn!9;T\e(B
+1.13.0 Matt\e-Dò\e-A \e$(B>>G$\e(B
: : :
------- Tsuruga \e$(BFX2l\e(B ; = JR \e$(B>.IM@~\e(B
------- Shin-Hikida \e$(B?7I%ED\e(B
1.11.0 Okitsu \e$(B6=DE\e(B
1.12.0 Shimizu \e$(B@6?e\e(B
1.12.1 Kusanagi \e$(BApFe\e(B
------- Shizuoka \e$(B@E2,\e(B
+1.13.0 Shizuoka \e$(B@E2,\e(B
------ Abekawa \e$(B0BG\@n\e(B
------ Mochimune \e$(BMQ=!\e(B
------ Yaizu \e$(B>FDE\e(B
;;; mime-pgp.el --- mime-view internal methods for PGP.
-;; Copyright (C) 1995,1996,1997,1998 MORIOKA Tomohiko
+;; Copyright (C) 1995,1996,1997,1998,1999 MORIOKA Tomohiko
;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; Created: 1995/12/7
(defun mime-verify-multipart/signed (entity situation)
"Internal method to verify multipart/signed."
- (mime-raw-play-entity
+ (mime-play-entity
(nth 1 (mime-entity-children entity)) ; entity-info of signature
+ nil
(cdr (assq 'mode situation)) ; play-mode
))
(get-largest-window)))
(new-name
(format "%s-%s" (buffer-name) (mime-entity-number entity)))
- (the-buf (current-buffer))
(mother mime-preview-buffer)
representation-type)
(set-buffer (get-buffer-create new-name))
(erase-buffer)
- (insert-buffer-substring
- the-buf (mime-entity-point-min entity) (mime-entity-point-max entity))
+ (insert-buffer-substring (mime-entity-buffer entity)
+ (mime-entity-point-min entity)
+ (mime-entity-point-max entity))
(cond ((progn
(goto-char (point-min))
(re-search-forward "^-+BEGIN PGP SIGNED MESSAGE-+$" nil t))
(defun mime-verify-application/pgp-signature (entity situation)
"Internal method to check PGP/MIME signature."
- (let* ((start (mime-entity-point-min entity))
- (end (mime-entity-point-max entity))
- (encoding (cdr (assq 'encoding situation)))
- (entity-node-id (mime-raw-point-to-entity-node-id start))
+ (let* ((entity-node-id (mime-entity-node-id entity))
(mother (mime-entity-parent entity))
(knum (car entity-node-id))
(onum (if (> knum 0)
)
(mime-write-entity orig-entity orig-file)
(save-excursion (mime-show-echo-buffer))
- (mime-write-decoded-region (save-excursion
- (goto-char start)
- (and (search-forward "\n\n")
- (match-end 0))
- ) end sig-file encoding)
+ (mime-write-entity-content entity sig-file)
(or (mime-pgp-check-signature mime-echo-buffer-name orig-file)
(let (pgp-id)
(save-excursion
;;; mime-play.el --- Playback processing module for mime-view.el
-;; Copyright (C) 1994,1995,1996,1997,1998 Free Software Foundation, Inc.
+;; Copyright (C) 1994,1995,1996,1997,1998,1999 Free Software Foundation, Inc.
;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; Created: 1995/9/26 (separated from tm-view.el)
;;; @ content decoder
;;;
-(defvar mime-preview-after-decoded-position nil)
-
(defun mime-preview-play-current-entity (&optional ignore-examples mode)
"Play current entity.
It decodes current entity to call internal or external method. The
(interactive "P")
(let ((entity (get-text-property (point) 'mime-view-entity)))
(if entity
- (let ((the-buf (current-buffer))
- (raw-buffer (mime-entity-buffer entity)))
- (setq mime-preview-after-decoded-position (point))
- (set-buffer raw-buffer)
- (mime-raw-play-entity entity (or mode "play") nil ignore-examples)
- (when (eq (current-buffer) raw-buffer)
- (set-buffer the-buf)
- (goto-char mime-preview-after-decoded-position)
- )))))
+ (mime-play-entity entity nil (or mode "play") ignore-examples)
+ )))
(defun mime-sort-situation (situation)
(sort situation
(cons match example)
))
-(defun mime-raw-play-entity (entity &optional mode situation ignore-examples
- ignored-method)
+(defun mime-play-entity (entity &optional situation mode
+ ignore-examples ignored-method)
"Play entity specified by ENTITY.
It decodes the entity to call internal or external method. The method
is selected from variable `mime-acting-condition'. If MODE is
(defvar mime-mailcap-method-filename-alist nil)
(defun mime-activate-mailcap-method (entity situation)
- (save-excursion
- (save-restriction
- (let ((start (mime-entity-point-min entity))
- (end (mime-entity-point-max entity)))
- (narrow-to-region start end)
- (goto-char start)
- (let ((method (cdr (assoc 'method situation)))
- (name (mime-entity-safe-filename entity)))
- (setq name
- (if (and name (not (string= name "")))
- (expand-file-name name temporary-file-directory)
- (make-temp-name
- (expand-file-name "EMI" temporary-file-directory))
- ))
- (mime-write-entity-content entity name)
- (message "External method is starting...")
- (let ((process
- (let ((command
- (mailcap-format-command
- method
- (cons (cons 'filename name) situation))))
- (start-process command mime-echo-buffer-name
- shell-file-name shell-command-switch command)
- )))
- (set-alist 'mime-mailcap-method-filename-alist process name)
- (set-process-sentinel process 'mime-mailcap-method-sentinel)
- )
- )))))
+ (let ((method (cdr (assoc 'method situation)))
+ (name (mime-entity-safe-filename entity)))
+ (setq name
+ (if (and name (not (string= name "")))
+ (expand-file-name name temporary-file-directory)
+ (make-temp-name
+ (expand-file-name "EMI" temporary-file-directory))
+ ))
+ (mime-write-entity-content entity name)
+ (message "External method is starting...")
+ (let ((process
+ (let ((command
+ (mailcap-format-command
+ method
+ (cons (cons 'filename name) situation))))
+ (start-process command mime-echo-buffer-name
+ shell-file-name shell-command-switch command)
+ )))
+ (set-alist 'mime-mailcap-method-filename-alist process name)
+ (set-process-sentinel process 'mime-mailcap-method-sentinel)
+ )
+ ))
(defun mime-mailcap-method-sentinel (process event)
(let ((file (cdr (assq process mime-mailcap-method-filename-alist))))
(condition-case nil
(setq win (get-buffer-window bbdb-buffer-name))
(error nil)))
- (select-window (get-buffer-window mime-preview-buffer))
+ (select-window (get-buffer-window (or mime-preview-buffer
+ (current-buffer))))
(setq win (split-window-vertically
(- (window-height)
(if (functionp mime-echo-window-height)
(defun mime-detect-content (entity situation)
(let (type subtype)
- (let ((mdata (save-excursion
- ;;(set-buffer (mime-entity-buffer entity))
- (let* ((start (mime-entity-body-start entity))
- (end (progn
- (goto-char start)
- (end-of-line)
- (point))))
- (mime-decode-string (buffer-substring start end)
- (mime-entity-encoding entity))
- )))
+ (let ((mdata (mime-entity-content entity))
(rest mime-magic-type-alist))
(while (not (let ((cell (car rest)))
(if cell
t)))
(setq rest (cdr rest))))
(if type
- (mime-raw-play-entity
- entity nil
+ (mime-play-entity
+ entity
(put-alist 'type type
(put-alist 'subtype subtype
(del-alist 'method
(copy-alist situation))))
+ nil
(cdr (assq 'ignore-examples situation))
'mime-detect-content)
))
(defun mime-view-message/rfc822 (entity situation)
(let* ((new-name
(format "%s-%s" (buffer-name) (mime-entity-number entity)))
- (mother mime-preview-buffer)
+ (mother (current-buffer))
(children (car (mime-entity-children entity))))
(set-buffer (get-buffer-create new-name))
(erase-buffer)
;;; semi-def.el --- definition module for SEMI
-;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc.
+;; Copyright (C) 1995,1996,1997,1998,1999 Free Software Foundation, Inc.
;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
;; Keywords: definition, MIME, multimedia, mail, news
(require 'custom)
-(defconst mime-user-interface-product ["SEMI" (1 12 1) "[JR] Nonoichi"]
+(defconst mime-user-interface-product ["SEMI" (1 13 0) "Matt\e.D\8eò"]\e*I
"Product name, version number and code name of MIME-kernel package.")
(autoload 'mule-caesar-region "mule-caesar"