Add 2011 to FSF/AIST copyright years.
[bpt/emacs.git] / lisp / nxml / nxml-uchnm.el
index 9514a7d..418ff91 100644 (file)
@@ -1,16 +1,16 @@
 ;;; nxml-uchnm.el --- support for Unicode standard cha names in nxml-mode
 
-;; Copyright (C) 2003, 2007 Free Software Foundation, Inc.
+;; Copyright (C) 2003, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 
 ;; Author: James Clark
 ;; Keywords: XML
 
 ;; This file is part of GNU Emacs.
 
-;; GNU Emacs is free software; you can redistribute it and/or modify
+;; 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 3, or (at your option)
-;; any later version.
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
 
 ;; GNU Emacs is distributed in the hope that it will be useful,
 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
@@ -18,9 +18,7 @@
 ;; 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, Inc., 51 Franklin Street, Fifth Floor,
-;; Boston, MA 02110-1301, USA.
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;; Commentary:
 
@@ -28,9 +26,6 @@
 ;; Standard.  The use of the names can be controlled on a per-block
 ;; basis, so as both to reduce memory usage and loading time,
 ;; and to make completion work better.
-;; The main entry point is `nxml-enable-unicode-char-name-sets'.  Typically,
-;; this is added to `nxml-mode-hook' (rng-auto.el does this already).
-;; To customize the blocks for which names are used
 
 ;;; Code:
 
     )
   "List of Unicode blocks.
 For each block there is a list (NAME FIRST LAST), where
-NAME is a string giving the offical name of the block,
+NAME is a string giving the official name of the block,
 FIRST is the first code-point and LAST is the last code-point.
 Blocks containing only characters with algorithmic names or no names
 are omitted.")
 
 (defun nxml-unicode-block-char-name-set (name)
-  "Return a symbol for a block whose offical Unicode name is NAME.
+  "Return a symbol for a block whose official Unicode name is NAME.
 The symbol is generated by downcasing and replacing each space
 by a hyphen."
   (intern (replace-regexp-in-string " " "-" (downcase name))))
@@ -213,7 +208,9 @@ by a hyphen."
           data-directory)))
       nxml-unicode-blocks)
 
-(defvar nxml-enable-unicode-char-name-sets-flag nil)
+;; Internal flag to control whether customize reloads the character tables.
+;; Should be set the first time the
+(defvar nxml-internal-unicode-char-name-sets-enabled nil)
 
 (defcustom nxml-enabled-unicode-blocks nxml-enabled-unicode-blocks-default
   "List of Unicode blocks for which Unicode character names are enabled.
@@ -222,8 +219,8 @@ of the block by downcasing and replacing each space by a hyphen."
   :group 'nxml
   :set (lambda (sym value)
         (set-default 'nxml-enabled-unicode-blocks value)
-        (when nxml-enable-unicode-char-name-sets-flag
-          (nxml-enable-unicode-char-name-sets-1)))
+        (when nxml-internal-unicode-char-name-sets-enabled
+          (nxml-enable-unicode-char-name-sets)))
   :type (cons 'set
              (mapcar (lambda (block)
                        `(const :tag ,(format "%s (%04X-%04X)"
@@ -240,11 +237,7 @@ of the block by downcasing and replacing each space by a hyphen."
 The Unicode blocks for which names are enabled is controlled by
 the variable `nxml-enabled-unicode-blocks'."
   (interactive)
-  (setq nxml-char-name-ignore-case t)
-  (setq nxml-enable-unicode-char-name-sets-flag t)
-  (nxml-enable-unicode-char-name-sets-1))
-
-(defun nxml-enable-unicode-char-name-sets-1 ()
+  (setq nxml-internal-unicode-char-name-sets-enabled t)
   (mapc (lambda (block)
           (nxml-disable-char-name-set
            (nxml-unicode-block-char-name-set (car block))))