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