From 18863990ab607a098f82836c90dfe7d1e87199b0 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Tue, 27 Jul 1999 06:26:13 +0000 Subject: [PATCH] Sync up with the latest semi-1_13. --- ChangeLog | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++ Makefile | 16 +++++------ NEWS | 34 +++++++++++++++++++----- README.en | 6 ++--- SEMI-CFG | 10 ------- SEMI-MK | 9 ++----- VERSION | 8 ++++++ ftp.in | 4 +-- mime-edit.el | 5 ++-- mime-play.el | 26 ++++++++---------- mime-view.el | 83 +++++++++++++++++++++++++++++++++------------------------- semi-def.el | 4 +-- 12 files changed, 190 insertions(+), 91 deletions(-) diff --git a/ChangeLog b/ChangeLog index 75d3006..9b5ea79 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,62 @@ +1999-07-27 MORIOKA Tomohiko + + * SEMI: Version 1.13.5 (Meih-Dò)-A released. + +1999-07-27 MORIOKA Tomohiko + + * NEWS (Don't expect raw-buffer): New subsection. + (Now acting-method must not expect to run in raw-buffer): Changed + as a subsubsection of subsection `Don't expect raw-buffer'. + (Don't refer variable `mime-raw-buffer'): New subsubsection. + (Don't refer variable `mime-preview-buffer'): New subsubsection. + + * NEWS (Requires FLIM 1.13 API): New subsection. + +1999-07-23 MORIOKA Tomohiko + + * README.en (Required environment): Change required FLIM to + 1.13.1; change location of APEL and FLIM. + + +1999-07-22 MORIOKA Tomohiko + + * REMI: Version 1.13.1 (Kubiki) released. + +1999-07-22 MORIOKA Tomohiko + + * mime-play.el + (mime-preview-quitting-method-for-mime-show-message-mode): Don't + refer `mime-raw-buffer'. + +1999-07-21 MORIOKA Tomohiko + + * mime-play.el (mime-store-message/partial-piece): Don't refer + `mime-preview-buffer'. + + +1999-07-21 MORIOKA Tomohiko + + * REMI: Version 1.13.0 (Saigata) released. + +1999-07-21 MORIOKA Tomohiko + + * Makefile (EXEC_PREFIX): Deleted. + (elc): Change command-line interface to delete `EXEC_PREFIX'. + (install-elc): Likewise. + + * SEMI-MK (config-semi): Change command-line interface to delete + `EXEC_PREFIX'. + + * SEMI-CFG (EXEC_PREFIX): Deleted. + +1999-07-07 Daiki Ueno + + * mime-edit.el (mime-edit-quitting-method): Don't refer + `mime-raw-buffer'. + + * mime-view.el (mime-preview-follow-current-entity): Don't refer + `mime-raw-buffer'. + 1999-06-17 MORIOKA Tomohiko * mime-edit.el (mime-edit-user-agent-value): Modify for XEmacs @@ -8,6 +67,23 @@ * mime-edit.el (mime-edit-user-agent-value): Modify code to get version number of XEmacs. [cf. ] +1999-05-22 MORIOKA Tomohiko + + * mime-view.el (mime-entity-situation): Don't refer `major-mode' + of a mime-entity-buffer. + (mime-display-multipart/mixed): Add `major-mode' of SITUATION to + default-situation of children. + (mime-display-multipart/alternative): Likewise. + (mime-display-entity): Don't refer `raw-buffer'; use + `mime-goto-header-start-point'. + (mime-display-message): Add new optional argument + `original-major-mode'; don't refer `raw-buffer'; use + `mime-entity-name' to make name of `preview-buffer'; don't set up + `mime-raw-buffer' of `preview-buffer'; use `original-major-mode' + as value of `major-mode' field of default-situation; don't pop up + `preview-buffer' in suitable window; return `preview-buffer'. + (mime-view-buffer): Pop up `preview-buffer' in suitable window. + 1999-05-31 Keiichi Suzuki * mime-play.el (mime-show-echo-buffer): Bind `buffer-read-only' to diff --git a/Makefile b/Makefile index b46e356..7c97557 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,9 @@ PACKAGE = semi API = 1.13 -RELEASE = 4 +RELEASE = 5 + +FLIM_API= 1.13 TAR = tar RM = /bin/rm -f @@ -15,7 +17,6 @@ XEMACS = xemacs FLAGS = -batch -q -no-site-file -l SEMI-MK PREFIX = NONE -EXEC_PREFIX = NONE LISPDIR = NONE PACKAGEDIR = NONE VERSION_SPECIFIC_LISPDIR = NONE @@ -23,18 +24,16 @@ VERSION_SPECIFIC_LISPDIR = NONE GOMI = *.elc VERSION = $(API).$(RELEASE) -ARC_DIR = /pub/mule/semi/semi-$(API)-for-flim-1.12 +ARC_DIR = /pub/mule/semi/semi-$(API)-for-flim-$(FLIM_API) elc: $(EMACS) $(FLAGS) -f compile-semi \ - $(PREFIX) $(EXEC_PREFIX) $(LISPDIR) \ - $(VERSION_SPECIFIC_LISPDIR) + $(PREFIX) $(LISPDIR) $(VERSION_SPECIFIC_LISPDIR) install-elc: elc $(EMACS) $(FLAGS) -f install-semi \ - $(PREFIX) $(EXEC_PREFIX) $(LISPDIR) \ - $(VERSION_SPECIFIC_LISPDIR) + $(PREFIX) $(LISPDIR) $(VERSION_SPECIFIC_LISPDIR) install: install-elc @@ -62,7 +61,8 @@ tar: 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)/" \ - | sed "s/PACKAGE/$(PACKAGE)/" > ftp + | sed "s/PACKAGE/$(PACKAGE)/" \ + | sed "s/FLIM_API/$(FLIM_API)/" > ftp release: -$(RM) $(ARC_DIR)/$(PACKAGE)-$(VERSION).tar.gz diff --git a/NEWS b/NEWS index 6e505fb..b1c87da 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,32 @@ Copyright (C) 1998,1999 Free Software Foundation, Inc. editing or viewing has never changed. +** Requires FLIM 1.13 API + + +** Don't expect raw-buffer + +In FLIM 1.13 API, existence of a raw-buffer corresponding to each +entity is not guaranteed. + +*** 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. + +*** Don't refer variable `mime-raw-buffer' + +Preview-buffer's local variable `mime-raw-buffer' is deleted. So +don't refer it. + +*** Don't refer variable `mime-preview-buffer' + +There are no guarantee about existence of a raw-buffer corresponding +to each entity, so don't refer buffer local variables of the +raw-buffer, e.g. `mime-preview-buffer'. + + ** Function `mime-play-entity' Function `mime-play-entity' was renamed from `mime-raw-play-entity' @@ -24,13 +50,6 @@ Please use `situation' if you would like to specify `mode' and `ignore-examples'. -** 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. - - ** Text property `mime-view-entity-{header|body}' Now mime-view put text property `mime-view-entity-header' and @@ -46,6 +65,7 @@ In addition, now it is cleared that current point means beginning of header when `mime-display-entity' runs `mime-display-header-hook'. Therefore header-presentation-method must not change current point. + * Changes in SEMI 1.12 diff --git a/README.en b/README.en index db22bb4..d40499e 100644 --- a/README.en +++ b/README.en @@ -40,15 +40,15 @@ Required environment 19.14. SEMI also does not support Emacs 19.29 to 19.34, XEmacs 19.15 or XEmacs 20.2 without mule, but SEMI may work with them. - SEMI requires APEL (9.20 or later) and FLIM (1.12.5 or later) + SEMI requires APEL (9.20 or later) and FLIM (1.13.1 or later) package. Please install them before installing it. APEL package is available at: - ftp://ftp.jaist.ac.jp/pub/GNU/elisp/apel/ + ftp://ftp.etl.go.jp/pub/mule/apel/ and FLIM package is available at: - ftp://ftp.jaist.ac.jp/pub/GNU/elisp/flim/ + ftp://ftp.etl.go.jp/pub/mule/flim/flim-1.13/ PGP/MIME and application/pgp require Mailcrypt or tiny-pgp package. In addition, if you want to use PGP 5.0i or GnuPG for PGP/MIME, it diff --git a/SEMI-CFG b/SEMI-CFG index c05df10..9847f86 100644 --- a/SEMI-CFG +++ b/SEMI-CFG @@ -115,13 +115,6 @@ (defvar PREFIX install-prefix) ;;(setq PREFIX "~/") -;; Please specify install path prefix for binaries. -(defvar EXEC_PREFIX - (if (or running-emacs-18 running-xemacs) - (expand-file-name "../../.." exec-directory) - (expand-file-name "../../../.." exec-directory) - )) - ;; Please specify emu prefix [optional] (setq EMU_PREFIX (if (string-match "XEmacs" emacs-version) @@ -135,9 +128,6 @@ ;;; @ executables ;;; -;; Please specify binary path. -(defvar BIN_DIR (expand-file-name "bin" EXEC_PREFIX)) - ;; Please specify binary path. (for external method scripts) (setq METHOD_DIR (expand-file-name "share/semi" PREFIX)) diff --git a/SEMI-MK b/SEMI-MK index d74efc4..bd5f525 100644 --- a/SEMI-MK +++ b/SEMI-MK @@ -11,11 +11,6 @@ (defvar PREFIX prefix) )) (setq command-line-args-left (cdr command-line-args-left)) - (and (setq exec-prefix (car command-line-args-left)) - (or (string-equal "NONE" exec-prefix) - (defvar EXEC_PREFIX exec-prefix) - )) - (setq command-line-args-left (cdr command-line-args-left)) (and (setq lisp-dir (car command-line-args-left)) (or (string-equal "NONE" lisp-dir) (defvar LISPDIR lisp-dir) @@ -32,8 +27,8 @@ ) (load-file "SEMI-CFG") (load-file "SEMI-ELS") - (princ (format "PREFIX=%s\tEXEC_PREFIX=%s -LISPDIR=%s\n" PREFIX EXEC_PREFIX LISPDIR)) + (princ (format "PREFIX=%s +LISPDIR=%s\n" PREFIX LISPDIR)) ) (defun directory= (dir1 dir2) diff --git a/VERSION b/VERSION index 525fa02..a4bf0d8 100644 --- a/VERSION +++ b/VERSION @@ -205,6 +205,14 @@ 1.8.3 Ecch-Dþ-Nakagawa-A $(B1[CfCf@n(B 1.8.4 Takaoka $(B9b2,(B ; = JR $(BKLN&K\@~!">kC<@~(B +;;------------------------------------------------------------------------- +;; Hokuetsu Express $(BKL1[5^9T(B +;; http://www.tiara.or.jp/~tokamaci/hokuhoku/hokuhoku.html +;; Hokuhoku Line $(B$[$/$[$/@~(B +;;------------------------------------------------------------------------- +1.13.0 Saigata $(B:T3c(B ; = JR $(B?.1[K\@~(B +1.13.1 Kubiki $(B$/$S$-(B + [etc.] diff --git a/ftp.in b/ftp.in index 9da2fb4..40dd727 100644 --- a/ftp.in +++ b/ftp.in @@ -2,12 +2,12 @@ It is available from - ftp://ftp.etl.go.jp/pub/mule/semi/semi-API-for-flim-1.12 + ftp://ftp.etl.go.jp/pub/mule/semi/semi-API-for-flim-FLIM_API --[[message/external-body; access-type=anon-ftp; site="ftp.etl.go.jp"; - directory="/pub/mule/semi/semi-API-for-flim-1.12"; + directory="/pub/mule/semi/semi-API-for-flim-FLIM_API"; name="PACKAGE-VERSION.tar.gz"; mode=image]] Content-Type: application/octet-stream; diff --git a/mime-edit.el b/mime-edit.el index 94883c7..b260183 100644 --- a/mime-edit.el +++ b/mime-edit.el @@ -2585,8 +2585,9 @@ Content-Type: message/partial; id=%s; number=%d; total=%d\n%s\n" (defun mime-edit-quitting-method () "Quitting method for mime-view." - (let ((temp mime-raw-buffer) - buf) + (let* ((entity (get-text-property (point-min) 'mime-view-entity)) + (temp (mime-entity-buffer entity)) + buf) (mime-preview-kill-buffer) (set-buffer temp) (setq buf mime-edit-buffer) diff --git a/mime-play.el b/mime-play.el index 70fb849..e75705c 100644 --- a/mime-play.el +++ b/mime-play.el @@ -531,10 +531,11 @@ SUBTYPE is symbol to indicate subtype of media-type.") (defun mime-preview-quitting-method-for-mime-show-message-mode () "Quitting method for mime-view. It is registered to variable `mime-preview-quitting-method-alist'." - (let ((mother mime-mother-buffer) - (win-conf mime-preview-original-window-configuration) - ) - (kill-buffer mime-raw-buffer) + (let ((raw-buffer (mime-entity-buffer + (get-text-property (point-min) 'mime-view-entity))) + (mother mime-mother-buffer) + (win-conf mime-preview-original-window-configuration)) + (kill-buffer raw-buffer) (mime-preview-kill-buffer) (set-window-configuration win-conf) (pop-to-buffer mother) @@ -566,33 +567,28 @@ It is registered to variable `mime-preview-quitting-method-alist'." (number (cdr (assoc "number" cal))) (total (cdr (assoc "total" cal))) file - (mother (current-buffer)) - ) + (mother (current-buffer))) (or (file-exists-p root-dir) - (make-directory root-dir) - ) + (make-directory root-dir)) (setq id (replace-as-filename id)) (setq root-dir (concat root-dir "/" id)) (or (file-exists-p root-dir) - (make-directory root-dir) - ) + (make-directory root-dir)) (setq file (concat root-dir "/FULL")) (if (file-exists-p file) (let ((full-buf (get-buffer-create "FULL")) (pwin (or (get-buffer-window mother) (get-largest-window))) - ) + pbuf) (save-window-excursion (set-buffer full-buf) (erase-buffer) (as-binary-input-file (insert-file-contents file)) (setq major-mode 'mime-show-message-mode) (mime-view-buffer (current-buffer) nil mother) + (setq pbuf (current-buffer)) ) - (set-window-buffer pwin - (save-excursion - (set-buffer full-buf) - mime-preview-buffer)) + (set-window-buffer pwin pbuf) (select-window pwin) ) (setq file (concat root-dir "/" number)) diff --git a/mime-view.el b/mime-view.el index 2a30e18..80ef939 100644 --- a/mime-view.el +++ b/mime-view.el @@ -212,12 +212,12 @@ mother-buffer." situation))) ;; major-mode - (or (assq 'major-mode situation) - (setq situation - (cons (cons 'major-mode - (with-current-buffer (mime-entity-buffer entity) - major-mode)) - situation))) + ;; (or (assq 'major-mode situation) + ;; (setq situation + ;; (cons (cons 'major-mode + ;; (with-current-buffer (mime-entity-buffer entity) + ;; major-mode)) + ;; situation))) situation)) @@ -536,8 +536,14 @@ Each elements are regexp of field-name.") (defun mime-display-multipart/mixed (entity situation) (let ((children (mime-entity-children entity)) + (original-major-mode (cdr (assq 'major-mode situation))) (default-situation (cdr (assq 'childrens-situation situation)))) + (if original-major-mode + (setq default-situation + (cons (cons 'major-mode original-major-mode) + default-situation)) + ) (while children (mime-display-entity (car children) nil default-situation) (setq children (cdr children)) @@ -561,12 +567,19 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t. t means default." (defun mime-display-multipart/alternative (entity situation) (let* ((children (mime-entity-children entity)) + (original-major-mode (cdr (assq 'major-mode situation))) (default-situation (cdr (assq 'childrens-situation situation))) (i 0) (p 0) (max-score 0) - (situations + situations) + (if original-major-mode + (setq default-situation + (cons (cons 'major-mode original-major-mode) + default-situation)) + ) + (setq situations (mapcar (function (lambda (child) (let ((situation @@ -597,7 +610,7 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t. t means default." (setq i (1+ i)) situation) )) - children))) + children)) (setq i 0) (while children (let ((child (car children)) @@ -735,11 +748,8 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t. t means default." default-situation preview-buffer) (or preview-buffer (setq preview-buffer (current-buffer))) - (let* ((raw-buffer (mime-entity-buffer entity)) - (start (mime-entity-point-min entity)) - e nb ne nhb nbb) - (set-buffer raw-buffer) - (goto-char start) + (let* (e nb ne nhb nbb) + (mime-goto-header-start-point entity) (in-calist-package 'mime-view) (or situation (setq situation @@ -942,7 +952,8 @@ MEDIA-TYPE must be (TYPE . SUBTYPE), TYPE or t. t means default." ;;;###autoload (defun mime-display-message (message &optional preview-buffer - mother default-keymap-or-function) + mother default-keymap-or-function + original-major-mode) "View MESSAGE in MIME-View mode. Optional argument PREVIEW-BUFFER specifies the buffer of the @@ -956,17 +967,18 @@ to it. If it is a function, it will be bound as default binding of keymap of MIME-View mode." (mime-maybe-hide-echo-buffer) (let ((win-conf (current-window-configuration)) - (raw-buffer (mime-entity-buffer message))) + ;; (raw-buffer (mime-entity-buffer message)) + ) (or preview-buffer (setq preview-buffer - (concat "*Preview-" (buffer-name raw-buffer) "*"))) - (set-buffer raw-buffer) - (setq mime-preview-buffer preview-buffer) + (concat "*Preview-" (mime-entity-name message) "*"))) + ;; (set-buffer raw-buffer) + ;; (setq mime-preview-buffer preview-buffer) (let ((inhibit-read-only t)) (set-buffer (get-buffer-create preview-buffer)) (widen) (erase-buffer) - (setq mime-raw-buffer raw-buffer) + ;; (setq mime-raw-buffer raw-buffer) (if mother (setq mime-mother-buffer mother) ) @@ -974,8 +986,9 @@ keymap of MIME-View mode." (setq major-mode 'mime-view-mode) (setq mode-name "MIME-View") (mime-display-entity message nil - '((entity-button . invisible) - (header . visible)) + `((entity-button . invisible) + (header . visible) + (major-mode . ,original-major-mode)) preview-buffer) (mime-view-define-keymap default-keymap-or-function) (let ((point @@ -988,16 +1001,7 @@ keymap of MIME-View mode." (run-hooks 'mime-view-mode-hook) (set-buffer-modified-p nil) (setq buffer-read-only t) - (or (get-buffer-window preview-buffer) - (let ((r-win (get-buffer-window raw-buffer))) - (if r-win - (set-window-buffer r-win preview-buffer) - (let ((m-win (and mother (get-buffer-window mother)))) - (if m-win - (set-window-buffer m-win preview-buffer) - (switch-to-buffer preview-buffer) - ))))) - ))) + preview-buffer))) ;;;###autoload (defun mime-view-buffer (&optional raw-buffer preview-buffer mother @@ -1026,9 +1030,18 @@ message. It must be nil, `binary' or `cooked'. If it is nil, (if (eq representation-type 'binary) (setq representation-type 'buffer) ) - (mime-display-message - (mime-open-entity representation-type raw-buffer) - preview-buffer mother default-keymap-or-function)) + (setq preview-buffer (mime-display-message + (mime-open-entity representation-type raw-buffer) + preview-buffer mother default-keymap-or-function)) + (or (get-buffer-window preview-buffer) + (let ((r-win (get-buffer-window raw-buffer))) + (if r-win + (set-window-buffer r-win preview-buffer) + (let ((m-win (and mother (get-buffer-window mother)))) + (if m-win + (set-window-buffer m-win preview-buffer) + (switch-to-buffer preview-buffer) + )))))) (defun mime-view-mode (&optional mother ctl encoding raw-buffer preview-buffer @@ -1175,7 +1188,7 @@ It calls following-method selected from variable (format "%s-%s" (buffer-name) (reverse entity-node-id))) new-buf (the-buf (current-buffer)) - (a-buf mime-raw-buffer) + (a-buf (mime-entity-buffer entity)) fields) (save-excursion (set-buffer (setq new-buf (get-buffer-create new-name))) diff --git a/semi-def.el b/semi-def.el index bdb5adb..0c5e78d 100644 --- a/semi-def.el +++ b/semi-def.el @@ -1,4 +1,4 @@ -;;; semi-def.el --- definition module for SEMI +;;; semi-def.el --- definition module for SEMI -*- coding: iso-8859-4; -*- ;; Copyright (C) 1995,1996,1997,1998,1999 Free Software Foundation, Inc. @@ -30,7 +30,7 @@ (require 'custom) -(defconst mime-user-interface-product ["SEMI" (1 13 5) "Meih.DŽò"] +(defconst mime-user-interface-product ["SEMI" (1 13 5) "Meihò"] "Product name, version number and code name of MIME-kernel package.") (autoload 'mule-caesar-region "mule-caesar" -- 1.7.10.4