emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: diary-redraw-calendar clobbers point in diary-file buffer.


From: Matt Hodges
Subject: Re: diary-redraw-calendar clobbers point in diary-file buffer.
Date: Wed, 09 Mar 2005 09:08:23 +0000
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/22.0.50 (gnu/linux)

>>>>> Glenn Morris writes:

 > > Recent code has added diary-redraw-calendar to
 > > write-contents-functions in the buffer associated with diary-file.
 > > However, this function doesn't preserve point, and it gets clobbered
 > > in mark-diary-entries (provided mark-diary-entries-in-calendar is
 > > non-nil, of course).
 > >
 > > Suggested patch attached.

 > Thanks - I put the save-excursion in redraw-calendar itself.  For
 > some reason I though with-current-buffer would preserve point.

Thanks.  Now I see the problem reported by Frederik Fouvry:

    Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
      <=(1 nil)
      (and (<= 1 month) (<= month 12) (<= 1 day) (<= day 
(calendar-last-day-of-month month year)) (<= 1 year))
      (let ((month ...) (day ...) (year ...)) (and (<= 1 month) (<= month 12) 
(<= 1 day) (<= day ...) (<= 1 year)))
      calendar-date-is-legal-p(nil)
      (if (calendar-date-is-legal-p date) (save-excursion (set-buffer 
calendar-buffer) (calendar-cursor-to-visible-date date) (let ... ...)))
      mark-visible-calendar-date(nil calendar-today-face)
      calendar-mark-today()
      run-hooks(today-visible-calendar-hook)
      (if today-visible (run-hooks (quote today-visible-calendar-hook)) 
(run-hooks (quote today-invisible-calendar-hook)))
      (unwind-protect (if mark-diary-entries-in-calendar (mark-diary-entries)) 
(if today-visible (run-hooks ...) (run-hooks ...)))
      (let* ((buffer-read-only nil) (today ...) (month ...) (day ...) (year 
...) (today-visible ...) (day-in-week ...) (in-calendar-window ...)) 
(update-calendar-mode-line) (if mon (generate-calendar mon yr) 
(generate-calendar month year)) (calendar-cursor-to-visible-date (if 
today-visible today ...)) (set-buffer-modified-p nil) (when in-calendar-window 
(if ... ... ...) (sit-for 0)) (if (and ... font-lock-mode) 
(font-lock-fontify-buffer)) (and mark-holidays-in-calendar 
(mark-calendar-holidays) (and in-calendar-window ...)) (unwind-protect (if 
mark-diary-entries-in-calendar ...) (if today-visible ... ...)))
      generate-calendar-window(3 2005)
      (let ((cursor-date ...)) (generate-calendar-window displayed-month 
displayed-year) (calendar-cursor-to-visible-date cursor-date))
      (save-current-buffer (set-buffer calendar-buffer) (let (...) 
(generate-calendar-window displayed-month displayed-year) 
(calendar-cursor-to-visible-date cursor-date)))
      (with-current-buffer calendar-buffer (let (...) (generate-calendar-window 
displayed-month displayed-year) (calendar-cursor-to-visible-date cursor-date)))
      (save-excursion (with-current-buffer calendar-buffer (let ... ... ...)))
      (if (get-buffer calendar-buffer) (save-excursion (with-current-buffer 
calendar-buffer ...)))
      redraw-calendar()
      call-interactively(redraw-calendar)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]