+;;; User Variables
+
+(defvar bookmark-use-annotations nil
+ "*If non-nil, saving a bookmark will query for an annotation in a
+buffer.")
+
+
+(defvar bookmark-save-flag t
+ "*Controls when Emacs saves bookmarks to a file.
+--> Nil means never save bookmarks, except when `bookmark-save' is
+ explicitly called \(\\[bookmark-save]\).
+--> t means save bookmarks when Emacs is killed.
+--> Otherwise, it should be a number that is the frequency with which
+ the bookmark list is saved \(i.e.: the number of times which
+ Emacs' bookmark list may be modified before it is automatically
+ saved.\). If it is a number, Emacs will also automatically save
+ bookmarks when it is killed.
+
+Therefore, the way to get it to save every time you make or delete a
+bookmark is to set this variable to 1 \(or 0, which produces the same
+behavior.\)
+
+To specify the file in which to save them, modify the variable
+bookmark-default-file, which is `~/.emacs.bmk' by default.")
+
+
+(defconst bookmark-old-default-file "~/.emacs-bkmrks"
+ "*The .emacs.bmk file used to be called this.")
+
+
+;; defvarred to avoid a compilation warning:
+(defvar bookmark-file nil
+ "Old name for `bookmark-default-file'.")
+
+(defvar bookmark-default-file
+ (if bookmark-file
+ ;; In case user set `bookmark-file' in her .emacs:
+ bookmark-file
+ (if (eq system-type 'ms-dos)
+ "~/emacs.bmk" ; Cannot have initial dot [Yuck!]
+ "~/.emacs.bmk"))
+ "*File in which to save bookmarks by default.")
+
+
+(defvar bookmark-version-control 'nospecial
+ "*Whether or not to make numbered backups of the bookmark file.
+It can have four values: t, nil, `never', and `nospecial'.
+The first three have the same meaning that they do for the
+variable `version-control', and the final value `nospecial' means just
+use the value of `version-control'.")
+
+
+(defvar bookmark-completion-ignore-case t
+ "*Non-nil means bookmark functions ignore case in completion.")
+
+
+(defvar bookmark-sort-flag t
+ "*Non-nil means that bookmarks will be displayed sorted by bookmark
+name. Otherwise they will be displayed in LIFO order (that is, most
+recently set ones come first, oldest ones come last).")
+
+
+(defvar bookmark-automatically-show-annotations t
+ "*Nil means don't show annotations when jumping to a bookmark.")
+
+
+(defvar bookmark-bmenu-file-column 30
+ "*Column at which to display filenames in a buffer listing bookmarks.
+You can toggle whether files are shown with \\<bookmark-bmenu-mode-map>\\[bookmark-bmenu-toggle-filenames].")
+
+
+(defvar bookmark-bmenu-toggle-filenames t
+ "*Non-nil means show filenames when listing bookmarks.
+This may result in truncated bookmark names. To disable this, put the
+following in your .emacs:
+
+\(setq bookmark-bmenu-toggle-filenames nil\)")
+
+
+(defvar bookmark-menu-length 70
+ "*Maximum length of a bookmark name displayed on a popup menu.")
+
+
+;;; No user-serviceable parts beyond this point.
+
+;; Is it XEmacs?
+(defconst bookmark-xemacsp
+ (string-match "\\(Lucid\\|Xemacs\\)" emacs-version))
+