* 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 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 ` How to debug functions depending on (current-time)? 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 --
[not found] <mailman.6969.1436991395.904.help-gnu-emacs@gnu.org>
2015-07-15 20:47 ` How to debug functions depending on (current-time)? Pascal J. Bourguignon
2015-07-15 22:23 ` Emanuel Berg
2015-07-15 20:16 Marcin Borkowski
2015-07-15 21:44 ` Filipp Gunbin
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).