]> code.delx.au - gnu-emacs/commitdiff
(smiley-region): Test if display-graphic-p bound
authorDave Love <fx@gnu.org>
Thu, 21 Sep 2000 16:28:06 +0000 (16:28 +0000)
committerDave Love <fx@gnu.org>
Thu, 21 Sep 2000 16:28:06 +0000 (16:28 +0000)
(for Emacs 20).  Tidy somewhat.

lisp/gnus/smiley-ems.el

index 3ccb8b155c319ee8741bfa0cd604968af23e9f31..1d2a9045871a8133604e20a18a98fd5640eef92a 100644 (file)
@@ -48,6 +48,7 @@
 
 ;; The XEmacs version has a baroque, if not rococo, set of these.
 (defcustom smiley-regexp-alist
+  ;; Perhaps :-) should be distinct -- it does appear in the Jargon File.
   '(("\\([:;]-?)\\)\\W" 1 "smile.xbm")
     ("\\(:-[/\\]\\)\\W" 1 "wry.xbm")
     ("\\(:-[({]\\)\\W" 1 "frown.xbm"))
@@ -91,7 +92,8 @@ rgexp to replace with IMAGE.  IMAGE is the name of an XBM file in
 (defun smiley-region (start end)
   "Replace in the region `smiley-regexp-alist' matches with corresponding images."
   (interactive "r")
-  (when (display-graphic-p)
+  (when (and (fboundp 'display-graphic-p)
+            (display-graphic-p))
     (mapc (lambda (o)
            (if (eq 'smiley (overlay-get o 'smiley))
                (delete-overlay o)))
@@ -100,16 +102,17 @@ rgexp to replace with IMAGE.  IMAGE is the name of an XBM file in
       (smiley-update-cache))
     (save-excursion
       (let ((beg (or start (point-min)))
-           buffer-read-only entry beg group overlay image)
+           group overlay image)
        (dolist (entry smiley-cached-regexp-alist)
-         (setq group (nth 1 entry))
+         (setq group (nth 1 entry)
+               image (nth 2 entry))
          (goto-char beg)
          (while (re-search-forward (car entry) end t)
            (when image
              (setq overlay (make-overlay (match-beginning group)
                                          (match-end group)))
              (overlay-put overlay
-                          'display `(when smiley-active ,@(nth 2 entry)))
+                          'display `(when smiley-active ,@image))
              (overlay-put overlay 'mouse-face 'highlight)
              (overlay-put overlay 'smiley t)
              (overlay-put overlay