;ELC   
;;; compiled by gsstark@oliver.MIT.EDU on Sun Nov  6 09:03:52 1994
;;; from file /afs/sipb/contrib/emacs/elisp19/fuzzy-match.el
;;; emacs version 19.25.92.1.
;;; 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 "`/afs/sipb/contrib/emacs/elisp19/fuzzy-match.el' was compiled for Emacs 19"))

(defalias 'FM-string-to-char-list #[(string) "<ƒ ‡ÁÂ\"‡" [string mapcar identity] 3 "\
Return the character list of STRING.
If STRING is already a list, this function just returns STRING."])
(put (quote FM-string-to-char-list) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'FM-strings-to-char-lists #[(strings) "ÀÁ\n\"‡" [mapcar FM-string-to-char-list strings] 3 "\
Return the character lists of STRINGS.
See `FM-string-to-char-list'."])
(put (quote FM-strings-to-char-lists) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'FM-char-list-to-string #[(charlist) "<ƒ ÁÂÃ#‡‡" [charlist mapconcat char-to-string ""] 4 "\
Return the string of CHARLIST.
If CHARLIST is not a list, this function just returns CHARLIST."])
(put (quote FM-char-list-to-string) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'FM-char-lists-to-strings #[(charlists) "ÀÁ\n\"‡" [mapcar FM-char-list-to-string charlists] 3 "\
Return the strings of CHARLISTS.
See `FM-char-list-to-string'."])
(put (quote FM-char-lists-to-strings) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'FM-strstr-intern #[(string1 string2) "@ÁÂƒ  @U„  \fTA‰„\f ??…T AAÇƒQ ƒQ @@UƒQ TAA‚1 \fB+‡" [string1 0 nil len offset char1 string2 1] 4 "\
Find first occurrence of a prefix of STRING1 in STRING2.
Returns a cons pair of the length of the substring and the offset into STRING2,
or nil if no match is found.
STRING1 and STRING2 are character lists."])
(put (quote FM-strstr-intern) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'FM-matchiness-intern #[(string1 string2) "ÀÁ‰‰‰‰ƒ‰ 	ƒ‰ @	Àƒ6 \n@U„6 TA‰„% „C A‰‚ AÊ\fƒi A‰ƒi \f@@Uƒi T\fA‰„N Wƒy A‰‚ \\\f	‚ .‡" [0 nil c1 s2 s1 offset len fuzz string1 string2 1] 7 "\
Return the fuzziness between STRING1 and STRING2.
STRING1 and STRING2 are character lists."])
(put (quote FM-matchiness-intern) (quote byte-optimizer) (quote byte-compile-inline-expand))
(defalias 'FM-lessiness #[(string string1 string2) "‰<ƒ ‚ ÁÂ\")‰<ƒ ‚  ÁÂ\")\f‰<ƒ- ‚1 ÁÂ\")ÅÆ‰‰‰‰	\n\fƒÏ \fƒÏ @\fÅ\nƒw @U„w \nT\nA‰„` „ƒ A‰‚J A	Í	ƒ° A‰ƒ° 	@@Uƒ° T	A‰	„ \nWƒ¿ A‰‚J \f\\\f	‚I \f.\fÅÆ‰‰‰‰	\n\fƒq\fƒq@\fÅ\nƒ@U„\nT\nA‰„„%A‰‚ì A	Í	ƒRA‰ƒR	@@UƒRT	A‰	„1\nWƒaA‰‚ì \f\\\f	‚ë \f.U„‡V‚h‰@ÅÆ\n\fƒ­\f@U„­\nT\n\fA‰„™\f??…ßA\fAÍƒÚ\fƒÚ@\f@UƒÚTA\fA‚¼\nB-\f‰@ÅÆ\n\fƒ\f@U„\nT\n\fA‰„ò\f??…8A\fAÍƒ3\fƒ3@\f@Uƒ3TA\fA‚\nB-‰AAU„PAAW‚gG\fGU„`G\fGW‚g@@V*-‡" [string mapcar identity string1 string2 0 nil c1 s2 s1 offset len fuzz 1 fuzz1 fuzz2 char1 strstr2 strstr1] 8 "\
Return non-nil if STRING1 is \"less\" than STRING2, based on STRING.
Comparison is based on the simularity:
- Between STRING and STRING1 and STRING2 (`FM-matchiness-intern').
- Between STRING and prefix length in STRING1 and STRING2 (`FM-strstr-intern').
- Between the length of STRING and STRING1 and STRING2.
- The offset of the first occurrence of a prefix in STRING1 and STRING2.
STRING, STRING1 and STRING2 can be character lists."])
(defalias 'FM-matchiness #[(string1 string2) "‰<ƒ 	‚ ÂÃ	\")\f‰<ƒ 	‚ ÂÃ	\")ÅÆ‰‰‰‰	\n\fƒº \fƒº @\fÅ\nƒb @U„b \nT\nA‰„K „n A‰‚5 A	Í	ƒ› A‰ƒ› 	@@Uƒ› T	A‰	„z \nWƒª A‰‚5 \f\\\f	‚4 \f.‡" [string1 string mapcar identity string2 0 nil c1 s2 s1 offset len fuzz 1] 8 "\
Return the fuzziness between STRING1 and STRING2.
This provides a gauge of the number of characters of STRING1 in STRING2.
STRING1 and STRING2 can be character lists."])
(defalias 'FM-closeness #[(string1 string2) "‰<ƒ 	‚ ÂÃ	\")\f‰<ƒ 	‚ ÂÃ	\")ÅÆ‰‰‰‰	\n\fƒº \fƒº @\fÅ\nƒb @U„b \nT\nA‰„K „n A‰‚5 A	Í	ƒ› A‰ƒ› 	@@Uƒ› T	A‰	„z \nWƒª A‰‚5 \f\\\f	‚4 \f.G\fGZ‰ÅWƒÑ [‚Ó )Z‡" [string1 string mapcar identity string2 0 nil c1 s2 s1 offset len fuzz 1 m] 8 "\
Return the closeness between STRING1 and STRING2.
This provides a gauge of the similarity of STRING1 and STRING2.
STRING1 and STRING2 can be character lists."])
(defalias 'FM-all-fuzzy-matches #[(string strings) "‰<ƒ ‚ ÁÂ\")ÁÄ\")@ÇÈ‰‰‰‰	\n\fƒ¿ ƒ¿ @	\nÇ\f\nƒa 	\n@U„a \fT\f\nA‰\n„J \n„o A‰‚3 AÏƒ \nA‰\nƒ @\n@Uƒ TA‰„| \fWƒ® A‰‚3 \\\n‚1 .@CAÈƒª@ÇÈ‰‰‰‰	\n\fƒzƒz@	\nÇ\f\nƒ	\n@U„\fT\f\nA‰\n„\n„*A‰‚î AÏƒX\nA‰\nƒX@\n@UƒXTA‰„7\fWƒiA‰‚î \\\n‚ì .Uƒ’@B‚£Wƒ£@CA‰„Ô Ó\".‡" [string mapcar identity strings FM-string-to-char-list string2 string1 0 nil c1 s2 s1 offset len fuzz 1 bestfuzz matches thisfuzz FM-fuzzy-sort] 8 "\
Return most fuzzy matches to STRING in STRINGS.
Each element of STRINGS is tested to see if it fuzzily matches STRING.
The value is a list of all the strings from STRINGS that most fuzzily match.
The strings are fuzzily matched using `FM-matchiness'.
The list of fuzzy matches is sorted using `FM-fuzzy-sort'.
STRING and elements of STRINGS can be character lists."])
(defalias 'FM-all-close-matches #[(string strings) "À	\n@\"\n@C\nAÅ\nƒ? À	\n@\"Uƒ* \n@\fB‚8 Wƒ8 \n@C\nA‰„ Ç	\f\",‡" [FM-closeness string strings bestfuzz matches nil thisfuzz FM-fuzzy-sort] 4 "\
Return most close matches to STRING in STRINGS.
Each element of STRINGS is tested to see if it closely matches STRING.
The value is a list of all the strings from STRINGS that most closely match.
The strings are fuzzily matched using `FM-closeness'.
The list of close matches is sorted using `FM-fuzzy-sort'.
STRING and elements of STRINGS can be character lists."])
(defalias 'FM-map-fuzzy-matches #[(string strings) "‰<ƒ ‚ ÁÂ\")ÁÃ\f\")‡" [string mapcar identity #[(str) "Á\n\"B‡" [str FM-matchiness string] 4] strings] 4 "\
Return list of fuzzy matches to STRING in STRINGS.
Each element of the returned list is a cons pair of the form (string . fuzz)
where fuzz is the fuzzy match of string to STRING.  See `FM-matchiness'.
STRING and elements of STRINGS can be character lists."])
(defalias 'FM-map-close-matches #[(string strings) "‰<ƒ ‚ ÁÂ\")ÁÃ\f\")‡" [string mapcar identity #[(str) "Á\n\"B‡" [str FM-closeness string] 4] strings] 4 "\
Return list of close matches to STRING in STRINGS.
Each element of the returned list is a cons pair of the form (string . close)
where close is the close match of string to STRING.  See `FM-closeness'.
STRING and elements of STRINGS can be character lists."])
(defalias 'FM-max-matchiness #[(string strings) "‰<ƒ ‚ ÁÂ\")ÃÄÁÅ\"\")‡" [string mapcar identity apply max #[(str) "À	\n\"‡" [FM-matchiness string str] 3] strings] 6 "\
Return the maximum fuzzy matchiness of STRING in STRINGS.
STRING and elements of STRINGS can be character lists."])
(defalias 'FM-max-closeness #[(string strings) "‰<ƒ ‚ ÁÂ\")ÃÄÁÅ\"\")‡" [string mapcar identity apply max #[(str) "À	\n\"‡" [FM-closeness string str] 3] strings] 6 "\
Return the maximum closeness of STRING in STRINGS.
STRING and elements of STRINGS can be character lists."])
(defalias 'FM-fuzzy-sort #[(string strings) "‰<ƒ ‚ ÁÂ\")ÁÄ\")ÅÆ\"ÁÈ\"+‡" [string mapcar identity strings FM-string-to-char-list sort #[(string1 string2) "À	\n#‡" [FM-lessiness string string1 string2] 4] charlists FM-char-list-to-string] 5 "\
Return STRINGS fuzzily sorted based on STRING.
Sorting is done using `FM-lessiness' as predicate.
STRING and elements of STRINGS can be character lists."])
(defalias 'FM-offer-corrections #[(item candidates &optional prompt-p) "„ ÁÂ\"ˆÄ‡GÅVƒ Æ!ˆÇ‡@˜ƒ, ÁÉ\"ˆÊ‚O ƒ< ÌÍÎ#!ƒN ÏÐ‰#ˆÁÑ#ˆÒ‚O Ä)‡" [candidates message "No candidates for %s" item nil 1 FM-list-candidates listed candidate "Replacement is the same as %s" correct prompt-p y-or-n-p format "Replace %s with %s " replace-match t "Replaced %s with %s" sole] 5 "\
Offer corrections for ITEM from CANDIDATES.
If PROMPT-P is non-nil and there is only one candidate, ask the user before
replacing.  Note: replacement is performed by calling `replace-match'.
If more than one correction exists, call `FM-list-candidates' to display them.

Returns nil if no correction was inserted.
Returns `sole' if corrected with the only correction match.
Returns `correct' if the only correction match is identical to ITEM.
Returns `listed' if a completion listing was shown." nil])
(defalias 'FM-list-candidates #[(candidates) "À Á\nÄ!ˆ\nqˆÆyˆÇÈÉÊ#…  ËÌ!ˆ‚ ‘*‡" [current-window-configuration " *Candidates*" buf conf display-completion-list candidates 3 search-backward "completion" nil move replace-match "candidate"] 5 "\
List in help buffer CANDIDATES."])
(defalias 'lisp-spell-symbol #[(prompt) "ŠÀÂ	ÃQÅ	ÃQ`ÈÉÊ#ƒ Ëuˆl†% Ì!?…6 Í\fÎP\"ˆÏ”Ï•{-‰„C ÑÒ!‚s ÓÏËO\"ÖUƒW ×‚X ØÑÛ\"ˆÜ\"ËU?#*)‡" ["a-zA-Z0-9:_=<>/+-" sym-chars "[" "]" sym "[^" non-sym limit re-search-backward nil move 1 looking-at re-search-forward "+" 0 symbol message "Not after a symbol" all-completions obarray prompt 16 FM-all-fuzzy-matches FM-all-close-matches fuzzy-matcher symbols "Symbol checking %s" FM-offer-corrections] 6 "\
Perform spell checking on Lisp symbol preceding point.

With prefix arg(s) and only one candidate, ask the user before replacing.
With double prefix arg (\\[universal-argument] \\[universal-argument]), use `FM-all-fuzzy-matches' rather than
`FM-all-close-matches' to find Lisp symbol candidates.  This is useful if the
Lisp symbol stub is only partially complete.

The first character of the symbol is assumed to be correct to reduce matches.
See also `FM-offer-corrections'." "p"])
(provide (quote fuzzy-match))
