annotate man/w3.texi @ 0:376386a54a3c r19-14

Import from CVS: tag r19-14
author cvs
date Mon, 13 Aug 2007 08:45:50 +0200
parents
children ac2d302a0011
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
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2 @setfilename ../info/w3.info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 @settitle Emacs-W3 User's Manual
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
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
16 This file documents the Emacs-W3 World Wide Web browser.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
17
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 Copyright (C) 1993, 1994, 1995 William M. Perry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 Copyright (C) 1996 Free Software Foundation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 Permission is granted to make and distribute verbatim copies of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22 this manual provided the copyright notice and this permission notice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
25 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 Permission is granted to process this file through Tex and print the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 results, provided the printed document carries copying permission
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 notice identical to this one except for the removal of this paragraph
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29 (this paragraph not being relevant to the printed manual).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33 @c
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 @titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 @sp 6
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 @center @titlefont{Emacs-W3}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 @center @titlefont{User's Manual}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 @sp 4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 @center Third Edition, Emacs-W3 Version 2.3.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 @sp 1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 @center February 1996
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 @sp 5
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 @center William M. Perry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 @center @i{wmperry@@cs.indiana.edu}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 @vskip 0pt plus 1filll
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 Copyright @copyright{} 1993, 1994, 1995 William M. Perry@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 Copyright @copyright{} 1996 Free Software Foundation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 Permission is granted to make and distribute verbatim copies of@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 this manual provided the copyright notice and this permission notice@*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 are preserved on all copies.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 @end titlepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 @page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 @node Top, Introduction,, (DIR)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 This manual documents the Emacs-W3 World Wide Web browser, a Lisp program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59 which runs as a subsystem under Emacs. The manual is divided into the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 following chapters.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 * Introduction:: What exactly is Emacs-W3?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 * Setting Up:: How to set up and install Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 * Basic Usage:: Basic movement and usage of Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 * Compatibility:: Explanation of compatibility with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 other web browsers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 * Controlling Formatting:: How to control HTML formatting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69 * MIME Support:: Support for MIME
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 * Security:: Various forms of security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 * Non-Unix Operating Systems:: Special considerations necessary to get
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 up and running correctly under non-unix
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 OS's.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 * Advanced Features:: Some of the more arcane features.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 * More Help:: How to get more help---mailing lists,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 newsgroups, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 * Future Directions:: Plans for future revisions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 * Programming Interface:: How to use Emacs-W3 from other emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79 programs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81 Appendices:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 * Reporting Bugs:: How to report a bug in Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
83 * Installing SSL:: Turning on SSL support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
84 * Using PGP/PEM:: Turning on PGP/PEM encryption support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
85 * Mailcap Files:: An explanation of Mailcap files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
86
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
87 Indices:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
88 * General Index:: General Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
89 * Key Index:: Menus of command keys and their references
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
90 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
91 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
92
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
93 @node Introduction, Setting Up, Top, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
94 @chapter Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
95 @cindex World Wide Web
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
96 Emacs-W3 is an Emacs subsystem that allows the user to browse the wonderful
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
97 World Wide Web (WWW).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
98
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
99 The World Wide Web was begun at the CERN physics institute in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
100 Switzerland in 1991. The project was initiated by Tim Berners-Lee
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
101 (@i{timbl@@w3.org}) for distributing data between different research
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
102 groups effectively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
103
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
104
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
105 The Web has since grown into the most advanced information system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
106 currently on the internet. It is now a global hypertext system with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
107 servers and @dfn{browsers} (programs written to interpret the hypertext
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
108 language and display it correctly, and allow the user to follow links)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
109 exist for all major platforms (VMS, Windows, DOS, Unix, VM, NeXTstep,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
110 Amiga, and Macintosh).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
111
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
112 The basic concepts used in the Web are @b{hypertext} and @b{hypermedia}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
113 Hypertext is the same as regular text, with one exception---it can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
114 contain links (cross-references) to other textual documents. Hypermedia
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
115 is slightly different---it can contain links to other forms of media
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
116 (movies, sounds, interactive programs, etc.).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
117
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
118 WWW also allows searches of indices that are located anywhere on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
119 network; in this respect, it mirrors certain capabilities found in both
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
120 WAIS and Gopher.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
121 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
122 @section Client Side View of WWW
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
123 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
124 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
125 @center ----------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
126 @center CLIENT SIDE VIEW
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
127 @center ----------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
128 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
129 The WWW consists of documents and links. Indexes are special documents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
130 which, rather than being read, may be searched. The result of such a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
131 search is another @i{virtual} document containing links to the documents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
132 found. A simple protocol, Hypertext Transfer Protocol or @i{HTTP}, is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
133 used to allow a browser program to request a keyword search by a remote
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
134 information server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
135
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
137 The web contains documents in many formats. Those documents which are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
138 hypertext, (real or virtual) contain links to other documents, or places
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
139 within documents. All documents, whether real, virtual or indexes, look
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
140 similar to the reader and are contained within the same addressing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
141 scheme.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
142 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
143 @section Information Provider View of WWW
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
144 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
145 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
146 @center -------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
147 @center INFORMATION PROVIDER VIEW
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
148 @center -------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
149 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
150 WWW browsers can access many existing data systems via existing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
151 protocols (FTP, NNTP) or via HTTP and a gateway. In this way, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
152 critical mass of data is quickly exceeded, and the increasing use of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
153 system by readers and information suppliers encourage each other.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
154
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
155 Providing information is as simple as running a WWW server and pointing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
156 it at an existing directory structure. The server automatically
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
157 generates a hypertext view of the files to guide the user around.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
158
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
159
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
160 To personalize it, a few @b{SGML} hypertext files can be written to give
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
161 an even more friendly view. Also, any file available by anonymous FTP,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
162 or any internet newsgroup can be immediately linked into the web. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
163 small start-up effort is designed to allow open contributions. At the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
164 other end of the scale, large information providers may provide an HTTP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
165 server with full text or keyword indexing. This may allow access to a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
166 large existing database without changing the way that database is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
167 managed. Such gateways have already been made into Oracle(tm), WAIS,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
168 and Digital's VMS/Help systems, to name but a few.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
169
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
170
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
171 The WWW model gets over the frustrating incompatibilities of data format
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
172 between suppliers and reader by allowing negotiation of format between a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
173 smart browser and a smart server. This provides a basis for extension
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
174 into multimedia, and allow those who share application standards to make
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
175 full use of them across the web.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
176
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
177
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
178 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
179 Here is some more specific information about what Emacs-W3 does and does
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
180 not understand:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
181 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
182 * Markup Languages Supported:: The different markup languages that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
183 Emacs-W3 understands natively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
184 * Supported Protocols:: The different network protocols that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
185 Emacs-W3 speaks to.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
186 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
187 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
188 @node Markup Languages Supported, Supported Protocols, Introduction, Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
189 @chapter Supported Markup Languages
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
190 Several different markup languages, and various extensions to those
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
191 languages, are supported by Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
192 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
193 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
194 @center HTML 2.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
195 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
196 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
197 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
198 @section HTML 2.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
199 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
200 The Hypertext Markup Language, or HTML, is composed of a set of elements
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
201 that define a document and guide its display. An HTML element may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
202 include a name, some attributes and some text or hypertext, and appears
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
203 in an HTML document as <tag_name>text</tag_name>, <tag_name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
204 attribute_name=argument>text</tag_name>, or just <tag_name>.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
206
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
207 For example: @samp{<title>My Useful Document</title>}, and @samp{<pre
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
208 width=60> A lot of text here. </pre>}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
209
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
210 An HTML document is composed of a single element: <html>...</html>, that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
211 is, in turn, composed of head and body elements: <head>...</head>, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
212 <body>...</body>. To allow older HTML documents to remain readable,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
213 <html>, <head>, and <body> are actually optional within HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
214 documents.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
215
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
216 All the tags and attributes of HTML are fully supported in Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
217
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
218 The full HTML 2.0 specification is available at any RFC
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
219 archive@footnote{ftp://ds.internic.net/}. It is RFC 1866.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
220
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
221
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
222 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
223 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
224 @center HTML 3.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
225 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
226 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
227 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
228 @section HTML 3.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
229 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
230 @cindex HTML 3.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
231 The HTML 3.0 language is an extension of HTML, with a large degree of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
232 backward compatibility with HTML 2.0. The idea of having one huge HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
233 3.0 document has been dropped in favor of several smaller supplementatry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
234 RFCs. This will allow the standard to be upgraded much more quickly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
235 than trying to agree on all the features at once.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
236
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
237 As each new chunk of HTML 3.0 is proposed and agreed upon, Emacs-W3 will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
238 support it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
239
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
240 :: WORK :: List currently supported chunks (embed, etc) ::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
241 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
242 @item Embed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
243 Embedding of arbitrary objects into an HTML document. With the <embed>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
244 tag, any type of document can be inserted. The most entertaining use of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
245 this is with embedding MPEG movies into an emacs buffer. This requires
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
246 Lucid Emacs 19.10, or XEmacs 19.11, as well as a slightly patched
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
247 version of mpeg_play 2.0@footnote{The patch is available from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
248 ftp://ftp.cs.indiana.edu/pub/elisp/w3/mpeg_patch}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
250 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
251 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
252 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
253 @center Netscape-HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
254 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
255 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
256 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
257 @section Netscape-HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
258 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
259 I hate to say it, but I broke down and actually included some of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
260 Netscape extensions into Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
261
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
262 @table @b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
263 @item <font>...</font>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
264 Changes the font size. Valid values range from 0-7. The default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
265 font size is 3. The value given can optionally have a '+' or '-'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
266 character in front of it to specify that it is relative to the document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
267 basefont. Stylesheets are recommended instead, as they allow much
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
268 greater control.@xref{Style Sheets}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
269 @item <center>...</center>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
270 This ugly, ill-thought-out alternative to the HTML 3.0 align attribute on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
271 headers and paragraphs was included for compatibility, and as an example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
272 of how @b{not} to do things.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
273 @item <isindex>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
274 The isindex tag can now take a prompt attribute, to get rid of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
275 default 'This is a searchable index' label.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
276 @item <hr width=xx align=xx>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
277 The width and alignment of a horizontal rule can now be controlled. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
278 WIDTH attribute specifies how wide the rule should be, as a percentage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
279 of the window width.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
280
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
281
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
282 The ALIGN attribute specifies where the horizontal rule is placed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
283 Valid values are left, right, center, and indent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
284 @item <body background=@var{URL} bgcolor=@var{RGB} TEXT=@var{RGB} LINK=@var{RGB} ALINK=@var{RGB} VLINK=@var{RGB}>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
285 Various colors can now be set on a document wide basis. This is done
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
286 with various attributes on the BODY tag. Stylesheets are really a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
287 better way to do this, and are recommended. This is just for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
288 compatibility. @xref{Style Sheets}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
289 @b{NOTE:} Netscape requires that all colors be specified in RGB values -
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
290 this is not very intuitive for the avergage author, so Emacs-W3 allows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
291 you to use logical system colors (ie: @samp{"PaleGoldenrod"} instead of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
292 @samp{"#eee8aa"}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
293 @table @b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
294 @item BACKGROUND=@var{url}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
295 Specifies a graphic to tile in the background of the document. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
296 only works in XEmacs 19.12 or later.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
297 @item BGCOLOR=@var{color}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
298 Specifies the background of the document, as a color instead of a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
299 graphic.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
300 @item TEXT=@var{color}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
301 Specifies the color of text on the page.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
302 @item LINK=@var{color}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
303 Specifies the color of hypertext links on the page.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
304 @item VLINK=@var{color}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
305 Specifies the color of hypertext links that have been visited already.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
306 @item ALINK=@var{color}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
307 Specifies the color of active hypertext links (links that have been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
308 clicked on, but not yet fully retrieved).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
309 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
310 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
311 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
312 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
313 @center SGML Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
314 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
315 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
316 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
317 @section SGML Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
318 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
319 @cindex SGML Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
320 @cindex Entity Definitions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
321 @cindex Marked Sections
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
322 :: WORK :: Document marked sections, SGML features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
323 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
324 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
325 @center Extras
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
326 @center ----------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
327 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
328 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
329 @section Extra Markup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
330 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
331 @cindex Easter Eggs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
332 @cindex Fluff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
333 @cindex Pomp & Circumstance
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
334 There are several different markup elements that are not officially part
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
335 of HTML or HTML 3.0 that Emacs-W3 supports. These are either items that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
336 were dropped from HTML 3.0 after I had implemented them, or experimental
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
337 parts of HTML that should not be counted as "official" or long
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
338 lived.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
339 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
340 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
341 More <HR> improvements. Text can be added into a horizontal rule by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
342 using the LABEL and TEXTALIGN attributes.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
343
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
344 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
345 <hr label="testing" textalign="right">
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
346 yields
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
347 ----------------------------------------------------------testing-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
348
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
349 <hr label="testing" textalign="center">
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
350 yields
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
351 -----------------------------testing------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
352
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
353 <hr label="testing" textalign="left">
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
354 yields
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
355 -Testing----------------------------------------------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
356 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
357 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
358 FLAME support. For truly interesting dynamic documents. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
359 replaced with a random quote from Mr. Angry (see @kbd{M-x flame} for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
360 sample).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
361 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
362 The top ten tags that did not make it into netscape. These tags were
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
363 posted to the newsgroup comp.infosystems.www.misc by Laura Lemay
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
364 (@i{lemay@@netcom.com}). Much thanks to her for the humor.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
365 @table @b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
366 @item <wired>...</wired>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
367 Renders the enclosed text in a suitably ugly font/color combination. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
368 no default has been set up by the user, this is the default font, with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
369 red text on a yellow background.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
370 @item <roach>...</roach>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
371 When selected, the enclosed text runs and hides under the nearest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
372 window. OR, giggles a lot and demands nachos, depending on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
373 definition of "roach." (the formal definition, of course, to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
374 determined by the Official Honorary Internet Standards Committee For
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
375 Moving Really Slowly.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
376 @item <pinhead>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
377 Inserts "zippyisms" into the enclosed text. Perfect for those professional
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
378 documents. This is sure to be a favorite of mine!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
379 @item <secret>...</secret>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
380 Must use secret spy decoder glasses (available direct from Netscape for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
381 a reasonable fee) in order to read the enclosed text. Can also be read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
382 by holding the computer in front of a full moon during the autumn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
383 solstice.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
384
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
385 In Emacs-W3, this displays the text using rot13 encoding.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
386 @item <hype>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
387 Causes Marc Andreesen to magically appear and grant an interview (wanted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
388 or not). Please use this tag sparingly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
389 @item <peek>....</peek>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
390 @item <poke>...</poke>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
391 Need more control over screen layout in HTML? Well, here ya go.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
392
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
393 Actually, <peek> could almost be considered useful. The VARIABLE
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
394 attribute can be used to insert the value of an emacs variable into the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
395 current document. Things like 'Welcome to my page, <peek
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
396 variable=user-mail-address>' can be useful in freaking people
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
397 out.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
398 @item <yogsothoth>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
399 @cindex Gates Bill
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
400 @cindex Yogsothoth
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
401 Summons the elder gods to suck away your immortal soul. Or Bill Gates,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
402 if the elder gods are busy. Unpredictable (but amusing) results occur
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
403 when the <YOGSOTHOTH> and <HYPE> tags are used in close proximity.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
404
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
405 @item <blink>...</blink>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
406 Causes the enclosed text to .... ooops that one made it in.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
407 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
408 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
409 @node Supported Protocols, , Markup Languages Supported, Introduction
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
410 @chapter Supported Protocols
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
411 @cindex Network Protocols
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
412 @cindex Protocols Supported
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
413 @cindex Supported Protocols
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
414 Emacs-W3 supports the following protocols
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
415 @table @b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
416 @item Usenet News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
417 Can either display an entire newsgroup or specific articles by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
418 Message-ID: header. This supports a unix-style .newsrc file, so the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
419 user does not see articles they have read using another newsreader, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
420 due to how news URLs work, the .newsrc file cannot be updated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
421 reliably.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
422
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
423 To be more in line with the other URL schemes, the hostname and port of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
424 an NNTP server can be specified. URLs of the form
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
425 news://hostname:port/messageID work, but will not work in most other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
426 browsers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
427
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
428
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
429 @item HTTP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
430 Supports both the HTTP/0.9 and HTTP/1.0 protocols. Fully MIME-compliant
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
431 with regards to HTTP/1.0.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
432 @item Gopher
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
433 Support for all gopher types, including CSO queries.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
434 @item Gopher+
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
435 Support for Gopher+ retrievals. Support for converting ASK blocks into
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
436 HTML 3.0 FORMS and submitting them back to the server.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
437 @item FTP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
438 FTP is handled by either ange-ftp or efs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
439 @item Local files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
440 Local files are handled, and MIME content-types are derived from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
441 file extensions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
442 @item Telnet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
443 Telnet is handled by running the Emacs Lisp function @code{telnet}, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
444 spawning an xterm running telnet.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
445 @item TN3270
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
446 TN3270 is handled by running a tn3270 program in an Emacs buffer, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
447 spawning an xterm running tn3270.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
448 @item Mailto
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
449 Causes a mail message to be started to a specific address.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
450 @item mailserver
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
451 A more powerful version of mailto, which allows the author to specify
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
452 the subject and body text of the mail message. This type of link is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
453 never fully executed without user confirmation, because it is possible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
454 to insert insulting or threatening (and possibly illegal) data into the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
455 message. The mail message is displayed, and the user must type 'yes' to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
456 send it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
457 @item X-exec
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
458 A URL can cause a local executable to be run, and its output interpreted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
459 as if it had come from an HTTP server. This is very useful, but is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
460 still an experimental protocol, hence the X- prefix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
461 @item SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
462 SSL requires a set of patches to the Emacs C code and SSLRef 2.0, or an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
463 external program to run in a subprocess (similar to the @file{tcp.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
464 package that comes with GNUS. @xref{Installing SSL}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
465 @item Secure HTTP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
466 Work is in progress to add support for the Secure HTTP specification
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
467 from Enterprise Information Technologies. The specification for SHTTP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
468 can be found on EIT's web server at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
469 http://www.commerce.net/information/standards/drafts/shttp.txt.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
470 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
471
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
472 @node Setting Up, Retrieving Emacs-W3, Introduction, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
473 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
474 @chapter Setting Up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
475 @cindex Setting Up Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
476 @cindex Retrieving Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
477 This section of the manual deals with getting, compiling, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
478 configuring @i{Emacs-W3}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
479 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
480 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
481 * Retrieving Emacs-W3:: Retrieving Emacs-W3 via anonymous ftp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
482 * Compiling Emacs-W3:: Compiling Emacs-W3 and its associated files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
483 * Basic Setup:: Basic setup that everyone needs to do
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
484 * Firewalls:: How to set Emacs-W3 up to use a particular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
485 firewall setup.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
486 * Proxy Gateways:: Using a proxy server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
487 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
488 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
489 @node Retrieving Emacs-W3, Compiling Emacs-W3, Setting Up, Setting Up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
490 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
491 @section Retrieving Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
492
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
493 :: WORK :: Document that Emacs-W3 now requires the URL package as well
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
494
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
495 @node Compiling Emacs-W3, Basic Setup, Retrieving Emacs-W3, Setting Up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
496 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
497 @section Compiling Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
498 To install Emacs-W3, go into the @file{w3} subdirectory and edit the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
499 @file{Makefile}. These variables might need to be changed:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
500 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
501 @item EMACS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
502 This variable controls what version of Emacs is used to compile the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
503 programs. It should be the full path to the Emacs executable on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
504 system. The default is to use GNU Emacs (@file{emacs}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
505 @item LISPDIR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
506 This variable controls where the lisp code is copied to when it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
507 installed (with @code{make install}). This is usually the users
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
508 personal lisp code directory. The value is run through
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
509 @dfn{expand-file-name} and then added to the load-path. Default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
510 @file{~/lisp}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
511 @item DOTEMACS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
512 This variable points to the Emacs customization file, default is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
513 @file{~/.emacs}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
514 @item INFODIR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
515 This variable points to the local info directory. This can be any valid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
516 directory, as long as it is in @code{Info-default-directory-list} so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
517 that info-mode can find it. Default is @file{/usr/local/info/}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
518
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
519 @item MAKEINFO
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
520 This variables controls how the info files are built. Possible values
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
521 are @code{makeinfo} or @code{emacs -batch -q -f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
522 batch-texinfo-format}. Default is @code{makeinfo}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
523 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
524 Once the @file{Makefile} has been modified, several different targets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
525 can be built.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
526 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
527 @item make w3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
528 This compiles all the .el files into the much faster .elc files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
529 @item make install
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
530 Compiles all the .el files and copies .el and .elc files into the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
531 directory specified by @code{LISPDIR}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
532 @item make emacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
533 Modifies the file specified by @code{DOTEMACS}. A statement modifying
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
534 the load-path variable and several autoload statements are added to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
535 end of the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
536 @item make all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
537 Compiles and installs the .el files, and also modify/create the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
538 @code{DOTEMACS} file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
539 @item make w3.info
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
540 Creates the Emacs-readable info files. The info files are created in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
541 the directory specified by @code{INFODIR}. The makefile variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
542 @code{MAKEINFO} determines how the info file is built.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
543 @item make w3.dvi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
544 Creates the printable documentation, using tex and texindex to properly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
545 generate the indices. A @file{w3.dvi} file is left in the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
546 directory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
547 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
548 @node Basic Setup, Firewalls, Compiling Emacs-W3, Setting Up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
549 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
550 @section Basic Setup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
551 There are a few variables that almost all people need to change.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
552
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
553 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
554 @item w3-default-homepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
555 @vindex w3-default-homepage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
556 The url to open at startup. This defaults to the environment variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
557 WWW_HOME if it is not set it in the users @file{.emacs} file. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
558 WWW_HOME is undefined, then it defaults to the hypertext documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
559 for Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
561 @item w3-delay-image-loads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
562 @vindex w3-delay-image-loads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
563 Controls the loading of inlined images. If non-@code{nil}, images are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
564 not loaded. If the correct image converters are not installed or the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
565 network connection is very slow, it is best to set this to @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
566 Defaults to @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
567 @item url-global-history-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
568 @vindex url-global-history-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
569 The global history file used by both Mosaic/X and Emacs-W3. This file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
570 contains a list of all the URLs that have been visited. This file is parsed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
571 at startup and used to provide URL completion. Emacs-W3 can read and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
572 write Mosaic/X or Netscape 1.x style history files, or use its own
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
573 internal format (faster). The file type is determined automatically, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
574 prompted for if the file does not exist.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
575 @item w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
576 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
577 Hotlist filename. This should be the name of a file that is stored in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
578 NCSA's Mosaic/X or Netscape's format. It is used to keep a listing of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
579 commonly accessed URLs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
580 @item w3-personal-annotation-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
581 @vindex w3-personal-annotation-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
582 The directory where Emacs-W3 looks for personal annotations. This is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
583 directory that should hold the personal annotations stored in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
584 Mosaic/X-compatible format.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
585 @item url-pgp/pem-entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
586 @findex user-real-login-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
587 @findex system-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
588 The name by which the user is known to PGP and/or PEM entities. If this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
589 is not set when Emacs-W3 is loaded, it defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
590 @code{user-mail-address} if it is set, otherwise @code{(user-real-login-name)}@@@code{(system-name)}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
591 @item url-personal-mail-address
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
592 @vindex url-personal-mail-address
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
593 @vindex url-pgp/pem-entity
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
594 User's full email address. This is what is sent to HTTP/1.0 servers as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
595 the FROM header. If this is not set when Emacs-W3 is loaded, then it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
596 defaults to the value of @code{url-pgp/pem-entity}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
597
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
598 @item w3-right-border
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
599 @vindex w3-right-border
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
600 @findex window-width
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
601 Amount of space to leave on right margin of WWW buffers. This amount is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
602 subtracted from the width of the window for each new WWW buffer and used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
603 as the new @code{fill-column}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
604
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
605 @item w3-track-mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
606 @vindex w3-track-mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
607 Controls whether to track the mouse and message the url under the mouse.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
608 If this is non-@code{nil}, then a description of the hypertext area
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
609 under the mouse is shown in the minibuffer. This shows what type of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
610 link (inlined image, form entry area, delayed image, delayed MPEG, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
611 hypertext reference) is under the cursor, and the destination.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
612 @item w3-echo-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
613 @vindex w3-echo-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
614 Controls how a URL is shown when a link is reached with @key{f},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
615 @key{b}, or the mouse moves over it. Possible values are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
616 @table @b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
617 @item url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
618 Displays the URL (ie: @samp{http://www.cs.indiana.edu/}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
619 @item text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
620 Displays the text of the link (ie: @samp{A link to Indiana University}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
621 @item nil
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
622 Show nothing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
623 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
624 @item w3-use-forms-index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
625 @vindex w3-use-forms-index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
626 @cindex ISINDEX handling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
627 @cindex Forms based searching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
628 @cindex Searching with forms
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
629 Non-@code{nil} means translate <ISINDEX> tags into a hypertext form. A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
630 single text entry box is shown where the ISINDEX tag appears.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
631 @item url-use-hypertext-gopher
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
632 @vindex url-use-hypertext-gopher
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
633 @cindex Gopher+
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
634 Controls how gopher documents are retrieved. If non-@code{nil}, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
635 gopher pages are converted into HTML and parsed just like any other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
636 page. If @code{nil}, the requests are passed off to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
637 @file{gopher.el} package by Scott Snyder. Using the @file{gopher.el}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
638 package loses the gopher+ support, and inlined searching.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
639 @item url-xterm-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
640 @vindex url-xterm-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
641 Command used to start a windowed shell, similar to an xterm. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
642 string is passed through @code{format}, and should expect four strings:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
643 the title of the window, the program name to execute, and the server and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
644 port number. The default is for xterm, which is very UNIX and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
645 XWindows-centric.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
646 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
647 @node Firewalls, Proxy Gateways, Basic Setup, Setting Up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
648 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
649 @section Firewalls
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
650 @cindex Gateways
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
651 There are several different reasons why the gateway support might be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
652 required.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
653 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
654 @cindex Firewalls
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 Stuck behind a firewall. This is usually the case at large corporations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
657 with paranoid system-administrators.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
658
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
659 @cindex TERM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
660 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
661 Using TERM @footnote{TERM is a user-level protocol for emulating IP over
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
662 a serial line. More information is available at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
663 ftp://sunsite.unc.edu/pub/Linux/apps/comm/term} for slip-like access to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
664 the internet.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
665
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
666
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
667 NOTE: Emacs 19.22 has patches to enable native TERM networking. To
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
668 enable it, #define TERM in the appropriate s/*.h file for the operating
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
669 system, then change the SYSTEM_LIBS define to include the @file{termnet}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
670 library that comes with the latest versions of TERM.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
671
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
672 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
673 @cindex Faulty hostname resolvers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
674 @cindex Broken SUN libc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
675 @cindex Can't resolve hostnames
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
676 Emacs cannot resolve hostnames. This happens quite often on Sun
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
677 workstations and some ULTRIX machines. Some C libraries do not include
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
678 the hostname resolver routines in their static libraries. If Emacs was
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
679 linked statically, this means it won't be able to get to any machines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
680 off the local network. This is characterized by being able to reach
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
681 someplace with a raw ip number, but not its hostname
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
682 (http://129.79.254.191/ works, but http://www.cs.indiana.edu/ doesn't).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
683
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
684
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
685 If for some reason it is not feasible to recompile Emacs with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
686 @file{-lresolv} library or dynamic linking, it is just like being behind
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
687 a firewall. Another alternative is to set the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
688 @code{url-broken-resolution} - this will use the support in ange-ftp or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
689 EFS to use @file{nslookup} in a subprocess to do all hostname resolving.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
690 See the variables @code{efs-nslookup-program},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
691 @code{efs-nslookup-on-connect}, and @code{efs-nslookup-threshold} if are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
692 using EFS, or @code{ange-ftp-nslookup-program} if using Ange-FTP.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
693
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
694 @cindex Connections hanging with XEmacs & solaris
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
695 @cindex Solaris networking problems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
696 @cindex XEmacs & Solaris network problems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
697 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
698 Running XEmacs 19.x and Solaris 2.x (SunOS 5.x). For some reason,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
699 network processes under Solaris and XEmacs never get a status of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
700 @code{exit} or @code{closed}. This causes retrieval of HTTP and gopher
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
701 pages to hang indefinitely, with Emacs chewing up large amounts of CPU
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
702 time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
703
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
704 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
705
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
706 @vindex url-gateway-local-host-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
707 Emacs-W3 has support for using the gateway mechanism for certain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
708 domains, and directly connecting to others. To use this, change the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
709 value of @code{url-gateway-local-host-regexp}. This should be a regular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
710 expression @footnote{Please see the full Emacs distribution for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
711 description of regular expressions} that matches local hosts that do not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
712 require the use of a gateway. If @code{nil}, then all connections are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
713 made through the gateway.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
714
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
715
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
716 @vindex url-gateway-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
717 Emacs-W3 supports several methods of getting around gateways. The variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
718 @code{url-gateway-method} controls which of these methods is used. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
719 variable can have several values (use these as symbol names, not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
720 strings):
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
721 @table @dfn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
722 @item program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
723 Run a program in a subprocess to connect to remote hosts (examples are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
724 @i{itelnet}@footnote{Itelnet is a standard name for a telnet executable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
725 that is capable of escaping the firewall. Check with system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
726 administrators to see if anything similar is available}, an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
727 @i{expect}@footnote{Expect is a scripting language that allows control
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
728 of interactive programs (like telnet) very easily. It is available from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
729 gatekeeper.dec.com:/pub/GNU/expect-3.24.0.tar.gz} script, etc.).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
730
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
731 @item host
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
732 Log into another local computer that has access to the internet, and run
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
733 a telnet-like program from there.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
734 @item tcp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
735 Masanobu UMEDA (@i{umerin@@mse.kyutech.ac.jp}) has written a very nice
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
736 replacement for the standard networking in Emacs. This does basically
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
737 the same thing that a method of @code{program} does, but is slightly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
738 more transparent to the user.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
739 @item native
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
740 This means that Emacs-W3 should use the builtin networking code of Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
741 This should be used only if there is no firewall, or the Emacs source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
742 has already been hacked to get around the firewall.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
743 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
744 Two of these need a bit more explanation than that:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
745 @vindex url-gateway-telnet-ready-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
746 @vindex url-gateway-telnet-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
747 When running a program in a subprocess to emulate a network connection,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
748 a few extra variables need to be set. The variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
749 @code{url-gateway-telnet-program} should point to an executable that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
750 accepts a hostname and port # as its arguments, and passes standard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
751 input to the remote host. This can be either the full path to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
752 executable or just the basename. The variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
753 @code{url-gateway-telnet-ready-regexp} controls how long Emacs-W3 should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
754 wait after spawning the subprocess to start sending to its standard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
755 input. This gets around a bug where telnet would miss the beginning of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
756 requests becausse it did not buffer its input before opening a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
757 connection. This should be a regular expression to watch for that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
758 signifies the end of the setup of @code{url-gateway-telnet-program}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
759 The default should work fine for telnet.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
760
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
761
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
762 @cindex Host-based gateways
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
763 @cindex Hair-pulling gateway-headaches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
764 @vindex url-gateway-host
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
765 When using the @code{host}-based gatway method, things get a bit more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
766 complicated. This is basically my attempt to do some of the basic stuff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
767 of @i{expect} within elisp. First off, set the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
768 @code{url-gateway-host} to be the name of the gateway machine.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
769
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
770
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
771 @vindex url-gateway-connect-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
772 The variable @code{url-gateway-connect-program} controls how the host is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
773 reached. The easiest way is to have a program that does not require a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
774 username and password to login. The most common of these is the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
775 @dfn{rsh} command.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
776
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
777
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
778 @vindex url-gateway-program-interactive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
779 @vindex url-gateway-handholding-password-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
780 @vindex url-gateway-handholding-login-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
781 @vindex url-gateway-host-username
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
782 @vindex url-gateway-host-password
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
783 If @i{rsh} is not available, then things get very ugly. First, set the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
784 variable @code{url-gateway-program-interactive} to non-@code{nil}. Then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
785 set the variables @code{url-gateway-host-username} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
786 @code{url-gateway-host-password} to be the username and password
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
787 necessary to log into the gateway machine. The regular expressions in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
788 the variables @code{url-gateway-handholding-login-regexp} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
789 @code{url-gateway-handholding-password-regexp} should match the login
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
790 and password prompts on the gateway system respectively. For example:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
791
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
792
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
793 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
794 (setq url-gateway-connect-program "telnet"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
795 url-gateway-host-program "telnet"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
796 url-gateway-program-interactive t
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
797 url-gateway-host-username "wmperry"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
798 url-gateway-host-password "yeahrightkeepdreaming"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
799 url-gateway-host "moose.cs.indiana.edu"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
800 url-gateway-host-program-ready-regexp "Escape character is .*"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
801 url-gateway-handholding-login-regexp "ogin:"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
802 url-gateway-handholding-password-regexp "ord:")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
803 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
804
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
805 @vindex url-gateway-host-prompt-pattern
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
806 This should take care of logging in to the remote system. The variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
807 @code{url-gateway-host-prompt-pattern} should contain a regular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
808 expression that matches the shell prompt on the remote machine. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
809 should appear @b{no where} in the login banner/setup, or things could
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
810 get very confused.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
811
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
812
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
813 @vindex url-gateway-host-program-ready-regexp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
814 @vindex url-gateway-host-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
815 The variable @code{url-gateway-host-program-ready-regexp} should contain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
816 a regular expression that matches the end of the setup of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
817 @code{url-gateway-host-program} when it tries to make a connection to an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
818 off-firewall machine. (Basically the same as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
819 @code{url-gateway-telnet-ready-regexp}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
820
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
821
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
822 Emacs-W3 should now be able to get outside the local network. If none
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
823 of this makes sense, its probably my fault. Please check with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
824 network administrators to see if they have a program that does most of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
825 this already, since somebody somewhere at the company has probably been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
826 through something similar to this before, and would be much more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
827 helpful/knowledgeable about the local setup than I would be. But feel
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
828 free to mail me as a last resort.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
829
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
830
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
831 @node Proxy Gateways, Basic Usage, Firewalls, Setting Up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
832 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
833 @section Proxy Gateways
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
834 In late January 1993, Kevin Altis and Lou Montulli proposed and implemented a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
835 new proxy service. This service requires the use of environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
836 variables to specify a gateway server/port # to send protocol requests
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
837 to. Each protocol (HTTP, WAIS, gopher, FTP, etc.@:) can have a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
838 different gateway server. The environment variables are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
839 @var{PROTOCOL}_proxy, where @var{PROTOCOL} is one of gopher, file, HTTP,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
840 FTP, or WAIS.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
841
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
842 :: WORK ::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
843
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
844 @node Basic Usage, , Proxy Gateways, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
845 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
846 @chapter Basic Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
847 Emacs-W3 is similar to the Info package all Emacs users hold near and dear to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
848 their hearts (@xref{Top,,Info,info, The Info Manual}, for a description
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
849 of Info). Basically, @kbd{space} and @kbd{backspace} control scrolling,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
850 and @kbd{return} or @kbd{mouse2} follows a hypertext link. The @kbd{f}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
851 and @kbd{b} keys maneuver around the various links on the page.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
852
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
853 @b{NOTE:} To enter data into a form entry area, select it using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
854 @kbd{return} or the middle mouse button, just like a hypertext link.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
855
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
856
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
857 On non-graphic terminals (VT100, DOS, etc.), hypertext links are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
858 surrounded by '[[' and ']]' by default. On a graphics terminal, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
859 links are in bold print. @xref{Controlling Formatting} for information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
860 on how to change this, or for help on getting the highlighting to work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
861 on graphics terminals.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
862
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
863 There are approximately 50 keys bound to special Emacs-W3 functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
864 The basic rule of thumb regarding keybindings in Emacs-W3 is that a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
865 lowercase key takes an action on the @b{current document}, and an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
866 uppercase key takes an action on the document pointed to by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
867 hypertext link @b{under the cursor}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
868
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
869 There are several areas that the keybindings fall into: movement,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
870 information, action, and miscellaneous.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
871
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
872 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
873 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
874 * Movement:: Moving around in a Emacs-W3 buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
875 * Information:: Getting information about the Emacs-W3 document being
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
876 viewed, and/or links within that document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
877 * Action:: Taking actions in a Emacs-W3 buffer (following links,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
878 printing, etc.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
879 * Miscellaneous:: Miscellaneous keybindings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
880 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
881 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
882 @node Movement, Information, Basic Usage, Basic Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
883 @section Movement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
884 :: WORK :: Document the 'h' and 'a' keymaps
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
885 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
886 @findex scroll-up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
887 @kindex SPC
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
888 @item SPC
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
889 Scroll downward in the buffer. With prefix arg, scroll down that many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
890 screenfuls.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
891 @kindex DEL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
892 @findex scroll-down
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
893 @item DEL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
894 Scroll upward in the buffer. With prefix arg, scroll up that many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
895 screenfuls.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
896 @kindex <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
897 @findex w3-start-of-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
898 @item <
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
899 Goes to the start of document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
900 @kindex >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
901 @findex w3-end-of-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
902 @item >
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
903 Goes to the end of document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
904 @kindex b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
905 @kindex Shift-TAB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
906 @findex w3-back-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
907 @item Shift-TAB, b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
908 Attempts to move backward one link area in the current document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
909 Signals an error if no previous links are found.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
910 @kindex hl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
911 @findex w3-show-hotlist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
912 @item hl
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
913 Displays a complete listing of the items in the hotlist.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
914 @kindex hu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
915 @findex w3-use-hotlist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
916 @item hu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
917 Go to a link in the hotlist.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
918 @kindex m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
919 @findex w3-complete-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
920 @item m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
921 Choose a link from the current buffer and follow it. A completing-read
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
922 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
923 completion.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
924 @kindex f
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
925 @kindex TAB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
926 @kindex n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
927 @findex w3-forward-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
928 @item TAB, f, n
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
929 Attempts to move forward one link area in the current document. Signals
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
930 an error if no more links are found.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
931 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
932 @node Information, Action, Movement, Basic Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
933 @section Information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
934 These functions relate information about one or more links on the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
935 current document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
936 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
937 @kindex v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
938 @findex url-view-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
939 @item v
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
940 This shows the URL of the current document in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
941 @kindex V
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
942 @findex w3-view-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
943 @item V
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
944 This shows the URL of the hypertext link under point in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
945 If there is not a hypertext link under point, then it shows the type of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
946 form entry area under point. If there is no form entry area under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
947 point, then it shows the inlined image's URL that is under point, if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
948 any.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
949 @kindex i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
950 @findex w3-document-information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
951 @item i
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
952 Shows miscellaneous information about the currently displayed document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
953 This includes the URL, the last modified date, MIME headers, the HTTP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
954 response code, and any relationships to other documents. Any security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
955 information is also displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
956 @kindex I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
957 @findex w3-document-information-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
958 @item I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
959 Shows information about the URL at point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
960 @kindex s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
961 @findex w3-source-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
962 @item s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
963 This shows the HTML source of the current document in a separate buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
964 The buffer's name is based on the document's URL.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
965 @kindex S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
966 @findex w3-source-document-at-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
967 @item S
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
968 Shows the HTML source of the hypertext link under point in a separate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
969 buffer. The buffer's name is based on the document's URL.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
970 @kindex k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
971 @findex w3-save-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
972 @item k
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
973 This stores the current document's URL in the kill ring, and also in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
974 current window-system's clipboard, if possible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
975 @kindex K
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
976 @findex w3-save-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
977 @item K
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
978 Stores the URL of the document under point in the kill ring, and also in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
979 the current window-system's clipboard, if possible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
980 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
981 @node Action, Miscellaneous, Information, Basic Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
982 @section Action
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
983 First, here are the keys and functions that bring up a new hypertext
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
984 page, usually creating a new buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
985 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
986 @kindex return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
987 @findex w3-follow-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
988 @item return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
989 Pressing return when over a hyperlink attempts to follow the link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
990 under the cursor. With a prefix argument (@kbd{C-u}), this forces the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
991 file to be saved to disk instead of being passed off to other viewers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
992 or being parsed as HTML.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
993
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
994 Pressing return when over a form input field will prompt in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
995 minibuffer for the data to insert into the input field. Type checking
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
996 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
997 correct type is entered (ie: cannot enter 44 for 'date' field, etc).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
998
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
999 @kindex Middle Mouse Button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1000 @findex w3-follow-mouse
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1001 @item Middle Mouse Button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1002 Attempt to follow a hypertext link under the mouse cursor. Clicking on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1003 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
1004 into the input field. Type checking is done, and the data is only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1005 entered into the form when data of the correct type is entered (ie:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1006 cannot enter 44 for 'date' field, etc).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1007
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1008 @kindex Control Middle Mouse Button
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1009 @kindex Meta return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1010 @findex w3-follow-inlined-image
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1011 @item Control Middle Mouse Button, Meta return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1012 Tries to retrieve the inlined image that is under point. It ignores any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1013 form entry areas or hyperlinks, and blindly follows any inlined image.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1014 Useful for seeing images that are meant to be used as hyperlinks when
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1015 not on a terminal capable of displaying graphics.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1016
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1017 @kindex p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1018 @findex w3-print-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1019 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1020 Prints out the current buffer in a variety of formats, including
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1021 PostScript, HTML source, or formatted text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1022 @kindex P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1023 @findex w3-print-url-under-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1024 @item P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1025 Prints out the URL under point in a variety of formats, including
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1026 PostScript, HTML source, or formatted text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1027 @kindex m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1028 @findex w3-complete-link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1029 @item m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1030 Selects a destination from a list of all the hyperlinks in the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1031 buffer. Use @kbd{space} and @kbd{tab} to complete on the links.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1032
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1033 @kindex r
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1034 @kindex g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1035 @findex w3-reload-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1036 @item r, g
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1037 Reloads the current document. The position within the buffer remains
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1038 the same (unless the document has changed since it was last retrieved,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1039 in which case it should be relatively close). This causes an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1040 unconditional reload from the remote server - the locally cached copy is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1041 not consulted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1042 @kindex C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1043 @findex w3-fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1044 @item C-o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1045 Prompts for a URL in the minibuffer, and attempts to fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1046 it. If there are any errors, or Emacs-W3 cannot understand the type of link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1047 requested, the errors are displayed in a hypertext buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1048 @kindex o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1049 @findex w3-open-local
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1050 @vindex url-use-hypertext-dired
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1051 @item o
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1052 Opens a local file, interactively. This prompts for a local file name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1053 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
1054 file is a directory and @code{url-use-hypertext-dired} is @code{nil},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1055 then a dired-mode buffer is displayed. If non@code{nil}, then Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1056 automatically generates a hypertext listing of the directory. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1057 hypertext mode is the default, so that all the keys and functions remain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1058 the same.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1059
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1060 @kindex M-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1061 @findex w3-search
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1062 @item M-s
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1063 Perform a search, if this is a searchable index. Searching requires a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1064 server - Emacs-W3 can not do local file searching, as there are too many
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1065 possible types of searches people could want to do. Generally, the only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1066 URL types that allow searching are HTTP, gopher, and X-EXEC.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1067 @kindex Hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1068 @findex w3-show-history-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1069 @vindex w3-keep-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1070 @item Hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1071 If @code{url-keep-history} is non-@code{nil}, then Emacs-W3 keeps track
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1072 of all the URLs visited in an Emacs session. This function takes all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1073 the links that are in that internal list, and formats them as hypertext
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1074 links in a list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1075 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1076
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1077 @cindex Buffer movement
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1078 And here are the commands to move around between Emacs-W3 buffers:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1079
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1080 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1081 @kindex l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1082 @findex w3-goto-last-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1083 @item l
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1084 Goes to the last WWW buffer seen.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1085 @kindex q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1086 @findex w3-quit
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1087 @item q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1088 Quits WWW mode. This kills the current buffer and goes to the most
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1089 recently visited buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1090 @kindex Q
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1091 @findex w3-leave-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1092 @item u
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1093 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
1094 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
1095 the default with switch-to-buffer). This is different from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1096 @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
1097 page visited - it is the same as using @code{switch-to-buffer} - the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1098 buffer left in the window is fairly random.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1099 @kindex HB
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1100 @kindex B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1101 @findex w3-backward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1102 @item HB, B
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1103 Takes one step back along the path in the current history. Has no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1104 effect if at the beginning of the session history.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1105 @kindex HF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1106 @kindex F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1107 @findex w3-forward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1108 @item HF, F
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1109 Takes one step forward along the path in the current history. Has no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1110 effect if at the end of the session history.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1111 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1112
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1113 @node Miscellaneous, , Action, Basic Usage
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1114 @section Miscellaneous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1115 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1116 @kindex M-m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1117 @findex w3-mail-current-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1118 @item M-m
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1119 Mails the current document to someone. Choose from several different
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1120 formats to mail: formatted text, HTML source, PostScript, or LaTeX source.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1121 When the HTML source is mailed, then an appropriate <base> tag is inserted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1122 at the beginning of the document so that relative links may be followed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1123 correctly by whoever receives the mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1124 @kindex M-M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1125 @findex w3-mail-document-under-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1126 @item M-M
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1127 Mails the document pointed to by the hypertext link under point to someone.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1128 Choose from several different formats to mail: formatted text, HTML source,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1129 PostScript, or LaTeX source. When the HTML source is mailed, then an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1130 appropriate <base> tag is inserted at the beginning of the document so that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1131 relative links may be followed correctly by whoever receives the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1132 mail.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1133 @kindex p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1134 @findex w3-print-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1135 @item p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1136 Prints the current document. Choose from several different formats to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1137 print: formatted text, HTML source, PostScript (with ps-print), or by using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1138 LaTeX and dvips).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1139
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1140 @findex lpr-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1141 @vindex lpr-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1142 @vindex lpr-switches
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1143 When the formatted text is printed, the normal @code{lpr-buffer} function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1144 is called, and the variables @code{lpr-command} and @code{lpr-switches}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1145 control how the document is printed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1146
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1147 When the HTML source is printed, then an appropriate <base> tag is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1148 inserted at the beginning of the document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1149 @vindex w3-use-html2latex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1150 @vindex w3-html2latex-prog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1151 @vindex w3-html2latex-args
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1152 @vindex w3-print-commnad
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1153 @vindex w3-latex-docstyle
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1154 When postscript is printed, then the HTML source of the document is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1155 converted into LaTeX source. If the variable @code{w3-use-html2latex}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1156 is non-@code{nil}, then the program specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1157 @code{w3-html2latex-prog} is run in a subprocess with the arguments in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1158 @code{w3-html2latex-args}. The @code{w3-html2latex-prog} must accept
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1159 HTML source on its standard input and send the LaTeX output to standard
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1160 output. If @code{w3-use-html2latex} is @code{nil}, then an Emacs Lisp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1161 function uses regular expressions to replace the HTML code with LaTeX
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1162 markup. The variable @code{w3-latex-docstyle} controls how the document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1163 is laid out in this case, and postscript figures are printed as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1164 well.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1165 @kindex P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1166 @findex w3-print-url-under-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1167 @item P
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1168 Prints the document pointed to by the hypertext link under point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1169 Please see the previous item for more information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1170 @kindex M-x w3-insert-formatted-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1171 @findex w3-insert-formatted-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1172 @item M-x w3-insert-formatted-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1173 Insert a fully formatted HTML link into another buffer. This gets the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1174 name and URL of either the current buffer, or, with a prefix arg, of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1175 link under point, and construct the appropriate <a...>...</a> markup and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1176 insert it into the desired buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1177 @kindex M-tab
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1178 @findex w3-insert-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1179 @item M-tab
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1180 Inserts the URL of the current document into another buffer. Buffer is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1181 prompted for in the minibuffer. With prefix arg, uses the URL of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1182 link under point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1183 @kindex U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1184 @findex w3-use-links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1185 @item U
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1186 Selects one of the <LINK> tags from this document and fetch it. Links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1187 are attributes of a specific document, and can tell such things as who
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1188 made the document, where a table of contents is located, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1189
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1190 Link tags specify relationships between documents in two ways. Normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1191 (forward) relationships (where the link has a REL="xxx" attribute), and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1192 reverse relationships (where the link has a REV="xxx" attribute). This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1193 first asks what type of link to follow (Normal or Reverse), then does
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1194 a @code{completing-read} on only the links that have that type of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1195 relationship.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1196 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1198 @node Compatibility, , , Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1199 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1200 @chapter Compatibility with other Browsers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1201 Due to the popularity of several other browsers, Emacs-W3 offers an easy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1202 transition to its much better way of life. This ranges from being able
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1203 to share the same preferences files and disk cache to actually emulating
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1204 the keybindings used in other browsers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1206 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1207 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1208 * Emulation:: Emacs-W3 can emulate the keybindings and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1209 other behaviours of other browsers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1210 * Hotlist Handling:: A hotlist is an easy way to keep track of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1211 interesting Web pages without having to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1212 remember the exact path to get there.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1213 * Session History:: Keeping a history of documents visited
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1214 in one Emacs sessions allows the use of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1215 'forward' and 'back' buttons easily.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1216 * Global History:: Keeping a history of all the places ever
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1217 visited on the web.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1218 * Annotations:: Annotations allow comments on other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1219 people's Web documents without needing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1220 to change the document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1221 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1222 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1223 @node Emulation, Hotlist Handling, Compatibility, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1224 @section Emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1225 :: WORK :: Document lynx emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1226 :: WORK :: Document netscape emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1227 @cindex Browser emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1228 @cindex Emulation of other browsers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1229 @cindex Netscape emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1230 @cindex Lynx emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1231 @findex turn-on-netscape-emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1232 @findex turn-on-lynx-emulation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1233 @findex w3-netscape-emulation-minor-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1234 @findex w3-lynx-emulation-minor-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1235 @vindex w3-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1236
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1237 @node Hotlist Handling, Session History, Emulation, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1238 @section Hotlist Handling
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1239 :: WORK :: Document that it supports different types of hotlist formats
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1240 :: WORK :: Make sure everything hotlist related can be accessed via 'h'
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1241 In order to avoid having to traverse many documents to get to the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1242 document over and over, Emacs-W3 supports a ``hotlist'' like Mosaic. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1243 a file that contains URLs and aliases. Hotlists allow quick access to any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1244 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
1245 The variable @code{w3-hotlist-file} determines where this information
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1246 is saved. The structure of the file is compatible with Mosaic's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1247 hotlist file, so this defaults to @file{~/.mosaic-hotlist-default}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1248
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1249 Hotlist commands are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1250 @table @kbd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1251 @kindex hi
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1252 @findex w3-hotlist-add-document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1253 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1254 @item a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1255 Adds the current document to the hotlist, with the buffer name as its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1256 identifier. Modifies the file specified by @code{w3-hotlist-file}. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1257 this is given a @var{prefix-argument} (via @kbd{C-u}), the title is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1258 prompted for instead of automatically defaulting to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1259 document title.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1261 @findex w3-hotlist-refresh
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1262 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1263 @kindex hR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1264 @item hR
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1265 This rereads the default hostlist file specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1266 @code{w3-hotlist-file}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1267 @findex w3-hotlist-delete
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1268 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1269 @kindex hd
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1270 @item d
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1271 Prompts for the alias of the entry to kill. Pressing the spacebar or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1272 tab will list out partial completions. The internal representation of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1273 the hotlist and the file specified by @code{w3-hotlist-file} are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1274 updated.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1275 @item hr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1276 @kindex hr
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1277 @findex w3-hotlist-rename-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1278 @vindex w3-hotlist-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1279 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
1280 out form support'), or uninformative (`Index of /'). Prompts for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1281 item to rename in the minibuffer---use the spacebar or tab key for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1282 completion. After having chosen an item to rename, prompts for a new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1283 title until a unique title is entered. Modifies the file specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1284 @code{w3-hotlist-file}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1286 @item hu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1287 @kindex hu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1288 @findex w3-use-hotlist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1289 Prompts for the alias to jump to. Pressing the @key{spacebar} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1290 @key{tab} key shows partial completions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1291
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1292 @item hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1293 @kindex hv
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1294 @findex w3-show-hotlist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1295 Converts the hotlist into HTML and displays it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1296 @item ha
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1297 @kindex ha
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1298 @findex w3-hotlist-apropos
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1299 Shows the hotlist entries matching a regular expression.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1300 @item hA
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1301 @kindex hA
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1302 @findex w3-hotlist-append
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1303 Appends another hotlist file to the one currently in memory.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1304 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1305 @node Session History, Global History, Hotlist Handling, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1306 @section History
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1307 @cindex History Lists
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1308 Almost all web browsers keep track of the URLs followed from a page, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1309 that it can provide @b{forward} and @b{back} buttons to keep a @i{path}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1310 of URLs that can be traversed easily.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1311 @vindex url-keep-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1312 If the variable @code{url-keep-history} is @code{t}, then Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1313 keeps a list of all the URLs visited in a session.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1314 @findex w3-show-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1315 To view a listing of the history for this session of Emacs-W3, use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1316 @code{M-x w3-show-history} from any buffer, and Emacs-W3 generates an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1317 HTML document showing every URL visited since Emacs started (or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1318 cleared the history list), and then format it. Any of the links can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1319 be chosen and followed to the original document. To clear the history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1320 list, choose 'Clear History' from the 'Options' menu.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1321
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1322 @findex w3-forward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1323 @findex w3-backward-in-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1324 @findex w3-fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1325 Another twist on the history list mechanism is the fact that all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1326 Emacs-W3 buffers remember what URL, buffer, and buffer position of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1327 last document, and also keeps track of the next location jumped @b{to}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1328 from that buffer. This means that the user can go forwards and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1329 backwards very easily along the path taken to reach a particular
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1330 document. To go forward, use the function @code{w3-forward-in-history},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1331 to go backward, use the function @code{w3-backward-in-history}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1332
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1333 @node Global History, Annotations, Session History, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1334 @section Global History
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1335 :: WORK :: Document that the global history can have diff. formats
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1336 Most web browsers also support the idea of a ``history'' of URLs the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1337 user has visited, and it displays them in a different style than normal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1338 URLs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1339
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1340 @vindex url-keep-history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1341 @vindex url-global-history-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1342 If the variable @code{url-keep-history} is @code{t}, then Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1343 keeps a list of all the URLs visited in a session. The file is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1344 automatically written to disk when exiting emacs. The list is added to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1345 those already in the file specified by @code{url-global-history-file},
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1346 which defaults to @file{~/.mosaic-global-history}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1347
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1348 If any URL in the list is found in the file, it is not saved, but new
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1349 ones are added at the end of the file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1350
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1351 The function that saves the global history list is smart enough to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1352 notice what style of history list is being used (Netscape, Emacs-W3, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1353 XMosaic), and writes out the new additions appropriately.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1354
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1355 @cindex Completion of URLs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1356 @cindex Usefulness of global history
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1357 One of the nice things about keeping a global history files is that Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1358 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
1359 the @kbd{tab} or @kbd{space} key will show all completions for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1360 partial URL. This is very useful, especially for very long URLs that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1361 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
1362 site before choosing which to retrieve.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1363
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1364 @node Annotations, Group Annotations, Global History, Compatibility
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1365 @section Annotations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1366 @cindex Annotations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1367 Mosaic can @i{annotate} documents. Annotations are comments about the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1368 current document, and these annotations appear as a link to the comments
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1369 at the end of the document. The original file is not changed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1370
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1371 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1372 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1373 * Group Annotations:: Annotations accessible by everyone
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1374 * Personal Annotations:: Private annotations only accessible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1375 to the user who created them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1376 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1377 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1378 @node Group Annotations, Personal Annotations, Annotations, Annotations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1379 @subsection Group Annotations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1380 @cindex Group Annotations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1381 @b{@i{NOTE}}: The group annotation experiment has been terminated. It
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1382 will be replaced with support on the server side for adding <LINK> tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1383 to documents.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1384
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1385 @node Personal Annotations, , Group Annotations, Annotations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1386 @subsection Personal Annotations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1387 @cindex Personal Annotations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1388 @vindex w3-personal-annotation-directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1389 Emacs-W3 looks in the directory specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1390 @code{w3-personal-annotation-directory} (defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1391 @file{~/.mosaic-personal-annotations}). Any personal annotations for a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1392 document are automatically appended when it is retrieved.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1393
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1394 :: WORK :: Document the new 'a' prefix keymap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1395 :: WORK :: Tell where the annotations are stored
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1396
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1397 @findex w3-add-personal-annotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1398 @vindex w3-annotation-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1399 To add a new personal annotation, type @kbd{M-x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1400 w3-add-personal-annotation}. This creates a new buffer, in the mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1401 specified by @code{w3-annotation-mode}. This defaults to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1402 @code{html-mode}. If this variable is @code{nil}, or it points to an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1403 undefined function, then @code{default-major-mode} is consulted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1404
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1405 A minor mode redefines @kbd{C-c C-c} to complete the annotation and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1406 store it on the local disk.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1407
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1408 @findex w3-delete-personal-annotation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1409 To delete a personal annotation, it must be the current page. Once
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1410 reading the annotation, @kbd{M-x w3-delete-personal-annotation} will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1411 remove it. This deletes the file containing the annotation, and any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1412 references to it in the annotation log file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1413
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1414 Editing personal annotations is not yet supported.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1415
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1416 @node Controlling Formatting, General Formatting, Top, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1417 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1418 @chapter Controlling Formatting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1419 @cindex Customizing formatting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1420 @cindex Specifying Fonts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1421 @cindex Fonts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1422 @cindex Colors
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1423 How Emacs-W3 formats a document is very customizable. How a document is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1424 displayed depends on whether the user is on a terminal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1425 capable of graphics and a few variables.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1426
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1427 The following sections describe in more detail how to change the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1428 formatting of a document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1429
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1430 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1431 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1432 * General Formatting:: Changing general things about a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1433 document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1434 * Character based terminals:: Changing how a document is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1435 displayed on a non-graphics
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1436 terminal (vt100, etc.@:) or if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1437 @code{w3-delimit-emphasis} is @code{t}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1438 * Graphics workstations:: Changing how a document is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1439 displayed on a graphics terminal
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1440 (Xwindows, Windows, NeXTstep,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1441 OS/2, etc.)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1442 * Inlined images:: How to specify how Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1443 handles inlined images/mpegs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1444 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1445 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1446 @node General Formatting, Character based terminals, Controlling Formatting, Controlling Formatting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1447 @section General formatting conventions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1448 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1449 @heading Setting the fill column
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1450 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1451 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1452 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1453 @center Setting the fill column
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1454 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1455 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1456 @vindex fill-column
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1457 @vindex w3-right-border
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1458 Each time a document is parsed, the @code{fill-column} is recalculated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1459 using @code{window-width} and @code{w3-right-border}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1460 @code{w3-right-border} is an integer specifying how much room at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1461 right edge of the screen to leave blank. The @code{fill-column} is set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1462 to @code{(- (window-width) @code{w3-right-border})}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1463 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1464 @heading Formatting of hypertext links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1465 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1466 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1467 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1468 @center Formatting of hypertext links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1469 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1470 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1471 @vindex w3-delimit-links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1472 @vindex w3-link-start-delimiter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1473 @vindex w3-link-end-delimiter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1474 If the variable @code{w3-delimit-links} is non-@code{nil} (the default
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1475 for text-terminals), then hypertext links are surrounded by text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1476 specified by the user. The variables @code{w3-link-start-delimiter} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1477 @code{w3-link-end-delimiter} control what text is at the start and end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1478 of a hypertext link. These variables are cons-pairs of two
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1479 strings.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1480
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1481 If a link has never been visited before (it is not in the @i{global
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1482 history}), then the @code{car} of these variables is inserted at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1483 start and end of the link. If the link has been visited before, then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1484 the @code{cdr} is inserted. So, links look like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1485
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1486 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1487 [[This is a hypertext link]] that has never been visited.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1488 @{@{This one, however@}@} has been seen before at some point in time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1489 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1490
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1491 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1492 @heading Formatting of lists
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1493 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1494 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1495 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1496 @center Formatting of lists
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1497 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1498 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1499 @cindex Indentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1500 @vindex w3-indent-level
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1501 There are several different ways to control the formatting of lists.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1502 The most obvious is how deeply they are indented relative to the rest of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1503 the paragraphs in the document. To control this, set the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1504 variable @code{w3-indent-level}. This is the number of spaces to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1505 indent lists and other items requiring special margins.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1506
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1507 @vindex w3-list-chars-assoc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1508 Another thing that is easy to change about lists is the bullet character
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1509 put at the front of each list item. This is controlled by the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1510 @code{w3-list-chars-assoc}, which is an assoc list. This is a list of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1511 lists, each sublist describing what to put at the start of each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1512 particular list type. The @code{car} of this list should be a symbol
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1513 (@b{not} a string) representing the type of list (e.g., @samp{ul}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1514 The rest of the list should consist of strings to insert at certain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1515 levels of lists. The @code{n}th element of this list is used when the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1516 list is nested @code{n + 1} levels. If the list is not long enough to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1517 define a string for a certain nesting level, then it defaults to either
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1518 a '*' or a '.'.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1519 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1520 @heading Formatting of directory listings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1521 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1522 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1523 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1524 @center Formatting of directory listings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1525 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1526 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1527 @vindex url-use-hypertext-dired
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1528 When Emacs-W3 encounters a link to a directory (whether by local file access
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1529 or via FTP), it can either create an HTML document on the fly, or use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1530 @code{dired-mode} to peruse the listing. The variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1531 @code{url-use-hypertext-dired} controls this behavior.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1532
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1533 If the value is @code{t}, Emacs-W3 uses @code{directory-files} to list them
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1534 out and transform the directory into a hypertext document, then pass it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1535 through the parser like any other document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1536
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1537 If the value is @code{nil}, just pass the directory off to dired using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1538 @code{find-file}. Using this option loses all the hypertext abilities
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1539 of Emacs-W3, and the users is unable to load documents in the directory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1540 directly into Emacs-W3 by clicking with the mouse, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1541
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1542 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1543 @cindex Downloading multiple files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1544 @cindex FTP'ing multiple files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1545 @vindex url-forms-based-ftp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1546 A new option in the 2.2 series is @code{url-forms-based-ftp} - this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1547 still in the experimental stages, but can be useful. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1548 @code{url-forms-based-ftp} is @code{t}, then all automatically generated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1549 directory listings will have a form mixed in with the file listing.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1550 Each file will have a checkbox next to it, and a row of buttons at the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1551 bottom of the screen. Selecting one of the buttons at the bottom of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1552 screen will take the designated action on all the marked files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1553 Currently, only deleting and copying marked files is supported.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1554 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1555 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1556 @heading Formatting of gopher directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1557 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1558 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1559 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1560 @center Formatting of gopher directories
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1561 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1562 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1563 @vindex w3-use-hypertext-gopher
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1564 @cindex Gopher+
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1565 @cindex ASK blocks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1566 There are two different ways of viewing gopher links. The built-in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1567 support that converts gopher directories into HTML, or the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1568 @file{gopher.el} package by Scott Snyder (@i{snyder@@fnald0.fnal.gov}).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1569 The variable that controls this is @code{w3-use-hypertext-gopher}. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1570 set to @code{nil}, then @file{gopher.el} is used. Any other value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1571 causes Emacs-W3 to use its internal gopher support. If using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1572 @file{gopher.el}, all the hypertext capabilities of Emacs-W3 are lost.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1573 All the functionality of @file{gopher.el} is now available in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1574 hypertext version, and the hypertext version supports Gopher+ and ASK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1575 blocks.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1576
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1577 @vindex w3-gopher-labels
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1578 The main way to control the display of gopher directories is by the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1579 variable @code{w3-gopher-labels}. This variable controls the text that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1580 is inserted at the front of each item. This is an assoc list of gopher
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1581 types (as one character strings), and a string to insert just after the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1582 list item. All the normal gopher types are defined. Entries should be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1583 similar to: @samp{("0" . "(TXT)")}. I have tried to keep all the tags
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1584 to three characters plus two parentheses.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1585 @iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1586 @heading Creating a horizontal rule
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1587 @end iftex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1588 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1589 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1590 @center Creating a horizontal rule
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1591 @center --------------------
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1592 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1593 @vindex w3-horizontal-rule-char
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1594 Horizontal rules (@b{<HR>} tags in HTML[+]) are used to separate chunks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1595 of a document, and is meant to be rendered as a solid line across the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1596 page. Some terminals display characters differently, so the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1597 @code{w3-horizontal-rule-char} controls which character is used to draw a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1598 horizontal bar. This variable must be the ASCII value of the character,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1599 @b{not a string}. The variable is passed through make-string whenever a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1600 horizontal rule of a certain width is necessary.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1601
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1602 @node Character based terminals, Graphics workstations, General Formatting, Controlling Formatting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1603 @section On character based terminals
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1604 @vindex w3-delimit-emphasis
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1605 On character based terminals, there is no easy way to show that a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1606 certain range of text is in bold or italics. If the variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1607 @code{w3-delimit-emphasis} is non-@code{nil}, then Emacs-W3 can insert
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1608 characters before and after character formatting commands in HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1609 documents. The defaul value of @code{w3-delimit-emphasis} is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1610 automatically set based on the type of window system and version of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1611 Emacs being used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1612
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1613 @vindex w3-header-chars-assoc
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1614 :: WORK ::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1615
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1616 @findex w3-upcase-region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1617 @code{w3-header-chars-assoc} is an assoc list of header tags and a list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1618 of formatting instructions. The @code{car} of the list is the level of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1619 the header (1--6). The rest of the list should contain three items.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1620 The first item is text to insert before the header. The second item is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1621 text to insert after the header. Both should have reserved characters
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1622 converted to their HTML[+] entity definitions. The third item is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1623 function to call on the area the header is in. This function is called
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1624 with arguments specifying the start and ending character positions of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1625 the header. The starting point is always first. To convert a region to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1626 upper case, please use @code{w3-upcase-region} instead of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1627 @code{upcase-region}, so that entities are converted properly.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1628
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1629 @node Graphics workstations, Inlined images, Character based terminals, Controlling Formatting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1630 @section With graphics workstations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1631 Starting with the first public release of version 2.3.0, all formatting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1632 is controlled by the use of stylesheets.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1633
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1634 :: WORK :: Graphic workstation stuff - redo for stylesheets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1635
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1636 @node Inlined images, , Graphics workstations, Controlling Formatting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1637 @cindex Inlined images
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1638 @cindex Images
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1639 @cindex Movies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1640 @cindex Inlined MPEGs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1641 @cindex MPEGs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1642 When running in Lucid Emacs 19.10 or XEmacs 19.11 and higher, Emacs-W3 can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1643 display inlined images and MPEG movies. There are several variables that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1644 control how and when the images are displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1645
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1646 @cindex Netpbm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1647 @cindex Pbmplus
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1648 @vindex w3-graphic-converter-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1649 Since Lucid/XEmacs only natively understands XPixmaps and XBitmaps, GIFs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1650 and other image types must first be converted to one of these formats.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1651 To do this, the @b{netpbm utilities}@footnote{Available via anonymous
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1652 ftp from ftp.x.org:/R5contrib/netpbm-1mar1994.tar.gz, and most large ftp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1653 sites.} programs are normally used. This is a suite of freeware image
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1654 conversion tools. The variable @code{w3-graphic-converter-alist}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1655 controls how each image type is converted. This is an assoc list, keyed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1656 on the MIME content-type. The @code{car} is the content-type, and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1657 @code{cdr} is a string suitable to pass to @code{format}. A %s in this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1658 string will be replaced with a converter from the ppm image format to an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1659 XPixmap (or XBitmap, if being run on a monochrome display). By default,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1660 the Emacs-W3 browser has converters for:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1661
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1662 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1663 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1664 image/x-xbitmap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1665 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1666 image/xbitmap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1667 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1668 image/xbm
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1669 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1670 image/gif
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1671 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1672 image/jpeg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1673 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1674 image/x-fax
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1675 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1676 image/x-raster
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1677 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1678 image/windowdump
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1679 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1680 image/x-icon
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1681 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1682 image/portable-graymap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1683 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1684 image/portable-pixmap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1685 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1686 image/x-pixmap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1687 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1688 image/x-xpixmap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1689 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1690 image/pict
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1691 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1692 image/x-macpaint
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1693 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1694 image/x-targa
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1695 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1696 image/tiff
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1697 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1698
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1699 @vindex w3-color-max-blue
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1700 @vindex w3-color-max-green
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1701 @vindex w3-color-max-red
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1702 @vindex w3-color-use-reducing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1703 @vindex w3-color-filter
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1704 Since most displays are (sadly) not 24-bit, Emacs-W3 can automatically
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1705 dither an image, so that it does not fill up the application' colormap too
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1706 quickly. If @code{w3-color-use-reducing} is non-@code{nil}, then the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1707 images will use reduced colors. If @code{w3-color-filter} is @code{eq} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1708 @code{'ppmquant}, then the ppmquant program will be used. If @code{eq} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1709 @code{'ppmdither}, then the ppmdither program will be used. The ppmdither
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1710 program tends to give better results. The values of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1711 @code{w3-color-max-red}, @code{w3-color-max-blue}, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1712 @code{w3-color-max-green} control how many colors the inlined images can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1713 use. If using ppmquant, then the product of these three variables is used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1714 as the maximum number of colors per image. If using ppmdither, then only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1715 the set number of color cells can be allocated per image. See the man
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1716 pages for ppmdither and ppmquant for more information on how the dithering
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1717 is actually done. @code{w3-color-filter} may also be a string, specifying
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1718 exactly what external filter to use. An example is: @samp{ppmquant -fs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1719 -map ~/pixmaps/colormap.ppm}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1720
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1721 @cindex MPEGs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1722 @cindex Inlined animations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1723 When running in XEmacs 19.11 or XEmacs 19.12, Emacs-W3 can insert an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1724 MPEG movie in the middle of a buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1725
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1726 :: WORK :: Need a pointer to the new EMBED Internet Draft ::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1727
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1728 The basic syntax is:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1729 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1730 <embed href="somevideo.mpg" type="video/mpeg">
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1731 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1732
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1733 @vindex w3-mpeg-args
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1734 @vindex w3-mpeg-program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1735 This requires a special version of the standard @file{mpeg_play} mpeg
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1736 player. Patches against the 2.0 version are available at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1737 ftp://ftp.cs.indiana.edu/pub/elisp/w3/mpeg_patch. The variable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1738 @code{w3-mpeg-program} should point to this executable, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1739 @code{w3-mpeg-args} should be a list of any additional arguments to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1740 passed to the player. By default, this includes @var{-loop}, so the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1741 mpeg plays continuously.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1742
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1743 @cindex Delaying inlined images
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1744 @cindex Delaying inlined animations
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1745 @vindex w3-delay-image-loads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1746 @vindex w3-delay-mpeg-loads
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1747 Because images and movies can take up an incredible amount of bandwidth,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1748 it is useful to be able to control whether they are loaded or not. By
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1749 default, images and movies are loaded automatically, but the variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1750 @code{w3-delay-image-loads} and @code{w3-delay-mpeg-loads} control this.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1751 If set to non-@code{nil}, then the images or movies are not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1752 loaded until explicitly requested by the user.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1753
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1754 @cindex Loading delayed images
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1755 @cindex Loading delayed movies
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1756 @findex w3-load-delayed-images
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1757 @findex w3-load-delayed-mpegs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1758 To load any delayed images, use the function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1759 @code{w3-load-delayed-images}. Its counterpart for delayed movies is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1760 @code{w3-load-delayed-mpegs}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1761
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1762 @node MIME Support, Adding MIME types based on file extensions, , Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1763 @chapter MIME Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1764 MIME is an emerging standard for multimedia mail. It offers a very
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1765 flexible typing mechanism. The type of a file or message is specified
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1766 in two parts, separated by a '/'. The first part is the general
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1767 category of the data (text, application, image, etc.). The second part
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1768 is the specific type of data (postscript, gif, jpeg, etc.). So
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1769 @samp{text/html} specifies an HTML document, whereas
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1770 @samp{image/x-xwindowdump} specifies an image of an Xwindow taken with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1771 the @file{xwd} program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1772
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1773
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1774 This typing allows much more flexibility in naming files. HTTP/1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1775 servers can now send back content-type headers in response to a request,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1776 and not have the client second-guess it based on file extensions. HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1777 files can now be named @file{something.gif} (not a great idea, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1778 possible).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1779
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1780 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1781 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1782 * Adding MIME types based on file extensions:: How to map file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1783 extensions onto MIME
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1784 types (e.g., @samp{.gif ->
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1785 image/gif)}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1786 * Specifying Viewers:: How to specify external and internal viewers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1787 for files that Emacs-W3 cannot handle natively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1788 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1789 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1790
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1791 @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
1792 @section Adding MIME types based on file extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1793 @vindex mm-mime-extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1794 For some protocols however, it is still necessary to guess the content
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1795 of a file based on the file extension. This type of guess-work should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1796 only be needed when accessing files via FTP, local file access, or old
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1797 HTTP/0.9 servers.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1798
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1799 Instead of specifying how to view things twice, once based on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1800 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
1801 file extensions to MIME content-types. The variable that controls this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1802 is @code{mm-mime-extensions}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1803
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1804 This variable is an assoc list of file extensions and the corresponding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1805 MIME content-type. A sample entry looks like: @samp{(".movie"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1806 . "video/x-sgi-movie")} This makes all files that end in @file{.movie}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1807 (@file{foo.movie} and @file{bar.movie}) be interpreted as SGI animation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1808 files. If a content-type is defined for the document, then this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1809 over-ridden. Regular expressions can @b{NOT} be used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1811 @cindex mime-types file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1812 @findex mm-parse-mimetypes
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1813 Both Mosaic and the NCSA HTTP daemon rely on a separate file for mapping
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1814 file extensions to MIME types. Instead of having the users of Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1815 duplicate this in lisp, this file can be parsed using the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1816 @code{url-parse-mimetypes} function. This function is called each time
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1817 w3 is loaded. It tries to locate mimetype files in several places. If
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1818 the environment variable @code{MIMETYPES} is nonempty, then this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1819 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
1820 separated string of pathnames). If the @code{MIMETYPES} environment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1821 variable is empty, then Emacs-W3 looks for these files:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1822
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1823 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1824 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1825 @file{~/.mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1826 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1827 @file{/etc/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1828 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1829 @file{/usr/etc/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1830 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1831 @file{/usr/local/etc/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1832 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1833 @file{/usr/local/www/conf/mime-types}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1834 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1835
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1836 Each line contains information for one http type. These types resemble
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1837 MIME types. To add new ones, use subtypes beginning with x-, such as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1838 application/x-myprogram. Lines beginning with # are comment lines, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1839 suitably ignored. Each line consists of:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1840
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1841 type/subtype ext1 ext2 ... ext@var{n}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1842
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1843 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
1844 of space-separated filename extensions which correspond to the MIME
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1845 type.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1846
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1847 @node Specifying Viewers, ,Adding MIME types based on file extensions, MIME Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1848 @section Specifying Viewers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1849 Not all files look as they should when parsed as an HTML document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1850 (whitespace is stripped, paragraphs are reformatted, and lots of little
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1851 changes that make the document look unrecognizable). Files may be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1852 passed to external programs or Emacs Lisp functions to be viewed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1853
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1854 Not all files can be viewed accurately from within an Emacs session (GIF
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1855 files for example, or audio files). For this reason, the user can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1856 specify file "viewers" based on MIME content-types. This is done with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1857 a standard mailcap file. @xref{Mailcap Files}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1858
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1859 @findex mm-add-mailcap-entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1860 As an alternative, the function @code{mm-add-mailcap-entry} can also be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1861 used from an appropriate hook.@xref{Hooks} This functions takes three
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1862 arguments, the major type ("@i{image}"), the minor type ("@i{gif}"), and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1863 an assoc list of information about the viewer. Please see the URL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1864 documentation for more specific information on what this assoc list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1865 should look like.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1866
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1867 @node Security, Non-Unix Operating Systems, , Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1868 @chapter Security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1869 @cindex Security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1870 @cindex Paranoia
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1871 There are an increasing number of ways to authenticate a user to a web
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1872 service. Emacs-W3 tries to support as many as possible. Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1873 currently supports:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1874
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1875 @table @b
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1876 @item Basic Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1877 @cindex Security, Basic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1878 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1879 @cindex Authentication, Basic
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1880 The weakest authentication available, not recommended if serious
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1881 security is necessary. This is simply a string that looks like
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1882 @samp{user:password} that has been Base64 encoded, as defined in RFC
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1883 1421.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1884 @item Digest Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1885 @cindex Security, Digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1886 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1887 @cindex Authentication, Digest
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1888 Jeffery L. Hostetler, John Franks, Philip Hallam-Baker, Ari Luotonen,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1889 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
1890 authentication mechanism. For the complete specification, please see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1891 draft-ietf-http-digest-aa-01.txt in the nearest internet drafts
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1892 archive@footnote{One is ftp://ds.internic.net/internet-drafts}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1893 @item SSL Encryption
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1894 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1895 @cindex Secure Sockets Layer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1896 @cindex SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1897 @cindex Gag Puke Retch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1898 @cindex Exportability
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1899 @cindex Export Restrictions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1900 SSL is the @code{Secure Sockets Layer} interface developed by Netscape
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1901 Communications @footnote{http://www.netscape.com/}. Emacs-W3 supports
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1902 HTTP transfers over an SSL encrypted channel, if the appropriate files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1903 have been installed.@xref{Installing SSL}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1904 @item PGP/PEM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1905 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1906 @cindex Public Key Cryptography
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1907 @cindex Authentication, PGP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1908 @cindex Authentication, PEM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1909 @cindex RIPEM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1910 @cindex Public Key Cryptography
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1911 @cindex PGP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1912 @cindex Pretty Good Privacy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1913 @cindex Encryption
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1914 @cindex Security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1915 @cindex ITAR must die
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1916 @cindex Stupid export restrictions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1917 @cindex Support your local crypto-anarchist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1918 @cindex NSA freaks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1919 A few servers still support this method of authentication, but it has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1920 been superseded by SSL and Secure-HTTP.@xref{Using PGP/PEM}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1921 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1922
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1923 @node Non-Unix Operating Systems, VMS, Security, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1924 @chapter Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1925 @cindex Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1926 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1927 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1928 * VMS:: The wonderful world of VAX|AXP-VMS!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1929 * OS/2:: The next-best thing to Unix.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1930 * MS-DOS:: The wonderful world of MS-DOG!
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1931 * 16-Bit Windows:: Windows 3.1, 3.11, and WFW 3.11.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1932 * 32-Bit Windows:: Windows NT, Chicago/Windows 95.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1933 * Amiga:: The Amiga, for those who still love them.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1934 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1935 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1936
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1937 @node VMS, OS/2, Non-Unix Operating Systems, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1938 @section VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1939 @cindex VAX-VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1940 @cindex AXP-VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1941 @cindex Digital VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1942 @cindex VMS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1943 :: WORK :: VMS Specific instriuctions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1944
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1945 @node OS/2, MS-DOS, VMS, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1946 @section OS/2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1947 @cindex OS/2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1948 @cindex Warp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1949 :: WORK :: OS/2 Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1950
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1951 @node MS-DOS, 16-Bit Windows, OS/2, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1952 @section MS-DOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1953 @cindex MS-DOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1954 @cindex Microsloth
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1955 @cindex DOS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1956 @cindex MS-DOG
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1957 :: WORK :: DOS Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1958
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1959 @node 16-Bit Windows, 32-Bit Windows, MS-DOS, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1960 @section 16-Bit Windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1961 @cindex 16-Bit Windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1962 @cindex Microsloth
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1963 @cindex Windows (16-Bit)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1964 @cindex Windows For Workgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1965 :: WORK :: 16bit Windows Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1966
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1967 @node 32-Bit Windows, Amiga, 16-Bit Windows, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1968 @section 32-Bit Windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1969 @cindex Chicago
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1970 @cindex Windows (32-Bit)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1971 @cindex 32-Bit Windows
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1972 @cindex Microsloth
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1973 @cindex Windows '95
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1974 :: WORK :: 32bit Windows Specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1975
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1976 @node Amiga, Advanced Features, 32-Bit Windows, Non-Unix Operating Systems
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1977 @section Amiga
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1978 @cindex Amiga
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1979 @cindex Commodore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1980 :: WORK :: Amiga specific instructions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1981
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1982 @node Advanced Features, Style Sheets, Amiga, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1983 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1984 @chapter Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1985
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1986 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1987 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1988 * Style Sheets:: Formatting control, the right way
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1989 * Disk Caching:: Improving performance by using a local disk cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1990 * Interfacing to Mail/News:: How to make VM understand hypertext links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1991 * Debugging HTML:: How to make Emacs-W3 display warnings about invalid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1992 HTML/HTML+ constructs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1993 * Native WAIS Support:: How to make Emacs-W3 understand WAIS links without
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1994 using a gateway.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1995 * Rating Links:: How to make Emacs-W3 put an 'interestingness' value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1996 next to each link.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1997 * Gopher Plus Support:: How Emacs-W3 makes use of the Gopher+ protocol.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1998 * Hooks:: Various hooks to use throughout Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1999 * Other Variables:: Miscellaneous variables that control the real
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2000 guts of Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2001 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2002 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2003
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2004 @node Style Sheets, Disk Caching, Advanced Features, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2005 @section Style Sheets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2006 @cindex Formatting control
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2007 @cindex Style sheets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2008 @cindex Look and Feel
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2009 @cindex Layout control
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2010 @cindex Experimental style sheet mechanism
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2011 Emacs-W3 currently supports the experimental style sheet mechanism
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2012 proposed by H&kon W. Lie of the W3 Consortium. This allows for the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2013 author to specify what a document should look like, and yet allow the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2014 end user to override any of the stylistic changes. This allows for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2015 people with special needs (most notably the visually impaired) to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2016 override style bindings that could make a document totally
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2017 unreadable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2018
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2019 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2020 <style notation="css">
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2021 /* This is a comment
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2022 ** These will be ignored, up to the terminating end-of-line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2023 #
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2024 h1 @{ align: center,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2025 color: yellow,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2026 background: red,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2027 font-size: 24pt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2028 @}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2029 h2 @{ align: right,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2030 font-family: palatino,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2031 font-size: 18pt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2032 @}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2033 </style>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2034 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2035
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2036 :: WORK :: Much more information on stylesheets
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2037
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2038 @cindex <style>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2039 To include a stylesheet into a document, simply use the <style> tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2040 Use the @b{notation} attribute to specify what language the stylesheet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2041 is specified in. The default is @b{css}. The data between the <style>
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2042 and </style> tags is the stylsheet proper - no HTML parsing is done to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2043 this data - it is treated similar to an <XMP> section of text. To
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2044 reference an external stylesheet, use the <link> tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2045 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2046 <link rel="stylesheet" href="/bill.style">
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2047 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2048 If these two mechanisms are mixed, then the URL is resolved first, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2049 the contents of the <style> tag take precedence if there are any
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2050 conflicting directives.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2051
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2052 @cindex DSSSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2053 @cindex DSSSL-lite
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2054 In the future, DSSSL and DSSSL-lite will be supported as valid
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2055 stylesheet languages, but not in this release. For more information on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2056 DSSSL-lite see http://www.falch.no/~pepper/DSSSL-Lite/ - for more
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2057 information on full DSSSL, see
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2058 ftp://ftp.jclark.com/pub/dsssl/dsssl.ps.gz
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2059
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2060 @node Disk Caching, Interfacing to Mail/News, Style Sheets, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2061 @section Disk Caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2062 @cindex Caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2063 @cindex Persistent Cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2064 @cindex Disk Cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2065 A cache stores the information on a page on the local machine. When
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2066 requesting a page that is in the cache, Emacs-W3 can retrieve the page
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2067 from the cache more quickly than retrieving the page again from its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2068 location out on the network. With a well-populated cache, browsing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2069 web is dramatically faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2070
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2071 The first time a page is requested, Emacs-W3 retrieves the page from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2072 network. When requesting a page that is in the cache, Emacs-W3 checks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2073 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
2074 remote machine. If it has not changed, the local copy is used, saving
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2075 the transmission of the file over the network.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2076
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2077 @vindex url-automatic-caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2078 @cindex Turning on caching
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2079 @cindex Cleaning the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2080 @cindex Clearing the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2081 @cindex Cache cleaning
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2082 @cindex Limiting the size of the cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2083 To turn on disk caching, set the variable @code{url-automatic-caching}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2084 to non-@code{nil}, or choose the 'Caching' menu item (under `Options').
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2085 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
2086 fist is recommended, to allow for future cleaning of the cache. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2087 shell script will remove all files that have not been accessed since it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2088 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
2089 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
2090 crontab(5) or at(1) for more information)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2091
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2092
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2093 @cindex Relying on cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2094 @cindex Cache only mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2095 @cindex Standalone mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2096 @cindex Browsing with no network connection
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2097 @cindex Netless browsing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2098 @vindex url-standalone-mode
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2099 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
2100 when traveling, or any other time the network connection is not active
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2101 (a laptop with a dial-on-demand PPP connection, etc). Emacs-W3 can rely
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2102 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
2103 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
2104 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
2105 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
2106 cache. This is very useful for demonstrations as well. To turn this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2107 feature on, set the variable @code{url-standalone-mode} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2108 non-@code{nil}, or choose the `Use Cache Only' menu item (under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2109 `Options')
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2110
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2111 @cindex Caching options
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2112 @cindex Alternate caching method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2113 Emacs-W3 caches files under the temporary directory specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2114 @code{url-temporary-directory}, in a user-specific subdirectory
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2115 (determined by the @code{user-real-login-name} function). The cache
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2116 files are stored under their original names, so a URL like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2117 http://www.spry.com/foo/bar/baz.html would be stored in a cache file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2118 named: /tmp/wmperry/com/spry/www/foo/bar/baz.html. Sometimes, espcially
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2119 with gopher links, there will be name conflicts, and an error will be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2120 signalled. This cannot be avoided, and still have reasonable
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2121 performance at startup time (reading in an index file of all the cached
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2122 pages can take a long time on slow machines, or even fast machines with
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2123 large caches). When running XEmacs 19.12 or later, a different naming
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2124 scheme can be used. This avoids name conflicts, but loses the human
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2125 readability of the cache file names. The cache files will look like:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2126 /tmp/wmperry/acbd18db4cc2f85cedef654fccc4a4d8, which is certainly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2127 unique, but not very user-friendly. To turn this on, add this to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2128 @file{.emacs} file:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2129
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2130
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2131 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2132 (add-hook 'w3-load-hooks '(lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2133 (fset 'url-create-cached-filename
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2134 'url-create-cached-filename-using-md5)))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2135 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2136
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2137 If other versions of emacs will not be sharing the cache, I highly
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2138 recommend this method of creating the cache filename.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2139
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2140
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2141 @node Interfacing to Mail/News, Debugging HTML, Disk Caching, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2142 @section Interfacing to Mail/News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2143 @cindex Interfacing to Mail/News
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2144 @cindex VM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2145 @cindex Using Emacs-W3 with VM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2146 @cindex GNUS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2147 @cindex Using Emacs-W3 with GNUS
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2148 @cindex RMAIL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2149 @cindex Using Emacs-W3 with RMAIL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2150 More and more people are including URLs in their signatures, and within
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2151 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
2152 the minibuffer to follow one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2153
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2154 With the latest versions of VM (the 5.9x series of betas), URLs are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2155 highlighted, and can be followed with the mouse or the return
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2156 key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2157
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2158 To access URLs from within RMAIL, the following hook should do the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2159 trick.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2160 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2161 (add-hook 'rmail-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2162 (function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2163 (lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2164 (define-key rmail-mode-map [mouse-2] 'w3-maybe-follow-link-mouse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2165 (define-key rmail-mode-map "\r" 'w3-maybe-follow-link))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2166 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2167
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2168 To access URLs from within GNUS, the following hook should do the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2169 trick.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2170 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2171 (add-hook 'gnus-article-mode-hook
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2172 (function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2173 (lambda ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2174 (define-key gnus-article-mode-map [mouse-2]
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2175 'w3-maybe-follow-link-mouse)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2176 (define-key gnus-article-mode-map "\r"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2177 'w3-maybe-follow-link))))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2178 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2179
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2180 @node Debugging HTML, Native WAIS Support, Interfacing to Mail/News, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2181 @section Debugging HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2182 @cindex Debugging
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2183 @cindex Invalid HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2184 @cindex Bad HTML
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2185 @vindex w3-debug-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2186 @vindex w3-debug-html
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2187 For those people that are adventurous, or are just as anal as I am about
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2188 people writing valid HTML, set the variable @code{w3-debug-html} to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2189 @code{t} and see what happens.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2190
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2191
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2192 If a Emacs-W3 thinks it has encountered invalid HTML, then a debugging
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2193 message is displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2194
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2195 :: WORK :: Need to list the different values w3-debug-html can have, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2196 :: WORK :: what they do ::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2197
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2198 @node Native WAIS Support, Rating Links, Debugging HTML, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2199 @section Native WAIS Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2200 This version of Emacs-W3 supports native WAIS querying (earlier
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2201 versions required the use of a gateway program). In order to use the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2202 native WAIS support, a working @dfn{waisq} binary is required. I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2203 recommend the distribution from think.com -
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2204 ftp://think.com/wais/wais-8-b6.1.tar.Z is a good place to start.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2205
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2206 @vindex url-waisq-prog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2207 @vindex url-wais-gateway-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2208 @vindex url-wais-gateway-port
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2209 The variable @code{url-waisq-prog} must point to this executable, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2210 one of @code{url-wais-gateway-server} or @code{url-wais-gateway-port}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2211 should be @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2212
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2213 When a WAIS URL is encountered, a form will be automatically generated
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2214 and displayed. After typing in the search term, the query will be sent
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2215 to the server by running the @code{url-waisq-prog} in a subprocess. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2216 results will be converted into HTML and displayed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2217
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2218 @node Rating Links, Gopher Plus Support, Native WAIS Support, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2219 @section Rating Links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2220 The @code{w3-link-info-display-function} variable can be used to 'rate' a URL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2221 when it shows up in an HTML page. If non-@code{nil}, then this should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2222 be a list specifying (or a symbol specifying the name) of a function.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2223 This function should expect one argument, a fully specified URL, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2224 should return a string. This string is inserted after the link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2225 text.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2226
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2227 If a user has decided that all links served from blort.com are too laden
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2228 with images, and wants to be warned that a link points at this host,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2229 they could do something like this:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2230
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2231 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2232 (defun check-url (url)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2233 (if (string-match "://[^/]blort.com" url)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2234 "[SLOW!]" ""))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2235
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2236 (setq w3-link-info-display-function 'check-url)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2237 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2238
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2239 So that all links pointing to any site at blort.com shows up as "Some
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2240 link[SLOW!]" instead of just "Some link".
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2241
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2242 @node Gopher Plus Support, Hooks, Rating Links, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2243 @section Gopher+ Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2244 @cindex Gopher+
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2245 The gopher+ support in Emacs-W3 is limited to the conversion of ASK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2246 blocks into HTML 3.0 forms, and the usage of the content-length given by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2247 the gopher+ server to give a nice status bar on the bottom of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2248 screen.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2249
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2250 This will hopefully be extended to include the Gopher+ method of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2251 content-type negotiation, but this may be a while.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2252
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2253 @node Hooks, Other Variables, Gopher Plus Support, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2254 @section Hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2255 @cindex Hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2256 These are the various hooks that can be used to customize some of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2257 Emacs-W3's behavior. They are arranged in the order in which they would
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2258 happen when retrieving a document. All of these are functions (or lists
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2259 of functions) that are called consecutively.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2260
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2261 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2262 @vindex w3-load-hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2263 @item w3-load-hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2264 These hooks are run by @code{w3-do-setup} the first time a URL is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2265 fetched. All the w3 variables are initialized before this hook is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2266 run.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2267 @item w3-file-done-hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2268 These hooks are run by @code{w3-prepare-buffer} after all parsing on a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2269 document has been done. All @code{url-current-}@var{*} and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2270 @code{w3-current-}@var{*} variables are initialized when this hook is run.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2271 This is run before the buffer is shown, and before any inlined images
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2272 are downloaded and converted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2273 @item w3-file-prepare-hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2274 These hooks are run by @code{w3-prepare-buffer} before any parsing is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2275 done on the HTML file. The HTTP/1.0 headers specified by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2276 @code{w3-show-headers} have been inserted, the syntax table has been set
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2277 to @code{w3-parse-args-syntax-table}, and any personal annotations have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2278 been inserted by the time this hook is run.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2279 @item w3-mode-hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2280 These hooks are run after a buffer has been parsed and displayed, but
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2281 before any inlined images are downloaded and converted.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2282 @item w3-source-file-hooks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2283 These hooks are run after displaying a document's source
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2284 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2285
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2286 @node Other Variables, , Hooks, Advanced Features
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2287 @section Miscellaneous variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2288 There are lots of variables that control the real nitty-gritty of Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2289 that the beginning user probably shouldn't mess with. Here they are.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2290
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2291 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2292 @item url-bad-port-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2293 @vindex url-bad-port-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2294 List of ports to warn the user about connecting to. Defaults to just
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2295 the mail and NNTP ports so a malicious HTML author cannot spoof mail or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2296 news to other people.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2297 @item url-confirmation-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2298 @vindex url-confirmation-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2299 What function to use for asking yes or no functions. Possible values
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2300 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
2301 a single argument (the prompt), and returns @code{t} only if a positive
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2302 answer is gotten. Defaults to @code{'yes-or-no-p}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2303 @item w3-delimit-links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2304 @vindex w3-delimit-links
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2305 :: WORK :: This is going away, and should be specified with stylesheets instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2306 @item w3-delimit-emphasis
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2307 @vindex w3-delimit-emphasis
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2308 :: WORK :: This is going away, and should be specified with stylesheets instead
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2309 @item w3-default-action
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2310 @vindex w3-default-action
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2311 A lisp symbol specifying what action to take for files with extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2312 that are not in the @code{mm-mime-extensions} assoc list. This is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2313 useful in case Emacs-W3 ever run across files with weird extensions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2314 (.foo, .README, .READMEFIRST, etc.). In most circumstances, this should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2315 not be required anymore.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2316
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2317 Possible values: any lisp symbol. Should be a function that takes no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2318 arguments. The return value does not matter, it is ignored. Some examples
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2319 are @code{'w3-prepare-buffer} or @code{'indented-text-mode}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2320 @ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2321 @item w3-icon-directory-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2322 @vindex w3-icon-directory-list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2323 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
2324 in a /! If the directory @code{data-directory}/w3 exists, then this is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2325 automatically added to the default value of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2326 http://cs.indiana.edu/elisp/w3/icons/.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2327 @end ignore
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2328 @item w3-keep-old-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2329 @vindex w3-keep-old-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2330 Whether to keep old buffers around when following links. To avoid lots
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2331 of buffers in one Emacs session, set this variable to @code{nil}. I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2332 recommend setting it to @code{t}, so that backtracking from one link to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2333 another is faster.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2334
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2335 @item url-passwd-entry-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2336 @vindex url-passwd-entry-func
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2337 This is a symbol indicating which function to call to read in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2338 password. If this variable is @code{nil} at startup, it is initialized
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2339 depending on whether @dfn{EFS} or @dfn{ange-ftp} is being used. This
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2340 function should accept the prompt string as its first argument, and the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2341 default value as its second argument.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2342
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2343 @item w3-reuse-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2344 @vindex w3-reuse-buffers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2345 Determines what happens when @code{w3-fetch} is called on a document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2346 that has already been loaded into another buffer. Possible values are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2347 @code{nil}, @code{yes}, and @code{no}. @code{nil} will ask the user if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2348 Emacs-W3 should reuse the buffer (this is the default value). A value of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2349 @code{yes} means assume the user wants to always reuse the buffer. A
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2350 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
2351 document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2352 @item w3-show-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2353 @vindex w3-show-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2354 This is a list of HTTP/1.0 headers to show at the end of a buffer. All
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2355 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
2356 buffer in a <UL> list. Alternatively, if this is simply @code{t}, then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2357 all the HTTP/1.0 headers are shown. The default value is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2358 @code{nil}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2359 @item w3-show-status, url-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2360 @vindex url-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2361 @vindex w3-show-status
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2362 Whether to show progress messages in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2363 @code{w3-show-status} controls if messages about the parsing are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2364 displayed, and @code{url-show-status} controls if a running total of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2365 number of bytes transferred is displayed. These Can cause a large
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2366 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
2367 terminal with a slow modem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2368 @item mm-content-transfer-encodings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2369 @vindex mm-content-transfer-encodings
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2370 An assoc list of @var{Content-Transfer-Encodings} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2371 @var{Content-Encodings} and the appropriate decoding algorithms for each.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2372 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
2373 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
2374 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
2375 If using an external decoder, it must accept its input from @code{stdin}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2376 and send its output to @code{stdout}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2377
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2378 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
2379 non-@code{nil}, then that encoding can be handled internally. The function
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2380 is called with 2 arguments, buffer positions bounding the region to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2381 decoded. The function should completely replace that region with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2382 unencoded information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2383
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2384 Currently supported transfer encodings are: base64, x-gzip, 7bit, 8bit,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2385 binary, x-compress, x-hqx, and quoted-printable.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2386 @item url-uncompressor-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2387 @vindex url-uncompressor-alist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2388 An assoc list of file extensions and the appropriate uncompression
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2389 programs for each. This is used to build the Accept-encoding header for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2390 HTTP/1.0 requests.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2391 @item url-waisq-prog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2392 @vindex url-waisq-prog
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2393 Name of the waisq executable on this system. This should be the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2394 @file{waisq} program from think.com's wais8-b5.1 distribution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2395 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2396
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2397 @node More Help, Future Directions, , Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2398 @chapter More Help
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2399 @cindex Relevant Newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2400 @cindex Newsgroups
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2401 @cindex Support
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2402 For more help on Emacs-W3, please send me mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2403 (@i{wmperry@@cs.indiana.edu}). Several discussion lists have also been
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2404 created for Emacs-W3. To subscribe, send mail to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2405 @i{majordomo@@indiana.edu}, with the body of the message 'subscribe
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2406 @var{listname} @var{<email addres>}'. All other mail should go to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2407 @i{<listname>@@indiana.edu}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2408
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2409
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2410 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2411 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2412 w3-announce -- this list is for anyone interested in Emacs-W3, and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2413 should in general only be used by me. The gnu.emacs.sources newsgroup
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2414 and a few other mailing lists are included on this. Please only use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2415 this list for major package releases related to Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2416 (@i{www-announce@@w3.org} is included on this list).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2417 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2418 w3-beta -- this list is for beta testers of Emacs-W3. These brave souls test
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2419 out not-quite stable code.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2420 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2421 w3-dev -- a list consisting of myself and a few other people who are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2422 interested in the internals of Emacs-W3, and doing active development work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2423 Pretty dead right now, but I hope it will grow.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2424 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2425
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2426 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
2427 comp.infosystems.www.* newsgroups. There are also several discussion
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2428 lists concerning the Web. Send mail to @i{<listname>-request@@w3.org}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2429 with a subject line of 'subscribe <listname>'. All mail should go to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2430 @i{<listname>@@w3.org}. Administrative mail should go to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2431 @i{www-admin@@w3.org}. The lists are:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2432
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2433
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2434 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2435 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2436 www-talk -- for general discussion of the World Wide Web, where its
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2437 going, new features, etc. All the major developers are subscribed to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2438 this list.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2439 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2440 www-announce -- for announcements concerning the World Wide Web. Server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2441 changes, new servers, new software, etc.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2442 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2443
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2444 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
2445
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2446 @node Future Directions, Programming Interface, More Help, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2447 @chapter Future Directions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2448 Changes are constantly being made to the Emacs browser (hopefully all
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2449 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
2450 right now.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2451
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2452 :: WORK :: Revamp the todo list
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2453 @node Programming Interface, Generalized ZONES, Future Directions, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2454 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2455 @chapter Internals of Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2456 @cindex Internals of Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2457 @cindex Using Emacs-W3 from other programs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2458 This chapter attempts to explain some of the internal workings of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2459 Emacs-W3 and various data structures that are used. It also details
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2460 some functions that are useful for using some of the Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2461 functionality from within other programs, or extending the current
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2462 capabilities of Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2463
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2464 @ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2465 @menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2466 * Generalized ZONES:: A generic interface to 'zones' of text
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2467 that can contain information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2468 * Global Variables:: Global variables used throughout Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2469 * Data Structures:: The various data structures used in Emacs-W3
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2470 * Miscellaneous Functions:: Miscellaneous functions to interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2471 with w3 and access its data structures
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2472 * MIME functions:: MIME functions---parsing messages,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2473 mailcap files, and more.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2474 @end menu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2475 @end ifinfo
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2476 @node Generalized ZONES, Global Variables,Programming Interface, Programming Interface, Programming Interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2477 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2478 @section Generalized ZONES
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2479 Due to the many different @i{flavors} of Emacs in existence, the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2480 addition of data and font information to arbitrary regions of text has
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2481 been generalized. The following functions are defined for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2482 using/manipulating these @dfn{zones} of data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2483
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2484 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2485 @findex w3-add-zone
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2486 @item w3-add-zone (start end style data &optional highlight)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2487 Creates a zone between buffer positions start and end, with font
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2488 information specified by style, and a data segment of data. If the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2489 optional argument highlight is non-@code{nil}, then the region
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2490 highlights when the mouse moves over it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2491
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2492
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2493 @findex w3-zone-at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2494 @item w3-zone-at (point)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2495 Returns the zone at @var{point}. Preference is given to hypertext
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2496 links, then to form entry areas, then to inlined images. So if an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2497 inlined image was part of a hypertext link, this would always return the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2498 hypertext link.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2499
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2500 @findex w3-zone-data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2501 @item w3-zone-data (zone)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2502 Returns the zone's data segment. The data structures used in Emacs-W3 are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2503 relatively simple. They are just list structures that follow a certain
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2504 format. The two main data types are @dfn{form objects}, @dfn{link
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2505 objects},and @dfn{inlined images}. All the information for these types
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2506 of links are stored as lists.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2507
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2508 @findex w3-zone-hidden-p
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2509 @item w3-zone-hidden-p (zone)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2510 Returns @code{t} if and only if a zone is currently invisible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2511 @findex w3-hide-zone
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2512 @item w3-hide-zone (start end)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2513 Makes a region of text from @code{start} to @code{end} invisible.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2514 @findex w3-unhide-zone
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2515 @item w3-unhide-zone (start end)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2516 Makes a region of text from @code{start} to @code{end} visible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2517 again.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2518 @findex w3-zone-start
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2519 @item w3-zone-start (zone)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2520 Returns an integer that is the start of zone, as a buffer position. In
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2521 Emacs 18.xx, this returns a marker instead of an integer, but it can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2522 used just like an integer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2523 @findex w3-zone-end
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2524 @item w3-zone-end (zone)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2525 Returns an integer that is the end of zone, as a buffer position. In
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2526 Emacs 18.xx, this returns a marker instead of an integer, but it can be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2527 used just like an integer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2528 @findex w3-zone-eq
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2529 @item w3-zone-eq (zone1 zone2)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2530 Returns @code{t} if and only if zone1 and zone2 represent the same
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2531 region of text in the same buffer, with the same properties and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2532 data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2533 @findex w3-delete-zone
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2534 @item w3-delete-zone (zone)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2535 Removes zone from its buffer (or current buffer). The return value is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2536 irrelevant, and varies for each version of Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2537 @findex w3-all-zones
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2538 @item w3-all-zones ()
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2539 Returns a list of all the zones contained in the current buffer. Useful
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2540 for extracting information about hypertext links or form entry
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2541 areas. Programs should not rely on this list being sorted, as the order
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2542 varies with each version of Emacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2543 @item w3-zone-at (pt)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2544 Returns the zone at character position PT in the current buffer that is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2545 either a link or a forms entry area. Returns @code{nil} if no link at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2546 point.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2547
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2548 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2549 @findex w3-zone-data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2550 These data structures are what is generally returned by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2551 @code{w3-zone-data}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2552
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2553 @node Global Variables, Data Structures , Generalized ZONES, Programming Interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2554 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2555 @section Global variables
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2556 There are also some variables that may be useful when writing a program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2557 or function that interacts with Emacs-W3. All of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2558 @code{w3-current-*} variables are local to each buffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2559
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2560
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2561 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2562 @vindex url-current-mime-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2563 @item url-current-mime-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2564 An assoc list of all the MIME headers for the current document. Keyed
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2565 on the lowercase MIME header (e.g., @samp{content-type} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2566 @samp{content-encoding}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2567 @vindex url-current-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2568 @item url-current-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2569 Server that the current document was retrieved from.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2570 @vindex url-current-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2571 @item url-current-file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2572 Filename of the current document
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2573 @vindex url-current-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2574 @item url-current-type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2575 A string representing what network protocol was used to retrieve the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2576 current buffer's document. Can be one of http, gopher, file, ftp, news,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2577 or mailto.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2578 @vindex url-current-port
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2579 @item url-current-port
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2580 Port # of the current document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2581 @vindex w3-current-last-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2582 @item w3-current-last-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2583 The last buffer seen before this one.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2584 @vindex w3-running-FSF19
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2585 @item w3-running-FSF19
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2586 This is @code{t} if and only if we are running in FSF Emacs 19.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2587 @vindex w3-running-xemacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2588 @item w3-running-xemacs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2589 This is @code{t} if and only if we are running in Lucid Emacs, WinEmacs, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2590 XEmacs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2591 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2592
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2593 @node Data Structures, Miscellaneous Functions, Global Variables, Programming Interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2594 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2595 @section Data Structures
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2596 Form objects are used to store information about a FORM data entry area.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2597 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2598 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2599 @code{'w3form}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2600 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2601 A cons pair of (METHOD . URL), where METHOD specifies what method to use
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2602 to retrieve the form when it is submitted (e.g., @samp{GET}) and URL is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2603 fully specified URL pointing at where to submit the FORM data to.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2604 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2605 The type of input area this is. (e.g., @samp{CHECKBOX} or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2606 @samp{RADIO})
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2607 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2608 The name of the input tag. This is used when sending the form to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2609 server, so that the server can tell what data is what.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2610 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2611 The default value of the input area. Gotten from the INPUT tag at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2612 creation time.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2613 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2614 The current value of the input area.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2615 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2616 Whether the item is checked or not. Only used for RADIO or CHECKBOX
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2617 items.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2618 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2619 The size (in characters) of the input area. Not used for CHECKBOX,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2620 RADIO, or TEXTAREA input areas.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2621 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2622 The maximum length of the input. Only used for TEXT or PASSWORD input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2623 areas.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2624 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2625 The form that this input area belongs to. Each form in the same buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2626 has a unique identifier assigned when the document is parsed. It is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2627 used when the form is submitted to get only the data for the correct
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2628 form.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2629 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2630 A list of strings that represent the choices for this input area. Only
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2631 used for SELECT tags.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2632 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2633 A string or @code{nil}, specifying the ID attribute on this input
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2634 tag.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2635 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2636
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2637 A new development in the World Wide Web is the concept of collapsible
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2638 areas of text. If a zone controls one of these regions, it is marked
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2639 with the @b{w3expandlist} property. The format of this structure
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2640 is:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2641
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2642 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2643 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2644 @code{'w3expandlist}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2645 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2646 A marker representing the start of the hidden text as a buffer position.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2647 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2648 A marker representing the end of the hidden text as a buffer position.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2649 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2650
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2651 A zone with the @b{w3graphic} property is a link to an inlined image's
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2652 source file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2653 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2654 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2655 @code{'w3graphic}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2656 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2657 @findex w3-follow-inlined-image
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2658 The full URL of the inlined image. This is only ever returned if the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2659 inlined image is the only extent under point, or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2660 @code{w3-follow-inlined-image} is invoked.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2661 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2662
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2663 A zone with the @b{w3} property is a full-fledged hypertext link to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2664 another document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2665 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2666 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2667 @code{'w3}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2668 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2669 The ID attribute of this link. Used for resolving references to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2670 specific points within a document (e.g., @samp{file.html#sectionA}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2671 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2672 The HREF attribute of this link. This is a fully specified URL pointing
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2673 at a network resource. All relative directory references should have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2674 been removed before being stored in this structure.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2675 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2676 The text between the <A> and </A> tags. This is used to build menus or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2677 to get the text of a link without doing a buffer-substring.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2678 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2679 The URN attribute of this link. Currently not used for anything,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2680 waiting for the URN specification to be hammered out.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2681 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2682 The REL attribute of this link. Specifies the links relevance to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2683 current document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2684 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2685 The REV attribute of this link. Specifies the current documents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2686 relevance to the link.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2687 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2688 The METHODS attribute, which tells what methods can be used on this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2689 link. (e.g., @samp{GET, HEAD, PUT}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2690 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2691 @node Miscellaneous Functions, MIME functions, Data Structures, Programming Interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2692 @comment node-name, next, previous, up
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2693 @section Miscellaneous Functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2694 I have done quite a bit of work trying to make a clean interface to the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2695 internals of Emacs-W3.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2696
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2697 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2698 @findex url-clear-tmp-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2699 @vindex url-working-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2700 @item url-clear-tmp-buffer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2701 Sets the current buffer to be @code{url-working-buffer}, creating it if
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2702 necessary, and erase it. This should usually be called before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2703 retrieving URLs.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2704
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2705 @findex w3-convert-html-to-latex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2706 @item w3-convert-html-to-latex
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2707 Takes a buffer of HTML markup (which should be in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2708 @code{w3-working-buffer}), and convert it into LaTeX. This is an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2709 adaptation of the simple sed scripts from Cern. Does as good a job as
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2710 the html2latex program, and I usually prefer its formatting over
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2711 html2latex's.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2712
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2713 @findex w3-fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2714 @item w3-fetch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2715 Takes a URL as its only argument. It then attempts to retrieve the URL.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2716 For example: @samp{(w3-fetch "http://cs.indiana.edu/")} would retrieve
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2717 the Indiana University CS home page and parse it as HTML.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2718
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2719
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2720 @findex url-generate-new-buffer-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2721 @item url-generate-new-buffer-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2722 Takes a string, and returns the first unique buffer name using that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2723 string as a base. For example @samp{(url-generate-new-buffer-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2724 "new-buff")} would return @samp{"new-buff<1>"} if buffer @code{new-buff}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2725 already existed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2726
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2727
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2728 @findex url-generate-unique-filename
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2729 @item url-generate-unique-filename
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2730 Returns a string that represents a unique filename in the /tmp
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2731 directory. For example, @samp{(url-generate-unique-filename)} would
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2732 return @samp{"/tmp/url-tmp129440"}. The filename is arrived at by using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2733 a unique prefix (url-tmp), the uid of the current user (12944 in my
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2734 case), and a number that is incremented if a file already exists.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2735
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2736
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2737 @findex url-buffer-visiting
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2738 @item url-buffer-visiting (url)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2739 Returns the name of a buffer (if any) that is visiting URL.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2740
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2741 @findex url-create-mime-request
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2742 @vindex url-request-extra-headers
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2743 @vindex url-request-data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2744 @vindex url-request-method
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2745 @vindex url-mime-accept-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2746 @vindex url-current-server
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2747 @cindex Creating an HTTP request
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2748 @item url-create-mime-request (fname ref-url)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2749 Creates a MIME request for the file fname. The Referer: field of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2750 HTTP/1.0 request is set to the value of ref-url if necessary. Returns a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2751 string that can be sent to an HTTP server. The request uses several
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2752 variables that control how the request looks.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2753
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2754
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2755 If the value of @code{url-request-extra-headers} is non-@code{nil}, then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2756 it is used as extra MIME headers when an HTTP/1.0 request is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2757 created.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2758
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2759 @findex url-get-url-at-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2760 @item url-get-url-at-point
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2761 Returns the url at a point specified by an optional argument. If no
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2762 argument is given to the function, the current buffer position is used.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2763 Tries to find the URL closest to that point, but does not change the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2764 users position in the buffer. Has a preference for looking backward
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2765 when not directly on a URL.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2766
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2767
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2768 @findex url-hexify-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2769 @item url-hexify-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2770 Takes a string and replaces any characters that are not acceptable in a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2771 URL with the "escaped" encoding that is standard for URLs (replaces the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2772 character with a % followed by the hexadecimal representation of the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2773 ASCII value of the character). For example, @samp{(url-hexify-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2774 "this is a test")} would return @samp{"this%20is%20a%20test"}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2775
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2776
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2777 @findex url-open-stream
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2778 @item url-open-stream
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2779 Takes the same parameters as @code{open-network-stream}, and functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2780 similarly. It takes a process name, a buffer name, a host name, and a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2781 port number or server name. It attempts to open a network connection to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2782 the remote host on the specified port/service name, with output going to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2783 the buffer. It returns the process object that is the network
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2784 connection.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2785
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2786
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2787 @findex url-retrieve
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2788 @item url-retrieve
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2789 :: WORK :: Need to describe the url-request-* variables and the no-cache and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2790 expected-md5 arguments to url-retrieve ::
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2791
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2792
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2793 @findex url-unhex-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2794 @item url-unhex-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2795 This is the opposite of @code{url-hexify-string}. It removes any %XXX
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2796 encoded characters in a string. For example @samp{(url-unhex-string
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2797 "this%20is%20a%20test")} would return @samp{"this is a test"}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2798
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2799 @findex w3-view-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2800 @item w3-view-this-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2801 Returns the URL of the hyperlink under point (if no hyperlink is under
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2802 point, then it returns @code{nil}). If the optional argument is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2803 @code{nil}, then the URL is also displayed in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2804
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2805
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2806 @findex url-view-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2807 @item url-view-url
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2808 Returns the URL of current document. If the optional argument is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2809 @code{nil}, then the URL is also displayed in the minibuffer.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2810
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2811 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2812
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2813 @node MIME functions, Reporting Bugs, Miscellaneous Functions, Programming Interface
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2814 @section MIME Functions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2815 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2816 @item mm-compose-type(TYPE)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2817 Composes a body section of MIME-type TYPE. This uses the compose field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2818 of a mailcap entry to generate the data, and returns a string that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2819 contains the data, with a correct content-type header.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2820
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2821 @item mm-extension-to-mime(EXTN)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2822 Returns the MIME content-type of the file extension EXTN.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2823 @item mm-mime-info(ST ND REQUEST)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2824 Returns the mime viewer command for a specific MIME type. If ST is a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2825 number, then the MIME type is the @code{buffer-substring} between ST and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2826 ND, otherwise ST should be a string specifying the MIME type and
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2827 associated data. Returns @code{nil} if the specified type is not found.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2828
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2829
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2830 Expects a complete content-type header line as its argument. This can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2831 be simple like text/html, or complex like text/plain; charset=blah; foo=bar
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2832
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2833
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2834 Third argument REQUEST specifies what information to return. If it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2835 @code{nil} or the empty string, the viewer (second field of the mailcap
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2836 entry) is returned. If it is a string, then the mailcap field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2837 corresponding to that string is returned (print, description, whatever).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2838 If a number, then all the information for this specific viewer is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2839 returned.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2840 @item mm-parse-mailcap(FILE)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2841 Parses the mailcap file specified by FILE.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2842 @item mm-parse-mailcaps(PATH)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2843 Parses the default mailcap files. Optional argument PATH specifies a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2844 UNIX-style path of where to find the mailcap files. This function must
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2845 be run before the rest of the mm-* functions.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2846 @item mm-parse-mimetype-file(FILE)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2847 Parses out a mime-types file specified by FILE.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2848 @item mm-parse-mimetypes(PATH)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2849 Parses the default mimetypes files. Optional argument PATH specifies a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2850 UNIX-style path of where to find the mimetypes files.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2851 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2852
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2853 @node Reporting Bugs, Installing SSL, MIME functions, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2854 @appendix Reporting Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2855 @cindex Reporting Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2856 @cindex Bugs
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2857 @cindex Contacting the author
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2858
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2859 :: WORK :: Reporting bugs needs work.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2860
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2861 @node Installing SSL, Using PGP/PEM, Reporting Bugs, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2862 @appendix Installing SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2863 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2864 @cindex Secure Sockets Layer
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2865 @cindex SSL
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2866 @cindex Gag Puke Retch
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2867 @cindex Exportability
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2868 @cindex Export Restrictions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2869 In order to use SSL in Emacs-W3, an implementation of SSL is necessary.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2870 These are the implementations that I am aware of:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2871
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2872 @table @code
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2873 @item SSLRef 2.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2874 Available from Netscape Communications @footnote{http://www.netscape.com/newsref/std/sslref.html}. This requires the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2875 RSARef library, which is not exportable. The RSARef library is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2876 available from ftp://ftp.rsa.com/rsaref/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2877 @item SSLeay 0.4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2878 An implementation by Eric Young (eay@@mincom.oz.au) that is free for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2879 commerial or noncommercial use, and was developed completely outside the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2880 US by a non-US citizen. More information can be found at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2881 ftp://ftp.psy.uq.oz.au/pub/Crypto/SSL/
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2882 @end table
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2883
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2884 @vindex ssl-program-name
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2885 Whichever reference implementation is used (I recommend the SSLeay
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2886 distribution, just to thumb a nose at the NSA :), there is a program
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2887 that can be run in a subprocess that takes a hostname and port number on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2888 the command line, and reads/writes to standard input/output (the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2889 Netscape implementation comes with one of these by default). Set the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2890 variable @code{ssl-program-name} to point to this program.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2891
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2892
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2893 This should be all the configuration necessary. In the future, I will
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2894 be distributing a set of patches to Emacs 19.xx and XEmacs 19.xx to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2895 SSL-enable them, for the sake of speed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2896
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2897 @node Using PGP/PEM, Mailcap Files, Installing SSL, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2898 @appendix Using PGP/PEM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2899 @cindex HTTP/1.0 Authentication
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2900 @cindex Public Key Cryptography
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2901 @cindex Authentication, PGP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2902 @cindex Authentication, PEM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2903 @cindex RIPEM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2904 @cindex Public Key Cryptography
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2905 @cindex PGP
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2906 @cindex Pretty Good Privacy
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2907 @cindex Encryption
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2908 @cindex Security
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2909 @cindex ITAR must die
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2910 @cindex Stupid export restrictions
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2911 @cindex Support your local crypto-anarchist
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2912 @cindex NSA freaks
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2913 Most of this chapter has been reproduced from the original documentation
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2914 written by Rob McCool (@i{robm@@netscape.com})@footnote{See
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2915 http://hoohoo.ncsa.uiuc.edu/docs/PEMPGP.html for the original}.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2916
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2917 RIPEM is 'Riordan's Internet Privacy Enhanced Mail', and is currently on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2918 version 1.2b3. US citizens can ftp it from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2919 ftp://ripem.msu.edu/pub/crypt/ripem.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2920
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2921 PGP is 'Pretty Good Privacy', and is currently on version 2.6. The
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2922 legal controversies that plagued earlier versions have been resolved, so
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2923 this is a competely legal program now. There is also a legal version
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2924 for european users, called 2.6ui (the Unofficial International
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2925 version).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2926
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2927 PGP and PEM are programs that allow two parties to communicate in a way
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2928 which does not allow third parties to read them, and which certify that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2929 the person who sent the message is really who they claim they are.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2930
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2931
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2932 PGP and PEM both use RSA encryption. The U.S. government has strict
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2933 export controls over foreign use of this technology, so people outside
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2934 the U.S. may have a difficult time finding programs which perform the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2935 encryption.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2936
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2937 A working copy of either Pretty Good Privacy or RIPEM is required. You
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2938 should be familiar with the program and have generated a public/private
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2939 key pair.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2940
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2941
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2942 Currently, the protocol has been implemented with PEM and PGP using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2943 local key files on the server side, and on the client side with PEM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2944 using finger to retrieve the server's public key.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2945
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2946 Parties who wish to use Emacs-W3 with PEM or PGP encryption will need to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2947 communicate beforehand and find a tamper-proof way to exchange their
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2948 public keys.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2949
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2950 Pioneers get shot full of arrows. This work is currently in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2951 experimental stages and thus may have some problems that I have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2952 overlooked. The only known problem that I know about is that the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2953 messages are currently not timestamped. This means that a malicious
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2954 user could record the encrypted message with a packet sniffer and repeat
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2955 it back to the server ad nauseum. Although they would not be able to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2956 read the reply, if the request was for something being charged for, this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2957 could be very inconvenient.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2958
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2959 This protocol is almost word-for-word a copy of Tony Sander's RIPEM
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2960 based scheme, generalized a little. Below, wherever PEM is used,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2961 replace it with PGP, and the behaviour should remain the same.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2962
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2963 @example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2964 *Client:*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2965
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2966 GET /docs/protected.html HTTP/1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2967 UserAgent: Emacs-W3/2.1.x
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2968
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2969 *Server:*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2970
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2971 HTTP/1.0 401 Unauthorized
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2972 WWW-Authenticate: PEM entity="webmaster@@hoohoo.ncsa.uiuc.edu"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2973 Server: NCSA/1.1
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2974
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2975 *Client:*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2976
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2977 GET / HTTP/1.0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2978 Authorization: PEM entity="robm@@ncsa.uiuc.edu"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2979 Content-type: application/x-www-pem-request
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2980
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2981 --- BEGIN PRIVACY-ENHANCED MESSAGE ---
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2982 this is the real request, encrypted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2983 --- END PRIVACY-ENHANCED MESSAGE ---
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2984
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2985 *Server:*
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2986
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2987 HTTP/1.0 200 OK
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2988 Content-type: application/x-www-pem-reply
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2989
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2990 --- BEGIN PRIVACY-ENHANCED MESSAGE ---
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2991 this is the real reply, encrypted
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2992 --- END PRIVACY-ENHANCED MESSAGE ---
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2993 That's it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2994 @end example
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2995
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2996 @cindex Mailcrypt
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2997 Emacs-W3 uses the excellent @i{mailcrypt}@footnote{Available from
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2998 http://www.cs.indiana.edu/LCD/cover.html?mailcrypt} package written by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2999 Jin S Choi (@i{jsc@@mit.edu}). This package takes care of calling ripem
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3000 and/or pgp with the correct arguments. Please see the documentation at
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3001 the top of mailcrypt.el for instructions on using mailcrypt. All bug
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3002 reports about mailcrypt should go to Jin S Choi, but bugs about how I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3003 use it in Emacs-W3 should of course be directed to me.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3004
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3005 @node Mailcap Files, General Index, Using PGP/PEM, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3006 @appendix Mailcap Files
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3007 NCSA Mosaic and almost all other WWW browsers rely on a separate file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3008 for mapping MIME types to external viewing programs. This takes some of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3009 the burden off of browser developers, so each browser does not have to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3010 support all image formats, or postscript, etc. Instead of having the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3011 users of Emacs-W3 duplicate this in lisp, this file can be parsed using
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3012 the @code{mm-parse-mailcaps} function. This function is called each
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3013 time Emacs-W3 is loaded. It tries to locate mimetype files in several
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3014 places. If the environment variable @code{MAILCAPS} is nonempty, then
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3015 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
3016 colon separated string of pathnames). If the @code{MAILCAPS}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3017 environment variable is empty, then Emacs-W3 looks for these
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3018 files:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3019
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3020 @enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3021 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3022 @file{~/.mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3023 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3024 @file{/etc/mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3025 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3026 @file{/usr/etc/mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3027 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3028 @file{/usr/local/etc/mailcap}
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3029 @end enumerate
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3030
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3031 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
3032 follows (this is taken verbatim from sections of RFC 1343).
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3033
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3034 Each mailcap file consists of a set of entries that describe the proper
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3035 handling of one media type at the local site. For example, one line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3036 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
3037 file consists of a sequence of such individual entries, separated by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3038 newlines (according to the operating system's newline
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3039 conventions). Blank lines and lines that start with the "#" character
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3040 (ASCII 35) are considered comments, and are ignored. Long entries may
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3041 be continued on multiple lines if each non-terminal line ends with a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3042 backslash character ('\', ASCII 92), in which case the multiple lines
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3043 are to be treated as a single mailcap entry. Note that for such
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3044 "continued" lines, the backslash must be the last character on the line
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3045 to be continued.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3046
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3047 Each mailcap entry consists of a number of fields, separated by
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3048 semi-colons. The first two fields are required, and must occur in the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3049 specified order. The remaining fields are optional, and may appear in
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3050 any order.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3051
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3052 The first field is the content-type, which indicates the type of data
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3053 this mailcap entry describes how to handle. It is to be matched against
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3054 the type/subtype specification in the "Content-Type" header field of an
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3055 Internet mail message. If the subtype is specified as "*", it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3056 intended to match all subtypes of the named content-type.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3057
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3058 The second field, view-command, is a specification of how the message or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3059 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
3060 field is fully specified, the semantics of program execution are
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3061 necessarily somewhat operating system dependent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3062
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3063 The optional fields, which may be given in any order, are as follows:
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3064 @itemize @bullet
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3065 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3066 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
3067 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
3068 is to support mail composing agents that support the composition of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3069 multiple types of mail using external composing agents. As with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3070 view- command, the semantics of program execution are operating system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3071 dependent. The result of the composing program may be data that is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3072 yet suitable for mail transport---that is, a Content-Transfer-Encoding
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3073 may need to be applied to the data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3074 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3075 The "composetyped" field is similar to the "compose" field, but is to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3076 used when the composing program needs to specify the Content-type header
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3077 field to be applied to the composed data. The "compose" field is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3078 simpler, and is preferred for use with existing (non-mail-oriented)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3079 programs for composing data in a given format. The "composetyped" field
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3080 is necessary when the Content-type information must include auxilliary
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3081 parameters, and the composition program must then know enough about mail
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3082 formats to produce output that includes the mail type
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3083 information.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3084 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3085 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
3086 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
3087 identical in content to the "compose" field, and shares the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3088 operating-system dependent semantics for program execution.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3089 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3090 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
3091 print a message or body part in the given format. As with the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3092 view-command, the semantics of program execution are operating system
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3093 dependent.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3094 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3095 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
3096 machine architecture, or the window system in use) to determine whether
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3097 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
3098 test some condition. The semantics of execution and of the value
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3099 returned by the test program are operating system dependent. If the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3100 test fails, a subsequent mailcap entry should be sought. Multiple test
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3101 fields are not permitted---since a test can call a program, it can
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3102 already be arbitrarily complex.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3103 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3104 The "needsterminal" field indicates that the view-command must be run on
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3105 an interactive terminal. This is needed to inform window-oriented user
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3106 agents that an interactive terminal is needed. (The decision is not
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3107 left exclusively to the view-command because in some circumstances it
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3108 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
3109 interactive terminals.) The needsterminal command should be assumed to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3110 apply to the compose and edit commands, too, if they exist. Note that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3111 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
3112 the program will be executed, and should typically cause the creation of
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3113 a terminal window when not executed on either a real terminal or a
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3114 terminal window.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3115 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3116 The "copiousoutput" field indicates that the output from the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3117 view-command will be an extended stream of output, and is to be
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3118 interpreted as advice to the UA (User Agent mail- reading program) that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3119 the output should be either paged or made scrollable. Note that it is
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3120 probably a mistake if needsterminal and copiousoutput are both
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3121 specified.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3122 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3123 The "description" field simply provides a textual description,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3124 optionally quoted, that describes the type of data, to be used
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3125 optionally by mail readers that wish to describe the data before
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3126 offering to display it.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3127 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3128 The "x11-bitmap" field names a file, in X11 bitmap (xbm) format, which
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3129 points to an appropriate icon to be used to visually denote the presence
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3130 of this kind of data.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3131 @item
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3132 Any other fields beginning with "x-" may be included for local or
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3133 mailer-specific extensions of this format. Implementations should
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3134 simply ignore all such unrecognized fields to permit such extensions,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3135 some of which might be standardized in a future version of this
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3136 document.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3137 @end itemize
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3138
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3139 @node General Index, Key Index, Mailcap Files, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3140 @appendix General Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3141 @printindex fn
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3142 @node Key Index, , General Index, Top
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3143 @appendix Key Index
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3144 @printindex ky
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3145 @contents
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3146 @bye