;;; dns-mode.el --- a mode for viewing/editing Domain Name System master files
-;; Copyright (c) 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
+;; Copyright (c) 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
;; Author: Simon Josefsson <simon@josefsson.org>
;; Keywords: DNS master zone file SOA
-;; This file is not part of GNU Emacs.
+;; This file is part of GNU Emacs.
-;; This file 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 2, or (at your
-;; option) any later version.
+;; 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 2, or (at your option)
+;; any later version.
-;; This file is distributed in the hope that it will be useful, but
-;; WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-;; General Public License for more details.
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
-;; along with This file; see the file COPYING. If not, write to the
-;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-;; Boston, MA 02111-1307, USA.
+;; along with GNU Emacs; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+;; Boston, MA 02110-1301, USA.
;;; Commentary:
;;; Release history:
-;; 2004-09-11 posted on gnu.emacs.sources
+;; 2004-09-11 Posted on gnu.emacs.sources.
+;; 2004-09-13 Ported to XEmacs.
+;; 2004-09-14 Installed in Emacs CVS.
;;; Code:
(defgroup dns-mode nil
- "DNS master file mode configuration.")
+ "DNS master file mode configuration."
+ :group 'comm)
(defconst dns-mode-classes '("IN" "CS" "CH" "HS")
"List of strings with known DNS classes.")
"Name of face used for DNS classes, e.g., IN.")
(defcustom dns-mode-font-lock-keywords
- `(("^$ORIGIN" 0 dns-mode-control-entity-face)
- ("^$INCLUDE" 0 dns-mode-control-entity-face)
- ("^$[a-z0-9A-Z]+" 0 dns-mode-bad-control-entity-face)
- (,(regexp-opt dns-mode-classes) 0 dns-mode-class-face)
- (,(regexp-opt dns-mode-types) 0 dns-mode-type-face))
+ `(("^$ORIGIN" 0 ,dns-mode-control-entity-face)
+ ("^$INCLUDE" 0 ,dns-mode-control-entity-face)
+ ("^$[a-z0-9A-Z]+" 0 ,dns-mode-bad-control-entity-face)
+ (,(regexp-opt dns-mode-classes) 0 ,dns-mode-class-face)
+ (,(regexp-opt dns-mode-types) 0 ,dns-mode-type-face))
"Font lock keywords used to highlight text in DNS master file mode."
:type 'sexp
:group 'dns-mode)
(unless (featurep 'xemacs)
(set (make-local-variable 'font-lock-defaults)
'(dns-mode-font-lock-keywords nil nil ((?_ . "w")))))
- (easy-menu-add-item nil nil dns-mode-menu))
+ (easy-menu-add dns-mode-menu dns-mode-map))
;; Tools.
(message "Replaced old serial %s with %s" serial new))
(error "Cannot locate serial number in SOA record"))))))
+;;;###autoload(add-to-list 'auto-mode-alist '("\\.soa\\'" . dns-mode))
+
(provide 'dns-mode)
;; arch-tag: 6a179f0a-072f-49db-8b01-37b8f23998c0