-;; Notice the subtle differences in the regular expressions in the
-;; two alists below.
-
-(defcustom smiley-deformed-regexp-alist
- '(("\\(\\^_?\\^;;;\\)\\W" 1 "WideFaceAse3.xbm")
- ("\\(\\^_?\\^;;\\)\\W" 1 "WideFaceAse2.xbm")
- ("\\(\\^_?\\^;\\)\\W" 1 "WideFaceAse1.xbm")
- ("\\(\\^_?\\^\\)\\W" 1 "WideFaceSmile.xbm")
- ("\\(;_;\\)\\W" 1 "WideFaceWeep.xbm")
- ("\\(T_T\\)\\W" 1 "WideFaceWeep.xbm")
- ("\\(:-*[<\e(I+\e(B]+\\)\\W" 1 "FaceAngry.xpm")
- ("\\(:-+\\]+\\)\\W" 1 "FaceGoofy.xpm")
- ("\\(:-*D\\)\\W" 1 "FaceGrinning.xpm")
- ("\\(:-*[)>}\e(I;\e(B]+\\)\\W" 1 "FaceHappy.xpm")
- ("\\(=[)>\e(I;\e(B]+\\)\\W" 1 "FaceHappy.xpm")
- ("\\(:-*[/\\\"]\\)[^/]\\W" 1 "FaceIronic.xpm")
- ("\\([8|]-*[|Oo%]\\)\\W" 1 "FaceKOed.xpm")
- ("\\([:|]-*#+\\)\\W" 1 "FaceNyah.xpm")
- ("\\(:-*[({]+\\)\\W" 1 "FaceSad.xpm")
- ("\\(=[({]+\\)\\W" 1 "FaceSad.xpm")
- ("\\(:-*[Oo\*]\\)\\W" 1 "FaceStartled.xpm")
- ("\\(:-*|\\)\\W" 1 "FaceStraight.xpm")
- ("\\(:-*p\\)\\W" 1 "FaceTalking.xpm")
- ("\\(:-*d\\)\\W" 1 "FaceTasty.xpm")
- ("\\(;-*[>)}\e(I;\e(B]+\\)\\W" 1 "FaceWinking.xpm")
- ("\\(:-*[Vv\e(I5\e(B]\\)\\W" 1 "FaceWry.xpm")
- ("\\([:|]-*P\\)\\W" 1 "FaceYukky.xpm"))
- "*Normal and deformed faces for smilies."
- :type '(repeat (list regexp
- (integer :tag "Match")
- (string :tag "Image")))
- :group 'smiley)
-
-(defcustom smiley-nosey-regexp-alist
- '(("\\(:-+[<\e(I+\e(B]+\\)\\W" 1 "FaceAngry.xpm")
- ("\\(:-+\\]+\\)\\W" 1 "FaceGoofy.xpm")
- ("\\(:-+D\\)\\W" 1 "FaceGrinning.xpm")
- ("\\(:-+[}\e(I;\e(B]+\\)\\W" 1 "FaceHappy.xpm")
- ("\\(:-*)+\\)\\W" 1 "FaceHappy.xpm")
- ("\\(=[)>]+\\)\\W" 1 "FaceHappy.xpm")
- ("\\(:-+[/\\\"]+\\)\\W" 1 "FaceIronic.xpm")
- ("\\([8|]-+[|Oo%]\\)\\W" 1 "FaceKOed.xpm")
- ("\\([:|]-+#+\\)\\W" 1 "FaceNyah.xpm")
- ("\\(:-+[({]+\\)\\W" 1 "FaceSad.xpm")
- ("\\(=[({]+\\)\\W" 1 "FaceSad.xpm")
- ("\\(:-+[Oo\*]\\)\\W" 1 "FaceStartled.xpm")
- ("\\(:-+|\\)\\W" 1 "FaceStraight.xpm")
- ("\\(:-+p\\)\\W" 1 "FaceTalking.xpm")
- ("\\(:-+d\\)\\W" 1 "FaceTasty.xpm")
- ("\\(;-+[>)}\e(I;\e(B]+\\)\\W" 1 "FaceWinking.xpm")
- ("\\(:-+[Vv\e(I5\e(B]\\)\\W" 1 "FaceWry.xpm")
- ("\\(][:8B]-[)>]\\)\\W" 1 "FaceDevilish.xpm")
- ("\\([:|]-+P\\)\\W" 1 "FaceYukky.xpm"))
- "*Smileys with noses. These get less false matches."
+;; The XEmacs version has a baroque, if not rococo, set of these.
+(defcustom smiley-regexp-alist
+ (if (file-exists-p (expand-file-name "WideFaceSmile.xbm"
+ smiley-data-directory))
+ ;; Use faces in ftp://ftp.gnus.org/pub/gnus/etc-0.27.tar.gz
+ '(;; ^_^ ^^
+ ("\\(\\^_?\\^\\)\\W" 1 "WideFaceSmile")
+ ;; ;-> ;-) ;-} ;> ;) :}
+ ("\\(;-?[>)}]+\\)\\W" 1 "FaceWinking")
+ ;; ^_^; ^^;
+ ("\\(\\^_?\\^;\\)\\W" 1 "WideFaceAse1")
+ ;; ^_^;; ^^;;
+ ("\\(\\^_?\\^;;\\)\\W" 1 "WideFaceAse2")
+ ;; ^_^;;; ^^;;;
+ ("\\(\\^_?\\^;;;\\)\\W" 1 "WideFaceAse3")
+ ;; ;_;
+ ("\\(;_;\\)\\W" 1 "WideFaceWeep")
+ ;; T_T
+ ("\\(T_T\\)\\W" 1 "WideFaceWeep")
+ ;; >_<
+ ("\\(>_<\\)\\W" 1 "WideFaceWeep")
+ ;; :-< :<
+ ("\\(:-?<\\)\\W" 1 "FaceAngry")
+ ;; :-] :]
+ ("\\(:-?\\]+\\)\\W" 1 "FaceGoofy")
+ ;; :-D :D
+ ("\\(:-?D\\)\\W" 1 "FaceGrinning")
+ ;; :-) :-> :-} :) :> :}
+ ("\\(:-?[)>}]+\\)\\W" 1 "FaceHappy")
+ ;; =)
+ ("\\(=)\\)\\W" 1 "FaceHappy")
+ ;; :-/ :-\ :/ :\ excludes urls etc.
+ ("\\(:-[/\\]\\)\\W" 1 "FaceIronic")
+ ("\\(:/\\)\\([\t\n ]\\|[^/]\\W\\)" 1 "FaceIronic")
+ ("\\(:\\\\\\)\\([\t\n ]\\|[^\\]\\W\\)" 1 "FaceIronic")
+ ;; 8-| 8-O 8-%
+ ;; excludes just numbers
+ ("[^.0-9]\\(8-[|O%]\\)\\W" 1 "FaceKOed")
+ ;; :-# :#
+ ("\\(:-?#\\)\\W" 1 "FaceNyah")
+ ;; :-( :-{ :( :{
+ ("\\(:-?[({]+\\)\\W" 1 "FaceSad")
+ ;; =( ={
+ ("\\(=[({]+\\)\\W" 1 "FaceSad")
+ ;; :-O :-o :O :o
+ ("\\(:-?[Oo]\\)\\W" 1 "FaceStartled")
+ ;; :-| :|
+ ("\\(:-?|\\)\\W" 1 "FaceStraight")
+ ;; :-p :p
+ ("\\(:-?p\\)\\W" 1 "FaceTalking")
+ ;; :-d
+ ("\\(:-d\\)\\W" 1 "FaceTasty")
+ ;; :-V :-v :V :v
+ ("\\(:-?[Vv]\\)\\W" 1 "FaceWry")
+ ;; :-P :P
+ ("\\(:-?P\\)\\W" 1 "FaceYukky")
+ ;; ]:-) ]:-> ]:-} ]8-) ]8-> ]8-} ]B-) ]B-> ]B-}
+ ;; ]:) ]:> ]:} ]8) ]8> ]8} ]B) ]B> ]B}
+ ("\\(\\][:8B]-?[)>}]\\)\\W" 1 "FaceDevilish"))
+ '(("\\(:-?)\\)\\W" 1 "smile")
+ ("\\(;-?)\\)\\W" 1 "blink")
+ ("\\(:-]\\)\\W" 1 "forced")
+ ("\\(8-)\\)\\W" 1 "braindamaged")
+ ("\\(:-|\\)\\W" 1 "indifferent")
+ ("\\(:-[/\\]\\)\\W" 1 "wry")
+ ("\\(:-(\\)\\W" 1 "sad")
+ ("\\(:-{\\)\\W" 1 "frown")))
+ "*A list of regexps to map smilies to images.
+The elements are (REGEXP MATCH FILE), where MATCH is the submatch in
+regexp to replace with IMAGE. IMAGE is the name of a PBM file in
+`smiley-data-directory'."