;;; gnus-ems.el --- functions for making Gnus work under different Emacsen
;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-;; 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
+;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
;; Keywords: news
(eval-and-compile
(autoload 'gnus-xmas-define "gnus-xmas")
- (autoload 'gnus-xmas-redefine "gnus-xmas")
- (autoload 'gnus-get-buffer-create "gnus")
- (autoload 'nnheader-find-etc-directory "nnheader"))
+ (autoload 'gnus-xmas-redefine "gnus-xmas"))
+(autoload 'gnus-get-buffer-create "gnus")
+(autoload 'nnheader-find-etc-directory "nnheader")
(autoload 'smiley-region "smiley")
(defun gnus-kill-all-overlays ()
(car sbars)
(/ (or (car fringes) 0) fcw))
yoffset (cadr (window-edges))
- top (max 0 (- (* (max (if (and tool-bar-mode
+ top (max 0 (- (* (max (if (and (boundp 'tool-bar-mode)
+ tool-bar-mode
(not (featurep 'gtk))
(eq (frame-first-window)
(selected-window)))
(defun gnus-put-image (glyph &optional string category)
(let ((point (point)))
- (insert-image glyph (or string " "))
+ (insert-image glyph (or string "*"))
(put-text-property point (point) 'gnus-image-category category)
(unless string
(put-text-property (1- (point)) (point)
(setq start end
end nil))))))
+(eval-and-compile
+ (if (fboundp 'set-process-plist)
+ (progn
+ (defalias 'gnus-set-process-plist 'set-process-plist)
+ (defalias 'gnus-process-plist 'process-plist)
+ (defalias 'gnus-process-get 'process-get)
+ (defalias 'gnus-process-put 'process-put))
+ (defun gnus-set-process-plist (process plist)
+ "Replace the plist of PROCESS with PLIST. Returns PLIST."
+ (put 'gnus-process-plist process plist))
+ (defun gnus-process-plist (process)
+ "Return the plist of PROCESS."
+ ;; Remove those of dead processes from `gnus-process-plist'
+ ;; to prevent it from growing.
+ (let ((plist (symbol-plist 'gnus-process-plist))
+ proc)
+ (while (setq proc (car plist))
+ (if (and (processp proc)
+ (memq (process-status proc) '(open run)))
+ (setq plist (cddr plist))
+ (setcar plist (caddr plist))
+ (setcdr plist (or (cdddr plist) '(nil))))))
+ (get 'gnus-process-plist process))
+ (defun gnus-process-get (process propname)
+ "Return the value of PROCESS' PROPNAME property.
+This is the last value stored with `(gnus-process-put PROCESS PROPNAME VALUE)'."
+ (plist-get (gnus-process-plist process) propname))
+ (defun gnus-process-put (process propname value)
+ "Change PROCESS' PROPNAME property to VALUE.
+It can be retrieved with `(gnus-process-get PROCESS PROPNAME)'."
+ (gnus-set-process-plist process
+ (plist-put (gnus-process-plist process)
+ propname value)))))
+
(provide 'gnus-ems)
-;; arch-tag: e7360b45-14b5-4171-aa39-69a44aed3cdb
;;; gnus-ems.el ends here