From mihai.bazon at gmail.com Sun Dec 19 17:49:14 2010 From: mihai.bazon at gmail.com (=?UTF-8?Q?Mihai_C=C4=83lin_Bazon?=) Date: Sun, 19 Dec 2010 19:49:14 +0200 Subject: [local-time-devel] Endless loop (or something similar) in adjust-timestamp Message-ID: Hi folks, By accident, I found that the following never returns (well, at least here; my timezone is GMT+3, running SBCL 1.0.44.36): (local-time:adjust-timestamp (local-time:encode-timestamp 0 0 0 3 11 4 2010 :offset (* 3 3600)) (offset :day -14)) This seems to fix it and looks correct, though I can't be sure about it: diff -rN -u old-local-time/src/local-time.lisp new-local-time/src/local-time.lisp --- old-local-time/src/local-time.lisp??? 2010-12-19 19:46:52.972488057 +0200 +++ new-local-time/src/local-time.lisp??? 2010-12-19 19:46:53.134995442 +0200 @@ -545,7 +545,7 @@ ?(defun transition-position (needle haystack &optional (start 0) (end (1- (length haystack)))) ?? (let ((middle (floor (+ end start) 2))) ???? (cond -????? ((> start end) +????? ((>= start end) ??????? (if (minusp end) ??????????? 0 ??????????? end)) Other ideas? Cheers, -- Mihai Bazon, http://mihai.bazon.net/blog