0
|
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)
|