8a5e8d15d7635cab7e51f22e8851a056599e4d10
[elisp/tm.git] / tm-def.el
1 ;;;
2 ;;; $Id: tm-def.el,v 6.1 1995/09/20 14:44:49 morioka Exp $
3 ;;;
4
5 (require 'emu)
6
7
8 ;;; @ variables
9 ;;;
10
11 (defvar mime/tmp-dir (or (getenv "TM_TMP_DIR") "/tmp/"))
12
13 (defvar mime/use-multi-frame
14   (and (>= emacs-major-version 19) window-system))
15
16 (defvar mime/find-file-function
17   (if mime/use-multi-frame
18       (function find-file-other-frame)
19     (function find-file)
20     ))
21
22
23 ;;; @ for various Emacs variants
24 ;;;
25
26 (cond ((boundp 'MULE)  (require 'tm-mule))
27       ((boundp 'NEMACS)(require 'tm-nemacs))
28       (t               (require 'tm-orig))
29       )
30
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)
35            ))
36        )
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)
41            ))
42        )
43       ((and (boundp 'NEMACS) NEMACS)
44        (setq tm:available-face-attribute-alist
45              '((bold      . inversed-region)
46                (italic    . underlined-region)
47                (underline . underlined-region)
48                ))
49        (defun tm:set-face-region (beg end face)
50          (attribute-add-narrow-attribute
51           (cdr (assq face mime/available-face-attribute-alist))
52           beg end))
53        )
54       (t
55        (defun tm:set-face-region (beg end sym)
56          )
57        ))
58
59
60 ;;; @ definitions about MIME
61 ;;;
62
63 (defconst mime/tspecials "][\000-\040()<>@,\;:\\\"/?.=")
64 (defconst mime/token-regexp (concat "[^" mime/tspecials "]+"))
65 (defconst mime/charset-regexp mime/token-regexp)
66
67
68 ;;; @@ Base64
69 ;;;
70
71 (defconst base64-token-regexp "[A-Za-z0-9+/=]")
72
73 (defconst mime/B-encoded-text-regexp
74   (concat "\\("
75           base64-token-regexp
76           base64-token-regexp
77           base64-token-regexp
78           base64-token-regexp
79           "\\)+"))
80 (defconst mime/B-encoding-and-encoded-text-regexp
81   (concat "\\(B\\)\\?" mime/B-encoded-text-regexp))
82
83
84 ;;; @@ Quoted-Printable
85 ;;;
86
87 (defconst quoted-printable-hex-chars "0123456789ABCDEF")
88 (defconst quoted-printable-octet-regexp
89   (concat "=[" quoted-printable-hex-chars
90           "][" quoted-printable-hex-chars "]"))
91
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))
96
97
98 ;;; @ end
99 ;;;
100
101 (provide 'tm-def)