unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* How to debug functions depending on (current-time)?
@ 2015-07-15 20:16 Marcin Borkowski
  2015-07-15 21:44 ` Filipp Gunbin
  0 siblings, 1 reply; 4+ messages in thread
From: Marcin Borkowski @ 2015-07-15 20:16 UTC (permalink / raw)
  To: Help Gnu Emacs mailing list

Hi all,

I have a bunch of functions depending on (current-time), and I'm
wondering how to test/debug them.  Is it safe to (temporarily) redefine
`current-time'?  Maybe it's better to do that in a separate Emacs
instance?  I could of course change their source code for the time of
debugging, but this still lefts the problem of testing (esp. automatic
testing) open.

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to debug functions depending on (current-time)?
       [not found] <mailman.6969.1436991395.904.help-gnu-emacs@gnu.org>
@ 2015-07-15 20:47 ` Pascal J. Bourguignon
  2015-07-15 22:23   ` Emanuel Berg
  0 siblings, 1 reply; 4+ messages in thread
From: Pascal J. Bourguignon @ 2015-07-15 20:47 UTC (permalink / raw)
  To: help-gnu-emacs

Marcin Borkowski <mbork@mbork.pl> writes:

> Hi all,
>
> I have a bunch of functions depending on (current-time), and I'm
> wondering how to test/debug them.  Is it safe to (temporarily) redefine
> `current-time'?  Maybe it's better to do that in a separate Emacs
> instance?  I could of course change their source code for the time of
> debugging, but this still lefts the problem of testing (esp. automatic
> testing) open.

Any problem in programming can be solved by one more level of
indirection.


(defvar *my-current-time-function* 'current-time)
(defun my-current-time-function () (funcall *my-current-time-function*))

(defvar *test-time* 0)
(when testing
  (let ((*my-current-time-function* (lambda () (incf *test-time*))))
    (test)))

-- 
__Pascal Bourguignon__                 http://www.informatimago.com/
“The factory of the future will have only two employees, a man and a
dog. The man will be there to feed the dog. The dog will be there to
keep the man from touching the equipment.” -- Carl Bass CEO Autodesk


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to debug functions depending on (current-time)?
  2015-07-15 20:16 How to debug functions depending on (current-time)? Marcin Borkowski
@ 2015-07-15 21:44 ` Filipp Gunbin
  0 siblings, 0 replies; 4+ messages in thread
From: Filipp Gunbin @ 2015-07-15 21:44 UTC (permalink / raw)
  To: Marcin Borkowski; +Cc: Help Gnu Emacs mailing list

On 15/07/2015 22:16 +0200, Marcin Borkowski wrote:

> Hi all,
>
> I have a bunch of functions depending on (current-time), and I'm
> wondering how to test/debug them.  Is it safe to (temporarily) redefine
> `current-time'?  Maybe it's better to do that in a separate Emacs
> instance?  I could of course change their source code for the time of
> debugging, but this still lefts the problem of testing (esp. automatic
> testing) open.

As your code may use some builtin functions which use current-time, this
won't be reliable.

So I'd do what Pascal suggested.

Filipp



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to debug functions depending on (current-time)?
  2015-07-15 20:47 ` Pascal J. Bourguignon
@ 2015-07-15 22:23   ` Emanuel Berg
  0 siblings, 0 replies; 4+ messages in thread
From: Emanuel Berg @ 2015-07-15 22:23 UTC (permalink / raw)
  To: help-gnu-emacs

"Pascal J. Bourguignon" <pjb@informatimago.com>
writes:

> Any problem in programming can be solved by one more
> level of indirection.

You better believe it.

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-07-15 22:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-15 20:16 How to debug functions depending on (current-time)? Marcin Borkowski
2015-07-15 21:44 ` Filipp Gunbin
     [not found] <mailman.6969.1436991395.904.help-gnu-emacs@gnu.org>
2015-07-15 20:47 ` Pascal J. Bourguignon
2015-07-15 22:23   ` Emanuel Berg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).