(gnus-summary-goto-unread): Change default to nil.
[gnus] / lisp / gnus-ems.el
index b7dc487..b4b3794 100644 (file)
       (setq props (plist-put props :background (face-background face))))
     (apply 'create-image file type data-p props)))
 
-(defun gnus-put-image (glyph &optional string category point)
-  (let ((point (or point (point))))
-    (save-excursion
-      (goto-char point)
-      (put-image glyph point)
-      (put-text-property point (point) 'gnus-image-category category)
-      (unless string
-       (put-text-property (1- (point)) (point)
-                          'gnus-image-text-deletable t)))
+(defun gnus-put-image (glyph &optional string category)
+  (let ((point (point)))
+    (insert-image glyph (or string "*"))
+    (put-text-property point (point) 'gnus-image-category category)
+    (unless string
+      (put-text-property (1- (point)) (point)
+                        'gnus-image-text-deletable t))
     glyph))
 
 (defun gnus-remove-image (image &optional category)
          (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