Some fixes to follow coding conventions in files maintained by FSF.
[bpt/emacs.git] / lisp / textmodes / bib-mode.el
index af6f2de..ef9a7f6 100644 (file)
@@ -1,11 +1,15 @@
-;; bib-mode, major mode for editing bib files.
+;;; bib-mode.el --- major mode for editing bib files
+
 ;; Copyright (C) 1989 Free Software Foundation, Inc.
 
+;; Maintainer: FSF
+;; Keywords: bib
+
 ;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation; either version 1, or (at your option)
+;; the Free Software Foundation; either version 2, or (at your option)
 ;; any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; GNU General Public License for more details.
 
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; see the file COPYING.  If not, write to
-;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
+;; along with GNU Emacs; see the file COPYING.  If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
 
+;;; Commentary:
 
-;; Bib-Mode
 ;;   GNU Emacs code to help maintain databases compatible with (troff)
 ;;   refer and lookbib.  The file bib-file should be set to your 
 ;;   bibliography file.  Keys are automagically inserted as you type,
 ;;   and appropriate keys are presented for various kinds of entries.
 
-(provide 'bib-mode)
+;;; Code:
+
+(defgroup bib nil
+  "Major mode for editing bib files."
+  :prefix "bib-"
+  :group 'wp)
 
-(defvar bib-file "~/my-bibliography.bib" 
-   "Default name of file used by `addbib'.")
+(defcustom bib-file "~/my-bibliography.bib"
+  "Default name of file used by `addbib'."
+    :type 'file
+    :group 'bib)
 
-(defvar unread-bib-file "~/to-be-read.bib"
-   "Default name of file used by `unread-bib' in Bib mode.")
+(defcustom unread-bib-file "~/to-be-read.bib"
+   "Default name of file used by `unread-bib' in Bib mode."
+   :type 'file
+   :group 'bib)
 
 (defvar bib-mode-map (copy-keymap text-mode-map))
 (define-key bib-mode-map "\C-M" 'return-key-bib)
@@ -132,8 +146,10 @@ the car of an entry is followed by one beginning with the cdr.
       ))
 
 
-(defvar bib-auto-capitalize t 
-"*True to automatically capitalize appropriate fields in Bib mode.")
+(defcustom bib-auto-capitalize t
+  "*True to automatically capitalize appropriate fields in Bib mode."
+  :type 'boolean
+  :group 'bib)
 
 (defconst bib-capitalized-fields "%[AETCBIJR]")
 
@@ -158,7 +174,7 @@ the car of an entry is followed by one beginning with the cdr.
       (if (and (not empty) bib-auto-capitalize
            (looking-at bib-capitalized-fields))
        (save-excursion
-         (capitalize-title-region (+ (point) 3) end-current)))
+         (bib-capitalize-title-region (+ (point) 3) end-current)))
       (goto-char beg-current)
       (if empty
        (kill-line nil)
@@ -190,17 +206,16 @@ named by variable `unread-bib-file'."
       (append-to-file (mark) (point) unread-bib-file)))
 
 
-(defvar capitalize-title-stop-words
+(defvar bib-capitalize-title-stop-words
    (concat
       "the\\|and\\|of\\|is\\|a\\|an\\|of\\|for\\|in\\|to\\|in\\|on\\|at\\|"
       "by\\|with\\|that\\|its")
-   "Words not to be capitialized in a title (unless they're the first word
-in the title).")
+   "Words not to be capitalized in a title (unless the first word).")
 
-(defvar capitalize-title-stop-regexp
-   (concat "\\(" capitalize-title-stop-words "\\)\\(\\b\\|'\\)"))
+(defvar bib-capitalize-title-stop-regexp
+   (concat "\\(" bib-capitalize-title-stop-words "\\)\\(\\b\\|'\\)"))
 
-(defun capitalize-title-region (begin end)
+(defun bib-capitalize-title-region (begin end)
    "Like `capitalize-region', but don't capitalize stop words, except the first."
    (interactive "r")
    (let ((case-fold-search nil) (orig-syntax-table (syntax-table)))
@@ -216,18 +231,22 @@ in the title).")
               (if (looking-at "[A-Z][a-z]*[A-Z]")
                  (forward-word 1)
                  (if (let ((case-fold-search t))
-                        (looking-at capitalize-title-stop-regexp))
+                        (looking-at bib-capitalize-title-stop-regexp))
                     (downcase-word 1)
                     (capitalize-word 1)))
               ))
         (set-syntax-table orig-syntax-table))))
 
 
-(defun capitalize-title (s)
+(defun bib-capitalize-title (s)
    "Like `capitalize', but don't capitalize stop words, except the first."
    (save-excursion
       (set-buffer (get-buffer-create "$$$Scratch$$$"))
       (erase-buffer)
       (insert s)
-      (capitalize-title-region (point-min) (point-max))
+      (bib-capitalize-title-region (point-min) (point-max))
       (buffer-string)))
+
+(provide 'bib-mode)
+
+;;; bib-mode.el ends here