From: Katsumi Yamaoka Date: Wed, 1 Sep 2010 04:22:17 +0000 (+0000) Subject: Add compatibility functions gnus-process-get and gnus-process-put for Emacs 21 and... X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~48^2~167 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a14b34178368bb33e425268fc8ddc105b9d52b0b;p=emacs.git Add compatibility functions gnus-process-get and gnus-process-put for Emacs 21 and XEmacs. --- diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index dd1b54f9a0e..d7bc81bcac8 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,8 @@ +2010-09-01 Katsumi Yamaoka + + * gnus-ems.el (gnus-process-get, gnus-process-put): New compatibility + functions. + 2010-08-31 Julien Danjou (tiny change) * nnimap.el (nnimap-request-newgroups): Use nnimap-request-list-method diff --git a/lisp/gnus/gnus-ems.el b/lisp/gnus/gnus-ems.el index 32b126a2713..06b1803ef06 100644 --- a/lisp/gnus/gnus-ems.el +++ b/lisp/gnus/gnus-ems.el @@ -305,26 +305,39 @@ (setq start end end nil)))))) -(if (fboundp 'set-process-plist) - (progn - (defalias 'gnus-set-process-plist 'set-process-plist) - (defalias 'gnus-process-plist 'process-plist)) - (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))) +(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 (process-plist process) + propname value))))) (provide 'gnus-ems)