X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=contrib%2Fgpg.el;h=0e1ee733fa02a2e0e7a87c95c5063947082ee1f5;hb=2c3bbf4e6feb8dc11f39ce29173ccda614aaff88;hp=9362788f578644c46107780f82fcec871ba7ab85;hpb=49d38b41c190eaab2cb34294fac7302a9c9ea353;p=elisp%2Fgnus.git- diff --git a/contrib/gpg.el b/contrib/gpg.el index 9362788..0e1ee73 100644 --- a/contrib/gpg.el +++ b/contrib/gpg.el @@ -21,8 +21,8 @@ ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. +;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +;; Boston, MA 02110-1301, USA. ;;; Commentary: @@ -106,7 +106,9 @@ ;;; Code: -(require 'timer) +(if (featurep 'xemacs) + (require 'timer-funcs) + (require 'timer)) (eval-when-compile (require 'cl)) (eval-and-compile @@ -115,6 +117,21 @@ 'point-at-eol 'line-end-position))) +;; itimer/timer compatibility +(eval-and-compile + (if (featurep 'xemacs) + (progn + (defalias 'gpg-cancel-timer 'delete-itimer) + (defalias 'gpg-timer-activate 'activate-itimer) + (defalias 'gpg-timer-create 'make-itimer) + (defalias 'gpg-timer-set-function 'set-itimer-function) + (defalias 'gpg-timer-set-time 'set-itimer-value)) + (defalias 'gpg-cancel-timer 'cancel-timer) + (defalias 'gpg-timer-activate 'timer-activate) + (defalias 'gpg-timer-create 'timer-create) + (defalias 'gpg-timer-set-function 'timer-set-function) + (defalias 'gpg-timer-set-time 'timer-set-time))) + ;;;; Customization: ;;; Customization: Groups: @@ -779,7 +796,7 @@ evaluates BODY, like `progn'. If BODY evaluates to `nil' (or ;;; Passphrase handling: (defvar gpg-passphrase-timer - (timer-create) + (gpg-timer-create) "This timer will clear the passphrase cache periodically.") (defvar gpg-passphrase @@ -799,7 +816,7 @@ evaluates BODY, like `progn'. If BODY evaluates to `nil' (or "Forget stored passphrase." (interactive) (when gpg-passphrase - (cancel-timer gpg-passphrase-timer) + (gpg-cancel-timer gpg-passphrase-timer) (setq gpg-passphrase-timer nil) (gpg-passphrase-clear-string gpg-passphrase) (setq gpg-passphrase nil))) @@ -809,14 +826,14 @@ evaluates BODY, like `progn'. If BODY evaluates to `nil' (or Updates the timeout for clearing the cache to `gpg-passphrase-timeout'." (unless (equal gpg-passphrase-timeout 0) (if (null gpg-passphrase-timer) - (setq gpg-passphrase-timer (timer-create))) - (timer-set-time gpg-passphrase-timer - (timer-relative-time (current-time) - gpg-passphrase-timeout)) - (timer-set-function gpg-passphrase-timer 'gpg-passphrase-forget) + (setq gpg-passphrase-timer (gpg-timer-create))) + (gpg-timer-set-time gpg-passphrase-timer + (timer-relative-time (current-time) + gpg-passphrase-timeout)) + (gpg-timer-set-function gpg-passphrase-timer 'gpg-passphrase-forget) (unless (and (fboundp 'itimer-live-p) (itimer-live-p gpg-passphrase-timer)) - (timer-activate gpg-passphrase-timer)) + (gpg-timer-activate gpg-passphrase-timer)) (setq gpg-passphrase passphrase)) passphrase)