- (let ((updated-agenda
- ;; Adjust the agenda's time just in time
- ;; We do this here rather than in agenda-run-once to make
- ;; agenda-run-once's behavior fairly predictable
- (set-field new-agenda (agenda-time) (gettimeofday))))
- (loop updated-agenda))))))
+ (let* ((new-time (gettimeofday))
+ (agenda
+ ;; Adjust the agenda's time just in time
+ ;; We do this here rather than in agenda-run-once to make
+ ;; agenda-run-once's behavior fairly predictable
+ (set-field agenda (agenda-time) new-time)))
+ ;; Update the agenda's current queue based on
+ ;; currently applicable time segments
+ (add-segments-contents-to-queue!
+ (schedule-extract-until! (agenda-schedule agenda) new-time)
+ (agenda-queue agenda))
+ (loop agenda))))))