From af5db4a5abca3ac80517583e21bf9f5793e34acc Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 27 Nov 2007 04:21:26 +0000 Subject: [PATCH] (pgg-clear-string): Declare as a function. (pgg-run-at-time-1): Wrap whole definition in (featurep 'xemacs) test. (pgg-run-at-time, pgg-cancel-timer): Move definitions before use. --- lisp/ChangeLog | 57 +++++++++++++++++- lisp/pgg.el | 159 +++++++++++++++++++++++++------------------------ 2 files changed, 136 insertions(+), 80 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 890d0194156..b819cb67f2d 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,57 @@ +2007-11-27 Glenn Morris + + * eshell/eshell.el (eshell-report-bug): Add version number of + obsolescence. + + * ediff-diff.el, ediff-help.el, ediff-merg.el, ediff-mult.el, + ediff-ptch.el, ediff-util.el, ediff-vers.el, ediff-wind.el, ediff.el: + Load ediff-*.el files silently. + + * ediff.el: Load dired silently. Don't load info, pcl-cvs when + compiling. + (Info-goto-node): Declare as a function. + + * ediff-init.el: Don't load ange-ftp when compiling. + * ediff-util.el: Don't load reporter when compiling. + + * ediff-wind.el (ediff-display-pixel-width) + (ediff-display-pixel-height): + * generic-x.el (ini-generic-mode): + * ps-print.el (ps-mule-encode-header-string, ps-mule-begin-page) + (ps-mule-prepare-ascii-font, ps-mule-set-ascii-font) + (ps-mule-initialize, ps-mule-begin-job): + * calendar/cal-bahai.el (add-to-diary-list, diary-name-pattern) + (mark-calendar-days-named): + * calendar/cal-hebrew.el (holiday-filter-visible-calendar) + (add-to-diary-list, diary-name-pattern) + (mark-calendar-days-named): + * calendar/cal-islam.el (add-to-diary-list, diary-name-pattern) + (mark-calendar-days-named): + * calendar/cal-x.el (make-fancy-diary-buffer): + * calendar/holidays.el (calendar-absolute-from-julian): + * calendar/todo-mode.el (calendar-current-date): + Declare as functions. + + * calendar/calendar.el (nongregorian-diary-listing-hook): Doc fix. + (Info-find-emacs-command-nodes, Info-find-node): Declare as functions. + + * ffap.el (ffap-bug, ffap-submit-bug): Redefine as obsolete + aliases for report-emacs-bug. + (gnus-summary-select-article, gnus-configure-windows): Declare as + functions. + + * pgg-parse.el (pgg-parse-24, pgg-parse-crc24-string): Declare for + compiler. + + * pgg.el (pgg-clear-string): Declare as a function. + (pgg-run-at-time-1): Wrap whole definition in (featurep 'xemacs) test. + (pgg-run-at-time, pgg-cancel-timer): Move definitions before use. + + * emacs-lisp/check-declare.el (check-declare-locate): + Handle compressed files. + (check-declare-verify): Handle define-generic-mode, + define-global(ized)-minor-mode, define-obsolete-function-alias. + 2007-11-27 Jay Belanger * calc-menu.el (calc-modes-menu): Add normal and incomplete @@ -6,7 +60,8 @@ 2007-11-26 Stefan Monnier * emacs-lisp/lisp.el (end-of-defun): Restructure so that - end-of-defun-function is called consistently, even for negative arguments. + end-of-defun-function is called consistently, even for negative + arguments. (end-of-defun-function): Default to forward-sexp. 2007-11-26 Juanma Barranquero diff --git a/lisp/pgg.el b/lisp/pgg.el index 13a5148d5cd..6e4a2a874ec 100644 --- a/lisp/pgg.el +++ b/lisp/pgg.el @@ -40,6 +40,84 @@ ;;; @ utility functions ;;; +(eval-when-compile + (unless (featurep 'xemacs) + (defalias 'pgg-run-at-time 'run-at-time) + (defalias 'pgg-cancel-timer 'cancel-timer)) + + (when (featurep 'xemacs) + (defmacro pgg-run-at-time-1 (time repeat function args) + (if (condition-case nil + (let ((delete-itimer 'delete-itimer) + (itimer-driver-start 'itimer-driver-start) + (itimer-value 'itimer-value) + (start-itimer 'start-itimer)) + (unless (or (symbol-value 'itimer-process) + (symbol-value 'itimer-timer)) + (funcall itimer-driver-start)) + ;; Check whether there is a bug to which the difference of + ;; the present time and the time when the itimer driver was + ;; woken up is subtracted from the initial itimer value. + (let* ((inhibit-quit t) + (ctime (current-time)) + (itimer-timer-last-wakeup + (prog1 + ctime + (setcar ctime (1- (car ctime))))) + (itimer-list nil) + (itimer (funcall start-itimer "pgg-run-at-time" + 'ignore 5))) + (sleep-for 0.1) ;; Accept the timeout interrupt. + (prog1 + (> (funcall itimer-value itimer) 0) + (funcall delete-itimer itimer)))) + (error nil)) + `(let ((time ,time)) + (apply #'start-itimer "pgg-run-at-time" + ,function (if time (max time 1e-9) 1e-9) + ,repeat nil t ,args))) + `(let ((time ,time) + (itimers (list nil))) + (setcar + itimers + (apply #'start-itimer "pgg-run-at-time" + (lambda (itimers repeat function &rest args) + (let ((itimer (car itimers))) + (if repeat + (progn + (set-itimer-function + itimer + (lambda (itimer repeat function &rest args) + (set-itimer-restart itimer repeat) + (set-itimer-function itimer function) + (set-itimer-function-arguments itimer args) + (apply function args))) + (set-itimer-function-arguments + itimer + (append (list itimer repeat function) args))) + (set-itimer-function + itimer + (lambda (itimer function &rest args) + (delete-itimer itimer) + (apply function args))) + (set-itimer-function-arguments + itimer + (append (list itimer function) args))))) + 1e-9 (if time (max time 1e-9) 1e-9) + nil t itimers ,repeat ,function ,args)))) + + (defun pgg-run-at-time (time repeat function &rest args) + "Emulating function run as `run-at-time'. +TIME should be nil meaning now, or a number of seconds from now. +Return an itimer object which can be used in either `delete-itimer' +or `cancel-timer'." + (pgg-run-at-time-1 time repeat function args)) + (defun pgg-cancel-timer (timer) + "Emulate cancel-timer for xemacs." + (let ((delete-itimer 'delete-itimer)) + (funcall delete-itimer timer))) + )) + (defun pgg-invoke (func scheme &rest args) (progn (require (intern (format "pgg-%s" scheme))) @@ -153,6 +231,8 @@ regulate cache behavior." (defun pgg-clear-string (string) (fillarray string ?_))) +(declare-function pgg-clear-string "pgg" (string)) + (defun pgg-remove-passphrase-from-cache (key &optional notruncate) "Omit passphrase associated with KEY in time-limited passphrase cache. @@ -177,85 +257,6 @@ regulate cache behavior." (pgg-cancel-timer old-timer) (unintern interned-timer-key pgg-pending-timers)))) -(eval-when-compile - (defmacro pgg-run-at-time-1 (time repeat function args) - (when (featurep 'xemacs) - (if (condition-case nil - (let ((delete-itimer 'delete-itimer) - (itimer-driver-start 'itimer-driver-start) - (itimer-value 'itimer-value) - (start-itimer 'start-itimer)) - (unless (or (symbol-value 'itimer-process) - (symbol-value 'itimer-timer)) - (funcall itimer-driver-start)) - ;; Check whether there is a bug to which the difference of - ;; the present time and the time when the itimer driver was - ;; woken up is subtracted from the initial itimer value. - (let* ((inhibit-quit t) - (ctime (current-time)) - (itimer-timer-last-wakeup - (prog1 - ctime - (setcar ctime (1- (car ctime))))) - (itimer-list nil) - (itimer (funcall start-itimer "pgg-run-at-time" - 'ignore 5))) - (sleep-for 0.1) ;; Accept the timeout interrupt. - (prog1 - (> (funcall itimer-value itimer) 0) - (funcall delete-itimer itimer)))) - (error nil)) - `(let ((time ,time)) - (apply #'start-itimer "pgg-run-at-time" - ,function (if time (max time 1e-9) 1e-9) - ,repeat nil t ,args))) - `(let ((time ,time) - (itimers (list nil))) - (setcar - itimers - (apply #'start-itimer "pgg-run-at-time" - (lambda (itimers repeat function &rest args) - (let ((itimer (car itimers))) - (if repeat - (progn - (set-itimer-function - itimer - (lambda (itimer repeat function &rest args) - (set-itimer-restart itimer repeat) - (set-itimer-function itimer function) - (set-itimer-function-arguments itimer args) - (apply function args))) - (set-itimer-function-arguments - itimer - (append (list itimer repeat function) args))) - (set-itimer-function - itimer - (lambda (itimer function &rest args) - (delete-itimer itimer) - (apply function args))) - (set-itimer-function-arguments - itimer - (append (list itimer function) args))))) - 1e-9 (if time (max time 1e-9) 1e-9) - nil t itimers ,repeat ,function ,args)))))) - -(eval-and-compile - (if (featurep 'xemacs) - (progn - (defun pgg-run-at-time (time repeat function &rest args) - "Emulating function run as `run-at-time'. -TIME should be nil meaning now, or a number of seconds from now. -Return an itimer object which can be used in either `delete-itimer' -or `cancel-timer'." - (pgg-run-at-time-1 time repeat function args)) - (defun pgg-cancel-timer (timer) - "Emulate cancel-timer for xemacs." - (let ((delete-itimer 'delete-itimer)) - (funcall delete-itimer timer))) - ) - (defalias 'pgg-run-at-time 'run-at-time) - (defalias 'pgg-cancel-timer 'cancel-timer))) - (defmacro pgg-convert-lbt-region (start end lbt) `(let ((pgg-conversion-end (set-marker (make-marker) ,end))) (goto-char ,start) -- 2.39.2