Commit af5db4a5 authored by Glenn Morris's avatar Glenn Morris

(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.
parent 92f0a338
2007-11-27 Glenn Morris <rgm@gnu.org>
* 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 <jay.p.belanger@gmail.com>
* calc-menu.el (calc-modes-menu): Add normal and incomplete
......@@ -6,7 +60,8 @@
2007-11-26 Stefan Monnier <monnier@iro.umontreal.ca>
* 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 <lekktu@gmail.com>
......
......@@ -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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment