annotate man/w3.texi @ 82:6a378aca36af r20-0b91

Import from CVS: tag r20-0b91
author cvs
date Mon, 13 Aug 2007 09:07:36 +0200
parents 1ce6082ce73f
children 0d2f883870bc
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 \input texinfo
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
2 @setfilename w3.info
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
3 @settitle Emacs-W3 User's Manual
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 @finalout
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
6 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 @c @setchapternewpage odd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 @c @smallbook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 @tex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
10 \overfullrule=0pt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
11 %\global\baselineskip 30pt % for printing in double space
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 @end tex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 @synindex cp fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 @synindex vr fn
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
15 @dircategory World Wide Web
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
16 @dircategory GNU Emacs Lisp
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
17 @direntry
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
18 * W3: (w3). Emacs-W3 World Wide Web browser.
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
19 @end direntry
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 @ifinfo
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
21 This file documents the Emacs-W3 World Wide Web browser.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
23 Copyright (C) 1993, 1994, 1995 William M. Perry
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
24 Copyright (C) 1996 Free Software Foundation
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 Permission is granted to make and distribute verbatim copies of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 this manual provided the copyright notice and this permission notice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 Permission is granted to process this file through Tex and print the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 results, provided the printed document carries copying permission
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 notice identical to this one except for the removal of this paragraph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 (this paragraph not being relevant to the printed manual).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 @titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 @sp 6
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
41 @center @titlefont{Emacs-W3}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 @center @titlefont{User's Manual}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 @sp 4
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
44 @center Third Edition, Emacs-W3 Version 3.0
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 @sp 1
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
46 @center December 1996
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 @sp 5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 @center William M. Perry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 @center @i{wmperry@@cs.indiana.edu}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 @vskip 0pt plus 1filll
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 Copyright @copyright{} 1993, 1994, 1995 William M. Perry@*
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
53 Copyright @copyright{} 1996 Free Software Foundation
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 Permission is granted to make and distribute verbatim copies of@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 this manual provided the copyright notice and this permission notice@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 @ifinfo
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
62 @node Top, Introduction,, (DIR)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
63 This manual documents the Emacs-W3 World Wide Web browser, a Lisp program
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
64 which runs as a subsystem under Emacs. The manual is divided into the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
65 following chapters.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 @menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
68 * Introduction:: Overview of Emacs-W3.
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
69 * Getting Started:: Getting up and running with Emacs-W3
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
70 * Basic Usage:: Basic movement and usage of Emacs-W3.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 * Compatibility:: Explanation of compatibility with
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
72 other web browsers.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
73 * Controlling Formatting:: How to control HTML formatting
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
74 * MIME Support:: Support for MIME
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
75 * Security:: Various forms of security
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
76 * Non-Unix Operating Systems:: Special considerations necessary to get
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 up and running correctly under non-unix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 OS's.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 * Advanced Features:: Some of the more arcane features.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 * More Help:: How to get more help---mailing lists,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 newsgroups, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 * Future Directions:: Plans for future revisions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 Appendices:
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
85 * Reporting Bugs:: How to report a bug in Emacs-W3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
86 * Installing SSL:: Turning on SSL support
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
87 * Using PGP/PEM:: Turning on PGP/PEM encryption support
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
88 * Mailcap Files:: An explanation of Mailcap files
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 Indices:
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
91 * General Index:: General Index
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
92 * Key Index:: Menus of command keys and their references
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
96 @node Introduction, Getting Started, Top, Top
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
97 @chapter Introduction
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
98 @cindex World Wide Web
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
99
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
100 :: WORK :: Basic info on what Emacs-W3 is, including copyrights, etc.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
101
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
102 @ifinfo
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
103 Here is some more specific information about what languages and
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
104 protocols Emacs-W3 supports.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
105 @menu
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
106 * Markup Languages Supported:: Markup languages supported by Emacs-W3
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
107 * Stylesheets:: Stylesheet languages supported by Emacs-W3
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
108 * Supported Protocols:: Network protocols supported by Emacs-W3
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
109 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
110 @end ifinfo
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
111 @node Markup Languages Supported, Stylesheets, Introduction, Introduction
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
112 @chapter Supported Markup Languages
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
113 Several different markup languages, and various extensions to those
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
114 languages, are supported by Emacs-W3.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
115 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
116 @center ----------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
117 @center HTML 2.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
118 @center ----------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
119 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
120 @iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
121 @section HTML 2.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
122 @end iftex
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
123 @cindex HTML 2.0
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
124
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
125 :: WORK :: Reference to the HTML 2.0 RFC
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
126 :: WORK :: Basic explanation of HTML, tag structure, etc.
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
127
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
128 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
129 @center ----------
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
130 @center HTML 3.2
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
131 @center ----------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
132 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
133 @iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
134 @section HTML 3.2
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
135 @end iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
136 @cindex HTML 3.2
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
137 The HTML 3.2 language is an extension of HTML, with a large degree of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
138 backward compatibility with HTML 2.0. This basically documents current
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
139 practice as of January, 1996.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
140
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
141 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
142 @center ----------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
143 @center SGML Features
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
144 @center ----------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
145 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
146 @iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
147 @section SGML Features
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
148 @end iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
149 @cindex SGML Features
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
150 @cindex Entity Definitions
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
151 @cindex Marked Sections
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
152
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
153 :: WORK :: Document marked sections, SGML features
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
154
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
155 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
156 @center ----------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
157 @center Extras
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
158 @center ----------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
159 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
160 @iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
161 @section Extra Markup
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
162 @end iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
163 @cindex Easter Eggs
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
164 @cindex Fluff
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
165 @cindex Pomp & Circumstance
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
166 There are several different markup elements that are not officially part
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
167 of HTML or HTML 3.2 that Emacs-W3 supports. These are either items that
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
168 were dropped from HTML 3.@var{x} after I had implemented them, things I
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
169 find just completely hilarious, or experimental parts of HTML that
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
170 should not be counted as "official" or long lived.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
171 @itemize @bullet
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
172 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
173 FLAME support. For truly interesting dynamic documents. This is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
174 replaced with a random quote from Mr. Angry (see @kbd{M-x flame} for a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
175 sample).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
176 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
177 The top ten tags that did not make it into netscape. These tags were
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
178 posted to the newsgroup comp.infosystems.www.misc by Laura Lemay
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
179 (@i{lemay@@netcom.com}). Much thanks to her for the humor.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
180 @table @b
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
181 @item <wired>...</wired>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
182 Renders the enclosed text in a suitably ugly font/color combination. If
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
183 no default has been set up by the user, this is the default font, with
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
184 red text on a yellow background.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
185 @item <roach>...</roach>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
186 When selected, the enclosed text runs and hides under the nearest
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
187 window. OR, giggles a lot and demands nachos, depending on the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
188 definition of "roach." (the formal definition, of course, to be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
189 determined by the Official Honorary Internet Standards Committee For
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
190 Moving Really Slowly.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
191 @item <pinhead>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
192 Inserts "zippyisms" into the enclosed text. Perfect for those professional
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
193 documents. This is sure to be a favorite of mine!
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
194 @item <secret>...</secret>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
195 Must use secret spy decoder glasses (available direct from Netscape for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
196 a reasonable fee) in order to read the enclosed text. Can also be read
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
197 by holding the computer in front of a full moon during the autumn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
198 solstice.
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
199
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
200 In Emacs-W3, this displays the text using rot13 encoding.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
201 @item <hype>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
202 Causes Marc Andreesen to magically appear and grant an interview (wanted
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
203 or not). Please use this tag sparingly.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
204 @item <peek>....</peek>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
205 @item <poke>...</poke>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
206 Need more control over screen layout in HTML? Well, here ya go.
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
207 n
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
208 Actually, <peek> could almost be considered useful. The VARIABLE
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
209 attribute can be used to insert the value of an emacs variable into the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
210 current document. Things like 'Welcome to my page, <peek
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
211 variable=user-mail-address>' can be useful in spreading fear,
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
212 uncertainty, and doubt among users.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
213 @item <yogsothoth>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
214 @cindex Gates Bill
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
215 @cindex Yogsothoth
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
216 Summons the elder gods to suck away your immortal soul. Or Bill Gates,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
217 if the elder gods are busy. Unpredictable (but amusing) results occur
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
218 when the <YOGSOTHOTH> and <HYPE> tags are used in close proximity.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
219
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
220 @item <blink>...</blink>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
221 Causes the enclosed text to .... ooops that one made it in.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
222 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
223 @end itemize
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
224
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
225 @node Stylesheets, Supported Protocols, Markup Languages Supported,Introduction
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
226 @chapter Stylesheets
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
227 @cindex Stylesheets
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
228 @cindex Cascading Style Sheets
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
229 @cindex Aural Cascading Style Sheets
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
230 @cindex CSS
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
231 @cindex DSSSL
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
232 :: WORK :: Document CSS support
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
233 CSS Information at http://www.w3.org/pub/WWW/TR/REC-CSS1
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
234 Style guide at http://www.htmlhelp.com/reference/css/
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
235 :: WORK :: Document ACSS support
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
236 ACSS Information at http://www.w3.org/pub/WWW/Style/CSS/Speech/NOTE-ACSS
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
237 :: WORK :: Document DSSSL support
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
238
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
239 @node Supported Protocols, , Stylesheets, Introduction
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
240 @chapter Supported Protocols
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
241 @cindex Network Protocols
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
242 @cindex Protocols Supported
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
243 @cindex Supported Protocols
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
244 Emacs-W3 supports the following protocols
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
245 @table @b
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
246 @item Usenet News
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
247 Can either display an entire newsgroup or specific articles by
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
248 Message-ID: header. Instead of rewriting a newsreader, this integrates
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
249 with the Gnus newsreader. It requires at least Gnus 5.0, but it is
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
250 always safest to use the latest version. Gnus supports some very
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
251 advanced features, including virtual newsgroups, mail and news
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
252 integration, and reading news from multiple servers. @inforef{Gnus,
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
253 Top,gnus}, for more info.
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
254
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
255 To be more in line with the other URL schemes, the hostname and port of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
256 an NNTP server can be specified. URLs of the form
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
257 news://hostname:port/messageID work, but might not work in some other
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
258 browsers.
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
259
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
260 @item HTTP
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
261 Supports the HTTP/0.9, HTTP/1.0, and parts of the HTTP/1.1 protocols.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
262 @item Gopher
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
263 Support for all gopher types, including CSO queries.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
264 @item Gopher+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
265 Support for Gopher+ retrievals. Support for converting ASK blocks into
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
266 HTML 3.0 FORMS and submitting them back to the server.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
267 @item FTP
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
268 FTP is handled by either ange-ftp or efs.
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
269 @inforef{Ange-FTP,Top,ange-ftp}, for more information on Ange-FTP, or
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
270 @inforef{EFS, Top,efs}, for information on EFS.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
271 @item Local files
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
272 Local files are of course handled, and MIME content-types are derived
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
273 from the file extensions.
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
274 @item telnet, tn3270, rlogin
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
275 Telnet, tn3270, and rogin are handled by running the appropriate program
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
276 in an emacs buffer, or running an external process.
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
277 @item mailto
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
278 Causes a mail message to be started to a specific address. Supports the
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
279 Netscape @i{extensions} to specify arbitrary headers on the message.
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
280 @item data
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
281 A quick and easy way to `inline' small pieces of information that you do
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
282 not necessarily want to download over the net separately. Can speed up
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
283 display of small icons, stylesheet information, etc. See the internet
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
284 draft draft-masinter-url-data-02.txt for more information.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
285 @item mailserver
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
286 A more powerful version of mailto, which allows the author to specify
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
287 the subject and body text of the mail message. This type of link is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
288 never fully executed without user confirmation, because it is possible
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
289 to insert insulting or threatening (and possibly illegal) data into the
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
290 message. The mail message is displayed, and the user must confirm the
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
291 message before it is sent.
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
292 @item x-exec
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
293 A URL can cause a local executable to be run, and its output interpreted
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
294 as if it had come from an HTTP server. This is very useful, but is
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
295 still an experimental protocol, hence the X- prefix. This URL protocol
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
296 is deprecated, but might be useful in the future.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
297 @item NFS
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
298 Retrieves information over NFS. This requires that your operating
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
299 system support auto-mounting of NFS volumes.
82
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
300 @item finger
6a378aca36af Import from CVS: tag r20-0b91
cvs
parents: 80
diff changeset
301 Retrieves information about a user via the 'finger' protocol.
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
302 @item Info
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
303 Creates a link to an GNU-style info file. @inforef{Info,Top,info}, for more
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
304 information on the Info format.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
305 @item SSL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
306 SSL requires a set of patches to the Emacs C code and SSLRef 2.0, or an
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
307 external program to run in a subprocess (similar to the @file{tcp.el}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
308 package that comes with GNUS. @xref{Installing SSL}
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
309 @end table
20
859a2309aef8 Import from CVS: tag r19-15b93
cvs
parents: 16
diff changeset
310
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
311 @node Getting Started, Getting Emacs, Introduction, Top
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
312 @chapter Getting Started
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
313 @cindex Clueless in Seattle
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
314 @cindex Getting Started
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
315 This section of the manual deals with getting, compiling, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
316 configuring @i{Emacs-W3}.
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
317 :: WORK :: Introduction to 'Getting Started'
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
318
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
319 @ifinfo
20
859a2309aef8 Import from CVS: tag r19-15b93
cvs
parents: 16
diff changeset
320 @menu
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
321 * Getting Emacs:: Where to get Emacs
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
322 * Getting Emacs-W3:: Where to get Emacs-W3
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
323 * Basic Setup:: Basic setup that most people want to do
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
324 * Firewalls:: Integrating Emacs-W3 with a firewall setup.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
325 * Proxy Gateways:: Using a proxy server
20
859a2309aef8 Import from CVS: tag r19-15b93
cvs
parents: 16
diff changeset
326 @end menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
327 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
328
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
329 @node Getting Emacs, Getting Emacs-W3, Getting Started, Getting Started
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
330 @section Getting Emacs
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
331 @cindex Getting Emacs
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
332 @cindex Source code availability
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
333 :: WORK :: Explanation of Emacs, XEmacs, and where to get both
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
334
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
335 @node Getting Emacs-W3, Basic Setup, Getting Emacs, Getting Started
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
336 @section Getting Emacs-W3
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
337 @cindex FTP'in the distribution
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
338 @cindex Source code availability
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
339 :: WORK :: Explanation of Emacs, XEmacs, and where to get both
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
340
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
341 @node Basic Setup, Firewalls, Getting Emacs-W3, Getting Started
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
342 @section Basic Setup
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
343 For most people, Emacs-W3 will be ready to run straight out of the box.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
344 Once the user is more familiar with the web and how it integrates with
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
345 Emacs, there are a few basic configuration variables that most people
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
346 will want to personalize.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
347
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
348 @table @code
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
349 @item w3-default-homepage
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
350 @vindex w3-default-homepage
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
351 The URL to open at startup. This defaults to the environment variable
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
352 WWW_HOME if it is not set it in the users @file{.emacs} file. If
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
353 WWW_HOME is undefined, then it defaults to the hypertext documentation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
354 for Emacs-W3.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
356 @item w3-delay-image-loads
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
357 @vindex w3-delay-image-loads
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
358 Controls the loading of inlined images. If non-@code{nil}, images are
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
359 not loaded. If the correct image converters are not installed or the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
360 network connection is very slow, it is best to set this to @code{t}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
361 Defaults to @code{nil}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
362 @item url-global-history-file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
363 @vindex url-global-history-file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
364 The global history file used by both Mosaic/X and Emacs-W3. This file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
365 contains a list of all the URLs that have been visited. This file is parsed
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
366 at startup and used to provide URL completion. Emacs-W3 can read and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
367 write Mosaic/X or Netscape 1.x style history files, or use its own
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
368 internal format (faster). The file type is determined automatically, or
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
369 prompted for if the file does not exist.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
370 @item w3-hotlist-file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
371 @vindex w3-hotlist-file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
372 Hotlist filename. This should be the name of a file that is stored in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
373 NCSA's Mosaic/X or Netscape's format. It is used to keep a listing of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
374 commonly accessed URLs.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
375 @item w3-personal-annotation-directory
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
376 @vindex w3-personal-annotation-directory
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
377 The directory where Emacs-W3 looks for personal annotations. This is a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
378 directory that should hold the personal annotations stored in a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
379 Mosaic/X-compatible format.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
380 @item url-pgp/pem-entity
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
381 @findex user-real-login-name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
382 @findex system-name
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
383 The name by which the user is known to PGP and/or PEM entities. If this
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
384 is not set when Emacs-W3 is loaded, it defaults to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
385 @code{user-mail-address} if it is set, otherwise @code{(user-real-login-name)}@@@code{(system-name)}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
386 @item url-personal-mail-address
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
387 @vindex url-personal-mail-address
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
388 @vindex url-pgp/pem-entity
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
389 User's full email address. This is what is sent to HTTP/1.0 servers as
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
390 the FROM header. If this is not set when Emacs-W3 is loaded, then it
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
391 defaults to the value of @code{url-pgp/pem-entity}.
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
392
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
393 @item w3-right-border
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
394 @vindex w3-right-border
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
395 @findex window-width
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
396 Amount of space to leave on right margin of WWW buffers. This amount is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
397 subtracted from the width of the window for each new WWW buffer and used
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
398 as the new @code{fill-column}.
20
859a2309aef8 Import from CVS: tag r19-15b93
cvs
parents: 16
diff changeset
399
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
400 @item w3-track-mouse
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
401 @vindex w3-track-mouse
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
402 Controls whether to track the mouse and message the url under the mouse.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
403 If this is non-@code{nil}, then a description of the hypertext area
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
404 under the mouse is shown in the minibuffer. This shows what type of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
405 link (inlined image, form entry area, delayed image, delayed MPEG, or
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
406 hypertext reference) is under the cursor, and the destination.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
407 @item w3-echo-link
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
408 @vindex w3-echo-link
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
409 Controls how a URL is shown when a link is reached with @key{f},
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
410 @key{b}, or the mouse moves over it. Possible values are:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
411 @table @b
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
412 @item url
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
413 Displays the URL (ie: @samp{http://www.cs.indiana.edu/}).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
414 @item text
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
415 Displays the text of the link (ie: @samp{A link to Indiana University}).
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
416 @item title
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
417 Displays the title of the link, if any, otherwise behaves the same as @code{url}.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
418 @item nil
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
419 Show nothing.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
420 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
421 @item w3-use-forms-index
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
422 @vindex w3-use-forms-index
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
423 @cindex ISINDEX handling
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
424 @cindex Forms based searching
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
425 @cindex Searching with forms
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
426 Non-@code{nil} means translate <ISINDEX> tags into a hypertext form. A
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
427 single text entry box is shown where the ISINDEX tag appears.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
428 @item url-use-hypertext-gopher
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
429 @vindex url-use-hypertext-gopher
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
430 @cindex Gopher+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
431 Controls how gopher documents are retrieved. If non-@code{nil}, the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
432 gopher pages are converted into HTML and parsed just like any other
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
433 page. If @code{nil}, the requests are passed off to the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
434 @file{gopher.el} package by Scott Snyder. Using the @file{gopher.el}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
435 package loses the gopher+ support, and inlined searching.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
436 @item url-xterm-command
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
437 @vindex url-xterm-command
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
438 Command used to start a windowed shell, similar to an xterm. This
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
439 string is passed through @code{format}, and should expect four strings:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
440 the title of the window, the program name to execute, and the server and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
441 port number. The default is for xterm, which is very UNIX and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
442 XWindows-centric.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
443 @end table
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
444 @node Firewalls, Proxy Gateways, Basic Setup, Getting Started
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
445 @section Firewalls
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
446 @cindex Gateways
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
447 There are several different reasons why the gateway support might be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
448 required.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
449 @enumerate
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
450 @cindex Firewalls
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
451 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
452 Stuck behind a firewall. This is usually the case at large corporations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
453 with paranoid system-administrators.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
455 @cindex TERM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
456 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
457 Using TERM @footnote{TERM is a user-level protocol for emulating IP over
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
458 a serial line. More information is available at
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
459 ftp://sunsite.unc.edu/pub/Linux/apps/comm/term} for slip-like access to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
460 the internet.
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
461
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
462 NOTE: XEmacs and Emacs 19.22 or later have patches to enable native TERM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
463 networking. To enable it, #define TERM in the appropriate s/*.h file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
464 for the operating system, then change the SYSTEM_LIBS define to include
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
465 the @file{termnet} library that comes with the latest versions of TERM.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
466
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
467 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
468 @cindex Faulty hostname resolvers
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
469 @cindex Broken SUN libc
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
470 @cindex Can't resolve hostnames
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
471 Emacs cannot resolve hostnames. This happens quite often on Sun
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
472 workstations and some ULTRIX machines. Some C libraries do not include
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
473 the hostname resolver routines in their static libraries. If Emacs was
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
474 linked statically, this means it won't be able to get to any machines
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
475 off the local network. This is characterized by being able to reach
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
476 someplace with a raw ip number, but not its hostname
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
477 (http://129.79.254.191/ works, but http://www.cs.indiana.edu/ doesn't).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
478
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
479 If for some reason it is not feasible to recompile Emacs with the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
480 @file{-lresolv} library or dynamic linking, it is just like being behind
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
481 a firewall. Another alternative is to set the variable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
482 @code{url-broken-resolution} - this will use the support in ange-ftp or
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
483 EFS to use @file{nslookup} in a subprocess to do all hostname resolving.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
484 See the variables @code{efs-nslookup-program},
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
485 @code{efs-nslookup-on-connect}, and @code{efs-nslookup-threshold} if are
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
486 using EFS, or @code{ange-ftp-nslookup-program} if using Ange-FTP.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
487
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
488 @end enumerate
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
489
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
490 @vindex url-gateway-local-host-regexp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
491 Emacs-W3 has support for using the gateway mechanism for certain
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
492 domains, and directly connecting to others. To use this, change the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
493 value of @code{url-gateway-local-host-regexp}. This should be a regular
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
494 expression @footnote{Please see the full Emacs distribution for a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
495 description of regular expressions} that matches local hosts that do not
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
496 require the use of a gateway. If @code{nil}, then all connections are
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
497 made through the gateway.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
498
20
859a2309aef8 Import from CVS: tag r19-15b93
cvs
parents: 16
diff changeset
499
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
500 @vindex url-gateway-method
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
501 Emacs-W3 supports several methods of getting around gateways. The variable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
502 @code{url-gateway-method} controls which of these methods is used. This
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
503 variable can have several values (use these as symbol names, not
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
504 strings):
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
505 @table @dfn
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
506 @item program
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
507 Run a program in a subprocess to connect to remote hosts (examples are
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
508 @i{itelnet}@footnote{Itelnet is a standard name for a telnet executable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
509 that is capable of escaping the firewall. Check with system
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
510 administrators to see if anything similar is available}, an
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
511 @i{expect}@footnote{Expect is a scripting language that allows control
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
512 of interactive programs (like telnet) very easily. It is available from
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
513 gatekeeper.dec.com:/pub/GNU/expect-3.24.0.tar.gz} script, etc.).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
514
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
515 @item tcp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
516 Masanobu UMEDA (@i{umerin@@mse.kyutech.ac.jp}) has written a very nice
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
517 replacement for the standard networking in Emacs. This does basically
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
518 the same thing that a method of @code{program} does, but is slightly
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
519 more transparent to the user.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
520 @item native
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
521 This means that Emacs-W3 should use the builtin networking code of Emacs.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
522 This should be used only if there is no firewall, or the Emacs source
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
523 has already been hacked to get around the firewall.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
524 @end table
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
525 One of these needs a bit more explanation than that:
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
526 @vindex url-gateway-telnet-ready-regexp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
527 @vindex url-gateway-telnet-program
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
528 When running a program in a subprocess to emulate a network connection,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
529 a few extra variables need to be set. The variable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
530 @code{url-gateway-telnet-program} should point to an executable that
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
531 accepts a hostname and port # as its arguments, and passes standard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
532 input to the remote host. This can be either the full path to the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
533 executable or just the basename. The variable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
534 @code{url-gateway-telnet-ready-regexp} controls how long Emacs-W3 should
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
535 wait after spawning the subprocess to start sending to its standard
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
536 input. This gets around a bug where telnet would miss the beginning of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
537 requests becausse it did not buffer its input before opening a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
538 connection. This should be a regular expression to watch for that
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
539 signifies the end of the setup of @code{url-gateway-telnet-program}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
540 The default should work fine for telnet.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
541
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
542 Emacs-W3 should now be able to get outside the local network. If none
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
543 of this makes sense, its probably my fault. Please check with the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
544 network administrators to see if they have a program that does most of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
545 this already, since somebody somewhere at the company has probably been
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
546 through something similar to this before, and would be much more
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
547 helpful/knowledgeable about the local setup than I would be. But feel
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
548 free to mail me as a last resort.
20
859a2309aef8 Import from CVS: tag r19-15b93
cvs
parents: 16
diff changeset
549
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
550 @node Proxy Gateways, Basic Usage, Firewalls, Getting Started
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
551 @section Proxy Gateways
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
552 @vindex url-proxy-services
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
553 @cindex Proxy Servers
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
554 @cindex Proxies
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
555 @cindex Proxies, environment variables
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
556 @cindex HTTP Proxy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
557 In late January 1993, Kevin Altis and Lou Montulli proposed and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
558 implemented a new proxy service. This service requires the use of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
559 environment variables to specify a gateway server/port # to send
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
560 protocol requests to. Each protocol (HTTP, WAIS, gopher, FTP, etc.@:)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
561 can have a different gateway server. The environment variables are
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
562 @var{PROTOCOL}_proxy, where @var{PROTOCOL} is one of the supported
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
563 network protocols (gopher, file, HTTP, FTP, etc.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
564
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
565 @cindex No Proxy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
566 @cindex Proxies, exclusion lists
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
567 @vindex NO_PROXY
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
568 For companies with internal intranets, it will usually be helpful to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
569 define a list of hosts that should be contacted directly, @b{not} sent
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
570 through the proxy. The @var{NO_PROXY} environment variable controls
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
571 what hosts are able to be contacted directly. This should be a comma
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
572 separated list of hostnames, domain names, or a mixture of both.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
573 Asterisks can be used as a wildcard. For example:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
574
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
575 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
576 NO_PROXY=*.aventail.com,home.com,*.seanet.com
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
577 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
578
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
579 tells Emacs-W3 to contact all machines in the @b{aventail.com} and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
580 @b{seanet.com} domains directly, as well as the machine named
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
581 @b{home.com}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
582
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
583 @vindex url-proxy-services
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
584 @cindex Proxies, setting from lisp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
585 For those adventurous souls who enjoy writing regular expressions, all
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
586 the proxy settings can be manipulated from Emacs-Lisp. The variable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
587 @code{url-proxy-services} controls this. This is an assoc list, keyed
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
588 on the protocol type (http, gopher, etc) in all lowercase. The
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
589 @code{cdr} of each entry should be the fully-specified URL of the proxy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
590 server to contact, or, in the case of the special "no_proxy" entry, a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
591 regular expression that matches any hostnames that should be contacted
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
592 directly.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
593
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
594 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
595 (setq url-proxy-services '(("http" . "http://proxy.aventail.com/")
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
596 ("no_proxy" . "^.*\\(aventail\\|seanet\\)\.com")))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
597 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
598
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
599 @node Basic Usage, , Proxy Gateways, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 @chapter Basic Usage
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
601 Emacs-W3 is similar to the Info package all Emacs users hold near and dear to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
602 their hearts (@xref{Top,,Info,info, The Info Manual}, for a description
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
603 of Info). Basically, @kbd{space} and @kbd{backspace} control scrolling,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
604 and @kbd{return} or @kbd{mouse2} follows a hypertext link. The @kbd{f}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
605 and @kbd{b} keys maneuver around the various links on the page.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
606
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
607 @b{NOTE:} To enter data into a form entry area, select it using
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
608 @kbd{return} or the middle mouse button, just like a hypertext link.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
610 By default, hypertext links are surrounded by '[[' and ']]' on
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
611 non-graphic terminals (VT100, DOS window, etc.). On a graphics
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
612 terminal, the links are in shown in different colors. @xref{Controlling
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
613 Formatting} for information on how to change this, or for help on
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
614 getting the highlighting to work on graphics terminals.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
616 There are approximately 50 keys bound to special Emacs-W3 functions.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
617 The basic rule of thumb regarding keybindings in Emacs-W3 is that a
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 lowercase key takes an action on the @b{current document}, and an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619 uppercase key takes an action on the document pointed to by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620 hypertext link @b{under the cursor}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 There are several areas that the keybindings fall into: movement,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 information, action, and miscellaneous.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
625 @ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626 @menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
627 * Movement:: Moving around in a Emacs-W3 buffer
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
628 * Information:: Getting information about the Emacs-W3 document being
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
629 viewed, and/or links within that document.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
630 * Action:: Taking actions in a Emacs-W3 buffer (following links,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
631 printing, etc.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
632 * Miscellaneous:: Miscellaneous keybindings
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 @end menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
634 @end ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635 @node Movement, Information, Basic Usage, Basic Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 @section Movement
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
637 :: WORK :: Document the 'h' and 'a' keymaps
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 @table @kbd
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
639 @findex scroll-up
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
640 @kindex SPC
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
641 @item SPC
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642 Scroll downward in the buffer. With prefix arg, scroll down that many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643 screenfuls.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
644 @kindex DEL
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
645 @findex scroll-down
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
646 @item DEL
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
647 Scroll upward in the buffer. With prefix arg, scroll up that many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
648 screenfuls.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
649 @kindex <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
650 @findex w3-start-of-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
651 @item <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652 Goes to the start of document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
653 @kindex >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654 @findex w3-end-of-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
655 @item >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
656 Goes to the end of document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 @kindex b
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
658 @kindex Shift-TAB
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
659 @findex w3-back-link
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
660 @item Shift-TAB, b
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 Attempts to move backward one link area in the current document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662 Signals an error if no previous links are found.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
663 @kindex hl
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
664 @findex w3-show-hotlist
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
665 @item hl
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
666 Displays a complete listing of the items in the hotlist.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
667 @kindex hu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
668 @findex w3-use-hotlist
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
669 @item hu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
670 Go to a link in the hotlist.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671 @kindex m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672 @findex w3-complete-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673 @item m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674 Choose a link from the current buffer and follow it. A completing-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675 is done on all the links, so @kbd{space} and @kbd{TAB} can be used for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 completion.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
677 @kindex f
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
678 @kindex TAB
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
679 @kindex n
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
680 @findex w3-forward-link
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
681 @item TAB, f, n
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
682 Attempts to move forward one link area in the current document. Signals
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
683 an error if no more links are found.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
684 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
685 @node Information, Action, Movement, Basic Usage
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
686 @section Information
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
687 These functions relate information about one or more links on the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
688 current document.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
689 @table @kbd
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
690 @kindex v
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
691 @findex url-view-url
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
692 @item v
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
693 This shows the URL of the current document in the minibuffer.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
694 @kindex V
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
695 @findex w3-view-this-url
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
696 @item V
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
697 This shows the URL of the hypertext link under point in the minibuffer.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
698 If there is not a hypertext link under point, then it shows the type of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
699 form entry area under point. If there is no form entry area under
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
700 point, then it shows the inlined image's URL that is under point, if
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
701 any.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
702 @kindex i
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
703 @findex w3-document-information
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
704 @item i
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
705 Shows miscellaneous information about the currently displayed document.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
706 This includes the URL, the last modified date, MIME headers, the HTTP
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
707 response code, and any relationships to other documents. Any security
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
708 information is also displayed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
709 @kindex I
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
710 @findex w3-document-information-this-url
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
711 @item I
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
712 Shows information about the URL at point.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
713 @kindex s
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
714 @findex w3-source-document
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
715 @item s
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
716 This shows the HTML source of the current document in a separate buffer.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
717 The buffer's name is based on the document's URL.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
718 @kindex S
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
719 @findex w3-source-document-at-point
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
720 @item S
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
721 Shows the HTML source of the hypertext link under point in a separate
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
722 buffer. The buffer's name is based on the document's URL.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
723 @kindex k
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
724 @findex w3-save-url
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
725 @item k
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
726 This stores the current document's URL in the kill ring, and also in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
727 current window-system's clipboard, if possible.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
728 @kindex K
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
729 @findex w3-save-this-url
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
730 @item K
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
731 Stores the URL of the document under point in the kill ring, and also in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
732 the current window-system's clipboard, if possible.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
733 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
734 @node Action, Miscellaneous, Information, Basic Usage
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
735 @section Action
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
736 First, here are the keys and functions that bring up a new hypertext
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
737 page, usually creating a new buffer.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
738 @table @kbd
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
739 @kindex return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
740 @findex w3-follow-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
741 @item return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
742 Pressing return when over a hyperlink attempts to follow the link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
743 under the cursor. With a prefix argument (@kbd{C-u}), this forces the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
744 file to be saved to disk instead of being passed off to other viewers
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
745 or being parsed as HTML.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
746
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
747 Pressing return when over a form input field will prompt in the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
748 minibuffer for the data to insert into the input field. Type checking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
749 is done, and the data is only entered into the form when data of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
750 correct type is entered (ie: cannot enter 44 for 'date' field, etc).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
751
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
752 @kindex Middle Mouse Button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
753 @findex w3-follow-mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
754 @item Middle Mouse Button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
755 Attempt to follow a hypertext link under the mouse cursor. Clicking on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
756 a form input field will prompt in the minibuffer for the data to insert
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
757 into the input field. Type checking is done, and the data is only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
758 entered into the form when data of the correct type is entered (ie:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
759 cannot enter 44 for 'date' field, etc).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
760
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
761 @kindex Control Middle Mouse Button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
762 @kindex Meta return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763 @findex w3-follow-inlined-image
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
764 @item Control Middle Mouse Button, Meta return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
765 Tries to retrieve the inlined image that is under point. It ignores any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766 form entry areas or hyperlinks, and blindly follows any inlined image.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
767 Useful for seeing images that are meant to be used as hyperlinks when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
768 not on a terminal capable of displaying graphics.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
769
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
770 @kindex p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771 @findex w3-print-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
772 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
773 Prints out the current buffer in a variety of formats, including
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
774 PostScript, HTML source, or formatted text.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
775 @kindex P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
776 @findex w3-print-url-under-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
777 @item P
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
778 Prints out the URL under point in a variety of formats, including
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
779 PostScript, HTML source, or formatted text.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
780 @kindex m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
781 @findex w3-complete-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
782 @item m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
783 Selects a destination from a list of all the hyperlinks in the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
784 buffer. Use @kbd{space} and @kbd{tab} to complete on the links.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
785
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786 @kindex r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787 @kindex g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788 @findex w3-reload-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 @item r, g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790 Reloads the current document. The position within the buffer remains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
791 the same (unless the document has changed since it was last retrieved,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
792 in which case it should be relatively close). This causes an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
793 unconditional reload from the remote server - the locally cached copy is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794 not consulted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795 @kindex C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
796 @findex w3-fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
797 @item C-o
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
798 Prompts for a URL in the minibuffer, and attempts to fetch
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
799 it. If there are any errors, or Emacs-W3 cannot understand the type of link
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
800 requested, the errors are displayed in a hypertext buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
801 @kindex o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
802 @findex w3-open-local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
803 @vindex url-use-hypertext-dired
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
804 @item o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
805 Opens a local file, interactively. This prompts for a local file name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
806 to open. The file must exist, and may be a directory. If the requested
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
807 file is a directory and @code{url-use-hypertext-dired} is @code{nil},
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
808 then a dired-mode buffer is displayed. If non@code{nil}, then Emacs-W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
809 automatically generates a hypertext listing of the directory. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
810 hypertext mode is the default, so that all the keys and functions remain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
811 the same.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
812
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
813 @kindex M-s
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
814 @findex w3-search
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
815 @item M-s
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
816 Perform a search, if this is a searchable index. Searching requires a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
817 server - Emacs-W3 can not do local file searching, as there are too many
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
818 possible types of searches people could want to do. Generally, the only
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
819 URL types that allow searching are HTTP, gopher, and X-EXEC.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
820 @kindex Hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
821 @findex w3-show-history-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
822 @vindex w3-keep-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
823 @item Hv
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
824 If @code{url-keep-history} is non-@code{nil}, then Emacs-W3 keeps track
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
825 of all the URLs visited in an Emacs session. This function takes all
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
826 the links that are in that internal list, and formats them as hypertext
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
827 links in a list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
828 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
829
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
830 @cindex Buffer movement
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
831 And here are the commands to move around between Emacs-W3 buffers:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
832
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
833 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
834 @kindex l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
835 @findex w3-goto-last-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
836 @item l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
837 Goes to the last WWW buffer seen.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
838 @kindex q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
839 @findex w3-quit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
840 @item q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
841 Quits WWW mode. This kills the current buffer and goes to the most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
842 recently visited buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
843 @kindex Q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
844 @findex w3-leave-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
845 @item u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
846 This is similar to w3-quit, but the buffer is not killed, it is moved to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
847 the bottom of the buffer list (so it is the least likely to show up as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
848 the default with switch-to-buffer). This is different from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
849 @code{w3-goto-last-buffer} in that it does not return to the last WWW
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
850 page visited - it is the same as using @code{switch-to-buffer} - the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
851 buffer left in the window is fairly random.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
852 @kindex HB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
853 @kindex B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854 @findex w3-backward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
855 @item HB, B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
856 Takes one step back along the path in the current history. Has no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
857 effect if at the beginning of the session history.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
858 @kindex HF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
859 @kindex F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
860 @findex w3-forward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
861 @item HF, F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
862 Takes one step forward along the path in the current history. Has no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
863 effect if at the end of the session history.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
864 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
865
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
866 @node Miscellaneous, , Action, Basic Usage
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867 @section Miscellaneous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
869 @kindex M-m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 @findex w3-mail-current-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
871 @item M-m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
872 Mails the current document to someone. Choose from several different
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
873 formats to mail: formatted text, HTML source, PostScript, or LaTeX source.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
874 When the HTML source is mailed, then an appropriate <base> tag is inserted
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
875 at the beginning of the document so that relative links may be followed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876 correctly by whoever receives the mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
877 @kindex M-M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
878 @findex w3-mail-document-under-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
879 @item M-M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
880 Mails the document pointed to by the hypertext link under point to someone.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
881 Choose from several different formats to mail: formatted text, HTML source,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
882 PostScript, or LaTeX source. When the HTML source is mailed, then an
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883 appropriate <base> tag is inserted at the beginning of the document so that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884 relative links may be followed correctly by whoever receives the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
885 mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886 @kindex p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887 @findex w3-print-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
889 Prints the current document. Choose from several different formats to
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
890 print: formatted text, HTML source, PostScript (with ps-print), or by using
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891 LaTeX and dvips).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893 @findex lpr-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
894 @vindex lpr-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895 @vindex lpr-switches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896 When the formatted text is printed, the normal @code{lpr-buffer} function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
897 is called, and the variables @code{lpr-command} and @code{lpr-switches}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898 control how the document is printed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
900 When the HTML source is printed, then an appropriate <base> tag is
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
901 inserted at the beginning of the document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
902 @vindex w3-print-commnad
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
903 @vindex w3-latex-docstyle
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
904 When postscript is printed, then the HTML source of the document is
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
905 converted into LaTeX source. There are several variables controlling
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
906 what the final LaTeX document looks like.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
907
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
908 :: WORK :: Document the new LaTeX backend
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
909
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
910 @table @code
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
911 @item w3-latex-use-latex2e
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
912 @vindex w3-latex-use-latex2e
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
913 If non-@code{nil}, configures the LaTeX engine to use the LaTeX2e
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
914 syntax. A @code{nil} value indicates that LaTeX 2.0.9 compabibility
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
915 will be used instead.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
916 @item w3-latex-docstyle
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
917 @vindex w3-latex-docstyle
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
918 The document style to use when printing or mailing converted HTML files
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
919 in LaTeX. Good defaults are: @{article@}, [psfig,twocolumn]@{article@},
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
920 etc.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
921 @item w3-latex-packages
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
922 @vindex w3-latex-packages
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
923 List of LaTeX packages to include. Currently this is only used if
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
924 @code{w3-latex-use-latex2e} is non-@code{nil}.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
925 @item w3-latex-use-maketitle
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
926 @vindex w3-latex-use-maketitle
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
927 If non-@code{nil}, the LaTeX engine will use real LaTeX title pages for
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
928 document titles.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
929 @item w3-latex-print-links
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
930 @vindex w3-latex-print-links
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
931 If non-@code{nil}, prints the URLs of hypertext links as endnotes at the
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
932 end of the document. If set to @code{footnote}, prints the URL's as
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
933 footnotes on each page.
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
934 @end table
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
935
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936 @kindex P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
937 @findex w3-print-url-under-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
938 @item P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
939 Prints the document pointed to by the hypertext link under point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940 Please see the previous item for more information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 @kindex M-x w3-insert-formatted-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942 @findex w3-insert-formatted-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943 @item M-x w3-insert-formatted-url
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
944 Insert a fully formatted HTML link into another buffer. This gets the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
945 name and URL of either the current buffer, or, with a prefix arg, of the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 link under point, and construct the appropriate <a...>...</a> markup and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947 insert it into the desired buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
948 @kindex M-tab
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
949 @findex w3-insert-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
950 @item M-tab
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
951 Inserts the URL of the current document into another buffer. Buffer is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
952 prompted for in the minibuffer. With prefix arg, uses the URL of the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 link under point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954 @kindex U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 @findex w3-use-links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
956 @item U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
957 Selects one of the <LINK> tags from this document and fetch it. Links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
958 are attributes of a specific document, and can tell such things as who
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
959 made the document, where a table of contents is located, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
960
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
961 Link tags specify relationships between documents in two ways. Normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
962 (forward) relationships (where the link has a REL="xxx" attribute), and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
963 reverse relationships (where the link has a REV="xxx" attribute). This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
964 first asks what type of link to follow (Normal or Reverse), then does
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
965 a @code{completing-read} on only the links that have that type of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
966 relationship.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
967 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
968
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
969 @node Compatibility, , , Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
970 @chapter Compatibility with other Browsers
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
971 Due to the popularity of several other browsers, Emacs-W3 offers an easy
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
972 transition to its much better way of life. This ranges from being able
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
973 to share the same preferences files and disk cache to actually emulating
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
974 the keybindings used in other browsers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
975
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
976 @ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
977 @menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
978 * Emulation:: Emacs-W3 can emulate the keybindings and
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
979 other behaviours of other browsers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
980 * Hotlist Handling:: A hotlist is an easy way to keep track of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
981 interesting Web pages without having to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
982 remember the exact path to get there.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
983 * Session History:: Keeping a history of documents visited
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
984 in one Emacs sessions allows the use of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
985 'forward' and 'back' buttons easily.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
986 * Global History:: Keeping a history of all the places ever
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
987 visited on the web.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
988 * Annotations:: Annotations allow comments on other
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
989 people's Web documents without needing
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
990 to change the document.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
991 @end menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
992 @end ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
993 @node Emulation, Hotlist Handling, Compatibility, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
994 @section Emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
995 @cindex Browser emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
996 @cindex Emulation of other browsers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
997 @cindex Netscape emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
998 @cindex Lynx emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
999 @findex turn-on-netscape-emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1000 @findex turn-on-lynx-emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1001 @findex w3-netscape-emulation-minor-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1002 @findex w3-lynx-emulation-minor-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1003 @vindex w3-mode-hook
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1004 :: WORK :: Document lynx emulation
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1005 :: WORK :: Document netscape emulation
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
1006
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1007 @node Hotlist Handling, Session History, Emulation, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1008 @section Hotlist Handling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1009 :: WORK :: Document that it supports different types of hotlist formats
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1010 :: WORK :: Make sure everything hotlist related can be accessed via 'h'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1011 In order to avoid having to traverse many documents to get to the same
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1012 document over and over, Emacs-W3 supports a ``hotlist'' like Mosaic. This is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1013 a file that contains URLs and aliases. Hotlists allow quick access to any
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014 document in the Web, providing it has been visited and added to the hotlist.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 The variable @code{w3-hotlist-file} determines where this information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1016 is saved. The structure of the file is compatible with Mosaic's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1017 hotlist file, so this defaults to @file{~/.mosaic-hotlist-default}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1019 Hotlist commands are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1020 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021 @kindex hi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 @findex w3-hotlist-add-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024 @item a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025 Adds the current document to the hotlist, with the buffer name as its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1026 identifier. Modifies the file specified by @code{w3-hotlist-file}. If
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1027 this is given a @var{prefix-argument} (via @kbd{C-u}), the title is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1028 prompted for instead of automatically defaulting to the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1029 document title.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031 @findex w3-hotlist-refresh
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 @kindex hR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034 @item hR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1035 This rereads the default hostlist file specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036 @code{w3-hotlist-file}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037 @findex w3-hotlist-delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 @kindex hd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040 @item d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041 Prompts for the alias of the entry to kill. Pressing the spacebar or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042 tab will list out partial completions. The internal representation of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043 the hotlist and the file specified by @code{w3-hotlist-file} are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044 updated.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1045 @item hr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046 @kindex hr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 @findex w3-hotlist-rename-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049 Some hotlist item names can be very unwieldy (`Mosaic for X level 2 fill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050 out form support'), or uninformative (`Index of /'). Prompts for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051 item to rename in the minibuffer---use the spacebar or tab key for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 completion. After having chosen an item to rename, prompts for a new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 title until a unique title is entered. Modifies the file specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1054 @code{w3-hotlist-file}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056 @item hu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057 @kindex hu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058 @findex w3-use-hotlist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059 Prompts for the alias to jump to. Pressing the @key{spacebar} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 @key{tab} key shows partial completions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1062 @item hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063 @kindex hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 @findex w3-show-hotlist
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1065 Converts the hotlist into HTML and displays it.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066 @item ha
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067 @kindex ha
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1068 @findex w3-hotlist-apropos
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1069 Shows the hotlist entries matching a regular expression.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070 @item hA
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1071 @kindex hA
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1072 @findex w3-hotlist-append
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073 Appends another hotlist file to the one currently in memory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 @node Session History, Global History, Hotlist Handling, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076 @section History
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 @cindex History Lists
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1078 Almost all web browsers keep track of the URLs followed from a page, so
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079 that it can provide @b{forward} and @b{back} buttons to keep a @i{path}
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1080 of URLs that can be traversed easily.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081 @vindex url-keep-history
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1082 If the variable @code{url-keep-history} is @code{t}, then Emacs-W3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1083 keeps a list of all the URLs visited in a session.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1084 @findex w3-show-history
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1085 To view a listing of the history for this session of Emacs-W3, use
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1086 @code{M-x w3-show-history} from any buffer, and Emacs-W3 generates an
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1087 HTML document showing every URL visited since Emacs started (or
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1088 cleared the history list), and then format it. Any of the links can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1089 be chosen and followed to the original document. To clear the history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1090 list, choose 'Clear History' from the 'Options' menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1091
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1092 @findex w3-forward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1093 @findex w3-backward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1094 @findex w3-fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1095 Another twist on the history list mechanism is the fact that all
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1096 Emacs-W3 buffers remember what URL, buffer, and buffer position of the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1097 last document, and also keeps track of the next location jumped @b{to}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098 from that buffer. This means that the user can go forwards and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 backwards very easily along the path taken to reach a particular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100 document. To go forward, use the function @code{w3-forward-in-history},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101 to go backward, use the function @code{w3-backward-in-history}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1103 @node Global History, Annotations, Session History, Compatibility
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104 @section Global History
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1105 :: WORK :: Document that the global history can have diff. formats
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1106 Most web browsers also support the idea of a ``history'' of URLs the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107 user has visited, and it displays them in a different style than normal
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1108 URLs.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1109
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1110 @vindex url-keep-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111 @vindex url-global-history-file
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1112 If the variable @code{url-keep-history} is @code{t}, then Emacs-W3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1113 keeps a list of all the URLs visited in a session. The file is
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114 automatically written to disk when exiting emacs. The list is added to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115 those already in the file specified by @code{url-global-history-file},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116 which defaults to @file{~/.mosaic-global-history}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1118 If any URL in the list is found in the file, it is not saved, but new
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119 ones are added at the end of the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121 The function that saves the global history list is smart enough to
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1122 notice what style of history list is being used (Netscape, Emacs-W3, or
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1123 XMosaic), and writes out the new additions appropriately.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125 @cindex Completion of URLs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126 @cindex Usefulness of global history
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1127 One of the nice things about keeping a global history files is that Emacs-W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128 can use it as a completion table. When doing @kbd{M-x w3-fetch}, pressing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129 the @kbd{tab} or @kbd{space} key will show all completions for a
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1130 partial URL. This is very useful, especially for very long URLs that
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131 are not in a hotlist, or for seeing all the pages from a particular web
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132 site before choosing which to retrieve.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1134 @node Annotations, Group Annotations, Global History, Compatibility
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1135 @section Annotations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1136 @cindex Annotations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1137 Mosaic can @i{annotate} documents. Annotations are comments about the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1138 current document, and these annotations appear as a link to the comments
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1139 at the end of the document. The original file is not changed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1140
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1141 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1142 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1143 * Group Annotations:: Annotations accessible by everyone
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1144 * Personal Annotations:: Private annotations only accessible
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1145 to the user who created them
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1146 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1147 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1148 @node Group Annotations, Personal Annotations, Annotations, Annotations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1149 @subsection Group Annotations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1150 @cindex Group Annotations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1151 @b{@i{NOTE}}: The group annotation experiment has been terminated. It
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1152 will be replaced with support on the server side for adding <LINK> tags
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1153 to documents.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1154
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1155 @node Personal Annotations, , Group Annotations, Annotations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1156 @subsection Personal Annotations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1157 @cindex Personal Annotations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1158 @vindex w3-personal-annotation-directory
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1159 Emacs-W3 looks in the directory specified by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1160 @code{w3-personal-annotation-directory} (defaults to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1161 @file{~/.mosaic-personal-annotations}). Any personal annotations for a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1162 document are automatically appended when it is retrieved.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1163
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1164 :: WORK :: Document the new 'a' prefix keymap
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1165 :: WORK :: Tell where the annotations are stored
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1166
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1167 @findex w3-add-personal-annotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1168 @vindex w3-annotation-mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1169 To add a new personal annotation, type @kbd{M-x
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1170 w3-add-personal-annotation}. This creates a new buffer, in the mode
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1171 specified by @code{w3-annotation-mode}. This defaults to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1172 @code{html-mode}. If this variable is @code{nil}, or it points to an
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1173 undefined function, then @code{default-major-mode} is consulted.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1174
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1175 A minor mode redefines @kbd{C-c C-c} to complete the annotation and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1176 store it on the local disk.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1177
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1178 @findex w3-delete-personal-annotation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1179 To delete a personal annotation, it must be the current page. Once
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1180 reading the annotation, @kbd{M-x w3-delete-personal-annotation} will
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1181 remove it. This deletes the file containing the annotation, and any
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1182 references to it in the annotation log file.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1183
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1184 Editing personal annotations is not yet supported.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1185
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1186 @node Controlling Formatting, General Formatting, Top, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1187 @chapter Controlling Formatting
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1188 @cindex Customizing formatting
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1189 @cindex Specifying Fonts
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1190 @cindex Fonts
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1191 @cindex Colors
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1192 How Emacs-W3 formats a document is very customizable. All control over
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1193 formatting is now controlled by a default stylesheet set by the user
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1194 with the @code{w3-default-sheet} variable.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1195
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1196 The following sections describe in more detail how to change the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1197 formatting of a document.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1198
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1199 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1200 @menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1201 * General Formatting:: Changing general things about a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1202 document.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1203 * Character based terminals:: Changing how a document is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1204 displayed on a non-graphics
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1205 terminal (vt100, etc.@:) or if
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1206 @code{w3-delimit-emphasis} is @code{t}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1207 * Graphics workstations:: Changing how a document is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1208 displayed on a graphics terminal
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1209 (Xwindows, Windows, NeXTstep,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1210 OS/2, etc.)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1211 * Inlined images:: How to specify how Emacs-W3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1212 handles inlined images/mpegs.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1213 @end menu
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1214 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1215 @node General Formatting, Character based terminals, Controlling Formatting, Controlling Formatting
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1216 @section General formatting conventions
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1217 @iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1218 @heading Setting the fill column
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1219 @end iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1220 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1221 @center --------------------
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1222 @center Setting the right margin
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1223 @center --------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1224 @end ifinfo
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1225 @cindex Margins
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1226 @vindex fill-column
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1227 @vindex w3-right-border
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1228 Each time a document is parsed, the right margin is recalculated
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1229 using the width of the current window and @code{w3-right-border}.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1230 @code{w3-right-border} is an integer specifying how much room at the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1231 right edge of the screen to leave blank. The @code{fill-column} is set
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1232 to @code{(- (window-width) @code{w3-right-border})}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1233 @iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1234 @heading Formatting of directory listings
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1235 @end iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1236 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1237 @center --------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1238 @center Formatting of directory listings
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1239 @center --------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1240 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1241 @vindex url-use-hypertext-dired
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1242 When Emacs-W3 encounters a link to a directory (whether by local file access
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1243 or via FTP), it can either create an HTML document on the fly, or use
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1244 @code{dired-mode} to peruse the listing. The variable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1245 @code{url-use-hypertext-dired} controls this behavior.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1246
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1247 If the value is @code{t}, Emacs-W3 uses @code{directory-files} to list them
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1248 out and transform the directory into a hypertext document, then pass it
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1249 through the parser like any other document.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1250
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1251 If the value is @code{nil}, just pass the directory off to dired using
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1252 @code{find-file}. Using this option loses all the hypertext abilities
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1253 of Emacs-W3, and the users is unable to load documents in the directory
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1254 directly into Emacs-W3 by clicking with the mouse, etc.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1255
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1256 @iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1257 @heading Formatting of gopher directories
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1258 @end iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1259 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1260 @center --------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1261 @center Formatting of gopher directories
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1262 @center --------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1263 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1264 @vindex w3-use-hypertext-gopher
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1265 @cindex Gopher+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1266 @cindex ASK blocks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1267 There are two different ways of viewing gopher links. The built-in
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1268 support that converts gopher directories into HTML, or the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1269 @file{gopher.el} package by Scott Snyder (@i{snyder@@fnald0.fnal.gov}).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1270 The variable that controls this is @code{w3-use-hypertext-gopher}. If
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1271 set to @code{nil}, then @file{gopher.el} is used. Any other value
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1272 causes Emacs-W3 to use its internal gopher support. If using
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1273 @file{gopher.el}, all the hypertext capabilities of Emacs-W3 are lost.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1274 All the functionality of @file{gopher.el} is now available in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1275 hypertext version, and the hypertext version supports Gopher+ and ASK
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1276 blocks.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1277
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1278 @vindex w3-gopher-labels
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1279 The main way to control the display of gopher directories is by the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1280 variable @code{w3-gopher-labels}. This variable controls the text that
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1281 is inserted at the front of each item. This is an assoc list of gopher
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1282 types (as one character strings), and a string to insert just after the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1283 list item. All the normal gopher types are defined. Entries should be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1284 similar to: @samp{("0" . "(TXT)")}. I have tried to keep all the tags
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1285 to three characters plus two parentheses.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1286 @iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1287 @heading Creating a horizontal rule
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1288 @end iftex
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1289 @ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1290 @center --------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1291 @center Creating a horizontal rule
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1292 @center --------------------
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1293 @end ifinfo
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1294 @vindex w3-horizontal-rule-char
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1295 Horizontal rules (@b{<HR>} tags in HTML[+]) are used to separate chunks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1296 of a document, and is meant to be rendered as a solid line across the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1297 page. Some terminals display characters differently, so the variable
80
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1298 @code{w3-horizontal-rule-char} controls which character is used to draw
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1299 a horizontal bar. This variable must be the ASCII value of the
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1300 character, @b{not a string}. The variable is passed through
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1301 @code{make-string} whenever a horizontal rule of a certain width is
1ce6082ce73f Import from CVS: tag r20-0b90
cvs
parents: 70
diff changeset
1302 necessary.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1303
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1304 @node Character based terminals, Graphics workstations, General Formatting, Controlling Formatting
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1305 @section On character based terminals
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1306 @vindex w3-delimit-emphasis
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1307 On character based terminals, there is no easy way to show that a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1308 certain range of text is in bold or italics. If the variable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1309 @code{w3-delimit-emphasis} is non-@code{nil}, then Emacs-W3 can insert
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1310 characters before and after character formatting commands in HTML
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1311 documents. The defaul value of @code{w3-delimit-emphasis} is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1312 automatically set based on the type of window system and version of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1313 Emacs being used.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1314
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1315 @vindex w3-header-chars-assoc
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1316 :: WORK ::
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1317
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1318 @findex w3-upcase-region
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1319 @code{w3-header-chars-assoc} is an assoc list of header tags and a list
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1320 of formatting instructions. The @code{car} of the list is the level of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1321 the header (1--6). The rest of the list should contain three items.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1322 The first item is text to insert before the header. The second item is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1323 text to insert after the header. Both should have reserved characters
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1324 converted to their HTML[+] entity definitions. The third item is a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1325 function to call on the area the header is in. This function is called
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1326 with arguments specifying the start and ending character positions of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1327 the header. The starting point is always first. To convert a region to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1328 upper case, please use @code{w3-upcase-region} instead of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1329 @code{upcase-region}, so that entities are converted properly.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1330
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1331 @node Graphics workstations, Inlined images, Character based terminals, Controlling Formatting
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1332 @section With graphics workstations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1333 Starting with the first public release of version 2.3.0, all formatting
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1334 is controlled by the use of stylesheets.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1335
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1336 :: WORK :: Graphic workstation stuff - redo for stylesheets
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1337
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1338 @node Inlined images, , Graphics workstations, Controlling Formatting
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1339 @cindex Inlined images
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1340 @cindex Images
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1341 @cindex Movies
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1342 @cindex Inlined MPEGs
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1343 @cindex MPEGs
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1344 When running in Lucid Emacs 19.10 or XEmacs 19.11 and higher, Emacs-W3 can
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1345 display inlined images and MPEG movies. There are several variables that
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1346 control how and when the images are displayed.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1347
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1348 @cindex Netpbm
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1349 @cindex Pbmplus
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1350 @vindex w3-graphic-converter-alist
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1351 Since Lucid/XEmacs only natively understands XPixmaps and XBitmaps, GIFs
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1352 and other image types must first be converted to one of these formats.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1353 To do this, the @b{netpbm utilities}@footnote{Available via anonymous
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1354 ftp from ftp.x.org:/R5contrib/netpbm-1mar1994.tar.gz, and most large ftp
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1355 sites.} programs are normally used. This is a suite of freeware image
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1356 conversion tools. The variable @code{w3-graphic-converter-alist}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1357 controls how each image type is converted. This is an assoc list, keyed
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1358 on the MIME content-type. The @code{car} is the content-type, and the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1359 @code{cdr} is a string suitable to pass to @code{format}. A %s in this
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1360 string will be replaced with a converter from the ppm image format to an
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1361 XPixmap (or XBitmap, if being run on a monochrome display). By default,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1362 the Emacs-W3 browser has converters for:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1363
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1364 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1365 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1366 image/x-xbitmap
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1367 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1368 image/xbitmap
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1369 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1370 image/xbm
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1371 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1372 image/gif
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1373 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1374 image/jpeg
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1375 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1376 image/x-fax
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1377 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1378 image/x-raster
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1379 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1380 image/windowdump
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1381 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1382 image/x-icon
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1383 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1384 image/portable-graymap
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1385 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1386 image/portable-pixmap
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1387 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1388 image/x-pixmap
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1389 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1390 image/x-xpixmap
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1391 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1392 image/pict
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1393 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1394 image/x-macpaint
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1395 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1396 image/x-targa
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1397 @item
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1398 image/tiff
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1399 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1400
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1401 @vindex w3-color-max-blue
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1402 @vindex w3-color-max-green
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1403 @vindex w3-color-max-red
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1404 @vindex w3-color-use-reducing
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1405 @vindex w3-color-filter
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1406 Since most displays are (sadly) not 24-bit, Emacs-W3 can automatically
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1407 dither an image, so that it does not fill up the application' colormap too
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1408 quickly. If @code{w3-color-use-reducing} is non-@code{nil}, then the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1409 images will use reduced colors. If @code{w3-color-filter} is @code{eq} to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1410 @code{'ppmquant}, then the ppmquant program will be used. If @code{eq} to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1411 @code{'ppmdither}, then the ppmdither program will be used. The ppmdither
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1412 program tends to give better results. The values of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1413 @code{w3-color-max-red}, @code{w3-color-max-blue}, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1414 @code{w3-color-max-green} control how many colors the inlined images can
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1415 use. If using ppmquant, then the product of these three variables is used
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1416 as the maximum number of colors per image. If using ppmdither, then only
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1417 the set number of color cells can be allocated per image. See the man
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1418 pages for ppmdither and ppmquant for more information on how the dithering
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1419 is actually done. @code{w3-color-filter} may also be a string, specifying
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1420 exactly what external filter to use. An example is: @samp{ppmquant -fs
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1421 -map ~/pixmaps/colormap.ppm}.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1422
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1423 @cindex MPEGs
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1424 @cindex Inlined animations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1425 When running in XEmacs 19.11 or XEmacs 19.12, Emacs-W3 can insert an
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1426 MPEG movie in the middle of a buffer.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1427
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1428 :: WORK :: Need a pointer to the new EMBED Internet Draft ::
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
1429
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1430 The basic syntax is:
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
1431 @example
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1432 <embed href="somevideo.mpg" type="video/mpeg">
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
1433 @end example
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
1434
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1435 @vindex w3-mpeg-args
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1436 @vindex w3-mpeg-program
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1437 This requires a special version of the standard @file{mpeg_play} mpeg
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1438 player. Patches against the 2.0 version are available at
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1439 ftp://ftp.cs.indiana.edu/pub/elisp/w3/mpeg_patch. The variable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1440 @code{w3-mpeg-program} should point to this executable, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1441 @code{w3-mpeg-args} should be a list of any additional arguments to be
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1442 passed to the player. By default, this includes @var{-loop}, so the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1443 mpeg plays continuously.
24
4103f0995bd7 Import from CVS: tag r19-15b95
cvs
parents: 22
diff changeset
1444
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1445 @cindex Delaying inlined images
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1446 @cindex Delaying inlined animations
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1447 @vindex w3-delay-image-loads
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1448 @vindex w3-delay-mpeg-loads
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1449 Because images and movies can take up an incredible amount of bandwidth,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1450 it is useful to be able to control whether they are loaded or not. By
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1451 default, images and movies are loaded automatically, but the variables
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1452 @code{w3-delay-image-loads} and @code{w3-delay-mpeg-loads} control this.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1453 If set to non-@code{nil}, then the images or movies are not
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1454 loaded until explicitly requested by the user.
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
1455
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1456 @cindex Loading delayed images
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1457 @cindex Loading delayed movies
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1458 @findex w3-load-delayed-images
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1459 @findex w3-load-delayed-mpegs
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1460 To load any delayed images, use the function
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1461 @code{w3-load-delayed-images}. Its counterpart for delayed movies is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1462 @code{w3-load-delayed-mpegs}
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
1463
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1464 @node MIME Support, Adding MIME types based on file extensions, , Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1465 @chapter MIME Support
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1466 MIME is an emerging standard for multimedia mail. It offers a very
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1467 flexible typing mechanism. The type of a file or message is specified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1468 in two parts, separated by a '/'. The first part is the general
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1469 category of the data (text, application, image, etc.). The second part
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1470 is the specific type of data (postscript, gif, jpeg, etc.). So
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1471 @samp{text/html} specifies an HTML document, whereas
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1472 @samp{image/x-xwindowdump} specifies an image of an Xwindow taken with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1473 the @file{xwd} program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1474
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1475
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1476 This typing allows much more flexibility in naming files. HTTP/1.0
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1477 servers can now send back content-type headers in response to a request,
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1478 and not have the client second-guess it based on file extensions. HTML
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1479 files can now be named @file{something.gif} (not a great idea, but
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1480 possible).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1481
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1482 @ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1483 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1484 * Adding MIME types based on file extensions:: How to map file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1485 extensions onto MIME
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1486 types (e.g., @samp{.gif ->
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1487 image/gif)}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1488 * Specifying Viewers:: How to specify external and internal viewers
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1489 for files that Emacs-W3 cannot handle natively.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1490 @end menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1491 @end ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1492
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1493 @node Adding MIME types based on file extensions, Specifying Viewers, MIME Support, MIME Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1494 @section Adding MIME types based on file extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1495 @vindex mm-mime-extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1496 For some protocols however, it is still necessary to guess the content
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1497 of a file based on the file extension. This type of guess-work should
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1498 only be needed when accessing files via FTP, local file access, or old
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1499 HTTP/0.9 servers.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1500
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1501 Instead of specifying how to view things twice, once based on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1502 content-type and once based on the file extension, it is easier to map
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1503 file extensions to MIME content-types. The variable that controls this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1504 is @code{mm-mime-extensions}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1505
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1506 This variable is an assoc list of file extensions and the corresponding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1507 MIME content-type. A sample entry looks like: @samp{(".movie"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1508 . "video/x-sgi-movie")} This makes all files that end in @file{.movie}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1509 (@file{foo.movie} and @file{bar.movie}) be interpreted as SGI animation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1510 files. If a content-type is defined for the document, then this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1511 over-ridden. Regular expressions can @b{NOT} be used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1512
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1513 @cindex mime-types file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1514 @findex mm-parse-mimetypes
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1515 Both Mosaic and the NCSA HTTP daemon rely on a separate file for mapping
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1516 file extensions to MIME types. Instead of having the users of Emacs-W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1517 duplicate this in lisp, this file can be parsed using the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1518 @code{url-parse-mimetypes} function. This function is called each time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1519 w3 is loaded. It tries to locate mimetype files in several places. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1520 the environment variable @code{MIMETYPES} is nonempty, then this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1521 assumed to specify a UNIX-like path of mimetype files (this is a colon
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1522 separated string of pathnames). If the @code{MIMETYPES} environment
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1523 variable is empty, then Emacs-W3 looks for these files:
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1524
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1525 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1526 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1527 @file{~/.mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1528 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1529 @file{/etc/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1530 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1531 @file{/usr/etc/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1532 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1533 @file{/usr/local/etc/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1534 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1535 @file{/usr/local/www/conf/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1536 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1537
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1538 Each line contains information for one http type. These types resemble
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1539 MIME types. To add new ones, use subtypes beginning with x-, such as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1540 application/x-myprogram. Lines beginning with # are comment lines, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1541 suitably ignored. Each line consists of:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1542
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1543 type/subtype ext1 ext2 ... ext@var{n}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1544
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1545 type/subtype is the MIME-like type of the document. ext* is any number
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1546 of space-separated filename extensions which correspond to the MIME
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1547 type.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1548
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1549 @node Specifying Viewers, ,Adding MIME types based on file extensions, MIME Support
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1550 @section Specifying Viewers
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1551 Not all files look as they should when parsed as an HTML document
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1552 (whitespace is stripped, paragraphs are reformatted, and lots of little
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1553 changes that make the document look unrecognizable). Files may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1554 passed to external programs or Emacs Lisp functions to be viewed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1555
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1556 Not all files can be viewed accurately from within an Emacs session (GIF
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1557 files for example, or audio files). For this reason, the user can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1558 specify file "viewers" based on MIME content-types. This is done with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1559 a standard mailcap file. @xref{Mailcap Files}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1561 @findex mm-add-mailcap-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1562 As an alternative, the function @code{mm-add-mailcap-entry} can also be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1563 used from an appropriate hook.@xref{Hooks} This functions takes three
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1564 arguments, the major type ("@i{image}"), the minor type ("@i{gif}"), and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1565 an assoc list of information about the viewer. Please see the URL
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1566 documentation for more specific information on what this assoc list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1567 should look like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1568
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1569 @node Security, Non-Unix Operating Systems, , Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1570 @chapter Security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1571 @cindex Security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1572 @cindex Paranoia
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1573 There are an increasing number of ways to authenticate a user to a web
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1574 service. Emacs-W3 tries to support as many as possible. Emacs-W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1575 currently supports:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1576
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1577 @table @b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1578 @item Basic Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1579 @cindex Security, Basic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1580 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1581 @cindex Authentication, Basic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1582 The weakest authentication available, not recommended if serious
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1583 security is necessary. This is simply a string that looks like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1584 @samp{user:password} that has been Base64 encoded, as defined in RFC
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1585 1421.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1586 @item Digest Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1587 @cindex Security, Digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1588 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1589 @cindex Authentication, Digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1590 Jeffery L. Hostetler, John Franks, Philip Hallam-Baker, Ari Luotonen,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1591 Eric W. Sink, and Lawrence C. Stewart have an internet draft for a new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1592 authentication mechanism. For the complete specification, please see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1593 draft-ietf-http-digest-aa-01.txt in the nearest internet drafts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1594 archive@footnote{One is ftp://ds.internic.net/internet-drafts}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1595 @item SSL Encryption
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1596 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1597 @cindex Secure Sockets Layer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1598 @cindex SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1599 @cindex Gag Puke Retch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1600 @cindex Exportability
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1601 @cindex Export Restrictions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1602 SSL is the @code{Secure Sockets Layer} interface developed by Netscape
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1603 Communications @footnote{http://www.netscape.com/}. Emacs-W3 supports
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1604 HTTP transfers over an SSL encrypted channel, if the appropriate files
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1605 have been installed.@xref{Installing SSL}
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1606 @item PGP/PEM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1607 @cindex HTTP/1.0 Authentication
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1608 @cindex Public Key Cryptography
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1609 @cindex Authentication, PGP
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1610 @cindex Authentication, PEM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1611 @cindex RIPEM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1612 @cindex Public Key Cryptography
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1613 @cindex PGP
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1614 @cindex Pretty Good Privacy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1615 @cindex Encryption
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1616 @cindex Security
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1617 @cindex ITAR must die
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1618 @cindex Stupid export restrictions
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1619 @cindex Support your local crypto-anarchist
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1620 @cindex NSA freaks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1621 A few servers still support this method of authentication, but it has
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1622 been superseded by SSL and Secure-HTTP.@xref{Using PGP/PEM}
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1623 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1624
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1625 @node Non-Unix Operating Systems, VMS, Security, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1626 @chapter Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1627 @cindex Non-Unix Operating Systems
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1628 @ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1629 @menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1630 * VMS:: The wonderful world of VAX|AXP-VMS!
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1631 * OS/2:: The next-best thing to Unix.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1632 * MS-DOS:: The wonderful world of MS-DOG!
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1633 * 32-Bit Windows:: Windows NT, Chicago/Windows 95.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1634 * Amiga:: The Amiga, for those who still love them.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1635 @end menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1636 @end ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1637
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1638 @node VMS, OS/2, Non-Unix Operating Systems, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1639 @section VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1640 @cindex VAX-VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1641 @cindex AXP-VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1642 @cindex Digital VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1643 @cindex VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1644 :: WORK :: VMS Specific instriuctions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1645
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1646 @node OS/2, MS-DOS, VMS, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1647 @section OS/2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1648 @cindex OS/2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1649 @cindex Warp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1650 :: WORK :: OS/2 Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1651
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1652 @node MS-DOS, 32-Bit Windows, OS/2, Non-Unix Operating Systems
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1653 @section MS-DOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1654 @cindex MS-DOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1655 @cindex Microsloth
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1656 @cindex DOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1657 @cindex MS-DOG
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1658 :: WORK :: DOS Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1659
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1660 @node 32-Bit Windows, Amiga, MS-DOS, Non-Unix Operating Systems
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1661 @section 32-Bit Windows
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1662 @cindex Windows (32-Bit)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1663 @cindex 32-Bit Windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1664 @cindex Microsloth
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1665 @cindex Windows '95
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1666 :: WORK :: 32bit Windows Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1667
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1668 @node Amiga, Advanced Features, 32-Bit Windows, Non-Unix Operating Systems
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1669 @section Amiga
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1670 @cindex Amiga
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1671 @cindex Commodore
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1672 :: WORK :: Amiga specific instructions
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
1673
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1674 @node Advanced Features, Style Sheets, Amiga, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1675 @chapter Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1676
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1677 @ifinfo
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1678 @menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1679 * Style Sheets:: Formatting control, the right way
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1680 * Disk Caching:: Improving performance by using a local disk cache
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1681 * Interfacing to Mail/News:: How to make VM understand hypertext links
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1682 * Debugging HTML:: How to make Emacs-W3 display warnings about invalid
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1683 HTML/HTML+ constructs.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1684 * Native WAIS Support:: How to make Emacs-W3 understand WAIS links without
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1685 using a gateway.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1686 * Rating Links:: How to make Emacs-W3 put an 'interestingness' value
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1687 next to each link.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1688 * Gopher Plus Support:: How Emacs-W3 makes use of the Gopher+ protocol.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1689 * Hooks:: Various hooks to use throughout Emacs-W3
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1690 * Other Variables:: Miscellaneous variables that control the real
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1691 guts of Emacs-W3.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1692 @end menu
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1693 @end ifinfo
26
441bb1e64a06 Import from CVS: tag r19-15b96
cvs
parents: 24
diff changeset
1694
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1695 @node Style Sheets, Disk Caching, Advanced Features, Advanced Features
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1696 @section Style Sheets
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1697 @cindex Formatting control
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1698 @cindex Style sheets
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1699 @cindex Look and Feel
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1700 @cindex Layout control
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1701 @cindex Experimental style sheet mechanism
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1702 Emacs-W3 currently supports the experimental style sheet mechanism
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1703 proposed by H&kon W. Lie of the W3 Consortium. This allows for the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1704 author to specify what a document should look like, and yet allow the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1705 end user to override any of the stylistic changes. This allows for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1706 people with special needs (most notably the visually impaired) to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1707 override style bindings that could make a document totally
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1708 unreadable.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1709
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1710 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1711 <style notation="css">
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1712 /* This is a comment
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1713 ** These will be ignored, up to the terminating */
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1714
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1715 h1 @{ align: center,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1716 color: yellow,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1717 background: red,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1718 font-size: 24pt
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1719 @}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1720 h2 @{ align: right,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1721 font-family: palatino,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1722 font-size: 18pt
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1723 @}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1724 </style>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1725 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1726
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1727 :: WORK :: Much more information on stylesheets
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1728
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1729 @cindex <style>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1730 To include a stylesheet into a document, simply use the <style> tag.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1731 Use the @b{notation} attribute to specify what language the stylesheet
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1732 is specified in. The default is @b{css}. The data between the <style>
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1733 and </style> tags is the stylsheet proper - no HTML parsing is done to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1734 this data - it is treated similar to an <XMP> section of text. To
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1735 reference an external stylesheet, use the <link> tag.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1736 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1737 <link rel="stylesheet" href="/bill.style">
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1738 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1739 If these two mechanisms are mixed, then the URL is resolved first, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1740 the contents of the <style> tag take precedence if there are any
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1741 conflicting directives.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1742
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1743 @cindex DSSSL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1744 @cindex DSSSL-lite
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1745 In the future, DSSSL and DSSSL-lite will be supported as valid
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1746 stylesheet languages, but not in this release. For more information on
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1747 DSSSL-lite see http://www.falch.no/~pepper/DSSSL-Lite/ - for more
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1748 information on full DSSSL, see
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1749 ftp://ftp.jclark.com/pub/dsssl/dsssl.ps.gz
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1750
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1751 @node Disk Caching, Interfacing to Mail/News, Style Sheets, Advanced Features
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1752 @section Disk Caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1753 @cindex Caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1754 @cindex Persistent Cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1755 @cindex Disk Cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1756 A cache stores the information on a page on the local machine. When
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1757 requesting a page that is in the cache, Emacs-W3 can retrieve the page
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1758 from the cache more quickly than retrieving the page again from its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1759 location out on the network. With a well-populated cache, browsing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1760 web is dramatically faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1761
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1762 The first time a page is requested, Emacs-W3 retrieves the page from the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1763 network. When requesting a page that is in the cache, Emacs-W3 checks
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1764 to see if the page has changed since it was last retrieved from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1765 remote machine. If it has not changed, the local copy is used, saving
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1766 the transmission of the file over the network.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1767
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1768 @vindex url-automatic-caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1769 @cindex Turning on caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1770 @cindex Cleaning the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1771 @cindex Clearing the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1772 @cindex Cache cleaning
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1773 @cindex Limiting the size of the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1774 To turn on disk caching, set the variable @code{url-automatic-caching}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1775 to non-@code{nil}, or choose the 'Caching' menu item (under `Options').
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1776 That is all there is to it. Running the @code{clean-cache} shell script
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1777 fist is recommended, to allow for future cleaning of the cache. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1778 shell script will remove all files that have not been accessed since it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1779 was last run. To keep the cache pared down, it is recommended that this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1780 script be run from @i{at} or @i{cron} (see the manual pages for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1781 crontab(5) or at(1) for more information)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1782
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1783
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1784 @cindex Relying on cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1785 @cindex Cache only mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1786 @cindex Standalone mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1787 @cindex Browsing with no network connection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1788 @cindex Netless browsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1789 @vindex url-standalone-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1790 With a large cache of documents on the local disk, it can be very handy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1791 when traveling, or any other time the network connection is not active
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1792 (a laptop with a dial-on-demand PPP connection, etc). Emacs-W3 can rely
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1793 solely on its cache, and avoid checking to see if the page has changed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1794 on the remote server. In the case of a dial-on-demand PPP connection,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1795 this will keep the phone line free as long as possible, only bringing up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1796 the PPP connection when asking for a page that is not located in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1797 cache. This is very useful for demonstrations as well. To turn this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1798 feature on, set the variable @code{url-standalone-mode} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1799 non-@code{nil}, or choose the `Use Cache Only' menu item (under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1800 `Options')
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1801
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1802 @cindex Caching options
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1803 @cindex Alternate caching method
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1804 Emacs-W3 caches files under the temporary directory specified by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1805 @code{url-temporary-directory}, in a user-specific subdirectory
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1806 (determined by the @code{user-real-login-name} function). The cache
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1807 files are stored under their original names, so a URL like:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1808 http://www.aventail.com/foo/bar/baz.html would be stored in a cache file
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1809 named: /tmp/wmperry/com/aventail/www/foo/bar/baz.html. Sometimes,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1810 espcially with gopher links, there will be name conflicts, and an error
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1811 will be signalled. This cannot be avoided, and still have reasonable
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1812 performance at startup time (reading in an index file of all the cached
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1813 pages can take a long time on slow machines, or even fast machines with
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1814 large caches). When running XEmacs 19.12 or later, a different naming
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1815 scheme can be used. This avoids name conflicts, but loses the human
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1816 readability of the cache file names. The cache files will look like:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1817 /tmp/wmperry/acbd18db4cc2f85cedef654fccc4a4d8, which is certainly
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1818 unique, but not very user-friendly. To turn this on, add this to the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1819 @file{.emacs} file:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1820
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1821
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1822 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1823 (add-hook 'w3-load-hooks '(lambda ()
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1824 (fset 'url-create-cached-filename
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1825 'url-create-cached-filename-using-md5)))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1826 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1827
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1828 If other versions of emacs will not be sharing the cache, I highly
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1829 recommend this method of creating the cache filename.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1830
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1831
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1832 @node Interfacing to Mail/News, Debugging HTML, Disk Caching, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1833 @section Interfacing to Mail/News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1834 @cindex Interfacing to Mail/News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1835 @cindex VM
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1836 @cindex Using Emacs-W3 with VM
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1837 @cindex GNUS
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1838 @cindex Using Emacs-W3 with Gnus
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1839 @cindex RMAIL
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1840 @cindex Using Emacs-W3 with RMAIL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1841 More and more people are including URLs in their signatures, and within
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1842 the body of mail messages. It can get quite tedious to type these into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1843 the minibuffer to follow one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1844
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1845 @vindex browse-url-browser-function
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1846 With the latest versions of VM (the 5.9x series of betas) and Gnus
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1847 (5.x), URLs are automatically highlighted, and can be followed with the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1848 mouse or the return key. How the URLs are viewed is determined by the
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1849 variable @code{browse-url-browser-function}, and it should be set to the
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
1850 symbol @code{browse-url-w3}.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1851
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1852 To access URLs from within RMAIL, the following hook should do the
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1853 trick.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1854 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1855 (add-hook 'rmail-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1856 (function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1857 (lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1858 (define-key rmail-mode-map [mouse-2] 'w3-maybe-follow-link-mouse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1859 (define-key rmail-mode-map "\r" 'w3-maybe-follow-link))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1860 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1861
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1862 @node Debugging HTML, Native WAIS Support, Interfacing to Mail/News, Advanced Features
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1863 @section Debugging HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1864 @cindex Debugging
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1865 @cindex Invalid HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1866 @cindex Bad HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1867 @vindex w3-debug-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1868 @vindex w3-debug-html
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1869 For those people that are adventurous, or are just as anal as I am about
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1870 people writing valid HTML, set the variable @code{w3-debug-html} to
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1871 @code{t} and see what happens.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1872
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1873
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1874 If a Emacs-W3 thinks it has encountered invalid HTML, then a debugging
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1875 message is displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1876
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1877 :: WORK :: Need to list the different values w3-debug-html can have, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1878 :: WORK :: what they do ::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1879
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1880 @node Native WAIS Support, Rating Links, Debugging HTML, Advanced Features
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1881 @section Native WAIS Support
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1882 This version of Emacs-W3 supports native WAIS querying (earlier
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1883 versions required the use of a gateway program). In order to use the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1884 native WAIS support, a working @dfn{waisq} binary is required. I
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1885 recommend the distribution from think.com -
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1886 ftp://think.com/wais/wais-8-b6.1.tar.Z is a good place to start.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1887
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1888 @vindex url-waisq-prog
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1889 @vindex url-wais-gateway-server
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1890 @vindex url-wais-gateway-port
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1891 The variable @code{url-waisq-prog} must point to this executable, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1892 one of @code{url-wais-gateway-server} or @code{url-wais-gateway-port}
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1893 should be @code{nil}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1894
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1895 When a WAIS URL is encountered, a form will be automatically generated
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1896 and displayed. After typing in the search term, the query will be sent
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1897 to the server by running the @code{url-waisq-prog} in a subprocess. The
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1898 results will be converted into HTML and displayed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1899
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1900 @node Rating Links, Gopher Plus Support, Native WAIS Support, Advanced Features
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1901 @section Rating Links
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1902 The @code{w3-link-info-display-function} variable can be used to 'rate' a URL
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1903 when it shows up in an HTML page. If non-@code{nil}, then this should
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1904 be a list specifying (or a symbol specifying the name) of a function.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1905 This function should expect one argument, a fully specified URL, and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1906 should return a string. This string is inserted after the link
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1907 text.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1908
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1909 If a user has decided that all links served from blort.com are too laden
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1910 with images, and wants to be warned that a link points at this host,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1911 they could do something like this:
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1912
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1913 @example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1914 (defun check-url (url)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1915 (if (string-match "://[^/]blort.com" url)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1916 "[SLOW!]" ""))
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1917
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1918 (setq w3-link-info-display-function 'check-url)
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1919 @end example
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1920
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1921 So that all links pointing to any site at blort.com shows up as "Some
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1922 link[SLOW!]" instead of just "Some link".
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1923
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1924 @node Gopher Plus Support, Hooks, Rating Links, Advanced Features
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1925 @section Gopher+ Support
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1926 @cindex Gopher+
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1927 The gopher+ support in Emacs-W3 is limited to the conversion of ASK
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1928 blocks into HTML 3.0 forms, and the usage of the content-length given by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1929 the gopher+ server to give a nice status bar on the bottom of the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1930 screen.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1931
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1932 This will hopefully be extended to include the Gopher+ method of
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1933 content-type negotiation, but this may be a while.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1934
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1935 @node Hooks, Other Variables, Gopher Plus Support, Advanced Features
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1936 @section Hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1937 @cindex Hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1938 These are the various hooks that can be used to customize some of
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1939 Emacs-W3's behavior. They are arranged in the order in which they would
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1940 happen when retrieving a document. All of these are functions (or lists
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1941 of functions) that are called consecutively.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1942
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1943 @table @code
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1944 @vindex w3-load-hooks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1945 @item w3-load-hooks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1946 These hooks are run by @code{w3-do-setup} the first time a URL is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1947 fetched. All the w3 variables are initialized before this hook is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1948 run.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1949 @item w3-file-done-hooks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1950 These hooks are run by @code{w3-prepare-buffer} after all parsing on a
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1951 document has been done. All @code{url-current-}@var{*} and
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1952 @code{w3-current-}@var{*} variables are initialized when this hook is run.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1953 This is run before the buffer is shown, and before any inlined images
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1954 are downloaded and converted.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1955 @item w3-file-prepare-hooks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1956 These hooks are run by @code{w3-prepare-buffer} before any parsing is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1957 done on the HTML file. The HTTP/1.0 headers specified by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1958 @code{w3-show-headers} have been inserted, the syntax table has been set
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1959 to @code{w3-parse-args-syntax-table}, and any personal annotations have
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1960 been inserted by the time this hook is run.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1961 @item w3-mode-hooks
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1962 These hooks are run after a buffer has been parsed and displayed, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1963 before any inlined images are downloaded and converted.
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1964 @item w3-source-file-hooks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1965 These hooks are run after displaying a document's source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1966 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1967
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1968 @node Other Variables, , Hooks, Advanced Features
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1969 @section Miscellaneous variables
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1970 There are lots of variables that control the real nitty-gritty of Emacs-W3
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1971 that the beginning user probably shouldn't mess with. Here they are.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1972
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1973 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1974 @item url-bad-port-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1975 @vindex url-bad-port-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1976 List of ports to warn the user about connecting to. Defaults to just
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1977 the mail and NNTP ports so a malicious HTML author cannot spoof mail or
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1978 news to other people.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1979 @item url-confirmation-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1980 @vindex url-confirmation-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1981 What function to use for asking yes or no functions. Possible values
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1982 are @code{'yes-or-no-p} or @code{'y-or-n-p}, or any function that takes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1983 a single argument (the prompt), and returns @code{t} only if a positive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1984 answer is gotten. Defaults to @code{'yes-or-no-p}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1985 @item w3-default-action
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1986 @vindex w3-default-action
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1987 A lisp symbol specifying what action to take for files with extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1988 that are not in the @code{mm-mime-extensions} assoc list. This is
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
1989 useful in case Emacs-W3 ever run across files with weird extensions
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1990 (.foo, .README, .READMEFIRST, etc.). In most circumstances, this should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1991 not be required anymore.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1992
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1993 Possible values: any lisp symbol. Should be a function that takes no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1994 arguments. The return value does not matter, it is ignored. Some examples
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1995 are @code{'w3-prepare-buffer} or @code{'indented-text-mode}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1996 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1997 @item w3-icon-directory-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1998 @vindex w3-icon-directory-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1999 A list of directorys to look in for the w3 standard icons... must end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2000 in a /! If the directory @code{data-directory}/w3 exists, then this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2001 automatically added to the default value of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2002 http://cs.indiana.edu/elisp/w3/icons/.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2003 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2004 @item w3-keep-old-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2005 @vindex w3-keep-old-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2006 Whether to keep old buffers around when following links. To avoid lots
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2007 of buffers in one Emacs session, set this variable to @code{nil}. I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2008 recommend setting it to @code{t}, so that backtracking from one link to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2009 another is faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2010
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2011 @item url-passwd-entry-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2012 @vindex url-passwd-entry-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2013 This is a symbol indicating which function to call to read in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2014 password. If this variable is @code{nil} at startup, it is initialized
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2015 depending on whether @dfn{EFS} or @dfn{ange-ftp} is being used. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2016 function should accept the prompt string as its first argument, and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2017 default value as its second argument.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2018
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2019 @item w3-reuse-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2020 @vindex w3-reuse-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2021 Determines what happens when @code{w3-fetch} is called on a document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2022 that has already been loaded into another buffer. Possible values are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2023 @code{nil}, @code{yes}, and @code{no}. @code{nil} will ask the user if
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2024 Emacs-W3 should reuse the buffer (this is the default value). A value of
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2025 @code{yes} means assume the user wants to always reuse the buffer. A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2026 value of @code{no} means assume the user always wants to re-fetch the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2027 document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2028 @item w3-show-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2029 @vindex w3-show-headers
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2030 This is a list of HTTP/1.0 headers to show at the end of a buffer. All
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2031 the headers should be in lowercase. They are inserted at the end of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2032 buffer in a <UL> list. Alternatively, if this is simply @code{t}, then
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2033 all the HTTP/1.0 headers are shown. The default value is
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2034 @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2035 @item w3-show-status, url-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2036 @vindex url-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2037 @vindex w3-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2038 Whether to show progress messages in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2039 @code{w3-show-status} controls if messages about the parsing are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2040 displayed, and @code{url-show-status} controls if a running total of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2041 number of bytes transferred is displayed. These Can cause a large
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2042 performance hit if using a remote X display over a slow link, or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2043 terminal with a slow modem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2044 @item mm-content-transfer-encodings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2045 @vindex mm-content-transfer-encodings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2046 An assoc list of @var{Content-Transfer-Encodings} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2047 @var{Content-Encodings} and the appropriate decoding algorithms for each.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2048 If the @code{cdr} of a node is a list, then this specifies the decoder is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2049 an external program, with the program as the first item in the list, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2050 the rest of the list specifying arguments to be passed on the command line.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2051 If using an external decoder, it must accept its input from @code{stdin}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2052 and send its output to @code{stdout}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2053
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2054 If the @code{cdr} of a node is a symbol whose function definition is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2055 non-@code{nil}, then that encoding can be handled internally. The function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2056 is called with 2 arguments, buffer positions bounding the region to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2057 decoded. The function should completely replace that region with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2058 unencoded information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2059
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2060 Currently supported transfer encodings are: base64, x-gzip, 7bit, 8bit,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2061 binary, x-compress, x-hqx, and quoted-printable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2062 @item url-uncompressor-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2063 @vindex url-uncompressor-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2064 An assoc list of file extensions and the appropriate uncompression
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2065 programs for each. This is used to build the Accept-encoding header for
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2066 HTTP/1.0 requests.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2067 @item url-waisq-prog
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2068 @vindex url-waisq-prog
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2069 Name of the waisq executable on this system. This should be the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2070 @file{waisq} program from think.com's wais8-b5.1 distribution.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2071 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2072
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2073 @node More Help, Future Directions, , Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2074 @chapter More Help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2075 @cindex Relevant Newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2076 @cindex Newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2077 @cindex Support
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2078 For more help on Emacs-W3, please send me mail
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2079 (@i{wmperry@@cs.indiana.edu}). Several discussion lists have also been
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2080 created for Emacs-W3. To subscribe, send mail to
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2081 @i{majordomo@@indiana.edu}, with the body of the message 'subscribe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2082 @var{listname} @var{<email addres>}'. All other mail should go to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2083 @i{<listname>@@indiana.edu}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2084
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2085
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2086 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2087 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2088 w3-announce -- this list is for anyone interested in Emacs-W3, and
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2089 should in general only be used by me. The gnu.emacs.sources newsgroup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2090 and a few other mailing lists are included on this. Please only use
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2091 this list for major package releases related to Emacs-W3.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2092 (@i{www-announce@@w3.org} is included on this list).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2093 @item
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2094 w3-beta -- this list is for beta testers of Emacs-W3. These brave souls test
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2095 out not-quite stable code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2096 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2097 w3-dev -- a list consisting of myself and a few other people who are
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2098 interested in the internals of Emacs-W3, and doing active development work.
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2099 Pretty dead right now, but I hope it will grow.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2100 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2101
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2102 For more help on the World Wide Web in general, please refer to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2103 comp.infosystems.www.* newsgroups. There are also several discussion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2104 lists concerning the Web. Send mail to @i{<listname>-request@@w3.org}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2105 with a subject line of 'subscribe <listname>'. All mail should go to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2106 @i{<listname>@@w3.org}. Administrative mail should go to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2107 @i{www-admin@@w3.org}. The lists are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2108
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2109
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2110 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2111 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2112 www-talk -- for general discussion of the World Wide Web, where its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2113 going, new features, etc. All the major developers are subscribed to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2114 this list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2115 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2116 www-announce -- for announcements concerning the World Wide Web. Server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2117 changes, new servers, new software, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2118 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2119
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2120 As a last resort, mail me. I'll try to answer as quickly as I can.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2121
2
ac2d302a0011 Import from CVS: tag r19-15b2
cvs
parents: 0
diff changeset
2122 @node Future Directions, Reporting Bugs, More Help, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2123 @chapter Future Directions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2124 Changes are constantly being made to the Emacs browser (hopefully all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2125 for the better). This is a list of the things that are being worked on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2126 right now.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2127
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2128 :: WORK :: Revamp the todo list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2129
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2130 @node Reporting Bugs, Installing SSL, Future Directions, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2131 @appendix Reporting Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2132 @cindex Reporting Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2133 @cindex Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2134 @cindex Contacting the author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2135
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2136 :: WORK :: Reporting bugs needs work.
22
8fc7fe29b841 Import from CVS: tag r19-15b94
cvs
parents: 20
diff changeset
2137
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2138 @node Installing SSL, Using PGP/PEM, Reporting Bugs, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2139 @appendix Installing SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2140 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2141 @cindex Secure Sockets Layer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2142 @cindex SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2143 @cindex Gag Puke Retch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2144 @cindex Exportability
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2145 @cindex Export Restrictions
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2146 In order to use SSL in Emacs-W3, an implementation of SSL is necessary.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2147 These are the implementations that I am aware of:
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
2148
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
2149 @table @code
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2150 @item SSLRef 2.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2151 Available from Netscape Communications @footnote{http://www.netscape.com/newsref/std/sslref.html}. This requires the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2152 RSARef library, which is not exportable. The RSARef library is
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2153 available from ftp://ftp.rsa.com/rsaref/
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2154 @item SSLeay 0.4
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2155 An implementation by Eric Young (eay@@mincom.oz.au) that is free for
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2156 commerial or noncommercial use, and was developed completely outside the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2157 US by a non-US citizen. More information can be found at
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2158 ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2159 @end table
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2160
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2161 @vindex ssl-program-name
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2162 Whichever reference implementation is used (I recommend the SSLeay
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2163 distribution, just to thumb a nose at the NSA :), there is a program
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2164 that can be run in a subprocess that takes a hostname and port number on
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2165 the command line, and reads/writes to standard input/output (the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2166 Netscape implementation comes with one of these by default). Set the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2167 variable @code{ssl-program-name} to point to this program.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2168
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2169
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2170 This should be all the configuration necessary. In the future, I will
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2171 be distributing a set of patches to Emacs 19.xx and XEmacs 19.xx to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2172 SSL-enable them, for the sake of speed.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2173
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2174 @node Using PGP/PEM, Mailcap Files, Installing SSL, Top
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2175 @appendix Using PGP/PEM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2176 @cindex HTTP/1.0 Authentication
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2177 @cindex Public Key Cryptography
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2178 @cindex Authentication, PGP
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2179 @cindex Authentication, PEM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2180 @cindex RIPEM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2181 @cindex Public Key Cryptography
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2182 @cindex PGP
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2183 @cindex Pretty Good Privacy
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2184 @cindex Encryption
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2185 @cindex Security
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2186 @cindex ITAR must die
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2187 @cindex Stupid export restrictions
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2188 @cindex Support your local crypto-anarchist
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2189 @cindex NSA freaks
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2190 Most of this chapter has been reproduced from the original documentation
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2191 written by Rob McCool (@i{robm@@netscape.com})@footnote{See
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2192 http://hoohoo.ncsa.uiuc.edu/docs/PEMPGP.html for the original}.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2193
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2194 RIPEM is 'Riordan's Internet Privacy Enhanced Mail', and is currently on
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2195 version 1.2b3. US citizens can ftp it from
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2196 ftp://ripem.msu.edu/pub/crypt/ripem.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2197
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2198 PGP is 'Pretty Good Privacy', and is currently on version 2.6. The
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2199 legal controversies that plagued earlier versions have been resolved, so
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2200 this is a competely legal program now. There is also a legal version
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2201 for european users, called 2.6ui (the Unofficial International
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2202 version).
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2203
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2204 PGP and PEM are programs that allow two parties to communicate in a way
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2205 which does not allow third parties to read them, and which certify that
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2206 the person who sent the message is really who they claim they are.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2207
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2208
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2209 PGP and PEM both use RSA encryption. The U.S. government has strict
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2210 export controls over foreign use of this technology, so people outside
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2211 the U.S. may have a difficult time finding programs which perform the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2212 encryption.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2213
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2214 A working copy of either Pretty Good Privacy or RIPEM is required. You
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2215 should be familiar with the program and have generated a public/private
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2216 key pair.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2217
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2218
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2219 Currently, the protocol has been implemented with PEM and PGP using
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2220 local key files on the server side, and on the client side with PEM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2221 using finger to retrieve the server's public key.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2222
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2223 Parties who wish to use Emacs-W3 with PEM or PGP encryption will need to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2224 communicate beforehand and find a tamper-proof way to exchange their
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2225 public keys.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2226
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2227 Pioneers get shot full of arrows. This work is currently in the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2228 experimental stages and thus may have some problems that I have
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2229 overlooked. The only known problem that I know about is that the
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2230 messages are currently not timestamped. This means that a malicious
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2231 user could record the encrypted message with a packet sniffer and repeat
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2232 it back to the server ad nauseum. Although they would not be able to
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2233 read the reply, if the request was for something being charged for, this
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2234 could be very inconvenient.
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2235
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2236 This protocol is almost word-for-word a copy of Tony Sander's RIPEM
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2237 based scheme, generalized a little. Below, wherever PEM is used,
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2238 replace it with PGP, and the behaviour should remain the same.
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
2239
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
2240 @example
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2241 *Client:*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2242
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2243 GET /docs/protected.html HTTP/1.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2244 UserAgent: Emacs-W3/2.1.x
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2245
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2246 *Server:*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2247
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2248 HTTP/1.0 401 Unauthorized
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2249 WWW-Authenticate: PEM entity="webmaster@@hoohoo.ncsa.uiuc.edu"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2250 Server: NCSA/1.1
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2251
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2252 *Client:*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2253
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2254 GET / HTTP/1.0
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2255 Authorization: PEM entity="robm@@ncsa.uiuc.edu"
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2256 Content-type: application/x-www-pem-request
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2257
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2258 --- BEGIN PRIVACY-ENHANCED MESSAGE ---
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2259 this is the real request, encrypted
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2260 --- END PRIVACY-ENHANCED MESSAGE ---
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2261
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2262 *Server:*
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2263
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2264 HTTP/1.0 200 OK
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2265 Content-type: application/x-www-pem-reply
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2266
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2267 --- BEGIN PRIVACY-ENHANCED MESSAGE ---
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2268 this is the real reply, encrypted
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2269 --- END PRIVACY-ENHANCED MESSAGE ---
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2270 That's it.
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
2271 @end example
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
2272
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2273 @cindex Mailcrypt
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2274 Emacs-W3 uses the excellent @i{mailcrypt}@footnote{Available from
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2275 http://www.cs.indiana.edu/LCD/cover.html?mailcrypt} package written by
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2276 Jin S Choi (@i{jsc@@mit.edu}). This package takes care of calling ripem
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2277 and/or pgp with the correct arguments. Please see the documentation at
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2278 the top of mailcrypt.el for instructions on using mailcrypt. All bug
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2279 reports about mailcrypt should go to Jin S Choi, but bugs about how I
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2280 use it in Emacs-W3 should of course be directed to me.
32
e04119814345 Import from CVS: tag r19-15b99
cvs
parents: 30
diff changeset
2281
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2282 @node Mailcap Files, General Index, Using PGP/PEM, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2283 @appendix Mailcap Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2284 NCSA Mosaic and almost all other WWW browsers rely on a separate file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2285 for mapping MIME types to external viewing programs. This takes some of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2286 the burden off of browser developers, so each browser does not have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2287 support all image formats, or postscript, etc. Instead of having the
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2288 users of Emacs-W3 duplicate this in lisp, this file can be parsed using
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2289 the @code{mm-parse-mailcaps} function. This function is called each
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2290 time Emacs-W3 is loaded. It tries to locate mimetype files in several
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2291 places. If the environment variable @code{MAILCAPS} is nonempty, then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2292 this is assumed to specify a UNIX-like path of mimetype files (this is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2293 colon separated string of pathnames). If the @code{MAILCAPS}
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2294 environment variable is empty, then Emacs-W3 looks for these
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2295 files:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2296
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2297 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2298 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2299 @file{~/.mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2300 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2301 @file{/etc/mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2302 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2303 @file{/usr/etc/mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2304 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2305 @file{/usr/local/etc/mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2306 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2307
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2308 This format of this file is specified in RFC 1343, but a brief synopsis
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2309 follows (this is taken verbatim from sections of RFC 1343).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2310
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2311 Each mailcap file consists of a set of entries that describe the proper
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2312 handling of one media type at the local site. For example, one line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2313 might tell how to display a message in Group III fax format. A mailcap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2314 file consists of a sequence of such individual entries, separated by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2315 newlines (according to the operating system's newline
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2316 conventions). Blank lines and lines that start with the "#" character
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2317 (ASCII 35) are considered comments, and are ignored. Long entries may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2318 be continued on multiple lines if each non-terminal line ends with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2319 backslash character ('\', ASCII 92), in which case the multiple lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2320 are to be treated as a single mailcap entry. Note that for such
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2321 "continued" lines, the backslash must be the last character on the line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2322 to be continued.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2323
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2324 Each mailcap entry consists of a number of fields, separated by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2325 semi-colons. The first two fields are required, and must occur in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2326 specified order. The remaining fields are optional, and may appear in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2327 any order.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2328
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2329 The first field is the content-type, which indicates the type of data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2330 this mailcap entry describes how to handle. It is to be matched against
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2331 the type/subtype specification in the "Content-Type" header field of an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2332 Internet mail message. If the subtype is specified as "*", it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2333 intended to match all subtypes of the named content-type.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2334
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2335 The second field, view-command, is a specification of how the message or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2336 body part can be viewed at the local site. Although the syntax of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2337 field is fully specified, the semantics of program execution are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2338 necessarily somewhat operating system dependent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2340 The optional fields, which may be given in any order, are as follows:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2341 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2342 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2343 The "compose" field may be used to specify a program that can be used to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2344 compose a new body or body part in the given format. Its intended use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2345 is to support mail composing agents that support the composition of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2346 multiple types of mail using external composing agents. As with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2347 view- command, the semantics of program execution are operating system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2348 dependent. The result of the composing program may be data that is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2349 yet suitable for mail transport---that is, a Content-Transfer-Encoding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2350 may need to be applied to the data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2351 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2352 The "composetyped" field is similar to the "compose" field, but is to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2353 used when the composing program needs to specify the Content-type header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2354 field to be applied to the composed data. The "compose" field is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2355 simpler, and is preferred for use with existing (non-mail-oriented)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2356 programs for composing data in a given format. The "composetyped" field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2357 is necessary when the Content-type information must include auxilliary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2358 parameters, and the composition program must then know enough about mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2359 formats to produce output that includes the mail type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2360 information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2361 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2362 The "edit" field may be used to specify a program that can be used to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2363 edit a body or body part in the given format. In many cases, it may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2364 identical in content to the "compose" field, and shares the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2365 operating-system dependent semantics for program execution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2366 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2367 The "print" field may be used to specify a program that can be used to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2368 print a message or body part in the given format. As with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2369 view-command, the semantics of program execution are operating system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2370 dependent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2371 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2372 The "test" field may be used to test some external condition (e.g. the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2373 machine architecture, or the window system in use) to determine whether
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2374 or not the mailcap line applies. It specifies a program to be run to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2375 test some condition. The semantics of execution and of the value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2376 returned by the test program are operating system dependent. If the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2377 test fails, a subsequent mailcap entry should be sought. Multiple test
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2378 fields are not permitted---since a test can call a program, it can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2379 already be arbitrarily complex.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2380 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2381 The "needsterminal" field indicates that the view-command must be run on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2382 an interactive terminal. This is needed to inform window-oriented user
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2383 agents that an interactive terminal is needed. (The decision is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2384 left exclusively to the view-command because in some circumstances it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2385 may not be possible for such programs to tell whether or not they are on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2386 interactive terminals.) The needsterminal command should be assumed to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2387 apply to the compose and edit commands, too, if they exist. Note that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2388 this is NOT a test---it is a requirement for the environment in which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2389 the program will be executed, and should typically cause the creation of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2390 a terminal window when not executed on either a real terminal or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2391 terminal window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2392 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2393 The "copiousoutput" field indicates that the output from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2394 view-command will be an extended stream of output, and is to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2395 interpreted as advice to the UA (User Agent mail- reading program) that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2396 the output should be either paged or made scrollable. Note that it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2397 probably a mistake if needsterminal and copiousoutput are both
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2398 specified.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2399 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2400 The "description" field simply provides a textual description,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2401 optionally quoted, that describes the type of data, to be used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2402 optionally by mail readers that wish to describe the data before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2403 offering to display it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2404 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2405 The "x11-bitmap" field names a file, in X11 bitmap (xbm) format, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2406 points to an appropriate icon to be used to visually denote the presence
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2407 of this kind of data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2408 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2409 Any other fields beginning with "x-" may be included for local or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2410 mailer-specific extensions of this format. Implementations should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2411 simply ignore all such unrecognized fields to permit such extensions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2412 some of which might be standardized in a future version of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2413 document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2414 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2415
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2416 @node General Index, Key Index, Mailcap Files, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2417 @appendix General Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2418 @printindex fn
70
131b0175ea99 Import from CVS: tag r20-0b30
cvs
parents: 46
diff changeset
2419 @node Key Index, , General Index, Top
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2420 @appendix Key Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2421 @printindex ky
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2422 @contents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2423 @bye