Subject: bug#7536: closed (Re: bug#7536: 24.0.50; sexp diary entry on last line is truncated)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 09 Dec 2010 01:45:03 +0000

Your bug report

#7536: 24.0.50; sexp diary entry on last line is truncated

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
7536: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7536
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#7536: 24.0.50; sexp diary entry on last line is truncated
From: Glenn Morris <[email-masked]>
To: [email-masked]
Date: Wed, 08 Dec 2010 20:50:24 -0500
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 23.3

Thanks; applied.

Subject: 24.0.50; sexp diary entry on last line is truncated
From: Stephen Berman <[email-masked]>
To: [email-masked]
Date: Fri, 03 Dec 2010 00:10:17 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

1. Let there be no file ~/diary.
2. emacs -Q
3. M-x calendar
4. In the Calendar buffer type `C-SPC i b', then in the popped to diary
   buffer type `test' as the entry after the diary-block sexp and then
   `C-x C-s' to save the diary file.
5. M-x diary
=> The fancy diary display shows the above diary entry as `tes'.

AFAICT the reason is that diary-list-sexp-entries assumes there is a
newline after a sexp diary entry.  Here is a fix:

*** /data/steve/bzr/emacs/trunk/lisp/calendar/diary-lib.el	2010-11-26 20:52:25.000000000 +0100
--- /data/steve/bzr/emacs/quickfixes/lisp/calendar/diary-lib.el	2010-12-02 23:49:25.000000000 +0100
***************
*** 1764,1770 ****
          (forward-line 1)
          (while (looking-at "[ \t]")
            (forward-line 1))
!         (backward-char 1)
          (setq entry (buffer-substring-no-properties entry-start (point))))
        (setq diary-entry (diary-sexp-entry sexp entry date)
              literal entry               ; before evaluation
--- 1764,1770 ----
          (forward-line 1)
          (while (looking-at "[ \t]")
            (forward-line 1))
!         (when (bolp) (backward-char 1))
          (setq entry (buffer-substring-no-properties entry-start (point))))
        (setq diary-entry (diary-sexp-entry sexp entry date)
              literal entry               ; before evaluation

In GNU Emacs 24.0.50.19 (i686-pc-linux-gnu, GTK+ Version 2.18.6)
 of 2010-11-26 on escher
Windowing system distributor `The X.Org Foundation', version 11.0.10605000
configured using `configure  '--without-toolkit-scroll-bars''