;ELC   
;;; compiled by roland@churchy.gnu.ai.mit.edu on Mon Jul 25 15:44:02 1994
;;; from file /gd/gnu/emacs/19.0/lisp/ispell4.el
;;; emacs version 19.25.91.2.
;;; bytecomp version FSF 2.10
;;; optimization is on.
;;; this file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19")))
    (error "`/gd/gnu/emacs/19.0/lisp/ispell4.el' was compiled for Emacs 19"))

(defvar ispell-have-new-look t "\
Non-nil means use the `-r' option when running `look'.")
(defvar ispell-enable-tex-parser nil "\
Non-nil enables experimental TeX parser in Ispell for TeX-mode buffers.")
(defvar ispell-process nil "\
The process running Ispell")
(defvar ispell-next-message nil "\
An integer: where in `*ispell*' buffer to find next message from Ispell.")
(defvar ispell-command "ispell" "\
Command for running Ispell.")
(defvar ispell-command-options nil "\
*String (or list of strings) to pass to Ispell as command arguments.
You can specify your private dictionary via the -p <filename> option.
The -S option is always passed to Ispell as the last parameter,
and need not be mentioned here.")
(defvar ispell-look-command "look" "\
*Command for running look.")
(defvar ispell-bad-words nil "\
A list of markers reflecting the output of the Ispell `:file' command.")
(byte-code "! ! ! \"" [boundp ispell-recently-accepted nil ispell-window-configuration ispell-dump-needed defalias ispell-flush-bad-words #[nil " @! @A " [ispell-bad-words markerp nil ispell-recently-accepted] 4]] 3)
(defalias 'kill-ispell #[nil " ! " [ispell-process delete-process nil ispell-flush-bad-words] 2 "\
Kill the Ispell process.
Any changes in your private dictionary
that have not already been dumped will be lost." nil])
(byte-code "##\"\"\"\"\"\"\"\"!? !\"########" [put ispell-startup-error error-conditions (ispell-startup-error error) error-message "Problem starting ispell - see buffer *ispell*" defalias start-ispell #[nil "!! \f!)ȏ\n!\n!!\n!\n!qp!dZf=` \n!=R  \"\n!dZ; ebp!@Uv @\"A@!)e|*" [message "Starting ispell ..." get-buffer "*ispell*" buf kill-buffer err (byte-code "\f<  C\"%" [apply start-process "ispell" "*ispell*" ispell-command append ispell-command-options ("-S") ispell-process] 8) ((file-error (byte-code "\"" [signal ispell-startup-error nil] 3))) process-kill-without-query ispell-process buffer-disable-undo process-buffer accept-process-output nil last-char bury-buffer 1 61 process-status run kill-ispell signal ispell-startup-error read greeting error "Bad ispell version: wanted 1, got %d"] 4] ispell-sync #[(intr) "\f !=  \f !!qp!dZf=< !dZ) b)" [ispell-process process-status run start-ispell intr interrupt-process nil last-char process-buffer bury-buffer 1 61 accept-process-output] 3] ispell-cmd #[(&rest strings) "!!qp! e) @\"A \"!!)" [ispell-sync t process-buffer ispell-process bury-buffer erase-buffer ispell-next-message strings process-send-string "\n" accept-process-output nil] 4] ispell-dump #[nil "	 !" [ispell-dump-needed nil ispell-cmd ":dump"] 2] ispell-insert #[(word) "\n\" \n\fBŉ" [ispell-cmd ":insert " word ispell-bad-words ispell-recently-accepted t ispell-dump-needed] 3] ispell-accept #[(word) "\n\" \n\fB" [ispell-cmd ":accept " word ispell-bad-words ispell-recently-accepted] 3] ispell-next-message #[nil "	!qp!b`!`}`ebp!*" [process-buffer ispell-process bury-buffer ispell-next-message forward-sexp 1 read] 3] ispell-tex-buffer-p #[nil ">" [major-mode (plain-tex-mode latex-mode slitex-mode)] 2] boundp ispell-menu-map make-sparse-keymap "Spell" define-key [ispell-complete-word-interior-frag] ("Complete Interior Fragment" . ispell-complete-word-interior-frag) [ispell-complete-word] ("Complete Word" . ispell-complete-word) [reload-ispell] ("Reload Dictionary" . reload-ispell) [ispell-next] ("Continue Check" . ispell-next) [ispell-message] ("Check Message" . ispell-message) [ispell-region] ("Check Region" . ispell-region) [ispell-buffer] ("Check Buffer" . ispell) [ispell-word] ("Check Word" . ispell-word)] 4)
(defalias 'ispell #[(&optional buf start end) " \n\f  p! !* 	!q\fώD \f\"V !ed#i !i \"!i  !~  ~ ! !\n$!+! ȉ$% % \nU %\nW  %\\ȓ$B$ %$B$)+)@! )!Ӈ! " [start 0 end buf get-buffer error "Can't find buffer" transient-mark-mode nil mark-active run-hooks deactivate-mark-hook buffer-file-name delete-temp filename ((byte-code "	 Ï" [delete-temp nil (delete-file filename) ((file-error))] 3)) find-file-name-handler make-temp-name "/usr/tmp/ispell" t write-region buffer-modified-p y-or-n-p format "Save file %s? " save-buffer message "Ispell scanning file..." ispell-enable-tex-parser ispell-tex-buffer-p ispell-cmd ":tex" ":generic" ":file %s %d %d" "Parsing ispell output ..." ispell-flush-bad-words bad-words pos ispell-next-message make-marker 1 ispell-bad-words markerp "No misspellings." "Ispell parsing done." ispell-next] 7 "\
Run Ispell over current buffer's visited file.
First the file is scanned for misspelled words, then Ispell
enters a loop with the following commands for every misspelled word:

DIGIT	Near miss selector.  If the misspelled word is close to
	some words in the dictionary, they are offered as near misses.
r	Replace.  Replace the word with a string you type.  Each word
	of your new string is also checked.
i	Insert.  Insert this word in your private dictionary (by default,
	`$HOME/ispell.words').
a	Accept.  Accept this word for the rest of this editing session,
 	but don't put it in your private dictionary.
l	Lookup.  Look for a word in the dictionary by fast binary
	search, or search for a regular expression in the dictionary
	using grep.
SPACE	Accept the word this time, but complain if it is seen again.
q, \\[keyboard-quit]	Leave the command loop.  You can come back later with \\[ispell-next]." nil])
(defalias (quote ispell-buffer) (quote ispell))
(defalias 'ispell-next #[nil "č) " [nil ispell-window-configuration ((byte-code " 	 	! !L @!& !!L @=6 !L @=F !L !ʇ" [ispell-dehighlight ispell-window-configuration set-window-configuration ispell-bad-words error "Ispell has not yet been run" markerp message substitute-command-keys "Type \\[ispell-next] to continue" nil "No more misspellings (but checker was interrupted)" t "Ispell done" "Bad ispell internal list"] 3)) ispell-quit (byte-code "@!$ 	!! 	\"A	 )ɇ" [nil next markerp ispell-bad-words switch-to-buffer marker-buffer push-mark ispell-point "at saved position." t] 3) ispell-dump] 2 "\
Resume command loop for most recent Ispell command.
Return value is t unless exit is due to typing `q'." nil])
(defalias 'ispell-word #[(&optional resume) "  ď" [resume ispell-next err (byte-code ")" [((ispell-dehighlight)) ispell-quit (byte-code " " [((byte-code "`\"" [ispell-point "at point."] 3)) ispell-dump] 1)] 2) ((ispell-startup-error (byte-code "! !# " [y-or-n-p "Problem starting ispell, use old-style spell instead? " load-library "spell" define-key esc-map "$" spell-word] 4)))] 3 "\
Check the spelling of the word under the cursor.
See the command `ispell' for more information.
With a prefix argument, resume handling of the previous Ispell command." "P"])
(defalias 'ispell-region #[(start &optional end) "p	\n#" [ispell start end] 4 "\
Check the spelling for all of the words in the region." "r"])
(byte-code "\"\"\"\"\"\"\"\"\"\"\"" [defalias ispell-letterp #[(c) " Y X Y X Y" [c 65 90 97 122 128] 2] ispell-letter-or-quotep #[(c) "% Y X% Y X% U% Y" [c 65 90 97 122 39 128] 2] ispell-find-word-start #[nil "`f! o `Zf!   `Zf!)   w" [ispell-letterp 1 backward-char ispell-letter-or-quotep "'" nil] 3] ispell-find-word-end #[nil "`f! u  x" [ispell-letter-or-quotep nil "'"] 2] ispell-next-word #[nil "m? `f!? u  " [ispell-letterp nil] 2] ispell-point #[(start message) " b    \nW \nW b \f`\f{		!y 	\"!	! =[ 	\"x f :r 	\f$x \") \fb ` ! q )\n\f+" [make-marker nil end rescan wend start ispell-find-word-start point-marker ispell-find-word-end word ispell-still-bad message format "Ispell checking %s" ispell-cmd ispell-next-message t "%s: ok" ispell-command-loop error "unknown ispell response %s" ispell-next-word get-buffer "*ispell choices*" buf erase-buffer] 6] ispell-still-bad #[(word) "  \f@\"= \fA\n +" [ispell-recently-accepted t case-fold-search ret words string-match word 0 nil] 4] ispell-show-choices #[(word message first-line) "  =!	  	!!9 ͎!!Z!)q!e\"e\" ױc?? W W _\\8 #\"c\"GZ\")*\\o )c\\f )-" [selected-window selwin next-window resize get-buffer-create "*ispell choices*" buf nil w ispell-window-configuration current-window-configuration display-buffer buffer-disable-undo ((select-window selwin)) select-window enlarge-window 6 window-height bury-buffer set-window-point set-window-start erase-buffer first-line "\n" "SPC skip; A accept; I insert; DIGIT select; R replace; L lookup; Q quit\n" message 0 i 3 j n choice format "%d %s" str insert-char 32 20 1] 5] ispell-command-loop #[(word start end message) " Q Q\f\"\f \n#!  Ya Xa Z8a \f# Up \"  8U   U  U \f!# U ! U ! U !&@&A) U !! !!*  +" [t nil first-line rescan flag message "No near misses for '" word "'" "Near misses for '" ispell-highlight start end ispell-show-choices "Ispell command: " undo-boundary read-char replacement c 48 57 ispell-replace 113 throw ispell-quit 3 current-input-mode keyboard-quit 32 114 read-string "Replacement: " 105 ispell-insert 97 ispell-accept 108 ispell-do-look val 63 "Type 'C-h d ispell' to the emacs main loop for more help" sit-for 2 "Bad ispell command"] 6] ispell-do-look #[(bad-word) "\f ! \"!\nqed|\f4 \f\n&= \f\n%eby`d|ebedUc e`{	Bye`|J \n!\"	!,B" [nil words buf regex ispell-have-new-look read-string "Lookup: " "Lookup (regex): " "^" get-buffer-create "*ispell look*" call-process ispell-look-command "-r" 10 kill-buffer format "Lookup '%s'" reverse] 7] ispell-replace #[(start end new) "b	c`\n|" [start new end] 2]] 3)
(defalias 'reload-ispell #[nil "!" [ispell-cmd ":reload"] 2 "\
Tell Ispell to re-read your private dictionary." nil])
(defalias (quote batch-make-ispell) #[nil "!!\f * ! !ed#" [byte-compile-file "ispell.el" find-file "ispell.texinfo" default-directory "/tmp" old-dir texinfo-format-buffer Info-validate get-buffer " *problems in info file*" kill-emacs 1 write-region "ispell.info"] 4])
(defvar ispell-highlight t "\
*Non-nil means to highlight ispell words.")
(byte-code "! \"\"" [boundp ispell-overlay nil defalias ispell-dehighlight #[nil " !" [ispell-overlay delete-overlay nil] 2] ispell-highlight #[(start end) "' 	' \n! \f\"\n! ɂ #\n\fp$" [ispell-highlight window-system ispell-overlay make-overlay start end overlay-put face internal-find-face ispell region move-overlay] 5]] 3)
(defvar ispell-look-dictionary nil "\
*If non-nil then spelling dictionary as string for `ispell-complete-word'.
Overrides default dictionary file such as \"/usr/dict/words\" or GNU look's
\"${prefix}/lib/ispell/ispell.words\"")
(defvar ispell-gnu-look-still-broken-p nil "\
*t if GNU look -r can give different results with and without trialing `.*'.
Example: `look -dfr \"^ya\" foo' returns nothing, while `look -dfr \"^ya.*\" foo'
returns `yacc', where `foo' is a dictionary file containing the three lines

   y
   y's
   yacc

Both commands should return `yacc'.  If `ispell-complete-word' erroneously
states that no completions exist for a string, then setting this variable to t
will help find those completions.")
(byte-code "! ! ! !#!+ 	!#" [boundp ispell-lookup-completions-alist nil ispell-lookup-last-word ispell-lookup-last-interior-p make-variable-buffer-local put permanent-local t ispell-lookup-last-bow] 4)
(defalias 'ispell-complete-word #[(&optional interior-frag) " 	 P!x`)	`{\n+ \nQ5 \n4 Q? ЂA \nM 	f ?f P\n\")?\nИ Pv`)`{ ! !  \n\"\"\n	= c!! \n\" !И Q\n\") \n	\"#!!!И	`|\"++!)!." [interior-frag ispell-have-new-look error "Sorry, `ispell-have-new-look' is nil.  " "You also will need GNU Ispell's `look'." t completion-ignore-case "a-zA-Z'" nil bow string "^.*" ".*" "^" ispell-gnu-look-still-broken-p regexp "" prefix ispell-lookup-last-interior-p ispell-lookup-last-bow continuing-an-interior-frag-p ispell-lookup-last-word case-fold-search string-match new-unique-string-p completion " " -1 "Perfect match already" "No word fragment at point" ispell-lookup-build-list ispell-lookup-completions-alist try-completion message "Perfect match." "Can't find completion for \"%s\"" beep "$" search-backward replace-match "Proposed unique substring.  Repeat for completions list." "Making completion list..." all-completions list "*Completions*" display-completion-list "Making completion list...done"] 5 "\
Complete word using letters at point to word beginning using `look'.
With optional argument INTERIOR-FRAG, word fragment at point is assumed to be
an interior word fragment in which case `ispell-have-new-look' should be t.
See also `ispell-look-dictionary' and `ispell-gnu-look-still-broken-p'." "P"])
(defalias 'ispell-complete-word-interior-frag #[nil "!" [ispell-complete-word t] 2 "\
Runs `ispell-complete-word' with a non-nil INTERIOR-FRAG.
A completion list is built for word fragment at point which is assumed to be
an interior word fragment.  `ispell-have-new-look' should be t." nil])
(byte-code "\"\"" [defalias ispell-lookup-build-list #[(string regexp) "!!q ;7 ' \f&W &W K \f&W &ebedUx e`{Bye`|]  !\"*" [message "Building list..." get-buffer-create " *ispell look*" erase-buffer ispell-look-dictionary ispell-have-new-look call-process ispell-look-command nil t "-fr" regexp "-f" string list "Building list...done" mapcar] 8] ispell-non-empty-string #[(string) "\n \f !" [string "" "\\'\\`" regexp-quote] 2]] 3)
(defvar ispell-message-cite-regexp "^   \\|^	" "\
*Regular expression to match lines cited from one message into another.")
(defvar ispell-message-text-end (byte-code "#Q" ["^\\(" mapconcat identity ("%!PS-Adobe-2.0" "begin [0-9][0-9][0-9] .*\nM.*\nM.*\nM" "#! /bin/sh" "diff -c .*\n\\*\\*\\* .*\n--- " "[-=]+\\s cut here") "\\|" "\\)"] 5) "\
*End of text which will be checked in ispell-message.
If it is a string, limit at first occurence of that regular expression.
Otherwise, it must be a function which is called to get the limit.")
(defvar ispell-message-limit 8000 "\
*Ispell-message will check no more than this number of characters.")
(defalias 'ispell-message #[nil "	eb# y* !( m( y !>  ! !R ! ` հ ך{ u !w Q ! !Q ! !  !  e!\\d\" d \"! \"# 攂 d \" )^^'G\\(`)eb)#!`Z!`\" +`'Wi iP!4`'W4y`'W`0Q(#Ny`'VY'b\n0Z`\" +." [nil case-fold-search old-case-fold-search non-internal-message search-forward mail-header-separator t 1 looking-at "[a-zA-Z-]+:\\|	\\| " featurep supercite "\\(" sc-cite-regexp "\\)" "\\|" ispell-non-empty-string sc-reference-tag-string sc "In [a-zA-Z.]+ you write:" "In <[^,;&+=]+> [^,;&+=]+ writes:" " *> *" major-mode news-reply-mode "In article <" mail-yank-prefix ispell-message-cite-regexp boundp vm-included-text-prefix "[^,;&+=]+ writes:" mh-ins-buf-prefix cite-regexp continue ispell-message-limit ispell-message-text-end char-or-string-p re-search-forward end 0 limit search-limit message-begin "^Subject:[	 ]*" "re\\>" ispell-region "\n[ 	]" 2 "^[ 	]*$\\|" start "^\\("] 7 "\
Check the spelling of a mail message or news post.
Don't check spelling of message headers (except subject) or included messages.

To spell-check whenever a message is sent, include this line in .emacs:
   (setq news-inews-hook (setq mail-send-hook 'ispell-message))

Or you can bind the function to C-c i in gnus or mail with:
   (setq mail-mode-hook (setq news-reply-mode-hook
    (function (lambda () (local-set-key \"\\C-ci\" 'ispell-message)))))" nil])
(provide (quote ispell))
