Subject: Bad interaction between defining-kbd-macro and desktop

From: Antoine Levitt <[email-masked]>
Date: Tue, 04 Oct 2011 10:20:10 +0200

C-x (
M-x desktop-save

will result in the desktop file being unusable unless defining-kbd-macro
is removed manually. Adding defining-kbd-macro to
desktop-minor-mode-table does not change the problem. I believe this is
because defining-kbd-macro does not follow the usual convention for
minor modes, and therefore defeats this code in desktop-create-buffer:

(let ((handler (cdr (assq minor-mode desktop-minor-mode-handlers))))
  (if handler
      (funcall handler desktop-buffer-locals)
    (when (functionp minor-mode)
      (funcall minor-mode 1))))