;;; smiley.el --- displaying smiley faces
-;; Copyright (C) 1996,97,98 Free Software Foundation, Inc.
+;; Copyright (C) 1996,97,98,99 Free Software Foundation, Inc.
;; Author: Wes Hardaker <hardaker@ece.ucdavis.edu>
;; Keywords: fun
;; To use:
;; (require 'smiley)
-;; (add-hook 'gnus-article-display-hook 'gnus-smiley-display t)
+;; (setq gnus-treat-display-smileys t)
;; The smilies were drawn by Joe Reiss <jreiss@vt.edu>.
("\\(:-+D\\)\\W" 1 "FaceGrinning.xpm")
("\\(:-+[}\e(I;\e(B]+\\)\\W" 1 "FaceHappy.xpm")
("\\(:-*)+\\)\\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")
(defun smiley-popup-menu (e)
(interactive "e")
(popup-menu
- `("Smilies"
+ `("Smilies"
["Toggle This Smiley" (smiley-toggle-extent ,e) t]
["Toggle All Smilies" (smiley-toggle-extents ,e) t])))
(while (re-search-forward regexp nd t)
(let* ((start (match-beginning group))
(end (match-end group))
- (glyph (smiley-create-glyph (buffer-substring start end)
- file)))
+ (glyph
+ (and (or (eq start 1)
+ (not (string-match "\\(\\^\\|;\\|_\\);)"
+ (buffer-substring
+ (1- start) (+ start 2)))))
+ (smiley-create-glyph (buffer-substring start end)
+ file))))
(when glyph
(mapcar 'delete-annotation (annotations-at end))
(let ((ext (make-extent start end))
(set-extent-property ant 'smiley-extent ext)
(set-extent-property ext 'smiley-annotation ant)
;; Help
- (set-extent-property ext 'help-echo
- "button2 toggles smiley, button3 pops up menu")
- (set-extent-property ant 'help-echo
- "button2 toggles smiley, button3 pops up menu")
+ (set-extent-property
+ ext 'help-echo
+ "button2 toggles smiley, button3 pops up menu")
+ (set-extent-property
+ ant 'help-echo
+ "button2 toggles smiley, button3 pops up menu")
(set-extent-property ext 'balloon-help
"Mouse button2 - toggle smiley
Mouse button3 - menu")