Mercurial > hg > xemacs-beta
comparison lisp/w3/w3-vars.el @ 0:376386a54a3c r19-14
Import from CVS: tag r19-14
author | cvs |
---|---|
date | Mon, 13 Aug 2007 08:45:50 +0200 |
parents | |
children | ac2d302a0011 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:376386a54a3c |
---|---|
1 ;;; w3-vars.el,v --- All variable definitions for emacs-w3 | |
2 ;; Author: wmperry | |
3 ;; Created: 1996/06/06 14:20:01 | |
4 ;; Version: 1.219 | |
5 ;; Keywords: comm, help, hypermedia | |
6 | |
7 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
8 ;;; Copyright (c) 1993, 1994, 1995 by William M. Perry (wmperry@spry.com) | |
9 ;;; | |
10 ;;; This file is not part of GNU Emacs, but the same permissions apply. | |
11 ;;; | |
12 ;;; GNU Emacs is free software; you can redistribute it and/or modify | |
13 ;;; it under the terms of the GNU General Public License as published by | |
14 ;;; the Free Software Foundation; either version 2, or (at your option) | |
15 ;;; any later version. | |
16 ;;; | |
17 ;;; GNU Emacs is distributed in the hope that it will be useful, | |
18 ;;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 ;;; GNU General Public License for more details. | |
21 ;;; | |
22 ;;; You should have received a copy of the GNU General Public License | |
23 ;;; along with GNU Emacs; see the file COPYING. If not, write to | |
24 ;;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. | |
25 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
26 | |
27 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
28 ;;; Variable definitions for w3 | |
29 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
30 (defconst w3-version-number | |
31 (let ((x "p2-3-67")) | |
32 (if (string-match "State:[ \t\n]+.\\([^ \t\n]+\\)" x) | |
33 (setq x (substring x (match-beginning 1) (match-end 1))) | |
34 (setq x (substring x 1))) | |
35 (mapconcat | |
36 (function (lambda (x) (if (= x ?-) "." (char-to-string x)))) x "")) | |
37 "Version # of w3-mode.") | |
38 | |
39 (defconst w3-version-date (let ((x "1996/06/06 14:20:01")) | |
40 (if (string-match "Date: \\([^ \t\n]+\\)" x) | |
41 (substring x (match-beginning 1) (match-end 1)) | |
42 x)) | |
43 "Date this version of w3-mode was released.") | |
44 | |
45 (defconst w3-version | |
46 (format "WWW %s %s" w3-version-number w3-version-date) | |
47 "More descriptive version of w3-version-number.") | |
48 | |
49 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
50 ;;; General configuration variables | |
51 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
52 (defvar w3-annotation-mode 'html-mode | |
53 "*A symbol specifying the major mode to enter when doing annotations.") | |
54 | |
55 (defvar w3-annotation-position 'bottom | |
56 "*A symbol specifying where personal annotations should appear in a buffer. | |
57 Can be one of the symbols 'top or 'bottom. If the symbol is eq to 'top, then | |
58 the annotations will appear at the top of the buffer. If 'bottom, will appear | |
59 at the end of the buffer.") | |
60 | |
61 (defvar w3-auto-image-alt t | |
62 "*Whether emacs-w3 should create an alt attribute for an image that | |
63 is missing it. | |
64 If nil, emacs-w3 will not automatically create an ALT attribute. | |
65 If t, the alt attribute will be [IMAGE(nameofimage)] | |
66 If a string, it should be a string suitable for running through format, | |
67 with only one %s, which will be replaced with just the filename of the | |
68 graphic that is not loaded.") | |
69 | |
70 (defvar w3-configuration-directory "~/.w3/" | |
71 "*Where emacs-w3 can find its configuration files") | |
72 | |
73 (defvar w3-debug-html nil "*Whether to gripe about bad HTML or not.") | |
74 | |
75 (defvar w3-debug-buffer "*HTML Debug*" | |
76 "*Name of buffer to store debugging information in.") | |
77 | |
78 (defvar w3-default-configuration-file nil | |
79 "*Where per-user customizations of w3 are kept.") | |
80 | |
81 (defvar w3-default-action 'w3-prepare-buffer | |
82 "*A lisp symbol specifying what action to take for files with | |
83 extensions that are not mapped to a MIME type in `mm-mime-extensions'. | |
84 This is useful in case you ever run across files with weird extensions | |
85 \(.foo, .README, .READMEFIRST, etc). This should not be required | |
86 anymore. | |
87 | |
88 Possible values: any lisp symbol. Should be a function that takes no | |
89 arguments. The return value does not matter, it is ignored. Some examples | |
90 are: | |
91 | |
92 Action Value | |
93 ---------------------------------------------- | |
94 Parse as HTML 'w3-prepare-buffer | |
95 View as text 'indented-text-mode") | |
96 | |
97 (defvar w3-default-homepage nil | |
98 "*The url to open at startup. It can be any valid URL. This will | |
99 default to the environment variable WWW_HOME if you do not set it in | |
100 your .emacs file. If WWW_HOME is undefined, then it will default to | |
101 the hypertext documentation for W3 at Indiana University.") | |
102 | |
103 (defvar w3-default-stylesheet nil | |
104 "*The filename of the users default stylesheet.") | |
105 | |
106 (defvar w3-do-blinking nil | |
107 "*Whether emacs-w3 should display blinking text.") | |
108 | |
109 (defvar w3-do-incremental-display nil | |
110 "*Whether to do incremental display of pages or not.") | |
111 | |
112 (defvar w3-documents-menu-file nil | |
113 "*Where the Mosaic documents-menu file is located. This is a file | |
114 that has extra menus for the 'Navigate' menu. This should be in the same | |
115 format as the Mosaic extra documents.menu.") | |
116 | |
117 (defvar w3-dump-to-disk nil | |
118 "*If non-nil, all W3 pages loaded will be dumped to disk.") | |
119 | |
120 (defvar w3-echo-link 'url | |
121 "Whether to display the URL of a link when tabbing through links. | |
122 Possible values are: | |
123 | |
124 url == show the url of the target in the minibuffer | |
125 text == show the text of the link in the minibuffer | |
126 nil == show nothing") | |
127 | |
128 (defvar w3-horizontal-rule-char ?- | |
129 "*The character to use to create a horizontal rule. | |
130 Must be the character's code, not a string. This character is | |
131 replicated across the screen to create a division.") | |
132 | |
133 (defvar w3-hotlist-file nil | |
134 "*Hotlist filename. | |
135 This should be the name of a file that is stored in either | |
136 NCSA's Mosaic/X or Netscape/X format. It is used to keep a listing | |
137 of commonly accessed URL's without having to go through 20 levels of | |
138 menus to get to them.") | |
139 | |
140 (defvar w3-html2latex-args "-s -" | |
141 "*Args to pass `w3-html2latex-prog'. This should send the LaTeX source | |
142 to standard output.") | |
143 | |
144 (defvar w3-html2latex-prog "html2latex" | |
145 "*Program to convert html to latex.") | |
146 | |
147 (defvar w3-icon-directory "http://cs.indiana.edu/elisp/w3/icons/" | |
148 "*Where to find standard icons. Must end in a /!") | |
149 | |
150 (defvar w3-icon-format 'xbm | |
151 "*What file extension icons end in. This is a symbol, string, or nil. | |
152 If nil, then no file extension is used.") | |
153 | |
154 (defvar w3-indent-level 4 | |
155 "*Default # of spaces to indent instead of using TABs. This is | |
156 necessary to preserve tabs in PRE segments yet still get smaller | |
157 indentation for lists, etc.") | |
158 | |
159 (defvar w3-keep-old-buffers t | |
160 "*Whether to keep old buffers around when following links.") | |
161 | |
162 (defvar w3-latex-docstyle "{article}" | |
163 "*The documentstyle to use when printing/mailing converted HTML | |
164 files in LaTeX. Good defaults are: | |
165 {article}, [psfig,twocolumn]{article}, etc.") | |
166 | |
167 (defvar w3-link-info-display-function nil | |
168 "*A function to call to get extra information about a link and | |
169 include it in a buffer. Will be placed after the link and any other | |
170 delimiters.") | |
171 | |
172 (defvar w3-mail-command 'mail | |
173 "*This function will be called whenever w3 needs to send mail. It should | |
174 enter a mail-mode-like buffer in the current window. | |
175 `w3-mail-other-window-command' will be used if w3-mutable-windows is t. | |
176 The commands `mail-to' and `mail-subject' should still work in this | |
177 buffer, and it should use mail-header-separator if possible.") | |
178 | |
179 (defvar w3-mail-other-window-command 'mail-other-window | |
180 "*This function will be called whenever w3 needs to send mail in | |
181 another window. It should enter a mail-mode-like buffer in a | |
182 different window. The commands `mail-to' and `mail-subject' should still | |
183 work in this buffer, and it should use mail-header-separator if | |
184 possible.") | |
185 | |
186 (defvar w3-max-inlined-image-size nil | |
187 "*The maximum byte size of a file to transfer as an inlined image. | |
188 If an image is being retrieved and exceeds this size, then it will be | |
189 cancelled. This works best on HTTP/1.0 servers that send a | |
190 Content-length header, otherwise the image is retrieved up until the | |
191 max number of bytes is retrieved, then killed.") | |
192 | |
193 (defvar w3-max-menu-length 35 | |
194 "*The maximum length of a pulldown menu before it will be split into | |
195 smaller chunks, with the first part as a submenu, followed by the rest | |
196 of the menu.") | |
197 | |
198 (defvar w3-max-menu-width 40 "*The maximum width of a pulldown menu choice.") | |
199 | |
200 (defvar w3-modeline-format | |
201 '(" " ("W3" | |
202 (w3-netscape-emulation-minor-mode | |
203 " (NS)") | |
204 (w3-lynx-emulation-minor-mode | |
205 " (Lynx)") | |
206 ": " | |
207 (40 (-40 "%b")) | |
208 " " | |
209 (w3-current-isindex "[Searchable] ") | |
210 "%p" " " global-mode-string)) | |
211 "*The modeline format string when in w3 mode") | |
212 | |
213 (defvar w3-mule-attribute 'underline | |
214 "*How to highlight items in Mule (Multi-Linugual Emacs).") | |
215 | |
216 (defvar w3-mutable-windows nil | |
217 "*Controls how new WWW documents are displayed. If this is set to | |
218 non-nil and pop-up-windows is non-nil, then new buffers will be shown | |
219 in another window. If either is nil, then it will replace the document | |
220 in the current window.") | |
221 | |
222 (defvar w3-netscape-configuration-file nil | |
223 "*A Netscape-for-X style configuration file. This file will only be read if | |
224 and only if `w3-use-netscape-configuration-file' is non-nil.") | |
225 | |
226 (defvar w3-netscape-compatible-comments t | |
227 "*Whether to honor netscape-style <! > comments. | |
228 Ye gods I wish I could turn this off by default.") | |
229 | |
230 (defvar w3-notify 'semibully | |
231 "*Selects the behavior when w3 page is ready. | |
232 This variable may have one of the following values: | |
233 | |
234 newframe -- put the w3 page in its own frame | |
235 bully -- make the w3 page the current buffer and only window | |
236 semibully -- make the w3 page the current buffer in the same window | |
237 aggressive -- make the w3 page the current buffer in the other window | |
238 friendly -- display w3page in other window but don't make current | |
239 polite -- don't display w3 page, but prints message when ready (beeps) | |
240 quiet -- like `polite', but don't beep | |
241 meek -- make no indication that page is ready | |
242 | |
243 Any other value of `w3-notify' is equivalent to `meek'.") | |
244 | |
245 (defvar w3-personal-annotation-directory nil | |
246 "*Directory where w3 looks for personal annotations. | |
247 This is a directory that should hold the personal annotations stored in | |
248 a Mosaic-compatible format.") | |
249 | |
250 (defvar w3-ppmtoxbm-command "ppmtopgm | pgmtopbm | pbmtoxbm" | |
251 "*The command used to convert from the portable-pixmap graphics format | |
252 to an x bitmap. This will only ever be used if XEmacs doesn't have support | |
253 for XPM.") | |
254 | |
255 (defvar w3-ppmtoxpm-command "ppmtoxpm" | |
256 "*The command used to convert from the portable-pixmap graphics format | |
257 to XPM. The XPM _MUST_ be in version 3 format.") | |
258 | |
259 (defvar w3-print-command "lpr -h -d" | |
260 "*Print command for dvi files. | |
261 This is usually lpr -h -d to send it to a postscript printer, but you can set | |
262 it up so that it is any command that takes a dvi file as its last argument.") | |
263 | |
264 (defvar w3-reuse-buffers 'reuse | |
265 "What to do when following a link will re-fetch a document that has | |
266 already been fetched into a W3 buffer. Possible values are: nil, | |
267 'yes, and 'no. Nil means ask the user if we should reuse the buffer. | |
268 A value of 'yes means assume the user wants us to reuse the buffer. | |
269 A value of 'no means assume the user wants us to re-fetch the document. | |
270 | |
271 This will also accept: | |
272 'no 'never 'reload ==> always reload | |
273 'yes 'reuse 'always ==> always reuse | |
274 'ask nil ==> always ask") | |
275 | |
276 (defvar w3-right-border 2 | |
277 "*Amount of space to leave on right margin of WWW buffers. | |
278 This amount is subtracted from (window-width) for each new WWW buffer | |
279 and used as the new fill-column.") | |
280 | |
281 (defvar w3-maximum-line-length nil | |
282 "*Maximum length of a line. If nil, then lines can extend all the way to | |
283 the window margin. If a number, the smaller of this and | |
284 (- (window-width) w3-right-border) is used.") | |
285 | |
286 (defvar w3-right-justify-address t | |
287 "*Whether to make address fields right justified, like Arena.") | |
288 | |
289 (defvar w3-show-headers nil | |
290 "*This is a list of regexps that match HTTP/1.0 headers to show at | |
291 the end of a buffer. All the headers being matched against will be | |
292 in lowercase. All matching headers will be inserted at the end of the | |
293 buffer in a <UL> list.") | |
294 | |
295 (defvar w3-show-status t | |
296 "*Whether to show a running total of bytes transferred. Can cause a | |
297 large hit if using a remote X display over a slow link, or a terminal | |
298 with a slow modem.") | |
299 | |
300 (defvar w3-starting-documents | |
301 '(("Internet Starting Points" "http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/StartingPoints/NetworkStartingPoints.html") | |
302 ("Internet Resources Meta-index" "http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/MetaIndex.html") | |
303 ("NCSA's What's New" "http://www.ncsa.uiuc.edu/SDG/Software/Mosaic/Docs/whats-new.html")) | |
304 "*An assoc list of titles and URLs for quick access. These are just | |
305 defaults so that new users have somewhere to go.") | |
306 | |
307 (defvar w3-temporary-directory "/tmp" "*Where temporary files go.") | |
308 | |
309 (defvar w3-track-last-buffer nil | |
310 "*Whether to track the last w3 buffer to automatically switch to with | |
311 M-x w3.") | |
312 | |
313 (defvar w3-track-mouse t | |
314 "*Whether to track the mouse and message the url under the mouse.") | |
315 | |
316 (defvar w3-use-forms-index t | |
317 "*Non-nil means translate <ISINDEX> tags into a hypertext form. | |
318 A single text entry box will be drawn where the ISINDEX tag appears. | |
319 If t, the isindex handling will be the same as Mosaic for X.") | |
320 | |
321 (defvar w3-use-html2latex nil | |
322 "*This controls how HTML is converted into LaTeX for printing or mailing. | |
323 If nil, the w3-convert-html-to-latex function is used instead of the | |
324 html2latex in a subprocess. The lisp function gives slightly better | |
325 formatting in my biased opinion.") | |
326 | |
327 (defvar w3-use-netscape-configuration-file nil | |
328 "*Whether to use a netscape configuration file to determine things like | |
329 home pages, link colors, etc. If non-nil, then `w3-netscape-configuration-file' | |
330 is read in at startup.") | |
331 | |
332 (defvar w3-honor-stylesheets t | |
333 "*Whether to let a document specify a CSS stylesheet.") | |
334 | |
335 (defvar w3-user-colors-take-precedence nil | |
336 "*Whether to let a document define certain colors about itself. | |
337 Like foreground and background colors and pixmaps, color of links and | |
338 visited links, etc.") | |
339 | |
340 (defvar w3-gc-cons-threshold-multiplier 1 | |
341 "Amount to temporarily multiply gc-cons-threshold by when parsing HTML. | |
342 Setting this to a number greater than 1 will result in less frequent | |
343 garbage collections when parsing an HTML document, which may often speed | |
344 up handling of a large document with many elements. The disadvantage is | |
345 that it allows Emacs's total memory usage to grow larger, which may result | |
346 in later garbage collections taking more time.") | |
347 | |
348 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
349 ;;; Hook Variables | |
350 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
351 (defvar w3-load-hook nil "*Hooks to be run after loading w3.") | |
352 (defvar w3-mode-hook nil "*Hooks to be run after entering w3-mode.") | |
353 (defvar w3-file-prepare-hook nil | |
354 "*Hooks to be run before preparing a buffer.") | |
355 (defvar w3-file-done-hook nil "*Hooks to be run after preparing a buffer.") | |
356 (defvar w3-source-file-hook nil | |
357 "*Hooks to be run after getting document source.") | |
358 | |
359 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
360 ;;; Figure out what flavor of emacs we are running | |
361 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
362 (defvar w3-running-xemacs (string-match "XEmacs\\|Lucid" emacs-version) | |
363 "*In XEmacs or Lucid Emacs?.") | |
364 | |
365 (defvar w3-running-FSF19 (and (string-match "^19" emacs-version) | |
366 (not w3-running-xemacs)) | |
367 "*In FSF v19 emacs?") | |
368 | |
369 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
370 ;;; Link delimiting | |
371 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
372 (defvar w3-delimit-emphasis 'guess | |
373 "*Whether to use characters at the start and end of each bold/italic | |
374 region. Obsolete variable (almost) - all this should be specified by the | |
375 default stylesheet.") | |
376 | |
377 (defvar w3-link-start-delimiter '("[[" . "{{") | |
378 "*Put this at front of link if w3-delimit-links is t.") | |
379 | |
380 (defvar w3-link-end-delimiter '("]]" . "}}") | |
381 "*Put this at end of link if w3-delimit-links is t.") | |
382 | |
383 (defvar w3-delimit-links 'guess | |
384 "*Put brackets around links? If this variable is eq to 'linkname, then | |
385 it will put the link # in brackets after the link text. If it is nil, then | |
386 it will not put anything. If it is non-nil and not eq to 'linkname, then | |
387 it will put [[ & ]] around the entire text of the link. Is initially set | |
388 to be t iff in normal emacs. Nil if in XEmacs or lucid emacs, since links | |
389 should be in different colors/fonts.") | |
390 | |
391 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
392 ;;; embedded document variables | |
393 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
394 (defvar w3-mpeg-size 150 "*The height and width of an mpeg window.") | |
395 (defvar w3-mpeg-args '("-loop") "*Arguments to mpeg_play.") | |
396 (defvar w3-mpeg-program "mpeg_play" "*The mpeg_play executable.") | |
397 (defvar w3-delayed-movies nil "A list of mpeg movies for this buffer.") | |
398 | |
399 (defvar w3-embedded-data-converters | |
400 '(("application/eqn" . w3-embed-eqn) | |
401 ("application/postscript" . w3-embed-postscript) | |
402 ("text/plain". w3-embed-text) | |
403 ("text/html" . w3-embed-text) | |
404 ("image/.*" . w3-embed-image)) | |
405 "An assoc list of regular expressions to match against MIME content-types | |
406 for embedded data in HTML documents. The cdr is a function to be passed | |
407 to 'funcall', with the embedded data and content-type as the sole arguments | |
408 passed to the function.") | |
409 | |
410 (if w3-running-xemacs | |
411 (progn | |
412 (condition-case () | |
413 (require 'annotations) | |
414 (error nil)) | |
415 (setq w3-embedded-data-converters | |
416 (cons (cons "video/mpeg" 'w3-embed-mpeg) | |
417 w3-embedded-data-converters)))) | |
418 | |
419 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
420 ;;; Graphics parsing stuff | |
421 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
422 (defvar w3-graphics-always-show-entities t | |
423 "*Set to t to always show graphic entities, regardless of the value of | |
424 w3-delay-image-loads. Useful if you keep the entities locally and aren't | |
425 worried about the transfer time on something that small.") | |
426 | |
427 (defvar w3-graphics-list nil | |
428 "*List of graphics already read in.") | |
429 | |
430 (defvar w3-delay-image-loads nil | |
431 "*Delay loading images for w3 or not?") | |
432 | |
433 (defvar w3-delayed-images nil | |
434 "*A buffer-local variable holding positions and urls of images within | |
435 the buffer.") | |
436 | |
437 (defvar w3-delay-mpeg-loads t | |
438 "*Whether to delay loading mpegs or not.") | |
439 | |
440 (defvar w3-image-mappings | |
441 '( | |
442 ("image/x-xbitmap" . xbm) | |
443 ("image/xbitmap" . xbm) | |
444 ("image/xbm" . xbm) | |
445 ("image/jpeg" . jpeg) | |
446 ("image/gif" . gif) | |
447 ("image/png" . png) | |
448 ("image/x-fax" . g3fax) | |
449 ("image/x-raster" . rast) | |
450 ("image/windowdump" . xwd) | |
451 ("image/x-icon" . icon) | |
452 ("image/portable-graymap" . pgm) | |
453 ("image/portable-pixmap" . ppm) | |
454 ("image/x-pixmap" . xpm) | |
455 ("image/x-xpixmap" . xpm) | |
456 ("image/pict" . pict) | |
457 ("image/x-rgb" . sgi) | |
458 ("image/x-sgi" . sgi) | |
459 ("image/x-macpaint" . macpt) | |
460 ("image/x-targa" . tga) | |
461 ("image/tiff" . tiff) | |
462 ) "*How to map MIME types to image types for the `image' package.") | |
463 | |
464 (defvar w3-color-use-reducing 'guess | |
465 "*Whether to use ppmquant/ppmdither to do color reducing for inlined images. | |
466 If you are using a 24bit display, you should set this to nil.") | |
467 | |
468 (defvar w3-color-max-red 4 | |
469 "*Max # of red cells to allocate for inlined images.") | |
470 | |
471 (defvar w3-color-max-green 4 | |
472 "*Max # of green cells to allocate for inlined images.") | |
473 | |
474 (defvar w3-color-max-blue 4 | |
475 "*Max # of blue cells to allocate for inlined images.") | |
476 | |
477 (defvar w3-color-filter 'ppmdither | |
478 "*How to do color reducing on inlined images. | |
479 This should be a symbol, either ppmdither or ppmquant. | |
480 This variable only has any meaning if w3-color-use-reducing is non-nil. | |
481 Possible values are: | |
482 | |
483 ppmquant :== Use the ppmquant program to reduce colors. The product | |
484 of w3-color-max-[red|green|blue] is used as the maximum | |
485 number of colors. | |
486 ppmdither :== Use the ppmdither program to reduce colors. | |
487 | |
488 any string :== Use this string as the filter. No interpretation of it | |
489 is done at all. Example is: | |
490 ppmquant -fs -map ~/pixmaps/colormap.ppm") | |
491 | |
492 (defvar w3-ppmdither-is-buggy t | |
493 "*The ppmdither which comes with pbmplus/netpbm releases through | |
494 1mar1994 at least ignores the 'maxval' in its input. This can cause | |
495 trouble viewing black-and-white gifs. If this variable is set, a | |
496 (harmless) 'pnmdepth 255' step is inserted to work around this bug. | |
497 You can test your ppmdither by doing | |
498 ppmmake white 100 100 | pnmdepth 1 | ppmdither | pnmdepth 255 | ppmhist | |
499 If the output has a single line like this: | |
500 255 255 255 255 10000 | |
501 then it's safe to set this variable to nil.") | |
502 | |
503 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
504 ;;; How to look up styles | |
505 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
506 (defvar w3-style-tags-assoc | |
507 '( | |
508 (b . ("*" . "*")) | |
509 (address . ("*" . "*")) | |
510 (byline . ("_" . "_")) | |
511 (cite . ("_" . "_")) | |
512 (cmd . ("*" . "*")) | |
513 (dfn . ("*" . "*")) | |
514 (em . ("~" . "~")) | |
515 (i . ("~" . "~")) | |
516 (q . ("\"" . "\"")) | |
517 (removed . ("" . "")) | |
518 (s . ("" . "")) | |
519 (strong . ("*" . "*")) | |
520 (sub . ("" . "")) | |
521 (sup . ("" . "")) | |
522 (u . ("_" . "_")) | |
523 ) | |
524 "*An assoc list of emphasis tags and their corresponding | |
525 begin and end characters.") | |
526 | |
527 (defvar w3-header-chars-assoc | |
528 '( | |
529 (h1 . (?* ?* w3-upcase-region)) | |
530 (h2 . (?* ?* w3-upcase-region)) | |
531 (h3 . (?- ?- w3-upcase-region)) | |
532 (h4 . (nil ?= nil)) | |
533 (h5 . (nil ?= nil)) | |
534 (h6 . (nil ?: nil))) | |
535 "*An assoc list of header tags and a list of formatting instructions. | |
536 This list consists of 3 items - the first item is no longer used. The | |
537 second item is the character to insert after the header. A <BR> is | |
538 inserted before and after this string. And the third is a function to | |
539 call on the region between the start and end of the header. This will | |
540 be called with 2 arguments, the buffer positions of the start and end | |
541 of the headers.") | |
542 | |
543 ;; Store the database of HTML general entities. | |
544 (defvar w3-html-entities | |
545 '( | |
546 (excl . 33) | |
547 (quot . 34) | |
548 (num . 35) | |
549 (dollar . 36) | |
550 (percent . 37) | |
551 (amp . 38) | |
552 (rsquo . 39) | |
553 (apos . 39) | |
554 (lpar . 40) | |
555 (rpar . 41) | |
556 (times . 42) | |
557 (ast . 42) | |
558 (plus . 43) | |
559 (comma . 44) | |
560 (period . 46) | |
561 (colon . 58) | |
562 (semi . 59) | |
563 (lt . 60) | |
564 (equals . 61) | |
565 (gt . 62) | |
566 (quest . 63) | |
567 (commat . 64) | |
568 (lsqb . 91) | |
569 (rsqb . 93) | |
570 (uarr . 94) | |
571 (lowbar . 95) | |
572 (lsquo . 96) | |
573 (lcub . 123) | |
574 (verbar . 124) | |
575 (rcub . 125) | |
576 (tilde . 126) | |
577 (nbsp . 160) | |
578 (iexcl . 161) | |
579 (cent . 162) | |
580 (pound . 163) | |
581 (curren . 164) | |
582 (yen . 165) | |
583 (brvbar . 166) | |
584 (sect . 167) | |
585 (uml . 168) | |
586 (copy . 169) | |
587 (ordf . 170) | |
588 (laquo . 171) | |
589 (not . 172) | |
590 (shy . 173) | |
591 (reg . 174) | |
592 (macr . 175) | |
593 (deg . 176) | |
594 (plusmn . 177) | |
595 (sup2 . 178) | |
596 (sup3 . 179) | |
597 (acute . 180) | |
598 (micro . 181) | |
599 (para . 182) | |
600 (middot . 183) | |
601 (cedil . 184) | |
602 (sup1 . 185) | |
603 (ordm . 186) | |
604 (raquo . 187) | |
605 (frac14 . 188) | |
606 (frac12 . 189) | |
607 (frac34 . 190) | |
608 (iquest . 191) | |
609 (Agrave . 192) | |
610 (Aacute . 193) | |
611 (Acirc . 194) | |
612 (Atilde . 195) | |
613 (Auml . 196) | |
614 (Aring . 197) | |
615 (AElig . 198) | |
616 (Ccedil . 199) | |
617 (Egrave . 200) | |
618 (Eacute . 201) | |
619 (Ecirc . 202) | |
620 (Euml . 203) | |
621 (Igrave . 204) | |
622 (Iacute . 205) | |
623 (Icirc . 206) | |
624 (Iuml . 207) | |
625 (ETH . 208) | |
626 (Ntilde . 209) | |
627 (Ograve . 210) | |
628 (Oacute . 211) | |
629 (Ocirc . 212) | |
630 (Otilde . 213) | |
631 (Ouml . 214) | |
632 (times . 215) | |
633 (Oslash . 216) | |
634 (Ugrave . 217) | |
635 (Uacute . 218) | |
636 (Ucirc . 219) | |
637 (Uuml . 220) | |
638 (Yacute . 221) | |
639 (THORN . 222) | |
640 (szlig . 223) | |
641 (agrave . 224) | |
642 (aacute . 225) | |
643 (acirc . 226) | |
644 (atilde . 227) | |
645 (auml . 228) | |
646 (aring . 229) | |
647 (aelig . 230) | |
648 (ccedil . 231) | |
649 (egrave . 232) | |
650 (eacute . 233) | |
651 (ecirc . 234) | |
652 (euml . 235) | |
653 (igrave . 236) | |
654 (iacute . 237) | |
655 (icirc . 238) | |
656 (iuml . 239) | |
657 (eth . 240) | |
658 (ntilde . 241) | |
659 (ograve . 242) | |
660 (oacute . 243) | |
661 (ocirc . 244) | |
662 (otilde . 245) | |
663 (ouml . 246) | |
664 (divide . 247) | |
665 (oslash . 248) | |
666 (ugrave . 249) | |
667 (uacute . 250) | |
668 (ucirc . 251) | |
669 (uuml . 252) | |
670 (yacute . 253) | |
671 (thorn . 254) | |
672 (yuml . 255) | |
673 | |
674 ;; Special handling of these | |
675 (frac56 . "5/6") | |
676 (frac16 . "1/6") | |
677 (frac45 . "4/5") | |
678 (frac35 . "3/5") | |
679 (frac25 . "2/5") | |
680 (frac15 . "1/5") | |
681 (frac23 . "2/3") | |
682 (frac13 . "1/3") | |
683 (frac78 . "7/8") | |
684 (frac58 . "5/8") | |
685 (frac38 . "3/8") | |
686 (frac18 . "1/8") | |
687 | |
688 ;; The following 5 entities are not mentioned in the HTML 2.0 | |
689 ;; standard, nor in any other HTML proposed standard of which I | |
690 ;; am aware. I am not even sure they are ISO entity names. *** | |
691 ;; Hence, some arrangement should be made to give a bad HTML | |
692 ;; message when they are seen. | |
693 (ndash . 45) | |
694 (mdash . 45) | |
695 (emsp . 32) | |
696 (ensp . 32) | |
697 (sim . 126) | |
698 (le . "<=") | |
699 (agr . "alpha") | |
700 (rdquo . "''") | |
701 (ldquo . "``") | |
702 (trade . "(TM)") | |
703 ;; To be done | |
704 ;; (shy . ????) ; soft hyphen | |
705 ) | |
706 "*An assoc list of entity names and how to actually display them.") | |
707 | |
708 (defvar w3-graphic-entities | |
709 '( | |
710 (archive "archive" ) | |
711 (audio "audio" ) | |
712 (binary.document "binary.document" ) | |
713 (binhex.document "binhex.document" ) | |
714 (calculator "calculator" ) | |
715 (caution "caution" ) | |
716 (cd.i "cd.i" ) | |
717 (cd.rom "cd.rom" ) | |
718 (clock "clock" ) | |
719 (compressed.document "compressed.document" ) | |
720 (disk.drive "disk.drive" ) | |
721 (diskette "diskette" ) | |
722 (document "document" ) | |
723 (fax "fax" ) | |
724 (filing.cabinet "filing.cabinet" ) | |
725 (film "film" ) | |
726 (fixed.disk "fixed.disk" ) | |
727 (folder "folder" ) | |
728 (form "form" ) | |
729 (ftp "ftp" ) | |
730 (glossary "glossary" ) | |
731 (gopher "gopher" ) | |
732 (home "home" ) | |
733 (html "html" ) | |
734 (image "image" ) | |
735 (index "index" ) | |
736 (keyboard "keyboard" ) | |
737 (mail "mail" ) | |
738 (mail.in "mail.in" ) | |
739 (mail.out "mail.out" ) | |
740 (map "map" ) | |
741 (mouse "mouse" ) | |
742 (new "new" ) | |
743 (next "next" ) | |
744 (notebook "notebook" ) | |
745 (parent "parent" ) | |
746 (play.fast.forward "play.fast.forward" ) | |
747 (play.fast.reverse "play.fast.reverse" ) | |
748 (play.pause "play.pause" ) | |
749 (play.start "play.start" ) | |
750 (play.stop "play.stop" ) | |
751 (previous "previous" ) | |
752 (printer "printer" ) | |
753 (sadsmiley "sadsmiley" ":(") | |
754 (smiley "smiley" ":)") | |
755 (stop "stop" ) | |
756 (summary "summary" ) | |
757 (telephone "telephone" ) | |
758 (telnet "telnet" ) | |
759 (text.document "text.document" ) | |
760 (tn3270 "tn3270" ) | |
761 (toc "toc" ) | |
762 (trash "trash" ) | |
763 (unknown.document "unknown.document" ) | |
764 (uuencoded.document "uuencoded.document" ) | |
765 (work "work" ) | |
766 (www "www" ) | |
767 ) | |
768 "List of graphical entity names and the tail end of a URL for them. | |
769 If there is a 3rd item in the list, it is the alternative text to use | |
770 for the image.") | |
771 | |
772 (defvar w3-list-chars-assoc | |
773 '( | |
774 (ul . ("o" "*" "+" ">")) | |
775 (ol . ("." ")" "]" ":")) | |
776 (dl . ("o" "*" "+" ">"))) | |
777 "An assoc list of characters to put at the front of list items. It is | |
778 keyed on the type of list, followed by a list of items. Each item should | |
779 be placed in the nth position of the list, where n is the nesting level it | |
780 should be used for. n starts at 1.") | |
781 | |
782 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
783 ;;; Menu definitions | |
784 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
785 (defvar w3-navigate-menu nil) | |
786 (defvar w3-popup-menu | |
787 '("Emacs-W3 Commands" | |
788 ["Back" w3-backward-in-history t] | |
789 ["Forward" w3-forward-in-history t] | |
790 "---" | |
791 ["Add annotation" w3-annotation-add t] | |
792 ) | |
793 "The shorter popup menu.") | |
794 | |
795 (defvar w3-documentation-root "http://www.cs.indiana.edu/elisp/w3/docs/" | |
796 "*Where the w3 documentation lives. This MUST end in a slash.") | |
797 | |
798 (defvar w3-graphlink-menu | |
799 '(("Open this Image (%s)" . w3-fetch) | |
800 ("Save this Image As..." . w3-download-url) | |
801 ("Copy this Image Location" . w3-save-url) | |
802 ("Information on this Image". w3-popup-image-info)) | |
803 "An assoc list of function names and labels. These will be displayed | |
804 in a popup menu when the mouse is pressed on a hyperlink. Format is | |
805 ( (label . function)), function is called with one argument, the URL of | |
806 the link. Each label can have exactly one `%s' that will be replaced by | |
807 the URL of the link.") | |
808 | |
809 (defvar w3-hyperlink-menu | |
810 '(("Open this Link (%s)" . w3-fetch) | |
811 ("Add Bookmark for this Link" . w3-hotlist-add-document) | |
812 ("New Window with this Link" . w3-fetch-other-frame) | |
813 ("Save Link As..." . w3-download-url) | |
814 ("Copy this Link Location to Clipboard" . w3-save-url) | |
815 ("Information on this Link" . w3-popup-info)) | |
816 "An assoc list of function names and labels. These will be displayed | |
817 in a popup menu when the mouse is pressed on a hyperlink. Format is | |
818 ( (label . function)), function is called with one argument, the URL of | |
819 the link. Each label can have exactly one `%s' that will be replaced by | |
820 the URL of the link.") | |
821 | |
822 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
823 ;;; Variables internal to W3, you should not change any of these | |
824 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
825 (defvar w3-form-radio-elements nil "Internal variable - do not touch!") | |
826 (defvar w3-form-elements nil "Internal variable - do not touch!") | |
827 | |
828 (defvar w3-invisible-href-list nil | |
829 "A list of 'invisible' graphic links in the current buffer.") | |
830 | |
831 (defconst w3-state-locator-variable | |
832 '( | |
833 :align | |
834 :background | |
835 :center | |
836 :depth | |
837 :figalt | |
838 :figdata | |
839 :fillcol | |
840 :form | |
841 :formnum | |
842 :header-start | |
843 :href | |
844 :link-args | |
845 :image | |
846 :lists | |
847 :map | |
848 :mpeg | |
849 :name | |
850 :needspace | |
851 :next-break | |
852 :nofill | |
853 :nowrap | |
854 :optarg | |
855 :options | |
856 :pre-start | |
857 :select | |
858 :secret | |
859 :table | |
860 :text-mangler | |
861 :title | |
862 :link-title | |
863 :w3-graphic | |
864 :zone | |
865 :label-text | |
866 :seen-this-url | |
867 ) | |
868 "A list of all the various state kept in the drawing engine. | |
869 This is used by the `w3-get-state' and `w3-put-state' macros.") | |
870 | |
871 (defvar w3-state-vector | |
872 (make-vector (1+ (length w3-state-locator-variable)) nil) | |
873 "Various state shit kept by emacs-w3.") | |
874 | |
875 (defvar w3-user-stylesheet nil | |
876 "The global stylesheet for this user.") | |
877 | |
878 (defvar w3-current-stylesheet nil | |
879 "The stylesheet for this document.") | |
880 | |
881 (defvar w3-base-alist nil | |
882 "An assoc list of named BASE tags in the current document.") | |
883 | |
884 (defvar w3-blinking-buffs nil | |
885 "A list of buffers with blinking text in them. | |
886 This is used to optimize when we change a face so the entire display | |
887 doesn't flash every second, whether we've run into a buffer that is | |
888 displaying blinking text or not.") | |
889 | |
890 (defvar w3-last-fill-pos nil | |
891 "An internal variable for the new display engine that specifies the | |
892 last character position that was correctly filled.") | |
893 | |
894 (defvar w3-last-tag nil | |
895 "An internal variable for the new display engine that specifies the | |
896 last tag processed.") | |
897 | |
898 (defvar w3-table-info nil | |
899 "An internal variable for the new display engine for keeping table data | |
900 during the pre-pass parsing.") | |
901 | |
902 (defvar w3-current-formatter nil | |
903 "Current formatter function.") | |
904 | |
905 (defvar w3-draw-buffer nil | |
906 "Where we are currently drawing into. This _must_ be a buffer object | |
907 when it is referenced.") | |
908 | |
909 (defvar w3-active-faces nil "The list of active faces.") | |
910 (defvar w3-active-voices nil "The list of active voices.") | |
911 | |
912 (defvar w3-netscape-variable-mappings | |
913 '(("PRINT_COLOR" . ps-print-color-p) | |
914 ("DITHER_IMAGES" . w3-color-use-reducing) | |
915 ("SOCKS_HOST" . url-socks-host) | |
916 ("ORGANIZATION" . url-user-organization) | |
917 ("EMAIL_ADDRESS" . url-personal-mail-address) | |
918 ("REAL_NAME" . url-user-real-name) | |
919 ("NEWSGROUP_DESCRIPTIONS" . url-show-newsgroup-descriptions) | |
920 ("NNTPSERVER" . url-news-server) | |
921 ("AUTOLOAD_IMAGES" . w3-delay-image-loads) | |
922 ("HOME_DOCUMENT" . w3-default-homepage) | |
923 ("UNDERLINE_LINKS" . w3-underline-links) | |
924 ("TMPDIR" . url-temporary-directory)) | |
925 "A mapping from netscape configuration file options to w3 variables.") | |
926 | |
927 (defvar w3-acceptable-protocols-alist | |
928 '(("Gopher" . "gopher") | |
929 ("TN3270 (IBM Mainframe emulation)" . "tn3270") | |
930 ("Interactive Telnet Session" . "telnet") | |
931 ("Local file or file over ftp" . "file") | |
932 ("File on an http server" . "http") | |
933 ("Usenet newsgroup/article" . "news") | |
934 ("Mail session" . "mailto")) | |
935 "An assoc list of descriptive labels and the corresponding URL stub.") | |
936 | |
937 (defvar w3-annotation-marker "<ncsa-annotation-format-1>") | |
938 (defvar w3-annotation-minor-mode nil "Whether we are in the minor mode.") | |
939 (defconst w3-bug-address "wmperry@spry.com" "Address of current maintainer.") | |
940 (defvar w3-continuation '(url-uncompress url-clean-text) | |
941 "List of functions to call to process a document completely.") | |
942 (defvar w3-current-annotation nil "URL of document we are annotating...") | |
943 (defvar w3-current-isindex nil "Is the current document a searchable index?") | |
944 (defvar w3-current-last-buffer nil "Last W3 buffer seen before this one.") | |
945 (defvar w3-current-links nil "An assoc list of <LINK> tags for this doc.") | |
946 (defvar w3-current-source nil "Source of current document.") | |
947 (defvar w3-current-parse nil "Parsed version of current document.") | |
948 (defconst w3-default-continuation '(url-uncompress url-clean-text) | |
949 "Default action to start with - cleans text and uncompresses if necessary.") | |
950 (defvar w3-editing-annotation nil "Are we editing an annotation or not?") | |
951 (defvar w3-find-this-link nil "Link to go to within a document.") | |
952 (defvar w3-hidden-forms nil "List of hidden form areas and their info.") | |
953 (defvar w3-hotlist nil "Default hotlist.") | |
954 (defvar w3-icon-path-cache nil "Cache of where we found icons for entities.") | |
955 (defvar w3-last-buffer nil "The last W3 buffer visited.") | |
956 (defvar w3-personal-annotations nil "Assoc list of personal annotations.") | |
957 (defvar w3-print-next nil "Should we latex & print the next doc?") | |
958 (defvar w3-roman-characters "ivxLCDMVX" "Roman numerals.") | |
959 (defvar w3-setup-done nil "Have we been through setup code yet?") | |
960 (defvar w3-source nil "Should we source the next document or not?") | |
961 | |
962 (defvar w3-strict-width nil | |
963 "*This variable will control how wide emacs thinks the current window is. | |
964 This is useful when working in batch mode, and (window-width) returns the | |
965 wrong value. If the value is nil, it will use the value (window-width) | |
966 returns.") | |
967 | |
968 (defvar w3-submit-button nil | |
969 "A widget object specifying what button was pressed to submit a form.") | |
970 | |
971 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
972 ;;; buffer-local variables to keep around when going into w3-mode | |
973 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
974 (defvar w3-e19-hotlist-menu nil | |
975 "A menu for hotlists.") | |
976 | |
977 (defvar w3-e19-links-menu nil | |
978 "A buffer-local menu for links.") | |
979 | |
980 (defvar w3-id-positions nil "Internal use only.") | |
981 (defvar w3-imagemaps nil "Internal use only.") | |
982 | |
983 (defvar w3-persistent-variables | |
984 '( | |
985 ;; So we can show the URL in the list-buffers listing | |
986 list-buffers-directory | |
987 ;; So widgets don't get lost | |
988 widget-field-new | |
989 w3-form-radio-elements | |
990 w3-form-elements | |
991 url-current-callback-func | |
992 url-current-content-length | |
993 url-current-file | |
994 url-current-mime-encoding | |
995 url-current-mime-headers | |
996 url-current-mime-type | |
997 url-current-mime-viewer | |
998 url-current-port | |
999 url-current-referer | |
1000 url-current-server | |
1001 url-current-type | |
1002 url-current-user | |
1003 w3-e19-links-menu | |
1004 w3-current-parse | |
1005 w3-current-annotation | |
1006 w3-current-isindex | |
1007 w3-current-last-buffer | |
1008 w3-current-links | |
1009 w3-current-source | |
1010 w3-delayed-images | |
1011 w3-delayed-movies | |
1012 w3-hidden-forms | |
1013 w3-invisible-href-list | |
1014 w3-state-vector | |
1015 w3-current-stylesheet | |
1016 w3-form-labels | |
1017 w3-id-positions | |
1018 w3-imagemaps | |
1019 ) | |
1020 "A list of variables that should be preserved when entering w3-mode.") | |
1021 | |
1022 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1023 ;;; Syntax stuff | |
1024 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1025 (defvar w3-parse-args-syntax-table | |
1026 (copy-syntax-table emacs-lisp-mode-syntax-table) | |
1027 "A syntax table for parsing sgml attributes.") | |
1028 | |
1029 (modify-syntax-entry ?' "\"" w3-parse-args-syntax-table) | |
1030 (modify-syntax-entry ?` "\"" w3-parse-args-syntax-table) | |
1031 (modify-syntax-entry ?< "(>" w3-parse-args-syntax-table) | |
1032 (modify-syntax-entry ?> ")<" w3-parse-args-syntax-table) | |
1033 | |
1034 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1035 ;;; Emulation stuff | |
1036 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1037 (defvar w3-netscape-emulation-minor-mode nil | |
1038 "Whether we are in the netscape emulation minor mode.") | |
1039 (defvar w3-netscape-emulation-minor-mode-map (make-sparse-keymap) | |
1040 "Keymap for netscape emulation.") | |
1041 (defvar w3-lynx-emulation-minor-mode nil | |
1042 "Whether we are in the lynx emulation minor mode.") | |
1043 (defvar w3-lynx-emulation-minor-mode-map (make-sparse-keymap) | |
1044 "Keymap for lynx emulation.") | |
1045 (defvar w3-last-search-item nil) | |
1046 | |
1047 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1048 ;;; Startup items | |
1049 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1050 (defvar w3-form-labels nil "") | |
1051 (mapcar (function | |
1052 (lambda (var) | |
1053 (if (boundp var) | |
1054 (make-variable-buffer-local var)))) w3-persistent-variables) | |
1055 (make-variable-buffer-local 'w3-state-vector) | |
1056 (make-variable-buffer-local 'w3-current-stylesheet) | |
1057 (make-variable-buffer-local 'w3-base-alist) | |
1058 (make-variable-buffer-local 'w3-annotation-minor-mode) | |
1059 (make-variable-buffer-local 'w3-last-tag) | |
1060 (make-variable-buffer-local 'w3-last-fill-pos) | |
1061 (make-variable-buffer-local 'w3-table-info) | |
1062 (make-variable-buffer-local 'w3-draw-buffer) | |
1063 (make-variable-buffer-local 'w3-current-formatter) | |
1064 (make-variable-buffer-local 'w3-active-faces) | |
1065 (make-variable-buffer-local 'w3-default-style) | |
1066 (make-variable-buffer-local 'w3-netscape-emulation-minor-mode) | |
1067 (make-variable-buffer-local 'w3-lynx-emulation-minor-mode) | |
1068 (make-variable-buffer-local 'w3-last-search-item) | |
1069 | |
1070 | |
1071 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1072 ;;; Keymap definitions | |
1073 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1074 (defvar w3-mode-map (make-keymap) "Keymap to use in w3-mode.") | |
1075 (defvar w3-annotation-minor-mode-map (make-keymap) "Keymap for annotation.") | |
1076 | |
1077 (suppress-keymap w3-mode-map) | |
1078 | |
1079 (define-key w3-mode-map "h" (make-sparse-keymap)) | |
1080 (define-key w3-mode-map "H" (make-sparse-keymap)) | |
1081 (define-key w3-mode-map "a" (make-sparse-keymap)) | |
1082 | |
1083 (define-key w3-mode-map "ha" 'w3-hotlist-apropos) | |
1084 (define-key w3-mode-map "hd" 'w3-hotlist-delete) | |
1085 (define-key w3-mode-map "hi" 'w3-hotlist-add-document) | |
1086 (define-key w3-mode-map "hv" 'w3-show-hotlist) | |
1087 (define-key w3-mode-map "hr" 'w3-hotlist-rename-entry) | |
1088 (define-key w3-mode-map "hu" 'w3-use-hotlist) | |
1089 (define-key w3-mode-map "hA" 'w3-hotlist-append) | |
1090 (define-key w3-mode-map "hI" 'w3-hotlist-add-document-at-point) | |
1091 (define-key w3-mode-map "hR" 'w3-hotlist-refresh) | |
1092 | |
1093 (define-key w3-mode-map "ai" 'w3-annotation-add) | |
1094 (define-key w3-mode-map "ad" 'w3-delete-personal-annotation) | |
1095 (define-key w3-mode-map "ae" 'w3-annotation-edit) | |
1096 | |
1097 (define-key w3-mode-map "HF" 'w3-forward-in-history) | |
1098 (define-key w3-mode-map "HB" 'w3-backward-in-history) | |
1099 (define-key w3-mode-map "Hv" 'w3-show-history-list) | |
1100 | |
1101 (define-key w3-mode-map " " 'w3-scroll-up) | |
1102 (define-key w3-mode-map "<" 'beginning-of-buffer) | |
1103 (define-key w3-mode-map ">" 'end-of-buffer) | |
1104 (define-key w3-mode-map "?" 'w3-help) | |
1105 (define-key w3-mode-map "B" 'w3-backward-in-history) | |
1106 (define-key w3-mode-map "F" 'w3-forward-in-history) | |
1107 (define-key w3-mode-map "G" 'w3-show-graphics) | |
1108 (define-key w3-mode-map "I" 'w3-popup-info) | |
1109 (define-key w3-mode-map "K" 'w3-save-this-url) | |
1110 (define-key w3-mode-map "P" 'w3-print-url-under-point) | |
1111 (define-key w3-mode-map "Q" 'w3-leave-buffer) | |
1112 (define-key w3-mode-map "R" 'w3-refresh-buffer) | |
1113 (define-key w3-mode-map "S" 'w3-source-document-at-point) | |
1114 (define-key w3-mode-map "U" 'w3-use-links) | |
1115 (define-key w3-mode-map "V" 'w3-view-this-url) | |
1116 (define-key w3-mode-map "\C-?" 'scroll-down) | |
1117 (define-key w3-mode-map "\C-c\C-b" 'w3-show-history-list) | |
1118 (define-key w3-mode-map "\C-c\C-v" 'w3-version) | |
1119 (define-key w3-mode-map "\C-o" 'w3-fetch) | |
1120 (define-key w3-mode-map "\M-M" 'w3-mail-document-under-point) | |
1121 (define-key w3-mode-map "\M-\C-i" 'w3-insert-this-url) | |
1122 (define-key w3-mode-map "\M-m" 'w3-mail-current-document) | |
1123 (define-key w3-mode-map "\M-s" 'w3-search) | |
1124 (define-key w3-mode-map "\M-\r" 'w3-follow-inlined-image) | |
1125 (define-key w3-mode-map "\r" 'w3-widget-button-press) | |
1126 (define-key w3-mode-map "b" 'widget-backward) | |
1127 (define-key w3-mode-map "c" 'w3-mail-document-author) | |
1128 (define-key w3-mode-map "f" 'widget-forward) | |
1129 (define-key w3-mode-map "g" 'w3-reload-document) | |
1130 (define-key w3-mode-map "i" 'w3-document-information) | |
1131 (define-key w3-mode-map "k" 'w3-save-url) | |
1132 (define-key w3-mode-map "l" 'w3-goto-last-buffer) | |
1133 (define-key w3-mode-map "m" 'w3-complete-link) | |
1134 (define-key w3-mode-map "n" 'widget-forward) | |
1135 (define-key w3-mode-map "o" 'w3-open-local) | |
1136 (define-key w3-mode-map "p" 'w3-print-this-url) | |
1137 (define-key w3-mode-map "q" 'w3-quit) | |
1138 (define-key w3-mode-map "r" 'w3-reload-document) | |
1139 (define-key w3-mode-map "s" 'w3-source-document) | |
1140 (define-key w3-mode-map "u" 'w3-leave-buffer) | |
1141 (define-key w3-mode-map "v" 'url-view-url) | |
1142 (define-key w3-mode-map "w" 'w3-submit-bug) | |
1143 | |
1144 ;; Emulate some netscape stuff by default | |
1145 (define-key w3-mode-map [(control alt t)] 'url-list-processes) | |
1146 (define-key w3-mode-map [(control meta t)] 'url-list-processes) | |
1147 | |
1148 ;; Widget navigation | |
1149 (define-key w3-mode-map "\t" 'widget-forward) | |
1150 (define-key w3-mode-map [(shift tab)] 'widget-backward) | |
1151 | |
1152 (define-key w3-annotation-minor-mode-map "\C-c\C-c" | |
1153 'w3-personal-annotation-finish) | |
1154 | |
1155 ;;; This is so we can use a consistent method of checking for mule support | |
1156 ;;; Emacs-based mule uses (boundp 'MULE), but XEmacs-based mule uses | |
1157 ;;; (featurep 'mule) - I choose to use the latter. | |
1158 | |
1159 (if (boundp 'MULE) | |
1160 (provide 'mule)) | |
1161 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1162 ;;; Keyword definitions | |
1163 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
1164 (require 'w3-keyword) | |
1165 (provide 'w3-vars) |