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

From: Stephen Berman <[email-masked]>
Date: Fri, 03 Dec 2010 00:10:17 +0100

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''