Mercurial > emacs
comparison lisp/gnus/gnus-ems.el @ 110082:0bc890984083
Add compatibility functions gnus-process-get and gnus-process-put for Emacs 21 and XEmacs.
author | Katsumi Yamaoka <yamaoka@jpl.org> |
---|---|
date | Wed, 01 Sep 2010 04:22:17 +0000 |
parents | 38805092633e |
children | fc3e98cf87b7 |
comparison
equal
deleted
inserted
replaced
110081:e4e62433ed67 | 110082:0bc890984083 |
---|---|
303 (delete-region start end))) | 303 (delete-region start end))) |
304 (unless (= end (point-max)) | 304 (unless (= end (point-max)) |
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 |
331 ;; arch-tag: e7360b45-14b5-4171-aa39-69a44aed3cdb | 344 ;; arch-tag: e7360b45-14b5-4171-aa39-69a44aed3cdb |
332 ;;; gnus-ems.el ends here | 345 ;;; gnus-ems.el ends here |