annotate lisp/tm/tm-rich.el @ 4:b82b59fe008d r19-15b3

Import from CVS: tag r19-15b3
author cvs
date Mon, 13 Aug 2007 08:46:56 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
1 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
2 ;;; tm-rich.el --- text/enriched and text/richtext style
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
3 ;;; richtext filter for tm-view
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
4 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
5 ;;; Copyright (C) 1995 Free Software Foundation, Inc.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
6 ;;; Copyright (C) 1994 .. 1996 MORIOKA Tomohiko
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
7 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
8 ;;; Author: MORIOKA Tomohiko <morioka@jaist.ac.jp>
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
9 ;;; Version:
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
10 ;;; $Id: tm-rich.el,v 1.1.1.1 1996/12/18 03:55:32 steve Exp $
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
11 ;;; Keywords: mail, news, MIME, multimedia, richtext, enriched
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
12 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
13 ;;; This file is part of tm (Tools for MIME).
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
14 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
15 ;;; This program is free software; you can redistribute it and/or
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
16 ;;; modify it under the terms of the GNU General Public License as
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
17 ;;; published by the Free Software Foundation; either version 2, or
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
18 ;;; (at your option) any later version.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
19 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
20 ;;; This program is distributed in the hope that it will be useful,
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
21 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
22 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
23 ;;; General Public License for more details.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
24 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
25 ;;; You should have received a copy of the GNU General Public License
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
26 ;;; along with This program. If not, write to the Free Software
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
27 ;;; Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
28 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
29 ;;; Code:
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
30
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
31 (require 'tm-view)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
32
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
33 (defvar tm-rich/richtext-module
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
34 (if (or running-emacs-19_29-or-later
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
35 running-xemacs-20
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
36 (and running-xemacs (>= emacs-minor-version 14)))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
37 'richtext
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
38 'tinyrich))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
39
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
40 (require tm-rich/richtext-module)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
41
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
42
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
43 ;;; @ content filters for tm-view
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
44 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
45
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
46 (defun mime-viewer/filter-text/richtext (ctype params encoding)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
47 (let* ((mode mime::preview/original-major-mode)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
48 (m (assq mode mime-viewer/code-converter-alist))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
49 (charset (assoc "charset" params))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
50 ;; 1995/9/21 (c.f. tm-eng:105), 1995/10/3 (c.f. tm-eng:121)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
51 ;; modified by Eric Ding <ericding@San-Jose.ate.slb.com>
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
52 (beg (point-min)) (end (point-max))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
53 )
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
54 (remove-text-properties beg end '(face nil))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
55 (mime/decode-region encoding beg end)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
56 (if (and m (fboundp (setq m (cdr m))))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
57 (funcall m beg (point-max) charset encoding)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
58 (mime-viewer/default-code-convert-region beg (point-max)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
59 charset encoding)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
60 )
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
61 (richtext-decode beg (point-max))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
62 ))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
63
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
64 (defun mime-viewer/filter-text/enriched (ctype params encoding)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
65 (let* ((mode mime::preview/original-major-mode)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
66 (m (assq mode mime-viewer/code-converter-alist))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
67 (charset (assoc "charset" params))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
68 ;; 1995/9/21 (c.f. tm-eng:105), 1995/10/3 (c.f. tm-eng:121)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
69 ;; modified by Eric Ding <ericding@San-Jose.ate.slb.com>
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
70 (beg (point-min)) (end (point-max))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
71 )
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
72 (remove-text-properties beg end '(face nil))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
73 (mime/decode-region encoding beg end)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
74 (if (and m (fboundp (setq m (cdr m))))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
75 (funcall m beg (point-max) charset encoding)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
76 (mime-viewer/default-code-convert-region beg (point-max)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
77 charset encoding)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
78 )
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
79 (enriched-decode beg (point-max))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
80 ))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
81
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
82
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
83 ;;; @ setting
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
84 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
85
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
86 (set-alist 'mime-viewer/content-filter-alist
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
87 "text/richtext" (function mime-viewer/filter-text/richtext))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
88
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
89 (set-alist 'mime-viewer/content-filter-alist
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
90 "text/enriched" (function mime-viewer/filter-text/enriched))
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
91
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
92
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
93 ;;; @ end
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
94 ;;;
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
95
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
96 (provide 'tm-rich)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
97
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
98 (run-hooks 'tm-rich-load-hook)
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
99
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents:
diff changeset
100 ;;; tm-rich.el ends here