Mercurial > hg > xemacs-beta
comparison man/w3.texi @ 20:859a2309aef8 r19-15b93
Import from CVS: tag r19-15b93
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:50:05 +0200 |
parents | 0293115a14e9 |
children | 8fc7fe29b841 |
comparison
equal
deleted
inserted
replaced
19:ac1f612d5250 | 20:859a2309aef8 |
---|---|
1 \input texinfo | 1 \input texinfo |
2 @c | |
3 @c Please note that this file uses some constructs not supported by earlier | |
4 @c versions of TeXinfo. You must be running one of the newer TeXinfo | |
5 @c releases (I currently use version 3.9 from ftp://prep.ai.mit.edu/pub/gnu | |
6 @c | |
7 @c Please do not send in bug reports about not being able to format the | |
8 @c document with 'makeinfo' or 'tex', just upgrade your installation. | |
9 @c | |
10 @c Info formatted files are provided in the distribution, and you can | |
11 @c retrieve dvi, postscript, and PDF versions from the web site or ftp | |
12 @c site: http://www.cs.indiana.edu/elisp/w3/docs.html | |
13 @c | |
2 @setfilename w3.info | 14 @setfilename w3.info |
3 @settitle Emacs-W3 User's Manual | 15 @settitle Emacs-W3 User's Manual |
4 @iftex | 16 @iftex |
5 @finalout | 17 @finalout |
6 @end iftex | 18 @end iftex |
18 * W3: (w3). Emacs-W3 World Wide Web browser. | 30 * W3: (w3). Emacs-W3 World Wide Web browser. |
19 @end direntry | 31 @end direntry |
20 @ifinfo | 32 @ifinfo |
21 This file documents the Emacs-W3 World Wide Web browser. | 33 This file documents the Emacs-W3 World Wide Web browser. |
22 | 34 |
23 Copyright (C) 1993, 1994, 1995 William M. Perry | 35 Copyright (C) 1993, 1994, 1995, 1996 William M. Perry |
24 Copyright (C) 1996 Free Software Foundation | 36 Copyright (C) 1996, 1997 Free Software Foundation |
25 | 37 |
26 Permission is granted to make and distribute verbatim copies of | 38 Permission is granted to make and distribute verbatim copies of |
27 this manual provided the copyright notice and this permission notice | 39 this manual provided the copyright notice and this permission notice |
28 are preserved on all copies. | 40 are preserved on all copies. |
29 | 41 |
41 @center @titlefont{Emacs-W3} | 53 @center @titlefont{Emacs-W3} |
42 @center @titlefont{User's Manual} | 54 @center @titlefont{User's Manual} |
43 @sp 4 | 55 @sp 4 |
44 @center Third Edition, Emacs-W3 Version 3.0 | 56 @center Third Edition, Emacs-W3 Version 3.0 |
45 @sp 1 | 57 @sp 1 |
46 @center December 1996 | 58 @center February 1997 |
47 @sp 5 | 59 @sp 5 |
48 @center William M. Perry | 60 @center William M. Perry |
49 @center @i{wmperry@@cs.indiana.edu} | 61 @center @i{wmperry@@cs.indiana.edu} |
50 @page | 62 @page |
51 @vskip 0pt plus 1filll | 63 @vskip 0pt plus 1filll |
52 Copyright @copyright{} 1993, 1994, 1995 William M. Perry@* | 64 Copyright @copyright{} 1993, 1994, 1995 William M. Perry@* |
53 Copyright @copyright{} 1996 Free Software Foundation | 65 Copyright @copyright{} 1996, 1997 Free Software Foundation |
54 | 66 |
55 Permission is granted to make and distribute verbatim copies of@* | 67 Permission is granted to make and distribute verbatim copies of@* |
56 this manual provided the copyright notice and this permission notice@* | 68 this manual provided the copyright notice and this permission notice@* |
57 are preserved on all copies. | 69 are preserved on all copies. |
58 | 70 |
59 @end titlepage | 71 @end titlepage |
60 @page | 72 @page |
61 @ifinfo | 73 @ifinfo |
62 @node Top, Introduction,, (DIR) | 74 @node Top, Getting Started,, (DIR) |
63 This manual documents the Emacs-W3 World Wide Web browser, a Lisp program | 75 Users can browse the World Wide Web from within Emacs by using Emacs-W3. |
64 which runs as a subsystem under Emacs. The manual is divided into the | 76 All of the widely used (and even some not very widely used) @sc{url} |
65 following chapters. | 77 schemes are supported, and it is very easy to add new methods as the |
78 need arises. | |
79 | |
80 Emacs-W3 provides some core functionality that can be readily re-used | |
81 from any program in Emacs. Users and other package writers are | |
82 encouraged to @i{Web-enable} their applications and daily work routines | |
83 with the library. | |
84 | |
85 Emacs-W3 is completely customizable, both from Emacs-Lisp and from | |
86 stylesheets @xref{Style Sheets} If there is any aspect of Emacs-W3 that | |
87 cannot be modified to your satisfaction, please send mail to the | |
88 @t{w3-beta@@indiana.edu} mailing list with any suggestions. | |
89 @xref{Reporting Bugs} | |
66 | 90 |
67 @menu | 91 @menu |
68 * Introduction:: Overview of Emacs-W3. | |
69 * Getting Started:: Getting up and running with Emacs-W3 | 92 * Getting Started:: Getting up and running with Emacs-W3 |
70 * Basic Usage:: Basic movement and usage of Emacs-W3. | 93 * Basic Usage:: Basic movement and usage of Emacs-W3. |
71 * Compatibility:: Explanation of compatibility with | 94 * Compatibility:: Explanation of compatibility with |
72 other web browsers. | 95 other browsers. |
73 * Controlling Formatting:: How to control HTML formatting | 96 * Stylesheets:: How to control the look of web pages |
74 * MIME Support:: Support for MIME | 97 * MIME Support:: Support for @sc{mime} |
75 * Security:: Various forms of security | 98 * Security:: Various security methods supported |
76 * Non-Unix Operating Systems:: Special considerations necessary to get | 99 * Non-Unix Operating Systems:: Special considerations necessary to get |
77 up and running correctly under non-unix | 100 up and running correctly under non-unix |
78 OS's. | 101 OS's. |
102 * Speech Integration:: Outputting to a speech synthesizer. | |
79 * Advanced Features:: Some of the more arcane features. | 103 * Advanced Features:: Some of the more arcane features. |
80 * More Help:: How to get more help---mailing lists, | 104 * More Help:: How to get more help---mailing lists, |
81 newsgroups, etc. | 105 newsgroups, etc. |
82 * Future Directions:: Plans for future revisions | 106 * Future Directions:: Plans for future revisions |
83 | 107 |
84 Appendices: | 108 Appendices: |
85 * Reporting Bugs:: How to report a bug in Emacs-W3 | 109 * Reporting Bugs:: How to report a bug in Emacs-W3 |
86 * Installing SSL:: Turning on SSL support | 110 * Installing SSL:: Turning on @sc{ssl} support |
87 * Using PGP/PEM:: Turning on PGP/PEM encryption support | |
88 * Mailcap Files:: An explanation of Mailcap files | 111 * Mailcap Files:: An explanation of Mailcap files |
89 | 112 |
90 Indices: | 113 Indices: |
91 * General Index:: General Index | 114 * General Index:: General Index |
92 * Key Index:: Menus of command keys and their references | 115 * Key Index:: Menus of command keys and their references |
93 @end menu | 116 @end menu |
94 @end ifinfo | 117 @end ifinfo |
95 | 118 |
96 @node Introduction, Getting Started, Top, Top | 119 @node Getting Started, Basic Usage, Top, Top |
97 @chapter Introduction | |
98 @cindex World Wide Web | |
99 | |
100 :: WORK :: Basic info on what Emacs-W3 is, including copyrights, etc. | |
101 | |
102 @ifinfo | |
103 Here is some more specific information about what languages and | |
104 protocols Emacs-W3 supports. | |
105 @menu | |
106 * Markup Languages Supported:: Markup languages supported by Emacs-W3 | |
107 * Stylesheets:: Stylesheet languages supported by Emacs-W3 | |
108 * Supported Protocols:: Network protocols supported by Emacs-W3 | |
109 @end menu | |
110 @end ifinfo | |
111 @node Markup Languages Supported, Stylesheets, Introduction, Introduction | |
112 @chapter Supported Markup Languages | |
113 Several different markup languages, and various extensions to those | |
114 languages, are supported by Emacs-W3. | |
115 @ifinfo | |
116 @center ---------- | |
117 @center HTML 2.0 | |
118 @center ---------- | |
119 @end ifinfo | |
120 @iftex | |
121 @section HTML 2.0 | |
122 @end iftex | |
123 @cindex HTML 2.0 | |
124 | |
125 :: WORK :: Reference to the HTML 2.0 RFC | |
126 :: WORK :: Basic explanation of HTML, tag structure, etc. | |
127 | |
128 @ifinfo | |
129 @center ---------- | |
130 @center HTML 3.2 | |
131 @center ---------- | |
132 @end ifinfo | |
133 @iftex | |
134 @section HTML 3.2 | |
135 @end iftex | |
136 @cindex HTML 3.2 | |
137 The HTML 3.2 language is an extension of HTML, with a large degree of | |
138 backward compatibility with HTML 2.0. This basically documents current | |
139 practice as of January, 1996. | |
140 | |
141 @ifinfo | |
142 @center ---------- | |
143 @center SGML Features | |
144 @center ---------- | |
145 @end ifinfo | |
146 @iftex | |
147 @section SGML Features | |
148 @end iftex | |
149 @cindex SGML Features | |
150 @cindex Entity Definitions | |
151 @cindex Marked Sections | |
152 | |
153 :: WORK :: Document marked sections, SGML features | |
154 | |
155 @ifinfo | |
156 @center ---------- | |
157 @center Extras | |
158 @center ---------- | |
159 @end ifinfo | |
160 @iftex | |
161 @section Extra Markup | |
162 @end iftex | |
163 @cindex Easter Eggs | |
164 @cindex Fluff | |
165 @cindex Pomp & Circumstance | |
166 There are several different markup elements that are not officially part | |
167 of HTML or HTML 3.2 that Emacs-W3 supports. These are either items that | |
168 were dropped from HTML 3.@var{x} after I had implemented them, things I | |
169 find just completely hilarious, or experimental parts of HTML that | |
170 should not be counted as "official" or long lived. | |
171 @itemize @bullet | |
172 @item | |
173 FLAME support. For truly interesting dynamic documents. This is | |
174 replaced with a random quote from Mr. Angry (see @kbd{M-x flame} for a | |
175 sample). | |
176 @item | |
177 The top ten tags that did not make it into netscape. These tags were | |
178 posted to the newsgroup comp.infosystems.www.misc by Laura Lemay | |
179 (@i{lemay@@netcom.com}). Much thanks to her for the humor. | |
180 @table @b | |
181 @item <wired>...</wired> | |
182 Renders the enclosed text in a suitably ugly font/color combination. If | |
183 no default has been set up by the user, this is the default font, with | |
184 red text on a yellow background. | |
185 @item <roach>...</roach> | |
186 When selected, the enclosed text runs and hides under the nearest | |
187 window. OR, giggles a lot and demands nachos, depending on the | |
188 definition of "roach." (the formal definition, of course, to be | |
189 determined by the Official Honorary Internet Standards Committee For | |
190 Moving Really Slowly.) | |
191 @item <pinhead> | |
192 Inserts "zippyisms" into the enclosed text. Perfect for those professional | |
193 documents. This is sure to be a favorite of mine! | |
194 @item <secret>...</secret> | |
195 Must use secret spy decoder glasses (available direct from Netscape for | |
196 a reasonable fee) in order to read the enclosed text. Can also be read | |
197 by holding the computer in front of a full moon during the autumn | |
198 solstice. | |
199 | |
200 In Emacs-W3, this displays the text using rot13 encoding. | |
201 @item <hype> | |
202 Causes Marc Andreesen to magically appear and grant an interview (wanted | |
203 or not). Please use this tag sparingly. | |
204 @item <peek>....</peek> | |
205 @item <poke>...</poke> | |
206 Need more control over screen layout in HTML? Well, here ya go. | |
207 n | |
208 Actually, <peek> could almost be considered useful. The VARIABLE | |
209 attribute can be used to insert the value of an emacs variable into the | |
210 current document. Things like 'Welcome to my page, <peek | |
211 variable=user-mail-address>' can be useful in spreading fear, | |
212 uncertainty, and doubt among users. | |
213 @item <yogsothoth> | |
214 @cindex Gates Bill | |
215 @cindex Yogsothoth | |
216 Summons the elder gods to suck away your immortal soul. Or Bill Gates, | |
217 if the elder gods are busy. Unpredictable (but amusing) results occur | |
218 when the <YOGSOTHOTH> and <HYPE> tags are used in close proximity. | |
219 | |
220 @item <blink>...</blink> | |
221 Causes the enclosed text to .... ooops that one made it in. | |
222 @end table | |
223 @end itemize | |
224 | |
225 @node Stylesheets, Supported Protocols, Markup Languages Supported,Introduction | |
226 @chapter Stylesheets | |
227 @cindex Stylesheets | |
228 @cindex Cascading Style Sheets | |
229 @cindex Aural Cascading Style Sheets | |
230 @cindex CSS | |
231 @cindex DSSSL | |
232 :: WORK :: Document CSS support | |
233 CSS Information at http://www.w3.org/pub/WWW/TR/REC-CSS1 | |
234 Style guide at http://www.htmlhelp.com/reference/css/ | |
235 :: WORK :: Document ACSS support | |
236 ACSS Information at http://www.w3.org/pub/WWW/Style/CSS/Speech/NOTE-ACSS | |
237 :: WORK :: Document DSSSL support | |
238 | |
239 @node Supported Protocols, , Stylesheets, Introduction | |
240 @chapter Supported Protocols | |
241 @cindex Network Protocols | |
242 @cindex Protocols Supported | |
243 @cindex Supported Protocols | |
244 Emacs-W3 supports the following protocols | |
245 @table @b | |
246 @item Usenet News | |
247 Can either display an entire newsgroup or specific articles by | |
248 Message-ID: header. Instead of rewriting a newsreader, this integrates | |
249 with the Gnus newsreader. It requires at least Gnus 5.0, but it is | |
250 always safest to use the latest version. Gnus supports some very | |
251 advanced features, including virtual newsgroups, mail and news | |
252 integration, and reading news from multiple servers. @inforef{Gnus, | |
253 Top,gnus}, for more info. | |
254 | |
255 To be more in line with the other URL schemes, the hostname and port of | |
256 an NNTP server can be specified. URLs of the form | |
257 news://hostname:port/messageID work, but might not work in some other | |
258 browsers. | |
259 | |
260 @item HTTP | |
261 Supports the HTTP/0.9, HTTP/1.0, and parts of the HTTP/1.1 protocols. | |
262 @item Gopher | |
263 Support for all gopher types, including CSO queries. | |
264 @item Gopher+ | |
265 Support for Gopher+ retrievals. Support for converting ASK blocks into | |
266 HTML 3.0 FORMS and submitting them back to the server. | |
267 @item FTP | |
268 FTP is handled by either ange-ftp or efs. | |
269 @inforef{Ange-FTP,Top,ange-ftp}, for more information on Ange-FTP, or | |
270 @inforef{EFS, Top,efs}, for information on EFS. | |
271 @item Local files | |
272 Local files are of course handled, and MIME content-types are derived | |
273 from the file extensions. | |
274 @item telnet, tn3270, rlogin | |
275 Telnet, tn3270, and rogin are handled by running the appropriate program | |
276 in an emacs buffer, or running an external process. | |
277 @item mailto | |
278 Causes a mail message to be started to a specific address. Supports the | |
279 Netscape @i{extensions} to specify arbitrary headers on the message. | |
280 @item data | |
281 A quick and easy way to `inline' small pieces of information that you do | |
282 not necessarily want to download over the net separately. Can speed up | |
283 display of small icons, stylesheet information, etc. See the internet | |
284 draft draft-masinter-url-data-02.txt for more information. | |
285 @item mailserver | |
286 A more powerful version of mailto, which allows the author to specify | |
287 the subject and body text of the mail message. This type of link is | |
288 never fully executed without user confirmation, because it is possible | |
289 to insert insulting or threatening (and possibly illegal) data into the | |
290 message. The mail message is displayed, and the user must confirm the | |
291 message before it is sent. | |
292 @item x-exec | |
293 A URL can cause a local executable to be run, and its output interpreted | |
294 as if it had come from an HTTP server. This is very useful, but is | |
295 still an experimental protocol, hence the X- prefix. This URL protocol | |
296 is deprecated, but might be useful in the future. | |
297 @item NFS | |
298 Retrieves information over NFS. This requires that your operating | |
299 system support auto-mounting of NFS volumes. | |
300 @item finger | |
301 Retrieves information about a user via the 'finger' protocol. | |
302 @item Info | |
303 Creates a link to an GNU-style info file. @inforef{Info,Top,info}, for more | |
304 information on the Info format. | |
305 @item SSL | |
306 SSL requires a set of patches to the Emacs C code and SSLRef 2.0, or an | |
307 external program to run in a subprocess (similar to the @file{tcp.el} | |
308 package that comes with GNUS. @xref{Installing SSL} | |
309 @end table | |
310 | |
311 @node Getting Started, Getting Emacs, Introduction, Top | |
312 @chapter Getting Started | 120 @chapter Getting Started |
313 @cindex Clueless in Seattle | 121 @cindex Clueless in Seattle |
314 @cindex Getting Started | 122 @cindex Getting Started |
315 This section of the manual deals with getting, compiling, and | 123 @kindex M-x w3 |
316 configuring @i{Emacs-W3}. | 124 @vindex w3-default-homepage |
317 :: WORK :: Introduction to 'Getting Started' | 125 @findex w3 |
318 | 126 If installed correctly, starting Emacs-W3 is quite painless. Just type |
319 @ifinfo | 127 @kbd{M-x w3} in a running Emacs sessions. This will retrieve the |
128 default page that has been configured - by default the documentation for | |
129 Emacs-W3 at Indiana University. | |
130 | |
131 If the default page is not retrieved correctly at startup, you will have | |
132 to do some customization. | |
133 | |
320 @menu | 134 @menu |
321 * Getting Emacs:: Where to get Emacs | 135 * Using the Network:: Tell Emacs about your network setup. |
322 * Getting Emacs-W3:: Where to get Emacs-W3 | 136 * Proxy Gateways:: Using an @sc{http} proxy |
323 * Basic Setup:: Basic setup that most people want to do | 137 * Startup Files:: What is where, and why. |
324 * Firewalls:: Integrating Emacs-W3 with a firewall setup. | 138 * Preferences Panel:: Quick configuration of common options. |
325 * Proxy Gateways:: Using a proxy server | |
326 @end menu | 139 @end menu |
327 @end ifinfo | 140 |
328 | 141 @node Using the Network, Proxy Gateways, Getting Started, Getting Started |
329 @node Getting Emacs, Getting Emacs-W3, Getting Started, Getting Started | 142 @section Using the Network |
330 @section Getting Emacs | 143 By default, Emacs can support standard @sc{tcp}/@sc{ip} network |
331 @cindex Getting Emacs | 144 connections on almost all the platforms it runs on (Unix, @sc{vms}, |
332 @cindex Source code availability | 145 Windows, etc). However, there are several situations where it is not |
333 :: WORK :: Explanation of Emacs, XEmacs, and where to get both | 146 sufficient. |
334 | 147 |
335 @node Getting Emacs-W3, Basic Setup, Getting Emacs, Getting Started | |
336 @section Getting Emacs-W3 | |
337 @cindex FTP'in the distribution | |
338 @cindex Source code availability | |
339 :: WORK :: Explanation of Emacs, XEmacs, and where to get both | |
340 | |
341 @node Basic Setup, Firewalls, Getting Emacs-W3, Getting Started | |
342 @section Basic Setup | |
343 For most people, Emacs-W3 will be ready to run straight out of the box. | |
344 Once the user is more familiar with the web and how it integrates with | |
345 Emacs, there are a few basic configuration variables that most people | |
346 will want to personalize. | |
347 | |
348 @table @code | |
349 @item w3-default-homepage | |
350 @vindex w3-default-homepage | |
351 The URL to open at startup. This defaults to the environment variable | |
352 WWW_HOME if it is not set it in the users @file{.emacs} file. If | |
353 WWW_HOME is undefined, then it defaults to the hypertext documentation | |
354 for Emacs-W3. | |
355 | |
356 @item w3-delay-image-loads | |
357 @vindex w3-delay-image-loads | |
358 Controls the loading of inlined images. If non-@code{nil}, images are | |
359 not loaded. If the correct image converters are not installed or the | |
360 network connection is very slow, it is best to set this to @code{t}. | |
361 Defaults to @code{nil}. | |
362 @item url-global-history-file | |
363 @vindex url-global-history-file | |
364 The global history file used by both Mosaic/X and Emacs-W3. This file | |
365 contains a list of all the URLs that have been visited. This file is parsed | |
366 at startup and used to provide URL completion. Emacs-W3 can read and | |
367 write Mosaic/X or Netscape 1.x style history files, or use its own | |
368 internal format (faster). The file type is determined automatically, or | |
369 prompted for if the file does not exist. | |
370 @item w3-hotlist-file | |
371 @vindex w3-hotlist-file | |
372 Hotlist filename. This should be the name of a file that is stored in | |
373 NCSA's Mosaic/X or Netscape's format. It is used to keep a listing of | |
374 commonly accessed URLs. | |
375 @item w3-personal-annotation-directory | |
376 @vindex w3-personal-annotation-directory | |
377 The directory where Emacs-W3 looks for personal annotations. This is a | |
378 directory that should hold the personal annotations stored in a | |
379 Mosaic/X-compatible format. | |
380 @item url-pgp/pem-entity | |
381 @findex user-real-login-name | |
382 @findex system-name | |
383 The name by which the user is known to PGP and/or PEM entities. If this | |
384 is not set when Emacs-W3 is loaded, it defaults to | |
385 @code{user-mail-address} if it is set, otherwise @code{(user-real-login-name)}@@@code{(system-name)}. | |
386 @item url-personal-mail-address | |
387 @vindex url-personal-mail-address | |
388 @vindex url-pgp/pem-entity | |
389 User's full email address. This is what is sent to HTTP/1.0 servers as | |
390 the FROM header. If this is not set when Emacs-W3 is loaded, then it | |
391 defaults to the value of @code{url-pgp/pem-entity}. | |
392 | |
393 @item w3-right-border | |
394 @vindex w3-right-border | |
395 @findex window-width | |
396 Amount of space to leave on right margin of WWW buffers. This amount is | |
397 subtracted from the width of the window for each new WWW buffer and used | |
398 as the new @code{fill-column}. | |
399 | |
400 @item w3-track-mouse | |
401 @vindex w3-track-mouse | |
402 Controls whether to track the mouse and message the url under the mouse. | |
403 If this is non-@code{nil}, then a description of the hypertext area | |
404 under the mouse is shown in the minibuffer. This shows what type of | |
405 link (inlined image, form entry area, delayed image, delayed MPEG, or | |
406 hypertext reference) is under the cursor, and the destination. | |
407 @item w3-echo-link | |
408 @vindex w3-echo-link | |
409 Controls how a URL is shown when a link is reached with @key{f}, | |
410 @key{b}, or the mouse moves over it. Possible values are: | |
411 @table @b | 148 @table @b |
412 @item url | |
413 Displays the URL (ie: @samp{http://www.cs.indiana.edu/}). | |
414 @item text | |
415 Displays the text of the link (ie: @samp{A link to Indiana University}). | |
416 @item title | |
417 Displays the title of the link, if any, otherwise behaves the same as @code{url}. | |
418 @item nil | |
419 Show nothing. | |
420 @end table | |
421 @item w3-use-forms-index | |
422 @vindex w3-use-forms-index | |
423 @cindex ISINDEX handling | |
424 @cindex Forms based searching | |
425 @cindex Searching with forms | |
426 Non-@code{nil} means translate <ISINDEX> tags into a hypertext form. A | |
427 single text entry box is shown where the ISINDEX tag appears. | |
428 @item url-use-hypertext-gopher | |
429 @vindex url-use-hypertext-gopher | |
430 @cindex Gopher+ | |
431 Controls how gopher documents are retrieved. If non-@code{nil}, the | |
432 gopher pages are converted into HTML and parsed just like any other | |
433 page. If @code{nil}, the requests are passed off to the | |
434 @file{gopher.el} package by Scott Snyder. Using the @file{gopher.el} | |
435 package loses the gopher+ support, and inlined searching. | |
436 @item url-xterm-command | |
437 @vindex url-xterm-command | |
438 Command used to start a windowed shell, similar to an xterm. This | |
439 string is passed through @code{format}, and should expect four strings: | |
440 the title of the window, the program name to execute, and the server and | |
441 port number. The default is for xterm, which is very UNIX and | |
442 XWindows-centric. | |
443 @end table | |
444 @node Firewalls, Proxy Gateways, Basic Setup, Getting Started | |
445 @section Firewalls | |
446 @cindex Gateways | |
447 There are several different reasons why the gateway support might be | |
448 required. | |
449 @enumerate | |
450 @cindex Firewalls | 149 @cindex Firewalls |
451 @item | 150 @item Firewalls |
452 Stuck behind a firewall. This is usually the case at large corporations | 151 It is becoming more and more common to be behind a firewall or some |
453 with paranoid system-administrators. | 152 other system that restricts your outbound network activity, especially |
454 | 153 if you are like me and away from the wonderful world of academia. |
455 @cindex TERM | 154 Emacs-W3 has several different methods to get around firewalls (not to |
456 @item | 155 worry though - none of them should get you in trouble with the local |
457 Using TERM @footnote{TERM is a user-level protocol for emulating IP over | 156 @sc{mis} department.) |
458 a serial line. More information is available at | 157 |
459 ftp://sunsite.unc.edu/pub/Linux/apps/comm/term} for slip-like access to | 158 @item Emacs cannot resolve hostnames. |
460 the internet. | |
461 | |
462 NOTE: XEmacs and Emacs 19.22 or later have patches to enable native TERM | |
463 networking. To enable it, #define TERM in the appropriate s/*.h file | |
464 for the operating system, then change the SYSTEM_LIBS define to include | |
465 the @file{termnet} library that comes with the latest versions of TERM. | |
466 | |
467 @item | |
468 @cindex Faulty hostname resolvers | 159 @cindex Faulty hostname resolvers |
469 @cindex Broken SUN libc | 160 @cindex Broken SunOS libc |
470 @cindex Can't resolve hostnames | 161 @cindex Hostname resolution |
471 Emacs cannot resolve hostnames. This happens quite often on Sun | 162 This happens quite often on SunOS workstations and some ULTRIX machines. |
472 workstations and some ULTRIX machines. Some C libraries do not include | 163 Some C libraries do not include the hostname resolver routines in their |
473 the hostname resolver routines in their static libraries. If Emacs was | 164 static libraries. If Emacs was linked statically, and was not linked |
474 linked statically, this means it won't be able to get to any machines | 165 with the resolver libraries, it wil not be able to get to any machines |
475 off the local network. This is characterized by being able to reach | 166 off the local network. This is characterized by being able to reach |
476 someplace with a raw ip number, but not its hostname | 167 someplace with a raw ip number, but not its hostname |
477 (http://129.79.254.191/ works, but http://www.cs.indiana.edu/ doesn't). | 168 (@url{http://129.79.254.191/} works, but |
478 | 169 @url{http://www.cs.indiana.edu/} doesn't). |
479 If for some reason it is not feasible to recompile Emacs with the | 170 |
480 @file{-lresolv} library or dynamic linking, it is just like being behind | 171 The best solution for this problem is to recompile Emacs, making sure to |
481 a firewall. Another alternative is to set the variable | 172 either link dynamically (if available on your operating system), or |
482 @code{url-broken-resolution} - this will use the support in ange-ftp or | 173 include the @file{-lresolv}. |
483 EFS to use @file{nslookup} in a subprocess to do all hostname resolving. | 174 |
484 See the variables @code{efs-nslookup-program}, | 175 @cindex url-gateway-broken-resolution |
485 @code{efs-nslookup-on-connect}, and @code{efs-nslookup-threshold} if are | 176 If you do not have the disk space or the appropriate permissions to |
486 using EFS, or @code{ange-ftp-nslookup-program} if using Ange-FTP. | 177 recompile Emacs, another alternative is using the @file{nslookup} |
487 | 178 program to do hostname resolution. To turn this on, set the variable |
488 @end enumerate | 179 @code{url-gateway-broken-resolution} in your @file{~/.emacs} file. This |
180 runs the program specified by @code{url-gateway-nslookup-program} (by | |
181 default "@code{nslookup}" to do hostname resolution. This program should | |
182 expect a single argument on the command line - the hostname to resolve, | |
183 and should produce output similar to the standard Unix @file{nslookup} | |
184 program: | |
185 | |
186 @example | |
187 Name: www.cs.indiana.ed | |
188 Address: 129.79.254.191 | |
189 @end example | |
190 | |
191 @cindex @sc{term} | |
192 @item Using @sc{term} (or @sc{term}-like) Networking Software | |
193 @sc{term} @footnote{@sc{term} is a user-level protocol for emulating | |
194 @sc{ip} over a serial line. More information is available at | |
195 @url{ftp://sunsite.unc.edu/pub/Linux/apps/comm/term}} for slip-like | |
196 access to the internet. | |
197 | |
198 @sc{note}: XEmacs and Emacs 19.22 or later have patches to enable native | |
199 @sc{term} networking. To enable it, @code{#define TERM} in the | |
200 appropriate s/*.h file for the operating system, then change the | |
201 @code{SYSTEM_LIBS} definition to include the @file{termnet} library that | |
202 comes with the latest versions of @sc{term}. | |
203 | |
204 If you run into any problems with the native @sc{term} networking | |
205 support in Emacs or XEmacs, please let @t{wmperry@@cs.indiana.edu} know, | |
206 as he is responsible for the original support. | |
207 @end table | |
489 | 208 |
490 @vindex url-gateway-local-host-regexp | 209 @vindex url-gateway-local-host-regexp |
491 Emacs-W3 has support for using the gateway mechanism for certain | 210 Emacs-W3 has support for using the gateway mechanism for certain |
492 domains, and directly connecting to others. To use this, change the | 211 domains, and directly connecting to others. The variable |
493 value of @code{url-gateway-local-host-regexp}. This should be a regular | 212 @code{url-gateway-local-host-regexp} controls this behaviour. This is a |
494 expression @footnote{Please see the full Emacs distribution for a | 213 regular expression @footnote{Please see the full Emacs distribution for |
495 description of regular expressions} that matches local hosts that do not | 214 a description of regular expressions} that matches local hosts that do |
496 require the use of a gateway. If @code{nil}, then all connections are | 215 not require the use of a gateway. If @code{nil}, then all connections |
497 made through the gateway. | 216 are made through the gateway. |
498 | |
499 | 217 |
500 @vindex url-gateway-method | 218 @vindex url-gateway-method |
501 Emacs-W3 supports several methods of getting around gateways. The variable | 219 Emacs-W3 supports several methods of getting around gateways. The |
502 @code{url-gateway-method} controls which of these methods is used. This | 220 variable @code{url-gateway-method} controls which of these methods is |
503 variable can have several values (use these as symbol names, not | 221 used. This variable can have several values (use these as symbol names, |
504 strings): | 222 not strings), ie: @samp{(setq url-gateway-method 'telnet)}. Possible |
223 values are: | |
224 | |
505 @table @dfn | 225 @table @dfn |
506 @item program | 226 @item telnet |
507 Run a program in a subprocess to connect to remote hosts (examples are | 227 Use this method if you must first telnet and log into a gateway host, |
508 @i{itelnet}@footnote{Itelnet is a standard name for a telnet executable | 228 and then run telnet from that host to connect to outside machines. |
509 that is capable of escaping the firewall. Check with system | 229 |
510 administrators to see if anything similar is available}, an | 230 :: WORK :: document telnet gw variables |
511 @i{expect}@footnote{Expect is a scripting language that allows control | 231 This section needs more information, specifically documenting the |
512 of interactive programs (like telnet) very easily. It is available from | 232 following variables. For now, please do @key{C-h v} on the variable for |
513 gatekeeper.dec.com:/pub/GNU/expect-3.24.0.tar.gz} script, etc.). | 233 more information. |
234 | |
235 @table @code | |
236 @item url-gateway-telnet-host | |
237 @item url-gateway-telnet-parameters | |
238 @item url-gateway-telnet-password-prompt | |
239 @item url-gateway-telnet-puser-name | |
240 @item url-gateway-prompt-pattern | |
241 @end table | |
242 | |
243 @item rlogin | |
244 This method is identical to the @code{telnet} method, but uses | |
245 @file{rlogin} to log into the remote machine without having to send the | |
246 username and password over the wire every time. | |
247 | |
248 :: WORK :: document rlogin gw variables | |
249 This section needs more information, specifically documenting the | |
250 following variables. For now, please do @key{C-h v} on the variable for | |
251 more information. | |
252 | |
253 @table @code | |
254 @item url-gateway-rlogin-host | |
255 @item url-gateway-rlogin-parameters | |
256 @item url-gateway-rlogin-user-name | |
257 @item url-gateway-prompt-pattern | |
258 @end table | |
514 | 259 |
515 @item tcp | 260 @item tcp |
516 Masanobu UMEDA (@i{umerin@@mse.kyutech.ac.jp}) has written a very nice | 261 Masanobu UMEDA (@i{umerin@@mse.kyutech.ac.jp}) has written a very small |
517 replacement for the standard networking in Emacs. This does basically | 262 application that you can run in a subprocess to do the network |
518 the same thing that a method of @code{program} does, but is slightly | 263 connections. |
519 more transparent to the user. | 264 |
265 @item @sc{socks} | |
266 Use if the firewall has a @sc{socks} gateway running on it. | |
267 | |
268 :: WORK :: document socks variables | |
269 This section needs more information, specifically documenting the | |
270 following variables. For now, please do @key{C-h v} on the variable for | |
271 more information. | |
272 | |
273 @table @code | |
274 @item socks-host | |
275 @item socks-password | |
276 @item socks-username | |
277 @item socks-port | |
278 @item socks-timeout | |
279 @end table | |
280 | |
281 @c @item ssl | |
282 @c This probably shouldn't be documented | |
283 | |
520 @item native | 284 @item native |
521 This means that Emacs-W3 should use the builtin networking code of Emacs. | 285 This means that Emacs-W3 should use the builtin networking code of |
522 This should be used only if there is no firewall, or the Emacs source | 286 Emacs. This should be used only if there is no firewall, or the Emacs |
523 has already been hacked to get around the firewall. | 287 source has already been hacked to get around the firewall. |
524 @end table | 288 @end table |
525 One of these needs a bit more explanation than that: | |
526 @vindex url-gateway-telnet-ready-regexp | |
527 @vindex url-gateway-telnet-program | |
528 When running a program in a subprocess to emulate a network connection, | |
529 a few extra variables need to be set. The variable | |
530 @code{url-gateway-telnet-program} should point to an executable that | |
531 accepts a hostname and port # as its arguments, and passes standard | |
532 input to the remote host. This can be either the full path to the | |
533 executable or just the basename. The variable | |
534 @code{url-gateway-telnet-ready-regexp} controls how long Emacs-W3 should | |
535 wait after spawning the subprocess to start sending to its standard | |
536 input. This gets around a bug where telnet would miss the beginning of | |
537 requests becausse it did not buffer its input before opening a | |
538 connection. This should be a regular expression to watch for that | |
539 signifies the end of the setup of @code{url-gateway-telnet-program}. | |
540 The default should work fine for telnet. | |
541 | 289 |
542 Emacs-W3 should now be able to get outside the local network. If none | 290 Emacs-W3 should now be able to get outside the local network. If none |
543 of this makes sense, its probably my fault. Please check with the | 291 of this makes sense, its probably my fault. Please check with the |
544 network administrators to see if they have a program that does most of | 292 network administrators to see if they have a program that does most of |
545 this already, since somebody somewhere at the company has probably been | 293 this already, since somebody somewhere at the company has probably been |
546 through something similar to this before, and would be much more | 294 through something similar to this before, and would be much more |
547 helpful/knowledgeable about the local setup than I would be. But feel | 295 helpful/knowledgeable about the local setup than I would be. But feel |
548 free to mail me as a last resort. | 296 free to mail me as a last resort. |
549 | 297 @node Proxy Gateways, Startup Files , Using the Network, Getting Started |
550 @node Proxy Gateways, Basic Usage, Firewalls, Getting Started | |
551 @section Proxy Gateways | 298 @section Proxy Gateways |
552 @vindex url-proxy-services | 299 @vindex url-proxy-services |
553 @cindex Proxy Servers | 300 @cindex Proxy Servers |
554 @cindex Proxies | 301 @cindex Proxies |
555 @cindex Proxies, environment variables | 302 @cindex Proxies, environment variables |
556 @cindex HTTP Proxy | 303 @cindex HTTP Proxy |
304 | |
557 In late January 1993, Kevin Altis and Lou Montulli proposed and | 305 In late January 1993, Kevin Altis and Lou Montulli proposed and |
558 implemented a new proxy service. This service requires the use of | 306 implemented a new proxy service. This service requires the use of |
559 environment variables to specify a gateway server/port # to send | 307 environment variables to specify a gateway server/port # to send |
560 protocol requests to. Each protocol (HTTP, WAIS, gopher, FTP, etc.@:) | 308 protocol requests to. Each protocol (@sc{http}, @sc{wais}, gopher, |
561 can have a different gateway server. The environment variables are | 309 @sc{ftp}, etc.) can have a different gateway server. The environment |
562 @var{PROTOCOL}_proxy, where @var{PROTOCOL} is one of the supported | 310 variables are @code{PROTOCOL}_proxy, where @code{PROTOCOL} is one of the |
563 network protocols (gopher, file, HTTP, FTP, etc.) | 311 supported network protocols (gopher, file, @sc{http}, @sc{ftp}, etc.) |
564 | 312 |
565 @cindex No Proxy | 313 @cindex No Proxy |
566 @cindex Proxies, exclusion lists | 314 @cindex Proxies, exclusion lists |
567 @vindex NO_PROXY | 315 @vindex NO_PROXY |
568 For companies with internal intranets, it will usually be helpful to | 316 For companies with internal intranets, it will usually be helpful to |
569 define a list of hosts that should be contacted directly, @b{not} sent | 317 define a list of hosts that should be contacted directly, @b{not} sent |
570 through the proxy. The @var{NO_PROXY} environment variable controls | 318 through the proxy. The @code{NO_PROXY} environment variable controls |
571 what hosts are able to be contacted directly. This should be a comma | 319 what hosts are able to be contacted directly. This should be a comma |
572 separated list of hostnames, domain names, or a mixture of both. | 320 separated list of hostnames, domain names, or a mixture of both. |
573 Asterisks can be used as a wildcard. For example: | 321 Asterisks can be used as a wildcard. For example: |
574 | 322 |
575 @example | 323 @example |
583 @vindex url-proxy-services | 331 @vindex url-proxy-services |
584 @cindex Proxies, setting from lisp | 332 @cindex Proxies, setting from lisp |
585 For those adventurous souls who enjoy writing regular expressions, all | 333 For those adventurous souls who enjoy writing regular expressions, all |
586 the proxy settings can be manipulated from Emacs-Lisp. The variable | 334 the proxy settings can be manipulated from Emacs-Lisp. The variable |
587 @code{url-proxy-services} controls this. This is an assoc list, keyed | 335 @code{url-proxy-services} controls this. This is an assoc list, keyed |
588 on the protocol type (http, gopher, etc) in all lowercase. The | 336 on the protocol type (@sc{http}, gopher, etc) in all lowercase. The |
589 @code{cdr} of each entry should be the fully-specified URL of the proxy | 337 @code{cdr} of each entry should be the fully-specified @sc{url} of the proxy |
590 server to contact, or, in the case of the special "no_proxy" entry, a | 338 server to contact, or, in the case of the special "no_proxy" entry, a |
591 regular expression that matches any hostnames that should be contacted | 339 regular expression that matches any hostnames that should be contacted |
592 directly. | 340 directly. |
593 | 341 |
594 @example | 342 @example |
595 (setq url-proxy-services '(("http" . "http://proxy.aventail.com/") | 343 (setq url-proxy-services '(("http" . "http://proxy.aventail.com/") |
596 ("no_proxy" . "^.*\\(aventail\\|seanet\\)\.com"))) | 344 ("no_proxy" . "^.*\\(aventail\\|seanet\\)\.com"))) |
597 @end example | 345 @end example |
598 | 346 |
599 @node Basic Usage, , Proxy Gateways, Top | 347 @node Startup Files, Preferences Panel, Proxy Gateways, Getting Started |
348 @section Startup Files | |
349 @cindex Startup files | |
350 @cindex Default stylesheet | |
351 :: WORK :: startup files | |
352 This section should document where emacs-w3 looks for its startup files, | |
353 and what each one does. 'profile' 'stylesheet' 'hotlist' 'history' etc. | |
354 | |
355 @node Preferences Panel, , Startup Files, Getting Started | |
356 @section Preferences Panel | |
357 @cindex Preferences | |
358 @kindex M-x w3-edit-preferences | |
359 :: WORK :: pref panel | |
360 This should document the quick preferences panel. M-x w3-edit-preferences | |
361 | |
362 @node Basic Usage, Movement , Getting Started, Top | |
600 @chapter Basic Usage | 363 @chapter Basic Usage |
601 Emacs-W3 is similar to the Info package all Emacs users hold near and dear to | 364 @cindex Basic Usage |
602 their hearts (@xref{Top,,Info,info, The Info Manual}, for a description | 365 @kindex space |
603 of Info). Basically, @kbd{space} and @kbd{backspace} control scrolling, | 366 @kindex backspace |
604 and @kbd{return} or @kbd{mouse2} follows a hypertext link. The @kbd{f} | 367 @kindex return |
605 and @kbd{b} keys maneuver around the various links on the page. | 368 @kindex tab |
606 | 369 @kindex M-tab |
607 @b{NOTE:} To enter data into a form entry area, select it using | 370 Emacs-W3 is similar to the Info package all Emacs users hold near and |
608 @kbd{return} or the middle mouse button, just like a hypertext link. | 371 dear to their hearts (@xref{Top,,Info,info, The Info Manual}, for a |
372 description of Info). Basically, @kbd{space} and @kbd{backspace} | |
373 control scrolling, and @kbd{return} or the middle mouse button follows a | |
374 hypertext link. The @kbd{tab} and @kbd{Meta-tab} keys maneuver around the | |
375 various links on the page. | |
376 | |
377 @b{NOTE:} Starting with Emacs-W3 3.0, form entry areas in a page can be | |
378 typed directly into. This is one of the main differences in navigation | |
379 from version 2.0. If you are used to using the @kbd{f} and @kbd{b} keys | |
380 to navigate around a buffer, I suggest training yourself to always use | |
381 @kbd{tab} and @kbd{M-tab} - it will save time and frustration on pages | |
382 with lots of form fields. | |
609 | 383 |
610 By default, hypertext links are surrounded by '[[' and ']]' on | 384 By default, hypertext links are surrounded by '[[' and ']]' on |
611 non-graphic terminals (VT100, DOS window, etc.). On a graphics | 385 non-graphic terminals (VT100, DOS window, etc.). On a graphics |
612 terminal, the links are in shown in different colors. @xref{Controlling | 386 terminal, the links are in shown in different colors. |
613 Formatting} for information on how to change this, or for help on | 387 @xref{Stylesheets} for information on how to change this. |
614 getting the highlighting to work on graphics terminals. | |
615 | 388 |
616 There are approximately 50 keys bound to special Emacs-W3 functions. | 389 There are approximately 50 keys bound to special Emacs-W3 functions. |
617 The basic rule of thumb regarding keybindings in Emacs-W3 is that a | 390 The basic rule of thumb regarding keybindings in Emacs-W3 is that a |
618 lowercase key takes an action on the @b{current document}, and an | 391 lowercase key takes an action on the @b{current document}, and an |
619 uppercase key takes an action on the document pointed to by the | 392 uppercase key takes an action on the document pointed to by the |
622 There are several areas that the keybindings fall into: movement, | 395 There are several areas that the keybindings fall into: movement, |
623 information, action, and miscellaneous. | 396 information, action, and miscellaneous. |
624 | 397 |
625 @ifinfo | 398 @ifinfo |
626 @menu | 399 @menu |
627 * Movement:: Moving around in a Emacs-W3 buffer | 400 * Movement:: Moving around in the buffer. |
628 * Information:: Getting information about the Emacs-W3 document being | 401 * Information:: Getting information about a document. |
629 viewed, and/or links within that document. | 402 * Action:: Following links, printing, etc. |
630 * Action:: Taking actions in a Emacs-W3 buffer (following links, | 403 * Miscellaneous:: Everything else. |
631 printing, etc.) | |
632 * Miscellaneous:: Miscellaneous keybindings | |
633 @end menu | 404 @end menu |
634 @end ifinfo | 405 @end ifinfo |
635 @node Movement, Information, Basic Usage, Basic Usage | 406 @node Movement, Information, Basic Usage, Basic Usage |
636 @section Movement | 407 @section Movement |
637 :: WORK :: Document the 'h' and 'a' keymaps | 408 All the standard Emacs bindings for movement are still in effect, with a |
409 few additions for convenience. | |
410 | |
638 @table @kbd | 411 @table @kbd |
639 @findex scroll-up | 412 @findex w3-scroll-up |
640 @kindex SPC | 413 @kindex space |
641 @item SPC | 414 @item space |
642 Scroll downward in the buffer. With prefix arg, scroll down that many | 415 Scroll downward in the buffer. With prefix arg, scroll down that many |
643 screenfuls. | 416 screenfuls. |
644 @kindex DEL | 417 @kindex backspace |
645 @findex scroll-down | 418 @findex scroll-down |
646 @item DEL | 419 @item backspace |
647 Scroll upward in the buffer. With prefix arg, scroll up that many | 420 Scroll upward in the buffer. With prefix arg, scroll up that many |
648 screenfuls. | 421 screenfuls. |
649 @kindex < | 422 @kindex < |
650 @findex w3-start-of-document | 423 @findex w3-start-of-document |
651 @item < | 424 @item < |
653 @kindex > | 426 @kindex > |
654 @findex w3-end-of-document | 427 @findex w3-end-of-document |
655 @item > | 428 @item > |
656 Goes to the end of document | 429 Goes to the end of document |
657 @kindex b | 430 @kindex b |
658 @kindex Shift-TAB | 431 @kindex Meta-tab |
659 @findex w3-back-link | 432 @findex w3-widget-backward |
660 @item Shift-TAB, b | 433 @item Meta-tab, b |
661 Attempts to move backward one link area in the current document. | 434 Attempts to move backward one link area in the current document. |
662 Signals an error if no previous links are found. | 435 Signals an error if no previous links are found. |
663 @kindex hl | 436 @kindex f |
664 @findex w3-show-hotlist | 437 @kindex tab |
665 @item hl | 438 @kindex n |
666 Displays a complete listing of the items in the hotlist. | 439 @findex w3-widget-forward |
667 @kindex hu | 440 @item tab, f, n |
668 @findex w3-use-hotlist | 441 Attempts to move forward one link area in the current document. Signals |
669 @item hu | 442 an error if no more links are found. |
670 Go to a link in the hotlist. | 443 @kindex B |
444 @findex w3-backward-in-history | |
445 @item B | |
446 Move backwards in the history stack. | |
447 @kindex F | |
448 @findex w3-forward-in-history | |
449 @item F | |
450 Move forwards in the history stack. | |
451 @kindex l | |
452 @findex w3-goto-last-buffer | |
453 @item l | |
454 Return to the last buffer shown before this buffer. | |
455 @kindex q | |
456 @findex w3-quit | |
457 @item q | |
458 Kill this buffer. | |
459 @kindex Q, u | |
460 @findex w3-leave-buffer | |
461 Bury this buffer, but don't kill it | |
462 @end table | |
463 | |
464 @node Information, Action, Movement, Basic Usage | |
465 @section Information | |
466 These functions relate information about one or more links on the | |
467 current document. | |
468 | |
469 @table @kbd | |
470 @kindex v | |
471 @findex url-view-url | |
472 @item v | |
473 This shows the @sc{url} of the current document in the minibuffer. | |
474 @kindex V | |
475 @findex w3-view-this-url | |
476 @item V | |
477 This shows the @sc{url} of the hypertext link under point in the | |
478 minibuffer. | |
479 @kindex i | |
480 @findex w3-document-information | |
481 @item i | |
482 Shows miscellaneous information about the currently displayed document. | |
483 This includes the @sc{url}, the last modified date, @sc{mime} headers, | |
484 the @sc{http} response code, and any relationships to other documents. | |
485 Any security information is also displayed. | |
486 @kindex I | |
487 @findex w3-document-information-this-url | |
488 @item I | |
489 Shows information about the @sc{url} at point. | |
490 @kindex s | |
491 @findex w3-source-document | |
492 @item s | |
493 This shows the @sc{html} source of the current document in a separate buffer. | |
494 The buffer's name is based on the document's @sc{url}. | |
495 @kindex S | |
496 @findex w3-source-document-at-point | |
497 @item S | |
498 Shows the @sc{html} source of the hypertext link under point in a separate | |
499 buffer. The buffer's name is based on the document's @sc{url}. | |
500 @kindex k | |
501 @findex w3-save-url | |
502 @item k | |
503 This stores the current document's @sc{url} in the kill ring, and also in the | |
504 current window-system's clipboard, if possible. | |
505 @kindex K | |
506 @findex w3-save-this-url | |
507 @item K | |
508 Stores the @sc{url} of the document under point in the kill ring, and also in | |
509 the current window-system's clipboard, if possible. | |
510 @end table | |
511 | |
512 @node Action, Miscellaneous, Information, Basic Usage | |
513 @section Action | |
514 First, here are the keys and functions that bring up a new hypertext | |
515 page, usually creating a new buffer. | |
516 @table @kbd | |
671 @kindex m | 517 @kindex m |
672 @findex w3-complete-link | 518 @findex w3-complete-link |
673 @item m | 519 @item m |
674 Choose a link from the current buffer and follow it. A completing-read | 520 Choose a link from the current buffer and follow it. A completing-read |
675 is done on all the links, so @kbd{space} and @kbd{TAB} can be used for | 521 is done on all the links, so @kbd{space} and @kbd{TAB} can be used for |
676 completion. | 522 completion. |
677 @kindex f | |
678 @kindex TAB | |
679 @kindex n | |
680 @findex w3-forward-link | |
681 @item TAB, f, n | |
682 Attempts to move forward one link area in the current document. Signals | |
683 an error if no more links are found. | |
684 @end table | |
685 @node Information, Action, Movement, Basic Usage | |
686 @section Information | |
687 These functions relate information about one or more links on the | |
688 current document. | |
689 @table @kbd | |
690 @kindex v | |
691 @findex url-view-url | |
692 @item v | |
693 This shows the URL of the current document in the minibuffer. | |
694 @kindex V | |
695 @findex w3-view-this-url | |
696 @item V | |
697 This shows the URL of the hypertext link under point in the minibuffer. | |
698 If there is not a hypertext link under point, then it shows the type of | |
699 form entry area under point. If there is no form entry area under | |
700 point, then it shows the inlined image's URL that is under point, if | |
701 any. | |
702 @kindex i | |
703 @findex w3-document-information | |
704 @item i | |
705 Shows miscellaneous information about the currently displayed document. | |
706 This includes the URL, the last modified date, MIME headers, the HTTP | |
707 response code, and any relationships to other documents. Any security | |
708 information is also displayed. | |
709 @kindex I | |
710 @findex w3-document-information-this-url | |
711 @item I | |
712 Shows information about the URL at point. | |
713 @kindex s | |
714 @findex w3-source-document | |
715 @item s | |
716 This shows the HTML source of the current document in a separate buffer. | |
717 The buffer's name is based on the document's URL. | |
718 @kindex S | |
719 @findex w3-source-document-at-point | |
720 @item S | |
721 Shows the HTML source of the hypertext link under point in a separate | |
722 buffer. The buffer's name is based on the document's URL. | |
723 @kindex k | |
724 @findex w3-save-url | |
725 @item k | |
726 This stores the current document's URL in the kill ring, and also in the | |
727 current window-system's clipboard, if possible. | |
728 @kindex K | |
729 @findex w3-save-this-url | |
730 @item K | |
731 Stores the URL of the document under point in the kill ring, and also in | |
732 the current window-system's clipboard, if possible. | |
733 @end table | |
734 @node Action, Miscellaneous, Information, Basic Usage | |
735 @section Action | |
736 First, here are the keys and functions that bring up a new hypertext | |
737 page, usually creating a new buffer. | |
738 @table @kbd | |
739 @kindex return | 523 @kindex return |
740 @findex w3-follow-link | 524 @findex w3-follow-link |
741 @item return | 525 @item return |
742 Pressing return when over a hyperlink attempts to follow the link | 526 Pressing return when over a hyperlink attempts to follow the link |
743 under the cursor. With a prefix argument (@kbd{C-u}), this forces the | 527 under the cursor. With a prefix argument (@kbd{C-u}), this forces the |
744 file to be saved to disk instead of being passed off to other viewers | 528 file to be saved to disk instead of being passed off to other viewers |
745 or being parsed as HTML. | 529 or being parsed as @sc{html}. |
746 | 530 |
747 Pressing return when over a form input field will prompt in the | 531 Pressing return when over a form input field can cause auto-submission |
532 of the form. This is for Mosaic and Netscape compatibility. If there | |
533 is only one item in the form other than submit or reset buttons, then | |
534 | |
748 minibuffer for the data to insert into the input field. Type checking | 535 minibuffer for the data to insert into the input field. Type checking |
749 is done, and the data is only entered into the form when data of the | 536 is done, and the data is only entered into the form when data of the |
750 correct type is entered (ie: cannot enter 44 for 'date' field, etc). | 537 correct type is entered (ie: cannot enter 44 for 'date' field, etc). |
751 | 538 |
752 @kindex Middle Mouse Button | 539 @kindex Middle Mouse Button |
769 | 556 |
770 @kindex p | 557 @kindex p |
771 @findex w3-print-this-url | 558 @findex w3-print-this-url |
772 @item p | 559 @item p |
773 Prints out the current buffer in a variety of formats, including | 560 Prints out the current buffer in a variety of formats, including |
774 PostScript, HTML source, or formatted text. | 561 PostScript, @sc{html} source, or formatted text. |
775 @kindex P | 562 @kindex P |
776 @findex w3-print-url-under-point | 563 @findex w3-print-url-under-point |
777 @item P | 564 @item P |
778 Prints out the URL under point in a variety of formats, including | 565 Prints out the @sc{url} under point in a variety of formats, including |
779 PostScript, HTML source, or formatted text. | 566 PostScript, @sc{html} source, or formatted text. |
780 @kindex m | 567 @kindex m |
781 @findex w3-complete-link | 568 @findex w3-complete-link |
782 @item m | 569 @item m |
783 Selects a destination from a list of all the hyperlinks in the current | 570 Selects a destination from a list of all the hyperlinks in the current |
784 buffer. Use @kbd{space} and @kbd{tab} to complete on the links. | 571 buffer. Use @kbd{space} and @kbd{tab} to complete on the links. |
793 unconditional reload from the remote server - the locally cached copy is | 580 unconditional reload from the remote server - the locally cached copy is |
794 not consulted. | 581 not consulted. |
795 @kindex C-o | 582 @kindex C-o |
796 @findex w3-fetch | 583 @findex w3-fetch |
797 @item C-o | 584 @item C-o |
798 Prompts for a URL in the minibuffer, and attempts to fetch | 585 Prompts for a @sc{url} in the minibuffer, and attempts to fetch |
799 it. If there are any errors, or Emacs-W3 cannot understand the type of link | 586 it. If there are any errors, or Emacs-W3 cannot understand the type of link |
800 requested, the errors are displayed in a hypertext buffer. | 587 requested, the errors are displayed in a hypertext buffer. |
801 @kindex o | 588 @kindex o |
802 @findex w3-open-local | 589 @findex w3-open-local |
803 @vindex url-use-hypertext-dired | 590 @vindex url-use-hypertext-dired |
814 @findex w3-search | 601 @findex w3-search |
815 @item M-s | 602 @item M-s |
816 Perform a search, if this is a searchable index. Searching requires a | 603 Perform a search, if this is a searchable index. Searching requires a |
817 server - Emacs-W3 can not do local file searching, as there are too many | 604 server - Emacs-W3 can not do local file searching, as there are too many |
818 possible types of searches people could want to do. Generally, the only | 605 possible types of searches people could want to do. Generally, the only |
819 URL types that allow searching are HTTP, gopher, and X-EXEC. | 606 @sc{url} types that allow searching are @sc{http}, gopher, and X-EXEC. |
820 @kindex Hv | 607 @kindex Hv |
821 @findex w3-show-history-list | 608 @findex w3-show-history-list |
822 @vindex w3-keep-history | 609 @vindex w3-keep-history |
823 @item Hv | 610 @item Hv |
824 If @code{url-keep-history} is non-@code{nil}, then Emacs-W3 keeps track | 611 If @code{url-keep-history} is non-@code{nil}, then Emacs-W3 keeps track |
825 of all the URLs visited in an Emacs session. This function takes all | 612 of all the @sc{url}s visited in an Emacs session. This function takes all |
826 the links that are in that internal list, and formats them as hypertext | 613 the links that are in that internal list, and formats them as hypertext |
827 links in a list. | 614 links in a list. |
828 @end table | 615 @end table |
829 | 616 |
830 @cindex Buffer movement | 617 @cindex Buffer movement |
868 @table @kbd | 655 @table @kbd |
869 @kindex M-m | 656 @kindex M-m |
870 @findex w3-mail-current-document | 657 @findex w3-mail-current-document |
871 @item M-m | 658 @item M-m |
872 Mails the current document to someone. Choose from several different | 659 Mails the current document to someone. Choose from several different |
873 formats to mail: formatted text, HTML source, PostScript, or LaTeX source. | 660 formats to mail: formatted text, @sc{html} source, PostScript, or LaTeX source. |
874 When the HTML source is mailed, then an appropriate <base> tag is inserted | 661 When the @sc{html} source is mailed, then an appropriate <base> tag is inserted |
875 at the beginning of the document so that relative links may be followed | 662 at the beginning of the document so that relative links may be followed |
876 correctly by whoever receives the mail. | 663 correctly by whoever receives the mail. |
877 @kindex M-M | 664 @kindex M-M |
878 @findex w3-mail-document-under-point | 665 @findex w3-mail-document-under-point |
879 @item M-M | 666 @item M-M |
880 Mails the document pointed to by the hypertext link under point to someone. | 667 Mails the document pointed to by the hypertext link under point to someone. |
881 Choose from several different formats to mail: formatted text, HTML source, | 668 Choose from several different formats to mail: formatted text, @sc{html} source, |
882 PostScript, or LaTeX source. When the HTML source is mailed, then an | 669 PostScript, or LaTeX source. When the @sc{html} source is mailed, then an |
883 appropriate <base> tag is inserted at the beginning of the document so that | 670 appropriate <base> tag is inserted at the beginning of the document so that |
884 relative links may be followed correctly by whoever receives the | 671 relative links may be followed correctly by whoever receives the |
885 mail. | 672 mail. |
886 @kindex p | 673 @kindex p |
887 @findex w3-print-this-url | 674 @findex w3-print-this-url |
888 @item p | 675 @item p |
889 Prints the current document. Choose from several different formats to | 676 Prints the current document. Choose from several different formats to |
890 print: formatted text, HTML source, PostScript (with ps-print), or by using | 677 print: formatted text, @sc{html} source, PostScript (with ps-print), or by using |
891 LaTeX and dvips). | 678 LaTeX and dvips). |
892 | 679 |
893 @findex lpr-buffer | 680 @findex lpr-buffer |
894 @vindex lpr-command | 681 @vindex lpr-command |
895 @vindex lpr-switches | 682 @vindex lpr-switches |
896 When the formatted text is printed, the normal @code{lpr-buffer} function | 683 When the formatted text is printed, the normal @code{lpr-buffer} function |
897 is called, and the variables @code{lpr-command} and @code{lpr-switches} | 684 is called, and the variables @code{lpr-command} and @code{lpr-switches} |
898 control how the document is printed. | 685 control how the document is printed. |
899 | 686 |
900 When the HTML source is printed, then an appropriate <base> tag is | 687 When the @sc{html} source is printed, then an appropriate <base> tag is |
901 inserted at the beginning of the document. | 688 inserted at the beginning of the document. |
902 @vindex w3-print-commnad | 689 @vindex w3-print-commnad |
903 @vindex w3-latex-docstyle | 690 @vindex w3-latex-docstyle |
904 When postscript is printed, then the HTML source of the document is | 691 When postscript is printed, then the @sc{html} source of the document is |
905 converted into LaTeX source. There are several variables controlling | 692 converted into LaTeX source. There are several variables controlling |
906 what the final LaTeX document looks like. | 693 what the final LaTeX document looks like. |
907 | 694 |
908 :: WORK :: Document the new LaTeX backend | 695 :: WORK :: Document the new LaTeX backend |
909 | 696 |
913 If non-@code{nil}, configures the LaTeX engine to use the LaTeX2e | 700 If non-@code{nil}, configures the LaTeX engine to use the LaTeX2e |
914 syntax. A @code{nil} value indicates that LaTeX 2.0.9 compabibility | 701 syntax. A @code{nil} value indicates that LaTeX 2.0.9 compabibility |
915 will be used instead. | 702 will be used instead. |
916 @item w3-latex-docstyle | 703 @item w3-latex-docstyle |
917 @vindex w3-latex-docstyle | 704 @vindex w3-latex-docstyle |
918 The document style to use when printing or mailing converted HTML files | 705 The document style to use when printing or mailing converted @sc{html} files |
919 in LaTeX. Good defaults are: @{article@}, [psfig,twocolumn]@{article@}, | 706 in LaTeX. Good defaults are: @{article@}, [psfig,twocolumn]@{article@}, |
920 etc. | 707 etc. |
921 @item w3-latex-packages | 708 @item w3-latex-packages |
922 @vindex w3-latex-packages | 709 @vindex w3-latex-packages |
923 List of LaTeX packages to include. Currently this is only used if | 710 List of LaTeX packages to include. Currently this is only used if |
926 @vindex w3-latex-use-maketitle | 713 @vindex w3-latex-use-maketitle |
927 If non-@code{nil}, the LaTeX engine will use real LaTeX title pages for | 714 If non-@code{nil}, the LaTeX engine will use real LaTeX title pages for |
928 document titles. | 715 document titles. |
929 @item w3-latex-print-links | 716 @item w3-latex-print-links |
930 @vindex w3-latex-print-links | 717 @vindex w3-latex-print-links |
931 If non-@code{nil}, prints the URLs of hypertext links as endnotes at the | 718 If non-@code{nil}, prints the @sc{url}s of hypertext links as endnotes at the |
932 end of the document. If set to @code{footnote}, prints the URL's as | 719 end of the document. If set to @code{footnote}, prints the @sc{url}'s as |
933 footnotes on each page. | 720 footnotes on each page. |
934 @end table | 721 @end table |
935 | 722 |
936 @kindex P | 723 @kindex P |
937 @findex w3-print-url-under-point | 724 @findex w3-print-url-under-point |
939 Prints the document pointed to by the hypertext link under point. | 726 Prints the document pointed to by the hypertext link under point. |
940 Please see the previous item for more information. | 727 Please see the previous item for more information. |
941 @kindex M-x w3-insert-formatted-url | 728 @kindex M-x w3-insert-formatted-url |
942 @findex w3-insert-formatted-url | 729 @findex w3-insert-formatted-url |
943 @item M-x w3-insert-formatted-url | 730 @item M-x w3-insert-formatted-url |
944 Insert a fully formatted HTML link into another buffer. This gets the | 731 Insert a fully formatted @sc{html} link into another buffer. This gets the |
945 name and URL of either the current buffer, or, with a prefix arg, of the | 732 name and @sc{url} of either the current buffer, or, with a prefix arg, of the |
946 link under point, and construct the appropriate <a...>...</a> markup and | 733 link under point, and construct the appropriate <a...>...</a> markup and |
947 insert it into the desired buffer. | 734 insert it into the desired buffer. |
948 @kindex M-tab | 735 @kindex M-tab |
949 @findex w3-insert-this-url | 736 @findex w3-insert-this-url |
950 @item M-tab | 737 @item M-tab |
951 Inserts the URL of the current document into another buffer. Buffer is | 738 Inserts the @sc{url} of the current document into another buffer. Buffer is |
952 prompted for in the minibuffer. With prefix arg, uses the URL of the | 739 prompted for in the minibuffer. With prefix arg, uses the @sc{url} of the |
953 link under point. | 740 link under point. |
954 @kindex U | 741 @kindex U |
955 @findex w3-use-links | 742 @findex w3-use-links |
956 @item U | 743 @item U |
957 Selects one of the <LINK> tags from this document and fetch it. Links | 744 Selects one of the <LINK> tags from this document and fetch it. Links |
983 * Session History:: Keeping a history of documents visited | 770 * Session History:: Keeping a history of documents visited |
984 in one Emacs sessions allows the use of | 771 in one Emacs sessions allows the use of |
985 'forward' and 'back' buttons easily. | 772 'forward' and 'back' buttons easily. |
986 * Global History:: Keeping a history of all the places ever | 773 * Global History:: Keeping a history of all the places ever |
987 visited on the web. | 774 visited on the web. |
988 * Annotations:: Annotations allow comments on other | |
989 people's Web documents without needing | |
990 to change the document. | |
991 @end menu | 775 @end menu |
992 @end ifinfo | 776 @end ifinfo |
993 @node Emulation, Hotlist Handling, Compatibility, Compatibility | 777 @node Emulation, Hotlist Handling, Compatibility, Compatibility |
994 @section Emulation | 778 @section Emulation |
995 @cindex Browser emulation | 779 @cindex Browser emulation |
1000 @findex turn-on-lynx-emulation | 784 @findex turn-on-lynx-emulation |
1001 @findex w3-netscape-emulation-minor-mode | 785 @findex w3-netscape-emulation-minor-mode |
1002 @findex w3-lynx-emulation-minor-mode | 786 @findex w3-lynx-emulation-minor-mode |
1003 @vindex w3-mode-hook | 787 @vindex w3-mode-hook |
1004 :: WORK :: Document lynx emulation | 788 :: WORK :: Document lynx emulation |
789 @table @key | |
790 @item Down arrow | |
791 Highlight next topic | |
792 @item Up arrow | |
793 Highlight previous topic | |
794 @item Right arrow, Return, Enter | |
795 Jump to highlighted topic | |
796 @item Left arrow | |
797 Return to previous topic | |
798 @item + | |
799 Scroll down to next page (Page-Down) | |
800 @item - | |
801 Scroll up to previous page (Page-Up) | |
802 @item SPACE | |
803 Scroll down to next page (Page-Down) | |
804 @item b | |
805 Scroll up to previous page (Page-Up) | |
806 @item C-A | |
807 Go to first page of the current document (Home) | |
808 @item C-E | |
809 Go to last page of the current document (End) | |
810 @item C-B | |
811 Scroll up to previous page (Page-Up) | |
812 @item C-F | |
813 Scroll down to next page (Page-Down) | |
814 @item C-N | |
815 Go forward two lines in the current document | |
816 @item C-P | |
817 Go back two lines in the current document | |
818 @item ) | |
819 Go forward half a page in the current document | |
820 @item ( | |
821 Go back half a page in the current document | |
822 @item # | |
823 Go to Toolbar or Banner in the current document | |
824 @item ?, h | |
825 Help (this screen) | |
826 @item a | |
827 Add the current link to a bookmark file | |
828 @item c | |
829 Send a comment to the document owner | |
830 @item d | |
831 Download the current link | |
832 @item e | |
833 Edit the current file | |
834 @item g | |
835 Goto a user specified @sc{url} or file | |
836 @item i | |
837 Show an index of documents | |
838 @item j | |
839 Execute a jump operation | |
840 @item k | |
841 Show a list of key mappings | |
842 @item l | |
843 List references (links) in current document | |
844 @item m | |
845 Return to main screen | |
846 @item o | |
847 Set your options | |
848 @item p | |
849 Print the current document | |
850 @item q | |
851 Quit | |
852 @item / | |
853 Search for a string within the current document | |
854 @item s | |
855 Enter a search string for an external search | |
856 @item n | |
857 Go to the next search string | |
858 @item v | |
859 View a bookmark file | |
860 @item V | |
861 Go to the Visited Links Page | |
862 @item x | |
863 Force submission of form or link with no-cache | |
864 @item z | |
865 Cancel transfer in progress | |
866 @item [backspace] | |
867 Go to the history Page | |
868 @item = | |
869 Show file and link info | |
870 @item \ | |
871 Toggle document source/rendered view | |
872 @item ! | |
873 Spawn your default shell | |
874 @item * | |
875 Toggle image_links mode on and off | |
876 @item [ | |
877 Toggle pseudo_inlines mode on and off | |
878 @item ] | |
879 Send an @sc{http} @sc{head} request for the current doc or link | |
880 @item C-R | |
881 Reload current file and refresh the screen | |
882 @item C-W | |
883 Refresh the screen | |
884 @item C-U | |
885 Erase input line | |
886 @item C-G | |
887 Cancel input or transfer | |
888 @item C-T | |
889 Toggle trace mode on and off | |
890 @item C-K | |
891 Invoke the Cookie Jar Page | |
892 @end table | |
893 | |
1005 :: WORK :: Document netscape emulation | 894 :: WORK :: Document netscape emulation |
895 Uh, turn this into pretty tables about what keys are emulated. | |
896 | |
897 @example | |
898 (define-key w3-netscape-emulation-minor-mode-map "\M-s" 'w3-save-as) | |
899 (define-key w3-netscape-emulation-minor-mode-map "\M-m" 'w3-mailto) | |
900 (define-key w3-netscape-emulation-minor-mode-map "\M-n" 'make-frame) | |
901 (define-key w3-netscape-emulation-minor-mode-map "\M-l" 'w3-fetch) | |
902 (define-key w3-netscape-emulation-minor-mode-map "\M-o" 'w3-open-local) | |
903 (define-key w3-netscape-emulation-minor-mode-map "\M-p" 'w3-print-this-url) | |
904 (define-key w3-netscape-emulation-minor-mode-map "\M-q" 'w3-quit) | |
905 (define-key w3-netscape-emulation-minor-mode-map "\M-f" 'w3-search-forward) | |
906 (define-key w3-netscape-emulation-minor-mode-map "\M-g" 'w3-search-again) | |
907 (define-key w3-netscape-emulation-minor-mode-map "\M-r" 'w3-reload-document) | |
908 (define-key w3-netscape-emulation-minor-mode-map "\M-i" 'w3-load-delayed-images) | |
909 (define-key w3-netscape-emulation-minor-mode-map "\M-a" 'w3-hotlist-add-document) | |
910 (define-key w3-netscape-emulation-minor-mode-map "\M-b" 'w3-show-hotlist) | |
911 (define-key w3-netscape-emulation-minor-mode-map "\M-h" 'w3-show-history-list) | |
912 | |
913 @end example | |
1006 | 914 |
1007 @node Hotlist Handling, Session History, Emulation, Compatibility | 915 @node Hotlist Handling, Session History, Emulation, Compatibility |
1008 @section Hotlist Handling | 916 @section Hotlist Handling |
1009 :: WORK :: Document that it supports different types of hotlist formats | 917 :: WORK :: Document that it supports different types of hotlist formats |
1010 :: WORK :: Make sure everything hotlist related can be accessed via 'h' | 918 :: WORK :: Make sure everything hotlist related can be accessed via 'h' |
1011 In order to avoid having to traverse many documents to get to the same | 919 In order to avoid having to traverse many documents to get to the same |
1012 document over and over, Emacs-W3 supports a ``hotlist'' like Mosaic. This is | 920 document over and over, Emacs-W3 supports a ``hotlist'' like Mosaic. This is |
1013 a file that contains URLs and aliases. Hotlists allow quick access to any | 921 a file that contains @sc{url}s and aliases. Hotlists allow quick access to any |
1014 document in the Web, providing it has been visited and added to the hotlist. | 922 document in the Web, providing it has been visited and added to the hotlist. |
1015 The variable @code{w3-hotlist-file} determines where this information | 923 The variable @code{w3-hotlist-file} determines where this information |
1016 is saved. The structure of the file is compatible with Mosaic's | 924 is saved. The structure of the file is compatible with Mosaic's |
1017 hotlist file, so this defaults to @file{~/.mosaic-hotlist-default}. | 925 hotlist file, so this defaults to @file{~/.mosaic-hotlist-default}. |
1018 | 926 |
1022 @findex w3-hotlist-add-document | 930 @findex w3-hotlist-add-document |
1023 @vindex w3-hotlist-file | 931 @vindex w3-hotlist-file |
1024 @item a | 932 @item a |
1025 Adds the current document to the hotlist, with the buffer name as its | 933 Adds the current document to the hotlist, with the buffer name as its |
1026 identifier. Modifies the file specified by @code{w3-hotlist-file}. If | 934 identifier. Modifies the file specified by @code{w3-hotlist-file}. If |
1027 this is given a @var{prefix-argument} (via @kbd{C-u}), the title is | 935 this is given a prefix-argument (via @kbd{C-u}), the title is prompted |
1028 prompted for instead of automatically defaulting to the | 936 for instead of automatically defaulting to the document title. |
1029 document title. | |
1030 | 937 |
1031 @findex w3-hotlist-refresh | 938 @findex w3-hotlist-refresh |
1032 @vindex w3-hotlist-file | 939 @vindex w3-hotlist-file |
1033 @kindex hR | 940 @kindex hR |
1034 @item hR | 941 @item hR |
1060 @key{tab} key shows partial completions. | 967 @key{tab} key shows partial completions. |
1061 | 968 |
1062 @item hv | 969 @item hv |
1063 @kindex hv | 970 @kindex hv |
1064 @findex w3-show-hotlist | 971 @findex w3-show-hotlist |
1065 Converts the hotlist into HTML and displays it. | 972 Converts the hotlist into @sc{html} and displays it. |
1066 @item ha | 973 @item ha |
1067 @kindex ha | 974 @kindex ha |
1068 @findex w3-hotlist-apropos | 975 @findex w3-hotlist-apropos |
1069 Shows the hotlist entries matching a regular expression. | 976 Shows the hotlist entries matching a regular expression. |
1070 @item hA | 977 @item hA |
1073 Appends another hotlist file to the one currently in memory. | 980 Appends another hotlist file to the one currently in memory. |
1074 @end table | 981 @end table |
1075 @node Session History, Global History, Hotlist Handling, Compatibility | 982 @node Session History, Global History, Hotlist Handling, Compatibility |
1076 @section History | 983 @section History |
1077 @cindex History Lists | 984 @cindex History Lists |
1078 Almost all web browsers keep track of the URLs followed from a page, so | 985 Almost all web browsers keep track of the @sc{url}s followed from a page, so |
1079 that it can provide @b{forward} and @b{back} buttons to keep a @i{path} | 986 that it can provide @b{forward} and @b{back} buttons to keep a @i{path} |
1080 of URLs that can be traversed easily. | 987 of @sc{url}s that can be traversed easily. |
1081 @vindex url-keep-history | 988 @vindex url-keep-history |
1082 If the variable @code{url-keep-history} is @code{t}, then Emacs-W3 | 989 If the variable @code{url-keep-history} is @code{t}, then Emacs-W3 |
1083 keeps a list of all the URLs visited in a session. | 990 keeps a list of all the @sc{url}s visited in a session. |
1084 @findex w3-show-history | 991 @findex w3-show-history |
1085 To view a listing of the history for this session of Emacs-W3, use | 992 To view a listing of the history for this session of Emacs-W3, use |
1086 @code{M-x w3-show-history} from any buffer, and Emacs-W3 generates an | 993 @code{M-x w3-show-history} from any buffer, and Emacs-W3 generates an |
1087 HTML document showing every URL visited since Emacs started (or | 994 @sc{html} document showing every @sc{url} visited since Emacs started (or |
1088 cleared the history list), and then format it. Any of the links can | 995 cleared the history list), and then format it. Any of the links can |
1089 be chosen and followed to the original document. To clear the history | 996 be chosen and followed to the original document. To clear the history |
1090 list, choose 'Clear History' from the 'Options' menu. | 997 list, choose 'Clear History' from the 'Options' menu. |
1091 | 998 |
1092 @findex w3-forward-in-history | 999 @findex w3-forward-in-history |
1093 @findex w3-backward-in-history | 1000 @findex w3-backward-in-history |
1094 @findex w3-fetch | 1001 @findex w3-fetch |
1095 Another twist on the history list mechanism is the fact that all | 1002 Another twist on the history list mechanism is the fact that all |
1096 Emacs-W3 buffers remember what URL, buffer, and buffer position of the | 1003 Emacs-W3 buffers remember what @sc{url}, buffer, and buffer position of the |
1097 last document, and also keeps track of the next location jumped @b{to} | 1004 last document, and also keeps track of the next location jumped @b{to} |
1098 from that buffer. This means that the user can go forwards and | 1005 from that buffer. This means that the user can go forwards and |
1099 backwards very easily along the path taken to reach a particular | 1006 backwards very easily along the path taken to reach a particular |
1100 document. To go forward, use the function @code{w3-forward-in-history}, | 1007 document. To go forward, use the function @code{w3-forward-in-history}, |
1101 to go backward, use the function @code{w3-backward-in-history}. | 1008 to go backward, use the function @code{w3-backward-in-history}. |
1102 | 1009 |
1103 @node Global History, Annotations, Session History, Compatibility | 1010 @node Global History, , Session History, Compatibility |
1104 @section Global History | 1011 @section Global History |
1105 :: WORK :: Document that the global history can have diff. formats | 1012 :: WORK :: Document that the global history can have diff. formats |
1106 Most web browsers also support the idea of a ``history'' of URLs the | 1013 Most web browsers also support the idea of a ``history'' of @sc{url}s the |
1107 user has visited, and it displays them in a different style than normal | 1014 user has visited, and it displays them in a different style than normal |
1108 URLs. | 1015 @sc{url}s. |
1109 | 1016 |
1110 @vindex url-keep-history | 1017 @vindex url-keep-history |
1111 @vindex url-global-history-file | 1018 @vindex url-global-history-file |
1112 If the variable @code{url-keep-history} is @code{t}, then Emacs-W3 | 1019 If the variable @code{url-keep-history} is @code{t}, then Emacs-W3 |
1113 keeps a list of all the URLs visited in a session. The file is | 1020 keeps a list of all the @sc{url}s visited in a session. The file is |
1114 automatically written to disk when exiting emacs. The list is added to | 1021 automatically written to disk when exiting emacs. The list is added to |
1115 those already in the file specified by @code{url-global-history-file}, | 1022 those already in the file specified by @code{url-global-history-file}, |
1116 which defaults to @file{~/.mosaic-global-history}. | 1023 which defaults to @file{~/.mosaic-global-history}. |
1117 | 1024 |
1118 If any URL in the list is found in the file, it is not saved, but new | 1025 If any @sc{url} in the list is found in the file, it is not saved, but new |
1119 ones are added at the end of the file. | 1026 ones are added at the end of the file. |
1120 | 1027 |
1121 The function that saves the global history list is smart enough to | 1028 The function that saves the global history list is smart enough to |
1122 notice what style of history list is being used (Netscape, Emacs-W3, or | 1029 notice what style of history list is being used (Netscape, Emacs-W3, or |
1123 XMosaic), and writes out the new additions appropriately. | 1030 XMosaic), and writes out the new additions appropriately. |
1125 @cindex Completion of URLs | 1032 @cindex Completion of URLs |
1126 @cindex Usefulness of global history | 1033 @cindex Usefulness of global history |
1127 One of the nice things about keeping a global history files is that Emacs-W3 | 1034 One of the nice things about keeping a global history files is that Emacs-W3 |
1128 can use it as a completion table. When doing @kbd{M-x w3-fetch}, pressing | 1035 can use it as a completion table. When doing @kbd{M-x w3-fetch}, pressing |
1129 the @kbd{tab} or @kbd{space} key will show all completions for a | 1036 the @kbd{tab} or @kbd{space} key will show all completions for a |
1130 partial URL. This is very useful, especially for very long URLs that | 1037 partial @sc{url}. This is very useful, especially for very long @sc{url}s that |
1131 are not in a hotlist, or for seeing all the pages from a particular web | 1038 are not in a hotlist, or for seeing all the pages from a particular web |
1132 site before choosing which to retrieve. | 1039 site before choosing which to retrieve. |
1133 | 1040 |
1134 @node Annotations, Group Annotations, Global History, Compatibility | 1041 @node Stylesheets, General Formatting, Top, Top |
1135 @section Annotations | 1042 @chapter Stylesheets |
1136 @cindex Annotations | |
1137 Mosaic can @i{annotate} documents. Annotations are comments about the | |
1138 current document, and these annotations appear as a link to the comments | |
1139 at the end of the document. The original file is not changed. | |
1140 | |
1141 @ifinfo | |
1142 @menu | |
1143 * Group Annotations:: Annotations accessible by everyone | |
1144 * Personal Annotations:: Private annotations only accessible | |
1145 to the user who created them | |
1146 @end menu | |
1147 @end ifinfo | |
1148 @node Group Annotations, Personal Annotations, Annotations, Annotations | |
1149 @subsection Group Annotations | |
1150 @cindex Group Annotations | |
1151 @b{@i{NOTE}}: The group annotation experiment has been terminated. It | |
1152 will be replaced with support on the server side for adding <LINK> tags | |
1153 to documents. | |
1154 | |
1155 @node Personal Annotations, , Group Annotations, Annotations | |
1156 @subsection Personal Annotations | |
1157 @cindex Personal Annotations | |
1158 @vindex w3-personal-annotation-directory | |
1159 Emacs-W3 looks in the directory specified by | |
1160 @code{w3-personal-annotation-directory} (defaults to | |
1161 @file{~/.mosaic-personal-annotations}). Any personal annotations for a | |
1162 document are automatically appended when it is retrieved. | |
1163 | |
1164 :: WORK :: Document the new 'a' prefix keymap | |
1165 :: WORK :: Tell where the annotations are stored | |
1166 | |
1167 @findex w3-add-personal-annotation | |
1168 @vindex w3-annotation-mode | |
1169 To add a new personal annotation, type @kbd{M-x | |
1170 w3-add-personal-annotation}. This creates a new buffer, in the mode | |
1171 specified by @code{w3-annotation-mode}. This defaults to | |
1172 @code{html-mode}. If this variable is @code{nil}, or it points to an | |
1173 undefined function, then @code{default-major-mode} is consulted. | |
1174 | |
1175 A minor mode redefines @kbd{C-c C-c} to complete the annotation and | |
1176 store it on the local disk. | |
1177 | |
1178 @findex w3-delete-personal-annotation | |
1179 To delete a personal annotation, it must be the current page. Once | |
1180 reading the annotation, @kbd{M-x w3-delete-personal-annotation} will | |
1181 remove it. This deletes the file containing the annotation, and any | |
1182 references to it in the annotation log file. | |
1183 | |
1184 Editing personal annotations is not yet supported. | |
1185 | |
1186 @node Controlling Formatting, General Formatting, Top, Top | |
1187 @chapter Controlling Formatting | |
1188 @cindex Customizing formatting | 1043 @cindex Customizing formatting |
1189 @cindex Specifying Fonts | 1044 @cindex Specifying Fonts |
1190 @cindex Fonts | 1045 @cindex Fonts |
1046 @cindex Stylesheets | |
1191 @cindex Colors | 1047 @cindex Colors |
1192 How Emacs-W3 formats a document is very customizable. All control over | 1048 How Emacs-W3 formats a document is very customizable. All control over |
1193 formatting is now controlled by a default stylesheet set by the user | 1049 formatting is now controlled by a default stylesheet set by the user |
1194 with the @code{w3-default-sheet} variable. | 1050 with the @code{w3-default-stylesheet} variable. |
1195 | 1051 |
1196 The following sections describe in more detail how to change the | 1052 The following sections describe in more detail how to change the |
1197 formatting of a document. | 1053 formatting of a document. |
1198 | 1054 |
1199 @ifinfo | 1055 @ifinfo |
1210 OS/2, etc.) | 1066 OS/2, etc.) |
1211 * Inlined images:: How to specify how Emacs-W3 | 1067 * Inlined images:: How to specify how Emacs-W3 |
1212 handles inlined images/mpegs. | 1068 handles inlined images/mpegs. |
1213 @end menu | 1069 @end menu |
1214 @end ifinfo | 1070 @end ifinfo |
1215 @node General Formatting, Character based terminals, Controlling Formatting, Controlling Formatting | 1071 @node General Formatting, Character based terminals, Stylesheets, Stylesheets |
1216 @section General formatting conventions | 1072 @section General formatting conventions |
1217 @iftex | 1073 @iftex |
1218 @heading Setting the fill column | 1074 @heading Setting the fill column |
1219 @end iftex | 1075 @end iftex |
1220 @ifinfo | 1076 @ifinfo |
1238 @center Formatting of directory listings | 1094 @center Formatting of directory listings |
1239 @center -------------------- | 1095 @center -------------------- |
1240 @end ifinfo | 1096 @end ifinfo |
1241 @vindex url-use-hypertext-dired | 1097 @vindex url-use-hypertext-dired |
1242 When Emacs-W3 encounters a link to a directory (whether by local file access | 1098 When Emacs-W3 encounters a link to a directory (whether by local file access |
1243 or via FTP), it can either create an HTML document on the fly, or use | 1099 or via @sc{ftp}), it can either create an @sc{html} document on the fly, or use |
1244 @code{dired-mode} to peruse the listing. The variable | 1100 @code{dired-mode} to peruse the listing. The variable |
1245 @code{url-use-hypertext-dired} controls this behavior. | 1101 @code{url-use-hypertext-dired} controls this behavior. |
1246 | 1102 |
1247 If the value is @code{t}, Emacs-W3 uses @code{directory-files} to list them | 1103 If the value is @code{t}, Emacs-W3 uses @code{directory-files} to list them |
1248 out and transform the directory into a hypertext document, then pass it | 1104 out and transform the directory into a hypertext document, then pass it |
1263 @end ifinfo | 1119 @end ifinfo |
1264 @vindex w3-use-hypertext-gopher | 1120 @vindex w3-use-hypertext-gopher |
1265 @cindex Gopher+ | 1121 @cindex Gopher+ |
1266 @cindex ASK blocks | 1122 @cindex ASK blocks |
1267 There are two different ways of viewing gopher links. The built-in | 1123 There are two different ways of viewing gopher links. The built-in |
1268 support that converts gopher directories into HTML, or the | 1124 support that converts gopher directories into @sc{html}, or the |
1269 @file{gopher.el} package by Scott Snyder (@i{snyder@@fnald0.fnal.gov}). | 1125 @file{gopher.el} package by Scott Snyder (@i{snyder@@fnald0.fnal.gov}). |
1270 The variable that controls this is @code{w3-use-hypertext-gopher}. If | 1126 The variable that controls this is @code{w3-use-hypertext-gopher}. If |
1271 set to @code{nil}, then @file{gopher.el} is used. Any other value | 1127 set to @code{nil}, then @file{gopher.el} is used. Any other value |
1272 causes Emacs-W3 to use its internal gopher support. If using | 1128 causes Emacs-W3 to use its internal gopher support. If using |
1273 @file{gopher.el}, all the hypertext capabilities of Emacs-W3 are lost. | 1129 @file{gopher.el}, all the hypertext capabilities of Emacs-W3 are lost. |
1290 @center -------------------- | 1146 @center -------------------- |
1291 @center Creating a horizontal rule | 1147 @center Creating a horizontal rule |
1292 @center -------------------- | 1148 @center -------------------- |
1293 @end ifinfo | 1149 @end ifinfo |
1294 @vindex w3-horizontal-rule-char | 1150 @vindex w3-horizontal-rule-char |
1295 Horizontal rules (@b{<HR>} tags in HTML[+]) are used to separate chunks | 1151 Horizontal rules (@b{<HR>} tags in @sc{html}[+]) are used to separate chunks |
1296 of a document, and is meant to be rendered as a solid line across the | 1152 of a document, and is meant to be rendered as a solid line across the |
1297 page. Some terminals display characters differently, so the variable | 1153 page. Some terminals display characters differently, so the variable |
1298 @code{w3-horizontal-rule-char} controls which character is used to draw | 1154 @code{w3-horizontal-rule-char} controls which character is used to draw |
1299 a horizontal bar. This variable must be the ASCII value of the | 1155 a horizontal bar. This variable must be the ASCII value of the |
1300 character, @b{not a string}. The variable is passed through | 1156 character, @b{not a string}. The variable is passed through |
1301 @code{make-string} whenever a horizontal rule of a certain width is | 1157 @code{make-string} whenever a horizontal rule of a certain width is |
1302 necessary. | 1158 necessary. |
1303 | 1159 |
1304 @node Character based terminals, Graphics workstations, General Formatting, Controlling Formatting | 1160 @node Character based terminals, Graphics workstations, General Formatting, Stylesheets |
1305 @section On character based terminals | 1161 @section On character based terminals |
1306 @vindex w3-delimit-emphasis | 1162 @vindex w3-delimit-emphasis |
1307 On character based terminals, there is no easy way to show that a | 1163 On character based terminals, there is no easy way to show that a |
1308 certain range of text is in bold or italics. If the variable | 1164 certain range of text is in bold or italics. If the variable |
1309 @code{w3-delimit-emphasis} is non-@code{nil}, then Emacs-W3 can insert | 1165 @code{w3-delimit-emphasis} is non-@code{nil}, then Emacs-W3 can insert |
1310 characters before and after character formatting commands in HTML | 1166 characters before and after character formatting commands in @sc{html} |
1311 documents. The defaul value of @code{w3-delimit-emphasis} is | 1167 documents. The defaul value of @code{w3-delimit-emphasis} is |
1312 automatically set based on the type of window system and version of | 1168 automatically set based on the type of window system and version of |
1313 Emacs being used. | 1169 Emacs being used. |
1314 | 1170 |
1315 @vindex w3-header-chars-assoc | 1171 @vindex w3-header-chars-assoc |
1319 @code{w3-header-chars-assoc} is an assoc list of header tags and a list | 1175 @code{w3-header-chars-assoc} is an assoc list of header tags and a list |
1320 of formatting instructions. The @code{car} of the list is the level of | 1176 of formatting instructions. The @code{car} of the list is the level of |
1321 the header (1--6). The rest of the list should contain three items. | 1177 the header (1--6). The rest of the list should contain three items. |
1322 The first item is text to insert before the header. The second item is | 1178 The first item is text to insert before the header. The second item is |
1323 text to insert after the header. Both should have reserved characters | 1179 text to insert after the header. Both should have reserved characters |
1324 converted to their HTML[+] entity definitions. The third item is a | 1180 converted to their @sc{html}[+] entity definitions. The third item is a |
1325 function to call on the area the header is in. This function is called | 1181 function to call on the area the header is in. This function is called |
1326 with arguments specifying the start and ending character positions of | 1182 with arguments specifying the start and ending character positions of |
1327 the header. The starting point is always first. To convert a region to | 1183 the header. The starting point is always first. To convert a region to |
1328 upper case, please use @code{w3-upcase-region} instead of | 1184 upper case, please use @code{w3-upcase-region} instead of |
1329 @code{upcase-region}, so that entities are converted properly. | 1185 @code{upcase-region}, so that entities are converted properly. |
1330 | 1186 |
1331 @node Graphics workstations, Inlined images, Character based terminals, Controlling Formatting | 1187 @node Graphics workstations, Inlined images, Character based terminals, Stylesheets |
1332 @section With graphics workstations | 1188 @section With graphics workstations |
1333 Starting with the first public release of version 2.3.0, all formatting | 1189 Starting with the first public release of version 2.3.0, all formatting |
1334 is controlled by the use of stylesheets. | 1190 is controlled by the use of stylesheets. |
1335 | 1191 |
1336 :: WORK :: Graphic workstation stuff - redo for stylesheets | 1192 :: WORK :: Graphic workstation stuff - redo for stylesheets |
1337 | 1193 |
1338 @node Inlined images, , Graphics workstations, Controlling Formatting | 1194 @node Inlined images, , Graphics workstations, Stylesheets |
1339 @cindex Inlined images | 1195 @cindex Inlined images |
1340 @cindex Images | 1196 @cindex Images |
1341 @cindex Movies | 1197 @cindex Movies |
1342 @cindex Inlined MPEGs | 1198 @cindex Inlined MPEGs |
1343 @cindex MPEGs | 1199 @cindex MPEGs |
1353 To do this, the @b{netpbm utilities}@footnote{Available via anonymous | 1209 To do this, the @b{netpbm utilities}@footnote{Available via anonymous |
1354 ftp from ftp.x.org:/R5contrib/netpbm-1mar1994.tar.gz, and most large ftp | 1210 ftp from ftp.x.org:/R5contrib/netpbm-1mar1994.tar.gz, and most large ftp |
1355 sites.} programs are normally used. This is a suite of freeware image | 1211 sites.} programs are normally used. This is a suite of freeware image |
1356 conversion tools. The variable @code{w3-graphic-converter-alist} | 1212 conversion tools. The variable @code{w3-graphic-converter-alist} |
1357 controls how each image type is converted. This is an assoc list, keyed | 1213 controls how each image type is converted. This is an assoc list, keyed |
1358 on the MIME content-type. The @code{car} is the content-type, and the | 1214 on the @sc{mime} content-type. The @code{car} is the content-type, and |
1359 @code{cdr} is a string suitable to pass to @code{format}. A %s in this | 1215 the @code{cdr} is a string suitable to pass to @code{format}. A %s in |
1360 string will be replaced with a converter from the ppm image format to an | 1216 this string will be replaced with a converter from the ppm image format |
1361 XPixmap (or XBitmap, if being run on a monochrome display). By default, | 1217 to an XPixmap (or XBitmap, if being run on a monochrome display). By |
1362 the Emacs-W3 browser has converters for: | 1218 default, the Emacs-W3 browser has converters for: |
1363 | 1219 |
1364 @enumerate | 1220 @enumerate |
1365 @item | 1221 @item |
1366 image/x-xbitmap | 1222 image/x-xbitmap |
1367 @item | 1223 @item |
1461 @code{w3-load-delayed-images}. Its counterpart for delayed movies is | 1317 @code{w3-load-delayed-images}. Its counterpart for delayed movies is |
1462 @code{w3-load-delayed-mpegs} | 1318 @code{w3-load-delayed-mpegs} |
1463 | 1319 |
1464 @node MIME Support, Adding MIME types based on file extensions, , Top | 1320 @node MIME Support, Adding MIME types based on file extensions, , Top |
1465 @chapter MIME Support | 1321 @chapter MIME Support |
1466 MIME is an emerging standard for multimedia mail. It offers a very | 1322 @sc{mime} is an emerging standard for multimedia mail. It offers a very |
1467 flexible typing mechanism. The type of a file or message is specified | 1323 flexible typing mechanism. The type of a file or message is specified |
1468 in two parts, separated by a '/'. The first part is the general | 1324 in two parts, separated by a '/'. The first part is the general |
1469 category of the data (text, application, image, etc.). The second part | 1325 category of the data (text, application, image, etc.). The second part |
1470 is the specific type of data (postscript, gif, jpeg, etc.). So | 1326 is the specific type of data (postscript, gif, jpeg, etc.). So |
1471 @samp{text/html} specifies an HTML document, whereas | 1327 @samp{text/html} specifies an @sc{html} document, whereas |
1472 @samp{image/x-xwindowdump} specifies an image of an Xwindow taken with | 1328 @samp{image/x-xwindowdump} specifies an image of an Xwindow taken with |
1473 the @file{xwd} program. | 1329 the @file{xwd} program. |
1474 | 1330 |
1475 | 1331 |
1476 This typing allows much more flexibility in naming files. HTTP/1.0 | 1332 This typing allows much more flexibility in naming files. @sc{http}/1.0 |
1477 servers can now send back content-type headers in response to a request, | 1333 servers can now send back content-type headers in response to a request, |
1478 and not have the client second-guess it based on file extensions. HTML | 1334 and not have the client second-guess it based on file extensions. @sc{html} |
1479 files can now be named @file{something.gif} (not a great idea, but | 1335 files can now be named @file{something.gif} (not a great idea, but |
1480 possible). | 1336 possible). |
1481 | 1337 |
1482 @ifinfo | 1338 @ifinfo |
1483 @menu | 1339 @menu |
1493 @node Adding MIME types based on file extensions, Specifying Viewers, MIME Support, MIME Support | 1349 @node Adding MIME types based on file extensions, Specifying Viewers, MIME Support, MIME Support |
1494 @section Adding MIME types based on file extensions | 1350 @section Adding MIME types based on file extensions |
1495 @vindex mm-mime-extensions | 1351 @vindex mm-mime-extensions |
1496 For some protocols however, it is still necessary to guess the content | 1352 For some protocols however, it is still necessary to guess the content |
1497 of a file based on the file extension. This type of guess-work should | 1353 of a file based on the file extension. This type of guess-work should |
1498 only be needed when accessing files via FTP, local file access, or old | 1354 only be needed when accessing files via @sc{ftp}, local file access, or old |
1499 HTTP/0.9 servers. | 1355 @sc{http}/0.9 servers. |
1500 | 1356 |
1501 Instead of specifying how to view things twice, once based on | 1357 Instead of specifying how to view things twice, once based on |
1502 content-type and once based on the file extension, it is easier to map | 1358 content-type and once based on the file extension, it is easier to map |
1503 file extensions to MIME content-types. The variable that controls this | 1359 file extensions to MIME content-types. The variable that controls this |
1504 is @code{mm-mime-extensions}. | 1360 is @code{mm-mime-extensions}. |
1510 files. If a content-type is defined for the document, then this is | 1366 files. If a content-type is defined for the document, then this is |
1511 over-ridden. Regular expressions can @b{NOT} be used. | 1367 over-ridden. Regular expressions can @b{NOT} be used. |
1512 | 1368 |
1513 @cindex mime-types file | 1369 @cindex mime-types file |
1514 @findex mm-parse-mimetypes | 1370 @findex mm-parse-mimetypes |
1515 Both Mosaic and the NCSA HTTP daemon rely on a separate file for mapping | 1371 Both Mosaic and the NCSA @sc{http} daemon rely on a separate file for mapping |
1516 file extensions to MIME types. Instead of having the users of Emacs-W3 | 1372 file extensions to MIME types. Instead of having the users of Emacs-W3 |
1517 duplicate this in lisp, this file can be parsed using the | 1373 duplicate this in lisp, this file can be parsed using the |
1518 @code{url-parse-mimetypes} function. This function is called each time | 1374 @code{url-parse-mimetypes} function. This function is called each time |
1519 w3 is loaded. It tries to locate mimetype files in several places. If | 1375 w3 is loaded. It tries to locate mimetype files in several places. If |
1520 the environment variable @code{MIMETYPES} is nonempty, then this is | 1376 the environment variable @code{MIMETYPES} is nonempty, then this is |
1533 @file{/usr/local/etc/mime-types} | 1389 @file{/usr/local/etc/mime-types} |
1534 @item | 1390 @item |
1535 @file{/usr/local/www/conf/mime-types} | 1391 @file{/usr/local/www/conf/mime-types} |
1536 @end enumerate | 1392 @end enumerate |
1537 | 1393 |
1538 Each line contains information for one http type. These types resemble | 1394 Each line contains information for one @sc{http} type. These types resemble |
1539 MIME types. To add new ones, use subtypes beginning with x-, such as | 1395 MIME types. To add new ones, use subtypes beginning with x-, such as |
1540 application/x-myprogram. Lines beginning with # are comment lines, and | 1396 application/x-myprogram. Lines beginning with # are comment lines, and |
1541 suitably ignored. Each line consists of: | 1397 suitably ignored. Each line consists of: |
1542 | 1398 |
1543 type/subtype ext1 ext2 ... ext@var{n} | 1399 type/subtype ext1 ext2 ... ext@var{n} |
1546 of space-separated filename extensions which correspond to the MIME | 1402 of space-separated filename extensions which correspond to the MIME |
1547 type. | 1403 type. |
1548 | 1404 |
1549 @node Specifying Viewers, ,Adding MIME types based on file extensions, MIME Support | 1405 @node Specifying Viewers, ,Adding MIME types based on file extensions, MIME Support |
1550 @section Specifying Viewers | 1406 @section Specifying Viewers |
1551 Not all files look as they should when parsed as an HTML document | 1407 Not all files look as they should when parsed as an @sc{html} document |
1552 (whitespace is stripped, paragraphs are reformatted, and lots of little | 1408 (whitespace is stripped, paragraphs are reformatted, and lots of little |
1553 changes that make the document look unrecognizable). Files may be | 1409 changes that make the document look unrecognizable). Files may be |
1554 passed to external programs or Emacs Lisp functions to be viewed. | 1410 passed to external programs or Emacs Lisp functions to be viewed. |
1555 | 1411 |
1556 Not all files can be viewed accurately from within an Emacs session (GIF | 1412 Not all files can be viewed accurately from within an Emacs session (GIF |
1560 | 1416 |
1561 @findex mm-add-mailcap-entry | 1417 @findex mm-add-mailcap-entry |
1562 As an alternative, the function @code{mm-add-mailcap-entry} can also be | 1418 As an alternative, the function @code{mm-add-mailcap-entry} can also be |
1563 used from an appropriate hook.@xref{Hooks} This functions takes three | 1419 used from an appropriate hook.@xref{Hooks} This functions takes three |
1564 arguments, the major type ("@i{image}"), the minor type ("@i{gif}"), and | 1420 arguments, the major type ("@i{image}"), the minor type ("@i{gif}"), and |
1565 an assoc list of information about the viewer. Please see the URL | 1421 an assoc list of information about the viewer. Please see the @sc{url} |
1566 documentation for more specific information on what this assoc list | 1422 documentation for more specific information on what this assoc list |
1567 should look like. | 1423 should look like. |
1568 | 1424 |
1569 @node Security, Non-Unix Operating Systems, , Top | 1425 @node Security, Non-Unix Operating Systems, , Top |
1570 @chapter Security | 1426 @chapter Security |
1599 @cindex Gag Puke Retch | 1455 @cindex Gag Puke Retch |
1600 @cindex Exportability | 1456 @cindex Exportability |
1601 @cindex Export Restrictions | 1457 @cindex Export Restrictions |
1602 SSL is the @code{Secure Sockets Layer} interface developed by Netscape | 1458 SSL is the @code{Secure Sockets Layer} interface developed by Netscape |
1603 Communications @footnote{http://www.netscape.com/}. Emacs-W3 supports | 1459 Communications @footnote{http://www.netscape.com/}. Emacs-W3 supports |
1604 HTTP transfers over an SSL encrypted channel, if the appropriate files | 1460 @sc{http} transfers over an SSL encrypted channel, if the appropriate files |
1605 have been installed.@xref{Installing SSL} | 1461 have been installed.@xref{Installing SSL} |
1606 @item PGP/PEM | |
1607 @cindex HTTP/1.0 Authentication | |
1608 @cindex Public Key Cryptography | |
1609 @cindex Authentication, PGP | |
1610 @cindex Authentication, PEM | |
1611 @cindex RIPEM | |
1612 @cindex Public Key Cryptography | |
1613 @cindex PGP | |
1614 @cindex Pretty Good Privacy | |
1615 @cindex Encryption | |
1616 @cindex Security | |
1617 @cindex ITAR must die | |
1618 @cindex Stupid export restrictions | |
1619 @cindex Support your local crypto-anarchist | |
1620 @cindex NSA freaks | |
1621 A few servers still support this method of authentication, but it has | |
1622 been superseded by SSL and Secure-HTTP.@xref{Using PGP/PEM} | |
1623 @end table | 1462 @end table |
1624 | 1463 |
1625 @node Non-Unix Operating Systems, VMS, Security, Top | 1464 @node Non-Unix Operating Systems, VMS, Security, Top |
1626 @chapter Non-Unix Operating Systems | 1465 @chapter Non-Unix Operating Systems |
1627 @cindex Non-Unix Operating Systems | 1466 @cindex Non-Unix Operating Systems |
1628 @ifinfo | 1467 @ifinfo |
1629 @menu | 1468 @menu |
1630 * VMS:: The wonderful world of VAX|AXP-VMS! | 1469 * VMS:: The wonderful world of VAX|AXP-VMS! |
1631 * OS/2:: The next-best thing to Unix. | 1470 * OS/2:: The next-best thing to Unix. |
1632 * MS-DOS:: The wonderful world of MS-DOG! | 1471 * MS-DOS:: The wonderful world of MS-DOG! |
1633 * 32-Bit Windows:: Windows NT, Chicago/Windows 95. | 1472 * Windows:: Windows NT, Chicago/Windows 95. |
1634 * Amiga:: The Amiga, for those who still love them. | |
1635 @end menu | 1473 @end menu |
1636 @end ifinfo | 1474 @end ifinfo |
1637 | 1475 |
1638 @node VMS, OS/2, Non-Unix Operating Systems, Non-Unix Operating Systems | 1476 @node VMS, OS/2, Non-Unix Operating Systems, Non-Unix Operating Systems |
1639 @section VMS | 1477 @section VMS |
1647 @section OS/2 | 1485 @section OS/2 |
1648 @cindex OS/2 | 1486 @cindex OS/2 |
1649 @cindex Warp | 1487 @cindex Warp |
1650 :: WORK :: OS/2 Specific instructions | 1488 :: WORK :: OS/2 Specific instructions |
1651 | 1489 |
1652 @node MS-DOS, 32-Bit Windows, OS/2, Non-Unix Operating Systems | 1490 @node MS-DOS, Windows, OS/2, Non-Unix Operating Systems |
1653 @section MS-DOS | 1491 @section MS-DOS |
1654 @cindex MS-DOS | 1492 @cindex MS-DOS |
1655 @cindex Microsloth | 1493 @cindex Microsloth |
1656 @cindex DOS | 1494 @cindex DOS |
1657 @cindex MS-DOG | 1495 @cindex MS-DOG |
1658 :: WORK :: DOS Specific instructions | 1496 :: WORK :: DOS Specific instructions |
1659 | 1497 |
1660 @node 32-Bit Windows, Amiga, MS-DOS, Non-Unix Operating Systems | 1498 @node Windows, Speech Integration , MS-DOS, Non-Unix Operating Systems |
1661 @section 32-Bit Windows | 1499 @section Windows |
1662 @cindex Windows (32-Bit) | 1500 @cindex Windows (32-Bit) |
1663 @cindex 32-Bit Windows | 1501 @cindex 32-Bit Windows |
1664 @cindex Microsloth | 1502 @cindex Microsloth |
1665 @cindex Windows '95 | 1503 @cindex Windows '95 |
1666 :: WORK :: 32bit Windows Specific instructions | 1504 :: WORK :: 32bit Windows Specific instructions |
1667 | 1505 |
1668 @node Amiga, Advanced Features, 32-Bit Windows, Non-Unix Operating Systems | 1506 @node Speech Integration, Advanced Features, Windows, Top |
1669 @section Amiga | 1507 @chapter Speech Integration |
1670 @cindex Amiga | 1508 :: WORK :: Emacspeak integration |
1671 @cindex Commodore | 1509 |
1672 :: WORK :: Amiga specific instructions | 1510 @node Advanced Features, Style Sheets, Speech Integration, Top |
1673 | |
1674 @node Advanced Features, Style Sheets, Amiga, Top | |
1675 @chapter Advanced Features | 1511 @chapter Advanced Features |
1676 | 1512 |
1677 @ifinfo | 1513 @ifinfo |
1678 @menu | 1514 @menu |
1679 * Style Sheets:: Formatting control, the right way | 1515 * Style Sheets:: Formatting control, the right way |
1680 * Disk Caching:: Improving performance by using a local disk cache | 1516 * Disk Caching:: Improving performance by using a local disk cache |
1681 * Interfacing to Mail/News:: How to make VM understand hypertext links | 1517 * Interfacing to Mail/News:: How to make VM understand hypertext links |
1682 * Debugging HTML:: How to make Emacs-W3 display warnings about invalid | 1518 * Debugging HTML:: How to make Emacs-W3 display warnings about invalid |
1683 HTML/HTML+ constructs. | 1519 @sc{html}/@sc{html}+ constructs. |
1684 * Native WAIS Support:: How to make Emacs-W3 understand WAIS links without | 1520 * Native WAIS Support:: How to make Emacs-W3 understand WAIS links without |
1685 using a gateway. | 1521 using a gateway. |
1686 * Rating Links:: How to make Emacs-W3 put an 'interestingness' value | 1522 * Rating Links:: How to make Emacs-W3 put an 'interestingness' value |
1687 next to each link. | 1523 next to each link. |
1688 * Gopher Plus Support:: How Emacs-W3 makes use of the Gopher+ protocol. | 1524 * Gopher Plus Support:: How Emacs-W3 makes use of the Gopher+ protocol. |
1728 | 1564 |
1729 @cindex <style> | 1565 @cindex <style> |
1730 To include a stylesheet into a document, simply use the <style> tag. | 1566 To include a stylesheet into a document, simply use the <style> tag. |
1731 Use the @b{notation} attribute to specify what language the stylesheet | 1567 Use the @b{notation} attribute to specify what language the stylesheet |
1732 is specified in. The default is @b{css}. The data between the <style> | 1568 is specified in. The default is @b{css}. The data between the <style> |
1733 and </style> tags is the stylsheet proper - no HTML parsing is done to | 1569 and </style> tags is the stylsheet proper - no @sc{html} parsing is done to |
1734 this data - it is treated similar to an <XMP> section of text. To | 1570 this data - it is treated similar to an <XMP> section of text. To |
1735 reference an external stylesheet, use the <link> tag. | 1571 reference an external stylesheet, use the <link> tag. |
1736 @example | 1572 @example |
1737 <link rel="stylesheet" href="/bill.style"> | 1573 <link rel="stylesheet" href="/bill.style"> |
1738 @end example | 1574 @end example |
1739 If these two mechanisms are mixed, then the URL is resolved first, and | 1575 If these two mechanisms are mixed, then the @sc{url} is resolved first, and |
1740 the contents of the <style> tag take precedence if there are any | 1576 the contents of the <style> tag take precedence if there are any |
1741 conflicting directives. | 1577 conflicting directives. |
1742 | 1578 |
1743 @cindex DSSSL | 1579 @cindex DSSSL |
1744 @cindex DSSSL-lite | 1580 @cindex DSSSL-lite |
1802 @cindex Caching options | 1638 @cindex Caching options |
1803 @cindex Alternate caching method | 1639 @cindex Alternate caching method |
1804 Emacs-W3 caches files under the temporary directory specified by | 1640 Emacs-W3 caches files under the temporary directory specified by |
1805 @code{url-temporary-directory}, in a user-specific subdirectory | 1641 @code{url-temporary-directory}, in a user-specific subdirectory |
1806 (determined by the @code{user-real-login-name} function). The cache | 1642 (determined by the @code{user-real-login-name} function). The cache |
1807 files are stored under their original names, so a URL like: | 1643 files are stored under their original names, so a @sc{url} like: |
1808 http://www.aventail.com/foo/bar/baz.html would be stored in a cache file | 1644 http://www.aventail.com/foo/bar/baz.html would be stored in a cache file |
1809 named: /tmp/wmperry/com/aventail/www/foo/bar/baz.html. Sometimes, | 1645 named: /tmp/wmperry/com/aventail/www/foo/bar/baz.html. Sometimes, |
1810 espcially with gopher links, there will be name conflicts, and an error | 1646 espcially with gopher links, there will be name conflicts, and an error |
1811 will be signalled. This cannot be avoided, and still have reasonable | 1647 will be signalled. This cannot be avoided, and still have reasonable |
1812 performance at startup time (reading in an index file of all the cached | 1648 performance at startup time (reading in an index file of all the cached |
1836 @cindex Using Emacs-W3 with VM | 1672 @cindex Using Emacs-W3 with VM |
1837 @cindex GNUS | 1673 @cindex GNUS |
1838 @cindex Using Emacs-W3 with Gnus | 1674 @cindex Using Emacs-W3 with Gnus |
1839 @cindex RMAIL | 1675 @cindex RMAIL |
1840 @cindex Using Emacs-W3 with RMAIL | 1676 @cindex Using Emacs-W3 with RMAIL |
1841 More and more people are including URLs in their signatures, and within | 1677 More and more people are including @sc{url}s in their signatures, and within |
1842 the body of mail messages. It can get quite tedious to type these into | 1678 the body of mail messages. It can get quite tedious to type these into |
1843 the minibuffer to follow one. | 1679 the minibuffer to follow one. |
1844 | 1680 |
1845 @vindex browse-url-browser-function | 1681 @vindex browse-url-browser-function |
1846 With the latest versions of VM (the 5.9x series of betas) and Gnus | 1682 With the latest versions of VM (the 5.9x series of betas) and Gnus |
1847 (5.x), URLs are automatically highlighted, and can be followed with the | 1683 (5.x), @sc{url}s are automatically highlighted, and can be followed with the |
1848 mouse or the return key. How the URLs are viewed is determined by the | 1684 mouse or the return key. How the @sc{url}s are viewed is determined by the |
1849 variable @code{browse-url-browser-function}, and it should be set to the | 1685 variable @code{browse-url-browser-function}, and it should be set to the |
1850 symbol @code{browse-url-w3}. | 1686 symbol @code{browse-url-w3}. |
1851 | 1687 |
1852 To access URLs from within RMAIL, the following hook should do the | 1688 To access @sc{url}s from within RMAIL, the following hook should do the |
1853 trick. | 1689 trick. |
1854 @example | 1690 @example |
1855 (add-hook 'rmail-mode-hook | 1691 (add-hook 'rmail-mode-hook |
1856 (function | 1692 (function |
1857 (lambda () | 1693 (lambda () |
1865 @cindex Invalid HTML | 1701 @cindex Invalid HTML |
1866 @cindex Bad HTML | 1702 @cindex Bad HTML |
1867 @vindex w3-debug-buffer | 1703 @vindex w3-debug-buffer |
1868 @vindex w3-debug-html | 1704 @vindex w3-debug-html |
1869 For those people that are adventurous, or are just as anal as I am about | 1705 For those people that are adventurous, or are just as anal as I am about |
1870 people writing valid HTML, set the variable @code{w3-debug-html} to | 1706 people writing valid @sc{html}, set the variable @code{w3-debug-html} to |
1871 @code{t} and see what happens. | 1707 @code{t} and see what happens. |
1872 | 1708 |
1873 | 1709 |
1874 If a Emacs-W3 thinks it has encountered invalid HTML, then a debugging | 1710 If a Emacs-W3 thinks it has encountered invalid @sc{html}, then a debugging |
1875 message is displayed. | 1711 message is displayed. |
1876 | 1712 |
1877 :: WORK :: Need to list the different values w3-debug-html can have, and | 1713 :: WORK :: Need to list the different values w3-debug-html can have, and |
1878 :: WORK :: what they do :: | 1714 :: WORK :: what they do :: |
1879 | 1715 |
1890 @vindex url-wais-gateway-port | 1726 @vindex url-wais-gateway-port |
1891 The variable @code{url-waisq-prog} must point to this executable, and | 1727 The variable @code{url-waisq-prog} must point to this executable, and |
1892 one of @code{url-wais-gateway-server} or @code{url-wais-gateway-port} | 1728 one of @code{url-wais-gateway-server} or @code{url-wais-gateway-port} |
1893 should be @code{nil}. | 1729 should be @code{nil}. |
1894 | 1730 |
1895 When a WAIS URL is encountered, a form will be automatically generated | 1731 When a WAIS @sc{url} is encountered, a form will be automatically generated |
1896 and displayed. After typing in the search term, the query will be sent | 1732 and displayed. After typing in the search term, the query will be sent |
1897 to the server by running the @code{url-waisq-prog} in a subprocess. The | 1733 to the server by running the @code{url-waisq-prog} in a subprocess. The |
1898 results will be converted into HTML and displayed. | 1734 results will be converted into @sc{html} and displayed. |
1899 | 1735 |
1900 @node Rating Links, Gopher Plus Support, Native WAIS Support, Advanced Features | 1736 @node Rating Links, Gopher Plus Support, Native WAIS Support, Advanced Features |
1901 @section Rating Links | 1737 @section Rating Links |
1902 The @code{w3-link-info-display-function} variable can be used to 'rate' a URL | 1738 The @code{w3-link-info-display-function} variable can be used to 'rate' a @sc{url} |
1903 when it shows up in an HTML page. If non-@code{nil}, then this should | 1739 when it shows up in an @sc{html} page. If non-@code{nil}, then this should |
1904 be a list specifying (or a symbol specifying the name) of a function. | 1740 be a list specifying (or a symbol specifying the name) of a function. |
1905 This function should expect one argument, a fully specified URL, and | 1741 This function should expect one argument, a fully specified @sc{url}, and |
1906 should return a string. This string is inserted after the link | 1742 should return a string. This string is inserted after the link |
1907 text. | 1743 text. |
1908 | 1744 |
1909 If a user has decided that all links served from blort.com are too laden | 1745 If a user has decided that all links served from blort.com are too laden |
1910 with images, and wants to be warned that a link points at this host, | 1746 with images, and wants to be warned that a link points at this host, |
1923 | 1759 |
1924 @node Gopher Plus Support, Hooks, Rating Links, Advanced Features | 1760 @node Gopher Plus Support, Hooks, Rating Links, Advanced Features |
1925 @section Gopher+ Support | 1761 @section Gopher+ Support |
1926 @cindex Gopher+ | 1762 @cindex Gopher+ |
1927 The gopher+ support in Emacs-W3 is limited to the conversion of ASK | 1763 The gopher+ support in Emacs-W3 is limited to the conversion of ASK |
1928 blocks into HTML 3.0 forms, and the usage of the content-length given by | 1764 blocks into @sc{html} 3.0 forms, and the usage of the content-length given by |
1929 the gopher+ server to give a nice status bar on the bottom of the | 1765 the gopher+ server to give a nice status bar on the bottom of the |
1930 screen. | 1766 screen. |
1931 | 1767 |
1932 This will hopefully be extended to include the Gopher+ method of | 1768 This will hopefully be extended to include the Gopher+ method of |
1933 content-type negotiation, but this may be a while. | 1769 content-type negotiation, but this may be a while. |
1941 of functions) that are called consecutively. | 1777 of functions) that are called consecutively. |
1942 | 1778 |
1943 @table @code | 1779 @table @code |
1944 @vindex w3-load-hooks | 1780 @vindex w3-load-hooks |
1945 @item w3-load-hooks | 1781 @item w3-load-hooks |
1946 These hooks are run by @code{w3-do-setup} the first time a URL is | 1782 These hooks are run by @code{w3-do-setup} the first time a @sc{url} is |
1947 fetched. All the w3 variables are initialized before this hook is | 1783 fetched. All the w3 variables are initialized before this hook is |
1948 run. | 1784 run. |
1949 @item w3-file-done-hooks | 1785 @item w3-file-done-hooks |
1950 These hooks are run by @code{w3-prepare-buffer} after all parsing on a | 1786 These hooks are run by @code{w3-prepare-buffer} after all parsing on a |
1951 document has been done. All @code{url-current-}@var{*} and | 1787 document has been done. All @code{url-current-}@var{*} and |
1952 @code{w3-current-}@var{*} variables are initialized when this hook is run. | 1788 @code{w3-current-}@var{*} variables are initialized when this hook is run. |
1953 This is run before the buffer is shown, and before any inlined images | 1789 This is run before the buffer is shown, and before any inlined images |
1954 are downloaded and converted. | 1790 are downloaded and converted. |
1955 @item w3-file-prepare-hooks | 1791 @item w3-file-prepare-hooks |
1956 These hooks are run by @code{w3-prepare-buffer} before any parsing is | 1792 These hooks are run by @code{w3-prepare-buffer} before any parsing is |
1957 done on the HTML file. The HTTP/1.0 headers specified by | 1793 done on the @sc{html} file. The @sc{http}/1.0 headers specified by |
1958 @code{w3-show-headers} have been inserted, the syntax table has been set | 1794 @code{w3-show-headers} have been inserted, and the syntax table has been |
1959 to @code{w3-parse-args-syntax-table}, and any personal annotations have | 1795 set to @code{w3-parse-args-syntax-table} by the time this hook is run. |
1960 been inserted by the time this hook is run. | |
1961 @item w3-mode-hooks | 1796 @item w3-mode-hooks |
1962 These hooks are run after a buffer has been parsed and displayed, but | 1797 These hooks are run after a buffer has been parsed and displayed, but |
1963 before any inlined images are downloaded and converted. | 1798 before any inlined images are downloaded and converted. |
1964 @item w3-source-file-hooks | 1799 @item w3-source-file-hooks |
1965 These hooks are run after displaying a document's source | 1800 These hooks are run after displaying a document's source |
1972 | 1807 |
1973 @table @code | 1808 @table @code |
1974 @item url-bad-port-list | 1809 @item url-bad-port-list |
1975 @vindex url-bad-port-list | 1810 @vindex url-bad-port-list |
1976 List of ports to warn the user about connecting to. Defaults to just | 1811 List of ports to warn the user about connecting to. Defaults to just |
1977 the mail and NNTP ports so a malicious HTML author cannot spoof mail or | 1812 the mail and @sc{nntp} ports so a malicious @sc{html} author cannot spoof mail or |
1978 news to other people. | 1813 news to other people. |
1979 @item url-confirmation-func | 1814 @item url-confirmation-func |
1980 @vindex url-confirmation-func | 1815 @vindex url-confirmation-func |
1981 What function to use for asking yes or no functions. Possible values | 1816 What function to use for asking yes or no functions. Possible values |
1982 are @code{'yes-or-no-p} or @code{'y-or-n-p}, or any function that takes | 1817 are @code{'yes-or-no-p} or @code{'y-or-n-p}, or any function that takes |
2025 @code{yes} means assume the user wants to always reuse the buffer. A | 1860 @code{yes} means assume the user wants to always reuse the buffer. A |
2026 value of @code{no} means assume the user always wants to re-fetch the | 1861 value of @code{no} means assume the user always wants to re-fetch the |
2027 document. | 1862 document. |
2028 @item w3-show-headers | 1863 @item w3-show-headers |
2029 @vindex w3-show-headers | 1864 @vindex w3-show-headers |
2030 This is a list of HTTP/1.0 headers to show at the end of a buffer. All | 1865 This is a list of @sc{http}/1.0 headers to show at the end of a buffer. All |
2031 the headers should be in lowercase. They are inserted at the end of the | 1866 the headers should be in lowercase. They are inserted at the end of the |
2032 buffer in a <UL> list. Alternatively, if this is simply @code{t}, then | 1867 buffer in a <UL> list. Alternatively, if this is simply @code{t}, then |
2033 all the HTTP/1.0 headers are shown. The default value is | 1868 all the @sc{http}/1.0 headers are shown. The default value is |
2034 @code{nil}. | 1869 @code{nil}. |
2035 @item w3-show-status, url-show-status | 1870 @item w3-show-status, url-show-status |
2036 @vindex url-show-status | 1871 @vindex url-show-status |
2037 @vindex w3-show-status | 1872 @vindex w3-show-status |
2038 Whether to show progress messages in the minibuffer. | 1873 Whether to show progress messages in the minibuffer. |
2061 binary, x-compress, x-hqx, and quoted-printable. | 1896 binary, x-compress, x-hqx, and quoted-printable. |
2062 @item url-uncompressor-alist | 1897 @item url-uncompressor-alist |
2063 @vindex url-uncompressor-alist | 1898 @vindex url-uncompressor-alist |
2064 An assoc list of file extensions and the appropriate uncompression | 1899 An assoc list of file extensions and the appropriate uncompression |
2065 programs for each. This is used to build the Accept-encoding header for | 1900 programs for each. This is used to build the Accept-encoding header for |
2066 HTTP/1.0 requests. | 1901 @sc{http}/1.0 requests. |
2067 @item url-waisq-prog | 1902 @item url-waisq-prog |
2068 @vindex url-waisq-prog | 1903 @vindex url-waisq-prog |
2069 Name of the waisq executable on this system. This should be the | 1904 Name of the waisq executable on this system. This should be the |
2070 @file{waisq} program from think.com's wais8-b5.1 distribution. | 1905 @file{waisq} program from think.com's wais8-b5.1 distribution. |
2071 @end table | 1906 @end table |
2131 @appendix Reporting Bugs | 1966 @appendix Reporting Bugs |
2132 @cindex Reporting Bugs | 1967 @cindex Reporting Bugs |
2133 @cindex Bugs | 1968 @cindex Bugs |
2134 @cindex Contacting the author | 1969 @cindex Contacting the author |
2135 | 1970 |
2136 :: WORK :: Reporting bugs needs work. | 1971 If any bugs are discovered in Emacs-W3, please report them to the |
2137 | 1972 mailing list @t{w3-beta@@indiana.edu} - this is where the brave souls |
2138 @node Installing SSL, Using PGP/PEM, Reporting Bugs, Top | 1973 who beta test the latest versions of Emacs-W3 reside, and are generally |
1974 very responsive to bug reports. | |
1975 | |
1976 @kindex w | |
1977 Please make sure to use the bug submission feature of Emacs-W3, so that | |
1978 all relevant information will be sent along with your bug report. By | |
1979 default this is bound to the `@key{w}' key when in an Emacs-W3 buffer, | |
1980 or you can use @key{M-x w3-submit-bug} from anywhere within Emacs. | |
1981 | |
1982 For problems that are causing emacs to signal and error, please send a | |
1983 backtrace. You can get a backtrace by @kbd{M-x setvariable RET | |
1984 debug-on-error RET t RET}, and then reproduce the error. | |
1985 | |
1986 If the problem is visual, please capture a copy of the output and mail | |
1987 it along with the bug report (preferably as a MIME attachment, but | |
1988 anything will do). You can use the @code{xwd} program under X-windows | |
1989 for this, or @key{Alt-PrintScreen} under Windows 95/NT. Sorry, but I | |
1990 don't remember what the magic incarnation is for doing a screen dump | |
1991 under NeXTstep or OS/2. | |
1992 | |
1993 If the problem is actually causing Emacs to crash, then you will need to | |
1994 also mail the maintainers of the various Emacs distributions with the | |
1995 bug. Please use the @t{gnu.emacs.bug} newgroup for reporting bugs with | |
1996 GNU Emacs 19, and @t{comp.emacs.xemacs} for reporting bugs with XEmacs | |
1997 19 or XEmacs 20. I am actively involved with the beta testing of the | |
1998 latest versions of both branches of Emacs, and if I can reproduce the | |
1999 problem, I will do my best to see it gets fixed in the next release. | |
2000 | |
2001 It is also important to always maintain as much context as possible in | |
2002 your responses. I get so much email from my various Emacs-activities | |
2003 and work, that I cannot remember everything. If you send a bug report, | |
2004 and I send you a reply, and you reply with 'no that didn't work', then | |
2005 odds are I will have no clue what didn't work, much less what that was | |
2006 trying to fix in the first place. It will be much quicker and less | |
2007 painful if I don't have to waste a round-trip email exchange saying | |
2008 'what are you talking about'. | |
2009 | |
2010 @node Installing SSL, Mailcap Files, Reporting Bugs, Top | |
2139 @appendix Installing SSL | 2011 @appendix Installing SSL |
2140 @cindex HTTP/1.0 Authentication | 2012 @cindex HTTP/1.0 Authentication |
2141 @cindex Secure Sockets Layer | 2013 @cindex Secure Sockets Layer |
2142 @cindex SSL | 2014 @cindex SSL |
2143 @cindex Gag Puke Retch | 2015 @cindex Gag Puke Retch |
2169 | 2041 |
2170 This should be all the configuration necessary. In the future, I will | 2042 This should be all the configuration necessary. In the future, I will |
2171 be distributing a set of patches to Emacs 19.xx and XEmacs 19.xx to | 2043 be distributing a set of patches to Emacs 19.xx and XEmacs 19.xx to |
2172 SSL-enable them, for the sake of speed. | 2044 SSL-enable them, for the sake of speed. |
2173 | 2045 |
2174 @node Using PGP/PEM, Mailcap Files, Installing SSL, Top | 2046 @node Mailcap Files, General Index, Installing SSL, Top |
2175 @appendix Using PGP/PEM | |
2176 @cindex HTTP/1.0 Authentication | |
2177 @cindex Public Key Cryptography | |
2178 @cindex Authentication, PGP | |
2179 @cindex Authentication, PEM | |
2180 @cindex RIPEM | |
2181 @cindex Public Key Cryptography | |
2182 @cindex PGP | |
2183 @cindex Pretty Good Privacy | |
2184 @cindex Encryption | |
2185 @cindex Security | |
2186 @cindex ITAR must die | |
2187 @cindex Stupid export restrictions | |
2188 @cindex Support your local crypto-anarchist | |
2189 @cindex NSA freaks | |
2190 Most of this chapter has been reproduced from the original documentation | |
2191 written by Rob McCool (@i{robm@@netscape.com})@footnote{See | |
2192 http://hoohoo.ncsa.uiuc.edu/docs/PEMPGP.html for the original}. | |
2193 | |
2194 RIPEM is 'Riordan's Internet Privacy Enhanced Mail', and is currently on | |
2195 version 1.2b3. US citizens can ftp it from | |
2196 ftp://ripem.msu.edu/pub/crypt/ripem. | |
2197 | |
2198 PGP is 'Pretty Good Privacy', and is currently on version 2.6. The | |
2199 legal controversies that plagued earlier versions have been resolved, so | |
2200 this is a competely legal program now. There is also a legal version | |
2201 for european users, called 2.6ui (the Unofficial International | |
2202 version). | |
2203 | |
2204 PGP and PEM are programs that allow two parties to communicate in a way | |
2205 which does not allow third parties to read them, and which certify that | |
2206 the person who sent the message is really who they claim they are. | |
2207 | |
2208 | |
2209 PGP and PEM both use RSA encryption. The U.S. government has strict | |
2210 export controls over foreign use of this technology, so people outside | |
2211 the U.S. may have a difficult time finding programs which perform the | |
2212 encryption. | |
2213 | |
2214 A working copy of either Pretty Good Privacy or RIPEM is required. You | |
2215 should be familiar with the program and have generated a public/private | |
2216 key pair. | |
2217 | |
2218 | |
2219 Currently, the protocol has been implemented with PEM and PGP using | |
2220 local key files on the server side, and on the client side with PEM | |
2221 using finger to retrieve the server's public key. | |
2222 | |
2223 Parties who wish to use Emacs-W3 with PEM or PGP encryption will need to | |
2224 communicate beforehand and find a tamper-proof way to exchange their | |
2225 public keys. | |
2226 | |
2227 Pioneers get shot full of arrows. This work is currently in the | |
2228 experimental stages and thus may have some problems that I have | |
2229 overlooked. The only known problem that I know about is that the | |
2230 messages are currently not timestamped. This means that a malicious | |
2231 user could record the encrypted message with a packet sniffer and repeat | |
2232 it back to the server ad nauseum. Although they would not be able to | |
2233 read the reply, if the request was for something being charged for, this | |
2234 could be very inconvenient. | |
2235 | |
2236 This protocol is almost word-for-word a copy of Tony Sander's RIPEM | |
2237 based scheme, generalized a little. Below, wherever PEM is used, | |
2238 replace it with PGP, and the behaviour should remain the same. | |
2239 | |
2240 @example | |
2241 *Client:* | |
2242 | |
2243 GET /docs/protected.html HTTP/1.0 | |
2244 UserAgent: Emacs-W3/2.1.x | |
2245 | |
2246 *Server:* | |
2247 | |
2248 HTTP/1.0 401 Unauthorized | |
2249 WWW-Authenticate: PEM entity="webmaster@@hoohoo.ncsa.uiuc.edu" | |
2250 Server: NCSA/1.1 | |
2251 | |
2252 *Client:* | |
2253 | |
2254 GET / HTTP/1.0 | |
2255 Authorization: PEM entity="robm@@ncsa.uiuc.edu" | |
2256 Content-type: application/x-www-pem-request | |
2257 | |
2258 --- BEGIN PRIVACY-ENHANCED MESSAGE --- | |
2259 this is the real request, encrypted | |
2260 --- END PRIVACY-ENHANCED MESSAGE --- | |
2261 | |
2262 *Server:* | |
2263 | |
2264 HTTP/1.0 200 OK | |
2265 Content-type: application/x-www-pem-reply | |
2266 | |
2267 --- BEGIN PRIVACY-ENHANCED MESSAGE --- | |
2268 this is the real reply, encrypted | |
2269 --- END PRIVACY-ENHANCED MESSAGE --- | |
2270 That's it. | |
2271 @end example | |
2272 | |
2273 @cindex Mailcrypt | |
2274 Emacs-W3 uses the excellent @i{mailcrypt}@footnote{Available from | |
2275 http://www.cs.indiana.edu/LCD/cover.html?mailcrypt} package written by | |
2276 Jin S Choi (@i{jsc@@mit.edu}). This package takes care of calling ripem | |
2277 and/or pgp with the correct arguments. Please see the documentation at | |
2278 the top of mailcrypt.el for instructions on using mailcrypt. All bug | |
2279 reports about mailcrypt should go to Jin S Choi, but bugs about how I | |
2280 use it in Emacs-W3 should of course be directed to me. | |
2281 | |
2282 @node Mailcap Files, General Index, Using PGP/PEM, Top | |
2283 @appendix Mailcap Files | 2047 @appendix Mailcap Files |
2284 NCSA Mosaic and almost all other WWW browsers rely on a separate file | 2048 NCSA Mosaic and almost all other WWW browsers rely on a separate file |
2285 for mapping MIME types to external viewing programs. This takes some of | 2049 for mapping MIME types to external viewing programs. This takes some of |
2286 the burden off of browser developers, so each browser does not have to | 2050 the burden off of browser developers, so each browser does not have to |
2287 support all image formats, or postscript, etc. Instead of having the | 2051 support all image formats, or postscript, etc. Instead of having the |
2419 @node Key Index, , General Index, Top | 2183 @node Key Index, , General Index, Top |
2420 @appendix Key Index | 2184 @appendix Key Index |
2421 @printindex ky | 2185 @printindex ky |
2422 @contents | 2186 @contents |
2423 @bye | 2187 @bye |
2188 | |
2189 @c @ifinfo | |
2190 @c Here is some more specific information about what languages and | |
2191 @c protocols Emacs-W3 supports. | |
2192 @c @menu | |
2193 @c * Markup Languages Supported:: Markup languages supported by Emacs-W3 | |
2194 @c * Stylesheets:: Stylesheet languages supported by Emacs-W3 | |
2195 @c * Supported Protocols:: Network protocols supported by Emacs-W3 | |
2196 @c @end menu | |
2197 @c @end ifinfo | |
2198 @c @node Markup Languages Supported, Stylesheets, Introduction, Introduction | |
2199 @c @chapter Supported Markup Languages | |
2200 @c Several different markup languages, and various extensions to those | |
2201 @c languages, are supported by Emacs-W3. | |
2202 @c @ifinfo | |
2203 @c @center ---------- | |
2204 @c @center HTML 2.0 | |
2205 @c @center ---------- | |
2206 @c @end ifinfo | |
2207 @c @iftex | |
2208 @c @section HTML 2.0 | |
2209 @c @end iftex | |
2210 @c @cindex HTML 2.0 | |
2211 | |
2212 @c :: WORK :: Reference to the HTML 2.0 RFC | |
2213 @c :: WORK :: Basic explanation of HTML, tag structure, etc. | |
2214 | |
2215 @c @ifinfo | |
2216 @c @center ---------- | |
2217 @c @center HTML 3.2 | |
2218 @c @center ---------- | |
2219 @c @end ifinfo | |
2220 @c @iftex | |
2221 @c @section HTML 3.2 | |
2222 @c @end iftex | |
2223 @c @cindex HTML 3.2 | |
2224 @c The HTML 3.2 language is an extension of HTML, with a large degree of | |
2225 @c backward compatibility with HTML 2.0. This basically documents current | |
2226 @c practice as of January, 1996. | |
2227 | |
2228 @c @ifinfo | |
2229 @c @center ---------- | |
2230 @c @center SGML Features | |
2231 @c @center ---------- | |
2232 @c @end ifinfo | |
2233 @c @iftex | |
2234 @c @section SGML Features | |
2235 @c @end iftex | |
2236 @c @cindex SGML Features | |
2237 @c @cindex Entity Definitions | |
2238 @c @cindex Marked Sections | |
2239 | |
2240 @c :: WORK :: Document marked sections, SGML features | |
2241 | |
2242 @c @ifinfo | |
2243 @c @center ---------- | |
2244 @c @center Extras | |
2245 @c @center ---------- | |
2246 @c @end ifinfo | |
2247 @c @iftex | |
2248 @c @section Extra Markup | |
2249 @c @end iftex | |
2250 @c @cindex Easter Eggs | |
2251 @c @cindex Fluff | |
2252 @c @cindex Pomp & Circumstance | |
2253 @c There are several different markup elements that are not officially part | |
2254 @c of HTML or HTML 3.2 that Emacs-W3 supports. These are either items that | |
2255 @c were dropped from HTML 3.@var{x} after I had implemented them, things I | |
2256 @c find just completely hilarious, or experimental parts of HTML that | |
2257 @c should not be counted as "official" or long lived. | |
2258 @c @itemize @bullet | |
2259 @c @item | |
2260 @c FLAME support. For truly interesting dynamic documents. This is | |
2261 @c replaced with a random quote from Mr. Angry (see @kbd{M-x flame} for a | |
2262 @c sample). | |
2263 @c @item | |
2264 @c The top ten tags that did not make it into netscape. These tags were | |
2265 @c posted to the newsgroup comp.infosystems.www.misc by Laura Lemay | |
2266 @c (@i{lemay@@netcom.com}). Much thanks to her for the humor. | |
2267 @c @table @b | |
2268 @c @item <wired>...</wired> | |
2269 @c Renders the enclosed text in a suitably ugly font/color combination. If | |
2270 @c no default has been set up by the user, this is the default font, with | |
2271 @c red text on a yellow background. | |
2272 @c @item <roach>...</roach> | |
2273 @c When selected, the enclosed text runs and hides under the nearest | |
2274 @c window. OR, giggles a lot and demands nachos, depending on the | |
2275 @c definition of "roach." (the formal definition, of course, to be | |
2276 @c determined by the Official Honorary Internet Standards Committee For | |
2277 @c Moving Really Slowly.) | |
2278 @c @item <pinhead> | |
2279 @c Inserts "zippyisms" into the enclosed text. Perfect for those professional | |
2280 @c documents. This is sure to be a favorite of mine! | |
2281 @c @item <secret>...</secret> | |
2282 @c Must use secret spy decoder glasses (available direct from Netscape for | |
2283 @c a reasonable fee) in order to read the enclosed text. Can also be read | |
2284 @c by holding the computer in front of a full moon during the autumn | |
2285 @c solstice. | |
2286 | |
2287 @c In Emacs-W3, this displays the text using rot13 encoding. | |
2288 @c @item <hype> | |
2289 @c Causes Marc Andreesen to magically appear and grant an interview (wanted | |
2290 @c or not). Please use this tag sparingly. | |
2291 @c @item <peek>....</peek> | |
2292 @c @item <poke>...</poke> | |
2293 @c Need more control over screen layout in HTML? Well, here ya go. | |
2294 @c n | |
2295 @c Actually, <peek> could almost be considered useful. The VARIABLE | |
2296 @c attribute can be used to insert the value of an emacs variable into the | |
2297 @c current document. Things like 'Welcome to my page, <peek | |
2298 @c variable=user-mail-address>' can be useful in spreading fear, | |
2299 @c uncertainty, and doubt among users. | |
2300 @c @item <yogsothoth> | |
2301 @c @cindex Gates Bill | |
2302 @c @cindex Yogsothoth | |
2303 @c Summons the elder gods to suck away your immortal soul. Or Bill Gates, | |
2304 @c if the elder gods are busy. Unpredictable (but amusing) results occur | |
2305 @c when the <YOGSOTHOTH> and <HYPE> tags are used in close proximity. | |
2306 | |
2307 @c @item <blink>...</blink> | |
2308 @c Causes the enclosed text to .... ooops that one made it in. | |
2309 @c @end table | |
2310 @c @end itemize | |
2311 | |
2312 @c @node Stylesheets, Supported Protocols, Markup Languages Supported,Introduction | |
2313 @c @chapter Stylesheets | |
2314 @c @cindex Stylesheets | |
2315 @c @cindex Cascading Style Sheets | |
2316 @c @cindex Aural Cascading Style Sheets | |
2317 @c @cindex CSS | |
2318 @c @cindex DSSSL | |
2319 @c :: WORK :: Document CSS support | |
2320 @c CSS Information at http://www.w3.org/pub/WWW/TR/REC-CSS1 | |
2321 @c Style guide at http://www.htmlhelp.com/reference/css/ | |
2322 @c :: WORK :: Document ACSS support | |
2323 @c ACSS Information at http://www.w3.org/pub/WWW/Style/CSS/Speech/NOTE-ACSS | |
2324 @c :: WORK :: Document DSSSL support | |
2325 | |
2326 @c @node Supported Protocols, , Stylesheets, Introduction | |
2327 @c @chapter Supported Protocols | |
2328 @c @cindex Network Protocols | |
2329 @c @cindex Protocols Supported | |
2330 @c @cindex Supported Protocols | |
2331 @c Emacs-W3 supports the following protocols | |
2332 @c @table @b | |
2333 @c @item Usenet News | |
2334 @c Can either display an entire newsgroup or specific articles by | |
2335 @c Message-ID: header. Instead of rewriting a newsreader, this integrates | |
2336 @c with the Gnus newsreader. It requires at least Gnus 5.0, but it is | |
2337 @c always safest to use the latest version. Gnus supports some very | |
2338 @c advanced features, including virtual newsgroups, mail and news | |
2339 @c integration, and reading news from multiple servers. @inforef{Gnus, | |
2340 @c Top,gnus}, for more info. | |
2341 | |
2342 @c To be more in line with the other @sc{url} schemes, the hostname and port of | |
2343 @c an @sc{nntp} server can be specified. @sc{url}s of the form | |
2344 @c news://hostname:port/messageID work, but might not work in some other | |
2345 @c browsers. | |
2346 | |
2347 @c @item @sc{http} | |
2348 @c Supports the @sc{http}/0.9, @sc{http}/1.0, and parts of the @sc{http}/1.1 protocols. | |
2349 @c @item Gopher | |
2350 @c Support for all gopher types, including CSO queries. | |
2351 @c @item Gopher+ | |
2352 @c Support for Gopher+ retrievals. Support for converting ASK blocks into | |
2353 @c HTML forms and submitting them back to the server. | |
2354 @c @item @sc{ftp} | |
2355 @c @sc{ftp} is handled by either ange-ftp or efs. | |
2356 @c @inforef{Ange-FTP,Top,ange-ftp}, for more information on Ange-FTP, or | |
2357 @c @inforef{EFS, Top,efs}, for information on EFS. | |
2358 @c @item Local files | |
2359 @c Local files are of course handled, and MIME content-types are derived | |
2360 @c from the file extensions. | |
2361 @c @item telnet, tn3270, rlogin | |
2362 @c Telnet, tn3270, and rogin are handled by running the appropriate program | |
2363 @c in an emacs buffer, or running an external process. | |
2364 @c @item mailto | |
2365 @c Causes a mail message to be started to a specific address. Supports the | |
2366 @c Netscape @i{extensions} to specify arbitrary headers on the message. | |
2367 @c @item data | |
2368 @c A quick and easy way to `inline' small pieces of information that you do | |
2369 @c not necessarily want to download over the net separately. Can speed up | |
2370 @c display of small icons, stylesheet information, etc. See the internet | |
2371 @c draft draft-masinter-url-data-02.txt for more information. | |
2372 @c @item mailserver | |
2373 @c A more powerful version of mailto, which allows the author to specify | |
2374 @c the subject and body text of the mail message. This type of link is | |
2375 @c never fully executed without user confirmation, because it is possible | |
2376 @c to insert insulting or threatening (and possibly illegal) data into the | |
2377 @c message. The mail message is displayed, and the user must confirm the | |
2378 @c message before it is sent. | |
2379 @c @item x-exec | |
2380 @c A @sc{url} can cause a local executable to be run, and its output interpreted | |
2381 @c as if it had come from an @sc{http} server. This is very useful, but is | |
2382 @c still an experimental protocol, hence the X- prefix. This @sc{url} protocol | |
2383 @c is deprecated, but might be useful in the future. | |
2384 @c @item @sc{nfs} | |
2385 @c Retrieves information over @sc{nfs}. This requires that your operating | |
2386 @c system support auto-mounting of @sc{nfs} volumes. | |
2387 @c @item finger | |
2388 @c Retrieves information about a user via the 'finger' protocol. | |
2389 @c @item Info | |
2390 @c Creates a link to an GNU-style info file. @inforef{Info,Top,info}, for more | |
2391 @c information on the Info format. | |
2392 @c @item SSL | |
2393 @c SSL requires a set of patches to the Emacs C code and SSLRef 2.0, or an | |
2394 @c external program to run in a subprocess (similar to the @file{tcp.el} | |
2395 @c package that comes with GNUS. @xref{Installing SSL} | |
2396 @c @end table | |
2397 |