2 ;;; $Id: tm-def.el,v 6.1 1995/09/20 14:44:49 morioka Exp $
11 (defvar mime/tmp-dir (or (getenv "TM_TMP_DIR") "/tmp/"))
13 (defvar mime/use-multi-frame
14 (and (>= emacs-major-version 19) window-system))
16 (defvar mime/find-file-function
17 (if mime/use-multi-frame
18 (function find-file-other-frame)
23 ;;; @ for various Emacs variants
26 (cond ((boundp 'MULE) (require 'tm-mule))
27 ((boundp 'NEMACS)(require 'tm-nemacs))
28 (t (require 'tm-orig))
31 (cond ((string-match "XEmacs\\|Lucid" emacs-version)
32 (defun tm:set-face-region (b e face)
33 (let ((overlay (make-extent b e)))
34 (set-extent-property overlay 'face face)
37 ((and (>= emacs-major-version 19) window-system)
38 (defun tm:set-face-region (b e face)
39 (let ((overlay (make-overlay b e)))
40 (overlay-put overlay 'face face)
43 ((and (boundp 'NEMACS) NEMACS)
44 (setq tm:available-face-attribute-alist
45 '((bold . inversed-region)
46 (italic . underlined-region)
47 (underline . underlined-region)
49 (defun tm:set-face-region (beg end face)
50 (attribute-add-narrow-attribute
51 (cdr (assq face mime/available-face-attribute-alist))
55 (defun tm:set-face-region (beg end sym)
60 ;;; @ definitions about MIME
63 (defconst mime/tspecials "][\000-\040()<>@,\;:\\\"/?.=")
64 (defconst mime/token-regexp (concat "[^" mime/tspecials "]+"))
65 (defconst mime/charset-regexp mime/token-regexp)
71 (defconst base64-token-regexp "[A-Za-z0-9+/=]")
73 (defconst mime/B-encoded-text-regexp
80 (defconst mime/B-encoding-and-encoded-text-regexp
81 (concat "\\(B\\)\\?" mime/B-encoded-text-regexp))
84 ;;; @@ Quoted-Printable
87 (defconst quoted-printable-hex-chars "0123456789ABCDEF")
88 (defconst quoted-printable-octet-regexp
89 (concat "=[" quoted-printable-hex-chars
90 "][" quoted-printable-hex-chars "]"))
92 (defconst mime/Q-encoded-text-regexp
93 (concat "\\([^=?]\\|" quoted-printable-octet-regexp "\\)+"))
94 (defconst mime/Q-encoding-and-encoded-text-regexp
95 (concat "\\(Q\\)\\?" mime/Q-encoded-text-regexp))