-;; Commands after which it is appropriate to print in the echo area.
-;; Eldoc does not try to print function arglists, etc. after just any command,
-;; because some commands print their own messages in the echo area and these
-;; functions would instantly overwrite them. But self-insert-command as well
-;; as most motion commands are good candidates.
-;; This variable contains an obarray of symbols; do not manipulate it
-;; directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'.
-(defvar eldoc-message-commands nil)
-
-;; This is used by eldoc-add-command to initialize eldoc-message-commands
-;; as an obarray.
-;; It should probably never be necessary to do so, but if you
-;; choose to increase the number of buckets, you must do so before loading
-;; this file since the obarray is initialized at load time.
-;; Remember to keep it a prime number to improve hash performance.
-(defvar eldoc-message-commands-table-size 31)
-
-;; Bookkeeping; elements are as follows:
-;; 0 - contains the last symbol read from the buffer.
-;; 1 - contains the string last displayed in the echo area for that
-;; symbol, so it can be printed again if necessary without reconsing.
-;; 2 - 'function if function args, 'variable if variable documentation.
-(defvar eldoc-last-data (make-vector 3 nil))
+(defvar eldoc-message-commands-table-size 31
+ "This is used by eldoc-add-command to initialize eldoc-message-commands
+as an obarray.
+It should probably never be necessary to do so, but if you
+choose to increase the number of buckets, you must do so before loading
+this file since the obarray is initialized at load time.
+Remember to keep it a prime number to improve hash performance.")
+
+(defconst eldoc-message-commands
+ (make-vector eldoc-message-commands-table-size 0)
+ "Commands after which it is appropriate to print in the echo area.
+Eldoc does not try to print function arglists, etc. after just any command,
+because some commands print their own messages in the echo area and these
+functions would instantly overwrite them. But self-insert-command as well
+as most motion commands are good candidates.
+This variable contains an obarray of symbols; do not manipulate it
+directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'.")
+
+(defconst eldoc-last-data (make-vector 3 nil)
+ "Bookkeeping; elements are as follows:
+ 0 - contains the last symbol read from the buffer.
+ 1 - contains the string last displayed in the echo area for that
+ symbol, so it can be printed again if necessary without reconsing.
+ 2 - 'function if function args, 'variable if variable documentation.")