# HG changeset patch # User Dave Love # Date 970680265 0 # Node ID 6d8322cfbf71450b7f87348d0f7d3f3836d35876 # Parent 8a30e7f82c808f6928134b899d9d6f382e70c4b5 Don't turn off compiler warnings in local vars. Require ring when compiling. (gnus-x-splash): Bind width, height. (gnus-article-compface-xbm): New variable. (gnus-article-display-xface): Move graphic test. Use unibyte. Obey gnus-article-compface-xbm. Use pbm, not xbm. diff -r 8a30e7f82c80 -r 6d8322cfbf71 lisp/gnus/gnus-ems.el --- a/lisp/gnus/gnus-ems.el Wed Oct 04 17:16:59 2000 +0000 +++ b/lisp/gnus/gnus-ems.el Wed Oct 04 17:24:25 2000 +0000 @@ -26,7 +26,9 @@ ;;; Code: -(eval-when-compile (require 'cl)) +(eval-when-compile + (require 'cl) + (require 'ring)) ;;; Function aliases later to be redefined for XEmacs usage. @@ -162,7 +164,8 @@ pixmap file height beg i) (save-excursion (switch-to-buffer (gnus-get-buffer-create gnus-group-buffer)) - (let ((buffer-read-only nil)) + (let ((buffer-read-only nil) + width height) (erase-buffer) (when (and dir (file-exists-p (setq file @@ -197,12 +200,18 @@ (defvar gnus-article-xface-ring-size 6 "Length of the ring used for `gnus-article-xface-ring-internal'.") +(defvar gnus-article-compface-xbm + (eq 0 (string-match "#define" (shell-command-to-string "uncompface -X"))) + "Non-nil means the compface program supports the -X option. +That produces XBM output.") + (defun gnus-article-display-xface (beg end) "Display an XFace header from between BEG and END in the current article. Requires support for images in your Emacs and the external programs `uncompface', and `icontopbm'. On a GNU/Linux system these might be in packages with names like `compface' or `faces-xface' and -`netpbm' or `libgr-progs', for instance. +`netpbm' or `libgr-progs', for instance. See also +`gnus-article-compface-xbm'. This function is for Emacs 21+. See `gnus-xmas-article-display-xface' for XEmacs." @@ -222,23 +231,35 @@ (unless image (with-temp-buffer (insert data) - (and (eq 0 (call-process-region (point-min) (point-max) - "uncompface" - 'delete '(t nil))) - (goto-char (point-min)) - (progn (insert "/* Width=48, Height=48 */\n") t) - (eq 0 (call-process-region (point-min) (point-max) - "icontopbm" - 'delete '(t nil))) + (and (eq 0 (apply #'call-process-region (point-min) (point-max) + "uncompface" + 'delete '(t nil) nil + (if gnus-article-compface-xbm + '("-X")))) + (if gnus-article-compface-xbm + t + (goto-char (point-min)) + (progn (insert "/* Width=48, Height=48 */\n") t) + (eq 0 (call-process-region (point-min) (point-max) + "icontopbm" + 'delete '(t nil)))) ;; Miles Bader says that faces don't look right as ;; light on dark. (if (eq 'dark (cdr-safe (assq 'background-mode (frame-parameters)))) - (setq image (create-image (buffer-string) 'pbm t + (setq image (create-image (buffer-string) + (if gnus-article-compface-xbm + 'xbm + 'pbm) + t :ascent 'center :foreground "black" :background "white")) - (setq image (create-image (buffer-string) 'pbm t + (setq image (create-image (buffer-string) + (if gnus-article-compface-xbm + 'xbm + 'pbm) + t :ascent 'center))))) (ring-insert gnus-article-xface-ring-internal (cons data image))) (when image @@ -248,8 +269,4 @@ (provide 'gnus-ems) -;; Local Variables: -;; byte-compile-warnings: '(redefine callargs) -;; End: - ;;; gnus-ems.el ends here