From d5ebc31d88613778a0345aea2caeeb01cc0b4d7b Mon Sep 17 00:00:00 2001 From: morioka Date: Thu, 9 Apr 1998 21:17:48 +0000 Subject: [PATCH] Sync up with WEMI. --- ChangeLog | 24 ++++++++++++++++++------ Makefile | 14 +++++++------- README.en | 40 ++++++++++++++++++++++------------------ mime-def.el | 55 ++++++++++++++++++++++++++++++++----------------------- mime-text.el | 6 +++--- mime-view.el | 22 ++++++++++++---------- 6 files changed, 94 insertions(+), 67 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8aa4336..0b80e4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,5 @@ 1998-04-09 MORIOKA Tomohiko - * SEMI: Version 1.2.1 (Nomachi) was released. - -1998-04-09 MORIOKA Tomohiko - * mime-view.el (mime-view-setup-buffers): Don't use 'mime-raw-flatten-message-info. (mime-view-display-entity): Display recursively. @@ -12,6 +8,13 @@ * TODO: New file. + +1998-04-07 MORIOKA Tomohiko + + * WEMI: Version 1.2.0 (T-Dòkyò)-A was released. + + * README.en: Modify for WEMI. + 1998-04-03 MORIOKA Tomohiko * eword-decode.el (eword-decode-version): Use @@ -20,11 +23,20 @@ * mime-edit.el (mime-edit-version-string): Use `mime-module-version' instead of `semi-version'. +1998-04-03 MORIOKA Tomohiko + + * mime-text.el (mime-text-add-url-buttons): Use + `widget-convert-text' instead of `mime-add-button'. + * mime-view.el (mime-view-version-string): Use - `mime-module-version' instead of `semi-version'. + `mime-module-version' instead of `semi-version'. + (mime-view-insert-message/partial-button): Use + `mime-insert-button'. * mime-def.el (mime-module-version): New variable; abolish - `semi-version'. + `semi-version'. + (mime-insert-button): Use `widget-create'; abolish + `mime-add-button'. 1998-03-26 MORIOKA Tomohiko diff --git a/Makefile b/Makefile index df25355..23494de 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ # -# Makefile for SEMI kernel. +# Makefile for WEMI. # VERSION = 1.2.1 @@ -57,14 +57,14 @@ clean: tar: cvs commit - sh -c 'cvs tag -RF semi-`echo $(VERSION) \ + sh -c 'cvs tag -RF wemi-`echo $(VERSION) \ | sed s/\\\\./_/ | sed s/\\\\./_/`; \ cd /tmp; \ cvs -d :pserver:anonymous@chamonix.jaist.ac.jp:/hare/cvs/root \ - export -d semi-$(VERSION) \ - -r semi-`echo $(VERSION) \ + export -d wemi-$(VERSION) \ + -r wemi-`echo $(VERSION) \ | sed s/\\\\./_/ | sed s/\\\\./_/` semi' - $(RM) /tmp/semi-$(VERSION)/ftp.in - cd /tmp; $(TAR) cvzf semi-$(VERSION).tar.gz semi-$(VERSION) - cd /tmp; $(RM) -r semi-$(VERSION) + $(RM) /tmp/wemi-$(VERSION)/ftp.in + cd /tmp; $(TAR) cvzf $(HOME)/tmp/wemi-$(VERSION).tar.gz wemi-$(VERSION) + cd /tmp; $(RM) -r wemi-$(VERSION) sed "s/VERSION/$(VERSION)/" < ftp.in > ftp diff --git a/README.en b/README.en index 00892aa..e0d1188 100644 --- a/README.en +++ b/README.en @@ -1,13 +1,17 @@ -[README for SEMI kernel package (English Version)] +[README for WEMI kernel package (English Version)] by MORIOKA Tomohiko -$Id: README.en,v 1.7 1998-03-13 19:50:29 shuhei-k Exp $ +$Id: README.en,v 1.7.6.1 1998-04-09 21:08:05 morioka Exp $ -What's SEMI? +What's WEMI? ------------ - SEMI is a library to provide MIME feature for GNU Emacs. MIME is a - proposed internet standard for including content and headers other - than (ASCII) plain text in messages. + WEMI is a branch of SEMI kernel package using widget. It is a + library to provide MIME feature for GNU Emacs based on SEMI API. + Namely it contains whole features of SEMI thus it is a replacement + of SEMI. + + MIME is a proposed internet standard for including content and + headers other than (ASCII) plain text in messages. RFC 2045 : Internet Message Bodies RFC 2046 : Media Types @@ -15,7 +19,7 @@ What's SEMI? RFC 2048 : MIME Registration Procedures RFC 2049 : MIME Conformance - SEMI has the following features: + WEMI has the following features: - MIME style multilingual header (RFC 2047) - MIME message viewer (mime-view-mode) (RFC 2045 .. 2049) @@ -36,17 +40,17 @@ What's SEMI? Required environment -------------------- - SEMI supports XEmacs 20.2 or later with mule, and Emacs 20. + WEMI supports XEmacs 20.3 or later with mule, and Emacs 20.2. - SEMI does not support anything older than Emacs 19.28 or XEmacs - 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. + WEMI does not support anything older than Emacs 19.28 or XEmacs + 19.14. WEMI also does not support Emacs 19.29 to 19.34, XEmacs + 19.15 or XEmacs 20.2 without mule, but WEMI may work with them. If you use Emacs 20, don't set `enable-multibyte-characters' to nil. (Maybe non mule setting requires to modify emu. In addition, it is better to use terminal-coding-system feature) - SEMI requires APEL and MEL package. Please install them before + WEMI requires APEL and MEL package. Please install them before installing it. APEL package is available at: @@ -93,7 +97,7 @@ Installation /usr/local/share/emacs/site-lisp/bitmap/ --- BITMAP-MULE /usr/local/share/emacs/site-lisp/mu/ --- MU /usr/local/share/emacs/site-lisp/mel/ --- MEL - /usr/local/share/emacs/site-lisp/semi/ --- SEMI + /usr/local/share/emacs/site-lisp/semi/ --- WEMI You can specify site-lisp directory, for example @@ -104,8 +108,8 @@ Installation /usr/local/lib/xemacs/site-lisp). You can specify other optional settings by editing the file - semi/SEMI-CFG. Please read semi/README.en and comments in - semi/SEMI-CFG. + ${archive}/SEMI-CFG. Please read ${archive}/README.en and comments + in ${archive}/SEMI-CFG. Initialization @@ -135,7 +139,7 @@ Initialization Documentation ------------- - To get started, please read semi/README.en. + To get started, please read WEMI/README.en. RFC's 822, 1806, 1847, 1896, 2015, 2045, 2046, 2047, 2048 and 2049 are available via anonymous ftp: @@ -151,8 +155,8 @@ Bug reports bug-tm-en@chamonix.jaist.ac.jp (English) bug-tm-ja@chamonix.jaist.ac.jp (Japanese) - Via the tm ML, you can report SEMI bugs, obtain the latest release - of SEMI, and discuss future enhancements to SEMI. To join the tm + Via the tm ML, you can report WEMI bugs, obtain the latest release + of WEMI, and discuss future enhancements to WEMI. To join the tm ML, send an empty e-mail to tm-en-help@chamonix.jaist.ac.jp (English) diff --git a/mime-def.el b/mime-def.el index fe155dc..23f3aeb 100644 --- a/mime-def.el +++ b/mime-def.el @@ -1,11 +1,11 @@ -;;; mime-def.el --- definition module for SEMI +;;; mime-def.el --- definition module for WEMI ;; Copyright (C) 1995,1996,1997,1998 Free Software Foundation, Inc. ;; Author: MORIOKA Tomohiko ;; Keywords: definition, MIME, multimedia, mail, news -;; This file is part of SEMI (Spadework for Emacs MIME Interfaces). +;; This file is part of WEMI (Widget based Emacs MIME Interfaces). ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as @@ -51,7 +51,7 @@ x)))) ) -(defconst mime-module-version '("SEMI" "Nomachi" 1 2 1) +(defconst mime-module-version '("WEMI" "Shinbashi" 1 2 1) "Implementation name, version name and numbers of MIME-kernel package.") (autoload 'mule-caesar-region "mule-caesar" @@ -104,32 +104,41 @@ :group 'mime :type 'face) -(defsubst mime-add-button (from to function &optional data) - "Create a button between FROM and TO with callback FUNCTION and DATA." - (let ((overlay (make-overlay from to))) - (and mime-button-face - (overlay-put overlay 'face mime-button-face)) - (and mime-button-mouse-face - (overlay-put overlay 'mouse-face mime-button-mouse-face)) - (add-text-properties from to (list 'mime-button-callback function)) - (and data - (add-text-properties from to (list 'mime-button-data data))) - ;;(add-text-properties from to (list 'keymap widget-keymap)) - )) +;; (defsubst mime-add-button (from to function &optional data) +;; "Create a button between FROM and TO with callback FUNCTION and DATA." +;; (let ((overlay (make-overlay from to))) +;; (and mime-button-face +;; (overlay-put overlay 'face mime-button-face)) +;; (and mime-button-mouse-face +;; (overlay-put overlay 'mouse-face mime-button-mouse-face)) +;; (add-text-properties from to (list 'mime-button-callback function)) +;; (and data +;; (add-text-properties from to (list 'mime-button-data data))) +;; (add-text-properties from to (list 'keymap widget-keymap)) +;; )) (defsubst mime-insert-button (string function &optional data) "Insert STRING as button with callback FUNCTION and DATA." (save-restriction (narrow-to-region (point)(point)) - (insert (concat "[" string "]")) - ;; (widget-push-button-value-create - ;; (widget-convert 'push-button - ;; :notify (lambda (&rest ignore) - ;; (mime-preview-play-current-entity) - ;; ) - ;; string)) + (widget-create 'push-button + :action `(lambda (widget &optional event) + (,function) + ) + :mouse-down-action `(lambda (widget event) + (let (buf point) + (save-window-excursion + (mouse-set-point event) + (setq buf (current-buffer) + point (point))) + (save-excursion + (set-buffer buf) + (goto-char point) + (,function) + ))) + string) (insert "\n") - (mime-add-button (point-min)(point-max) function data) + ;;(mime-add-button (point-min)(point-max) function data) )) (defvar mime-button-mother-dispatcher nil) diff --git a/mime-text.el b/mime-text.el index 6a22fbd..933c935 100644 --- a/mime-text.el +++ b/mime-text.el @@ -5,7 +5,7 @@ ;; Author: MORIOKA Tomohiko ;; Keywords: text, MIME, multimedia, mail, news -;; This file is part of SEMI (Suite of Emacs MIME Interfaces). +;; This file is part of WEMI (Widget based Emacs MIME Interfaces). ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as @@ -25,6 +25,7 @@ ;;; Code: (require 'mime-view) +(autoload 'widget-convert-text "wid-edit") ;;; @ buffer local variables in raw-buffer @@ -118,8 +119,7 @@ local variable `mime-text-decoder' and variable (while (re-search-forward mime-text-url-regexp nil t) (let ((beg (match-beginning 0)) (end (match-end 0))) - (mime-add-button beg end #'mime-text-browse-url - (list (buffer-substring beg end))) + (widget-convert-text 'url-link beg end) ))) (defun mime-text-add-url-buttons-maybe () diff --git a/mime-view.el b/mime-view.el index 06af52f..c5c3691 100644 --- a/mime-view.el +++ b/mime-view.el @@ -8,7 +8,7 @@ ;; Renamed: 1997/02/19 from tm-view.el ;; Keywords: MIME, multimedia, mail, news -;; This file is part of SEMI (Sophisticated Emacs MIME Interfaces). +;; This file is part of WEMI (Widget based Emacs MIME Interfaces). ;; This program is free software; you can redistribute it and/or ;; modify it under the terms of the GNU General Public License as @@ -447,12 +447,12 @@ if it is not nil.") (defvar mime-view-announcement-for-message/partial (if (and (>= emacs-major-version 19) window-system) "\ -\[[ This is message/partial style split message. ]] -\[[ Please press `v' key in this buffer ]] -\[[ or click here by mouse button-2. ]]" +This is message/partial style split message. +Please press `v' key in this buffer +or click here by mouse button-2. " "\ -\[[ This is message/partial style split message. ]] -\[[ Please press `v' key in this buffer. ]]" +This is message/partial style split message. +Please press `v' key in this buffer. " )) (defun mime-view-insert-message/partial-button (&optional situation) @@ -462,10 +462,12 @@ if it is not nil.") (insert "\n") ) (goto-char (point-max)) - (narrow-to-region (point-max)(point-max)) - (insert mime-view-announcement-for-message/partial) - (mime-add-button (point-min)(point-max) - #'mime-preview-play-current-entity) + ;;(narrow-to-region (point-max)(point-max)) + ;;(insert mime-view-announcement-for-message/partial) + ;; (mime-add-button (point-min)(point-max) + ;; #'mime-preview-play-current-entity) + (mime-insert-button mime-view-announcement-for-message/partial + #'mime-preview-play-current-entity) )) -- 1.7.10.4