For Excorporate's diary integration I had to add some advice to work around the side effects of a diary-make-entry workaround in icalendar--add-diary-entry, and side effects of diary-make-entry itself. I'm filing this bug report to try to eliminate the need for any of these workarounds. diary-make-entry adds a trailing space to its entry. icalendar--add-diary-entry works around this by deleting the trailing space. It saves the window excursion, but diary-make-entry still leaves the diary file where (other-buffer (current-buffer)) will return it, which is a usability bug. The attached patch, icalendar-diary-make-entry-fix-1.patch, adds omit-trailing-space and do-not-show parameters to diary-make-entry to allow it to operate more like a library function and less like an interactive function. To keep the code mostly the same (so that I don't need to factor out another function), I've changed the original logic by adding a with-current-buffer wrapper, as shown in simplified form in diary-make-entry-with-current-buffer.patch. I'm hoping this keeps the default diary-make-entry logic exactly the same, but I'd like confirmation from someone more familiar with the subtleties of window and buffer manipulation. Thanks, Thomas