;ELC   
;;; Compiled by aatharuv@cutter-john.mit.edu on Sun Jan  5 18:15:20 2003
;;; from file /afs/sipb.mit.edu/contrib/emacs/packages/w3-4.0pre.47/lisp/w3-speak.el
;;; in Emacs version 21.1.1
;;; with bytecomp version 2.85
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.
(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`w3-speak.el' was compiled for Emacs 19.29 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\304\305\306\217\207" [require widget w3-forms advice nil (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\207" [require emacspeak dtk-voices emacspeak-speak emacspeak-sounds] 2) ((error (message "Emacspeak not found - speech will not work.")))] 3)
#@38 Summarizes field under point if any.
(defalias 'w3-speak-summarize-form-field #[nil "\301`!\211\205 \302!)\207" [widget widget-at w3-form-summarize-field] 3 (#$ . 958)])
(byte-code "\300\301\302\303\304$\210\305\301\306\307\310B#\210\311\301\312\"\210\300\313\314\303\304$\210\305\313\306\315\316B#\210\311\313\312\"\210\300\317\320\303\304$\210\305\317\306\321\322B#\210\311\317\312\"\210\300\323\324\303\304$\210\305\323\306\325\326B#\210\311\323\304\"\210\300\327\330\303\304$\210\305\327\306\331\332B#\210\311\327\304\"\210\300\333\334\303\304$\210\305\333\306\335\336B#\210\311\333\304\"\210\300\337\340\303\304$\210\305\337\306\341\342B#\210\311\337\304\"\210\300\343\344\303\304$\210\305\343\306\345\346B#\210\311\343\304\"\210\300\347\350\303\304$\210\305\347\306\351\352B#\210\311\347\304\"\210\300\353\354\355\304$\210\311\353\312\"\207" [ad-add-advice w3-widget-forward (emacspeak nil t (advice lambda nil (when (interactive-p) (emacspeak-auditory-icon 'large-movement) (emacspeak-widget-summarize (widget-at (point)))))) after nil ad-set-advice-info-field cache #[(arg) "\302\303	!t\203 \304\305!\210\306\307`!!\210)\207" [ad-return-value arg nil ad-Orig-w3-widget-forward emacspeak-auditory-icon large-movement emacspeak-widget-summarize widget-at] 3 "$ad-doc: w3-widget-forward$" "p"] (nil nil (emacspeak) function t t) ad-activate t w3-widget-backward (emacspeak nil t (advice lambda nil (when (interactive-p) (emacspeak-auditory-icon 'large-movement) (emacspeak-widget-summarize (widget-at (point)))))) #[(arg) "\302\303	!t\203 \304\305!\210\306\307`!!\210)\207" [ad-return-value arg nil ad-Orig-w3-widget-backward emacspeak-auditory-icon large-movement emacspeak-widget-summarize widget-at] 3 "$ad-doc: w3-widget-backward$" "p"] (nil nil (emacspeak) function t t) w3-scroll-up (emacspeak nil t (advice lambda nil "Provide auditory feedback" (when (interactive-p) (let ((start (point))) (emacspeak-auditory-icon 'scroll) (save-excursion (forward-line (window-height)) (emacspeak-speak-region start (point))))))) #[(&optional lines) "\303\304	!t\203 `\305\306!\210\212\307 y\210\310\n`\"\210*)\207" [ad-return-value lines start nil ad-Orig-w3-scroll-up emacspeak-auditory-icon scroll window-height emacspeak-speak-region] 3 "$ad-doc: w3-scroll-up$" "P"] (nil nil (emacspeak) function t t) w3-revert-form (emacspeak nil t (advice lambda nil "Announce that you cleared the form. " (dtk-speak "Cleared the form. "))) #[(actn) "\302\303	!\304\305!\210)\207" [ad-return-value actn nil ad-Orig-w3-revert-form dtk-speak "Cleared the form. "] 2 "$ad-doc: w3-revert-form$"] (nil nil (emacspeak) function t t) w3-finish-text-entry (emacspeak nil t (advice lambda nil "Announce what the field was set to." (when (interactive-p) (w3-speak-summarize-form-field)))) #[nil "\301\302 t\203\f \303 \210)\207" [ad-return-value nil ad-Orig-w3-finish-text-entry w3-speak-summarize-form-field] 1 "$ad-doc: w3-finish-text-entry$" nil] (nil nil (emacspeak) function t t) w3-start-of-document (emacspeak nil t (advice lambda nil "Produce an auditory icon.  Also speak the first line. " (when (interactive-p) (emacspeak-speak-line) (emacspeak-auditory-icon 'large-movement)))) #[(&optional arg) "\302\303	!t\203 \304 \210\305\306!\210)\207" [ad-return-value arg nil ad-Orig-w3-start-of-document emacspeak-speak-line emacspeak-auditory-icon large-movement] 2 "$ad-doc: w3-start-of-document$" "P"] (nil nil (emacspeak) function t t) w3-end-of-document (emacspeak nil t (advice lambda nil "Produce an auditory icon.  Also speak the first line." (when (interactive-p) (emacspeak-speak-line) (emacspeak-auditory-icon 'large-movement)))) #[(&optional arg) "\302\303	!t\203 \304 \210\305\306!\210)\207" [ad-return-value arg nil ad-Orig-w3-end-of-document emacspeak-speak-line emacspeak-auditory-icon large-movement] 2 "$ad-doc: w3-end-of-document$" "P"] (nil nil (emacspeak) function t t) w3-goto-last-buffer (emacspeak nil t (advice lambda nil "Speak the modeline so I know where I am." (when (interactive-p) (emacspeak-auditory-icon 'select-object) (emacspeak-speak-mode-line)))) #[nil "\301\302 t\203 \303\304!\210\305 \210)\207" [ad-return-value nil ad-Orig-w3-goto-last-buffer emacspeak-auditory-icon select-object emacspeak-speak-mode-line] 2 "$ad-doc: w3-goto-last-buffer$" nil] (nil nil (emacspeak) function t t) w3-quit (emacspeak nil t (advice lambda nil "Speak the mode line of the new buffer." (when (interactive-p) (emacspeak-auditory-icon 'close-object) (emacspeak-speak-mode-line)))) #[(&optional mega) "\302\303	!t\203 \304\305!\210\306 \210)\207" [ad-return-value mega nil ad-Orig-w3-quit emacspeak-auditory-icon close-object emacspeak-speak-mode-line] 2 "$ad-doc: w3-quit$" "P"] (nil nil (emacspeak) function t t) w3-fetch (emacspeak nil t (advice lambda nil "First produce an auditory icon to indicate retrieval.\nAfter retrieval, \nset  voice-lock-mode to t after displaying the buffer,\nand then speak the mode-line. " (declare (special dtk-punctuation-mode)) (emacspeak-auditory-icon 'select-object) ad-do-it)) around] 5)
(defalias 'w3-speak-mode-hook #[nil "\301\302!\303L\210\304\305\306!\210\307 \207" [dtk-punctuation-mode make-local-variable voice-lock-mode t "some" emacspeak-auditory-icon open-object emacspeak-speak-mode-line] 2])
#@208 Tells w3 to start using voice locking.
This is done by setting the w3 variables so that anchors etc are not marked by
delimiters. We then turn on voice-lock-mode. 
Interactive prefix arg does the opposite. 
(defalias 'w3-speak-use-voice-locking #[(&optional arg) "\302	\203 \303\304\305\"\207\306\304\305\"\207" [w3-echo-link arg text remove-hook w3-mode-hook w3-speak-mode-hook add-hook] 3 (#$ . 6248) "P"])
#@19 Browse a WWW page
(defalias 'w3-speak-browse-page #[nil "\300 \210\301\302!\207" [emacspeak-audio-annotate-paragraphs emacspeak-execute-repeatedly forward-paragraph] 2 (#$ . 6665) nil])
(byte-code "\301\302!\210\303\304\305#\207" [w3-mode-map proclaim (special w3-mode-map) define-key "." w3-speak-browse-page] 4)
#@55 Caches when we last produced a progress auditory icon
(defvar url-speak-last-progress-indication 0 (#$ . 6986))
(byte-code "\300\301\302\303\304$\210\305\301\306\307\310B#\210\311\301\304\"\210\312\313!\207" [ad-add-advice url-lazy-message (emacspeak nil t (advice lambda nil "Provide pleasant auditory feedback about progress" (declare (special url-speak-last-progress-indication)) (let ((now (nth 1 (current-time)))) (when (> now (+ 3 url-speak-last-progress-indication)) (setq url-speak-last-progress-indication now) (apply 'message (ad-get-args 0)) (emacspeak-auditory-icon 'progress))))) around nil ad-set-advice-info-field cache #[(&rest args) "\304\305 A@\211\n\306\\V\203 	\307\310\"\210\311\312!\210))\207" [ad-return-value now url-speak-last-progress-indication args nil current-time 3 apply message emacspeak-auditory-icon progress] 4 "$ad-doc: url-lazy-message$"] (nil (emacspeak) nil function t t) ad-activate provide w3-speak] 5)
