diff options
| author | Katsumi Yamaoka | 2010-09-01 04:22:17 +0000 |
|---|---|---|
| committer | Katsumi Yamaoka | 2010-09-01 04:22:17 +0000 |
| commit | a14b34178368bb33e425268fc8ddc105b9d52b0b (patch) | |
| tree | 20ee74e9b11435f797a37515e3f76328311d85c2 | |
| parent | 0a46a12f7a484e3fab96ea2f46fa738e90dabf1c (diff) | |
| download | emacs-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/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/gnus/gnus-ems.el | 53 |
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 @@ | |||
| 1 | 2010-09-01 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus-ems.el (gnus-process-get, gnus-process-put): New compatibility | ||
| 4 | functions. | ||
| 5 | |||
| 1 | 2010-08-31 Julien Danjou <julien@danjou.info> (tiny change) | 6 | 2010-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. | ||
| 333 | This 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. | ||
| 337 | It 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 | ||