From xemacs-m  Mon Apr 14 13:59:36 1997
Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1])
	by xemacs.org (8.8.5/8.8.5) with SMTP id NAA16530
	for <xemacs-beta@xemacs.org>; Mon, 14 Apr 1997 13:59:35 -0500 (CDT)
Received: from Corp.Sun.COM ([129.145.35.78]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id MAA15580 for <xemacs-beta@xemacs.org>; Mon, 14 Apr 1997 12:06:01 -0700
Received: from legba.Corp.Sun.COM by Corp.Sun.COM (SMI-8.6/SMI-5.3)
	id LAA08591; Mon, 14 Apr 1997 11:58:03 -0700
Received: by legba.Corp.Sun.COM (SMI-8.6/SMI-SVR4)
	id LAA20691; Mon, 14 Apr 1997 11:58:03 -0700
To: xemacs-beta@xemacs.org
Subject: footnote buglet
Mime-Version: 1.0 (generated by tm-edit 7.106)
Content-Type: text/plain; charset=US-ASCII
From: Gary.Foster@Corp.Sun.COM (Gary D. Foster)
Date: 14 Apr 1997 11:58:02 -0700
Message-ID: <bcibu7ha0ud.fsf@corp.Sun.COM>
Lines: 66
X-Mailer: Gnus v5.4.45/XEmacs 20.1(beta15)

Hmm, noticed this little buglet with footnote mode... with the
following settings in my ~/.emacs.  Just noticed this with the 20.1
series, never noticed it before with 19.15:

(require 'footnote)
(setq text-mode-hook 'footnote-mode)

The first time I load a file after starting up it signals an error,
with the backtrace frame attached...

It also leaves the buffer created, but empty.  All subsequent load
attempts work fine.

I'm not a lisp hacker at all (yet), but it looks to me like the
message-mode-map isn't created yet when it first tries to load
this... and I'm sure there's *got* to be a better way to do this than
forcing a (require 'message) on a conditional... however I fixed it
with the following little patch:

-------- patch for footnote.el --------
--- footnote.el.orig    Mon Apr 14 11:33:36 1997
+++ footnote.el Mon Apr 14 11:52:25 1997
@@ -542,10 +542,12 @@
     (define-key footnote-mode-map ?r 'footnote-renumber-footnotes)
     (define-key footnote-mode-map ?s 'footnote-set-style)
     (if footnote-use-message-mode
-       (define-key
-         message-mode-map
-         [(control ?c) (control ?a)]
-         footnote-mode-map)
+       (unless (fboundp 'message-mode-map)
+         (require 'message))
+      (define-key
+       message-mode-map
+       [(control ?c) (control ?a)]
+       footnote-mode-map)
       (define-key mode-specific-map [(control ?a)] footnote-mode-map))))
 
 ;;;###autoload
---------------------------------------

Please tell me there's a better way to fix this?

-- Gary F.



--- backtrace frame ---
Signaling: (void-variable message-mode-map)
  (define-key message-mode-map [(control ?c) (control ?a)] footnote-mode-map)
)
  (if footnote-use-message-mode (define-key message-mode-map [... ...] footnote-mode-map) (define-key mode-specific-map [...] footnote-mode-map))
)
  (if footnote-mode-map nil (setq footnote-mode-map (make-sparse-keymap)) (define-key footnote-mode-map ?a (quote footnote-add-footnote)) (define-key footnote-mode-map ?b (quote footnote-back-to-message)) (define-key footnote-mode-map ?c (quote footnote-cycle-style)) (define-key footnote-mode-map ?d (quote footnote-delete-footnote)) (define-key footnote-mode-map ?g (quote footnote-goto-footnote)) (define-key footnote-mode-map ?r (quote footnote-renumber-footnotes)) (define-key footnote-mode-map ?s (quote footnote-set-style)) (if footnote-use-message-mode (define-key message-mode-map ... footnote-mode-map) (define-key mode-specific-map ... footnote-mode-map)))
)
  (unless footnote-mode-map (setq footnote-mode-map (make-sparse-keymap)) (define-key footnote-mode-map ?a (quote footnote-add-footnote)) (define-key footnote-mode-map ?b (quote footnote-back-to-message)) (define-key footnote-mode-map ?c (quote footnote-cycle-style)) (define-key footnote-mode-map ?d (quote footnote-delete-footnote)) (define-key footnote-mode-map ?g (quote footnote-goto-footnote)) (define-key footnote-mode-map ?r (quote footnote-renumber-footnotes)) (define-key footnote-mode-map ?s (quote footnote-set-style)) (if footnote-use-message-mode (define-key message-mode-map ... footnote-mode-map) (define-key mode-specific-map ... footnote-mode-map)))
)
  footnote-setup-keybindings()
  footnote-mode()
  run-hooks(text-mode-hook)
  text-mode()
  set-buffer-major-mode(#<buffer ".emacs">)
  find-file-noselect("~/.emacs")
  find-file("~/.emacs" nil)
  call-interactively(find-file)
----------------------

