+2000-06-15 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * mail-mime-setup.el: Don't touch mail-signature.
+ * semi-setup.el (mime-setup-enable-inline-image): Don't check
+ window-system under XEmacs.
+ * semi-def.el (select-menu-alist): Use device-on-window-system-p
+ under XEmacs.
+
+2000-06-14 Yoshiki Hayashi <yoshiki@xemacs.org>
+
+ * mime-view.el (mime-view-unbuttonize): Remove invisible text
+ following XPM buttons.
+ * semi-def.el (mime-create-xpm-buttton): Make an extent start-open.
+ Put mime-button text-property for buttonize and unbuttonize.
+
2000-06-13 Yoshiki Hayashi <yoshiki@xemacs.org>
* mime-edit.el (mime-transfer-level): Defcustomize.
is specified in a separate document.
@c @xref{(semi-api)Top}.
-This manual correspond to EMY version @value{VERSION}.
+This manual corresponds to EMY version @value{VERSION}.
@end ifnottex
@menu
widgets. From now on, you only need to set @code{mime-use-widget}
to @code{t}.
-Information of a part is displayed in buttons. What will be shown is
-already defined.
+A button is a place where information about a given part is displayed.
+Its contents is already defined.
[You should be able to customize button with format string.
This might be implemented in later versions. If you
'mail-mode (function
(lambda ()
(interactive)
- (funcall send-mail-function)
- )))
-
-
-;;; @ for signature
-;;;
-
-(if mime-setup-use-signature
- (setq mail-signature nil)
- )
-
+ (funcall send-mail-function))))
;;; @ end
;;;
(point) 'mime-view-entity))
(goto-char point)
(when (get-text-property (point) 'mime-button)
+ ;; Remove invisible text following XPM buttons.
+ (static-if (featurep 'xemacs)
+ (let ((extent (extent-at (point) nil 'invisible))
+ (inhibit-read-only t))
+ (if extent
+ (delete-region (extent-start-position extent)
+ (extent-end-position extent)))))
(mime-preview-toggle-button 'hide))))))
;;; Code:
(require 'poe)
-(eval-when-compile (require 'cl))
+(eval-when-compile (require 'static))
(require 'custom)
(defconst mime-user-interface-product ["EMY" (1 13 6) "Life is balance"]
;; `device-on-widow-system-p' must be checked at run-time.
(if (device-on-window-system-p)
(progn
- (set-extent-properties (make-extent (point)
- (progn
- (insert "[" string "]")
- (point)))
- '(invisible t intangible t))
+ (let ((old-point (point)))
+ (set-extent-properties (make-extent (point)
+ (progn
+ (insert "[" string "]")
+ (point)))
+ '(invisible t intangible t
+ start-open t))
+ (add-text-properties old-point (point)
+ '(mime-button t start-open t)))
(let* ((spec (list string
mime-xpm-button-shadow-thickness
mime-xpm-button-foreground
;;; @ menu
;;;
-(if window-system
- (if (featurep 'xemacs)
- (defun select-menu-alist (title menu-alist)
+(static-if (featurep 'xemacs)
+ (defun select-menu-alist (title menu-alist)
+ ;; XEmacs can have both X and tty frames at the same time with
+ ;; gnuclient.
+ (if (device-on-window-system-p)
(let (ret)
(popup-menu
+ ;; list* is CL function, but CL is a part of XEmacs.
(list* title
"---"
(mapcar (function
t)))
menu-alist)))
(recursive-edit)
- ret))
+ ret)
+ (cdr
+ (assoc (completing-read (concat title " : ") menu-alist)
+ menu-alist))))
+ (if window-system
(defun select-menu-alist (title menu-alist)
(x-popup-menu
(list '(1 1) (selected-window))
- (list title (cons title menu-alist)))))
- (defun select-menu-alist (title menu-alist)
- (cdr
- (assoc (completing-read (concat title " : ") menu-alist)
- menu-alist))))
+ (list title (cons title menu-alist))))
+ (defun select-menu-alist (title menu-alist)
+ (cdr
+ (assoc (completing-read (concat title " : ") menu-alist)
+ menu-alist)))))
;;; @ Other Utility
;; for image/* and X-Face
(defvar mime-setup-enable-inline-image
- (and window-system
- (or (featurep 'xemacs) (featurep 'mule)))
+ (or (featurep 'xemacs) (and window-system (featurep 'mule)))
"*If it is non-nil, semi-setup sets up to use mime-image.")
(if mime-setup-enable-inline-image