aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatsumi Yamaoka2010-09-01 04:22:17 +0000
committerKatsumi Yamaoka2010-09-01 04:22:17 +0000
commita14b34178368bb33e425268fc8ddc105b9d52b0b (patch)
tree20ee74e9b11435f797a37515e3f76328311d85c2
parent0a46a12f7a484e3fab96ea2f46fa738e90dabf1c (diff)
downloademacs-a14b34178368bb33e425268fc8ddc105b9d52b0b.tar.gz
emacs-a14b34178368bb33e425268fc8ddc105b9d52b0b.zip
Add compatibility functions gnus-process-get and gnus-process-put for Emacs 21 and XEmacs.
-rw-r--r--lisp/gnus/ChangeLog5
-rw-r--r--lisp/gnus/gnus-ems.el53
2 files changed, 38 insertions, 20 deletions
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 @@
12010-09-01 Katsumi Yamaoka <yamaoka@jpl.org>
2
3 * gnus-ems.el (gnus-process-get, gnus-process-put): New compatibility
4 functions.
5
12010-08-31 Julien Danjou <julien@danjou.info> (tiny change) 62010-08-31 Julien Danjou <julien@danjou.info> (tiny change)
2 7
3 * nnimap.el (nnimap-request-newgroups): Use nnimap-request-list-method 8 * 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 @@
305 (setq start end 305 (setq start end
306 end nil)))))) 306 end nil))))))
307 307
308(if (fboundp 'set-process-plist) 308(eval-and-compile
309 (progn 309 (if (fboundp 'set-process-plist)
310 (defalias 'gnus-set-process-plist 'set-process-plist) 310 (progn
311 (defalias 'gnus-process-plist 'process-plist)) 311 (defalias 'gnus-set-process-plist 'set-process-plist)
312 (defun gnus-set-process-plist (process plist) 312 (defalias 'gnus-process-plist 'process-plist)
313 "Replace the plist of PROCESS with PLIST. Returns PLIST." 313 (defalias 'gnus-process-get 'process-get)
314 (put 'gnus-process-plist process plist)) 314 (defalias 'gnus-process-put 'process-put))
315 (defun gnus-process-plist (process) 315 (defun gnus-set-process-plist (process plist)
316 "Return the plist of PROCESS." 316 "Replace the plist of PROCESS with PLIST. Returns PLIST."
317 ;; Remove those of dead processes from `gnus-process-plist' 317 (put 'gnus-process-plist process plist))
318 ;; to prevent it from growing. 318 (defun gnus-process-plist (process)
319 (let ((plist (symbol-plist 'gnus-process-plist)) 319 "Return the plist of PROCESS."
320 proc) 320 ;; Remove those of dead processes from `gnus-process-plist'
321 (while (setq proc (car plist)) 321 ;; to prevent it from growing.
322 (if (and (processp proc) 322 (let ((plist (symbol-plist 'gnus-process-plist))
323 (memq (process-status proc) '(open run))) 323 proc)
324 (setq plist (cddr plist)) 324 (while (setq proc (car plist))
325 (setcar plist (caddr plist)) 325 (if (and (processp proc)
326 (setcdr plist (or (cdddr plist) '(nil)))))) 326 (memq (process-status proc) '(open run)))
327 (get 'gnus-process-plist process))) 327 (setq plist (cddr plist))
328 (setcar plist (caddr plist))
329 (setcdr plist (or (cdddr plist) '(nil))))))
330 (get 'gnus-process-plist process))
331 (defun gnus-process-get (process propname)
332 "Return the value of PROCESS' PROPNAME property.
333This is the last value stored with `(gnus-process-put PROCESS PROPNAME VALUE)'."
334 (plist-get (gnus-process-plist process) propname))
335 (defun gnus-process-put (process propname value)
336 "Change PROCESS' PROPNAME property to VALUE.
337It can be retrieved with `(gnus-process-get PROCESS PROPNAME)'."
338 (gnus-set-process-plist process
339 (plist-put (process-plist process)
340 propname value)))))
328 341
329(provide 'gnus-ems) 342(provide 'gnus-ems)
330 343