X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/915cd074fd2b01673a2fee1567de98ff7312c45d..95a2cb24b0697558e6629460d8bc693b394f0138:/lisp/nxml/nxml-uchnm.el diff --git a/lisp/nxml/nxml-uchnm.el b/lisp/nxml/nxml-uchnm.el index 892a81e04a..1d92ab3879 100644 --- a/lisp/nxml/nxml-uchnm.el +++ b/lisp/nxml/nxml-uchnm.el @@ -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-2015 Free Software Foundation, Inc. ;; Author: James Clark -;; Keywords: XML +;; Keywords: wp, hypermedia, languages, 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 . ;;; 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: @@ -150,13 +145,13 @@ ) "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)))) @@ -203,19 +198,19 @@ by a hyphen." mathematical-alphanumeric-symbols) "Default value for `nxml-enabled-unicode-blocks'.") -(let ((dir (file-name-directory load-file-name))) - (mapc (lambda (block) - (let ((sym (nxml-unicode-block-char-name-set (car block)))) - (nxml-autoload-char-name-set - sym - (expand-file-name - (format "char-name/unicode/%05X-%05X" - (nth 1 block) - (nth 2 block)) - dir)))) - nxml-unicode-blocks)) +(mapc (lambda (block) + (nxml-autoload-char-name-set + (nxml-unicode-block-char-name-set (car block)) + (expand-file-name + (format "nxml/%05X-%05X" + (nth 1 block) + (nth 2 block)) + 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. @@ -224,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)" @@ -242,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)))) @@ -257,5 +248,4 @@ the variable `nxml-enabled-unicode-blocks'." (provide 'nxml-uchnm) -;; arch-tag: 440248c3-b604-467c-8b50-e83662c659a3 ;;; nxml-uchnm.el ends here