diff --git a/.gitignore b/.gitignore
index df9101c40d..2d08f72d57 100644
--- a/.gitignore
+++ b/.gitignore
@@ -17,4 +17,5 @@ oddmuse/*
image-dired/
elim/
elpa-to-submit/nxhtml/etc/schema/xhtml-loader.rnc~
-tramp
\ No newline at end of file
+tramp
+\#*
diff --git a/README.markdown b/README.markdown
index 387bcad2c4..1482720767 100644
--- a/README.markdown
+++ b/README.markdown
@@ -19,16 +19,19 @@ screencast](http://peepcode.com/products/meet-emacs) helpful. The
## Installation
-1. Install Emacs (at least version 22)
+1. Install GNU Emacs (at least version 22, 23 is preferred)
Use your package manager if you have one.
Otherwise, Mac users should get it [from Apple](http://www.apple.com/downloads/macosx/unix_open_source/carbonemacspackage.html).
Windows users can get it [from GNU](http://ftp.gnu.org/gnu/emacs/windows/emacs-22.3-bin-i386.zip).
-2. Move the directory containing this file to ~/.emacs.d [1]
- (If you already have a directory at ~/.emacs.d move it out of the way and put this there instead.)
+2. Move the directory containing this file to ~/.emacs.d
+ (If you already have a directory at ~/.emacs.d move it out of the
+ way and put this there instead.)
3. Launch Emacs!
-If you are missing some autoloads after an update (should manifest
-itself as "void function: foobar" errors) try M-x regen-autoloads.
+If you find yourself missing some autoloads after an update (which
+should manifest itself as "void function: foobar" errors) try M-x
+regen-autoloads. After some updates an M-x recompile-init will be
+necessary; this should be noted in the commit messages.
If you want to keep your regular ~/.emacs.d in place and just launch a
single instance using the starter kit, try the following invocation:
@@ -86,6 +89,14 @@ packages. If you run into problems with such a package, try removing
everything from inside the elpa/ directory and invoking M-x
starter-kit-elpa-install in a fresh instance.
+## Variants of Emacs
+
+The Starter Kit is designed to work with GNU Emacs version 22 or
+greater. Using it with forks or other variants is not supported. It
+probably won't work with XEmacs, though some have reported getting it
+to work with Aquamacs. However, since Aquamacs is not portable,
+it's difficult to test in it.
+
## Contributing
If you know your way around Emacs, please try out the starter kit as a
diff --git a/TODO b/TODO
index 709ada020b..0afd8d9764 100644
--- a/TODO
+++ b/TODO
@@ -2,15 +2,11 @@ TODO:
Submit the packages in starter-kit-elpa.el to ELPA.
-Greg Newman is working on Python helpers.
-
-maybe include:
-* should yasnippet be included in rinari?
-
to write/finish:
* submit ruby fixes to flymake
which-func-mode in ruby?
Bug fixes:
-get jabber.el to automatically disconnect when suspending/hibernating (via dbus)
\ No newline at end of file
+get jabber.el to automatically disconnect when suspending/hibernating (via dbus)
+same with rcirc.el
\ No newline at end of file
diff --git a/elpa-to-submit/cssh.el b/elpa-to-submit/cssh.el
deleted file mode 100644
index 4fb01e4714..0000000000
--- a/elpa-to-submit/cssh.el
+++ /dev/null
@@ -1,428 +0,0 @@
-;;; cssh.el --- clusterssh implementation for emacs
-;;
-;; Copyright (C) 2008 Dimitri Fontaine
-;;
-;; Author: Dimitri Fontaine
This will of course case some problems if you do not
@@ -2264,8 +2299,10 @@ .
`css' output is normally preferred, but `font' is still useful for
-supporting old, pre-CSS browsers, or for easy embedding of colorized
-text in foreign HTML documents (no style sheet to carry around)."
- :type '(choice (const css) (const font))
+supporting old, pre-CSS browsers, and both `inline-css' and `font' for
+easier embedding of colorized text in foreign HTML documents (no style
+sheet to carry around)."
+ :type '(choice (const css) (const inline-css) (const font))
:group 'htmlize)
(defcustom htmlize-generate-hyperlinks t
@@ -160,11 +170,14 @@ do your own hyperlinkification from htmlize-after-hook.)"
(defcustom htmlize-replace-form-feeds t
"*Non-nil means replace form feeds in source code with HTML separators.
-Form feeds are the ^L characters sometimes used to separate sections of
-source code. If this variable is set to `t', form feed characters are
-retained in HTML, but followed by the " buffer)))
+;; `inline-css' output support.
+
+(defun htmlize-inline-css-body-tag (face-map)
+ (format ""
+ (mapconcat #'identity (htmlize-css-specs (gethash 'default face-map))
+ " ")))
+
+(defun htmlize-inline-css-insert-text (text fstruct-list buffer)
+ (let* ((merged (htmlize-merge-faces fstruct-list))
+ (style (htmlize-memoize
+ merged
+ (let ((specs (htmlize-css-specs merged)))
+ (and specs
+ (mapconcat #'identity (htmlize-css-specs merged) " "))))))
+ (when style
+ (princ "" buffer))
+ (princ text buffer)
+ (when style
+ (princ "" buffer))))
+
;;; `font' tag based output support.
-(defun htmlize-font-doctype ()
- nil ; no doc-string
-
- ;; According to DTDs published by the W3C, it is illegal to embed
- ;; in
separator. If this is a
-string, it specifies the replacement string, the default being
-\"\\^L\\n
\".
+Form feeds are the ^L characters at line beginnings that are sometimes
+used to separate sections of source code. If this variable is set to
+`t', form feed characters are replaced with the
separator. If this
+is a string, it specifies the replacement to use. Note that is
+temporarily closed before the separator is inserted, so the default
+replacement is effectively \"
\". If you specify
+another replacement, don't forget to close and reopen the
if you
+want the output to remain valid HTML.
If you need more elaborate processing, set this to nil and use
htmlize-after-hook."
@@ -231,6 +244,16 @@ default setting; don't change it unless you know what you're doing."
:type 'sexp
:group 'htmlize)
+(defcustom htmlize-ignore-face-size 'absolute
+ "*Whether face size should be ignored when generating HTML.
+If this is nil, face sizes are used. If set to t, sizes are ignored
+If set to `absolute', only absolute size specifications are ignored.
+Please note that font sizes only work with CSS-based output types."
+ :type '(choice (const :tag "Don't ignore" nil)
+ (const :tag "Ignore all" t)
+ (const :tag "Ignore absolute" absolute))
+ :group 'htmlize)
+
(defcustom htmlize-css-name-prefix ""
"*The prefix used for CSS names.
The CSS names that htmlize generates from face names are often too
@@ -279,6 +302,8 @@ output.")
(defvar htmlize-file-hook nil
"Hook run by `htmlize-file' after htmlizing a file, but before saving it.")
+
+(defvar htmlize-buffer-places)
;;; Some cross-Emacs compatibility.
@@ -801,6 +826,7 @@ If no rgb.txt file is found, return nil."
(defstruct htmlize-fstruct
foreground ; foreground color, #rrggbb
background ; background color, #rrggbb
+ size ; size
boldp ; whether face is bold
italicp ; whether face is italic
underlinep ; whether face is underlined
@@ -816,6 +842,8 @@ If no rgb.txt file is found, return nil."
(setf (htmlize-fstruct-foreground fstruct) (htmlize-color-to-rgb value)))
(:background
(setf (htmlize-fstruct-background fstruct) (htmlize-color-to-rgb value)))
+ (:height
+ (setf (htmlize-fstruct-size fstruct) value))
(:weight
(when (string-match (symbol-name value) "bold")
(setf (htmlize-fstruct-boldp fstruct) t)))
@@ -833,6 +861,17 @@ If no rgb.txt file is found, return nil."
(:strike-through
(setf (htmlize-fstruct-strikep fstruct) value))))
+(defun htmlize-face-size (face)
+ ;; The size (height) of FACE, taking inheritance into account.
+ ;; Only works in Emacs 21 and later.
+ (let ((size-list
+ (loop
+ for f = face then (face-attribute f :inherit)
+ until (or (not f) (eq f 'unspecified))
+ for h = (face-attribute f :height)
+ collect (if (eq h 'unspecified) nil h))))
+ (reduce 'htmlize-merge-size (cons nil size-list))))
+
(defun htmlize-face-to-fstruct (face)
"Convert Emacs face FACE to fstruct."
(let ((fstruct (make-htmlize-fstruct
@@ -862,9 +901,19 @@ If no rgb.txt file is found, return nil."
(let ((value (if (>= emacs-major-version 22)
;; Use the INHERIT arg in GNU Emacs 22.
(face-attribute face attr nil t)
- (face-attribute face attr))))
+ ;; Otherwise, fake it.
+ (let ((face face))
+ (while (and (eq (face-attribute face attr)
+ 'unspecified)
+ (not (eq (face-attribute face :inherit)
+ 'unspecified)))
+ (setq face (face-attribute face :inherit)))
+ (face-attribute face attr)))))
(when (and value (not (eq value 'unspecified)))
- (htmlize-face-emacs21-attr fstruct attr value)))))
+ (htmlize-face-emacs21-attr fstruct attr value))))
+ (let ((size (htmlize-face-size face)))
+ (unless (eql size 1.0) ; ignore non-spec
+ (setf (htmlize-fstruct-size fstruct) size))))
(t
;; Older GNU Emacs. Some of these functions are only
;; available under Emacs 20+, hence the guards.
@@ -901,6 +950,46 @@ If no rgb.txt file is found, return nil."
name))
fstruct))
+(defmacro htmlize-copy-attr-if-set (attr-list dest source)
+ ;; Expand the code of the type
+ ;; (and (htmlize-fstruct-ATTR source)
+ ;; (setf (htmlize-fstruct-ATTR dest) (htmlize-fstruct-ATTR source)))
+ ;; for the given list of boolean attributes.
+ (cons 'progn
+ (loop for attr in attr-list
+ for attr-sym = (intern (format "htmlize-fstruct-%s" attr))
+ collect `(and (,attr-sym ,source)
+ (setf (,attr-sym ,dest) (,attr-sym ,source))))))
+
+(defun htmlize-merge-size (merged next)
+ ;; Calculate the size of the merge of MERGED and NEXT.
+ (cond ((null merged) next)
+ ((integerp next) next)
+ ((null next) merged)
+ ((floatp merged) (* merged next))
+ ((integerp merged) (round (* merged next)))))
+
+(defun htmlize-merge-two-faces (merged next)
+ (htmlize-copy-attr-if-set
+ (foreground background boldp italicp underlinep overlinep strikep)
+ merged next)
+ (setf (htmlize-fstruct-size merged)
+ (htmlize-merge-size (htmlize-fstruct-size merged)
+ (htmlize-fstruct-size next)))
+ merged)
+
+(defun htmlize-merge-faces (fstruct-list)
+ (cond ((null fstruct-list)
+ ;; Nothing to do, return a dummy face.
+ (make-htmlize-fstruct))
+ ((null (cdr fstruct-list))
+ ;; Optimize for the common case of a single face, simply
+ ;; return it.
+ (car fstruct-list))
+ (t
+ (reduce #'htmlize-merge-two-faces
+ (cons (make-htmlize-fstruct) fstruct-list)))))
+
;; GNU Emacs 20+ supports attribute lists in `face' properties. For
;; example, you can use `(:foreground "red" :weight bold)' as an
;; overlay's "face", or you can even use a list of such lists, etc.
@@ -1139,13 +1228,63 @@ property and by buffer overlays that specify `face'."
;; Return METHOD's function definition for the current output type.
;; The returned object can be safely funcalled.
(let ((sym (intern (format "htmlize-%s-%s" htmlize-output-type method))))
- (indirect-function (if (fboundp sym) sym 'ignore))))
+ (indirect-function (if (fboundp sym)
+ sym
+ (let ((default (intern (concat "htmlize-default-"
+ (symbol-name method)))))
+ (if (fboundp default)
+ default
+ 'ignore))))))
+
+(defvar htmlize-memoization-table (make-hash-table :test 'equal))
+
+(defmacro htmlize-memoize (key generator)
+ "Return the value of GENERATOR, memoized as KEY.
+That means that GENERATOR will be evaluated and returned the first time
+it's called with the same value of KEY. All other times, the cached
+\(memoized) value will be returned."
+ (let ((value (gensym)))
+ `(let ((,value (gethash ,key htmlize-memoization-table)))
+ (unless ,value
+ (setq ,value ,generator)
+ (setf (gethash ,key htmlize-memoization-table) ,value))
+ ,value)))
-;;; CSS based output support.
+;;; Default methods.
+
+(defun htmlize-default-doctype ()
+ nil ; no doc-string
+ ;; According to DTDs published by the W3C, it is illegal to embed
+ ;; in
. This makes sense in general, but is bad for
+ ;; htmlize's intended usage of to specify the document color.
+
+ ;; To make generated HTML legal, htmlize's `font' mode used to
+ ;; specify the SGML declaration of "HTML Pro" DTD here. HTML Pro
+ ;; aka Silmaril DTD was a project whose goal was to produce a GPL'ed
+ ;; DTD that would encompass all the incompatible HTML extensions
+ ;; procured by Netscape, MSIE, and other players in the field.
+ ;; Apparently the project got abandoned, the last available version
+ ;; being "Draft 0 Revision 11" from January 1997, as documented at
+ ;;
. This makes sense in general, but is bad for
- ;; htmlize's intended usage of to specify the document color.
-
- ;; To make generated HTML legal, htmlize.el used to specify the SGML
- ;; declaration of "HTML Pro" DTD here. HTML Pro aka Silmaril DTD
- ;; was a project whose goal was to produce a GPL'ed DTD that would
- ;; encompass all the incompatible HTML extensions procured by
- ;; Netscape, MSIE, and other players in the field. Apparently the
- ;; project got abandoned, the last available version being "Draft 0
- ;; Revision 11" from January 1997, as documented at
- ;;
for strike-through.
- (let (bold italic underline strike fg)
- ;; Merge the face attributes.
- (dolist (fstruct fstruct-list)
- ;; A non-null boolean attribute in any face sets the attribute.
- (and (htmlize-fstruct-boldp fstruct) (setq bold t))
- (and (htmlize-fstruct-italicp fstruct) (setq italic t))
- (and (htmlize-fstruct-underlinep fstruct) (setq underline t))
- (and (htmlize-fstruct-strikep fstruct) (setq strike t))
- ;; The foreground/background of the last face in the list wins.
- (and (htmlize-fstruct-foreground fstruct)
- (setq fg (htmlize-fstruct-foreground fstruct))))
-
- ;; Generate the markup that reflects the merged attributes.
- (princ (concat
- (and fg (format "" fg))
- (and bold "")
- (and italic "")
- (and underline "")
- (and strike ""))
- buffer)
- ;; Print the text.
+ (let* ((merged (htmlize-merge-faces fstruct-list))
+ (markup (htmlize-memoize
+ merged
+ (cons (concat
+ (and (htmlize-fstruct-foreground merged)
+ (format "" (htmlize-fstruct-foreground merged)))
+ (and (htmlize-fstruct-boldp merged) "")
+ (and (htmlize-fstruct-italicp merged) "")
+ (and (htmlize-fstruct-underlinep merged) "")
+ (and (htmlize-fstruct-strikep merged) "")
- (and underline "")
- (and italic "")
- (and bold "")
- (and fg ""))
- buffer)))
+ (princ (cdr markup) buffer)))
(defun htmlize-buffer-1 ()
;; Internal function; don't call it from outside this file. Htmlize
@@ -1300,6 +1427,7 @@ property and by buffer overlays that specify `face'."
;; in advance.
(htmlize-ensure-fontified)
(clrhash htmlize-extended-character-cache)
+ (clrhash htmlize-memoization-table)
(let* ((buffer-faces (htmlize-faces-in-buffer))
(face-map (htmlize-make-face-map (adjoin 'default buffer-faces)))
;; Generate the new buffer. It's important that it inherits
@@ -1309,6 +1437,9 @@ property and by buffer overlays that specify `face'."
(file-name-nondirectory
(buffer-file-name)))
"*html*")))
+ ;; Having a dummy value in the plist allows writing simply
+ ;; (plist-put places foo bar).
+ (places '(nil nil))
(title (if (buffer-file-name)
(file-name-nondirectory (buffer-file-name))
(buffer-name))))
@@ -1318,7 +1449,9 @@ property and by buffer overlays that specify `face'."
(insert (htmlize-method doctype) ?\n
(format "\n"
htmlize-version htmlize-output-type)
- "\n \n"
+ "\n ")
+ (plist-put places 'head-start (point-marker))
+ (insert "\n"
" "))
+ (concat
+ (and (htmlize-fstruct-strikep merged) "")
+ (and (htmlize-fstruct-underlinep merged) "")
+ (and (htmlize-fstruct-italicp merged) "")
+ (and (htmlize-fstruct-boldp merged) "")
+ (and (htmlize-fstruct-foreground merged) ""))))))
+ (princ (car markup) buffer)
(princ text buffer)
- ;; Close the tags we've opened.
- (princ (concat
- (and strike "\n"))
+ (insert " ")
+ (plist-put places 'head-end (point-marker))
+ (insert "\n ")
+ (plist-put places 'body-start (point-marker))
+ (insert (htmlize-method body-tag face-map)
+ "\n ")
+ (plist-put places 'content-start (point-marker))
+ (insert "
")
+ (plist-put places 'content-end (point-marker))
+ (insert "\n ")
+ (plist-put places 'body-end (point-marker))
+ (insert "\n\n")
(when htmlize-generate-hyperlinks
(htmlize-make-hyperlinks))
(htmlize-defang-local-variables)
(when htmlize-replace-form-feeds
- ;; Change each "^L\n" to "^L\n\n"))
(let ((insert-text-method
;; Get the inserter method, so we can funcall it inside
;; the loop. Not calling `htmlize-method' in the loop
@@ -1379,20 +1515,24 @@ property and by buffer overlays that specify `face'."
;; Insert the epilog and post-process the buffer.
(with-current-buffer htmlbuf
- (insert "
\n \n\n")
+ (insert "
".
+ ;; Change each "\n^L" to "
".
(goto-char (point-min))
(let ((source
;; ^L has already been escaped, so search for that.
- (htmlize-protect-string "\^L\n"))
+ (htmlize-protect-string "\n\^L"))
(replacement
(if (stringp htmlize-replace-form-feeds)
htmlize-replace-form-feeds
- "\^L\n
")))
+ "")))
(while (search-forward source nil t)
(replace-match replacement t t))))
(goto-char (point-min))
@@ -1400,6 +1540,7 @@ property and by buffer overlays that specify `face'."
;; What sucks about this is that the minor modes, most notably
;; font-lock-mode, won't be initialized. Oh well.
(funcall htmlize-html-major-mode))
+ (set (make-local-variable 'htmlize-buffer-places) places)
(run-hooks 'htmlize-after-hook)
(buffer-enable-undo))
htmlbuf)))
@@ -1484,6 +1625,19 @@ See `htmlize-buffer' for details."
(switch-to-buffer htmlbuf))
htmlbuf))
+(defun htmlize-region-for-paste (beg end)
+ "Htmlize the region and return just the HTML as a string.
+This forces the `inline-css' style and only returns the HTML body,
+but without the BODY tag. This should make it useful for inserting
+the text to another HTML buffer."
+ (let* ((htmlize-output-type 'inline-css)
+ (htmlbuf (htmlize-region beg end)))
+ (unwind-protect
+ (with-current-buffer htmlbuf
+ (buffer-substring (plist-get htmlize-buffer-places 'content-start)
+ (plist-get htmlize-buffer-places 'content-end)))
+ (kill-buffer htmlbuf))))
+
(defun htmlize-make-file-name (file)
"Make an HTML file name from FILE.
diff --git a/elpa-to-submit/nxhtml/related/javascript-mozlab.el b/elpa-to-submit/nxhtml/alts/javascript-mozlab.el
similarity index 100%
rename from elpa-to-submit/nxhtml/related/javascript-mozlab.el
rename to elpa-to-submit/nxhtml/alts/javascript-mozlab.el
diff --git a/elpa-to-submit/nxhtml/related/js2-font-lock-new.el b/elpa-to-submit/nxhtml/alts/js2-font-lock-new.el
similarity index 100%
rename from elpa-to-submit/nxhtml/related/js2-font-lock-new.el
rename to elpa-to-submit/nxhtml/alts/js2-font-lock-new.el
diff --git a/elpa-to-submit/nxhtml/related/js2-font-lock.el b/elpa-to-submit/nxhtml/alts/js2-font-lock.el
similarity index 100%
rename from elpa-to-submit/nxhtml/related/js2-font-lock.el
rename to elpa-to-submit/nxhtml/alts/js2-font-lock.el
diff --git a/elpa-to-submit/nxhtml/related/js2-mumamo.el b/elpa-to-submit/nxhtml/alts/js2-mumamo.el
similarity index 100%
rename from elpa-to-submit/nxhtml/related/js2-mumamo.el
rename to elpa-to-submit/nxhtml/alts/js2-mumamo.el
diff --git a/elpa-to-submit/nxhtml/related/js2-new.el b/elpa-to-submit/nxhtml/alts/js2-new.el
similarity index 100%
rename from elpa-to-submit/nxhtml/related/js2-new.el
rename to elpa-to-submit/nxhtml/alts/js2-new.el
diff --git a/elpa-to-submit/nxhtml/alts/php-mode-1.5.0.el b/elpa-to-submit/nxhtml/alts/php-mode-1.5.0.el
new file mode 100644
index 0000000000..e5de2d7e4e
--- /dev/null
+++ b/elpa-to-submit/nxhtml/alts/php-mode-1.5.0.el
@@ -0,0 +1,319 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+SourceForge.net
+
+
+
+
+
+
+
+
+
+Index of /
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+File
+
+
+
+
+
+
+Rev.
+
+
+
+
+Age
+
+
+
+
+Author
+
+
+
+
+
+Last log entry
+
+
+
+
+
+
+
+
+
+
+
+
+branches/
+
+
+
+
+
+ 3
+
+ 5 years
+ turadg
+
+
+ Initial import.
+
+
+
+
+
+
+
+
+
+
+
+
+tags/
+
+
+
+
+
+ 94
+
+ 3 weeks
+ ashawley
+
+
+ Remove typo tag.
+
+
+
+
+
+
+
+
+
+
+
+
+trunk/
+
+
+
+
+
+ 96
+
+ 3 weeks
+ ashawley
+
+
+ Makefile (version): Update to 1.6.0-alpha.
+(dist): This shouldn't be the default...
+
+
+
+
+nXhtml Changes
v1.59
v1.60
v1.61
+ v1.62
+ v1.63
+ v1.64
+ v1.65
+ v1.66
+ v1.67
+ v1.68
+ v1.69
+ v1.70
+ v1.71
+ v1.72
+ v1.73
+ v1.74
+ v1.75
+ v1.76
+ v1.77
+ v1.78
+ v1.79
+ v1.80
+ v1.81
+ v1.82
+ v1.83
+ v1.84
+ v1.85
+ v1.86
+ v1.87
+ v1.88
+ v1.89
+ v1.90
+ v1.91
+ v1.92
+ v1.93
@@ -1673,7 +1708,7 @@
nXhtml Changes
nXhtml Changes
Fixed bug 290364,
see below about MuMaMo important changes.
nXhtml Changes
do.
- I have done first part of this rewrite. Chunk - dividing is now always done from the beginning. - However the routines actually finding the chunks - still looks both upwards and downwards. I will try - to remove this unnecessary complexity later. + I have done first part of this rewrite and I hope + chunk dividing can not loop any more. Chunk dividing + is now always done from the beginning. However the + routines actually finding the chunks still looks + both upwards and downwards. I will try to remove + this unnecessary complexity later. +
+ + + ++ To do that use + M-x nxhtmlmaint-start-byte-compilation. +
++ A lot of code changes to make byte compilation + possible without a lot of warnings. Most changes + where just moving code around, but some where bug + fixes. +
++ Adding nXml to Emacs 22 startup should be done by + using the file nxhtml/autostart22.el. +
++ NOTE 1: if you want to use nxhtml-mode in + multi major modes in Emacs 22 (not recommended) you + must also customize majmodpri-no-nxml. +
++ NOTE 2: The major mode nxhtml-mode as a + major-mode works however very well also in Emacs 22. +
++ Note: I thought that I should make Company Mode the default completion style. + However there are still some problem so I kept the old default completion style. +
++ Added simple functions for mirroring html files in + Firefox as typing. This works - at least for small + files. There is also support for automatic update + of Firefox when saving CSS files. +
++ This is a simple framework for communicating with + MozRepl which enqueues requests, waiting for + response prompt before sending next requests. + Maybe this can be used to make + some more efficient routines than those I have + written here. Any takers?
++ For larger files (like this one) this version is + rather slow since it always changes the whole DOM. +
+
+ On THIS Page:
|
After this files with extensions for example .html will open in nxhtml-mode.
++ To make nXhtml run faster you can also byte compile the files. + You do that with M-x nxhtmlmaint-start-byte-compilation. +
+ When you start to use a new program you often wonder + about which keybindings there are to use. If you have + not used Emacs before you may feel quite lost because + you have looked in all documentation and you have not + seen any list of keybindings. +
++ Well, that is how it often is in Emacs. Get use to it ... +
++ But do not panic. Because there is help, probably even + better than you are used to - in Emacs dynamic help + system. A help system that change if you for example add + a keybinding yourself. Try the command C-h b (or F1 + b). This list all the keybindings (in their priority + order) that are active where you are in Emacs. +
++ You can also try C-h m which gives information about + minor modes and the current major mode. There is + sometimes information about the keybindings there too. +
+@@ -778,7 +809,8 @@
- nXhtml handles for example embedded style sheets the same way as PHP: + nXhtml mode handles for example embedded style sheets the + same way as it handles PHP chunks:
++ There are a lot of other things in the package too, please + see the nXhtml menu in Emacs. You can for example find a + n-back-game (if you do not know what it is now, do not + worry, just try it and you will learn - and understand why I + put it there). +
+ The following is an example of the output you can get with htmlfontify.el. + The version used here is shipped with nXhtml. + (A new version from the original author is on its way.) +
+ +Emacs - Frame Dump | +|||
|
+ |||
+ M-x hfyview-frame | +
" "Blockquote" - ("" (r "Quote: ") "")) - (logical "c" "" "Code" - ("
" (r "Code: ") "
")) - (logical "x" "" "Sample" - ("" (r "Sample code") "")) - (logical "r" "" "Citation" - ("" (r "Citation: ") "")) - (logical "k" "" "Keyboard Input" - ("" (r "Keyboard: ") "")) - (logical "v" "" "Variable" - ("" (r "Variable: ") "")) - (logical "d" "" "Definition" - ("" (r "Definition: ") "")) - (logical "a" "" "Address" - ("" r "")) - (logical "e" "" "Emphasized" - ("" (r "Text: ") "")) - (logical "s" "" "Strong" - ("" (r "Text: ") "")) - (logical "p" "" "Preformatted" - ("" (r "Text: ") "")) - - ;;physical styles - (physical nil "
") - (physical nil "") - (physical "s" "" "Strikethru" - ("" (r "Text: ") "")) - (physical "u" "" "Underline" - ("" (r "Text: ") "")) - (physical "i" "" "Italic" - ("" (r "Text: ") "")) - (physical "b" "" "Bold" - ("" (r "Text: ") "")) - (physical "f" "" "Fixed" - ("" (r "Text: ") "")) - (physical "c" "" "Center" - (" " (r "Text: ") " ")) - -;; html4.0 stuff, omitted - -; (physical "5" "" 'r "")) -; (physical "l" "" 'r "")) - - - (scripting nil "")) - (script "v" "")) - (script "%" "<%=" "ASP output" - ("<%="(p " Variabile: ")"%>")) - (script "a" "<%xx%>" "JSP/ASP code" - ("<%\n"(r "Code: " )"\n%>")) - (script "<" "<%xx%>" "JSP/ASP break" - ("%>\n"(r "Code: " )"\n<%")) - (script "=" "=" "PHP output" - ("="(p " Variabile: ")"?>")) - (script "p" "" "PHP code" - (" PHP\n"(r "Code: " )"\n?>")) - (script "?" "" "PHP break" - ("?>\n"(r " Code: " )"\n PHP")) - )) - - -(provide 'nxhpcmpl) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; nxhpcmpl.el ends here diff --git a/elpa-to-submit/nxhtml/nxhtml/old/nxhtml-part.css b/elpa-to-submit/nxhtml/nxhtml/old/nxhtml-part.css deleted file mode 100644 index bb29f9bdef..0000000000 --- a/elpa-to-submit/nxhtml/nxhtml/old/nxhtml-part.css +++ /dev/null @@ -1,21 +0,0 @@ -body, td { - font-size: 0.9em; - font-family: Arial, sans-serif; - background-color: #ace8ff; -} -body { - max-width: 40em; - margin: 2em; -} -blockquote { - margin-left: 2em; - font-style: italic; -} -p.says cite { - color: #b8860b; -} -p.says { - margin-left: 1em; - margin-top: 0; - margin-bottom: 0; -} diff --git a/elpa-to-submit/nxhtml/nxhtml/old/nxhtml-part.el b/elpa-to-submit/nxhtml/nxhtml/old/nxhtml-part.el deleted file mode 100644 index 39d2bf0db7..0000000000 --- a/elpa-to-submit/nxhtml/nxhtml/old/nxhtml-part.el +++ /dev/null @@ -1,616 +0,0 @@ -;;; nxhtml-part.el --- edit fragments of XHTML/XML with nxhtml/nxml-mode - -;; Copyright (C) 2005, 2006, 2007 by Lennart Borgman - -;; Author: Lennart Borgman-;; Created: 2007-02-27 -(defconst nxhtml-part:version "0.58") ;; Version: -;; Lxast-Updated: Tue Feb 27 23:55:23 2007 (3600 +0100) -;; Keywords: languages -;; -Features that might be required by this library: -;; -;; `browse-url', `cl'. -;; - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Commentary: -;; -;; This file contains two minor modes `nxml-part-mode' and -;; `nxhtml-part-mode' that can be used to edit part of an XML/XHTML -;; file using `nxml-mode' / `nxhtml-mode' features. This is -;; accomplished by adding a header and a footer so that the part to -;; edit is in the correct XML context. -;; -;; When saving the file the header and footer part is not saved. -;; -;; The header and the footer XML parts can be customized. Default -;; values are chosen so that the XML context is inside the -tag -;; in an XHTML document. -;; -;; ***Note***: If you use this for XHTML (blogging for example) you -;; may want to put the file nxhtml-part.css in the same directory as -;; nxhtml-part.el. - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; History: -;; -;; 2005-12-25: Tried to use correct coding system for write. -;; 2005-12-27: Better view functions. -;; Saving does not screw up undos now. -;; 2006-01-23: Added `xmlpe-auto-mode'. Removed several functions. -;; Removed `xmlpe-extension-list'. -;; Added `xmlpe-mode-alist'. -;; New way to choose mode, more like `auto-mode-alist'. -;; 2006-03-27: Corrected bugs in use of `xmlpe-mode-alist'. -;; -;; 2007-02-26: Removed 'intangible property. I believe this caused the -;; fontification to loop and it was not used any more. -;; 2007-02-27: Moved this from xmlpe.el to nxhtml-part.el. -;; Added `nxml-part-mode' and `nxhtml-part-mode'. - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; This file is not part of Emacs - -;; This program 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 program 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 program; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Code: - -(require 'browse-url) -(eval-when-compile (require 'cl)) -(eval-when-compile - (unless (featurep 'nxml-nxhtml-autostart) - (let ((efn (expand-file-name "../autostart.el"))) - (load efn)) - (require 'rng-valid) - (require 'nxml-mode) - ;;(require 'rng-nxml) - )) - - -(defgroup nxhtml-part nil - "Customization group for `nxhtml-part-mode' and `nxml-part-mode'." - :group 'languages - :group 'nxhtml) - -(defcustom nxhtml-part-header-footer-alist - '( - ;;;;;; XHTML iso-8859-1 - ("xhtml-iso-8859-1" - " - - - - - - - - -" - " - -\n") - - ;;;;;; XHTML utf-8 - ("xhtml-utf-8" - " - - - - - - - - -" - " - -\n") - - ) - - "Available headers+footers to insert in buffer around XML code. -Each entry in the list has the form - - (key header footer) - -KEY is used by `nxhtml-part-header-footer-name' to find an entry in the -list. The value of HEADER and FOOTER in this entry is used by -`nxhtml-part-mode' to temporary insert headers and footers in the -buffer edited. - -Default header is a header for XHTML upto and including the - starting tag. - -Default is footer for XHTML, ie ." - :type '(repeat - (list - (string :tag "Key") - (string :tag "Header") - (string :tag "Footer"))) - :group 'nxhtml-part) - -(defvar nxhtml-part-header-footer-hist nil) - -(defcustom nxhtml-part-header-footer-name "xhtml-iso-8859-1" - "Name of header+footer to use. -This should be a key name in the association list -`nxhtml-part-header-footer-alist'. - -Note that this is buffer local. What you change here is the -global value that is inherited when you start `nxhtml-part-mode'." - :type 'string - :set (lambda(symbol value) - (unless (assoc value nxhtml-part-header-footer-alist) - (lwarn '(nxhtml-part-header-footer-name) :error "Can not find %s in nxhtml-part-header-footer-alist" value)) - (set-default symbol value)) - :group 'nxhtml-part) -(make-variable-buffer-local 'nxhtml-part-header-footer-name) -(put 'nxhtml-part-header-footer-name 'permanent-local t) - -(defun nxhtml-part-switch-header-footer-name(name) - (interactive (list - (let ((names)) - (unless nxhtml-part-mode - (error "This can only be done in nxhtml-part-mode!")) - (dolist (entry nxhtml-part-header-footer-alist) - (add-to-list 'names (car entry))) - (completing-read "Header-footer name: " names nil nil nxhtml-part-header-footer-name 'nxhtml-part-header-footer-hist "")))) - (if (string= nxhtml-part-header-footer-name name) - (message "Not changed (same as before)") - (fundamental-mode) - (setq nxhtml-part-header-footer-name name) - (nxhtml-part-mode))) - - -(defcustom nxhtml-part-invisible-hf t - "When non-nil header and footer are invisible. - -Note that this is buffer local. What you change here is the -global value that is inherited when you start `nxhtml-part-mode'." - :type 'boolean - :group 'nxhtml-part) -(make-variable-buffer-local 'nxhtml-part-invisible-hf) -(put 'nxhtml-part-invisible-hf 'permanent-local t) - -(defcustom nxhtml-part-hf-bgcolor "RGB:87/CE/FA" - "Background color for header and footer." - :type 'color - :group 'nxhtml-part) - -(defcustom nxhtml-part-base-bgcolor "RGB:A7/EE/FA" - "Background color for -tag." - :type 'color - :group 'nxhtml-part) - -(defvar nxhtml-part-header-overlay nil) -(make-variable-buffer-local 'nxhtml-part-header-overlay) -(put 'nxhtml-part-header-overlay 'permanent-local t) - -(defvar nxhtml-part-footer-overlay nil) -(make-variable-buffer-local 'nxhtml-part-footer-overlay) -(put 'nxhtml-part-footer-overlay 'permanent-local t) - -(defvar nxhtml-part-base-overlay nil) -(make-variable-buffer-local 'nxhtml-part-base-overlay) -(put 'nxhtml-part-base-overlay 'permanent-local t) - -(defvar nxhtml-part-base-href-overlay nil) -(make-variable-buffer-local 'nxhtml-part-base-href-overlay) -(put 'nxhtml-part-base-href-overlay 'permanent-local t) - -(defvar nxhtml-part-css-overlay nil) -(make-variable-buffer-local 'nxhtml-part-css-overlay) -(put 'nxhtml-part-css-overlay 'permanent-local t) - -(defvar nxhtml-part-css-href-overlay nil) -(make-variable-buffer-local 'nxhtml-part-css-href-overlay) -(put 'nxhtml-part-css-href-overlay 'permanent-local t) - - -(defun nxhtml-part-edit-min() - (1+ (overlay-end nxhtml-part-header-overlay))) - -(defun nxhtml-part-edit-max() - (- (overlay-start nxhtml-part-footer-overlay) 2)) - -(defun nxhtml-part--post-command() - "Function for `post-command-hook'." - (condition-case err - (let ((edit-min (nxhtml-part-edit-min)) - (edit-max (nxhtml-part-edit-max))) - (when (< (point) edit-min) - (goto-char edit-min)) - (when (> (point) edit-max) - (goto-char edit-max)) - (when mark-active - (when (< (mark) edit-min) - (set-mark edit-min)) - (when (> (mark) edit-max) - (set-mark edit-max)) - ) - (when (< (point) edit-min) - (insert "\n") - (goto-char edit-min))) - (error (message "%s" (error-message-string err))))) - -(defun nxhtml-part-toggle-invisible-hf() - "Toggle visibilty of the XML header and footer inserted by nxhtml-part-mode." - (interactive) - (setq nxhtml-part-invisible-hf (not nxhtml-part-invisible-hf)) -;; (let ((empty-line-char (1+ (overlay-end nxhtml-part-header-overlay)))) -;; (put-text-property (- empty-line-char 1) (+ empty-line-char 0) 'invisible nxhtml-part-invisible-hf)) - (when (and nxhtml-part-header-overlay (overlay-buffer nxhtml-part-header-overlay)) - (overlay-put nxhtml-part-header-overlay 'invisible nxhtml-part-invisible-hf)) - (when (and nxhtml-part-footer-overlay (overlay-buffer nxhtml-part-footer-overlay)) - (overlay-put nxhtml-part-footer-overlay 'invisible nxhtml-part-invisible-hf))) - - - -;;;;;;;;;;;;;;;; -;;; Viewing -(defvar nxhtml-part-view-buffer-name "*nxhtml-part View Buffer*") -;; Fix-me: Handle base href here! -(defun nxhtml-part-view-save-temp-file() - "Save a temporary file for viewing in web browser." - (let ((curbuf (current-buffer)) - (view-buffer (get-buffer-create nxhtml-part-view-buffer-name))) - (save-excursion - (set-buffer view-buffer) - (unless buffer-file-name - (set-visited-file-name "~/.temp-nxhtml-part-view.htm") - (rename-buffer nxhtml-part-view-buffer-name)) - (erase-buffer) - (insert - (with-current-buffer curbuf - (buffer-substring-no-properties (point-min) (point-max)))) - ;;(when (fboundp 'emacsw32-eol-set) (emacsw32-eol-set nil)) - (save-buffer) - (current-buffer)))) - -(defcustom nxhtml-part-view-region-hf-name "xhtml-iso-8859-1" - "Header-footer key name for `nxhtml-part-view-region'." - :type 'string - :group 'nxhtml-part) - -(defun nxhtml-part-view-region(start end) - "View the region in a web browser." - (interactive "r") - (unless mark-active - (error "The Region is not active")) - (let ((view-buffer (find-file-noselect "~/.temp-nxhtml-part-view-region.htm")) - (region (buffer-substring-no-properties start end))) - (with-current-buffer view-buffer - (erase-buffer) - (let* ((hf (assoc nxhtml-part-view-region-hf-name nxhtml-part-header-footer-alist)) - (header (nth 1 hf)) - (footer (nth 2 hf))) - (insert header) - (insert region) - (insert footer)) - (save-buffer)) - (browse-url (buffer-file-name view-buffer)) - ;;(kill-buffer view-buffer) - )) - -(defun nxhtml-part-view() - "View file in web browser." - (interactive) - (let ((view-buffer (nxhtml-part-view-save-temp-file))) - (browse-url (buffer-file-name view-buffer)) - ;;(kill-buffer view-buffer) - )) - -;;;;;;;;;;;;;;;;; -;;; Base hrefs -(defcustom nxhtml-part-base-href "" - "URL to insert in -tag." - :type 'string - :group 'nxhtml-part) - -;;(setq nxhtml-part-base-hrefs '("some base" "some other base")) -(defcustom nxhtml-part-base-hrefs nil - "List of hrefs to be used for -tag when viewing. -This list is used by `nxhtml-part-set-base' and is displayed as choices when reading the base URL." - :type '(repeat string) - :group 'nxhtml-part) - -(defvar nxhtml-part-set-base-hist nil) - - -(defun nxhtml-part-set-base() - (interactive) - (let ((base (completing-read "Base href URL: " nxhtml-part-base-hrefs nil nil nxhtml-part-base-href 'nxhtml-part-set-base-hist ""))) - (setq nxhtml-part-base-href base)) - (nxhtml-part-update-header-hrefs)) - - - -(defconst nxhtml-part-standard-css-href - (let* ((el-file (if load-file-name - load-file-name - (buffer-file-name))) - (el-dir (file-name-directory el-file))) - (concat el-dir "nxhtml-part.css"))) - -(defcustom nxhtml-part-css-href nxhtml-part-standard-css-href - "URL to insert in -tag." - :type 'string - :group 'nxhtml-part) - - -(defcustom nxhtml-part-css-hrefs nil - "List of hrefs to be used for CSS -tag when viewing. -This list is used by `nxhtml-part-set-css' and is displayed as choices when reading the base URL." - :type '(repeat string) - :group 'nxhtml-part) - -(defvar nxhtml-part-set-css-hist nil) - -(defun nxhtml-part-set-css() - (interactive) - (setq nxhtml-part-css-href - (let* ((new-loc-map (copy-keymap minibuffer-local-completion-map)) - (minibuffer-local-completion-map new-loc-map) - (hrefs nxhtml-part-css-hrefs)) - (add-to-list 'hrefs nxhtml-part-standard-css-href) - (add-to-list 'hrefs nxhtml-part-css-href) - (message "hrefs=%S" hrefs)(sit-for 4) - (define-key minibuffer-local-completion-map [(control ?x) (control ?f)] - (lambda() - "Choose a file." - (interactive) - (throw 'file nil))) - (let (f) - (catch 'file - (setq f - (completing-read "CSS URL (C-x C-f to browse files): " - hrefs nil nil nxhtml-part-css-href - 'nxhtml-part-set-css-hist ""))) - (unless f - (setq f (read-file-name "CSS file: "))) - f))) - (let ((hrefs nxhtml-part-css-hrefs)) - (unless (string= nxhtml-part-standard-css-href - nxhtml-part-css-href) - (add-to-list 'hrefs nxhtml-part-css-href) - (customize-set-value 'nxhtml-part-css-hrefs hrefs) - (customize-set-variable 'nxhtml-part-css-hrefs hrefs) - (customize-save-variable 'nxhtml-part-css-hrefs hrefs))) - (nxhtml-part-update-header-hrefs)) - -;;(nxhtml-part-update-header-hrefs nxhtml-part-base-href)) -(defun nxhtml-part-update-header-hrefs() - (when nxhtml-part-base-overlay - (remove-hook 'post-command-hook 'nxhtml-part--post-command t) - ;;(overlay-put nxhtml-part-header-overlay 'intangible nil) - (let ((inhibit-read-only t) - (old-modified (buffer-modified-p)) - ) - (delete-region (+ (overlay-start nxhtml-part-base-href-overlay) 1) (- (overlay-end nxhtml-part-base-href-overlay) 1)) - (delete-region (+ (overlay-start nxhtml-part-css-href-overlay) 1) (- (overlay-end nxhtml-part-css-href-overlay) 1)) - (save-excursion - (goto-char (+ (overlay-start nxhtml-part-base-href-overlay) 1)) - (insert (browse-url-file-url nxhtml-part-base-href)) - (goto-char (+ (overlay-start nxhtml-part-css-href-overlay) 1)) - (insert (browse-url-file-url nxhtml-part-css-href))) - (set-buffer-modified-p old-modified)) - (add-hook 'post-command-hook 'nxhtml-part--post-command nil t) - ;;(overlay-put nxhtml-part-header-overlay 'intangible t) - )) - - - -;;;;;;;;;;;;;;;;;;;; -;;; File extensions - - - - - - -(defun nxml-part-mode-enter() - (add-hook 'post-command-hook 'nxhtml-part--post-command t t) - (add-hook 'change-major-mode-hook 'nxml-part-change-mode nil t) - (add-hook 'write-contents-functions 'nxhtml-part-write-file-function t t) - (put 'write-contents-functions 'permanent-local t) - ;; Remove hook for coding system: - (remove-hook 'write-contents-functions 'nxml-prepare-to-save t) - (let* ((here (point-marker)) - (old-modified (buffer-modified-p)) - (header-footer (assoc nxhtml-part-header-footer-name nxhtml-part-header-footer-alist)) - (header-string (nth 1 header-footer)) - (footer-string (nth 2 header-footer)) - ) - (unless nxhtml-part-header-overlay - (goto-char (point-min)) - (insert header-string) - ;;(when (fboundp 'nxml-mode) (rng-auto-set-schema-and-validate)) - (when (memq major-mode '(nxml-mode nxhtml-mode)) (rng-auto-set-schema-and-validate)) - (put-text-property (point-min) (- (point) 1) 'read-only t) - (setq nxhtml-part-header-overlay (make-overlay (point-min) (point))) - (overlay-put nxhtml-part-header-overlay 'invisible nxhtml-part-invisible-hf) - ;;(overlay-put nxhtml-part-header-overlay 'intangible t) - (overlay-put nxhtml-part-header-overlay 'face (list (cons 'background-color nxhtml-part-hf-bgcolor))) - (overlay-put nxhtml-part-header-overlay 'pointer void-text-area-pointer) - (insert "\n")) - (unless nxhtml-part-base-overlay - (setq nxhtml-part-base-overlay nil) - (goto-char (point-min)) - (when (search-forward-regexp " ]*>" (overlay-end nxhtml-part-header-overlay) t) - (setq nxhtml-part-base-overlay (make-overlay (match-beginning 0) (match-end 0))) - (setq nxhtml-part-base-href-overlay (make-overlay (match-beginning 1) (match-end 1))) - (overlay-put nxhtml-part-base-overlay 'face (list (cons 'background-color nxhtml-part-base-bgcolor))) - (overlay-put nxhtml-part-base-overlay 'keymap nxhtml-part-base-keymap) - ;;(overlay-put nxhtml-part-base-overlay 'intangible nil) - ) - (setq nxhtml-part-css-overlay nil) - (goto-char (point-min)) - (when (search-forward-regexp "]*href *= *\\(\".*?\"\\)[^>]*rel=\"StyleSheet\"[^>]*>" (overlay-end nxhtml-part-header-overlay) t) - (setq nxhtml-part-css-overlay (make-overlay (match-beginning 0) (match-end 0))) - (setq nxhtml-part-css-href-overlay (make-overlay (match-beginning 1) (match-end 1))) - (overlay-put nxhtml-part-css-overlay 'face (list (cons 'background-color nxhtml-part-base-bgcolor))) - (overlay-put nxhtml-part-css-overlay 'keymap nxhtml-part-css-keymap) - ;;(overlay-put nxhtml-part-css-overlay 'intangible nil) - ) - ) - (when (equal here (point-min-marker)) - (setq here (point-marker))) - (unless nxhtml-part-footer-overlay - (goto-char (point-max)) - (let ((old-end (point-max))) - (insert footer-string) - (let ((old-end1 (+ old-end 1))) - (put-text-property old-end (point-max) 'read-only t) - (setq nxhtml-part-footer-overlay (make-overlay old-end1 (point-max))))) - (overlay-put nxhtml-part-footer-overlay 'invisible nxhtml-part-invisible-hf) - ;;(overlay-put nxhtml-part-footer-overlay 'intangible t) - (overlay-put nxhtml-part-footer-overlay 'face (list (cons 'background-color nxhtml-part-hf-bgcolor))) - (overlay-put nxhtml-part-footer-overlay 'pointer void-text-area-pointer)) - (set-buffer-modified-p old-modified) - (goto-char here) - (nxhtml-part-update-header-hrefs)) - ;; Run the hook for the case when this is not run as a command, ie - ;; for example when opening a file with emacsclient. - ;;(switch-to-buffer (current-buffer)) - ;;(message "before auto-set-schema")(sit-for 2) - (rng-auto-set-schema) - ;;(message "before post command hook in nxhtml-part-mode-enter")(sit-for 2) - (nxhtml-part--post-command) - ;;(message "after post command hook in nxhtml-part-mode-enter")(sit-for 2) - ) - -(defun nxhtml-part-mode-exit() - (remove-hook 'post-command-hook 'nxhtml-part--post-command t) - (put 'write-contents-functions 'permanent-local nil) - (remove-hook 'write-contents-functions 'nxhtml-part-write-file-function t) - (let ((inhibit-read-only t) - (old-modified (buffer-modified-p))) - (when (and nxhtml-part-header-overlay (overlay-buffer nxhtml-part-header-overlay)) - (delete-region (overlay-start nxhtml-part-header-overlay) (1+ (overlay-end nxhtml-part-header-overlay))) - (delete-overlay nxhtml-part-header-overlay)) - (when (and nxhtml-part-footer-overlay (overlay-buffer nxhtml-part-footer-overlay)) - (delete-region (- (overlay-start nxhtml-part-footer-overlay) 1) - (overlay-end nxhtml-part-footer-overlay)) - (delete-overlay nxhtml-part-footer-overlay)) - (set-buffer-modified-p old-modified)) - (setq nxhtml-part-header-overlay nil) - (setq nxhtml-part-footer-overlay nil) - (setq nxhtml-part-base-overlay nil)) - -(defvar nxml-part-keep-me nil) -(make-variable-buffer-local 'nxml-part-keep-me) - -(defun nxml-part-change-mode() - ;; Fix-me: In some case this might be desireable to do? Or should it ever be done?? - (unless (or (boundp 'mumamo-mode) - (and (boundp 'xhtml-multi-mode) - xhtml-multi-mode)) - (nxhtml-part-mode-exit))) - -(define-derived-mode nxhtml-part-mode nxhtml-mode "nXhtmlPart" - "Major mode for editing a part of XHTML documents. -OBSOLETE. Use just `nxhtml-mode' instead. - -Based on `nxhtml-mode." - (local-set-key [(control ?c) ?t] 'nxhtml-part-toggle-invisible-hf) - (nxml-part-mode-enter)) - -(defvar nxhtml-part-mode-map - (let ((map (make-sparse-keymap))) - (set-keymap-parent map nxhtml-mode-map) - (define-key map [(control ?c) ?t] 'nxhtml-part-toggle-invisible-hf) - map) - "Keymap for `nxhtml-part-mode'.") - -(defvar nxhtml-part-base-keymap - (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'nxhtml-part-set-base) - map)) - -(defvar nxhtml-part-css-keymap - (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'nxhtml-part-set-css) - map)) - -(define-derived-mode nxml-part-mode nxml-mode "nXmlPart" - "Mode for editing part of an XML file. -Based on `nxml-mode." - (progn - (add-hook 'change-major-mode-hook 'nxml-part-change-mode nil t) - (let ((upl-map (lookup-key nxhtml-part-mode-map [menu-bar nxhtml-mode nxhtml-upl-map]))) - (define-key upl-map [test1] - (list 'menu-item "TESTING" 'nxhtml-part-view))) - (nxml-part-mode-enter) - ) - ) - - -;; Fix-me: What should be done when using Emacs server?? -;; (defun xmlpe-done() -;; "This does what C-x # normally does. -;; \(It is supposed to call `gnuserv-edit' normally. I am not sure -;; however how this is handled when using emacs-server instead.\) - -;; Before it exits `xmlpe-mode' removes the header and footer that -;; was added." -;; (interactive) -;; (xmlpe-mode nil) -;; (funcall xmlpe-done-function)) - - -;;;;;;;;;;;;;;;;; -;;; Saving -(defun nxhtml-part-write-file-function() - "Writes the editable part of the buffer to the visited file. -Also write to the temporary file for viewing so that it is easier -to view the contents after saving. - -Added to hook `write-contents-functions'." - ;;(unless (eq major-mode 'nxhtml-part-mode) (error "nxhtml-part-write-file-function called but not in nxhtml-part-mode")) - ;; Save to temp file too to make it easier to view - (when (memq major-mode '(nxhtml-part-mode nxml-part-mode)) - (nxhtml-part-view-save-temp-file)) - ;; Save the editable region - ;;(when (eq major-mode 'nxml-mode) (setq buffer-file-coding-system nil) (nxml-prepare-to-save) ) - (let ((coding-system-for-write buffer-file-coding-system)) - (write-region (1+ (overlay-end nxhtml-part-header-overlay)) - (1- (overlay-start nxhtml-part-footer-overlay)) - (buffer-file-name))) - (set-buffer-modified-p nil) - (clear-visited-file-modtime) - t ;; Already written! - ) - -(defun nxhtml-part-new() - "Create a temporary buffer in `nxhtml-part-mode'." - (interactive) - (switch-to-buffer (generate-new-buffer "*Nxthml Part Temporary Buffer*")) - (nxhtml-part-mode) - ) - -(provide 'nxhtml-part) - -;;; nxhtml-part.el ends here diff --git a/elpa-to-submit/nxhtml/nxhtml/old/xhtmlin.el b/elpa-to-submit/nxhtml/nxhtml/old/xhtmlin.el deleted file mode 100644 index 8011071af1..0000000000 --- a/elpa-to-submit/nxhtml/nxhtml/old/xhtmlin.el +++ /dev/null @@ -1,256 +0,0 @@ -;;; xhtmlin.el --- Insert XHTML code fragment for some tags -;; -;; Author: Lennart Borgman -;; Created: Thu Dec 29 22:45:47 2005 -(setq xhtmlin:version "0.31") ;; Version: -;; Last-Updated: Mon Feb 27 22:28:29 2006 (3600 +0100) -;; Keywords: -;; Compatibility: -;; -;; Features that might be required by this library: -;; -;; None -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Commentary: -;; -;; Easy insertion of some XHTML tags. -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Change log: -;; -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; This program 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 program 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 program; see the file COPYING. If not, write to the -;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. -;; -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Code: - -(defcustom xhtmlin-files-must-exist t - "If non-nil then files pointed to must exist." - :type 'boolean - :group 'xhtmlin) - -(defcustom xhtmlin-check-web-links t - "If non-nil then web links are checked." - :type 'boolean - :group 'xhtmlin) - -(defun xhtmlin-get-url(url) - "Check URL and return it or a relative path to it. -If URL is a local file path and `xhtmlin-files-must-exist' is -non-nil then the file must exist. - -If URL is a web link and `xhtmlin-check-web-links' is non-nil -then the user is asked if the file should be checked." - (if (file-name-absolute-p url) - (progn - (when xhtmlin-files-must-exist - (unless (file-exists-p url) - (error "Can't find file %s" url))) - (if (not (buffer-file-name)) - url - (file-relative-name url - (file-name-directory (buffer-file-name))))) - (if (not (string-match url-nonrelative-link url)) - url - (if (and xhtmlin-check-web-links nil - (y-or-n-p "Check web url? ")) - (if (url-http-file-exists-p url) - url - (error "Can't find %s" url)) - url)))) - -(defvar xhtmlin-insertable nil - "Function to check if the tag can be inserted at `point'.") -(defun xhtmlin-insertable (tag) - (if xhtmlin-insertable - (unless (funcall xhtmlin-insertable tag) - (error "Can't insert a %s tag here" tag)) - t)) - -(defun xhtmlin-insertable(tag) - (let ((len 0)) - (when (fboundp 'nxhtml-check-insertable) - (setq len (nxhtml-check-insertable tag))) - len)) - -(defun xhtmlin-insert-urlthing(tag prompt creator) - (let ((len (xhtmlin-insertable tag))) - (when len - (let ((url (expand-file-name - (read-file-name prompt)))) - (insert (substring (funcall creator url) len)))))) - -(defun xhtmlin-javascript(url &optional absolute) -;; - (let ((src (if absolute - url - (xhtmlin-get-url url)))) - (concat ""))) - -(defun xhtmlin-insert-javascript() - "Insert an xhtml header javascript href tag. -The link in the tag is checked with `xhtmlin-get-url'." - (interactive) - (xhtmlin-insert-urlthing "script" "JavaScript file: " 'xhtmlin-javascript)) - - -(defun xhtmlin-css(url &optional nocheck) -;; - (let ((href (if nocheck - url - (xhtmlin-get-url url)))) - (concat ""))) - -(defun xhtmlin-insert-css() - "Insert an xhtml header css link tag. -The link in the tag is checked with `xhtmlin-get-url'." - (interactive) - (xhtmlin-insert-urlthing "link" "CSS file: " 'xhtmlin-css)) - - -(defun xhtmlin-img(url alt &optional title nocheck) - (let* ((sizes (when (file-exists-p url) (image-size (create-image url) t))) - (usetit (if title title alt)) - (src (if nocheck - url - (xhtmlin-get-url url)))) - (when (= 0 (length usetit)) (setq usetit nil)) - (concat ""))) - -(defun xhtmlin-insert-img() - "Insert an xhtml img tag. -The link in the tag is checked with `xhtmlin-get-url'." - (interactive) - (let ((len (xhtmlin-insertable "img"))) - (when len - (let ((url (expand-file-name - (read-file-name "Image file: "))) - (alt (read-string "Alt: ")) - (title (read-string "Title: "))) - (insert (substring (xhtmlin-img url alt title) len)))))) - - -(defun xhtmlin-a(url title &optional nocheck) - (let ((href (if nocheck - url - (xhtmlin-get-url url)))) - (concat "" title ""))) - -(defun xhtmlin-insert-a() - "Insert an a tag. -The link in the tag is checked with `xhtmlin-get-url'." - (interactive) - (let ((len (xhtmlin-insertable "a"))) - (when len - (let ((url (expand-file-name - (read-file-name "Link to file: "))) - (title (read-string "Title: "))) - (insert (substring (xhtmlin-a url title) len)))))) - -(defun xhtmlin-insert-object-java() - (interactive) - (let ((len (xhtmlin-insertable "a"))) - (when len - (let ((url (expand-file-name - (read-file-name "Class file: "))) - (jar (when (y-or-n-p "Is there a jar file?") - (expand-file-name - (read-file-name "Jar file: ")))) - (h (read-string "Height: ")) - (w (read-string "Width: ")) - ) - (insert (substring (xhtmlin-object-java url jar h w) len)))))) - -(defun xhtmlin-object-java(class &optional jar height width nocheck init-params) - ;; See http://ww2.cs.fsu.edu/~steele/XHTML/appletObject.html - (let ((class-file (if nocheck - class - (xhtmlin-get-url class))) - (jar-file (when jar - (if nocheck - jar - (xhtmlin-get-url jar)))) - ) - (concat - "\n" - "\n" - "\n"))) - -(defconst xhtmlin-mode-map - (let ((map (make-sparse-keymap))) - (define-key map [menu-bar xhtmlin] (cons "Insert Link" (make-sparse-keymap))) - (define-key map [menu-bar xhtmlin insert-java-obj] '("Insert Java Object" . xhtmlin-insert-object-java)) - (define-key map [menu-bar xhtmlin insert-css] '("Insert CSS Link" . xhtmlin-insert-css)) - (define-key map [menu-bar xhtmlin insert-javascript] '("Insert Javascript or Link" . xhtmlin-insert-javascript)) - (define-key map [menu-bar xhtmlin insert-img] '("Insert Img Tag" . xhtmlin-insert-img)) - (define-key map [menu-bar xhtmlin insert-a] '("Insert A Link Tag" . xhtmlin-insert-a)) - map)) - - -(provide 'xhtmlin) -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;;; xhtmlin.el ends here diff --git a/elpa-to-submit/nxhtml/nxhtml/old/xmlpe.css b/elpa-to-submit/nxhtml/nxhtml/old/xmlpe.css deleted file mode 100644 index 47bb9f46cc..0000000000 --- a/elpa-to-submit/nxhtml/nxhtml/old/xmlpe.css +++ /dev/null @@ -1,21 +0,0 @@ -body, td { - font-size: 0.9em; - font-family: Arial, sans-serif; - background-color: #fff8dc; -} -body { - max-width: 40em; - margin: 2em; -} -blockquote { - margin-left: 2em; - font-style: italic; -} -p.says cite { - color: #b8860b; -} -p.says { - margin-left: 1em; - margin-top: 0; - margin-bottom: 0; -} diff --git a/elpa-to-submit/nxhtml/nxhtml/old/xmlpe.el b/elpa-to-submit/nxhtml/nxhtml/old/xmlpe.el deleted file mode 100644 index 8a2d8e028c..0000000000 --- a/elpa-to-submit/nxhtml/nxhtml/old/xmlpe.el +++ /dev/null @@ -1,693 +0,0 @@ -;;; xmlpe.el --- Xml Part Edit - edit fragmens of XML using nxml-mode - -;; Copyright (C) 2005, 2006, 2007 by Lennart Borgman - -;; Author: Lennart Borgman -;; Created: 2005-06-17 -(defconst xmlpe:version "0.58") ;; Version: -;; Last-Updated: Tue Feb 27 12:06:07 2007 (3600 +0100) -;; Keywords: languages -;; -Features that might be required by this library: -;; -;; `browse-url', `cl'. -;; - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Commentary: -;; -;; This file contains a minor mode `xmlpe-mode' that can be used to -;; edit part of an XML file, but still use the DTD. This is -;; accomplished by adding a header and a footer so that the part to -;; edit is in the correct XML context. When nxml-mode is used as the -;; major mode syntax can now be checked. -;; -;; You can however use any major mode together with `xmlpe-mode'. -;; When saving the file the header and footer part is not saved. -;; -;; The header and the footer XML parts can be customized. Default -;; values are choosen so that the XML context is inside the -tag -;; in an XHTML document. -;; -;; To use xmlpe.el in your .emacs or elsewhere enter -;; -;; (require 'xmlpe) -;; -;; Then open the file with the XML fragment, choose major mode and -;; then enter M-x xmlpe-mode. -;; -;; Alternatively if you use a special file names (or extensions) you -;; can use `auto-mode-alist' together with `xmlpe-mode-alist' to -;; automatically set major mode and enter `xmlpe-mode'. -;; -;; (add-to-list 'auto-mode-alist '("\\.htmlf" . xmlpe-auto-mode)) -;; (xmlpe-set-mode-alist-entry '("\\.htmlf" . nxhtml-mode)) -;; -;; or even -;; -;; (add-to-list 'auto-mode-alist '("\\.htmlf" . xmlpe-auto-mode)) -;; (xmlpe-set-mode-alist-entry '("\\.htmlf" nxhtml-mode nil -;; "xhtml-iso-8859-1")) -;; -;; The first form will open files with extension .htmlf in -;; `nxhtml-mode' and set the minor mode `xmlpe-mode'. The second form -;; also chooses what header-footer to use in `xmlpe-mode'. -;; -;; ***Note***: If you use this for XHTML (blogging for example) you -;; may want to put the file xmlpe.css in the same directory as -;; xmlpe.el. - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; History: -;; -;; 2005-12-25: Tried to use correct coding system for write. -;; 2005-12-27: Better view functions. -;; Saving does not screw up undos now. -;; 2006-01-23: Added `xmlpe-auto-mode'. Removed several functions. -;; Removed `xmlpe-extension-list'. -;; Added `xmlpe-mode-alist'. -;; New way to choose mode, more like `auto-mode-alist'. -;; 2006-03-27: Corrected bugs in use of `xmlpe-mode-alist'. -;; -;; 2007-02-26: Removed 'intangible property. I believe this caused the -;; fontification to loop and it was not used any more. - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;; This file is not part of Emacs - -;; This program 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 program 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 program; see the file COPYING. If not, write to -;; the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -;; Boston, MA 02111-1307, USA. - - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; -;;; Code: - -(require 'browse-url) -(eval-when-compile (require 'cl)) -(eval-when-compile - (unless (featurep 'nxml-nxhtml-autostart) - (let ((efn (expand-file-name "../autostart.el"))) - (load efn)) - (require 'rng-valid) - (require 'nxml-mode) - ;;(require 'rng-nxml) - )) - - -(defgroup xmlpe nil - "Customization group for xmlpe (Xml Part Editor)." - :group 'languages) - -(defcustom xmlpe-header-footer-alist - '( - ;;;;;; XHTML iso-8859-1 - ("xhtml-iso-8859-1" - " - - - - - - - - -" - " - -\n") - - ;;;;;; XHTML utf-8 - ("xhtml-utf-8" - " - - - - - - - - -" - " - -\n") - - ) - - "Available headers+footers to insert in buffer around XML code. -Each entry in the list has the form - - (key header footer) - -KEY is used by `xmlpe-header-footer-name' to find an entry in the -list. The value of HEADER and FOOTER in this entry is used by -`xmlpe-mode' to temporary insert headers and footers in the -buffer edited. - -Default header is a header for XHTML upto and including the - starting tag. - -Default is footer for XHTML, ie ." - :type '(repeat - (list - (string :tag "Key") - (string :tag "Header") - (string :tag "Footer"))) - :group 'xmlpe) - -(defvar xmlpe-header-footer-hist nil) - -(defcustom xmlpe-header-footer-name "xhtml-iso-8859-1" - "Name of header+footer to use. -This should be a key name in the association list -`xmlpe-header-footer-alist'. - -Note that this is buffer local. What you change here is the -global value that is inherited when you start `xmlpe-mode'." - :type 'string - :set (lambda(symbol value) - (unless (assoc value xmlpe-header-footer-alist) - (lwarn '(xmlpe-header-footer-name) :error "Can not find %s in xmlpe-header-footer-alist" value)) - (set-default symbol value)) - :group 'xmlpe) - -(defun xmlpe-switch-header-footer-name(name) - (interactive (list - (let ((names)) - (unless xmlpe-mode - (error "This can only be done in xmlpe-mode!")) - (dolist (entry xmlpe-header-footer-alist) - (add-to-list 'names (car entry))) - (completing-read "Header-footer name: " names nil nil xmlpe-header-footer-name 'xmlpe-header-footer-hist "")))) - (if (string= xmlpe-header-footer-name name) - (message "Not changed (same as before)") - (xmlpe-mode 0) - (setq xmlpe-header-footer-name name) - (xmlpe-mode t))) - - -(defcustom xmlpe-invisible-hf nil - "When non-nil header and footer are invisible. - -Note that this is buffer local. What you change here is the -global value that is inherited when you start `xmlpe-mode'." - :type 'boolean - :group 'xmlpe) - -(defcustom xmlpe-hf-bgcolor "RGB:87/CE/FA" - "Background color for header and footer." - :type 'string - :group 'xmlpe) - -(defcustom xmlpe-base-bgcolor "RGB:A7/EE/FA" - "Background color for -tag." - :type 'string - :group 'xmlpe) - -(defvar xmlpe-header-overlay nil) -(defvar xmlpe-footer-overlay nil) -(defvar xmlpe-base-overlay nil) -(defvar xmlpe-base-href-overlay nil) -(defvar xmlpe-css-overlay nil) -(defvar xmlpe-css-href-overlay nil) - -(defun xmlpe-edit-min() - (1+ (overlay-end xmlpe-header-overlay))) - -(defun xmlpe-edit-max() - (- (overlay-start xmlpe-footer-overlay) 2)) - -(defun xmlpe--post-command() - "Function for `post-command-hook'." - (condition-case nil - (let ((edit-min (xmlpe-edit-min)) - (edit-max (xmlpe-edit-max))) - (when (< (point) edit-min) - (goto-char edit-min)) - (when (> (point) edit-max) - (goto-char edit-max)) - (when mark-active - (when (< (mark) edit-min) - (set-mark edit-min)) - (when (> (mark) edit-max) - (set-mark edit-max)) - ) - (when (< (point) edit-min) - (insert "\n") - (goto-char edit-min))) - (error (message "%s" (error-message-string err))))) - -(defun xmlpe-toggle-invisible-hf() - "Toggle visibilty of the XML header and footer inserted by xmlpe-mode." - (interactive) - (setq xmlpe-invisible-hf (not xmlpe-invisible-hf)) - (when (and xmlpe-header-overlay (overlay-buffer xmlpe-header-overlay)) - (overlay-put xmlpe-header-overlay 'invisible xmlpe-invisible-hf)) - (when (and xmlpe-footer-overlay (overlay-buffer xmlpe-footer-overlay)) - (overlay-put xmlpe-footer-overlay 'invisible xmlpe-invisible-hf))) - - -(defvar xmlpe-accept-modes - '(fundamental-mode text-mode nxml-mode nxhtml-mode html-mode sgml-mode) - "Modes from which `xmlpe-mode' can be entered.") - - -;;;;;;;;;;;;;;;; -;;; Viewing -(defvar xmlpe-view-buffer-name "*XmlPE View Buffer*") -;; Fix-me: Handle base href here! -(defun xmlpe-view-save-temp-file() - "Save a temporary file for viewing in web browser." - (let ((curbuf (current-buffer)) - (view-buffer (get-buffer-create xmlpe-view-buffer-name))) - (save-excursion - (set-buffer view-buffer) - (unless buffer-file-name - (set-visited-file-name "~/.temp-xmlpe-view.htm") - (rename-buffer xmlpe-view-buffer-name)) - (erase-buffer) - (insert - (with-current-buffer curbuf - (buffer-substring-no-properties (point-min) (point-max)))) - (when (fboundp 'emacsw32-eol-set) - (emacsw32-eol-set nil)) - (save-buffer) - (current-buffer)))) - -(defcustom xmlpe-view-region-hf-name "xhtml-iso-8859-1" - "Header-footer for `xmlpe-view-region'." - :type 'string - :group 'xmlpe) - -(defun xmlpe-view-region(start end) - "View the region in browser." - (interactive "r") - (unless (mark) - (error "The Region is not active")) - (let ((view-buffer (find-file-noselect "~/.temp-xmlpe-view-region.htm")) - (region (buffer-substring-no-properties start end))) - (with-current-buffer view-buffer - (erase-buffer) - (let* ((hf (assoc xmlpe-view-region-hf-name xmlpe-header-footer-alist)) - (header (nth 1 hf)) - (footer (nth 2 hf))) - (insert header) - (insert region) - (insert footer)) - (save-buffer)) - (browse-url (buffer-file-name view-buffer)) - (kill-buffer view-buffer))) - -(defun xmlpe-view() - "View in web browser." - (interactive) - (let ((view-buffer (xmlpe-view-save-temp-file))) - (browse-url (buffer-file-name view-buffer)) - (kill-buffer view-buffer))) - -;;;;;;;;;;;;;;;;; -;;; Base hrefs -(defcustom xmlpe-base-href "" - "URL to insert in -tag." - :type 'string - :group 'xmlpe) - -;;(setq xmlpe-base-hrefs '("some base" "some other base")) -(defcustom xmlpe-base-hrefs nil - "List of hrefs to be used for -tag when viewing. -This list is used by `xmlpe-set-base' and is displayed as choices when reading the base URL." - :type '(repeat string) - :group 'xmlpe) - -(defvar xmlpe-set-base-hist nil) - - -(defun xmlpe-set-base() - (interactive) - (let ((base (completing-read "Base href URL: " xmlpe-base-hrefs nil nil xmlpe-base-href 'xmlpe-set-base-hist ""))) - (setq xmlpe-base-href base)) - (xmlpe-update-header-hrefs)) - - - -(defcustom xmlpe-css-href - (let* ((el-file (if load-file-name - load-file-name - (buffer-file-name))) - (el-dir (file-name-directory el-file))) - (concat el-dir "xmlpe.css")) - "URL to insert in -tag." - :type 'string - :group 'xmlpe) - -(defcustom xmlpe-css-hrefs nil - "List of hrefs to be used for CSS -tag when viewing. -This list is used by `xmlpe-set-css' and is displayed as choices when reading the base URL." - :type '(repeat string) - :group 'xmlpe) - -(defvar xmlpe-set-css-hist nil) - -(defun xmlpe-set-css() - (interactive) - (setq xmlpe-css-href - (let ((has-nxhtml (fboundp 'nxhtml-read-url)) - read-with-nxhtml) - (when has-nxhtml - (setq read-with-nxhtml - (not (y-or-n-p "Choose one of your predefined CSS links? ")))) - (if read-with-nxhtml - (nxhtml-read-url nil nil nil "CSS") - (completing-read "CSS URL: " xmlpe-css-hrefs nil nil xmlpe-css-href 'xmlpe-set-css-hist "")))) - (xmlpe-update-header-hrefs)) - -;;(xmlpe-update-header-hrefs xmlpe-base-href)) -(defun xmlpe-update-header-hrefs() - (when xmlpe-base-overlay - (remove-hook 'post-command-hook 'xmlpe--post-command t) - ;;(overlay-put xmlpe-header-overlay 'intangible nil) - (let ((inhibit-read-only t) - (old-modified (buffer-modified-p)) - ) - (delete-region (+ (overlay-start xmlpe-base-href-overlay) 1) (- (overlay-end xmlpe-base-href-overlay) 1)) - (delete-region (+ (overlay-start xmlpe-css-href-overlay) 1) (- (overlay-end xmlpe-css-href-overlay) 1)) - (save-excursion - (goto-char (+ (overlay-start xmlpe-base-href-overlay) 1)) - (insert (browse-url-file-url xmlpe-base-href)) - (goto-char (+ (overlay-start xmlpe-css-href-overlay) 1)) - (insert (browse-url-file-url xmlpe-css-href))) - (set-buffer-modified-p old-modified)) - (add-hook 'post-command-hook 'xmlpe--post-command t t) - ;;(overlay-put xmlpe-header-overlay 'intangible t) - )) - - - -;;;;;;;;;;;;;;;;;;;; -;;; File extensions - -(defvar xmlpe-mode-alist - ;;nil - '(("\\.htmlf" . nxhtml-mode)) - "Alist of filename patterns vs corresponding major mode chooser. -Each element looks like \(REGEXP . CHOOSER) or \(REGEXP CHOOSER -MATCH-AGAIN HEADER-FOOTER). CHOOSER may be a major mode function -or a string. - -MATCH-AGAIN works the same way as the third element in -`auto-mode-alist'. \(Which is called NON-NIL.\) If HEADER-FOOTER -is non-nil it should be a string to use as the name of the -header-footer combination to use by `xmlpe-mode'. - -This alist is matched by `xmlpe-auto-mode' against -`buffer-file-name' the same way as `find-file' matches against -`auto-mode-alist'. If a match is found then if CHOOSER is a -function it is supposed to be the major mode function searched -for. If CHOOSER is a string it is supposed to be a file name and -the major mode function is found by matching the string against -`auto-mode-alist'.") - -(defun xmlpe-set-mode-alist-entry(entry) - "Add ENTRY to `xmlpe-mode-alist' and remove entries with same car." - (let* ((name (car entry)) - (old (assoc-string name xmlpe-mode-alist))) - (while old - (setq xmlpe-mode-alist (delete old xmlpe-mode-alist)) - (setq old (assoc-string name xmlpe-mode-alist)))) - (setq xmlpe-mode-alist (cons entry xmlpe-mode-alist))) - - -(defconst xmlpe-mode-keymap - (let ((map (make-sparse-keymap "XmlPE"))) - (define-key map [menu-bar xmlpe] (cons "XmlPE" (make-sparse-keymap "second"))) - (define-key map [menu-bar xmlpe custom] - '("Customize XmlPE" . (lambda() - (interactive) - (customize-group 'xmlpe)))) - (define-key map [menu-bar xmlpe div1] '("-" . nil)) - (define-key map [menu-bar xmlpe switch-hf] '("Switch header/footer" . xmlpe-switch-header-footer-name)) - (define-key map [menu-bar xmlpe set-base] '("Set Base Href" . xmlpe-set-base)) - (define-key map [menu-bar xmlpe set-css] '("Set CSS Href" . xmlpe-set-css)) - (define-key map [menu-bar xmlpe separator-1] '(menu-item "--")) - (define-key map [menu-bar xmlpe toggle] '("Toggle Invisible Header and Footer" . xmlpe-toggle-invisible-hf)) - (define-key map [menu-bar xmlpe view] - (list 'menu-item "View with header+footer in Web Browser" 'xmlpe-view - :enable 'xmlpe-mode)) - (define-key map [menu-bar xmlpe div2] '("-" . nil)) - - (define-key map [(control ?c) ?t] 'xmlpe-toggle-invisible-hf) - (define-key map [(control ?x) ?#] 'xmlpe-done) - map)) - -(defvar xmlpe-base-keymap - (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'xmlpe-set-base) - map)) - -(defvar xmlpe-css-keymap - (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'xmlpe-set-css) - map)) - -(defvar xmlpe-started nil) - -(define-minor-mode xmlpe-mode - "xmlpe-mode is a minor mode for editing XML fragments. - -The purpose of xmlpe-mode (Xml Part Edit Mode) is to make it -possible to edit parts of an XML document using the syntax -checking provided by nxml-mode. - -To achive this the XML code in `xmlpe-header' and `xmlpe-footer' -are temporary during xmlpe-mode inserted in the buffer around the -XML fragment to edit. They are made readonly and have a special -background color \(`xmlpe-hf-bgcolor'). You can also hide them -using `xmlpe-toggle-invisible-hf'. -" - :initial-value nil - :lighter " XmlPE" - :keymap xmlpe-mode-keymap - (if xmlpe-mode - (progn - (if (not xmlpe-started) - (progn - (setq xmlpe-mode nil) - (xmlpe-mode-start)) - (xmlpe-mode-enter)) - (when (or (eq major-mode 'nxml-mode) - (eq major-mode 'nxhtml-mode)) - ;; Select coding system: - (nxml-prepare-to-save))) - (xmlpe-mode-exit))) - -(define-derived-mode xmlpe-auto-mode fundamental-mode "Xmlpe-auto-mode" - "Mode to use for file associations with Xmlpe. -This mode is not meant to be used for editing. Instead it should -be used in `auto-mode-alist' \(and maybe `magic-mode-alist'\) for -file associations. - -When this mode is entered `xmlpe-mode-alist' is searched for a -major mode to use. - -After setting the found major mode the minor mode `xmlpe-mode' is -set." - - (let (mode - header-footer) - (if buffer-file-name - (let ((name buffer-file-name) - (case-fold-search - (memq system-type '(vax-vms windows-nt cygwin)))) - ;; Remove backup-suffixes from file name. - (setq name (file-name-sans-versions name)) - (while name - ;; Find first matching alist entry. - (if (and (setq mode (assoc-default name xmlpe-mode-alist - 'string-match)) - (consp mode) - (cadr mode)) - (progn - (setq mode (car mode) - name (substring name 0 (match-beginning 0)))) - (setq name))) - (setq header-footer (caddr mode)) - (setq mode (car mode)) - (when (stringp name) - (setq name mode) - (setq mode) - (while name - ;; Find first matching alist entry. - (if (and (setq mode (assoc-default name auto-mode-alist - 'string-match)) - (consp mode) - (cadr mode)) - (setq mode (car mode) - name (substring name 0 (match-beginning 0))) - (setq name))))) - (error "xmlpe-auto-mode: This buffer has no file name")) - (when mode (set-auto-mode-0 mode t)) - (unless mode (error "No major mode found to use")) - (let ((xmlpe-header-footer-name (if header-footer - header-footer - xmlpe-header-footer-name))) - (xmlpe-mode t)) - mode)) - -(defvar xmlpe-done-function nil) -(defun xmlpe-mode-start() - (unless (memq major-mode xmlpe-accept-modes) - (error "Can enter xmlpe-mode only from major modes in xmlpe-accept-modes (%s)." major-mode)) - ;;(when (fboundp 'nxml-mode) (unless (eq major-mode 'nxml-mode) (nxml-mode)) ) - ;;(make-variable-buffer-local 'xmlpe-this-major) - ;;(when xmlpe-this-major (unless (eq major-mode xmlpe-this-major) (funcall xmlpe-this-major))) - (make-local-variable 'xmlpe-header-footer-name) - (make-local-variable 'xmlpe-invisible-hf) - (make-local-variable 'xmlpe-started) - (make-local-variable 'xmlpe-header-overlay) - (make-local-variable 'xmlpe-footer-overlay) - (make-local-variable 'xmlpe-base-overlay) - (make-local-variable 'xmlpe-base-href-overlay) - (make-local-variable 'xmlpe-css-overlay) - (make-local-variable 'xmlpe-css-href-overlay) - ;; Fetch the keybinding for C-x # before entering xmlpe-mode: - (setq xmlpe-done-function (key-binding [(control ?x) ?#])) - (setq xmlpe-started t) - (xmlpe-mode t) - ) - -(defun xmlpe-mode-enter() - (add-hook 'post-command-hook 'xmlpe--post-command t t) - (add-hook 'write-contents-functions 'xmlpe-write-file-function t t) - ;; Remove hook for coding system: - (remove-hook 'write-contents-functions 'nxml-prepare-to-save t) - (let* ((here (point-marker)) - (old-modified (buffer-modified-p)) - (header-footer (assoc xmlpe-header-footer-name xmlpe-header-footer-alist)) - (header-string (nth 1 header-footer)) - (footer-string (nth 2 header-footer)) - ) - (unless xmlpe-header-overlay - (goto-char (point-min)) - (insert header-string) - ;;(when (fboundp 'nxml-mode) (rng-auto-set-schema-and-validate)) - (when (memq major-mode '(nxml-mode nxhtml-mode)) (rng-auto-set-schema-and-validate)) - (put-text-property (point-min) (- (point) 1) 'read-only t) - (setq xmlpe-header-overlay (make-overlay (point-min) (point))) - (when xmlpe-invisible-hf (overlay-put xmlpe-header-overlay 'invisible t)) - ;;(overlay-put xmlpe-header-overlay 'intangible t) - (overlay-put xmlpe-header-overlay 'face (list (cons 'background-color xmlpe-hf-bgcolor))) - (overlay-put xmlpe-header-overlay 'pointer void-text-area-pointer)) - (unless xmlpe-base-overlay - (setq xmlpe-base-overlay nil) - (goto-char (point-min)) - (when (search-forward-regexp " ]*>" (overlay-end xmlpe-header-overlay) t) - (setq xmlpe-base-overlay (make-overlay (match-beginning 0) (match-end 0))) - (setq xmlpe-base-href-overlay (make-overlay (match-beginning 1) (match-end 1))) - (overlay-put xmlpe-base-overlay 'face (list (cons 'background-color xmlpe-base-bgcolor))) - (overlay-put xmlpe-base-overlay 'keymap xmlpe-base-keymap) - ;;(overlay-put xmlpe-base-overlay 'intangible nil) - ) - (setq xmlpe-css-overlay nil) - (goto-char (point-min)) - (when (search-forward-regexp "]*href *= *\\(\".*?\"\\)[^>]*rel=\"StyleSheet\"[^>]*>" (overlay-end xmlpe-header-overlay) t) - (setq xmlpe-css-overlay (make-overlay (match-beginning 0) (match-end 0))) - (setq xmlpe-css-href-overlay (make-overlay (match-beginning 1) (match-end 1))) - (overlay-put xmlpe-css-overlay 'face (list (cons 'background-color xmlpe-base-bgcolor))) - (overlay-put xmlpe-css-overlay 'keymap xmlpe-css-keymap) - ;;(overlay-put xmlpe-css-overlay 'intangible nil) - ) - ) - (when (equal here (point-min-marker)) - (setq here (point-marker))) - (unless xmlpe-footer-overlay - (goto-char (point-max)) - (let ((old-end (point-max))) - (insert footer-string) - (let ((old-end1 (+ old-end 1))) - (put-text-property old-end (point-max) 'read-only t) - (setq xmlpe-footer-overlay (make-overlay old-end1 (point-max))))) - (when xmlpe-invisible-hf (overlay-put xmlpe-footer-overlay 'invisible t)) - ;;(overlay-put xmlpe-footer-overlay 'intangible t) - (overlay-put xmlpe-footer-overlay 'face (list (cons 'background-color xmlpe-hf-bgcolor))) - (overlay-put xmlpe-footer-overlay 'pointer void-text-area-pointer)) - (set-buffer-modified-p old-modified) - (goto-char here) - (xmlpe-update-header-hrefs))) - -(defun xmlpe-mode-exit() - (remove-hook 'post-command-hook 'xmlpe--post-command t) - (remove-hook 'write-contents-functions 'xmlpe-write-file-function t) - (let ((inhibit-read-only t) - (old-modified (buffer-modified-p))) - (when (and xmlpe-header-overlay (overlay-buffer xmlpe-header-overlay)) - (delete-region (overlay-start xmlpe-header-overlay) (overlay-end xmlpe-header-overlay)) - (delete-overlay xmlpe-header-overlay)) - (when (and xmlpe-footer-overlay (overlay-buffer xmlpe-footer-overlay)) - (delete-region (- (overlay-start xmlpe-footer-overlay) 1) - (overlay-end xmlpe-footer-overlay)) - (delete-overlay xmlpe-footer-overlay)) - (set-buffer-modified-p old-modified)) - (setq xmlpe-header-overlay nil) - (setq xmlpe-footer-overlay nil) - (setq xmlpe-base-overlay nil)) - ;(gnuserv-edit) - -;; Fix-me: What should be done when using Emacs server?? -(defun xmlpe-done() - "This does what C-x # normally does. -\(It is supposed to call `gnuserv-edit' normally. I am not sure -however how this is handled when using emacs-server instead.\) - -Before it exits `xmlpe-mode' removes the header and footer that -was added." - (interactive) - (xmlpe-mode nil) - (funcall xmlpe-done-function)) - - -;;;;;;;;;;;;;;;;; -;;; Saving -(defun xmlpe-write-file-function() - "Writes the editable part of the buffer to the visited file. -Also write to the temporary file for viewing so that it is easier -to view the contents after saving. - -Added to hook `write-contents-functions'." - (unless xmlpe-mode - (error "xmlpe-write-file-function called but not in xmlpe-mode")) - ;; Save to temp file too to make it easier to view - (xmlpe-view-save-temp-file) - ;; Save the editable region - ;;(when (eq major-mode 'nxml-mode) (setq buffer-file-coding-system nil) (nxml-prepare-to-save) ) - (let ((coding-system-for-write buffer-file-coding-system)) - (write-region (overlay-end xmlpe-header-overlay) - (1- (overlay-start xmlpe-footer-overlay)) - (buffer-file-name))) - (set-buffer-modified-p nil) - (clear-visited-file-modtime) - t ;; Already written! - ) - - -(provide 'xmlpe) - -;;; xmlpe.el ends here diff --git a/elpa-to-submit/nxhtml/nxhtml/rngalt.el b/elpa-to-submit/nxhtml/nxhtml/rngalt.el index 6c160d265b..16029500f9 100644 --- a/elpa-to-submit/nxhtml/nxhtml/rngalt.el +++ b/elpa-to-submit/nxhtml/nxhtml/rngalt.el @@ -46,21 +46,18 @@ ;; ;;; Code: +(eval-when-compile (require 'rng-valid)) +(eval-when-compile (require 'rng-nxml)) +(eval-when-compile (unless load-file-name (require 'nxhtml-mode))) + +(require 'rng-valid) +;;(require 'ourcomments-util) + (defvar rngalt-complete-first-try nil "First function to try for completion. If non-nil should be a function with no parameters. Used by `rngalt-complete'.") -(eval-when-compile - (unless (featurep 'nxhtml-autostart) - (let ((efn (expand-file-name "../autostart.el"))) - (load efn)) - (require 'rng-valid) - (require 'rng-nxml) - )) -(require 'rng-valid) -(require 'ourcomments-util) - (defvar rngalt-complete-last-try nil "Last function to try for completion. If non-nil should be a function with no parameters. Used by @@ -237,12 +234,19 @@ Do you want to add a fictive XHTML validation header? ") (defun rngalt-validate () (unless (= (buffer-size) 0) - (condition-case err - (while (rng-do-some-validation) nil) - (error - ;; FIX-ME: for debugging: - ;;(lwarn 'rngalt-validate :error "%s" (error-message-string err)) - nil)) + (let ((while-n1 0) + (maxn1 20)) + (condition-case err + (while (and (> maxn1 (setq while-n1 (1+ while-n1))) + (rng-do-some-validation)) + nil) + (error + ;; FIX-ME: for debugging: + ;;(lwarn 'rngalt-validate :error "%s" (error-message-string err)) + (message "rngalt-validate: %s" (error-message-string err)) + nil)) + (when (>= while-n1 maxn1) + (error "rngalt-validate: Could not validate"))) (rng-validate-done))) (defvar rngalt-region-ovl nil) @@ -429,7 +433,8 @@ available from table then this is called instead of `compleating-read' with the same parameters." (let* ((orig (buffer-substring-no-properties start (point))) (completion (try-completion orig table predicate)) - (completing-fun (if altcompl altcompl 'completing-read))) + (completing-fun (if altcompl altcompl 'completing-read)) + (completion-ignore-case t)) (cond ((not (or completion completing-fun)) (if (string= orig "") (message "No completions available") @@ -625,10 +630,13 @@ See also `rngalt-display-validation-header'." "Face first line of validation header." :group 'nxhtml) -(defun rng-set-initial-state () - "Internal use. -This is exactly the same as the original `rng-set-initial-state' -except when `rngalt-validation-header' is non-nil." +;; This is exactly the same as the original `rng-set-initial-state' +;; except when `rngalt-validation-header' is non-nil." +(defadvice rng-set-initial-state (around + rngalt-set-initial-state + activate + compile + ) (nxml-ns-init) (rng-match-start-document) (setq rng-open-elements nil) @@ -636,7 +644,7 @@ except when `rngalt-validation-header' is non-nil." (when rngalt-validation-header (let ((state (car rngalt-validation-header))) (rng-restore-state state))) - (goto-char (point-min))) + (setq ad-return-value (goto-char (point-min)))) ;; (defun rng-new-validate-prepare () ;; "Prepare to do some validation, initializing point and the state. @@ -673,6 +681,9 @@ except when `rngalt-validation-header' is non-nil." ;; (goto-char pos)) ;; (t (rng-set-initial-state)))))))))) + +;; For as-external.el +;;;###autoload (defun rngalt-set-validation-header (start-of-doc) (rng-validate-mode -1) (if start-of-doc @@ -728,13 +739,26 @@ except when `rngalt-validation-header' is non-nil." (when rng-validate-mode (rng-validate-mode -1)) (erase-buffer) (insert start-of-doc) + ;; From rng-get-state + (setq rng-match-state nil) + (setq nxml-ns-state nil) + (setq rng-open-elements nil) + ;; From rng-match-init-buffer + (setq rng-compile-table nil) + (setq rng-ipattern-table nil) + (setq rng-last-ipattern-index nil) + (nxml-mode) (rng-validate-mode 1) (rngalt-validate) - (let ((state (rng-get-state))) - (list (reverse (reverse state)) - (rng-locate-schema-file) - start-of-doc))))) + (let* ((state (rng-get-state)) + (cp-state (copy-tree state))) + ;;(if (equal state cp-state) (message "(equal state cp-state)=t") (message "(equal state cp-state)=nil")) + ;; Fix-me: is the copy-tree necessary here? + (list + cp-state + (rng-locate-schema-file) + start-of-doc))))) (defun rngalt-show-validation-header () "Show XML validation header used in current buffer. diff --git a/elpa-to-submit/nxhtml/nxhtml/test-c-m.el b/elpa-to-submit/nxhtml/nxhtml/test-c-m.el deleted file mode 100644 index aca2b88162..0000000000 --- a/elpa-to-submit/nxhtml/nxhtml/test-c-m.el +++ /dev/null @@ -1,37 +0,0 @@ - -(defvar temp-html - ;; Start-here - " - - - - -") ;; Stop-here - -(defun temp-c-m () - (let* ((temp-buffer (get-buffer-create "temp-c-m")) - (start (save-excursion - (goto-char (point-min)) - (search-forward "Start-here") - (forward-line 2) - (point))) - (end (save-excursion - (goto-char start) - (search-forward "Stop-here") - (beginning-of-line) - (point))) - (command - (concat "c:/dl/programs/Tidy.exe" - )) - (coding-system-for-read 'undecided-dos) - (coding-system-for-write 'undecided-dos) - ) - (with-current-buffer temp-buffer - (erase-buffer)) - (shell-command-on-region start end command temp-buffer nil) - (with-current-buffer temp-buffer - (goto-char (point-max)) - (insert (current-time-string) "\n\n")) - )) - -(temp-c-m) diff --git a/elpa-to-submit/nxhtml/nxhtml/test-cust.el b/elpa-to-submit/nxhtml/nxhtml/test-cust.el deleted file mode 100644 index e87a0fb639..0000000000 --- a/elpa-to-submit/nxhtml/nxhtml/test-cust.el +++ /dev/null @@ -1,75 +0,0 @@ -(define-widget 'my-assoc-widget 'lazy - "wdoc" - :offset 4 - :tag "the tag" -;; :type '(vector string string) - :type '(list (cons symbol string) - (cons symbol string)) -;; :type '(vector (cons symbol string) -;; (cons symbol string)) - - ;; :convert-widget 'widget-value-convert-widget - :value-to-external - (lambda (widget value) - (let ( - (vec (make-vector 2 0)) - ) - (dolist (v value) - ;;(message "v=%s, car=%s, cdr=%s" v (car v)(cdr v))(sit-for 2) - (let ((k (car v)) - ) - (cond ((eq k 'zero) - (aset vec 0 (cdr v))) - ((eq k 'one) - (aset vec 1 (cdr v))) - (t - (error "Bad value"))) - )) - (message "vec=%s" vec)(sit-for 2) - vec)) -;; :value-to-internal -;; (lambda (widget value) -;; (message "vti: value=%s" value)(sit-for 2) -;; (let ((iv (list -;; (cons 'zero (elt value 0)) -;; (cons 'one (elt value 1))))) -;; (message "iv=%s" iv)(sit-for 2) -;; iv)) - ) - -;; (eval-buffer) -;; (customize-option 'my-cust) -(defcustom my-cust - '((zero . "init0") (one . "init1")) - ;;(list (cons 'zero "init0") (cons 'one "init1")) - ;;["init0" "init1"] - "doc" - :type 'my-assoc-widget) - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(define-widget 'binary-tree-of-string 'lazy - "A binary tree made of cons-cells and strings." - :offset 4 - :tag "Node" - :type '(choice (string :tag "Leaf" :value "") - (cons :tag "Interior" - :value ("" . "") - binary-tree-of-string - binary-tree-of-string))) - -(defcustom foo-bar "" - "Sample variable holding a binary tree of strings." - :type 'binary-tree-of-string) - - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defcustom my-cust4 ["" ""] - "doc" - :type '(vector string string) - ) -(defcustom my-cust5 '("aa" "bbb") - "doc" - :type '(list string string) - ) diff --git a/elpa-to-submit/nxhtml/nxhtml/tests.el b/elpa-to-submit/nxhtml/nxhtml/tests.el deleted file mode 100644 index 9e1504b030..0000000000 --- a/elpa-to-submit/nxhtml/nxhtml/tests.el +++ /dev/null @@ -1,7 +0,0 @@ -(when nil - (string= - (html-upl-local-to-remote - "d:/OurComments/htdocs/googlead47f674483956c7.html" - nil) - "/ftp:ourcommentso@ftp07.powweb.com:/htdocs/googlead47f674483956c7.html" - )) diff --git a/elpa-to-submit/nxhtml/nxhtml/tidy-xhtml.el b/elpa-to-submit/nxhtml/nxhtml/tidy-xhtml.el index c35bc866ae..05da33f4b8 100644 --- a/elpa-to-submit/nxhtml/nxhtml/tidy-xhtml.el +++ b/elpa-to-submit/nxhtml/nxhtml/tidy-xhtml.el @@ -192,9 +192,11 @@ ;;;;; Forward references (stuff which must come first) (eval-when-compile (require 'cl)) +(eval-when-compile (require 'ediff)) +(eval-when-compile (require 'mumamo nil t)) (eval-when-compile (add-to-list 'load-path default-directory)) -(require 'html-site) +(eval-when-compile (require 'html-site)) (require 'easymenu) ;; This makes menus so much easier! (require 'compile) ;; To make the error buffer more sexy (require 'cus-edit) ;; Just for face custom-button @@ -1935,17 +1937,22 @@ POSITION are not used in this case. " ) (defvar tidy-menu-symbol nil) +;;(tidy-build-menu (&optional map) +;;;###autoload (defun tidy-build-menu (&optional map) "Set up the tidy menu in MAP. Used to set up a Tidy menu in your favourite mode." (interactive) ;; for debugging - (unless tidy-config-file-parsed - (tidy-parse-config-file) - (setq tidy-config-file-parsed t)) - ;;(or map (setq map (current-local-map))) - (easy-menu-remove tidy-menu) - (easy-menu-define tidy-menu-symbol map "Menu for Tidy" tidy-menu) - (easy-menu-add tidy-menu map)) + (unless tidy-menu-symbol + (unless tidy-config-file-parsed + (tidy-parse-config-file) + (setq tidy-config-file-parsed t)) + ;;(or map (setq map (current-local-map))) + (easy-menu-remove tidy-menu) + (easy-menu-define tidy-menu-symbol map "Menu for Tidy" tidy-menu) + (setq tidy-menu-symbol (delete "Tidy" tidy-menu-symbol)) + (easy-menu-add tidy-menu map)) + t) ;;;;; Option description support @@ -2272,6 +2279,7 @@ of the buffer still a hopefully suitable header is added before calling tidy." ;; Fix-me: copy back parts outside visible region (interactive) + (message "starting tidy-buffer") (let* ((is-narrowed (buffer-narrowed-p)) (validation-header (when (boundp 'rngalt-validation-header) (let ((header (nth 2 rngalt-validation-header))) @@ -2753,15 +2761,6 @@ called." (when win (set-window-point win (point-max)) )) -;; (run-with-idle-timer 0.1 nil -;; (lambda (procbuf start end) -;; (with-current-buffer procbuf -;; (font-lock-fontify-region start end) -;; )) -;; (current-buffer) -;; start -;; (point-max) -;; ) )))) ;;;}}} + diff --git a/elpa-to-submit/nxhtml/nxhtml/xhtml-help.el b/elpa-to-submit/nxhtml/nxhtml/xhtml-help.el index fb91553b39..def8fe7ee1 100644 --- a/elpa-to-submit/nxhtml/nxhtml/xhtml-help.el +++ b/elpa-to-submit/nxhtml/nxhtml/xhtml-help.el @@ -73,15 +73,16 @@ (when (looking-at "[a-z-]+") (match-string-no-properties 0)))))) - +;;;###autoload (defun xhtml-help-show-css-ref () - "Show css reference for css property name at point." + "Show CSS reference for CSS property name at point." (interactive) (let ((css-prop (xhtml-help-css-prop-at-point))) (setq css-prop (read-from-minibuffer "Get help for CSS property: " css-prop)) (when css-prop (xhtml-help-browse-css css-prop)))) +;;;###autoload (defun xhtml-help-tag-at-point () "Get xhtml tag name at or before point." (save-excursion @@ -91,6 +92,7 @@ (looking-at "?\\([[:alnum:]]+\\)")) (match-string-no-properties 1)))) +;;;###autoload (defun xhtml-help-show-tag-ref () "Show xhtml reference for tag name at or before point." (interactive) @@ -110,7 +112,7 @@ (const "http://www.w3.org/") (const "http://xhtml.com/") (const "http://www.w3schools.com/") - (const "http://learningforlife.fsu.edu/") + ;;(const "http://learningforlife.fsu.edu/") ) :group 'xhtml-help) @@ -134,12 +136,10 @@ This is used in `xhtml-help-browse-tag' and `xhtml-help-browse-css'." notvalid) (when (member default notvalid) (setq default (car choices))) - ;;(error "%s" choices) (completing-read (concat "Fetch " prompt " reference from: ") choices nil t - ;;xhtml-help-refurl default '(choices . 1)))) @@ -198,17 +198,17 @@ This is used in `xhtml-help-browse-tag' and `xhtml-help-browse-css'." "text_") ( t "")) css-prop ".asp")) - ( (equal refurl "http://learningforlife.fsu.edu/") - (let ((css-prop2 css-prop) - (cc) - (ii 0)) - (while (< ii (length css-prop)) - (setq cc (substring css-prop2 ii (1+ ii))) - (when (equal cc "-") - (store-substring css-prop2 ii "_")) - (setq ii (1+ ii))) - (concat - refurl "webmaster/references/css/" css-prop2 ".cfm"))) + ;; ( (equal refurl "http://learningforlife.fsu.edu/") + ;; (let ((css-prop2 css-prop) + ;; (cc) + ;; (ii 0)) + ;; (while (< ii (length css-prop)) + ;; (setq cc (substring css-prop2 ii (1+ ii))) + ;; (when (equal cc "-") + ;; (store-substring css-prop2 ii "_")) + ;; (setq ii (1+ ii))) + ;; (concat + ;; refurl "webmaster/references/css/" css-prop2 ".cfm"))) ( (equal refurl "http://www.w3.org/") (let ((properties "") (prop-def "")) @@ -304,56 +304,56 @@ This is used in `xhtml-help-browse-tag' and `xhtml-help-browse-css'." ( t (concat "tag_" tag ".asp") )))) - ( (equal refurl "http://learningforlife.fsu.edu/") - (concat - refurl "webmaster/references/xhtml/tags/" - (cond - ( (member tag '("body" "head" "html" "title")) - "structure/") - ( (member tag '("abbr" "acronym" "address" "blockquote" "br" "cite" - "code" "dfn" "div" "em" "h1" "h2" "h3" "h4" "h5" "h6" - "kbd" "p" "pre" "q" "samp" "span" "strong" "var")) - "text/") - ( (member tag '("a")) - "hypertext/") - ( (member tag '("dl" "dd" "dt" "ol" "ul" "li")) - "list/") - ( (member tag '("object" "param")) - "object/") - ( (member tag '("b" "big" "hr" "i" "small" "sub" "sup" "tt")) - "presentation/") - ( (member tag '("del" "ins")) - "edit/") - ( (member tag '("bdo")) - "bidirectional/") - ( (member tag '("button" "fieldset" "form" "input" "label" "legend" - "select" "optgroup" "option" "textarea")) - "forms/") - ( (member tag '("caption" "col" "colgroup" "table" "tbody" "td" - "tfoot" "th" "thead" "tr")) - "table/") - ( (member tag '("img")) - "image/") - ( (member tag '("area" "map")) - "client/") - ( (member tag '("area" "map")) - "client/") - ( (member tag '("meta")) - "meta/") - ( (member tag '("noscript" "script")) - "scripting/") - ( (member tag '("style")) - "stylesheet/") - ( (member tag '("link")) - "link/") - ( (member tag '("base")) - "base/") - ( (member tag '("base")) - "base/") - ( (member tag '("ruby" "rbc" "rtc" "rb" "rt" "rp")) - "ruby/") - ) - tag ".cfm")) + ;; ( (equal refurl "http://learningforlife.fsu.edu/") + ;; (concat + ;; refurl "webmaster/references/xhtml/tags/" + ;; (cond + ;; ( (member tag '("body" "head" "html" "title")) + ;; "structure/") + ;; ( (member tag '("abbr" "acronym" "address" "blockquote" "br" "cite" + ;; "code" "dfn" "div" "em" "h1" "h2" "h3" "h4" "h5" "h6" + ;; "kbd" "p" "pre" "q" "samp" "span" "strong" "var")) + ;; "text/") + ;; ( (member tag '("a")) + ;; "hypertext/") + ;; ( (member tag '("dl" "dd" "dt" "ol" "ul" "li")) + ;; "list/") + ;; ( (member tag '("object" "param")) + ;; "object/") + ;; ( (member tag '("b" "big" "hr" "i" "small" "sub" "sup" "tt")) + ;; "presentation/") + ;; ( (member tag '("del" "ins")) + ;; "edit/") + ;; ( (member tag '("bdo")) + ;; "bidirectional/") + ;; ( (member tag '("button" "fieldset" "form" "input" "label" "legend" + ;; "select" "optgroup" "option" "textarea")) + ;; "forms/") + ;; ( (member tag '("caption" "col" "colgroup" "table" "tbody" "td" + ;; "tfoot" "th" "thead" "tr")) + ;; "table/") + ;; ( (member tag '("img")) + ;; "image/") + ;; ( (member tag '("area" "map")) + ;; "client/") + ;; ( (member tag '("area" "map")) + ;; "client/") + ;; ( (member tag '("meta")) + ;; "meta/") + ;; ( (member tag '("noscript" "script")) + ;; "scripting/") + ;; ( (member tag '("style")) + ;; "stylesheet/") + ;; ( (member tag '("link")) + ;; "link/") + ;; ( (member tag '("base")) + ;; "base/") + ;; ( (member tag '("base")) + ;; "base/") + ;; ( (member tag '("ruby" "rbc" "rtc" "rb" "rt" "rp")) + ;; "ruby/") + ;; ) + ;; tag ".cfm")) ( t (error "Bad value for xhtml-help-refurl: %s" refurl)) ))) (browse-url url))) diff --git a/elpa-to-submit/nxhtml/nxhtmlmaint.el b/elpa-to-submit/nxhtml/nxhtmlmaint.el new file mode 100644 index 0000000000..1ca8c5a01a --- /dev/null +++ b/elpa-to-submit/nxhtml/nxhtmlmaint.el @@ -0,0 +1,344 @@ +;;; nxhtmlmaint.el --- Some maintenance helpers +;; +;; Author: Lennart Borgman (lennart O borgman A gmail O com) +;; Created: 2008-09-27T15:29:35+0200 Sat +;; Version: 0.5 +;; Last-Updated: 2009-12-30 Tue +;; URL: +;; Keywords: +;; Compatibility: +;; +;; Features that might be required by this library: +;; +;; Cannot open load file: nxhtmlmaint. +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Commentary: +;; +;; This module contains maintenance functions: +;; +;; `nxhtmlmaint-get-all-autoloads' (nxhtmlmaint-get-all-autoloads) +;; +;; `nxhtmlmaint-start-byte-compilation' +;; `nxhtmlmaint-byte-uncompile-all' +;; +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Change log: +;; +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; This program 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 program 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 program; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth +;; Floor, Boston, MA 02110-1301, USA. +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Code: + +;;(eval-when-compile (require 'ourcomments-util)) + +(defvar nxhtmlmaint-dir + (file-name-directory (if load-file-name load-file-name buffer-file-name)) + "Maintenance directory for nXhtml.") + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;;; Autoload helpers + +(defun nxhtmlmaint-autoloads-file () + "Return autoload file name for nXhtml." + (file-truename (expand-file-name "nxhtml-loaddefs.el" nxhtmlmaint-dir))) + +(defun nxhtmlmaint-util-dir () + "Return nXhtml util directory." + (file-truename (file-name-as-directory + (expand-file-name "util" nxhtmlmaint-dir)))) + +(defvar nxhtmlmaint-autoload-default-directory (nxhtmlmaint-util-dir)) + +(defvar generated-autoload-file) + +(defun nxhtmlmaint-initialize-autoloads-file () + "Initialize nXhtml autoload file." + (with-current-buffer (find-file-noselect generated-autoload-file) + (when (= 0 (buffer-size)) + (insert ";; Autoloads for nXthml +;; +;; This file should be updated by `nxhtmlmaint-get-file-autoloads', +;; `nxhtmlmaint-get-dir-autoloads' or `nxhtmlmaint-get-all-autoloads'.") + (basic-save-buffer)))) + +(defun nxmtmlmaint-advice-autoload (on) + "Activate advices if ON, otherwise turn them off." + (if on + (progn + (ad-activate 'autoload-file-load-name) + (ad-activate 'make-autoload)) + (ad-deactivate 'autoload-file-load-name) + (ad-deactivate 'make-autoload))) + +(defun nxhtmlmaint-get-file-autoloads (file) + "Get autoloads for file FILE. +Update nXhtml autoload file with them." + (interactive (list (buffer-file-name))) + (let* ((generated-autoload-file (nxhtmlmaint-autoloads-file)) + (emacs-lisp-mode-hook nil) + (default-directory (nxhtmlmaint-util-dir))) + (nxhtmlmaint-initialize-autoloads-file) + ;; Get the autoloads using advice + (nxmtmlmaint-advice-autoload t) + (update-file-autoloads file nil) + (nxmtmlmaint-advice-autoload nil) + ;; Display + (display-buffer (find-file-noselect generated-autoload-file)))) + +(defun nxhtmlmaint-get-dir-autoloads (dir) + "Get autoloads for directory DIR. +Update nXhtml autoload file with them." + (interactive (list (or (when (buffer-file-name) + (file-name-directory (buffer-file-name))) + default-directory))) + (let* ((generated-autoload-file (nxhtmlmaint-autoloads-file)) + (emacs-lisp-mode-hook nil) + (auto-buf (find-file-noselect generated-autoload-file))) + (nxhtmlmaint-initialize-autoloads-file) + ;; Get the autoloads using advice + (nxmtmlmaint-advice-autoload t) + ;; Fix-me: Loop instead, some files must be avoided. + (update-directory-autoloads dir) + (nxmtmlmaint-advice-autoload nil) + ;; Display + (display-buffer (find-file-noselect generated-autoload-file)))) + +(defun nxhtmlmaint-get-tree-autoloads (root) + "Get autoloads for directory tree ROOT. +Update nXhtml autoload file with them." + (interactive (list (or (when (buffer-file-name) + (file-name-directory (buffer-file-name))) + default-directory))) + (message "Getting autoloads in %s" root) + (nxhtmlmaint-get-dir-autoloads root) + (let* ((files (directory-files root)) + (sub-dirs (mapcar (lambda (file) + (when (and (not (member file '("." ".."))) + (not (member file '("nxml-mode-20041004" "old"))) + (not (member file '("in"))) + (file-directory-p (expand-file-name file root))) + file)) + files))) + (setq sub-dirs (delq nil sub-dirs)) + ;;(message "sub-dirs=%s" sub-dirs) + (dolist (dir sub-dirs) + (let ((full-dir (expand-file-name dir root))) + (unless (or (string= full-dir nxhtmlmaint-dir) + (string= dir "alts")) + (nxhtmlmaint-get-tree-autoloads full-dir)))))) + +;;(nxhtmlmaint-get-all-autoloads) +(defun nxhtmlmaint-get-all-autoloads () + "Get all autoloads for nXhtml. +Update nXhtml autoload file with them." + ;;(interactive) + (let ((auto-buf (find-file-noselect (nxhtmlmaint-autoloads-file)))) + (with-current-buffer auto-buf + (erase-buffer) + (basic-save-buffer)) + (nxhtmlmaint-get-tree-autoloads nxhtmlmaint-dir) + ;; `nxhtml-mode' and `nxhtml-validation-header-mode' should only be + ;; autoloaded if nxml-mode if available. + (with-current-buffer auto-buf + (message "Fixing nxml autoloads") + (let ((frmt (if (= emacs-major-version 22) + "^(autoload (quote %s) " + "^(autoload '%s "))) + (dolist (nxmode '(nxhtml-mode nxhtml-validation-header-mode)) + (goto-char (point-min)) + (when (re-search-forward (format frmt nxmode) nil t) + (forward-line 0) + (insert "(when (fboundp 'nxml-mode)\n") + (forward-sexp) + (insert ")")))) + ;; Fix defcustom autoloads + (goto-char (point-min)) + (let ((cus-auto "(custom-autoload ")) + (while (search-forward cus-auto nil t) + (backward-char (1- (length cus-auto))) + (insert "nxhtml-"))) + ;; Save + (basic-save-buffer)))) + + +(defun nxhtmlmaint-autoload-file-load-name (file) + "Return relative file name for FILE to autoload file directory." + (let ((name (if nxhtmlmaint-autoload-default-directory + (file-relative-name + file nxhtmlmaint-autoload-default-directory) + (file-name-nondirectory file)))) + (if (string-match "\\.elc?\\(\\.\\|\\'\\)" name) + (substring name 0 (match-beginning 0)) + name))) + +(defadvice autoload-file-load-name (around + nxhtmlmaint-advice-autoload-file-load-name + ;;activate + compile) + "Advice to return relative file name." + (setq ad-return-value (nxhtmlmaint-autoload-file-load-name (ad-get-arg 0)))) + +(defun nxhtmlmaint-make-autoload (form file) + "Make autoload for multi major modes." + ;;(message "form=%S" form) + (if (or (not (listp form)) + (not (eq 'define-mumamo-multi-major-mode (car form)))) + ad-return-value + (if ad-return-value + ad-return-value + ;; Fix-me: Maybe expand?? + (let ((name (nth 1 form)) + (doc (nth 2 form))) + `(autoload ',name ,file ,doc t) + )))) + +(defadvice make-autoload (after + nxhtmlmaint-advice-make-autoload + ;;activate + compile) + "Make autoload for multi major modes." + (setq ad-return-value + (nxhtmlmaint-make-autoload (ad-get-arg 0) + (ad-get-arg 1)))) + +;; (defun nxhtmlmaint-generate-library-autoloads (library) +;; "Insert at point autoloads for Emacs library LIBRARY. +;; Works like `generate-file-autoloads', but for a library." +;; (interactive +;; (list (completing-read "Generate autoloads for library: " +;; 'locate-file-completion +;; (cons load-path (get-load-suffixes))))) +;; (let ((file (locate-library library))) +;; ;; Fix-me: wasn't this defined??? +;; (generate-file-autoloads file))) + +;;;###autoload +(defun nxhtmlmaint-start-byte-compilation () + "Start byte compilation of nXhtml in new Emacs instance. +Byte compiling in general makes elisp code run 5-10 times faster +which is quite noticeable when you use nXhtml. + +This will also update the file nxhtml-loaddefs.el. + +You must restart Emacs to use the byte compiled files. + +If for some reason the byte compiled files does not work you can +remove then with `nxhtmlmaint-byte-uncompile-all'." + (interactive) + (let* ((this-file (expand-file-name "nxhtmlmaint.el" nxhtmlmaint-dir)) + (auto-file (expand-file-name "autostart.el" nxhtmlmaint-dir)) + (this-emacs (locate-file invocation-name + (list invocation-directory) + exec-suffixes)) + (process-args `(,this-emacs nil 0 nil "-Q"))) + (nxhtmlmaint-byte-uncompile-all) + (if noninteractive + (nxhtmlmaint-byte-compile-all) + ;;(when noninteractive (setq process-args (append process-args '("-batch")))) + (setq process-args (append process-args + (list "-l" this-file + "-l" auto-file + "-f" "nxhtmlmaint-byte-compile-all"))) + (message "process-args=%S" process-args) + (message "Starting new Emacs instance for byte compiling ...") + (apply 'call-process process-args)))) + +;;(nxhtmlmaint-byte-compile-all) +(defun nxhtmlmaint-byte-compile-all () + "Byte recompile all files in nXhtml that needs it." + (let* ((load-path load-path) + (nxhtml-dir (file-name-as-directory + (expand-file-name "nxhtml" + nxhtmlmaint-dir))) + (util-dir (file-name-as-directory + (expand-file-name "util" + nxhtmlmaint-dir))) + (related-dir (file-name-as-directory + (expand-file-name "related" + nxhtmlmaint-dir))) + (tests-dir (file-name-as-directory + (expand-file-name "tests" + nxhtmlmaint-dir))) + (emacsw32-dir (file-name-as-directory + (expand-file-name "../lisp" + nxhtmlmaint-dir))) + ) + (add-to-list 'load-path nxhtml-dir) + (add-to-list 'load-path util-dir) + (add-to-list 'load-path related-dir) + (add-to-list 'load-path tests-dir) + (when (file-directory-p emacsw32-dir) + (add-to-list 'load-path emacsw32-dir)) + (require 'cl) ;; This is run in a new Emacs + (let ((dummy-debug-on-error t)) + (nxhtmlmaint-byte-compile-dir nxhtmlmaint-dir nil nil)) + (message "Byte compiling is ready, restart Emacs to use the compiled files"))) + +;;;###autoload +(defun nxhtmlmaint-byte-uncompile-all () + "Delete byte compiled files in nXhtml. +This will also update the file nxhtml-loaddefs.el. + +See `nxhtmlmaint-start-byte-compilation' for byte compiling." + (interactive) + (nxhtmlmaint-get-all-autoloads) + (let ((dummy-debug-on-error t)) + (nxhtmlmaint-byte-compile-dir nxhtmlmaint-dir t t)) + (message "Byte uncompiling is ready, restart Emacs to use the elisp files")) + +(defconst nxhtmlmaint-nonbyte-compile-dirs '("." ".." "alts" "nxml-mode-20041004" "old" "tests")) + +;; Fix-me: simplify this now that nxml is not included +(defun nxhtmlmaint-byte-compile-dir (dir force del-elc) + "Byte compile or uncompile directory tree DIR. +If FORCE is non-nil byte recompile the elisp file even if the +compiled file is newer. + +If DEL-ELC is nil then byte compile files. If DEL-ELC is non-nil +then instead delete the compiled files." + ;;(directory-files (file-name-directory buffer-file-name) t "\.el\\'") + (dolist (el-src (directory-files dir t "\.el\\'")) + (let ((elc-dst (concat el-src "c"))) + (if del-elc + (when (file-exists-p elc-dst) + (delete-file elc-dst) + (message "Deleted %s" elc-dst)) + (setq debug-on-error t) + (when (or force (file-newer-than-file-p el-src elc-dst)) + ;;(message "fn=%s" (file-name-nondirectory el-src)) + (when t ;;(string= "nxhtml-menu.el" (file-name-nondirectory el-src)) + (message "(byte-compile-file %s)" el-src) + (unless (byte-compile-file el-src) + (message "Couldn't compile %s" el-src)) + ) + )))) + (dolist (f (directory-files dir t)) + (when (file-directory-p f) + ;; Fix-me: Avoid some dirs + (let ((name (file-name-nondirectory f))) + (unless (member name nxhtmlmaint-nonbyte-compile-dirs) + (nxhtmlmaint-byte-compile-dir f force del-elc)))))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; nxhtmlmaint.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/COPYING b/elpa-to-submit/nxhtml/nxml-mode-20041004/COPYING deleted file mode 100644 index d60c31a97a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program 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 of the License, or - (at your option) any later version. - - This program 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 program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/Makefile b/elpa-to-submit/nxhtml/nxml-mode-20041004/Makefile deleted file mode 100644 index 3d0554c020..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/Makefile +++ /dev/null @@ -1,82 +0,0 @@ -EXTRA=README NEWS VERSION TODO COPYING Makefile rng-auto.el \ - nxml-mode.xml nxml-mode.rnc nxml-mode.texi nxml-mode.info dir \ - test.valid.xml test.invalid.xml - -SRC=nxml-rap.el nxml-outln.el nxml-mode.el nxml-parse.el nxml-enc.el \ - nxml-uchnm.el nxml-glyph.el nxml-maint.el nxml-util.el nxml-ns.el \ - rng-dt.el rng-valid.el rng-pttrn.el rng-xsd.el rng-cmpct.el \ - rng-match.el rng-nxml.el rng-util.el rng-loc.el rng-uri.el \ - rng-parse.el rng-maint.el xsd-regexp.el xmltok.el - -ELC=nxml-rap.elc nxml-outln.elc nxml-mode.elc nxml-parse.elc nxml-enc.elc \ - nxml-uchnm.elc nxml-glyph.elc nxml-maint.elc nxml-util.elc nxml-ns.elc \ - rng-dt.elc rng-valid.elc rng-pttrn.elc rng-xsd.elc rng-cmpct.elc \ - rng-match.elc rng-nxml.elc rng-util.elc rng-loc.elc rng-uri.elc \ - rng-parse.elc rng-maint.elc xsd-regexp.elc xmltok.elc - -FILESTOCLEAN=stamp-byte-compile $(ELC) VERSION TAGS \ - nxml-mode.texi nxml-mode.info dir - -EMACS=d:/emacs/050613095156/emacs/bin/emacs -EMACS=c:/program files/emacs/emacs-21.3/bin/emacs -EMACS=emacs -ETAGS=etags -MAKEINFO=makeinfo -INSTALL-INFO=install-info -PACKAGE=nxml-mode - -stamp-byte-compile: $(SRC) - -rm -f $(ELC) - $(EMACS) -batch -no-site-file -q -l rng-auto.el -f rng-byte-compile-load - touch $(@) - -all: stamp-byte-compile nxml-mode.info - -dir: nxml-mode.info - rm -f $@ - $(INSTALL-INFO) $< $@ - -info: nxml-mode.info - -nxml-mode.info: nxml-mode.texi - $(MAKEINFO) $< - -nxml-mode.texi: nxml-mode.xml - $(EMACS) -batch -no-site-file -q -l rng-auto.el -f rng-format-manual - -VERSION: stamp-byte-compile rng-auto.el - $(EMACS) -batch -no-site-file -q -l rng-auto.el -f rng-write-version - -TAGS: $(SRC) - $(ETAGS) $(SRC) - -dist: stamp-byte-compile $(EXTRA) - @version=`cat VERSION`; \ - set -e; \ - echo Making $(PACKAGE)-$$version.tar.gz; \ - rm -fr $(PACKAGE)-$$version; \ - mkdir $(PACKAGE)-$$version; \ - cd $(PACKAGE)-$$version; \ - for f in $(EXTRA) $(SRC) $(ELC); do \ - ln -s ../$$f .; \ - done; \ - mkdir schema; \ - cd schema; \ - for f in ../../schema/*.rnc ../../schema/*.xml; do \ - ln -s $$f .; \ - done; \ - cd ..; \ - mkdir char-name; \ - mkdir char-name/unicode; \ - cd char-name/unicode; \ - for f in ../../../char-name/unicode/*-*.el; do \ - ln -s $$f .; \ - done; \ - cd ../../..; \ - tar cfhz $(PACKAGE)-$$version.tar.gz $(PACKAGE)-$$version; \ - rm -fr $(PACKAGE)-$$version - -clean: - -rm -f $(FILESTOCLEAN) - -.PHONY: all clean info diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/NEWS b/elpa-to-submit/nxhtml/nxml-mode-20041004/NEWS deleted file mode 100644 index cebbab82fd..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/NEWS +++ /dev/null @@ -1,199 +0,0 @@ -20041004 --------- - -Support for outlining has been added. See the manual for more details. - -C-u C-c C-n goes to the first error. - -20040910 --------- - -C-c RET splits the current element as in PSGML. - -20040908 --------- - -Indentation has been rewritten. Indentation of attribute names and -values should work better. The default value of -`nxml-attribute-indent' has been changed to 4. - -Syntax highlighting with a dark background should now work. - -20040726 --------- - -The attribute pathSuffix on the uri element in schema locating files -has been replaced by a more general pattern attribute. The -transformURI element now has required fromPattern and toPattern -attributes. - -The schema related bindings have been changed to use C-c C-s as a prefix -as follows: - - C-c C-s => C-c C-s C-f (f for file) - C-c C-a => C-c C-s C-a - C-c C-t => C-c C-s C-t - C-c C-l => C-c C-s C-l - C-c C-w => C-c C-s C-w - -There's now an XML menu on the menu-bar. - -20031031 --------- - -C-c C-d "dynamically" chooses a tag to put around the word before -point, rather like M-/. - -The mechanism for locating the schema has changed completely. The new -mechanism is described in the manual. Any existing customizations of -`rng-auto-element-alist' or `rng-auto-file-name-alist' will no longer -be effective. - -C-c C-a is now bound to rng-auto-set-schema. - -20031018 --------- - -Unicode names can be used to insert characters with the new command -C-c C-u. Normally, this inserts a character reference. With a prefix -arg (i.e. C-u C-c C-u), it inserts the character directly. You can -customize `nxml-enabled-unicode-blocks' to control what Unicode blocks -are used for completing names. - -Extra information is displayed for character references. The Unicode -name is displayed in a tooltip. A glyph for the referenced character -is displayed in a distinguished face following the character -reference; this can be disabled by customizing -`nxml-char-ref-display-glyph-flag'. The command -`nxml-toggle-char-ref-extra-display' dynamically toggles the display -of extra information for character references for a particular buffer. -This can be used if the display of extra information is causing -performance problems. nXML mode tries to figure out which glyphs can -be displayed. Unfortunately Emacs doesn't provide the primitives -necessary to do this properly, so nXML mode has to guess and will -sometimes guess wrong. The hook `nxml-glyph-set-hook' can be used to -change nXML mode's guess. - -New command C-c C-w says what schema is being used. - -C-c C-s now turns on validation if it is not already on. - -20030928 --------- - -M-q has been implemented so that it works reasonably with XML. Other -paragraph-related commands (M-{, M-}, M-h) have also been implemented. - -New command M-x rng-auto-set-schema to set the schema based on the -buffer's current contents and file-name. This is called automatically -when rng-validate-mode is first enabled. - -There's now a C-M-d to go with C-M-u. C-M-d moves forward down into -the content of an element. C-M-n and C-M-p move to the next or -previous element. - -By default, the sexp commands (C-M-f, C-M-b, C-M-k, C-M-SPC) operate -on tags rather than elements. To restore the old behaviour, -customize nxml-sexp-element-flag. - -The file TUTORIAL has been replaced by nxml-mode.info; this is in info -format and can be read using Emacs. The source is maintained in a -simple, ad-hoc XML format. - -20030915 --------- - -XML encodings should now work properly. When saving a buffer, -nxml-mode arranges to use the encoding declared in the XML -declaration. If there is no encoding declared, then nxml-mode will -use utf-8 or utf-16 according to the user options -`nxml-prefer-utf-16-to-utf-8-flag' and -`nxml-prefer-utf-16-little-to-big-endian-flag'. If the chosen encoding -cannot encode all the characters in the buffer, nxml-mode will -complain and give the user an opportunity to use an encoding that can. - -A new command C-c C-x inserts an XML declaration. - -The option `nxml-auto-insert-xml-declaration-flag' automatically -inserts an XML declaration in new files. - -The `nxml-default-buffer-file-coding-system' option allows a different -default buffer-file-coding-system for nXML mode buffers. This affects -what XML declaration is inserted. - -Encoding names in XML declarations are now validated by -rng-validate-mode. - -RDF/XML schema was updated to version in 05 September 2003 WD. - -20030912 --------- - -The tutorial has a new section on inserting end-tags. - -By default no longer automatically inserts the rest of the end-tag. -You can do - - M-x customize-variable RET nxml-slash-auto-complete-flag RET - -and then follow the instructions displayed in the buffer to get the -old behaviour. - -Completion after will complete the rest of the end-tag. Completion -after < will include the end-tag in the possibilities if allowed by -the schema. - -You can use C-c C-i instead of > to close the start-tag of an -inline-level element. After inserting the >, it will insert the -end-tag and leave point before the end-tag. The `i' is supposed to be -mnemonic for `inline'. C-c C-b is similar, but for block elements: the -start-tag, point and the end-tag will all be on separate lines. - -The binding for inserting an end-tag has changed from C-c / to C-c C-f -to comply with Emacs guidelines about what keys major modes should -bind. The `f' is supposed to be mnemonic for `finish'. - -Completion always puts point after all the characters it inserts. It -doesn't insert a `>' after completing a start-tag name. - -Completion no longer completes CDATA section and comment delimiters. - -The nxml-start-auto-coding command enables auto-detection of a file's -encoding as specified in the XML Recommendation for files that use -nxml-mode; rng-auto.el calls this. - -20030906 --------- - -Validation messages applicable to point are displayed automatically. - -Completion can deal with prefixes that haven't yet been declared. - -rng-preferred-prefix-alist variable added. - -Namespace URIs can be completed. - -xmlns and xmlns:* attributes can be completed. - -CDATA section and comment delimiters can be completed. - -Each kind of completion has its own history. - -Completion function moved to nxml-mode; uses a hook to allow -schema-sensitive completion. Completion function bound to C-return. -Also bound to M-TAB as before, unless -nxml-bind-meta-tab-to-complete-flag is nil. When there is a window -system, nxml-bind-meta-tab-to-complete-flag is nil by default, This -avoid problems with M-TAB, which is not passed through by several -window systems/managers. - -TUTORIAL file added. - -NEWS file added. - -Bug fixes. - -20030901 --------- - -Initial release. diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/README b/elpa-to-submit/nxhtml/nxml-mode-20041004/README deleted file mode 100644 index 4f3fc96c0f..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/README +++ /dev/null @@ -1,106 +0,0 @@ -This is a new major mode for GNU Emacs for editing XML documents. It -supports editing well-formed XML documents and also provides -schema-sensitive editing of XML documents using RELAX NG Compact -Syntax. - -To use this, you need GNU Emacs version 21.x, preferably 21.3. GNU -Emacs version 20 will not work properly, nor will XEmacs. - -To get started, do - - M-x load-file rng-auto.el - -This defines the necessary autoloads. Now, visit a file containing -an XML document, and do - - M-x nxml-mode - -Now do - - C-h m - -for information on how to use nxml-mode. - -The beginnings of a manual are in nxml-mode.info. You can read this -using - - C-u M-x info RET nxml-mode.info RET - -It's also installed as an entry at the end of the top-level info -directory. So you can read it with C-h i as usual. - -You can use test.valid.xml and test.invalid.xml as examples of valid -and invalid XML documents. - -To get things automatically loaded each time you start Emacs, add - - (load "~/nxml-mode-200YMMDD/rng-auto.el") - -to your .emacs, where ~/nxml-mode-200YMMDD is the directory containing -the .elc files. Note that rng-auto.el does not load all of the -nxml-mode code; it merely sets things up so that all the features of -nxml-mode will be autoloaded properly. You should not try to autoload -rng-auto.el itself. - -To use nxml-mode automatically for files with an extension of xml, -xsl, rng or xhtml, add - - (setq auto-mode-alist - (cons '("\\.\\(xml\\|xsl\\|rng\\|xhtml\\)\\'" . nxml-mode) - auto-mode-alist)) - -to your .emacs. - -If you edit XML using iso-8859-N encodings other than iso-8859-1 and -you are running Emacs 21.3 or later, then I recommend enabling -unify-8859-on-decoding-mode, by adding - - (unify-8859-on-decoding-mode) - -to you .emacs. - -To get validation and schema-sensitive editing, you need a RELAX NG -Compact Syntax (RNC) schema for you document. The schema directory -includes some schemas for popular document types. - -For more on RELAX NG, see - - http://relaxng.org - -For a tutorial on RELAX NG Compact Syntax, see - - http://relaxng.org/compact-tutorial.html - -For automatically creating RNC schemas, I recommend my Trang program: - - http://www.thaiopensource.com/relaxng/trang.html - -You can use this to - -- infer an RNC schema from an instance document; - -- convert a DTD to an RNC schema; - -- convert a RELAX NG XML syntax schema to an RNC schema. - -To convert a RELAX NG XML syntax (.rng) schema to a RNC schema, you -can also use the XSLT stylesheet from - - http://www.pantor.com/download.html - -To convert a W3C XML Schema to an RNC schema, you need first to -convert it to RELAX NG XML syntax using Sun's RELAX NG converter tool -rngconv (built on top of MSV). See - - https://msv.dev.java.net/ - -The file NEWS describes recent changes. - -Please use the list - - http://groups.yahoo.com/group/emacs-nxml-mode/ - -for bug reports, discussion. I will announce all new versions there. - -James Clark -http://www.jclark.com/contact.html diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/TODO b/elpa-to-submit/nxhtml/nxml-mode-20041004/TODO deleted file mode 100644 index 3e7d5012b6..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/TODO +++ /dev/null @@ -1,468 +0,0 @@ -* High priority - -** Command to insert an element template, including all required -attributes and child elements. When there's a choice of elements -possible, we could insert a comment, and put an overlay on that -comment that makes it behave like a button with a pop-up menu to -select the appropriate choice. - -** Command to tag a region. With a schema should complete using legal -tags, but should work without a schema as well. - -** Provide a way to conveniently rename an element. With a schema should -complete using legal tags, but should work without a schema as well. - -* Outlining - -** Implement C-c C-o C-q. - -** Install pre/post command hook for moving out of invisible section. - -** Put a modify hook on invisible sections that expands them. - -** Integrate dumb folding somehow. - -** An element should be able to be its own heading. - -** Optimize to avoid complete buffer scan on each command. - -** Make it work with HTML-style headings (i.e. level indicated by -name of heading element rather than depth of section nesting). - -** Recognize root element as a section provided it has a title, even -if it doesn't match section-element-name-regex. - -** Support for incremental search automatically making hidden text -visible. - -** Allow title to be an attribute. - -** Command that says to recognize the tag at point as a section/heading. - -** Explore better ways to determine when an element is a section -or a heading. - -** rng-next-error needs to either ignore invisible portion or reveal it -(maybe use isearch oriented text properties). - -** Errors within hidden section should be highlighted by underlining the -ellipsis. - -** Make indirect buffers work. - -** How should nxml-refresh outline recover from non well-formed tags? - -** Hide tags in title elements? - -** Use overlays instead of text properties for holding outline state? -Necessary for indirect buffers to work? - -** Allow an outline to go in the speedbar. - -** Split up outlining manual section into subsections. - -** More detail in the manual about each outlining command. - -** More menu entries for hiding/showing? - -** Indication of many lines have been hidden? - -* Locating schemas - -** Should rng-validate-mode give the user an opportunity to specify a -schema if there is currently none? Or should it at least give a hint -to the user how to specify a non-vacuous schema? - -** Support for adding new schemas to schema-locating files. Add -documentElement and namespace elements. - -** C-c C-w should be able to report current type id. - -** Implement doctypePublicId. - -** Implement typeIdBase. - -** Implement typeIdProcessingInstruction. - -** Support xml:base. - -** Implement group. - -** Find preferred prefix from schema-locating files. Get rid of -rng-preferred-prefix-alist. - -** Inserting document element with vacuous schema should complete using -document elements declared in schema locating files, and set schema -appropriately. - -** Add a ruleType attribute to the element? - -** Allow processing instruction in prolog to contain the compact syntax -schema directly. - -** Use RDDL to locate a schema based on the namespace URI. - -** Should not prompt to add redundant association to schema locating -file. - -** Command to reload current schema. - -* Schema-sensitive features - -** Should filter dynamic markup possibilities using schema validity, by -adding hook to nxml-mode. - -** Dynamic markup word should (at least optionally) be able to look in -other buffers that are using nxml-mode. - -** Should clicking on Invalid move to next error if already on an error? - -** Take advantage of a:documentation. Needs change to schema format. - -** Provide feasible validation (as in Jing) toggle. - -** Save the validation state as a property on the error overlay to enable -more detailed diagnosis. - -** Provide an Error Summary buffer showing all the validation errors. - -** Pop-up menu. What is useful? Tag a region (should be greyed out if -the region is not balanced). Suggestions based on error messages. - -** Have configurable list of namespace URIs so that we can provide -namespace URI completion on extension elements or with schema-less -documents. - -** Allow validation to handle XInclude. - -** ID/IDREF support. - -* Completion - -** Make it work with icomplete. Only use a function to complete when -some of the possible names have undeclared namespaces. - -** How should C-return in mixed text work? - -** When there's a vacuous schema, C-return after < will insert the -end-tag. Is this a bug or a feature? - -** After completing start-tag, ensure we don't get unhelpful message -from validation - -** Syntax table for completion. - -** Should complete start-tag name with a space if namespace attributes -are required. - -** When completing start-tag name with no prefix and it doesn't match -should try to infer namespace from local name. - -** Should completion pay attention to characters after point? If so, -how? - -** When completing start-tag name, add required atts if only one required -attribute. - -** When completing attribute name, add attribute value if only one value -is possible. - -** After attribute-value completion, insert space after close delimiter -if more attributes are required. - -** Complete on enumerated data values in elements. - -** When in context that allows only elements, should get tag -completion without having to type < first. - -** When immediately after start-tag name, and name is valid and not -prefix of any other name, should C-return complete on attribute names? - -** When completing attributes, more consistent to ignore all attributes -after point. - -** Inserting attribute value completions needs to be sensitive to what -delimiter is used so that it quotes the correct character. - -** Complete on encoding-names in XML decl. - -** Complete namespace declarations by searching for all namespaces -mentioned in the schema. - -* Well-formed XML support - -** Deal better with Mule-UCS - -** Deal with UTF-8 BOM when reading. - -** Complete entity names. - -** Provide some support for entity names for MathML. - -** Command to repeat the last tag. - -** Support for changing between character references and characters. -Need to check that context is one in which character references are -allowed. xmltok prolog parsing will need to distinguish parameter -literals from other kinds of literal. - -** Provide a comment command to bind to M-; that works better than the -normal one. - -** Make indenting in a multi-line comment work. - -** Structure view. Separate buffer displaying element tree. Be able to -navigate from structure view to document and vice-versa. - -** Flash matching >. - -** Smart selection command that selects increasingly large syntactically -coherent chunks of XML. If point is in an attribute value, first -select complete value; then if command is repeated, select value plus -delimiters, then select attribute name as well, then complete -start-tag, then complete element, then enclosing element, etc. - -** ispell integration. - -** Block-level items in mixed content should be indented, e.g: - This is list: - -
- item
- -** Provide option to indent like this: - -**This is a paragraph - occupying multiple lines. - -** Option to add make a / that closes a start-tag electrically insert a -space for the XHTML guys. - -** C-M-q should work. - -* Datatypes - -** Figure out workaround for CJK characters with regexps. - -** Does category C contain Cn? - -** Do ENTITY datatype properly. - -* XML Parsing Library - -** Parameter entity parsing option, nil (never), t (always), -unless-standalone (unless standalone="yes" in XML declaration). - -** When a file is currently being edited, there should be an option to -use its buffer instead of the on-disk copy. - -* Handling all XML features - -** Provide better support for editing external general parsed entities. -Perhaps provide a way to force ignoring undefined entities; maybe turn -this on automatically with (with no version -pseudo-att). - -** Handle internal general entity declarations containing elements. - -** Handle external general entity declarations. - -** Handle default attribute declarations in internal subset. - -** Handle parameter entities (including DTD). - -* RELAX NG - -** Do complete schema checking, at least optionally. - -** Detect include/external loops during schema parse. - -** Coding system detection for schemas. Should use utf-8/utf-16 per the -spec. But also need to allow encodings other than UTF-8/16 to support -CJK charsets that Emacs cannot represent in Unicode. - -* Catching XML errors - -** Check public identifiers. - -** Check default attribute values. - -* Performance - -** Explore whether overlay-recenter can cure overlays performance -problems. - -** Cache schemas. Need to have list of files and mtimes. - -** Make it possible to reduce rng-validate-chunk-size significantly, -perhaps to 500 bytes, without bad performance impact: don't do -redisplay on every chunk; pass continue functions on other uses of -rng-do-some-validation. - -** Cache after first tag. - -** Introduce a new name class that is a choice between names (so that -we can use member) - -** intern-choice should simplify after patterns with same 1st/2nd args - -** Large numbers of overlays slow things down dramatically. Represent -errors using text properties. This implies we cannot incrementally -keep track of the number of errors, in order to determine validity. -Instead, when validation completes, scan for any characters with an -error text property; this seems to be fast enough even with large -buffers. Problem with error at end of buffer, where there's no -character; need special variable for this. Need to merge face from -font-lock with the error face: use :inherit attribute with list of two -faces. How do we avoid making rng-valid depend on nxml-mode? - -* Error recovery - -** Don't stop at newline in looking for close of start-tag. - -** Use indentation to guide recovery from mismatched end-tags - -** Don't keep parsing when currently not well-formed but previously -well-formed - -** Try to recover from a bad start-tag by popping an open element if -there was a mismatched end-tag unaccounted for. - -** Try to recover from a bad start-tag open on the hypothesis that there -was an error in the namespace URI. - -** Better recovery from ill-formed XML declarations. - -* Useability improvements - -** Should print a "Parsing..." message during long movements. - -** Provide better position for reference to undefined pattern error. - -** Put Well-formed in the mode-line when validating against any-content. - -** Trim marking of illegal data for leading and trailing whitespace. - -** Show Invalid status as soon as we are sure it's invalid, rather than -waiting for everything to be completely up to date. - -** When narrowed, Valid or Invalid status should probably consider only -validity of narrowed region. - -* Bug fixes - -** Need to give an error for a document like:- -** Make nxml-forward-balanced-item work better for the prolog. - -** Make filling and indenting comments work in the prolog. - -** Should delete RNC Input buffers. - -** Figure out what regex use for NCName and use it consistently, - -** Should have not-well-formed tokens in ref. - -** Require version in XML declaration? Probably not because prevents -use for external parsed entities. At least forbid standalone -without version. - -** Reject schema that compiles to rng-not-allowed-ipattern. - -** Move point backwards on schema parse error so that it's on the right token. - -* Internal - -** Use rng-quote-string consistently. - -** Use parsing library for XML to texinfo conversion. - -** Rename xmltok.el to nxml-token.el. Use nxml-t- prefix instead of -xmltok-. Change nxml-t-type to nxml-t-token-type, nxml-t-start to -nxml-t-token-start. - -** Can we set fill-prefix to nil and rely on indenting? - -** xmltok should make available replacement text of entities containing -elements - -** In rng-valid, instead of using modification-hooks and -insert-behind-hooks on dependent overlays, use same technique as -nxml-mode. - -** Port to XEmacs. Issues include: Unicode (XEmacs seems to be based on -Mule-UCS); overlays/text properties vs extents; absence of -fontification-functions hook. - -* Fontification - -** Allow face to depend on element qname, attribute qname, attribute -value. Use list with pairs of (R . F), where R specifies regexps and -F specifies faces. How can this list be made to depend on the -document type? - -* Other - -** Support RELAX NG XML syntax (use XML parsing library). - -** Support W3C XML Schema (use XML parsing library). - -** Command to infer schema from current document (like trang). - -* Schemas - -** XSLT schema should take advantage of RELAX NG to express cooccurrence -constraints on attributes (e.g. xsl:template). - -* Documentation - -** Move material from README to manual. - -** Document encodings. - -* Notes - -** How can we allow an error to be displayed on a different token from -where it is detected? In particular, for a missing closing ">" we -will need to display it at the beginning of the following token. At -the moment, when we parse the following token the error overlay will -get cleared. - -** How should rng-goto-next-error deal with narrowing? - -** Perhaps should merge errors having same start position even if they -have different ends. - -** How to handle surrogates? One possibility is to be compatible with -utf8.e: represent as sequence of 4 chars. But utf-16 is incompatible -with this. - -** Should we distinguish well-formedness errors from invalidity errors? -(I think not: we may want to recover from a bad start-tag by implying -an end-tag.) - -** Seems to be a bug with Emacs, where a mouse movement that causes -help-echo text to appear counts as pending input but does not cause -idle timer to be restarted. - -** Use XML to represent this file. - -** I had a TODO which said simply "split-string". What did I mean? - -** Investigate performance on large files all on one line. - -* CVS emacs issues - -** Take advantage of UTF-8 CJK support. - -** Supply a next-error-function. - -** Investigate this NEWS item "Emacs now tries to set up buffer coding -systems for HTML/XML files automatically." - -** Take advantage of the pointer text property. - -** Leverage char-displayable-p. - -Local variables: -mode: outline -end: diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/VERSION b/elpa-to-submit/nxhtml/nxml-mode-20041004/VERSION deleted file mode 100644 index dcd4050a10..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/VERSION +++ /dev/null @@ -1 +0,0 @@ -20041004 diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00000-0007F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00000-0007F.el deleted file mode 100644 index 122804fc47..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00000-0007F.el +++ /dev/null @@ -1,97 +0,0 @@ -(nxml-define-char-name-set 'basic-latin - '(("SPACE" #x0020) - ("EXCLAMATION MARK" #x0021) - ("QUOTATION MARK" #x0022) - ("NUMBER SIGN" #x0023) - ("DOLLAR SIGN" #x0024) - ("PERCENT SIGN" #x0025) - ("AMPERSAND" #x0026) - ("APOSTROPHE" #x0027) - ("LEFT PARENTHESIS" #x0028) - ("RIGHT PARENTHESIS" #x0029) - ("ASTERISK" #x002A) - ("PLUS SIGN" #x002B) - ("COMMA" #x002C) - ("HYPHEN-MINUS" #x002D) - ("FULL STOP" #x002E) - ("SOLIDUS" #x002F) - ("DIGIT ZERO" #x0030) - ("DIGIT ONE" #x0031) - ("DIGIT TWO" #x0032) - ("DIGIT THREE" #x0033) - ("DIGIT FOUR" #x0034) - ("DIGIT FIVE" #x0035) - ("DIGIT SIX" #x0036) - ("DIGIT SEVEN" #x0037) - ("DIGIT EIGHT" #x0038) - ("DIGIT NINE" #x0039) - ("COLON" #x003A) - ("SEMICOLON" #x003B) - ("LESS-THAN SIGN" #x003C) - ("EQUALS SIGN" #x003D) - ("GREATER-THAN SIGN" #x003E) - ("QUESTION MARK" #x003F) - ("COMMERCIAL AT" #x0040) - ("LATIN CAPITAL LETTER A" #x0041) - ("LATIN CAPITAL LETTER B" #x0042) - ("LATIN CAPITAL LETTER C" #x0043) - ("LATIN CAPITAL LETTER D" #x0044) - ("LATIN CAPITAL LETTER E" #x0045) - ("LATIN CAPITAL LETTER F" #x0046) - ("LATIN CAPITAL LETTER G" #x0047) - ("LATIN CAPITAL LETTER H" #x0048) - ("LATIN CAPITAL LETTER I" #x0049) - ("LATIN CAPITAL LETTER J" #x004A) - ("LATIN CAPITAL LETTER K" #x004B) - ("LATIN CAPITAL LETTER L" #x004C) - ("LATIN CAPITAL LETTER M" #x004D) - ("LATIN CAPITAL LETTER N" #x004E) - ("LATIN CAPITAL LETTER O" #x004F) - ("LATIN CAPITAL LETTER P" #x0050) - ("LATIN CAPITAL LETTER Q" #x0051) - ("LATIN CAPITAL LETTER R" #x0052) - ("LATIN CAPITAL LETTER S" #x0053) - ("LATIN CAPITAL LETTER T" #x0054) - ("LATIN CAPITAL LETTER U" #x0055) - ("LATIN CAPITAL LETTER V" #x0056) - ("LATIN CAPITAL LETTER W" #x0057) - ("LATIN CAPITAL LETTER X" #x0058) - ("LATIN CAPITAL LETTER Y" #x0059) - ("LATIN CAPITAL LETTER Z" #x005A) - ("LEFT SQUARE BRACKET" #x005B) - ("REVERSE SOLIDUS" #x005C) - ("RIGHT SQUARE BRACKET" #x005D) - ("CIRCUMFLEX ACCENT" #x005E) - ("LOW LINE" #x005F) - ("GRAVE ACCENT" #x0060) - ("LATIN SMALL LETTER A" #x0061) - ("LATIN SMALL LETTER B" #x0062) - ("LATIN SMALL LETTER C" #x0063) - ("LATIN SMALL LETTER D" #x0064) - ("LATIN SMALL LETTER E" #x0065) - ("LATIN SMALL LETTER F" #x0066) - ("LATIN SMALL LETTER G" #x0067) - ("LATIN SMALL LETTER H" #x0068) - ("LATIN SMALL LETTER I" #x0069) - ("LATIN SMALL LETTER J" #x006A) - ("LATIN SMALL LETTER K" #x006B) - ("LATIN SMALL LETTER L" #x006C) - ("LATIN SMALL LETTER M" #x006D) - ("LATIN SMALL LETTER N" #x006E) - ("LATIN SMALL LETTER O" #x006F) - ("LATIN SMALL LETTER P" #x0070) - ("LATIN SMALL LETTER Q" #x0071) - ("LATIN SMALL LETTER R" #x0072) - ("LATIN SMALL LETTER S" #x0073) - ("LATIN SMALL LETTER T" #x0074) - ("LATIN SMALL LETTER U" #x0075) - ("LATIN SMALL LETTER V" #x0076) - ("LATIN SMALL LETTER W" #x0077) - ("LATIN SMALL LETTER X" #x0078) - ("LATIN SMALL LETTER Y" #x0079) - ("LATIN SMALL LETTER Z" #x007A) - ("LEFT CURLY BRACKET" #x007B) - ("VERTICAL LINE" #x007C) - ("RIGHT CURLY BRACKET" #x007D) - ("TILDE" #x007E) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00080-000FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00080-000FF.el deleted file mode 100644 index 1d7f463d56..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00080-000FF.el +++ /dev/null @@ -1,98 +0,0 @@ -(nxml-define-char-name-set 'latin-1-supplement - '(("NO-BREAK SPACE" #x00A0) - ("INVERTED EXCLAMATION MARK" #x00A1) - ("CENT SIGN" #x00A2) - ("POUND SIGN" #x00A3) - ("CURRENCY SIGN" #x00A4) - ("YEN SIGN" #x00A5) - ("BROKEN BAR" #x00A6) - ("SECTION SIGN" #x00A7) - ("DIAERESIS" #x00A8) - ("COPYRIGHT SIGN" #x00A9) - ("FEMININE ORDINAL INDICATOR" #x00AA) - ("LEFT-POINTING DOUBLE ANGLE QUOTATION MARK" #x00AB) - ("NOT SIGN" #x00AC) - ("SOFT HYPHEN" #x00AD) - ("REGISTERED SIGN" #x00AE) - ("MACRON" #x00AF) - ("DEGREE SIGN" #x00B0) - ("PLUS-MINUS SIGN" #x00B1) - ("SUPERSCRIPT TWO" #x00B2) - ("SUPERSCRIPT THREE" #x00B3) - ("ACUTE ACCENT" #x00B4) - ("MICRO SIGN" #x00B5) - ("PILCROW SIGN" #x00B6) - ("MIDDLE DOT" #x00B7) - ("CEDILLA" #x00B8) - ("SUPERSCRIPT ONE" #x00B9) - ("MASCULINE ORDINAL INDICATOR" #x00BA) - ("RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK" #x00BB) - ("VULGAR FRACTION ONE QUARTER" #x00BC) - ("VULGAR FRACTION ONE HALF" #x00BD) - ("VULGAR FRACTION THREE QUARTERS" #x00BE) - ("INVERTED QUESTION MARK" #x00BF) - ("LATIN CAPITAL LETTER A WITH GRAVE" #x00C0) - ("LATIN CAPITAL LETTER A WITH ACUTE" #x00C1) - ("LATIN CAPITAL LETTER A WITH CIRCUMFLEX" #x00C2) - ("LATIN CAPITAL LETTER A WITH TILDE" #x00C3) - ("LATIN CAPITAL LETTER A WITH DIAERESIS" #x00C4) - ("LATIN CAPITAL LETTER A WITH RING ABOVE" #x00C5) - ("LATIN CAPITAL LETTER AE" #x00C6) - ("LATIN CAPITAL LETTER C WITH CEDILLA" #x00C7) - ("LATIN CAPITAL LETTER E WITH GRAVE" #x00C8) - ("LATIN CAPITAL LETTER E WITH ACUTE" #x00C9) - ("LATIN CAPITAL LETTER E WITH CIRCUMFLEX" #x00CA) - ("LATIN CAPITAL LETTER E WITH DIAERESIS" #x00CB) - ("LATIN CAPITAL LETTER I WITH GRAVE" #x00CC) - ("LATIN CAPITAL LETTER I WITH ACUTE" #x00CD) - ("LATIN CAPITAL LETTER I WITH CIRCUMFLEX" #x00CE) - ("LATIN CAPITAL LETTER I WITH DIAERESIS" #x00CF) - ("LATIN CAPITAL LETTER ETH" #x00D0) - ("LATIN CAPITAL LETTER N WITH TILDE" #x00D1) - ("LATIN CAPITAL LETTER O WITH GRAVE" #x00D2) - ("LATIN CAPITAL LETTER O WITH ACUTE" #x00D3) - ("LATIN CAPITAL LETTER O WITH CIRCUMFLEX" #x00D4) - ("LATIN CAPITAL LETTER O WITH TILDE" #x00D5) - ("LATIN CAPITAL LETTER O WITH DIAERESIS" #x00D6) - ("MULTIPLICATION SIGN" #x00D7) - ("LATIN CAPITAL LETTER O WITH STROKE" #x00D8) - ("LATIN CAPITAL LETTER U WITH GRAVE" #x00D9) - ("LATIN CAPITAL LETTER U WITH ACUTE" #x00DA) - ("LATIN CAPITAL LETTER U WITH CIRCUMFLEX" #x00DB) - ("LATIN CAPITAL LETTER U WITH DIAERESIS" #x00DC) - ("LATIN CAPITAL LETTER Y WITH ACUTE" #x00DD) - ("LATIN CAPITAL LETTER THORN" #x00DE) - ("LATIN SMALL LETTER SHARP S" #x00DF) - ("LATIN SMALL LETTER A WITH GRAVE" #x00E0) - ("LATIN SMALL LETTER A WITH ACUTE" #x00E1) - ("LATIN SMALL LETTER A WITH CIRCUMFLEX" #x00E2) - ("LATIN SMALL LETTER A WITH TILDE" #x00E3) - ("LATIN SMALL LETTER A WITH DIAERESIS" #x00E4) - ("LATIN SMALL LETTER A WITH RING ABOVE" #x00E5) - ("LATIN SMALL LETTER AE" #x00E6) - ("LATIN SMALL LETTER C WITH CEDILLA" #x00E7) - ("LATIN SMALL LETTER E WITH GRAVE" #x00E8) - ("LATIN SMALL LETTER E WITH ACUTE" #x00E9) - ("LATIN SMALL LETTER E WITH CIRCUMFLEX" #x00EA) - ("LATIN SMALL LETTER E WITH DIAERESIS" #x00EB) - ("LATIN SMALL LETTER I WITH GRAVE" #x00EC) - ("LATIN SMALL LETTER I WITH ACUTE" #x00ED) - ("LATIN SMALL LETTER I WITH CIRCUMFLEX" #x00EE) - ("LATIN SMALL LETTER I WITH DIAERESIS" #x00EF) - ("LATIN SMALL LETTER ETH" #x00F0) - ("LATIN SMALL LETTER N WITH TILDE" #x00F1) - ("LATIN SMALL LETTER O WITH GRAVE" #x00F2) - ("LATIN SMALL LETTER O WITH ACUTE" #x00F3) - ("LATIN SMALL LETTER O WITH CIRCUMFLEX" #x00F4) - ("LATIN SMALL LETTER O WITH TILDE" #x00F5) - ("LATIN SMALL LETTER O WITH DIAERESIS" #x00F6) - ("DIVISION SIGN" #x00F7) - ("LATIN SMALL LETTER O WITH STROKE" #x00F8) - ("LATIN SMALL LETTER U WITH GRAVE" #x00F9) - ("LATIN SMALL LETTER U WITH ACUTE" #x00FA) - ("LATIN SMALL LETTER U WITH CIRCUMFLEX" #x00FB) - ("LATIN SMALL LETTER U WITH DIAERESIS" #x00FC) - ("LATIN SMALL LETTER Y WITH ACUTE" #x00FD) - ("LATIN SMALL LETTER THORN" #x00FE) - ("LATIN SMALL LETTER Y WITH DIAERESIS" #x00FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00100-0017F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00100-0017F.el deleted file mode 100644 index 7a97964a16..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00100-0017F.el +++ /dev/null @@ -1,130 +0,0 @@ -(nxml-define-char-name-set 'latin-extended-a - '(("LATIN CAPITAL LETTER A WITH MACRON" #x0100) - ("LATIN SMALL LETTER A WITH MACRON" #x0101) - ("LATIN CAPITAL LETTER A WITH BREVE" #x0102) - ("LATIN SMALL LETTER A WITH BREVE" #x0103) - ("LATIN CAPITAL LETTER A WITH OGONEK" #x0104) - ("LATIN SMALL LETTER A WITH OGONEK" #x0105) - ("LATIN CAPITAL LETTER C WITH ACUTE" #x0106) - ("LATIN SMALL LETTER C WITH ACUTE" #x0107) - ("LATIN CAPITAL LETTER C WITH CIRCUMFLEX" #x0108) - ("LATIN SMALL LETTER C WITH CIRCUMFLEX" #x0109) - ("LATIN CAPITAL LETTER C WITH DOT ABOVE" #x010A) - ("LATIN SMALL LETTER C WITH DOT ABOVE" #x010B) - ("LATIN CAPITAL LETTER C WITH CARON" #x010C) - ("LATIN SMALL LETTER C WITH CARON" #x010D) - ("LATIN CAPITAL LETTER D WITH CARON" #x010E) - ("LATIN SMALL LETTER D WITH CARON" #x010F) - ("LATIN CAPITAL LETTER D WITH STROKE" #x0110) - ("LATIN SMALL LETTER D WITH STROKE" #x0111) - ("LATIN CAPITAL LETTER E WITH MACRON" #x0112) - ("LATIN SMALL LETTER E WITH MACRON" #x0113) - ("LATIN CAPITAL LETTER E WITH BREVE" #x0114) - ("LATIN SMALL LETTER E WITH BREVE" #x0115) - ("LATIN CAPITAL LETTER E WITH DOT ABOVE" #x0116) - ("LATIN SMALL LETTER E WITH DOT ABOVE" #x0117) - ("LATIN CAPITAL LETTER E WITH OGONEK" #x0118) - ("LATIN SMALL LETTER E WITH OGONEK" #x0119) - ("LATIN CAPITAL LETTER E WITH CARON" #x011A) - ("LATIN SMALL LETTER E WITH CARON" #x011B) - ("LATIN CAPITAL LETTER G WITH CIRCUMFLEX" #x011C) - ("LATIN SMALL LETTER G WITH CIRCUMFLEX" #x011D) - ("LATIN CAPITAL LETTER G WITH BREVE" #x011E) - ("LATIN SMALL LETTER G WITH BREVE" #x011F) - ("LATIN CAPITAL LETTER G WITH DOT ABOVE" #x0120) - ("LATIN SMALL LETTER G WITH DOT ABOVE" #x0121) - ("LATIN CAPITAL LETTER G WITH CEDILLA" #x0122) - ("LATIN SMALL LETTER G WITH CEDILLA" #x0123) - ("LATIN CAPITAL LETTER H WITH CIRCUMFLEX" #x0124) - ("LATIN SMALL LETTER H WITH CIRCUMFLEX" #x0125) - ("LATIN CAPITAL LETTER H WITH STROKE" #x0126) - ("LATIN SMALL LETTER H WITH STROKE" #x0127) - ("LATIN CAPITAL LETTER I WITH TILDE" #x0128) - ("LATIN SMALL LETTER I WITH TILDE" #x0129) - ("LATIN CAPITAL LETTER I WITH MACRON" #x012A) - ("LATIN SMALL LETTER I WITH MACRON" #x012B) - ("LATIN CAPITAL LETTER I WITH BREVE" #x012C) - ("LATIN SMALL LETTER I WITH BREVE" #x012D) - ("LATIN CAPITAL LETTER I WITH OGONEK" #x012E) - ("LATIN SMALL LETTER I WITH OGONEK" #x012F) - ("LATIN CAPITAL LETTER I WITH DOT ABOVE" #x0130) - ("LATIN SMALL LETTER DOTLESS I" #x0131) - ("LATIN CAPITAL LIGATURE IJ" #x0132) - ("LATIN SMALL LIGATURE IJ" #x0133) - ("LATIN CAPITAL LETTER J WITH CIRCUMFLEX" #x0134) - ("LATIN SMALL LETTER J WITH CIRCUMFLEX" #x0135) - ("LATIN CAPITAL LETTER K WITH CEDILLA" #x0136) - ("LATIN SMALL LETTER K WITH CEDILLA" #x0137) - ("LATIN SMALL LETTER KRA" #x0138) - ("LATIN CAPITAL LETTER L WITH ACUTE" #x0139) - ("LATIN SMALL LETTER L WITH ACUTE" #x013A) - ("LATIN CAPITAL LETTER L WITH CEDILLA" #x013B) - ("LATIN SMALL LETTER L WITH CEDILLA" #x013C) - ("LATIN CAPITAL LETTER L WITH CARON" #x013D) - ("LATIN SMALL LETTER L WITH CARON" #x013E) - ("LATIN CAPITAL LETTER L WITH MIDDLE DOT" #x013F) - ("LATIN SMALL LETTER L WITH MIDDLE DOT" #x0140) - ("LATIN CAPITAL LETTER L WITH STROKE" #x0141) - ("LATIN SMALL LETTER L WITH STROKE" #x0142) - ("LATIN CAPITAL LETTER N WITH ACUTE" #x0143) - ("LATIN SMALL LETTER N WITH ACUTE" #x0144) - ("LATIN CAPITAL LETTER N WITH CEDILLA" #x0145) - ("LATIN SMALL LETTER N WITH CEDILLA" #x0146) - ("LATIN CAPITAL LETTER N WITH CARON" #x0147) - ("LATIN SMALL LETTER N WITH CARON" #x0148) - ("LATIN SMALL LETTER N PRECEDED BY APOSTROPHE" #x0149) - ("LATIN CAPITAL LETTER ENG" #x014A) - ("LATIN SMALL LETTER ENG" #x014B) - ("LATIN CAPITAL LETTER O WITH MACRON" #x014C) - ("LATIN SMALL LETTER O WITH MACRON" #x014D) - ("LATIN CAPITAL LETTER O WITH BREVE" #x014E) - ("LATIN SMALL LETTER O WITH BREVE" #x014F) - ("LATIN CAPITAL LETTER O WITH DOUBLE ACUTE" #x0150) - ("LATIN SMALL LETTER O WITH DOUBLE ACUTE" #x0151) - ("LATIN CAPITAL LIGATURE OE" #x0152) - ("LATIN SMALL LIGATURE OE" #x0153) - ("LATIN CAPITAL LETTER R WITH ACUTE" #x0154) - ("LATIN SMALL LETTER R WITH ACUTE" #x0155) - ("LATIN CAPITAL LETTER R WITH CEDILLA" #x0156) - ("LATIN SMALL LETTER R WITH CEDILLA" #x0157) - ("LATIN CAPITAL LETTER R WITH CARON" #x0158) - ("LATIN SMALL LETTER R WITH CARON" #x0159) - ("LATIN CAPITAL LETTER S WITH ACUTE" #x015A) - ("LATIN SMALL LETTER S WITH ACUTE" #x015B) - ("LATIN CAPITAL LETTER S WITH CIRCUMFLEX" #x015C) - ("LATIN SMALL LETTER S WITH CIRCUMFLEX" #x015D) - ("LATIN CAPITAL LETTER S WITH CEDILLA" #x015E) - ("LATIN SMALL LETTER S WITH CEDILLA" #x015F) - ("LATIN CAPITAL LETTER S WITH CARON" #x0160) - ("LATIN SMALL LETTER S WITH CARON" #x0161) - ("LATIN CAPITAL LETTER T WITH CEDILLA" #x0162) - ("LATIN SMALL LETTER T WITH CEDILLA" #x0163) - ("LATIN CAPITAL LETTER T WITH CARON" #x0164) - ("LATIN SMALL LETTER T WITH CARON" #x0165) - ("LATIN CAPITAL LETTER T WITH STROKE" #x0166) - ("LATIN SMALL LETTER T WITH STROKE" #x0167) - ("LATIN CAPITAL LETTER U WITH TILDE" #x0168) - ("LATIN SMALL LETTER U WITH TILDE" #x0169) - ("LATIN CAPITAL LETTER U WITH MACRON" #x016A) - ("LATIN SMALL LETTER U WITH MACRON" #x016B) - ("LATIN CAPITAL LETTER U WITH BREVE" #x016C) - ("LATIN SMALL LETTER U WITH BREVE" #x016D) - ("LATIN CAPITAL LETTER U WITH RING ABOVE" #x016E) - ("LATIN SMALL LETTER U WITH RING ABOVE" #x016F) - ("LATIN CAPITAL LETTER U WITH DOUBLE ACUTE" #x0170) - ("LATIN SMALL LETTER U WITH DOUBLE ACUTE" #x0171) - ("LATIN CAPITAL LETTER U WITH OGONEK" #x0172) - ("LATIN SMALL LETTER U WITH OGONEK" #x0173) - ("LATIN CAPITAL LETTER W WITH CIRCUMFLEX" #x0174) - ("LATIN SMALL LETTER W WITH CIRCUMFLEX" #x0175) - ("LATIN CAPITAL LETTER Y WITH CIRCUMFLEX" #x0176) - ("LATIN SMALL LETTER Y WITH CIRCUMFLEX" #x0177) - ("LATIN CAPITAL LETTER Y WITH DIAERESIS" #x0178) - ("LATIN CAPITAL LETTER Z WITH ACUTE" #x0179) - ("LATIN SMALL LETTER Z WITH ACUTE" #x017A) - ("LATIN CAPITAL LETTER Z WITH DOT ABOVE" #x017B) - ("LATIN SMALL LETTER Z WITH DOT ABOVE" #x017C) - ("LATIN CAPITAL LETTER Z WITH CARON" #x017D) - ("LATIN SMALL LETTER Z WITH CARON" #x017E) - ("LATIN SMALL LETTER LONG S" #x017F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00180-0024F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00180-0024F.el deleted file mode 100644 index 6a6a7ff3c1..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00180-0024F.el +++ /dev/null @@ -1,181 +0,0 @@ -(nxml-define-char-name-set 'latin-extended-b - '(("LATIN SMALL LETTER B WITH STROKE" #x0180) - ("LATIN CAPITAL LETTER B WITH HOOK" #x0181) - ("LATIN CAPITAL LETTER B WITH TOPBAR" #x0182) - ("LATIN SMALL LETTER B WITH TOPBAR" #x0183) - ("LATIN CAPITAL LETTER TONE SIX" #x0184) - ("LATIN SMALL LETTER TONE SIX" #x0185) - ("LATIN CAPITAL LETTER OPEN O" #x0186) - ("LATIN CAPITAL LETTER C WITH HOOK" #x0187) - ("LATIN SMALL LETTER C WITH HOOK" #x0188) - ("LATIN CAPITAL LETTER AFRICAN D" #x0189) - ("LATIN CAPITAL LETTER D WITH HOOK" #x018A) - ("LATIN CAPITAL LETTER D WITH TOPBAR" #x018B) - ("LATIN SMALL LETTER D WITH TOPBAR" #x018C) - ("LATIN SMALL LETTER TURNED DELTA" #x018D) - ("LATIN CAPITAL LETTER REVERSED E" #x018E) - ("LATIN CAPITAL LETTER SCHWA" #x018F) - ("LATIN CAPITAL LETTER OPEN E" #x0190) - ("LATIN CAPITAL LETTER F WITH HOOK" #x0191) - ("LATIN SMALL LETTER F WITH HOOK" #x0192) - ("LATIN CAPITAL LETTER G WITH HOOK" #x0193) - ("LATIN CAPITAL LETTER GAMMA" #x0194) - ("LATIN SMALL LETTER HV" #x0195) - ("LATIN CAPITAL LETTER IOTA" #x0196) - ("LATIN CAPITAL LETTER I WITH STROKE" #x0197) - ("LATIN CAPITAL LETTER K WITH HOOK" #x0198) - ("LATIN SMALL LETTER K WITH HOOK" #x0199) - ("LATIN SMALL LETTER L WITH BAR" #x019A) - ("LATIN SMALL LETTER LAMBDA WITH STROKE" #x019B) - ("LATIN CAPITAL LETTER TURNED M" #x019C) - ("LATIN CAPITAL LETTER N WITH LEFT HOOK" #x019D) - ("LATIN SMALL LETTER N WITH LONG RIGHT LEG" #x019E) - ("LATIN CAPITAL LETTER O WITH MIDDLE TILDE" #x019F) - ("LATIN CAPITAL LETTER O WITH HORN" #x01A0) - ("LATIN SMALL LETTER O WITH HORN" #x01A1) - ("LATIN CAPITAL LETTER OI" #x01A2) - ("LATIN SMALL LETTER OI" #x01A3) - ("LATIN CAPITAL LETTER P WITH HOOK" #x01A4) - ("LATIN SMALL LETTER P WITH HOOK" #x01A5) - ("LATIN LETTER YR" #x01A6) - ("LATIN CAPITAL LETTER TONE TWO" #x01A7) - ("LATIN SMALL LETTER TONE TWO" #x01A8) - ("LATIN CAPITAL LETTER ESH" #x01A9) - ("LATIN LETTER REVERSED ESH LOOP" #x01AA) - ("LATIN SMALL LETTER T WITH PALATAL HOOK" #x01AB) - ("LATIN CAPITAL LETTER T WITH HOOK" #x01AC) - ("LATIN SMALL LETTER T WITH HOOK" #x01AD) - ("LATIN CAPITAL LETTER T WITH RETROFLEX HOOK" #x01AE) - ("LATIN CAPITAL LETTER U WITH HORN" #x01AF) - ("LATIN SMALL LETTER U WITH HORN" #x01B0) - ("LATIN CAPITAL LETTER UPSILON" #x01B1) - ("LATIN CAPITAL LETTER V WITH HOOK" #x01B2) - ("LATIN CAPITAL LETTER Y WITH HOOK" #x01B3) - ("LATIN SMALL LETTER Y WITH HOOK" #x01B4) - ("LATIN CAPITAL LETTER Z WITH STROKE" #x01B5) - ("LATIN SMALL LETTER Z WITH STROKE" #x01B6) - ("LATIN CAPITAL LETTER EZH" #x01B7) - ("LATIN CAPITAL LETTER EZH REVERSED" #x01B8) - ("LATIN SMALL LETTER EZH REVERSED" #x01B9) - ("LATIN SMALL LETTER EZH WITH TAIL" #x01BA) - ("LATIN LETTER TWO WITH STROKE" #x01BB) - ("LATIN CAPITAL LETTER TONE FIVE" #x01BC) - ("LATIN SMALL LETTER TONE FIVE" #x01BD) - ("LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE" #x01BE) - ("LATIN LETTER WYNN" #x01BF) - ("LATIN LETTER DENTAL CLICK" #x01C0) - ("LATIN LETTER LATERAL CLICK" #x01C1) - ("LATIN LETTER ALVEOLAR CLICK" #x01C2) - ("LATIN LETTER RETROFLEX CLICK" #x01C3) - ("LATIN CAPITAL LETTER DZ WITH CARON" #x01C4) - ("LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON" #x01C5) - ("LATIN SMALL LETTER DZ WITH CARON" #x01C6) - ("LATIN CAPITAL LETTER LJ" #x01C7) - ("LATIN CAPITAL LETTER L WITH SMALL LETTER J" #x01C8) - ("LATIN SMALL LETTER LJ" #x01C9) - ("LATIN CAPITAL LETTER NJ" #x01CA) - ("LATIN CAPITAL LETTER N WITH SMALL LETTER J" #x01CB) - ("LATIN SMALL LETTER NJ" #x01CC) - ("LATIN CAPITAL LETTER A WITH CARON" #x01CD) - ("LATIN SMALL LETTER A WITH CARON" #x01CE) - ("LATIN CAPITAL LETTER I WITH CARON" #x01CF) - ("LATIN SMALL LETTER I WITH CARON" #x01D0) - ("LATIN CAPITAL LETTER O WITH CARON" #x01D1) - ("LATIN SMALL LETTER O WITH CARON" #x01D2) - ("LATIN CAPITAL LETTER U WITH CARON" #x01D3) - ("LATIN SMALL LETTER U WITH CARON" #x01D4) - ("LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON" #x01D5) - ("LATIN SMALL LETTER U WITH DIAERESIS AND MACRON" #x01D6) - ("LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE" #x01D7) - ("LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE" #x01D8) - ("LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON" #x01D9) - ("LATIN SMALL LETTER U WITH DIAERESIS AND CARON" #x01DA) - ("LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE" #x01DB) - ("LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE" #x01DC) - ("LATIN SMALL LETTER TURNED E" #x01DD) - ("LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON" #x01DE) - ("LATIN SMALL LETTER A WITH DIAERESIS AND MACRON" #x01DF) - ("LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON" #x01E0) - ("LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON" #x01E1) - ("LATIN CAPITAL LETTER AE WITH MACRON" #x01E2) - ("LATIN SMALL LETTER AE WITH MACRON" #x01E3) - ("LATIN CAPITAL LETTER G WITH STROKE" #x01E4) - ("LATIN SMALL LETTER G WITH STROKE" #x01E5) - ("LATIN CAPITAL LETTER G WITH CARON" #x01E6) - ("LATIN SMALL LETTER G WITH CARON" #x01E7) - ("LATIN CAPITAL LETTER K WITH CARON" #x01E8) - ("LATIN SMALL LETTER K WITH CARON" #x01E9) - ("LATIN CAPITAL LETTER O WITH OGONEK" #x01EA) - ("LATIN SMALL LETTER O WITH OGONEK" #x01EB) - ("LATIN CAPITAL LETTER O WITH OGONEK AND MACRON" #x01EC) - ("LATIN SMALL LETTER O WITH OGONEK AND MACRON" #x01ED) - ("LATIN CAPITAL LETTER EZH WITH CARON" #x01EE) - ("LATIN SMALL LETTER EZH WITH CARON" #x01EF) - ("LATIN SMALL LETTER J WITH CARON" #x01F0) - ("LATIN CAPITAL LETTER DZ" #x01F1) - ("LATIN CAPITAL LETTER D WITH SMALL LETTER Z" #x01F2) - ("LATIN SMALL LETTER DZ" #x01F3) - ("LATIN CAPITAL LETTER G WITH ACUTE" #x01F4) - ("LATIN SMALL LETTER G WITH ACUTE" #x01F5) - ("LATIN CAPITAL LETTER HWAIR" #x01F6) - ("LATIN CAPITAL LETTER WYNN" #x01F7) - ("LATIN CAPITAL LETTER N WITH GRAVE" #x01F8) - ("LATIN SMALL LETTER N WITH GRAVE" #x01F9) - ("LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE" #x01FA) - ("LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE" #x01FB) - ("LATIN CAPITAL LETTER AE WITH ACUTE" #x01FC) - ("LATIN SMALL LETTER AE WITH ACUTE" #x01FD) - ("LATIN CAPITAL LETTER O WITH STROKE AND ACUTE" #x01FE) - ("LATIN SMALL LETTER O WITH STROKE AND ACUTE" #x01FF) - ("LATIN CAPITAL LETTER A WITH DOUBLE GRAVE" #x0200) - ("LATIN SMALL LETTER A WITH DOUBLE GRAVE" #x0201) - ("LATIN CAPITAL LETTER A WITH INVERTED BREVE" #x0202) - ("LATIN SMALL LETTER A WITH INVERTED BREVE" #x0203) - ("LATIN CAPITAL LETTER E WITH DOUBLE GRAVE" #x0204) - ("LATIN SMALL LETTER E WITH DOUBLE GRAVE" #x0205) - ("LATIN CAPITAL LETTER E WITH INVERTED BREVE" #x0206) - ("LATIN SMALL LETTER E WITH INVERTED BREVE" #x0207) - ("LATIN CAPITAL LETTER I WITH DOUBLE GRAVE" #x0208) - ("LATIN SMALL LETTER I WITH DOUBLE GRAVE" #x0209) - ("LATIN CAPITAL LETTER I WITH INVERTED BREVE" #x020A) - ("LATIN SMALL LETTER I WITH INVERTED BREVE" #x020B) - ("LATIN CAPITAL LETTER O WITH DOUBLE GRAVE" #x020C) - ("LATIN SMALL LETTER O WITH DOUBLE GRAVE" #x020D) - ("LATIN CAPITAL LETTER O WITH INVERTED BREVE" #x020E) - ("LATIN SMALL LETTER O WITH INVERTED BREVE" #x020F) - ("LATIN CAPITAL LETTER R WITH DOUBLE GRAVE" #x0210) - ("LATIN SMALL LETTER R WITH DOUBLE GRAVE" #x0211) - ("LATIN CAPITAL LETTER R WITH INVERTED BREVE" #x0212) - ("LATIN SMALL LETTER R WITH INVERTED BREVE" #x0213) - ("LATIN CAPITAL LETTER U WITH DOUBLE GRAVE" #x0214) - ("LATIN SMALL LETTER U WITH DOUBLE GRAVE" #x0215) - ("LATIN CAPITAL LETTER U WITH INVERTED BREVE" #x0216) - ("LATIN SMALL LETTER U WITH INVERTED BREVE" #x0217) - ("LATIN CAPITAL LETTER S WITH COMMA BELOW" #x0218) - ("LATIN SMALL LETTER S WITH COMMA BELOW" #x0219) - ("LATIN CAPITAL LETTER T WITH COMMA BELOW" #x021A) - ("LATIN SMALL LETTER T WITH COMMA BELOW" #x021B) - ("LATIN CAPITAL LETTER YOGH" #x021C) - ("LATIN SMALL LETTER YOGH" #x021D) - ("LATIN CAPITAL LETTER H WITH CARON" #x021E) - ("LATIN SMALL LETTER H WITH CARON" #x021F) - ("LATIN CAPITAL LETTER N WITH LONG RIGHT LEG" #x0220) - ("LATIN CAPITAL LETTER OU" #x0222) - ("LATIN SMALL LETTER OU" #x0223) - ("LATIN CAPITAL LETTER Z WITH HOOK" #x0224) - ("LATIN SMALL LETTER Z WITH HOOK" #x0225) - ("LATIN CAPITAL LETTER A WITH DOT ABOVE" #x0226) - ("LATIN SMALL LETTER A WITH DOT ABOVE" #x0227) - ("LATIN CAPITAL LETTER E WITH CEDILLA" #x0228) - ("LATIN SMALL LETTER E WITH CEDILLA" #x0229) - ("LATIN CAPITAL LETTER O WITH DIAERESIS AND MACRON" #x022A) - ("LATIN SMALL LETTER O WITH DIAERESIS AND MACRON" #x022B) - ("LATIN CAPITAL LETTER O WITH TILDE AND MACRON" #x022C) - ("LATIN SMALL LETTER O WITH TILDE AND MACRON" #x022D) - ("LATIN CAPITAL LETTER O WITH DOT ABOVE" #x022E) - ("LATIN SMALL LETTER O WITH DOT ABOVE" #x022F) - ("LATIN CAPITAL LETTER O WITH DOT ABOVE AND MACRON" #x0230) - ("LATIN SMALL LETTER O WITH DOT ABOVE AND MACRON" #x0231) - ("LATIN CAPITAL LETTER Y WITH MACRON" #x0232) - ("LATIN SMALL LETTER Y WITH MACRON" #x0233) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00250-002AF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00250-002AF.el deleted file mode 100644 index 84814214f5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00250-002AF.el +++ /dev/null @@ -1,96 +0,0 @@ -(nxml-define-char-name-set 'ipa-extensions - '(("LATIN SMALL LETTER TURNED A" #x0250) - ("LATIN SMALL LETTER ALPHA" #x0251) - ("LATIN SMALL LETTER TURNED ALPHA" #x0252) - ("LATIN SMALL LETTER B WITH HOOK" #x0253) - ("LATIN SMALL LETTER OPEN O" #x0254) - ("LATIN SMALL LETTER C WITH CURL" #x0255) - ("LATIN SMALL LETTER D WITH TAIL" #x0256) - ("LATIN SMALL LETTER D WITH HOOK" #x0257) - ("LATIN SMALL LETTER REVERSED E" #x0258) - ("LATIN SMALL LETTER SCHWA" #x0259) - ("LATIN SMALL LETTER SCHWA WITH HOOK" #x025A) - ("LATIN SMALL LETTER OPEN E" #x025B) - ("LATIN SMALL LETTER REVERSED OPEN E" #x025C) - ("LATIN SMALL LETTER REVERSED OPEN E WITH HOOK" #x025D) - ("LATIN SMALL LETTER CLOSED REVERSED OPEN E" #x025E) - ("LATIN SMALL LETTER DOTLESS J WITH STROKE" #x025F) - ("LATIN SMALL LETTER G WITH HOOK" #x0260) - ("LATIN SMALL LETTER SCRIPT G" #x0261) - ("LATIN LETTER SMALL CAPITAL G" #x0262) - ("LATIN SMALL LETTER GAMMA" #x0263) - ("LATIN SMALL LETTER RAMS HORN" #x0264) - ("LATIN SMALL LETTER TURNED H" #x0265) - ("LATIN SMALL LETTER H WITH HOOK" #x0266) - ("LATIN SMALL LETTER HENG WITH HOOK" #x0267) - ("LATIN SMALL LETTER I WITH STROKE" #x0268) - ("LATIN SMALL LETTER IOTA" #x0269) - ("LATIN LETTER SMALL CAPITAL I" #x026A) - ("LATIN SMALL LETTER L WITH MIDDLE TILDE" #x026B) - ("LATIN SMALL LETTER L WITH BELT" #x026C) - ("LATIN SMALL LETTER L WITH RETROFLEX HOOK" #x026D) - ("LATIN SMALL LETTER LEZH" #x026E) - ("LATIN SMALL LETTER TURNED M" #x026F) - ("LATIN SMALL LETTER TURNED M WITH LONG LEG" #x0270) - ("LATIN SMALL LETTER M WITH HOOK" #x0271) - ("LATIN SMALL LETTER N WITH LEFT HOOK" #x0272) - ("LATIN SMALL LETTER N WITH RETROFLEX HOOK" #x0273) - ("LATIN LETTER SMALL CAPITAL N" #x0274) - ("LATIN SMALL LETTER BARRED O" #x0275) - ("LATIN LETTER SMALL CAPITAL OE" #x0276) - ("LATIN SMALL LETTER CLOSED OMEGA" #x0277) - ("LATIN SMALL LETTER PHI" #x0278) - ("LATIN SMALL LETTER TURNED R" #x0279) - ("LATIN SMALL LETTER TURNED R WITH LONG LEG" #x027A) - ("LATIN SMALL LETTER TURNED R WITH HOOK" #x027B) - ("LATIN SMALL LETTER R WITH LONG LEG" #x027C) - ("LATIN SMALL LETTER R WITH TAIL" #x027D) - ("LATIN SMALL LETTER R WITH FISHHOOK" #x027E) - ("LATIN SMALL LETTER REVERSED R WITH FISHHOOK" #x027F) - ("LATIN LETTER SMALL CAPITAL R" #x0280) - ("LATIN LETTER SMALL CAPITAL INVERTED R" #x0281) - ("LATIN SMALL LETTER S WITH HOOK" #x0282) - ("LATIN SMALL LETTER ESH" #x0283) - ("LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK" #x0284) - ("LATIN SMALL LETTER SQUAT REVERSED ESH" #x0285) - ("LATIN SMALL LETTER ESH WITH CURL" #x0286) - ("LATIN SMALL LETTER TURNED T" #x0287) - ("LATIN SMALL LETTER T WITH RETROFLEX HOOK" #x0288) - ("LATIN SMALL LETTER U BAR" #x0289) - ("LATIN SMALL LETTER UPSILON" #x028A) - ("LATIN SMALL LETTER V WITH HOOK" #x028B) - ("LATIN SMALL LETTER TURNED V" #x028C) - ("LATIN SMALL LETTER TURNED W" #x028D) - ("LATIN SMALL LETTER TURNED Y" #x028E) - ("LATIN LETTER SMALL CAPITAL Y" #x028F) - ("LATIN SMALL LETTER Z WITH RETROFLEX HOOK" #x0290) - ("LATIN SMALL LETTER Z WITH CURL" #x0291) - ("LATIN SMALL LETTER EZH" #x0292) - ("LATIN SMALL LETTER EZH WITH CURL" #x0293) - ("LATIN LETTER GLOTTAL STOP" #x0294) - ("LATIN LETTER PHARYNGEAL VOICED FRICATIVE" #x0295) - ("LATIN LETTER INVERTED GLOTTAL STOP" #x0296) - ("LATIN LETTER STRETCHED C" #x0297) - ("LATIN LETTER BILABIAL CLICK" #x0298) - ("LATIN LETTER SMALL CAPITAL B" #x0299) - ("LATIN SMALL LETTER CLOSED OPEN E" #x029A) - ("LATIN LETTER SMALL CAPITAL G WITH HOOK" #x029B) - ("LATIN LETTER SMALL CAPITAL H" #x029C) - ("LATIN SMALL LETTER J WITH CROSSED-TAIL" #x029D) - ("LATIN SMALL LETTER TURNED K" #x029E) - ("LATIN LETTER SMALL CAPITAL L" #x029F) - ("LATIN SMALL LETTER Q WITH HOOK" #x02A0) - ("LATIN LETTER GLOTTAL STOP WITH STROKE" #x02A1) - ("LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE" #x02A2) - ("LATIN SMALL LETTER DZ DIGRAPH" #x02A3) - ("LATIN SMALL LETTER DEZH DIGRAPH" #x02A4) - ("LATIN SMALL LETTER DZ DIGRAPH WITH CURL" #x02A5) - ("LATIN SMALL LETTER TS DIGRAPH" #x02A6) - ("LATIN SMALL LETTER TESH DIGRAPH" #x02A7) - ("LATIN SMALL LETTER TC DIGRAPH WITH CURL" #x02A8) - ("LATIN SMALL LETTER FENG DIGRAPH" #x02A9) - ("LATIN SMALL LETTER LS DIGRAPH" #x02AA) - ("LATIN SMALL LETTER LZ DIGRAPH" #x02AB) - ("LATIN LETTER BILABIAL PERCUSSIVE" #x02AC) - ("LATIN LETTER BIDENTAL PERCUSSIVE" #x02AD) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/002B0-002FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/002B0-002FF.el deleted file mode 100644 index 4f74699d76..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/002B0-002FF.el +++ /dev/null @@ -1,65 +0,0 @@ -(nxml-define-char-name-set 'spacing-modifier-letters - '(("MODIFIER LETTER SMALL H" #x02B0) - ("MODIFIER LETTER SMALL H WITH HOOK" #x02B1) - ("MODIFIER LETTER SMALL J" #x02B2) - ("MODIFIER LETTER SMALL R" #x02B3) - ("MODIFIER LETTER SMALL TURNED R" #x02B4) - ("MODIFIER LETTER SMALL TURNED R WITH HOOK" #x02B5) - ("MODIFIER LETTER SMALL CAPITAL INVERTED R" #x02B6) - ("MODIFIER LETTER SMALL W" #x02B7) - ("MODIFIER LETTER SMALL Y" #x02B8) - ("MODIFIER LETTER PRIME" #x02B9) - ("MODIFIER LETTER DOUBLE PRIME" #x02BA) - ("MODIFIER LETTER TURNED COMMA" #x02BB) - ("MODIFIER LETTER APOSTROPHE" #x02BC) - ("MODIFIER LETTER REVERSED COMMA" #x02BD) - ("MODIFIER LETTER RIGHT HALF RING" #x02BE) - ("MODIFIER LETTER LEFT HALF RING" #x02BF) - ("MODIFIER LETTER GLOTTAL STOP" #x02C0) - ("MODIFIER LETTER REVERSED GLOTTAL STOP" #x02C1) - ("MODIFIER LETTER LEFT ARROWHEAD" #x02C2) - ("MODIFIER LETTER RIGHT ARROWHEAD" #x02C3) - ("MODIFIER LETTER UP ARROWHEAD" #x02C4) - ("MODIFIER LETTER DOWN ARROWHEAD" #x02C5) - ("MODIFIER LETTER CIRCUMFLEX ACCENT" #x02C6) - ("CARON" #x02C7) - ("MODIFIER LETTER VERTICAL LINE" #x02C8) - ("MODIFIER LETTER MACRON" #x02C9) - ("MODIFIER LETTER ACUTE ACCENT" #x02CA) - ("MODIFIER LETTER GRAVE ACCENT" #x02CB) - ("MODIFIER LETTER LOW VERTICAL LINE" #x02CC) - ("MODIFIER LETTER LOW MACRON" #x02CD) - ("MODIFIER LETTER LOW GRAVE ACCENT" #x02CE) - ("MODIFIER LETTER LOW ACUTE ACCENT" #x02CF) - ("MODIFIER LETTER TRIANGULAR COLON" #x02D0) - ("MODIFIER LETTER HALF TRIANGULAR COLON" #x02D1) - ("MODIFIER LETTER CENTRED RIGHT HALF RING" #x02D2) - ("MODIFIER LETTER CENTRED LEFT HALF RING" #x02D3) - ("MODIFIER LETTER UP TACK" #x02D4) - ("MODIFIER LETTER DOWN TACK" #x02D5) - ("MODIFIER LETTER PLUS SIGN" #x02D6) - ("MODIFIER LETTER MINUS SIGN" #x02D7) - ("BREVE" #x02D8) - ("DOT ABOVE" #x02D9) - ("RING ABOVE" #x02DA) - ("OGONEK" #x02DB) - ("SMALL TILDE" #x02DC) - ("DOUBLE ACUTE ACCENT" #x02DD) - ("MODIFIER LETTER RHOTIC HOOK" #x02DE) - ("MODIFIER LETTER CROSS ACCENT" #x02DF) - ("MODIFIER LETTER SMALL GAMMA" #x02E0) - ("MODIFIER LETTER SMALL L" #x02E1) - ("MODIFIER LETTER SMALL S" #x02E2) - ("MODIFIER LETTER SMALL X" #x02E3) - ("MODIFIER LETTER SMALL REVERSED GLOTTAL STOP" #x02E4) - ("MODIFIER LETTER EXTRA-HIGH TONE BAR" #x02E5) - ("MODIFIER LETTER HIGH TONE BAR" #x02E6) - ("MODIFIER LETTER MID TONE BAR" #x02E7) - ("MODIFIER LETTER LOW TONE BAR" #x02E8) - ("MODIFIER LETTER EXTRA-LOW TONE BAR" #x02E9) - ("MODIFIER LETTER YIN DEPARTING TONE MARK" #x02EA) - ("MODIFIER LETTER YANG DEPARTING TONE MARK" #x02EB) - ("MODIFIER LETTER VOICING" #x02EC) - ("MODIFIER LETTER UNASPIRATED" #x02ED) - ("MODIFIER LETTER DOUBLE APOSTROPHE" #x02EE) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00300-0036F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00300-0036F.el deleted file mode 100644 index 33e9627d92..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00300-0036F.el +++ /dev/null @@ -1,98 +0,0 @@ -(nxml-define-char-name-set 'combining-diacritical-marks - '(("COMBINING GRAVE ACCENT" #x0300) - ("COMBINING ACUTE ACCENT" #x0301) - ("COMBINING CIRCUMFLEX ACCENT" #x0302) - ("COMBINING TILDE" #x0303) - ("COMBINING MACRON" #x0304) - ("COMBINING OVERLINE" #x0305) - ("COMBINING BREVE" #x0306) - ("COMBINING DOT ABOVE" #x0307) - ("COMBINING DIAERESIS" #x0308) - ("COMBINING HOOK ABOVE" #x0309) - ("COMBINING RING ABOVE" #x030A) - ("COMBINING DOUBLE ACUTE ACCENT" #x030B) - ("COMBINING CARON" #x030C) - ("COMBINING VERTICAL LINE ABOVE" #x030D) - ("COMBINING DOUBLE VERTICAL LINE ABOVE" #x030E) - ("COMBINING DOUBLE GRAVE ACCENT" #x030F) - ("COMBINING CANDRABINDU" #x0310) - ("COMBINING INVERTED BREVE" #x0311) - ("COMBINING TURNED COMMA ABOVE" #x0312) - ("COMBINING COMMA ABOVE" #x0313) - ("COMBINING REVERSED COMMA ABOVE" #x0314) - ("COMBINING COMMA ABOVE RIGHT" #x0315) - ("COMBINING GRAVE ACCENT BELOW" #x0316) - ("COMBINING ACUTE ACCENT BELOW" #x0317) - ("COMBINING LEFT TACK BELOW" #x0318) - ("COMBINING RIGHT TACK BELOW" #x0319) - ("COMBINING LEFT ANGLE ABOVE" #x031A) - ("COMBINING HORN" #x031B) - ("COMBINING LEFT HALF RING BELOW" #x031C) - ("COMBINING UP TACK BELOW" #x031D) - ("COMBINING DOWN TACK BELOW" #x031E) - ("COMBINING PLUS SIGN BELOW" #x031F) - ("COMBINING MINUS SIGN BELOW" #x0320) - ("COMBINING PALATALIZED HOOK BELOW" #x0321) - ("COMBINING RETROFLEX HOOK BELOW" #x0322) - ("COMBINING DOT BELOW" #x0323) - ("COMBINING DIAERESIS BELOW" #x0324) - ("COMBINING RING BELOW" #x0325) - ("COMBINING COMMA BELOW" #x0326) - ("COMBINING CEDILLA" #x0327) - ("COMBINING OGONEK" #x0328) - ("COMBINING VERTICAL LINE BELOW" #x0329) - ("COMBINING BRIDGE BELOW" #x032A) - ("COMBINING INVERTED DOUBLE ARCH BELOW" #x032B) - ("COMBINING CARON BELOW" #x032C) - ("COMBINING CIRCUMFLEX ACCENT BELOW" #x032D) - ("COMBINING BREVE BELOW" #x032E) - ("COMBINING INVERTED BREVE BELOW" #x032F) - ("COMBINING TILDE BELOW" #x0330) - ("COMBINING MACRON BELOW" #x0331) - ("COMBINING LOW LINE" #x0332) - ("COMBINING DOUBLE LOW LINE" #x0333) - ("COMBINING TILDE OVERLAY" #x0334) - ("COMBINING SHORT STROKE OVERLAY" #x0335) - ("COMBINING LONG STROKE OVERLAY" #x0336) - ("COMBINING SHORT SOLIDUS OVERLAY" #x0337) - ("COMBINING LONG SOLIDUS OVERLAY" #x0338) - ("COMBINING RIGHT HALF RING BELOW" #x0339) - ("COMBINING INVERTED BRIDGE BELOW" #x033A) - ("COMBINING SQUARE BELOW" #x033B) - ("COMBINING SEAGULL BELOW" #x033C) - ("COMBINING X ABOVE" #x033D) - ("COMBINING VERTICAL TILDE" #x033E) - ("COMBINING DOUBLE OVERLINE" #x033F) - ("COMBINING GRAVE TONE MARK" #x0340) - ("COMBINING ACUTE TONE MARK" #x0341) - ("COMBINING GREEK PERISPOMENI" #x0342) - ("COMBINING GREEK KORONIS" #x0343) - ("COMBINING GREEK DIALYTIKA TONOS" #x0344) - ("COMBINING GREEK YPOGEGRAMMENI" #x0345) - ("COMBINING BRIDGE ABOVE" #x0346) - ("COMBINING EQUALS SIGN BELOW" #x0347) - ("COMBINING DOUBLE VERTICAL LINE BELOW" #x0348) - ("COMBINING LEFT ANGLE BELOW" #x0349) - ("COMBINING NOT TILDE ABOVE" #x034A) - ("COMBINING HOMOTHETIC ABOVE" #x034B) - ("COMBINING ALMOST EQUAL TO ABOVE" #x034C) - ("COMBINING LEFT RIGHT ARROW BELOW" #x034D) - ("COMBINING UPWARDS ARROW BELOW" #x034E) - ("COMBINING GRAPHEME JOINER" #x034F) - ("COMBINING DOUBLE TILDE" #x0360) - ("COMBINING DOUBLE INVERTED BREVE" #x0361) - ("COMBINING DOUBLE RIGHTWARDS ARROW BELOW" #x0362) - ("COMBINING LATIN SMALL LETTER A" #x0363) - ("COMBINING LATIN SMALL LETTER E" #x0364) - ("COMBINING LATIN SMALL LETTER I" #x0365) - ("COMBINING LATIN SMALL LETTER O" #x0366) - ("COMBINING LATIN SMALL LETTER U" #x0367) - ("COMBINING LATIN SMALL LETTER C" #x0368) - ("COMBINING LATIN SMALL LETTER D" #x0369) - ("COMBINING LATIN SMALL LETTER H" #x036A) - ("COMBINING LATIN SMALL LETTER M" #x036B) - ("COMBINING LATIN SMALL LETTER R" #x036C) - ("COMBINING LATIN SMALL LETTER T" #x036D) - ("COMBINING LATIN SMALL LETTER V" #x036E) - ("COMBINING LATIN SMALL LETTER X" #x036F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00370-003FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00370-003FF.el deleted file mode 100644 index 031b58d877..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00370-003FF.el +++ /dev/null @@ -1,117 +0,0 @@ -(nxml-define-char-name-set 'greek-and-coptic - '(("GREEK NUMERAL SIGN" #x0374) - ("GREEK LOWER NUMERAL SIGN" #x0375) - ("GREEK YPOGEGRAMMENI" #x037A) - ("GREEK QUESTION MARK" #x037E) - ("GREEK TONOS" #x0384) - ("GREEK DIALYTIKA TONOS" #x0385) - ("GREEK CAPITAL LETTER ALPHA WITH TONOS" #x0386) - ("GREEK ANO TELEIA" #x0387) - ("GREEK CAPITAL LETTER EPSILON WITH TONOS" #x0388) - ("GREEK CAPITAL LETTER ETA WITH TONOS" #x0389) - ("GREEK CAPITAL LETTER IOTA WITH TONOS" #x038A) - ("GREEK CAPITAL LETTER OMICRON WITH TONOS" #x038C) - ("GREEK CAPITAL LETTER UPSILON WITH TONOS" #x038E) - ("GREEK CAPITAL LETTER OMEGA WITH TONOS" #x038F) - ("GREEK SMALL LETTER IOTA WITH DIALYTIKA AND TONOS" #x0390) - ("GREEK CAPITAL LETTER ALPHA" #x0391) - ("GREEK CAPITAL LETTER BETA" #x0392) - ("GREEK CAPITAL LETTER GAMMA" #x0393) - ("GREEK CAPITAL LETTER DELTA" #x0394) - ("GREEK CAPITAL LETTER EPSILON" #x0395) - ("GREEK CAPITAL LETTER ZETA" #x0396) - ("GREEK CAPITAL LETTER ETA" #x0397) - ("GREEK CAPITAL LETTER THETA" #x0398) - ("GREEK CAPITAL LETTER IOTA" #x0399) - ("GREEK CAPITAL LETTER KAPPA" #x039A) - ("GREEK CAPITAL LETTER LAMDA" #x039B) - ("GREEK CAPITAL LETTER MU" #x039C) - ("GREEK CAPITAL LETTER NU" #x039D) - ("GREEK CAPITAL LETTER XI" #x039E) - ("GREEK CAPITAL LETTER OMICRON" #x039F) - ("GREEK CAPITAL LETTER PI" #x03A0) - ("GREEK CAPITAL LETTER RHO" #x03A1) - ("GREEK CAPITAL LETTER SIGMA" #x03A3) - ("GREEK CAPITAL LETTER TAU" #x03A4) - ("GREEK CAPITAL LETTER UPSILON" #x03A5) - ("GREEK CAPITAL LETTER PHI" #x03A6) - ("GREEK CAPITAL LETTER CHI" #x03A7) - ("GREEK CAPITAL LETTER PSI" #x03A8) - ("GREEK CAPITAL LETTER OMEGA" #x03A9) - ("GREEK CAPITAL LETTER IOTA WITH DIALYTIKA" #x03AA) - ("GREEK CAPITAL LETTER UPSILON WITH DIALYTIKA" #x03AB) - ("GREEK SMALL LETTER ALPHA WITH TONOS" #x03AC) - ("GREEK SMALL LETTER EPSILON WITH TONOS" #x03AD) - ("GREEK SMALL LETTER ETA WITH TONOS" #x03AE) - ("GREEK SMALL LETTER IOTA WITH TONOS" #x03AF) - ("GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND TONOS" #x03B0) - ("GREEK SMALL LETTER ALPHA" #x03B1) - ("GREEK SMALL LETTER BETA" #x03B2) - ("GREEK SMALL LETTER GAMMA" #x03B3) - ("GREEK SMALL LETTER DELTA" #x03B4) - ("GREEK SMALL LETTER EPSILON" #x03B5) - ("GREEK SMALL LETTER ZETA" #x03B6) - ("GREEK SMALL LETTER ETA" #x03B7) - ("GREEK SMALL LETTER THETA" #x03B8) - ("GREEK SMALL LETTER IOTA" #x03B9) - ("GREEK SMALL LETTER KAPPA" #x03BA) - ("GREEK SMALL LETTER LAMDA" #x03BB) - ("GREEK SMALL LETTER MU" #x03BC) - ("GREEK SMALL LETTER NU" #x03BD) - ("GREEK SMALL LETTER XI" #x03BE) - ("GREEK SMALL LETTER OMICRON" #x03BF) - ("GREEK SMALL LETTER PI" #x03C0) - ("GREEK SMALL LETTER RHO" #x03C1) - ("GREEK SMALL LETTER FINAL SIGMA" #x03C2) - ("GREEK SMALL LETTER SIGMA" #x03C3) - ("GREEK SMALL LETTER TAU" #x03C4) - ("GREEK SMALL LETTER UPSILON" #x03C5) - ("GREEK SMALL LETTER PHI" #x03C6) - ("GREEK SMALL LETTER CHI" #x03C7) - ("GREEK SMALL LETTER PSI" #x03C8) - ("GREEK SMALL LETTER OMEGA" #x03C9) - ("GREEK SMALL LETTER IOTA WITH DIALYTIKA" #x03CA) - ("GREEK SMALL LETTER UPSILON WITH DIALYTIKA" #x03CB) - ("GREEK SMALL LETTER OMICRON WITH TONOS" #x03CC) - ("GREEK SMALL LETTER UPSILON WITH TONOS" #x03CD) - ("GREEK SMALL LETTER OMEGA WITH TONOS" #x03CE) - ("GREEK BETA SYMBOL" #x03D0) - ("GREEK THETA SYMBOL" #x03D1) - ("GREEK UPSILON WITH HOOK SYMBOL" #x03D2) - ("GREEK UPSILON WITH ACUTE AND HOOK SYMBOL" #x03D3) - ("GREEK UPSILON WITH DIAERESIS AND HOOK SYMBOL" #x03D4) - ("GREEK PHI SYMBOL" #x03D5) - ("GREEK PI SYMBOL" #x03D6) - ("GREEK KAI SYMBOL" #x03D7) - ("GREEK LETTER ARCHAIC KOPPA" #x03D8) - ("GREEK SMALL LETTER ARCHAIC KOPPA" #x03D9) - ("GREEK LETTER STIGMA" #x03DA) - ("GREEK SMALL LETTER STIGMA" #x03DB) - ("GREEK LETTER DIGAMMA" #x03DC) - ("GREEK SMALL LETTER DIGAMMA" #x03DD) - ("GREEK LETTER KOPPA" #x03DE) - ("GREEK SMALL LETTER KOPPA" #x03DF) - ("GREEK LETTER SAMPI" #x03E0) - ("GREEK SMALL LETTER SAMPI" #x03E1) - ("COPTIC CAPITAL LETTER SHEI" #x03E2) - ("COPTIC SMALL LETTER SHEI" #x03E3) - ("COPTIC CAPITAL LETTER FEI" #x03E4) - ("COPTIC SMALL LETTER FEI" #x03E5) - ("COPTIC CAPITAL LETTER KHEI" #x03E6) - ("COPTIC SMALL LETTER KHEI" #x03E7) - ("COPTIC CAPITAL LETTER HORI" #x03E8) - ("COPTIC SMALL LETTER HORI" #x03E9) - ("COPTIC CAPITAL LETTER GANGIA" #x03EA) - ("COPTIC SMALL LETTER GANGIA" #x03EB) - ("COPTIC CAPITAL LETTER SHIMA" #x03EC) - ("COPTIC SMALL LETTER SHIMA" #x03ED) - ("COPTIC CAPITAL LETTER DEI" #x03EE) - ("COPTIC SMALL LETTER DEI" #x03EF) - ("GREEK KAPPA SYMBOL" #x03F0) - ("GREEK RHO SYMBOL" #x03F1) - ("GREEK LUNATE SIGMA SYMBOL" #x03F2) - ("GREEK LETTER YOT" #x03F3) - ("GREEK CAPITAL THETA SYMBOL" #x03F4) - ("GREEK LUNATE EPSILON SYMBOL" #x03F5) - ("GREEK REVERSED LUNATE EPSILON SYMBOL" #x03F6) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00400-004FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00400-004FF.el deleted file mode 100644 index 9de27e0dc5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00400-004FF.el +++ /dev/null @@ -1,248 +0,0 @@ -(nxml-define-char-name-set 'cyrillic - '(("CYRILLIC CAPITAL LETTER IE WITH GRAVE" #x0400) - ("CYRILLIC CAPITAL LETTER IO" #x0401) - ("CYRILLIC CAPITAL LETTER DJE" #x0402) - ("CYRILLIC CAPITAL LETTER GJE" #x0403) - ("CYRILLIC CAPITAL LETTER UKRAINIAN IE" #x0404) - ("CYRILLIC CAPITAL LETTER DZE" #x0405) - ("CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I" #x0406) - ("CYRILLIC CAPITAL LETTER YI" #x0407) - ("CYRILLIC CAPITAL LETTER JE" #x0408) - ("CYRILLIC CAPITAL LETTER LJE" #x0409) - ("CYRILLIC CAPITAL LETTER NJE" #x040A) - ("CYRILLIC CAPITAL LETTER TSHE" #x040B) - ("CYRILLIC CAPITAL LETTER KJE" #x040C) - ("CYRILLIC CAPITAL LETTER I WITH GRAVE" #x040D) - ("CYRILLIC CAPITAL LETTER SHORT U" #x040E) - ("CYRILLIC CAPITAL LETTER DZHE" #x040F) - ("CYRILLIC CAPITAL LETTER A" #x0410) - ("CYRILLIC CAPITAL LETTER BE" #x0411) - ("CYRILLIC CAPITAL LETTER VE" #x0412) - ("CYRILLIC CAPITAL LETTER GHE" #x0413) - ("CYRILLIC CAPITAL LETTER DE" #x0414) - ("CYRILLIC CAPITAL LETTER IE" #x0415) - ("CYRILLIC CAPITAL LETTER ZHE" #x0416) - ("CYRILLIC CAPITAL LETTER ZE" #x0417) - ("CYRILLIC CAPITAL LETTER I" #x0418) - ("CYRILLIC CAPITAL LETTER SHORT I" #x0419) - ("CYRILLIC CAPITAL LETTER KA" #x041A) - ("CYRILLIC CAPITAL LETTER EL" #x041B) - ("CYRILLIC CAPITAL LETTER EM" #x041C) - ("CYRILLIC CAPITAL LETTER EN" #x041D) - ("CYRILLIC CAPITAL LETTER O" #x041E) - ("CYRILLIC CAPITAL LETTER PE" #x041F) - ("CYRILLIC CAPITAL LETTER ER" #x0420) - ("CYRILLIC CAPITAL LETTER ES" #x0421) - ("CYRILLIC CAPITAL LETTER TE" #x0422) - ("CYRILLIC CAPITAL LETTER U" #x0423) - ("CYRILLIC CAPITAL LETTER EF" #x0424) - ("CYRILLIC CAPITAL LETTER HA" #x0425) - ("CYRILLIC CAPITAL LETTER TSE" #x0426) - ("CYRILLIC CAPITAL LETTER CHE" #x0427) - ("CYRILLIC CAPITAL LETTER SHA" #x0428) - ("CYRILLIC CAPITAL LETTER SHCHA" #x0429) - ("CYRILLIC CAPITAL LETTER HARD SIGN" #x042A) - ("CYRILLIC CAPITAL LETTER YERU" #x042B) - ("CYRILLIC CAPITAL LETTER SOFT SIGN" #x042C) - ("CYRILLIC CAPITAL LETTER E" #x042D) - ("CYRILLIC CAPITAL LETTER YU" #x042E) - ("CYRILLIC CAPITAL LETTER YA" #x042F) - ("CYRILLIC SMALL LETTER A" #x0430) - ("CYRILLIC SMALL LETTER BE" #x0431) - ("CYRILLIC SMALL LETTER VE" #x0432) - ("CYRILLIC SMALL LETTER GHE" #x0433) - ("CYRILLIC SMALL LETTER DE" #x0434) - ("CYRILLIC SMALL LETTER IE" #x0435) - ("CYRILLIC SMALL LETTER ZHE" #x0436) - ("CYRILLIC SMALL LETTER ZE" #x0437) - ("CYRILLIC SMALL LETTER I" #x0438) - ("CYRILLIC SMALL LETTER SHORT I" #x0439) - ("CYRILLIC SMALL LETTER KA" #x043A) - ("CYRILLIC SMALL LETTER EL" #x043B) - ("CYRILLIC SMALL LETTER EM" #x043C) - ("CYRILLIC SMALL LETTER EN" #x043D) - ("CYRILLIC SMALL LETTER O" #x043E) - ("CYRILLIC SMALL LETTER PE" #x043F) - ("CYRILLIC SMALL LETTER ER" #x0440) - ("CYRILLIC SMALL LETTER ES" #x0441) - ("CYRILLIC SMALL LETTER TE" #x0442) - ("CYRILLIC SMALL LETTER U" #x0443) - ("CYRILLIC SMALL LETTER EF" #x0444) - ("CYRILLIC SMALL LETTER HA" #x0445) - ("CYRILLIC SMALL LETTER TSE" #x0446) - ("CYRILLIC SMALL LETTER CHE" #x0447) - ("CYRILLIC SMALL LETTER SHA" #x0448) - ("CYRILLIC SMALL LETTER SHCHA" #x0449) - ("CYRILLIC SMALL LETTER HARD SIGN" #x044A) - ("CYRILLIC SMALL LETTER YERU" #x044B) - ("CYRILLIC SMALL LETTER SOFT SIGN" #x044C) - ("CYRILLIC SMALL LETTER E" #x044D) - ("CYRILLIC SMALL LETTER YU" #x044E) - ("CYRILLIC SMALL LETTER YA" #x044F) - ("CYRILLIC SMALL LETTER IE WITH GRAVE" #x0450) - ("CYRILLIC SMALL LETTER IO" #x0451) - ("CYRILLIC SMALL LETTER DJE" #x0452) - ("CYRILLIC SMALL LETTER GJE" #x0453) - ("CYRILLIC SMALL LETTER UKRAINIAN IE" #x0454) - ("CYRILLIC SMALL LETTER DZE" #x0455) - ("CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I" #x0456) - ("CYRILLIC SMALL LETTER YI" #x0457) - ("CYRILLIC SMALL LETTER JE" #x0458) - ("CYRILLIC SMALL LETTER LJE" #x0459) - ("CYRILLIC SMALL LETTER NJE" #x045A) - ("CYRILLIC SMALL LETTER TSHE" #x045B) - ("CYRILLIC SMALL LETTER KJE" #x045C) - ("CYRILLIC SMALL LETTER I WITH GRAVE" #x045D) - ("CYRILLIC SMALL LETTER SHORT U" #x045E) - ("CYRILLIC SMALL LETTER DZHE" #x045F) - ("CYRILLIC CAPITAL LETTER OMEGA" #x0460) - ("CYRILLIC SMALL LETTER OMEGA" #x0461) - ("CYRILLIC CAPITAL LETTER YAT" #x0462) - ("CYRILLIC SMALL LETTER YAT" #x0463) - ("CYRILLIC CAPITAL LETTER IOTIFIED E" #x0464) - ("CYRILLIC SMALL LETTER IOTIFIED E" #x0465) - ("CYRILLIC CAPITAL LETTER LITTLE YUS" #x0466) - ("CYRILLIC SMALL LETTER LITTLE YUS" #x0467) - ("CYRILLIC CAPITAL LETTER IOTIFIED LITTLE YUS" #x0468) - ("CYRILLIC SMALL LETTER IOTIFIED LITTLE YUS" #x0469) - ("CYRILLIC CAPITAL LETTER BIG YUS" #x046A) - ("CYRILLIC SMALL LETTER BIG YUS" #x046B) - ("CYRILLIC CAPITAL LETTER IOTIFIED BIG YUS" #x046C) - ("CYRILLIC SMALL LETTER IOTIFIED BIG YUS" #x046D) - ("CYRILLIC CAPITAL LETTER KSI" #x046E) - ("CYRILLIC SMALL LETTER KSI" #x046F) - ("CYRILLIC CAPITAL LETTER PSI" #x0470) - ("CYRILLIC SMALL LETTER PSI" #x0471) - ("CYRILLIC CAPITAL LETTER FITA" #x0472) - ("CYRILLIC SMALL LETTER FITA" #x0473) - ("CYRILLIC CAPITAL LETTER IZHITSA" #x0474) - ("CYRILLIC SMALL LETTER IZHITSA" #x0475) - ("CYRILLIC CAPITAL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT" #x0476) - ("CYRILLIC SMALL LETTER IZHITSA WITH DOUBLE GRAVE ACCENT" #x0477) - ("CYRILLIC CAPITAL LETTER UK" #x0478) - ("CYRILLIC SMALL LETTER UK" #x0479) - ("CYRILLIC CAPITAL LETTER ROUND OMEGA" #x047A) - ("CYRILLIC SMALL LETTER ROUND OMEGA" #x047B) - ("CYRILLIC CAPITAL LETTER OMEGA WITH TITLO" #x047C) - ("CYRILLIC SMALL LETTER OMEGA WITH TITLO" #x047D) - ("CYRILLIC CAPITAL LETTER OT" #x047E) - ("CYRILLIC SMALL LETTER OT" #x047F) - ("CYRILLIC CAPITAL LETTER KOPPA" #x0480) - ("CYRILLIC SMALL LETTER KOPPA" #x0481) - ("CYRILLIC THOUSANDS SIGN" #x0482) - ("COMBINING CYRILLIC TITLO" #x0483) - ("COMBINING CYRILLIC PALATALIZATION" #x0484) - ("COMBINING CYRILLIC DASIA PNEUMATA" #x0485) - ("COMBINING CYRILLIC PSILI PNEUMATA" #x0486) - ("COMBINING CYRILLIC HUNDRED THOUSANDS SIGN" #x0488) - ("COMBINING CYRILLIC MILLIONS SIGN" #x0489) - ("CYRILLIC CAPITAL LETTER SHORT I WITH TAIL" #x048A) - ("CYRILLIC SMALL LETTER SHORT I WITH TAIL" #x048B) - ("CYRILLIC CAPITAL LETTER SEMISOFT SIGN" #x048C) - ("CYRILLIC SMALL LETTER SEMISOFT SIGN" #x048D) - ("CYRILLIC CAPITAL LETTER ER WITH TICK" #x048E) - ("CYRILLIC SMALL LETTER ER WITH TICK" #x048F) - ("CYRILLIC CAPITAL LETTER GHE WITH UPTURN" #x0490) - ("CYRILLIC SMALL LETTER GHE WITH UPTURN" #x0491) - ("CYRILLIC CAPITAL LETTER GHE WITH STROKE" #x0492) - ("CYRILLIC SMALL LETTER GHE WITH STROKE" #x0493) - ("CYRILLIC CAPITAL LETTER GHE WITH MIDDLE HOOK" #x0494) - ("CYRILLIC SMALL LETTER GHE WITH MIDDLE HOOK" #x0495) - ("CYRILLIC CAPITAL LETTER ZHE WITH DESCENDER" #x0496) - ("CYRILLIC SMALL LETTER ZHE WITH DESCENDER" #x0497) - ("CYRILLIC CAPITAL LETTER ZE WITH DESCENDER" #x0498) - ("CYRILLIC SMALL LETTER ZE WITH DESCENDER" #x0499) - ("CYRILLIC CAPITAL LETTER KA WITH DESCENDER" #x049A) - ("CYRILLIC SMALL LETTER KA WITH DESCENDER" #x049B) - ("CYRILLIC CAPITAL LETTER KA WITH VERTICAL STROKE" #x049C) - ("CYRILLIC SMALL LETTER KA WITH VERTICAL STROKE" #x049D) - ("CYRILLIC CAPITAL LETTER KA WITH STROKE" #x049E) - ("CYRILLIC SMALL LETTER KA WITH STROKE" #x049F) - ("CYRILLIC CAPITAL LETTER BASHKIR KA" #x04A0) - ("CYRILLIC SMALL LETTER BASHKIR KA" #x04A1) - ("CYRILLIC CAPITAL LETTER EN WITH DESCENDER" #x04A2) - ("CYRILLIC SMALL LETTER EN WITH DESCENDER" #x04A3) - ("CYRILLIC CAPITAL LIGATURE EN GHE" #x04A4) - ("CYRILLIC SMALL LIGATURE EN GHE" #x04A5) - ("CYRILLIC CAPITAL LETTER PE WITH MIDDLE HOOK" #x04A6) - ("CYRILLIC SMALL LETTER PE WITH MIDDLE HOOK" #x04A7) - ("CYRILLIC CAPITAL LETTER ABKHASIAN HA" #x04A8) - ("CYRILLIC SMALL LETTER ABKHASIAN HA" #x04A9) - ("CYRILLIC CAPITAL LETTER ES WITH DESCENDER" #x04AA) - ("CYRILLIC SMALL LETTER ES WITH DESCENDER" #x04AB) - ("CYRILLIC CAPITAL LETTER TE WITH DESCENDER" #x04AC) - ("CYRILLIC SMALL LETTER TE WITH DESCENDER" #x04AD) - ("CYRILLIC CAPITAL LETTER STRAIGHT U" #x04AE) - ("CYRILLIC SMALL LETTER STRAIGHT U" #x04AF) - ("CYRILLIC CAPITAL LETTER STRAIGHT U WITH STROKE" #x04B0) - ("CYRILLIC SMALL LETTER STRAIGHT U WITH STROKE" #x04B1) - ("CYRILLIC CAPITAL LETTER HA WITH DESCENDER" #x04B2) - ("CYRILLIC SMALL LETTER HA WITH DESCENDER" #x04B3) - ("CYRILLIC CAPITAL LIGATURE TE TSE" #x04B4) - ("CYRILLIC SMALL LIGATURE TE TSE" #x04B5) - ("CYRILLIC CAPITAL LETTER CHE WITH DESCENDER" #x04B6) - ("CYRILLIC SMALL LETTER CHE WITH DESCENDER" #x04B7) - ("CYRILLIC CAPITAL LETTER CHE WITH VERTICAL STROKE" #x04B8) - ("CYRILLIC SMALL LETTER CHE WITH VERTICAL STROKE" #x04B9) - ("CYRILLIC CAPITAL LETTER SHHA" #x04BA) - ("CYRILLIC SMALL LETTER SHHA" #x04BB) - ("CYRILLIC CAPITAL LETTER ABKHASIAN CHE" #x04BC) - ("CYRILLIC SMALL LETTER ABKHASIAN CHE" #x04BD) - ("CYRILLIC CAPITAL LETTER ABKHASIAN CHE WITH DESCENDER" #x04BE) - ("CYRILLIC SMALL LETTER ABKHASIAN CHE WITH DESCENDER" #x04BF) - ("CYRILLIC LETTER PALOCHKA" #x04C0) - ("CYRILLIC CAPITAL LETTER ZHE WITH BREVE" #x04C1) - ("CYRILLIC SMALL LETTER ZHE WITH BREVE" #x04C2) - ("CYRILLIC CAPITAL LETTER KA WITH HOOK" #x04C3) - ("CYRILLIC SMALL LETTER KA WITH HOOK" #x04C4) - ("CYRILLIC CAPITAL LETTER EL WITH TAIL" #x04C5) - ("CYRILLIC SMALL LETTER EL WITH TAIL" #x04C6) - ("CYRILLIC CAPITAL LETTER EN WITH HOOK" #x04C7) - ("CYRILLIC SMALL LETTER EN WITH HOOK" #x04C8) - ("CYRILLIC CAPITAL LETTER EN WITH TAIL" #x04C9) - ("CYRILLIC SMALL LETTER EN WITH TAIL" #x04CA) - ("CYRILLIC CAPITAL LETTER KHAKASSIAN CHE" #x04CB) - ("CYRILLIC SMALL LETTER KHAKASSIAN CHE" #x04CC) - ("CYRILLIC CAPITAL LETTER EM WITH TAIL" #x04CD) - ("CYRILLIC SMALL LETTER EM WITH TAIL" #x04CE) - ("CYRILLIC CAPITAL LETTER A WITH BREVE" #x04D0) - ("CYRILLIC SMALL LETTER A WITH BREVE" #x04D1) - ("CYRILLIC CAPITAL LETTER A WITH DIAERESIS" #x04D2) - ("CYRILLIC SMALL LETTER A WITH DIAERESIS" #x04D3) - ("CYRILLIC CAPITAL LIGATURE A IE" #x04D4) - ("CYRILLIC SMALL LIGATURE A IE" #x04D5) - ("CYRILLIC CAPITAL LETTER IE WITH BREVE" #x04D6) - ("CYRILLIC SMALL LETTER IE WITH BREVE" #x04D7) - ("CYRILLIC CAPITAL LETTER SCHWA" #x04D8) - ("CYRILLIC SMALL LETTER SCHWA" #x04D9) - ("CYRILLIC CAPITAL LETTER SCHWA WITH DIAERESIS" #x04DA) - ("CYRILLIC SMALL LETTER SCHWA WITH DIAERESIS" #x04DB) - ("CYRILLIC CAPITAL LETTER ZHE WITH DIAERESIS" #x04DC) - ("CYRILLIC SMALL LETTER ZHE WITH DIAERESIS" #x04DD) - ("CYRILLIC CAPITAL LETTER ZE WITH DIAERESIS" #x04DE) - ("CYRILLIC SMALL LETTER ZE WITH DIAERESIS" #x04DF) - ("CYRILLIC CAPITAL LETTER ABKHASIAN DZE" #x04E0) - ("CYRILLIC SMALL LETTER ABKHASIAN DZE" #x04E1) - ("CYRILLIC CAPITAL LETTER I WITH MACRON" #x04E2) - ("CYRILLIC SMALL LETTER I WITH MACRON" #x04E3) - ("CYRILLIC CAPITAL LETTER I WITH DIAERESIS" #x04E4) - ("CYRILLIC SMALL LETTER I WITH DIAERESIS" #x04E5) - ("CYRILLIC CAPITAL LETTER O WITH DIAERESIS" #x04E6) - ("CYRILLIC SMALL LETTER O WITH DIAERESIS" #x04E7) - ("CYRILLIC CAPITAL LETTER BARRED O" #x04E8) - ("CYRILLIC SMALL LETTER BARRED O" #x04E9) - ("CYRILLIC CAPITAL LETTER BARRED O WITH DIAERESIS" #x04EA) - ("CYRILLIC SMALL LETTER BARRED O WITH DIAERESIS" #x04EB) - ("CYRILLIC CAPITAL LETTER E WITH DIAERESIS" #x04EC) - ("CYRILLIC SMALL LETTER E WITH DIAERESIS" #x04ED) - ("CYRILLIC CAPITAL LETTER U WITH MACRON" #x04EE) - ("CYRILLIC SMALL LETTER U WITH MACRON" #x04EF) - ("CYRILLIC CAPITAL LETTER U WITH DIAERESIS" #x04F0) - ("CYRILLIC SMALL LETTER U WITH DIAERESIS" #x04F1) - ("CYRILLIC CAPITAL LETTER U WITH DOUBLE ACUTE" #x04F2) - ("CYRILLIC SMALL LETTER U WITH DOUBLE ACUTE" #x04F3) - ("CYRILLIC CAPITAL LETTER CHE WITH DIAERESIS" #x04F4) - ("CYRILLIC SMALL LETTER CHE WITH DIAERESIS" #x04F5) - ("CYRILLIC CAPITAL LETTER YERU WITH DIAERESIS" #x04F8) - ("CYRILLIC SMALL LETTER YERU WITH DIAERESIS" #x04F9) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00500-0052F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00500-0052F.el deleted file mode 100644 index a59541150e..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00500-0052F.el +++ /dev/null @@ -1,18 +0,0 @@ -(nxml-define-char-name-set 'cyrillic-supplementary - '(("CYRILLIC CAPITAL LETTER KOMI DE" #x0500) - ("CYRILLIC SMALL LETTER KOMI DE" #x0501) - ("CYRILLIC CAPITAL LETTER KOMI DJE" #x0502) - ("CYRILLIC SMALL LETTER KOMI DJE" #x0503) - ("CYRILLIC CAPITAL LETTER KOMI ZJE" #x0504) - ("CYRILLIC SMALL LETTER KOMI ZJE" #x0505) - ("CYRILLIC CAPITAL LETTER KOMI DZJE" #x0506) - ("CYRILLIC SMALL LETTER KOMI DZJE" #x0507) - ("CYRILLIC CAPITAL LETTER KOMI LJE" #x0508) - ("CYRILLIC SMALL LETTER KOMI LJE" #x0509) - ("CYRILLIC CAPITAL LETTER KOMI NJE" #x050A) - ("CYRILLIC SMALL LETTER KOMI NJE" #x050B) - ("CYRILLIC CAPITAL LETTER KOMI SJE" #x050C) - ("CYRILLIC SMALL LETTER KOMI SJE" #x050D) - ("CYRILLIC CAPITAL LETTER KOMI TJE" #x050E) - ("CYRILLIC SMALL LETTER KOMI TJE" #x050F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00530-0058F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00530-0058F.el deleted file mode 100644 index 0f5d0ed1e5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00530-0058F.el +++ /dev/null @@ -1,88 +0,0 @@ -(nxml-define-char-name-set 'armenian - '(("ARMENIAN CAPITAL LETTER AYB" #x0531) - ("ARMENIAN CAPITAL LETTER BEN" #x0532) - ("ARMENIAN CAPITAL LETTER GIM" #x0533) - ("ARMENIAN CAPITAL LETTER DA" #x0534) - ("ARMENIAN CAPITAL LETTER ECH" #x0535) - ("ARMENIAN CAPITAL LETTER ZA" #x0536) - ("ARMENIAN CAPITAL LETTER EH" #x0537) - ("ARMENIAN CAPITAL LETTER ET" #x0538) - ("ARMENIAN CAPITAL LETTER TO" #x0539) - ("ARMENIAN CAPITAL LETTER ZHE" #x053A) - ("ARMENIAN CAPITAL LETTER INI" #x053B) - ("ARMENIAN CAPITAL LETTER LIWN" #x053C) - ("ARMENIAN CAPITAL LETTER XEH" #x053D) - ("ARMENIAN CAPITAL LETTER CA" #x053E) - ("ARMENIAN CAPITAL LETTER KEN" #x053F) - ("ARMENIAN CAPITAL LETTER HO" #x0540) - ("ARMENIAN CAPITAL LETTER JA" #x0541) - ("ARMENIAN CAPITAL LETTER GHAD" #x0542) - ("ARMENIAN CAPITAL LETTER CHEH" #x0543) - ("ARMENIAN CAPITAL LETTER MEN" #x0544) - ("ARMENIAN CAPITAL LETTER YI" #x0545) - ("ARMENIAN CAPITAL LETTER NOW" #x0546) - ("ARMENIAN CAPITAL LETTER SHA" #x0547) - ("ARMENIAN CAPITAL LETTER VO" #x0548) - ("ARMENIAN CAPITAL LETTER CHA" #x0549) - ("ARMENIAN CAPITAL LETTER PEH" #x054A) - ("ARMENIAN CAPITAL LETTER JHEH" #x054B) - ("ARMENIAN CAPITAL LETTER RA" #x054C) - ("ARMENIAN CAPITAL LETTER SEH" #x054D) - ("ARMENIAN CAPITAL LETTER VEW" #x054E) - ("ARMENIAN CAPITAL LETTER TIWN" #x054F) - ("ARMENIAN CAPITAL LETTER REH" #x0550) - ("ARMENIAN CAPITAL LETTER CO" #x0551) - ("ARMENIAN CAPITAL LETTER YIWN" #x0552) - ("ARMENIAN CAPITAL LETTER PIWR" #x0553) - ("ARMENIAN CAPITAL LETTER KEH" #x0554) - ("ARMENIAN CAPITAL LETTER OH" #x0555) - ("ARMENIAN CAPITAL LETTER FEH" #x0556) - ("ARMENIAN MODIFIER LETTER LEFT HALF RING" #x0559) - ("ARMENIAN APOSTROPHE" #x055A) - ("ARMENIAN EMPHASIS MARK" #x055B) - ("ARMENIAN EXCLAMATION MARK" #x055C) - ("ARMENIAN COMMA" #x055D) - ("ARMENIAN QUESTION MARK" #x055E) - ("ARMENIAN ABBREVIATION MARK" #x055F) - ("ARMENIAN SMALL LETTER AYB" #x0561) - ("ARMENIAN SMALL LETTER BEN" #x0562) - ("ARMENIAN SMALL LETTER GIM" #x0563) - ("ARMENIAN SMALL LETTER DA" #x0564) - ("ARMENIAN SMALL LETTER ECH" #x0565) - ("ARMENIAN SMALL LETTER ZA" #x0566) - ("ARMENIAN SMALL LETTER EH" #x0567) - ("ARMENIAN SMALL LETTER ET" #x0568) - ("ARMENIAN SMALL LETTER TO" #x0569) - ("ARMENIAN SMALL LETTER ZHE" #x056A) - ("ARMENIAN SMALL LETTER INI" #x056B) - ("ARMENIAN SMALL LETTER LIWN" #x056C) - ("ARMENIAN SMALL LETTER XEH" #x056D) - ("ARMENIAN SMALL LETTER CA" #x056E) - ("ARMENIAN SMALL LETTER KEN" #x056F) - ("ARMENIAN SMALL LETTER HO" #x0570) - ("ARMENIAN SMALL LETTER JA" #x0571) - ("ARMENIAN SMALL LETTER GHAD" #x0572) - ("ARMENIAN SMALL LETTER CHEH" #x0573) - ("ARMENIAN SMALL LETTER MEN" #x0574) - ("ARMENIAN SMALL LETTER YI" #x0575) - ("ARMENIAN SMALL LETTER NOW" #x0576) - ("ARMENIAN SMALL LETTER SHA" #x0577) - ("ARMENIAN SMALL LETTER VO" #x0578) - ("ARMENIAN SMALL LETTER CHA" #x0579) - ("ARMENIAN SMALL LETTER PEH" #x057A) - ("ARMENIAN SMALL LETTER JHEH" #x057B) - ("ARMENIAN SMALL LETTER RA" #x057C) - ("ARMENIAN SMALL LETTER SEH" #x057D) - ("ARMENIAN SMALL LETTER VEW" #x057E) - ("ARMENIAN SMALL LETTER TIWN" #x057F) - ("ARMENIAN SMALL LETTER REH" #x0580) - ("ARMENIAN SMALL LETTER CO" #x0581) - ("ARMENIAN SMALL LETTER YIWN" #x0582) - ("ARMENIAN SMALL LETTER PIWR" #x0583) - ("ARMENIAN SMALL LETTER KEH" #x0584) - ("ARMENIAN SMALL LETTER OH" #x0585) - ("ARMENIAN SMALL LETTER FEH" #x0586) - ("ARMENIAN SMALL LIGATURE ECH YIWN" #x0587) - ("ARMENIAN FULL STOP" #x0589) - ("ARMENIAN HYPHEN" #x058A) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00590-005FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00590-005FF.el deleted file mode 100644 index b33d5ea065..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00590-005FF.el +++ /dev/null @@ -1,84 +0,0 @@ -(nxml-define-char-name-set 'hebrew - '(("HEBREW ACCENT ETNAHTA" #x0591) - ("HEBREW ACCENT SEGOL" #x0592) - ("HEBREW ACCENT SHALSHELET" #x0593) - ("HEBREW ACCENT ZAQEF QATAN" #x0594) - ("HEBREW ACCENT ZAQEF GADOL" #x0595) - ("HEBREW ACCENT TIPEHA" #x0596) - ("HEBREW ACCENT REVIA" #x0597) - ("HEBREW ACCENT ZARQA" #x0598) - ("HEBREW ACCENT PASHTA" #x0599) - ("HEBREW ACCENT YETIV" #x059A) - ("HEBREW ACCENT TEVIR" #x059B) - ("HEBREW ACCENT GERESH" #x059C) - ("HEBREW ACCENT GERESH MUQDAM" #x059D) - ("HEBREW ACCENT GERSHAYIM" #x059E) - ("HEBREW ACCENT QARNEY PARA" #x059F) - ("HEBREW ACCENT TELISHA GEDOLA" #x05A0) - ("HEBREW ACCENT PAZER" #x05A1) - ("HEBREW ACCENT MUNAH" #x05A3) - ("HEBREW ACCENT MAHAPAKH" #x05A4) - ("HEBREW ACCENT MERKHA" #x05A5) - ("HEBREW ACCENT MERKHA KEFULA" #x05A6) - ("HEBREW ACCENT DARGA" #x05A7) - ("HEBREW ACCENT QADMA" #x05A8) - ("HEBREW ACCENT TELISHA QETANA" #x05A9) - ("HEBREW ACCENT YERAH BEN YOMO" #x05AA) - ("HEBREW ACCENT OLE" #x05AB) - ("HEBREW ACCENT ILUY" #x05AC) - ("HEBREW ACCENT DEHI" #x05AD) - ("HEBREW ACCENT ZINOR" #x05AE) - ("HEBREW MARK MASORA CIRCLE" #x05AF) - ("HEBREW POINT SHEVA" #x05B0) - ("HEBREW POINT HATAF SEGOL" #x05B1) - ("HEBREW POINT HATAF PATAH" #x05B2) - ("HEBREW POINT HATAF QAMATS" #x05B3) - ("HEBREW POINT HIRIQ" #x05B4) - ("HEBREW POINT TSERE" #x05B5) - ("HEBREW POINT SEGOL" #x05B6) - ("HEBREW POINT PATAH" #x05B7) - ("HEBREW POINT QAMATS" #x05B8) - ("HEBREW POINT HOLAM" #x05B9) - ("HEBREW POINT QUBUTS" #x05BB) - ("HEBREW POINT DAGESH OR MAPIQ" #x05BC) - ("HEBREW POINT METEG" #x05BD) - ("HEBREW PUNCTUATION MAQAF" #x05BE) - ("HEBREW POINT RAFE" #x05BF) - ("HEBREW PUNCTUATION PASEQ" #x05C0) - ("HEBREW POINT SHIN DOT" #x05C1) - ("HEBREW POINT SIN DOT" #x05C2) - ("HEBREW PUNCTUATION SOF PASUQ" #x05C3) - ("HEBREW MARK UPPER DOT" #x05C4) - ("HEBREW LETTER ALEF" #x05D0) - ("HEBREW LETTER BET" #x05D1) - ("HEBREW LETTER GIMEL" #x05D2) - ("HEBREW LETTER DALET" #x05D3) - ("HEBREW LETTER HE" #x05D4) - ("HEBREW LETTER VAV" #x05D5) - ("HEBREW LETTER ZAYIN" #x05D6) - ("HEBREW LETTER HET" #x05D7) - ("HEBREW LETTER TET" #x05D8) - ("HEBREW LETTER YOD" #x05D9) - ("HEBREW LETTER FINAL KAF" #x05DA) - ("HEBREW LETTER KAF" #x05DB) - ("HEBREW LETTER LAMED" #x05DC) - ("HEBREW LETTER FINAL MEM" #x05DD) - ("HEBREW LETTER MEM" #x05DE) - ("HEBREW LETTER FINAL NUN" #x05DF) - ("HEBREW LETTER NUN" #x05E0) - ("HEBREW LETTER SAMEKH" #x05E1) - ("HEBREW LETTER AYIN" #x05E2) - ("HEBREW LETTER FINAL PE" #x05E3) - ("HEBREW LETTER PE" #x05E4) - ("HEBREW LETTER FINAL TSADI" #x05E5) - ("HEBREW LETTER TSADI" #x05E6) - ("HEBREW LETTER QOF" #x05E7) - ("HEBREW LETTER RESH" #x05E8) - ("HEBREW LETTER SHIN" #x05E9) - ("HEBREW LETTER TAV" #x05EA) - ("HEBREW LIGATURE YIDDISH DOUBLE VAV" #x05F0) - ("HEBREW LIGATURE YIDDISH VAV YOD" #x05F1) - ("HEBREW LIGATURE YIDDISH DOUBLE YOD" #x05F2) - ("HEBREW PUNCTUATION GERESH" #x05F3) - ("HEBREW PUNCTUATION GERSHAYIM" #x05F4) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00600-006FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00600-006FF.el deleted file mode 100644 index 9009737528..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00600-006FF.el +++ /dev/null @@ -1,210 +0,0 @@ -(nxml-define-char-name-set 'arabic - '(("ARABIC COMMA" #x060C) - ("ARABIC SEMICOLON" #x061B) - ("ARABIC QUESTION MARK" #x061F) - ("ARABIC LETTER HAMZA" #x0621) - ("ARABIC LETTER ALEF WITH MADDA ABOVE" #x0622) - ("ARABIC LETTER ALEF WITH HAMZA ABOVE" #x0623) - ("ARABIC LETTER WAW WITH HAMZA ABOVE" #x0624) - ("ARABIC LETTER ALEF WITH HAMZA BELOW" #x0625) - ("ARABIC LETTER YEH WITH HAMZA ABOVE" #x0626) - ("ARABIC LETTER ALEF" #x0627) - ("ARABIC LETTER BEH" #x0628) - ("ARABIC LETTER TEH MARBUTA" #x0629) - ("ARABIC LETTER TEH" #x062A) - ("ARABIC LETTER THEH" #x062B) - ("ARABIC LETTER JEEM" #x062C) - ("ARABIC LETTER HAH" #x062D) - ("ARABIC LETTER KHAH" #x062E) - ("ARABIC LETTER DAL" #x062F) - ("ARABIC LETTER THAL" #x0630) - ("ARABIC LETTER REH" #x0631) - ("ARABIC LETTER ZAIN" #x0632) - ("ARABIC LETTER SEEN" #x0633) - ("ARABIC LETTER SHEEN" #x0634) - ("ARABIC LETTER SAD" #x0635) - ("ARABIC LETTER DAD" #x0636) - ("ARABIC LETTER TAH" #x0637) - ("ARABIC LETTER ZAH" #x0638) - ("ARABIC LETTER AIN" #x0639) - ("ARABIC LETTER GHAIN" #x063A) - ("ARABIC TATWEEL" #x0640) - ("ARABIC LETTER FEH" #x0641) - ("ARABIC LETTER QAF" #x0642) - ("ARABIC LETTER KAF" #x0643) - ("ARABIC LETTER LAM" #x0644) - ("ARABIC LETTER MEEM" #x0645) - ("ARABIC LETTER NOON" #x0646) - ("ARABIC LETTER HEH" #x0647) - ("ARABIC LETTER WAW" #x0648) - ("ARABIC LETTER ALEF MAKSURA" #x0649) - ("ARABIC LETTER YEH" #x064A) - ("ARABIC FATHATAN" #x064B) - ("ARABIC DAMMATAN" #x064C) - ("ARABIC KASRATAN" #x064D) - ("ARABIC FATHA" #x064E) - ("ARABIC DAMMA" #x064F) - ("ARABIC KASRA" #x0650) - ("ARABIC SHADDA" #x0651) - ("ARABIC SUKUN" #x0652) - ("ARABIC MADDAH ABOVE" #x0653) - ("ARABIC HAMZA ABOVE" #x0654) - ("ARABIC HAMZA BELOW" #x0655) - ("ARABIC-INDIC DIGIT ZERO" #x0660) - ("ARABIC-INDIC DIGIT ONE" #x0661) - ("ARABIC-INDIC DIGIT TWO" #x0662) - ("ARABIC-INDIC DIGIT THREE" #x0663) - ("ARABIC-INDIC DIGIT FOUR" #x0664) - ("ARABIC-INDIC DIGIT FIVE" #x0665) - ("ARABIC-INDIC DIGIT SIX" #x0666) - ("ARABIC-INDIC DIGIT SEVEN" #x0667) - ("ARABIC-INDIC DIGIT EIGHT" #x0668) - ("ARABIC-INDIC DIGIT NINE" #x0669) - ("ARABIC PERCENT SIGN" #x066A) - ("ARABIC DECIMAL SEPARATOR" #x066B) - ("ARABIC THOUSANDS SEPARATOR" #x066C) - ("ARABIC FIVE POINTED STAR" #x066D) - ("ARABIC LETTER DOTLESS BEH" #x066E) - ("ARABIC LETTER DOTLESS QAF" #x066F) - ("ARABIC LETTER SUPERSCRIPT ALEF" #x0670) - ("ARABIC LETTER ALEF WASLA" #x0671) - ("ARABIC LETTER ALEF WITH WAVY HAMZA ABOVE" #x0672) - ("ARABIC LETTER ALEF WITH WAVY HAMZA BELOW" #x0673) - ("ARABIC LETTER HIGH HAMZA" #x0674) - ("ARABIC LETTER HIGH HAMZA ALEF" #x0675) - ("ARABIC LETTER HIGH HAMZA WAW" #x0676) - ("ARABIC LETTER U WITH HAMZA ABOVE" #x0677) - ("ARABIC LETTER HIGH HAMZA YEH" #x0678) - ("ARABIC LETTER TTEH" #x0679) - ("ARABIC LETTER TTEHEH" #x067A) - ("ARABIC LETTER BEEH" #x067B) - ("ARABIC LETTER TEH WITH RING" #x067C) - ("ARABIC LETTER TEH WITH THREE DOTS ABOVE DOWNWARDS" #x067D) - ("ARABIC LETTER PEH" #x067E) - ("ARABIC LETTER TEHEH" #x067F) - ("ARABIC LETTER BEHEH" #x0680) - ("ARABIC LETTER HAH WITH HAMZA ABOVE" #x0681) - ("ARABIC LETTER HAH WITH TWO DOTS VERTICAL ABOVE" #x0682) - ("ARABIC LETTER NYEH" #x0683) - ("ARABIC LETTER DYEH" #x0684) - ("ARABIC LETTER HAH WITH THREE DOTS ABOVE" #x0685) - ("ARABIC LETTER TCHEH" #x0686) - ("ARABIC LETTER TCHEHEH" #x0687) - ("ARABIC LETTER DDAL" #x0688) - ("ARABIC LETTER DAL WITH RING" #x0689) - ("ARABIC LETTER DAL WITH DOT BELOW" #x068A) - ("ARABIC LETTER DAL WITH DOT BELOW AND SMALL TAH" #x068B) - ("ARABIC LETTER DAHAL" #x068C) - ("ARABIC LETTER DDAHAL" #x068D) - ("ARABIC LETTER DUL" #x068E) - ("ARABIC LETTER DAL WITH THREE DOTS ABOVE DOWNWARDS" #x068F) - ("ARABIC LETTER DAL WITH FOUR DOTS ABOVE" #x0690) - ("ARABIC LETTER RREH" #x0691) - ("ARABIC LETTER REH WITH SMALL V" #x0692) - ("ARABIC LETTER REH WITH RING" #x0693) - ("ARABIC LETTER REH WITH DOT BELOW" #x0694) - ("ARABIC LETTER REH WITH SMALL V BELOW" #x0695) - ("ARABIC LETTER REH WITH DOT BELOW AND DOT ABOVE" #x0696) - ("ARABIC LETTER REH WITH TWO DOTS ABOVE" #x0697) - ("ARABIC LETTER JEH" #x0698) - ("ARABIC LETTER REH WITH FOUR DOTS ABOVE" #x0699) - ("ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE" #x069A) - ("ARABIC LETTER SEEN WITH THREE DOTS BELOW" #x069B) - ("ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE" #x069C) - ("ARABIC LETTER SAD WITH TWO DOTS BELOW" #x069D) - ("ARABIC LETTER SAD WITH THREE DOTS ABOVE" #x069E) - ("ARABIC LETTER TAH WITH THREE DOTS ABOVE" #x069F) - ("ARABIC LETTER AIN WITH THREE DOTS ABOVE" #x06A0) - ("ARABIC LETTER DOTLESS FEH" #x06A1) - ("ARABIC LETTER FEH WITH DOT MOVED BELOW" #x06A2) - ("ARABIC LETTER FEH WITH DOT BELOW" #x06A3) - ("ARABIC LETTER VEH" #x06A4) - ("ARABIC LETTER FEH WITH THREE DOTS BELOW" #x06A5) - ("ARABIC LETTER PEHEH" #x06A6) - ("ARABIC LETTER QAF WITH DOT ABOVE" #x06A7) - ("ARABIC LETTER QAF WITH THREE DOTS ABOVE" #x06A8) - ("ARABIC LETTER KEHEH" #x06A9) - ("ARABIC LETTER SWASH KAF" #x06AA) - ("ARABIC LETTER KAF WITH RING" #x06AB) - ("ARABIC LETTER KAF WITH DOT ABOVE" #x06AC) - ("ARABIC LETTER NG" #x06AD) - ("ARABIC LETTER KAF WITH THREE DOTS BELOW" #x06AE) - ("ARABIC LETTER GAF" #x06AF) - ("ARABIC LETTER GAF WITH RING" #x06B0) - ("ARABIC LETTER NGOEH" #x06B1) - ("ARABIC LETTER GAF WITH TWO DOTS BELOW" #x06B2) - ("ARABIC LETTER GUEH" #x06B3) - ("ARABIC LETTER GAF WITH THREE DOTS ABOVE" #x06B4) - ("ARABIC LETTER LAM WITH SMALL V" #x06B5) - ("ARABIC LETTER LAM WITH DOT ABOVE" #x06B6) - ("ARABIC LETTER LAM WITH THREE DOTS ABOVE" #x06B7) - ("ARABIC LETTER LAM WITH THREE DOTS BELOW" #x06B8) - ("ARABIC LETTER NOON WITH DOT BELOW" #x06B9) - ("ARABIC LETTER NOON GHUNNA" #x06BA) - ("ARABIC LETTER RNOON" #x06BB) - ("ARABIC LETTER NOON WITH RING" #x06BC) - ("ARABIC LETTER NOON WITH THREE DOTS ABOVE" #x06BD) - ("ARABIC LETTER HEH DOACHASHMEE" #x06BE) - ("ARABIC LETTER TCHEH WITH DOT ABOVE" #x06BF) - ("ARABIC LETTER HEH WITH YEH ABOVE" #x06C0) - ("ARABIC LETTER HEH GOAL" #x06C1) - ("ARABIC LETTER HEH GOAL WITH HAMZA ABOVE" #x06C2) - ("ARABIC LETTER TEH MARBUTA GOAL" #x06C3) - ("ARABIC LETTER WAW WITH RING" #x06C4) - ("ARABIC LETTER KIRGHIZ OE" #x06C5) - ("ARABIC LETTER OE" #x06C6) - ("ARABIC LETTER U" #x06C7) - ("ARABIC LETTER YU" #x06C8) - ("ARABIC LETTER KIRGHIZ YU" #x06C9) - ("ARABIC LETTER WAW WITH TWO DOTS ABOVE" #x06CA) - ("ARABIC LETTER VE" #x06CB) - ("ARABIC LETTER FARSI YEH" #x06CC) - ("ARABIC LETTER YEH WITH TAIL" #x06CD) - ("ARABIC LETTER YEH WITH SMALL V" #x06CE) - ("ARABIC LETTER WAW WITH DOT ABOVE" #x06CF) - ("ARABIC LETTER E" #x06D0) - ("ARABIC LETTER YEH WITH THREE DOTS BELOW" #x06D1) - ("ARABIC LETTER YEH BARREE" #x06D2) - ("ARABIC LETTER YEH BARREE WITH HAMZA ABOVE" #x06D3) - ("ARABIC FULL STOP" #x06D4) - ("ARABIC LETTER AE" #x06D5) - ("ARABIC SMALL HIGH LIGATURE SAD WITH LAM WITH ALEF MAKSURA" #x06D6) - ("ARABIC SMALL HIGH LIGATURE QAF WITH LAM WITH ALEF MAKSURA" #x06D7) - ("ARABIC SMALL HIGH MEEM INITIAL FORM" #x06D8) - ("ARABIC SMALL HIGH LAM ALEF" #x06D9) - ("ARABIC SMALL HIGH JEEM" #x06DA) - ("ARABIC SMALL HIGH THREE DOTS" #x06DB) - ("ARABIC SMALL HIGH SEEN" #x06DC) - ("ARABIC END OF AYAH" #x06DD) - ("ARABIC START OF RUB EL HIZB" #x06DE) - ("ARABIC SMALL HIGH ROUNDED ZERO" #x06DF) - ("ARABIC SMALL HIGH UPRIGHT RECTANGULAR ZERO" #x06E0) - ("ARABIC SMALL HIGH DOTLESS HEAD OF KHAH" #x06E1) - ("ARABIC SMALL HIGH MEEM ISOLATED FORM" #x06E2) - ("ARABIC SMALL LOW SEEN" #x06E3) - ("ARABIC SMALL HIGH MADDA" #x06E4) - ("ARABIC SMALL WAW" #x06E5) - ("ARABIC SMALL YEH" #x06E6) - ("ARABIC SMALL HIGH YEH" #x06E7) - ("ARABIC SMALL HIGH NOON" #x06E8) - ("ARABIC PLACE OF SAJDAH" #x06E9) - ("ARABIC EMPTY CENTRE LOW STOP" #x06EA) - ("ARABIC EMPTY CENTRE HIGH STOP" #x06EB) - ("ARABIC ROUNDED HIGH STOP WITH FILLED CENTRE" #x06EC) - ("ARABIC SMALL LOW MEEM" #x06ED) - ("EXTENDED ARABIC-INDIC DIGIT ZERO" #x06F0) - ("EXTENDED ARABIC-INDIC DIGIT ONE" #x06F1) - ("EXTENDED ARABIC-INDIC DIGIT TWO" #x06F2) - ("EXTENDED ARABIC-INDIC DIGIT THREE" #x06F3) - ("EXTENDED ARABIC-INDIC DIGIT FOUR" #x06F4) - ("EXTENDED ARABIC-INDIC DIGIT FIVE" #x06F5) - ("EXTENDED ARABIC-INDIC DIGIT SIX" #x06F6) - ("EXTENDED ARABIC-INDIC DIGIT SEVEN" #x06F7) - ("EXTENDED ARABIC-INDIC DIGIT EIGHT" #x06F8) - ("EXTENDED ARABIC-INDIC DIGIT NINE" #x06F9) - ("ARABIC LETTER SHEEN WITH DOT BELOW" #x06FA) - ("ARABIC LETTER DAD WITH DOT BELOW" #x06FB) - ("ARABIC LETTER GHAIN WITH DOT BELOW" #x06FC) - ("ARABIC SIGN SINDHI AMPERSAND" #x06FD) - ("ARABIC SIGN SINDHI POSTPOSITION MEN" #x06FE) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00700-0074F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00700-0074F.el deleted file mode 100644 index 434861cf2b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00700-0074F.el +++ /dev/null @@ -1,73 +0,0 @@ -(nxml-define-char-name-set 'syriac - '(("SYRIAC END OF PARAGRAPH" #x0700) - ("SYRIAC SUPRALINEAR FULL STOP" #x0701) - ("SYRIAC SUBLINEAR FULL STOP" #x0702) - ("SYRIAC SUPRALINEAR COLON" #x0703) - ("SYRIAC SUBLINEAR COLON" #x0704) - ("SYRIAC HORIZONTAL COLON" #x0705) - ("SYRIAC COLON SKEWED LEFT" #x0706) - ("SYRIAC COLON SKEWED RIGHT" #x0707) - ("SYRIAC SUPRALINEAR COLON SKEWED LEFT" #x0708) - ("SYRIAC SUBLINEAR COLON SKEWED RIGHT" #x0709) - ("SYRIAC CONTRACTION" #x070A) - ("SYRIAC HARKLEAN OBELUS" #x070B) - ("SYRIAC HARKLEAN METOBELUS" #x070C) - ("SYRIAC HARKLEAN ASTERISCUS" #x070D) - ("SYRIAC ABBREVIATION MARK" #x070F) - ("SYRIAC LETTER ALAPH" #x0710) - ("SYRIAC LETTER SUPERSCRIPT ALAPH" #x0711) - ("SYRIAC LETTER BETH" #x0712) - ("SYRIAC LETTER GAMAL" #x0713) - ("SYRIAC LETTER GAMAL GARSHUNI" #x0714) - ("SYRIAC LETTER DALATH" #x0715) - ("SYRIAC LETTER DOTLESS DALATH RISH" #x0716) - ("SYRIAC LETTER HE" #x0717) - ("SYRIAC LETTER WAW" #x0718) - ("SYRIAC LETTER ZAIN" #x0719) - ("SYRIAC LETTER HETH" #x071A) - ("SYRIAC LETTER TETH" #x071B) - ("SYRIAC LETTER TETH GARSHUNI" #x071C) - ("SYRIAC LETTER YUDH" #x071D) - ("SYRIAC LETTER YUDH HE" #x071E) - ("SYRIAC LETTER KAPH" #x071F) - ("SYRIAC LETTER LAMADH" #x0720) - ("SYRIAC LETTER MIM" #x0721) - ("SYRIAC LETTER NUN" #x0722) - ("SYRIAC LETTER SEMKATH" #x0723) - ("SYRIAC LETTER FINAL SEMKATH" #x0724) - ("SYRIAC LETTER E" #x0725) - ("SYRIAC LETTER PE" #x0726) - ("SYRIAC LETTER REVERSED PE" #x0727) - ("SYRIAC LETTER SADHE" #x0728) - ("SYRIAC LETTER QAPH" #x0729) - ("SYRIAC LETTER RISH" #x072A) - ("SYRIAC LETTER SHIN" #x072B) - ("SYRIAC LETTER TAW" #x072C) - ("SYRIAC PTHAHA ABOVE" #x0730) - ("SYRIAC PTHAHA BELOW" #x0731) - ("SYRIAC PTHAHA DOTTED" #x0732) - ("SYRIAC ZQAPHA ABOVE" #x0733) - ("SYRIAC ZQAPHA BELOW" #x0734) - ("SYRIAC ZQAPHA DOTTED" #x0735) - ("SYRIAC RBASA ABOVE" #x0736) - ("SYRIAC RBASA BELOW" #x0737) - ("SYRIAC DOTTED ZLAMA HORIZONTAL" #x0738) - ("SYRIAC DOTTED ZLAMA ANGULAR" #x0739) - ("SYRIAC HBASA ABOVE" #x073A) - ("SYRIAC HBASA BELOW" #x073B) - ("SYRIAC HBASA-ESASA DOTTED" #x073C) - ("SYRIAC ESASA ABOVE" #x073D) - ("SYRIAC ESASA BELOW" #x073E) - ("SYRIAC RWAHA" #x073F) - ("SYRIAC FEMININE DOT" #x0740) - ("SYRIAC QUSHSHAYA" #x0741) - ("SYRIAC RUKKAKHA" #x0742) - ("SYRIAC TWO VERTICAL DOTS ABOVE" #x0743) - ("SYRIAC TWO VERTICAL DOTS BELOW" #x0744) - ("SYRIAC THREE DOTS ABOVE" #x0745) - ("SYRIAC THREE DOTS BELOW" #x0746) - ("SYRIAC OBLIQUE LINE ABOVE" #x0747) - ("SYRIAC OBLIQUE LINE BELOW" #x0748) - ("SYRIAC MUSIC" #x0749) - ("SYRIAC BARREKH" #x074A) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00780-007BF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00780-007BF.el deleted file mode 100644 index bb572921dd..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00780-007BF.el +++ /dev/null @@ -1,52 +0,0 @@ -(nxml-define-char-name-set 'thaana - '(("THAANA LETTER HAA" #x0780) - ("THAANA LETTER SHAVIYANI" #x0781) - ("THAANA LETTER NOONU" #x0782) - ("THAANA LETTER RAA" #x0783) - ("THAANA LETTER BAA" #x0784) - ("THAANA LETTER LHAVIYANI" #x0785) - ("THAANA LETTER KAAFU" #x0786) - ("THAANA LETTER ALIFU" #x0787) - ("THAANA LETTER VAAVU" #x0788) - ("THAANA LETTER MEEMU" #x0789) - ("THAANA LETTER FAAFU" #x078A) - ("THAANA LETTER DHAALU" #x078B) - ("THAANA LETTER THAA" #x078C) - ("THAANA LETTER LAAMU" #x078D) - ("THAANA LETTER GAAFU" #x078E) - ("THAANA LETTER GNAVIYANI" #x078F) - ("THAANA LETTER SEENU" #x0790) - ("THAANA LETTER DAVIYANI" #x0791) - ("THAANA LETTER ZAVIYANI" #x0792) - ("THAANA LETTER TAVIYANI" #x0793) - ("THAANA LETTER YAA" #x0794) - ("THAANA LETTER PAVIYANI" #x0795) - ("THAANA LETTER JAVIYANI" #x0796) - ("THAANA LETTER CHAVIYANI" #x0797) - ("THAANA LETTER TTAA" #x0798) - ("THAANA LETTER HHAA" #x0799) - ("THAANA LETTER KHAA" #x079A) - ("THAANA LETTER THAALU" #x079B) - ("THAANA LETTER ZAA" #x079C) - ("THAANA LETTER SHEENU" #x079D) - ("THAANA LETTER SAADHU" #x079E) - ("THAANA LETTER DAADHU" #x079F) - ("THAANA LETTER TO" #x07A0) - ("THAANA LETTER ZO" #x07A1) - ("THAANA LETTER AINU" #x07A2) - ("THAANA LETTER GHAINU" #x07A3) - ("THAANA LETTER QAAFU" #x07A4) - ("THAANA LETTER WAAVU" #x07A5) - ("THAANA ABAFILI" #x07A6) - ("THAANA AABAAFILI" #x07A7) - ("THAANA IBIFILI" #x07A8) - ("THAANA EEBEEFILI" #x07A9) - ("THAANA UBUFILI" #x07AA) - ("THAANA OOBOOFILI" #x07AB) - ("THAANA EBEFILI" #x07AC) - ("THAANA EYBEYFILI" #x07AD) - ("THAANA OBOFILI" #x07AE) - ("THAANA OABOAFILI" #x07AF) - ("THAANA SUKUN" #x07B0) - ("THAANA LETTER NAA" #x07B1) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00900-0097F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00900-0097F.el deleted file mode 100644 index c93dd4654b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00900-0097F.el +++ /dev/null @@ -1,106 +0,0 @@ -(nxml-define-char-name-set 'devanagari - '(("DEVANAGARI SIGN CANDRABINDU" #x0901) - ("DEVANAGARI SIGN ANUSVARA" #x0902) - ("DEVANAGARI SIGN VISARGA" #x0903) - ("DEVANAGARI LETTER A" #x0905) - ("DEVANAGARI LETTER AA" #x0906) - ("DEVANAGARI LETTER I" #x0907) - ("DEVANAGARI LETTER II" #x0908) - ("DEVANAGARI LETTER U" #x0909) - ("DEVANAGARI LETTER UU" #x090A) - ("DEVANAGARI LETTER VOCALIC R" #x090B) - ("DEVANAGARI LETTER VOCALIC L" #x090C) - ("DEVANAGARI LETTER CANDRA E" #x090D) - ("DEVANAGARI LETTER SHORT E" #x090E) - ("DEVANAGARI LETTER E" #x090F) - ("DEVANAGARI LETTER AI" #x0910) - ("DEVANAGARI LETTER CANDRA O" #x0911) - ("DEVANAGARI LETTER SHORT O" #x0912) - ("DEVANAGARI LETTER O" #x0913) - ("DEVANAGARI LETTER AU" #x0914) - ("DEVANAGARI LETTER KA" #x0915) - ("DEVANAGARI LETTER KHA" #x0916) - ("DEVANAGARI LETTER GA" #x0917) - ("DEVANAGARI LETTER GHA" #x0918) - ("DEVANAGARI LETTER NGA" #x0919) - ("DEVANAGARI LETTER CA" #x091A) - ("DEVANAGARI LETTER CHA" #x091B) - ("DEVANAGARI LETTER JA" #x091C) - ("DEVANAGARI LETTER JHA" #x091D) - ("DEVANAGARI LETTER NYA" #x091E) - ("DEVANAGARI LETTER TTA" #x091F) - ("DEVANAGARI LETTER TTHA" #x0920) - ("DEVANAGARI LETTER DDA" #x0921) - ("DEVANAGARI LETTER DDHA" #x0922) - ("DEVANAGARI LETTER NNA" #x0923) - ("DEVANAGARI LETTER TA" #x0924) - ("DEVANAGARI LETTER THA" #x0925) - ("DEVANAGARI LETTER DA" #x0926) - ("DEVANAGARI LETTER DHA" #x0927) - ("DEVANAGARI LETTER NA" #x0928) - ("DEVANAGARI LETTER NNNA" #x0929) - ("DEVANAGARI LETTER PA" #x092A) - ("DEVANAGARI LETTER PHA" #x092B) - ("DEVANAGARI LETTER BA" #x092C) - ("DEVANAGARI LETTER BHA" #x092D) - ("DEVANAGARI LETTER MA" #x092E) - ("DEVANAGARI LETTER YA" #x092F) - ("DEVANAGARI LETTER RA" #x0930) - ("DEVANAGARI LETTER RRA" #x0931) - ("DEVANAGARI LETTER LA" #x0932) - ("DEVANAGARI LETTER LLA" #x0933) - ("DEVANAGARI LETTER LLLA" #x0934) - ("DEVANAGARI LETTER VA" #x0935) - ("DEVANAGARI LETTER SHA" #x0936) - ("DEVANAGARI LETTER SSA" #x0937) - ("DEVANAGARI LETTER SA" #x0938) - ("DEVANAGARI LETTER HA" #x0939) - ("DEVANAGARI SIGN NUKTA" #x093C) - ("DEVANAGARI SIGN AVAGRAHA" #x093D) - ("DEVANAGARI VOWEL SIGN AA" #x093E) - ("DEVANAGARI VOWEL SIGN I" #x093F) - ("DEVANAGARI VOWEL SIGN II" #x0940) - ("DEVANAGARI VOWEL SIGN U" #x0941) - ("DEVANAGARI VOWEL SIGN UU" #x0942) - ("DEVANAGARI VOWEL SIGN VOCALIC R" #x0943) - ("DEVANAGARI VOWEL SIGN VOCALIC RR" #x0944) - ("DEVANAGARI VOWEL SIGN CANDRA E" #x0945) - ("DEVANAGARI VOWEL SIGN SHORT E" #x0946) - ("DEVANAGARI VOWEL SIGN E" #x0947) - ("DEVANAGARI VOWEL SIGN AI" #x0948) - ("DEVANAGARI VOWEL SIGN CANDRA O" #x0949) - ("DEVANAGARI VOWEL SIGN SHORT O" #x094A) - ("DEVANAGARI VOWEL SIGN O" #x094B) - ("DEVANAGARI VOWEL SIGN AU" #x094C) - ("DEVANAGARI SIGN VIRAMA" #x094D) - ("DEVANAGARI OM" #x0950) - ("DEVANAGARI STRESS SIGN UDATTA" #x0951) - ("DEVANAGARI STRESS SIGN ANUDATTA" #x0952) - ("DEVANAGARI GRAVE ACCENT" #x0953) - ("DEVANAGARI ACUTE ACCENT" #x0954) - ("DEVANAGARI LETTER QA" #x0958) - ("DEVANAGARI LETTER KHHA" #x0959) - ("DEVANAGARI LETTER GHHA" #x095A) - ("DEVANAGARI LETTER ZA" #x095B) - ("DEVANAGARI LETTER DDDHA" #x095C) - ("DEVANAGARI LETTER RHA" #x095D) - ("DEVANAGARI LETTER FA" #x095E) - ("DEVANAGARI LETTER YYA" #x095F) - ("DEVANAGARI LETTER VOCALIC RR" #x0960) - ("DEVANAGARI LETTER VOCALIC LL" #x0961) - ("DEVANAGARI VOWEL SIGN VOCALIC L" #x0962) - ("DEVANAGARI VOWEL SIGN VOCALIC LL" #x0963) - ("DEVANAGARI DANDA" #x0964) - ("DEVANAGARI DOUBLE DANDA" #x0965) - ("DEVANAGARI DIGIT ZERO" #x0966) - ("DEVANAGARI DIGIT ONE" #x0967) - ("DEVANAGARI DIGIT TWO" #x0968) - ("DEVANAGARI DIGIT THREE" #x0969) - ("DEVANAGARI DIGIT FOUR" #x096A) - ("DEVANAGARI DIGIT FIVE" #x096B) - ("DEVANAGARI DIGIT SIX" #x096C) - ("DEVANAGARI DIGIT SEVEN" #x096D) - ("DEVANAGARI DIGIT EIGHT" #x096E) - ("DEVANAGARI DIGIT NINE" #x096F) - ("DEVANAGARI ABBREVIATION SIGN" #x0970) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00980-009FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00980-009FF.el deleted file mode 100644 index cfae10e095..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00980-009FF.el +++ /dev/null @@ -1,91 +0,0 @@ -(nxml-define-char-name-set 'bengali - '(("BENGALI SIGN CANDRABINDU" #x0981) - ("BENGALI SIGN ANUSVARA" #x0982) - ("BENGALI SIGN VISARGA" #x0983) - ("BENGALI LETTER A" #x0985) - ("BENGALI LETTER AA" #x0986) - ("BENGALI LETTER I" #x0987) - ("BENGALI LETTER II" #x0988) - ("BENGALI LETTER U" #x0989) - ("BENGALI LETTER UU" #x098A) - ("BENGALI LETTER VOCALIC R" #x098B) - ("BENGALI LETTER VOCALIC L" #x098C) - ("BENGALI LETTER E" #x098F) - ("BENGALI LETTER AI" #x0990) - ("BENGALI LETTER O" #x0993) - ("BENGALI LETTER AU" #x0994) - ("BENGALI LETTER KA" #x0995) - ("BENGALI LETTER KHA" #x0996) - ("BENGALI LETTER GA" #x0997) - ("BENGALI LETTER GHA" #x0998) - ("BENGALI LETTER NGA" #x0999) - ("BENGALI LETTER CA" #x099A) - ("BENGALI LETTER CHA" #x099B) - ("BENGALI LETTER JA" #x099C) - ("BENGALI LETTER JHA" #x099D) - ("BENGALI LETTER NYA" #x099E) - ("BENGALI LETTER TTA" #x099F) - ("BENGALI LETTER TTHA" #x09A0) - ("BENGALI LETTER DDA" #x09A1) - ("BENGALI LETTER DDHA" #x09A2) - ("BENGALI LETTER NNA" #x09A3) - ("BENGALI LETTER TA" #x09A4) - ("BENGALI LETTER THA" #x09A5) - ("BENGALI LETTER DA" #x09A6) - ("BENGALI LETTER DHA" #x09A7) - ("BENGALI LETTER NA" #x09A8) - ("BENGALI LETTER PA" #x09AA) - ("BENGALI LETTER PHA" #x09AB) - ("BENGALI LETTER BA" #x09AC) - ("BENGALI LETTER BHA" #x09AD) - ("BENGALI LETTER MA" #x09AE) - ("BENGALI LETTER YA" #x09AF) - ("BENGALI LETTER RA" #x09B0) - ("BENGALI LETTER LA" #x09B2) - ("BENGALI LETTER SHA" #x09B6) - ("BENGALI LETTER SSA" #x09B7) - ("BENGALI LETTER SA" #x09B8) - ("BENGALI LETTER HA" #x09B9) - ("BENGALI SIGN NUKTA" #x09BC) - ("BENGALI VOWEL SIGN AA" #x09BE) - ("BENGALI VOWEL SIGN I" #x09BF) - ("BENGALI VOWEL SIGN II" #x09C0) - ("BENGALI VOWEL SIGN U" #x09C1) - ("BENGALI VOWEL SIGN UU" #x09C2) - ("BENGALI VOWEL SIGN VOCALIC R" #x09C3) - ("BENGALI VOWEL SIGN VOCALIC RR" #x09C4) - ("BENGALI VOWEL SIGN E" #x09C7) - ("BENGALI VOWEL SIGN AI" #x09C8) - ("BENGALI VOWEL SIGN O" #x09CB) - ("BENGALI VOWEL SIGN AU" #x09CC) - ("BENGALI SIGN VIRAMA" #x09CD) - ("BENGALI AU LENGTH MARK" #x09D7) - ("BENGALI LETTER RRA" #x09DC) - ("BENGALI LETTER RHA" #x09DD) - ("BENGALI LETTER YYA" #x09DF) - ("BENGALI LETTER VOCALIC RR" #x09E0) - ("BENGALI LETTER VOCALIC LL" #x09E1) - ("BENGALI VOWEL SIGN VOCALIC L" #x09E2) - ("BENGALI VOWEL SIGN VOCALIC LL" #x09E3) - ("BENGALI DIGIT ZERO" #x09E6) - ("BENGALI DIGIT ONE" #x09E7) - ("BENGALI DIGIT TWO" #x09E8) - ("BENGALI DIGIT THREE" #x09E9) - ("BENGALI DIGIT FOUR" #x09EA) - ("BENGALI DIGIT FIVE" #x09EB) - ("BENGALI DIGIT SIX" #x09EC) - ("BENGALI DIGIT SEVEN" #x09ED) - ("BENGALI DIGIT EIGHT" #x09EE) - ("BENGALI DIGIT NINE" #x09EF) - ("BENGALI LETTER RA WITH MIDDLE DIAGONAL" #x09F0) - ("BENGALI LETTER RA WITH LOWER DIAGONAL" #x09F1) - ("BENGALI RUPEE MARK" #x09F2) - ("BENGALI RUPEE SIGN" #x09F3) - ("BENGALI CURRENCY NUMERATOR ONE" #x09F4) - ("BENGALI CURRENCY NUMERATOR TWO" #x09F5) - ("BENGALI CURRENCY NUMERATOR THREE" #x09F6) - ("BENGALI CURRENCY NUMERATOR FOUR" #x09F7) - ("BENGALI CURRENCY NUMERATOR ONE LESS THAN THE DENOMINATOR" #x09F8) - ("BENGALI CURRENCY DENOMINATOR SIXTEEN" #x09F9) - ("BENGALI ISSHAR" #x09FA) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00A00-00A7F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00A00-00A7F.el deleted file mode 100644 index 5adfaed0ef..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00A00-00A7F.el +++ /dev/null @@ -1,77 +0,0 @@ -(nxml-define-char-name-set 'gurmukhi - '(("GURMUKHI SIGN BINDI" #x0A02) - ("GURMUKHI LETTER A" #x0A05) - ("GURMUKHI LETTER AA" #x0A06) - ("GURMUKHI LETTER I" #x0A07) - ("GURMUKHI LETTER II" #x0A08) - ("GURMUKHI LETTER U" #x0A09) - ("GURMUKHI LETTER UU" #x0A0A) - ("GURMUKHI LETTER EE" #x0A0F) - ("GURMUKHI LETTER AI" #x0A10) - ("GURMUKHI LETTER OO" #x0A13) - ("GURMUKHI LETTER AU" #x0A14) - ("GURMUKHI LETTER KA" #x0A15) - ("GURMUKHI LETTER KHA" #x0A16) - ("GURMUKHI LETTER GA" #x0A17) - ("GURMUKHI LETTER GHA" #x0A18) - ("GURMUKHI LETTER NGA" #x0A19) - ("GURMUKHI LETTER CA" #x0A1A) - ("GURMUKHI LETTER CHA" #x0A1B) - ("GURMUKHI LETTER JA" #x0A1C) - ("GURMUKHI LETTER JHA" #x0A1D) - ("GURMUKHI LETTER NYA" #x0A1E) - ("GURMUKHI LETTER TTA" #x0A1F) - ("GURMUKHI LETTER TTHA" #x0A20) - ("GURMUKHI LETTER DDA" #x0A21) - ("GURMUKHI LETTER DDHA" #x0A22) - ("GURMUKHI LETTER NNA" #x0A23) - ("GURMUKHI LETTER TA" #x0A24) - ("GURMUKHI LETTER THA" #x0A25) - ("GURMUKHI LETTER DA" #x0A26) - ("GURMUKHI LETTER DHA" #x0A27) - ("GURMUKHI LETTER NA" #x0A28) - ("GURMUKHI LETTER PA" #x0A2A) - ("GURMUKHI LETTER PHA" #x0A2B) - ("GURMUKHI LETTER BA" #x0A2C) - ("GURMUKHI LETTER BHA" #x0A2D) - ("GURMUKHI LETTER MA" #x0A2E) - ("GURMUKHI LETTER YA" #x0A2F) - ("GURMUKHI LETTER RA" #x0A30) - ("GURMUKHI LETTER LA" #x0A32) - ("GURMUKHI LETTER LLA" #x0A33) - ("GURMUKHI LETTER VA" #x0A35) - ("GURMUKHI LETTER SHA" #x0A36) - ("GURMUKHI LETTER SA" #x0A38) - ("GURMUKHI LETTER HA" #x0A39) - ("GURMUKHI SIGN NUKTA" #x0A3C) - ("GURMUKHI VOWEL SIGN AA" #x0A3E) - ("GURMUKHI VOWEL SIGN I" #x0A3F) - ("GURMUKHI VOWEL SIGN II" #x0A40) - ("GURMUKHI VOWEL SIGN U" #x0A41) - ("GURMUKHI VOWEL SIGN UU" #x0A42) - ("GURMUKHI VOWEL SIGN EE" #x0A47) - ("GURMUKHI VOWEL SIGN AI" #x0A48) - ("GURMUKHI VOWEL SIGN OO" #x0A4B) - ("GURMUKHI VOWEL SIGN AU" #x0A4C) - ("GURMUKHI SIGN VIRAMA" #x0A4D) - ("GURMUKHI LETTER KHHA" #x0A59) - ("GURMUKHI LETTER GHHA" #x0A5A) - ("GURMUKHI LETTER ZA" #x0A5B) - ("GURMUKHI LETTER RRA" #x0A5C) - ("GURMUKHI LETTER FA" #x0A5E) - ("GURMUKHI DIGIT ZERO" #x0A66) - ("GURMUKHI DIGIT ONE" #x0A67) - ("GURMUKHI DIGIT TWO" #x0A68) - ("GURMUKHI DIGIT THREE" #x0A69) - ("GURMUKHI DIGIT FOUR" #x0A6A) - ("GURMUKHI DIGIT FIVE" #x0A6B) - ("GURMUKHI DIGIT SIX" #x0A6C) - ("GURMUKHI DIGIT SEVEN" #x0A6D) - ("GURMUKHI DIGIT EIGHT" #x0A6E) - ("GURMUKHI DIGIT NINE" #x0A6F) - ("GURMUKHI TIPPI" #x0A70) - ("GURMUKHI ADDAK" #x0A71) - ("GURMUKHI IRI" #x0A72) - ("GURMUKHI URA" #x0A73) - ("GURMUKHI EK ONKAR" #x0A74) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00A80-00AFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00A80-00AFF.el deleted file mode 100644 index 35be7fa7a5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00A80-00AFF.el +++ /dev/null @@ -1,80 +0,0 @@ -(nxml-define-char-name-set 'gujarati - '(("GUJARATI SIGN CANDRABINDU" #x0A81) - ("GUJARATI SIGN ANUSVARA" #x0A82) - ("GUJARATI SIGN VISARGA" #x0A83) - ("GUJARATI LETTER A" #x0A85) - ("GUJARATI LETTER AA" #x0A86) - ("GUJARATI LETTER I" #x0A87) - ("GUJARATI LETTER II" #x0A88) - ("GUJARATI LETTER U" #x0A89) - ("GUJARATI LETTER UU" #x0A8A) - ("GUJARATI LETTER VOCALIC R" #x0A8B) - ("GUJARATI VOWEL CANDRA E" #x0A8D) - ("GUJARATI LETTER E" #x0A8F) - ("GUJARATI LETTER AI" #x0A90) - ("GUJARATI VOWEL CANDRA O" #x0A91) - ("GUJARATI LETTER O" #x0A93) - ("GUJARATI LETTER AU" #x0A94) - ("GUJARATI LETTER KA" #x0A95) - ("GUJARATI LETTER KHA" #x0A96) - ("GUJARATI LETTER GA" #x0A97) - ("GUJARATI LETTER GHA" #x0A98) - ("GUJARATI LETTER NGA" #x0A99) - ("GUJARATI LETTER CA" #x0A9A) - ("GUJARATI LETTER CHA" #x0A9B) - ("GUJARATI LETTER JA" #x0A9C) - ("GUJARATI LETTER JHA" #x0A9D) - ("GUJARATI LETTER NYA" #x0A9E) - ("GUJARATI LETTER TTA" #x0A9F) - ("GUJARATI LETTER TTHA" #x0AA0) - ("GUJARATI LETTER DDA" #x0AA1) - ("GUJARATI LETTER DDHA" #x0AA2) - ("GUJARATI LETTER NNA" #x0AA3) - ("GUJARATI LETTER TA" #x0AA4) - ("GUJARATI LETTER THA" #x0AA5) - ("GUJARATI LETTER DA" #x0AA6) - ("GUJARATI LETTER DHA" #x0AA7) - ("GUJARATI LETTER NA" #x0AA8) - ("GUJARATI LETTER PA" #x0AAA) - ("GUJARATI LETTER PHA" #x0AAB) - ("GUJARATI LETTER BA" #x0AAC) - ("GUJARATI LETTER BHA" #x0AAD) - ("GUJARATI LETTER MA" #x0AAE) - ("GUJARATI LETTER YA" #x0AAF) - ("GUJARATI LETTER RA" #x0AB0) - ("GUJARATI LETTER LA" #x0AB2) - ("GUJARATI LETTER LLA" #x0AB3) - ("GUJARATI LETTER VA" #x0AB5) - ("GUJARATI LETTER SHA" #x0AB6) - ("GUJARATI LETTER SSA" #x0AB7) - ("GUJARATI LETTER SA" #x0AB8) - ("GUJARATI LETTER HA" #x0AB9) - ("GUJARATI SIGN NUKTA" #x0ABC) - ("GUJARATI SIGN AVAGRAHA" #x0ABD) - ("GUJARATI VOWEL SIGN AA" #x0ABE) - ("GUJARATI VOWEL SIGN I" #x0ABF) - ("GUJARATI VOWEL SIGN II" #x0AC0) - ("GUJARATI VOWEL SIGN U" #x0AC1) - ("GUJARATI VOWEL SIGN UU" #x0AC2) - ("GUJARATI VOWEL SIGN VOCALIC R" #x0AC3) - ("GUJARATI VOWEL SIGN VOCALIC RR" #x0AC4) - ("GUJARATI VOWEL SIGN CANDRA E" #x0AC5) - ("GUJARATI VOWEL SIGN E" #x0AC7) - ("GUJARATI VOWEL SIGN AI" #x0AC8) - ("GUJARATI VOWEL SIGN CANDRA O" #x0AC9) - ("GUJARATI VOWEL SIGN O" #x0ACB) - ("GUJARATI VOWEL SIGN AU" #x0ACC) - ("GUJARATI SIGN VIRAMA" #x0ACD) - ("GUJARATI OM" #x0AD0) - ("GUJARATI LETTER VOCALIC RR" #x0AE0) - ("GUJARATI DIGIT ZERO" #x0AE6) - ("GUJARATI DIGIT ONE" #x0AE7) - ("GUJARATI DIGIT TWO" #x0AE8) - ("GUJARATI DIGIT THREE" #x0AE9) - ("GUJARATI DIGIT FOUR" #x0AEA) - ("GUJARATI DIGIT FIVE" #x0AEB) - ("GUJARATI DIGIT SIX" #x0AEC) - ("GUJARATI DIGIT SEVEN" #x0AED) - ("GUJARATI DIGIT EIGHT" #x0AEE) - ("GUJARATI DIGIT NINE" #x0AEF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00B00-00B7F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00B00-00B7F.el deleted file mode 100644 index e0d08648c9..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00B00-00B7F.el +++ /dev/null @@ -1,81 +0,0 @@ -(nxml-define-char-name-set 'oriya - '(("ORIYA SIGN CANDRABINDU" #x0B01) - ("ORIYA SIGN ANUSVARA" #x0B02) - ("ORIYA SIGN VISARGA" #x0B03) - ("ORIYA LETTER A" #x0B05) - ("ORIYA LETTER AA" #x0B06) - ("ORIYA LETTER I" #x0B07) - ("ORIYA LETTER II" #x0B08) - ("ORIYA LETTER U" #x0B09) - ("ORIYA LETTER UU" #x0B0A) - ("ORIYA LETTER VOCALIC R" #x0B0B) - ("ORIYA LETTER VOCALIC L" #x0B0C) - ("ORIYA LETTER E" #x0B0F) - ("ORIYA LETTER AI" #x0B10) - ("ORIYA LETTER O" #x0B13) - ("ORIYA LETTER AU" #x0B14) - ("ORIYA LETTER KA" #x0B15) - ("ORIYA LETTER KHA" #x0B16) - ("ORIYA LETTER GA" #x0B17) - ("ORIYA LETTER GHA" #x0B18) - ("ORIYA LETTER NGA" #x0B19) - ("ORIYA LETTER CA" #x0B1A) - ("ORIYA LETTER CHA" #x0B1B) - ("ORIYA LETTER JA" #x0B1C) - ("ORIYA LETTER JHA" #x0B1D) - ("ORIYA LETTER NYA" #x0B1E) - ("ORIYA LETTER TTA" #x0B1F) - ("ORIYA LETTER TTHA" #x0B20) - ("ORIYA LETTER DDA" #x0B21) - ("ORIYA LETTER DDHA" #x0B22) - ("ORIYA LETTER NNA" #x0B23) - ("ORIYA LETTER TA" #x0B24) - ("ORIYA LETTER THA" #x0B25) - ("ORIYA LETTER DA" #x0B26) - ("ORIYA LETTER DHA" #x0B27) - ("ORIYA LETTER NA" #x0B28) - ("ORIYA LETTER PA" #x0B2A) - ("ORIYA LETTER PHA" #x0B2B) - ("ORIYA LETTER BA" #x0B2C) - ("ORIYA LETTER BHA" #x0B2D) - ("ORIYA LETTER MA" #x0B2E) - ("ORIYA LETTER YA" #x0B2F) - ("ORIYA LETTER RA" #x0B30) - ("ORIYA LETTER LA" #x0B32) - ("ORIYA LETTER LLA" #x0B33) - ("ORIYA LETTER SHA" #x0B36) - ("ORIYA LETTER SSA" #x0B37) - ("ORIYA LETTER SA" #x0B38) - ("ORIYA LETTER HA" #x0B39) - ("ORIYA SIGN NUKTA" #x0B3C) - ("ORIYA SIGN AVAGRAHA" #x0B3D) - ("ORIYA VOWEL SIGN AA" #x0B3E) - ("ORIYA VOWEL SIGN I" #x0B3F) - ("ORIYA VOWEL SIGN II" #x0B40) - ("ORIYA VOWEL SIGN U" #x0B41) - ("ORIYA VOWEL SIGN UU" #x0B42) - ("ORIYA VOWEL SIGN VOCALIC R" #x0B43) - ("ORIYA VOWEL SIGN E" #x0B47) - ("ORIYA VOWEL SIGN AI" #x0B48) - ("ORIYA VOWEL SIGN O" #x0B4B) - ("ORIYA VOWEL SIGN AU" #x0B4C) - ("ORIYA SIGN VIRAMA" #x0B4D) - ("ORIYA AI LENGTH MARK" #x0B56) - ("ORIYA AU LENGTH MARK" #x0B57) - ("ORIYA LETTER RRA" #x0B5C) - ("ORIYA LETTER RHA" #x0B5D) - ("ORIYA LETTER YYA" #x0B5F) - ("ORIYA LETTER VOCALIC RR" #x0B60) - ("ORIYA LETTER VOCALIC LL" #x0B61) - ("ORIYA DIGIT ZERO" #x0B66) - ("ORIYA DIGIT ONE" #x0B67) - ("ORIYA DIGIT TWO" #x0B68) - ("ORIYA DIGIT THREE" #x0B69) - ("ORIYA DIGIT FOUR" #x0B6A) - ("ORIYA DIGIT FIVE" #x0B6B) - ("ORIYA DIGIT SIX" #x0B6C) - ("ORIYA DIGIT SEVEN" #x0B6D) - ("ORIYA DIGIT EIGHT" #x0B6E) - ("ORIYA DIGIT NINE" #x0B6F) - ("ORIYA ISSHAR" #x0B70) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00B80-00BFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00B80-00BFF.el deleted file mode 100644 index 8e23e1341c..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00B80-00BFF.el +++ /dev/null @@ -1,63 +0,0 @@ -(nxml-define-char-name-set 'tamil - '(("TAMIL SIGN ANUSVARA" #x0B82) - ("TAMIL SIGN VISARGA" #x0B83) - ("TAMIL LETTER A" #x0B85) - ("TAMIL LETTER AA" #x0B86) - ("TAMIL LETTER I" #x0B87) - ("TAMIL LETTER II" #x0B88) - ("TAMIL LETTER U" #x0B89) - ("TAMIL LETTER UU" #x0B8A) - ("TAMIL LETTER E" #x0B8E) - ("TAMIL LETTER EE" #x0B8F) - ("TAMIL LETTER AI" #x0B90) - ("TAMIL LETTER O" #x0B92) - ("TAMIL LETTER OO" #x0B93) - ("TAMIL LETTER AU" #x0B94) - ("TAMIL LETTER KA" #x0B95) - ("TAMIL LETTER NGA" #x0B99) - ("TAMIL LETTER CA" #x0B9A) - ("TAMIL LETTER JA" #x0B9C) - ("TAMIL LETTER NYA" #x0B9E) - ("TAMIL LETTER TTA" #x0B9F) - ("TAMIL LETTER NNA" #x0BA3) - ("TAMIL LETTER TA" #x0BA4) - ("TAMIL LETTER NA" #x0BA8) - ("TAMIL LETTER NNNA" #x0BA9) - ("TAMIL LETTER PA" #x0BAA) - ("TAMIL LETTER MA" #x0BAE) - ("TAMIL LETTER YA" #x0BAF) - ("TAMIL LETTER RA" #x0BB0) - ("TAMIL LETTER RRA" #x0BB1) - ("TAMIL LETTER LA" #x0BB2) - ("TAMIL LETTER LLA" #x0BB3) - ("TAMIL LETTER LLLA" #x0BB4) - ("TAMIL LETTER VA" #x0BB5) - ("TAMIL LETTER SSA" #x0BB7) - ("TAMIL LETTER SA" #x0BB8) - ("TAMIL LETTER HA" #x0BB9) - ("TAMIL VOWEL SIGN AA" #x0BBE) - ("TAMIL VOWEL SIGN I" #x0BBF) - ("TAMIL VOWEL SIGN II" #x0BC0) - ("TAMIL VOWEL SIGN U" #x0BC1) - ("TAMIL VOWEL SIGN UU" #x0BC2) - ("TAMIL VOWEL SIGN E" #x0BC6) - ("TAMIL VOWEL SIGN EE" #x0BC7) - ("TAMIL VOWEL SIGN AI" #x0BC8) - ("TAMIL VOWEL SIGN O" #x0BCA) - ("TAMIL VOWEL SIGN OO" #x0BCB) - ("TAMIL VOWEL SIGN AU" #x0BCC) - ("TAMIL SIGN VIRAMA" #x0BCD) - ("TAMIL AU LENGTH MARK" #x0BD7) - ("TAMIL DIGIT ONE" #x0BE7) - ("TAMIL DIGIT TWO" #x0BE8) - ("TAMIL DIGIT THREE" #x0BE9) - ("TAMIL DIGIT FOUR" #x0BEA) - ("TAMIL DIGIT FIVE" #x0BEB) - ("TAMIL DIGIT SIX" #x0BEC) - ("TAMIL DIGIT SEVEN" #x0BED) - ("TAMIL DIGIT EIGHT" #x0BEE) - ("TAMIL DIGIT NINE" #x0BEF) - ("TAMIL NUMBER TEN" #x0BF0) - ("TAMIL NUMBER ONE HUNDRED" #x0BF1) - ("TAMIL NUMBER ONE THOUSAND" #x0BF2) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00C00-00C7F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00C00-00C7F.el deleted file mode 100644 index ef70b35ee1..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00C00-00C7F.el +++ /dev/null @@ -1,82 +0,0 @@ -(nxml-define-char-name-set 'telugu - '(("TELUGU SIGN CANDRABINDU" #x0C01) - ("TELUGU SIGN ANUSVARA" #x0C02) - ("TELUGU SIGN VISARGA" #x0C03) - ("TELUGU LETTER A" #x0C05) - ("TELUGU LETTER AA" #x0C06) - ("TELUGU LETTER I" #x0C07) - ("TELUGU LETTER II" #x0C08) - ("TELUGU LETTER U" #x0C09) - ("TELUGU LETTER UU" #x0C0A) - ("TELUGU LETTER VOCALIC R" #x0C0B) - ("TELUGU LETTER VOCALIC L" #x0C0C) - ("TELUGU LETTER E" #x0C0E) - ("TELUGU LETTER EE" #x0C0F) - ("TELUGU LETTER AI" #x0C10) - ("TELUGU LETTER O" #x0C12) - ("TELUGU LETTER OO" #x0C13) - ("TELUGU LETTER AU" #x0C14) - ("TELUGU LETTER KA" #x0C15) - ("TELUGU LETTER KHA" #x0C16) - ("TELUGU LETTER GA" #x0C17) - ("TELUGU LETTER GHA" #x0C18) - ("TELUGU LETTER NGA" #x0C19) - ("TELUGU LETTER CA" #x0C1A) - ("TELUGU LETTER CHA" #x0C1B) - ("TELUGU LETTER JA" #x0C1C) - ("TELUGU LETTER JHA" #x0C1D) - ("TELUGU LETTER NYA" #x0C1E) - ("TELUGU LETTER TTA" #x0C1F) - ("TELUGU LETTER TTHA" #x0C20) - ("TELUGU LETTER DDA" #x0C21) - ("TELUGU LETTER DDHA" #x0C22) - ("TELUGU LETTER NNA" #x0C23) - ("TELUGU LETTER TA" #x0C24) - ("TELUGU LETTER THA" #x0C25) - ("TELUGU LETTER DA" #x0C26) - ("TELUGU LETTER DHA" #x0C27) - ("TELUGU LETTER NA" #x0C28) - ("TELUGU LETTER PA" #x0C2A) - ("TELUGU LETTER PHA" #x0C2B) - ("TELUGU LETTER BA" #x0C2C) - ("TELUGU LETTER BHA" #x0C2D) - ("TELUGU LETTER MA" #x0C2E) - ("TELUGU LETTER YA" #x0C2F) - ("TELUGU LETTER RA" #x0C30) - ("TELUGU LETTER RRA" #x0C31) - ("TELUGU LETTER LA" #x0C32) - ("TELUGU LETTER LLA" #x0C33) - ("TELUGU LETTER VA" #x0C35) - ("TELUGU LETTER SHA" #x0C36) - ("TELUGU LETTER SSA" #x0C37) - ("TELUGU LETTER SA" #x0C38) - ("TELUGU LETTER HA" #x0C39) - ("TELUGU VOWEL SIGN AA" #x0C3E) - ("TELUGU VOWEL SIGN I" #x0C3F) - ("TELUGU VOWEL SIGN II" #x0C40) - ("TELUGU VOWEL SIGN U" #x0C41) - ("TELUGU VOWEL SIGN UU" #x0C42) - ("TELUGU VOWEL SIGN VOCALIC R" #x0C43) - ("TELUGU VOWEL SIGN VOCALIC RR" #x0C44) - ("TELUGU VOWEL SIGN E" #x0C46) - ("TELUGU VOWEL SIGN EE" #x0C47) - ("TELUGU VOWEL SIGN AI" #x0C48) - ("TELUGU VOWEL SIGN O" #x0C4A) - ("TELUGU VOWEL SIGN OO" #x0C4B) - ("TELUGU VOWEL SIGN AU" #x0C4C) - ("TELUGU SIGN VIRAMA" #x0C4D) - ("TELUGU LENGTH MARK" #x0C55) - ("TELUGU AI LENGTH MARK" #x0C56) - ("TELUGU LETTER VOCALIC RR" #x0C60) - ("TELUGU LETTER VOCALIC LL" #x0C61) - ("TELUGU DIGIT ZERO" #x0C66) - ("TELUGU DIGIT ONE" #x0C67) - ("TELUGU DIGIT TWO" #x0C68) - ("TELUGU DIGIT THREE" #x0C69) - ("TELUGU DIGIT FOUR" #x0C6A) - ("TELUGU DIGIT FIVE" #x0C6B) - ("TELUGU DIGIT SIX" #x0C6C) - ("TELUGU DIGIT SEVEN" #x0C6D) - ("TELUGU DIGIT EIGHT" #x0C6E) - ("TELUGU DIGIT NINE" #x0C6F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00C80-00CFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00C80-00CFF.el deleted file mode 100644 index b94e194456..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00C80-00CFF.el +++ /dev/null @@ -1,82 +0,0 @@ -(nxml-define-char-name-set 'kannada - '(("KANNADA SIGN ANUSVARA" #x0C82) - ("KANNADA SIGN VISARGA" #x0C83) - ("KANNADA LETTER A" #x0C85) - ("KANNADA LETTER AA" #x0C86) - ("KANNADA LETTER I" #x0C87) - ("KANNADA LETTER II" #x0C88) - ("KANNADA LETTER U" #x0C89) - ("KANNADA LETTER UU" #x0C8A) - ("KANNADA LETTER VOCALIC R" #x0C8B) - ("KANNADA LETTER VOCALIC L" #x0C8C) - ("KANNADA LETTER E" #x0C8E) - ("KANNADA LETTER EE" #x0C8F) - ("KANNADA LETTER AI" #x0C90) - ("KANNADA LETTER O" #x0C92) - ("KANNADA LETTER OO" #x0C93) - ("KANNADA LETTER AU" #x0C94) - ("KANNADA LETTER KA" #x0C95) - ("KANNADA LETTER KHA" #x0C96) - ("KANNADA LETTER GA" #x0C97) - ("KANNADA LETTER GHA" #x0C98) - ("KANNADA LETTER NGA" #x0C99) - ("KANNADA LETTER CA" #x0C9A) - ("KANNADA LETTER CHA" #x0C9B) - ("KANNADA LETTER JA" #x0C9C) - ("KANNADA LETTER JHA" #x0C9D) - ("KANNADA LETTER NYA" #x0C9E) - ("KANNADA LETTER TTA" #x0C9F) - ("KANNADA LETTER TTHA" #x0CA0) - ("KANNADA LETTER DDA" #x0CA1) - ("KANNADA LETTER DDHA" #x0CA2) - ("KANNADA LETTER NNA" #x0CA3) - ("KANNADA LETTER TA" #x0CA4) - ("KANNADA LETTER THA" #x0CA5) - ("KANNADA LETTER DA" #x0CA6) - ("KANNADA LETTER DHA" #x0CA7) - ("KANNADA LETTER NA" #x0CA8) - ("KANNADA LETTER PA" #x0CAA) - ("KANNADA LETTER PHA" #x0CAB) - ("KANNADA LETTER BA" #x0CAC) - ("KANNADA LETTER BHA" #x0CAD) - ("KANNADA LETTER MA" #x0CAE) - ("KANNADA LETTER YA" #x0CAF) - ("KANNADA LETTER RA" #x0CB0) - ("KANNADA LETTER RRA" #x0CB1) - ("KANNADA LETTER LA" #x0CB2) - ("KANNADA LETTER LLA" #x0CB3) - ("KANNADA LETTER VA" #x0CB5) - ("KANNADA LETTER SHA" #x0CB6) - ("KANNADA LETTER SSA" #x0CB7) - ("KANNADA LETTER SA" #x0CB8) - ("KANNADA LETTER HA" #x0CB9) - ("KANNADA VOWEL SIGN AA" #x0CBE) - ("KANNADA VOWEL SIGN I" #x0CBF) - ("KANNADA VOWEL SIGN II" #x0CC0) - ("KANNADA VOWEL SIGN U" #x0CC1) - ("KANNADA VOWEL SIGN UU" #x0CC2) - ("KANNADA VOWEL SIGN VOCALIC R" #x0CC3) - ("KANNADA VOWEL SIGN VOCALIC RR" #x0CC4) - ("KANNADA VOWEL SIGN E" #x0CC6) - ("KANNADA VOWEL SIGN EE" #x0CC7) - ("KANNADA VOWEL SIGN AI" #x0CC8) - ("KANNADA VOWEL SIGN O" #x0CCA) - ("KANNADA VOWEL SIGN OO" #x0CCB) - ("KANNADA VOWEL SIGN AU" #x0CCC) - ("KANNADA SIGN VIRAMA" #x0CCD) - ("KANNADA LENGTH MARK" #x0CD5) - ("KANNADA AI LENGTH MARK" #x0CD6) - ("KANNADA LETTER FA" #x0CDE) - ("KANNADA LETTER VOCALIC RR" #x0CE0) - ("KANNADA LETTER VOCALIC LL" #x0CE1) - ("KANNADA DIGIT ZERO" #x0CE6) - ("KANNADA DIGIT ONE" #x0CE7) - ("KANNADA DIGIT TWO" #x0CE8) - ("KANNADA DIGIT THREE" #x0CE9) - ("KANNADA DIGIT FOUR" #x0CEA) - ("KANNADA DIGIT FIVE" #x0CEB) - ("KANNADA DIGIT SIX" #x0CEC) - ("KANNADA DIGIT SEVEN" #x0CED) - ("KANNADA DIGIT EIGHT" #x0CEE) - ("KANNADA DIGIT NINE" #x0CEF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00D00-00D7F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00D00-00D7F.el deleted file mode 100644 index e9ea7e2aea..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00D00-00D7F.el +++ /dev/null @@ -1,80 +0,0 @@ -(nxml-define-char-name-set 'malayalam - '(("MALAYALAM SIGN ANUSVARA" #x0D02) - ("MALAYALAM SIGN VISARGA" #x0D03) - ("MALAYALAM LETTER A" #x0D05) - ("MALAYALAM LETTER AA" #x0D06) - ("MALAYALAM LETTER I" #x0D07) - ("MALAYALAM LETTER II" #x0D08) - ("MALAYALAM LETTER U" #x0D09) - ("MALAYALAM LETTER UU" #x0D0A) - ("MALAYALAM LETTER VOCALIC R" #x0D0B) - ("MALAYALAM LETTER VOCALIC L" #x0D0C) - ("MALAYALAM LETTER E" #x0D0E) - ("MALAYALAM LETTER EE" #x0D0F) - ("MALAYALAM LETTER AI" #x0D10) - ("MALAYALAM LETTER O" #x0D12) - ("MALAYALAM LETTER OO" #x0D13) - ("MALAYALAM LETTER AU" #x0D14) - ("MALAYALAM LETTER KA" #x0D15) - ("MALAYALAM LETTER KHA" #x0D16) - ("MALAYALAM LETTER GA" #x0D17) - ("MALAYALAM LETTER GHA" #x0D18) - ("MALAYALAM LETTER NGA" #x0D19) - ("MALAYALAM LETTER CA" #x0D1A) - ("MALAYALAM LETTER CHA" #x0D1B) - ("MALAYALAM LETTER JA" #x0D1C) - ("MALAYALAM LETTER JHA" #x0D1D) - ("MALAYALAM LETTER NYA" #x0D1E) - ("MALAYALAM LETTER TTA" #x0D1F) - ("MALAYALAM LETTER TTHA" #x0D20) - ("MALAYALAM LETTER DDA" #x0D21) - ("MALAYALAM LETTER DDHA" #x0D22) - ("MALAYALAM LETTER NNA" #x0D23) - ("MALAYALAM LETTER TA" #x0D24) - ("MALAYALAM LETTER THA" #x0D25) - ("MALAYALAM LETTER DA" #x0D26) - ("MALAYALAM LETTER DHA" #x0D27) - ("MALAYALAM LETTER NA" #x0D28) - ("MALAYALAM LETTER PA" #x0D2A) - ("MALAYALAM LETTER PHA" #x0D2B) - ("MALAYALAM LETTER BA" #x0D2C) - ("MALAYALAM LETTER BHA" #x0D2D) - ("MALAYALAM LETTER MA" #x0D2E) - ("MALAYALAM LETTER YA" #x0D2F) - ("MALAYALAM LETTER RA" #x0D30) - ("MALAYALAM LETTER RRA" #x0D31) - ("MALAYALAM LETTER LA" #x0D32) - ("MALAYALAM LETTER LLA" #x0D33) - ("MALAYALAM LETTER LLLA" #x0D34) - ("MALAYALAM LETTER VA" #x0D35) - ("MALAYALAM LETTER SHA" #x0D36) - ("MALAYALAM LETTER SSA" #x0D37) - ("MALAYALAM LETTER SA" #x0D38) - ("MALAYALAM LETTER HA" #x0D39) - ("MALAYALAM VOWEL SIGN AA" #x0D3E) - ("MALAYALAM VOWEL SIGN I" #x0D3F) - ("MALAYALAM VOWEL SIGN II" #x0D40) - ("MALAYALAM VOWEL SIGN U" #x0D41) - ("MALAYALAM VOWEL SIGN UU" #x0D42) - ("MALAYALAM VOWEL SIGN VOCALIC R" #x0D43) - ("MALAYALAM VOWEL SIGN E" #x0D46) - ("MALAYALAM VOWEL SIGN EE" #x0D47) - ("MALAYALAM VOWEL SIGN AI" #x0D48) - ("MALAYALAM VOWEL SIGN O" #x0D4A) - ("MALAYALAM VOWEL SIGN OO" #x0D4B) - ("MALAYALAM VOWEL SIGN AU" #x0D4C) - ("MALAYALAM SIGN VIRAMA" #x0D4D) - ("MALAYALAM AU LENGTH MARK" #x0D57) - ("MALAYALAM LETTER VOCALIC RR" #x0D60) - ("MALAYALAM LETTER VOCALIC LL" #x0D61) - ("MALAYALAM DIGIT ZERO" #x0D66) - ("MALAYALAM DIGIT ONE" #x0D67) - ("MALAYALAM DIGIT TWO" #x0D68) - ("MALAYALAM DIGIT THREE" #x0D69) - ("MALAYALAM DIGIT FOUR" #x0D6A) - ("MALAYALAM DIGIT FIVE" #x0D6B) - ("MALAYALAM DIGIT SIX" #x0D6C) - ("MALAYALAM DIGIT SEVEN" #x0D6D) - ("MALAYALAM DIGIT EIGHT" #x0D6E) - ("MALAYALAM DIGIT NINE" #x0D6F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00D80-00DFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00D80-00DFF.el deleted file mode 100644 index d0278dd088..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00D80-00DFF.el +++ /dev/null @@ -1,82 +0,0 @@ -(nxml-define-char-name-set 'sinhala - '(("SINHALA SIGN ANUSVARAYA" #x0D82) - ("SINHALA SIGN VISARGAYA" #x0D83) - ("SINHALA LETTER AYANNA" #x0D85) - ("SINHALA LETTER AAYANNA" #x0D86) - ("SINHALA LETTER AEYANNA" #x0D87) - ("SINHALA LETTER AEEYANNA" #x0D88) - ("SINHALA LETTER IYANNA" #x0D89) - ("SINHALA LETTER IIYANNA" #x0D8A) - ("SINHALA LETTER UYANNA" #x0D8B) - ("SINHALA LETTER UUYANNA" #x0D8C) - ("SINHALA LETTER IRUYANNA" #x0D8D) - ("SINHALA LETTER IRUUYANNA" #x0D8E) - ("SINHALA LETTER ILUYANNA" #x0D8F) - ("SINHALA LETTER ILUUYANNA" #x0D90) - ("SINHALA LETTER EYANNA" #x0D91) - ("SINHALA LETTER EEYANNA" #x0D92) - ("SINHALA LETTER AIYANNA" #x0D93) - ("SINHALA LETTER OYANNA" #x0D94) - ("SINHALA LETTER OOYANNA" #x0D95) - ("SINHALA LETTER AUYANNA" #x0D96) - ("SINHALA LETTER ALPAPRAANA KAYANNA" #x0D9A) - ("SINHALA LETTER MAHAAPRAANA KAYANNA" #x0D9B) - ("SINHALA LETTER ALPAPRAANA GAYANNA" #x0D9C) - ("SINHALA LETTER MAHAAPRAANA GAYANNA" #x0D9D) - ("SINHALA LETTER KANTAJA NAASIKYAYA" #x0D9E) - ("SINHALA LETTER SANYAKA GAYANNA" #x0D9F) - ("SINHALA LETTER ALPAPRAANA CAYANNA" #x0DA0) - ("SINHALA LETTER MAHAAPRAANA CAYANNA" #x0DA1) - ("SINHALA LETTER ALPAPRAANA JAYANNA" #x0DA2) - ("SINHALA LETTER MAHAAPRAANA JAYANNA" #x0DA3) - ("SINHALA LETTER TAALUJA NAASIKYAYA" #x0DA4) - ("SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA" #x0DA5) - ("SINHALA LETTER SANYAKA JAYANNA" #x0DA6) - ("SINHALA LETTER ALPAPRAANA TTAYANNA" #x0DA7) - ("SINHALA LETTER MAHAAPRAANA TTAYANNA" #x0DA8) - ("SINHALA LETTER ALPAPRAANA DDAYANNA" #x0DA9) - ("SINHALA LETTER MAHAAPRAANA DDAYANNA" #x0DAA) - ("SINHALA LETTER MUURDHAJA NAYANNA" #x0DAB) - ("SINHALA LETTER SANYAKA DDAYANNA" #x0DAC) - ("SINHALA LETTER ALPAPRAANA TAYANNA" #x0DAD) - ("SINHALA LETTER MAHAAPRAANA TAYANNA" #x0DAE) - ("SINHALA LETTER ALPAPRAANA DAYANNA" #x0DAF) - ("SINHALA LETTER MAHAAPRAANA DAYANNA" #x0DB0) - ("SINHALA LETTER DANTAJA NAYANNA" #x0DB1) - ("SINHALA LETTER SANYAKA DAYANNA" #x0DB3) - ("SINHALA LETTER ALPAPRAANA PAYANNA" #x0DB4) - ("SINHALA LETTER MAHAAPRAANA PAYANNA" #x0DB5) - ("SINHALA LETTER ALPAPRAANA BAYANNA" #x0DB6) - ("SINHALA LETTER MAHAAPRAANA BAYANNA" #x0DB7) - ("SINHALA LETTER MAYANNA" #x0DB8) - ("SINHALA LETTER AMBA BAYANNA" #x0DB9) - ("SINHALA LETTER YAYANNA" #x0DBA) - ("SINHALA LETTER RAYANNA" #x0DBB) - ("SINHALA LETTER DANTAJA LAYANNA" #x0DBD) - ("SINHALA LETTER VAYANNA" #x0DC0) - ("SINHALA LETTER TAALUJA SAYANNA" #x0DC1) - ("SINHALA LETTER MUURDHAJA SAYANNA" #x0DC2) - ("SINHALA LETTER DANTAJA SAYANNA" #x0DC3) - ("SINHALA LETTER HAYANNA" #x0DC4) - ("SINHALA LETTER MUURDHAJA LAYANNA" #x0DC5) - ("SINHALA LETTER FAYANNA" #x0DC6) - ("SINHALA SIGN AL-LAKUNA" #x0DCA) - ("SINHALA VOWEL SIGN AELA-PILLA" #x0DCF) - ("SINHALA VOWEL SIGN KETTI AEDA-PILLA" #x0DD0) - ("SINHALA VOWEL SIGN DIGA AEDA-PILLA" #x0DD1) - ("SINHALA VOWEL SIGN KETTI IS-PILLA" #x0DD2) - ("SINHALA VOWEL SIGN DIGA IS-PILLA" #x0DD3) - ("SINHALA VOWEL SIGN KETTI PAA-PILLA" #x0DD4) - ("SINHALA VOWEL SIGN DIGA PAA-PILLA" #x0DD6) - ("SINHALA VOWEL SIGN GAETTA-PILLA" #x0DD8) - ("SINHALA VOWEL SIGN KOMBUVA" #x0DD9) - ("SINHALA VOWEL SIGN DIGA KOMBUVA" #x0DDA) - ("SINHALA VOWEL SIGN KOMBU DEKA" #x0DDB) - ("SINHALA VOWEL SIGN KOMBUVA HAA AELA-PILLA" #x0DDC) - ("SINHALA VOWEL SIGN KOMBUVA HAA DIGA AELA-PILLA" #x0DDD) - ("SINHALA VOWEL SIGN KOMBUVA HAA GAYANUKITTA" #x0DDE) - ("SINHALA VOWEL SIGN GAYANUKITTA" #x0DDF) - ("SINHALA VOWEL SIGN DIGA GAETTA-PILLA" #x0DF2) - ("SINHALA VOWEL SIGN DIGA GAYANUKITTA" #x0DF3) - ("SINHALA PUNCTUATION KUNDDALIYA" #x0DF4) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00E00-00E7F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00E00-00E7F.el deleted file mode 100644 index ef5a9bb949..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00E00-00E7F.el +++ /dev/null @@ -1,89 +0,0 @@ -(nxml-define-char-name-set 'thai - '(("THAI CHARACTER KO KAI" #x0E01) - ("THAI CHARACTER KHO KHAI" #x0E02) - ("THAI CHARACTER KHO KHUAT" #x0E03) - ("THAI CHARACTER KHO KHWAI" #x0E04) - ("THAI CHARACTER KHO KHON" #x0E05) - ("THAI CHARACTER KHO RAKHANG" #x0E06) - ("THAI CHARACTER NGO NGU" #x0E07) - ("THAI CHARACTER CHO CHAN" #x0E08) - ("THAI CHARACTER CHO CHING" #x0E09) - ("THAI CHARACTER CHO CHANG" #x0E0A) - ("THAI CHARACTER SO SO" #x0E0B) - ("THAI CHARACTER CHO CHOE" #x0E0C) - ("THAI CHARACTER YO YING" #x0E0D) - ("THAI CHARACTER DO CHADA" #x0E0E) - ("THAI CHARACTER TO PATAK" #x0E0F) - ("THAI CHARACTER THO THAN" #x0E10) - ("THAI CHARACTER THO NANGMONTHO" #x0E11) - ("THAI CHARACTER THO PHUTHAO" #x0E12) - ("THAI CHARACTER NO NEN" #x0E13) - ("THAI CHARACTER DO DEK" #x0E14) - ("THAI CHARACTER TO TAO" #x0E15) - ("THAI CHARACTER THO THUNG" #x0E16) - ("THAI CHARACTER THO THAHAN" #x0E17) - ("THAI CHARACTER THO THONG" #x0E18) - ("THAI CHARACTER NO NU" #x0E19) - ("THAI CHARACTER BO BAIMAI" #x0E1A) - ("THAI CHARACTER PO PLA" #x0E1B) - ("THAI CHARACTER PHO PHUNG" #x0E1C) - ("THAI CHARACTER FO FA" #x0E1D) - ("THAI CHARACTER PHO PHAN" #x0E1E) - ("THAI CHARACTER FO FAN" #x0E1F) - ("THAI CHARACTER PHO SAMPHAO" #x0E20) - ("THAI CHARACTER MO MA" #x0E21) - ("THAI CHARACTER YO YAK" #x0E22) - ("THAI CHARACTER RO RUA" #x0E23) - ("THAI CHARACTER RU" #x0E24) - ("THAI CHARACTER LO LING" #x0E25) - ("THAI CHARACTER LU" #x0E26) - ("THAI CHARACTER WO WAEN" #x0E27) - ("THAI CHARACTER SO SALA" #x0E28) - ("THAI CHARACTER SO RUSI" #x0E29) - ("THAI CHARACTER SO SUA" #x0E2A) - ("THAI CHARACTER HO HIP" #x0E2B) - ("THAI CHARACTER LO CHULA" #x0E2C) - ("THAI CHARACTER O ANG" #x0E2D) - ("THAI CHARACTER HO NOKHUK" #x0E2E) - ("THAI CHARACTER PAIYANNOI" #x0E2F) - ("THAI CHARACTER SARA A" #x0E30) - ("THAI CHARACTER MAI HAN-AKAT" #x0E31) - ("THAI CHARACTER SARA AA" #x0E32) - ("THAI CHARACTER SARA AM" #x0E33) - ("THAI CHARACTER SARA I" #x0E34) - ("THAI CHARACTER SARA II" #x0E35) - ("THAI CHARACTER SARA UE" #x0E36) - ("THAI CHARACTER SARA UEE" #x0E37) - ("THAI CHARACTER SARA U" #x0E38) - ("THAI CHARACTER SARA UU" #x0E39) - ("THAI CHARACTER PHINTHU" #x0E3A) - ("THAI CURRENCY SYMBOL BAHT" #x0E3F) - ("THAI CHARACTER SARA E" #x0E40) - ("THAI CHARACTER SARA AE" #x0E41) - ("THAI CHARACTER SARA O" #x0E42) - ("THAI CHARACTER SARA AI MAIMUAN" #x0E43) - ("THAI CHARACTER SARA AI MAIMALAI" #x0E44) - ("THAI CHARACTER LAKKHANGYAO" #x0E45) - ("THAI CHARACTER MAIYAMOK" #x0E46) - ("THAI CHARACTER MAITAIKHU" #x0E47) - ("THAI CHARACTER MAI EK" #x0E48) - ("THAI CHARACTER MAI THO" #x0E49) - ("THAI CHARACTER MAI TRI" #x0E4A) - ("THAI CHARACTER MAI CHATTAWA" #x0E4B) - ("THAI CHARACTER THANTHAKHAT" #x0E4C) - ("THAI CHARACTER NIKHAHIT" #x0E4D) - ("THAI CHARACTER YAMAKKAN" #x0E4E) - ("THAI CHARACTER FONGMAN" #x0E4F) - ("THAI DIGIT ZERO" #x0E50) - ("THAI DIGIT ONE" #x0E51) - ("THAI DIGIT TWO" #x0E52) - ("THAI DIGIT THREE" #x0E53) - ("THAI DIGIT FOUR" #x0E54) - ("THAI DIGIT FIVE" #x0E55) - ("THAI DIGIT SIX" #x0E56) - ("THAI DIGIT SEVEN" #x0E57) - ("THAI DIGIT EIGHT" #x0E58) - ("THAI DIGIT NINE" #x0E59) - ("THAI CHARACTER ANGKHANKHU" #x0E5A) - ("THAI CHARACTER KHOMUT" #x0E5B) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00E80-00EFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00E80-00EFF.el deleted file mode 100644 index f9842bc8cb..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00E80-00EFF.el +++ /dev/null @@ -1,67 +0,0 @@ -(nxml-define-char-name-set 'lao - '(("LAO LETTER KO" #x0E81) - ("LAO LETTER KHO SUNG" #x0E82) - ("LAO LETTER KHO TAM" #x0E84) - ("LAO LETTER NGO" #x0E87) - ("LAO LETTER CO" #x0E88) - ("LAO LETTER SO TAM" #x0E8A) - ("LAO LETTER NYO" #x0E8D) - ("LAO LETTER DO" #x0E94) - ("LAO LETTER TO" #x0E95) - ("LAO LETTER THO SUNG" #x0E96) - ("LAO LETTER THO TAM" #x0E97) - ("LAO LETTER NO" #x0E99) - ("LAO LETTER BO" #x0E9A) - ("LAO LETTER PO" #x0E9B) - ("LAO LETTER PHO SUNG" #x0E9C) - ("LAO LETTER FO TAM" #x0E9D) - ("LAO LETTER PHO TAM" #x0E9E) - ("LAO LETTER FO SUNG" #x0E9F) - ("LAO LETTER MO" #x0EA1) - ("LAO LETTER YO" #x0EA2) - ("LAO LETTER LO LING" #x0EA3) - ("LAO LETTER LO LOOT" #x0EA5) - ("LAO LETTER WO" #x0EA7) - ("LAO LETTER SO SUNG" #x0EAA) - ("LAO LETTER HO SUNG" #x0EAB) - ("LAO LETTER O" #x0EAD) - ("LAO LETTER HO TAM" #x0EAE) - ("LAO ELLIPSIS" #x0EAF) - ("LAO VOWEL SIGN A" #x0EB0) - ("LAO VOWEL SIGN MAI KAN" #x0EB1) - ("LAO VOWEL SIGN AA" #x0EB2) - ("LAO VOWEL SIGN AM" #x0EB3) - ("LAO VOWEL SIGN I" #x0EB4) - ("LAO VOWEL SIGN II" #x0EB5) - ("LAO VOWEL SIGN Y" #x0EB6) - ("LAO VOWEL SIGN YY" #x0EB7) - ("LAO VOWEL SIGN U" #x0EB8) - ("LAO VOWEL SIGN UU" #x0EB9) - ("LAO VOWEL SIGN MAI KON" #x0EBB) - ("LAO SEMIVOWEL SIGN LO" #x0EBC) - ("LAO SEMIVOWEL SIGN NYO" #x0EBD) - ("LAO VOWEL SIGN E" #x0EC0) - ("LAO VOWEL SIGN EI" #x0EC1) - ("LAO VOWEL SIGN O" #x0EC2) - ("LAO VOWEL SIGN AY" #x0EC3) - ("LAO VOWEL SIGN AI" #x0EC4) - ("LAO KO LA" #x0EC6) - ("LAO TONE MAI EK" #x0EC8) - ("LAO TONE MAI THO" #x0EC9) - ("LAO TONE MAI TI" #x0ECA) - ("LAO TONE MAI CATAWA" #x0ECB) - ("LAO CANCELLATION MARK" #x0ECC) - ("LAO NIGGAHITA" #x0ECD) - ("LAO DIGIT ZERO" #x0ED0) - ("LAO DIGIT ONE" #x0ED1) - ("LAO DIGIT TWO" #x0ED2) - ("LAO DIGIT THREE" #x0ED3) - ("LAO DIGIT FOUR" #x0ED4) - ("LAO DIGIT FIVE" #x0ED5) - ("LAO DIGIT SIX" #x0ED6) - ("LAO DIGIT SEVEN" #x0ED7) - ("LAO DIGIT EIGHT" #x0ED8) - ("LAO DIGIT NINE" #x0ED9) - ("LAO HO NO" #x0EDC) - ("LAO HO MO" #x0EDD) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00F00-00FFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00F00-00FFF.el deleted file mode 100644 index 7440269e0e..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/00F00-00FFF.el +++ /dev/null @@ -1,195 +0,0 @@ -(nxml-define-char-name-set 'tibetan - '(("TIBETAN SYLLABLE OM" #x0F00) - ("TIBETAN MARK GTER YIG MGO TRUNCATED A" #x0F01) - ("TIBETAN MARK GTER YIG MGO -UM RNAM BCAD MA" #x0F02) - ("TIBETAN MARK GTER YIG MGO -UM GTER TSHEG MA" #x0F03) - ("TIBETAN MARK INITIAL YIG MGO MDUN MA" #x0F04) - ("TIBETAN MARK CLOSING YIG MGO SGAB MA" #x0F05) - ("TIBETAN MARK CARET YIG MGO PHUR SHAD MA" #x0F06) - ("TIBETAN MARK YIG MGO TSHEG SHAD MA" #x0F07) - ("TIBETAN MARK SBRUL SHAD" #x0F08) - ("TIBETAN MARK BSKUR YIG MGO" #x0F09) - ("TIBETAN MARK BKA- SHOG YIG MGO" #x0F0A) - ("TIBETAN MARK INTERSYLLABIC TSHEG" #x0F0B) - ("TIBETAN MARK DELIMITER TSHEG BSTAR" #x0F0C) - ("TIBETAN MARK SHAD" #x0F0D) - ("TIBETAN MARK NYIS SHAD" #x0F0E) - ("TIBETAN MARK TSHEG SHAD" #x0F0F) - ("TIBETAN MARK NYIS TSHEG SHAD" #x0F10) - ("TIBETAN MARK RIN CHEN SPUNGS SHAD" #x0F11) - ("TIBETAN MARK RGYA GRAM SHAD" #x0F12) - ("TIBETAN MARK CARET -DZUD RTAGS ME LONG CAN" #x0F13) - ("TIBETAN MARK GTER TSHEG" #x0F14) - ("TIBETAN LOGOTYPE SIGN CHAD RTAGS" #x0F15) - ("TIBETAN LOGOTYPE SIGN LHAG RTAGS" #x0F16) - ("TIBETAN ASTROLOGICAL SIGN SGRA GCAN -CHAR RTAGS" #x0F17) - ("TIBETAN ASTROLOGICAL SIGN -KHYUD PA" #x0F18) - ("TIBETAN ASTROLOGICAL SIGN SDONG TSHUGS" #x0F19) - ("TIBETAN SIGN RDEL DKAR GCIG" #x0F1A) - ("TIBETAN SIGN RDEL DKAR GNYIS" #x0F1B) - ("TIBETAN SIGN RDEL DKAR GSUM" #x0F1C) - ("TIBETAN SIGN RDEL NAG GCIG" #x0F1D) - ("TIBETAN SIGN RDEL NAG GNYIS" #x0F1E) - ("TIBETAN SIGN RDEL DKAR RDEL NAG" #x0F1F) - ("TIBETAN DIGIT ZERO" #x0F20) - ("TIBETAN DIGIT ONE" #x0F21) - ("TIBETAN DIGIT TWO" #x0F22) - ("TIBETAN DIGIT THREE" #x0F23) - ("TIBETAN DIGIT FOUR" #x0F24) - ("TIBETAN DIGIT FIVE" #x0F25) - ("TIBETAN DIGIT SIX" #x0F26) - ("TIBETAN DIGIT SEVEN" #x0F27) - ("TIBETAN DIGIT EIGHT" #x0F28) - ("TIBETAN DIGIT NINE" #x0F29) - ("TIBETAN DIGIT HALF ONE" #x0F2A) - ("TIBETAN DIGIT HALF TWO" #x0F2B) - ("TIBETAN DIGIT HALF THREE" #x0F2C) - ("TIBETAN DIGIT HALF FOUR" #x0F2D) - ("TIBETAN DIGIT HALF FIVE" #x0F2E) - ("TIBETAN DIGIT HALF SIX" #x0F2F) - ("TIBETAN DIGIT HALF SEVEN" #x0F30) - ("TIBETAN DIGIT HALF EIGHT" #x0F31) - ("TIBETAN DIGIT HALF NINE" #x0F32) - ("TIBETAN DIGIT HALF ZERO" #x0F33) - ("TIBETAN MARK BSDUS RTAGS" #x0F34) - ("TIBETAN MARK NGAS BZUNG NYI ZLA" #x0F35) - ("TIBETAN MARK CARET -DZUD RTAGS BZHI MIG CAN" #x0F36) - ("TIBETAN MARK NGAS BZUNG SGOR RTAGS" #x0F37) - ("TIBETAN MARK CHE MGO" #x0F38) - ("TIBETAN MARK TSA -PHRU" #x0F39) - ("TIBETAN MARK GUG RTAGS GYON" #x0F3A) - ("TIBETAN MARK GUG RTAGS GYAS" #x0F3B) - ("TIBETAN MARK ANG KHANG GYON" #x0F3C) - ("TIBETAN MARK ANG KHANG GYAS" #x0F3D) - ("TIBETAN SIGN YAR TSHES" #x0F3E) - ("TIBETAN SIGN MAR TSHES" #x0F3F) - ("TIBETAN LETTER KA" #x0F40) - ("TIBETAN LETTER KHA" #x0F41) - ("TIBETAN LETTER GA" #x0F42) - ("TIBETAN LETTER GHA" #x0F43) - ("TIBETAN LETTER NGA" #x0F44) - ("TIBETAN LETTER CA" #x0F45) - ("TIBETAN LETTER CHA" #x0F46) - ("TIBETAN LETTER JA" #x0F47) - ("TIBETAN LETTER NYA" #x0F49) - ("TIBETAN LETTER TTA" #x0F4A) - ("TIBETAN LETTER TTHA" #x0F4B) - ("TIBETAN LETTER DDA" #x0F4C) - ("TIBETAN LETTER DDHA" #x0F4D) - ("TIBETAN LETTER NNA" #x0F4E) - ("TIBETAN LETTER TA" #x0F4F) - ("TIBETAN LETTER THA" #x0F50) - ("TIBETAN LETTER DA" #x0F51) - ("TIBETAN LETTER DHA" #x0F52) - ("TIBETAN LETTER NA" #x0F53) - ("TIBETAN LETTER PA" #x0F54) - ("TIBETAN LETTER PHA" #x0F55) - ("TIBETAN LETTER BA" #x0F56) - ("TIBETAN LETTER BHA" #x0F57) - ("TIBETAN LETTER MA" #x0F58) - ("TIBETAN LETTER TSA" #x0F59) - ("TIBETAN LETTER TSHA" #x0F5A) - ("TIBETAN LETTER DZA" #x0F5B) - ("TIBETAN LETTER DZHA" #x0F5C) - ("TIBETAN LETTER WA" #x0F5D) - ("TIBETAN LETTER ZHA" #x0F5E) - ("TIBETAN LETTER ZA" #x0F5F) - ("TIBETAN LETTER -A" #x0F60) - ("TIBETAN LETTER YA" #x0F61) - ("TIBETAN LETTER RA" #x0F62) - ("TIBETAN LETTER LA" #x0F63) - ("TIBETAN LETTER SHA" #x0F64) - ("TIBETAN LETTER SSA" #x0F65) - ("TIBETAN LETTER SA" #x0F66) - ("TIBETAN LETTER HA" #x0F67) - ("TIBETAN LETTER A" #x0F68) - ("TIBETAN LETTER KSSA" #x0F69) - ("TIBETAN LETTER FIXED-FORM RA" #x0F6A) - ("TIBETAN VOWEL SIGN AA" #x0F71) - ("TIBETAN VOWEL SIGN I" #x0F72) - ("TIBETAN VOWEL SIGN II" #x0F73) - ("TIBETAN VOWEL SIGN U" #x0F74) - ("TIBETAN VOWEL SIGN UU" #x0F75) - ("TIBETAN VOWEL SIGN VOCALIC R" #x0F76) - ("TIBETAN VOWEL SIGN VOCALIC RR" #x0F77) - ("TIBETAN VOWEL SIGN VOCALIC L" #x0F78) - ("TIBETAN VOWEL SIGN VOCALIC LL" #x0F79) - ("TIBETAN VOWEL SIGN E" #x0F7A) - ("TIBETAN VOWEL SIGN EE" #x0F7B) - ("TIBETAN VOWEL SIGN O" #x0F7C) - ("TIBETAN VOWEL SIGN OO" #x0F7D) - ("TIBETAN SIGN RJES SU NGA RO" #x0F7E) - ("TIBETAN SIGN RNAM BCAD" #x0F7F) - ("TIBETAN VOWEL SIGN REVERSED I" #x0F80) - ("TIBETAN VOWEL SIGN REVERSED II" #x0F81) - ("TIBETAN SIGN NYI ZLA NAA DA" #x0F82) - ("TIBETAN SIGN SNA LDAN" #x0F83) - ("TIBETAN MARK HALANTA" #x0F84) - ("TIBETAN MARK PALUTA" #x0F85) - ("TIBETAN SIGN LCI RTAGS" #x0F86) - ("TIBETAN SIGN YANG RTAGS" #x0F87) - ("TIBETAN SIGN LCE TSA CAN" #x0F88) - ("TIBETAN SIGN MCHU CAN" #x0F89) - ("TIBETAN SIGN GRU CAN RGYINGS" #x0F8A) - ("TIBETAN SIGN GRU MED RGYINGS" #x0F8B) - ("TIBETAN SUBJOINED LETTER KA" #x0F90) - ("TIBETAN SUBJOINED LETTER KHA" #x0F91) - ("TIBETAN SUBJOINED LETTER GA" #x0F92) - ("TIBETAN SUBJOINED LETTER GHA" #x0F93) - ("TIBETAN SUBJOINED LETTER NGA" #x0F94) - ("TIBETAN SUBJOINED LETTER CA" #x0F95) - ("TIBETAN SUBJOINED LETTER CHA" #x0F96) - ("TIBETAN SUBJOINED LETTER JA" #x0F97) - ("TIBETAN SUBJOINED LETTER NYA" #x0F99) - ("TIBETAN SUBJOINED LETTER TTA" #x0F9A) - ("TIBETAN SUBJOINED LETTER TTHA" #x0F9B) - ("TIBETAN SUBJOINED LETTER DDA" #x0F9C) - ("TIBETAN SUBJOINED LETTER DDHA" #x0F9D) - ("TIBETAN SUBJOINED LETTER NNA" #x0F9E) - ("TIBETAN SUBJOINED LETTER TA" #x0F9F) - ("TIBETAN SUBJOINED LETTER THA" #x0FA0) - ("TIBETAN SUBJOINED LETTER DA" #x0FA1) - ("TIBETAN SUBJOINED LETTER DHA" #x0FA2) - ("TIBETAN SUBJOINED LETTER NA" #x0FA3) - ("TIBETAN SUBJOINED LETTER PA" #x0FA4) - ("TIBETAN SUBJOINED LETTER PHA" #x0FA5) - ("TIBETAN SUBJOINED LETTER BA" #x0FA6) - ("TIBETAN SUBJOINED LETTER BHA" #x0FA7) - ("TIBETAN SUBJOINED LETTER MA" #x0FA8) - ("TIBETAN SUBJOINED LETTER TSA" #x0FA9) - ("TIBETAN SUBJOINED LETTER TSHA" #x0FAA) - ("TIBETAN SUBJOINED LETTER DZA" #x0FAB) - ("TIBETAN SUBJOINED LETTER DZHA" #x0FAC) - ("TIBETAN SUBJOINED LETTER WA" #x0FAD) - ("TIBETAN SUBJOINED LETTER ZHA" #x0FAE) - ("TIBETAN SUBJOINED LETTER ZA" #x0FAF) - ("TIBETAN SUBJOINED LETTER -A" #x0FB0) - ("TIBETAN SUBJOINED LETTER YA" #x0FB1) - ("TIBETAN SUBJOINED LETTER RA" #x0FB2) - ("TIBETAN SUBJOINED LETTER LA" #x0FB3) - ("TIBETAN SUBJOINED LETTER SHA" #x0FB4) - ("TIBETAN SUBJOINED LETTER SSA" #x0FB5) - ("TIBETAN SUBJOINED LETTER SA" #x0FB6) - ("TIBETAN SUBJOINED LETTER HA" #x0FB7) - ("TIBETAN SUBJOINED LETTER A" #x0FB8) - ("TIBETAN SUBJOINED LETTER KSSA" #x0FB9) - ("TIBETAN SUBJOINED LETTER FIXED-FORM WA" #x0FBA) - ("TIBETAN SUBJOINED LETTER FIXED-FORM YA" #x0FBB) - ("TIBETAN SUBJOINED LETTER FIXED-FORM RA" #x0FBC) - ("TIBETAN KU RU KHA" #x0FBE) - ("TIBETAN KU RU KHA BZHI MIG CAN" #x0FBF) - ("TIBETAN CANTILLATION SIGN HEAVY BEAT" #x0FC0) - ("TIBETAN CANTILLATION SIGN LIGHT BEAT" #x0FC1) - ("TIBETAN CANTILLATION SIGN CANG TE-U" #x0FC2) - ("TIBETAN CANTILLATION SIGN SBUB -CHAL" #x0FC3) - ("TIBETAN SYMBOL DRIL BU" #x0FC4) - ("TIBETAN SYMBOL RDO RJE" #x0FC5) - ("TIBETAN SYMBOL PADMA GDAN" #x0FC6) - ("TIBETAN SYMBOL RDO RJE RGYA GRAM" #x0FC7) - ("TIBETAN SYMBOL PHUR PA" #x0FC8) - ("TIBETAN SYMBOL NOR BU" #x0FC9) - ("TIBETAN SYMBOL NOR BU NYIS -KHYIL" #x0FCA) - ("TIBETAN SYMBOL NOR BU GSUM -KHYIL" #x0FCB) - ("TIBETAN SYMBOL NOR BU BZHI -KHYIL" #x0FCC) - ("TIBETAN SIGN RDEL NAG GSUM" #x0FCF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01000-0109F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01000-0109F.el deleted file mode 100644 index 4465de42dd..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01000-0109F.el +++ /dev/null @@ -1,80 +0,0 @@ -(nxml-define-char-name-set 'myanmar - '(("MYANMAR LETTER KA" #x1000) - ("MYANMAR LETTER KHA" #x1001) - ("MYANMAR LETTER GA" #x1002) - ("MYANMAR LETTER GHA" #x1003) - ("MYANMAR LETTER NGA" #x1004) - ("MYANMAR LETTER CA" #x1005) - ("MYANMAR LETTER CHA" #x1006) - ("MYANMAR LETTER JA" #x1007) - ("MYANMAR LETTER JHA" #x1008) - ("MYANMAR LETTER NYA" #x1009) - ("MYANMAR LETTER NNYA" #x100A) - ("MYANMAR LETTER TTA" #x100B) - ("MYANMAR LETTER TTHA" #x100C) - ("MYANMAR LETTER DDA" #x100D) - ("MYANMAR LETTER DDHA" #x100E) - ("MYANMAR LETTER NNA" #x100F) - ("MYANMAR LETTER TA" #x1010) - ("MYANMAR LETTER THA" #x1011) - ("MYANMAR LETTER DA" #x1012) - ("MYANMAR LETTER DHA" #x1013) - ("MYANMAR LETTER NA" #x1014) - ("MYANMAR LETTER PA" #x1015) - ("MYANMAR LETTER PHA" #x1016) - ("MYANMAR LETTER BA" #x1017) - ("MYANMAR LETTER BHA" #x1018) - ("MYANMAR LETTER MA" #x1019) - ("MYANMAR LETTER YA" #x101A) - ("MYANMAR LETTER RA" #x101B) - ("MYANMAR LETTER LA" #x101C) - ("MYANMAR LETTER WA" #x101D) - ("MYANMAR LETTER SA" #x101E) - ("MYANMAR LETTER HA" #x101F) - ("MYANMAR LETTER LLA" #x1020) - ("MYANMAR LETTER A" #x1021) - ("MYANMAR LETTER I" #x1023) - ("MYANMAR LETTER II" #x1024) - ("MYANMAR LETTER U" #x1025) - ("MYANMAR LETTER UU" #x1026) - ("MYANMAR LETTER E" #x1027) - ("MYANMAR LETTER O" #x1029) - ("MYANMAR LETTER AU" #x102A) - ("MYANMAR VOWEL SIGN AA" #x102C) - ("MYANMAR VOWEL SIGN I" #x102D) - ("MYANMAR VOWEL SIGN II" #x102E) - ("MYANMAR VOWEL SIGN U" #x102F) - ("MYANMAR VOWEL SIGN UU" #x1030) - ("MYANMAR VOWEL SIGN E" #x1031) - ("MYANMAR VOWEL SIGN AI" #x1032) - ("MYANMAR SIGN ANUSVARA" #x1036) - ("MYANMAR SIGN DOT BELOW" #x1037) - ("MYANMAR SIGN VISARGA" #x1038) - ("MYANMAR SIGN VIRAMA" #x1039) - ("MYANMAR DIGIT ZERO" #x1040) - ("MYANMAR DIGIT ONE" #x1041) - ("MYANMAR DIGIT TWO" #x1042) - ("MYANMAR DIGIT THREE" #x1043) - ("MYANMAR DIGIT FOUR" #x1044) - ("MYANMAR DIGIT FIVE" #x1045) - ("MYANMAR DIGIT SIX" #x1046) - ("MYANMAR DIGIT SEVEN" #x1047) - ("MYANMAR DIGIT EIGHT" #x1048) - ("MYANMAR DIGIT NINE" #x1049) - ("MYANMAR SIGN LITTLE SECTION" #x104A) - ("MYANMAR SIGN SECTION" #x104B) - ("MYANMAR SYMBOL LOCATIVE" #x104C) - ("MYANMAR SYMBOL COMPLETED" #x104D) - ("MYANMAR SYMBOL AFOREMENTIONED" #x104E) - ("MYANMAR SYMBOL GENITIVE" #x104F) - ("MYANMAR LETTER SHA" #x1050) - ("MYANMAR LETTER SSA" #x1051) - ("MYANMAR LETTER VOCALIC R" #x1052) - ("MYANMAR LETTER VOCALIC RR" #x1053) - ("MYANMAR LETTER VOCALIC L" #x1054) - ("MYANMAR LETTER VOCALIC LL" #x1055) - ("MYANMAR VOWEL SIGN VOCALIC R" #x1056) - ("MYANMAR VOWEL SIGN VOCALIC RR" #x1057) - ("MYANMAR VOWEL SIGN VOCALIC L" #x1058) - ("MYANMAR VOWEL SIGN VOCALIC LL" #x1059) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/010A0-010FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/010A0-010FF.el deleted file mode 100644 index 26abf69d52..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/010A0-010FF.el +++ /dev/null @@ -1,82 +0,0 @@ -(nxml-define-char-name-set 'georgian - '(("GEORGIAN CAPITAL LETTER AN" #x10A0) - ("GEORGIAN CAPITAL LETTER BAN" #x10A1) - ("GEORGIAN CAPITAL LETTER GAN" #x10A2) - ("GEORGIAN CAPITAL LETTER DON" #x10A3) - ("GEORGIAN CAPITAL LETTER EN" #x10A4) - ("GEORGIAN CAPITAL LETTER VIN" #x10A5) - ("GEORGIAN CAPITAL LETTER ZEN" #x10A6) - ("GEORGIAN CAPITAL LETTER TAN" #x10A7) - ("GEORGIAN CAPITAL LETTER IN" #x10A8) - ("GEORGIAN CAPITAL LETTER KAN" #x10A9) - ("GEORGIAN CAPITAL LETTER LAS" #x10AA) - ("GEORGIAN CAPITAL LETTER MAN" #x10AB) - ("GEORGIAN CAPITAL LETTER NAR" #x10AC) - ("GEORGIAN CAPITAL LETTER ON" #x10AD) - ("GEORGIAN CAPITAL LETTER PAR" #x10AE) - ("GEORGIAN CAPITAL LETTER ZHAR" #x10AF) - ("GEORGIAN CAPITAL LETTER RAE" #x10B0) - ("GEORGIAN CAPITAL LETTER SAN" #x10B1) - ("GEORGIAN CAPITAL LETTER TAR" #x10B2) - ("GEORGIAN CAPITAL LETTER UN" #x10B3) - ("GEORGIAN CAPITAL LETTER PHAR" #x10B4) - ("GEORGIAN CAPITAL LETTER KHAR" #x10B5) - ("GEORGIAN CAPITAL LETTER GHAN" #x10B6) - ("GEORGIAN CAPITAL LETTER QAR" #x10B7) - ("GEORGIAN CAPITAL LETTER SHIN" #x10B8) - ("GEORGIAN CAPITAL LETTER CHIN" #x10B9) - ("GEORGIAN CAPITAL LETTER CAN" #x10BA) - ("GEORGIAN CAPITAL LETTER JIL" #x10BB) - ("GEORGIAN CAPITAL LETTER CIL" #x10BC) - ("GEORGIAN CAPITAL LETTER CHAR" #x10BD) - ("GEORGIAN CAPITAL LETTER XAN" #x10BE) - ("GEORGIAN CAPITAL LETTER JHAN" #x10BF) - ("GEORGIAN CAPITAL LETTER HAE" #x10C0) - ("GEORGIAN CAPITAL LETTER HE" #x10C1) - ("GEORGIAN CAPITAL LETTER HIE" #x10C2) - ("GEORGIAN CAPITAL LETTER WE" #x10C3) - ("GEORGIAN CAPITAL LETTER HAR" #x10C4) - ("GEORGIAN CAPITAL LETTER HOE" #x10C5) - ("GEORGIAN LETTER AN" #x10D0) - ("GEORGIAN LETTER BAN" #x10D1) - ("GEORGIAN LETTER GAN" #x10D2) - ("GEORGIAN LETTER DON" #x10D3) - ("GEORGIAN LETTER EN" #x10D4) - ("GEORGIAN LETTER VIN" #x10D5) - ("GEORGIAN LETTER ZEN" #x10D6) - ("GEORGIAN LETTER TAN" #x10D7) - ("GEORGIAN LETTER IN" #x10D8) - ("GEORGIAN LETTER KAN" #x10D9) - ("GEORGIAN LETTER LAS" #x10DA) - ("GEORGIAN LETTER MAN" #x10DB) - ("GEORGIAN LETTER NAR" #x10DC) - ("GEORGIAN LETTER ON" #x10DD) - ("GEORGIAN LETTER PAR" #x10DE) - ("GEORGIAN LETTER ZHAR" #x10DF) - ("GEORGIAN LETTER RAE" #x10E0) - ("GEORGIAN LETTER SAN" #x10E1) - ("GEORGIAN LETTER TAR" #x10E2) - ("GEORGIAN LETTER UN" #x10E3) - ("GEORGIAN LETTER PHAR" #x10E4) - ("GEORGIAN LETTER KHAR" #x10E5) - ("GEORGIAN LETTER GHAN" #x10E6) - ("GEORGIAN LETTER QAR" #x10E7) - ("GEORGIAN LETTER SHIN" #x10E8) - ("GEORGIAN LETTER CHIN" #x10E9) - ("GEORGIAN LETTER CAN" #x10EA) - ("GEORGIAN LETTER JIL" #x10EB) - ("GEORGIAN LETTER CIL" #x10EC) - ("GEORGIAN LETTER CHAR" #x10ED) - ("GEORGIAN LETTER XAN" #x10EE) - ("GEORGIAN LETTER JHAN" #x10EF) - ("GEORGIAN LETTER HAE" #x10F0) - ("GEORGIAN LETTER HE" #x10F1) - ("GEORGIAN LETTER HIE" #x10F2) - ("GEORGIAN LETTER WE" #x10F3) - ("GEORGIAN LETTER HAR" #x10F4) - ("GEORGIAN LETTER HOE" #x10F5) - ("GEORGIAN LETTER FI" #x10F6) - ("GEORGIAN LETTER YN" #x10F7) - ("GEORGIAN LETTER ELIFI" #x10F8) - ("GEORGIAN PARAGRAPH SEPARATOR" #x10FB) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01100-011FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01100-011FF.el deleted file mode 100644 index b89d01536f..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01100-011FF.el +++ /dev/null @@ -1,242 +0,0 @@ -(nxml-define-char-name-set 'hangul-jamo - '(("HANGUL CHOSEONG KIYEOK" #x1100) - ("HANGUL CHOSEONG SSANGKIYEOK" #x1101) - ("HANGUL CHOSEONG NIEUN" #x1102) - ("HANGUL CHOSEONG TIKEUT" #x1103) - ("HANGUL CHOSEONG SSANGTIKEUT" #x1104) - ("HANGUL CHOSEONG RIEUL" #x1105) - ("HANGUL CHOSEONG MIEUM" #x1106) - ("HANGUL CHOSEONG PIEUP" #x1107) - ("HANGUL CHOSEONG SSANGPIEUP" #x1108) - ("HANGUL CHOSEONG SIOS" #x1109) - ("HANGUL CHOSEONG SSANGSIOS" #x110A) - ("HANGUL CHOSEONG IEUNG" #x110B) - ("HANGUL CHOSEONG CIEUC" #x110C) - ("HANGUL CHOSEONG SSANGCIEUC" #x110D) - ("HANGUL CHOSEONG CHIEUCH" #x110E) - ("HANGUL CHOSEONG KHIEUKH" #x110F) - ("HANGUL CHOSEONG THIEUTH" #x1110) - ("HANGUL CHOSEONG PHIEUPH" #x1111) - ("HANGUL CHOSEONG HIEUH" #x1112) - ("HANGUL CHOSEONG NIEUN-KIYEOK" #x1113) - ("HANGUL CHOSEONG SSANGNIEUN" #x1114) - ("HANGUL CHOSEONG NIEUN-TIKEUT" #x1115) - ("HANGUL CHOSEONG NIEUN-PIEUP" #x1116) - ("HANGUL CHOSEONG TIKEUT-KIYEOK" #x1117) - ("HANGUL CHOSEONG RIEUL-NIEUN" #x1118) - ("HANGUL CHOSEONG SSANGRIEUL" #x1119) - ("HANGUL CHOSEONG RIEUL-HIEUH" #x111A) - ("HANGUL CHOSEONG KAPYEOUNRIEUL" #x111B) - ("HANGUL CHOSEONG MIEUM-PIEUP" #x111C) - ("HANGUL CHOSEONG KAPYEOUNMIEUM" #x111D) - ("HANGUL CHOSEONG PIEUP-KIYEOK" #x111E) - ("HANGUL CHOSEONG PIEUP-NIEUN" #x111F) - ("HANGUL CHOSEONG PIEUP-TIKEUT" #x1120) - ("HANGUL CHOSEONG PIEUP-SIOS" #x1121) - ("HANGUL CHOSEONG PIEUP-SIOS-KIYEOK" #x1122) - ("HANGUL CHOSEONG PIEUP-SIOS-TIKEUT" #x1123) - ("HANGUL CHOSEONG PIEUP-SIOS-PIEUP" #x1124) - ("HANGUL CHOSEONG PIEUP-SSANGSIOS" #x1125) - ("HANGUL CHOSEONG PIEUP-SIOS-CIEUC" #x1126) - ("HANGUL CHOSEONG PIEUP-CIEUC" #x1127) - ("HANGUL CHOSEONG PIEUP-CHIEUCH" #x1128) - ("HANGUL CHOSEONG PIEUP-THIEUTH" #x1129) - ("HANGUL CHOSEONG PIEUP-PHIEUPH" #x112A) - ("HANGUL CHOSEONG KAPYEOUNPIEUP" #x112B) - ("HANGUL CHOSEONG KAPYEOUNSSANGPIEUP" #x112C) - ("HANGUL CHOSEONG SIOS-KIYEOK" #x112D) - ("HANGUL CHOSEONG SIOS-NIEUN" #x112E) - ("HANGUL CHOSEONG SIOS-TIKEUT" #x112F) - ("HANGUL CHOSEONG SIOS-RIEUL" #x1130) - ("HANGUL CHOSEONG SIOS-MIEUM" #x1131) - ("HANGUL CHOSEONG SIOS-PIEUP" #x1132) - ("HANGUL CHOSEONG SIOS-PIEUP-KIYEOK" #x1133) - ("HANGUL CHOSEONG SIOS-SSANGSIOS" #x1134) - ("HANGUL CHOSEONG SIOS-IEUNG" #x1135) - ("HANGUL CHOSEONG SIOS-CIEUC" #x1136) - ("HANGUL CHOSEONG SIOS-CHIEUCH" #x1137) - ("HANGUL CHOSEONG SIOS-KHIEUKH" #x1138) - ("HANGUL CHOSEONG SIOS-THIEUTH" #x1139) - ("HANGUL CHOSEONG SIOS-PHIEUPH" #x113A) - ("HANGUL CHOSEONG SIOS-HIEUH" #x113B) - ("HANGUL CHOSEONG CHITUEUMSIOS" #x113C) - ("HANGUL CHOSEONG CHITUEUMSSANGSIOS" #x113D) - ("HANGUL CHOSEONG CEONGCHIEUMSIOS" #x113E) - ("HANGUL CHOSEONG CEONGCHIEUMSSANGSIOS" #x113F) - ("HANGUL CHOSEONG PANSIOS" #x1140) - ("HANGUL CHOSEONG IEUNG-KIYEOK" #x1141) - ("HANGUL CHOSEONG IEUNG-TIKEUT" #x1142) - ("HANGUL CHOSEONG IEUNG-MIEUM" #x1143) - ("HANGUL CHOSEONG IEUNG-PIEUP" #x1144) - ("HANGUL CHOSEONG IEUNG-SIOS" #x1145) - ("HANGUL CHOSEONG IEUNG-PANSIOS" #x1146) - ("HANGUL CHOSEONG SSANGIEUNG" #x1147) - ("HANGUL CHOSEONG IEUNG-CIEUC" #x1148) - ("HANGUL CHOSEONG IEUNG-CHIEUCH" #x1149) - ("HANGUL CHOSEONG IEUNG-THIEUTH" #x114A) - ("HANGUL CHOSEONG IEUNG-PHIEUPH" #x114B) - ("HANGUL CHOSEONG YESIEUNG" #x114C) - ("HANGUL CHOSEONG CIEUC-IEUNG" #x114D) - ("HANGUL CHOSEONG CHITUEUMCIEUC" #x114E) - ("HANGUL CHOSEONG CHITUEUMSSANGCIEUC" #x114F) - ("HANGUL CHOSEONG CEONGCHIEUMCIEUC" #x1150) - ("HANGUL CHOSEONG CEONGCHIEUMSSANGCIEUC" #x1151) - ("HANGUL CHOSEONG CHIEUCH-KHIEUKH" #x1152) - ("HANGUL CHOSEONG CHIEUCH-HIEUH" #x1153) - ("HANGUL CHOSEONG CHITUEUMCHIEUCH" #x1154) - ("HANGUL CHOSEONG CEONGCHIEUMCHIEUCH" #x1155) - ("HANGUL CHOSEONG PHIEUPH-PIEUP" #x1156) - ("HANGUL CHOSEONG KAPYEOUNPHIEUPH" #x1157) - ("HANGUL CHOSEONG SSANGHIEUH" #x1158) - ("HANGUL CHOSEONG YEORINHIEUH" #x1159) - ("HANGUL CHOSEONG FILLER" #x115F) - ("HANGUL JUNGSEONG FILLER" #x1160) - ("HANGUL JUNGSEONG A" #x1161) - ("HANGUL JUNGSEONG AE" #x1162) - ("HANGUL JUNGSEONG YA" #x1163) - ("HANGUL JUNGSEONG YAE" #x1164) - ("HANGUL JUNGSEONG EO" #x1165) - ("HANGUL JUNGSEONG E" #x1166) - ("HANGUL JUNGSEONG YEO" #x1167) - ("HANGUL JUNGSEONG YE" #x1168) - ("HANGUL JUNGSEONG O" #x1169) - ("HANGUL JUNGSEONG WA" #x116A) - ("HANGUL JUNGSEONG WAE" #x116B) - ("HANGUL JUNGSEONG OE" #x116C) - ("HANGUL JUNGSEONG YO" #x116D) - ("HANGUL JUNGSEONG U" #x116E) - ("HANGUL JUNGSEONG WEO" #x116F) - ("HANGUL JUNGSEONG WE" #x1170) - ("HANGUL JUNGSEONG WI" #x1171) - ("HANGUL JUNGSEONG YU" #x1172) - ("HANGUL JUNGSEONG EU" #x1173) - ("HANGUL JUNGSEONG YI" #x1174) - ("HANGUL JUNGSEONG I" #x1175) - ("HANGUL JUNGSEONG A-O" #x1176) - ("HANGUL JUNGSEONG A-U" #x1177) - ("HANGUL JUNGSEONG YA-O" #x1178) - ("HANGUL JUNGSEONG YA-YO" #x1179) - ("HANGUL JUNGSEONG EO-O" #x117A) - ("HANGUL JUNGSEONG EO-U" #x117B) - ("HANGUL JUNGSEONG EO-EU" #x117C) - ("HANGUL JUNGSEONG YEO-O" #x117D) - ("HANGUL JUNGSEONG YEO-U" #x117E) - ("HANGUL JUNGSEONG O-EO" #x117F) - ("HANGUL JUNGSEONG O-E" #x1180) - ("HANGUL JUNGSEONG O-YE" #x1181) - ("HANGUL JUNGSEONG O-O" #x1182) - ("HANGUL JUNGSEONG O-U" #x1183) - ("HANGUL JUNGSEONG YO-YA" #x1184) - ("HANGUL JUNGSEONG YO-YAE" #x1185) - ("HANGUL JUNGSEONG YO-YEO" #x1186) - ("HANGUL JUNGSEONG YO-O" #x1187) - ("HANGUL JUNGSEONG YO-I" #x1188) - ("HANGUL JUNGSEONG U-A" #x1189) - ("HANGUL JUNGSEONG U-AE" #x118A) - ("HANGUL JUNGSEONG U-EO-EU" #x118B) - ("HANGUL JUNGSEONG U-YE" #x118C) - ("HANGUL JUNGSEONG U-U" #x118D) - ("HANGUL JUNGSEONG YU-A" #x118E) - ("HANGUL JUNGSEONG YU-EO" #x118F) - ("HANGUL JUNGSEONG YU-E" #x1190) - ("HANGUL JUNGSEONG YU-YEO" #x1191) - ("HANGUL JUNGSEONG YU-YE" #x1192) - ("HANGUL JUNGSEONG YU-U" #x1193) - ("HANGUL JUNGSEONG YU-I" #x1194) - ("HANGUL JUNGSEONG EU-U" #x1195) - ("HANGUL JUNGSEONG EU-EU" #x1196) - ("HANGUL JUNGSEONG YI-U" #x1197) - ("HANGUL JUNGSEONG I-A" #x1198) - ("HANGUL JUNGSEONG I-YA" #x1199) - ("HANGUL JUNGSEONG I-O" #x119A) - ("HANGUL JUNGSEONG I-U" #x119B) - ("HANGUL JUNGSEONG I-EU" #x119C) - ("HANGUL JUNGSEONG I-ARAEA" #x119D) - ("HANGUL JUNGSEONG ARAEA" #x119E) - ("HANGUL JUNGSEONG ARAEA-EO" #x119F) - ("HANGUL JUNGSEONG ARAEA-U" #x11A0) - ("HANGUL JUNGSEONG ARAEA-I" #x11A1) - ("HANGUL JUNGSEONG SSANGARAEA" #x11A2) - ("HANGUL JONGSEONG KIYEOK" #x11A8) - ("HANGUL JONGSEONG SSANGKIYEOK" #x11A9) - ("HANGUL JONGSEONG KIYEOK-SIOS" #x11AA) - ("HANGUL JONGSEONG NIEUN" #x11AB) - ("HANGUL JONGSEONG NIEUN-CIEUC" #x11AC) - ("HANGUL JONGSEONG NIEUN-HIEUH" #x11AD) - ("HANGUL JONGSEONG TIKEUT" #x11AE) - ("HANGUL JONGSEONG RIEUL" #x11AF) - ("HANGUL JONGSEONG RIEUL-KIYEOK" #x11B0) - ("HANGUL JONGSEONG RIEUL-MIEUM" #x11B1) - ("HANGUL JONGSEONG RIEUL-PIEUP" #x11B2) - ("HANGUL JONGSEONG RIEUL-SIOS" #x11B3) - ("HANGUL JONGSEONG RIEUL-THIEUTH" #x11B4) - ("HANGUL JONGSEONG RIEUL-PHIEUPH" #x11B5) - ("HANGUL JONGSEONG RIEUL-HIEUH" #x11B6) - ("HANGUL JONGSEONG MIEUM" #x11B7) - ("HANGUL JONGSEONG PIEUP" #x11B8) - ("HANGUL JONGSEONG PIEUP-SIOS" #x11B9) - ("HANGUL JONGSEONG SIOS" #x11BA) - ("HANGUL JONGSEONG SSANGSIOS" #x11BB) - ("HANGUL JONGSEONG IEUNG" #x11BC) - ("HANGUL JONGSEONG CIEUC" #x11BD) - ("HANGUL JONGSEONG CHIEUCH" #x11BE) - ("HANGUL JONGSEONG KHIEUKH" #x11BF) - ("HANGUL JONGSEONG THIEUTH" #x11C0) - ("HANGUL JONGSEONG PHIEUPH" #x11C1) - ("HANGUL JONGSEONG HIEUH" #x11C2) - ("HANGUL JONGSEONG KIYEOK-RIEUL" #x11C3) - ("HANGUL JONGSEONG KIYEOK-SIOS-KIYEOK" #x11C4) - ("HANGUL JONGSEONG NIEUN-KIYEOK" #x11C5) - ("HANGUL JONGSEONG NIEUN-TIKEUT" #x11C6) - ("HANGUL JONGSEONG NIEUN-SIOS" #x11C7) - ("HANGUL JONGSEONG NIEUN-PANSIOS" #x11C8) - ("HANGUL JONGSEONG NIEUN-THIEUTH" #x11C9) - ("HANGUL JONGSEONG TIKEUT-KIYEOK" #x11CA) - ("HANGUL JONGSEONG TIKEUT-RIEUL" #x11CB) - ("HANGUL JONGSEONG RIEUL-KIYEOK-SIOS" #x11CC) - ("HANGUL JONGSEONG RIEUL-NIEUN" #x11CD) - ("HANGUL JONGSEONG RIEUL-TIKEUT" #x11CE) - ("HANGUL JONGSEONG RIEUL-TIKEUT-HIEUH" #x11CF) - ("HANGUL JONGSEONG SSANGRIEUL" #x11D0) - ("HANGUL JONGSEONG RIEUL-MIEUM-KIYEOK" #x11D1) - ("HANGUL JONGSEONG RIEUL-MIEUM-SIOS" #x11D2) - ("HANGUL JONGSEONG RIEUL-PIEUP-SIOS" #x11D3) - ("HANGUL JONGSEONG RIEUL-PIEUP-HIEUH" #x11D4) - ("HANGUL JONGSEONG RIEUL-KAPYEOUNPIEUP" #x11D5) - ("HANGUL JONGSEONG RIEUL-SSANGSIOS" #x11D6) - ("HANGUL JONGSEONG RIEUL-PANSIOS" #x11D7) - ("HANGUL JONGSEONG RIEUL-KHIEUKH" #x11D8) - ("HANGUL JONGSEONG RIEUL-YEORINHIEUH" #x11D9) - ("HANGUL JONGSEONG MIEUM-KIYEOK" #x11DA) - ("HANGUL JONGSEONG MIEUM-RIEUL" #x11DB) - ("HANGUL JONGSEONG MIEUM-PIEUP" #x11DC) - ("HANGUL JONGSEONG MIEUM-SIOS" #x11DD) - ("HANGUL JONGSEONG MIEUM-SSANGSIOS" #x11DE) - ("HANGUL JONGSEONG MIEUM-PANSIOS" #x11DF) - ("HANGUL JONGSEONG MIEUM-CHIEUCH" #x11E0) - ("HANGUL JONGSEONG MIEUM-HIEUH" #x11E1) - ("HANGUL JONGSEONG KAPYEOUNMIEUM" #x11E2) - ("HANGUL JONGSEONG PIEUP-RIEUL" #x11E3) - ("HANGUL JONGSEONG PIEUP-PHIEUPH" #x11E4) - ("HANGUL JONGSEONG PIEUP-HIEUH" #x11E5) - ("HANGUL JONGSEONG KAPYEOUNPIEUP" #x11E6) - ("HANGUL JONGSEONG SIOS-KIYEOK" #x11E7) - ("HANGUL JONGSEONG SIOS-TIKEUT" #x11E8) - ("HANGUL JONGSEONG SIOS-RIEUL" #x11E9) - ("HANGUL JONGSEONG SIOS-PIEUP" #x11EA) - ("HANGUL JONGSEONG PANSIOS" #x11EB) - ("HANGUL JONGSEONG IEUNG-KIYEOK" #x11EC) - ("HANGUL JONGSEONG IEUNG-SSANGKIYEOK" #x11ED) - ("HANGUL JONGSEONG SSANGIEUNG" #x11EE) - ("HANGUL JONGSEONG IEUNG-KHIEUKH" #x11EF) - ("HANGUL JONGSEONG YESIEUNG" #x11F0) - ("HANGUL JONGSEONG YESIEUNG-SIOS" #x11F1) - ("HANGUL JONGSEONG YESIEUNG-PANSIOS" #x11F2) - ("HANGUL JONGSEONG PHIEUPH-PIEUP" #x11F3) - ("HANGUL JONGSEONG KAPYEOUNPHIEUPH" #x11F4) - ("HANGUL JONGSEONG HIEUH-NIEUN" #x11F5) - ("HANGUL JONGSEONG HIEUH-RIEUL" #x11F6) - ("HANGUL JONGSEONG HIEUH-MIEUM" #x11F7) - ("HANGUL JONGSEONG HIEUH-PIEUP" #x11F8) - ("HANGUL JONGSEONG YEORINHIEUH" #x11F9) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01200-0137F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01200-0137F.el deleted file mode 100644 index 06f59a3d84..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01200-0137F.el +++ /dev/null @@ -1,347 +0,0 @@ -(nxml-define-char-name-set 'ethiopic - '(("ETHIOPIC SYLLABLE HA" #x1200) - ("ETHIOPIC SYLLABLE HU" #x1201) - ("ETHIOPIC SYLLABLE HI" #x1202) - ("ETHIOPIC SYLLABLE HAA" #x1203) - ("ETHIOPIC SYLLABLE HEE" #x1204) - ("ETHIOPIC SYLLABLE HE" #x1205) - ("ETHIOPIC SYLLABLE HO" #x1206) - ("ETHIOPIC SYLLABLE LA" #x1208) - ("ETHIOPIC SYLLABLE LU" #x1209) - ("ETHIOPIC SYLLABLE LI" #x120A) - ("ETHIOPIC SYLLABLE LAA" #x120B) - ("ETHIOPIC SYLLABLE LEE" #x120C) - ("ETHIOPIC SYLLABLE LE" #x120D) - ("ETHIOPIC SYLLABLE LO" #x120E) - ("ETHIOPIC SYLLABLE LWA" #x120F) - ("ETHIOPIC SYLLABLE HHA" #x1210) - ("ETHIOPIC SYLLABLE HHU" #x1211) - ("ETHIOPIC SYLLABLE HHI" #x1212) - ("ETHIOPIC SYLLABLE HHAA" #x1213) - ("ETHIOPIC SYLLABLE HHEE" #x1214) - ("ETHIOPIC SYLLABLE HHE" #x1215) - ("ETHIOPIC SYLLABLE HHO" #x1216) - ("ETHIOPIC SYLLABLE HHWA" #x1217) - ("ETHIOPIC SYLLABLE MA" #x1218) - ("ETHIOPIC SYLLABLE MU" #x1219) - ("ETHIOPIC SYLLABLE MI" #x121A) - ("ETHIOPIC SYLLABLE MAA" #x121B) - ("ETHIOPIC SYLLABLE MEE" #x121C) - ("ETHIOPIC SYLLABLE ME" #x121D) - ("ETHIOPIC SYLLABLE MO" #x121E) - ("ETHIOPIC SYLLABLE MWA" #x121F) - ("ETHIOPIC SYLLABLE SZA" #x1220) - ("ETHIOPIC SYLLABLE SZU" #x1221) - ("ETHIOPIC SYLLABLE SZI" #x1222) - ("ETHIOPIC SYLLABLE SZAA" #x1223) - ("ETHIOPIC SYLLABLE SZEE" #x1224) - ("ETHIOPIC SYLLABLE SZE" #x1225) - ("ETHIOPIC SYLLABLE SZO" #x1226) - ("ETHIOPIC SYLLABLE SZWA" #x1227) - ("ETHIOPIC SYLLABLE RA" #x1228) - ("ETHIOPIC SYLLABLE RU" #x1229) - ("ETHIOPIC SYLLABLE RI" #x122A) - ("ETHIOPIC SYLLABLE RAA" #x122B) - ("ETHIOPIC SYLLABLE REE" #x122C) - ("ETHIOPIC SYLLABLE RE" #x122D) - ("ETHIOPIC SYLLABLE RO" #x122E) - ("ETHIOPIC SYLLABLE RWA" #x122F) - ("ETHIOPIC SYLLABLE SA" #x1230) - ("ETHIOPIC SYLLABLE SU" #x1231) - ("ETHIOPIC SYLLABLE SI" #x1232) - ("ETHIOPIC SYLLABLE SAA" #x1233) - ("ETHIOPIC SYLLABLE SEE" #x1234) - ("ETHIOPIC SYLLABLE SE" #x1235) - ("ETHIOPIC SYLLABLE SO" #x1236) - ("ETHIOPIC SYLLABLE SWA" #x1237) - ("ETHIOPIC SYLLABLE SHA" #x1238) - ("ETHIOPIC SYLLABLE SHU" #x1239) - ("ETHIOPIC SYLLABLE SHI" #x123A) - ("ETHIOPIC SYLLABLE SHAA" #x123B) - ("ETHIOPIC SYLLABLE SHEE" #x123C) - ("ETHIOPIC SYLLABLE SHE" #x123D) - ("ETHIOPIC SYLLABLE SHO" #x123E) - ("ETHIOPIC SYLLABLE SHWA" #x123F) - ("ETHIOPIC SYLLABLE QA" #x1240) - ("ETHIOPIC SYLLABLE QU" #x1241) - ("ETHIOPIC SYLLABLE QI" #x1242) - ("ETHIOPIC SYLLABLE QAA" #x1243) - ("ETHIOPIC SYLLABLE QEE" #x1244) - ("ETHIOPIC SYLLABLE QE" #x1245) - ("ETHIOPIC SYLLABLE QO" #x1246) - ("ETHIOPIC SYLLABLE QWA" #x1248) - ("ETHIOPIC SYLLABLE QWI" #x124A) - ("ETHIOPIC SYLLABLE QWAA" #x124B) - ("ETHIOPIC SYLLABLE QWEE" #x124C) - ("ETHIOPIC SYLLABLE QWE" #x124D) - ("ETHIOPIC SYLLABLE QHA" #x1250) - ("ETHIOPIC SYLLABLE QHU" #x1251) - ("ETHIOPIC SYLLABLE QHI" #x1252) - ("ETHIOPIC SYLLABLE QHAA" #x1253) - ("ETHIOPIC SYLLABLE QHEE" #x1254) - ("ETHIOPIC SYLLABLE QHE" #x1255) - ("ETHIOPIC SYLLABLE QHO" #x1256) - ("ETHIOPIC SYLLABLE QHWA" #x1258) - ("ETHIOPIC SYLLABLE QHWI" #x125A) - ("ETHIOPIC SYLLABLE QHWAA" #x125B) - ("ETHIOPIC SYLLABLE QHWEE" #x125C) - ("ETHIOPIC SYLLABLE QHWE" #x125D) - ("ETHIOPIC SYLLABLE BA" #x1260) - ("ETHIOPIC SYLLABLE BU" #x1261) - ("ETHIOPIC SYLLABLE BI" #x1262) - ("ETHIOPIC SYLLABLE BAA" #x1263) - ("ETHIOPIC SYLLABLE BEE" #x1264) - ("ETHIOPIC SYLLABLE BE" #x1265) - ("ETHIOPIC SYLLABLE BO" #x1266) - ("ETHIOPIC SYLLABLE BWA" #x1267) - ("ETHIOPIC SYLLABLE VA" #x1268) - ("ETHIOPIC SYLLABLE VU" #x1269) - ("ETHIOPIC SYLLABLE VI" #x126A) - ("ETHIOPIC SYLLABLE VAA" #x126B) - ("ETHIOPIC SYLLABLE VEE" #x126C) - ("ETHIOPIC SYLLABLE VE" #x126D) - ("ETHIOPIC SYLLABLE VO" #x126E) - ("ETHIOPIC SYLLABLE VWA" #x126F) - ("ETHIOPIC SYLLABLE TA" #x1270) - ("ETHIOPIC SYLLABLE TU" #x1271) - ("ETHIOPIC SYLLABLE TI" #x1272) - ("ETHIOPIC SYLLABLE TAA" #x1273) - ("ETHIOPIC SYLLABLE TEE" #x1274) - ("ETHIOPIC SYLLABLE TE" #x1275) - ("ETHIOPIC SYLLABLE TO" #x1276) - ("ETHIOPIC SYLLABLE TWA" #x1277) - ("ETHIOPIC SYLLABLE CA" #x1278) - ("ETHIOPIC SYLLABLE CU" #x1279) - ("ETHIOPIC SYLLABLE CI" #x127A) - ("ETHIOPIC SYLLABLE CAA" #x127B) - ("ETHIOPIC SYLLABLE CEE" #x127C) - ("ETHIOPIC SYLLABLE CE" #x127D) - ("ETHIOPIC SYLLABLE CO" #x127E) - ("ETHIOPIC SYLLABLE CWA" #x127F) - ("ETHIOPIC SYLLABLE XA" #x1280) - ("ETHIOPIC SYLLABLE XU" #x1281) - ("ETHIOPIC SYLLABLE XI" #x1282) - ("ETHIOPIC SYLLABLE XAA" #x1283) - ("ETHIOPIC SYLLABLE XEE" #x1284) - ("ETHIOPIC SYLLABLE XE" #x1285) - ("ETHIOPIC SYLLABLE XO" #x1286) - ("ETHIOPIC SYLLABLE XWA" #x1288) - ("ETHIOPIC SYLLABLE XWI" #x128A) - ("ETHIOPIC SYLLABLE XWAA" #x128B) - ("ETHIOPIC SYLLABLE XWEE" #x128C) - ("ETHIOPIC SYLLABLE XWE" #x128D) - ("ETHIOPIC SYLLABLE NA" #x1290) - ("ETHIOPIC SYLLABLE NU" #x1291) - ("ETHIOPIC SYLLABLE NI" #x1292) - ("ETHIOPIC SYLLABLE NAA" #x1293) - ("ETHIOPIC SYLLABLE NEE" #x1294) - ("ETHIOPIC SYLLABLE NE" #x1295) - ("ETHIOPIC SYLLABLE NO" #x1296) - ("ETHIOPIC SYLLABLE NWA" #x1297) - ("ETHIOPIC SYLLABLE NYA" #x1298) - ("ETHIOPIC SYLLABLE NYU" #x1299) - ("ETHIOPIC SYLLABLE NYI" #x129A) - ("ETHIOPIC SYLLABLE NYAA" #x129B) - ("ETHIOPIC SYLLABLE NYEE" #x129C) - ("ETHIOPIC SYLLABLE NYE" #x129D) - ("ETHIOPIC SYLLABLE NYO" #x129E) - ("ETHIOPIC SYLLABLE NYWA" #x129F) - ("ETHIOPIC SYLLABLE GLOTTAL A" #x12A0) - ("ETHIOPIC SYLLABLE GLOTTAL U" #x12A1) - ("ETHIOPIC SYLLABLE GLOTTAL I" #x12A2) - ("ETHIOPIC SYLLABLE GLOTTAL AA" #x12A3) - ("ETHIOPIC SYLLABLE GLOTTAL EE" #x12A4) - ("ETHIOPIC SYLLABLE GLOTTAL E" #x12A5) - ("ETHIOPIC SYLLABLE GLOTTAL O" #x12A6) - ("ETHIOPIC SYLLABLE GLOTTAL WA" #x12A7) - ("ETHIOPIC SYLLABLE KA" #x12A8) - ("ETHIOPIC SYLLABLE KU" #x12A9) - ("ETHIOPIC SYLLABLE KI" #x12AA) - ("ETHIOPIC SYLLABLE KAA" #x12AB) - ("ETHIOPIC SYLLABLE KEE" #x12AC) - ("ETHIOPIC SYLLABLE KE" #x12AD) - ("ETHIOPIC SYLLABLE KO" #x12AE) - ("ETHIOPIC SYLLABLE KWA" #x12B0) - ("ETHIOPIC SYLLABLE KWI" #x12B2) - ("ETHIOPIC SYLLABLE KWAA" #x12B3) - ("ETHIOPIC SYLLABLE KWEE" #x12B4) - ("ETHIOPIC SYLLABLE KWE" #x12B5) - ("ETHIOPIC SYLLABLE KXA" #x12B8) - ("ETHIOPIC SYLLABLE KXU" #x12B9) - ("ETHIOPIC SYLLABLE KXI" #x12BA) - ("ETHIOPIC SYLLABLE KXAA" #x12BB) - ("ETHIOPIC SYLLABLE KXEE" #x12BC) - ("ETHIOPIC SYLLABLE KXE" #x12BD) - ("ETHIOPIC SYLLABLE KXO" #x12BE) - ("ETHIOPIC SYLLABLE KXWA" #x12C0) - ("ETHIOPIC SYLLABLE KXWI" #x12C2) - ("ETHIOPIC SYLLABLE KXWAA" #x12C3) - ("ETHIOPIC SYLLABLE KXWEE" #x12C4) - ("ETHIOPIC SYLLABLE KXWE" #x12C5) - ("ETHIOPIC SYLLABLE WA" #x12C8) - ("ETHIOPIC SYLLABLE WU" #x12C9) - ("ETHIOPIC SYLLABLE WI" #x12CA) - ("ETHIOPIC SYLLABLE WAA" #x12CB) - ("ETHIOPIC SYLLABLE WEE" #x12CC) - ("ETHIOPIC SYLLABLE WE" #x12CD) - ("ETHIOPIC SYLLABLE WO" #x12CE) - ("ETHIOPIC SYLLABLE PHARYNGEAL A" #x12D0) - ("ETHIOPIC SYLLABLE PHARYNGEAL U" #x12D1) - ("ETHIOPIC SYLLABLE PHARYNGEAL I" #x12D2) - ("ETHIOPIC SYLLABLE PHARYNGEAL AA" #x12D3) - ("ETHIOPIC SYLLABLE PHARYNGEAL EE" #x12D4) - ("ETHIOPIC SYLLABLE PHARYNGEAL E" #x12D5) - ("ETHIOPIC SYLLABLE PHARYNGEAL O" #x12D6) - ("ETHIOPIC SYLLABLE ZA" #x12D8) - ("ETHIOPIC SYLLABLE ZU" #x12D9) - ("ETHIOPIC SYLLABLE ZI" #x12DA) - ("ETHIOPIC SYLLABLE ZAA" #x12DB) - ("ETHIOPIC SYLLABLE ZEE" #x12DC) - ("ETHIOPIC SYLLABLE ZE" #x12DD) - ("ETHIOPIC SYLLABLE ZO" #x12DE) - ("ETHIOPIC SYLLABLE ZWA" #x12DF) - ("ETHIOPIC SYLLABLE ZHA" #x12E0) - ("ETHIOPIC SYLLABLE ZHU" #x12E1) - ("ETHIOPIC SYLLABLE ZHI" #x12E2) - ("ETHIOPIC SYLLABLE ZHAA" #x12E3) - ("ETHIOPIC SYLLABLE ZHEE" #x12E4) - ("ETHIOPIC SYLLABLE ZHE" #x12E5) - ("ETHIOPIC SYLLABLE ZHO" #x12E6) - ("ETHIOPIC SYLLABLE ZHWA" #x12E7) - ("ETHIOPIC SYLLABLE YA" #x12E8) - ("ETHIOPIC SYLLABLE YU" #x12E9) - ("ETHIOPIC SYLLABLE YI" #x12EA) - ("ETHIOPIC SYLLABLE YAA" #x12EB) - ("ETHIOPIC SYLLABLE YEE" #x12EC) - ("ETHIOPIC SYLLABLE YE" #x12ED) - ("ETHIOPIC SYLLABLE YO" #x12EE) - ("ETHIOPIC SYLLABLE DA" #x12F0) - ("ETHIOPIC SYLLABLE DU" #x12F1) - ("ETHIOPIC SYLLABLE DI" #x12F2) - ("ETHIOPIC SYLLABLE DAA" #x12F3) - ("ETHIOPIC SYLLABLE DEE" #x12F4) - ("ETHIOPIC SYLLABLE DE" #x12F5) - ("ETHIOPIC SYLLABLE DO" #x12F6) - ("ETHIOPIC SYLLABLE DWA" #x12F7) - ("ETHIOPIC SYLLABLE DDA" #x12F8) - ("ETHIOPIC SYLLABLE DDU" #x12F9) - ("ETHIOPIC SYLLABLE DDI" #x12FA) - ("ETHIOPIC SYLLABLE DDAA" #x12FB) - ("ETHIOPIC SYLLABLE DDEE" #x12FC) - ("ETHIOPIC SYLLABLE DDE" #x12FD) - ("ETHIOPIC SYLLABLE DDO" #x12FE) - ("ETHIOPIC SYLLABLE DDWA" #x12FF) - ("ETHIOPIC SYLLABLE JA" #x1300) - ("ETHIOPIC SYLLABLE JU" #x1301) - ("ETHIOPIC SYLLABLE JI" #x1302) - ("ETHIOPIC SYLLABLE JAA" #x1303) - ("ETHIOPIC SYLLABLE JEE" #x1304) - ("ETHIOPIC SYLLABLE JE" #x1305) - ("ETHIOPIC SYLLABLE JO" #x1306) - ("ETHIOPIC SYLLABLE JWA" #x1307) - ("ETHIOPIC SYLLABLE GA" #x1308) - ("ETHIOPIC SYLLABLE GU" #x1309) - ("ETHIOPIC SYLLABLE GI" #x130A) - ("ETHIOPIC SYLLABLE GAA" #x130B) - ("ETHIOPIC SYLLABLE GEE" #x130C) - ("ETHIOPIC SYLLABLE GE" #x130D) - ("ETHIOPIC SYLLABLE GO" #x130E) - ("ETHIOPIC SYLLABLE GWA" #x1310) - ("ETHIOPIC SYLLABLE GWI" #x1312) - ("ETHIOPIC SYLLABLE GWAA" #x1313) - ("ETHIOPIC SYLLABLE GWEE" #x1314) - ("ETHIOPIC SYLLABLE GWE" #x1315) - ("ETHIOPIC SYLLABLE GGA" #x1318) - ("ETHIOPIC SYLLABLE GGU" #x1319) - ("ETHIOPIC SYLLABLE GGI" #x131A) - ("ETHIOPIC SYLLABLE GGAA" #x131B) - ("ETHIOPIC SYLLABLE GGEE" #x131C) - ("ETHIOPIC SYLLABLE GGE" #x131D) - ("ETHIOPIC SYLLABLE GGO" #x131E) - ("ETHIOPIC SYLLABLE THA" #x1320) - ("ETHIOPIC SYLLABLE THU" #x1321) - ("ETHIOPIC SYLLABLE THI" #x1322) - ("ETHIOPIC SYLLABLE THAA" #x1323) - ("ETHIOPIC SYLLABLE THEE" #x1324) - ("ETHIOPIC SYLLABLE THE" #x1325) - ("ETHIOPIC SYLLABLE THO" #x1326) - ("ETHIOPIC SYLLABLE THWA" #x1327) - ("ETHIOPIC SYLLABLE CHA" #x1328) - ("ETHIOPIC SYLLABLE CHU" #x1329) - ("ETHIOPIC SYLLABLE CHI" #x132A) - ("ETHIOPIC SYLLABLE CHAA" #x132B) - ("ETHIOPIC SYLLABLE CHEE" #x132C) - ("ETHIOPIC SYLLABLE CHE" #x132D) - ("ETHIOPIC SYLLABLE CHO" #x132E) - ("ETHIOPIC SYLLABLE CHWA" #x132F) - ("ETHIOPIC SYLLABLE PHA" #x1330) - ("ETHIOPIC SYLLABLE PHU" #x1331) - ("ETHIOPIC SYLLABLE PHI" #x1332) - ("ETHIOPIC SYLLABLE PHAA" #x1333) - ("ETHIOPIC SYLLABLE PHEE" #x1334) - ("ETHIOPIC SYLLABLE PHE" #x1335) - ("ETHIOPIC SYLLABLE PHO" #x1336) - ("ETHIOPIC SYLLABLE PHWA" #x1337) - ("ETHIOPIC SYLLABLE TSA" #x1338) - ("ETHIOPIC SYLLABLE TSU" #x1339) - ("ETHIOPIC SYLLABLE TSI" #x133A) - ("ETHIOPIC SYLLABLE TSAA" #x133B) - ("ETHIOPIC SYLLABLE TSEE" #x133C) - ("ETHIOPIC SYLLABLE TSE" #x133D) - ("ETHIOPIC SYLLABLE TSO" #x133E) - ("ETHIOPIC SYLLABLE TSWA" #x133F) - ("ETHIOPIC SYLLABLE TZA" #x1340) - ("ETHIOPIC SYLLABLE TZU" #x1341) - ("ETHIOPIC SYLLABLE TZI" #x1342) - ("ETHIOPIC SYLLABLE TZAA" #x1343) - ("ETHIOPIC SYLLABLE TZEE" #x1344) - ("ETHIOPIC SYLLABLE TZE" #x1345) - ("ETHIOPIC SYLLABLE TZO" #x1346) - ("ETHIOPIC SYLLABLE FA" #x1348) - ("ETHIOPIC SYLLABLE FU" #x1349) - ("ETHIOPIC SYLLABLE FI" #x134A) - ("ETHIOPIC SYLLABLE FAA" #x134B) - ("ETHIOPIC SYLLABLE FEE" #x134C) - ("ETHIOPIC SYLLABLE FE" #x134D) - ("ETHIOPIC SYLLABLE FO" #x134E) - ("ETHIOPIC SYLLABLE FWA" #x134F) - ("ETHIOPIC SYLLABLE PA" #x1350) - ("ETHIOPIC SYLLABLE PU" #x1351) - ("ETHIOPIC SYLLABLE PI" #x1352) - ("ETHIOPIC SYLLABLE PAA" #x1353) - ("ETHIOPIC SYLLABLE PEE" #x1354) - ("ETHIOPIC SYLLABLE PE" #x1355) - ("ETHIOPIC SYLLABLE PO" #x1356) - ("ETHIOPIC SYLLABLE PWA" #x1357) - ("ETHIOPIC SYLLABLE RYA" #x1358) - ("ETHIOPIC SYLLABLE MYA" #x1359) - ("ETHIOPIC SYLLABLE FYA" #x135A) - ("ETHIOPIC WORDSPACE" #x1361) - ("ETHIOPIC FULL STOP" #x1362) - ("ETHIOPIC COMMA" #x1363) - ("ETHIOPIC SEMICOLON" #x1364) - ("ETHIOPIC COLON" #x1365) - ("ETHIOPIC PREFACE COLON" #x1366) - ("ETHIOPIC QUESTION MARK" #x1367) - ("ETHIOPIC PARAGRAPH SEPARATOR" #x1368) - ("ETHIOPIC DIGIT ONE" #x1369) - ("ETHIOPIC DIGIT TWO" #x136A) - ("ETHIOPIC DIGIT THREE" #x136B) - ("ETHIOPIC DIGIT FOUR" #x136C) - ("ETHIOPIC DIGIT FIVE" #x136D) - ("ETHIOPIC DIGIT SIX" #x136E) - ("ETHIOPIC DIGIT SEVEN" #x136F) - ("ETHIOPIC DIGIT EIGHT" #x1370) - ("ETHIOPIC DIGIT NINE" #x1371) - ("ETHIOPIC NUMBER TEN" #x1372) - ("ETHIOPIC NUMBER TWENTY" #x1373) - ("ETHIOPIC NUMBER THIRTY" #x1374) - ("ETHIOPIC NUMBER FORTY" #x1375) - ("ETHIOPIC NUMBER FIFTY" #x1376) - ("ETHIOPIC NUMBER SIXTY" #x1377) - ("ETHIOPIC NUMBER SEVENTY" #x1378) - ("ETHIOPIC NUMBER EIGHTY" #x1379) - ("ETHIOPIC NUMBER NINETY" #x137A) - ("ETHIOPIC NUMBER HUNDRED" #x137B) - ("ETHIOPIC NUMBER TEN THOUSAND" #x137C) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/013A0-013FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/013A0-013FF.el deleted file mode 100644 index 74111fb8b0..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/013A0-013FF.el +++ /dev/null @@ -1,87 +0,0 @@ -(nxml-define-char-name-set 'cherokee - '(("CHEROKEE LETTER A" #x13A0) - ("CHEROKEE LETTER E" #x13A1) - ("CHEROKEE LETTER I" #x13A2) - ("CHEROKEE LETTER O" #x13A3) - ("CHEROKEE LETTER U" #x13A4) - ("CHEROKEE LETTER V" #x13A5) - ("CHEROKEE LETTER GA" #x13A6) - ("CHEROKEE LETTER KA" #x13A7) - ("CHEROKEE LETTER GE" #x13A8) - ("CHEROKEE LETTER GI" #x13A9) - ("CHEROKEE LETTER GO" #x13AA) - ("CHEROKEE LETTER GU" #x13AB) - ("CHEROKEE LETTER GV" #x13AC) - ("CHEROKEE LETTER HA" #x13AD) - ("CHEROKEE LETTER HE" #x13AE) - ("CHEROKEE LETTER HI" #x13AF) - ("CHEROKEE LETTER HO" #x13B0) - ("CHEROKEE LETTER HU" #x13B1) - ("CHEROKEE LETTER HV" #x13B2) - ("CHEROKEE LETTER LA" #x13B3) - ("CHEROKEE LETTER LE" #x13B4) - ("CHEROKEE LETTER LI" #x13B5) - ("CHEROKEE LETTER LO" #x13B6) - ("CHEROKEE LETTER LU" #x13B7) - ("CHEROKEE LETTER LV" #x13B8) - ("CHEROKEE LETTER MA" #x13B9) - ("CHEROKEE LETTER ME" #x13BA) - ("CHEROKEE LETTER MI" #x13BB) - ("CHEROKEE LETTER MO" #x13BC) - ("CHEROKEE LETTER MU" #x13BD) - ("CHEROKEE LETTER NA" #x13BE) - ("CHEROKEE LETTER HNA" #x13BF) - ("CHEROKEE LETTER NAH" #x13C0) - ("CHEROKEE LETTER NE" #x13C1) - ("CHEROKEE LETTER NI" #x13C2) - ("CHEROKEE LETTER NO" #x13C3) - ("CHEROKEE LETTER NU" #x13C4) - ("CHEROKEE LETTER NV" #x13C5) - ("CHEROKEE LETTER QUA" #x13C6) - ("CHEROKEE LETTER QUE" #x13C7) - ("CHEROKEE LETTER QUI" #x13C8) - ("CHEROKEE LETTER QUO" #x13C9) - ("CHEROKEE LETTER QUU" #x13CA) - ("CHEROKEE LETTER QUV" #x13CB) - ("CHEROKEE LETTER SA" #x13CC) - ("CHEROKEE LETTER S" #x13CD) - ("CHEROKEE LETTER SE" #x13CE) - ("CHEROKEE LETTER SI" #x13CF) - ("CHEROKEE LETTER SO" #x13D0) - ("CHEROKEE LETTER SU" #x13D1) - ("CHEROKEE LETTER SV" #x13D2) - ("CHEROKEE LETTER DA" #x13D3) - ("CHEROKEE LETTER TA" #x13D4) - ("CHEROKEE LETTER DE" #x13D5) - ("CHEROKEE LETTER TE" #x13D6) - ("CHEROKEE LETTER DI" #x13D7) - ("CHEROKEE LETTER TI" #x13D8) - ("CHEROKEE LETTER DO" #x13D9) - ("CHEROKEE LETTER DU" #x13DA) - ("CHEROKEE LETTER DV" #x13DB) - ("CHEROKEE LETTER DLA" #x13DC) - ("CHEROKEE LETTER TLA" #x13DD) - ("CHEROKEE LETTER TLE" #x13DE) - ("CHEROKEE LETTER TLI" #x13DF) - ("CHEROKEE LETTER TLO" #x13E0) - ("CHEROKEE LETTER TLU" #x13E1) - ("CHEROKEE LETTER TLV" #x13E2) - ("CHEROKEE LETTER TSA" #x13E3) - ("CHEROKEE LETTER TSE" #x13E4) - ("CHEROKEE LETTER TSI" #x13E5) - ("CHEROKEE LETTER TSO" #x13E6) - ("CHEROKEE LETTER TSU" #x13E7) - ("CHEROKEE LETTER TSV" #x13E8) - ("CHEROKEE LETTER WA" #x13E9) - ("CHEROKEE LETTER WE" #x13EA) - ("CHEROKEE LETTER WI" #x13EB) - ("CHEROKEE LETTER WO" #x13EC) - ("CHEROKEE LETTER WU" #x13ED) - ("CHEROKEE LETTER WV" #x13EE) - ("CHEROKEE LETTER YA" #x13EF) - ("CHEROKEE LETTER YE" #x13F0) - ("CHEROKEE LETTER YI" #x13F1) - ("CHEROKEE LETTER YO" #x13F2) - ("CHEROKEE LETTER YU" #x13F3) - ("CHEROKEE LETTER YV" #x13F4) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01400-0167F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01400-0167F.el deleted file mode 100644 index 644b2552d0..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01400-0167F.el +++ /dev/null @@ -1,632 +0,0 @@ -(nxml-define-char-name-set 'unified-canadian-aboriginal-syllabics - '(("CANADIAN SYLLABICS E" #x1401) - ("CANADIAN SYLLABICS AAI" #x1402) - ("CANADIAN SYLLABICS I" #x1403) - ("CANADIAN SYLLABICS II" #x1404) - ("CANADIAN SYLLABICS O" #x1405) - ("CANADIAN SYLLABICS OO" #x1406) - ("CANADIAN SYLLABICS Y-CREE OO" #x1407) - ("CANADIAN SYLLABICS CARRIER EE" #x1408) - ("CANADIAN SYLLABICS CARRIER I" #x1409) - ("CANADIAN SYLLABICS A" #x140A) - ("CANADIAN SYLLABICS AA" #x140B) - ("CANADIAN SYLLABICS WE" #x140C) - ("CANADIAN SYLLABICS WEST-CREE WE" #x140D) - ("CANADIAN SYLLABICS WI" #x140E) - ("CANADIAN SYLLABICS WEST-CREE WI" #x140F) - ("CANADIAN SYLLABICS WII" #x1410) - ("CANADIAN SYLLABICS WEST-CREE WII" #x1411) - ("CANADIAN SYLLABICS WO" #x1412) - ("CANADIAN SYLLABICS WEST-CREE WO" #x1413) - ("CANADIAN SYLLABICS WOO" #x1414) - ("CANADIAN SYLLABICS WEST-CREE WOO" #x1415) - ("CANADIAN SYLLABICS NASKAPI WOO" #x1416) - ("CANADIAN SYLLABICS WA" #x1417) - ("CANADIAN SYLLABICS WEST-CREE WA" #x1418) - ("CANADIAN SYLLABICS WAA" #x1419) - ("CANADIAN SYLLABICS WEST-CREE WAA" #x141A) - ("CANADIAN SYLLABICS NASKAPI WAA" #x141B) - ("CANADIAN SYLLABICS AI" #x141C) - ("CANADIAN SYLLABICS Y-CREE W" #x141D) - ("CANADIAN SYLLABICS GLOTTAL STOP" #x141E) - ("CANADIAN SYLLABICS FINAL ACUTE" #x141F) - ("CANADIAN SYLLABICS FINAL GRAVE" #x1420) - ("CANADIAN SYLLABICS FINAL BOTTOM HALF RING" #x1421) - ("CANADIAN SYLLABICS FINAL TOP HALF RING" #x1422) - ("CANADIAN SYLLABICS FINAL RIGHT HALF RING" #x1423) - ("CANADIAN SYLLABICS FINAL RING" #x1424) - ("CANADIAN SYLLABICS FINAL DOUBLE ACUTE" #x1425) - ("CANADIAN SYLLABICS FINAL DOUBLE SHORT VERTICAL STROKES" #x1426) - ("CANADIAN SYLLABICS FINAL MIDDLE DOT" #x1427) - ("CANADIAN SYLLABICS FINAL SHORT HORIZONTAL STROKE" #x1428) - ("CANADIAN SYLLABICS FINAL PLUS" #x1429) - ("CANADIAN SYLLABICS FINAL DOWN TACK" #x142A) - ("CANADIAN SYLLABICS EN" #x142B) - ("CANADIAN SYLLABICS IN" #x142C) - ("CANADIAN SYLLABICS ON" #x142D) - ("CANADIAN SYLLABICS AN" #x142E) - ("CANADIAN SYLLABICS PE" #x142F) - ("CANADIAN SYLLABICS PAAI" #x1430) - ("CANADIAN SYLLABICS PI" #x1431) - ("CANADIAN SYLLABICS PII" #x1432) - ("CANADIAN SYLLABICS PO" #x1433) - ("CANADIAN SYLLABICS POO" #x1434) - ("CANADIAN SYLLABICS Y-CREE POO" #x1435) - ("CANADIAN SYLLABICS CARRIER HEE" #x1436) - ("CANADIAN SYLLABICS CARRIER HI" #x1437) - ("CANADIAN SYLLABICS PA" #x1438) - ("CANADIAN SYLLABICS PAA" #x1439) - ("CANADIAN SYLLABICS PWE" #x143A) - ("CANADIAN SYLLABICS WEST-CREE PWE" #x143B) - ("CANADIAN SYLLABICS PWI" #x143C) - ("CANADIAN SYLLABICS WEST-CREE PWI" #x143D) - ("CANADIAN SYLLABICS PWII" #x143E) - ("CANADIAN SYLLABICS WEST-CREE PWII" #x143F) - ("CANADIAN SYLLABICS PWO" #x1440) - ("CANADIAN SYLLABICS WEST-CREE PWO" #x1441) - ("CANADIAN SYLLABICS PWOO" #x1442) - ("CANADIAN SYLLABICS WEST-CREE PWOO" #x1443) - ("CANADIAN SYLLABICS PWA" #x1444) - ("CANADIAN SYLLABICS WEST-CREE PWA" #x1445) - ("CANADIAN SYLLABICS PWAA" #x1446) - ("CANADIAN SYLLABICS WEST-CREE PWAA" #x1447) - ("CANADIAN SYLLABICS Y-CREE PWAA" #x1448) - ("CANADIAN SYLLABICS P" #x1449) - ("CANADIAN SYLLABICS WEST-CREE P" #x144A) - ("CANADIAN SYLLABICS CARRIER H" #x144B) - ("CANADIAN SYLLABICS TE" #x144C) - ("CANADIAN SYLLABICS TAAI" #x144D) - ("CANADIAN SYLLABICS TI" #x144E) - ("CANADIAN SYLLABICS TII" #x144F) - ("CANADIAN SYLLABICS TO" #x1450) - ("CANADIAN SYLLABICS TOO" #x1451) - ("CANADIAN SYLLABICS Y-CREE TOO" #x1452) - ("CANADIAN SYLLABICS CARRIER DEE" #x1453) - ("CANADIAN SYLLABICS CARRIER DI" #x1454) - ("CANADIAN SYLLABICS TA" #x1455) - ("CANADIAN SYLLABICS TAA" #x1456) - ("CANADIAN SYLLABICS TWE" #x1457) - ("CANADIAN SYLLABICS WEST-CREE TWE" #x1458) - ("CANADIAN SYLLABICS TWI" #x1459) - ("CANADIAN SYLLABICS WEST-CREE TWI" #x145A) - ("CANADIAN SYLLABICS TWII" #x145B) - ("CANADIAN SYLLABICS WEST-CREE TWII" #x145C) - ("CANADIAN SYLLABICS TWO" #x145D) - ("CANADIAN SYLLABICS WEST-CREE TWO" #x145E) - ("CANADIAN SYLLABICS TWOO" #x145F) - ("CANADIAN SYLLABICS WEST-CREE TWOO" #x1460) - ("CANADIAN SYLLABICS TWA" #x1461) - ("CANADIAN SYLLABICS WEST-CREE TWA" #x1462) - ("CANADIAN SYLLABICS TWAA" #x1463) - ("CANADIAN SYLLABICS WEST-CREE TWAA" #x1464) - ("CANADIAN SYLLABICS NASKAPI TWAA" #x1465) - ("CANADIAN SYLLABICS T" #x1466) - ("CANADIAN SYLLABICS TTE" #x1467) - ("CANADIAN SYLLABICS TTI" #x1468) - ("CANADIAN SYLLABICS TTO" #x1469) - ("CANADIAN SYLLABICS TTA" #x146A) - ("CANADIAN SYLLABICS KE" #x146B) - ("CANADIAN SYLLABICS KAAI" #x146C) - ("CANADIAN SYLLABICS KI" #x146D) - ("CANADIAN SYLLABICS KII" #x146E) - ("CANADIAN SYLLABICS KO" #x146F) - ("CANADIAN SYLLABICS KOO" #x1470) - ("CANADIAN SYLLABICS Y-CREE KOO" #x1471) - ("CANADIAN SYLLABICS KA" #x1472) - ("CANADIAN SYLLABICS KAA" #x1473) - ("CANADIAN SYLLABICS KWE" #x1474) - ("CANADIAN SYLLABICS WEST-CREE KWE" #x1475) - ("CANADIAN SYLLABICS KWI" #x1476) - ("CANADIAN SYLLABICS WEST-CREE KWI" #x1477) - ("CANADIAN SYLLABICS KWII" #x1478) - ("CANADIAN SYLLABICS WEST-CREE KWII" #x1479) - ("CANADIAN SYLLABICS KWO" #x147A) - ("CANADIAN SYLLABICS WEST-CREE KWO" #x147B) - ("CANADIAN SYLLABICS KWOO" #x147C) - ("CANADIAN SYLLABICS WEST-CREE KWOO" #x147D) - ("CANADIAN SYLLABICS KWA" #x147E) - ("CANADIAN SYLLABICS WEST-CREE KWA" #x147F) - ("CANADIAN SYLLABICS KWAA" #x1480) - ("CANADIAN SYLLABICS WEST-CREE KWAA" #x1481) - ("CANADIAN SYLLABICS NASKAPI KWAA" #x1482) - ("CANADIAN SYLLABICS K" #x1483) - ("CANADIAN SYLLABICS KW" #x1484) - ("CANADIAN SYLLABICS SOUTH-SLAVEY KEH" #x1485) - ("CANADIAN SYLLABICS SOUTH-SLAVEY KIH" #x1486) - ("CANADIAN SYLLABICS SOUTH-SLAVEY KOH" #x1487) - ("CANADIAN SYLLABICS SOUTH-SLAVEY KAH" #x1488) - ("CANADIAN SYLLABICS CE" #x1489) - ("CANADIAN SYLLABICS CAAI" #x148A) - ("CANADIAN SYLLABICS CI" #x148B) - ("CANADIAN SYLLABICS CII" #x148C) - ("CANADIAN SYLLABICS CO" #x148D) - ("CANADIAN SYLLABICS COO" #x148E) - ("CANADIAN SYLLABICS Y-CREE COO" #x148F) - ("CANADIAN SYLLABICS CA" #x1490) - ("CANADIAN SYLLABICS CAA" #x1491) - ("CANADIAN SYLLABICS CWE" #x1492) - ("CANADIAN SYLLABICS WEST-CREE CWE" #x1493) - ("CANADIAN SYLLABICS CWI" #x1494) - ("CANADIAN SYLLABICS WEST-CREE CWI" #x1495) - ("CANADIAN SYLLABICS CWII" #x1496) - ("CANADIAN SYLLABICS WEST-CREE CWII" #x1497) - ("CANADIAN SYLLABICS CWO" #x1498) - ("CANADIAN SYLLABICS WEST-CREE CWO" #x1499) - ("CANADIAN SYLLABICS CWOO" #x149A) - ("CANADIAN SYLLABICS WEST-CREE CWOO" #x149B) - ("CANADIAN SYLLABICS CWA" #x149C) - ("CANADIAN SYLLABICS WEST-CREE CWA" #x149D) - ("CANADIAN SYLLABICS CWAA" #x149E) - ("CANADIAN SYLLABICS WEST-CREE CWAA" #x149F) - ("CANADIAN SYLLABICS NASKAPI CWAA" #x14A0) - ("CANADIAN SYLLABICS C" #x14A1) - ("CANADIAN SYLLABICS SAYISI TH" #x14A2) - ("CANADIAN SYLLABICS ME" #x14A3) - ("CANADIAN SYLLABICS MAAI" #x14A4) - ("CANADIAN SYLLABICS MI" #x14A5) - ("CANADIAN SYLLABICS MII" #x14A6) - ("CANADIAN SYLLABICS MO" #x14A7) - ("CANADIAN SYLLABICS MOO" #x14A8) - ("CANADIAN SYLLABICS Y-CREE MOO" #x14A9) - ("CANADIAN SYLLABICS MA" #x14AA) - ("CANADIAN SYLLABICS MAA" #x14AB) - ("CANADIAN SYLLABICS MWE" #x14AC) - ("CANADIAN SYLLABICS WEST-CREE MWE" #x14AD) - ("CANADIAN SYLLABICS MWI" #x14AE) - ("CANADIAN SYLLABICS WEST-CREE MWI" #x14AF) - ("CANADIAN SYLLABICS MWII" #x14B0) - ("CANADIAN SYLLABICS WEST-CREE MWII" #x14B1) - ("CANADIAN SYLLABICS MWO" #x14B2) - ("CANADIAN SYLLABICS WEST-CREE MWO" #x14B3) - ("CANADIAN SYLLABICS MWOO" #x14B4) - ("CANADIAN SYLLABICS WEST-CREE MWOO" #x14B5) - ("CANADIAN SYLLABICS MWA" #x14B6) - ("CANADIAN SYLLABICS WEST-CREE MWA" #x14B7) - ("CANADIAN SYLLABICS MWAA" #x14B8) - ("CANADIAN SYLLABICS WEST-CREE MWAA" #x14B9) - ("CANADIAN SYLLABICS NASKAPI MWAA" #x14BA) - ("CANADIAN SYLLABICS M" #x14BB) - ("CANADIAN SYLLABICS WEST-CREE M" #x14BC) - ("CANADIAN SYLLABICS MH" #x14BD) - ("CANADIAN SYLLABICS ATHAPASCAN M" #x14BE) - ("CANADIAN SYLLABICS SAYISI M" #x14BF) - ("CANADIAN SYLLABICS NE" #x14C0) - ("CANADIAN SYLLABICS NAAI" #x14C1) - ("CANADIAN SYLLABICS NI" #x14C2) - ("CANADIAN SYLLABICS NII" #x14C3) - ("CANADIAN SYLLABICS NO" #x14C4) - ("CANADIAN SYLLABICS NOO" #x14C5) - ("CANADIAN SYLLABICS Y-CREE NOO" #x14C6) - ("CANADIAN SYLLABICS NA" #x14C7) - ("CANADIAN SYLLABICS NAA" #x14C8) - ("CANADIAN SYLLABICS NWE" #x14C9) - ("CANADIAN SYLLABICS WEST-CREE NWE" #x14CA) - ("CANADIAN SYLLABICS NWA" #x14CB) - ("CANADIAN SYLLABICS WEST-CREE NWA" #x14CC) - ("CANADIAN SYLLABICS NWAA" #x14CD) - ("CANADIAN SYLLABICS WEST-CREE NWAA" #x14CE) - ("CANADIAN SYLLABICS NASKAPI NWAA" #x14CF) - ("CANADIAN SYLLABICS N" #x14D0) - ("CANADIAN SYLLABICS CARRIER NG" #x14D1) - ("CANADIAN SYLLABICS NH" #x14D2) - ("CANADIAN SYLLABICS LE" #x14D3) - ("CANADIAN SYLLABICS LAAI" #x14D4) - ("CANADIAN SYLLABICS LI" #x14D5) - ("CANADIAN SYLLABICS LII" #x14D6) - ("CANADIAN SYLLABICS LO" #x14D7) - ("CANADIAN SYLLABICS LOO" #x14D8) - ("CANADIAN SYLLABICS Y-CREE LOO" #x14D9) - ("CANADIAN SYLLABICS LA" #x14DA) - ("CANADIAN SYLLABICS LAA" #x14DB) - ("CANADIAN SYLLABICS LWE" #x14DC) - ("CANADIAN SYLLABICS WEST-CREE LWE" #x14DD) - ("CANADIAN SYLLABICS LWI" #x14DE) - ("CANADIAN SYLLABICS WEST-CREE LWI" #x14DF) - ("CANADIAN SYLLABICS LWII" #x14E0) - ("CANADIAN SYLLABICS WEST-CREE LWII" #x14E1) - ("CANADIAN SYLLABICS LWO" #x14E2) - ("CANADIAN SYLLABICS WEST-CREE LWO" #x14E3) - ("CANADIAN SYLLABICS LWOO" #x14E4) - ("CANADIAN SYLLABICS WEST-CREE LWOO" #x14E5) - ("CANADIAN SYLLABICS LWA" #x14E6) - ("CANADIAN SYLLABICS WEST-CREE LWA" #x14E7) - ("CANADIAN SYLLABICS LWAA" #x14E8) - ("CANADIAN SYLLABICS WEST-CREE LWAA" #x14E9) - ("CANADIAN SYLLABICS L" #x14EA) - ("CANADIAN SYLLABICS WEST-CREE L" #x14EB) - ("CANADIAN SYLLABICS MEDIAL L" #x14EC) - ("CANADIAN SYLLABICS SE" #x14ED) - ("CANADIAN SYLLABICS SAAI" #x14EE) - ("CANADIAN SYLLABICS SI" #x14EF) - ("CANADIAN SYLLABICS SII" #x14F0) - ("CANADIAN SYLLABICS SO" #x14F1) - ("CANADIAN SYLLABICS SOO" #x14F2) - ("CANADIAN SYLLABICS Y-CREE SOO" #x14F3) - ("CANADIAN SYLLABICS SA" #x14F4) - ("CANADIAN SYLLABICS SAA" #x14F5) - ("CANADIAN SYLLABICS SWE" #x14F6) - ("CANADIAN SYLLABICS WEST-CREE SWE" #x14F7) - ("CANADIAN SYLLABICS SWI" #x14F8) - ("CANADIAN SYLLABICS WEST-CREE SWI" #x14F9) - ("CANADIAN SYLLABICS SWII" #x14FA) - ("CANADIAN SYLLABICS WEST-CREE SWII" #x14FB) - ("CANADIAN SYLLABICS SWO" #x14FC) - ("CANADIAN SYLLABICS WEST-CREE SWO" #x14FD) - ("CANADIAN SYLLABICS SWOO" #x14FE) - ("CANADIAN SYLLABICS WEST-CREE SWOO" #x14FF) - ("CANADIAN SYLLABICS SWA" #x1500) - ("CANADIAN SYLLABICS WEST-CREE SWA" #x1501) - ("CANADIAN SYLLABICS SWAA" #x1502) - ("CANADIAN SYLLABICS WEST-CREE SWAA" #x1503) - ("CANADIAN SYLLABICS NASKAPI SWAA" #x1504) - ("CANADIAN SYLLABICS S" #x1505) - ("CANADIAN SYLLABICS ATHAPASCAN S" #x1506) - ("CANADIAN SYLLABICS SW" #x1507) - ("CANADIAN SYLLABICS BLACKFOOT S" #x1508) - ("CANADIAN SYLLABICS MOOSE-CREE SK" #x1509) - ("CANADIAN SYLLABICS NASKAPI SKW" #x150A) - ("CANADIAN SYLLABICS NASKAPI S-W" #x150B) - ("CANADIAN SYLLABICS NASKAPI SPWA" #x150C) - ("CANADIAN SYLLABICS NASKAPI STWA" #x150D) - ("CANADIAN SYLLABICS NASKAPI SKWA" #x150E) - ("CANADIAN SYLLABICS NASKAPI SCWA" #x150F) - ("CANADIAN SYLLABICS SHE" #x1510) - ("CANADIAN SYLLABICS SHI" #x1511) - ("CANADIAN SYLLABICS SHII" #x1512) - ("CANADIAN SYLLABICS SHO" #x1513) - ("CANADIAN SYLLABICS SHOO" #x1514) - ("CANADIAN SYLLABICS SHA" #x1515) - ("CANADIAN SYLLABICS SHAA" #x1516) - ("CANADIAN SYLLABICS SHWE" #x1517) - ("CANADIAN SYLLABICS WEST-CREE SHWE" #x1518) - ("CANADIAN SYLLABICS SHWI" #x1519) - ("CANADIAN SYLLABICS WEST-CREE SHWI" #x151A) - ("CANADIAN SYLLABICS SHWII" #x151B) - ("CANADIAN SYLLABICS WEST-CREE SHWII" #x151C) - ("CANADIAN SYLLABICS SHWO" #x151D) - ("CANADIAN SYLLABICS WEST-CREE SHWO" #x151E) - ("CANADIAN SYLLABICS SHWOO" #x151F) - ("CANADIAN SYLLABICS WEST-CREE SHWOO" #x1520) - ("CANADIAN SYLLABICS SHWA" #x1521) - ("CANADIAN SYLLABICS WEST-CREE SHWA" #x1522) - ("CANADIAN SYLLABICS SHWAA" #x1523) - ("CANADIAN SYLLABICS WEST-CREE SHWAA" #x1524) - ("CANADIAN SYLLABICS SH" #x1525) - ("CANADIAN SYLLABICS YE" #x1526) - ("CANADIAN SYLLABICS YAAI" #x1527) - ("CANADIAN SYLLABICS YI" #x1528) - ("CANADIAN SYLLABICS YII" #x1529) - ("CANADIAN SYLLABICS YO" #x152A) - ("CANADIAN SYLLABICS YOO" #x152B) - ("CANADIAN SYLLABICS Y-CREE YOO" #x152C) - ("CANADIAN SYLLABICS YA" #x152D) - ("CANADIAN SYLLABICS YAA" #x152E) - ("CANADIAN SYLLABICS YWE" #x152F) - ("CANADIAN SYLLABICS WEST-CREE YWE" #x1530) - ("CANADIAN SYLLABICS YWI" #x1531) - ("CANADIAN SYLLABICS WEST-CREE YWI" #x1532) - ("CANADIAN SYLLABICS YWII" #x1533) - ("CANADIAN SYLLABICS WEST-CREE YWII" #x1534) - ("CANADIAN SYLLABICS YWO" #x1535) - ("CANADIAN SYLLABICS WEST-CREE YWO" #x1536) - ("CANADIAN SYLLABICS YWOO" #x1537) - ("CANADIAN SYLLABICS WEST-CREE YWOO" #x1538) - ("CANADIAN SYLLABICS YWA" #x1539) - ("CANADIAN SYLLABICS WEST-CREE YWA" #x153A) - ("CANADIAN SYLLABICS YWAA" #x153B) - ("CANADIAN SYLLABICS WEST-CREE YWAA" #x153C) - ("CANADIAN SYLLABICS NASKAPI YWAA" #x153D) - ("CANADIAN SYLLABICS Y" #x153E) - ("CANADIAN SYLLABICS BIBLE-CREE Y" #x153F) - ("CANADIAN SYLLABICS WEST-CREE Y" #x1540) - ("CANADIAN SYLLABICS SAYISI YI" #x1541) - ("CANADIAN SYLLABICS RE" #x1542) - ("CANADIAN SYLLABICS R-CREE RE" #x1543) - ("CANADIAN SYLLABICS WEST-CREE LE" #x1544) - ("CANADIAN SYLLABICS RAAI" #x1545) - ("CANADIAN SYLLABICS RI" #x1546) - ("CANADIAN SYLLABICS RII" #x1547) - ("CANADIAN SYLLABICS RO" #x1548) - ("CANADIAN SYLLABICS ROO" #x1549) - ("CANADIAN SYLLABICS WEST-CREE LO" #x154A) - ("CANADIAN SYLLABICS RA" #x154B) - ("CANADIAN SYLLABICS RAA" #x154C) - ("CANADIAN SYLLABICS WEST-CREE LA" #x154D) - ("CANADIAN SYLLABICS RWAA" #x154E) - ("CANADIAN SYLLABICS WEST-CREE RWAA" #x154F) - ("CANADIAN SYLLABICS R" #x1550) - ("CANADIAN SYLLABICS WEST-CREE R" #x1551) - ("CANADIAN SYLLABICS MEDIAL R" #x1552) - ("CANADIAN SYLLABICS FE" #x1553) - ("CANADIAN SYLLABICS FAAI" #x1554) - ("CANADIAN SYLLABICS FI" #x1555) - ("CANADIAN SYLLABICS FII" #x1556) - ("CANADIAN SYLLABICS FO" #x1557) - ("CANADIAN SYLLABICS FOO" #x1558) - ("CANADIAN SYLLABICS FA" #x1559) - ("CANADIAN SYLLABICS FAA" #x155A) - ("CANADIAN SYLLABICS FWAA" #x155B) - ("CANADIAN SYLLABICS WEST-CREE FWAA" #x155C) - ("CANADIAN SYLLABICS F" #x155D) - ("CANADIAN SYLLABICS THE" #x155E) - ("CANADIAN SYLLABICS N-CREE THE" #x155F) - ("CANADIAN SYLLABICS THI" #x1560) - ("CANADIAN SYLLABICS N-CREE THI" #x1561) - ("CANADIAN SYLLABICS THII" #x1562) - ("CANADIAN SYLLABICS N-CREE THII" #x1563) - ("CANADIAN SYLLABICS THO" #x1564) - ("CANADIAN SYLLABICS THOO" #x1565) - ("CANADIAN SYLLABICS THA" #x1566) - ("CANADIAN SYLLABICS THAA" #x1567) - ("CANADIAN SYLLABICS THWAA" #x1568) - ("CANADIAN SYLLABICS WEST-CREE THWAA" #x1569) - ("CANADIAN SYLLABICS TH" #x156A) - ("CANADIAN SYLLABICS TTHE" #x156B) - ("CANADIAN SYLLABICS TTHI" #x156C) - ("CANADIAN SYLLABICS TTHO" #x156D) - ("CANADIAN SYLLABICS TTHA" #x156E) - ("CANADIAN SYLLABICS TTH" #x156F) - ("CANADIAN SYLLABICS TYE" #x1570) - ("CANADIAN SYLLABICS TYI" #x1571) - ("CANADIAN SYLLABICS TYO" #x1572) - ("CANADIAN SYLLABICS TYA" #x1573) - ("CANADIAN SYLLABICS NUNAVIK HE" #x1574) - ("CANADIAN SYLLABICS NUNAVIK HI" #x1575) - ("CANADIAN SYLLABICS NUNAVIK HII" #x1576) - ("CANADIAN SYLLABICS NUNAVIK HO" #x1577) - ("CANADIAN SYLLABICS NUNAVIK HOO" #x1578) - ("CANADIAN SYLLABICS NUNAVIK HA" #x1579) - ("CANADIAN SYLLABICS NUNAVIK HAA" #x157A) - ("CANADIAN SYLLABICS NUNAVIK H" #x157B) - ("CANADIAN SYLLABICS NUNAVUT H" #x157C) - ("CANADIAN SYLLABICS HK" #x157D) - ("CANADIAN SYLLABICS QAAI" #x157E) - ("CANADIAN SYLLABICS QI" #x157F) - ("CANADIAN SYLLABICS QII" #x1580) - ("CANADIAN SYLLABICS QO" #x1581) - ("CANADIAN SYLLABICS QOO" #x1582) - ("CANADIAN SYLLABICS QA" #x1583) - ("CANADIAN SYLLABICS QAA" #x1584) - ("CANADIAN SYLLABICS Q" #x1585) - ("CANADIAN SYLLABICS TLHE" #x1586) - ("CANADIAN SYLLABICS TLHI" #x1587) - ("CANADIAN SYLLABICS TLHO" #x1588) - ("CANADIAN SYLLABICS TLHA" #x1589) - ("CANADIAN SYLLABICS WEST-CREE RE" #x158A) - ("CANADIAN SYLLABICS WEST-CREE RI" #x158B) - ("CANADIAN SYLLABICS WEST-CREE RO" #x158C) - ("CANADIAN SYLLABICS WEST-CREE RA" #x158D) - ("CANADIAN SYLLABICS NGAAI" #x158E) - ("CANADIAN SYLLABICS NGI" #x158F) - ("CANADIAN SYLLABICS NGII" #x1590) - ("CANADIAN SYLLABICS NGO" #x1591) - ("CANADIAN SYLLABICS NGOO" #x1592) - ("CANADIAN SYLLABICS NGA" #x1593) - ("CANADIAN SYLLABICS NGAA" #x1594) - ("CANADIAN SYLLABICS NG" #x1595) - ("CANADIAN SYLLABICS NNG" #x1596) - ("CANADIAN SYLLABICS SAYISI SHE" #x1597) - ("CANADIAN SYLLABICS SAYISI SHI" #x1598) - ("CANADIAN SYLLABICS SAYISI SHO" #x1599) - ("CANADIAN SYLLABICS SAYISI SHA" #x159A) - ("CANADIAN SYLLABICS WOODS-CREE THE" #x159B) - ("CANADIAN SYLLABICS WOODS-CREE THI" #x159C) - ("CANADIAN SYLLABICS WOODS-CREE THO" #x159D) - ("CANADIAN SYLLABICS WOODS-CREE THA" #x159E) - ("CANADIAN SYLLABICS WOODS-CREE TH" #x159F) - ("CANADIAN SYLLABICS LHI" #x15A0) - ("CANADIAN SYLLABICS LHII" #x15A1) - ("CANADIAN SYLLABICS LHO" #x15A2) - ("CANADIAN SYLLABICS LHOO" #x15A3) - ("CANADIAN SYLLABICS LHA" #x15A4) - ("CANADIAN SYLLABICS LHAA" #x15A5) - ("CANADIAN SYLLABICS LH" #x15A6) - ("CANADIAN SYLLABICS TH-CREE THE" #x15A7) - ("CANADIAN SYLLABICS TH-CREE THI" #x15A8) - ("CANADIAN SYLLABICS TH-CREE THII" #x15A9) - ("CANADIAN SYLLABICS TH-CREE THO" #x15AA) - ("CANADIAN SYLLABICS TH-CREE THOO" #x15AB) - ("CANADIAN SYLLABICS TH-CREE THA" #x15AC) - ("CANADIAN SYLLABICS TH-CREE THAA" #x15AD) - ("CANADIAN SYLLABICS TH-CREE TH" #x15AE) - ("CANADIAN SYLLABICS AIVILIK B" #x15AF) - ("CANADIAN SYLLABICS BLACKFOOT E" #x15B0) - ("CANADIAN SYLLABICS BLACKFOOT I" #x15B1) - ("CANADIAN SYLLABICS BLACKFOOT O" #x15B2) - ("CANADIAN SYLLABICS BLACKFOOT A" #x15B3) - ("CANADIAN SYLLABICS BLACKFOOT WE" #x15B4) - ("CANADIAN SYLLABICS BLACKFOOT WI" #x15B5) - ("CANADIAN SYLLABICS BLACKFOOT WO" #x15B6) - ("CANADIAN SYLLABICS BLACKFOOT WA" #x15B7) - ("CANADIAN SYLLABICS BLACKFOOT NE" #x15B8) - ("CANADIAN SYLLABICS BLACKFOOT NI" #x15B9) - ("CANADIAN SYLLABICS BLACKFOOT NO" #x15BA) - ("CANADIAN SYLLABICS BLACKFOOT NA" #x15BB) - ("CANADIAN SYLLABICS BLACKFOOT KE" #x15BC) - ("CANADIAN SYLLABICS BLACKFOOT KI" #x15BD) - ("CANADIAN SYLLABICS BLACKFOOT KO" #x15BE) - ("CANADIAN SYLLABICS BLACKFOOT KA" #x15BF) - ("CANADIAN SYLLABICS SAYISI HE" #x15C0) - ("CANADIAN SYLLABICS SAYISI HI" #x15C1) - ("CANADIAN SYLLABICS SAYISI HO" #x15C2) - ("CANADIAN SYLLABICS SAYISI HA" #x15C3) - ("CANADIAN SYLLABICS CARRIER GHU" #x15C4) - ("CANADIAN SYLLABICS CARRIER GHO" #x15C5) - ("CANADIAN SYLLABICS CARRIER GHE" #x15C6) - ("CANADIAN SYLLABICS CARRIER GHEE" #x15C7) - ("CANADIAN SYLLABICS CARRIER GHI" #x15C8) - ("CANADIAN SYLLABICS CARRIER GHA" #x15C9) - ("CANADIAN SYLLABICS CARRIER RU" #x15CA) - ("CANADIAN SYLLABICS CARRIER RO" #x15CB) - ("CANADIAN SYLLABICS CARRIER RE" #x15CC) - ("CANADIAN SYLLABICS CARRIER REE" #x15CD) - ("CANADIAN SYLLABICS CARRIER RI" #x15CE) - ("CANADIAN SYLLABICS CARRIER RA" #x15CF) - ("CANADIAN SYLLABICS CARRIER WU" #x15D0) - ("CANADIAN SYLLABICS CARRIER WO" #x15D1) - ("CANADIAN SYLLABICS CARRIER WE" #x15D2) - ("CANADIAN SYLLABICS CARRIER WEE" #x15D3) - ("CANADIAN SYLLABICS CARRIER WI" #x15D4) - ("CANADIAN SYLLABICS CARRIER WA" #x15D5) - ("CANADIAN SYLLABICS CARRIER HWU" #x15D6) - ("CANADIAN SYLLABICS CARRIER HWO" #x15D7) - ("CANADIAN SYLLABICS CARRIER HWE" #x15D8) - ("CANADIAN SYLLABICS CARRIER HWEE" #x15D9) - ("CANADIAN SYLLABICS CARRIER HWI" #x15DA) - ("CANADIAN SYLLABICS CARRIER HWA" #x15DB) - ("CANADIAN SYLLABICS CARRIER THU" #x15DC) - ("CANADIAN SYLLABICS CARRIER THO" #x15DD) - ("CANADIAN SYLLABICS CARRIER THE" #x15DE) - ("CANADIAN SYLLABICS CARRIER THEE" #x15DF) - ("CANADIAN SYLLABICS CARRIER THI" #x15E0) - ("CANADIAN SYLLABICS CARRIER THA" #x15E1) - ("CANADIAN SYLLABICS CARRIER TTU" #x15E2) - ("CANADIAN SYLLABICS CARRIER TTO" #x15E3) - ("CANADIAN SYLLABICS CARRIER TTE" #x15E4) - ("CANADIAN SYLLABICS CARRIER TTEE" #x15E5) - ("CANADIAN SYLLABICS CARRIER TTI" #x15E6) - ("CANADIAN SYLLABICS CARRIER TTA" #x15E7) - ("CANADIAN SYLLABICS CARRIER PU" #x15E8) - ("CANADIAN SYLLABICS CARRIER PO" #x15E9) - ("CANADIAN SYLLABICS CARRIER PE" #x15EA) - ("CANADIAN SYLLABICS CARRIER PEE" #x15EB) - ("CANADIAN SYLLABICS CARRIER PI" #x15EC) - ("CANADIAN SYLLABICS CARRIER PA" #x15ED) - ("CANADIAN SYLLABICS CARRIER P" #x15EE) - ("CANADIAN SYLLABICS CARRIER GU" #x15EF) - ("CANADIAN SYLLABICS CARRIER GO" #x15F0) - ("CANADIAN SYLLABICS CARRIER GE" #x15F1) - ("CANADIAN SYLLABICS CARRIER GEE" #x15F2) - ("CANADIAN SYLLABICS CARRIER GI" #x15F3) - ("CANADIAN SYLLABICS CARRIER GA" #x15F4) - ("CANADIAN SYLLABICS CARRIER KHU" #x15F5) - ("CANADIAN SYLLABICS CARRIER KHO" #x15F6) - ("CANADIAN SYLLABICS CARRIER KHE" #x15F7) - ("CANADIAN SYLLABICS CARRIER KHEE" #x15F8) - ("CANADIAN SYLLABICS CARRIER KHI" #x15F9) - ("CANADIAN SYLLABICS CARRIER KHA" #x15FA) - ("CANADIAN SYLLABICS CARRIER KKU" #x15FB) - ("CANADIAN SYLLABICS CARRIER KKO" #x15FC) - ("CANADIAN SYLLABICS CARRIER KKE" #x15FD) - ("CANADIAN SYLLABICS CARRIER KKEE" #x15FE) - ("CANADIAN SYLLABICS CARRIER KKI" #x15FF) - ("CANADIAN SYLLABICS CARRIER KKA" #x1600) - ("CANADIAN SYLLABICS CARRIER KK" #x1601) - ("CANADIAN SYLLABICS CARRIER NU" #x1602) - ("CANADIAN SYLLABICS CARRIER NO" #x1603) - ("CANADIAN SYLLABICS CARRIER NE" #x1604) - ("CANADIAN SYLLABICS CARRIER NEE" #x1605) - ("CANADIAN SYLLABICS CARRIER NI" #x1606) - ("CANADIAN SYLLABICS CARRIER NA" #x1607) - ("CANADIAN SYLLABICS CARRIER MU" #x1608) - ("CANADIAN SYLLABICS CARRIER MO" #x1609) - ("CANADIAN SYLLABICS CARRIER ME" #x160A) - ("CANADIAN SYLLABICS CARRIER MEE" #x160B) - ("CANADIAN SYLLABICS CARRIER MI" #x160C) - ("CANADIAN SYLLABICS CARRIER MA" #x160D) - ("CANADIAN SYLLABICS CARRIER YU" #x160E) - ("CANADIAN SYLLABICS CARRIER YO" #x160F) - ("CANADIAN SYLLABICS CARRIER YE" #x1610) - ("CANADIAN SYLLABICS CARRIER YEE" #x1611) - ("CANADIAN SYLLABICS CARRIER YI" #x1612) - ("CANADIAN SYLLABICS CARRIER YA" #x1613) - ("CANADIAN SYLLABICS CARRIER JU" #x1614) - ("CANADIAN SYLLABICS SAYISI JU" #x1615) - ("CANADIAN SYLLABICS CARRIER JO" #x1616) - ("CANADIAN SYLLABICS CARRIER JE" #x1617) - ("CANADIAN SYLLABICS CARRIER JEE" #x1618) - ("CANADIAN SYLLABICS CARRIER JI" #x1619) - ("CANADIAN SYLLABICS SAYISI JI" #x161A) - ("CANADIAN SYLLABICS CARRIER JA" #x161B) - ("CANADIAN SYLLABICS CARRIER JJU" #x161C) - ("CANADIAN SYLLABICS CARRIER JJO" #x161D) - ("CANADIAN SYLLABICS CARRIER JJE" #x161E) - ("CANADIAN SYLLABICS CARRIER JJEE" #x161F) - ("CANADIAN SYLLABICS CARRIER JJI" #x1620) - ("CANADIAN SYLLABICS CARRIER JJA" #x1621) - ("CANADIAN SYLLABICS CARRIER LU" #x1622) - ("CANADIAN SYLLABICS CARRIER LO" #x1623) - ("CANADIAN SYLLABICS CARRIER LE" #x1624) - ("CANADIAN SYLLABICS CARRIER LEE" #x1625) - ("CANADIAN SYLLABICS CARRIER LI" #x1626) - ("CANADIAN SYLLABICS CARRIER LA" #x1627) - ("CANADIAN SYLLABICS CARRIER DLU" #x1628) - ("CANADIAN SYLLABICS CARRIER DLO" #x1629) - ("CANADIAN SYLLABICS CARRIER DLE" #x162A) - ("CANADIAN SYLLABICS CARRIER DLEE" #x162B) - ("CANADIAN SYLLABICS CARRIER DLI" #x162C) - ("CANADIAN SYLLABICS CARRIER DLA" #x162D) - ("CANADIAN SYLLABICS CARRIER LHU" #x162E) - ("CANADIAN SYLLABICS CARRIER LHO" #x162F) - ("CANADIAN SYLLABICS CARRIER LHE" #x1630) - ("CANADIAN SYLLABICS CARRIER LHEE" #x1631) - ("CANADIAN SYLLABICS CARRIER LHI" #x1632) - ("CANADIAN SYLLABICS CARRIER LHA" #x1633) - ("CANADIAN SYLLABICS CARRIER TLHU" #x1634) - ("CANADIAN SYLLABICS CARRIER TLHO" #x1635) - ("CANADIAN SYLLABICS CARRIER TLHE" #x1636) - ("CANADIAN SYLLABICS CARRIER TLHEE" #x1637) - ("CANADIAN SYLLABICS CARRIER TLHI" #x1638) - ("CANADIAN SYLLABICS CARRIER TLHA" #x1639) - ("CANADIAN SYLLABICS CARRIER TLU" #x163A) - ("CANADIAN SYLLABICS CARRIER TLO" #x163B) - ("CANADIAN SYLLABICS CARRIER TLE" #x163C) - ("CANADIAN SYLLABICS CARRIER TLEE" #x163D) - ("CANADIAN SYLLABICS CARRIER TLI" #x163E) - ("CANADIAN SYLLABICS CARRIER TLA" #x163F) - ("CANADIAN SYLLABICS CARRIER ZU" #x1640) - ("CANADIAN SYLLABICS CARRIER ZO" #x1641) - ("CANADIAN SYLLABICS CARRIER ZE" #x1642) - ("CANADIAN SYLLABICS CARRIER ZEE" #x1643) - ("CANADIAN SYLLABICS CARRIER ZI" #x1644) - ("CANADIAN SYLLABICS CARRIER ZA" #x1645) - ("CANADIAN SYLLABICS CARRIER Z" #x1646) - ("CANADIAN SYLLABICS CARRIER INITIAL Z" #x1647) - ("CANADIAN SYLLABICS CARRIER DZU" #x1648) - ("CANADIAN SYLLABICS CARRIER DZO" #x1649) - ("CANADIAN SYLLABICS CARRIER DZE" #x164A) - ("CANADIAN SYLLABICS CARRIER DZEE" #x164B) - ("CANADIAN SYLLABICS CARRIER DZI" #x164C) - ("CANADIAN SYLLABICS CARRIER DZA" #x164D) - ("CANADIAN SYLLABICS CARRIER SU" #x164E) - ("CANADIAN SYLLABICS CARRIER SO" #x164F) - ("CANADIAN SYLLABICS CARRIER SE" #x1650) - ("CANADIAN SYLLABICS CARRIER SEE" #x1651) - ("CANADIAN SYLLABICS CARRIER SI" #x1652) - ("CANADIAN SYLLABICS CARRIER SA" #x1653) - ("CANADIAN SYLLABICS CARRIER SHU" #x1654) - ("CANADIAN SYLLABICS CARRIER SHO" #x1655) - ("CANADIAN SYLLABICS CARRIER SHE" #x1656) - ("CANADIAN SYLLABICS CARRIER SHEE" #x1657) - ("CANADIAN SYLLABICS CARRIER SHI" #x1658) - ("CANADIAN SYLLABICS CARRIER SHA" #x1659) - ("CANADIAN SYLLABICS CARRIER SH" #x165A) - ("CANADIAN SYLLABICS CARRIER TSU" #x165B) - ("CANADIAN SYLLABICS CARRIER TSO" #x165C) - ("CANADIAN SYLLABICS CARRIER TSE" #x165D) - ("CANADIAN SYLLABICS CARRIER TSEE" #x165E) - ("CANADIAN SYLLABICS CARRIER TSI" #x165F) - ("CANADIAN SYLLABICS CARRIER TSA" #x1660) - ("CANADIAN SYLLABICS CARRIER CHU" #x1661) - ("CANADIAN SYLLABICS CARRIER CHO" #x1662) - ("CANADIAN SYLLABICS CARRIER CHE" #x1663) - ("CANADIAN SYLLABICS CARRIER CHEE" #x1664) - ("CANADIAN SYLLABICS CARRIER CHI" #x1665) - ("CANADIAN SYLLABICS CARRIER CHA" #x1666) - ("CANADIAN SYLLABICS CARRIER TTSU" #x1667) - ("CANADIAN SYLLABICS CARRIER TTSO" #x1668) - ("CANADIAN SYLLABICS CARRIER TTSE" #x1669) - ("CANADIAN SYLLABICS CARRIER TTSEE" #x166A) - ("CANADIAN SYLLABICS CARRIER TTSI" #x166B) - ("CANADIAN SYLLABICS CARRIER TTSA" #x166C) - ("CANADIAN SYLLABICS CHI SIGN" #x166D) - ("CANADIAN SYLLABICS FULL STOP" #x166E) - ("CANADIAN SYLLABICS QAI" #x166F) - ("CANADIAN SYLLABICS NGAI" #x1670) - ("CANADIAN SYLLABICS NNGI" #x1671) - ("CANADIAN SYLLABICS NNGII" #x1672) - ("CANADIAN SYLLABICS NNGO" #x1673) - ("CANADIAN SYLLABICS NNGOO" #x1674) - ("CANADIAN SYLLABICS NNGA" #x1675) - ("CANADIAN SYLLABICS NNGAA" #x1676) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01680-0169F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01680-0169F.el deleted file mode 100644 index 827b70e6b0..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01680-0169F.el +++ /dev/null @@ -1,31 +0,0 @@ -(nxml-define-char-name-set 'ogham - '(("OGHAM SPACE MARK" #x1680) - ("OGHAM LETTER BEITH" #x1681) - ("OGHAM LETTER LUIS" #x1682) - ("OGHAM LETTER FEARN" #x1683) - ("OGHAM LETTER SAIL" #x1684) - ("OGHAM LETTER NION" #x1685) - ("OGHAM LETTER UATH" #x1686) - ("OGHAM LETTER DAIR" #x1687) - ("OGHAM LETTER TINNE" #x1688) - ("OGHAM LETTER COLL" #x1689) - ("OGHAM LETTER CEIRT" #x168A) - ("OGHAM LETTER MUIN" #x168B) - ("OGHAM LETTER GORT" #x168C) - ("OGHAM LETTER NGEADAL" #x168D) - ("OGHAM LETTER STRAIF" #x168E) - ("OGHAM LETTER RUIS" #x168F) - ("OGHAM LETTER AILM" #x1690) - ("OGHAM LETTER ONN" #x1691) - ("OGHAM LETTER UR" #x1692) - ("OGHAM LETTER EADHADH" #x1693) - ("OGHAM LETTER IODHADH" #x1694) - ("OGHAM LETTER EABHADH" #x1695) - ("OGHAM LETTER OR" #x1696) - ("OGHAM LETTER UILLEANN" #x1697) - ("OGHAM LETTER IFIN" #x1698) - ("OGHAM LETTER EAMHANCHOLL" #x1699) - ("OGHAM LETTER PEITH" #x169A) - ("OGHAM FEATHER MARK" #x169B) - ("OGHAM REVERSED FEATHER MARK" #x169C) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/016A0-016FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/016A0-016FF.el deleted file mode 100644 index ce67a4069e..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/016A0-016FF.el +++ /dev/null @@ -1,83 +0,0 @@ -(nxml-define-char-name-set 'runic - '(("RUNIC LETTER FEHU FEOH FE F" #x16A0) - ("RUNIC LETTER V" #x16A1) - ("RUNIC LETTER URUZ UR U" #x16A2) - ("RUNIC LETTER YR" #x16A3) - ("RUNIC LETTER Y" #x16A4) - ("RUNIC LETTER W" #x16A5) - ("RUNIC LETTER THURISAZ THURS THORN" #x16A6) - ("RUNIC LETTER ETH" #x16A7) - ("RUNIC LETTER ANSUZ A" #x16A8) - ("RUNIC LETTER OS O" #x16A9) - ("RUNIC LETTER AC A" #x16AA) - ("RUNIC LETTER AESC" #x16AB) - ("RUNIC LETTER LONG-BRANCH-OSS O" #x16AC) - ("RUNIC LETTER SHORT-TWIG-OSS O" #x16AD) - ("RUNIC LETTER O" #x16AE) - ("RUNIC LETTER OE" #x16AF) - ("RUNIC LETTER ON" #x16B0) - ("RUNIC LETTER RAIDO RAD REID R" #x16B1) - ("RUNIC LETTER KAUNA" #x16B2) - ("RUNIC LETTER CEN" #x16B3) - ("RUNIC LETTER KAUN K" #x16B4) - ("RUNIC LETTER G" #x16B5) - ("RUNIC LETTER ENG" #x16B6) - ("RUNIC LETTER GEBO GYFU G" #x16B7) - ("RUNIC LETTER GAR" #x16B8) - ("RUNIC LETTER WUNJO WYNN W" #x16B9) - ("RUNIC LETTER HAGLAZ H" #x16BA) - ("RUNIC LETTER HAEGL H" #x16BB) - ("RUNIC LETTER LONG-BRANCH-HAGALL H" #x16BC) - ("RUNIC LETTER SHORT-TWIG-HAGALL H" #x16BD) - ("RUNIC LETTER NAUDIZ NYD NAUD N" #x16BE) - ("RUNIC LETTER SHORT-TWIG-NAUD N" #x16BF) - ("RUNIC LETTER DOTTED-N" #x16C0) - ("RUNIC LETTER ISAZ IS ISS I" #x16C1) - ("RUNIC LETTER E" #x16C2) - ("RUNIC LETTER JERAN J" #x16C3) - ("RUNIC LETTER GER" #x16C4) - ("RUNIC LETTER LONG-BRANCH-AR AE" #x16C5) - ("RUNIC LETTER SHORT-TWIG-AR A" #x16C6) - ("RUNIC LETTER IWAZ EOH" #x16C7) - ("RUNIC LETTER PERTHO PEORTH P" #x16C8) - ("RUNIC LETTER ALGIZ EOLHX" #x16C9) - ("RUNIC LETTER SOWILO S" #x16CA) - ("RUNIC LETTER SIGEL LONG-BRANCH-SOL S" #x16CB) - ("RUNIC LETTER SHORT-TWIG-SOL S" #x16CC) - ("RUNIC LETTER C" #x16CD) - ("RUNIC LETTER Z" #x16CE) - ("RUNIC LETTER TIWAZ TIR TYR T" #x16CF) - ("RUNIC LETTER SHORT-TWIG-TYR T" #x16D0) - ("RUNIC LETTER D" #x16D1) - ("RUNIC LETTER BERKANAN BEORC BJARKAN B" #x16D2) - ("RUNIC LETTER SHORT-TWIG-BJARKAN B" #x16D3) - ("RUNIC LETTER DOTTED-P" #x16D4) - ("RUNIC LETTER OPEN-P" #x16D5) - ("RUNIC LETTER EHWAZ EH E" #x16D6) - ("RUNIC LETTER MANNAZ MAN M" #x16D7) - ("RUNIC LETTER LONG-BRANCH-MADR M" #x16D8) - ("RUNIC LETTER SHORT-TWIG-MADR M" #x16D9) - ("RUNIC LETTER LAUKAZ LAGU LOGR L" #x16DA) - ("RUNIC LETTER DOTTED-L" #x16DB) - ("RUNIC LETTER INGWAZ" #x16DC) - ("RUNIC LETTER ING" #x16DD) - ("RUNIC LETTER DAGAZ DAEG D" #x16DE) - ("RUNIC LETTER OTHALAN ETHEL O" #x16DF) - ("RUNIC LETTER EAR" #x16E0) - ("RUNIC LETTER IOR" #x16E1) - ("RUNIC LETTER CWEORTH" #x16E2) - ("RUNIC LETTER CALC" #x16E3) - ("RUNIC LETTER CEALC" #x16E4) - ("RUNIC LETTER STAN" #x16E5) - ("RUNIC LETTER LONG-BRANCH-YR" #x16E6) - ("RUNIC LETTER SHORT-TWIG-YR" #x16E7) - ("RUNIC LETTER ICELANDIC-YR" #x16E8) - ("RUNIC LETTER Q" #x16E9) - ("RUNIC LETTER X" #x16EA) - ("RUNIC SINGLE PUNCTUATION" #x16EB) - ("RUNIC MULTIPLE PUNCTUATION" #x16EC) - ("RUNIC CROSS PUNCTUATION" #x16ED) - ("RUNIC ARLAUG SYMBOL" #x16EE) - ("RUNIC TVIMADUR SYMBOL" #x16EF) - ("RUNIC BELGTHOR SYMBOL" #x16F0) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01700-0171F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01700-0171F.el deleted file mode 100644 index b30500639b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01700-0171F.el +++ /dev/null @@ -1,22 +0,0 @@ -(nxml-define-char-name-set 'tagalog - '(("TAGALOG LETTER A" #x1700) - ("TAGALOG LETTER I" #x1701) - ("TAGALOG LETTER U" #x1702) - ("TAGALOG LETTER KA" #x1703) - ("TAGALOG LETTER GA" #x1704) - ("TAGALOG LETTER NGA" #x1705) - ("TAGALOG LETTER TA" #x1706) - ("TAGALOG LETTER DA" #x1707) - ("TAGALOG LETTER NA" #x1708) - ("TAGALOG LETTER PA" #x1709) - ("TAGALOG LETTER BA" #x170A) - ("TAGALOG LETTER MA" #x170B) - ("TAGALOG LETTER YA" #x170C) - ("TAGALOG LETTER LA" #x170E) - ("TAGALOG LETTER WA" #x170F) - ("TAGALOG LETTER SA" #x1710) - ("TAGALOG LETTER HA" #x1711) - ("TAGALOG VOWEL SIGN I" #x1712) - ("TAGALOG VOWEL SIGN U" #x1713) - ("TAGALOG SIGN VIRAMA" #x1714) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01720-0173F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01720-0173F.el deleted file mode 100644 index 09f61ea1b5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01720-0173F.el +++ /dev/null @@ -1,25 +0,0 @@ -(nxml-define-char-name-set 'hanunoo - '(("HANUNOO LETTER A" #x1720) - ("HANUNOO LETTER I" #x1721) - ("HANUNOO LETTER U" #x1722) - ("HANUNOO LETTER KA" #x1723) - ("HANUNOO LETTER GA" #x1724) - ("HANUNOO LETTER NGA" #x1725) - ("HANUNOO LETTER TA" #x1726) - ("HANUNOO LETTER DA" #x1727) - ("HANUNOO LETTER NA" #x1728) - ("HANUNOO LETTER PA" #x1729) - ("HANUNOO LETTER BA" #x172A) - ("HANUNOO LETTER MA" #x172B) - ("HANUNOO LETTER YA" #x172C) - ("HANUNOO LETTER RA" #x172D) - ("HANUNOO LETTER LA" #x172E) - ("HANUNOO LETTER WA" #x172F) - ("HANUNOO LETTER SA" #x1730) - ("HANUNOO LETTER HA" #x1731) - ("HANUNOO VOWEL SIGN I" #x1732) - ("HANUNOO VOWEL SIGN U" #x1733) - ("HANUNOO SIGN PAMUDPOD" #x1734) - ("PHILIPPINE SINGLE PUNCTUATION" #x1735) - ("PHILIPPINE DOUBLE PUNCTUATION" #x1736) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01740-0175F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01740-0175F.el deleted file mode 100644 index b507c90c26..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01740-0175F.el +++ /dev/null @@ -1,22 +0,0 @@ -(nxml-define-char-name-set 'buhid - '(("BUHID LETTER A" #x1740) - ("BUHID LETTER I" #x1741) - ("BUHID LETTER U" #x1742) - ("BUHID LETTER KA" #x1743) - ("BUHID LETTER GA" #x1744) - ("BUHID LETTER NGA" #x1745) - ("BUHID LETTER TA" #x1746) - ("BUHID LETTER DA" #x1747) - ("BUHID LETTER NA" #x1748) - ("BUHID LETTER PA" #x1749) - ("BUHID LETTER BA" #x174A) - ("BUHID LETTER MA" #x174B) - ("BUHID LETTER YA" #x174C) - ("BUHID LETTER RA" #x174D) - ("BUHID LETTER LA" #x174E) - ("BUHID LETTER WA" #x174F) - ("BUHID LETTER SA" #x1750) - ("BUHID LETTER HA" #x1751) - ("BUHID VOWEL SIGN I" #x1752) - ("BUHID VOWEL SIGN U" #x1753) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01760-0177F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01760-0177F.el deleted file mode 100644 index e824c2bd43..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01760-0177F.el +++ /dev/null @@ -1,20 +0,0 @@ -(nxml-define-char-name-set 'tagbanwa - '(("TAGBANWA LETTER A" #x1760) - ("TAGBANWA LETTER I" #x1761) - ("TAGBANWA LETTER U" #x1762) - ("TAGBANWA LETTER KA" #x1763) - ("TAGBANWA LETTER GA" #x1764) - ("TAGBANWA LETTER NGA" #x1765) - ("TAGBANWA LETTER TA" #x1766) - ("TAGBANWA LETTER DA" #x1767) - ("TAGBANWA LETTER NA" #x1768) - ("TAGBANWA LETTER PA" #x1769) - ("TAGBANWA LETTER BA" #x176A) - ("TAGBANWA LETTER MA" #x176B) - ("TAGBANWA LETTER YA" #x176C) - ("TAGBANWA LETTER LA" #x176E) - ("TAGBANWA LETTER WA" #x176F) - ("TAGBANWA LETTER SA" #x1770) - ("TAGBANWA VOWEL SIGN I" #x1772) - ("TAGBANWA VOWEL SIGN U" #x1773) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01780-017FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01780-017FF.el deleted file mode 100644 index e9671c943c..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01780-017FF.el +++ /dev/null @@ -1,105 +0,0 @@ -(nxml-define-char-name-set 'khmer - '(("KHMER LETTER KA" #x1780) - ("KHMER LETTER KHA" #x1781) - ("KHMER LETTER KO" #x1782) - ("KHMER LETTER KHO" #x1783) - ("KHMER LETTER NGO" #x1784) - ("KHMER LETTER CA" #x1785) - ("KHMER LETTER CHA" #x1786) - ("KHMER LETTER CO" #x1787) - ("KHMER LETTER CHO" #x1788) - ("KHMER LETTER NYO" #x1789) - ("KHMER LETTER DA" #x178A) - ("KHMER LETTER TTHA" #x178B) - ("KHMER LETTER DO" #x178C) - ("KHMER LETTER TTHO" #x178D) - ("KHMER LETTER NNO" #x178E) - ("KHMER LETTER TA" #x178F) - ("KHMER LETTER THA" #x1790) - ("KHMER LETTER TO" #x1791) - ("KHMER LETTER THO" #x1792) - ("KHMER LETTER NO" #x1793) - ("KHMER LETTER BA" #x1794) - ("KHMER LETTER PHA" #x1795) - ("KHMER LETTER PO" #x1796) - ("KHMER LETTER PHO" #x1797) - ("KHMER LETTER MO" #x1798) - ("KHMER LETTER YO" #x1799) - ("KHMER LETTER RO" #x179A) - ("KHMER LETTER LO" #x179B) - ("KHMER LETTER VO" #x179C) - ("KHMER LETTER SHA" #x179D) - ("KHMER LETTER SSO" #x179E) - ("KHMER LETTER SA" #x179F) - ("KHMER LETTER HA" #x17A0) - ("KHMER LETTER LA" #x17A1) - ("KHMER LETTER QA" #x17A2) - ("KHMER INDEPENDENT VOWEL QAQ" #x17A3) - ("KHMER INDEPENDENT VOWEL QAA" #x17A4) - ("KHMER INDEPENDENT VOWEL QI" #x17A5) - ("KHMER INDEPENDENT VOWEL QII" #x17A6) - ("KHMER INDEPENDENT VOWEL QU" #x17A7) - ("KHMER INDEPENDENT VOWEL QUK" #x17A8) - ("KHMER INDEPENDENT VOWEL QUU" #x17A9) - ("KHMER INDEPENDENT VOWEL QUUV" #x17AA) - ("KHMER INDEPENDENT VOWEL RY" #x17AB) - ("KHMER INDEPENDENT VOWEL RYY" #x17AC) - ("KHMER INDEPENDENT VOWEL LY" #x17AD) - ("KHMER INDEPENDENT VOWEL LYY" #x17AE) - ("KHMER INDEPENDENT VOWEL QE" #x17AF) - ("KHMER INDEPENDENT VOWEL QAI" #x17B0) - ("KHMER INDEPENDENT VOWEL QOO TYPE ONE" #x17B1) - ("KHMER INDEPENDENT VOWEL QOO TYPE TWO" #x17B2) - ("KHMER INDEPENDENT VOWEL QAU" #x17B3) - ("KHMER VOWEL INHERENT AQ" #x17B4) - ("KHMER VOWEL INHERENT AA" #x17B5) - ("KHMER VOWEL SIGN AA" #x17B6) - ("KHMER VOWEL SIGN I" #x17B7) - ("KHMER VOWEL SIGN II" #x17B8) - ("KHMER VOWEL SIGN Y" #x17B9) - ("KHMER VOWEL SIGN YY" #x17BA) - ("KHMER VOWEL SIGN U" #x17BB) - ("KHMER VOWEL SIGN UU" #x17BC) - ("KHMER VOWEL SIGN UA" #x17BD) - ("KHMER VOWEL SIGN OE" #x17BE) - ("KHMER VOWEL SIGN YA" #x17BF) - ("KHMER VOWEL SIGN IE" #x17C0) - ("KHMER VOWEL SIGN E" #x17C1) - ("KHMER VOWEL SIGN AE" #x17C2) - ("KHMER VOWEL SIGN AI" #x17C3) - ("KHMER VOWEL SIGN OO" #x17C4) - ("KHMER VOWEL SIGN AU" #x17C5) - ("KHMER SIGN NIKAHIT" #x17C6) - ("KHMER SIGN REAHMUK" #x17C7) - ("KHMER SIGN YUUKALEAPINTU" #x17C8) - ("KHMER SIGN MUUSIKATOAN" #x17C9) - ("KHMER SIGN TRIISAP" #x17CA) - ("KHMER SIGN BANTOC" #x17CB) - ("KHMER SIGN ROBAT" #x17CC) - ("KHMER SIGN TOANDAKHIAT" #x17CD) - ("KHMER SIGN KAKABAT" #x17CE) - ("KHMER SIGN AHSDA" #x17CF) - ("KHMER SIGN SAMYOK SANNYA" #x17D0) - ("KHMER SIGN VIRIAM" #x17D1) - ("KHMER SIGN COENG" #x17D2) - ("KHMER SIGN BATHAMASAT" #x17D3) - ("KHMER SIGN KHAN" #x17D4) - ("KHMER SIGN BARIYOOSAN" #x17D5) - ("KHMER SIGN CAMNUC PII KUUH" #x17D6) - ("KHMER SIGN LEK TOO" #x17D7) - ("KHMER SIGN BEYYAL" #x17D8) - ("KHMER SIGN PHNAEK MUAN" #x17D9) - ("KHMER SIGN KOOMUUT" #x17DA) - ("KHMER CURRENCY SYMBOL RIEL" #x17DB) - ("KHMER SIGN AVAKRAHASANYA" #x17DC) - ("KHMER DIGIT ZERO" #x17E0) - ("KHMER DIGIT ONE" #x17E1) - ("KHMER DIGIT TWO" #x17E2) - ("KHMER DIGIT THREE" #x17E3) - ("KHMER DIGIT FOUR" #x17E4) - ("KHMER DIGIT FIVE" #x17E5) - ("KHMER DIGIT SIX" #x17E6) - ("KHMER DIGIT SEVEN" #x17E7) - ("KHMER DIGIT EIGHT" #x17E8) - ("KHMER DIGIT NINE" #x17E9) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01800-018AF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01800-018AF.el deleted file mode 100644 index fd3e2455a2..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01800-018AF.el +++ /dev/null @@ -1,157 +0,0 @@ -(nxml-define-char-name-set 'mongolian - '(("MONGOLIAN BIRGA" #x1800) - ("MONGOLIAN ELLIPSIS" #x1801) - ("MONGOLIAN COMMA" #x1802) - ("MONGOLIAN FULL STOP" #x1803) - ("MONGOLIAN COLON" #x1804) - ("MONGOLIAN FOUR DOTS" #x1805) - ("MONGOLIAN TODO SOFT HYPHEN" #x1806) - ("MONGOLIAN SIBE SYLLABLE BOUNDARY MARKER" #x1807) - ("MONGOLIAN MANCHU COMMA" #x1808) - ("MONGOLIAN MANCHU FULL STOP" #x1809) - ("MONGOLIAN NIRUGU" #x180A) - ("MONGOLIAN FREE VARIATION SELECTOR ONE" #x180B) - ("MONGOLIAN FREE VARIATION SELECTOR TWO" #x180C) - ("MONGOLIAN FREE VARIATION SELECTOR THREE" #x180D) - ("MONGOLIAN VOWEL SEPARATOR" #x180E) - ("MONGOLIAN DIGIT ZERO" #x1810) - ("MONGOLIAN DIGIT ONE" #x1811) - ("MONGOLIAN DIGIT TWO" #x1812) - ("MONGOLIAN DIGIT THREE" #x1813) - ("MONGOLIAN DIGIT FOUR" #x1814) - ("MONGOLIAN DIGIT FIVE" #x1815) - ("MONGOLIAN DIGIT SIX" #x1816) - ("MONGOLIAN DIGIT SEVEN" #x1817) - ("MONGOLIAN DIGIT EIGHT" #x1818) - ("MONGOLIAN DIGIT NINE" #x1819) - ("MONGOLIAN LETTER A" #x1820) - ("MONGOLIAN LETTER E" #x1821) - ("MONGOLIAN LETTER I" #x1822) - ("MONGOLIAN LETTER O" #x1823) - ("MONGOLIAN LETTER U" #x1824) - ("MONGOLIAN LETTER OE" #x1825) - ("MONGOLIAN LETTER UE" #x1826) - ("MONGOLIAN LETTER EE" #x1827) - ("MONGOLIAN LETTER NA" #x1828) - ("MONGOLIAN LETTER ANG" #x1829) - ("MONGOLIAN LETTER BA" #x182A) - ("MONGOLIAN LETTER PA" #x182B) - ("MONGOLIAN LETTER QA" #x182C) - ("MONGOLIAN LETTER GA" #x182D) - ("MONGOLIAN LETTER MA" #x182E) - ("MONGOLIAN LETTER LA" #x182F) - ("MONGOLIAN LETTER SA" #x1830) - ("MONGOLIAN LETTER SHA" #x1831) - ("MONGOLIAN LETTER TA" #x1832) - ("MONGOLIAN LETTER DA" #x1833) - ("MONGOLIAN LETTER CHA" #x1834) - ("MONGOLIAN LETTER JA" #x1835) - ("MONGOLIAN LETTER YA" #x1836) - ("MONGOLIAN LETTER RA" #x1837) - ("MONGOLIAN LETTER WA" #x1838) - ("MONGOLIAN LETTER FA" #x1839) - ("MONGOLIAN LETTER KA" #x183A) - ("MONGOLIAN LETTER KHA" #x183B) - ("MONGOLIAN LETTER TSA" #x183C) - ("MONGOLIAN LETTER ZA" #x183D) - ("MONGOLIAN LETTER HAA" #x183E) - ("MONGOLIAN LETTER ZRA" #x183F) - ("MONGOLIAN LETTER LHA" #x1840) - ("MONGOLIAN LETTER ZHI" #x1841) - ("MONGOLIAN LETTER CHI" #x1842) - ("MONGOLIAN LETTER TODO LONG VOWEL SIGN" #x1843) - ("MONGOLIAN LETTER TODO E" #x1844) - ("MONGOLIAN LETTER TODO I" #x1845) - ("MONGOLIAN LETTER TODO O" #x1846) - ("MONGOLIAN LETTER TODO U" #x1847) - ("MONGOLIAN LETTER TODO OE" #x1848) - ("MONGOLIAN LETTER TODO UE" #x1849) - ("MONGOLIAN LETTER TODO ANG" #x184A) - ("MONGOLIAN LETTER TODO BA" #x184B) - ("MONGOLIAN LETTER TODO PA" #x184C) - ("MONGOLIAN LETTER TODO QA" #x184D) - ("MONGOLIAN LETTER TODO GA" #x184E) - ("MONGOLIAN LETTER TODO MA" #x184F) - ("MONGOLIAN LETTER TODO TA" #x1850) - ("MONGOLIAN LETTER TODO DA" #x1851) - ("MONGOLIAN LETTER TODO CHA" #x1852) - ("MONGOLIAN LETTER TODO JA" #x1853) - ("MONGOLIAN LETTER TODO TSA" #x1854) - ("MONGOLIAN LETTER TODO YA" #x1855) - ("MONGOLIAN LETTER TODO WA" #x1856) - ("MONGOLIAN LETTER TODO KA" #x1857) - ("MONGOLIAN LETTER TODO GAA" #x1858) - ("MONGOLIAN LETTER TODO HAA" #x1859) - ("MONGOLIAN LETTER TODO JIA" #x185A) - ("MONGOLIAN LETTER TODO NIA" #x185B) - ("MONGOLIAN LETTER TODO DZA" #x185C) - ("MONGOLIAN LETTER SIBE E" #x185D) - ("MONGOLIAN LETTER SIBE I" #x185E) - ("MONGOLIAN LETTER SIBE IY" #x185F) - ("MONGOLIAN LETTER SIBE UE" #x1860) - ("MONGOLIAN LETTER SIBE U" #x1861) - ("MONGOLIAN LETTER SIBE ANG" #x1862) - ("MONGOLIAN LETTER SIBE KA" #x1863) - ("MONGOLIAN LETTER SIBE GA" #x1864) - ("MONGOLIAN LETTER SIBE HA" #x1865) - ("MONGOLIAN LETTER SIBE PA" #x1866) - ("MONGOLIAN LETTER SIBE SHA" #x1867) - ("MONGOLIAN LETTER SIBE TA" #x1868) - ("MONGOLIAN LETTER SIBE DA" #x1869) - ("MONGOLIAN LETTER SIBE JA" #x186A) - ("MONGOLIAN LETTER SIBE FA" #x186B) - ("MONGOLIAN LETTER SIBE GAA" #x186C) - ("MONGOLIAN LETTER SIBE HAA" #x186D) - ("MONGOLIAN LETTER SIBE TSA" #x186E) - ("MONGOLIAN LETTER SIBE ZA" #x186F) - ("MONGOLIAN LETTER SIBE RAA" #x1870) - ("MONGOLIAN LETTER SIBE CHA" #x1871) - ("MONGOLIAN LETTER SIBE ZHA" #x1872) - ("MONGOLIAN LETTER MANCHU I" #x1873) - ("MONGOLIAN LETTER MANCHU KA" #x1874) - ("MONGOLIAN LETTER MANCHU RA" #x1875) - ("MONGOLIAN LETTER MANCHU FA" #x1876) - ("MONGOLIAN LETTER MANCHU ZHA" #x1877) - ("MONGOLIAN LETTER ALI GALI ANUSVARA ONE" #x1880) - ("MONGOLIAN LETTER ALI GALI VISARGA ONE" #x1881) - ("MONGOLIAN LETTER ALI GALI DAMARU" #x1882) - ("MONGOLIAN LETTER ALI GALI UBADAMA" #x1883) - ("MONGOLIAN LETTER ALI GALI INVERTED UBADAMA" #x1884) - ("MONGOLIAN LETTER ALI GALI BALUDA" #x1885) - ("MONGOLIAN LETTER ALI GALI THREE BALUDA" #x1886) - ("MONGOLIAN LETTER ALI GALI A" #x1887) - ("MONGOLIAN LETTER ALI GALI I" #x1888) - ("MONGOLIAN LETTER ALI GALI KA" #x1889) - ("MONGOLIAN LETTER ALI GALI NGA" #x188A) - ("MONGOLIAN LETTER ALI GALI CA" #x188B) - ("MONGOLIAN LETTER ALI GALI TTA" #x188C) - ("MONGOLIAN LETTER ALI GALI TTHA" #x188D) - ("MONGOLIAN LETTER ALI GALI DDA" #x188E) - ("MONGOLIAN LETTER ALI GALI NNA" #x188F) - ("MONGOLIAN LETTER ALI GALI TA" #x1890) - ("MONGOLIAN LETTER ALI GALI DA" #x1891) - ("MONGOLIAN LETTER ALI GALI PA" #x1892) - ("MONGOLIAN LETTER ALI GALI PHA" #x1893) - ("MONGOLIAN LETTER ALI GALI SSA" #x1894) - ("MONGOLIAN LETTER ALI GALI ZHA" #x1895) - ("MONGOLIAN LETTER ALI GALI ZA" #x1896) - ("MONGOLIAN LETTER ALI GALI AH" #x1897) - ("MONGOLIAN LETTER TODO ALI GALI TA" #x1898) - ("MONGOLIAN LETTER TODO ALI GALI ZHA" #x1899) - ("MONGOLIAN LETTER MANCHU ALI GALI GHA" #x189A) - ("MONGOLIAN LETTER MANCHU ALI GALI NGA" #x189B) - ("MONGOLIAN LETTER MANCHU ALI GALI CA" #x189C) - ("MONGOLIAN LETTER MANCHU ALI GALI JHA" #x189D) - ("MONGOLIAN LETTER MANCHU ALI GALI TTA" #x189E) - ("MONGOLIAN LETTER MANCHU ALI GALI DDHA" #x189F) - ("MONGOLIAN LETTER MANCHU ALI GALI TA" #x18A0) - ("MONGOLIAN LETTER MANCHU ALI GALI DHA" #x18A1) - ("MONGOLIAN LETTER MANCHU ALI GALI SSA" #x18A2) - ("MONGOLIAN LETTER MANCHU ALI GALI CYA" #x18A3) - ("MONGOLIAN LETTER MANCHU ALI GALI ZHA" #x18A4) - ("MONGOLIAN LETTER MANCHU ALI GALI ZA" #x18A5) - ("MONGOLIAN LETTER ALI GALI HALF U" #x18A6) - ("MONGOLIAN LETTER ALI GALI HALF YA" #x18A7) - ("MONGOLIAN LETTER MANCHU ALI GALI BHA" #x18A8) - ("MONGOLIAN LETTER ALI GALI DAGALGA" #x18A9) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01E00-01EFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01E00-01EFF.el deleted file mode 100644 index 618b74cd3d..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01E00-01EFF.el +++ /dev/null @@ -1,248 +0,0 @@ -(nxml-define-char-name-set 'latin-extended-additional - '(("LATIN CAPITAL LETTER A WITH RING BELOW" #x1E00) - ("LATIN SMALL LETTER A WITH RING BELOW" #x1E01) - ("LATIN CAPITAL LETTER B WITH DOT ABOVE" #x1E02) - ("LATIN SMALL LETTER B WITH DOT ABOVE" #x1E03) - ("LATIN CAPITAL LETTER B WITH DOT BELOW" #x1E04) - ("LATIN SMALL LETTER B WITH DOT BELOW" #x1E05) - ("LATIN CAPITAL LETTER B WITH LINE BELOW" #x1E06) - ("LATIN SMALL LETTER B WITH LINE BELOW" #x1E07) - ("LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE" #x1E08) - ("LATIN SMALL LETTER C WITH CEDILLA AND ACUTE" #x1E09) - ("LATIN CAPITAL LETTER D WITH DOT ABOVE" #x1E0A) - ("LATIN SMALL LETTER D WITH DOT ABOVE" #x1E0B) - ("LATIN CAPITAL LETTER D WITH DOT BELOW" #x1E0C) - ("LATIN SMALL LETTER D WITH DOT BELOW" #x1E0D) - ("LATIN CAPITAL LETTER D WITH LINE BELOW" #x1E0E) - ("LATIN SMALL LETTER D WITH LINE BELOW" #x1E0F) - ("LATIN CAPITAL LETTER D WITH CEDILLA" #x1E10) - ("LATIN SMALL LETTER D WITH CEDILLA" #x1E11) - ("LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW" #x1E12) - ("LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW" #x1E13) - ("LATIN CAPITAL LETTER E WITH MACRON AND GRAVE" #x1E14) - ("LATIN SMALL LETTER E WITH MACRON AND GRAVE" #x1E15) - ("LATIN CAPITAL LETTER E WITH MACRON AND ACUTE" #x1E16) - ("LATIN SMALL LETTER E WITH MACRON AND ACUTE" #x1E17) - ("LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW" #x1E18) - ("LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW" #x1E19) - ("LATIN CAPITAL LETTER E WITH TILDE BELOW" #x1E1A) - ("LATIN SMALL LETTER E WITH TILDE BELOW" #x1E1B) - ("LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE" #x1E1C) - ("LATIN SMALL LETTER E WITH CEDILLA AND BREVE" #x1E1D) - ("LATIN CAPITAL LETTER F WITH DOT ABOVE" #x1E1E) - ("LATIN SMALL LETTER F WITH DOT ABOVE" #x1E1F) - ("LATIN CAPITAL LETTER G WITH MACRON" #x1E20) - ("LATIN SMALL LETTER G WITH MACRON" #x1E21) - ("LATIN CAPITAL LETTER H WITH DOT ABOVE" #x1E22) - ("LATIN SMALL LETTER H WITH DOT ABOVE" #x1E23) - ("LATIN CAPITAL LETTER H WITH DOT BELOW" #x1E24) - ("LATIN SMALL LETTER H WITH DOT BELOW" #x1E25) - ("LATIN CAPITAL LETTER H WITH DIAERESIS" #x1E26) - ("LATIN SMALL LETTER H WITH DIAERESIS" #x1E27) - ("LATIN CAPITAL LETTER H WITH CEDILLA" #x1E28) - ("LATIN SMALL LETTER H WITH CEDILLA" #x1E29) - ("LATIN CAPITAL LETTER H WITH BREVE BELOW" #x1E2A) - ("LATIN SMALL LETTER H WITH BREVE BELOW" #x1E2B) - ("LATIN CAPITAL LETTER I WITH TILDE BELOW" #x1E2C) - ("LATIN SMALL LETTER I WITH TILDE BELOW" #x1E2D) - ("LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE" #x1E2E) - ("LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE" #x1E2F) - ("LATIN CAPITAL LETTER K WITH ACUTE" #x1E30) - ("LATIN SMALL LETTER K WITH ACUTE" #x1E31) - ("LATIN CAPITAL LETTER K WITH DOT BELOW" #x1E32) - ("LATIN SMALL LETTER K WITH DOT BELOW" #x1E33) - ("LATIN CAPITAL LETTER K WITH LINE BELOW" #x1E34) - ("LATIN SMALL LETTER K WITH LINE BELOW" #x1E35) - ("LATIN CAPITAL LETTER L WITH DOT BELOW" #x1E36) - ("LATIN SMALL LETTER L WITH DOT BELOW" #x1E37) - ("LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON" #x1E38) - ("LATIN SMALL LETTER L WITH DOT BELOW AND MACRON" #x1E39) - ("LATIN CAPITAL LETTER L WITH LINE BELOW" #x1E3A) - ("LATIN SMALL LETTER L WITH LINE BELOW" #x1E3B) - ("LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW" #x1E3C) - ("LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW" #x1E3D) - ("LATIN CAPITAL LETTER M WITH ACUTE" #x1E3E) - ("LATIN SMALL LETTER M WITH ACUTE" #x1E3F) - ("LATIN CAPITAL LETTER M WITH DOT ABOVE" #x1E40) - ("LATIN SMALL LETTER M WITH DOT ABOVE" #x1E41) - ("LATIN CAPITAL LETTER M WITH DOT BELOW" #x1E42) - ("LATIN SMALL LETTER M WITH DOT BELOW" #x1E43) - ("LATIN CAPITAL LETTER N WITH DOT ABOVE" #x1E44) - ("LATIN SMALL LETTER N WITH DOT ABOVE" #x1E45) - ("LATIN CAPITAL LETTER N WITH DOT BELOW" #x1E46) - ("LATIN SMALL LETTER N WITH DOT BELOW" #x1E47) - ("LATIN CAPITAL LETTER N WITH LINE BELOW" #x1E48) - ("LATIN SMALL LETTER N WITH LINE BELOW" #x1E49) - ("LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW" #x1E4A) - ("LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW" #x1E4B) - ("LATIN CAPITAL LETTER O WITH TILDE AND ACUTE" #x1E4C) - ("LATIN SMALL LETTER O WITH TILDE AND ACUTE" #x1E4D) - ("LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS" #x1E4E) - ("LATIN SMALL LETTER O WITH TILDE AND DIAERESIS" #x1E4F) - ("LATIN CAPITAL LETTER O WITH MACRON AND GRAVE" #x1E50) - ("LATIN SMALL LETTER O WITH MACRON AND GRAVE" #x1E51) - ("LATIN CAPITAL LETTER O WITH MACRON AND ACUTE" #x1E52) - ("LATIN SMALL LETTER O WITH MACRON AND ACUTE" #x1E53) - ("LATIN CAPITAL LETTER P WITH ACUTE" #x1E54) - ("LATIN SMALL LETTER P WITH ACUTE" #x1E55) - ("LATIN CAPITAL LETTER P WITH DOT ABOVE" #x1E56) - ("LATIN SMALL LETTER P WITH DOT ABOVE" #x1E57) - ("LATIN CAPITAL LETTER R WITH DOT ABOVE" #x1E58) - ("LATIN SMALL LETTER R WITH DOT ABOVE" #x1E59) - ("LATIN CAPITAL LETTER R WITH DOT BELOW" #x1E5A) - ("LATIN SMALL LETTER R WITH DOT BELOW" #x1E5B) - ("LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON" #x1E5C) - ("LATIN SMALL LETTER R WITH DOT BELOW AND MACRON" #x1E5D) - ("LATIN CAPITAL LETTER R WITH LINE BELOW" #x1E5E) - ("LATIN SMALL LETTER R WITH LINE BELOW" #x1E5F) - ("LATIN CAPITAL LETTER S WITH DOT ABOVE" #x1E60) - ("LATIN SMALL LETTER S WITH DOT ABOVE" #x1E61) - ("LATIN CAPITAL LETTER S WITH DOT BELOW" #x1E62) - ("LATIN SMALL LETTER S WITH DOT BELOW" #x1E63) - ("LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE" #x1E64) - ("LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE" #x1E65) - ("LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE" #x1E66) - ("LATIN SMALL LETTER S WITH CARON AND DOT ABOVE" #x1E67) - ("LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE" #x1E68) - ("LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE" #x1E69) - ("LATIN CAPITAL LETTER T WITH DOT ABOVE" #x1E6A) - ("LATIN SMALL LETTER T WITH DOT ABOVE" #x1E6B) - ("LATIN CAPITAL LETTER T WITH DOT BELOW" #x1E6C) - ("LATIN SMALL LETTER T WITH DOT BELOW" #x1E6D) - ("LATIN CAPITAL LETTER T WITH LINE BELOW" #x1E6E) - ("LATIN SMALL LETTER T WITH LINE BELOW" #x1E6F) - ("LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW" #x1E70) - ("LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW" #x1E71) - ("LATIN CAPITAL LETTER U WITH DIAERESIS BELOW" #x1E72) - ("LATIN SMALL LETTER U WITH DIAERESIS BELOW" #x1E73) - ("LATIN CAPITAL LETTER U WITH TILDE BELOW" #x1E74) - ("LATIN SMALL LETTER U WITH TILDE BELOW" #x1E75) - ("LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW" #x1E76) - ("LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW" #x1E77) - ("LATIN CAPITAL LETTER U WITH TILDE AND ACUTE" #x1E78) - ("LATIN SMALL LETTER U WITH TILDE AND ACUTE" #x1E79) - ("LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS" #x1E7A) - ("LATIN SMALL LETTER U WITH MACRON AND DIAERESIS" #x1E7B) - ("LATIN CAPITAL LETTER V WITH TILDE" #x1E7C) - ("LATIN SMALL LETTER V WITH TILDE" #x1E7D) - ("LATIN CAPITAL LETTER V WITH DOT BELOW" #x1E7E) - ("LATIN SMALL LETTER V WITH DOT BELOW" #x1E7F) - ("LATIN CAPITAL LETTER W WITH GRAVE" #x1E80) - ("LATIN SMALL LETTER W WITH GRAVE" #x1E81) - ("LATIN CAPITAL LETTER W WITH ACUTE" #x1E82) - ("LATIN SMALL LETTER W WITH ACUTE" #x1E83) - ("LATIN CAPITAL LETTER W WITH DIAERESIS" #x1E84) - ("LATIN SMALL LETTER W WITH DIAERESIS" #x1E85) - ("LATIN CAPITAL LETTER W WITH DOT ABOVE" #x1E86) - ("LATIN SMALL LETTER W WITH DOT ABOVE" #x1E87) - ("LATIN CAPITAL LETTER W WITH DOT BELOW" #x1E88) - ("LATIN SMALL LETTER W WITH DOT BELOW" #x1E89) - ("LATIN CAPITAL LETTER X WITH DOT ABOVE" #x1E8A) - ("LATIN SMALL LETTER X WITH DOT ABOVE" #x1E8B) - ("LATIN CAPITAL LETTER X WITH DIAERESIS" #x1E8C) - ("LATIN SMALL LETTER X WITH DIAERESIS" #x1E8D) - ("LATIN CAPITAL LETTER Y WITH DOT ABOVE" #x1E8E) - ("LATIN SMALL LETTER Y WITH DOT ABOVE" #x1E8F) - ("LATIN CAPITAL LETTER Z WITH CIRCUMFLEX" #x1E90) - ("LATIN SMALL LETTER Z WITH CIRCUMFLEX" #x1E91) - ("LATIN CAPITAL LETTER Z WITH DOT BELOW" #x1E92) - ("LATIN SMALL LETTER Z WITH DOT BELOW" #x1E93) - ("LATIN CAPITAL LETTER Z WITH LINE BELOW" #x1E94) - ("LATIN SMALL LETTER Z WITH LINE BELOW" #x1E95) - ("LATIN SMALL LETTER H WITH LINE BELOW" #x1E96) - ("LATIN SMALL LETTER T WITH DIAERESIS" #x1E97) - ("LATIN SMALL LETTER W WITH RING ABOVE" #x1E98) - ("LATIN SMALL LETTER Y WITH RING ABOVE" #x1E99) - ("LATIN SMALL LETTER A WITH RIGHT HALF RING" #x1E9A) - ("LATIN SMALL LETTER LONG S WITH DOT ABOVE" #x1E9B) - ("LATIN CAPITAL LETTER A WITH DOT BELOW" #x1EA0) - ("LATIN SMALL LETTER A WITH DOT BELOW" #x1EA1) - ("LATIN CAPITAL LETTER A WITH HOOK ABOVE" #x1EA2) - ("LATIN SMALL LETTER A WITH HOOK ABOVE" #x1EA3) - ("LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE" #x1EA4) - ("LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE" #x1EA5) - ("LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE" #x1EA6) - ("LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE" #x1EA7) - ("LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE" #x1EA8) - ("LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE" #x1EA9) - ("LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE" #x1EAA) - ("LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE" #x1EAB) - ("LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW" #x1EAC) - ("LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW" #x1EAD) - ("LATIN CAPITAL LETTER A WITH BREVE AND ACUTE" #x1EAE) - ("LATIN SMALL LETTER A WITH BREVE AND ACUTE" #x1EAF) - ("LATIN CAPITAL LETTER A WITH BREVE AND GRAVE" #x1EB0) - ("LATIN SMALL LETTER A WITH BREVE AND GRAVE" #x1EB1) - ("LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE" #x1EB2) - ("LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE" #x1EB3) - ("LATIN CAPITAL LETTER A WITH BREVE AND TILDE" #x1EB4) - ("LATIN SMALL LETTER A WITH BREVE AND TILDE" #x1EB5) - ("LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW" #x1EB6) - ("LATIN SMALL LETTER A WITH BREVE AND DOT BELOW" #x1EB7) - ("LATIN CAPITAL LETTER E WITH DOT BELOW" #x1EB8) - ("LATIN SMALL LETTER E WITH DOT BELOW" #x1EB9) - ("LATIN CAPITAL LETTER E WITH HOOK ABOVE" #x1EBA) - ("LATIN SMALL LETTER E WITH HOOK ABOVE" #x1EBB) - ("LATIN CAPITAL LETTER E WITH TILDE" #x1EBC) - ("LATIN SMALL LETTER E WITH TILDE" #x1EBD) - ("LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE" #x1EBE) - ("LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE" #x1EBF) - ("LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE" #x1EC0) - ("LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE" #x1EC1) - ("LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE" #x1EC2) - ("LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE" #x1EC3) - ("LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE" #x1EC4) - ("LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE" #x1EC5) - ("LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW" #x1EC6) - ("LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW" #x1EC7) - ("LATIN CAPITAL LETTER I WITH HOOK ABOVE" #x1EC8) - ("LATIN SMALL LETTER I WITH HOOK ABOVE" #x1EC9) - ("LATIN CAPITAL LETTER I WITH DOT BELOW" #x1ECA) - ("LATIN SMALL LETTER I WITH DOT BELOW" #x1ECB) - ("LATIN CAPITAL LETTER O WITH DOT BELOW" #x1ECC) - ("LATIN SMALL LETTER O WITH DOT BELOW" #x1ECD) - ("LATIN CAPITAL LETTER O WITH HOOK ABOVE" #x1ECE) - ("LATIN SMALL LETTER O WITH HOOK ABOVE" #x1ECF) - ("LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE" #x1ED0) - ("LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE" #x1ED1) - ("LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE" #x1ED2) - ("LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE" #x1ED3) - ("LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE" #x1ED4) - ("LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE" #x1ED5) - ("LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE" #x1ED6) - ("LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE" #x1ED7) - ("LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW" #x1ED8) - ("LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW" #x1ED9) - ("LATIN CAPITAL LETTER O WITH HORN AND ACUTE" #x1EDA) - ("LATIN SMALL LETTER O WITH HORN AND ACUTE" #x1EDB) - ("LATIN CAPITAL LETTER O WITH HORN AND GRAVE" #x1EDC) - ("LATIN SMALL LETTER O WITH HORN AND GRAVE" #x1EDD) - ("LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE" #x1EDE) - ("LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE" #x1EDF) - ("LATIN CAPITAL LETTER O WITH HORN AND TILDE" #x1EE0) - ("LATIN SMALL LETTER O WITH HORN AND TILDE" #x1EE1) - ("LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW" #x1EE2) - ("LATIN SMALL LETTER O WITH HORN AND DOT BELOW" #x1EE3) - ("LATIN CAPITAL LETTER U WITH DOT BELOW" #x1EE4) - ("LATIN SMALL LETTER U WITH DOT BELOW" #x1EE5) - ("LATIN CAPITAL LETTER U WITH HOOK ABOVE" #x1EE6) - ("LATIN SMALL LETTER U WITH HOOK ABOVE" #x1EE7) - ("LATIN CAPITAL LETTER U WITH HORN AND ACUTE" #x1EE8) - ("LATIN SMALL LETTER U WITH HORN AND ACUTE" #x1EE9) - ("LATIN CAPITAL LETTER U WITH HORN AND GRAVE" #x1EEA) - ("LATIN SMALL LETTER U WITH HORN AND GRAVE" #x1EEB) - ("LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE" #x1EEC) - ("LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE" #x1EED) - ("LATIN CAPITAL LETTER U WITH HORN AND TILDE" #x1EEE) - ("LATIN SMALL LETTER U WITH HORN AND TILDE" #x1EEF) - ("LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW" #x1EF0) - ("LATIN SMALL LETTER U WITH HORN AND DOT BELOW" #x1EF1) - ("LATIN CAPITAL LETTER Y WITH GRAVE" #x1EF2) - ("LATIN SMALL LETTER Y WITH GRAVE" #x1EF3) - ("LATIN CAPITAL LETTER Y WITH DOT BELOW" #x1EF4) - ("LATIN SMALL LETTER Y WITH DOT BELOW" #x1EF5) - ("LATIN CAPITAL LETTER Y WITH HOOK ABOVE" #x1EF6) - ("LATIN SMALL LETTER Y WITH HOOK ABOVE" #x1EF7) - ("LATIN CAPITAL LETTER Y WITH TILDE" #x1EF8) - ("LATIN SMALL LETTER Y WITH TILDE" #x1EF9) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01F00-01FFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01F00-01FFF.el deleted file mode 100644 index 56ce30a017..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/01F00-01FFF.el +++ /dev/null @@ -1,235 +0,0 @@ -(nxml-define-char-name-set 'greek-extended - '(("GREEK SMALL LETTER ALPHA WITH PSILI" #x1F00) - ("GREEK SMALL LETTER ALPHA WITH DASIA" #x1F01) - ("GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA" #x1F02) - ("GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA" #x1F03) - ("GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA" #x1F04) - ("GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA" #x1F05) - ("GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI" #x1F06) - ("GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI" #x1F07) - ("GREEK CAPITAL LETTER ALPHA WITH PSILI" #x1F08) - ("GREEK CAPITAL LETTER ALPHA WITH DASIA" #x1F09) - ("GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA" #x1F0A) - ("GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA" #x1F0B) - ("GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA" #x1F0C) - ("GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA" #x1F0D) - ("GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI" #x1F0E) - ("GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI" #x1F0F) - ("GREEK SMALL LETTER EPSILON WITH PSILI" #x1F10) - ("GREEK SMALL LETTER EPSILON WITH DASIA" #x1F11) - ("GREEK SMALL LETTER EPSILON WITH PSILI AND VARIA" #x1F12) - ("GREEK SMALL LETTER EPSILON WITH DASIA AND VARIA" #x1F13) - ("GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA" #x1F14) - ("GREEK SMALL LETTER EPSILON WITH DASIA AND OXIA" #x1F15) - ("GREEK CAPITAL LETTER EPSILON WITH PSILI" #x1F18) - ("GREEK CAPITAL LETTER EPSILON WITH DASIA" #x1F19) - ("GREEK CAPITAL LETTER EPSILON WITH PSILI AND VARIA" #x1F1A) - ("GREEK CAPITAL LETTER EPSILON WITH DASIA AND VARIA" #x1F1B) - ("GREEK CAPITAL LETTER EPSILON WITH PSILI AND OXIA" #x1F1C) - ("GREEK CAPITAL LETTER EPSILON WITH DASIA AND OXIA" #x1F1D) - ("GREEK SMALL LETTER ETA WITH PSILI" #x1F20) - ("GREEK SMALL LETTER ETA WITH DASIA" #x1F21) - ("GREEK SMALL LETTER ETA WITH PSILI AND VARIA" #x1F22) - ("GREEK SMALL LETTER ETA WITH DASIA AND VARIA" #x1F23) - ("GREEK SMALL LETTER ETA WITH PSILI AND OXIA" #x1F24) - ("GREEK SMALL LETTER ETA WITH DASIA AND OXIA" #x1F25) - ("GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI" #x1F26) - ("GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI" #x1F27) - ("GREEK CAPITAL LETTER ETA WITH PSILI" #x1F28) - ("GREEK CAPITAL LETTER ETA WITH DASIA" #x1F29) - ("GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA" #x1F2A) - ("GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA" #x1F2B) - ("GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA" #x1F2C) - ("GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA" #x1F2D) - ("GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI" #x1F2E) - ("GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI" #x1F2F) - ("GREEK SMALL LETTER IOTA WITH PSILI" #x1F30) - ("GREEK SMALL LETTER IOTA WITH DASIA" #x1F31) - ("GREEK SMALL LETTER IOTA WITH PSILI AND VARIA" #x1F32) - ("GREEK SMALL LETTER IOTA WITH DASIA AND VARIA" #x1F33) - ("GREEK SMALL LETTER IOTA WITH PSILI AND OXIA" #x1F34) - ("GREEK SMALL LETTER IOTA WITH DASIA AND OXIA" #x1F35) - ("GREEK SMALL LETTER IOTA WITH PSILI AND PERISPOMENI" #x1F36) - ("GREEK SMALL LETTER IOTA WITH DASIA AND PERISPOMENI" #x1F37) - ("GREEK CAPITAL LETTER IOTA WITH PSILI" #x1F38) - ("GREEK CAPITAL LETTER IOTA WITH DASIA" #x1F39) - ("GREEK CAPITAL LETTER IOTA WITH PSILI AND VARIA" #x1F3A) - ("GREEK CAPITAL LETTER IOTA WITH DASIA AND VARIA" #x1F3B) - ("GREEK CAPITAL LETTER IOTA WITH PSILI AND OXIA" #x1F3C) - ("GREEK CAPITAL LETTER IOTA WITH DASIA AND OXIA" #x1F3D) - ("GREEK CAPITAL LETTER IOTA WITH PSILI AND PERISPOMENI" #x1F3E) - ("GREEK CAPITAL LETTER IOTA WITH DASIA AND PERISPOMENI" #x1F3F) - ("GREEK SMALL LETTER OMICRON WITH PSILI" #x1F40) - ("GREEK SMALL LETTER OMICRON WITH DASIA" #x1F41) - ("GREEK SMALL LETTER OMICRON WITH PSILI AND VARIA" #x1F42) - ("GREEK SMALL LETTER OMICRON WITH DASIA AND VARIA" #x1F43) - ("GREEK SMALL LETTER OMICRON WITH PSILI AND OXIA" #x1F44) - ("GREEK SMALL LETTER OMICRON WITH DASIA AND OXIA" #x1F45) - ("GREEK CAPITAL LETTER OMICRON WITH PSILI" #x1F48) - ("GREEK CAPITAL LETTER OMICRON WITH DASIA" #x1F49) - ("GREEK CAPITAL LETTER OMICRON WITH PSILI AND VARIA" #x1F4A) - ("GREEK CAPITAL LETTER OMICRON WITH DASIA AND VARIA" #x1F4B) - ("GREEK CAPITAL LETTER OMICRON WITH PSILI AND OXIA" #x1F4C) - ("GREEK CAPITAL LETTER OMICRON WITH DASIA AND OXIA" #x1F4D) - ("GREEK SMALL LETTER UPSILON WITH PSILI" #x1F50) - ("GREEK SMALL LETTER UPSILON WITH DASIA" #x1F51) - ("GREEK SMALL LETTER UPSILON WITH PSILI AND VARIA" #x1F52) - ("GREEK SMALL LETTER UPSILON WITH DASIA AND VARIA" #x1F53) - ("GREEK SMALL LETTER UPSILON WITH PSILI AND OXIA" #x1F54) - ("GREEK SMALL LETTER UPSILON WITH DASIA AND OXIA" #x1F55) - ("GREEK SMALL LETTER UPSILON WITH PSILI AND PERISPOMENI" #x1F56) - ("GREEK SMALL LETTER UPSILON WITH DASIA AND PERISPOMENI" #x1F57) - ("GREEK CAPITAL LETTER UPSILON WITH DASIA" #x1F59) - ("GREEK CAPITAL LETTER UPSILON WITH DASIA AND VARIA" #x1F5B) - ("GREEK CAPITAL LETTER UPSILON WITH DASIA AND OXIA" #x1F5D) - ("GREEK CAPITAL LETTER UPSILON WITH DASIA AND PERISPOMENI" #x1F5F) - ("GREEK SMALL LETTER OMEGA WITH PSILI" #x1F60) - ("GREEK SMALL LETTER OMEGA WITH DASIA" #x1F61) - ("GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA" #x1F62) - ("GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA" #x1F63) - ("GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA" #x1F64) - ("GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA" #x1F65) - ("GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI" #x1F66) - ("GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI" #x1F67) - ("GREEK CAPITAL LETTER OMEGA WITH PSILI" #x1F68) - ("GREEK CAPITAL LETTER OMEGA WITH DASIA" #x1F69) - ("GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA" #x1F6A) - ("GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA" #x1F6B) - ("GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA" #x1F6C) - ("GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA" #x1F6D) - ("GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI" #x1F6E) - ("GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI" #x1F6F) - ("GREEK SMALL LETTER ALPHA WITH VARIA" #x1F70) - ("GREEK SMALL LETTER ALPHA WITH OXIA" #x1F71) - ("GREEK SMALL LETTER EPSILON WITH VARIA" #x1F72) - ("GREEK SMALL LETTER EPSILON WITH OXIA" #x1F73) - ("GREEK SMALL LETTER ETA WITH VARIA" #x1F74) - ("GREEK SMALL LETTER ETA WITH OXIA" #x1F75) - ("GREEK SMALL LETTER IOTA WITH VARIA" #x1F76) - ("GREEK SMALL LETTER IOTA WITH OXIA" #x1F77) - ("GREEK SMALL LETTER OMICRON WITH VARIA" #x1F78) - ("GREEK SMALL LETTER OMICRON WITH OXIA" #x1F79) - ("GREEK SMALL LETTER UPSILON WITH VARIA" #x1F7A) - ("GREEK SMALL LETTER UPSILON WITH OXIA" #x1F7B) - ("GREEK SMALL LETTER OMEGA WITH VARIA" #x1F7C) - ("GREEK SMALL LETTER OMEGA WITH OXIA" #x1F7D) - ("GREEK SMALL LETTER ALPHA WITH PSILI AND YPOGEGRAMMENI" #x1F80) - ("GREEK SMALL LETTER ALPHA WITH DASIA AND YPOGEGRAMMENI" #x1F81) - ("GREEK SMALL LETTER ALPHA WITH PSILI AND VARIA AND YPOGEGRAMMENI" #x1F82) - ("GREEK SMALL LETTER ALPHA WITH DASIA AND VARIA AND YPOGEGRAMMENI" #x1F83) - ("GREEK SMALL LETTER ALPHA WITH PSILI AND OXIA AND YPOGEGRAMMENI" #x1F84) - ("GREEK SMALL LETTER ALPHA WITH DASIA AND OXIA AND YPOGEGRAMMENI" #x1F85) - ("GREEK SMALL LETTER ALPHA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI" #x1F86) - ("GREEK SMALL LETTER ALPHA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI" #x1F87) - ("GREEK CAPITAL LETTER ALPHA WITH PSILI AND PROSGEGRAMMENI" #x1F88) - ("GREEK CAPITAL LETTER ALPHA WITH DASIA AND PROSGEGRAMMENI" #x1F89) - ("GREEK CAPITAL LETTER ALPHA WITH PSILI AND VARIA AND PROSGEGRAMMENI" #x1F8A) - ("GREEK CAPITAL LETTER ALPHA WITH DASIA AND VARIA AND PROSGEGRAMMENI" #x1F8B) - ("GREEK CAPITAL LETTER ALPHA WITH PSILI AND OXIA AND PROSGEGRAMMENI" #x1F8C) - ("GREEK CAPITAL LETTER ALPHA WITH DASIA AND OXIA AND PROSGEGRAMMENI" #x1F8D) - ("GREEK CAPITAL LETTER ALPHA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI" #x1F8E) - ("GREEK CAPITAL LETTER ALPHA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI" #x1F8F) - ("GREEK SMALL LETTER ETA WITH PSILI AND YPOGEGRAMMENI" #x1F90) - ("GREEK SMALL LETTER ETA WITH DASIA AND YPOGEGRAMMENI" #x1F91) - ("GREEK SMALL LETTER ETA WITH PSILI AND VARIA AND YPOGEGRAMMENI" #x1F92) - ("GREEK SMALL LETTER ETA WITH DASIA AND VARIA AND YPOGEGRAMMENI" #x1F93) - ("GREEK SMALL LETTER ETA WITH PSILI AND OXIA AND YPOGEGRAMMENI" #x1F94) - ("GREEK SMALL LETTER ETA WITH DASIA AND OXIA AND YPOGEGRAMMENI" #x1F95) - ("GREEK SMALL LETTER ETA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI" #x1F96) - ("GREEK SMALL LETTER ETA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI" #x1F97) - ("GREEK CAPITAL LETTER ETA WITH PSILI AND PROSGEGRAMMENI" #x1F98) - ("GREEK CAPITAL LETTER ETA WITH DASIA AND PROSGEGRAMMENI" #x1F99) - ("GREEK CAPITAL LETTER ETA WITH PSILI AND VARIA AND PROSGEGRAMMENI" #x1F9A) - ("GREEK CAPITAL LETTER ETA WITH DASIA AND VARIA AND PROSGEGRAMMENI" #x1F9B) - ("GREEK CAPITAL LETTER ETA WITH PSILI AND OXIA AND PROSGEGRAMMENI" #x1F9C) - ("GREEK CAPITAL LETTER ETA WITH DASIA AND OXIA AND PROSGEGRAMMENI" #x1F9D) - ("GREEK CAPITAL LETTER ETA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI" #x1F9E) - ("GREEK CAPITAL LETTER ETA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI" #x1F9F) - ("GREEK SMALL LETTER OMEGA WITH PSILI AND YPOGEGRAMMENI" #x1FA0) - ("GREEK SMALL LETTER OMEGA WITH DASIA AND YPOGEGRAMMENI" #x1FA1) - ("GREEK SMALL LETTER OMEGA WITH PSILI AND VARIA AND YPOGEGRAMMENI" #x1FA2) - ("GREEK SMALL LETTER OMEGA WITH DASIA AND VARIA AND YPOGEGRAMMENI" #x1FA3) - ("GREEK SMALL LETTER OMEGA WITH PSILI AND OXIA AND YPOGEGRAMMENI" #x1FA4) - ("GREEK SMALL LETTER OMEGA WITH DASIA AND OXIA AND YPOGEGRAMMENI" #x1FA5) - ("GREEK SMALL LETTER OMEGA WITH PSILI AND PERISPOMENI AND YPOGEGRAMMENI" #x1FA6) - ("GREEK SMALL LETTER OMEGA WITH DASIA AND PERISPOMENI AND YPOGEGRAMMENI" #x1FA7) - ("GREEK CAPITAL LETTER OMEGA WITH PSILI AND PROSGEGRAMMENI" #x1FA8) - ("GREEK CAPITAL LETTER OMEGA WITH DASIA AND PROSGEGRAMMENI" #x1FA9) - ("GREEK CAPITAL LETTER OMEGA WITH PSILI AND VARIA AND PROSGEGRAMMENI" #x1FAA) - ("GREEK CAPITAL LETTER OMEGA WITH DASIA AND VARIA AND PROSGEGRAMMENI" #x1FAB) - ("GREEK CAPITAL LETTER OMEGA WITH PSILI AND OXIA AND PROSGEGRAMMENI" #x1FAC) - ("GREEK CAPITAL LETTER OMEGA WITH DASIA AND OXIA AND PROSGEGRAMMENI" #x1FAD) - ("GREEK CAPITAL LETTER OMEGA WITH PSILI AND PERISPOMENI AND PROSGEGRAMMENI" #x1FAE) - ("GREEK CAPITAL LETTER OMEGA WITH DASIA AND PERISPOMENI AND PROSGEGRAMMENI" #x1FAF) - ("GREEK SMALL LETTER ALPHA WITH VRACHY" #x1FB0) - ("GREEK SMALL LETTER ALPHA WITH MACRON" #x1FB1) - ("GREEK SMALL LETTER ALPHA WITH VARIA AND YPOGEGRAMMENI" #x1FB2) - ("GREEK SMALL LETTER ALPHA WITH YPOGEGRAMMENI" #x1FB3) - ("GREEK SMALL LETTER ALPHA WITH OXIA AND YPOGEGRAMMENI" #x1FB4) - ("GREEK SMALL LETTER ALPHA WITH PERISPOMENI" #x1FB6) - ("GREEK SMALL LETTER ALPHA WITH PERISPOMENI AND YPOGEGRAMMENI" #x1FB7) - ("GREEK CAPITAL LETTER ALPHA WITH VRACHY" #x1FB8) - ("GREEK CAPITAL LETTER ALPHA WITH MACRON" #x1FB9) - ("GREEK CAPITAL LETTER ALPHA WITH VARIA" #x1FBA) - ("GREEK CAPITAL LETTER ALPHA WITH OXIA" #x1FBB) - ("GREEK CAPITAL LETTER ALPHA WITH PROSGEGRAMMENI" #x1FBC) - ("GREEK KORONIS" #x1FBD) - ("GREEK PROSGEGRAMMENI" #x1FBE) - ("GREEK PSILI" #x1FBF) - ("GREEK PERISPOMENI" #x1FC0) - ("GREEK DIALYTIKA AND PERISPOMENI" #x1FC1) - ("GREEK SMALL LETTER ETA WITH VARIA AND YPOGEGRAMMENI" #x1FC2) - ("GREEK SMALL LETTER ETA WITH YPOGEGRAMMENI" #x1FC3) - ("GREEK SMALL LETTER ETA WITH OXIA AND YPOGEGRAMMENI" #x1FC4) - ("GREEK SMALL LETTER ETA WITH PERISPOMENI" #x1FC6) - ("GREEK SMALL LETTER ETA WITH PERISPOMENI AND YPOGEGRAMMENI" #x1FC7) - ("GREEK CAPITAL LETTER EPSILON WITH VARIA" #x1FC8) - ("GREEK CAPITAL LETTER EPSILON WITH OXIA" #x1FC9) - ("GREEK CAPITAL LETTER ETA WITH VARIA" #x1FCA) - ("GREEK CAPITAL LETTER ETA WITH OXIA" #x1FCB) - ("GREEK CAPITAL LETTER ETA WITH PROSGEGRAMMENI" #x1FCC) - ("GREEK PSILI AND VARIA" #x1FCD) - ("GREEK PSILI AND OXIA" #x1FCE) - ("GREEK PSILI AND PERISPOMENI" #x1FCF) - ("GREEK SMALL LETTER IOTA WITH VRACHY" #x1FD0) - ("GREEK SMALL LETTER IOTA WITH MACRON" #x1FD1) - ("GREEK SMALL LETTER IOTA WITH DIALYTIKA AND VARIA" #x1FD2) - ("GREEK SMALL LETTER IOTA WITH DIALYTIKA AND OXIA" #x1FD3) - ("GREEK SMALL LETTER IOTA WITH PERISPOMENI" #x1FD6) - ("GREEK SMALL LETTER IOTA WITH DIALYTIKA AND PERISPOMENI" #x1FD7) - ("GREEK CAPITAL LETTER IOTA WITH VRACHY" #x1FD8) - ("GREEK CAPITAL LETTER IOTA WITH MACRON" #x1FD9) - ("GREEK CAPITAL LETTER IOTA WITH VARIA" #x1FDA) - ("GREEK CAPITAL LETTER IOTA WITH OXIA" #x1FDB) - ("GREEK DASIA AND VARIA" #x1FDD) - ("GREEK DASIA AND OXIA" #x1FDE) - ("GREEK DASIA AND PERISPOMENI" #x1FDF) - ("GREEK SMALL LETTER UPSILON WITH VRACHY" #x1FE0) - ("GREEK SMALL LETTER UPSILON WITH MACRON" #x1FE1) - ("GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND VARIA" #x1FE2) - ("GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND OXIA" #x1FE3) - ("GREEK SMALL LETTER RHO WITH PSILI" #x1FE4) - ("GREEK SMALL LETTER RHO WITH DASIA" #x1FE5) - ("GREEK SMALL LETTER UPSILON WITH PERISPOMENI" #x1FE6) - ("GREEK SMALL LETTER UPSILON WITH DIALYTIKA AND PERISPOMENI" #x1FE7) - ("GREEK CAPITAL LETTER UPSILON WITH VRACHY" #x1FE8) - ("GREEK CAPITAL LETTER UPSILON WITH MACRON" #x1FE9) - ("GREEK CAPITAL LETTER UPSILON WITH VARIA" #x1FEA) - ("GREEK CAPITAL LETTER UPSILON WITH OXIA" #x1FEB) - ("GREEK CAPITAL LETTER RHO WITH DASIA" #x1FEC) - ("GREEK DIALYTIKA AND VARIA" #x1FED) - ("GREEK DIALYTIKA AND OXIA" #x1FEE) - ("GREEK VARIA" #x1FEF) - ("GREEK SMALL LETTER OMEGA WITH VARIA AND YPOGEGRAMMENI" #x1FF2) - ("GREEK SMALL LETTER OMEGA WITH YPOGEGRAMMENI" #x1FF3) - ("GREEK SMALL LETTER OMEGA WITH OXIA AND YPOGEGRAMMENI" #x1FF4) - ("GREEK SMALL LETTER OMEGA WITH PERISPOMENI" #x1FF6) - ("GREEK SMALL LETTER OMEGA WITH PERISPOMENI AND YPOGEGRAMMENI" #x1FF7) - ("GREEK CAPITAL LETTER OMICRON WITH VARIA" #x1FF8) - ("GREEK CAPITAL LETTER OMICRON WITH OXIA" #x1FF9) - ("GREEK CAPITAL LETTER OMEGA WITH VARIA" #x1FFA) - ("GREEK CAPITAL LETTER OMEGA WITH OXIA" #x1FFB) - ("GREEK CAPITAL LETTER OMEGA WITH PROSGEGRAMMENI" #x1FFC) - ("GREEK OXIA" #x1FFD) - ("GREEK DASIA" #x1FFE) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02000-0206F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02000-0206F.el deleted file mode 100644 index 54f6207cd4..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02000-0206F.el +++ /dev/null @@ -1,97 +0,0 @@ -(nxml-define-char-name-set 'general-punctuation - '(("EN QUAD" #x2000) - ("EM QUAD" #x2001) - ("EN SPACE" #x2002) - ("EM SPACE" #x2003) - ("THREE-PER-EM SPACE" #x2004) - ("FOUR-PER-EM SPACE" #x2005) - ("SIX-PER-EM SPACE" #x2006) - ("FIGURE SPACE" #x2007) - ("PUNCTUATION SPACE" #x2008) - ("THIN SPACE" #x2009) - ("HAIR SPACE" #x200A) - ("ZERO WIDTH SPACE" #x200B) - ("ZERO WIDTH NON-JOINER" #x200C) - ("ZERO WIDTH JOINER" #x200D) - ("LEFT-TO-RIGHT MARK" #x200E) - ("RIGHT-TO-LEFT MARK" #x200F) - ("HYPHEN" #x2010) - ("NON-BREAKING HYPHEN" #x2011) - ("FIGURE DASH" #x2012) - ("EN DASH" #x2013) - ("EM DASH" #x2014) - ("HORIZONTAL BAR" #x2015) - ("DOUBLE VERTICAL LINE" #x2016) - ("DOUBLE LOW LINE" #x2017) - ("LEFT SINGLE QUOTATION MARK" #x2018) - ("RIGHT SINGLE QUOTATION MARK" #x2019) - ("SINGLE LOW-9 QUOTATION MARK" #x201A) - ("SINGLE HIGH-REVERSED-9 QUOTATION MARK" #x201B) - ("LEFT DOUBLE QUOTATION MARK" #x201C) - ("RIGHT DOUBLE QUOTATION MARK" #x201D) - ("DOUBLE LOW-9 QUOTATION MARK" #x201E) - ("DOUBLE HIGH-REVERSED-9 QUOTATION MARK" #x201F) - ("DAGGER" #x2020) - ("DOUBLE DAGGER" #x2021) - ("BULLET" #x2022) - ("TRIANGULAR BULLET" #x2023) - ("ONE DOT LEADER" #x2024) - ("TWO DOT LEADER" #x2025) - ("HORIZONTAL ELLIPSIS" #x2026) - ("HYPHENATION POINT" #x2027) - ("LINE SEPARATOR" #x2028) - ("PARAGRAPH SEPARATOR" #x2029) - ("LEFT-TO-RIGHT EMBEDDING" #x202A) - ("RIGHT-TO-LEFT EMBEDDING" #x202B) - ("POP DIRECTIONAL FORMATTING" #x202C) - ("LEFT-TO-RIGHT OVERRIDE" #x202D) - ("RIGHT-TO-LEFT OVERRIDE" #x202E) - ("NARROW NO-BREAK SPACE" #x202F) - ("PER MILLE SIGN" #x2030) - ("PER TEN THOUSAND SIGN" #x2031) - ("PRIME" #x2032) - ("DOUBLE PRIME" #x2033) - ("TRIPLE PRIME" #x2034) - ("REVERSED PRIME" #x2035) - ("REVERSED DOUBLE PRIME" #x2036) - ("REVERSED TRIPLE PRIME" #x2037) - ("CARET" #x2038) - ("SINGLE LEFT-POINTING ANGLE QUOTATION MARK" #x2039) - ("SINGLE RIGHT-POINTING ANGLE QUOTATION MARK" #x203A) - ("REFERENCE MARK" #x203B) - ("DOUBLE EXCLAMATION MARK" #x203C) - ("INTERROBANG" #x203D) - ("OVERLINE" #x203E) - ("UNDERTIE" #x203F) - ("CHARACTER TIE" #x2040) - ("CARET INSERTION POINT" #x2041) - ("ASTERISM" #x2042) - ("HYPHEN BULLET" #x2043) - ("FRACTION SLASH" #x2044) - ("LEFT SQUARE BRACKET WITH QUILL" #x2045) - ("RIGHT SQUARE BRACKET WITH QUILL" #x2046) - ("DOUBLE QUESTION MARK" #x2047) - ("QUESTION EXCLAMATION MARK" #x2048) - ("EXCLAMATION QUESTION MARK" #x2049) - ("TIRONIAN SIGN ET" #x204A) - ("REVERSED PILCROW SIGN" #x204B) - ("BLACK LEFTWARDS BULLET" #x204C) - ("BLACK RIGHTWARDS BULLET" #x204D) - ("LOW ASTERISK" #x204E) - ("REVERSED SEMICOLON" #x204F) - ("CLOSE UP" #x2050) - ("TWO ASTERISKS ALIGNED VERTICALLY" #x2051) - ("COMMERCIAL MINUS SIGN" #x2052) - ("QUADRUPLE PRIME" #x2057) - ("MEDIUM MATHEMATICAL SPACE" #x205F) - ("WORD JOINER" #x2060) - ("FUNCTION APPLICATION" #x2061) - ("INVISIBLE TIMES" #x2062) - ("INVISIBLE SEPARATOR" #x2063) - ("INHIBIT SYMMETRIC SWAPPING" #x206A) - ("ACTIVATE SYMMETRIC SWAPPING" #x206B) - ("INHIBIT ARABIC FORM SHAPING" #x206C) - ("ACTIVATE ARABIC FORM SHAPING" #x206D) - ("NATIONAL DIGIT SHAPES" #x206E) - ("NOMINAL DIGIT SHAPES" #x206F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02070-0209F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02070-0209F.el deleted file mode 100644 index 5d37880fd6..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02070-0209F.el +++ /dev/null @@ -1,31 +0,0 @@ -(nxml-define-char-name-set 'superscripts-and-subscripts - '(("SUPERSCRIPT ZERO" #x2070) - ("SUPERSCRIPT LATIN SMALL LETTER I" #x2071) - ("SUPERSCRIPT FOUR" #x2074) - ("SUPERSCRIPT FIVE" #x2075) - ("SUPERSCRIPT SIX" #x2076) - ("SUPERSCRIPT SEVEN" #x2077) - ("SUPERSCRIPT EIGHT" #x2078) - ("SUPERSCRIPT NINE" #x2079) - ("SUPERSCRIPT PLUS SIGN" #x207A) - ("SUPERSCRIPT MINUS" #x207B) - ("SUPERSCRIPT EQUALS SIGN" #x207C) - ("SUPERSCRIPT LEFT PARENTHESIS" #x207D) - ("SUPERSCRIPT RIGHT PARENTHESIS" #x207E) - ("SUPERSCRIPT LATIN SMALL LETTER N" #x207F) - ("SUBSCRIPT ZERO" #x2080) - ("SUBSCRIPT ONE" #x2081) - ("SUBSCRIPT TWO" #x2082) - ("SUBSCRIPT THREE" #x2083) - ("SUBSCRIPT FOUR" #x2084) - ("SUBSCRIPT FIVE" #x2085) - ("SUBSCRIPT SIX" #x2086) - ("SUBSCRIPT SEVEN" #x2087) - ("SUBSCRIPT EIGHT" #x2088) - ("SUBSCRIPT NINE" #x2089) - ("SUBSCRIPT PLUS SIGN" #x208A) - ("SUBSCRIPT MINUS" #x208B) - ("SUBSCRIPT EQUALS SIGN" #x208C) - ("SUBSCRIPT LEFT PARENTHESIS" #x208D) - ("SUBSCRIPT RIGHT PARENTHESIS" #x208E) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/020A0-020CF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/020A0-020CF.el deleted file mode 100644 index 1cab37edcb..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/020A0-020CF.el +++ /dev/null @@ -1,20 +0,0 @@ -(nxml-define-char-name-set 'currency-symbols - '(("EURO-CURRENCY SIGN" #x20A0) - ("COLON SIGN" #x20A1) - ("CRUZEIRO SIGN" #x20A2) - ("FRENCH FRANC SIGN" #x20A3) - ("LIRA SIGN" #x20A4) - ("MILL SIGN" #x20A5) - ("NAIRA SIGN" #x20A6) - ("PESETA SIGN" #x20A7) - ("RUPEE SIGN" #x20A8) - ("WON SIGN" #x20A9) - ("NEW SHEQEL SIGN" #x20AA) - ("DONG SIGN" #x20AB) - ("EURO SIGN" #x20AC) - ("KIP SIGN" #x20AD) - ("TUGRIK SIGN" #x20AE) - ("DRACHMA SIGN" #x20AF) - ("GERMAN PENNY SIGN" #x20B0) - ("PESO SIGN" #x20B1) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/020D0-020FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/020D0-020FF.el deleted file mode 100644 index e610d399d4..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/020D0-020FF.el +++ /dev/null @@ -1,29 +0,0 @@ -(nxml-define-char-name-set 'combining-diacritical-marks-for-symbols - '(("COMBINING LEFT HARPOON ABOVE" #x20D0) - ("COMBINING RIGHT HARPOON ABOVE" #x20D1) - ("COMBINING LONG VERTICAL LINE OVERLAY" #x20D2) - ("COMBINING SHORT VERTICAL LINE OVERLAY" #x20D3) - ("COMBINING ANTICLOCKWISE ARROW ABOVE" #x20D4) - ("COMBINING CLOCKWISE ARROW ABOVE" #x20D5) - ("COMBINING LEFT ARROW ABOVE" #x20D6) - ("COMBINING RIGHT ARROW ABOVE" #x20D7) - ("COMBINING RING OVERLAY" #x20D8) - ("COMBINING CLOCKWISE RING OVERLAY" #x20D9) - ("COMBINING ANTICLOCKWISE RING OVERLAY" #x20DA) - ("COMBINING THREE DOTS ABOVE" #x20DB) - ("COMBINING FOUR DOTS ABOVE" #x20DC) - ("COMBINING ENCLOSING CIRCLE" #x20DD) - ("COMBINING ENCLOSING SQUARE" #x20DE) - ("COMBINING ENCLOSING DIAMOND" #x20DF) - ("COMBINING ENCLOSING CIRCLE BACKSLASH" #x20E0) - ("COMBINING LEFT RIGHT ARROW ABOVE" #x20E1) - ("COMBINING ENCLOSING SCREEN" #x20E2) - ("COMBINING ENCLOSING KEYCAP" #x20E3) - ("COMBINING ENCLOSING UPWARD POINTING TRIANGLE" #x20E4) - ("COMBINING REVERSE SOLIDUS OVERLAY" #x20E5) - ("COMBINING DOUBLE VERTICAL STROKE OVERLAY" #x20E6) - ("COMBINING ANNUITY SYMBOL" #x20E7) - ("COMBINING TRIPLE UNDERDOT" #x20E8) - ("COMBINING WIDE BRIDGE ABOVE" #x20E9) - ("COMBINING LEFTWARDS ARROW OVERLAY" #x20EA) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02100-0214F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02100-0214F.el deleted file mode 100644 index bdf929f654..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02100-0214F.el +++ /dev/null @@ -1,76 +0,0 @@ -(nxml-define-char-name-set 'letterlike-symbols - '(("ACCOUNT OF" #x2100) - ("ADDRESSED TO THE SUBJECT" #x2101) - ("DOUBLE-STRUCK CAPITAL C" #x2102) - ("DEGREE CELSIUS" #x2103) - ("CENTRE LINE SYMBOL" #x2104) - ("CARE OF" #x2105) - ("CADA UNA" #x2106) - ("EULER CONSTANT" #x2107) - ("SCRUPLE" #x2108) - ("DEGREE FAHRENHEIT" #x2109) - ("SCRIPT SMALL G" #x210A) - ("SCRIPT CAPITAL H" #x210B) - ("BLACK-LETTER CAPITAL H" #x210C) - ("DOUBLE-STRUCK CAPITAL H" #x210D) - ("PLANCK CONSTANT" #x210E) - ("PLANCK CONSTANT OVER TWO PI" #x210F) - ("SCRIPT CAPITAL I" #x2110) - ("BLACK-LETTER CAPITAL I" #x2111) - ("SCRIPT CAPITAL L" #x2112) - ("SCRIPT SMALL L" #x2113) - ("L B BAR SYMBOL" #x2114) - ("DOUBLE-STRUCK CAPITAL N" #x2115) - ("NUMERO SIGN" #x2116) - ("SOUND RECORDING COPYRIGHT" #x2117) - ("SCRIPT CAPITAL P" #x2118) - ("DOUBLE-STRUCK CAPITAL P" #x2119) - ("DOUBLE-STRUCK CAPITAL Q" #x211A) - ("SCRIPT CAPITAL R" #x211B) - ("BLACK-LETTER CAPITAL R" #x211C) - ("DOUBLE-STRUCK CAPITAL R" #x211D) - ("PRESCRIPTION TAKE" #x211E) - ("RESPONSE" #x211F) - ("SERVICE MARK" #x2120) - ("TELEPHONE SIGN" #x2121) - ("TRADE MARK SIGN" #x2122) - ("VERSICLE" #x2123) - ("DOUBLE-STRUCK CAPITAL Z" #x2124) - ("OUNCE SIGN" #x2125) - ("OHM SIGN" #x2126) - ("INVERTED OHM SIGN" #x2127) - ("BLACK-LETTER CAPITAL Z" #x2128) - ("TURNED GREEK SMALL LETTER IOTA" #x2129) - ("KELVIN SIGN" #x212A) - ("ANGSTROM SIGN" #x212B) - ("SCRIPT CAPITAL B" #x212C) - ("BLACK-LETTER CAPITAL C" #x212D) - ("ESTIMATED SYMBOL" #x212E) - ("SCRIPT SMALL E" #x212F) - ("SCRIPT CAPITAL E" #x2130) - ("SCRIPT CAPITAL F" #x2131) - ("TURNED CAPITAL F" #x2132) - ("SCRIPT CAPITAL M" #x2133) - ("SCRIPT SMALL O" #x2134) - ("ALEF SYMBOL" #x2135) - ("BET SYMBOL" #x2136) - ("GIMEL SYMBOL" #x2137) - ("DALET SYMBOL" #x2138) - ("INFORMATION SOURCE" #x2139) - ("ROTATED CAPITAL Q" #x213A) - ("DOUBLE-STRUCK SMALL GAMMA" #x213D) - ("DOUBLE-STRUCK CAPITAL GAMMA" #x213E) - ("DOUBLE-STRUCK CAPITAL PI" #x213F) - ("DOUBLE-STRUCK N-ARY SUMMATION" #x2140) - ("TURNED SANS-SERIF CAPITAL G" #x2141) - ("TURNED SANS-SERIF CAPITAL L" #x2142) - ("REVERSED SANS-SERIF CAPITAL L" #x2143) - ("TURNED SANS-SERIF CAPITAL Y" #x2144) - ("DOUBLE-STRUCK ITALIC CAPITAL D" #x2145) - ("DOUBLE-STRUCK ITALIC SMALL D" #x2146) - ("DOUBLE-STRUCK ITALIC SMALL E" #x2147) - ("DOUBLE-STRUCK ITALIC SMALL I" #x2148) - ("DOUBLE-STRUCK ITALIC SMALL J" #x2149) - ("PROPERTY LINE" #x214A) - ("TURNED AMPERSAND" #x214B) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02150-0218F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02150-0218F.el deleted file mode 100644 index 4300c49780..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02150-0218F.el +++ /dev/null @@ -1,51 +0,0 @@ -(nxml-define-char-name-set 'number-forms - '(("VULGAR FRACTION ONE THIRD" #x2153) - ("VULGAR FRACTION TWO THIRDS" #x2154) - ("VULGAR FRACTION ONE FIFTH" #x2155) - ("VULGAR FRACTION TWO FIFTHS" #x2156) - ("VULGAR FRACTION THREE FIFTHS" #x2157) - ("VULGAR FRACTION FOUR FIFTHS" #x2158) - ("VULGAR FRACTION ONE SIXTH" #x2159) - ("VULGAR FRACTION FIVE SIXTHS" #x215A) - ("VULGAR FRACTION ONE EIGHTH" #x215B) - ("VULGAR FRACTION THREE EIGHTHS" #x215C) - ("VULGAR FRACTION FIVE EIGHTHS" #x215D) - ("VULGAR FRACTION SEVEN EIGHTHS" #x215E) - ("FRACTION NUMERATOR ONE" #x215F) - ("ROMAN NUMERAL ONE" #x2160) - ("ROMAN NUMERAL TWO" #x2161) - ("ROMAN NUMERAL THREE" #x2162) - ("ROMAN NUMERAL FOUR" #x2163) - ("ROMAN NUMERAL FIVE" #x2164) - ("ROMAN NUMERAL SIX" #x2165) - ("ROMAN NUMERAL SEVEN" #x2166) - ("ROMAN NUMERAL EIGHT" #x2167) - ("ROMAN NUMERAL NINE" #x2168) - ("ROMAN NUMERAL TEN" #x2169) - ("ROMAN NUMERAL ELEVEN" #x216A) - ("ROMAN NUMERAL TWELVE" #x216B) - ("ROMAN NUMERAL FIFTY" #x216C) - ("ROMAN NUMERAL ONE HUNDRED" #x216D) - ("ROMAN NUMERAL FIVE HUNDRED" #x216E) - ("ROMAN NUMERAL ONE THOUSAND" #x216F) - ("SMALL ROMAN NUMERAL ONE" #x2170) - ("SMALL ROMAN NUMERAL TWO" #x2171) - ("SMALL ROMAN NUMERAL THREE" #x2172) - ("SMALL ROMAN NUMERAL FOUR" #x2173) - ("SMALL ROMAN NUMERAL FIVE" #x2174) - ("SMALL ROMAN NUMERAL SIX" #x2175) - ("SMALL ROMAN NUMERAL SEVEN" #x2176) - ("SMALL ROMAN NUMERAL EIGHT" #x2177) - ("SMALL ROMAN NUMERAL NINE" #x2178) - ("SMALL ROMAN NUMERAL TEN" #x2179) - ("SMALL ROMAN NUMERAL ELEVEN" #x217A) - ("SMALL ROMAN NUMERAL TWELVE" #x217B) - ("SMALL ROMAN NUMERAL FIFTY" #x217C) - ("SMALL ROMAN NUMERAL ONE HUNDRED" #x217D) - ("SMALL ROMAN NUMERAL FIVE HUNDRED" #x217E) - ("SMALL ROMAN NUMERAL ONE THOUSAND" #x217F) - ("ROMAN NUMERAL ONE THOUSAND C D" #x2180) - ("ROMAN NUMERAL FIVE THOUSAND" #x2181) - ("ROMAN NUMERAL TEN THOUSAND" #x2182) - ("ROMAN NUMERAL REVERSED ONE HUNDRED" #x2183) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02190-021FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02190-021FF.el deleted file mode 100644 index 88989ed7b6..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02190-021FF.el +++ /dev/null @@ -1,114 +0,0 @@ -(nxml-define-char-name-set 'arrows - '(("LEFTWARDS ARROW" #x2190) - ("UPWARDS ARROW" #x2191) - ("RIGHTWARDS ARROW" #x2192) - ("DOWNWARDS ARROW" #x2193) - ("LEFT RIGHT ARROW" #x2194) - ("UP DOWN ARROW" #x2195) - ("NORTH WEST ARROW" #x2196) - ("NORTH EAST ARROW" #x2197) - ("SOUTH EAST ARROW" #x2198) - ("SOUTH WEST ARROW" #x2199) - ("LEFTWARDS ARROW WITH STROKE" #x219A) - ("RIGHTWARDS ARROW WITH STROKE" #x219B) - ("LEFTWARDS WAVE ARROW" #x219C) - ("RIGHTWARDS WAVE ARROW" #x219D) - ("LEFTWARDS TWO HEADED ARROW" #x219E) - ("UPWARDS TWO HEADED ARROW" #x219F) - ("RIGHTWARDS TWO HEADED ARROW" #x21A0) - ("DOWNWARDS TWO HEADED ARROW" #x21A1) - ("LEFTWARDS ARROW WITH TAIL" #x21A2) - ("RIGHTWARDS ARROW WITH TAIL" #x21A3) - ("LEFTWARDS ARROW FROM BAR" #x21A4) - ("UPWARDS ARROW FROM BAR" #x21A5) - ("RIGHTWARDS ARROW FROM BAR" #x21A6) - ("DOWNWARDS ARROW FROM BAR" #x21A7) - ("UP DOWN ARROW WITH BASE" #x21A8) - ("LEFTWARDS ARROW WITH HOOK" #x21A9) - ("RIGHTWARDS ARROW WITH HOOK" #x21AA) - ("LEFTWARDS ARROW WITH LOOP" #x21AB) - ("RIGHTWARDS ARROW WITH LOOP" #x21AC) - ("LEFT RIGHT WAVE ARROW" #x21AD) - ("LEFT RIGHT ARROW WITH STROKE" #x21AE) - ("DOWNWARDS ZIGZAG ARROW" #x21AF) - ("UPWARDS ARROW WITH TIP LEFTWARDS" #x21B0) - ("UPWARDS ARROW WITH TIP RIGHTWARDS" #x21B1) - ("DOWNWARDS ARROW WITH TIP LEFTWARDS" #x21B2) - ("DOWNWARDS ARROW WITH TIP RIGHTWARDS" #x21B3) - ("RIGHTWARDS ARROW WITH CORNER DOWNWARDS" #x21B4) - ("DOWNWARDS ARROW WITH CORNER LEFTWARDS" #x21B5) - ("ANTICLOCKWISE TOP SEMICIRCLE ARROW" #x21B6) - ("CLOCKWISE TOP SEMICIRCLE ARROW" #x21B7) - ("NORTH WEST ARROW TO LONG BAR" #x21B8) - ("LEFTWARDS ARROW TO BAR OVER RIGHTWARDS ARROW TO BAR" #x21B9) - ("ANTICLOCKWISE OPEN CIRCLE ARROW" #x21BA) - ("CLOCKWISE OPEN CIRCLE ARROW" #x21BB) - ("LEFTWARDS HARPOON WITH BARB UPWARDS" #x21BC) - ("LEFTWARDS HARPOON WITH BARB DOWNWARDS" #x21BD) - ("UPWARDS HARPOON WITH BARB RIGHTWARDS" #x21BE) - ("UPWARDS HARPOON WITH BARB LEFTWARDS" #x21BF) - ("RIGHTWARDS HARPOON WITH BARB UPWARDS" #x21C0) - ("RIGHTWARDS HARPOON WITH BARB DOWNWARDS" #x21C1) - ("DOWNWARDS HARPOON WITH BARB RIGHTWARDS" #x21C2) - ("DOWNWARDS HARPOON WITH BARB LEFTWARDS" #x21C3) - ("RIGHTWARDS ARROW OVER LEFTWARDS ARROW" #x21C4) - ("UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW" #x21C5) - ("LEFTWARDS ARROW OVER RIGHTWARDS ARROW" #x21C6) - ("LEFTWARDS PAIRED ARROWS" #x21C7) - ("UPWARDS PAIRED ARROWS" #x21C8) - ("RIGHTWARDS PAIRED ARROWS" #x21C9) - ("DOWNWARDS PAIRED ARROWS" #x21CA) - ("LEFTWARDS HARPOON OVER RIGHTWARDS HARPOON" #x21CB) - ("RIGHTWARDS HARPOON OVER LEFTWARDS HARPOON" #x21CC) - ("LEFTWARDS DOUBLE ARROW WITH STROKE" #x21CD) - ("LEFT RIGHT DOUBLE ARROW WITH STROKE" #x21CE) - ("RIGHTWARDS DOUBLE ARROW WITH STROKE" #x21CF) - ("LEFTWARDS DOUBLE ARROW" #x21D0) - ("UPWARDS DOUBLE ARROW" #x21D1) - ("RIGHTWARDS DOUBLE ARROW" #x21D2) - ("DOWNWARDS DOUBLE ARROW" #x21D3) - ("LEFT RIGHT DOUBLE ARROW" #x21D4) - ("UP DOWN DOUBLE ARROW" #x21D5) - ("NORTH WEST DOUBLE ARROW" #x21D6) - ("NORTH EAST DOUBLE ARROW" #x21D7) - ("SOUTH EAST DOUBLE ARROW" #x21D8) - ("SOUTH WEST DOUBLE ARROW" #x21D9) - ("LEFTWARDS TRIPLE ARROW" #x21DA) - ("RIGHTWARDS TRIPLE ARROW" #x21DB) - ("LEFTWARDS SQUIGGLE ARROW" #x21DC) - ("RIGHTWARDS SQUIGGLE ARROW" #x21DD) - ("UPWARDS ARROW WITH DOUBLE STROKE" #x21DE) - ("DOWNWARDS ARROW WITH DOUBLE STROKE" #x21DF) - ("LEFTWARDS DASHED ARROW" #x21E0) - ("UPWARDS DASHED ARROW" #x21E1) - ("RIGHTWARDS DASHED ARROW" #x21E2) - ("DOWNWARDS DASHED ARROW" #x21E3) - ("LEFTWARDS ARROW TO BAR" #x21E4) - ("RIGHTWARDS ARROW TO BAR" #x21E5) - ("LEFTWARDS WHITE ARROW" #x21E6) - ("UPWARDS WHITE ARROW" #x21E7) - ("RIGHTWARDS WHITE ARROW" #x21E8) - ("DOWNWARDS WHITE ARROW" #x21E9) - ("UPWARDS WHITE ARROW FROM BAR" #x21EA) - ("UPWARDS WHITE ARROW ON PEDESTAL" #x21EB) - ("UPWARDS WHITE ARROW ON PEDESTAL WITH HORIZONTAL BAR" #x21EC) - ("UPWARDS WHITE ARROW ON PEDESTAL WITH VERTICAL BAR" #x21ED) - ("UPWARDS WHITE DOUBLE ARROW" #x21EE) - ("UPWARDS WHITE DOUBLE ARROW ON PEDESTAL" #x21EF) - ("RIGHTWARDS WHITE ARROW FROM WALL" #x21F0) - ("NORTH WEST ARROW TO CORNER" #x21F1) - ("SOUTH EAST ARROW TO CORNER" #x21F2) - ("UP DOWN WHITE ARROW" #x21F3) - ("RIGHT ARROW WITH SMALL CIRCLE" #x21F4) - ("DOWNWARDS ARROW LEFTWARDS OF UPWARDS ARROW" #x21F5) - ("THREE RIGHTWARDS ARROWS" #x21F6) - ("LEFTWARDS ARROW WITH VERTICAL STROKE" #x21F7) - ("RIGHTWARDS ARROW WITH VERTICAL STROKE" #x21F8) - ("LEFT RIGHT ARROW WITH VERTICAL STROKE" #x21F9) - ("LEFTWARDS ARROW WITH DOUBLE VERTICAL STROKE" #x21FA) - ("RIGHTWARDS ARROW WITH DOUBLE VERTICAL STROKE" #x21FB) - ("LEFT RIGHT ARROW WITH DOUBLE VERTICAL STROKE" #x21FC) - ("LEFTWARDS OPEN-HEADED ARROW" #x21FD) - ("RIGHTWARDS OPEN-HEADED ARROW" #x21FE) - ("LEFT RIGHT OPEN-HEADED ARROW" #x21FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02200-022FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02200-022FF.el deleted file mode 100644 index a28f77853d..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02200-022FF.el +++ /dev/null @@ -1,258 +0,0 @@ -(nxml-define-char-name-set 'mathematical-operators - '(("FOR ALL" #x2200) - ("COMPLEMENT" #x2201) - ("PARTIAL DIFFERENTIAL" #x2202) - ("THERE EXISTS" #x2203) - ("THERE DOES NOT EXIST" #x2204) - ("EMPTY SET" #x2205) - ("INCREMENT" #x2206) - ("NABLA" #x2207) - ("ELEMENT OF" #x2208) - ("NOT AN ELEMENT OF" #x2209) - ("SMALL ELEMENT OF" #x220A) - ("CONTAINS AS MEMBER" #x220B) - ("DOES NOT CONTAIN AS MEMBER" #x220C) - ("SMALL CONTAINS AS MEMBER" #x220D) - ("END OF PROOF" #x220E) - ("N-ARY PRODUCT" #x220F) - ("N-ARY COPRODUCT" #x2210) - ("N-ARY SUMMATION" #x2211) - ("MINUS SIGN" #x2212) - ("MINUS-OR-PLUS SIGN" #x2213) - ("DOT PLUS" #x2214) - ("DIVISION SLASH" #x2215) - ("SET MINUS" #x2216) - ("ASTERISK OPERATOR" #x2217) - ("RING OPERATOR" #x2218) - ("BULLET OPERATOR" #x2219) - ("SQUARE ROOT" #x221A) - ("CUBE ROOT" #x221B) - ("FOURTH ROOT" #x221C) - ("PROPORTIONAL TO" #x221D) - ("INFINITY" #x221E) - ("RIGHT ANGLE" #x221F) - ("ANGLE" #x2220) - ("MEASURED ANGLE" #x2221) - ("SPHERICAL ANGLE" #x2222) - ("DIVIDES" #x2223) - ("DOES NOT DIVIDE" #x2224) - ("PARALLEL TO" #x2225) - ("NOT PARALLEL TO" #x2226) - ("LOGICAL AND" #x2227) - ("LOGICAL OR" #x2228) - ("INTERSECTION" #x2229) - ("UNION" #x222A) - ("INTEGRAL" #x222B) - ("DOUBLE INTEGRAL" #x222C) - ("TRIPLE INTEGRAL" #x222D) - ("CONTOUR INTEGRAL" #x222E) - ("SURFACE INTEGRAL" #x222F) - ("VOLUME INTEGRAL" #x2230) - ("CLOCKWISE INTEGRAL" #x2231) - ("CLOCKWISE CONTOUR INTEGRAL" #x2232) - ("ANTICLOCKWISE CONTOUR INTEGRAL" #x2233) - ("THEREFORE" #x2234) - ("BECAUSE" #x2235) - ("RATIO" #x2236) - ("PROPORTION" #x2237) - ("DOT MINUS" #x2238) - ("EXCESS" #x2239) - ("GEOMETRIC PROPORTION" #x223A) - ("HOMOTHETIC" #x223B) - ("TILDE OPERATOR" #x223C) - ("REVERSED TILDE" #x223D) - ("INVERTED LAZY S" #x223E) - ("SINE WAVE" #x223F) - ("WREATH PRODUCT" #x2240) - ("NOT TILDE" #x2241) - ("MINUS TILDE" #x2242) - ("ASYMPTOTICALLY EQUAL TO" #x2243) - ("NOT ASYMPTOTICALLY EQUAL TO" #x2244) - ("APPROXIMATELY EQUAL TO" #x2245) - ("APPROXIMATELY BUT NOT ACTUALLY EQUAL TO" #x2246) - ("NEITHER APPROXIMATELY NOR ACTUALLY EQUAL TO" #x2247) - ("ALMOST EQUAL TO" #x2248) - ("NOT ALMOST EQUAL TO" #x2249) - ("ALMOST EQUAL OR EQUAL TO" #x224A) - ("TRIPLE TILDE" #x224B) - ("ALL EQUAL TO" #x224C) - ("EQUIVALENT TO" #x224D) - ("GEOMETRICALLY EQUIVALENT TO" #x224E) - ("DIFFERENCE BETWEEN" #x224F) - ("APPROACHES THE LIMIT" #x2250) - ("GEOMETRICALLY EQUAL TO" #x2251) - ("APPROXIMATELY EQUAL TO OR THE IMAGE OF" #x2252) - ("IMAGE OF OR APPROXIMATELY EQUAL TO" #x2253) - ("COLON EQUALS" #x2254) - ("EQUALS COLON" #x2255) - ("RING IN EQUAL TO" #x2256) - ("RING EQUAL TO" #x2257) - ("CORRESPONDS TO" #x2258) - ("ESTIMATES" #x2259) - ("EQUIANGULAR TO" #x225A) - ("STAR EQUALS" #x225B) - ("DELTA EQUAL TO" #x225C) - ("EQUAL TO BY DEFINITION" #x225D) - ("MEASURED BY" #x225E) - ("QUESTIONED EQUAL TO" #x225F) - ("NOT EQUAL TO" #x2260) - ("IDENTICAL TO" #x2261) - ("NOT IDENTICAL TO" #x2262) - ("STRICTLY EQUIVALENT TO" #x2263) - ("LESS-THAN OR EQUAL TO" #x2264) - ("GREATER-THAN OR EQUAL TO" #x2265) - ("LESS-THAN OVER EQUAL TO" #x2266) - ("GREATER-THAN OVER EQUAL TO" #x2267) - ("LESS-THAN BUT NOT EQUAL TO" #x2268) - ("GREATER-THAN BUT NOT EQUAL TO" #x2269) - ("MUCH LESS-THAN" #x226A) - ("MUCH GREATER-THAN" #x226B) - ("BETWEEN" #x226C) - ("NOT EQUIVALENT TO" #x226D) - ("NOT LESS-THAN" #x226E) - ("NOT GREATER-THAN" #x226F) - ("NEITHER LESS-THAN NOR EQUAL TO" #x2270) - ("NEITHER GREATER-THAN NOR EQUAL TO" #x2271) - ("LESS-THAN OR EQUIVALENT TO" #x2272) - ("GREATER-THAN OR EQUIVALENT TO" #x2273) - ("NEITHER LESS-THAN NOR EQUIVALENT TO" #x2274) - ("NEITHER GREATER-THAN NOR EQUIVALENT TO" #x2275) - ("LESS-THAN OR GREATER-THAN" #x2276) - ("GREATER-THAN OR LESS-THAN" #x2277) - ("NEITHER LESS-THAN NOR GREATER-THAN" #x2278) - ("NEITHER GREATER-THAN NOR LESS-THAN" #x2279) - ("PRECEDES" #x227A) - ("SUCCEEDS" #x227B) - ("PRECEDES OR EQUAL TO" #x227C) - ("SUCCEEDS OR EQUAL TO" #x227D) - ("PRECEDES OR EQUIVALENT TO" #x227E) - ("SUCCEEDS OR EQUIVALENT TO" #x227F) - ("DOES NOT PRECEDE" #x2280) - ("DOES NOT SUCCEED" #x2281) - ("SUBSET OF" #x2282) - ("SUPERSET OF" #x2283) - ("NOT A SUBSET OF" #x2284) - ("NOT A SUPERSET OF" #x2285) - ("SUBSET OF OR EQUAL TO" #x2286) - ("SUPERSET OF OR EQUAL TO" #x2287) - ("NEITHER A SUBSET OF NOR EQUAL TO" #x2288) - ("NEITHER A SUPERSET OF NOR EQUAL TO" #x2289) - ("SUBSET OF WITH NOT EQUAL TO" #x228A) - ("SUPERSET OF WITH NOT EQUAL TO" #x228B) - ("MULTISET" #x228C) - ("MULTISET MULTIPLICATION" #x228D) - ("MULTISET UNION" #x228E) - ("SQUARE IMAGE OF" #x228F) - ("SQUARE ORIGINAL OF" #x2290) - ("SQUARE IMAGE OF OR EQUAL TO" #x2291) - ("SQUARE ORIGINAL OF OR EQUAL TO" #x2292) - ("SQUARE CAP" #x2293) - ("SQUARE CUP" #x2294) - ("CIRCLED PLUS" #x2295) - ("CIRCLED MINUS" #x2296) - ("CIRCLED TIMES" #x2297) - ("CIRCLED DIVISION SLASH" #x2298) - ("CIRCLED DOT OPERATOR" #x2299) - ("CIRCLED RING OPERATOR" #x229A) - ("CIRCLED ASTERISK OPERATOR" #x229B) - ("CIRCLED EQUALS" #x229C) - ("CIRCLED DASH" #x229D) - ("SQUARED PLUS" #x229E) - ("SQUARED MINUS" #x229F) - ("SQUARED TIMES" #x22A0) - ("SQUARED DOT OPERATOR" #x22A1) - ("RIGHT TACK" #x22A2) - ("LEFT TACK" #x22A3) - ("DOWN TACK" #x22A4) - ("UP TACK" #x22A5) - ("ASSERTION" #x22A6) - ("MODELS" #x22A7) - ("TRUE" #x22A8) - ("FORCES" #x22A9) - ("TRIPLE VERTICAL BAR RIGHT TURNSTILE" #x22AA) - ("DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE" #x22AB) - ("DOES NOT PROVE" #x22AC) - ("NOT TRUE" #x22AD) - ("DOES NOT FORCE" #x22AE) - ("NEGATED DOUBLE VERTICAL BAR DOUBLE RIGHT TURNSTILE" #x22AF) - ("PRECEDES UNDER RELATION" #x22B0) - ("SUCCEEDS UNDER RELATION" #x22B1) - ("NORMAL SUBGROUP OF" #x22B2) - ("CONTAINS AS NORMAL SUBGROUP" #x22B3) - ("NORMAL SUBGROUP OF OR EQUAL TO" #x22B4) - ("CONTAINS AS NORMAL SUBGROUP OR EQUAL TO" #x22B5) - ("ORIGINAL OF" #x22B6) - ("IMAGE OF" #x22B7) - ("MULTIMAP" #x22B8) - ("HERMITIAN CONJUGATE MATRIX" #x22B9) - ("INTERCALATE" #x22BA) - ("XOR" #x22BB) - ("NAND" #x22BC) - ("NOR" #x22BD) - ("RIGHT ANGLE WITH ARC" #x22BE) - ("RIGHT TRIANGLE" #x22BF) - ("N-ARY LOGICAL AND" #x22C0) - ("N-ARY LOGICAL OR" #x22C1) - ("N-ARY INTERSECTION" #x22C2) - ("N-ARY UNION" #x22C3) - ("DIAMOND OPERATOR" #x22C4) - ("DOT OPERATOR" #x22C5) - ("STAR OPERATOR" #x22C6) - ("DIVISION TIMES" #x22C7) - ("BOWTIE" #x22C8) - ("LEFT NORMAL FACTOR SEMIDIRECT PRODUCT" #x22C9) - ("RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT" #x22CA) - ("LEFT SEMIDIRECT PRODUCT" #x22CB) - ("RIGHT SEMIDIRECT PRODUCT" #x22CC) - ("REVERSED TILDE EQUALS" #x22CD) - ("CURLY LOGICAL OR" #x22CE) - ("CURLY LOGICAL AND" #x22CF) - ("DOUBLE SUBSET" #x22D0) - ("DOUBLE SUPERSET" #x22D1) - ("DOUBLE INTERSECTION" #x22D2) - ("DOUBLE UNION" #x22D3) - ("PITCHFORK" #x22D4) - ("EQUAL AND PARALLEL TO" #x22D5) - ("LESS-THAN WITH DOT" #x22D6) - ("GREATER-THAN WITH DOT" #x22D7) - ("VERY MUCH LESS-THAN" #x22D8) - ("VERY MUCH GREATER-THAN" #x22D9) - ("LESS-THAN EQUAL TO OR GREATER-THAN" #x22DA) - ("GREATER-THAN EQUAL TO OR LESS-THAN" #x22DB) - ("EQUAL TO OR LESS-THAN" #x22DC) - ("EQUAL TO OR GREATER-THAN" #x22DD) - ("EQUAL TO OR PRECEDES" #x22DE) - ("EQUAL TO OR SUCCEEDS" #x22DF) - ("DOES NOT PRECEDE OR EQUAL" #x22E0) - ("DOES NOT SUCCEED OR EQUAL" #x22E1) - ("NOT SQUARE IMAGE OF OR EQUAL TO" #x22E2) - ("NOT SQUARE ORIGINAL OF OR EQUAL TO" #x22E3) - ("SQUARE IMAGE OF OR NOT EQUAL TO" #x22E4) - ("SQUARE ORIGINAL OF OR NOT EQUAL TO" #x22E5) - ("LESS-THAN BUT NOT EQUIVALENT TO" #x22E6) - ("GREATER-THAN BUT NOT EQUIVALENT TO" #x22E7) - ("PRECEDES BUT NOT EQUIVALENT TO" #x22E8) - ("SUCCEEDS BUT NOT EQUIVALENT TO" #x22E9) - ("NOT NORMAL SUBGROUP OF" #x22EA) - ("DOES NOT CONTAIN AS NORMAL SUBGROUP" #x22EB) - ("NOT NORMAL SUBGROUP OF OR EQUAL TO" #x22EC) - ("DOES NOT CONTAIN AS NORMAL SUBGROUP OR EQUAL" #x22ED) - ("VERTICAL ELLIPSIS" #x22EE) - ("MIDLINE HORIZONTAL ELLIPSIS" #x22EF) - ("UP RIGHT DIAGONAL ELLIPSIS" #x22F0) - ("DOWN RIGHT DIAGONAL ELLIPSIS" #x22F1) - ("ELEMENT OF WITH LONG HORIZONTAL STROKE" #x22F2) - ("ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE" #x22F3) - ("SMALL ELEMENT OF WITH VERTICAL BAR AT END OF HORIZONTAL STROKE" #x22F4) - ("ELEMENT OF WITH DOT ABOVE" #x22F5) - ("ELEMENT OF WITH OVERBAR" #x22F6) - ("SMALL ELEMENT OF WITH OVERBAR" #x22F7) - ("ELEMENT OF WITH UNDERBAR" #x22F8) - ("ELEMENT OF WITH TWO HORIZONTAL STROKES" #x22F9) - ("CONTAINS WITH LONG HORIZONTAL STROKE" #x22FA) - ("CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE" #x22FB) - ("SMALL CONTAINS WITH VERTICAL BAR AT END OF HORIZONTAL STROKE" #x22FC) - ("CONTAINS WITH OVERBAR" #x22FD) - ("SMALL CONTAINS WITH OVERBAR" #x22FE) - ("Z NOTATION BAG MEMBERSHIP" #x22FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02300-023FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02300-023FF.el deleted file mode 100644 index a255894831..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02300-023FF.el +++ /dev/null @@ -1,209 +0,0 @@ -(nxml-define-char-name-set 'miscellaneous-technical - '(("DIAMETER SIGN" #x2300) - ("ELECTRIC ARROW" #x2301) - ("HOUSE" #x2302) - ("UP ARROWHEAD" #x2303) - ("DOWN ARROWHEAD" #x2304) - ("PROJECTIVE" #x2305) - ("PERSPECTIVE" #x2306) - ("WAVY LINE" #x2307) - ("LEFT CEILING" #x2308) - ("RIGHT CEILING" #x2309) - ("LEFT FLOOR" #x230A) - ("RIGHT FLOOR" #x230B) - ("BOTTOM RIGHT CROP" #x230C) - ("BOTTOM LEFT CROP" #x230D) - ("TOP RIGHT CROP" #x230E) - ("TOP LEFT CROP" #x230F) - ("REVERSED NOT SIGN" #x2310) - ("SQUARE LOZENGE" #x2311) - ("ARC" #x2312) - ("SEGMENT" #x2313) - ("SECTOR" #x2314) - ("TELEPHONE RECORDER" #x2315) - ("POSITION INDICATOR" #x2316) - ("VIEWDATA SQUARE" #x2317) - ("PLACE OF INTEREST SIGN" #x2318) - ("TURNED NOT SIGN" #x2319) - ("WATCH" #x231A) - ("HOURGLASS" #x231B) - ("TOP LEFT CORNER" #x231C) - ("TOP RIGHT CORNER" #x231D) - ("BOTTOM LEFT CORNER" #x231E) - ("BOTTOM RIGHT CORNER" #x231F) - ("TOP HALF INTEGRAL" #x2320) - ("BOTTOM HALF INTEGRAL" #x2321) - ("FROWN" #x2322) - ("SMILE" #x2323) - ("UP ARROWHEAD BETWEEN TWO HORIZONTAL BARS" #x2324) - ("OPTION KEY" #x2325) - ("ERASE TO THE RIGHT" #x2326) - ("X IN A RECTANGLE BOX" #x2327) - ("KEYBOARD" #x2328) - ("LEFT-POINTING ANGLE BRACKET" #x2329) - ("RIGHT-POINTING ANGLE BRACKET" #x232A) - ("ERASE TO THE LEFT" #x232B) - ("BENZENE RING" #x232C) - ("CYLINDRICITY" #x232D) - ("ALL AROUND-PROFILE" #x232E) - ("SYMMETRY" #x232F) - ("TOTAL RUNOUT" #x2330) - ("DIMENSION ORIGIN" #x2331) - ("CONICAL TAPER" #x2332) - ("SLOPE" #x2333) - ("COUNTERBORE" #x2334) - ("COUNTERSINK" #x2335) - ("APL FUNCTIONAL SYMBOL I-BEAM" #x2336) - ("APL FUNCTIONAL SYMBOL SQUISH QUAD" #x2337) - ("APL FUNCTIONAL SYMBOL QUAD EQUAL" #x2338) - ("APL FUNCTIONAL SYMBOL QUAD DIVIDE" #x2339) - ("APL FUNCTIONAL SYMBOL QUAD DIAMOND" #x233A) - ("APL FUNCTIONAL SYMBOL QUAD JOT" #x233B) - ("APL FUNCTIONAL SYMBOL QUAD CIRCLE" #x233C) - ("APL FUNCTIONAL SYMBOL CIRCLE STILE" #x233D) - ("APL FUNCTIONAL SYMBOL CIRCLE JOT" #x233E) - ("APL FUNCTIONAL SYMBOL SLASH BAR" #x233F) - ("APL FUNCTIONAL SYMBOL BACKSLASH BAR" #x2340) - ("APL FUNCTIONAL SYMBOL QUAD SLASH" #x2341) - ("APL FUNCTIONAL SYMBOL QUAD BACKSLASH" #x2342) - ("APL FUNCTIONAL SYMBOL QUAD LESS-THAN" #x2343) - ("APL FUNCTIONAL SYMBOL QUAD GREATER-THAN" #x2344) - ("APL FUNCTIONAL SYMBOL LEFTWARDS VANE" #x2345) - ("APL FUNCTIONAL SYMBOL RIGHTWARDS VANE" #x2346) - ("APL FUNCTIONAL SYMBOL QUAD LEFTWARDS ARROW" #x2347) - ("APL FUNCTIONAL SYMBOL QUAD RIGHTWARDS ARROW" #x2348) - ("APL FUNCTIONAL SYMBOL CIRCLE BACKSLASH" #x2349) - ("APL FUNCTIONAL SYMBOL DOWN TACK UNDERBAR" #x234A) - ("APL FUNCTIONAL SYMBOL DELTA STILE" #x234B) - ("APL FUNCTIONAL SYMBOL QUAD DOWN CARET" #x234C) - ("APL FUNCTIONAL SYMBOL QUAD DELTA" #x234D) - ("APL FUNCTIONAL SYMBOL DOWN TACK JOT" #x234E) - ("APL FUNCTIONAL SYMBOL UPWARDS VANE" #x234F) - ("APL FUNCTIONAL SYMBOL QUAD UPWARDS ARROW" #x2350) - ("APL FUNCTIONAL SYMBOL UP TACK OVERBAR" #x2351) - ("APL FUNCTIONAL SYMBOL DEL STILE" #x2352) - ("APL FUNCTIONAL SYMBOL QUAD UP CARET" #x2353) - ("APL FUNCTIONAL SYMBOL QUAD DEL" #x2354) - ("APL FUNCTIONAL SYMBOL UP TACK JOT" #x2355) - ("APL FUNCTIONAL SYMBOL DOWNWARDS VANE" #x2356) - ("APL FUNCTIONAL SYMBOL QUAD DOWNWARDS ARROW" #x2357) - ("APL FUNCTIONAL SYMBOL QUOTE UNDERBAR" #x2358) - ("APL FUNCTIONAL SYMBOL DELTA UNDERBAR" #x2359) - ("APL FUNCTIONAL SYMBOL DIAMOND UNDERBAR" #x235A) - ("APL FUNCTIONAL SYMBOL JOT UNDERBAR" #x235B) - ("APL FUNCTIONAL SYMBOL CIRCLE UNDERBAR" #x235C) - ("APL FUNCTIONAL SYMBOL UP SHOE JOT" #x235D) - ("APL FUNCTIONAL SYMBOL QUOTE QUAD" #x235E) - ("APL FUNCTIONAL SYMBOL CIRCLE STAR" #x235F) - ("APL FUNCTIONAL SYMBOL QUAD COLON" #x2360) - ("APL FUNCTIONAL SYMBOL UP TACK DIAERESIS" #x2361) - ("APL FUNCTIONAL SYMBOL DEL DIAERESIS" #x2362) - ("APL FUNCTIONAL SYMBOL STAR DIAERESIS" #x2363) - ("APL FUNCTIONAL SYMBOL JOT DIAERESIS" #x2364) - ("APL FUNCTIONAL SYMBOL CIRCLE DIAERESIS" #x2365) - ("APL FUNCTIONAL SYMBOL DOWN SHOE STILE" #x2366) - ("APL FUNCTIONAL SYMBOL LEFT SHOE STILE" #x2367) - ("APL FUNCTIONAL SYMBOL TILDE DIAERESIS" #x2368) - ("APL FUNCTIONAL SYMBOL GREATER-THAN DIAERESIS" #x2369) - ("APL FUNCTIONAL SYMBOL COMMA BAR" #x236A) - ("APL FUNCTIONAL SYMBOL DEL TILDE" #x236B) - ("APL FUNCTIONAL SYMBOL ZILDE" #x236C) - ("APL FUNCTIONAL SYMBOL STILE TILDE" #x236D) - ("APL FUNCTIONAL SYMBOL SEMICOLON UNDERBAR" #x236E) - ("APL FUNCTIONAL SYMBOL QUAD NOT EQUAL" #x236F) - ("APL FUNCTIONAL SYMBOL QUAD QUESTION" #x2370) - ("APL FUNCTIONAL SYMBOL DOWN CARET TILDE" #x2371) - ("APL FUNCTIONAL SYMBOL UP CARET TILDE" #x2372) - ("APL FUNCTIONAL SYMBOL IOTA" #x2373) - ("APL FUNCTIONAL SYMBOL RHO" #x2374) - ("APL FUNCTIONAL SYMBOL OMEGA" #x2375) - ("APL FUNCTIONAL SYMBOL ALPHA UNDERBAR" #x2376) - ("APL FUNCTIONAL SYMBOL EPSILON UNDERBAR" #x2377) - ("APL FUNCTIONAL SYMBOL IOTA UNDERBAR" #x2378) - ("APL FUNCTIONAL SYMBOL OMEGA UNDERBAR" #x2379) - ("APL FUNCTIONAL SYMBOL ALPHA" #x237A) - ("NOT CHECK MARK" #x237B) - ("RIGHT ANGLE WITH DOWNWARDS ZIGZAG ARROW" #x237C) - ("SHOULDERED OPEN BOX" #x237D) - ("BELL SYMBOL" #x237E) - ("VERTICAL LINE WITH MIDDLE DOT" #x237F) - ("INSERTION SYMBOL" #x2380) - ("CONTINUOUS UNDERLINE SYMBOL" #x2381) - ("DISCONTINUOUS UNDERLINE SYMBOL" #x2382) - ("EMPHASIS SYMBOL" #x2383) - ("COMPOSITION SYMBOL" #x2384) - ("WHITE SQUARE WITH CENTRE VERTICAL LINE" #x2385) - ("ENTER SYMBOL" #x2386) - ("ALTERNATIVE KEY SYMBOL" #x2387) - ("HELM SYMBOL" #x2388) - ("CIRCLED HORIZONTAL BAR WITH NOTCH" #x2389) - ("CIRCLED TRIANGLE DOWN" #x238A) - ("BROKEN CIRCLE WITH NORTHWEST ARROW" #x238B) - ("UNDO SYMBOL" #x238C) - ("MONOSTABLE SYMBOL" #x238D) - ("HYSTERESIS SYMBOL" #x238E) - ("OPEN-CIRCUIT-OUTPUT H-TYPE SYMBOL" #x238F) - ("OPEN-CIRCUIT-OUTPUT L-TYPE SYMBOL" #x2390) - ("PASSIVE-PULL-DOWN-OUTPUT SYMBOL" #x2391) - ("PASSIVE-PULL-UP-OUTPUT SYMBOL" #x2392) - ("DIRECT CURRENT SYMBOL FORM TWO" #x2393) - ("SOFTWARE-FUNCTION SYMBOL" #x2394) - ("APL FUNCTIONAL SYMBOL QUAD" #x2395) - ("DECIMAL SEPARATOR KEY SYMBOL" #x2396) - ("PREVIOUS PAGE" #x2397) - ("NEXT PAGE" #x2398) - ("PRINT SCREEN SYMBOL" #x2399) - ("CLEAR SCREEN SYMBOL" #x239A) - ("LEFT PARENTHESIS UPPER HOOK" #x239B) - ("LEFT PARENTHESIS EXTENSION" #x239C) - ("LEFT PARENTHESIS LOWER HOOK" #x239D) - ("RIGHT PARENTHESIS UPPER HOOK" #x239E) - ("RIGHT PARENTHESIS EXTENSION" #x239F) - ("RIGHT PARENTHESIS LOWER HOOK" #x23A0) - ("LEFT SQUARE BRACKET UPPER CORNER" #x23A1) - ("LEFT SQUARE BRACKET EXTENSION" #x23A2) - ("LEFT SQUARE BRACKET LOWER CORNER" #x23A3) - ("RIGHT SQUARE BRACKET UPPER CORNER" #x23A4) - ("RIGHT SQUARE BRACKET EXTENSION" #x23A5) - ("RIGHT SQUARE BRACKET LOWER CORNER" #x23A6) - ("LEFT CURLY BRACKET UPPER HOOK" #x23A7) - ("LEFT CURLY BRACKET MIDDLE PIECE" #x23A8) - ("LEFT CURLY BRACKET LOWER HOOK" #x23A9) - ("CURLY BRACKET EXTENSION" #x23AA) - ("RIGHT CURLY BRACKET UPPER HOOK" #x23AB) - ("RIGHT CURLY BRACKET MIDDLE PIECE" #x23AC) - ("RIGHT CURLY BRACKET LOWER HOOK" #x23AD) - ("INTEGRAL EXTENSION" #x23AE) - ("HORIZONTAL LINE EXTENSION" #x23AF) - ("UPPER LEFT OR LOWER RIGHT CURLY BRACKET SECTION" #x23B0) - ("UPPER RIGHT OR LOWER LEFT CURLY BRACKET SECTION" #x23B1) - ("SUMMATION TOP" #x23B2) - ("SUMMATION BOTTOM" #x23B3) - ("TOP SQUARE BRACKET" #x23B4) - ("BOTTOM SQUARE BRACKET" #x23B5) - ("BOTTOM SQUARE BRACKET OVER TOP SQUARE BRACKET" #x23B6) - ("RADICAL SYMBOL BOTTOM" #x23B7) - ("LEFT VERTICAL BOX LINE" #x23B8) - ("RIGHT VERTICAL BOX LINE" #x23B9) - ("HORIZONTAL SCAN LINE-1" #x23BA) - ("HORIZONTAL SCAN LINE-3" #x23BB) - ("HORIZONTAL SCAN LINE-7" #x23BC) - ("HORIZONTAL SCAN LINE-9" #x23BD) - ("DENTISTRY SYMBOL LIGHT VERTICAL AND TOP RIGHT" #x23BE) - ("DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM RIGHT" #x23BF) - ("DENTISTRY SYMBOL LIGHT VERTICAL WITH CIRCLE" #x23C0) - ("DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH CIRCLE" #x23C1) - ("DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH CIRCLE" #x23C2) - ("DENTISTRY SYMBOL LIGHT VERTICAL WITH TRIANGLE" #x23C3) - ("DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH TRIANGLE" #x23C4) - ("DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH TRIANGLE" #x23C5) - ("DENTISTRY SYMBOL LIGHT VERTICAL AND WAVE" #x23C6) - ("DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL WITH WAVE" #x23C7) - ("DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL WITH WAVE" #x23C8) - ("DENTISTRY SYMBOL LIGHT DOWN AND HORIZONTAL" #x23C9) - ("DENTISTRY SYMBOL LIGHT UP AND HORIZONTAL" #x23CA) - ("DENTISTRY SYMBOL LIGHT VERTICAL AND TOP LEFT" #x23CB) - ("DENTISTRY SYMBOL LIGHT VERTICAL AND BOTTOM LEFT" #x23CC) - ("SQUARE FOOT" #x23CD) - ("RETURN SYMBOL" #x23CE) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02400-0243F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02400-0243F.el deleted file mode 100644 index b4cc42640f..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02400-0243F.el +++ /dev/null @@ -1,41 +0,0 @@ -(nxml-define-char-name-set 'control-pictures - '(("SYMBOL FOR NULL" #x2400) - ("SYMBOL FOR START OF HEADING" #x2401) - ("SYMBOL FOR START OF TEXT" #x2402) - ("SYMBOL FOR END OF TEXT" #x2403) - ("SYMBOL FOR END OF TRANSMISSION" #x2404) - ("SYMBOL FOR ENQUIRY" #x2405) - ("SYMBOL FOR ACKNOWLEDGE" #x2406) - ("SYMBOL FOR BELL" #x2407) - ("SYMBOL FOR BACKSPACE" #x2408) - ("SYMBOL FOR HORIZONTAL TABULATION" #x2409) - ("SYMBOL FOR LINE FEED" #x240A) - ("SYMBOL FOR VERTICAL TABULATION" #x240B) - ("SYMBOL FOR FORM FEED" #x240C) - ("SYMBOL FOR CARRIAGE RETURN" #x240D) - ("SYMBOL FOR SHIFT OUT" #x240E) - ("SYMBOL FOR SHIFT IN" #x240F) - ("SYMBOL FOR DATA LINK ESCAPE" #x2410) - ("SYMBOL FOR DEVICE CONTROL ONE" #x2411) - ("SYMBOL FOR DEVICE CONTROL TWO" #x2412) - ("SYMBOL FOR DEVICE CONTROL THREE" #x2413) - ("SYMBOL FOR DEVICE CONTROL FOUR" #x2414) - ("SYMBOL FOR NEGATIVE ACKNOWLEDGE" #x2415) - ("SYMBOL FOR SYNCHRONOUS IDLE" #x2416) - ("SYMBOL FOR END OF TRANSMISSION BLOCK" #x2417) - ("SYMBOL FOR CANCEL" #x2418) - ("SYMBOL FOR END OF MEDIUM" #x2419) - ("SYMBOL FOR SUBSTITUTE" #x241A) - ("SYMBOL FOR ESCAPE" #x241B) - ("SYMBOL FOR FILE SEPARATOR" #x241C) - ("SYMBOL FOR GROUP SEPARATOR" #x241D) - ("SYMBOL FOR RECORD SEPARATOR" #x241E) - ("SYMBOL FOR UNIT SEPARATOR" #x241F) - ("SYMBOL FOR SPACE" #x2420) - ("SYMBOL FOR DELETE" #x2421) - ("BLANK SYMBOL" #x2422) - ("OPEN BOX" #x2423) - ("SYMBOL FOR NEWLINE" #x2424) - ("SYMBOL FOR DELETE FORM TWO" #x2425) - ("SYMBOL FOR SUBSTITUTE FORM TWO" #x2426) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02440-0245F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02440-0245F.el deleted file mode 100644 index 332720d71f..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02440-0245F.el +++ /dev/null @@ -1,13 +0,0 @@ -(nxml-define-char-name-set 'optical-character-recognition - '(("OCR HOOK" #x2440) - ("OCR CHAIR" #x2441) - ("OCR FORK" #x2442) - ("OCR INVERTED FORK" #x2443) - ("OCR BELT BUCKLE" #x2444) - ("OCR BOW TIE" #x2445) - ("OCR BRANCH BANK IDENTIFICATION" #x2446) - ("OCR AMOUNT OF CHECK" #x2447) - ("OCR DASH" #x2448) - ("OCR CUSTOMER ACCOUNT NUMBER" #x2449) - ("OCR DOUBLE BACKSLASH" #x244A) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02460-024FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02460-024FF.el deleted file mode 100644 index 41152bff4a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02460-024FF.el +++ /dev/null @@ -1,161 +0,0 @@ -(nxml-define-char-name-set 'enclosed-alphanumerics - '(("CIRCLED DIGIT ONE" #x2460) - ("CIRCLED DIGIT TWO" #x2461) - ("CIRCLED DIGIT THREE" #x2462) - ("CIRCLED DIGIT FOUR" #x2463) - ("CIRCLED DIGIT FIVE" #x2464) - ("CIRCLED DIGIT SIX" #x2465) - ("CIRCLED DIGIT SEVEN" #x2466) - ("CIRCLED DIGIT EIGHT" #x2467) - ("CIRCLED DIGIT NINE" #x2468) - ("CIRCLED NUMBER TEN" #x2469) - ("CIRCLED NUMBER ELEVEN" #x246A) - ("CIRCLED NUMBER TWELVE" #x246B) - ("CIRCLED NUMBER THIRTEEN" #x246C) - ("CIRCLED NUMBER FOURTEEN" #x246D) - ("CIRCLED NUMBER FIFTEEN" #x246E) - ("CIRCLED NUMBER SIXTEEN" #x246F) - ("CIRCLED NUMBER SEVENTEEN" #x2470) - ("CIRCLED NUMBER EIGHTEEN" #x2471) - ("CIRCLED NUMBER NINETEEN" #x2472) - ("CIRCLED NUMBER TWENTY" #x2473) - ("PARENTHESIZED DIGIT ONE" #x2474) - ("PARENTHESIZED DIGIT TWO" #x2475) - ("PARENTHESIZED DIGIT THREE" #x2476) - ("PARENTHESIZED DIGIT FOUR" #x2477) - ("PARENTHESIZED DIGIT FIVE" #x2478) - ("PARENTHESIZED DIGIT SIX" #x2479) - ("PARENTHESIZED DIGIT SEVEN" #x247A) - ("PARENTHESIZED DIGIT EIGHT" #x247B) - ("PARENTHESIZED DIGIT NINE" #x247C) - ("PARENTHESIZED NUMBER TEN" #x247D) - ("PARENTHESIZED NUMBER ELEVEN" #x247E) - ("PARENTHESIZED NUMBER TWELVE" #x247F) - ("PARENTHESIZED NUMBER THIRTEEN" #x2480) - ("PARENTHESIZED NUMBER FOURTEEN" #x2481) - ("PARENTHESIZED NUMBER FIFTEEN" #x2482) - ("PARENTHESIZED NUMBER SIXTEEN" #x2483) - ("PARENTHESIZED NUMBER SEVENTEEN" #x2484) - ("PARENTHESIZED NUMBER EIGHTEEN" #x2485) - ("PARENTHESIZED NUMBER NINETEEN" #x2486) - ("PARENTHESIZED NUMBER TWENTY" #x2487) - ("DIGIT ONE FULL STOP" #x2488) - ("DIGIT TWO FULL STOP" #x2489) - ("DIGIT THREE FULL STOP" #x248A) - ("DIGIT FOUR FULL STOP" #x248B) - ("DIGIT FIVE FULL STOP" #x248C) - ("DIGIT SIX FULL STOP" #x248D) - ("DIGIT SEVEN FULL STOP" #x248E) - ("DIGIT EIGHT FULL STOP" #x248F) - ("DIGIT NINE FULL STOP" #x2490) - ("NUMBER TEN FULL STOP" #x2491) - ("NUMBER ELEVEN FULL STOP" #x2492) - ("NUMBER TWELVE FULL STOP" #x2493) - ("NUMBER THIRTEEN FULL STOP" #x2494) - ("NUMBER FOURTEEN FULL STOP" #x2495) - ("NUMBER FIFTEEN FULL STOP" #x2496) - ("NUMBER SIXTEEN FULL STOP" #x2497) - ("NUMBER SEVENTEEN FULL STOP" #x2498) - ("NUMBER EIGHTEEN FULL STOP" #x2499) - ("NUMBER NINETEEN FULL STOP" #x249A) - ("NUMBER TWENTY FULL STOP" #x249B) - ("PARENTHESIZED LATIN SMALL LETTER A" #x249C) - ("PARENTHESIZED LATIN SMALL LETTER B" #x249D) - ("PARENTHESIZED LATIN SMALL LETTER C" #x249E) - ("PARENTHESIZED LATIN SMALL LETTER D" #x249F) - ("PARENTHESIZED LATIN SMALL LETTER E" #x24A0) - ("PARENTHESIZED LATIN SMALL LETTER F" #x24A1) - ("PARENTHESIZED LATIN SMALL LETTER G" #x24A2) - ("PARENTHESIZED LATIN SMALL LETTER H" #x24A3) - ("PARENTHESIZED LATIN SMALL LETTER I" #x24A4) - ("PARENTHESIZED LATIN SMALL LETTER J" #x24A5) - ("PARENTHESIZED LATIN SMALL LETTER K" #x24A6) - ("PARENTHESIZED LATIN SMALL LETTER L" #x24A7) - ("PARENTHESIZED LATIN SMALL LETTER M" #x24A8) - ("PARENTHESIZED LATIN SMALL LETTER N" #x24A9) - ("PARENTHESIZED LATIN SMALL LETTER O" #x24AA) - ("PARENTHESIZED LATIN SMALL LETTER P" #x24AB) - ("PARENTHESIZED LATIN SMALL LETTER Q" #x24AC) - ("PARENTHESIZED LATIN SMALL LETTER R" #x24AD) - ("PARENTHESIZED LATIN SMALL LETTER S" #x24AE) - ("PARENTHESIZED LATIN SMALL LETTER T" #x24AF) - ("PARENTHESIZED LATIN SMALL LETTER U" #x24B0) - ("PARENTHESIZED LATIN SMALL LETTER V" #x24B1) - ("PARENTHESIZED LATIN SMALL LETTER W" #x24B2) - ("PARENTHESIZED LATIN SMALL LETTER X" #x24B3) - ("PARENTHESIZED LATIN SMALL LETTER Y" #x24B4) - ("PARENTHESIZED LATIN SMALL LETTER Z" #x24B5) - ("CIRCLED LATIN CAPITAL LETTER A" #x24B6) - ("CIRCLED LATIN CAPITAL LETTER B" #x24B7) - ("CIRCLED LATIN CAPITAL LETTER C" #x24B8) - ("CIRCLED LATIN CAPITAL LETTER D" #x24B9) - ("CIRCLED LATIN CAPITAL LETTER E" #x24BA) - ("CIRCLED LATIN CAPITAL LETTER F" #x24BB) - ("CIRCLED LATIN CAPITAL LETTER G" #x24BC) - ("CIRCLED LATIN CAPITAL LETTER H" #x24BD) - ("CIRCLED LATIN CAPITAL LETTER I" #x24BE) - ("CIRCLED LATIN CAPITAL LETTER J" #x24BF) - ("CIRCLED LATIN CAPITAL LETTER K" #x24C0) - ("CIRCLED LATIN CAPITAL LETTER L" #x24C1) - ("CIRCLED LATIN CAPITAL LETTER M" #x24C2) - ("CIRCLED LATIN CAPITAL LETTER N" #x24C3) - ("CIRCLED LATIN CAPITAL LETTER O" #x24C4) - ("CIRCLED LATIN CAPITAL LETTER P" #x24C5) - ("CIRCLED LATIN CAPITAL LETTER Q" #x24C6) - ("CIRCLED LATIN CAPITAL LETTER R" #x24C7) - ("CIRCLED LATIN CAPITAL LETTER S" #x24C8) - ("CIRCLED LATIN CAPITAL LETTER T" #x24C9) - ("CIRCLED LATIN CAPITAL LETTER U" #x24CA) - ("CIRCLED LATIN CAPITAL LETTER V" #x24CB) - ("CIRCLED LATIN CAPITAL LETTER W" #x24CC) - ("CIRCLED LATIN CAPITAL LETTER X" #x24CD) - ("CIRCLED LATIN CAPITAL LETTER Y" #x24CE) - ("CIRCLED LATIN CAPITAL LETTER Z" #x24CF) - ("CIRCLED LATIN SMALL LETTER A" #x24D0) - ("CIRCLED LATIN SMALL LETTER B" #x24D1) - ("CIRCLED LATIN SMALL LETTER C" #x24D2) - ("CIRCLED LATIN SMALL LETTER D" #x24D3) - ("CIRCLED LATIN SMALL LETTER E" #x24D4) - ("CIRCLED LATIN SMALL LETTER F" #x24D5) - ("CIRCLED LATIN SMALL LETTER G" #x24D6) - ("CIRCLED LATIN SMALL LETTER H" #x24D7) - ("CIRCLED LATIN SMALL LETTER I" #x24D8) - ("CIRCLED LATIN SMALL LETTER J" #x24D9) - ("CIRCLED LATIN SMALL LETTER K" #x24DA) - ("CIRCLED LATIN SMALL LETTER L" #x24DB) - ("CIRCLED LATIN SMALL LETTER M" #x24DC) - ("CIRCLED LATIN SMALL LETTER N" #x24DD) - ("CIRCLED LATIN SMALL LETTER O" #x24DE) - ("CIRCLED LATIN SMALL LETTER P" #x24DF) - ("CIRCLED LATIN SMALL LETTER Q" #x24E0) - ("CIRCLED LATIN SMALL LETTER R" #x24E1) - ("CIRCLED LATIN SMALL LETTER S" #x24E2) - ("CIRCLED LATIN SMALL LETTER T" #x24E3) - ("CIRCLED LATIN SMALL LETTER U" #x24E4) - ("CIRCLED LATIN SMALL LETTER V" #x24E5) - ("CIRCLED LATIN SMALL LETTER W" #x24E6) - ("CIRCLED LATIN SMALL LETTER X" #x24E7) - ("CIRCLED LATIN SMALL LETTER Y" #x24E8) - ("CIRCLED LATIN SMALL LETTER Z" #x24E9) - ("CIRCLED DIGIT ZERO" #x24EA) - ("NEGATIVE CIRCLED NUMBER ELEVEN" #x24EB) - ("NEGATIVE CIRCLED NUMBER TWELVE" #x24EC) - ("NEGATIVE CIRCLED NUMBER THIRTEEN" #x24ED) - ("NEGATIVE CIRCLED NUMBER FOURTEEN" #x24EE) - ("NEGATIVE CIRCLED NUMBER FIFTEEN" #x24EF) - ("NEGATIVE CIRCLED NUMBER SIXTEEN" #x24F0) - ("NEGATIVE CIRCLED NUMBER SEVENTEEN" #x24F1) - ("NEGATIVE CIRCLED NUMBER EIGHTEEN" #x24F2) - ("NEGATIVE CIRCLED NUMBER NINETEEN" #x24F3) - ("NEGATIVE CIRCLED NUMBER TWENTY" #x24F4) - ("DOUBLE CIRCLED DIGIT ONE" #x24F5) - ("DOUBLE CIRCLED DIGIT TWO" #x24F6) - ("DOUBLE CIRCLED DIGIT THREE" #x24F7) - ("DOUBLE CIRCLED DIGIT FOUR" #x24F8) - ("DOUBLE CIRCLED DIGIT FIVE" #x24F9) - ("DOUBLE CIRCLED DIGIT SIX" #x24FA) - ("DOUBLE CIRCLED DIGIT SEVEN" #x24FB) - ("DOUBLE CIRCLED DIGIT EIGHT" #x24FC) - ("DOUBLE CIRCLED DIGIT NINE" #x24FD) - ("DOUBLE CIRCLED NUMBER TEN" #x24FE) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02500-0257F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02500-0257F.el deleted file mode 100644 index bf17039df2..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02500-0257F.el +++ /dev/null @@ -1,130 +0,0 @@ -(nxml-define-char-name-set 'box-drawing - '(("BOX DRAWINGS LIGHT HORIZONTAL" #x2500) - ("BOX DRAWINGS HEAVY HORIZONTAL" #x2501) - ("BOX DRAWINGS LIGHT VERTICAL" #x2502) - ("BOX DRAWINGS HEAVY VERTICAL" #x2503) - ("BOX DRAWINGS LIGHT TRIPLE DASH HORIZONTAL" #x2504) - ("BOX DRAWINGS HEAVY TRIPLE DASH HORIZONTAL" #x2505) - ("BOX DRAWINGS LIGHT TRIPLE DASH VERTICAL" #x2506) - ("BOX DRAWINGS HEAVY TRIPLE DASH VERTICAL" #x2507) - ("BOX DRAWINGS LIGHT QUADRUPLE DASH HORIZONTAL" #x2508) - ("BOX DRAWINGS HEAVY QUADRUPLE DASH HORIZONTAL" #x2509) - ("BOX DRAWINGS LIGHT QUADRUPLE DASH VERTICAL" #x250A) - ("BOX DRAWINGS HEAVY QUADRUPLE DASH VERTICAL" #x250B) - ("BOX DRAWINGS LIGHT DOWN AND RIGHT" #x250C) - ("BOX DRAWINGS DOWN LIGHT AND RIGHT HEAVY" #x250D) - ("BOX DRAWINGS DOWN HEAVY AND RIGHT LIGHT" #x250E) - ("BOX DRAWINGS HEAVY DOWN AND RIGHT" #x250F) - ("BOX DRAWINGS LIGHT DOWN AND LEFT" #x2510) - ("BOX DRAWINGS DOWN LIGHT AND LEFT HEAVY" #x2511) - ("BOX DRAWINGS DOWN HEAVY AND LEFT LIGHT" #x2512) - ("BOX DRAWINGS HEAVY DOWN AND LEFT" #x2513) - ("BOX DRAWINGS LIGHT UP AND RIGHT" #x2514) - ("BOX DRAWINGS UP LIGHT AND RIGHT HEAVY" #x2515) - ("BOX DRAWINGS UP HEAVY AND RIGHT LIGHT" #x2516) - ("BOX DRAWINGS HEAVY UP AND RIGHT" #x2517) - ("BOX DRAWINGS LIGHT UP AND LEFT" #x2518) - ("BOX DRAWINGS UP LIGHT AND LEFT HEAVY" #x2519) - ("BOX DRAWINGS UP HEAVY AND LEFT LIGHT" #x251A) - ("BOX DRAWINGS HEAVY UP AND LEFT" #x251B) - ("BOX DRAWINGS LIGHT VERTICAL AND RIGHT" #x251C) - ("BOX DRAWINGS VERTICAL LIGHT AND RIGHT HEAVY" #x251D) - ("BOX DRAWINGS UP HEAVY AND RIGHT DOWN LIGHT" #x251E) - ("BOX DRAWINGS DOWN HEAVY AND RIGHT UP LIGHT" #x251F) - ("BOX DRAWINGS VERTICAL HEAVY AND RIGHT LIGHT" #x2520) - ("BOX DRAWINGS DOWN LIGHT AND RIGHT UP HEAVY" #x2521) - ("BOX DRAWINGS UP LIGHT AND RIGHT DOWN HEAVY" #x2522) - ("BOX DRAWINGS HEAVY VERTICAL AND RIGHT" #x2523) - ("BOX DRAWINGS LIGHT VERTICAL AND LEFT" #x2524) - ("BOX DRAWINGS VERTICAL LIGHT AND LEFT HEAVY" #x2525) - ("BOX DRAWINGS UP HEAVY AND LEFT DOWN LIGHT" #x2526) - ("BOX DRAWINGS DOWN HEAVY AND LEFT UP LIGHT" #x2527) - ("BOX DRAWINGS VERTICAL HEAVY AND LEFT LIGHT" #x2528) - ("BOX DRAWINGS DOWN LIGHT AND LEFT UP HEAVY" #x2529) - ("BOX DRAWINGS UP LIGHT AND LEFT DOWN HEAVY" #x252A) - ("BOX DRAWINGS HEAVY VERTICAL AND LEFT" #x252B) - ("BOX DRAWINGS LIGHT DOWN AND HORIZONTAL" #x252C) - ("BOX DRAWINGS LEFT HEAVY AND RIGHT DOWN LIGHT" #x252D) - ("BOX DRAWINGS RIGHT HEAVY AND LEFT DOWN LIGHT" #x252E) - ("BOX DRAWINGS DOWN LIGHT AND HORIZONTAL HEAVY" #x252F) - ("BOX DRAWINGS DOWN HEAVY AND HORIZONTAL LIGHT" #x2530) - ("BOX DRAWINGS RIGHT LIGHT AND LEFT DOWN HEAVY" #x2531) - ("BOX DRAWINGS LEFT LIGHT AND RIGHT DOWN HEAVY" #x2532) - ("BOX DRAWINGS HEAVY DOWN AND HORIZONTAL" #x2533) - ("BOX DRAWINGS LIGHT UP AND HORIZONTAL" #x2534) - ("BOX DRAWINGS LEFT HEAVY AND RIGHT UP LIGHT" #x2535) - ("BOX DRAWINGS RIGHT HEAVY AND LEFT UP LIGHT" #x2536) - ("BOX DRAWINGS UP LIGHT AND HORIZONTAL HEAVY" #x2537) - ("BOX DRAWINGS UP HEAVY AND HORIZONTAL LIGHT" #x2538) - ("BOX DRAWINGS RIGHT LIGHT AND LEFT UP HEAVY" #x2539) - ("BOX DRAWINGS LEFT LIGHT AND RIGHT UP HEAVY" #x253A) - ("BOX DRAWINGS HEAVY UP AND HORIZONTAL" #x253B) - ("BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL" #x253C) - ("BOX DRAWINGS LEFT HEAVY AND RIGHT VERTICAL LIGHT" #x253D) - ("BOX DRAWINGS RIGHT HEAVY AND LEFT VERTICAL LIGHT" #x253E) - ("BOX DRAWINGS VERTICAL LIGHT AND HORIZONTAL HEAVY" #x253F) - ("BOX DRAWINGS UP HEAVY AND DOWN HORIZONTAL LIGHT" #x2540) - ("BOX DRAWINGS DOWN HEAVY AND UP HORIZONTAL LIGHT" #x2541) - ("BOX DRAWINGS VERTICAL HEAVY AND HORIZONTAL LIGHT" #x2542) - ("BOX DRAWINGS LEFT UP HEAVY AND RIGHT DOWN LIGHT" #x2543) - ("BOX DRAWINGS RIGHT UP HEAVY AND LEFT DOWN LIGHT" #x2544) - ("BOX DRAWINGS LEFT DOWN HEAVY AND RIGHT UP LIGHT" #x2545) - ("BOX DRAWINGS RIGHT DOWN HEAVY AND LEFT UP LIGHT" #x2546) - ("BOX DRAWINGS DOWN LIGHT AND UP HORIZONTAL HEAVY" #x2547) - ("BOX DRAWINGS UP LIGHT AND DOWN HORIZONTAL HEAVY" #x2548) - ("BOX DRAWINGS RIGHT LIGHT AND LEFT VERTICAL HEAVY" #x2549) - ("BOX DRAWINGS LEFT LIGHT AND RIGHT VERTICAL HEAVY" #x254A) - ("BOX DRAWINGS HEAVY VERTICAL AND HORIZONTAL" #x254B) - ("BOX DRAWINGS LIGHT DOUBLE DASH HORIZONTAL" #x254C) - ("BOX DRAWINGS HEAVY DOUBLE DASH HORIZONTAL" #x254D) - ("BOX DRAWINGS LIGHT DOUBLE DASH VERTICAL" #x254E) - ("BOX DRAWINGS HEAVY DOUBLE DASH VERTICAL" #x254F) - ("BOX DRAWINGS DOUBLE HORIZONTAL" #x2550) - ("BOX DRAWINGS DOUBLE VERTICAL" #x2551) - ("BOX DRAWINGS DOWN SINGLE AND RIGHT DOUBLE" #x2552) - ("BOX DRAWINGS DOWN DOUBLE AND RIGHT SINGLE" #x2553) - ("BOX DRAWINGS DOUBLE DOWN AND RIGHT" #x2554) - ("BOX DRAWINGS DOWN SINGLE AND LEFT DOUBLE" #x2555) - ("BOX DRAWINGS DOWN DOUBLE AND LEFT SINGLE" #x2556) - ("BOX DRAWINGS DOUBLE DOWN AND LEFT" #x2557) - ("BOX DRAWINGS UP SINGLE AND RIGHT DOUBLE" #x2558) - ("BOX DRAWINGS UP DOUBLE AND RIGHT SINGLE" #x2559) - ("BOX DRAWINGS DOUBLE UP AND RIGHT" #x255A) - ("BOX DRAWINGS UP SINGLE AND LEFT DOUBLE" #x255B) - ("BOX DRAWINGS UP DOUBLE AND LEFT SINGLE" #x255C) - ("BOX DRAWINGS DOUBLE UP AND LEFT" #x255D) - ("BOX DRAWINGS VERTICAL SINGLE AND RIGHT DOUBLE" #x255E) - ("BOX DRAWINGS VERTICAL DOUBLE AND RIGHT SINGLE" #x255F) - ("BOX DRAWINGS DOUBLE VERTICAL AND RIGHT" #x2560) - ("BOX DRAWINGS VERTICAL SINGLE AND LEFT DOUBLE" #x2561) - ("BOX DRAWINGS VERTICAL DOUBLE AND LEFT SINGLE" #x2562) - ("BOX DRAWINGS DOUBLE VERTICAL AND LEFT" #x2563) - ("BOX DRAWINGS DOWN SINGLE AND HORIZONTAL DOUBLE" #x2564) - ("BOX DRAWINGS DOWN DOUBLE AND HORIZONTAL SINGLE" #x2565) - ("BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL" #x2566) - ("BOX DRAWINGS UP SINGLE AND HORIZONTAL DOUBLE" #x2567) - ("BOX DRAWINGS UP DOUBLE AND HORIZONTAL SINGLE" #x2568) - ("BOX DRAWINGS DOUBLE UP AND HORIZONTAL" #x2569) - ("BOX DRAWINGS VERTICAL SINGLE AND HORIZONTAL DOUBLE" #x256A) - ("BOX DRAWINGS VERTICAL DOUBLE AND HORIZONTAL SINGLE" #x256B) - ("BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL" #x256C) - ("BOX DRAWINGS LIGHT ARC DOWN AND RIGHT" #x256D) - ("BOX DRAWINGS LIGHT ARC DOWN AND LEFT" #x256E) - ("BOX DRAWINGS LIGHT ARC UP AND LEFT" #x256F) - ("BOX DRAWINGS LIGHT ARC UP AND RIGHT" #x2570) - ("BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT" #x2571) - ("BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT" #x2572) - ("BOX DRAWINGS LIGHT DIAGONAL CROSS" #x2573) - ("BOX DRAWINGS LIGHT LEFT" #x2574) - ("BOX DRAWINGS LIGHT UP" #x2575) - ("BOX DRAWINGS LIGHT RIGHT" #x2576) - ("BOX DRAWINGS LIGHT DOWN" #x2577) - ("BOX DRAWINGS HEAVY LEFT" #x2578) - ("BOX DRAWINGS HEAVY UP" #x2579) - ("BOX DRAWINGS HEAVY RIGHT" #x257A) - ("BOX DRAWINGS HEAVY DOWN" #x257B) - ("BOX DRAWINGS LIGHT LEFT AND HEAVY RIGHT" #x257C) - ("BOX DRAWINGS LIGHT UP AND HEAVY DOWN" #x257D) - ("BOX DRAWINGS HEAVY LEFT AND LIGHT RIGHT" #x257E) - ("BOX DRAWINGS HEAVY UP AND LIGHT DOWN" #x257F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02580-0259F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02580-0259F.el deleted file mode 100644 index 89413a2e44..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02580-0259F.el +++ /dev/null @@ -1,34 +0,0 @@ -(nxml-define-char-name-set 'block-elements - '(("UPPER HALF BLOCK" #x2580) - ("LOWER ONE EIGHTH BLOCK" #x2581) - ("LOWER ONE QUARTER BLOCK" #x2582) - ("LOWER THREE EIGHTHS BLOCK" #x2583) - ("LOWER HALF BLOCK" #x2584) - ("LOWER FIVE EIGHTHS BLOCK" #x2585) - ("LOWER THREE QUARTERS BLOCK" #x2586) - ("LOWER SEVEN EIGHTHS BLOCK" #x2587) - ("FULL BLOCK" #x2588) - ("LEFT SEVEN EIGHTHS BLOCK" #x2589) - ("LEFT THREE QUARTERS BLOCK" #x258A) - ("LEFT FIVE EIGHTHS BLOCK" #x258B) - ("LEFT HALF BLOCK" #x258C) - ("LEFT THREE EIGHTHS BLOCK" #x258D) - ("LEFT ONE QUARTER BLOCK" #x258E) - ("LEFT ONE EIGHTH BLOCK" #x258F) - ("RIGHT HALF BLOCK" #x2590) - ("LIGHT SHADE" #x2591) - ("MEDIUM SHADE" #x2592) - ("DARK SHADE" #x2593) - ("UPPER ONE EIGHTH BLOCK" #x2594) - ("RIGHT ONE EIGHTH BLOCK" #x2595) - ("QUADRANT LOWER LEFT" #x2596) - ("QUADRANT LOWER RIGHT" #x2597) - ("QUADRANT UPPER LEFT" #x2598) - ("QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT" #x2599) - ("QUADRANT UPPER LEFT AND LOWER RIGHT" #x259A) - ("QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT" #x259B) - ("QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT" #x259C) - ("QUADRANT UPPER RIGHT" #x259D) - ("QUADRANT UPPER RIGHT AND LOWER LEFT" #x259E) - ("QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT" #x259F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/025A0-025FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/025A0-025FF.el deleted file mode 100644 index 2313c781d6..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/025A0-025FF.el +++ /dev/null @@ -1,98 +0,0 @@ -(nxml-define-char-name-set 'geometric-shapes - '(("BLACK SQUARE" #x25A0) - ("WHITE SQUARE" #x25A1) - ("WHITE SQUARE WITH ROUNDED CORNERS" #x25A2) - ("WHITE SQUARE CONTAINING BLACK SMALL SQUARE" #x25A3) - ("SQUARE WITH HORIZONTAL FILL" #x25A4) - ("SQUARE WITH VERTICAL FILL" #x25A5) - ("SQUARE WITH ORTHOGONAL CROSSHATCH FILL" #x25A6) - ("SQUARE WITH UPPER LEFT TO LOWER RIGHT FILL" #x25A7) - ("SQUARE WITH UPPER RIGHT TO LOWER LEFT FILL" #x25A8) - ("SQUARE WITH DIAGONAL CROSSHATCH FILL" #x25A9) - ("BLACK SMALL SQUARE" #x25AA) - ("WHITE SMALL SQUARE" #x25AB) - ("BLACK RECTANGLE" #x25AC) - ("WHITE RECTANGLE" #x25AD) - ("BLACK VERTICAL RECTANGLE" #x25AE) - ("WHITE VERTICAL RECTANGLE" #x25AF) - ("BLACK PARALLELOGRAM" #x25B0) - ("WHITE PARALLELOGRAM" #x25B1) - ("BLACK UP-POINTING TRIANGLE" #x25B2) - ("WHITE UP-POINTING TRIANGLE" #x25B3) - ("BLACK UP-POINTING SMALL TRIANGLE" #x25B4) - ("WHITE UP-POINTING SMALL TRIANGLE" #x25B5) - ("BLACK RIGHT-POINTING TRIANGLE" #x25B6) - ("WHITE RIGHT-POINTING TRIANGLE" #x25B7) - ("BLACK RIGHT-POINTING SMALL TRIANGLE" #x25B8) - ("WHITE RIGHT-POINTING SMALL TRIANGLE" #x25B9) - ("BLACK RIGHT-POINTING POINTER" #x25BA) - ("WHITE RIGHT-POINTING POINTER" #x25BB) - ("BLACK DOWN-POINTING TRIANGLE" #x25BC) - ("WHITE DOWN-POINTING TRIANGLE" #x25BD) - ("BLACK DOWN-POINTING SMALL TRIANGLE" #x25BE) - ("WHITE DOWN-POINTING SMALL TRIANGLE" #x25BF) - ("BLACK LEFT-POINTING TRIANGLE" #x25C0) - ("WHITE LEFT-POINTING TRIANGLE" #x25C1) - ("BLACK LEFT-POINTING SMALL TRIANGLE" #x25C2) - ("WHITE LEFT-POINTING SMALL TRIANGLE" #x25C3) - ("BLACK LEFT-POINTING POINTER" #x25C4) - ("WHITE LEFT-POINTING POINTER" #x25C5) - ("BLACK DIAMOND" #x25C6) - ("WHITE DIAMOND" #x25C7) - ("WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND" #x25C8) - ("FISHEYE" #x25C9) - ("LOZENGE" #x25CA) - ("WHITE CIRCLE" #x25CB) - ("DOTTED CIRCLE" #x25CC) - ("CIRCLE WITH VERTICAL FILL" #x25CD) - ("BULLSEYE" #x25CE) - ("BLACK CIRCLE" #x25CF) - ("CIRCLE WITH LEFT HALF BLACK" #x25D0) - ("CIRCLE WITH RIGHT HALF BLACK" #x25D1) - ("CIRCLE WITH LOWER HALF BLACK" #x25D2) - ("CIRCLE WITH UPPER HALF BLACK" #x25D3) - ("CIRCLE WITH UPPER RIGHT QUADRANT BLACK" #x25D4) - ("CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK" #x25D5) - ("LEFT HALF BLACK CIRCLE" #x25D6) - ("RIGHT HALF BLACK CIRCLE" #x25D7) - ("INVERSE BULLET" #x25D8) - ("INVERSE WHITE CIRCLE" #x25D9) - ("UPPER HALF INVERSE WHITE CIRCLE" #x25DA) - ("LOWER HALF INVERSE WHITE CIRCLE" #x25DB) - ("UPPER LEFT QUADRANT CIRCULAR ARC" #x25DC) - ("UPPER RIGHT QUADRANT CIRCULAR ARC" #x25DD) - ("LOWER RIGHT QUADRANT CIRCULAR ARC" #x25DE) - ("LOWER LEFT QUADRANT CIRCULAR ARC" #x25DF) - ("UPPER HALF CIRCLE" #x25E0) - ("LOWER HALF CIRCLE" #x25E1) - ("BLACK LOWER RIGHT TRIANGLE" #x25E2) - ("BLACK LOWER LEFT TRIANGLE" #x25E3) - ("BLACK UPPER LEFT TRIANGLE" #x25E4) - ("BLACK UPPER RIGHT TRIANGLE" #x25E5) - ("WHITE BULLET" #x25E6) - ("SQUARE WITH LEFT HALF BLACK" #x25E7) - ("SQUARE WITH RIGHT HALF BLACK" #x25E8) - ("SQUARE WITH UPPER LEFT DIAGONAL HALF BLACK" #x25E9) - ("SQUARE WITH LOWER RIGHT DIAGONAL HALF BLACK" #x25EA) - ("WHITE SQUARE WITH VERTICAL BISECTING LINE" #x25EB) - ("WHITE UP-POINTING TRIANGLE WITH DOT" #x25EC) - ("UP-POINTING TRIANGLE WITH LEFT HALF BLACK" #x25ED) - ("UP-POINTING TRIANGLE WITH RIGHT HALF BLACK" #x25EE) - ("LARGE CIRCLE" #x25EF) - ("WHITE SQUARE WITH UPPER LEFT QUADRANT" #x25F0) - ("WHITE SQUARE WITH LOWER LEFT QUADRANT" #x25F1) - ("WHITE SQUARE WITH LOWER RIGHT QUADRANT" #x25F2) - ("WHITE SQUARE WITH UPPER RIGHT QUADRANT" #x25F3) - ("WHITE CIRCLE WITH UPPER LEFT QUADRANT" #x25F4) - ("WHITE CIRCLE WITH LOWER LEFT QUADRANT" #x25F5) - ("WHITE CIRCLE WITH LOWER RIGHT QUADRANT" #x25F6) - ("WHITE CIRCLE WITH UPPER RIGHT QUADRANT" #x25F7) - ("UPPER LEFT TRIANGLE" #x25F8) - ("UPPER RIGHT TRIANGLE" #x25F9) - ("LOWER LEFT TRIANGLE" #x25FA) - ("WHITE MEDIUM SQUARE" #x25FB) - ("BLACK MEDIUM SQUARE" #x25FC) - ("WHITE MEDIUM SMALL SQUARE" #x25FD) - ("BLACK MEDIUM SMALL SQUARE" #x25FE) - ("LOWER RIGHT TRIANGLE" #x25FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02600-026FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02600-026FF.el deleted file mode 100644 index eaae9bec08..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02600-026FF.el +++ /dev/null @@ -1,135 +0,0 @@ -(nxml-define-char-name-set 'miscellaneous-symbols - '(("BLACK SUN WITH RAYS" #x2600) - ("CLOUD" #x2601) - ("UMBRELLA" #x2602) - ("SNOWMAN" #x2603) - ("COMET" #x2604) - ("BLACK STAR" #x2605) - ("WHITE STAR" #x2606) - ("LIGHTNING" #x2607) - ("THUNDERSTORM" #x2608) - ("SUN" #x2609) - ("ASCENDING NODE" #x260A) - ("DESCENDING NODE" #x260B) - ("CONJUNCTION" #x260C) - ("OPPOSITION" #x260D) - ("BLACK TELEPHONE" #x260E) - ("WHITE TELEPHONE" #x260F) - ("BALLOT BOX" #x2610) - ("BALLOT BOX WITH CHECK" #x2611) - ("BALLOT BOX WITH X" #x2612) - ("SALTIRE" #x2613) - ("WHITE SHOGI PIECE" #x2616) - ("BLACK SHOGI PIECE" #x2617) - ("REVERSED ROTATED FLORAL HEART BULLET" #x2619) - ("BLACK LEFT POINTING INDEX" #x261A) - ("BLACK RIGHT POINTING INDEX" #x261B) - ("WHITE LEFT POINTING INDEX" #x261C) - ("WHITE UP POINTING INDEX" #x261D) - ("WHITE RIGHT POINTING INDEX" #x261E) - ("WHITE DOWN POINTING INDEX" #x261F) - ("SKULL AND CROSSBONES" #x2620) - ("CAUTION SIGN" #x2621) - ("RADIOACTIVE SIGN" #x2622) - ("BIOHAZARD SIGN" #x2623) - ("CADUCEUS" #x2624) - ("ANKH" #x2625) - ("ORTHODOX CROSS" #x2626) - ("CHI RHO" #x2627) - ("CROSS OF LORRAINE" #x2628) - ("CROSS OF JERUSALEM" #x2629) - ("STAR AND CRESCENT" #x262A) - ("FARSI SYMBOL" #x262B) - ("ADI SHAKTI" #x262C) - ("HAMMER AND SICKLE" #x262D) - ("PEACE SYMBOL" #x262E) - ("YIN YANG" #x262F) - ("TRIGRAM FOR HEAVEN" #x2630) - ("TRIGRAM FOR LAKE" #x2631) - ("TRIGRAM FOR FIRE" #x2632) - ("TRIGRAM FOR THUNDER" #x2633) - ("TRIGRAM FOR WIND" #x2634) - ("TRIGRAM FOR WATER" #x2635) - ("TRIGRAM FOR MOUNTAIN" #x2636) - ("TRIGRAM FOR EARTH" #x2637) - ("WHEEL OF DHARMA" #x2638) - ("WHITE FROWNING FACE" #x2639) - ("WHITE SMILING FACE" #x263A) - ("BLACK SMILING FACE" #x263B) - ("WHITE SUN WITH RAYS" #x263C) - ("FIRST QUARTER MOON" #x263D) - ("LAST QUARTER MOON" #x263E) - ("MERCURY" #x263F) - ("FEMALE SIGN" #x2640) - ("EARTH" #x2641) - ("MALE SIGN" #x2642) - ("JUPITER" #x2643) - ("SATURN" #x2644) - ("URANUS" #x2645) - ("NEPTUNE" #x2646) - ("PLUTO" #x2647) - ("ARIES" #x2648) - ("TAURUS" #x2649) - ("GEMINI" #x264A) - ("CANCER" #x264B) - ("LEO" #x264C) - ("VIRGO" #x264D) - ("LIBRA" #x264E) - ("SCORPIUS" #x264F) - ("SAGITTARIUS" #x2650) - ("CAPRICORN" #x2651) - ("AQUARIUS" #x2652) - ("PISCES" #x2653) - ("WHITE CHESS KING" #x2654) - ("WHITE CHESS QUEEN" #x2655) - ("WHITE CHESS ROOK" #x2656) - ("WHITE CHESS BISHOP" #x2657) - ("WHITE CHESS KNIGHT" #x2658) - ("WHITE CHESS PAWN" #x2659) - ("BLACK CHESS KING" #x265A) - ("BLACK CHESS QUEEN" #x265B) - ("BLACK CHESS ROOK" #x265C) - ("BLACK CHESS BISHOP" #x265D) - ("BLACK CHESS KNIGHT" #x265E) - ("BLACK CHESS PAWN" #x265F) - ("BLACK SPADE SUIT" #x2660) - ("WHITE HEART SUIT" #x2661) - ("WHITE DIAMOND SUIT" #x2662) - ("BLACK CLUB SUIT" #x2663) - ("WHITE SPADE SUIT" #x2664) - ("BLACK HEART SUIT" #x2665) - ("BLACK DIAMOND SUIT" #x2666) - ("WHITE CLUB SUIT" #x2667) - ("HOT SPRINGS" #x2668) - ("QUARTER NOTE" #x2669) - ("EIGHTH NOTE" #x266A) - ("BEAMED EIGHTH NOTES" #x266B) - ("BEAMED SIXTEENTH NOTES" #x266C) - ("MUSIC FLAT SIGN" #x266D) - ("MUSIC NATURAL SIGN" #x266E) - ("MUSIC SHARP SIGN" #x266F) - ("WEST SYRIAC CROSS" #x2670) - ("EAST SYRIAC CROSS" #x2671) - ("UNIVERSAL RECYCLING SYMBOL" #x2672) - ("RECYCLING SYMBOL FOR TYPE-1 PLASTICS" #x2673) - ("RECYCLING SYMBOL FOR TYPE-2 PLASTICS" #x2674) - ("RECYCLING SYMBOL FOR TYPE-3 PLASTICS" #x2675) - ("RECYCLING SYMBOL FOR TYPE-4 PLASTICS" #x2676) - ("RECYCLING SYMBOL FOR TYPE-5 PLASTICS" #x2677) - ("RECYCLING SYMBOL FOR TYPE-6 PLASTICS" #x2678) - ("RECYCLING SYMBOL FOR TYPE-7 PLASTICS" #x2679) - ("RECYCLING SYMBOL FOR GENERIC MATERIALS" #x267A) - ("BLACK UNIVERSAL RECYCLING SYMBOL" #x267B) - ("RECYCLED PAPER SYMBOL" #x267C) - ("PARTIALLY-RECYCLED PAPER SYMBOL" #x267D) - ("DIE FACE-1" #x2680) - ("DIE FACE-2" #x2681) - ("DIE FACE-3" #x2682) - ("DIE FACE-4" #x2683) - ("DIE FACE-5" #x2684) - ("DIE FACE-6" #x2685) - ("WHITE CIRCLE WITH DOT RIGHT" #x2686) - ("WHITE CIRCLE WITH TWO DOTS" #x2687) - ("BLACK CIRCLE WITH WHITE DOT RIGHT" #x2688) - ("BLACK CIRCLE WITH TWO WHITE DOTS" #x2689) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02700-027BF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02700-027BF.el deleted file mode 100644 index e4361a3240..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02700-027BF.el +++ /dev/null @@ -1,176 +0,0 @@ -(nxml-define-char-name-set 'dingbats - '(("UPPER BLADE SCISSORS" #x2701) - ("BLACK SCISSORS" #x2702) - ("LOWER BLADE SCISSORS" #x2703) - ("WHITE SCISSORS" #x2704) - ("TELEPHONE LOCATION SIGN" #x2706) - ("TAPE DRIVE" #x2707) - ("AIRPLANE" #x2708) - ("ENVELOPE" #x2709) - ("VICTORY HAND" #x270C) - ("WRITING HAND" #x270D) - ("LOWER RIGHT PENCIL" #x270E) - ("PENCIL" #x270F) - ("UPPER RIGHT PENCIL" #x2710) - ("WHITE NIB" #x2711) - ("BLACK NIB" #x2712) - ("CHECK MARK" #x2713) - ("HEAVY CHECK MARK" #x2714) - ("MULTIPLICATION X" #x2715) - ("HEAVY MULTIPLICATION X" #x2716) - ("BALLOT X" #x2717) - ("HEAVY BALLOT X" #x2718) - ("OUTLINED GREEK CROSS" #x2719) - ("HEAVY GREEK CROSS" #x271A) - ("OPEN CENTRE CROSS" #x271B) - ("HEAVY OPEN CENTRE CROSS" #x271C) - ("LATIN CROSS" #x271D) - ("SHADOWED WHITE LATIN CROSS" #x271E) - ("OUTLINED LATIN CROSS" #x271F) - ("MALTESE CROSS" #x2720) - ("STAR OF DAVID" #x2721) - ("FOUR TEARDROP-SPOKED ASTERISK" #x2722) - ("FOUR BALLOON-SPOKED ASTERISK" #x2723) - ("HEAVY FOUR BALLOON-SPOKED ASTERISK" #x2724) - ("FOUR CLUB-SPOKED ASTERISK" #x2725) - ("BLACK FOUR POINTED STAR" #x2726) - ("WHITE FOUR POINTED STAR" #x2727) - ("STRESS OUTLINED WHITE STAR" #x2729) - ("CIRCLED WHITE STAR" #x272A) - ("OPEN CENTRE BLACK STAR" #x272B) - ("BLACK CENTRE WHITE STAR" #x272C) - ("OUTLINED BLACK STAR" #x272D) - ("HEAVY OUTLINED BLACK STAR" #x272E) - ("PINWHEEL STAR" #x272F) - ("SHADOWED WHITE STAR" #x2730) - ("HEAVY ASTERISK" #x2731) - ("OPEN CENTRE ASTERISK" #x2732) - ("EIGHT SPOKED ASTERISK" #x2733) - ("EIGHT POINTED BLACK STAR" #x2734) - ("EIGHT POINTED PINWHEEL STAR" #x2735) - ("SIX POINTED BLACK STAR" #x2736) - ("EIGHT POINTED RECTILINEAR BLACK STAR" #x2737) - ("HEAVY EIGHT POINTED RECTILINEAR BLACK STAR" #x2738) - ("TWELVE POINTED BLACK STAR" #x2739) - ("SIXTEEN POINTED ASTERISK" #x273A) - ("TEARDROP-SPOKED ASTERISK" #x273B) - ("OPEN CENTRE TEARDROP-SPOKED ASTERISK" #x273C) - ("HEAVY TEARDROP-SPOKED ASTERISK" #x273D) - ("SIX PETALLED BLACK AND WHITE FLORETTE" #x273E) - ("BLACK FLORETTE" #x273F) - ("WHITE FLORETTE" #x2740) - ("EIGHT PETALLED OUTLINED BLACK FLORETTE" #x2741) - ("CIRCLED OPEN CENTRE EIGHT POINTED STAR" #x2742) - ("HEAVY TEARDROP-SPOKED PINWHEEL ASTERISK" #x2743) - ("SNOWFLAKE" #x2744) - ("TIGHT TRIFOLIATE SNOWFLAKE" #x2745) - ("HEAVY CHEVRON SNOWFLAKE" #x2746) - ("SPARKLE" #x2747) - ("HEAVY SPARKLE" #x2748) - ("BALLOON-SPOKED ASTERISK" #x2749) - ("EIGHT TEARDROP-SPOKED PROPELLER ASTERISK" #x274A) - ("HEAVY EIGHT TEARDROP-SPOKED PROPELLER ASTERISK" #x274B) - ("SHADOWED WHITE CIRCLE" #x274D) - ("LOWER RIGHT DROP-SHADOWED WHITE SQUARE" #x274F) - ("UPPER RIGHT DROP-SHADOWED WHITE SQUARE" #x2750) - ("LOWER RIGHT SHADOWED WHITE SQUARE" #x2751) - ("UPPER RIGHT SHADOWED WHITE SQUARE" #x2752) - ("BLACK DIAMOND MINUS WHITE X" #x2756) - ("LIGHT VERTICAL BAR" #x2758) - ("MEDIUM VERTICAL BAR" #x2759) - ("HEAVY VERTICAL BAR" #x275A) - ("HEAVY SINGLE TURNED COMMA QUOTATION MARK ORNAMENT" #x275B) - ("HEAVY SINGLE COMMA QUOTATION MARK ORNAMENT" #x275C) - ("HEAVY DOUBLE TURNED COMMA QUOTATION MARK ORNAMENT" #x275D) - ("HEAVY DOUBLE COMMA QUOTATION MARK ORNAMENT" #x275E) - ("CURVED STEM PARAGRAPH SIGN ORNAMENT" #x2761) - ("HEAVY EXCLAMATION MARK ORNAMENT" #x2762) - ("HEAVY HEART EXCLAMATION MARK ORNAMENT" #x2763) - ("HEAVY BLACK HEART" #x2764) - ("ROTATED HEAVY BLACK HEART BULLET" #x2765) - ("FLORAL HEART" #x2766) - ("ROTATED FLORAL HEART BULLET" #x2767) - ("MEDIUM LEFT PARENTHESIS ORNAMENT" #x2768) - ("MEDIUM RIGHT PARENTHESIS ORNAMENT" #x2769) - ("MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT" #x276A) - ("MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT" #x276B) - ("MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT" #x276C) - ("MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT" #x276D) - ("HEAVY LEFT-POINTING ANGLE QUOTATION MARK ORNAMENT" #x276E) - ("HEAVY RIGHT-POINTING ANGLE QUOTATION MARK ORNAMENT" #x276F) - ("HEAVY LEFT-POINTING ANGLE BRACKET ORNAMENT" #x2770) - ("HEAVY RIGHT-POINTING ANGLE BRACKET ORNAMENT" #x2771) - ("LIGHT LEFT TORTOISE SHELL BRACKET ORNAMENT" #x2772) - ("LIGHT RIGHT TORTOISE SHELL BRACKET ORNAMENT" #x2773) - ("MEDIUM LEFT CURLY BRACKET ORNAMENT" #x2774) - ("MEDIUM RIGHT CURLY BRACKET ORNAMENT" #x2775) - ("DINGBAT NEGATIVE CIRCLED DIGIT ONE" #x2776) - ("DINGBAT NEGATIVE CIRCLED DIGIT TWO" #x2777) - ("DINGBAT NEGATIVE CIRCLED DIGIT THREE" #x2778) - ("DINGBAT NEGATIVE CIRCLED DIGIT FOUR" #x2779) - ("DINGBAT NEGATIVE CIRCLED DIGIT FIVE" #x277A) - ("DINGBAT NEGATIVE CIRCLED DIGIT SIX" #x277B) - ("DINGBAT NEGATIVE CIRCLED DIGIT SEVEN" #x277C) - ("DINGBAT NEGATIVE CIRCLED DIGIT EIGHT" #x277D) - ("DINGBAT NEGATIVE CIRCLED DIGIT NINE" #x277E) - ("DINGBAT NEGATIVE CIRCLED NUMBER TEN" #x277F) - ("DINGBAT CIRCLED SANS-SERIF DIGIT ONE" #x2780) - ("DINGBAT CIRCLED SANS-SERIF DIGIT TWO" #x2781) - ("DINGBAT CIRCLED SANS-SERIF DIGIT THREE" #x2782) - ("DINGBAT CIRCLED SANS-SERIF DIGIT FOUR" #x2783) - ("DINGBAT CIRCLED SANS-SERIF DIGIT FIVE" #x2784) - ("DINGBAT CIRCLED SANS-SERIF DIGIT SIX" #x2785) - ("DINGBAT CIRCLED SANS-SERIF DIGIT SEVEN" #x2786) - ("DINGBAT CIRCLED SANS-SERIF DIGIT EIGHT" #x2787) - ("DINGBAT CIRCLED SANS-SERIF DIGIT NINE" #x2788) - ("DINGBAT CIRCLED SANS-SERIF NUMBER TEN" #x2789) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT ONE" #x278A) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT TWO" #x278B) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT THREE" #x278C) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FOUR" #x278D) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT FIVE" #x278E) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SIX" #x278F) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT SEVEN" #x2790) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT EIGHT" #x2791) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF DIGIT NINE" #x2792) - ("DINGBAT NEGATIVE CIRCLED SANS-SERIF NUMBER TEN" #x2793) - ("HEAVY WIDE-HEADED RIGHTWARDS ARROW" #x2794) - ("HEAVY SOUTH EAST ARROW" #x2798) - ("HEAVY RIGHTWARDS ARROW" #x2799) - ("HEAVY NORTH EAST ARROW" #x279A) - ("DRAFTING POINT RIGHTWARDS ARROW" #x279B) - ("HEAVY ROUND-TIPPED RIGHTWARDS ARROW" #x279C) - ("TRIANGLE-HEADED RIGHTWARDS ARROW" #x279D) - ("HEAVY TRIANGLE-HEADED RIGHTWARDS ARROW" #x279E) - ("DASHED TRIANGLE-HEADED RIGHTWARDS ARROW" #x279F) - ("HEAVY DASHED TRIANGLE-HEADED RIGHTWARDS ARROW" #x27A0) - ("BLACK RIGHTWARDS ARROW" #x27A1) - ("THREE-D TOP-LIGHTED RIGHTWARDS ARROWHEAD" #x27A2) - ("THREE-D BOTTOM-LIGHTED RIGHTWARDS ARROWHEAD" #x27A3) - ("BLACK RIGHTWARDS ARROWHEAD" #x27A4) - ("HEAVY BLACK CURVED DOWNWARDS AND RIGHTWARDS ARROW" #x27A5) - ("HEAVY BLACK CURVED UPWARDS AND RIGHTWARDS ARROW" #x27A6) - ("SQUAT BLACK RIGHTWARDS ARROW" #x27A7) - ("HEAVY CONCAVE-POINTED BLACK RIGHTWARDS ARROW" #x27A8) - ("RIGHT-SHADED WHITE RIGHTWARDS ARROW" #x27A9) - ("LEFT-SHADED WHITE RIGHTWARDS ARROW" #x27AA) - ("BACK-TILTED SHADOWED WHITE RIGHTWARDS ARROW" #x27AB) - ("FRONT-TILTED SHADOWED WHITE RIGHTWARDS ARROW" #x27AC) - ("HEAVY LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW" #x27AD) - ("HEAVY UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW" #x27AE) - ("NOTCHED LOWER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW" #x27AF) - ("NOTCHED UPPER RIGHT-SHADOWED WHITE RIGHTWARDS ARROW" #x27B1) - ("CIRCLED HEAVY WHITE RIGHTWARDS ARROW" #x27B2) - ("WHITE-FEATHERED RIGHTWARDS ARROW" #x27B3) - ("BLACK-FEATHERED SOUTH EAST ARROW" #x27B4) - ("BLACK-FEATHERED RIGHTWARDS ARROW" #x27B5) - ("BLACK-FEATHERED NORTH EAST ARROW" #x27B6) - ("HEAVY BLACK-FEATHERED SOUTH EAST ARROW" #x27B7) - ("HEAVY BLACK-FEATHERED RIGHTWARDS ARROW" #x27B8) - ("HEAVY BLACK-FEATHERED NORTH EAST ARROW" #x27B9) - ("TEARDROP-BARBED RIGHTWARDS ARROW" #x27BA) - ("HEAVY TEARDROP-SHANKED RIGHTWARDS ARROW" #x27BB) - ("WEDGE-TAILED RIGHTWARDS ARROW" #x27BC) - ("HEAVY WEDGE-TAILED RIGHTWARDS ARROW" #x27BD) - ("OPEN-OUTLINED RIGHTWARDS ARROW" #x27BE) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/027C0-027EF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/027C0-027EF.el deleted file mode 100644 index c68207cff7..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/027C0-027EF.el +++ /dev/null @@ -1,30 +0,0 @@ -(nxml-define-char-name-set 'miscellaneous-mathematical-symbols-a - '(("WHITE DIAMOND WITH CENTRED DOT" #x27D0) - ("AND WITH DOT" #x27D1) - ("ELEMENT OF OPENING UPWARDS" #x27D2) - ("LOWER RIGHT CORNER WITH DOT" #x27D3) - ("UPPER LEFT CORNER WITH DOT" #x27D4) - ("LEFT OUTER JOIN" #x27D5) - ("RIGHT OUTER JOIN" #x27D6) - ("FULL OUTER JOIN" #x27D7) - ("LARGE UP TACK" #x27D8) - ("LARGE DOWN TACK" #x27D9) - ("LEFT AND RIGHT DOUBLE TURNSTILE" #x27DA) - ("LEFT AND RIGHT TACK" #x27DB) - ("LEFT MULTIMAP" #x27DC) - ("LONG RIGHT TACK" #x27DD) - ("LONG LEFT TACK" #x27DE) - ("UP TACK WITH CIRCLE ABOVE" #x27DF) - ("LOZENGE DIVIDED BY HORIZONTAL RULE" #x27E0) - ("WHITE CONCAVE-SIDED DIAMOND" #x27E1) - ("WHITE CONCAVE-SIDED DIAMOND WITH LEFTWARDS TICK" #x27E2) - ("WHITE CONCAVE-SIDED DIAMOND WITH RIGHTWARDS TICK" #x27E3) - ("WHITE SQUARE WITH LEFTWARDS TICK" #x27E4) - ("WHITE SQUARE WITH RIGHTWARDS TICK" #x27E5) - ("MATHEMATICAL LEFT WHITE SQUARE BRACKET" #x27E6) - ("MATHEMATICAL RIGHT WHITE SQUARE BRACKET" #x27E7) - ("MATHEMATICAL LEFT ANGLE BRACKET" #x27E8) - ("MATHEMATICAL RIGHT ANGLE BRACKET" #x27E9) - ("MATHEMATICAL LEFT DOUBLE ANGLE BRACKET" #x27EA) - ("MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET" #x27EB) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/027F0-027FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/027F0-027FF.el deleted file mode 100644 index 3403ce4614..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/027F0-027FF.el +++ /dev/null @@ -1,18 +0,0 @@ -(nxml-define-char-name-set 'supplemental-arrows-a - '(("UPWARDS QUADRUPLE ARROW" #x27F0) - ("DOWNWARDS QUADRUPLE ARROW" #x27F1) - ("ANTICLOCKWISE GAPPED CIRCLE ARROW" #x27F2) - ("CLOCKWISE GAPPED CIRCLE ARROW" #x27F3) - ("RIGHT ARROW WITH CIRCLED PLUS" #x27F4) - ("LONG LEFTWARDS ARROW" #x27F5) - ("LONG RIGHTWARDS ARROW" #x27F6) - ("LONG LEFT RIGHT ARROW" #x27F7) - ("LONG LEFTWARDS DOUBLE ARROW" #x27F8) - ("LONG RIGHTWARDS DOUBLE ARROW" #x27F9) - ("LONG LEFT RIGHT DOUBLE ARROW" #x27FA) - ("LONG LEFTWARDS ARROW FROM BAR" #x27FB) - ("LONG RIGHTWARDS ARROW FROM BAR" #x27FC) - ("LONG LEFTWARDS DOUBLE ARROW FROM BAR" #x27FD) - ("LONG RIGHTWARDS DOUBLE ARROW FROM BAR" #x27FE) - ("LONG RIGHTWARDS SQUIGGLE ARROW" #x27FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02800-028FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02800-028FF.el deleted file mode 100644 index 91876d840b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02800-028FF.el +++ /dev/null @@ -1,258 +0,0 @@ -(nxml-define-char-name-set 'braille-patterns - '(("BRAILLE PATTERN BLANK" #x2800) - ("BRAILLE PATTERN DOTS-1" #x2801) - ("BRAILLE PATTERN DOTS-2" #x2802) - ("BRAILLE PATTERN DOTS-12" #x2803) - ("BRAILLE PATTERN DOTS-3" #x2804) - ("BRAILLE PATTERN DOTS-13" #x2805) - ("BRAILLE PATTERN DOTS-23" #x2806) - ("BRAILLE PATTERN DOTS-123" #x2807) - ("BRAILLE PATTERN DOTS-4" #x2808) - ("BRAILLE PATTERN DOTS-14" #x2809) - ("BRAILLE PATTERN DOTS-24" #x280A) - ("BRAILLE PATTERN DOTS-124" #x280B) - ("BRAILLE PATTERN DOTS-34" #x280C) - ("BRAILLE PATTERN DOTS-134" #x280D) - ("BRAILLE PATTERN DOTS-234" #x280E) - ("BRAILLE PATTERN DOTS-1234" #x280F) - ("BRAILLE PATTERN DOTS-5" #x2810) - ("BRAILLE PATTERN DOTS-15" #x2811) - ("BRAILLE PATTERN DOTS-25" #x2812) - ("BRAILLE PATTERN DOTS-125" #x2813) - ("BRAILLE PATTERN DOTS-35" #x2814) - ("BRAILLE PATTERN DOTS-135" #x2815) - ("BRAILLE PATTERN DOTS-235" #x2816) - ("BRAILLE PATTERN DOTS-1235" #x2817) - ("BRAILLE PATTERN DOTS-45" #x2818) - ("BRAILLE PATTERN DOTS-145" #x2819) - ("BRAILLE PATTERN DOTS-245" #x281A) - ("BRAILLE PATTERN DOTS-1245" #x281B) - ("BRAILLE PATTERN DOTS-345" #x281C) - ("BRAILLE PATTERN DOTS-1345" #x281D) - ("BRAILLE PATTERN DOTS-2345" #x281E) - ("BRAILLE PATTERN DOTS-12345" #x281F) - ("BRAILLE PATTERN DOTS-6" #x2820) - ("BRAILLE PATTERN DOTS-16" #x2821) - ("BRAILLE PATTERN DOTS-26" #x2822) - ("BRAILLE PATTERN DOTS-126" #x2823) - ("BRAILLE PATTERN DOTS-36" #x2824) - ("BRAILLE PATTERN DOTS-136" #x2825) - ("BRAILLE PATTERN DOTS-236" #x2826) - ("BRAILLE PATTERN DOTS-1236" #x2827) - ("BRAILLE PATTERN DOTS-46" #x2828) - ("BRAILLE PATTERN DOTS-146" #x2829) - ("BRAILLE PATTERN DOTS-246" #x282A) - ("BRAILLE PATTERN DOTS-1246" #x282B) - ("BRAILLE PATTERN DOTS-346" #x282C) - ("BRAILLE PATTERN DOTS-1346" #x282D) - ("BRAILLE PATTERN DOTS-2346" #x282E) - ("BRAILLE PATTERN DOTS-12346" #x282F) - ("BRAILLE PATTERN DOTS-56" #x2830) - ("BRAILLE PATTERN DOTS-156" #x2831) - ("BRAILLE PATTERN DOTS-256" #x2832) - ("BRAILLE PATTERN DOTS-1256" #x2833) - ("BRAILLE PATTERN DOTS-356" #x2834) - ("BRAILLE PATTERN DOTS-1356" #x2835) - ("BRAILLE PATTERN DOTS-2356" #x2836) - ("BRAILLE PATTERN DOTS-12356" #x2837) - ("BRAILLE PATTERN DOTS-456" #x2838) - ("BRAILLE PATTERN DOTS-1456" #x2839) - ("BRAILLE PATTERN DOTS-2456" #x283A) - ("BRAILLE PATTERN DOTS-12456" #x283B) - ("BRAILLE PATTERN DOTS-3456" #x283C) - ("BRAILLE PATTERN DOTS-13456" #x283D) - ("BRAILLE PATTERN DOTS-23456" #x283E) - ("BRAILLE PATTERN DOTS-123456" #x283F) - ("BRAILLE PATTERN DOTS-7" #x2840) - ("BRAILLE PATTERN DOTS-17" #x2841) - ("BRAILLE PATTERN DOTS-27" #x2842) - ("BRAILLE PATTERN DOTS-127" #x2843) - ("BRAILLE PATTERN DOTS-37" #x2844) - ("BRAILLE PATTERN DOTS-137" #x2845) - ("BRAILLE PATTERN DOTS-237" #x2846) - ("BRAILLE PATTERN DOTS-1237" #x2847) - ("BRAILLE PATTERN DOTS-47" #x2848) - ("BRAILLE PATTERN DOTS-147" #x2849) - ("BRAILLE PATTERN DOTS-247" #x284A) - ("BRAILLE PATTERN DOTS-1247" #x284B) - ("BRAILLE PATTERN DOTS-347" #x284C) - ("BRAILLE PATTERN DOTS-1347" #x284D) - ("BRAILLE PATTERN DOTS-2347" #x284E) - ("BRAILLE PATTERN DOTS-12347" #x284F) - ("BRAILLE PATTERN DOTS-57" #x2850) - ("BRAILLE PATTERN DOTS-157" #x2851) - ("BRAILLE PATTERN DOTS-257" #x2852) - ("BRAILLE PATTERN DOTS-1257" #x2853) - ("BRAILLE PATTERN DOTS-357" #x2854) - ("BRAILLE PATTERN DOTS-1357" #x2855) - ("BRAILLE PATTERN DOTS-2357" #x2856) - ("BRAILLE PATTERN DOTS-12357" #x2857) - ("BRAILLE PATTERN DOTS-457" #x2858) - ("BRAILLE PATTERN DOTS-1457" #x2859) - ("BRAILLE PATTERN DOTS-2457" #x285A) - ("BRAILLE PATTERN DOTS-12457" #x285B) - ("BRAILLE PATTERN DOTS-3457" #x285C) - ("BRAILLE PATTERN DOTS-13457" #x285D) - ("BRAILLE PATTERN DOTS-23457" #x285E) - ("BRAILLE PATTERN DOTS-123457" #x285F) - ("BRAILLE PATTERN DOTS-67" #x2860) - ("BRAILLE PATTERN DOTS-167" #x2861) - ("BRAILLE PATTERN DOTS-267" #x2862) - ("BRAILLE PATTERN DOTS-1267" #x2863) - ("BRAILLE PATTERN DOTS-367" #x2864) - ("BRAILLE PATTERN DOTS-1367" #x2865) - ("BRAILLE PATTERN DOTS-2367" #x2866) - ("BRAILLE PATTERN DOTS-12367" #x2867) - ("BRAILLE PATTERN DOTS-467" #x2868) - ("BRAILLE PATTERN DOTS-1467" #x2869) - ("BRAILLE PATTERN DOTS-2467" #x286A) - ("BRAILLE PATTERN DOTS-12467" #x286B) - ("BRAILLE PATTERN DOTS-3467" #x286C) - ("BRAILLE PATTERN DOTS-13467" #x286D) - ("BRAILLE PATTERN DOTS-23467" #x286E) - ("BRAILLE PATTERN DOTS-123467" #x286F) - ("BRAILLE PATTERN DOTS-567" #x2870) - ("BRAILLE PATTERN DOTS-1567" #x2871) - ("BRAILLE PATTERN DOTS-2567" #x2872) - ("BRAILLE PATTERN DOTS-12567" #x2873) - ("BRAILLE PATTERN DOTS-3567" #x2874) - ("BRAILLE PATTERN DOTS-13567" #x2875) - ("BRAILLE PATTERN DOTS-23567" #x2876) - ("BRAILLE PATTERN DOTS-123567" #x2877) - ("BRAILLE PATTERN DOTS-4567" #x2878) - ("BRAILLE PATTERN DOTS-14567" #x2879) - ("BRAILLE PATTERN DOTS-24567" #x287A) - ("BRAILLE PATTERN DOTS-124567" #x287B) - ("BRAILLE PATTERN DOTS-34567" #x287C) - ("BRAILLE PATTERN DOTS-134567" #x287D) - ("BRAILLE PATTERN DOTS-234567" #x287E) - ("BRAILLE PATTERN DOTS-1234567" #x287F) - ("BRAILLE PATTERN DOTS-8" #x2880) - ("BRAILLE PATTERN DOTS-18" #x2881) - ("BRAILLE PATTERN DOTS-28" #x2882) - ("BRAILLE PATTERN DOTS-128" #x2883) - ("BRAILLE PATTERN DOTS-38" #x2884) - ("BRAILLE PATTERN DOTS-138" #x2885) - ("BRAILLE PATTERN DOTS-238" #x2886) - ("BRAILLE PATTERN DOTS-1238" #x2887) - ("BRAILLE PATTERN DOTS-48" #x2888) - ("BRAILLE PATTERN DOTS-148" #x2889) - ("BRAILLE PATTERN DOTS-248" #x288A) - ("BRAILLE PATTERN DOTS-1248" #x288B) - ("BRAILLE PATTERN DOTS-348" #x288C) - ("BRAILLE PATTERN DOTS-1348" #x288D) - ("BRAILLE PATTERN DOTS-2348" #x288E) - ("BRAILLE PATTERN DOTS-12348" #x288F) - ("BRAILLE PATTERN DOTS-58" #x2890) - ("BRAILLE PATTERN DOTS-158" #x2891) - ("BRAILLE PATTERN DOTS-258" #x2892) - ("BRAILLE PATTERN DOTS-1258" #x2893) - ("BRAILLE PATTERN DOTS-358" #x2894) - ("BRAILLE PATTERN DOTS-1358" #x2895) - ("BRAILLE PATTERN DOTS-2358" #x2896) - ("BRAILLE PATTERN DOTS-12358" #x2897) - ("BRAILLE PATTERN DOTS-458" #x2898) - ("BRAILLE PATTERN DOTS-1458" #x2899) - ("BRAILLE PATTERN DOTS-2458" #x289A) - ("BRAILLE PATTERN DOTS-12458" #x289B) - ("BRAILLE PATTERN DOTS-3458" #x289C) - ("BRAILLE PATTERN DOTS-13458" #x289D) - ("BRAILLE PATTERN DOTS-23458" #x289E) - ("BRAILLE PATTERN DOTS-123458" #x289F) - ("BRAILLE PATTERN DOTS-68" #x28A0) - ("BRAILLE PATTERN DOTS-168" #x28A1) - ("BRAILLE PATTERN DOTS-268" #x28A2) - ("BRAILLE PATTERN DOTS-1268" #x28A3) - ("BRAILLE PATTERN DOTS-368" #x28A4) - ("BRAILLE PATTERN DOTS-1368" #x28A5) - ("BRAILLE PATTERN DOTS-2368" #x28A6) - ("BRAILLE PATTERN DOTS-12368" #x28A7) - ("BRAILLE PATTERN DOTS-468" #x28A8) - ("BRAILLE PATTERN DOTS-1468" #x28A9) - ("BRAILLE PATTERN DOTS-2468" #x28AA) - ("BRAILLE PATTERN DOTS-12468" #x28AB) - ("BRAILLE PATTERN DOTS-3468" #x28AC) - ("BRAILLE PATTERN DOTS-13468" #x28AD) - ("BRAILLE PATTERN DOTS-23468" #x28AE) - ("BRAILLE PATTERN DOTS-123468" #x28AF) - ("BRAILLE PATTERN DOTS-568" #x28B0) - ("BRAILLE PATTERN DOTS-1568" #x28B1) - ("BRAILLE PATTERN DOTS-2568" #x28B2) - ("BRAILLE PATTERN DOTS-12568" #x28B3) - ("BRAILLE PATTERN DOTS-3568" #x28B4) - ("BRAILLE PATTERN DOTS-13568" #x28B5) - ("BRAILLE PATTERN DOTS-23568" #x28B6) - ("BRAILLE PATTERN DOTS-123568" #x28B7) - ("BRAILLE PATTERN DOTS-4568" #x28B8) - ("BRAILLE PATTERN DOTS-14568" #x28B9) - ("BRAILLE PATTERN DOTS-24568" #x28BA) - ("BRAILLE PATTERN DOTS-124568" #x28BB) - ("BRAILLE PATTERN DOTS-34568" #x28BC) - ("BRAILLE PATTERN DOTS-134568" #x28BD) - ("BRAILLE PATTERN DOTS-234568" #x28BE) - ("BRAILLE PATTERN DOTS-1234568" #x28BF) - ("BRAILLE PATTERN DOTS-78" #x28C0) - ("BRAILLE PATTERN DOTS-178" #x28C1) - ("BRAILLE PATTERN DOTS-278" #x28C2) - ("BRAILLE PATTERN DOTS-1278" #x28C3) - ("BRAILLE PATTERN DOTS-378" #x28C4) - ("BRAILLE PATTERN DOTS-1378" #x28C5) - ("BRAILLE PATTERN DOTS-2378" #x28C6) - ("BRAILLE PATTERN DOTS-12378" #x28C7) - ("BRAILLE PATTERN DOTS-478" #x28C8) - ("BRAILLE PATTERN DOTS-1478" #x28C9) - ("BRAILLE PATTERN DOTS-2478" #x28CA) - ("BRAILLE PATTERN DOTS-12478" #x28CB) - ("BRAILLE PATTERN DOTS-3478" #x28CC) - ("BRAILLE PATTERN DOTS-13478" #x28CD) - ("BRAILLE PATTERN DOTS-23478" #x28CE) - ("BRAILLE PATTERN DOTS-123478" #x28CF) - ("BRAILLE PATTERN DOTS-578" #x28D0) - ("BRAILLE PATTERN DOTS-1578" #x28D1) - ("BRAILLE PATTERN DOTS-2578" #x28D2) - ("BRAILLE PATTERN DOTS-12578" #x28D3) - ("BRAILLE PATTERN DOTS-3578" #x28D4) - ("BRAILLE PATTERN DOTS-13578" #x28D5) - ("BRAILLE PATTERN DOTS-23578" #x28D6) - ("BRAILLE PATTERN DOTS-123578" #x28D7) - ("BRAILLE PATTERN DOTS-4578" #x28D8) - ("BRAILLE PATTERN DOTS-14578" #x28D9) - ("BRAILLE PATTERN DOTS-24578" #x28DA) - ("BRAILLE PATTERN DOTS-124578" #x28DB) - ("BRAILLE PATTERN DOTS-34578" #x28DC) - ("BRAILLE PATTERN DOTS-134578" #x28DD) - ("BRAILLE PATTERN DOTS-234578" #x28DE) - ("BRAILLE PATTERN DOTS-1234578" #x28DF) - ("BRAILLE PATTERN DOTS-678" #x28E0) - ("BRAILLE PATTERN DOTS-1678" #x28E1) - ("BRAILLE PATTERN DOTS-2678" #x28E2) - ("BRAILLE PATTERN DOTS-12678" #x28E3) - ("BRAILLE PATTERN DOTS-3678" #x28E4) - ("BRAILLE PATTERN DOTS-13678" #x28E5) - ("BRAILLE PATTERN DOTS-23678" #x28E6) - ("BRAILLE PATTERN DOTS-123678" #x28E7) - ("BRAILLE PATTERN DOTS-4678" #x28E8) - ("BRAILLE PATTERN DOTS-14678" #x28E9) - ("BRAILLE PATTERN DOTS-24678" #x28EA) - ("BRAILLE PATTERN DOTS-124678" #x28EB) - ("BRAILLE PATTERN DOTS-34678" #x28EC) - ("BRAILLE PATTERN DOTS-134678" #x28ED) - ("BRAILLE PATTERN DOTS-234678" #x28EE) - ("BRAILLE PATTERN DOTS-1234678" #x28EF) - ("BRAILLE PATTERN DOTS-5678" #x28F0) - ("BRAILLE PATTERN DOTS-15678" #x28F1) - ("BRAILLE PATTERN DOTS-25678" #x28F2) - ("BRAILLE PATTERN DOTS-125678" #x28F3) - ("BRAILLE PATTERN DOTS-35678" #x28F4) - ("BRAILLE PATTERN DOTS-135678" #x28F5) - ("BRAILLE PATTERN DOTS-235678" #x28F6) - ("BRAILLE PATTERN DOTS-1235678" #x28F7) - ("BRAILLE PATTERN DOTS-45678" #x28F8) - ("BRAILLE PATTERN DOTS-145678" #x28F9) - ("BRAILLE PATTERN DOTS-245678" #x28FA) - ("BRAILLE PATTERN DOTS-1245678" #x28FB) - ("BRAILLE PATTERN DOTS-345678" #x28FC) - ("BRAILLE PATTERN DOTS-1345678" #x28FD) - ("BRAILLE PATTERN DOTS-2345678" #x28FE) - ("BRAILLE PATTERN DOTS-12345678" #x28FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02900-0297F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02900-0297F.el deleted file mode 100644 index a70eb7fe83..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02900-0297F.el +++ /dev/null @@ -1,130 +0,0 @@ -(nxml-define-char-name-set 'supplemental-arrows-b - '(("RIGHTWARDS TWO-HEADED ARROW WITH VERTICAL STROKE" #x2900) - ("RIGHTWARDS TWO-HEADED ARROW WITH DOUBLE VERTICAL STROKE" #x2901) - ("LEFTWARDS DOUBLE ARROW WITH VERTICAL STROKE" #x2902) - ("RIGHTWARDS DOUBLE ARROW WITH VERTICAL STROKE" #x2903) - ("LEFT RIGHT DOUBLE ARROW WITH VERTICAL STROKE" #x2904) - ("RIGHTWARDS TWO-HEADED ARROW FROM BAR" #x2905) - ("LEFTWARDS DOUBLE ARROW FROM BAR" #x2906) - ("RIGHTWARDS DOUBLE ARROW FROM BAR" #x2907) - ("DOWNWARDS ARROW WITH HORIZONTAL STROKE" #x2908) - ("UPWARDS ARROW WITH HORIZONTAL STROKE" #x2909) - ("UPWARDS TRIPLE ARROW" #x290A) - ("DOWNWARDS TRIPLE ARROW" #x290B) - ("LEFTWARDS DOUBLE DASH ARROW" #x290C) - ("RIGHTWARDS DOUBLE DASH ARROW" #x290D) - ("LEFTWARDS TRIPLE DASH ARROW" #x290E) - ("RIGHTWARDS TRIPLE DASH ARROW" #x290F) - ("RIGHTWARDS TWO-HEADED TRIPLE DASH ARROW" #x2910) - ("RIGHTWARDS ARROW WITH DOTTED STEM" #x2911) - ("UPWARDS ARROW TO BAR" #x2912) - ("DOWNWARDS ARROW TO BAR" #x2913) - ("RIGHTWARDS ARROW WITH TAIL WITH VERTICAL STROKE" #x2914) - ("RIGHTWARDS ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE" #x2915) - ("RIGHTWARDS TWO-HEADED ARROW WITH TAIL" #x2916) - ("RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH VERTICAL STROKE" #x2917) - ("RIGHTWARDS TWO-HEADED ARROW WITH TAIL WITH DOUBLE VERTICAL STROKE" #x2918) - ("LEFTWARDS ARROW-TAIL" #x2919) - ("RIGHTWARDS ARROW-TAIL" #x291A) - ("LEFTWARDS DOUBLE ARROW-TAIL" #x291B) - ("RIGHTWARDS DOUBLE ARROW-TAIL" #x291C) - ("LEFTWARDS ARROW TO BLACK DIAMOND" #x291D) - ("RIGHTWARDS ARROW TO BLACK DIAMOND" #x291E) - ("LEFTWARDS ARROW FROM BAR TO BLACK DIAMOND" #x291F) - ("RIGHTWARDS ARROW FROM BAR TO BLACK DIAMOND" #x2920) - ("NORTH WEST AND SOUTH EAST ARROW" #x2921) - ("NORTH EAST AND SOUTH WEST ARROW" #x2922) - ("NORTH WEST ARROW WITH HOOK" #x2923) - ("NORTH EAST ARROW WITH HOOK" #x2924) - ("SOUTH EAST ARROW WITH HOOK" #x2925) - ("SOUTH WEST ARROW WITH HOOK" #x2926) - ("NORTH WEST ARROW AND NORTH EAST ARROW" #x2927) - ("NORTH EAST ARROW AND SOUTH EAST ARROW" #x2928) - ("SOUTH EAST ARROW AND SOUTH WEST ARROW" #x2929) - ("SOUTH WEST ARROW AND NORTH WEST ARROW" #x292A) - ("RISING DIAGONAL CROSSING FALLING DIAGONAL" #x292B) - ("FALLING DIAGONAL CROSSING RISING DIAGONAL" #x292C) - ("SOUTH EAST ARROW CROSSING NORTH EAST ARROW" #x292D) - ("NORTH EAST ARROW CROSSING SOUTH EAST ARROW" #x292E) - ("FALLING DIAGONAL CROSSING NORTH EAST ARROW" #x292F) - ("RISING DIAGONAL CROSSING SOUTH EAST ARROW" #x2930) - ("NORTH EAST ARROW CROSSING NORTH WEST ARROW" #x2931) - ("NORTH WEST ARROW CROSSING NORTH EAST ARROW" #x2932) - ("WAVE ARROW POINTING DIRECTLY RIGHT" #x2933) - ("ARROW POINTING RIGHTWARDS THEN CURVING UPWARDS" #x2934) - ("ARROW POINTING RIGHTWARDS THEN CURVING DOWNWARDS" #x2935) - ("ARROW POINTING DOWNWARDS THEN CURVING LEFTWARDS" #x2936) - ("ARROW POINTING DOWNWARDS THEN CURVING RIGHTWARDS" #x2937) - ("RIGHT-SIDE ARC CLOCKWISE ARROW" #x2938) - ("LEFT-SIDE ARC ANTICLOCKWISE ARROW" #x2939) - ("TOP ARC ANTICLOCKWISE ARROW" #x293A) - ("BOTTOM ARC ANTICLOCKWISE ARROW" #x293B) - ("TOP ARC CLOCKWISE ARROW WITH MINUS" #x293C) - ("TOP ARC ANTICLOCKWISE ARROW WITH PLUS" #x293D) - ("LOWER RIGHT SEMICIRCULAR CLOCKWISE ARROW" #x293E) - ("LOWER LEFT SEMICIRCULAR ANTICLOCKWISE ARROW" #x293F) - ("ANTICLOCKWISE CLOSED CIRCLE ARROW" #x2940) - ("CLOCKWISE CLOSED CIRCLE ARROW" #x2941) - ("RIGHTWARDS ARROW ABOVE SHORT LEFTWARDS ARROW" #x2942) - ("LEFTWARDS ARROW ABOVE SHORT RIGHTWARDS ARROW" #x2943) - ("SHORT RIGHTWARDS ARROW ABOVE LEFTWARDS ARROW" #x2944) - ("RIGHTWARDS ARROW WITH PLUS BELOW" #x2945) - ("LEFTWARDS ARROW WITH PLUS BELOW" #x2946) - ("RIGHTWARDS ARROW THROUGH X" #x2947) - ("LEFT RIGHT ARROW THROUGH SMALL CIRCLE" #x2948) - ("UPWARDS TWO-HEADED ARROW FROM SMALL CIRCLE" #x2949) - ("LEFT BARB UP RIGHT BARB DOWN HARPOON" #x294A) - ("LEFT BARB DOWN RIGHT BARB UP HARPOON" #x294B) - ("UP BARB RIGHT DOWN BARB LEFT HARPOON" #x294C) - ("UP BARB LEFT DOWN BARB RIGHT HARPOON" #x294D) - ("LEFT BARB UP RIGHT BARB UP HARPOON" #x294E) - ("UP BARB RIGHT DOWN BARB RIGHT HARPOON" #x294F) - ("LEFT BARB DOWN RIGHT BARB DOWN HARPOON" #x2950) - ("UP BARB LEFT DOWN BARB LEFT HARPOON" #x2951) - ("LEFTWARDS HARPOON WITH BARB UP TO BAR" #x2952) - ("RIGHTWARDS HARPOON WITH BARB UP TO BAR" #x2953) - ("UPWARDS HARPOON WITH BARB RIGHT TO BAR" #x2954) - ("DOWNWARDS HARPOON WITH BARB RIGHT TO BAR" #x2955) - ("LEFTWARDS HARPOON WITH BARB DOWN TO BAR" #x2956) - ("RIGHTWARDS HARPOON WITH BARB DOWN TO BAR" #x2957) - ("UPWARDS HARPOON WITH BARB LEFT TO BAR" #x2958) - ("DOWNWARDS HARPOON WITH BARB LEFT TO BAR" #x2959) - ("LEFTWARDS HARPOON WITH BARB UP FROM BAR" #x295A) - ("RIGHTWARDS HARPOON WITH BARB UP FROM BAR" #x295B) - ("UPWARDS HARPOON WITH BARB RIGHT FROM BAR" #x295C) - ("DOWNWARDS HARPOON WITH BARB RIGHT FROM BAR" #x295D) - ("LEFTWARDS HARPOON WITH BARB DOWN FROM BAR" #x295E) - ("RIGHTWARDS HARPOON WITH BARB DOWN FROM BAR" #x295F) - ("UPWARDS HARPOON WITH BARB LEFT FROM BAR" #x2960) - ("DOWNWARDS HARPOON WITH BARB LEFT FROM BAR" #x2961) - ("LEFTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB DOWN" #x2962) - ("UPWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT" #x2963) - ("RIGHTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB DOWN" #x2964) - ("DOWNWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT" #x2965) - ("LEFTWARDS HARPOON WITH BARB UP ABOVE RIGHTWARDS HARPOON WITH BARB UP" #x2966) - ("LEFTWARDS HARPOON WITH BARB DOWN ABOVE RIGHTWARDS HARPOON WITH BARB DOWN" #x2967) - ("RIGHTWARDS HARPOON WITH BARB UP ABOVE LEFTWARDS HARPOON WITH BARB UP" #x2968) - ("RIGHTWARDS HARPOON WITH BARB DOWN ABOVE LEFTWARDS HARPOON WITH BARB DOWN" #x2969) - ("LEFTWARDS HARPOON WITH BARB UP ABOVE LONG DASH" #x296A) - ("LEFTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH" #x296B) - ("RIGHTWARDS HARPOON WITH BARB UP ABOVE LONG DASH" #x296C) - ("RIGHTWARDS HARPOON WITH BARB DOWN BELOW LONG DASH" #x296D) - ("UPWARDS HARPOON WITH BARB LEFT BESIDE DOWNWARDS HARPOON WITH BARB RIGHT" #x296E) - ("DOWNWARDS HARPOON WITH BARB LEFT BESIDE UPWARDS HARPOON WITH BARB RIGHT" #x296F) - ("RIGHT DOUBLE ARROW WITH ROUNDED HEAD" #x2970) - ("EQUALS SIGN ABOVE RIGHTWARDS ARROW" #x2971) - ("TILDE OPERATOR ABOVE RIGHTWARDS ARROW" #x2972) - ("LEFTWARDS ARROW ABOVE TILDE OPERATOR" #x2973) - ("RIGHTWARDS ARROW ABOVE TILDE OPERATOR" #x2974) - ("RIGHTWARDS ARROW ABOVE ALMOST EQUAL TO" #x2975) - ("LESS-THAN ABOVE LEFTWARDS ARROW" #x2976) - ("LEFTWARDS ARROW THROUGH LESS-THAN" #x2977) - ("GREATER-THAN ABOVE RIGHTWARDS ARROW" #x2978) - ("SUBSET ABOVE RIGHTWARDS ARROW" #x2979) - ("LEFTWARDS ARROW THROUGH SUBSET" #x297A) - ("SUPERSET ABOVE LEFTWARDS ARROW" #x297B) - ("LEFT FISH TAIL" #x297C) - ("RIGHT FISH TAIL" #x297D) - ("UP FISH TAIL" #x297E) - ("DOWN FISH TAIL" #x297F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02980-029FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02980-029FF.el deleted file mode 100644 index f1e368783a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02980-029FF.el +++ /dev/null @@ -1,130 +0,0 @@ -(nxml-define-char-name-set 'miscellaneous-mathematical-symbols-b - '(("TRIPLE VERTICAL BAR DELIMITER" #x2980) - ("Z NOTATION SPOT" #x2981) - ("Z NOTATION TYPE COLON" #x2982) - ("LEFT WHITE CURLY BRACKET" #x2983) - ("RIGHT WHITE CURLY BRACKET" #x2984) - ("LEFT WHITE PARENTHESIS" #x2985) - ("RIGHT WHITE PARENTHESIS" #x2986) - ("Z NOTATION LEFT IMAGE BRACKET" #x2987) - ("Z NOTATION RIGHT IMAGE BRACKET" #x2988) - ("Z NOTATION LEFT BINDING BRACKET" #x2989) - ("Z NOTATION RIGHT BINDING BRACKET" #x298A) - ("LEFT SQUARE BRACKET WITH UNDERBAR" #x298B) - ("RIGHT SQUARE BRACKET WITH UNDERBAR" #x298C) - ("LEFT SQUARE BRACKET WITH TICK IN TOP CORNER" #x298D) - ("RIGHT SQUARE BRACKET WITH TICK IN BOTTOM CORNER" #x298E) - ("LEFT SQUARE BRACKET WITH TICK IN BOTTOM CORNER" #x298F) - ("RIGHT SQUARE BRACKET WITH TICK IN TOP CORNER" #x2990) - ("LEFT ANGLE BRACKET WITH DOT" #x2991) - ("RIGHT ANGLE BRACKET WITH DOT" #x2992) - ("LEFT ARC LESS-THAN BRACKET" #x2993) - ("RIGHT ARC GREATER-THAN BRACKET" #x2994) - ("DOUBLE LEFT ARC GREATER-THAN BRACKET" #x2995) - ("DOUBLE RIGHT ARC LESS-THAN BRACKET" #x2996) - ("LEFT BLACK TORTOISE SHELL BRACKET" #x2997) - ("RIGHT BLACK TORTOISE SHELL BRACKET" #x2998) - ("DOTTED FENCE" #x2999) - ("VERTICAL ZIGZAG LINE" #x299A) - ("MEASURED ANGLE OPENING LEFT" #x299B) - ("RIGHT ANGLE VARIANT WITH SQUARE" #x299C) - ("MEASURED RIGHT ANGLE WITH DOT" #x299D) - ("ANGLE WITH S INSIDE" #x299E) - ("ACUTE ANGLE" #x299F) - ("SPHERICAL ANGLE OPENING LEFT" #x29A0) - ("SPHERICAL ANGLE OPENING UP" #x29A1) - ("TURNED ANGLE" #x29A2) - ("REVERSED ANGLE" #x29A3) - ("ANGLE WITH UNDERBAR" #x29A4) - ("REVERSED ANGLE WITH UNDERBAR" #x29A5) - ("OBLIQUE ANGLE OPENING UP" #x29A6) - ("OBLIQUE ANGLE OPENING DOWN" #x29A7) - ("MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND RIGHT" #x29A8) - ("MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING UP AND LEFT" #x29A9) - ("MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND RIGHT" #x29AA) - ("MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING DOWN AND LEFT" #x29AB) - ("MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND UP" #x29AC) - ("MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND UP" #x29AD) - ("MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING RIGHT AND DOWN" #x29AE) - ("MEASURED ANGLE WITH OPEN ARM ENDING IN ARROW POINTING LEFT AND DOWN" #x29AF) - ("REVERSED EMPTY SET" #x29B0) - ("EMPTY SET WITH OVERBAR" #x29B1) - ("EMPTY SET WITH SMALL CIRCLE ABOVE" #x29B2) - ("EMPTY SET WITH RIGHT ARROW ABOVE" #x29B3) - ("EMPTY SET WITH LEFT ARROW ABOVE" #x29B4) - ("CIRCLE WITH HORIZONTAL BAR" #x29B5) - ("CIRCLED VERTICAL BAR" #x29B6) - ("CIRCLED PARALLEL" #x29B7) - ("CIRCLED REVERSE SOLIDUS" #x29B8) - ("CIRCLED PERPENDICULAR" #x29B9) - ("CIRCLE DIVIDED BY HORIZONTAL BAR AND TOP HALF DIVIDED BY VERTICAL BAR" #x29BA) - ("CIRCLE WITH SUPERIMPOSED X" #x29BB) - ("CIRCLED ANTICLOCKWISE-ROTATED DIVISION SIGN" #x29BC) - ("UP ARROW THROUGH CIRCLE" #x29BD) - ("CIRCLED WHITE BULLET" #x29BE) - ("CIRCLED BULLET" #x29BF) - ("CIRCLED LESS-THAN" #x29C0) - ("CIRCLED GREATER-THAN" #x29C1) - ("CIRCLE WITH SMALL CIRCLE TO THE RIGHT" #x29C2) - ("CIRCLE WITH TWO HORIZONTAL STROKES TO THE RIGHT" #x29C3) - ("SQUARED RISING DIAGONAL SLASH" #x29C4) - ("SQUARED FALLING DIAGONAL SLASH" #x29C5) - ("SQUARED ASTERISK" #x29C6) - ("SQUARED SMALL CIRCLE" #x29C7) - ("SQUARED SQUARE" #x29C8) - ("TWO JOINED SQUARES" #x29C9) - ("TRIANGLE WITH DOT ABOVE" #x29CA) - ("TRIANGLE WITH UNDERBAR" #x29CB) - ("S IN TRIANGLE" #x29CC) - ("TRIANGLE WITH SERIFS AT BOTTOM" #x29CD) - ("RIGHT TRIANGLE ABOVE LEFT TRIANGLE" #x29CE) - ("LEFT TRIANGLE BESIDE VERTICAL BAR" #x29CF) - ("VERTICAL BAR BESIDE RIGHT TRIANGLE" #x29D0) - ("BOWTIE WITH LEFT HALF BLACK" #x29D1) - ("BOWTIE WITH RIGHT HALF BLACK" #x29D2) - ("BLACK BOWTIE" #x29D3) - ("TIMES WITH LEFT HALF BLACK" #x29D4) - ("TIMES WITH RIGHT HALF BLACK" #x29D5) - ("WHITE HOURGLASS" #x29D6) - ("BLACK HOURGLASS" #x29D7) - ("LEFT WIGGLY FENCE" #x29D8) - ("RIGHT WIGGLY FENCE" #x29D9) - ("LEFT DOUBLE WIGGLY FENCE" #x29DA) - ("RIGHT DOUBLE WIGGLY FENCE" #x29DB) - ("INCOMPLETE INFINITY" #x29DC) - ("TIE OVER INFINITY" #x29DD) - ("INFINITY NEGATED WITH VERTICAL BAR" #x29DE) - ("DOUBLE-ENDED MULTIMAP" #x29DF) - ("SQUARE WITH CONTOURED OUTLINE" #x29E0) - ("INCREASES AS" #x29E1) - ("SHUFFLE PRODUCT" #x29E2) - ("EQUALS SIGN AND SLANTED PARALLEL" #x29E3) - ("EQUALS SIGN AND SLANTED PARALLEL WITH TILDE ABOVE" #x29E4) - ("IDENTICAL TO AND SLANTED PARALLEL" #x29E5) - ("GLEICH STARK" #x29E6) - ("THERMODYNAMIC" #x29E7) - ("DOWN-POINTING TRIANGLE WITH LEFT HALF BLACK" #x29E8) - ("DOWN-POINTING TRIANGLE WITH RIGHT HALF BLACK" #x29E9) - ("BLACK DIAMOND WITH DOWN ARROW" #x29EA) - ("BLACK LOZENGE" #x29EB) - ("WHITE CIRCLE WITH DOWN ARROW" #x29EC) - ("BLACK CIRCLE WITH DOWN ARROW" #x29ED) - ("ERROR-BARRED WHITE SQUARE" #x29EE) - ("ERROR-BARRED BLACK SQUARE" #x29EF) - ("ERROR-BARRED WHITE DIAMOND" #x29F0) - ("ERROR-BARRED BLACK DIAMOND" #x29F1) - ("ERROR-BARRED WHITE CIRCLE" #x29F2) - ("ERROR-BARRED BLACK CIRCLE" #x29F3) - ("RULE-DELAYED" #x29F4) - ("REVERSE SOLIDUS OPERATOR" #x29F5) - ("SOLIDUS WITH OVERBAR" #x29F6) - ("REVERSE SOLIDUS WITH HORIZONTAL STROKE" #x29F7) - ("BIG SOLIDUS" #x29F8) - ("BIG REVERSE SOLIDUS" #x29F9) - ("DOUBLE PLUS" #x29FA) - ("TRIPLE PLUS" #x29FB) - ("LEFT-POINTING CURVED ANGLE BRACKET" #x29FC) - ("RIGHT-POINTING CURVED ANGLE BRACKET" #x29FD) - ("TINY" #x29FE) - ("MINY" #x29FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02A00-02AFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02A00-02AFF.el deleted file mode 100644 index e6f9ca432b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02A00-02AFF.el +++ /dev/null @@ -1,258 +0,0 @@ -(nxml-define-char-name-set 'supplemental-mathematical-operators - '(("N-ARY CIRCLED DOT OPERATOR" #x2A00) - ("N-ARY CIRCLED PLUS OPERATOR" #x2A01) - ("N-ARY CIRCLED TIMES OPERATOR" #x2A02) - ("N-ARY UNION OPERATOR WITH DOT" #x2A03) - ("N-ARY UNION OPERATOR WITH PLUS" #x2A04) - ("N-ARY SQUARE INTERSECTION OPERATOR" #x2A05) - ("N-ARY SQUARE UNION OPERATOR" #x2A06) - ("TWO LOGICAL AND OPERATOR" #x2A07) - ("TWO LOGICAL OR OPERATOR" #x2A08) - ("N-ARY TIMES OPERATOR" #x2A09) - ("MODULO TWO SUM" #x2A0A) - ("SUMMATION WITH INTEGRAL" #x2A0B) - ("QUADRUPLE INTEGRAL OPERATOR" #x2A0C) - ("FINITE PART INTEGRAL" #x2A0D) - ("INTEGRAL WITH DOUBLE STROKE" #x2A0E) - ("INTEGRAL AVERAGE WITH SLASH" #x2A0F) - ("CIRCULATION FUNCTION" #x2A10) - ("ANTICLOCKWISE INTEGRATION" #x2A11) - ("LINE INTEGRATION WITH RECTANGULAR PATH AROUND POLE" #x2A12) - ("LINE INTEGRATION WITH SEMICIRCULAR PATH AROUND POLE" #x2A13) - ("LINE INTEGRATION NOT INCLUDING THE POLE" #x2A14) - ("INTEGRAL AROUND A POINT OPERATOR" #x2A15) - ("QUATERNION INTEGRAL OPERATOR" #x2A16) - ("INTEGRAL WITH LEFTWARDS ARROW WITH HOOK" #x2A17) - ("INTEGRAL WITH TIMES SIGN" #x2A18) - ("INTEGRAL WITH INTERSECTION" #x2A19) - ("INTEGRAL WITH UNION" #x2A1A) - ("INTEGRAL WITH OVERBAR" #x2A1B) - ("INTEGRAL WITH UNDERBAR" #x2A1C) - ("JOIN" #x2A1D) - ("LARGE LEFT TRIANGLE OPERATOR" #x2A1E) - ("Z NOTATION SCHEMA COMPOSITION" #x2A1F) - ("Z NOTATION SCHEMA PIPING" #x2A20) - ("Z NOTATION SCHEMA PROJECTION" #x2A21) - ("PLUS SIGN WITH SMALL CIRCLE ABOVE" #x2A22) - ("PLUS SIGN WITH CIRCUMFLEX ACCENT ABOVE" #x2A23) - ("PLUS SIGN WITH TILDE ABOVE" #x2A24) - ("PLUS SIGN WITH DOT BELOW" #x2A25) - ("PLUS SIGN WITH TILDE BELOW" #x2A26) - ("PLUS SIGN WITH SUBSCRIPT TWO" #x2A27) - ("PLUS SIGN WITH BLACK TRIANGLE" #x2A28) - ("MINUS SIGN WITH COMMA ABOVE" #x2A29) - ("MINUS SIGN WITH DOT BELOW" #x2A2A) - ("MINUS SIGN WITH FALLING DOTS" #x2A2B) - ("MINUS SIGN WITH RISING DOTS" #x2A2C) - ("PLUS SIGN IN LEFT HALF CIRCLE" #x2A2D) - ("PLUS SIGN IN RIGHT HALF CIRCLE" #x2A2E) - ("VECTOR OR CROSS PRODUCT" #x2A2F) - ("MULTIPLICATION SIGN WITH DOT ABOVE" #x2A30) - ("MULTIPLICATION SIGN WITH UNDERBAR" #x2A31) - ("SEMIDIRECT PRODUCT WITH BOTTOM CLOSED" #x2A32) - ("SMASH PRODUCT" #x2A33) - ("MULTIPLICATION SIGN IN LEFT HALF CIRCLE" #x2A34) - ("MULTIPLICATION SIGN IN RIGHT HALF CIRCLE" #x2A35) - ("CIRCLED MULTIPLICATION SIGN WITH CIRCUMFLEX ACCENT" #x2A36) - ("MULTIPLICATION SIGN IN DOUBLE CIRCLE" #x2A37) - ("CIRCLED DIVISION SIGN" #x2A38) - ("PLUS SIGN IN TRIANGLE" #x2A39) - ("MINUS SIGN IN TRIANGLE" #x2A3A) - ("MULTIPLICATION SIGN IN TRIANGLE" #x2A3B) - ("INTERIOR PRODUCT" #x2A3C) - ("RIGHTHAND INTERIOR PRODUCT" #x2A3D) - ("Z NOTATION RELATIONAL COMPOSITION" #x2A3E) - ("AMALGAMATION OR COPRODUCT" #x2A3F) - ("INTERSECTION WITH DOT" #x2A40) - ("UNION WITH MINUS SIGN" #x2A41) - ("UNION WITH OVERBAR" #x2A42) - ("INTERSECTION WITH OVERBAR" #x2A43) - ("INTERSECTION WITH LOGICAL AND" #x2A44) - ("UNION WITH LOGICAL OR" #x2A45) - ("UNION ABOVE INTERSECTION" #x2A46) - ("INTERSECTION ABOVE UNION" #x2A47) - ("UNION ABOVE BAR ABOVE INTERSECTION" #x2A48) - ("INTERSECTION ABOVE BAR ABOVE UNION" #x2A49) - ("UNION BESIDE AND JOINED WITH UNION" #x2A4A) - ("INTERSECTION BESIDE AND JOINED WITH INTERSECTION" #x2A4B) - ("CLOSED UNION WITH SERIFS" #x2A4C) - ("CLOSED INTERSECTION WITH SERIFS" #x2A4D) - ("DOUBLE SQUARE INTERSECTION" #x2A4E) - ("DOUBLE SQUARE UNION" #x2A4F) - ("CLOSED UNION WITH SERIFS AND SMASH PRODUCT" #x2A50) - ("LOGICAL AND WITH DOT ABOVE" #x2A51) - ("LOGICAL OR WITH DOT ABOVE" #x2A52) - ("DOUBLE LOGICAL AND" #x2A53) - ("DOUBLE LOGICAL OR" #x2A54) - ("TWO INTERSECTING LOGICAL AND" #x2A55) - ("TWO INTERSECTING LOGICAL OR" #x2A56) - ("SLOPING LARGE OR" #x2A57) - ("SLOPING LARGE AND" #x2A58) - ("LOGICAL OR OVERLAPPING LOGICAL AND" #x2A59) - ("LOGICAL AND WITH MIDDLE STEM" #x2A5A) - ("LOGICAL OR WITH MIDDLE STEM" #x2A5B) - ("LOGICAL AND WITH HORIZONTAL DASH" #x2A5C) - ("LOGICAL OR WITH HORIZONTAL DASH" #x2A5D) - ("LOGICAL AND WITH DOUBLE OVERBAR" #x2A5E) - ("LOGICAL AND WITH UNDERBAR" #x2A5F) - ("LOGICAL AND WITH DOUBLE UNDERBAR" #x2A60) - ("SMALL VEE WITH UNDERBAR" #x2A61) - ("LOGICAL OR WITH DOUBLE OVERBAR" #x2A62) - ("LOGICAL OR WITH DOUBLE UNDERBAR" #x2A63) - ("Z NOTATION DOMAIN ANTIRESTRICTION" #x2A64) - ("Z NOTATION RANGE ANTIRESTRICTION" #x2A65) - ("EQUALS SIGN WITH DOT BELOW" #x2A66) - ("IDENTICAL WITH DOT ABOVE" #x2A67) - ("TRIPLE HORIZONTAL BAR WITH DOUBLE VERTICAL STROKE" #x2A68) - ("TRIPLE HORIZONTAL BAR WITH TRIPLE VERTICAL STROKE" #x2A69) - ("TILDE OPERATOR WITH DOT ABOVE" #x2A6A) - ("TILDE OPERATOR WITH RISING DOTS" #x2A6B) - ("SIMILAR MINUS SIMILAR" #x2A6C) - ("CONGRUENT WITH DOT ABOVE" #x2A6D) - ("EQUALS WITH ASTERISK" #x2A6E) - ("ALMOST EQUAL TO WITH CIRCUMFLEX ACCENT" #x2A6F) - ("APPROXIMATELY EQUAL OR EQUAL TO" #x2A70) - ("EQUALS SIGN ABOVE PLUS SIGN" #x2A71) - ("PLUS SIGN ABOVE EQUALS SIGN" #x2A72) - ("EQUALS SIGN ABOVE TILDE OPERATOR" #x2A73) - ("DOUBLE COLON EQUAL" #x2A74) - ("TWO CONSECUTIVE EQUALS SIGNS" #x2A75) - ("THREE CONSECUTIVE EQUALS SIGNS" #x2A76) - ("EQUALS SIGN WITH TWO DOTS ABOVE AND TWO DOTS BELOW" #x2A77) - ("EQUIVALENT WITH FOUR DOTS ABOVE" #x2A78) - ("LESS-THAN WITH CIRCLE INSIDE" #x2A79) - ("GREATER-THAN WITH CIRCLE INSIDE" #x2A7A) - ("LESS-THAN WITH QUESTION MARK ABOVE" #x2A7B) - ("GREATER-THAN WITH QUESTION MARK ABOVE" #x2A7C) - ("LESS-THAN OR SLANTED EQUAL TO" #x2A7D) - ("GREATER-THAN OR SLANTED EQUAL TO" #x2A7E) - ("LESS-THAN OR SLANTED EQUAL TO WITH DOT INSIDE" #x2A7F) - ("GREATER-THAN OR SLANTED EQUAL TO WITH DOT INSIDE" #x2A80) - ("LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE" #x2A81) - ("GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE" #x2A82) - ("LESS-THAN OR SLANTED EQUAL TO WITH DOT ABOVE RIGHT" #x2A83) - ("GREATER-THAN OR SLANTED EQUAL TO WITH DOT ABOVE LEFT" #x2A84) - ("LESS-THAN OR APPROXIMATE" #x2A85) - ("GREATER-THAN OR APPROXIMATE" #x2A86) - ("LESS-THAN AND SINGLE-LINE NOT EQUAL TO" #x2A87) - ("GREATER-THAN AND SINGLE-LINE NOT EQUAL TO" #x2A88) - ("LESS-THAN AND NOT APPROXIMATE" #x2A89) - ("GREATER-THAN AND NOT APPROXIMATE" #x2A8A) - ("LESS-THAN ABOVE DOUBLE-LINE EQUAL ABOVE GREATER-THAN" #x2A8B) - ("GREATER-THAN ABOVE DOUBLE-LINE EQUAL ABOVE LESS-THAN" #x2A8C) - ("LESS-THAN ABOVE SIMILAR OR EQUAL" #x2A8D) - ("GREATER-THAN ABOVE SIMILAR OR EQUAL" #x2A8E) - ("LESS-THAN ABOVE SIMILAR ABOVE GREATER-THAN" #x2A8F) - ("GREATER-THAN ABOVE SIMILAR ABOVE LESS-THAN" #x2A90) - ("LESS-THAN ABOVE GREATER-THAN ABOVE DOUBLE-LINE EQUAL" #x2A91) - ("GREATER-THAN ABOVE LESS-THAN ABOVE DOUBLE-LINE EQUAL" #x2A92) - ("LESS-THAN ABOVE SLANTED EQUAL ABOVE GREATER-THAN ABOVE SLANTED EQUAL" #x2A93) - ("GREATER-THAN ABOVE SLANTED EQUAL ABOVE LESS-THAN ABOVE SLANTED EQUAL" #x2A94) - ("SLANTED EQUAL TO OR LESS-THAN" #x2A95) - ("SLANTED EQUAL TO OR GREATER-THAN" #x2A96) - ("SLANTED EQUAL TO OR LESS-THAN WITH DOT INSIDE" #x2A97) - ("SLANTED EQUAL TO OR GREATER-THAN WITH DOT INSIDE" #x2A98) - ("DOUBLE-LINE EQUAL TO OR LESS-THAN" #x2A99) - ("DOUBLE-LINE EQUAL TO OR GREATER-THAN" #x2A9A) - ("DOUBLE-LINE SLANTED EQUAL TO OR LESS-THAN" #x2A9B) - ("DOUBLE-LINE SLANTED EQUAL TO OR GREATER-THAN" #x2A9C) - ("SIMILAR OR LESS-THAN" #x2A9D) - ("SIMILAR OR GREATER-THAN" #x2A9E) - ("SIMILAR ABOVE LESS-THAN ABOVE EQUALS SIGN" #x2A9F) - ("SIMILAR ABOVE GREATER-THAN ABOVE EQUALS SIGN" #x2AA0) - ("DOUBLE NESTED LESS-THAN" #x2AA1) - ("DOUBLE NESTED GREATER-THAN" #x2AA2) - ("DOUBLE NESTED LESS-THAN WITH UNDERBAR" #x2AA3) - ("GREATER-THAN OVERLAPPING LESS-THAN" #x2AA4) - ("GREATER-THAN BESIDE LESS-THAN" #x2AA5) - ("LESS-THAN CLOSED BY CURVE" #x2AA6) - ("GREATER-THAN CLOSED BY CURVE" #x2AA7) - ("LESS-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL" #x2AA8) - ("GREATER-THAN CLOSED BY CURVE ABOVE SLANTED EQUAL" #x2AA9) - ("SMALLER THAN" #x2AAA) - ("LARGER THAN" #x2AAB) - ("SMALLER THAN OR EQUAL TO" #x2AAC) - ("LARGER THAN OR EQUAL TO" #x2AAD) - ("EQUALS SIGN WITH BUMPY ABOVE" #x2AAE) - ("PRECEDES ABOVE SINGLE-LINE EQUALS SIGN" #x2AAF) - ("SUCCEEDS ABOVE SINGLE-LINE EQUALS SIGN" #x2AB0) - ("PRECEDES ABOVE SINGLE-LINE NOT EQUAL TO" #x2AB1) - ("SUCCEEDS ABOVE SINGLE-LINE NOT EQUAL TO" #x2AB2) - ("PRECEDES ABOVE EQUALS SIGN" #x2AB3) - ("SUCCEEDS ABOVE EQUALS SIGN" #x2AB4) - ("PRECEDES ABOVE NOT EQUAL TO" #x2AB5) - ("SUCCEEDS ABOVE NOT EQUAL TO" #x2AB6) - ("PRECEDES ABOVE ALMOST EQUAL TO" #x2AB7) - ("SUCCEEDS ABOVE ALMOST EQUAL TO" #x2AB8) - ("PRECEDES ABOVE NOT ALMOST EQUAL TO" #x2AB9) - ("SUCCEEDS ABOVE NOT ALMOST EQUAL TO" #x2ABA) - ("DOUBLE PRECEDES" #x2ABB) - ("DOUBLE SUCCEEDS" #x2ABC) - ("SUBSET WITH DOT" #x2ABD) - ("SUPERSET WITH DOT" #x2ABE) - ("SUBSET WITH PLUS SIGN BELOW" #x2ABF) - ("SUPERSET WITH PLUS SIGN BELOW" #x2AC0) - ("SUBSET WITH MULTIPLICATION SIGN BELOW" #x2AC1) - ("SUPERSET WITH MULTIPLICATION SIGN BELOW" #x2AC2) - ("SUBSET OF OR EQUAL TO WITH DOT ABOVE" #x2AC3) - ("SUPERSET OF OR EQUAL TO WITH DOT ABOVE" #x2AC4) - ("SUBSET OF ABOVE EQUALS SIGN" #x2AC5) - ("SUPERSET OF ABOVE EQUALS SIGN" #x2AC6) - ("SUBSET OF ABOVE TILDE OPERATOR" #x2AC7) - ("SUPERSET OF ABOVE TILDE OPERATOR" #x2AC8) - ("SUBSET OF ABOVE ALMOST EQUAL TO" #x2AC9) - ("SUPERSET OF ABOVE ALMOST EQUAL TO" #x2ACA) - ("SUBSET OF ABOVE NOT EQUAL TO" #x2ACB) - ("SUPERSET OF ABOVE NOT EQUAL TO" #x2ACC) - ("SQUARE LEFT OPEN BOX OPERATOR" #x2ACD) - ("SQUARE RIGHT OPEN BOX OPERATOR" #x2ACE) - ("CLOSED SUBSET" #x2ACF) - ("CLOSED SUPERSET" #x2AD0) - ("CLOSED SUBSET OR EQUAL TO" #x2AD1) - ("CLOSED SUPERSET OR EQUAL TO" #x2AD2) - ("SUBSET ABOVE SUPERSET" #x2AD3) - ("SUPERSET ABOVE SUBSET" #x2AD4) - ("SUBSET ABOVE SUBSET" #x2AD5) - ("SUPERSET ABOVE SUPERSET" #x2AD6) - ("SUPERSET BESIDE SUBSET" #x2AD7) - ("SUPERSET BESIDE AND JOINED BY DASH WITH SUBSET" #x2AD8) - ("ELEMENT OF OPENING DOWNWARDS" #x2AD9) - ("PITCHFORK WITH TEE TOP" #x2ADA) - ("TRANSVERSAL INTERSECTION" #x2ADB) - ("FORKING" #x2ADC) - ("NONFORKING" #x2ADD) - ("SHORT LEFT TACK" #x2ADE) - ("SHORT DOWN TACK" #x2ADF) - ("SHORT UP TACK" #x2AE0) - ("PERPENDICULAR WITH S" #x2AE1) - ("VERTICAL BAR TRIPLE RIGHT TURNSTILE" #x2AE2) - ("DOUBLE VERTICAL BAR LEFT TURNSTILE" #x2AE3) - ("VERTICAL BAR DOUBLE LEFT TURNSTILE" #x2AE4) - ("DOUBLE VERTICAL BAR DOUBLE LEFT TURNSTILE" #x2AE5) - ("LONG DASH FROM LEFT MEMBER OF DOUBLE VERTICAL" #x2AE6) - ("SHORT DOWN TACK WITH OVERBAR" #x2AE7) - ("SHORT UP TACK WITH UNDERBAR" #x2AE8) - ("SHORT UP TACK ABOVE SHORT DOWN TACK" #x2AE9) - ("DOUBLE DOWN TACK" #x2AEA) - ("DOUBLE UP TACK" #x2AEB) - ("DOUBLE STROKE NOT SIGN" #x2AEC) - ("REVERSED DOUBLE STROKE NOT SIGN" #x2AED) - ("DOES NOT DIVIDE WITH REVERSED NEGATION SLASH" #x2AEE) - ("VERTICAL LINE WITH CIRCLE ABOVE" #x2AEF) - ("VERTICAL LINE WITH CIRCLE BELOW" #x2AF0) - ("DOWN TACK WITH CIRCLE BELOW" #x2AF1) - ("PARALLEL WITH HORIZONTAL STROKE" #x2AF2) - ("PARALLEL WITH TILDE OPERATOR" #x2AF3) - ("TRIPLE VERTICAL BAR BINARY RELATION" #x2AF4) - ("TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE" #x2AF5) - ("TRIPLE COLON OPERATOR" #x2AF6) - ("TRIPLE NESTED LESS-THAN" #x2AF7) - ("TRIPLE NESTED GREATER-THAN" #x2AF8) - ("DOUBLE-LINE SLANTED LESS-THAN OR EQUAL TO" #x2AF9) - ("DOUBLE-LINE SLANTED GREATER-THAN OR EQUAL TO" #x2AFA) - ("TRIPLE SOLIDUS BINARY RELATION" #x2AFB) - ("LARGE TRIPLE VERTICAL BAR OPERATOR" #x2AFC) - ("DOUBLE SOLIDUS OPERATOR" #x2AFD) - ("WHITE VERTICAL BAR" #x2AFE) - ("N-ARY WHITE VERTICAL BAR" #x2AFF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02E80-02EFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02E80-02EFF.el deleted file mode 100644 index 3cb901803b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02E80-02EFF.el +++ /dev/null @@ -1,117 +0,0 @@ -(nxml-define-char-name-set 'cjk-radicals-supplement - '(("CJK RADICAL REPEAT" #x2E80) - ("CJK RADICAL CLIFF" #x2E81) - ("CJK RADICAL SECOND ONE" #x2E82) - ("CJK RADICAL SECOND TWO" #x2E83) - ("CJK RADICAL SECOND THREE" #x2E84) - ("CJK RADICAL PERSON" #x2E85) - ("CJK RADICAL BOX" #x2E86) - ("CJK RADICAL TABLE" #x2E87) - ("CJK RADICAL KNIFE ONE" #x2E88) - ("CJK RADICAL KNIFE TWO" #x2E89) - ("CJK RADICAL DIVINATION" #x2E8A) - ("CJK RADICAL SEAL" #x2E8B) - ("CJK RADICAL SMALL ONE" #x2E8C) - ("CJK RADICAL SMALL TWO" #x2E8D) - ("CJK RADICAL LAME ONE" #x2E8E) - ("CJK RADICAL LAME TWO" #x2E8F) - ("CJK RADICAL LAME THREE" #x2E90) - ("CJK RADICAL LAME FOUR" #x2E91) - ("CJK RADICAL SNAKE" #x2E92) - ("CJK RADICAL THREAD" #x2E93) - ("CJK RADICAL SNOUT ONE" #x2E94) - ("CJK RADICAL SNOUT TWO" #x2E95) - ("CJK RADICAL HEART ONE" #x2E96) - ("CJK RADICAL HEART TWO" #x2E97) - ("CJK RADICAL HAND" #x2E98) - ("CJK RADICAL RAP" #x2E99) - ("CJK RADICAL CHOKE" #x2E9B) - ("CJK RADICAL SUN" #x2E9C) - ("CJK RADICAL MOON" #x2E9D) - ("CJK RADICAL DEATH" #x2E9E) - ("CJK RADICAL MOTHER" #x2E9F) - ("CJK RADICAL CIVILIAN" #x2EA0) - ("CJK RADICAL WATER ONE" #x2EA1) - ("CJK RADICAL WATER TWO" #x2EA2) - ("CJK RADICAL FIRE" #x2EA3) - ("CJK RADICAL PAW ONE" #x2EA4) - ("CJK RADICAL PAW TWO" #x2EA5) - ("CJK RADICAL SIMPLIFIED HALF TREE TRUNK" #x2EA6) - ("CJK RADICAL COW" #x2EA7) - ("CJK RADICAL DOG" #x2EA8) - ("CJK RADICAL JADE" #x2EA9) - ("CJK RADICAL BOLT OF CLOTH" #x2EAA) - ("CJK RADICAL EYE" #x2EAB) - ("CJK RADICAL SPIRIT ONE" #x2EAC) - ("CJK RADICAL SPIRIT TWO" #x2EAD) - ("CJK RADICAL BAMBOO" #x2EAE) - ("CJK RADICAL SILK" #x2EAF) - ("CJK RADICAL C-SIMPLIFIED SILK" #x2EB0) - ("CJK RADICAL NET ONE" #x2EB1) - ("CJK RADICAL NET TWO" #x2EB2) - ("CJK RADICAL NET THREE" #x2EB3) - ("CJK RADICAL NET FOUR" #x2EB4) - ("CJK RADICAL MESH" #x2EB5) - ("CJK RADICAL SHEEP" #x2EB6) - ("CJK RADICAL RAM" #x2EB7) - ("CJK RADICAL EWE" #x2EB8) - ("CJK RADICAL OLD" #x2EB9) - ("CJK RADICAL BRUSH ONE" #x2EBA) - ("CJK RADICAL BRUSH TWO" #x2EBB) - ("CJK RADICAL MEAT" #x2EBC) - ("CJK RADICAL MORTAR" #x2EBD) - ("CJK RADICAL GRASS ONE" #x2EBE) - ("CJK RADICAL GRASS TWO" #x2EBF) - ("CJK RADICAL GRASS THREE" #x2EC0) - ("CJK RADICAL TIGER" #x2EC1) - ("CJK RADICAL CLOTHES" #x2EC2) - ("CJK RADICAL WEST ONE" #x2EC3) - ("CJK RADICAL WEST TWO" #x2EC4) - ("CJK RADICAL C-SIMPLIFIED SEE" #x2EC5) - ("CJK RADICAL SIMPLIFIED HORN" #x2EC6) - ("CJK RADICAL HORN" #x2EC7) - ("CJK RADICAL C-SIMPLIFIED SPEECH" #x2EC8) - ("CJK RADICAL C-SIMPLIFIED SHELL" #x2EC9) - ("CJK RADICAL FOOT" #x2ECA) - ("CJK RADICAL C-SIMPLIFIED CART" #x2ECB) - ("CJK RADICAL SIMPLIFIED WALK" #x2ECC) - ("CJK RADICAL WALK ONE" #x2ECD) - ("CJK RADICAL WALK TWO" #x2ECE) - ("CJK RADICAL CITY" #x2ECF) - ("CJK RADICAL C-SIMPLIFIED GOLD" #x2ED0) - ("CJK RADICAL LONG ONE" #x2ED1) - ("CJK RADICAL LONG TWO" #x2ED2) - ("CJK RADICAL C-SIMPLIFIED LONG" #x2ED3) - ("CJK RADICAL C-SIMPLIFIED GATE" #x2ED4) - ("CJK RADICAL MOUND ONE" #x2ED5) - ("CJK RADICAL MOUND TWO" #x2ED6) - ("CJK RADICAL RAIN" #x2ED7) - ("CJK RADICAL BLUE" #x2ED8) - ("CJK RADICAL C-SIMPLIFIED TANNED LEATHER" #x2ED9) - ("CJK RADICAL C-SIMPLIFIED LEAF" #x2EDA) - ("CJK RADICAL C-SIMPLIFIED WIND" #x2EDB) - ("CJK RADICAL C-SIMPLIFIED FLY" #x2EDC) - ("CJK RADICAL EAT ONE" #x2EDD) - ("CJK RADICAL EAT TWO" #x2EDE) - ("CJK RADICAL EAT THREE" #x2EDF) - ("CJK RADICAL C-SIMPLIFIED EAT" #x2EE0) - ("CJK RADICAL HEAD" #x2EE1) - ("CJK RADICAL C-SIMPLIFIED HORSE" #x2EE2) - ("CJK RADICAL BONE" #x2EE3) - ("CJK RADICAL GHOST" #x2EE4) - ("CJK RADICAL C-SIMPLIFIED FISH" #x2EE5) - ("CJK RADICAL C-SIMPLIFIED BIRD" #x2EE6) - ("CJK RADICAL C-SIMPLIFIED SALT" #x2EE7) - ("CJK RADICAL SIMPLIFIED WHEAT" #x2EE8) - ("CJK RADICAL SIMPLIFIED YELLOW" #x2EE9) - ("CJK RADICAL C-SIMPLIFIED FROG" #x2EEA) - ("CJK RADICAL J-SIMPLIFIED EVEN" #x2EEB) - ("CJK RADICAL C-SIMPLIFIED EVEN" #x2EEC) - ("CJK RADICAL J-SIMPLIFIED TOOTH" #x2EED) - ("CJK RADICAL C-SIMPLIFIED TOOTH" #x2EEE) - ("CJK RADICAL J-SIMPLIFIED DRAGON" #x2EEF) - ("CJK RADICAL C-SIMPLIFIED DRAGON" #x2EF0) - ("CJK RADICAL TURTLE" #x2EF1) - ("CJK RADICAL J-SIMPLIFIED TURTLE" #x2EF2) - ("CJK RADICAL C-SIMPLIFIED TURTLE" #x2EF3) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02F00-02FDF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02F00-02FDF.el deleted file mode 100644 index 89c202709f..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02F00-02FDF.el +++ /dev/null @@ -1,216 +0,0 @@ -(nxml-define-char-name-set 'kangxi-radicals - '(("KANGXI RADICAL ONE" #x2F00) - ("KANGXI RADICAL LINE" #x2F01) - ("KANGXI RADICAL DOT" #x2F02) - ("KANGXI RADICAL SLASH" #x2F03) - ("KANGXI RADICAL SECOND" #x2F04) - ("KANGXI RADICAL HOOK" #x2F05) - ("KANGXI RADICAL TWO" #x2F06) - ("KANGXI RADICAL LID" #x2F07) - ("KANGXI RADICAL MAN" #x2F08) - ("KANGXI RADICAL LEGS" #x2F09) - ("KANGXI RADICAL ENTER" #x2F0A) - ("KANGXI RADICAL EIGHT" #x2F0B) - ("KANGXI RADICAL DOWN BOX" #x2F0C) - ("KANGXI RADICAL COVER" #x2F0D) - ("KANGXI RADICAL ICE" #x2F0E) - ("KANGXI RADICAL TABLE" #x2F0F) - ("KANGXI RADICAL OPEN BOX" #x2F10) - ("KANGXI RADICAL KNIFE" #x2F11) - ("KANGXI RADICAL POWER" #x2F12) - ("KANGXI RADICAL WRAP" #x2F13) - ("KANGXI RADICAL SPOON" #x2F14) - ("KANGXI RADICAL RIGHT OPEN BOX" #x2F15) - ("KANGXI RADICAL HIDING ENCLOSURE" #x2F16) - ("KANGXI RADICAL TEN" #x2F17) - ("KANGXI RADICAL DIVINATION" #x2F18) - ("KANGXI RADICAL SEAL" #x2F19) - ("KANGXI RADICAL CLIFF" #x2F1A) - ("KANGXI RADICAL PRIVATE" #x2F1B) - ("KANGXI RADICAL AGAIN" #x2F1C) - ("KANGXI RADICAL MOUTH" #x2F1D) - ("KANGXI RADICAL ENCLOSURE" #x2F1E) - ("KANGXI RADICAL EARTH" #x2F1F) - ("KANGXI RADICAL SCHOLAR" #x2F20) - ("KANGXI RADICAL GO" #x2F21) - ("KANGXI RADICAL GO SLOWLY" #x2F22) - ("KANGXI RADICAL EVENING" #x2F23) - ("KANGXI RADICAL BIG" #x2F24) - ("KANGXI RADICAL WOMAN" #x2F25) - ("KANGXI RADICAL CHILD" #x2F26) - ("KANGXI RADICAL ROOF" #x2F27) - ("KANGXI RADICAL INCH" #x2F28) - ("KANGXI RADICAL SMALL" #x2F29) - ("KANGXI RADICAL LAME" #x2F2A) - ("KANGXI RADICAL CORPSE" #x2F2B) - ("KANGXI RADICAL SPROUT" #x2F2C) - ("KANGXI RADICAL MOUNTAIN" #x2F2D) - ("KANGXI RADICAL RIVER" #x2F2E) - ("KANGXI RADICAL WORK" #x2F2F) - ("KANGXI RADICAL ONESELF" #x2F30) - ("KANGXI RADICAL TURBAN" #x2F31) - ("KANGXI RADICAL DRY" #x2F32) - ("KANGXI RADICAL SHORT THREAD" #x2F33) - ("KANGXI RADICAL DOTTED CLIFF" #x2F34) - ("KANGXI RADICAL LONG STRIDE" #x2F35) - ("KANGXI RADICAL TWO HANDS" #x2F36) - ("KANGXI RADICAL SHOOT" #x2F37) - ("KANGXI RADICAL BOW" #x2F38) - ("KANGXI RADICAL SNOUT" #x2F39) - ("KANGXI RADICAL BRISTLE" #x2F3A) - ("KANGXI RADICAL STEP" #x2F3B) - ("KANGXI RADICAL HEART" #x2F3C) - ("KANGXI RADICAL HALBERD" #x2F3D) - ("KANGXI RADICAL DOOR" #x2F3E) - ("KANGXI RADICAL HAND" #x2F3F) - ("KANGXI RADICAL BRANCH" #x2F40) - ("KANGXI RADICAL RAP" #x2F41) - ("KANGXI RADICAL SCRIPT" #x2F42) - ("KANGXI RADICAL DIPPER" #x2F43) - ("KANGXI RADICAL AXE" #x2F44) - ("KANGXI RADICAL SQUARE" #x2F45) - ("KANGXI RADICAL NOT" #x2F46) - ("KANGXI RADICAL SUN" #x2F47) - ("KANGXI RADICAL SAY" #x2F48) - ("KANGXI RADICAL MOON" #x2F49) - ("KANGXI RADICAL TREE" #x2F4A) - ("KANGXI RADICAL LACK" #x2F4B) - ("KANGXI RADICAL STOP" #x2F4C) - ("KANGXI RADICAL DEATH" #x2F4D) - ("KANGXI RADICAL WEAPON" #x2F4E) - ("KANGXI RADICAL DO NOT" #x2F4F) - ("KANGXI RADICAL COMPARE" #x2F50) - ("KANGXI RADICAL FUR" #x2F51) - ("KANGXI RADICAL CLAN" #x2F52) - ("KANGXI RADICAL STEAM" #x2F53) - ("KANGXI RADICAL WATER" #x2F54) - ("KANGXI RADICAL FIRE" #x2F55) - ("KANGXI RADICAL CLAW" #x2F56) - ("KANGXI RADICAL FATHER" #x2F57) - ("KANGXI RADICAL DOUBLE X" #x2F58) - ("KANGXI RADICAL HALF TREE TRUNK" #x2F59) - ("KANGXI RADICAL SLICE" #x2F5A) - ("KANGXI RADICAL FANG" #x2F5B) - ("KANGXI RADICAL COW" #x2F5C) - ("KANGXI RADICAL DOG" #x2F5D) - ("KANGXI RADICAL PROFOUND" #x2F5E) - ("KANGXI RADICAL JADE" #x2F5F) - ("KANGXI RADICAL MELON" #x2F60) - ("KANGXI RADICAL TILE" #x2F61) - ("KANGXI RADICAL SWEET" #x2F62) - ("KANGXI RADICAL LIFE" #x2F63) - ("KANGXI RADICAL USE" #x2F64) - ("KANGXI RADICAL FIELD" #x2F65) - ("KANGXI RADICAL BOLT OF CLOTH" #x2F66) - ("KANGXI RADICAL SICKNESS" #x2F67) - ("KANGXI RADICAL DOTTED TENT" #x2F68) - ("KANGXI RADICAL WHITE" #x2F69) - ("KANGXI RADICAL SKIN" #x2F6A) - ("KANGXI RADICAL DISH" #x2F6B) - ("KANGXI RADICAL EYE" #x2F6C) - ("KANGXI RADICAL SPEAR" #x2F6D) - ("KANGXI RADICAL ARROW" #x2F6E) - ("KANGXI RADICAL STONE" #x2F6F) - ("KANGXI RADICAL SPIRIT" #x2F70) - ("KANGXI RADICAL TRACK" #x2F71) - ("KANGXI RADICAL GRAIN" #x2F72) - ("KANGXI RADICAL CAVE" #x2F73) - ("KANGXI RADICAL STAND" #x2F74) - ("KANGXI RADICAL BAMBOO" #x2F75) - ("KANGXI RADICAL RICE" #x2F76) - ("KANGXI RADICAL SILK" #x2F77) - ("KANGXI RADICAL JAR" #x2F78) - ("KANGXI RADICAL NET" #x2F79) - ("KANGXI RADICAL SHEEP" #x2F7A) - ("KANGXI RADICAL FEATHER" #x2F7B) - ("KANGXI RADICAL OLD" #x2F7C) - ("KANGXI RADICAL AND" #x2F7D) - ("KANGXI RADICAL PLOW" #x2F7E) - ("KANGXI RADICAL EAR" #x2F7F) - ("KANGXI RADICAL BRUSH" #x2F80) - ("KANGXI RADICAL MEAT" #x2F81) - ("KANGXI RADICAL MINISTER" #x2F82) - ("KANGXI RADICAL SELF" #x2F83) - ("KANGXI RADICAL ARRIVE" #x2F84) - ("KANGXI RADICAL MORTAR" #x2F85) - ("KANGXI RADICAL TONGUE" #x2F86) - ("KANGXI RADICAL OPPOSE" #x2F87) - ("KANGXI RADICAL BOAT" #x2F88) - ("KANGXI RADICAL STOPPING" #x2F89) - ("KANGXI RADICAL COLOR" #x2F8A) - ("KANGXI RADICAL GRASS" #x2F8B) - ("KANGXI RADICAL TIGER" #x2F8C) - ("KANGXI RADICAL INSECT" #x2F8D) - ("KANGXI RADICAL BLOOD" #x2F8E) - ("KANGXI RADICAL WALK ENCLOSURE" #x2F8F) - ("KANGXI RADICAL CLOTHES" #x2F90) - ("KANGXI RADICAL WEST" #x2F91) - ("KANGXI RADICAL SEE" #x2F92) - ("KANGXI RADICAL HORN" #x2F93) - ("KANGXI RADICAL SPEECH" #x2F94) - ("KANGXI RADICAL VALLEY" #x2F95) - ("KANGXI RADICAL BEAN" #x2F96) - ("KANGXI RADICAL PIG" #x2F97) - ("KANGXI RADICAL BADGER" #x2F98) - ("KANGXI RADICAL SHELL" #x2F99) - ("KANGXI RADICAL RED" #x2F9A) - ("KANGXI RADICAL RUN" #x2F9B) - ("KANGXI RADICAL FOOT" #x2F9C) - ("KANGXI RADICAL BODY" #x2F9D) - ("KANGXI RADICAL CART" #x2F9E) - ("KANGXI RADICAL BITTER" #x2F9F) - ("KANGXI RADICAL MORNING" #x2FA0) - ("KANGXI RADICAL WALK" #x2FA1) - ("KANGXI RADICAL CITY" #x2FA2) - ("KANGXI RADICAL WINE" #x2FA3) - ("KANGXI RADICAL DISTINGUISH" #x2FA4) - ("KANGXI RADICAL VILLAGE" #x2FA5) - ("KANGXI RADICAL GOLD" #x2FA6) - ("KANGXI RADICAL LONG" #x2FA7) - ("KANGXI RADICAL GATE" #x2FA8) - ("KANGXI RADICAL MOUND" #x2FA9) - ("KANGXI RADICAL SLAVE" #x2FAA) - ("KANGXI RADICAL SHORT TAILED BIRD" #x2FAB) - ("KANGXI RADICAL RAIN" #x2FAC) - ("KANGXI RADICAL BLUE" #x2FAD) - ("KANGXI RADICAL WRONG" #x2FAE) - ("KANGXI RADICAL FACE" #x2FAF) - ("KANGXI RADICAL LEATHER" #x2FB0) - ("KANGXI RADICAL TANNED LEATHER" #x2FB1) - ("KANGXI RADICAL LEEK" #x2FB2) - ("KANGXI RADICAL SOUND" #x2FB3) - ("KANGXI RADICAL LEAF" #x2FB4) - ("KANGXI RADICAL WIND" #x2FB5) - ("KANGXI RADICAL FLY" #x2FB6) - ("KANGXI RADICAL EAT" #x2FB7) - ("KANGXI RADICAL HEAD" #x2FB8) - ("KANGXI RADICAL FRAGRANT" #x2FB9) - ("KANGXI RADICAL HORSE" #x2FBA) - ("KANGXI RADICAL BONE" #x2FBB) - ("KANGXI RADICAL TALL" #x2FBC) - ("KANGXI RADICAL HAIR" #x2FBD) - ("KANGXI RADICAL FIGHT" #x2FBE) - ("KANGXI RADICAL SACRIFICIAL WINE" #x2FBF) - ("KANGXI RADICAL CAULDRON" #x2FC0) - ("KANGXI RADICAL GHOST" #x2FC1) - ("KANGXI RADICAL FISH" #x2FC2) - ("KANGXI RADICAL BIRD" #x2FC3) - ("KANGXI RADICAL SALT" #x2FC4) - ("KANGXI RADICAL DEER" #x2FC5) - ("KANGXI RADICAL WHEAT" #x2FC6) - ("KANGXI RADICAL HEMP" #x2FC7) - ("KANGXI RADICAL YELLOW" #x2FC8) - ("KANGXI RADICAL MILLET" #x2FC9) - ("KANGXI RADICAL BLACK" #x2FCA) - ("KANGXI RADICAL EMBROIDERY" #x2FCB) - ("KANGXI RADICAL FROG" #x2FCC) - ("KANGXI RADICAL TRIPOD" #x2FCD) - ("KANGXI RADICAL DRUM" #x2FCE) - ("KANGXI RADICAL RAT" #x2FCF) - ("KANGXI RADICAL NOSE" #x2FD0) - ("KANGXI RADICAL EVEN" #x2FD1) - ("KANGXI RADICAL TOOTH" #x2FD2) - ("KANGXI RADICAL DRAGON" #x2FD3) - ("KANGXI RADICAL TURTLE" #x2FD4) - ("KANGXI RADICAL FLUTE" #x2FD5) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02FF0-02FFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02FF0-02FFF.el deleted file mode 100644 index 9232af9cab..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/02FF0-02FFF.el +++ /dev/null @@ -1,14 +0,0 @@ -(nxml-define-char-name-set 'ideographic-description-characters - '(("IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO RIGHT" #x2FF0) - ("IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO BELOW" #x2FF1) - ("IDEOGRAPHIC DESCRIPTION CHARACTER LEFT TO MIDDLE AND RIGHT" #x2FF2) - ("IDEOGRAPHIC DESCRIPTION CHARACTER ABOVE TO MIDDLE AND BELOW" #x2FF3) - ("IDEOGRAPHIC DESCRIPTION CHARACTER FULL SURROUND" #x2FF4) - ("IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM ABOVE" #x2FF5) - ("IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM BELOW" #x2FF6) - ("IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LEFT" #x2FF7) - ("IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER LEFT" #x2FF8) - ("IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM UPPER RIGHT" #x2FF9) - ("IDEOGRAPHIC DESCRIPTION CHARACTER SURROUND FROM LOWER LEFT" #x2FFA) - ("IDEOGRAPHIC DESCRIPTION CHARACTER OVERLAID" #x2FFB) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03000-0303F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03000-0303F.el deleted file mode 100644 index 0b481adb4c..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03000-0303F.el +++ /dev/null @@ -1,66 +0,0 @@ -(nxml-define-char-name-set 'cjk-symbols-and-punctuation - '(("IDEOGRAPHIC SPACE" #x3000) - ("IDEOGRAPHIC COMMA" #x3001) - ("IDEOGRAPHIC FULL STOP" #x3002) - ("DITTO MARK" #x3003) - ("JAPANESE INDUSTRIAL STANDARD SYMBOL" #x3004) - ("IDEOGRAPHIC ITERATION MARK" #x3005) - ("IDEOGRAPHIC CLOSING MARK" #x3006) - ("IDEOGRAPHIC NUMBER ZERO" #x3007) - ("LEFT ANGLE BRACKET" #x3008) - ("RIGHT ANGLE BRACKET" #x3009) - ("LEFT DOUBLE ANGLE BRACKET" #x300A) - ("RIGHT DOUBLE ANGLE BRACKET" #x300B) - ("LEFT CORNER BRACKET" #x300C) - ("RIGHT CORNER BRACKET" #x300D) - ("LEFT WHITE CORNER BRACKET" #x300E) - ("RIGHT WHITE CORNER BRACKET" #x300F) - ("LEFT BLACK LENTICULAR BRACKET" #x3010) - ("RIGHT BLACK LENTICULAR BRACKET" #x3011) - ("POSTAL MARK" #x3012) - ("GETA MARK" #x3013) - ("LEFT TORTOISE SHELL BRACKET" #x3014) - ("RIGHT TORTOISE SHELL BRACKET" #x3015) - ("LEFT WHITE LENTICULAR BRACKET" #x3016) - ("RIGHT WHITE LENTICULAR BRACKET" #x3017) - ("LEFT WHITE TORTOISE SHELL BRACKET" #x3018) - ("RIGHT WHITE TORTOISE SHELL BRACKET" #x3019) - ("LEFT WHITE SQUARE BRACKET" #x301A) - ("RIGHT WHITE SQUARE BRACKET" #x301B) - ("WAVE DASH" #x301C) - ("REVERSED DOUBLE PRIME QUOTATION MARK" #x301D) - ("DOUBLE PRIME QUOTATION MARK" #x301E) - ("LOW DOUBLE PRIME QUOTATION MARK" #x301F) - ("POSTAL MARK FACE" #x3020) - ("HANGZHOU NUMERAL ONE" #x3021) - ("HANGZHOU NUMERAL TWO" #x3022) - ("HANGZHOU NUMERAL THREE" #x3023) - ("HANGZHOU NUMERAL FOUR" #x3024) - ("HANGZHOU NUMERAL FIVE" #x3025) - ("HANGZHOU NUMERAL SIX" #x3026) - ("HANGZHOU NUMERAL SEVEN" #x3027) - ("HANGZHOU NUMERAL EIGHT" #x3028) - ("HANGZHOU NUMERAL NINE" #x3029) - ("IDEOGRAPHIC LEVEL TONE MARK" #x302A) - ("IDEOGRAPHIC RISING TONE MARK" #x302B) - ("IDEOGRAPHIC DEPARTING TONE MARK" #x302C) - ("IDEOGRAPHIC ENTERING TONE MARK" #x302D) - ("HANGUL SINGLE DOT TONE MARK" #x302E) - ("HANGUL DOUBLE DOT TONE MARK" #x302F) - ("WAVY DASH" #x3030) - ("VERTICAL KANA REPEAT MARK" #x3031) - ("VERTICAL KANA REPEAT WITH VOICED SOUND MARK" #x3032) - ("VERTICAL KANA REPEAT MARK UPPER HALF" #x3033) - ("VERTICAL KANA REPEAT WITH VOICED SOUND MARK UPPER HALF" #x3034) - ("VERTICAL KANA REPEAT MARK LOWER HALF" #x3035) - ("CIRCLED POSTAL MARK" #x3036) - ("IDEOGRAPHIC TELEGRAPH LINE FEED SEPARATOR SYMBOL" #x3037) - ("HANGZHOU NUMERAL TEN" #x3038) - ("HANGZHOU NUMERAL TWENTY" #x3039) - ("HANGZHOU NUMERAL THIRTY" #x303A) - ("VERTICAL IDEOGRAPHIC ITERATION MARK" #x303B) - ("MASU MARK" #x303C) - ("PART ALTERNATION MARK" #x303D) - ("IDEOGRAPHIC VARIATION INDICATOR" #x303E) - ("IDEOGRAPHIC HALF FILL SPACE" #x303F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03040-0309F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03040-0309F.el deleted file mode 100644 index c19e541e0a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03040-0309F.el +++ /dev/null @@ -1,95 +0,0 @@ -(nxml-define-char-name-set 'hiragana - '(("HIRAGANA LETTER SMALL A" #x3041) - ("HIRAGANA LETTER A" #x3042) - ("HIRAGANA LETTER SMALL I" #x3043) - ("HIRAGANA LETTER I" #x3044) - ("HIRAGANA LETTER SMALL U" #x3045) - ("HIRAGANA LETTER U" #x3046) - ("HIRAGANA LETTER SMALL E" #x3047) - ("HIRAGANA LETTER E" #x3048) - ("HIRAGANA LETTER SMALL O" #x3049) - ("HIRAGANA LETTER O" #x304A) - ("HIRAGANA LETTER KA" #x304B) - ("HIRAGANA LETTER GA" #x304C) - ("HIRAGANA LETTER KI" #x304D) - ("HIRAGANA LETTER GI" #x304E) - ("HIRAGANA LETTER KU" #x304F) - ("HIRAGANA LETTER GU" #x3050) - ("HIRAGANA LETTER KE" #x3051) - ("HIRAGANA LETTER GE" #x3052) - ("HIRAGANA LETTER KO" #x3053) - ("HIRAGANA LETTER GO" #x3054) - ("HIRAGANA LETTER SA" #x3055) - ("HIRAGANA LETTER ZA" #x3056) - ("HIRAGANA LETTER SI" #x3057) - ("HIRAGANA LETTER ZI" #x3058) - ("HIRAGANA LETTER SU" #x3059) - ("HIRAGANA LETTER ZU" #x305A) - ("HIRAGANA LETTER SE" #x305B) - ("HIRAGANA LETTER ZE" #x305C) - ("HIRAGANA LETTER SO" #x305D) - ("HIRAGANA LETTER ZO" #x305E) - ("HIRAGANA LETTER TA" #x305F) - ("HIRAGANA LETTER DA" #x3060) - ("HIRAGANA LETTER TI" #x3061) - ("HIRAGANA LETTER DI" #x3062) - ("HIRAGANA LETTER SMALL TU" #x3063) - ("HIRAGANA LETTER TU" #x3064) - ("HIRAGANA LETTER DU" #x3065) - ("HIRAGANA LETTER TE" #x3066) - ("HIRAGANA LETTER DE" #x3067) - ("HIRAGANA LETTER TO" #x3068) - ("HIRAGANA LETTER DO" #x3069) - ("HIRAGANA LETTER NA" #x306A) - ("HIRAGANA LETTER NI" #x306B) - ("HIRAGANA LETTER NU" #x306C) - ("HIRAGANA LETTER NE" #x306D) - ("HIRAGANA LETTER NO" #x306E) - ("HIRAGANA LETTER HA" #x306F) - ("HIRAGANA LETTER BA" #x3070) - ("HIRAGANA LETTER PA" #x3071) - ("HIRAGANA LETTER HI" #x3072) - ("HIRAGANA LETTER BI" #x3073) - ("HIRAGANA LETTER PI" #x3074) - ("HIRAGANA LETTER HU" #x3075) - ("HIRAGANA LETTER BU" #x3076) - ("HIRAGANA LETTER PU" #x3077) - ("HIRAGANA LETTER HE" #x3078) - ("HIRAGANA LETTER BE" #x3079) - ("HIRAGANA LETTER PE" #x307A) - ("HIRAGANA LETTER HO" #x307B) - ("HIRAGANA LETTER BO" #x307C) - ("HIRAGANA LETTER PO" #x307D) - ("HIRAGANA LETTER MA" #x307E) - ("HIRAGANA LETTER MI" #x307F) - ("HIRAGANA LETTER MU" #x3080) - ("HIRAGANA LETTER ME" #x3081) - ("HIRAGANA LETTER MO" #x3082) - ("HIRAGANA LETTER SMALL YA" #x3083) - ("HIRAGANA LETTER YA" #x3084) - ("HIRAGANA LETTER SMALL YU" #x3085) - ("HIRAGANA LETTER YU" #x3086) - ("HIRAGANA LETTER SMALL YO" #x3087) - ("HIRAGANA LETTER YO" #x3088) - ("HIRAGANA LETTER RA" #x3089) - ("HIRAGANA LETTER RI" #x308A) - ("HIRAGANA LETTER RU" #x308B) - ("HIRAGANA LETTER RE" #x308C) - ("HIRAGANA LETTER RO" #x308D) - ("HIRAGANA LETTER SMALL WA" #x308E) - ("HIRAGANA LETTER WA" #x308F) - ("HIRAGANA LETTER WI" #x3090) - ("HIRAGANA LETTER WE" #x3091) - ("HIRAGANA LETTER WO" #x3092) - ("HIRAGANA LETTER N" #x3093) - ("HIRAGANA LETTER VU" #x3094) - ("HIRAGANA LETTER SMALL KA" #x3095) - ("HIRAGANA LETTER SMALL KE" #x3096) - ("COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK" #x3099) - ("COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK" #x309A) - ("KATAKANA-HIRAGANA VOICED SOUND MARK" #x309B) - ("KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK" #x309C) - ("HIRAGANA ITERATION MARK" #x309D) - ("HIRAGANA VOICED ITERATION MARK" #x309E) - ("HIRAGANA DIGRAPH YORI" #x309F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/030A0-030FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/030A0-030FF.el deleted file mode 100644 index 52168c73ad..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/030A0-030FF.el +++ /dev/null @@ -1,98 +0,0 @@ -(nxml-define-char-name-set 'katakana - '(("KATAKANA-HIRAGANA DOUBLE HYPHEN" #x30A0) - ("KATAKANA LETTER SMALL A" #x30A1) - ("KATAKANA LETTER A" #x30A2) - ("KATAKANA LETTER SMALL I" #x30A3) - ("KATAKANA LETTER I" #x30A4) - ("KATAKANA LETTER SMALL U" #x30A5) - ("KATAKANA LETTER U" #x30A6) - ("KATAKANA LETTER SMALL E" #x30A7) - ("KATAKANA LETTER E" #x30A8) - ("KATAKANA LETTER SMALL O" #x30A9) - ("KATAKANA LETTER O" #x30AA) - ("KATAKANA LETTER KA" #x30AB) - ("KATAKANA LETTER GA" #x30AC) - ("KATAKANA LETTER KI" #x30AD) - ("KATAKANA LETTER GI" #x30AE) - ("KATAKANA LETTER KU" #x30AF) - ("KATAKANA LETTER GU" #x30B0) - ("KATAKANA LETTER KE" #x30B1) - ("KATAKANA LETTER GE" #x30B2) - ("KATAKANA LETTER KO" #x30B3) - ("KATAKANA LETTER GO" #x30B4) - ("KATAKANA LETTER SA" #x30B5) - ("KATAKANA LETTER ZA" #x30B6) - ("KATAKANA LETTER SI" #x30B7) - ("KATAKANA LETTER ZI" #x30B8) - ("KATAKANA LETTER SU" #x30B9) - ("KATAKANA LETTER ZU" #x30BA) - ("KATAKANA LETTER SE" #x30BB) - ("KATAKANA LETTER ZE" #x30BC) - ("KATAKANA LETTER SO" #x30BD) - ("KATAKANA LETTER ZO" #x30BE) - ("KATAKANA LETTER TA" #x30BF) - ("KATAKANA LETTER DA" #x30C0) - ("KATAKANA LETTER TI" #x30C1) - ("KATAKANA LETTER DI" #x30C2) - ("KATAKANA LETTER SMALL TU" #x30C3) - ("KATAKANA LETTER TU" #x30C4) - ("KATAKANA LETTER DU" #x30C5) - ("KATAKANA LETTER TE" #x30C6) - ("KATAKANA LETTER DE" #x30C7) - ("KATAKANA LETTER TO" #x30C8) - ("KATAKANA LETTER DO" #x30C9) - ("KATAKANA LETTER NA" #x30CA) - ("KATAKANA LETTER NI" #x30CB) - ("KATAKANA LETTER NU" #x30CC) - ("KATAKANA LETTER NE" #x30CD) - ("KATAKANA LETTER NO" #x30CE) - ("KATAKANA LETTER HA" #x30CF) - ("KATAKANA LETTER BA" #x30D0) - ("KATAKANA LETTER PA" #x30D1) - ("KATAKANA LETTER HI" #x30D2) - ("KATAKANA LETTER BI" #x30D3) - ("KATAKANA LETTER PI" #x30D4) - ("KATAKANA LETTER HU" #x30D5) - ("KATAKANA LETTER BU" #x30D6) - ("KATAKANA LETTER PU" #x30D7) - ("KATAKANA LETTER HE" #x30D8) - ("KATAKANA LETTER BE" #x30D9) - ("KATAKANA LETTER PE" #x30DA) - ("KATAKANA LETTER HO" #x30DB) - ("KATAKANA LETTER BO" #x30DC) - ("KATAKANA LETTER PO" #x30DD) - ("KATAKANA LETTER MA" #x30DE) - ("KATAKANA LETTER MI" #x30DF) - ("KATAKANA LETTER MU" #x30E0) - ("KATAKANA LETTER ME" #x30E1) - ("KATAKANA LETTER MO" #x30E2) - ("KATAKANA LETTER SMALL YA" #x30E3) - ("KATAKANA LETTER YA" #x30E4) - ("KATAKANA LETTER SMALL YU" #x30E5) - ("KATAKANA LETTER YU" #x30E6) - ("KATAKANA LETTER SMALL YO" #x30E7) - ("KATAKANA LETTER YO" #x30E8) - ("KATAKANA LETTER RA" #x30E9) - ("KATAKANA LETTER RI" #x30EA) - ("KATAKANA LETTER RU" #x30EB) - ("KATAKANA LETTER RE" #x30EC) - ("KATAKANA LETTER RO" #x30ED) - ("KATAKANA LETTER SMALL WA" #x30EE) - ("KATAKANA LETTER WA" #x30EF) - ("KATAKANA LETTER WI" #x30F0) - ("KATAKANA LETTER WE" #x30F1) - ("KATAKANA LETTER WO" #x30F2) - ("KATAKANA LETTER N" #x30F3) - ("KATAKANA LETTER VU" #x30F4) - ("KATAKANA LETTER SMALL KA" #x30F5) - ("KATAKANA LETTER SMALL KE" #x30F6) - ("KATAKANA LETTER VA" #x30F7) - ("KATAKANA LETTER VI" #x30F8) - ("KATAKANA LETTER VE" #x30F9) - ("KATAKANA LETTER VO" #x30FA) - ("KATAKANA MIDDLE DOT" #x30FB) - ("KATAKANA-HIRAGANA PROLONGED SOUND MARK" #x30FC) - ("KATAKANA ITERATION MARK" #x30FD) - ("KATAKANA VOICED ITERATION MARK" #x30FE) - ("KATAKANA DIGRAPH KOTO" #x30FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03100-0312F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03100-0312F.el deleted file mode 100644 index ea0cc9ee5e..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03100-0312F.el +++ /dev/null @@ -1,42 +0,0 @@ -(nxml-define-char-name-set 'bopomofo - '(("BOPOMOFO LETTER B" #x3105) - ("BOPOMOFO LETTER P" #x3106) - ("BOPOMOFO LETTER M" #x3107) - ("BOPOMOFO LETTER F" #x3108) - ("BOPOMOFO LETTER D" #x3109) - ("BOPOMOFO LETTER T" #x310A) - ("BOPOMOFO LETTER N" #x310B) - ("BOPOMOFO LETTER L" #x310C) - ("BOPOMOFO LETTER G" #x310D) - ("BOPOMOFO LETTER K" #x310E) - ("BOPOMOFO LETTER H" #x310F) - ("BOPOMOFO LETTER J" #x3110) - ("BOPOMOFO LETTER Q" #x3111) - ("BOPOMOFO LETTER X" #x3112) - ("BOPOMOFO LETTER ZH" #x3113) - ("BOPOMOFO LETTER CH" #x3114) - ("BOPOMOFO LETTER SH" #x3115) - ("BOPOMOFO LETTER R" #x3116) - ("BOPOMOFO LETTER Z" #x3117) - ("BOPOMOFO LETTER C" #x3118) - ("BOPOMOFO LETTER S" #x3119) - ("BOPOMOFO LETTER A" #x311A) - ("BOPOMOFO LETTER O" #x311B) - ("BOPOMOFO LETTER E" #x311C) - ("BOPOMOFO LETTER EH" #x311D) - ("BOPOMOFO LETTER AI" #x311E) - ("BOPOMOFO LETTER EI" #x311F) - ("BOPOMOFO LETTER AU" #x3120) - ("BOPOMOFO LETTER OU" #x3121) - ("BOPOMOFO LETTER AN" #x3122) - ("BOPOMOFO LETTER EN" #x3123) - ("BOPOMOFO LETTER ANG" #x3124) - ("BOPOMOFO LETTER ENG" #x3125) - ("BOPOMOFO LETTER ER" #x3126) - ("BOPOMOFO LETTER I" #x3127) - ("BOPOMOFO LETTER U" #x3128) - ("BOPOMOFO LETTER IU" #x3129) - ("BOPOMOFO LETTER V" #x312A) - ("BOPOMOFO LETTER NG" #x312B) - ("BOPOMOFO LETTER GN" #x312C) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03130-0318F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03130-0318F.el deleted file mode 100644 index 5e7746f4a5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03130-0318F.el +++ /dev/null @@ -1,96 +0,0 @@ -(nxml-define-char-name-set 'hangul-compatibility-jamo - '(("HANGUL LETTER KIYEOK" #x3131) - ("HANGUL LETTER SSANGKIYEOK" #x3132) - ("HANGUL LETTER KIYEOK-SIOS" #x3133) - ("HANGUL LETTER NIEUN" #x3134) - ("HANGUL LETTER NIEUN-CIEUC" #x3135) - ("HANGUL LETTER NIEUN-HIEUH" #x3136) - ("HANGUL LETTER TIKEUT" #x3137) - ("HANGUL LETTER SSANGTIKEUT" #x3138) - ("HANGUL LETTER RIEUL" #x3139) - ("HANGUL LETTER RIEUL-KIYEOK" #x313A) - ("HANGUL LETTER RIEUL-MIEUM" #x313B) - ("HANGUL LETTER RIEUL-PIEUP" #x313C) - ("HANGUL LETTER RIEUL-SIOS" #x313D) - ("HANGUL LETTER RIEUL-THIEUTH" #x313E) - ("HANGUL LETTER RIEUL-PHIEUPH" #x313F) - ("HANGUL LETTER RIEUL-HIEUH" #x3140) - ("HANGUL LETTER MIEUM" #x3141) - ("HANGUL LETTER PIEUP" #x3142) - ("HANGUL LETTER SSANGPIEUP" #x3143) - ("HANGUL LETTER PIEUP-SIOS" #x3144) - ("HANGUL LETTER SIOS" #x3145) - ("HANGUL LETTER SSANGSIOS" #x3146) - ("HANGUL LETTER IEUNG" #x3147) - ("HANGUL LETTER CIEUC" #x3148) - ("HANGUL LETTER SSANGCIEUC" #x3149) - ("HANGUL LETTER CHIEUCH" #x314A) - ("HANGUL LETTER KHIEUKH" #x314B) - ("HANGUL LETTER THIEUTH" #x314C) - ("HANGUL LETTER PHIEUPH" #x314D) - ("HANGUL LETTER HIEUH" #x314E) - ("HANGUL LETTER A" #x314F) - ("HANGUL LETTER AE" #x3150) - ("HANGUL LETTER YA" #x3151) - ("HANGUL LETTER YAE" #x3152) - ("HANGUL LETTER EO" #x3153) - ("HANGUL LETTER E" #x3154) - ("HANGUL LETTER YEO" #x3155) - ("HANGUL LETTER YE" #x3156) - ("HANGUL LETTER O" #x3157) - ("HANGUL LETTER WA" #x3158) - ("HANGUL LETTER WAE" #x3159) - ("HANGUL LETTER OE" #x315A) - ("HANGUL LETTER YO" #x315B) - ("HANGUL LETTER U" #x315C) - ("HANGUL LETTER WEO" #x315D) - ("HANGUL LETTER WE" #x315E) - ("HANGUL LETTER WI" #x315F) - ("HANGUL LETTER YU" #x3160) - ("HANGUL LETTER EU" #x3161) - ("HANGUL LETTER YI" #x3162) - ("HANGUL LETTER I" #x3163) - ("HANGUL FILLER" #x3164) - ("HANGUL LETTER SSANGNIEUN" #x3165) - ("HANGUL LETTER NIEUN-TIKEUT" #x3166) - ("HANGUL LETTER NIEUN-SIOS" #x3167) - ("HANGUL LETTER NIEUN-PANSIOS" #x3168) - ("HANGUL LETTER RIEUL-KIYEOK-SIOS" #x3169) - ("HANGUL LETTER RIEUL-TIKEUT" #x316A) - ("HANGUL LETTER RIEUL-PIEUP-SIOS" #x316B) - ("HANGUL LETTER RIEUL-PANSIOS" #x316C) - ("HANGUL LETTER RIEUL-YEORINHIEUH" #x316D) - ("HANGUL LETTER MIEUM-PIEUP" #x316E) - ("HANGUL LETTER MIEUM-SIOS" #x316F) - ("HANGUL LETTER MIEUM-PANSIOS" #x3170) - ("HANGUL LETTER KAPYEOUNMIEUM" #x3171) - ("HANGUL LETTER PIEUP-KIYEOK" #x3172) - ("HANGUL LETTER PIEUP-TIKEUT" #x3173) - ("HANGUL LETTER PIEUP-SIOS-KIYEOK" #x3174) - ("HANGUL LETTER PIEUP-SIOS-TIKEUT" #x3175) - ("HANGUL LETTER PIEUP-CIEUC" #x3176) - ("HANGUL LETTER PIEUP-THIEUTH" #x3177) - ("HANGUL LETTER KAPYEOUNPIEUP" #x3178) - ("HANGUL LETTER KAPYEOUNSSANGPIEUP" #x3179) - ("HANGUL LETTER SIOS-KIYEOK" #x317A) - ("HANGUL LETTER SIOS-NIEUN" #x317B) - ("HANGUL LETTER SIOS-TIKEUT" #x317C) - ("HANGUL LETTER SIOS-PIEUP" #x317D) - ("HANGUL LETTER SIOS-CIEUC" #x317E) - ("HANGUL LETTER PANSIOS" #x317F) - ("HANGUL LETTER SSANGIEUNG" #x3180) - ("HANGUL LETTER YESIEUNG" #x3181) - ("HANGUL LETTER YESIEUNG-SIOS" #x3182) - ("HANGUL LETTER YESIEUNG-PANSIOS" #x3183) - ("HANGUL LETTER KAPYEOUNPHIEUPH" #x3184) - ("HANGUL LETTER SSANGHIEUH" #x3185) - ("HANGUL LETTER YEORINHIEUH" #x3186) - ("HANGUL LETTER YO-YA" #x3187) - ("HANGUL LETTER YO-YAE" #x3188) - ("HANGUL LETTER YO-I" #x3189) - ("HANGUL LETTER YU-YEO" #x318A) - ("HANGUL LETTER YU-YE" #x318B) - ("HANGUL LETTER YU-I" #x318C) - ("HANGUL LETTER ARAEA" #x318D) - ("HANGUL LETTER ARAEAE" #x318E) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03190-0319F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03190-0319F.el deleted file mode 100644 index b8520da93a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03190-0319F.el +++ /dev/null @@ -1,18 +0,0 @@ -(nxml-define-char-name-set 'kanbun - '(("IDEOGRAPHIC ANNOTATION LINKING MARK" #x3190) - ("IDEOGRAPHIC ANNOTATION REVERSE MARK" #x3191) - ("IDEOGRAPHIC ANNOTATION ONE MARK" #x3192) - ("IDEOGRAPHIC ANNOTATION TWO MARK" #x3193) - ("IDEOGRAPHIC ANNOTATION THREE MARK" #x3194) - ("IDEOGRAPHIC ANNOTATION FOUR MARK" #x3195) - ("IDEOGRAPHIC ANNOTATION TOP MARK" #x3196) - ("IDEOGRAPHIC ANNOTATION MIDDLE MARK" #x3197) - ("IDEOGRAPHIC ANNOTATION BOTTOM MARK" #x3198) - ("IDEOGRAPHIC ANNOTATION FIRST MARK" #x3199) - ("IDEOGRAPHIC ANNOTATION SECOND MARK" #x319A) - ("IDEOGRAPHIC ANNOTATION THIRD MARK" #x319B) - ("IDEOGRAPHIC ANNOTATION FOURTH MARK" #x319C) - ("IDEOGRAPHIC ANNOTATION HEAVEN MARK" #x319D) - ("IDEOGRAPHIC ANNOTATION EARTH MARK" #x319E) - ("IDEOGRAPHIC ANNOTATION MAN MARK" #x319F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/031A0-031BF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/031A0-031BF.el deleted file mode 100644 index 18392547c8..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/031A0-031BF.el +++ /dev/null @@ -1,26 +0,0 @@ -(nxml-define-char-name-set 'bopomofo-extended - '(("BOPOMOFO LETTER BU" #x31A0) - ("BOPOMOFO LETTER ZI" #x31A1) - ("BOPOMOFO LETTER JI" #x31A2) - ("BOPOMOFO LETTER GU" #x31A3) - ("BOPOMOFO LETTER EE" #x31A4) - ("BOPOMOFO LETTER ENN" #x31A5) - ("BOPOMOFO LETTER OO" #x31A6) - ("BOPOMOFO LETTER ONN" #x31A7) - ("BOPOMOFO LETTER IR" #x31A8) - ("BOPOMOFO LETTER ANN" #x31A9) - ("BOPOMOFO LETTER INN" #x31AA) - ("BOPOMOFO LETTER UNN" #x31AB) - ("BOPOMOFO LETTER IM" #x31AC) - ("BOPOMOFO LETTER NGG" #x31AD) - ("BOPOMOFO LETTER AINN" #x31AE) - ("BOPOMOFO LETTER AUNN" #x31AF) - ("BOPOMOFO LETTER AM" #x31B0) - ("BOPOMOFO LETTER OM" #x31B1) - ("BOPOMOFO LETTER ONG" #x31B2) - ("BOPOMOFO LETTER INNN" #x31B3) - ("BOPOMOFO FINAL LETTER P" #x31B4) - ("BOPOMOFO FINAL LETTER T" #x31B5) - ("BOPOMOFO FINAL LETTER K" #x31B6) - ("BOPOMOFO FINAL LETTER H" #x31B7) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/031F0-031FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/031F0-031FF.el deleted file mode 100644 index e637bf3c6d..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/031F0-031FF.el +++ /dev/null @@ -1,18 +0,0 @@ -(nxml-define-char-name-set 'katakana-phonetic-extensions - '(("KATAKANA LETTER SMALL KU" #x31F0) - ("KATAKANA LETTER SMALL SI" #x31F1) - ("KATAKANA LETTER SMALL SU" #x31F2) - ("KATAKANA LETTER SMALL TO" #x31F3) - ("KATAKANA LETTER SMALL NU" #x31F4) - ("KATAKANA LETTER SMALL HA" #x31F5) - ("KATAKANA LETTER SMALL HI" #x31F6) - ("KATAKANA LETTER SMALL HU" #x31F7) - ("KATAKANA LETTER SMALL HE" #x31F8) - ("KATAKANA LETTER SMALL HO" #x31F9) - ("KATAKANA LETTER SMALL MU" #x31FA) - ("KATAKANA LETTER SMALL RA" #x31FB) - ("KATAKANA LETTER SMALL RI" #x31FC) - ("KATAKANA LETTER SMALL RU" #x31FD) - ("KATAKANA LETTER SMALL RE" #x31FE) - ("KATAKANA LETTER SMALL RO" #x31FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03200-032FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03200-032FF.el deleted file mode 100644 index 625ff5bdfd..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03200-032FF.el +++ /dev/null @@ -1,234 +0,0 @@ -(nxml-define-char-name-set 'enclosed-cjk-letters-and-months - '(("PARENTHESIZED HANGUL KIYEOK" #x3200) - ("PARENTHESIZED HANGUL NIEUN" #x3201) - ("PARENTHESIZED HANGUL TIKEUT" #x3202) - ("PARENTHESIZED HANGUL RIEUL" #x3203) - ("PARENTHESIZED HANGUL MIEUM" #x3204) - ("PARENTHESIZED HANGUL PIEUP" #x3205) - ("PARENTHESIZED HANGUL SIOS" #x3206) - ("PARENTHESIZED HANGUL IEUNG" #x3207) - ("PARENTHESIZED HANGUL CIEUC" #x3208) - ("PARENTHESIZED HANGUL CHIEUCH" #x3209) - ("PARENTHESIZED HANGUL KHIEUKH" #x320A) - ("PARENTHESIZED HANGUL THIEUTH" #x320B) - ("PARENTHESIZED HANGUL PHIEUPH" #x320C) - ("PARENTHESIZED HANGUL HIEUH" #x320D) - ("PARENTHESIZED HANGUL KIYEOK A" #x320E) - ("PARENTHESIZED HANGUL NIEUN A" #x320F) - ("PARENTHESIZED HANGUL TIKEUT A" #x3210) - ("PARENTHESIZED HANGUL RIEUL A" #x3211) - ("PARENTHESIZED HANGUL MIEUM A" #x3212) - ("PARENTHESIZED HANGUL PIEUP A" #x3213) - ("PARENTHESIZED HANGUL SIOS A" #x3214) - ("PARENTHESIZED HANGUL IEUNG A" #x3215) - ("PARENTHESIZED HANGUL CIEUC A" #x3216) - ("PARENTHESIZED HANGUL CHIEUCH A" #x3217) - ("PARENTHESIZED HANGUL KHIEUKH A" #x3218) - ("PARENTHESIZED HANGUL THIEUTH A" #x3219) - ("PARENTHESIZED HANGUL PHIEUPH A" #x321A) - ("PARENTHESIZED HANGUL HIEUH A" #x321B) - ("PARENTHESIZED HANGUL CIEUC U" #x321C) - ("PARENTHESIZED IDEOGRAPH ONE" #x3220) - ("PARENTHESIZED IDEOGRAPH TWO" #x3221) - ("PARENTHESIZED IDEOGRAPH THREE" #x3222) - ("PARENTHESIZED IDEOGRAPH FOUR" #x3223) - ("PARENTHESIZED IDEOGRAPH FIVE" #x3224) - ("PARENTHESIZED IDEOGRAPH SIX" #x3225) - ("PARENTHESIZED IDEOGRAPH SEVEN" #x3226) - ("PARENTHESIZED IDEOGRAPH EIGHT" #x3227) - ("PARENTHESIZED IDEOGRAPH NINE" #x3228) - ("PARENTHESIZED IDEOGRAPH TEN" #x3229) - ("PARENTHESIZED IDEOGRAPH MOON" #x322A) - ("PARENTHESIZED IDEOGRAPH FIRE" #x322B) - ("PARENTHESIZED IDEOGRAPH WATER" #x322C) - ("PARENTHESIZED IDEOGRAPH WOOD" #x322D) - ("PARENTHESIZED IDEOGRAPH METAL" #x322E) - ("PARENTHESIZED IDEOGRAPH EARTH" #x322F) - ("PARENTHESIZED IDEOGRAPH SUN" #x3230) - ("PARENTHESIZED IDEOGRAPH STOCK" #x3231) - ("PARENTHESIZED IDEOGRAPH HAVE" #x3232) - ("PARENTHESIZED IDEOGRAPH SOCIETY" #x3233) - ("PARENTHESIZED IDEOGRAPH NAME" #x3234) - ("PARENTHESIZED IDEOGRAPH SPECIAL" #x3235) - ("PARENTHESIZED IDEOGRAPH FINANCIAL" #x3236) - ("PARENTHESIZED IDEOGRAPH CONGRATULATION" #x3237) - ("PARENTHESIZED IDEOGRAPH LABOR" #x3238) - ("PARENTHESIZED IDEOGRAPH REPRESENT" #x3239) - ("PARENTHESIZED IDEOGRAPH CALL" #x323A) - ("PARENTHESIZED IDEOGRAPH STUDY" #x323B) - ("PARENTHESIZED IDEOGRAPH SUPERVISE" #x323C) - ("PARENTHESIZED IDEOGRAPH ENTERPRISE" #x323D) - ("PARENTHESIZED IDEOGRAPH RESOURCE" #x323E) - ("PARENTHESIZED IDEOGRAPH ALLIANCE" #x323F) - ("PARENTHESIZED IDEOGRAPH FESTIVAL" #x3240) - ("PARENTHESIZED IDEOGRAPH REST" #x3241) - ("PARENTHESIZED IDEOGRAPH SELF" #x3242) - ("PARENTHESIZED IDEOGRAPH REACH" #x3243) - ("CIRCLED NUMBER TWENTY ONE" #x3251) - ("CIRCLED NUMBER TWENTY TWO" #x3252) - ("CIRCLED NUMBER TWENTY THREE" #x3253) - ("CIRCLED NUMBER TWENTY FOUR" #x3254) - ("CIRCLED NUMBER TWENTY FIVE" #x3255) - ("CIRCLED NUMBER TWENTY SIX" #x3256) - ("CIRCLED NUMBER TWENTY SEVEN" #x3257) - ("CIRCLED NUMBER TWENTY EIGHT" #x3258) - ("CIRCLED NUMBER TWENTY NINE" #x3259) - ("CIRCLED NUMBER THIRTY" #x325A) - ("CIRCLED NUMBER THIRTY ONE" #x325B) - ("CIRCLED NUMBER THIRTY TWO" #x325C) - ("CIRCLED NUMBER THIRTY THREE" #x325D) - ("CIRCLED NUMBER THIRTY FOUR" #x325E) - ("CIRCLED NUMBER THIRTY FIVE" #x325F) - ("CIRCLED HANGUL KIYEOK" #x3260) - ("CIRCLED HANGUL NIEUN" #x3261) - ("CIRCLED HANGUL TIKEUT" #x3262) - ("CIRCLED HANGUL RIEUL" #x3263) - ("CIRCLED HANGUL MIEUM" #x3264) - ("CIRCLED HANGUL PIEUP" #x3265) - ("CIRCLED HANGUL SIOS" #x3266) - ("CIRCLED HANGUL IEUNG" #x3267) - ("CIRCLED HANGUL CIEUC" #x3268) - ("CIRCLED HANGUL CHIEUCH" #x3269) - ("CIRCLED HANGUL KHIEUKH" #x326A) - ("CIRCLED HANGUL THIEUTH" #x326B) - ("CIRCLED HANGUL PHIEUPH" #x326C) - ("CIRCLED HANGUL HIEUH" #x326D) - ("CIRCLED HANGUL KIYEOK A" #x326E) - ("CIRCLED HANGUL NIEUN A" #x326F) - ("CIRCLED HANGUL TIKEUT A" #x3270) - ("CIRCLED HANGUL RIEUL A" #x3271) - ("CIRCLED HANGUL MIEUM A" #x3272) - ("CIRCLED HANGUL PIEUP A" #x3273) - ("CIRCLED HANGUL SIOS A" #x3274) - ("CIRCLED HANGUL IEUNG A" #x3275) - ("CIRCLED HANGUL CIEUC A" #x3276) - ("CIRCLED HANGUL CHIEUCH A" #x3277) - ("CIRCLED HANGUL KHIEUKH A" #x3278) - ("CIRCLED HANGUL THIEUTH A" #x3279) - ("CIRCLED HANGUL PHIEUPH A" #x327A) - ("CIRCLED HANGUL HIEUH A" #x327B) - ("KOREAN STANDARD SYMBOL" #x327F) - ("CIRCLED IDEOGRAPH ONE" #x3280) - ("CIRCLED IDEOGRAPH TWO" #x3281) - ("CIRCLED IDEOGRAPH THREE" #x3282) - ("CIRCLED IDEOGRAPH FOUR" #x3283) - ("CIRCLED IDEOGRAPH FIVE" #x3284) - ("CIRCLED IDEOGRAPH SIX" #x3285) - ("CIRCLED IDEOGRAPH SEVEN" #x3286) - ("CIRCLED IDEOGRAPH EIGHT" #x3287) - ("CIRCLED IDEOGRAPH NINE" #x3288) - ("CIRCLED IDEOGRAPH TEN" #x3289) - ("CIRCLED IDEOGRAPH MOON" #x328A) - ("CIRCLED IDEOGRAPH FIRE" #x328B) - ("CIRCLED IDEOGRAPH WATER" #x328C) - ("CIRCLED IDEOGRAPH WOOD" #x328D) - ("CIRCLED IDEOGRAPH METAL" #x328E) - ("CIRCLED IDEOGRAPH EARTH" #x328F) - ("CIRCLED IDEOGRAPH SUN" #x3290) - ("CIRCLED IDEOGRAPH STOCK" #x3291) - ("CIRCLED IDEOGRAPH HAVE" #x3292) - ("CIRCLED IDEOGRAPH SOCIETY" #x3293) - ("CIRCLED IDEOGRAPH NAME" #x3294) - ("CIRCLED IDEOGRAPH SPECIAL" #x3295) - ("CIRCLED IDEOGRAPH FINANCIAL" #x3296) - ("CIRCLED IDEOGRAPH CONGRATULATION" #x3297) - ("CIRCLED IDEOGRAPH LABOR" #x3298) - ("CIRCLED IDEOGRAPH SECRET" #x3299) - ("CIRCLED IDEOGRAPH MALE" #x329A) - ("CIRCLED IDEOGRAPH FEMALE" #x329B) - ("CIRCLED IDEOGRAPH SUITABLE" #x329C) - ("CIRCLED IDEOGRAPH EXCELLENT" #x329D) - ("CIRCLED IDEOGRAPH PRINT" #x329E) - ("CIRCLED IDEOGRAPH ATTENTION" #x329F) - ("CIRCLED IDEOGRAPH ITEM" #x32A0) - ("CIRCLED IDEOGRAPH REST" #x32A1) - ("CIRCLED IDEOGRAPH COPY" #x32A2) - ("CIRCLED IDEOGRAPH CORRECT" #x32A3) - ("CIRCLED IDEOGRAPH HIGH" #x32A4) - ("CIRCLED IDEOGRAPH CENTRE" #x32A5) - ("CIRCLED IDEOGRAPH LOW" #x32A6) - ("CIRCLED IDEOGRAPH LEFT" #x32A7) - ("CIRCLED IDEOGRAPH RIGHT" #x32A8) - ("CIRCLED IDEOGRAPH MEDICINE" #x32A9) - ("CIRCLED IDEOGRAPH RELIGION" #x32AA) - ("CIRCLED IDEOGRAPH STUDY" #x32AB) - ("CIRCLED IDEOGRAPH SUPERVISE" #x32AC) - ("CIRCLED IDEOGRAPH ENTERPRISE" #x32AD) - ("CIRCLED IDEOGRAPH RESOURCE" #x32AE) - ("CIRCLED IDEOGRAPH ALLIANCE" #x32AF) - ("CIRCLED IDEOGRAPH NIGHT" #x32B0) - ("CIRCLED NUMBER THIRTY SIX" #x32B1) - ("CIRCLED NUMBER THIRTY SEVEN" #x32B2) - ("CIRCLED NUMBER THIRTY EIGHT" #x32B3) - ("CIRCLED NUMBER THIRTY NINE" #x32B4) - ("CIRCLED NUMBER FORTY" #x32B5) - ("CIRCLED NUMBER FORTY ONE" #x32B6) - ("CIRCLED NUMBER FORTY TWO" #x32B7) - ("CIRCLED NUMBER FORTY THREE" #x32B8) - ("CIRCLED NUMBER FORTY FOUR" #x32B9) - ("CIRCLED NUMBER FORTY FIVE" #x32BA) - ("CIRCLED NUMBER FORTY SIX" #x32BB) - ("CIRCLED NUMBER FORTY SEVEN" #x32BC) - ("CIRCLED NUMBER FORTY EIGHT" #x32BD) - ("CIRCLED NUMBER FORTY NINE" #x32BE) - ("CIRCLED NUMBER FIFTY" #x32BF) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR JANUARY" #x32C0) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR FEBRUARY" #x32C1) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR MARCH" #x32C2) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR APRIL" #x32C3) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR MAY" #x32C4) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR JUNE" #x32C5) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR JULY" #x32C6) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR AUGUST" #x32C7) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR SEPTEMBER" #x32C8) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR OCTOBER" #x32C9) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR NOVEMBER" #x32CA) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DECEMBER" #x32CB) - ("CIRCLED KATAKANA A" #x32D0) - ("CIRCLED KATAKANA I" #x32D1) - ("CIRCLED KATAKANA U" #x32D2) - ("CIRCLED KATAKANA E" #x32D3) - ("CIRCLED KATAKANA O" #x32D4) - ("CIRCLED KATAKANA KA" #x32D5) - ("CIRCLED KATAKANA KI" #x32D6) - ("CIRCLED KATAKANA KU" #x32D7) - ("CIRCLED KATAKANA KE" #x32D8) - ("CIRCLED KATAKANA KO" #x32D9) - ("CIRCLED KATAKANA SA" #x32DA) - ("CIRCLED KATAKANA SI" #x32DB) - ("CIRCLED KATAKANA SU" #x32DC) - ("CIRCLED KATAKANA SE" #x32DD) - ("CIRCLED KATAKANA SO" #x32DE) - ("CIRCLED KATAKANA TA" #x32DF) - ("CIRCLED KATAKANA TI" #x32E0) - ("CIRCLED KATAKANA TU" #x32E1) - ("CIRCLED KATAKANA TE" #x32E2) - ("CIRCLED KATAKANA TO" #x32E3) - ("CIRCLED KATAKANA NA" #x32E4) - ("CIRCLED KATAKANA NI" #x32E5) - ("CIRCLED KATAKANA NU" #x32E6) - ("CIRCLED KATAKANA NE" #x32E7) - ("CIRCLED KATAKANA NO" #x32E8) - ("CIRCLED KATAKANA HA" #x32E9) - ("CIRCLED KATAKANA HI" #x32EA) - ("CIRCLED KATAKANA HU" #x32EB) - ("CIRCLED KATAKANA HE" #x32EC) - ("CIRCLED KATAKANA HO" #x32ED) - ("CIRCLED KATAKANA MA" #x32EE) - ("CIRCLED KATAKANA MI" #x32EF) - ("CIRCLED KATAKANA MU" #x32F0) - ("CIRCLED KATAKANA ME" #x32F1) - ("CIRCLED KATAKANA MO" #x32F2) - ("CIRCLED KATAKANA YA" #x32F3) - ("CIRCLED KATAKANA YU" #x32F4) - ("CIRCLED KATAKANA YO" #x32F5) - ("CIRCLED KATAKANA RA" #x32F6) - ("CIRCLED KATAKANA RI" #x32F7) - ("CIRCLED KATAKANA RU" #x32F8) - ("CIRCLED KATAKANA RE" #x32F9) - ("CIRCLED KATAKANA RO" #x32FA) - ("CIRCLED KATAKANA WA" #x32FB) - ("CIRCLED KATAKANA WI" #x32FC) - ("CIRCLED KATAKANA WE" #x32FD) - ("CIRCLED KATAKANA WO" #x32FE) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03300-033FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03300-033FF.el deleted file mode 100644 index 25a070fd6c..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03300-033FF.el +++ /dev/null @@ -1,251 +0,0 @@ -(nxml-define-char-name-set 'cjk-compatibility - '(("SQUARE APAATO" #x3300) - ("SQUARE ARUHUA" #x3301) - ("SQUARE ANPEA" #x3302) - ("SQUARE AARU" #x3303) - ("SQUARE ININGU" #x3304) - ("SQUARE INTI" #x3305) - ("SQUARE UON" #x3306) - ("SQUARE ESUKUUDO" #x3307) - ("SQUARE EEKAA" #x3308) - ("SQUARE ONSU" #x3309) - ("SQUARE OOMU" #x330A) - ("SQUARE KAIRI" #x330B) - ("SQUARE KARATTO" #x330C) - ("SQUARE KARORII" #x330D) - ("SQUARE GARON" #x330E) - ("SQUARE GANMA" #x330F) - ("SQUARE GIGA" #x3310) - ("SQUARE GINII" #x3311) - ("SQUARE KYURII" #x3312) - ("SQUARE GIRUDAA" #x3313) - ("SQUARE KIRO" #x3314) - ("SQUARE KIROGURAMU" #x3315) - ("SQUARE KIROMEETORU" #x3316) - ("SQUARE KIROWATTO" #x3317) - ("SQUARE GURAMU" #x3318) - ("SQUARE GURAMUTON" #x3319) - ("SQUARE KURUZEIRO" #x331A) - ("SQUARE KUROONE" #x331B) - ("SQUARE KEESU" #x331C) - ("SQUARE KORUNA" #x331D) - ("SQUARE KOOPO" #x331E) - ("SQUARE SAIKURU" #x331F) - ("SQUARE SANTIIMU" #x3320) - ("SQUARE SIRINGU" #x3321) - ("SQUARE SENTI" #x3322) - ("SQUARE SENTO" #x3323) - ("SQUARE DAASU" #x3324) - ("SQUARE DESI" #x3325) - ("SQUARE DORU" #x3326) - ("SQUARE TON" #x3327) - ("SQUARE NANO" #x3328) - ("SQUARE NOTTO" #x3329) - ("SQUARE HAITU" #x332A) - ("SQUARE PAASENTO" #x332B) - ("SQUARE PAATU" #x332C) - ("SQUARE BAARERU" #x332D) - ("SQUARE PIASUTORU" #x332E) - ("SQUARE PIKURU" #x332F) - ("SQUARE PIKO" #x3330) - ("SQUARE BIRU" #x3331) - ("SQUARE HUARADDO" #x3332) - ("SQUARE HUIITO" #x3333) - ("SQUARE BUSSYERU" #x3334) - ("SQUARE HURAN" #x3335) - ("SQUARE HEKUTAARU" #x3336) - ("SQUARE PESO" #x3337) - ("SQUARE PENIHI" #x3338) - ("SQUARE HERUTU" #x3339) - ("SQUARE PENSU" #x333A) - ("SQUARE PEEZI" #x333B) - ("SQUARE BEETA" #x333C) - ("SQUARE POINTO" #x333D) - ("SQUARE BORUTO" #x333E) - ("SQUARE HON" #x333F) - ("SQUARE PONDO" #x3340) - ("SQUARE HOORU" #x3341) - ("SQUARE HOON" #x3342) - ("SQUARE MAIKURO" #x3343) - ("SQUARE MAIRU" #x3344) - ("SQUARE MAHHA" #x3345) - ("SQUARE MARUKU" #x3346) - ("SQUARE MANSYON" #x3347) - ("SQUARE MIKURON" #x3348) - ("SQUARE MIRI" #x3349) - ("SQUARE MIRIBAARU" #x334A) - ("SQUARE MEGA" #x334B) - ("SQUARE MEGATON" #x334C) - ("SQUARE MEETORU" #x334D) - ("SQUARE YAADO" #x334E) - ("SQUARE YAARU" #x334F) - ("SQUARE YUAN" #x3350) - ("SQUARE RITTORU" #x3351) - ("SQUARE RIRA" #x3352) - ("SQUARE RUPII" #x3353) - ("SQUARE RUUBURU" #x3354) - ("SQUARE REMU" #x3355) - ("SQUARE RENTOGEN" #x3356) - ("SQUARE WATTO" #x3357) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ZERO" #x3358) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ONE" #x3359) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWO" #x335A) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THREE" #x335B) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOUR" #x335C) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIVE" #x335D) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIX" #x335E) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVEN" #x335F) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHT" #x3360) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINE" #x3361) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TEN" #x3362) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR ELEVEN" #x3363) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWELVE" #x3364) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR THIRTEEN" #x3365) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FOURTEEN" #x3366) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR FIFTEEN" #x3367) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SIXTEEN" #x3368) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR SEVENTEEN" #x3369) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR EIGHTEEN" #x336A) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR NINETEEN" #x336B) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY" #x336C) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-ONE" #x336D) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-TWO" #x336E) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-THREE" #x336F) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR HOUR TWENTY-FOUR" #x3370) - ("SQUARE HPA" #x3371) - ("SQUARE DA" #x3372) - ("SQUARE AU" #x3373) - ("SQUARE BAR" #x3374) - ("SQUARE OV" #x3375) - ("SQUARE PC" #x3376) - ("SQUARE ERA NAME HEISEI" #x337B) - ("SQUARE ERA NAME SYOUWA" #x337C) - ("SQUARE ERA NAME TAISYOU" #x337D) - ("SQUARE ERA NAME MEIZI" #x337E) - ("SQUARE CORPORATION" #x337F) - ("SQUARE PA AMPS" #x3380) - ("SQUARE NA" #x3381) - ("SQUARE MU A" #x3382) - ("SQUARE MA" #x3383) - ("SQUARE KA" #x3384) - ("SQUARE KB" #x3385) - ("SQUARE MB" #x3386) - ("SQUARE GB" #x3387) - ("SQUARE CAL" #x3388) - ("SQUARE KCAL" #x3389) - ("SQUARE PF" #x338A) - ("SQUARE NF" #x338B) - ("SQUARE MU F" #x338C) - ("SQUARE MU G" #x338D) - ("SQUARE MG" #x338E) - ("SQUARE KG" #x338F) - ("SQUARE HZ" #x3390) - ("SQUARE KHZ" #x3391) - ("SQUARE MHZ" #x3392) - ("SQUARE GHZ" #x3393) - ("SQUARE THZ" #x3394) - ("SQUARE MU L" #x3395) - ("SQUARE ML" #x3396) - ("SQUARE DL" #x3397) - ("SQUARE KL" #x3398) - ("SQUARE FM" #x3399) - ("SQUARE NM" #x339A) - ("SQUARE MU M" #x339B) - ("SQUARE MM" #x339C) - ("SQUARE CM" #x339D) - ("SQUARE KM" #x339E) - ("SQUARE MM SQUARED" #x339F) - ("SQUARE CM SQUARED" #x33A0) - ("SQUARE M SQUARED" #x33A1) - ("SQUARE KM SQUARED" #x33A2) - ("SQUARE MM CUBED" #x33A3) - ("SQUARE CM CUBED" #x33A4) - ("SQUARE M CUBED" #x33A5) - ("SQUARE KM CUBED" #x33A6) - ("SQUARE M OVER S" #x33A7) - ("SQUARE M OVER S SQUARED" #x33A8) - ("SQUARE PA" #x33A9) - ("SQUARE KPA" #x33AA) - ("SQUARE MPA" #x33AB) - ("SQUARE GPA" #x33AC) - ("SQUARE RAD" #x33AD) - ("SQUARE RAD OVER S" #x33AE) - ("SQUARE RAD OVER S SQUARED" #x33AF) - ("SQUARE PS" #x33B0) - ("SQUARE NS" #x33B1) - ("SQUARE MU S" #x33B2) - ("SQUARE MS" #x33B3) - ("SQUARE PV" #x33B4) - ("SQUARE NV" #x33B5) - ("SQUARE MU V" #x33B6) - ("SQUARE MV" #x33B7) - ("SQUARE KV" #x33B8) - ("SQUARE MV MEGA" #x33B9) - ("SQUARE PW" #x33BA) - ("SQUARE NW" #x33BB) - ("SQUARE MU W" #x33BC) - ("SQUARE MW" #x33BD) - ("SQUARE KW" #x33BE) - ("SQUARE MW MEGA" #x33BF) - ("SQUARE K OHM" #x33C0) - ("SQUARE M OHM" #x33C1) - ("SQUARE AM" #x33C2) - ("SQUARE BQ" #x33C3) - ("SQUARE CC" #x33C4) - ("SQUARE CD" #x33C5) - ("SQUARE C OVER KG" #x33C6) - ("SQUARE CO" #x33C7) - ("SQUARE DB" #x33C8) - ("SQUARE GY" #x33C9) - ("SQUARE HA" #x33CA) - ("SQUARE HP" #x33CB) - ("SQUARE IN" #x33CC) - ("SQUARE KK" #x33CD) - ("SQUARE KM CAPITAL" #x33CE) - ("SQUARE KT" #x33CF) - ("SQUARE LM" #x33D0) - ("SQUARE LN" #x33D1) - ("SQUARE LOG" #x33D2) - ("SQUARE LX" #x33D3) - ("SQUARE MB SMALL" #x33D4) - ("SQUARE MIL" #x33D5) - ("SQUARE MOL" #x33D6) - ("SQUARE PH" #x33D7) - ("SQUARE PM" #x33D8) - ("SQUARE PPM" #x33D9) - ("SQUARE PR" #x33DA) - ("SQUARE SR" #x33DB) - ("SQUARE SV" #x33DC) - ("SQUARE WB" #x33DD) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ONE" #x33E0) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWO" #x33E1) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THREE" #x33E2) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOUR" #x33E3) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIVE" #x33E4) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIX" #x33E5) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVEN" #x33E6) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHT" #x33E7) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINE" #x33E8) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TEN" #x33E9) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY ELEVEN" #x33EA) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWELVE" #x33EB) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTEEN" #x33EC) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FOURTEEN" #x33ED) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY FIFTEEN" #x33EE) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SIXTEEN" #x33EF) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY SEVENTEEN" #x33F0) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY EIGHTEEN" #x33F1) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY NINETEEN" #x33F2) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY" #x33F3) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-ONE" #x33F4) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-TWO" #x33F5) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-THREE" #x33F6) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FOUR" #x33F7) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-FIVE" #x33F8) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SIX" #x33F9) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-SEVEN" #x33FA) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-EIGHT" #x33FB) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY TWENTY-NINE" #x33FC) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY" #x33FD) - ("IDEOGRAPHIC TELEGRAPH SYMBOL FOR DAY THIRTY-ONE" #x33FE) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03400-04DBF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03400-04DBF.el deleted file mode 100644 index 14d5c4bff5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/03400-04DBF.el +++ /dev/null @@ -1,2 +0,0 @@ -(nxml-define-char-name-set 'cjk-unified-ideographs-extension-a - '()) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0A000-0A48F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0A000-0A48F.el deleted file mode 100644 index 8d0727f6c1..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0A000-0A48F.el +++ /dev/null @@ -1,1167 +0,0 @@ -(nxml-define-char-name-set 'yi-syllables - '(("YI SYLLABLE IT" #xA000) - ("YI SYLLABLE IX" #xA001) - ("YI SYLLABLE I" #xA002) - ("YI SYLLABLE IP" #xA003) - ("YI SYLLABLE IET" #xA004) - ("YI SYLLABLE IEX" #xA005) - ("YI SYLLABLE IE" #xA006) - ("YI SYLLABLE IEP" #xA007) - ("YI SYLLABLE AT" #xA008) - ("YI SYLLABLE AX" #xA009) - ("YI SYLLABLE A" #xA00A) - ("YI SYLLABLE AP" #xA00B) - ("YI SYLLABLE UOX" #xA00C) - ("YI SYLLABLE UO" #xA00D) - ("YI SYLLABLE UOP" #xA00E) - ("YI SYLLABLE OT" #xA00F) - ("YI SYLLABLE OX" #xA010) - ("YI SYLLABLE O" #xA011) - ("YI SYLLABLE OP" #xA012) - ("YI SYLLABLE EX" #xA013) - ("YI SYLLABLE E" #xA014) - ("YI SYLLABLE WU" #xA015) - ("YI SYLLABLE BIT" #xA016) - ("YI SYLLABLE BIX" #xA017) - ("YI SYLLABLE BI" #xA018) - ("YI SYLLABLE BIP" #xA019) - ("YI SYLLABLE BIET" #xA01A) - ("YI SYLLABLE BIEX" #xA01B) - ("YI SYLLABLE BIE" #xA01C) - ("YI SYLLABLE BIEP" #xA01D) - ("YI SYLLABLE BAT" #xA01E) - ("YI SYLLABLE BAX" #xA01F) - ("YI SYLLABLE BA" #xA020) - ("YI SYLLABLE BAP" #xA021) - ("YI SYLLABLE BUOX" #xA022) - ("YI SYLLABLE BUO" #xA023) - ("YI SYLLABLE BUOP" #xA024) - ("YI SYLLABLE BOT" #xA025) - ("YI SYLLABLE BOX" #xA026) - ("YI SYLLABLE BO" #xA027) - ("YI SYLLABLE BOP" #xA028) - ("YI SYLLABLE BEX" #xA029) - ("YI SYLLABLE BE" #xA02A) - ("YI SYLLABLE BEP" #xA02B) - ("YI SYLLABLE BUT" #xA02C) - ("YI SYLLABLE BUX" #xA02D) - ("YI SYLLABLE BU" #xA02E) - ("YI SYLLABLE BUP" #xA02F) - ("YI SYLLABLE BURX" #xA030) - ("YI SYLLABLE BUR" #xA031) - ("YI SYLLABLE BYT" #xA032) - ("YI SYLLABLE BYX" #xA033) - ("YI SYLLABLE BY" #xA034) - ("YI SYLLABLE BYP" #xA035) - ("YI SYLLABLE BYRX" #xA036) - ("YI SYLLABLE BYR" #xA037) - ("YI SYLLABLE PIT" #xA038) - ("YI SYLLABLE PIX" #xA039) - ("YI SYLLABLE PI" #xA03A) - ("YI SYLLABLE PIP" #xA03B) - ("YI SYLLABLE PIEX" #xA03C) - ("YI SYLLABLE PIE" #xA03D) - ("YI SYLLABLE PIEP" #xA03E) - ("YI SYLLABLE PAT" #xA03F) - ("YI SYLLABLE PAX" #xA040) - ("YI SYLLABLE PA" #xA041) - ("YI SYLLABLE PAP" #xA042) - ("YI SYLLABLE PUOX" #xA043) - ("YI SYLLABLE PUO" #xA044) - ("YI SYLLABLE PUOP" #xA045) - ("YI SYLLABLE POT" #xA046) - ("YI SYLLABLE POX" #xA047) - ("YI SYLLABLE PO" #xA048) - ("YI SYLLABLE POP" #xA049) - ("YI SYLLABLE PUT" #xA04A) - ("YI SYLLABLE PUX" #xA04B) - ("YI SYLLABLE PU" #xA04C) - ("YI SYLLABLE PUP" #xA04D) - ("YI SYLLABLE PURX" #xA04E) - ("YI SYLLABLE PUR" #xA04F) - ("YI SYLLABLE PYT" #xA050) - ("YI SYLLABLE PYX" #xA051) - ("YI SYLLABLE PY" #xA052) - ("YI SYLLABLE PYP" #xA053) - ("YI SYLLABLE PYRX" #xA054) - ("YI SYLLABLE PYR" #xA055) - ("YI SYLLABLE BBIT" #xA056) - ("YI SYLLABLE BBIX" #xA057) - ("YI SYLLABLE BBI" #xA058) - ("YI SYLLABLE BBIP" #xA059) - ("YI SYLLABLE BBIET" #xA05A) - ("YI SYLLABLE BBIEX" #xA05B) - ("YI SYLLABLE BBIE" #xA05C) - ("YI SYLLABLE BBIEP" #xA05D) - ("YI SYLLABLE BBAT" #xA05E) - ("YI SYLLABLE BBAX" #xA05F) - ("YI SYLLABLE BBA" #xA060) - ("YI SYLLABLE BBAP" #xA061) - ("YI SYLLABLE BBUOX" #xA062) - ("YI SYLLABLE BBUO" #xA063) - ("YI SYLLABLE BBUOP" #xA064) - ("YI SYLLABLE BBOT" #xA065) - ("YI SYLLABLE BBOX" #xA066) - ("YI SYLLABLE BBO" #xA067) - ("YI SYLLABLE BBOP" #xA068) - ("YI SYLLABLE BBEX" #xA069) - ("YI SYLLABLE BBE" #xA06A) - ("YI SYLLABLE BBEP" #xA06B) - ("YI SYLLABLE BBUT" #xA06C) - ("YI SYLLABLE BBUX" #xA06D) - ("YI SYLLABLE BBU" #xA06E) - ("YI SYLLABLE BBUP" #xA06F) - ("YI SYLLABLE BBURX" #xA070) - ("YI SYLLABLE BBUR" #xA071) - ("YI SYLLABLE BBYT" #xA072) - ("YI SYLLABLE BBYX" #xA073) - ("YI SYLLABLE BBY" #xA074) - ("YI SYLLABLE BBYP" #xA075) - ("YI SYLLABLE NBIT" #xA076) - ("YI SYLLABLE NBIX" #xA077) - ("YI SYLLABLE NBI" #xA078) - ("YI SYLLABLE NBIP" #xA079) - ("YI SYLLABLE NBIEX" #xA07A) - ("YI SYLLABLE NBIE" #xA07B) - ("YI SYLLABLE NBIEP" #xA07C) - ("YI SYLLABLE NBAT" #xA07D) - ("YI SYLLABLE NBAX" #xA07E) - ("YI SYLLABLE NBA" #xA07F) - ("YI SYLLABLE NBAP" #xA080) - ("YI SYLLABLE NBOT" #xA081) - ("YI SYLLABLE NBOX" #xA082) - ("YI SYLLABLE NBO" #xA083) - ("YI SYLLABLE NBOP" #xA084) - ("YI SYLLABLE NBUT" #xA085) - ("YI SYLLABLE NBUX" #xA086) - ("YI SYLLABLE NBU" #xA087) - ("YI SYLLABLE NBUP" #xA088) - ("YI SYLLABLE NBURX" #xA089) - ("YI SYLLABLE NBUR" #xA08A) - ("YI SYLLABLE NBYT" #xA08B) - ("YI SYLLABLE NBYX" #xA08C) - ("YI SYLLABLE NBY" #xA08D) - ("YI SYLLABLE NBYP" #xA08E) - ("YI SYLLABLE NBYRX" #xA08F) - ("YI SYLLABLE NBYR" #xA090) - ("YI SYLLABLE HMIT" #xA091) - ("YI SYLLABLE HMIX" #xA092) - ("YI SYLLABLE HMI" #xA093) - ("YI SYLLABLE HMIP" #xA094) - ("YI SYLLABLE HMIEX" #xA095) - ("YI SYLLABLE HMIE" #xA096) - ("YI SYLLABLE HMIEP" #xA097) - ("YI SYLLABLE HMAT" #xA098) - ("YI SYLLABLE HMAX" #xA099) - ("YI SYLLABLE HMA" #xA09A) - ("YI SYLLABLE HMAP" #xA09B) - ("YI SYLLABLE HMUOX" #xA09C) - ("YI SYLLABLE HMUO" #xA09D) - ("YI SYLLABLE HMUOP" #xA09E) - ("YI SYLLABLE HMOT" #xA09F) - ("YI SYLLABLE HMOX" #xA0A0) - ("YI SYLLABLE HMO" #xA0A1) - ("YI SYLLABLE HMOP" #xA0A2) - ("YI SYLLABLE HMUT" #xA0A3) - ("YI SYLLABLE HMUX" #xA0A4) - ("YI SYLLABLE HMU" #xA0A5) - ("YI SYLLABLE HMUP" #xA0A6) - ("YI SYLLABLE HMURX" #xA0A7) - ("YI SYLLABLE HMUR" #xA0A8) - ("YI SYLLABLE HMYX" #xA0A9) - ("YI SYLLABLE HMY" #xA0AA) - ("YI SYLLABLE HMYP" #xA0AB) - ("YI SYLLABLE HMYRX" #xA0AC) - ("YI SYLLABLE HMYR" #xA0AD) - ("YI SYLLABLE MIT" #xA0AE) - ("YI SYLLABLE MIX" #xA0AF) - ("YI SYLLABLE MI" #xA0B0) - ("YI SYLLABLE MIP" #xA0B1) - ("YI SYLLABLE MIEX" #xA0B2) - ("YI SYLLABLE MIE" #xA0B3) - ("YI SYLLABLE MIEP" #xA0B4) - ("YI SYLLABLE MAT" #xA0B5) - ("YI SYLLABLE MAX" #xA0B6) - ("YI SYLLABLE MA" #xA0B7) - ("YI SYLLABLE MAP" #xA0B8) - ("YI SYLLABLE MUOT" #xA0B9) - ("YI SYLLABLE MUOX" #xA0BA) - ("YI SYLLABLE MUO" #xA0BB) - ("YI SYLLABLE MUOP" #xA0BC) - ("YI SYLLABLE MOT" #xA0BD) - ("YI SYLLABLE MOX" #xA0BE) - ("YI SYLLABLE MO" #xA0BF) - ("YI SYLLABLE MOP" #xA0C0) - ("YI SYLLABLE MEX" #xA0C1) - ("YI SYLLABLE ME" #xA0C2) - ("YI SYLLABLE MUT" #xA0C3) - ("YI SYLLABLE MUX" #xA0C4) - ("YI SYLLABLE MU" #xA0C5) - ("YI SYLLABLE MUP" #xA0C6) - ("YI SYLLABLE MURX" #xA0C7) - ("YI SYLLABLE MUR" #xA0C8) - ("YI SYLLABLE MYT" #xA0C9) - ("YI SYLLABLE MYX" #xA0CA) - ("YI SYLLABLE MY" #xA0CB) - ("YI SYLLABLE MYP" #xA0CC) - ("YI SYLLABLE FIT" #xA0CD) - ("YI SYLLABLE FIX" #xA0CE) - ("YI SYLLABLE FI" #xA0CF) - ("YI SYLLABLE FIP" #xA0D0) - ("YI SYLLABLE FAT" #xA0D1) - ("YI SYLLABLE FAX" #xA0D2) - ("YI SYLLABLE FA" #xA0D3) - ("YI SYLLABLE FAP" #xA0D4) - ("YI SYLLABLE FOX" #xA0D5) - ("YI SYLLABLE FO" #xA0D6) - ("YI SYLLABLE FOP" #xA0D7) - ("YI SYLLABLE FUT" #xA0D8) - ("YI SYLLABLE FUX" #xA0D9) - ("YI SYLLABLE FU" #xA0DA) - ("YI SYLLABLE FUP" #xA0DB) - ("YI SYLLABLE FURX" #xA0DC) - ("YI SYLLABLE FUR" #xA0DD) - ("YI SYLLABLE FYT" #xA0DE) - ("YI SYLLABLE FYX" #xA0DF) - ("YI SYLLABLE FY" #xA0E0) - ("YI SYLLABLE FYP" #xA0E1) - ("YI SYLLABLE VIT" #xA0E2) - ("YI SYLLABLE VIX" #xA0E3) - ("YI SYLLABLE VI" #xA0E4) - ("YI SYLLABLE VIP" #xA0E5) - ("YI SYLLABLE VIET" #xA0E6) - ("YI SYLLABLE VIEX" #xA0E7) - ("YI SYLLABLE VIE" #xA0E8) - ("YI SYLLABLE VIEP" #xA0E9) - ("YI SYLLABLE VAT" #xA0EA) - ("YI SYLLABLE VAX" #xA0EB) - ("YI SYLLABLE VA" #xA0EC) - ("YI SYLLABLE VAP" #xA0ED) - ("YI SYLLABLE VOT" #xA0EE) - ("YI SYLLABLE VOX" #xA0EF) - ("YI SYLLABLE VO" #xA0F0) - ("YI SYLLABLE VOP" #xA0F1) - ("YI SYLLABLE VEX" #xA0F2) - ("YI SYLLABLE VEP" #xA0F3) - ("YI SYLLABLE VUT" #xA0F4) - ("YI SYLLABLE VUX" #xA0F5) - ("YI SYLLABLE VU" #xA0F6) - ("YI SYLLABLE VUP" #xA0F7) - ("YI SYLLABLE VURX" #xA0F8) - ("YI SYLLABLE VUR" #xA0F9) - ("YI SYLLABLE VYT" #xA0FA) - ("YI SYLLABLE VYX" #xA0FB) - ("YI SYLLABLE VY" #xA0FC) - ("YI SYLLABLE VYP" #xA0FD) - ("YI SYLLABLE VYRX" #xA0FE) - ("YI SYLLABLE VYR" #xA0FF) - ("YI SYLLABLE DIT" #xA100) - ("YI SYLLABLE DIX" #xA101) - ("YI SYLLABLE DI" #xA102) - ("YI SYLLABLE DIP" #xA103) - ("YI SYLLABLE DIEX" #xA104) - ("YI SYLLABLE DIE" #xA105) - ("YI SYLLABLE DIEP" #xA106) - ("YI SYLLABLE DAT" #xA107) - ("YI SYLLABLE DAX" #xA108) - ("YI SYLLABLE DA" #xA109) - ("YI SYLLABLE DAP" #xA10A) - ("YI SYLLABLE DUOX" #xA10B) - ("YI SYLLABLE DUO" #xA10C) - ("YI SYLLABLE DOT" #xA10D) - ("YI SYLLABLE DOX" #xA10E) - ("YI SYLLABLE DO" #xA10F) - ("YI SYLLABLE DOP" #xA110) - ("YI SYLLABLE DEX" #xA111) - ("YI SYLLABLE DE" #xA112) - ("YI SYLLABLE DEP" #xA113) - ("YI SYLLABLE DUT" #xA114) - ("YI SYLLABLE DUX" #xA115) - ("YI SYLLABLE DU" #xA116) - ("YI SYLLABLE DUP" #xA117) - ("YI SYLLABLE DURX" #xA118) - ("YI SYLLABLE DUR" #xA119) - ("YI SYLLABLE TIT" #xA11A) - ("YI SYLLABLE TIX" #xA11B) - ("YI SYLLABLE TI" #xA11C) - ("YI SYLLABLE TIP" #xA11D) - ("YI SYLLABLE TIEX" #xA11E) - ("YI SYLLABLE TIE" #xA11F) - ("YI SYLLABLE TIEP" #xA120) - ("YI SYLLABLE TAT" #xA121) - ("YI SYLLABLE TAX" #xA122) - ("YI SYLLABLE TA" #xA123) - ("YI SYLLABLE TAP" #xA124) - ("YI SYLLABLE TUOT" #xA125) - ("YI SYLLABLE TUOX" #xA126) - ("YI SYLLABLE TUO" #xA127) - ("YI SYLLABLE TUOP" #xA128) - ("YI SYLLABLE TOT" #xA129) - ("YI SYLLABLE TOX" #xA12A) - ("YI SYLLABLE TO" #xA12B) - ("YI SYLLABLE TOP" #xA12C) - ("YI SYLLABLE TEX" #xA12D) - ("YI SYLLABLE TE" #xA12E) - ("YI SYLLABLE TEP" #xA12F) - ("YI SYLLABLE TUT" #xA130) - ("YI SYLLABLE TUX" #xA131) - ("YI SYLLABLE TU" #xA132) - ("YI SYLLABLE TUP" #xA133) - ("YI SYLLABLE TURX" #xA134) - ("YI SYLLABLE TUR" #xA135) - ("YI SYLLABLE DDIT" #xA136) - ("YI SYLLABLE DDIX" #xA137) - ("YI SYLLABLE DDI" #xA138) - ("YI SYLLABLE DDIP" #xA139) - ("YI SYLLABLE DDIEX" #xA13A) - ("YI SYLLABLE DDIE" #xA13B) - ("YI SYLLABLE DDIEP" #xA13C) - ("YI SYLLABLE DDAT" #xA13D) - ("YI SYLLABLE DDAX" #xA13E) - ("YI SYLLABLE DDA" #xA13F) - ("YI SYLLABLE DDAP" #xA140) - ("YI SYLLABLE DDUOX" #xA141) - ("YI SYLLABLE DDUO" #xA142) - ("YI SYLLABLE DDUOP" #xA143) - ("YI SYLLABLE DDOT" #xA144) - ("YI SYLLABLE DDOX" #xA145) - ("YI SYLLABLE DDO" #xA146) - ("YI SYLLABLE DDOP" #xA147) - ("YI SYLLABLE DDEX" #xA148) - ("YI SYLLABLE DDE" #xA149) - ("YI SYLLABLE DDEP" #xA14A) - ("YI SYLLABLE DDUT" #xA14B) - ("YI SYLLABLE DDUX" #xA14C) - ("YI SYLLABLE DDU" #xA14D) - ("YI SYLLABLE DDUP" #xA14E) - ("YI SYLLABLE DDURX" #xA14F) - ("YI SYLLABLE DDUR" #xA150) - ("YI SYLLABLE NDIT" #xA151) - ("YI SYLLABLE NDIX" #xA152) - ("YI SYLLABLE NDI" #xA153) - ("YI SYLLABLE NDIP" #xA154) - ("YI SYLLABLE NDIEX" #xA155) - ("YI SYLLABLE NDIE" #xA156) - ("YI SYLLABLE NDAT" #xA157) - ("YI SYLLABLE NDAX" #xA158) - ("YI SYLLABLE NDA" #xA159) - ("YI SYLLABLE NDAP" #xA15A) - ("YI SYLLABLE NDOT" #xA15B) - ("YI SYLLABLE NDOX" #xA15C) - ("YI SYLLABLE NDO" #xA15D) - ("YI SYLLABLE NDOP" #xA15E) - ("YI SYLLABLE NDEX" #xA15F) - ("YI SYLLABLE NDE" #xA160) - ("YI SYLLABLE NDEP" #xA161) - ("YI SYLLABLE NDUT" #xA162) - ("YI SYLLABLE NDUX" #xA163) - ("YI SYLLABLE NDU" #xA164) - ("YI SYLLABLE NDUP" #xA165) - ("YI SYLLABLE NDURX" #xA166) - ("YI SYLLABLE NDUR" #xA167) - ("YI SYLLABLE HNIT" #xA168) - ("YI SYLLABLE HNIX" #xA169) - ("YI SYLLABLE HNI" #xA16A) - ("YI SYLLABLE HNIP" #xA16B) - ("YI SYLLABLE HNIET" #xA16C) - ("YI SYLLABLE HNIEX" #xA16D) - ("YI SYLLABLE HNIE" #xA16E) - ("YI SYLLABLE HNIEP" #xA16F) - ("YI SYLLABLE HNAT" #xA170) - ("YI SYLLABLE HNAX" #xA171) - ("YI SYLLABLE HNA" #xA172) - ("YI SYLLABLE HNAP" #xA173) - ("YI SYLLABLE HNUOX" #xA174) - ("YI SYLLABLE HNUO" #xA175) - ("YI SYLLABLE HNOT" #xA176) - ("YI SYLLABLE HNOX" #xA177) - ("YI SYLLABLE HNOP" #xA178) - ("YI SYLLABLE HNEX" #xA179) - ("YI SYLLABLE HNE" #xA17A) - ("YI SYLLABLE HNEP" #xA17B) - ("YI SYLLABLE HNUT" #xA17C) - ("YI SYLLABLE NIT" #xA17D) - ("YI SYLLABLE NIX" #xA17E) - ("YI SYLLABLE NI" #xA17F) - ("YI SYLLABLE NIP" #xA180) - ("YI SYLLABLE NIEX" #xA181) - ("YI SYLLABLE NIE" #xA182) - ("YI SYLLABLE NIEP" #xA183) - ("YI SYLLABLE NAX" #xA184) - ("YI SYLLABLE NA" #xA185) - ("YI SYLLABLE NAP" #xA186) - ("YI SYLLABLE NUOX" #xA187) - ("YI SYLLABLE NUO" #xA188) - ("YI SYLLABLE NUOP" #xA189) - ("YI SYLLABLE NOT" #xA18A) - ("YI SYLLABLE NOX" #xA18B) - ("YI SYLLABLE NO" #xA18C) - ("YI SYLLABLE NOP" #xA18D) - ("YI SYLLABLE NEX" #xA18E) - ("YI SYLLABLE NE" #xA18F) - ("YI SYLLABLE NEP" #xA190) - ("YI SYLLABLE NUT" #xA191) - ("YI SYLLABLE NUX" #xA192) - ("YI SYLLABLE NU" #xA193) - ("YI SYLLABLE NUP" #xA194) - ("YI SYLLABLE NURX" #xA195) - ("YI SYLLABLE NUR" #xA196) - ("YI SYLLABLE HLIT" #xA197) - ("YI SYLLABLE HLIX" #xA198) - ("YI SYLLABLE HLI" #xA199) - ("YI SYLLABLE HLIP" #xA19A) - ("YI SYLLABLE HLIEX" #xA19B) - ("YI SYLLABLE HLIE" #xA19C) - ("YI SYLLABLE HLIEP" #xA19D) - ("YI SYLLABLE HLAT" #xA19E) - ("YI SYLLABLE HLAX" #xA19F) - ("YI SYLLABLE HLA" #xA1A0) - ("YI SYLLABLE HLAP" #xA1A1) - ("YI SYLLABLE HLUOX" #xA1A2) - ("YI SYLLABLE HLUO" #xA1A3) - ("YI SYLLABLE HLUOP" #xA1A4) - ("YI SYLLABLE HLOX" #xA1A5) - ("YI SYLLABLE HLO" #xA1A6) - ("YI SYLLABLE HLOP" #xA1A7) - ("YI SYLLABLE HLEX" #xA1A8) - ("YI SYLLABLE HLE" #xA1A9) - ("YI SYLLABLE HLEP" #xA1AA) - ("YI SYLLABLE HLUT" #xA1AB) - ("YI SYLLABLE HLUX" #xA1AC) - ("YI SYLLABLE HLU" #xA1AD) - ("YI SYLLABLE HLUP" #xA1AE) - ("YI SYLLABLE HLURX" #xA1AF) - ("YI SYLLABLE HLUR" #xA1B0) - ("YI SYLLABLE HLYT" #xA1B1) - ("YI SYLLABLE HLYX" #xA1B2) - ("YI SYLLABLE HLY" #xA1B3) - ("YI SYLLABLE HLYP" #xA1B4) - ("YI SYLLABLE HLYRX" #xA1B5) - ("YI SYLLABLE HLYR" #xA1B6) - ("YI SYLLABLE LIT" #xA1B7) - ("YI SYLLABLE LIX" #xA1B8) - ("YI SYLLABLE LI" #xA1B9) - ("YI SYLLABLE LIP" #xA1BA) - ("YI SYLLABLE LIET" #xA1BB) - ("YI SYLLABLE LIEX" #xA1BC) - ("YI SYLLABLE LIE" #xA1BD) - ("YI SYLLABLE LIEP" #xA1BE) - ("YI SYLLABLE LAT" #xA1BF) - ("YI SYLLABLE LAX" #xA1C0) - ("YI SYLLABLE LA" #xA1C1) - ("YI SYLLABLE LAP" #xA1C2) - ("YI SYLLABLE LUOT" #xA1C3) - ("YI SYLLABLE LUOX" #xA1C4) - ("YI SYLLABLE LUO" #xA1C5) - ("YI SYLLABLE LUOP" #xA1C6) - ("YI SYLLABLE LOT" #xA1C7) - ("YI SYLLABLE LOX" #xA1C8) - ("YI SYLLABLE LO" #xA1C9) - ("YI SYLLABLE LOP" #xA1CA) - ("YI SYLLABLE LEX" #xA1CB) - ("YI SYLLABLE LE" #xA1CC) - ("YI SYLLABLE LEP" #xA1CD) - ("YI SYLLABLE LUT" #xA1CE) - ("YI SYLLABLE LUX" #xA1CF) - ("YI SYLLABLE LU" #xA1D0) - ("YI SYLLABLE LUP" #xA1D1) - ("YI SYLLABLE LURX" #xA1D2) - ("YI SYLLABLE LUR" #xA1D3) - ("YI SYLLABLE LYT" #xA1D4) - ("YI SYLLABLE LYX" #xA1D5) - ("YI SYLLABLE LY" #xA1D6) - ("YI SYLLABLE LYP" #xA1D7) - ("YI SYLLABLE LYRX" #xA1D8) - ("YI SYLLABLE LYR" #xA1D9) - ("YI SYLLABLE GIT" #xA1DA) - ("YI SYLLABLE GIX" #xA1DB) - ("YI SYLLABLE GI" #xA1DC) - ("YI SYLLABLE GIP" #xA1DD) - ("YI SYLLABLE GIET" #xA1DE) - ("YI SYLLABLE GIEX" #xA1DF) - ("YI SYLLABLE GIE" #xA1E0) - ("YI SYLLABLE GIEP" #xA1E1) - ("YI SYLLABLE GAT" #xA1E2) - ("YI SYLLABLE GAX" #xA1E3) - ("YI SYLLABLE GA" #xA1E4) - ("YI SYLLABLE GAP" #xA1E5) - ("YI SYLLABLE GUOT" #xA1E6) - ("YI SYLLABLE GUOX" #xA1E7) - ("YI SYLLABLE GUO" #xA1E8) - ("YI SYLLABLE GUOP" #xA1E9) - ("YI SYLLABLE GOT" #xA1EA) - ("YI SYLLABLE GOX" #xA1EB) - ("YI SYLLABLE GO" #xA1EC) - ("YI SYLLABLE GOP" #xA1ED) - ("YI SYLLABLE GET" #xA1EE) - ("YI SYLLABLE GEX" #xA1EF) - ("YI SYLLABLE GE" #xA1F0) - ("YI SYLLABLE GEP" #xA1F1) - ("YI SYLLABLE GUT" #xA1F2) - ("YI SYLLABLE GUX" #xA1F3) - ("YI SYLLABLE GU" #xA1F4) - ("YI SYLLABLE GUP" #xA1F5) - ("YI SYLLABLE GURX" #xA1F6) - ("YI SYLLABLE GUR" #xA1F7) - ("YI SYLLABLE KIT" #xA1F8) - ("YI SYLLABLE KIX" #xA1F9) - ("YI SYLLABLE KI" #xA1FA) - ("YI SYLLABLE KIP" #xA1FB) - ("YI SYLLABLE KIEX" #xA1FC) - ("YI SYLLABLE KIE" #xA1FD) - ("YI SYLLABLE KIEP" #xA1FE) - ("YI SYLLABLE KAT" #xA1FF) - ("YI SYLLABLE KAX" #xA200) - ("YI SYLLABLE KA" #xA201) - ("YI SYLLABLE KAP" #xA202) - ("YI SYLLABLE KUOX" #xA203) - ("YI SYLLABLE KUO" #xA204) - ("YI SYLLABLE KUOP" #xA205) - ("YI SYLLABLE KOT" #xA206) - ("YI SYLLABLE KOX" #xA207) - ("YI SYLLABLE KO" #xA208) - ("YI SYLLABLE KOP" #xA209) - ("YI SYLLABLE KET" #xA20A) - ("YI SYLLABLE KEX" #xA20B) - ("YI SYLLABLE KE" #xA20C) - ("YI SYLLABLE KEP" #xA20D) - ("YI SYLLABLE KUT" #xA20E) - ("YI SYLLABLE KUX" #xA20F) - ("YI SYLLABLE KU" #xA210) - ("YI SYLLABLE KUP" #xA211) - ("YI SYLLABLE KURX" #xA212) - ("YI SYLLABLE KUR" #xA213) - ("YI SYLLABLE GGIT" #xA214) - ("YI SYLLABLE GGIX" #xA215) - ("YI SYLLABLE GGI" #xA216) - ("YI SYLLABLE GGIEX" #xA217) - ("YI SYLLABLE GGIE" #xA218) - ("YI SYLLABLE GGIEP" #xA219) - ("YI SYLLABLE GGAT" #xA21A) - ("YI SYLLABLE GGAX" #xA21B) - ("YI SYLLABLE GGA" #xA21C) - ("YI SYLLABLE GGAP" #xA21D) - ("YI SYLLABLE GGUOT" #xA21E) - ("YI SYLLABLE GGUOX" #xA21F) - ("YI SYLLABLE GGUO" #xA220) - ("YI SYLLABLE GGUOP" #xA221) - ("YI SYLLABLE GGOT" #xA222) - ("YI SYLLABLE GGOX" #xA223) - ("YI SYLLABLE GGO" #xA224) - ("YI SYLLABLE GGOP" #xA225) - ("YI SYLLABLE GGET" #xA226) - ("YI SYLLABLE GGEX" #xA227) - ("YI SYLLABLE GGE" #xA228) - ("YI SYLLABLE GGEP" #xA229) - ("YI SYLLABLE GGUT" #xA22A) - ("YI SYLLABLE GGUX" #xA22B) - ("YI SYLLABLE GGU" #xA22C) - ("YI SYLLABLE GGUP" #xA22D) - ("YI SYLLABLE GGURX" #xA22E) - ("YI SYLLABLE GGUR" #xA22F) - ("YI SYLLABLE MGIEX" #xA230) - ("YI SYLLABLE MGIE" #xA231) - ("YI SYLLABLE MGAT" #xA232) - ("YI SYLLABLE MGAX" #xA233) - ("YI SYLLABLE MGA" #xA234) - ("YI SYLLABLE MGAP" #xA235) - ("YI SYLLABLE MGUOX" #xA236) - ("YI SYLLABLE MGUO" #xA237) - ("YI SYLLABLE MGUOP" #xA238) - ("YI SYLLABLE MGOT" #xA239) - ("YI SYLLABLE MGOX" #xA23A) - ("YI SYLLABLE MGO" #xA23B) - ("YI SYLLABLE MGOP" #xA23C) - ("YI SYLLABLE MGEX" #xA23D) - ("YI SYLLABLE MGE" #xA23E) - ("YI SYLLABLE MGEP" #xA23F) - ("YI SYLLABLE MGUT" #xA240) - ("YI SYLLABLE MGUX" #xA241) - ("YI SYLLABLE MGU" #xA242) - ("YI SYLLABLE MGUP" #xA243) - ("YI SYLLABLE MGURX" #xA244) - ("YI SYLLABLE MGUR" #xA245) - ("YI SYLLABLE HXIT" #xA246) - ("YI SYLLABLE HXIX" #xA247) - ("YI SYLLABLE HXI" #xA248) - ("YI SYLLABLE HXIP" #xA249) - ("YI SYLLABLE HXIET" #xA24A) - ("YI SYLLABLE HXIEX" #xA24B) - ("YI SYLLABLE HXIE" #xA24C) - ("YI SYLLABLE HXIEP" #xA24D) - ("YI SYLLABLE HXAT" #xA24E) - ("YI SYLLABLE HXAX" #xA24F) - ("YI SYLLABLE HXA" #xA250) - ("YI SYLLABLE HXAP" #xA251) - ("YI SYLLABLE HXUOT" #xA252) - ("YI SYLLABLE HXUOX" #xA253) - ("YI SYLLABLE HXUO" #xA254) - ("YI SYLLABLE HXUOP" #xA255) - ("YI SYLLABLE HXOT" #xA256) - ("YI SYLLABLE HXOX" #xA257) - ("YI SYLLABLE HXO" #xA258) - ("YI SYLLABLE HXOP" #xA259) - ("YI SYLLABLE HXEX" #xA25A) - ("YI SYLLABLE HXE" #xA25B) - ("YI SYLLABLE HXEP" #xA25C) - ("YI SYLLABLE NGIEX" #xA25D) - ("YI SYLLABLE NGIE" #xA25E) - ("YI SYLLABLE NGIEP" #xA25F) - ("YI SYLLABLE NGAT" #xA260) - ("YI SYLLABLE NGAX" #xA261) - ("YI SYLLABLE NGA" #xA262) - ("YI SYLLABLE NGAP" #xA263) - ("YI SYLLABLE NGUOT" #xA264) - ("YI SYLLABLE NGUOX" #xA265) - ("YI SYLLABLE NGUO" #xA266) - ("YI SYLLABLE NGOT" #xA267) - ("YI SYLLABLE NGOX" #xA268) - ("YI SYLLABLE NGO" #xA269) - ("YI SYLLABLE NGOP" #xA26A) - ("YI SYLLABLE NGEX" #xA26B) - ("YI SYLLABLE NGE" #xA26C) - ("YI SYLLABLE NGEP" #xA26D) - ("YI SYLLABLE HIT" #xA26E) - ("YI SYLLABLE HIEX" #xA26F) - ("YI SYLLABLE HIE" #xA270) - ("YI SYLLABLE HAT" #xA271) - ("YI SYLLABLE HAX" #xA272) - ("YI SYLLABLE HA" #xA273) - ("YI SYLLABLE HAP" #xA274) - ("YI SYLLABLE HUOT" #xA275) - ("YI SYLLABLE HUOX" #xA276) - ("YI SYLLABLE HUO" #xA277) - ("YI SYLLABLE HUOP" #xA278) - ("YI SYLLABLE HOT" #xA279) - ("YI SYLLABLE HOX" #xA27A) - ("YI SYLLABLE HO" #xA27B) - ("YI SYLLABLE HOP" #xA27C) - ("YI SYLLABLE HEX" #xA27D) - ("YI SYLLABLE HE" #xA27E) - ("YI SYLLABLE HEP" #xA27F) - ("YI SYLLABLE WAT" #xA280) - ("YI SYLLABLE WAX" #xA281) - ("YI SYLLABLE WA" #xA282) - ("YI SYLLABLE WAP" #xA283) - ("YI SYLLABLE WUOX" #xA284) - ("YI SYLLABLE WUO" #xA285) - ("YI SYLLABLE WUOP" #xA286) - ("YI SYLLABLE WOX" #xA287) - ("YI SYLLABLE WO" #xA288) - ("YI SYLLABLE WOP" #xA289) - ("YI SYLLABLE WEX" #xA28A) - ("YI SYLLABLE WE" #xA28B) - ("YI SYLLABLE WEP" #xA28C) - ("YI SYLLABLE ZIT" #xA28D) - ("YI SYLLABLE ZIX" #xA28E) - ("YI SYLLABLE ZI" #xA28F) - ("YI SYLLABLE ZIP" #xA290) - ("YI SYLLABLE ZIEX" #xA291) - ("YI SYLLABLE ZIE" #xA292) - ("YI SYLLABLE ZIEP" #xA293) - ("YI SYLLABLE ZAT" #xA294) - ("YI SYLLABLE ZAX" #xA295) - ("YI SYLLABLE ZA" #xA296) - ("YI SYLLABLE ZAP" #xA297) - ("YI SYLLABLE ZUOX" #xA298) - ("YI SYLLABLE ZUO" #xA299) - ("YI SYLLABLE ZUOP" #xA29A) - ("YI SYLLABLE ZOT" #xA29B) - ("YI SYLLABLE ZOX" #xA29C) - ("YI SYLLABLE ZO" #xA29D) - ("YI SYLLABLE ZOP" #xA29E) - ("YI SYLLABLE ZEX" #xA29F) - ("YI SYLLABLE ZE" #xA2A0) - ("YI SYLLABLE ZEP" #xA2A1) - ("YI SYLLABLE ZUT" #xA2A2) - ("YI SYLLABLE ZUX" #xA2A3) - ("YI SYLLABLE ZU" #xA2A4) - ("YI SYLLABLE ZUP" #xA2A5) - ("YI SYLLABLE ZURX" #xA2A6) - ("YI SYLLABLE ZUR" #xA2A7) - ("YI SYLLABLE ZYT" #xA2A8) - ("YI SYLLABLE ZYX" #xA2A9) - ("YI SYLLABLE ZY" #xA2AA) - ("YI SYLLABLE ZYP" #xA2AB) - ("YI SYLLABLE ZYRX" #xA2AC) - ("YI SYLLABLE ZYR" #xA2AD) - ("YI SYLLABLE CIT" #xA2AE) - ("YI SYLLABLE CIX" #xA2AF) - ("YI SYLLABLE CI" #xA2B0) - ("YI SYLLABLE CIP" #xA2B1) - ("YI SYLLABLE CIET" #xA2B2) - ("YI SYLLABLE CIEX" #xA2B3) - ("YI SYLLABLE CIE" #xA2B4) - ("YI SYLLABLE CIEP" #xA2B5) - ("YI SYLLABLE CAT" #xA2B6) - ("YI SYLLABLE CAX" #xA2B7) - ("YI SYLLABLE CA" #xA2B8) - ("YI SYLLABLE CAP" #xA2B9) - ("YI SYLLABLE CUOX" #xA2BA) - ("YI SYLLABLE CUO" #xA2BB) - ("YI SYLLABLE CUOP" #xA2BC) - ("YI SYLLABLE COT" #xA2BD) - ("YI SYLLABLE COX" #xA2BE) - ("YI SYLLABLE CO" #xA2BF) - ("YI SYLLABLE COP" #xA2C0) - ("YI SYLLABLE CEX" #xA2C1) - ("YI SYLLABLE CE" #xA2C2) - ("YI SYLLABLE CEP" #xA2C3) - ("YI SYLLABLE CUT" #xA2C4) - ("YI SYLLABLE CUX" #xA2C5) - ("YI SYLLABLE CU" #xA2C6) - ("YI SYLLABLE CUP" #xA2C7) - ("YI SYLLABLE CURX" #xA2C8) - ("YI SYLLABLE CUR" #xA2C9) - ("YI SYLLABLE CYT" #xA2CA) - ("YI SYLLABLE CYX" #xA2CB) - ("YI SYLLABLE CY" #xA2CC) - ("YI SYLLABLE CYP" #xA2CD) - ("YI SYLLABLE CYRX" #xA2CE) - ("YI SYLLABLE CYR" #xA2CF) - ("YI SYLLABLE ZZIT" #xA2D0) - ("YI SYLLABLE ZZIX" #xA2D1) - ("YI SYLLABLE ZZI" #xA2D2) - ("YI SYLLABLE ZZIP" #xA2D3) - ("YI SYLLABLE ZZIET" #xA2D4) - ("YI SYLLABLE ZZIEX" #xA2D5) - ("YI SYLLABLE ZZIE" #xA2D6) - ("YI SYLLABLE ZZIEP" #xA2D7) - ("YI SYLLABLE ZZAT" #xA2D8) - ("YI SYLLABLE ZZAX" #xA2D9) - ("YI SYLLABLE ZZA" #xA2DA) - ("YI SYLLABLE ZZAP" #xA2DB) - ("YI SYLLABLE ZZOX" #xA2DC) - ("YI SYLLABLE ZZO" #xA2DD) - ("YI SYLLABLE ZZOP" #xA2DE) - ("YI SYLLABLE ZZEX" #xA2DF) - ("YI SYLLABLE ZZE" #xA2E0) - ("YI SYLLABLE ZZEP" #xA2E1) - ("YI SYLLABLE ZZUX" #xA2E2) - ("YI SYLLABLE ZZU" #xA2E3) - ("YI SYLLABLE ZZUP" #xA2E4) - ("YI SYLLABLE ZZURX" #xA2E5) - ("YI SYLLABLE ZZUR" #xA2E6) - ("YI SYLLABLE ZZYT" #xA2E7) - ("YI SYLLABLE ZZYX" #xA2E8) - ("YI SYLLABLE ZZY" #xA2E9) - ("YI SYLLABLE ZZYP" #xA2EA) - ("YI SYLLABLE ZZYRX" #xA2EB) - ("YI SYLLABLE ZZYR" #xA2EC) - ("YI SYLLABLE NZIT" #xA2ED) - ("YI SYLLABLE NZIX" #xA2EE) - ("YI SYLLABLE NZI" #xA2EF) - ("YI SYLLABLE NZIP" #xA2F0) - ("YI SYLLABLE NZIEX" #xA2F1) - ("YI SYLLABLE NZIE" #xA2F2) - ("YI SYLLABLE NZIEP" #xA2F3) - ("YI SYLLABLE NZAT" #xA2F4) - ("YI SYLLABLE NZAX" #xA2F5) - ("YI SYLLABLE NZA" #xA2F6) - ("YI SYLLABLE NZAP" #xA2F7) - ("YI SYLLABLE NZUOX" #xA2F8) - ("YI SYLLABLE NZUO" #xA2F9) - ("YI SYLLABLE NZOX" #xA2FA) - ("YI SYLLABLE NZOP" #xA2FB) - ("YI SYLLABLE NZEX" #xA2FC) - ("YI SYLLABLE NZE" #xA2FD) - ("YI SYLLABLE NZUX" #xA2FE) - ("YI SYLLABLE NZU" #xA2FF) - ("YI SYLLABLE NZUP" #xA300) - ("YI SYLLABLE NZURX" #xA301) - ("YI SYLLABLE NZUR" #xA302) - ("YI SYLLABLE NZYT" #xA303) - ("YI SYLLABLE NZYX" #xA304) - ("YI SYLLABLE NZY" #xA305) - ("YI SYLLABLE NZYP" #xA306) - ("YI SYLLABLE NZYRX" #xA307) - ("YI SYLLABLE NZYR" #xA308) - ("YI SYLLABLE SIT" #xA309) - ("YI SYLLABLE SIX" #xA30A) - ("YI SYLLABLE SI" #xA30B) - ("YI SYLLABLE SIP" #xA30C) - ("YI SYLLABLE SIEX" #xA30D) - ("YI SYLLABLE SIE" #xA30E) - ("YI SYLLABLE SIEP" #xA30F) - ("YI SYLLABLE SAT" #xA310) - ("YI SYLLABLE SAX" #xA311) - ("YI SYLLABLE SA" #xA312) - ("YI SYLLABLE SAP" #xA313) - ("YI SYLLABLE SUOX" #xA314) - ("YI SYLLABLE SUO" #xA315) - ("YI SYLLABLE SUOP" #xA316) - ("YI SYLLABLE SOT" #xA317) - ("YI SYLLABLE SOX" #xA318) - ("YI SYLLABLE SO" #xA319) - ("YI SYLLABLE SOP" #xA31A) - ("YI SYLLABLE SEX" #xA31B) - ("YI SYLLABLE SE" #xA31C) - ("YI SYLLABLE SEP" #xA31D) - ("YI SYLLABLE SUT" #xA31E) - ("YI SYLLABLE SUX" #xA31F) - ("YI SYLLABLE SU" #xA320) - ("YI SYLLABLE SUP" #xA321) - ("YI SYLLABLE SURX" #xA322) - ("YI SYLLABLE SUR" #xA323) - ("YI SYLLABLE SYT" #xA324) - ("YI SYLLABLE SYX" #xA325) - ("YI SYLLABLE SY" #xA326) - ("YI SYLLABLE SYP" #xA327) - ("YI SYLLABLE SYRX" #xA328) - ("YI SYLLABLE SYR" #xA329) - ("YI SYLLABLE SSIT" #xA32A) - ("YI SYLLABLE SSIX" #xA32B) - ("YI SYLLABLE SSI" #xA32C) - ("YI SYLLABLE SSIP" #xA32D) - ("YI SYLLABLE SSIEX" #xA32E) - ("YI SYLLABLE SSIE" #xA32F) - ("YI SYLLABLE SSIEP" #xA330) - ("YI SYLLABLE SSAT" #xA331) - ("YI SYLLABLE SSAX" #xA332) - ("YI SYLLABLE SSA" #xA333) - ("YI SYLLABLE SSAP" #xA334) - ("YI SYLLABLE SSOT" #xA335) - ("YI SYLLABLE SSOX" #xA336) - ("YI SYLLABLE SSO" #xA337) - ("YI SYLLABLE SSOP" #xA338) - ("YI SYLLABLE SSEX" #xA339) - ("YI SYLLABLE SSE" #xA33A) - ("YI SYLLABLE SSEP" #xA33B) - ("YI SYLLABLE SSUT" #xA33C) - ("YI SYLLABLE SSUX" #xA33D) - ("YI SYLLABLE SSU" #xA33E) - ("YI SYLLABLE SSUP" #xA33F) - ("YI SYLLABLE SSYT" #xA340) - ("YI SYLLABLE SSYX" #xA341) - ("YI SYLLABLE SSY" #xA342) - ("YI SYLLABLE SSYP" #xA343) - ("YI SYLLABLE SSYRX" #xA344) - ("YI SYLLABLE SSYR" #xA345) - ("YI SYLLABLE ZHAT" #xA346) - ("YI SYLLABLE ZHAX" #xA347) - ("YI SYLLABLE ZHA" #xA348) - ("YI SYLLABLE ZHAP" #xA349) - ("YI SYLLABLE ZHUOX" #xA34A) - ("YI SYLLABLE ZHUO" #xA34B) - ("YI SYLLABLE ZHUOP" #xA34C) - ("YI SYLLABLE ZHOT" #xA34D) - ("YI SYLLABLE ZHOX" #xA34E) - ("YI SYLLABLE ZHO" #xA34F) - ("YI SYLLABLE ZHOP" #xA350) - ("YI SYLLABLE ZHET" #xA351) - ("YI SYLLABLE ZHEX" #xA352) - ("YI SYLLABLE ZHE" #xA353) - ("YI SYLLABLE ZHEP" #xA354) - ("YI SYLLABLE ZHUT" #xA355) - ("YI SYLLABLE ZHUX" #xA356) - ("YI SYLLABLE ZHU" #xA357) - ("YI SYLLABLE ZHUP" #xA358) - ("YI SYLLABLE ZHURX" #xA359) - ("YI SYLLABLE ZHUR" #xA35A) - ("YI SYLLABLE ZHYT" #xA35B) - ("YI SYLLABLE ZHYX" #xA35C) - ("YI SYLLABLE ZHY" #xA35D) - ("YI SYLLABLE ZHYP" #xA35E) - ("YI SYLLABLE ZHYRX" #xA35F) - ("YI SYLLABLE ZHYR" #xA360) - ("YI SYLLABLE CHAT" #xA361) - ("YI SYLLABLE CHAX" #xA362) - ("YI SYLLABLE CHA" #xA363) - ("YI SYLLABLE CHAP" #xA364) - ("YI SYLLABLE CHUOT" #xA365) - ("YI SYLLABLE CHUOX" #xA366) - ("YI SYLLABLE CHUO" #xA367) - ("YI SYLLABLE CHUOP" #xA368) - ("YI SYLLABLE CHOT" #xA369) - ("YI SYLLABLE CHOX" #xA36A) - ("YI SYLLABLE CHO" #xA36B) - ("YI SYLLABLE CHOP" #xA36C) - ("YI SYLLABLE CHET" #xA36D) - ("YI SYLLABLE CHEX" #xA36E) - ("YI SYLLABLE CHE" #xA36F) - ("YI SYLLABLE CHEP" #xA370) - ("YI SYLLABLE CHUX" #xA371) - ("YI SYLLABLE CHU" #xA372) - ("YI SYLLABLE CHUP" #xA373) - ("YI SYLLABLE CHURX" #xA374) - ("YI SYLLABLE CHUR" #xA375) - ("YI SYLLABLE CHYT" #xA376) - ("YI SYLLABLE CHYX" #xA377) - ("YI SYLLABLE CHY" #xA378) - ("YI SYLLABLE CHYP" #xA379) - ("YI SYLLABLE CHYRX" #xA37A) - ("YI SYLLABLE CHYR" #xA37B) - ("YI SYLLABLE RRAX" #xA37C) - ("YI SYLLABLE RRA" #xA37D) - ("YI SYLLABLE RRUOX" #xA37E) - ("YI SYLLABLE RRUO" #xA37F) - ("YI SYLLABLE RROT" #xA380) - ("YI SYLLABLE RROX" #xA381) - ("YI SYLLABLE RRO" #xA382) - ("YI SYLLABLE RROP" #xA383) - ("YI SYLLABLE RRET" #xA384) - ("YI SYLLABLE RREX" #xA385) - ("YI SYLLABLE RRE" #xA386) - ("YI SYLLABLE RREP" #xA387) - ("YI SYLLABLE RRUT" #xA388) - ("YI SYLLABLE RRUX" #xA389) - ("YI SYLLABLE RRU" #xA38A) - ("YI SYLLABLE RRUP" #xA38B) - ("YI SYLLABLE RRURX" #xA38C) - ("YI SYLLABLE RRUR" #xA38D) - ("YI SYLLABLE RRYT" #xA38E) - ("YI SYLLABLE RRYX" #xA38F) - ("YI SYLLABLE RRY" #xA390) - ("YI SYLLABLE RRYP" #xA391) - ("YI SYLLABLE RRYRX" #xA392) - ("YI SYLLABLE RRYR" #xA393) - ("YI SYLLABLE NRAT" #xA394) - ("YI SYLLABLE NRAX" #xA395) - ("YI SYLLABLE NRA" #xA396) - ("YI SYLLABLE NRAP" #xA397) - ("YI SYLLABLE NROX" #xA398) - ("YI SYLLABLE NRO" #xA399) - ("YI SYLLABLE NROP" #xA39A) - ("YI SYLLABLE NRET" #xA39B) - ("YI SYLLABLE NREX" #xA39C) - ("YI SYLLABLE NRE" #xA39D) - ("YI SYLLABLE NREP" #xA39E) - ("YI SYLLABLE NRUT" #xA39F) - ("YI SYLLABLE NRUX" #xA3A0) - ("YI SYLLABLE NRU" #xA3A1) - ("YI SYLLABLE NRUP" #xA3A2) - ("YI SYLLABLE NRURX" #xA3A3) - ("YI SYLLABLE NRUR" #xA3A4) - ("YI SYLLABLE NRYT" #xA3A5) - ("YI SYLLABLE NRYX" #xA3A6) - ("YI SYLLABLE NRY" #xA3A7) - ("YI SYLLABLE NRYP" #xA3A8) - ("YI SYLLABLE NRYRX" #xA3A9) - ("YI SYLLABLE NRYR" #xA3AA) - ("YI SYLLABLE SHAT" #xA3AB) - ("YI SYLLABLE SHAX" #xA3AC) - ("YI SYLLABLE SHA" #xA3AD) - ("YI SYLLABLE SHAP" #xA3AE) - ("YI SYLLABLE SHUOX" #xA3AF) - ("YI SYLLABLE SHUO" #xA3B0) - ("YI SYLLABLE SHUOP" #xA3B1) - ("YI SYLLABLE SHOT" #xA3B2) - ("YI SYLLABLE SHOX" #xA3B3) - ("YI SYLLABLE SHO" #xA3B4) - ("YI SYLLABLE SHOP" #xA3B5) - ("YI SYLLABLE SHET" #xA3B6) - ("YI SYLLABLE SHEX" #xA3B7) - ("YI SYLLABLE SHE" #xA3B8) - ("YI SYLLABLE SHEP" #xA3B9) - ("YI SYLLABLE SHUT" #xA3BA) - ("YI SYLLABLE SHUX" #xA3BB) - ("YI SYLLABLE SHU" #xA3BC) - ("YI SYLLABLE SHUP" #xA3BD) - ("YI SYLLABLE SHURX" #xA3BE) - ("YI SYLLABLE SHUR" #xA3BF) - ("YI SYLLABLE SHYT" #xA3C0) - ("YI SYLLABLE SHYX" #xA3C1) - ("YI SYLLABLE SHY" #xA3C2) - ("YI SYLLABLE SHYP" #xA3C3) - ("YI SYLLABLE SHYRX" #xA3C4) - ("YI SYLLABLE SHYR" #xA3C5) - ("YI SYLLABLE RAT" #xA3C6) - ("YI SYLLABLE RAX" #xA3C7) - ("YI SYLLABLE RA" #xA3C8) - ("YI SYLLABLE RAP" #xA3C9) - ("YI SYLLABLE RUOX" #xA3CA) - ("YI SYLLABLE RUO" #xA3CB) - ("YI SYLLABLE RUOP" #xA3CC) - ("YI SYLLABLE ROT" #xA3CD) - ("YI SYLLABLE ROX" #xA3CE) - ("YI SYLLABLE RO" #xA3CF) - ("YI SYLLABLE ROP" #xA3D0) - ("YI SYLLABLE REX" #xA3D1) - ("YI SYLLABLE RE" #xA3D2) - ("YI SYLLABLE REP" #xA3D3) - ("YI SYLLABLE RUT" #xA3D4) - ("YI SYLLABLE RUX" #xA3D5) - ("YI SYLLABLE RU" #xA3D6) - ("YI SYLLABLE RUP" #xA3D7) - ("YI SYLLABLE RURX" #xA3D8) - ("YI SYLLABLE RUR" #xA3D9) - ("YI SYLLABLE RYT" #xA3DA) - ("YI SYLLABLE RYX" #xA3DB) - ("YI SYLLABLE RY" #xA3DC) - ("YI SYLLABLE RYP" #xA3DD) - ("YI SYLLABLE RYRX" #xA3DE) - ("YI SYLLABLE RYR" #xA3DF) - ("YI SYLLABLE JIT" #xA3E0) - ("YI SYLLABLE JIX" #xA3E1) - ("YI SYLLABLE JI" #xA3E2) - ("YI SYLLABLE JIP" #xA3E3) - ("YI SYLLABLE JIET" #xA3E4) - ("YI SYLLABLE JIEX" #xA3E5) - ("YI SYLLABLE JIE" #xA3E6) - ("YI SYLLABLE JIEP" #xA3E7) - ("YI SYLLABLE JUOT" #xA3E8) - ("YI SYLLABLE JUOX" #xA3E9) - ("YI SYLLABLE JUO" #xA3EA) - ("YI SYLLABLE JUOP" #xA3EB) - ("YI SYLLABLE JOT" #xA3EC) - ("YI SYLLABLE JOX" #xA3ED) - ("YI SYLLABLE JO" #xA3EE) - ("YI SYLLABLE JOP" #xA3EF) - ("YI SYLLABLE JUT" #xA3F0) - ("YI SYLLABLE JUX" #xA3F1) - ("YI SYLLABLE JU" #xA3F2) - ("YI SYLLABLE JUP" #xA3F3) - ("YI SYLLABLE JURX" #xA3F4) - ("YI SYLLABLE JUR" #xA3F5) - ("YI SYLLABLE JYT" #xA3F6) - ("YI SYLLABLE JYX" #xA3F7) - ("YI SYLLABLE JY" #xA3F8) - ("YI SYLLABLE JYP" #xA3F9) - ("YI SYLLABLE JYRX" #xA3FA) - ("YI SYLLABLE JYR" #xA3FB) - ("YI SYLLABLE QIT" #xA3FC) - ("YI SYLLABLE QIX" #xA3FD) - ("YI SYLLABLE QI" #xA3FE) - ("YI SYLLABLE QIP" #xA3FF) - ("YI SYLLABLE QIET" #xA400) - ("YI SYLLABLE QIEX" #xA401) - ("YI SYLLABLE QIE" #xA402) - ("YI SYLLABLE QIEP" #xA403) - ("YI SYLLABLE QUOT" #xA404) - ("YI SYLLABLE QUOX" #xA405) - ("YI SYLLABLE QUO" #xA406) - ("YI SYLLABLE QUOP" #xA407) - ("YI SYLLABLE QOT" #xA408) - ("YI SYLLABLE QOX" #xA409) - ("YI SYLLABLE QO" #xA40A) - ("YI SYLLABLE QOP" #xA40B) - ("YI SYLLABLE QUT" #xA40C) - ("YI SYLLABLE QUX" #xA40D) - ("YI SYLLABLE QU" #xA40E) - ("YI SYLLABLE QUP" #xA40F) - ("YI SYLLABLE QURX" #xA410) - ("YI SYLLABLE QUR" #xA411) - ("YI SYLLABLE QYT" #xA412) - ("YI SYLLABLE QYX" #xA413) - ("YI SYLLABLE QY" #xA414) - ("YI SYLLABLE QYP" #xA415) - ("YI SYLLABLE QYRX" #xA416) - ("YI SYLLABLE QYR" #xA417) - ("YI SYLLABLE JJIT" #xA418) - ("YI SYLLABLE JJIX" #xA419) - ("YI SYLLABLE JJI" #xA41A) - ("YI SYLLABLE JJIP" #xA41B) - ("YI SYLLABLE JJIET" #xA41C) - ("YI SYLLABLE JJIEX" #xA41D) - ("YI SYLLABLE JJIE" #xA41E) - ("YI SYLLABLE JJIEP" #xA41F) - ("YI SYLLABLE JJUOX" #xA420) - ("YI SYLLABLE JJUO" #xA421) - ("YI SYLLABLE JJUOP" #xA422) - ("YI SYLLABLE JJOT" #xA423) - ("YI SYLLABLE JJOX" #xA424) - ("YI SYLLABLE JJO" #xA425) - ("YI SYLLABLE JJOP" #xA426) - ("YI SYLLABLE JJUT" #xA427) - ("YI SYLLABLE JJUX" #xA428) - ("YI SYLLABLE JJU" #xA429) - ("YI SYLLABLE JJUP" #xA42A) - ("YI SYLLABLE JJURX" #xA42B) - ("YI SYLLABLE JJUR" #xA42C) - ("YI SYLLABLE JJYT" #xA42D) - ("YI SYLLABLE JJYX" #xA42E) - ("YI SYLLABLE JJY" #xA42F) - ("YI SYLLABLE JJYP" #xA430) - ("YI SYLLABLE NJIT" #xA431) - ("YI SYLLABLE NJIX" #xA432) - ("YI SYLLABLE NJI" #xA433) - ("YI SYLLABLE NJIP" #xA434) - ("YI SYLLABLE NJIET" #xA435) - ("YI SYLLABLE NJIEX" #xA436) - ("YI SYLLABLE NJIE" #xA437) - ("YI SYLLABLE NJIEP" #xA438) - ("YI SYLLABLE NJUOX" #xA439) - ("YI SYLLABLE NJUO" #xA43A) - ("YI SYLLABLE NJOT" #xA43B) - ("YI SYLLABLE NJOX" #xA43C) - ("YI SYLLABLE NJO" #xA43D) - ("YI SYLLABLE NJOP" #xA43E) - ("YI SYLLABLE NJUX" #xA43F) - ("YI SYLLABLE NJU" #xA440) - ("YI SYLLABLE NJUP" #xA441) - ("YI SYLLABLE NJURX" #xA442) - ("YI SYLLABLE NJUR" #xA443) - ("YI SYLLABLE NJYT" #xA444) - ("YI SYLLABLE NJYX" #xA445) - ("YI SYLLABLE NJY" #xA446) - ("YI SYLLABLE NJYP" #xA447) - ("YI SYLLABLE NJYRX" #xA448) - ("YI SYLLABLE NJYR" #xA449) - ("YI SYLLABLE NYIT" #xA44A) - ("YI SYLLABLE NYIX" #xA44B) - ("YI SYLLABLE NYI" #xA44C) - ("YI SYLLABLE NYIP" #xA44D) - ("YI SYLLABLE NYIET" #xA44E) - ("YI SYLLABLE NYIEX" #xA44F) - ("YI SYLLABLE NYIE" #xA450) - ("YI SYLLABLE NYIEP" #xA451) - ("YI SYLLABLE NYUOX" #xA452) - ("YI SYLLABLE NYUO" #xA453) - ("YI SYLLABLE NYUOP" #xA454) - ("YI SYLLABLE NYOT" #xA455) - ("YI SYLLABLE NYOX" #xA456) - ("YI SYLLABLE NYO" #xA457) - ("YI SYLLABLE NYOP" #xA458) - ("YI SYLLABLE NYUT" #xA459) - ("YI SYLLABLE NYUX" #xA45A) - ("YI SYLLABLE NYU" #xA45B) - ("YI SYLLABLE NYUP" #xA45C) - ("YI SYLLABLE XIT" #xA45D) - ("YI SYLLABLE XIX" #xA45E) - ("YI SYLLABLE XI" #xA45F) - ("YI SYLLABLE XIP" #xA460) - ("YI SYLLABLE XIET" #xA461) - ("YI SYLLABLE XIEX" #xA462) - ("YI SYLLABLE XIE" #xA463) - ("YI SYLLABLE XIEP" #xA464) - ("YI SYLLABLE XUOX" #xA465) - ("YI SYLLABLE XUO" #xA466) - ("YI SYLLABLE XOT" #xA467) - ("YI SYLLABLE XOX" #xA468) - ("YI SYLLABLE XO" #xA469) - ("YI SYLLABLE XOP" #xA46A) - ("YI SYLLABLE XYT" #xA46B) - ("YI SYLLABLE XYX" #xA46C) - ("YI SYLLABLE XY" #xA46D) - ("YI SYLLABLE XYP" #xA46E) - ("YI SYLLABLE XYRX" #xA46F) - ("YI SYLLABLE XYR" #xA470) - ("YI SYLLABLE YIT" #xA471) - ("YI SYLLABLE YIX" #xA472) - ("YI SYLLABLE YI" #xA473) - ("YI SYLLABLE YIP" #xA474) - ("YI SYLLABLE YIET" #xA475) - ("YI SYLLABLE YIEX" #xA476) - ("YI SYLLABLE YIE" #xA477) - ("YI SYLLABLE YIEP" #xA478) - ("YI SYLLABLE YUOT" #xA479) - ("YI SYLLABLE YUOX" #xA47A) - ("YI SYLLABLE YUO" #xA47B) - ("YI SYLLABLE YUOP" #xA47C) - ("YI SYLLABLE YOT" #xA47D) - ("YI SYLLABLE YOX" #xA47E) - ("YI SYLLABLE YO" #xA47F) - ("YI SYLLABLE YOP" #xA480) - ("YI SYLLABLE YUT" #xA481) - ("YI SYLLABLE YUX" #xA482) - ("YI SYLLABLE YU" #xA483) - ("YI SYLLABLE YUP" #xA484) - ("YI SYLLABLE YURX" #xA485) - ("YI SYLLABLE YUR" #xA486) - ("YI SYLLABLE YYT" #xA487) - ("YI SYLLABLE YYX" #xA488) - ("YI SYLLABLE YY" #xA489) - ("YI SYLLABLE YYP" #xA48A) - ("YI SYLLABLE YYRX" #xA48B) - ("YI SYLLABLE YYR" #xA48C) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0A490-0A4CF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0A490-0A4CF.el deleted file mode 100644 index 16c8656b48..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0A490-0A4CF.el +++ /dev/null @@ -1,57 +0,0 @@ -(nxml-define-char-name-set 'yi-radicals - '(("YI RADICAL QOT" #xA490) - ("YI RADICAL LI" #xA491) - ("YI RADICAL KIT" #xA492) - ("YI RADICAL NYIP" #xA493) - ("YI RADICAL CYP" #xA494) - ("YI RADICAL SSI" #xA495) - ("YI RADICAL GGOP" #xA496) - ("YI RADICAL GEP" #xA497) - ("YI RADICAL MI" #xA498) - ("YI RADICAL HXIT" #xA499) - ("YI RADICAL LYR" #xA49A) - ("YI RADICAL BBUT" #xA49B) - ("YI RADICAL MOP" #xA49C) - ("YI RADICAL YO" #xA49D) - ("YI RADICAL PUT" #xA49E) - ("YI RADICAL HXUO" #xA49F) - ("YI RADICAL TAT" #xA4A0) - ("YI RADICAL GA" #xA4A1) - ("YI RADICAL ZUP" #xA4A2) - ("YI RADICAL CYT" #xA4A3) - ("YI RADICAL DDUR" #xA4A4) - ("YI RADICAL BUR" #xA4A5) - ("YI RADICAL GGUO" #xA4A6) - ("YI RADICAL NYOP" #xA4A7) - ("YI RADICAL TU" #xA4A8) - ("YI RADICAL OP" #xA4A9) - ("YI RADICAL JJUT" #xA4AA) - ("YI RADICAL ZOT" #xA4AB) - ("YI RADICAL PYT" #xA4AC) - ("YI RADICAL HMO" #xA4AD) - ("YI RADICAL YIT" #xA4AE) - ("YI RADICAL VUR" #xA4AF) - ("YI RADICAL SHY" #xA4B0) - ("YI RADICAL VEP" #xA4B1) - ("YI RADICAL ZA" #xA4B2) - ("YI RADICAL JO" #xA4B3) - ("YI RADICAL NZUP" #xA4B4) - ("YI RADICAL JJY" #xA4B5) - ("YI RADICAL GOT" #xA4B6) - ("YI RADICAL JJIE" #xA4B7) - ("YI RADICAL WO" #xA4B8) - ("YI RADICAL DU" #xA4B9) - ("YI RADICAL SHUR" #xA4BA) - ("YI RADICAL LIE" #xA4BB) - ("YI RADICAL CY" #xA4BC) - ("YI RADICAL CUOP" #xA4BD) - ("YI RADICAL CIP" #xA4BE) - ("YI RADICAL HXOP" #xA4BF) - ("YI RADICAL SHAT" #xA4C0) - ("YI RADICAL ZUR" #xA4C1) - ("YI RADICAL SHOP" #xA4C2) - ("YI RADICAL CHE" #xA4C3) - ("YI RADICAL ZZIET" #xA4C4) - ("YI RADICAL NBIE" #xA4C5) - ("YI RADICAL KE" #xA4C6) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FB00-0FB4F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FB00-0FB4F.el deleted file mode 100644 index 36818c1e13..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FB00-0FB4F.el +++ /dev/null @@ -1,60 +0,0 @@ -(nxml-define-char-name-set 'alphabetic-presentation-forms - '(("LATIN SMALL LIGATURE FF" #xFB00) - ("LATIN SMALL LIGATURE FI" #xFB01) - ("LATIN SMALL LIGATURE FL" #xFB02) - ("LATIN SMALL LIGATURE FFI" #xFB03) - ("LATIN SMALL LIGATURE FFL" #xFB04) - ("LATIN SMALL LIGATURE LONG S T" #xFB05) - ("LATIN SMALL LIGATURE ST" #xFB06) - ("ARMENIAN SMALL LIGATURE MEN NOW" #xFB13) - ("ARMENIAN SMALL LIGATURE MEN ECH" #xFB14) - ("ARMENIAN SMALL LIGATURE MEN INI" #xFB15) - ("ARMENIAN SMALL LIGATURE VEW NOW" #xFB16) - ("ARMENIAN SMALL LIGATURE MEN XEH" #xFB17) - ("HEBREW LETTER YOD WITH HIRIQ" #xFB1D) - ("HEBREW POINT JUDEO-SPANISH VARIKA" #xFB1E) - ("HEBREW LIGATURE YIDDISH YOD YOD PATAH" #xFB1F) - ("HEBREW LETTER ALTERNATIVE AYIN" #xFB20) - ("HEBREW LETTER WIDE ALEF" #xFB21) - ("HEBREW LETTER WIDE DALET" #xFB22) - ("HEBREW LETTER WIDE HE" #xFB23) - ("HEBREW LETTER WIDE KAF" #xFB24) - ("HEBREW LETTER WIDE LAMED" #xFB25) - ("HEBREW LETTER WIDE FINAL MEM" #xFB26) - ("HEBREW LETTER WIDE RESH" #xFB27) - ("HEBREW LETTER WIDE TAV" #xFB28) - ("HEBREW LETTER ALTERNATIVE PLUS SIGN" #xFB29) - ("HEBREW LETTER SHIN WITH SHIN DOT" #xFB2A) - ("HEBREW LETTER SHIN WITH SIN DOT" #xFB2B) - ("HEBREW LETTER SHIN WITH DAGESH AND SHIN DOT" #xFB2C) - ("HEBREW LETTER SHIN WITH DAGESH AND SIN DOT" #xFB2D) - ("HEBREW LETTER ALEF WITH PATAH" #xFB2E) - ("HEBREW LETTER ALEF WITH QAMATS" #xFB2F) - ("HEBREW LETTER ALEF WITH MAPIQ" #xFB30) - ("HEBREW LETTER BET WITH DAGESH" #xFB31) - ("HEBREW LETTER GIMEL WITH DAGESH" #xFB32) - ("HEBREW LETTER DALET WITH DAGESH" #xFB33) - ("HEBREW LETTER HE WITH MAPIQ" #xFB34) - ("HEBREW LETTER VAV WITH DAGESH" #xFB35) - ("HEBREW LETTER ZAYIN WITH DAGESH" #xFB36) - ("HEBREW LETTER TET WITH DAGESH" #xFB38) - ("HEBREW LETTER YOD WITH DAGESH" #xFB39) - ("HEBREW LETTER FINAL KAF WITH DAGESH" #xFB3A) - ("HEBREW LETTER KAF WITH DAGESH" #xFB3B) - ("HEBREW LETTER LAMED WITH DAGESH" #xFB3C) - ("HEBREW LETTER MEM WITH DAGESH" #xFB3E) - ("HEBREW LETTER NUN WITH DAGESH" #xFB40) - ("HEBREW LETTER SAMEKH WITH DAGESH" #xFB41) - ("HEBREW LETTER FINAL PE WITH DAGESH" #xFB43) - ("HEBREW LETTER PE WITH DAGESH" #xFB44) - ("HEBREW LETTER TSADI WITH DAGESH" #xFB46) - ("HEBREW LETTER QOF WITH DAGESH" #xFB47) - ("HEBREW LETTER RESH WITH DAGESH" #xFB48) - ("HEBREW LETTER SHIN WITH DAGESH" #xFB49) - ("HEBREW LETTER TAV WITH DAGESH" #xFB4A) - ("HEBREW LETTER VAV WITH HOLAM" #xFB4B) - ("HEBREW LETTER BET WITH RAFE" #xFB4C) - ("HEBREW LETTER KAF WITH RAFE" #xFB4D) - ("HEBREW LETTER PE WITH RAFE" #xFB4E) - ("HEBREW LIGATURE ALEF LAMED" #xFB4F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FB50-0FDFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FB50-0FDFF.el deleted file mode 100644 index a39ae4700b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FB50-0FDFF.el +++ /dev/null @@ -1,596 +0,0 @@ -(nxml-define-char-name-set 'arabic-presentation-forms-a - '(("ARABIC LETTER ALEF WASLA ISOLATED FORM" #xFB50) - ("ARABIC LETTER ALEF WASLA FINAL FORM" #xFB51) - ("ARABIC LETTER BEEH ISOLATED FORM" #xFB52) - ("ARABIC LETTER BEEH FINAL FORM" #xFB53) - ("ARABIC LETTER BEEH INITIAL FORM" #xFB54) - ("ARABIC LETTER BEEH MEDIAL FORM" #xFB55) - ("ARABIC LETTER PEH ISOLATED FORM" #xFB56) - ("ARABIC LETTER PEH FINAL FORM" #xFB57) - ("ARABIC LETTER PEH INITIAL FORM" #xFB58) - ("ARABIC LETTER PEH MEDIAL FORM" #xFB59) - ("ARABIC LETTER BEHEH ISOLATED FORM" #xFB5A) - ("ARABIC LETTER BEHEH FINAL FORM" #xFB5B) - ("ARABIC LETTER BEHEH INITIAL FORM" #xFB5C) - ("ARABIC LETTER BEHEH MEDIAL FORM" #xFB5D) - ("ARABIC LETTER TTEHEH ISOLATED FORM" #xFB5E) - ("ARABIC LETTER TTEHEH FINAL FORM" #xFB5F) - ("ARABIC LETTER TTEHEH INITIAL FORM" #xFB60) - ("ARABIC LETTER TTEHEH MEDIAL FORM" #xFB61) - ("ARABIC LETTER TEHEH ISOLATED FORM" #xFB62) - ("ARABIC LETTER TEHEH FINAL FORM" #xFB63) - ("ARABIC LETTER TEHEH INITIAL FORM" #xFB64) - ("ARABIC LETTER TEHEH MEDIAL FORM" #xFB65) - ("ARABIC LETTER TTEH ISOLATED FORM" #xFB66) - ("ARABIC LETTER TTEH FINAL FORM" #xFB67) - ("ARABIC LETTER TTEH INITIAL FORM" #xFB68) - ("ARABIC LETTER TTEH MEDIAL FORM" #xFB69) - ("ARABIC LETTER VEH ISOLATED FORM" #xFB6A) - ("ARABIC LETTER VEH FINAL FORM" #xFB6B) - ("ARABIC LETTER VEH INITIAL FORM" #xFB6C) - ("ARABIC LETTER VEH MEDIAL FORM" #xFB6D) - ("ARABIC LETTER PEHEH ISOLATED FORM" #xFB6E) - ("ARABIC LETTER PEHEH FINAL FORM" #xFB6F) - ("ARABIC LETTER PEHEH INITIAL FORM" #xFB70) - ("ARABIC LETTER PEHEH MEDIAL FORM" #xFB71) - ("ARABIC LETTER DYEH ISOLATED FORM" #xFB72) - ("ARABIC LETTER DYEH FINAL FORM" #xFB73) - ("ARABIC LETTER DYEH INITIAL FORM" #xFB74) - ("ARABIC LETTER DYEH MEDIAL FORM" #xFB75) - ("ARABIC LETTER NYEH ISOLATED FORM" #xFB76) - ("ARABIC LETTER NYEH FINAL FORM" #xFB77) - ("ARABIC LETTER NYEH INITIAL FORM" #xFB78) - ("ARABIC LETTER NYEH MEDIAL FORM" #xFB79) - ("ARABIC LETTER TCHEH ISOLATED FORM" #xFB7A) - ("ARABIC LETTER TCHEH FINAL FORM" #xFB7B) - ("ARABIC LETTER TCHEH INITIAL FORM" #xFB7C) - ("ARABIC LETTER TCHEH MEDIAL FORM" #xFB7D) - ("ARABIC LETTER TCHEHEH ISOLATED FORM" #xFB7E) - ("ARABIC LETTER TCHEHEH FINAL FORM" #xFB7F) - ("ARABIC LETTER TCHEHEH INITIAL FORM" #xFB80) - ("ARABIC LETTER TCHEHEH MEDIAL FORM" #xFB81) - ("ARABIC LETTER DDAHAL ISOLATED FORM" #xFB82) - ("ARABIC LETTER DDAHAL FINAL FORM" #xFB83) - ("ARABIC LETTER DAHAL ISOLATED FORM" #xFB84) - ("ARABIC LETTER DAHAL FINAL FORM" #xFB85) - ("ARABIC LETTER DUL ISOLATED FORM" #xFB86) - ("ARABIC LETTER DUL FINAL FORM" #xFB87) - ("ARABIC LETTER DDAL ISOLATED FORM" #xFB88) - ("ARABIC LETTER DDAL FINAL FORM" #xFB89) - ("ARABIC LETTER JEH ISOLATED FORM" #xFB8A) - ("ARABIC LETTER JEH FINAL FORM" #xFB8B) - ("ARABIC LETTER RREH ISOLATED FORM" #xFB8C) - ("ARABIC LETTER RREH FINAL FORM" #xFB8D) - ("ARABIC LETTER KEHEH ISOLATED FORM" #xFB8E) - ("ARABIC LETTER KEHEH FINAL FORM" #xFB8F) - ("ARABIC LETTER KEHEH INITIAL FORM" #xFB90) - ("ARABIC LETTER KEHEH MEDIAL FORM" #xFB91) - ("ARABIC LETTER GAF ISOLATED FORM" #xFB92) - ("ARABIC LETTER GAF FINAL FORM" #xFB93) - ("ARABIC LETTER GAF INITIAL FORM" #xFB94) - ("ARABIC LETTER GAF MEDIAL FORM" #xFB95) - ("ARABIC LETTER GUEH ISOLATED FORM" #xFB96) - ("ARABIC LETTER GUEH FINAL FORM" #xFB97) - ("ARABIC LETTER GUEH INITIAL FORM" #xFB98) - ("ARABIC LETTER GUEH MEDIAL FORM" #xFB99) - ("ARABIC LETTER NGOEH ISOLATED FORM" #xFB9A) - ("ARABIC LETTER NGOEH FINAL FORM" #xFB9B) - ("ARABIC LETTER NGOEH INITIAL FORM" #xFB9C) - ("ARABIC LETTER NGOEH MEDIAL FORM" #xFB9D) - ("ARABIC LETTER NOON GHUNNA ISOLATED FORM" #xFB9E) - ("ARABIC LETTER NOON GHUNNA FINAL FORM" #xFB9F) - ("ARABIC LETTER RNOON ISOLATED FORM" #xFBA0) - ("ARABIC LETTER RNOON FINAL FORM" #xFBA1) - ("ARABIC LETTER RNOON INITIAL FORM" #xFBA2) - ("ARABIC LETTER RNOON MEDIAL FORM" #xFBA3) - ("ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM" #xFBA4) - ("ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM" #xFBA5) - ("ARABIC LETTER HEH GOAL ISOLATED FORM" #xFBA6) - ("ARABIC LETTER HEH GOAL FINAL FORM" #xFBA7) - ("ARABIC LETTER HEH GOAL INITIAL FORM" #xFBA8) - ("ARABIC LETTER HEH GOAL MEDIAL FORM" #xFBA9) - ("ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM" #xFBAA) - ("ARABIC LETTER HEH DOACHASHMEE FINAL FORM" #xFBAB) - ("ARABIC LETTER HEH DOACHASHMEE INITIAL FORM" #xFBAC) - ("ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM" #xFBAD) - ("ARABIC LETTER YEH BARREE ISOLATED FORM" #xFBAE) - ("ARABIC LETTER YEH BARREE FINAL FORM" #xFBAF) - ("ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM" #xFBB0) - ("ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM" #xFBB1) - ("ARABIC LETTER NG ISOLATED FORM" #xFBD3) - ("ARABIC LETTER NG FINAL FORM" #xFBD4) - ("ARABIC LETTER NG INITIAL FORM" #xFBD5) - ("ARABIC LETTER NG MEDIAL FORM" #xFBD6) - ("ARABIC LETTER U ISOLATED FORM" #xFBD7) - ("ARABIC LETTER U FINAL FORM" #xFBD8) - ("ARABIC LETTER OE ISOLATED FORM" #xFBD9) - ("ARABIC LETTER OE FINAL FORM" #xFBDA) - ("ARABIC LETTER YU ISOLATED FORM" #xFBDB) - ("ARABIC LETTER YU FINAL FORM" #xFBDC) - ("ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM" #xFBDD) - ("ARABIC LETTER VE ISOLATED FORM" #xFBDE) - ("ARABIC LETTER VE FINAL FORM" #xFBDF) - ("ARABIC LETTER KIRGHIZ OE ISOLATED FORM" #xFBE0) - ("ARABIC LETTER KIRGHIZ OE FINAL FORM" #xFBE1) - ("ARABIC LETTER KIRGHIZ YU ISOLATED FORM" #xFBE2) - ("ARABIC LETTER KIRGHIZ YU FINAL FORM" #xFBE3) - ("ARABIC LETTER E ISOLATED FORM" #xFBE4) - ("ARABIC LETTER E FINAL FORM" #xFBE5) - ("ARABIC LETTER E INITIAL FORM" #xFBE6) - ("ARABIC LETTER E MEDIAL FORM" #xFBE7) - ("ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM" #xFBE8) - ("ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM" #xFBE9) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF ISOLATED FORM" #xFBEA) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF FINAL FORM" #xFBEB) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE ISOLATED FORM" #xFBEC) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH AE FINAL FORM" #xFBED) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW ISOLATED FORM" #xFBEE) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH WAW FINAL FORM" #xFBEF) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U ISOLATED FORM" #xFBF0) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH U FINAL FORM" #xFBF1) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE ISOLATED FORM" #xFBF2) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH OE FINAL FORM" #xFBF3) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU ISOLATED FORM" #xFBF4) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YU FINAL FORM" #xFBF5) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E ISOLATED FORM" #xFBF6) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E FINAL FORM" #xFBF7) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH E INITIAL FORM" #xFBF8) - ("ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM" #xFBF9) - ("ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM" #xFBFA) - ("ARABIC LIGATURE UIGHUR KIRGHIZ YEH WITH HAMZA ABOVE WITH ALEF MAKSURA INITIAL FORM" #xFBFB) - ("ARABIC LETTER FARSI YEH ISOLATED FORM" #xFBFC) - ("ARABIC LETTER FARSI YEH FINAL FORM" #xFBFD) - ("ARABIC LETTER FARSI YEH INITIAL FORM" #xFBFE) - ("ARABIC LETTER FARSI YEH MEDIAL FORM" #xFBFF) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM ISOLATED FORM" #xFC00) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH ISOLATED FORM" #xFC01) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM ISOLATED FORM" #xFC02) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA ISOLATED FORM" #xFC03) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH ISOLATED FORM" #xFC04) - ("ARABIC LIGATURE BEH WITH JEEM ISOLATED FORM" #xFC05) - ("ARABIC LIGATURE BEH WITH HAH ISOLATED FORM" #xFC06) - ("ARABIC LIGATURE BEH WITH KHAH ISOLATED FORM" #xFC07) - ("ARABIC LIGATURE BEH WITH MEEM ISOLATED FORM" #xFC08) - ("ARABIC LIGATURE BEH WITH ALEF MAKSURA ISOLATED FORM" #xFC09) - ("ARABIC LIGATURE BEH WITH YEH ISOLATED FORM" #xFC0A) - ("ARABIC LIGATURE TEH WITH JEEM ISOLATED FORM" #xFC0B) - ("ARABIC LIGATURE TEH WITH HAH ISOLATED FORM" #xFC0C) - ("ARABIC LIGATURE TEH WITH KHAH ISOLATED FORM" #xFC0D) - ("ARABIC LIGATURE TEH WITH MEEM ISOLATED FORM" #xFC0E) - ("ARABIC LIGATURE TEH WITH ALEF MAKSURA ISOLATED FORM" #xFC0F) - ("ARABIC LIGATURE TEH WITH YEH ISOLATED FORM" #xFC10) - ("ARABIC LIGATURE THEH WITH JEEM ISOLATED FORM" #xFC11) - ("ARABIC LIGATURE THEH WITH MEEM ISOLATED FORM" #xFC12) - ("ARABIC LIGATURE THEH WITH ALEF MAKSURA ISOLATED FORM" #xFC13) - ("ARABIC LIGATURE THEH WITH YEH ISOLATED FORM" #xFC14) - ("ARABIC LIGATURE JEEM WITH HAH ISOLATED FORM" #xFC15) - ("ARABIC LIGATURE JEEM WITH MEEM ISOLATED FORM" #xFC16) - ("ARABIC LIGATURE HAH WITH JEEM ISOLATED FORM" #xFC17) - ("ARABIC LIGATURE HAH WITH MEEM ISOLATED FORM" #xFC18) - ("ARABIC LIGATURE KHAH WITH JEEM ISOLATED FORM" #xFC19) - ("ARABIC LIGATURE KHAH WITH HAH ISOLATED FORM" #xFC1A) - ("ARABIC LIGATURE KHAH WITH MEEM ISOLATED FORM" #xFC1B) - ("ARABIC LIGATURE SEEN WITH JEEM ISOLATED FORM" #xFC1C) - ("ARABIC LIGATURE SEEN WITH HAH ISOLATED FORM" #xFC1D) - ("ARABIC LIGATURE SEEN WITH KHAH ISOLATED FORM" #xFC1E) - ("ARABIC LIGATURE SEEN WITH MEEM ISOLATED FORM" #xFC1F) - ("ARABIC LIGATURE SAD WITH HAH ISOLATED FORM" #xFC20) - ("ARABIC LIGATURE SAD WITH MEEM ISOLATED FORM" #xFC21) - ("ARABIC LIGATURE DAD WITH JEEM ISOLATED FORM" #xFC22) - ("ARABIC LIGATURE DAD WITH HAH ISOLATED FORM" #xFC23) - ("ARABIC LIGATURE DAD WITH KHAH ISOLATED FORM" #xFC24) - ("ARABIC LIGATURE DAD WITH MEEM ISOLATED FORM" #xFC25) - ("ARABIC LIGATURE TAH WITH HAH ISOLATED FORM" #xFC26) - ("ARABIC LIGATURE TAH WITH MEEM ISOLATED FORM" #xFC27) - ("ARABIC LIGATURE ZAH WITH MEEM ISOLATED FORM" #xFC28) - ("ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM" #xFC29) - ("ARABIC LIGATURE AIN WITH MEEM ISOLATED FORM" #xFC2A) - ("ARABIC LIGATURE GHAIN WITH JEEM ISOLATED FORM" #xFC2B) - ("ARABIC LIGATURE GHAIN WITH MEEM ISOLATED FORM" #xFC2C) - ("ARABIC LIGATURE FEH WITH JEEM ISOLATED FORM" #xFC2D) - ("ARABIC LIGATURE FEH WITH HAH ISOLATED FORM" #xFC2E) - ("ARABIC LIGATURE FEH WITH KHAH ISOLATED FORM" #xFC2F) - ("ARABIC LIGATURE FEH WITH MEEM ISOLATED FORM" #xFC30) - ("ARABIC LIGATURE FEH WITH ALEF MAKSURA ISOLATED FORM" #xFC31) - ("ARABIC LIGATURE FEH WITH YEH ISOLATED FORM" #xFC32) - ("ARABIC LIGATURE QAF WITH HAH ISOLATED FORM" #xFC33) - ("ARABIC LIGATURE QAF WITH MEEM ISOLATED FORM" #xFC34) - ("ARABIC LIGATURE QAF WITH ALEF MAKSURA ISOLATED FORM" #xFC35) - ("ARABIC LIGATURE QAF WITH YEH ISOLATED FORM" #xFC36) - ("ARABIC LIGATURE KAF WITH ALEF ISOLATED FORM" #xFC37) - ("ARABIC LIGATURE KAF WITH JEEM ISOLATED FORM" #xFC38) - ("ARABIC LIGATURE KAF WITH HAH ISOLATED FORM" #xFC39) - ("ARABIC LIGATURE KAF WITH KHAH ISOLATED FORM" #xFC3A) - ("ARABIC LIGATURE KAF WITH LAM ISOLATED FORM" #xFC3B) - ("ARABIC LIGATURE KAF WITH MEEM ISOLATED FORM" #xFC3C) - ("ARABIC LIGATURE KAF WITH ALEF MAKSURA ISOLATED FORM" #xFC3D) - ("ARABIC LIGATURE KAF WITH YEH ISOLATED FORM" #xFC3E) - ("ARABIC LIGATURE LAM WITH JEEM ISOLATED FORM" #xFC3F) - ("ARABIC LIGATURE LAM WITH HAH ISOLATED FORM" #xFC40) - ("ARABIC LIGATURE LAM WITH KHAH ISOLATED FORM" #xFC41) - ("ARABIC LIGATURE LAM WITH MEEM ISOLATED FORM" #xFC42) - ("ARABIC LIGATURE LAM WITH ALEF MAKSURA ISOLATED FORM" #xFC43) - ("ARABIC LIGATURE LAM WITH YEH ISOLATED FORM" #xFC44) - ("ARABIC LIGATURE MEEM WITH JEEM ISOLATED FORM" #xFC45) - ("ARABIC LIGATURE MEEM WITH HAH ISOLATED FORM" #xFC46) - ("ARABIC LIGATURE MEEM WITH KHAH ISOLATED FORM" #xFC47) - ("ARABIC LIGATURE MEEM WITH MEEM ISOLATED FORM" #xFC48) - ("ARABIC LIGATURE MEEM WITH ALEF MAKSURA ISOLATED FORM" #xFC49) - ("ARABIC LIGATURE MEEM WITH YEH ISOLATED FORM" #xFC4A) - ("ARABIC LIGATURE NOON WITH JEEM ISOLATED FORM" #xFC4B) - ("ARABIC LIGATURE NOON WITH HAH ISOLATED FORM" #xFC4C) - ("ARABIC LIGATURE NOON WITH KHAH ISOLATED FORM" #xFC4D) - ("ARABIC LIGATURE NOON WITH MEEM ISOLATED FORM" #xFC4E) - ("ARABIC LIGATURE NOON WITH ALEF MAKSURA ISOLATED FORM" #xFC4F) - ("ARABIC LIGATURE NOON WITH YEH ISOLATED FORM" #xFC50) - ("ARABIC LIGATURE HEH WITH JEEM ISOLATED FORM" #xFC51) - ("ARABIC LIGATURE HEH WITH MEEM ISOLATED FORM" #xFC52) - ("ARABIC LIGATURE HEH WITH ALEF MAKSURA ISOLATED FORM" #xFC53) - ("ARABIC LIGATURE HEH WITH YEH ISOLATED FORM" #xFC54) - ("ARABIC LIGATURE YEH WITH JEEM ISOLATED FORM" #xFC55) - ("ARABIC LIGATURE YEH WITH HAH ISOLATED FORM" #xFC56) - ("ARABIC LIGATURE YEH WITH KHAH ISOLATED FORM" #xFC57) - ("ARABIC LIGATURE YEH WITH MEEM ISOLATED FORM" #xFC58) - ("ARABIC LIGATURE YEH WITH ALEF MAKSURA ISOLATED FORM" #xFC59) - ("ARABIC LIGATURE YEH WITH YEH ISOLATED FORM" #xFC5A) - ("ARABIC LIGATURE THAL WITH SUPERSCRIPT ALEF ISOLATED FORM" #xFC5B) - ("ARABIC LIGATURE REH WITH SUPERSCRIPT ALEF ISOLATED FORM" #xFC5C) - ("ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF ISOLATED FORM" #xFC5D) - ("ARABIC LIGATURE SHADDA WITH DAMMATAN ISOLATED FORM" #xFC5E) - ("ARABIC LIGATURE SHADDA WITH KASRATAN ISOLATED FORM" #xFC5F) - ("ARABIC LIGATURE SHADDA WITH FATHA ISOLATED FORM" #xFC60) - ("ARABIC LIGATURE SHADDA WITH DAMMA ISOLATED FORM" #xFC61) - ("ARABIC LIGATURE SHADDA WITH KASRA ISOLATED FORM" #xFC62) - ("ARABIC LIGATURE SHADDA WITH SUPERSCRIPT ALEF ISOLATED FORM" #xFC63) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH REH FINAL FORM" #xFC64) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ZAIN FINAL FORM" #xFC65) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM FINAL FORM" #xFC66) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH NOON FINAL FORM" #xFC67) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH ALEF MAKSURA FINAL FORM" #xFC68) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH YEH FINAL FORM" #xFC69) - ("ARABIC LIGATURE BEH WITH REH FINAL FORM" #xFC6A) - ("ARABIC LIGATURE BEH WITH ZAIN FINAL FORM" #xFC6B) - ("ARABIC LIGATURE BEH WITH MEEM FINAL FORM" #xFC6C) - ("ARABIC LIGATURE BEH WITH NOON FINAL FORM" #xFC6D) - ("ARABIC LIGATURE BEH WITH ALEF MAKSURA FINAL FORM" #xFC6E) - ("ARABIC LIGATURE BEH WITH YEH FINAL FORM" #xFC6F) - ("ARABIC LIGATURE TEH WITH REH FINAL FORM" #xFC70) - ("ARABIC LIGATURE TEH WITH ZAIN FINAL FORM" #xFC71) - ("ARABIC LIGATURE TEH WITH MEEM FINAL FORM" #xFC72) - ("ARABIC LIGATURE TEH WITH NOON FINAL FORM" #xFC73) - ("ARABIC LIGATURE TEH WITH ALEF MAKSURA FINAL FORM" #xFC74) - ("ARABIC LIGATURE TEH WITH YEH FINAL FORM" #xFC75) - ("ARABIC LIGATURE THEH WITH REH FINAL FORM" #xFC76) - ("ARABIC LIGATURE THEH WITH ZAIN FINAL FORM" #xFC77) - ("ARABIC LIGATURE THEH WITH MEEM FINAL FORM" #xFC78) - ("ARABIC LIGATURE THEH WITH NOON FINAL FORM" #xFC79) - ("ARABIC LIGATURE THEH WITH ALEF MAKSURA FINAL FORM" #xFC7A) - ("ARABIC LIGATURE THEH WITH YEH FINAL FORM" #xFC7B) - ("ARABIC LIGATURE FEH WITH ALEF MAKSURA FINAL FORM" #xFC7C) - ("ARABIC LIGATURE FEH WITH YEH FINAL FORM" #xFC7D) - ("ARABIC LIGATURE QAF WITH ALEF MAKSURA FINAL FORM" #xFC7E) - ("ARABIC LIGATURE QAF WITH YEH FINAL FORM" #xFC7F) - ("ARABIC LIGATURE KAF WITH ALEF FINAL FORM" #xFC80) - ("ARABIC LIGATURE KAF WITH LAM FINAL FORM" #xFC81) - ("ARABIC LIGATURE KAF WITH MEEM FINAL FORM" #xFC82) - ("ARABIC LIGATURE KAF WITH ALEF MAKSURA FINAL FORM" #xFC83) - ("ARABIC LIGATURE KAF WITH YEH FINAL FORM" #xFC84) - ("ARABIC LIGATURE LAM WITH MEEM FINAL FORM" #xFC85) - ("ARABIC LIGATURE LAM WITH ALEF MAKSURA FINAL FORM" #xFC86) - ("ARABIC LIGATURE LAM WITH YEH FINAL FORM" #xFC87) - ("ARABIC LIGATURE MEEM WITH ALEF FINAL FORM" #xFC88) - ("ARABIC LIGATURE MEEM WITH MEEM FINAL FORM" #xFC89) - ("ARABIC LIGATURE NOON WITH REH FINAL FORM" #xFC8A) - ("ARABIC LIGATURE NOON WITH ZAIN FINAL FORM" #xFC8B) - ("ARABIC LIGATURE NOON WITH MEEM FINAL FORM" #xFC8C) - ("ARABIC LIGATURE NOON WITH NOON FINAL FORM" #xFC8D) - ("ARABIC LIGATURE NOON WITH ALEF MAKSURA FINAL FORM" #xFC8E) - ("ARABIC LIGATURE NOON WITH YEH FINAL FORM" #xFC8F) - ("ARABIC LIGATURE ALEF MAKSURA WITH SUPERSCRIPT ALEF FINAL FORM" #xFC90) - ("ARABIC LIGATURE YEH WITH REH FINAL FORM" #xFC91) - ("ARABIC LIGATURE YEH WITH ZAIN FINAL FORM" #xFC92) - ("ARABIC LIGATURE YEH WITH MEEM FINAL FORM" #xFC93) - ("ARABIC LIGATURE YEH WITH NOON FINAL FORM" #xFC94) - ("ARABIC LIGATURE YEH WITH ALEF MAKSURA FINAL FORM" #xFC95) - ("ARABIC LIGATURE YEH WITH YEH FINAL FORM" #xFC96) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH JEEM INITIAL FORM" #xFC97) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HAH INITIAL FORM" #xFC98) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH KHAH INITIAL FORM" #xFC99) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM INITIAL FORM" #xFC9A) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH INITIAL FORM" #xFC9B) - ("ARABIC LIGATURE BEH WITH JEEM INITIAL FORM" #xFC9C) - ("ARABIC LIGATURE BEH WITH HAH INITIAL FORM" #xFC9D) - ("ARABIC LIGATURE BEH WITH KHAH INITIAL FORM" #xFC9E) - ("ARABIC LIGATURE BEH WITH MEEM INITIAL FORM" #xFC9F) - ("ARABIC LIGATURE BEH WITH HEH INITIAL FORM" #xFCA0) - ("ARABIC LIGATURE TEH WITH JEEM INITIAL FORM" #xFCA1) - ("ARABIC LIGATURE TEH WITH HAH INITIAL FORM" #xFCA2) - ("ARABIC LIGATURE TEH WITH KHAH INITIAL FORM" #xFCA3) - ("ARABIC LIGATURE TEH WITH MEEM INITIAL FORM" #xFCA4) - ("ARABIC LIGATURE TEH WITH HEH INITIAL FORM" #xFCA5) - ("ARABIC LIGATURE THEH WITH MEEM INITIAL FORM" #xFCA6) - ("ARABIC LIGATURE JEEM WITH HAH INITIAL FORM" #xFCA7) - ("ARABIC LIGATURE JEEM WITH MEEM INITIAL FORM" #xFCA8) - ("ARABIC LIGATURE HAH WITH JEEM INITIAL FORM" #xFCA9) - ("ARABIC LIGATURE HAH WITH MEEM INITIAL FORM" #xFCAA) - ("ARABIC LIGATURE KHAH WITH JEEM INITIAL FORM" #xFCAB) - ("ARABIC LIGATURE KHAH WITH MEEM INITIAL FORM" #xFCAC) - ("ARABIC LIGATURE SEEN WITH JEEM INITIAL FORM" #xFCAD) - ("ARABIC LIGATURE SEEN WITH HAH INITIAL FORM" #xFCAE) - ("ARABIC LIGATURE SEEN WITH KHAH INITIAL FORM" #xFCAF) - ("ARABIC LIGATURE SEEN WITH MEEM INITIAL FORM" #xFCB0) - ("ARABIC LIGATURE SAD WITH HAH INITIAL FORM" #xFCB1) - ("ARABIC LIGATURE SAD WITH KHAH INITIAL FORM" #xFCB2) - ("ARABIC LIGATURE SAD WITH MEEM INITIAL FORM" #xFCB3) - ("ARABIC LIGATURE DAD WITH JEEM INITIAL FORM" #xFCB4) - ("ARABIC LIGATURE DAD WITH HAH INITIAL FORM" #xFCB5) - ("ARABIC LIGATURE DAD WITH KHAH INITIAL FORM" #xFCB6) - ("ARABIC LIGATURE DAD WITH MEEM INITIAL FORM" #xFCB7) - ("ARABIC LIGATURE TAH WITH HAH INITIAL FORM" #xFCB8) - ("ARABIC LIGATURE ZAH WITH MEEM INITIAL FORM" #xFCB9) - ("ARABIC LIGATURE AIN WITH JEEM INITIAL FORM" #xFCBA) - ("ARABIC LIGATURE AIN WITH MEEM INITIAL FORM" #xFCBB) - ("ARABIC LIGATURE GHAIN WITH JEEM INITIAL FORM" #xFCBC) - ("ARABIC LIGATURE GHAIN WITH MEEM INITIAL FORM" #xFCBD) - ("ARABIC LIGATURE FEH WITH JEEM INITIAL FORM" #xFCBE) - ("ARABIC LIGATURE FEH WITH HAH INITIAL FORM" #xFCBF) - ("ARABIC LIGATURE FEH WITH KHAH INITIAL FORM" #xFCC0) - ("ARABIC LIGATURE FEH WITH MEEM INITIAL FORM" #xFCC1) - ("ARABIC LIGATURE QAF WITH HAH INITIAL FORM" #xFCC2) - ("ARABIC LIGATURE QAF WITH MEEM INITIAL FORM" #xFCC3) - ("ARABIC LIGATURE KAF WITH JEEM INITIAL FORM" #xFCC4) - ("ARABIC LIGATURE KAF WITH HAH INITIAL FORM" #xFCC5) - ("ARABIC LIGATURE KAF WITH KHAH INITIAL FORM" #xFCC6) - ("ARABIC LIGATURE KAF WITH LAM INITIAL FORM" #xFCC7) - ("ARABIC LIGATURE KAF WITH MEEM INITIAL FORM" #xFCC8) - ("ARABIC LIGATURE LAM WITH JEEM INITIAL FORM" #xFCC9) - ("ARABIC LIGATURE LAM WITH HAH INITIAL FORM" #xFCCA) - ("ARABIC LIGATURE LAM WITH KHAH INITIAL FORM" #xFCCB) - ("ARABIC LIGATURE LAM WITH MEEM INITIAL FORM" #xFCCC) - ("ARABIC LIGATURE LAM WITH HEH INITIAL FORM" #xFCCD) - ("ARABIC LIGATURE MEEM WITH JEEM INITIAL FORM" #xFCCE) - ("ARABIC LIGATURE MEEM WITH HAH INITIAL FORM" #xFCCF) - ("ARABIC LIGATURE MEEM WITH KHAH INITIAL FORM" #xFCD0) - ("ARABIC LIGATURE MEEM WITH MEEM INITIAL FORM" #xFCD1) - ("ARABIC LIGATURE NOON WITH JEEM INITIAL FORM" #xFCD2) - ("ARABIC LIGATURE NOON WITH HAH INITIAL FORM" #xFCD3) - ("ARABIC LIGATURE NOON WITH KHAH INITIAL FORM" #xFCD4) - ("ARABIC LIGATURE NOON WITH MEEM INITIAL FORM" #xFCD5) - ("ARABIC LIGATURE NOON WITH HEH INITIAL FORM" #xFCD6) - ("ARABIC LIGATURE HEH WITH JEEM INITIAL FORM" #xFCD7) - ("ARABIC LIGATURE HEH WITH MEEM INITIAL FORM" #xFCD8) - ("ARABIC LIGATURE HEH WITH SUPERSCRIPT ALEF INITIAL FORM" #xFCD9) - ("ARABIC LIGATURE YEH WITH JEEM INITIAL FORM" #xFCDA) - ("ARABIC LIGATURE YEH WITH HAH INITIAL FORM" #xFCDB) - ("ARABIC LIGATURE YEH WITH KHAH INITIAL FORM" #xFCDC) - ("ARABIC LIGATURE YEH WITH MEEM INITIAL FORM" #xFCDD) - ("ARABIC LIGATURE YEH WITH HEH INITIAL FORM" #xFCDE) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH MEEM MEDIAL FORM" #xFCDF) - ("ARABIC LIGATURE YEH WITH HAMZA ABOVE WITH HEH MEDIAL FORM" #xFCE0) - ("ARABIC LIGATURE BEH WITH MEEM MEDIAL FORM" #xFCE1) - ("ARABIC LIGATURE BEH WITH HEH MEDIAL FORM" #xFCE2) - ("ARABIC LIGATURE TEH WITH MEEM MEDIAL FORM" #xFCE3) - ("ARABIC LIGATURE TEH WITH HEH MEDIAL FORM" #xFCE4) - ("ARABIC LIGATURE THEH WITH MEEM MEDIAL FORM" #xFCE5) - ("ARABIC LIGATURE THEH WITH HEH MEDIAL FORM" #xFCE6) - ("ARABIC LIGATURE SEEN WITH MEEM MEDIAL FORM" #xFCE7) - ("ARABIC LIGATURE SEEN WITH HEH MEDIAL FORM" #xFCE8) - ("ARABIC LIGATURE SHEEN WITH MEEM MEDIAL FORM" #xFCE9) - ("ARABIC LIGATURE SHEEN WITH HEH MEDIAL FORM" #xFCEA) - ("ARABIC LIGATURE KAF WITH LAM MEDIAL FORM" #xFCEB) - ("ARABIC LIGATURE KAF WITH MEEM MEDIAL FORM" #xFCEC) - ("ARABIC LIGATURE LAM WITH MEEM MEDIAL FORM" #xFCED) - ("ARABIC LIGATURE NOON WITH MEEM MEDIAL FORM" #xFCEE) - ("ARABIC LIGATURE NOON WITH HEH MEDIAL FORM" #xFCEF) - ("ARABIC LIGATURE YEH WITH MEEM MEDIAL FORM" #xFCF0) - ("ARABIC LIGATURE YEH WITH HEH MEDIAL FORM" #xFCF1) - ("ARABIC LIGATURE SHADDA WITH FATHA MEDIAL FORM" #xFCF2) - ("ARABIC LIGATURE SHADDA WITH DAMMA MEDIAL FORM" #xFCF3) - ("ARABIC LIGATURE SHADDA WITH KASRA MEDIAL FORM" #xFCF4) - ("ARABIC LIGATURE TAH WITH ALEF MAKSURA ISOLATED FORM" #xFCF5) - ("ARABIC LIGATURE TAH WITH YEH ISOLATED FORM" #xFCF6) - ("ARABIC LIGATURE AIN WITH ALEF MAKSURA ISOLATED FORM" #xFCF7) - ("ARABIC LIGATURE AIN WITH YEH ISOLATED FORM" #xFCF8) - ("ARABIC LIGATURE GHAIN WITH ALEF MAKSURA ISOLATED FORM" #xFCF9) - ("ARABIC LIGATURE GHAIN WITH YEH ISOLATED FORM" #xFCFA) - ("ARABIC LIGATURE SEEN WITH ALEF MAKSURA ISOLATED FORM" #xFCFB) - ("ARABIC LIGATURE SEEN WITH YEH ISOLATED FORM" #xFCFC) - ("ARABIC LIGATURE SHEEN WITH ALEF MAKSURA ISOLATED FORM" #xFCFD) - ("ARABIC LIGATURE SHEEN WITH YEH ISOLATED FORM" #xFCFE) - ("ARABIC LIGATURE HAH WITH ALEF MAKSURA ISOLATED FORM" #xFCFF) - ("ARABIC LIGATURE HAH WITH YEH ISOLATED FORM" #xFD00) - ("ARABIC LIGATURE JEEM WITH ALEF MAKSURA ISOLATED FORM" #xFD01) - ("ARABIC LIGATURE JEEM WITH YEH ISOLATED FORM" #xFD02) - ("ARABIC LIGATURE KHAH WITH ALEF MAKSURA ISOLATED FORM" #xFD03) - ("ARABIC LIGATURE KHAH WITH YEH ISOLATED FORM" #xFD04) - ("ARABIC LIGATURE SAD WITH ALEF MAKSURA ISOLATED FORM" #xFD05) - ("ARABIC LIGATURE SAD WITH YEH ISOLATED FORM" #xFD06) - ("ARABIC LIGATURE DAD WITH ALEF MAKSURA ISOLATED FORM" #xFD07) - ("ARABIC LIGATURE DAD WITH YEH ISOLATED FORM" #xFD08) - ("ARABIC LIGATURE SHEEN WITH JEEM ISOLATED FORM" #xFD09) - ("ARABIC LIGATURE SHEEN WITH HAH ISOLATED FORM" #xFD0A) - ("ARABIC LIGATURE SHEEN WITH KHAH ISOLATED FORM" #xFD0B) - ("ARABIC LIGATURE SHEEN WITH MEEM ISOLATED FORM" #xFD0C) - ("ARABIC LIGATURE SHEEN WITH REH ISOLATED FORM" #xFD0D) - ("ARABIC LIGATURE SEEN WITH REH ISOLATED FORM" #xFD0E) - ("ARABIC LIGATURE SAD WITH REH ISOLATED FORM" #xFD0F) - ("ARABIC LIGATURE DAD WITH REH ISOLATED FORM" #xFD10) - ("ARABIC LIGATURE TAH WITH ALEF MAKSURA FINAL FORM" #xFD11) - ("ARABIC LIGATURE TAH WITH YEH FINAL FORM" #xFD12) - ("ARABIC LIGATURE AIN WITH ALEF MAKSURA FINAL FORM" #xFD13) - ("ARABIC LIGATURE AIN WITH YEH FINAL FORM" #xFD14) - ("ARABIC LIGATURE GHAIN WITH ALEF MAKSURA FINAL FORM" #xFD15) - ("ARABIC LIGATURE GHAIN WITH YEH FINAL FORM" #xFD16) - ("ARABIC LIGATURE SEEN WITH ALEF MAKSURA FINAL FORM" #xFD17) - ("ARABIC LIGATURE SEEN WITH YEH FINAL FORM" #xFD18) - ("ARABIC LIGATURE SHEEN WITH ALEF MAKSURA FINAL FORM" #xFD19) - ("ARABIC LIGATURE SHEEN WITH YEH FINAL FORM" #xFD1A) - ("ARABIC LIGATURE HAH WITH ALEF MAKSURA FINAL FORM" #xFD1B) - ("ARABIC LIGATURE HAH WITH YEH FINAL FORM" #xFD1C) - ("ARABIC LIGATURE JEEM WITH ALEF MAKSURA FINAL FORM" #xFD1D) - ("ARABIC LIGATURE JEEM WITH YEH FINAL FORM" #xFD1E) - ("ARABIC LIGATURE KHAH WITH ALEF MAKSURA FINAL FORM" #xFD1F) - ("ARABIC LIGATURE KHAH WITH YEH FINAL FORM" #xFD20) - ("ARABIC LIGATURE SAD WITH ALEF MAKSURA FINAL FORM" #xFD21) - ("ARABIC LIGATURE SAD WITH YEH FINAL FORM" #xFD22) - ("ARABIC LIGATURE DAD WITH ALEF MAKSURA FINAL FORM" #xFD23) - ("ARABIC LIGATURE DAD WITH YEH FINAL FORM" #xFD24) - ("ARABIC LIGATURE SHEEN WITH JEEM FINAL FORM" #xFD25) - ("ARABIC LIGATURE SHEEN WITH HAH FINAL FORM" #xFD26) - ("ARABIC LIGATURE SHEEN WITH KHAH FINAL FORM" #xFD27) - ("ARABIC LIGATURE SHEEN WITH MEEM FINAL FORM" #xFD28) - ("ARABIC LIGATURE SHEEN WITH REH FINAL FORM" #xFD29) - ("ARABIC LIGATURE SEEN WITH REH FINAL FORM" #xFD2A) - ("ARABIC LIGATURE SAD WITH REH FINAL FORM" #xFD2B) - ("ARABIC LIGATURE DAD WITH REH FINAL FORM" #xFD2C) - ("ARABIC LIGATURE SHEEN WITH JEEM INITIAL FORM" #xFD2D) - ("ARABIC LIGATURE SHEEN WITH HAH INITIAL FORM" #xFD2E) - ("ARABIC LIGATURE SHEEN WITH KHAH INITIAL FORM" #xFD2F) - ("ARABIC LIGATURE SHEEN WITH MEEM INITIAL FORM" #xFD30) - ("ARABIC LIGATURE SEEN WITH HEH INITIAL FORM" #xFD31) - ("ARABIC LIGATURE SHEEN WITH HEH INITIAL FORM" #xFD32) - ("ARABIC LIGATURE TAH WITH MEEM INITIAL FORM" #xFD33) - ("ARABIC LIGATURE SEEN WITH JEEM MEDIAL FORM" #xFD34) - ("ARABIC LIGATURE SEEN WITH HAH MEDIAL FORM" #xFD35) - ("ARABIC LIGATURE SEEN WITH KHAH MEDIAL FORM" #xFD36) - ("ARABIC LIGATURE SHEEN WITH JEEM MEDIAL FORM" #xFD37) - ("ARABIC LIGATURE SHEEN WITH HAH MEDIAL FORM" #xFD38) - ("ARABIC LIGATURE SHEEN WITH KHAH MEDIAL FORM" #xFD39) - ("ARABIC LIGATURE TAH WITH MEEM MEDIAL FORM" #xFD3A) - ("ARABIC LIGATURE ZAH WITH MEEM MEDIAL FORM" #xFD3B) - ("ARABIC LIGATURE ALEF WITH FATHATAN FINAL FORM" #xFD3C) - ("ARABIC LIGATURE ALEF WITH FATHATAN ISOLATED FORM" #xFD3D) - ("ORNATE LEFT PARENTHESIS" #xFD3E) - ("ORNATE RIGHT PARENTHESIS" #xFD3F) - ("ARABIC LIGATURE TEH WITH JEEM WITH MEEM INITIAL FORM" #xFD50) - ("ARABIC LIGATURE TEH WITH HAH WITH JEEM FINAL FORM" #xFD51) - ("ARABIC LIGATURE TEH WITH HAH WITH JEEM INITIAL FORM" #xFD52) - ("ARABIC LIGATURE TEH WITH HAH WITH MEEM INITIAL FORM" #xFD53) - ("ARABIC LIGATURE TEH WITH KHAH WITH MEEM INITIAL FORM" #xFD54) - ("ARABIC LIGATURE TEH WITH MEEM WITH JEEM INITIAL FORM" #xFD55) - ("ARABIC LIGATURE TEH WITH MEEM WITH HAH INITIAL FORM" #xFD56) - ("ARABIC LIGATURE TEH WITH MEEM WITH KHAH INITIAL FORM" #xFD57) - ("ARABIC LIGATURE JEEM WITH MEEM WITH HAH FINAL FORM" #xFD58) - ("ARABIC LIGATURE JEEM WITH MEEM WITH HAH INITIAL FORM" #xFD59) - ("ARABIC LIGATURE HAH WITH MEEM WITH YEH FINAL FORM" #xFD5A) - ("ARABIC LIGATURE HAH WITH MEEM WITH ALEF MAKSURA FINAL FORM" #xFD5B) - ("ARABIC LIGATURE SEEN WITH HAH WITH JEEM INITIAL FORM" #xFD5C) - ("ARABIC LIGATURE SEEN WITH JEEM WITH HAH INITIAL FORM" #xFD5D) - ("ARABIC LIGATURE SEEN WITH JEEM WITH ALEF MAKSURA FINAL FORM" #xFD5E) - ("ARABIC LIGATURE SEEN WITH MEEM WITH HAH FINAL FORM" #xFD5F) - ("ARABIC LIGATURE SEEN WITH MEEM WITH HAH INITIAL FORM" #xFD60) - ("ARABIC LIGATURE SEEN WITH MEEM WITH JEEM INITIAL FORM" #xFD61) - ("ARABIC LIGATURE SEEN WITH MEEM WITH MEEM FINAL FORM" #xFD62) - ("ARABIC LIGATURE SEEN WITH MEEM WITH MEEM INITIAL FORM" #xFD63) - ("ARABIC LIGATURE SAD WITH HAH WITH HAH FINAL FORM" #xFD64) - ("ARABIC LIGATURE SAD WITH HAH WITH HAH INITIAL FORM" #xFD65) - ("ARABIC LIGATURE SAD WITH MEEM WITH MEEM FINAL FORM" #xFD66) - ("ARABIC LIGATURE SHEEN WITH HAH WITH MEEM FINAL FORM" #xFD67) - ("ARABIC LIGATURE SHEEN WITH HAH WITH MEEM INITIAL FORM" #xFD68) - ("ARABIC LIGATURE SHEEN WITH JEEM WITH YEH FINAL FORM" #xFD69) - ("ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH FINAL FORM" #xFD6A) - ("ARABIC LIGATURE SHEEN WITH MEEM WITH KHAH INITIAL FORM" #xFD6B) - ("ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM FINAL FORM" #xFD6C) - ("ARABIC LIGATURE SHEEN WITH MEEM WITH MEEM INITIAL FORM" #xFD6D) - ("ARABIC LIGATURE DAD WITH HAH WITH ALEF MAKSURA FINAL FORM" #xFD6E) - ("ARABIC LIGATURE DAD WITH KHAH WITH MEEM FINAL FORM" #xFD6F) - ("ARABIC LIGATURE DAD WITH KHAH WITH MEEM INITIAL FORM" #xFD70) - ("ARABIC LIGATURE TAH WITH MEEM WITH HAH FINAL FORM" #xFD71) - ("ARABIC LIGATURE TAH WITH MEEM WITH HAH INITIAL FORM" #xFD72) - ("ARABIC LIGATURE TAH WITH MEEM WITH MEEM INITIAL FORM" #xFD73) - ("ARABIC LIGATURE TAH WITH MEEM WITH YEH FINAL FORM" #xFD74) - ("ARABIC LIGATURE AIN WITH JEEM WITH MEEM FINAL FORM" #xFD75) - ("ARABIC LIGATURE AIN WITH MEEM WITH MEEM FINAL FORM" #xFD76) - ("ARABIC LIGATURE AIN WITH MEEM WITH MEEM INITIAL FORM" #xFD77) - ("ARABIC LIGATURE AIN WITH MEEM WITH ALEF MAKSURA FINAL FORM" #xFD78) - ("ARABIC LIGATURE GHAIN WITH MEEM WITH MEEM FINAL FORM" #xFD79) - ("ARABIC LIGATURE GHAIN WITH MEEM WITH YEH FINAL FORM" #xFD7A) - ("ARABIC LIGATURE GHAIN WITH MEEM WITH ALEF MAKSURA FINAL FORM" #xFD7B) - ("ARABIC LIGATURE FEH WITH KHAH WITH MEEM FINAL FORM" #xFD7C) - ("ARABIC LIGATURE FEH WITH KHAH WITH MEEM INITIAL FORM" #xFD7D) - ("ARABIC LIGATURE QAF WITH MEEM WITH HAH FINAL FORM" #xFD7E) - ("ARABIC LIGATURE QAF WITH MEEM WITH MEEM FINAL FORM" #xFD7F) - ("ARABIC LIGATURE LAM WITH HAH WITH MEEM FINAL FORM" #xFD80) - ("ARABIC LIGATURE LAM WITH HAH WITH YEH FINAL FORM" #xFD81) - ("ARABIC LIGATURE LAM WITH HAH WITH ALEF MAKSURA FINAL FORM" #xFD82) - ("ARABIC LIGATURE LAM WITH JEEM WITH JEEM INITIAL FORM" #xFD83) - ("ARABIC LIGATURE LAM WITH JEEM WITH JEEM FINAL FORM" #xFD84) - ("ARABIC LIGATURE LAM WITH KHAH WITH MEEM FINAL FORM" #xFD85) - ("ARABIC LIGATURE LAM WITH KHAH WITH MEEM INITIAL FORM" #xFD86) - ("ARABIC LIGATURE LAM WITH MEEM WITH HAH FINAL FORM" #xFD87) - ("ARABIC LIGATURE LAM WITH MEEM WITH HAH INITIAL FORM" #xFD88) - ("ARABIC LIGATURE MEEM WITH HAH WITH JEEM INITIAL FORM" #xFD89) - ("ARABIC LIGATURE MEEM WITH HAH WITH MEEM INITIAL FORM" #xFD8A) - ("ARABIC LIGATURE MEEM WITH HAH WITH YEH FINAL FORM" #xFD8B) - ("ARABIC LIGATURE MEEM WITH JEEM WITH HAH INITIAL FORM" #xFD8C) - ("ARABIC LIGATURE MEEM WITH JEEM WITH MEEM INITIAL FORM" #xFD8D) - ("ARABIC LIGATURE MEEM WITH KHAH WITH JEEM INITIAL FORM" #xFD8E) - ("ARABIC LIGATURE MEEM WITH KHAH WITH MEEM INITIAL FORM" #xFD8F) - ("ARABIC LIGATURE MEEM WITH JEEM WITH KHAH INITIAL FORM" #xFD92) - ("ARABIC LIGATURE HEH WITH MEEM WITH JEEM INITIAL FORM" #xFD93) - ("ARABIC LIGATURE HEH WITH MEEM WITH MEEM INITIAL FORM" #xFD94) - ("ARABIC LIGATURE NOON WITH HAH WITH MEEM INITIAL FORM" #xFD95) - ("ARABIC LIGATURE NOON WITH HAH WITH ALEF MAKSURA FINAL FORM" #xFD96) - ("ARABIC LIGATURE NOON WITH JEEM WITH MEEM FINAL FORM" #xFD97) - ("ARABIC LIGATURE NOON WITH JEEM WITH MEEM INITIAL FORM" #xFD98) - ("ARABIC LIGATURE NOON WITH JEEM WITH ALEF MAKSURA FINAL FORM" #xFD99) - ("ARABIC LIGATURE NOON WITH MEEM WITH YEH FINAL FORM" #xFD9A) - ("ARABIC LIGATURE NOON WITH MEEM WITH ALEF MAKSURA FINAL FORM" #xFD9B) - ("ARABIC LIGATURE YEH WITH MEEM WITH MEEM FINAL FORM" #xFD9C) - ("ARABIC LIGATURE YEH WITH MEEM WITH MEEM INITIAL FORM" #xFD9D) - ("ARABIC LIGATURE BEH WITH KHAH WITH YEH FINAL FORM" #xFD9E) - ("ARABIC LIGATURE TEH WITH JEEM WITH YEH FINAL FORM" #xFD9F) - ("ARABIC LIGATURE TEH WITH JEEM WITH ALEF MAKSURA FINAL FORM" #xFDA0) - ("ARABIC LIGATURE TEH WITH KHAH WITH YEH FINAL FORM" #xFDA1) - ("ARABIC LIGATURE TEH WITH KHAH WITH ALEF MAKSURA FINAL FORM" #xFDA2) - ("ARABIC LIGATURE TEH WITH MEEM WITH YEH FINAL FORM" #xFDA3) - ("ARABIC LIGATURE TEH WITH MEEM WITH ALEF MAKSURA FINAL FORM" #xFDA4) - ("ARABIC LIGATURE JEEM WITH MEEM WITH YEH FINAL FORM" #xFDA5) - ("ARABIC LIGATURE JEEM WITH HAH WITH ALEF MAKSURA FINAL FORM" #xFDA6) - ("ARABIC LIGATURE JEEM WITH MEEM WITH ALEF MAKSURA FINAL FORM" #xFDA7) - ("ARABIC LIGATURE SEEN WITH KHAH WITH ALEF MAKSURA FINAL FORM" #xFDA8) - ("ARABIC LIGATURE SAD WITH HAH WITH YEH FINAL FORM" #xFDA9) - ("ARABIC LIGATURE SHEEN WITH HAH WITH YEH FINAL FORM" #xFDAA) - ("ARABIC LIGATURE DAD WITH HAH WITH YEH FINAL FORM" #xFDAB) - ("ARABIC LIGATURE LAM WITH JEEM WITH YEH FINAL FORM" #xFDAC) - ("ARABIC LIGATURE LAM WITH MEEM WITH YEH FINAL FORM" #xFDAD) - ("ARABIC LIGATURE YEH WITH HAH WITH YEH FINAL FORM" #xFDAE) - ("ARABIC LIGATURE YEH WITH JEEM WITH YEH FINAL FORM" #xFDAF) - ("ARABIC LIGATURE YEH WITH MEEM WITH YEH FINAL FORM" #xFDB0) - ("ARABIC LIGATURE MEEM WITH MEEM WITH YEH FINAL FORM" #xFDB1) - ("ARABIC LIGATURE QAF WITH MEEM WITH YEH FINAL FORM" #xFDB2) - ("ARABIC LIGATURE NOON WITH HAH WITH YEH FINAL FORM" #xFDB3) - ("ARABIC LIGATURE QAF WITH MEEM WITH HAH INITIAL FORM" #xFDB4) - ("ARABIC LIGATURE LAM WITH HAH WITH MEEM INITIAL FORM" #xFDB5) - ("ARABIC LIGATURE AIN WITH MEEM WITH YEH FINAL FORM" #xFDB6) - ("ARABIC LIGATURE KAF WITH MEEM WITH YEH FINAL FORM" #xFDB7) - ("ARABIC LIGATURE NOON WITH JEEM WITH HAH INITIAL FORM" #xFDB8) - ("ARABIC LIGATURE MEEM WITH KHAH WITH YEH FINAL FORM" #xFDB9) - ("ARABIC LIGATURE LAM WITH JEEM WITH MEEM INITIAL FORM" #xFDBA) - ("ARABIC LIGATURE KAF WITH MEEM WITH MEEM FINAL FORM" #xFDBB) - ("ARABIC LIGATURE LAM WITH JEEM WITH MEEM FINAL FORM" #xFDBC) - ("ARABIC LIGATURE NOON WITH JEEM WITH HAH FINAL FORM" #xFDBD) - ("ARABIC LIGATURE JEEM WITH HAH WITH YEH FINAL FORM" #xFDBE) - ("ARABIC LIGATURE HAH WITH JEEM WITH YEH FINAL FORM" #xFDBF) - ("ARABIC LIGATURE MEEM WITH JEEM WITH YEH FINAL FORM" #xFDC0) - ("ARABIC LIGATURE FEH WITH MEEM WITH YEH FINAL FORM" #xFDC1) - ("ARABIC LIGATURE BEH WITH HAH WITH YEH FINAL FORM" #xFDC2) - ("ARABIC LIGATURE KAF WITH MEEM WITH MEEM INITIAL FORM" #xFDC3) - ("ARABIC LIGATURE AIN WITH JEEM WITH MEEM INITIAL FORM" #xFDC4) - ("ARABIC LIGATURE SAD WITH MEEM WITH MEEM INITIAL FORM" #xFDC5) - ("ARABIC LIGATURE SEEN WITH KHAH WITH YEH FINAL FORM" #xFDC6) - ("ARABIC LIGATURE NOON WITH JEEM WITH YEH FINAL FORM" #xFDC7) - ("ARABIC LIGATURE SALLA USED AS KORANIC STOP SIGN ISOLATED FORM" #xFDF0) - ("ARABIC LIGATURE QALA USED AS KORANIC STOP SIGN ISOLATED FORM" #xFDF1) - ("ARABIC LIGATURE ALLAH ISOLATED FORM" #xFDF2) - ("ARABIC LIGATURE AKBAR ISOLATED FORM" #xFDF3) - ("ARABIC LIGATURE MOHAMMAD ISOLATED FORM" #xFDF4) - ("ARABIC LIGATURE SALAM ISOLATED FORM" #xFDF5) - ("ARABIC LIGATURE RASOUL ISOLATED FORM" #xFDF6) - ("ARABIC LIGATURE ALAYHE ISOLATED FORM" #xFDF7) - ("ARABIC LIGATURE WASALLAM ISOLATED FORM" #xFDF8) - ("ARABIC LIGATURE SALLA ISOLATED FORM" #xFDF9) - ("ARABIC LIGATURE SALLALLAHOU ALAYHE WASALLAM" #xFDFA) - ("ARABIC LIGATURE JALLAJALALOUHOU" #xFDFB) - ("RIAL SIGN" #xFDFC) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE00-0FE0F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE00-0FE0F.el deleted file mode 100644 index f1eb897599..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE00-0FE0F.el +++ /dev/null @@ -1,18 +0,0 @@ -(nxml-define-char-name-set 'variation-selectors - '(("VARIATION SELECTOR-1" #xFE00) - ("VARIATION SELECTOR-2" #xFE01) - ("VARIATION SELECTOR-3" #xFE02) - ("VARIATION SELECTOR-4" #xFE03) - ("VARIATION SELECTOR-5" #xFE04) - ("VARIATION SELECTOR-6" #xFE05) - ("VARIATION SELECTOR-7" #xFE06) - ("VARIATION SELECTOR-8" #xFE07) - ("VARIATION SELECTOR-9" #xFE08) - ("VARIATION SELECTOR-10" #xFE09) - ("VARIATION SELECTOR-11" #xFE0A) - ("VARIATION SELECTOR-12" #xFE0B) - ("VARIATION SELECTOR-13" #xFE0C) - ("VARIATION SELECTOR-14" #xFE0D) - ("VARIATION SELECTOR-15" #xFE0E) - ("VARIATION SELECTOR-16" #xFE0F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE20-0FE2F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE20-0FE2F.el deleted file mode 100644 index 2cc5ef2bb0..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE20-0FE2F.el +++ /dev/null @@ -1,6 +0,0 @@ -(nxml-define-char-name-set 'combining-half-marks - '(("COMBINING LIGATURE LEFT HALF" #xFE20) - ("COMBINING LIGATURE RIGHT HALF" #xFE21) - ("COMBINING DOUBLE TILDE LEFT HALF" #xFE22) - ("COMBINING DOUBLE TILDE RIGHT HALF" #xFE23) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE30-0FE4F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE30-0FE4F.el deleted file mode 100644 index 83893e4b93..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE30-0FE4F.el +++ /dev/null @@ -1,32 +0,0 @@ -(nxml-define-char-name-set 'cjk-compatibility-forms - '(("PRESENTATION FORM FOR VERTICAL TWO DOT LEADER" #xFE30) - ("PRESENTATION FORM FOR VERTICAL EM DASH" #xFE31) - ("PRESENTATION FORM FOR VERTICAL EN DASH" #xFE32) - ("PRESENTATION FORM FOR VERTICAL LOW LINE" #xFE33) - ("PRESENTATION FORM FOR VERTICAL WAVY LOW LINE" #xFE34) - ("PRESENTATION FORM FOR VERTICAL LEFT PARENTHESIS" #xFE35) - ("PRESENTATION FORM FOR VERTICAL RIGHT PARENTHESIS" #xFE36) - ("PRESENTATION FORM FOR VERTICAL LEFT CURLY BRACKET" #xFE37) - ("PRESENTATION FORM FOR VERTICAL RIGHT CURLY BRACKET" #xFE38) - ("PRESENTATION FORM FOR VERTICAL LEFT TORTOISE SHELL BRACKET" #xFE39) - ("PRESENTATION FORM FOR VERTICAL RIGHT TORTOISE SHELL BRACKET" #xFE3A) - ("PRESENTATION FORM FOR VERTICAL LEFT BLACK LENTICULAR BRACKET" #xFE3B) - ("PRESENTATION FORM FOR VERTICAL RIGHT BLACK LENTICULAR BRACKET" #xFE3C) - ("PRESENTATION FORM FOR VERTICAL LEFT DOUBLE ANGLE BRACKET" #xFE3D) - ("PRESENTATION FORM FOR VERTICAL RIGHT DOUBLE ANGLE BRACKET" #xFE3E) - ("PRESENTATION FORM FOR VERTICAL LEFT ANGLE BRACKET" #xFE3F) - ("PRESENTATION FORM FOR VERTICAL RIGHT ANGLE BRACKET" #xFE40) - ("PRESENTATION FORM FOR VERTICAL LEFT CORNER BRACKET" #xFE41) - ("PRESENTATION FORM FOR VERTICAL RIGHT CORNER BRACKET" #xFE42) - ("PRESENTATION FORM FOR VERTICAL LEFT WHITE CORNER BRACKET" #xFE43) - ("PRESENTATION FORM FOR VERTICAL RIGHT WHITE CORNER BRACKET" #xFE44) - ("SESAME DOT" #xFE45) - ("WHITE SESAME DOT" #xFE46) - ("DASHED OVERLINE" #xFE49) - ("CENTRELINE OVERLINE" #xFE4A) - ("WAVY OVERLINE" #xFE4B) - ("DOUBLE WAVY OVERLINE" #xFE4C) - ("DASHED LOW LINE" #xFE4D) - ("CENTRELINE LOW LINE" #xFE4E) - ("WAVY LOW LINE" #xFE4F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE50-0FE6F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE50-0FE6F.el deleted file mode 100644 index d94cc453f4..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE50-0FE6F.el +++ /dev/null @@ -1,28 +0,0 @@ -(nxml-define-char-name-set 'small-form-variants - '(("SMALL COMMA" #xFE50) - ("SMALL IDEOGRAPHIC COMMA" #xFE51) - ("SMALL FULL STOP" #xFE52) - ("SMALL SEMICOLON" #xFE54) - ("SMALL COLON" #xFE55) - ("SMALL QUESTION MARK" #xFE56) - ("SMALL EXCLAMATION MARK" #xFE57) - ("SMALL EM DASH" #xFE58) - ("SMALL LEFT PARENTHESIS" #xFE59) - ("SMALL RIGHT PARENTHESIS" #xFE5A) - ("SMALL LEFT CURLY BRACKET" #xFE5B) - ("SMALL RIGHT CURLY BRACKET" #xFE5C) - ("SMALL LEFT TORTOISE SHELL BRACKET" #xFE5D) - ("SMALL RIGHT TORTOISE SHELL BRACKET" #xFE5E) - ("SMALL NUMBER SIGN" #xFE5F) - ("SMALL AMPERSAND" #xFE60) - ("SMALL ASTERISK" #xFE61) - ("SMALL PLUS SIGN" #xFE62) - ("SMALL HYPHEN-MINUS" #xFE63) - ("SMALL LESS-THAN SIGN" #xFE64) - ("SMALL GREATER-THAN SIGN" #xFE65) - ("SMALL EQUALS SIGN" #xFE66) - ("SMALL REVERSE SOLIDUS" #xFE68) - ("SMALL DOLLAR SIGN" #xFE69) - ("SMALL PERCENT SIGN" #xFE6A) - ("SMALL COMMERCIAL AT" #xFE6B) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE70-0FEFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE70-0FEFF.el deleted file mode 100644 index d0e54b64ec..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FE70-0FEFF.el +++ /dev/null @@ -1,143 +0,0 @@ -(nxml-define-char-name-set 'arabic-presentation-forms-b - '(("ARABIC FATHATAN ISOLATED FORM" #xFE70) - ("ARABIC TATWEEL WITH FATHATAN ABOVE" #xFE71) - ("ARABIC DAMMATAN ISOLATED FORM" #xFE72) - ("ARABIC TAIL FRAGMENT" #xFE73) - ("ARABIC KASRATAN ISOLATED FORM" #xFE74) - ("ARABIC FATHA ISOLATED FORM" #xFE76) - ("ARABIC FATHA MEDIAL FORM" #xFE77) - ("ARABIC DAMMA ISOLATED FORM" #xFE78) - ("ARABIC DAMMA MEDIAL FORM" #xFE79) - ("ARABIC KASRA ISOLATED FORM" #xFE7A) - ("ARABIC KASRA MEDIAL FORM" #xFE7B) - ("ARABIC SHADDA ISOLATED FORM" #xFE7C) - ("ARABIC SHADDA MEDIAL FORM" #xFE7D) - ("ARABIC SUKUN ISOLATED FORM" #xFE7E) - ("ARABIC SUKUN MEDIAL FORM" #xFE7F) - ("ARABIC LETTER HAMZA ISOLATED FORM" #xFE80) - ("ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM" #xFE81) - ("ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM" #xFE82) - ("ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM" #xFE83) - ("ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM" #xFE84) - ("ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM" #xFE85) - ("ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM" #xFE86) - ("ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM" #xFE87) - ("ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM" #xFE88) - ("ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM" #xFE89) - ("ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM" #xFE8A) - ("ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM" #xFE8B) - ("ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM" #xFE8C) - ("ARABIC LETTER ALEF ISOLATED FORM" #xFE8D) - ("ARABIC LETTER ALEF FINAL FORM" #xFE8E) - ("ARABIC LETTER BEH ISOLATED FORM" #xFE8F) - ("ARABIC LETTER BEH FINAL FORM" #xFE90) - ("ARABIC LETTER BEH INITIAL FORM" #xFE91) - ("ARABIC LETTER BEH MEDIAL FORM" #xFE92) - ("ARABIC LETTER TEH MARBUTA ISOLATED FORM" #xFE93) - ("ARABIC LETTER TEH MARBUTA FINAL FORM" #xFE94) - ("ARABIC LETTER TEH ISOLATED FORM" #xFE95) - ("ARABIC LETTER TEH FINAL FORM" #xFE96) - ("ARABIC LETTER TEH INITIAL FORM" #xFE97) - ("ARABIC LETTER TEH MEDIAL FORM" #xFE98) - ("ARABIC LETTER THEH ISOLATED FORM" #xFE99) - ("ARABIC LETTER THEH FINAL FORM" #xFE9A) - ("ARABIC LETTER THEH INITIAL FORM" #xFE9B) - ("ARABIC LETTER THEH MEDIAL FORM" #xFE9C) - ("ARABIC LETTER JEEM ISOLATED FORM" #xFE9D) - ("ARABIC LETTER JEEM FINAL FORM" #xFE9E) - ("ARABIC LETTER JEEM INITIAL FORM" #xFE9F) - ("ARABIC LETTER JEEM MEDIAL FORM" #xFEA0) - ("ARABIC LETTER HAH ISOLATED FORM" #xFEA1) - ("ARABIC LETTER HAH FINAL FORM" #xFEA2) - ("ARABIC LETTER HAH INITIAL FORM" #xFEA3) - ("ARABIC LETTER HAH MEDIAL FORM" #xFEA4) - ("ARABIC LETTER KHAH ISOLATED FORM" #xFEA5) - ("ARABIC LETTER KHAH FINAL FORM" #xFEA6) - ("ARABIC LETTER KHAH INITIAL FORM" #xFEA7) - ("ARABIC LETTER KHAH MEDIAL FORM" #xFEA8) - ("ARABIC LETTER DAL ISOLATED FORM" #xFEA9) - ("ARABIC LETTER DAL FINAL FORM" #xFEAA) - ("ARABIC LETTER THAL ISOLATED FORM" #xFEAB) - ("ARABIC LETTER THAL FINAL FORM" #xFEAC) - ("ARABIC LETTER REH ISOLATED FORM" #xFEAD) - ("ARABIC LETTER REH FINAL FORM" #xFEAE) - ("ARABIC LETTER ZAIN ISOLATED FORM" #xFEAF) - ("ARABIC LETTER ZAIN FINAL FORM" #xFEB0) - ("ARABIC LETTER SEEN ISOLATED FORM" #xFEB1) - ("ARABIC LETTER SEEN FINAL FORM" #xFEB2) - ("ARABIC LETTER SEEN INITIAL FORM" #xFEB3) - ("ARABIC LETTER SEEN MEDIAL FORM" #xFEB4) - ("ARABIC LETTER SHEEN ISOLATED FORM" #xFEB5) - ("ARABIC LETTER SHEEN FINAL FORM" #xFEB6) - ("ARABIC LETTER SHEEN INITIAL FORM" #xFEB7) - ("ARABIC LETTER SHEEN MEDIAL FORM" #xFEB8) - ("ARABIC LETTER SAD ISOLATED FORM" #xFEB9) - ("ARABIC LETTER SAD FINAL FORM" #xFEBA) - ("ARABIC LETTER SAD INITIAL FORM" #xFEBB) - ("ARABIC LETTER SAD MEDIAL FORM" #xFEBC) - ("ARABIC LETTER DAD ISOLATED FORM" #xFEBD) - ("ARABIC LETTER DAD FINAL FORM" #xFEBE) - ("ARABIC LETTER DAD INITIAL FORM" #xFEBF) - ("ARABIC LETTER DAD MEDIAL FORM" #xFEC0) - ("ARABIC LETTER TAH ISOLATED FORM" #xFEC1) - ("ARABIC LETTER TAH FINAL FORM" #xFEC2) - ("ARABIC LETTER TAH INITIAL FORM" #xFEC3) - ("ARABIC LETTER TAH MEDIAL FORM" #xFEC4) - ("ARABIC LETTER ZAH ISOLATED FORM" #xFEC5) - ("ARABIC LETTER ZAH FINAL FORM" #xFEC6) - ("ARABIC LETTER ZAH INITIAL FORM" #xFEC7) - ("ARABIC LETTER ZAH MEDIAL FORM" #xFEC8) - ("ARABIC LETTER AIN ISOLATED FORM" #xFEC9) - ("ARABIC LETTER AIN FINAL FORM" #xFECA) - ("ARABIC LETTER AIN INITIAL FORM" #xFECB) - ("ARABIC LETTER AIN MEDIAL FORM" #xFECC) - ("ARABIC LETTER GHAIN ISOLATED FORM" #xFECD) - ("ARABIC LETTER GHAIN FINAL FORM" #xFECE) - ("ARABIC LETTER GHAIN INITIAL FORM" #xFECF) - ("ARABIC LETTER GHAIN MEDIAL FORM" #xFED0) - ("ARABIC LETTER FEH ISOLATED FORM" #xFED1) - ("ARABIC LETTER FEH FINAL FORM" #xFED2) - ("ARABIC LETTER FEH INITIAL FORM" #xFED3) - ("ARABIC LETTER FEH MEDIAL FORM" #xFED4) - ("ARABIC LETTER QAF ISOLATED FORM" #xFED5) - ("ARABIC LETTER QAF FINAL FORM" #xFED6) - ("ARABIC LETTER QAF INITIAL FORM" #xFED7) - ("ARABIC LETTER QAF MEDIAL FORM" #xFED8) - ("ARABIC LETTER KAF ISOLATED FORM" #xFED9) - ("ARABIC LETTER KAF FINAL FORM" #xFEDA) - ("ARABIC LETTER KAF INITIAL FORM" #xFEDB) - ("ARABIC LETTER KAF MEDIAL FORM" #xFEDC) - ("ARABIC LETTER LAM ISOLATED FORM" #xFEDD) - ("ARABIC LETTER LAM FINAL FORM" #xFEDE) - ("ARABIC LETTER LAM INITIAL FORM" #xFEDF) - ("ARABIC LETTER LAM MEDIAL FORM" #xFEE0) - ("ARABIC LETTER MEEM ISOLATED FORM" #xFEE1) - ("ARABIC LETTER MEEM FINAL FORM" #xFEE2) - ("ARABIC LETTER MEEM INITIAL FORM" #xFEE3) - ("ARABIC LETTER MEEM MEDIAL FORM" #xFEE4) - ("ARABIC LETTER NOON ISOLATED FORM" #xFEE5) - ("ARABIC LETTER NOON FINAL FORM" #xFEE6) - ("ARABIC LETTER NOON INITIAL FORM" #xFEE7) - ("ARABIC LETTER NOON MEDIAL FORM" #xFEE8) - ("ARABIC LETTER HEH ISOLATED FORM" #xFEE9) - ("ARABIC LETTER HEH FINAL FORM" #xFEEA) - ("ARABIC LETTER HEH INITIAL FORM" #xFEEB) - ("ARABIC LETTER HEH MEDIAL FORM" #xFEEC) - ("ARABIC LETTER WAW ISOLATED FORM" #xFEED) - ("ARABIC LETTER WAW FINAL FORM" #xFEEE) - ("ARABIC LETTER ALEF MAKSURA ISOLATED FORM" #xFEEF) - ("ARABIC LETTER ALEF MAKSURA FINAL FORM" #xFEF0) - ("ARABIC LETTER YEH ISOLATED FORM" #xFEF1) - ("ARABIC LETTER YEH FINAL FORM" #xFEF2) - ("ARABIC LETTER YEH INITIAL FORM" #xFEF3) - ("ARABIC LETTER YEH MEDIAL FORM" #xFEF4) - ("ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE ISOLATED FORM" #xFEF5) - ("ARABIC LIGATURE LAM WITH ALEF WITH MADDA ABOVE FINAL FORM" #xFEF6) - ("ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE ISOLATED FORM" #xFEF7) - ("ARABIC LIGATURE LAM WITH ALEF WITH HAMZA ABOVE FINAL FORM" #xFEF8) - ("ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW ISOLATED FORM" #xFEF9) - ("ARABIC LIGATURE LAM WITH ALEF WITH HAMZA BELOW FINAL FORM" #xFEFA) - ("ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM" #xFEFB) - ("ARABIC LIGATURE LAM WITH ALEF FINAL FORM" #xFEFC) - ("ZERO WIDTH NO-BREAK SPACE" #xFEFF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FF00-0FFEF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FF00-0FFEF.el deleted file mode 100644 index 004f043c19..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FF00-0FFEF.el +++ /dev/null @@ -1,227 +0,0 @@ -(nxml-define-char-name-set 'halfwidth-and-fullwidth-forms - '(("FULLWIDTH EXCLAMATION MARK" #xFF01) - ("FULLWIDTH QUOTATION MARK" #xFF02) - ("FULLWIDTH NUMBER SIGN" #xFF03) - ("FULLWIDTH DOLLAR SIGN" #xFF04) - ("FULLWIDTH PERCENT SIGN" #xFF05) - ("FULLWIDTH AMPERSAND" #xFF06) - ("FULLWIDTH APOSTROPHE" #xFF07) - ("FULLWIDTH LEFT PARENTHESIS" #xFF08) - ("FULLWIDTH RIGHT PARENTHESIS" #xFF09) - ("FULLWIDTH ASTERISK" #xFF0A) - ("FULLWIDTH PLUS SIGN" #xFF0B) - ("FULLWIDTH COMMA" #xFF0C) - ("FULLWIDTH HYPHEN-MINUS" #xFF0D) - ("FULLWIDTH FULL STOP" #xFF0E) - ("FULLWIDTH SOLIDUS" #xFF0F) - ("FULLWIDTH DIGIT ZERO" #xFF10) - ("FULLWIDTH DIGIT ONE" #xFF11) - ("FULLWIDTH DIGIT TWO" #xFF12) - ("FULLWIDTH DIGIT THREE" #xFF13) - ("FULLWIDTH DIGIT FOUR" #xFF14) - ("FULLWIDTH DIGIT FIVE" #xFF15) - ("FULLWIDTH DIGIT SIX" #xFF16) - ("FULLWIDTH DIGIT SEVEN" #xFF17) - ("FULLWIDTH DIGIT EIGHT" #xFF18) - ("FULLWIDTH DIGIT NINE" #xFF19) - ("FULLWIDTH COLON" #xFF1A) - ("FULLWIDTH SEMICOLON" #xFF1B) - ("FULLWIDTH LESS-THAN SIGN" #xFF1C) - ("FULLWIDTH EQUALS SIGN" #xFF1D) - ("FULLWIDTH GREATER-THAN SIGN" #xFF1E) - ("FULLWIDTH QUESTION MARK" #xFF1F) - ("FULLWIDTH COMMERCIAL AT" #xFF20) - ("FULLWIDTH LATIN CAPITAL LETTER A" #xFF21) - ("FULLWIDTH LATIN CAPITAL LETTER B" #xFF22) - ("FULLWIDTH LATIN CAPITAL LETTER C" #xFF23) - ("FULLWIDTH LATIN CAPITAL LETTER D" #xFF24) - ("FULLWIDTH LATIN CAPITAL LETTER E" #xFF25) - ("FULLWIDTH LATIN CAPITAL LETTER F" #xFF26) - ("FULLWIDTH LATIN CAPITAL LETTER G" #xFF27) - ("FULLWIDTH LATIN CAPITAL LETTER H" #xFF28) - ("FULLWIDTH LATIN CAPITAL LETTER I" #xFF29) - ("FULLWIDTH LATIN CAPITAL LETTER J" #xFF2A) - ("FULLWIDTH LATIN CAPITAL LETTER K" #xFF2B) - ("FULLWIDTH LATIN CAPITAL LETTER L" #xFF2C) - ("FULLWIDTH LATIN CAPITAL LETTER M" #xFF2D) - ("FULLWIDTH LATIN CAPITAL LETTER N" #xFF2E) - ("FULLWIDTH LATIN CAPITAL LETTER O" #xFF2F) - ("FULLWIDTH LATIN CAPITAL LETTER P" #xFF30) - ("FULLWIDTH LATIN CAPITAL LETTER Q" #xFF31) - ("FULLWIDTH LATIN CAPITAL LETTER R" #xFF32) - ("FULLWIDTH LATIN CAPITAL LETTER S" #xFF33) - ("FULLWIDTH LATIN CAPITAL LETTER T" #xFF34) - ("FULLWIDTH LATIN CAPITAL LETTER U" #xFF35) - ("FULLWIDTH LATIN CAPITAL LETTER V" #xFF36) - ("FULLWIDTH LATIN CAPITAL LETTER W" #xFF37) - ("FULLWIDTH LATIN CAPITAL LETTER X" #xFF38) - ("FULLWIDTH LATIN CAPITAL LETTER Y" #xFF39) - ("FULLWIDTH LATIN CAPITAL LETTER Z" #xFF3A) - ("FULLWIDTH LEFT SQUARE BRACKET" #xFF3B) - ("FULLWIDTH REVERSE SOLIDUS" #xFF3C) - ("FULLWIDTH RIGHT SQUARE BRACKET" #xFF3D) - ("FULLWIDTH CIRCUMFLEX ACCENT" #xFF3E) - ("FULLWIDTH LOW LINE" #xFF3F) - ("FULLWIDTH GRAVE ACCENT" #xFF40) - ("FULLWIDTH LATIN SMALL LETTER A" #xFF41) - ("FULLWIDTH LATIN SMALL LETTER B" #xFF42) - ("FULLWIDTH LATIN SMALL LETTER C" #xFF43) - ("FULLWIDTH LATIN SMALL LETTER D" #xFF44) - ("FULLWIDTH LATIN SMALL LETTER E" #xFF45) - ("FULLWIDTH LATIN SMALL LETTER F" #xFF46) - ("FULLWIDTH LATIN SMALL LETTER G" #xFF47) - ("FULLWIDTH LATIN SMALL LETTER H" #xFF48) - ("FULLWIDTH LATIN SMALL LETTER I" #xFF49) - ("FULLWIDTH LATIN SMALL LETTER J" #xFF4A) - ("FULLWIDTH LATIN SMALL LETTER K" #xFF4B) - ("FULLWIDTH LATIN SMALL LETTER L" #xFF4C) - ("FULLWIDTH LATIN SMALL LETTER M" #xFF4D) - ("FULLWIDTH LATIN SMALL LETTER N" #xFF4E) - ("FULLWIDTH LATIN SMALL LETTER O" #xFF4F) - ("FULLWIDTH LATIN SMALL LETTER P" #xFF50) - ("FULLWIDTH LATIN SMALL LETTER Q" #xFF51) - ("FULLWIDTH LATIN SMALL LETTER R" #xFF52) - ("FULLWIDTH LATIN SMALL LETTER S" #xFF53) - ("FULLWIDTH LATIN SMALL LETTER T" #xFF54) - ("FULLWIDTH LATIN SMALL LETTER U" #xFF55) - ("FULLWIDTH LATIN SMALL LETTER V" #xFF56) - ("FULLWIDTH LATIN SMALL LETTER W" #xFF57) - ("FULLWIDTH LATIN SMALL LETTER X" #xFF58) - ("FULLWIDTH LATIN SMALL LETTER Y" #xFF59) - ("FULLWIDTH LATIN SMALL LETTER Z" #xFF5A) - ("FULLWIDTH LEFT CURLY BRACKET" #xFF5B) - ("FULLWIDTH VERTICAL LINE" #xFF5C) - ("FULLWIDTH RIGHT CURLY BRACKET" #xFF5D) - ("FULLWIDTH TILDE" #xFF5E) - ("FULLWIDTH LEFT WHITE PARENTHESIS" #xFF5F) - ("FULLWIDTH RIGHT WHITE PARENTHESIS" #xFF60) - ("HALFWIDTH IDEOGRAPHIC FULL STOP" #xFF61) - ("HALFWIDTH LEFT CORNER BRACKET" #xFF62) - ("HALFWIDTH RIGHT CORNER BRACKET" #xFF63) - ("HALFWIDTH IDEOGRAPHIC COMMA" #xFF64) - ("HALFWIDTH KATAKANA MIDDLE DOT" #xFF65) - ("HALFWIDTH KATAKANA LETTER WO" #xFF66) - ("HALFWIDTH KATAKANA LETTER SMALL A" #xFF67) - ("HALFWIDTH KATAKANA LETTER SMALL I" #xFF68) - ("HALFWIDTH KATAKANA LETTER SMALL U" #xFF69) - ("HALFWIDTH KATAKANA LETTER SMALL E" #xFF6A) - ("HALFWIDTH KATAKANA LETTER SMALL O" #xFF6B) - ("HALFWIDTH KATAKANA LETTER SMALL YA" #xFF6C) - ("HALFWIDTH KATAKANA LETTER SMALL YU" #xFF6D) - ("HALFWIDTH KATAKANA LETTER SMALL YO" #xFF6E) - ("HALFWIDTH KATAKANA LETTER SMALL TU" #xFF6F) - ("HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK" #xFF70) - ("HALFWIDTH KATAKANA LETTER A" #xFF71) - ("HALFWIDTH KATAKANA LETTER I" #xFF72) - ("HALFWIDTH KATAKANA LETTER U" #xFF73) - ("HALFWIDTH KATAKANA LETTER E" #xFF74) - ("HALFWIDTH KATAKANA LETTER O" #xFF75) - ("HALFWIDTH KATAKANA LETTER KA" #xFF76) - ("HALFWIDTH KATAKANA LETTER KI" #xFF77) - ("HALFWIDTH KATAKANA LETTER KU" #xFF78) - ("HALFWIDTH KATAKANA LETTER KE" #xFF79) - ("HALFWIDTH KATAKANA LETTER KO" #xFF7A) - ("HALFWIDTH KATAKANA LETTER SA" #xFF7B) - ("HALFWIDTH KATAKANA LETTER SI" #xFF7C) - ("HALFWIDTH KATAKANA LETTER SU" #xFF7D) - ("HALFWIDTH KATAKANA LETTER SE" #xFF7E) - ("HALFWIDTH KATAKANA LETTER SO" #xFF7F) - ("HALFWIDTH KATAKANA LETTER TA" #xFF80) - ("HALFWIDTH KATAKANA LETTER TI" #xFF81) - ("HALFWIDTH KATAKANA LETTER TU" #xFF82) - ("HALFWIDTH KATAKANA LETTER TE" #xFF83) - ("HALFWIDTH KATAKANA LETTER TO" #xFF84) - ("HALFWIDTH KATAKANA LETTER NA" #xFF85) - ("HALFWIDTH KATAKANA LETTER NI" #xFF86) - ("HALFWIDTH KATAKANA LETTER NU" #xFF87) - ("HALFWIDTH KATAKANA LETTER NE" #xFF88) - ("HALFWIDTH KATAKANA LETTER NO" #xFF89) - ("HALFWIDTH KATAKANA LETTER HA" #xFF8A) - ("HALFWIDTH KATAKANA LETTER HI" #xFF8B) - ("HALFWIDTH KATAKANA LETTER HU" #xFF8C) - ("HALFWIDTH KATAKANA LETTER HE" #xFF8D) - ("HALFWIDTH KATAKANA LETTER HO" #xFF8E) - ("HALFWIDTH KATAKANA LETTER MA" #xFF8F) - ("HALFWIDTH KATAKANA LETTER MI" #xFF90) - ("HALFWIDTH KATAKANA LETTER MU" #xFF91) - ("HALFWIDTH KATAKANA LETTER ME" #xFF92) - ("HALFWIDTH KATAKANA LETTER MO" #xFF93) - ("HALFWIDTH KATAKANA LETTER YA" #xFF94) - ("HALFWIDTH KATAKANA LETTER YU" #xFF95) - ("HALFWIDTH KATAKANA LETTER YO" #xFF96) - ("HALFWIDTH KATAKANA LETTER RA" #xFF97) - ("HALFWIDTH KATAKANA LETTER RI" #xFF98) - ("HALFWIDTH KATAKANA LETTER RU" #xFF99) - ("HALFWIDTH KATAKANA LETTER RE" #xFF9A) - ("HALFWIDTH KATAKANA LETTER RO" #xFF9B) - ("HALFWIDTH KATAKANA LETTER WA" #xFF9C) - ("HALFWIDTH KATAKANA LETTER N" #xFF9D) - ("HALFWIDTH KATAKANA VOICED SOUND MARK" #xFF9E) - ("HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK" #xFF9F) - ("HALFWIDTH HANGUL FILLER" #xFFA0) - ("HALFWIDTH HANGUL LETTER KIYEOK" #xFFA1) - ("HALFWIDTH HANGUL LETTER SSANGKIYEOK" #xFFA2) - ("HALFWIDTH HANGUL LETTER KIYEOK-SIOS" #xFFA3) - ("HALFWIDTH HANGUL LETTER NIEUN" #xFFA4) - ("HALFWIDTH HANGUL LETTER NIEUN-CIEUC" #xFFA5) - ("HALFWIDTH HANGUL LETTER NIEUN-HIEUH" #xFFA6) - ("HALFWIDTH HANGUL LETTER TIKEUT" #xFFA7) - ("HALFWIDTH HANGUL LETTER SSANGTIKEUT" #xFFA8) - ("HALFWIDTH HANGUL LETTER RIEUL" #xFFA9) - ("HALFWIDTH HANGUL LETTER RIEUL-KIYEOK" #xFFAA) - ("HALFWIDTH HANGUL LETTER RIEUL-MIEUM" #xFFAB) - ("HALFWIDTH HANGUL LETTER RIEUL-PIEUP" #xFFAC) - ("HALFWIDTH HANGUL LETTER RIEUL-SIOS" #xFFAD) - ("HALFWIDTH HANGUL LETTER RIEUL-THIEUTH" #xFFAE) - ("HALFWIDTH HANGUL LETTER RIEUL-PHIEUPH" #xFFAF) - ("HALFWIDTH HANGUL LETTER RIEUL-HIEUH" #xFFB0) - ("HALFWIDTH HANGUL LETTER MIEUM" #xFFB1) - ("HALFWIDTH HANGUL LETTER PIEUP" #xFFB2) - ("HALFWIDTH HANGUL LETTER SSANGPIEUP" #xFFB3) - ("HALFWIDTH HANGUL LETTER PIEUP-SIOS" #xFFB4) - ("HALFWIDTH HANGUL LETTER SIOS" #xFFB5) - ("HALFWIDTH HANGUL LETTER SSANGSIOS" #xFFB6) - ("HALFWIDTH HANGUL LETTER IEUNG" #xFFB7) - ("HALFWIDTH HANGUL LETTER CIEUC" #xFFB8) - ("HALFWIDTH HANGUL LETTER SSANGCIEUC" #xFFB9) - ("HALFWIDTH HANGUL LETTER CHIEUCH" #xFFBA) - ("HALFWIDTH HANGUL LETTER KHIEUKH" #xFFBB) - ("HALFWIDTH HANGUL LETTER THIEUTH" #xFFBC) - ("HALFWIDTH HANGUL LETTER PHIEUPH" #xFFBD) - ("HALFWIDTH HANGUL LETTER HIEUH" #xFFBE) - ("HALFWIDTH HANGUL LETTER A" #xFFC2) - ("HALFWIDTH HANGUL LETTER AE" #xFFC3) - ("HALFWIDTH HANGUL LETTER YA" #xFFC4) - ("HALFWIDTH HANGUL LETTER YAE" #xFFC5) - ("HALFWIDTH HANGUL LETTER EO" #xFFC6) - ("HALFWIDTH HANGUL LETTER E" #xFFC7) - ("HALFWIDTH HANGUL LETTER YEO" #xFFCA) - ("HALFWIDTH HANGUL LETTER YE" #xFFCB) - ("HALFWIDTH HANGUL LETTER O" #xFFCC) - ("HALFWIDTH HANGUL LETTER WA" #xFFCD) - ("HALFWIDTH HANGUL LETTER WAE" #xFFCE) - ("HALFWIDTH HANGUL LETTER OE" #xFFCF) - ("HALFWIDTH HANGUL LETTER YO" #xFFD2) - ("HALFWIDTH HANGUL LETTER U" #xFFD3) - ("HALFWIDTH HANGUL LETTER WEO" #xFFD4) - ("HALFWIDTH HANGUL LETTER WE" #xFFD5) - ("HALFWIDTH HANGUL LETTER WI" #xFFD6) - ("HALFWIDTH HANGUL LETTER YU" #xFFD7) - ("HALFWIDTH HANGUL LETTER EU" #xFFDA) - ("HALFWIDTH HANGUL LETTER YI" #xFFDB) - ("HALFWIDTH HANGUL LETTER I" #xFFDC) - ("FULLWIDTH CENT SIGN" #xFFE0) - ("FULLWIDTH POUND SIGN" #xFFE1) - ("FULLWIDTH NOT SIGN" #xFFE2) - ("FULLWIDTH MACRON" #xFFE3) - ("FULLWIDTH BROKEN BAR" #xFFE4) - ("FULLWIDTH YEN SIGN" #xFFE5) - ("FULLWIDTH WON SIGN" #xFFE6) - ("HALFWIDTH FORMS LIGHT VERTICAL" #xFFE8) - ("HALFWIDTH LEFTWARDS ARROW" #xFFE9) - ("HALFWIDTH UPWARDS ARROW" #xFFEA) - ("HALFWIDTH RIGHTWARDS ARROW" #xFFEB) - ("HALFWIDTH DOWNWARDS ARROW" #xFFEC) - ("HALFWIDTH BLACK SQUARE" #xFFED) - ("HALFWIDTH WHITE CIRCLE" #xFFEE) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FFF0-0FFFF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FFF0-0FFFF.el deleted file mode 100644 index f381a28e05..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/0FFF0-0FFFF.el +++ /dev/null @@ -1,7 +0,0 @@ -(nxml-define-char-name-set 'specials - '(("INTERLINEAR ANNOTATION ANCHOR" #xFFF9) - ("INTERLINEAR ANNOTATION SEPARATOR" #xFFFA) - ("INTERLINEAR ANNOTATION TERMINATOR" #xFFFB) - ("OBJECT REPLACEMENT CHARACTER" #xFFFC) - ("REPLACEMENT CHARACTER" #xFFFD) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/10300-1032F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/10300-1032F.el deleted file mode 100644 index fbb5cb8f25..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/10300-1032F.el +++ /dev/null @@ -1,37 +0,0 @@ -(nxml-define-char-name-set 'old-italic - '(("OLD ITALIC LETTER A" #x10300) - ("OLD ITALIC LETTER BE" #x10301) - ("OLD ITALIC LETTER KE" #x10302) - ("OLD ITALIC LETTER DE" #x10303) - ("OLD ITALIC LETTER E" #x10304) - ("OLD ITALIC LETTER VE" #x10305) - ("OLD ITALIC LETTER ZE" #x10306) - ("OLD ITALIC LETTER HE" #x10307) - ("OLD ITALIC LETTER THE" #x10308) - ("OLD ITALIC LETTER I" #x10309) - ("OLD ITALIC LETTER KA" #x1030A) - ("OLD ITALIC LETTER EL" #x1030B) - ("OLD ITALIC LETTER EM" #x1030C) - ("OLD ITALIC LETTER EN" #x1030D) - ("OLD ITALIC LETTER ESH" #x1030E) - ("OLD ITALIC LETTER O" #x1030F) - ("OLD ITALIC LETTER PE" #x10310) - ("OLD ITALIC LETTER SHE" #x10311) - ("OLD ITALIC LETTER KU" #x10312) - ("OLD ITALIC LETTER ER" #x10313) - ("OLD ITALIC LETTER ES" #x10314) - ("OLD ITALIC LETTER TE" #x10315) - ("OLD ITALIC LETTER U" #x10316) - ("OLD ITALIC LETTER EKS" #x10317) - ("OLD ITALIC LETTER PHE" #x10318) - ("OLD ITALIC LETTER KHE" #x10319) - ("OLD ITALIC LETTER EF" #x1031A) - ("OLD ITALIC LETTER ERS" #x1031B) - ("OLD ITALIC LETTER CHE" #x1031C) - ("OLD ITALIC LETTER II" #x1031D) - ("OLD ITALIC LETTER UU" #x1031E) - ("OLD ITALIC NUMERAL ONE" #x10320) - ("OLD ITALIC NUMERAL FIVE" #x10321) - ("OLD ITALIC NUMERAL TEN" #x10322) - ("OLD ITALIC NUMERAL FIFTY" #x10323) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/10330-1034F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/10330-1034F.el deleted file mode 100644 index 38ba2988a4..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/10330-1034F.el +++ /dev/null @@ -1,29 +0,0 @@ -(nxml-define-char-name-set 'gothic - '(("GOTHIC LETTER AHSA" #x10330) - ("GOTHIC LETTER BAIRKAN" #x10331) - ("GOTHIC LETTER GIBA" #x10332) - ("GOTHIC LETTER DAGS" #x10333) - ("GOTHIC LETTER AIHVUS" #x10334) - ("GOTHIC LETTER QAIRTHRA" #x10335) - ("GOTHIC LETTER IUJA" #x10336) - ("GOTHIC LETTER HAGL" #x10337) - ("GOTHIC LETTER THIUTH" #x10338) - ("GOTHIC LETTER EIS" #x10339) - ("GOTHIC LETTER KUSMA" #x1033A) - ("GOTHIC LETTER LAGUS" #x1033B) - ("GOTHIC LETTER MANNA" #x1033C) - ("GOTHIC LETTER NAUTHS" #x1033D) - ("GOTHIC LETTER JER" #x1033E) - ("GOTHIC LETTER URUS" #x1033F) - ("GOTHIC LETTER PAIRTHRA" #x10340) - ("GOTHIC LETTER NINETY" #x10341) - ("GOTHIC LETTER RAIDA" #x10342) - ("GOTHIC LETTER SAUIL" #x10343) - ("GOTHIC LETTER TEIWS" #x10344) - ("GOTHIC LETTER WINJA" #x10345) - ("GOTHIC LETTER FAIHU" #x10346) - ("GOTHIC LETTER IGGWS" #x10347) - ("GOTHIC LETTER HWAIR" #x10348) - ("GOTHIC LETTER OTHAL" #x10349) - ("GOTHIC LETTER NINE HUNDRED" #x1034A) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/10400-1044F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/10400-1044F.el deleted file mode 100644 index 1637cf666b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/10400-1044F.el +++ /dev/null @@ -1,78 +0,0 @@ -(nxml-define-char-name-set 'deseret - '(("DESERET CAPITAL LETTER LONG I" #x10400) - ("DESERET CAPITAL LETTER LONG E" #x10401) - ("DESERET CAPITAL LETTER LONG A" #x10402) - ("DESERET CAPITAL LETTER LONG AH" #x10403) - ("DESERET CAPITAL LETTER LONG O" #x10404) - ("DESERET CAPITAL LETTER LONG OO" #x10405) - ("DESERET CAPITAL LETTER SHORT I" #x10406) - ("DESERET CAPITAL LETTER SHORT E" #x10407) - ("DESERET CAPITAL LETTER SHORT A" #x10408) - ("DESERET CAPITAL LETTER SHORT AH" #x10409) - ("DESERET CAPITAL LETTER SHORT O" #x1040A) - ("DESERET CAPITAL LETTER SHORT OO" #x1040B) - ("DESERET CAPITAL LETTER AY" #x1040C) - ("DESERET CAPITAL LETTER OW" #x1040D) - ("DESERET CAPITAL LETTER WU" #x1040E) - ("DESERET CAPITAL LETTER YEE" #x1040F) - ("DESERET CAPITAL LETTER H" #x10410) - ("DESERET CAPITAL LETTER PEE" #x10411) - ("DESERET CAPITAL LETTER BEE" #x10412) - ("DESERET CAPITAL LETTER TEE" #x10413) - ("DESERET CAPITAL LETTER DEE" #x10414) - ("DESERET CAPITAL LETTER CHEE" #x10415) - ("DESERET CAPITAL LETTER JEE" #x10416) - ("DESERET CAPITAL LETTER KAY" #x10417) - ("DESERET CAPITAL LETTER GAY" #x10418) - ("DESERET CAPITAL LETTER EF" #x10419) - ("DESERET CAPITAL LETTER VEE" #x1041A) - ("DESERET CAPITAL LETTER ETH" #x1041B) - ("DESERET CAPITAL LETTER THEE" #x1041C) - ("DESERET CAPITAL LETTER ES" #x1041D) - ("DESERET CAPITAL LETTER ZEE" #x1041E) - ("DESERET CAPITAL LETTER ESH" #x1041F) - ("DESERET CAPITAL LETTER ZHEE" #x10420) - ("DESERET CAPITAL LETTER ER" #x10421) - ("DESERET CAPITAL LETTER EL" #x10422) - ("DESERET CAPITAL LETTER EM" #x10423) - ("DESERET CAPITAL LETTER EN" #x10424) - ("DESERET CAPITAL LETTER ENG" #x10425) - ("DESERET SMALL LETTER LONG I" #x10428) - ("DESERET SMALL LETTER LONG E" #x10429) - ("DESERET SMALL LETTER LONG A" #x1042A) - ("DESERET SMALL LETTER LONG AH" #x1042B) - ("DESERET SMALL LETTER LONG O" #x1042C) - ("DESERET SMALL LETTER LONG OO" #x1042D) - ("DESERET SMALL LETTER SHORT I" #x1042E) - ("DESERET SMALL LETTER SHORT E" #x1042F) - ("DESERET SMALL LETTER SHORT A" #x10430) - ("DESERET SMALL LETTER SHORT AH" #x10431) - ("DESERET SMALL LETTER SHORT O" #x10432) - ("DESERET SMALL LETTER SHORT OO" #x10433) - ("DESERET SMALL LETTER AY" #x10434) - ("DESERET SMALL LETTER OW" #x10435) - ("DESERET SMALL LETTER WU" #x10436) - ("DESERET SMALL LETTER YEE" #x10437) - ("DESERET SMALL LETTER H" #x10438) - ("DESERET SMALL LETTER PEE" #x10439) - ("DESERET SMALL LETTER BEE" #x1043A) - ("DESERET SMALL LETTER TEE" #x1043B) - ("DESERET SMALL LETTER DEE" #x1043C) - ("DESERET SMALL LETTER CHEE" #x1043D) - ("DESERET SMALL LETTER JEE" #x1043E) - ("DESERET SMALL LETTER KAY" #x1043F) - ("DESERET SMALL LETTER GAY" #x10440) - ("DESERET SMALL LETTER EF" #x10441) - ("DESERET SMALL LETTER VEE" #x10442) - ("DESERET SMALL LETTER ETH" #x10443) - ("DESERET SMALL LETTER THEE" #x10444) - ("DESERET SMALL LETTER ES" #x10445) - ("DESERET SMALL LETTER ZEE" #x10446) - ("DESERET SMALL LETTER ESH" #x10447) - ("DESERET SMALL LETTER ZHEE" #x10448) - ("DESERET SMALL LETTER ER" #x10449) - ("DESERET SMALL LETTER EL" #x1044A) - ("DESERET SMALL LETTER EM" #x1044B) - ("DESERET SMALL LETTER EN" #x1044C) - ("DESERET SMALL LETTER ENG" #x1044D) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/1D000-1D0FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/1D000-1D0FF.el deleted file mode 100644 index f1a6f36dff..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/1D000-1D0FF.el +++ /dev/null @@ -1,248 +0,0 @@ -(nxml-define-char-name-set 'byzantine-musical-symbols - '(("BYZANTINE MUSICAL SYMBOL PSILI" #x1D000) - ("BYZANTINE MUSICAL SYMBOL DASEIA" #x1D001) - ("BYZANTINE MUSICAL SYMBOL PERISPOMENI" #x1D002) - ("BYZANTINE MUSICAL SYMBOL OXEIA EKFONITIKON" #x1D003) - ("BYZANTINE MUSICAL SYMBOL OXEIA DIPLI" #x1D004) - ("BYZANTINE MUSICAL SYMBOL VAREIA EKFONITIKON" #x1D005) - ("BYZANTINE MUSICAL SYMBOL VAREIA DIPLI" #x1D006) - ("BYZANTINE MUSICAL SYMBOL KATHISTI" #x1D007) - ("BYZANTINE MUSICAL SYMBOL SYRMATIKI" #x1D008) - ("BYZANTINE MUSICAL SYMBOL PARAKLITIKI" #x1D009) - ("BYZANTINE MUSICAL SYMBOL YPOKRISIS" #x1D00A) - ("BYZANTINE MUSICAL SYMBOL YPOKRISIS DIPLI" #x1D00B) - ("BYZANTINE MUSICAL SYMBOL KREMASTI" #x1D00C) - ("BYZANTINE MUSICAL SYMBOL APESO EKFONITIKON" #x1D00D) - ("BYZANTINE MUSICAL SYMBOL EXO EKFONITIKON" #x1D00E) - ("BYZANTINE MUSICAL SYMBOL TELEIA" #x1D00F) - ("BYZANTINE MUSICAL SYMBOL KENTIMATA" #x1D010) - ("BYZANTINE MUSICAL SYMBOL APOSTROFOS" #x1D011) - ("BYZANTINE MUSICAL SYMBOL APOSTROFOS DIPLI" #x1D012) - ("BYZANTINE MUSICAL SYMBOL SYNEVMA" #x1D013) - ("BYZANTINE MUSICAL SYMBOL THITA" #x1D014) - ("BYZANTINE MUSICAL SYMBOL OLIGON ARCHAION" #x1D015) - ("BYZANTINE MUSICAL SYMBOL GORGON ARCHAION" #x1D016) - ("BYZANTINE MUSICAL SYMBOL PSILON" #x1D017) - ("BYZANTINE MUSICAL SYMBOL CHAMILON" #x1D018) - ("BYZANTINE MUSICAL SYMBOL VATHY" #x1D019) - ("BYZANTINE MUSICAL SYMBOL ISON ARCHAION" #x1D01A) - ("BYZANTINE MUSICAL SYMBOL KENTIMA ARCHAION" #x1D01B) - ("BYZANTINE MUSICAL SYMBOL KENTIMATA ARCHAION" #x1D01C) - ("BYZANTINE MUSICAL SYMBOL SAXIMATA" #x1D01D) - ("BYZANTINE MUSICAL SYMBOL PARICHON" #x1D01E) - ("BYZANTINE MUSICAL SYMBOL STAVROS APODEXIA" #x1D01F) - ("BYZANTINE MUSICAL SYMBOL OXEIAI ARCHAION" #x1D020) - ("BYZANTINE MUSICAL SYMBOL VAREIAI ARCHAION" #x1D021) - ("BYZANTINE MUSICAL SYMBOL APODERMA ARCHAION" #x1D022) - ("BYZANTINE MUSICAL SYMBOL APOTHEMA" #x1D023) - ("BYZANTINE MUSICAL SYMBOL KLASMA" #x1D024) - ("BYZANTINE MUSICAL SYMBOL REVMA" #x1D025) - ("BYZANTINE MUSICAL SYMBOL PIASMA ARCHAION" #x1D026) - ("BYZANTINE MUSICAL SYMBOL TINAGMA" #x1D027) - ("BYZANTINE MUSICAL SYMBOL ANATRICHISMA" #x1D028) - ("BYZANTINE MUSICAL SYMBOL SEISMA" #x1D029) - ("BYZANTINE MUSICAL SYMBOL SYNAGMA ARCHAION" #x1D02A) - ("BYZANTINE MUSICAL SYMBOL SYNAGMA META STAVROU" #x1D02B) - ("BYZANTINE MUSICAL SYMBOL OYRANISMA ARCHAION" #x1D02C) - ("BYZANTINE MUSICAL SYMBOL THEMA" #x1D02D) - ("BYZANTINE MUSICAL SYMBOL LEMOI" #x1D02E) - ("BYZANTINE MUSICAL SYMBOL DYO" #x1D02F) - ("BYZANTINE MUSICAL SYMBOL TRIA" #x1D030) - ("BYZANTINE MUSICAL SYMBOL TESSERA" #x1D031) - ("BYZANTINE MUSICAL SYMBOL KRATIMATA" #x1D032) - ("BYZANTINE MUSICAL SYMBOL APESO EXO NEO" #x1D033) - ("BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION" #x1D034) - ("BYZANTINE MUSICAL SYMBOL IMIFTHORA" #x1D035) - ("BYZANTINE MUSICAL SYMBOL TROMIKON ARCHAION" #x1D036) - ("BYZANTINE MUSICAL SYMBOL KATAVA TROMIKON" #x1D037) - ("BYZANTINE MUSICAL SYMBOL PELASTON" #x1D038) - ("BYZANTINE MUSICAL SYMBOL PSIFISTON" #x1D039) - ("BYZANTINE MUSICAL SYMBOL KONTEVMA" #x1D03A) - ("BYZANTINE MUSICAL SYMBOL CHOREVMA ARCHAION" #x1D03B) - ("BYZANTINE MUSICAL SYMBOL RAPISMA" #x1D03C) - ("BYZANTINE MUSICAL SYMBOL PARAKALESMA ARCHAION" #x1D03D) - ("BYZANTINE MUSICAL SYMBOL PARAKLITIKI ARCHAION" #x1D03E) - ("BYZANTINE MUSICAL SYMBOL ICHADIN" #x1D03F) - ("BYZANTINE MUSICAL SYMBOL NANA" #x1D040) - ("BYZANTINE MUSICAL SYMBOL PETASMA" #x1D041) - ("BYZANTINE MUSICAL SYMBOL KONTEVMA ALLO" #x1D042) - ("BYZANTINE MUSICAL SYMBOL TROMIKON ALLO" #x1D043) - ("BYZANTINE MUSICAL SYMBOL STRAGGISMATA" #x1D044) - ("BYZANTINE MUSICAL SYMBOL GRONTHISMATA" #x1D045) - ("BYZANTINE MUSICAL SYMBOL ISON NEO" #x1D046) - ("BYZANTINE MUSICAL SYMBOL OLIGON NEO" #x1D047) - ("BYZANTINE MUSICAL SYMBOL OXEIA NEO" #x1D048) - ("BYZANTINE MUSICAL SYMBOL PETASTI" #x1D049) - ("BYZANTINE MUSICAL SYMBOL KOUFISMA" #x1D04A) - ("BYZANTINE MUSICAL SYMBOL PETASTOKOUFISMA" #x1D04B) - ("BYZANTINE MUSICAL SYMBOL KRATIMOKOUFISMA" #x1D04C) - ("BYZANTINE MUSICAL SYMBOL PELASTON NEO" #x1D04D) - ("BYZANTINE MUSICAL SYMBOL KENTIMATA NEO ANO" #x1D04E) - ("BYZANTINE MUSICAL SYMBOL KENTIMA NEO ANO" #x1D04F) - ("BYZANTINE MUSICAL SYMBOL YPSILI" #x1D050) - ("BYZANTINE MUSICAL SYMBOL APOSTROFOS NEO" #x1D051) - ("BYZANTINE MUSICAL SYMBOL APOSTROFOI SYNDESMOS NEO" #x1D052) - ("BYZANTINE MUSICAL SYMBOL YPORROI" #x1D053) - ("BYZANTINE MUSICAL SYMBOL KRATIMOYPORROON" #x1D054) - ("BYZANTINE MUSICAL SYMBOL ELAFRON" #x1D055) - ("BYZANTINE MUSICAL SYMBOL CHAMILI" #x1D056) - ("BYZANTINE MUSICAL SYMBOL MIKRON ISON" #x1D057) - ("BYZANTINE MUSICAL SYMBOL VAREIA NEO" #x1D058) - ("BYZANTINE MUSICAL SYMBOL PIASMA NEO" #x1D059) - ("BYZANTINE MUSICAL SYMBOL PSIFISTON NEO" #x1D05A) - ("BYZANTINE MUSICAL SYMBOL OMALON" #x1D05B) - ("BYZANTINE MUSICAL SYMBOL ANTIKENOMA" #x1D05C) - ("BYZANTINE MUSICAL SYMBOL LYGISMA" #x1D05D) - ("BYZANTINE MUSICAL SYMBOL PARAKLITIKI NEO" #x1D05E) - ("BYZANTINE MUSICAL SYMBOL PARAKALESMA NEO" #x1D05F) - ("BYZANTINE MUSICAL SYMBOL ETERON PARAKALESMA" #x1D060) - ("BYZANTINE MUSICAL SYMBOL KYLISMA" #x1D061) - ("BYZANTINE MUSICAL SYMBOL ANTIKENOKYLISMA" #x1D062) - ("BYZANTINE MUSICAL SYMBOL TROMIKON NEO" #x1D063) - ("BYZANTINE MUSICAL SYMBOL EKSTREPTON" #x1D064) - ("BYZANTINE MUSICAL SYMBOL SYNAGMA NEO" #x1D065) - ("BYZANTINE MUSICAL SYMBOL SYRMA" #x1D066) - ("BYZANTINE MUSICAL SYMBOL CHOREVMA NEO" #x1D067) - ("BYZANTINE MUSICAL SYMBOL EPEGERMA" #x1D068) - ("BYZANTINE MUSICAL SYMBOL SEISMA NEO" #x1D069) - ("BYZANTINE MUSICAL SYMBOL XIRON KLASMA" #x1D06A) - ("BYZANTINE MUSICAL SYMBOL TROMIKOPSIFISTON" #x1D06B) - ("BYZANTINE MUSICAL SYMBOL PSIFISTOLYGISMA" #x1D06C) - ("BYZANTINE MUSICAL SYMBOL TROMIKOLYGISMA" #x1D06D) - ("BYZANTINE MUSICAL SYMBOL TROMIKOPARAKALESMA" #x1D06E) - ("BYZANTINE MUSICAL SYMBOL PSIFISTOPARAKALESMA" #x1D06F) - ("BYZANTINE MUSICAL SYMBOL TROMIKOSYNAGMA" #x1D070) - ("BYZANTINE MUSICAL SYMBOL PSIFISTOSYNAGMA" #x1D071) - ("BYZANTINE MUSICAL SYMBOL GORGOSYNTHETON" #x1D072) - ("BYZANTINE MUSICAL SYMBOL ARGOSYNTHETON" #x1D073) - ("BYZANTINE MUSICAL SYMBOL ETERON ARGOSYNTHETON" #x1D074) - ("BYZANTINE MUSICAL SYMBOL OYRANISMA NEO" #x1D075) - ("BYZANTINE MUSICAL SYMBOL THEMATISMOS ESO" #x1D076) - ("BYZANTINE MUSICAL SYMBOL THEMATISMOS EXO" #x1D077) - ("BYZANTINE MUSICAL SYMBOL THEMA APLOUN" #x1D078) - ("BYZANTINE MUSICAL SYMBOL THES KAI APOTHES" #x1D079) - ("BYZANTINE MUSICAL SYMBOL KATAVASMA" #x1D07A) - ("BYZANTINE MUSICAL SYMBOL ENDOFONON" #x1D07B) - ("BYZANTINE MUSICAL SYMBOL YFEN KATO" #x1D07C) - ("BYZANTINE MUSICAL SYMBOL YFEN ANO" #x1D07D) - ("BYZANTINE MUSICAL SYMBOL STAVROS" #x1D07E) - ("BYZANTINE MUSICAL SYMBOL KLASMA ANO" #x1D07F) - ("BYZANTINE MUSICAL SYMBOL DIPLI ARCHAION" #x1D080) - ("BYZANTINE MUSICAL SYMBOL KRATIMA ARCHAION" #x1D081) - ("BYZANTINE MUSICAL SYMBOL KRATIMA ALLO" #x1D082) - ("BYZANTINE MUSICAL SYMBOL KRATIMA NEO" #x1D083) - ("BYZANTINE MUSICAL SYMBOL APODERMA NEO" #x1D084) - ("BYZANTINE MUSICAL SYMBOL APLI" #x1D085) - ("BYZANTINE MUSICAL SYMBOL DIPLI" #x1D086) - ("BYZANTINE MUSICAL SYMBOL TRIPLI" #x1D087) - ("BYZANTINE MUSICAL SYMBOL TETRAPLI" #x1D088) - ("BYZANTINE MUSICAL SYMBOL KORONIS" #x1D089) - ("BYZANTINE MUSICAL SYMBOL LEIMMA ENOS CHRONOU" #x1D08A) - ("BYZANTINE MUSICAL SYMBOL LEIMMA DYO CHRONON" #x1D08B) - ("BYZANTINE MUSICAL SYMBOL LEIMMA TRION CHRONON" #x1D08C) - ("BYZANTINE MUSICAL SYMBOL LEIMMA TESSARON CHRONON" #x1D08D) - ("BYZANTINE MUSICAL SYMBOL LEIMMA IMISEOS CHRONOU" #x1D08E) - ("BYZANTINE MUSICAL SYMBOL GORGON NEO ANO" #x1D08F) - ("BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON ARISTERA" #x1D090) - ("BYZANTINE MUSICAL SYMBOL GORGON PARESTIGMENON DEXIA" #x1D091) - ("BYZANTINE MUSICAL SYMBOL DIGORGON" #x1D092) - ("BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA KATO" #x1D093) - ("BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON ARISTERA ANO" #x1D094) - ("BYZANTINE MUSICAL SYMBOL DIGORGON PARESTIGMENON DEXIA" #x1D095) - ("BYZANTINE MUSICAL SYMBOL TRIGORGON" #x1D096) - ("BYZANTINE MUSICAL SYMBOL ARGON" #x1D097) - ("BYZANTINE MUSICAL SYMBOL IMIDIARGON" #x1D098) - ("BYZANTINE MUSICAL SYMBOL DIARGON" #x1D099) - ("BYZANTINE MUSICAL SYMBOL AGOGI POLI ARGI" #x1D09A) - ("BYZANTINE MUSICAL SYMBOL AGOGI ARGOTERI" #x1D09B) - ("BYZANTINE MUSICAL SYMBOL AGOGI ARGI" #x1D09C) - ("BYZANTINE MUSICAL SYMBOL AGOGI METRIA" #x1D09D) - ("BYZANTINE MUSICAL SYMBOL AGOGI MESI" #x1D09E) - ("BYZANTINE MUSICAL SYMBOL AGOGI GORGI" #x1D09F) - ("BYZANTINE MUSICAL SYMBOL AGOGI GORGOTERI" #x1D0A0) - ("BYZANTINE MUSICAL SYMBOL AGOGI POLI GORGI" #x1D0A1) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOS ICHOS" #x1D0A2) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI PROTOS ICHOS" #x1D0A3) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA DEYTEROS ICHOS" #x1D0A4) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA ALLI DEYTEROS ICHOS" #x1D0A5) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA TRITOS ICHOS" #x1D0A6) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA TRIFONIAS" #x1D0A7) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS ICHOS" #x1D0A8) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA TETARTOS LEGETOS ICHOS" #x1D0A9) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA LEGETOS ICHOS" #x1D0AA) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS ICHOS" #x1D0AB) - ("BYZANTINE MUSICAL SYMBOL ISAKIA TELOUS ICHIMATOS" #x1D0AC) - ("BYZANTINE MUSICAL SYMBOL APOSTROFOI TELOUS ICHIMATOS" #x1D0AD) - ("BYZANTINE MUSICAL SYMBOL FANEROSIS TETRAFONIAS" #x1D0AE) - ("BYZANTINE MUSICAL SYMBOL FANEROSIS MONOFONIAS" #x1D0AF) - ("BYZANTINE MUSICAL SYMBOL FANEROSIS DIFONIAS" #x1D0B0) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA VARYS ICHOS" #x1D0B1) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA PROTOVARYS ICHOS" #x1D0B2) - ("BYZANTINE MUSICAL SYMBOL MARTYRIA PLAGIOS TETARTOS ICHOS" #x1D0B3) - ("BYZANTINE MUSICAL SYMBOL GORTHMIKON N APLOUN" #x1D0B4) - ("BYZANTINE MUSICAL SYMBOL GORTHMIKON N DIPLOUN" #x1D0B5) - ("BYZANTINE MUSICAL SYMBOL ENARXIS KAI FTHORA VOU" #x1D0B6) - ("BYZANTINE MUSICAL SYMBOL IMIFONON" #x1D0B7) - ("BYZANTINE MUSICAL SYMBOL IMIFTHORON" #x1D0B8) - ("BYZANTINE MUSICAL SYMBOL FTHORA ARCHAION DEYTEROU ICHOU" #x1D0B9) - ("BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI PA" #x1D0BA) - ("BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NANA" #x1D0BB) - ("BYZANTINE MUSICAL SYMBOL FTHORA NAOS ICHOS" #x1D0BC) - ("BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI DI" #x1D0BD) - ("BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON DIATONON DI" #x1D0BE) - ("BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI KE" #x1D0BF) - ("BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI ZO" #x1D0C0) - ("BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI KATO" #x1D0C1) - ("BYZANTINE MUSICAL SYMBOL FTHORA DIATONIKI NI ANO" #x1D0C2) - ("BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA DIFONIAS" #x1D0C3) - ("BYZANTINE MUSICAL SYMBOL FTHORA MALAKON CHROMA MONOFONIAS" #x1D0C4) - ("BYZANTINE MUSICAL SYMBOL FHTORA SKLIRON CHROMA VASIS" #x1D0C5) - ("BYZANTINE MUSICAL SYMBOL FTHORA SKLIRON CHROMA SYNAFI" #x1D0C6) - ("BYZANTINE MUSICAL SYMBOL FTHORA NENANO" #x1D0C7) - ("BYZANTINE MUSICAL SYMBOL CHROA ZYGOS" #x1D0C8) - ("BYZANTINE MUSICAL SYMBOL CHROA KLITON" #x1D0C9) - ("BYZANTINE MUSICAL SYMBOL CHROA SPATHI" #x1D0CA) - ("BYZANTINE MUSICAL SYMBOL FTHORA I YFESIS TETARTIMORION" #x1D0CB) - ("BYZANTINE MUSICAL SYMBOL FTHORA ENARMONIOS ANTIFONIA" #x1D0CC) - ("BYZANTINE MUSICAL SYMBOL YFESIS TRITIMORION" #x1D0CD) - ("BYZANTINE MUSICAL SYMBOL DIESIS TRITIMORION" #x1D0CE) - ("BYZANTINE MUSICAL SYMBOL DIESIS TETARTIMORION" #x1D0CF) - ("BYZANTINE MUSICAL SYMBOL DIESIS APLI DYO DODEKATA" #x1D0D0) - ("BYZANTINE MUSICAL SYMBOL DIESIS MONOGRAMMOS TESSERA DODEKATA" #x1D0D1) - ("BYZANTINE MUSICAL SYMBOL DIESIS DIGRAMMOS EX DODEKATA" #x1D0D2) - ("BYZANTINE MUSICAL SYMBOL DIESIS TRIGRAMMOS OKTO DODEKATA" #x1D0D3) - ("BYZANTINE MUSICAL SYMBOL YFESIS APLI DYO DODEKATA" #x1D0D4) - ("BYZANTINE MUSICAL SYMBOL YFESIS MONOGRAMMOS TESSERA DODEKATA" #x1D0D5) - ("BYZANTINE MUSICAL SYMBOL YFESIS DIGRAMMOS EX DODEKATA" #x1D0D6) - ("BYZANTINE MUSICAL SYMBOL YFESIS TRIGRAMMOS OKTO DODEKATA" #x1D0D7) - ("BYZANTINE MUSICAL SYMBOL GENIKI DIESIS" #x1D0D8) - ("BYZANTINE MUSICAL SYMBOL GENIKI YFESIS" #x1D0D9) - ("BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MIKRI" #x1D0DA) - ("BYZANTINE MUSICAL SYMBOL DIASTOLI APLI MEGALI" #x1D0DB) - ("BYZANTINE MUSICAL SYMBOL DIASTOLI DIPLI" #x1D0DC) - ("BYZANTINE MUSICAL SYMBOL DIASTOLI THESEOS" #x1D0DD) - ("BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS" #x1D0DE) - ("BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS DISIMOU" #x1D0DF) - ("BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TRISIMOU" #x1D0E0) - ("BYZANTINE MUSICAL SYMBOL SIMANSIS THESEOS TETRASIMOU" #x1D0E1) - ("BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS" #x1D0E2) - ("BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS DISIMOU" #x1D0E3) - ("BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TRISIMOU" #x1D0E4) - ("BYZANTINE MUSICAL SYMBOL SIMANSIS ARSEOS TETRASIMOU" #x1D0E5) - ("BYZANTINE MUSICAL SYMBOL DIGRAMMA GG" #x1D0E6) - ("BYZANTINE MUSICAL SYMBOL DIFTOGGOS OU" #x1D0E7) - ("BYZANTINE MUSICAL SYMBOL STIGMA" #x1D0E8) - ("BYZANTINE MUSICAL SYMBOL ARKTIKO PA" #x1D0E9) - ("BYZANTINE MUSICAL SYMBOL ARKTIKO VOU" #x1D0EA) - ("BYZANTINE MUSICAL SYMBOL ARKTIKO GA" #x1D0EB) - ("BYZANTINE MUSICAL SYMBOL ARKTIKO DI" #x1D0EC) - ("BYZANTINE MUSICAL SYMBOL ARKTIKO KE" #x1D0ED) - ("BYZANTINE MUSICAL SYMBOL ARKTIKO ZO" #x1D0EE) - ("BYZANTINE MUSICAL SYMBOL ARKTIKO NI" #x1D0EF) - ("BYZANTINE MUSICAL SYMBOL KENTIMATA NEO MESO" #x1D0F0) - ("BYZANTINE MUSICAL SYMBOL KENTIMA NEO MESO" #x1D0F1) - ("BYZANTINE MUSICAL SYMBOL KENTIMATA NEO KATO" #x1D0F2) - ("BYZANTINE MUSICAL SYMBOL KENTIMA NEO KATO" #x1D0F3) - ("BYZANTINE MUSICAL SYMBOL KLASMA KATO" #x1D0F4) - ("BYZANTINE MUSICAL SYMBOL GORGON NEO KATO" #x1D0F5) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/1D100-1D1FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/1D100-1D1FF.el deleted file mode 100644 index 29803dd0a7..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/1D100-1D1FF.el +++ /dev/null @@ -1,221 +0,0 @@ -(nxml-define-char-name-set 'musical-symbols - '(("MUSICAL SYMBOL SINGLE BARLINE" #x1D100) - ("MUSICAL SYMBOL DOUBLE BARLINE" #x1D101) - ("MUSICAL SYMBOL FINAL BARLINE" #x1D102) - ("MUSICAL SYMBOL REVERSE FINAL BARLINE" #x1D103) - ("MUSICAL SYMBOL DASHED BARLINE" #x1D104) - ("MUSICAL SYMBOL SHORT BARLINE" #x1D105) - ("MUSICAL SYMBOL LEFT REPEAT SIGN" #x1D106) - ("MUSICAL SYMBOL RIGHT REPEAT SIGN" #x1D107) - ("MUSICAL SYMBOL REPEAT DOTS" #x1D108) - ("MUSICAL SYMBOL DAL SEGNO" #x1D109) - ("MUSICAL SYMBOL DA CAPO" #x1D10A) - ("MUSICAL SYMBOL SEGNO" #x1D10B) - ("MUSICAL SYMBOL CODA" #x1D10C) - ("MUSICAL SYMBOL REPEATED FIGURE-1" #x1D10D) - ("MUSICAL SYMBOL REPEATED FIGURE-2" #x1D10E) - ("MUSICAL SYMBOL REPEATED FIGURE-3" #x1D10F) - ("MUSICAL SYMBOL FERMATA" #x1D110) - ("MUSICAL SYMBOL FERMATA BELOW" #x1D111) - ("MUSICAL SYMBOL BREATH MARK" #x1D112) - ("MUSICAL SYMBOL CAESURA" #x1D113) - ("MUSICAL SYMBOL BRACE" #x1D114) - ("MUSICAL SYMBOL BRACKET" #x1D115) - ("MUSICAL SYMBOL ONE-LINE STAFF" #x1D116) - ("MUSICAL SYMBOL TWO-LINE STAFF" #x1D117) - ("MUSICAL SYMBOL THREE-LINE STAFF" #x1D118) - ("MUSICAL SYMBOL FOUR-LINE STAFF" #x1D119) - ("MUSICAL SYMBOL FIVE-LINE STAFF" #x1D11A) - ("MUSICAL SYMBOL SIX-LINE STAFF" #x1D11B) - ("MUSICAL SYMBOL SIX-STRING FRETBOARD" #x1D11C) - ("MUSICAL SYMBOL FOUR-STRING FRETBOARD" #x1D11D) - ("MUSICAL SYMBOL G CLEF" #x1D11E) - ("MUSICAL SYMBOL G CLEF OTTAVA ALTA" #x1D11F) - ("MUSICAL SYMBOL G CLEF OTTAVA BASSA" #x1D120) - ("MUSICAL SYMBOL C CLEF" #x1D121) - ("MUSICAL SYMBOL F CLEF" #x1D122) - ("MUSICAL SYMBOL F CLEF OTTAVA ALTA" #x1D123) - ("MUSICAL SYMBOL F CLEF OTTAVA BASSA" #x1D124) - ("MUSICAL SYMBOL DRUM CLEF-1" #x1D125) - ("MUSICAL SYMBOL DRUM CLEF-2" #x1D126) - ("MUSICAL SYMBOL DOUBLE SHARP" #x1D12A) - ("MUSICAL SYMBOL DOUBLE FLAT" #x1D12B) - ("MUSICAL SYMBOL FLAT UP" #x1D12C) - ("MUSICAL SYMBOL FLAT DOWN" #x1D12D) - ("MUSICAL SYMBOL NATURAL UP" #x1D12E) - ("MUSICAL SYMBOL NATURAL DOWN" #x1D12F) - ("MUSICAL SYMBOL SHARP UP" #x1D130) - ("MUSICAL SYMBOL SHARP DOWN" #x1D131) - ("MUSICAL SYMBOL QUARTER TONE SHARP" #x1D132) - ("MUSICAL SYMBOL QUARTER TONE FLAT" #x1D133) - ("MUSICAL SYMBOL COMMON TIME" #x1D134) - ("MUSICAL SYMBOL CUT TIME" #x1D135) - ("MUSICAL SYMBOL OTTAVA ALTA" #x1D136) - ("MUSICAL SYMBOL OTTAVA BASSA" #x1D137) - ("MUSICAL SYMBOL QUINDICESIMA ALTA" #x1D138) - ("MUSICAL SYMBOL QUINDICESIMA BASSA" #x1D139) - ("MUSICAL SYMBOL MULTI REST" #x1D13A) - ("MUSICAL SYMBOL WHOLE REST" #x1D13B) - ("MUSICAL SYMBOL HALF REST" #x1D13C) - ("MUSICAL SYMBOL QUARTER REST" #x1D13D) - ("MUSICAL SYMBOL EIGHTH REST" #x1D13E) - ("MUSICAL SYMBOL SIXTEENTH REST" #x1D13F) - ("MUSICAL SYMBOL THIRTY-SECOND REST" #x1D140) - ("MUSICAL SYMBOL SIXTY-FOURTH REST" #x1D141) - ("MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH REST" #x1D142) - ("MUSICAL SYMBOL X NOTEHEAD" #x1D143) - ("MUSICAL SYMBOL PLUS NOTEHEAD" #x1D144) - ("MUSICAL SYMBOL CIRCLE X NOTEHEAD" #x1D145) - ("MUSICAL SYMBOL SQUARE NOTEHEAD WHITE" #x1D146) - ("MUSICAL SYMBOL SQUARE NOTEHEAD BLACK" #x1D147) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD UP WHITE" #x1D148) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD UP BLACK" #x1D149) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT WHITE" #x1D14A) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD LEFT BLACK" #x1D14B) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT WHITE" #x1D14C) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD RIGHT BLACK" #x1D14D) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN WHITE" #x1D14E) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD DOWN BLACK" #x1D14F) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT WHITE" #x1D150) - ("MUSICAL SYMBOL TRIANGLE NOTEHEAD UP RIGHT BLACK" #x1D151) - ("MUSICAL SYMBOL MOON NOTEHEAD WHITE" #x1D152) - ("MUSICAL SYMBOL MOON NOTEHEAD BLACK" #x1D153) - ("MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN WHITE" #x1D154) - ("MUSICAL SYMBOL TRIANGLE-ROUND NOTEHEAD DOWN BLACK" #x1D155) - ("MUSICAL SYMBOL PARENTHESIS NOTEHEAD" #x1D156) - ("MUSICAL SYMBOL VOID NOTEHEAD" #x1D157) - ("MUSICAL SYMBOL NOTEHEAD BLACK" #x1D158) - ("MUSICAL SYMBOL NULL NOTEHEAD" #x1D159) - ("MUSICAL SYMBOL CLUSTER NOTEHEAD WHITE" #x1D15A) - ("MUSICAL SYMBOL CLUSTER NOTEHEAD BLACK" #x1D15B) - ("MUSICAL SYMBOL BREVE" #x1D15C) - ("MUSICAL SYMBOL WHOLE NOTE" #x1D15D) - ("MUSICAL SYMBOL HALF NOTE" #x1D15E) - ("MUSICAL SYMBOL QUARTER NOTE" #x1D15F) - ("MUSICAL SYMBOL EIGHTH NOTE" #x1D160) - ("MUSICAL SYMBOL SIXTEENTH NOTE" #x1D161) - ("MUSICAL SYMBOL THIRTY-SECOND NOTE" #x1D162) - ("MUSICAL SYMBOL SIXTY-FOURTH NOTE" #x1D163) - ("MUSICAL SYMBOL ONE HUNDRED TWENTY-EIGHTH NOTE" #x1D164) - ("MUSICAL SYMBOL COMBINING STEM" #x1D165) - ("MUSICAL SYMBOL COMBINING SPRECHGESANG STEM" #x1D166) - ("MUSICAL SYMBOL COMBINING TREMOLO-1" #x1D167) - ("MUSICAL SYMBOL COMBINING TREMOLO-2" #x1D168) - ("MUSICAL SYMBOL COMBINING TREMOLO-3" #x1D169) - ("MUSICAL SYMBOL FINGERED TREMOLO-1" #x1D16A) - ("MUSICAL SYMBOL FINGERED TREMOLO-2" #x1D16B) - ("MUSICAL SYMBOL FINGERED TREMOLO-3" #x1D16C) - ("MUSICAL SYMBOL COMBINING AUGMENTATION DOT" #x1D16D) - ("MUSICAL SYMBOL COMBINING FLAG-1" #x1D16E) - ("MUSICAL SYMBOL COMBINING FLAG-2" #x1D16F) - ("MUSICAL SYMBOL COMBINING FLAG-3" #x1D170) - ("MUSICAL SYMBOL COMBINING FLAG-4" #x1D171) - ("MUSICAL SYMBOL COMBINING FLAG-5" #x1D172) - ("MUSICAL SYMBOL BEGIN BEAM" #x1D173) - ("MUSICAL SYMBOL END BEAM" #x1D174) - ("MUSICAL SYMBOL BEGIN TIE" #x1D175) - ("MUSICAL SYMBOL END TIE" #x1D176) - ("MUSICAL SYMBOL BEGIN SLUR" #x1D177) - ("MUSICAL SYMBOL END SLUR" #x1D178) - ("MUSICAL SYMBOL BEGIN PHRASE" #x1D179) - ("MUSICAL SYMBOL END PHRASE" #x1D17A) - ("MUSICAL SYMBOL COMBINING ACCENT" #x1D17B) - ("MUSICAL SYMBOL COMBINING STACCATO" #x1D17C) - ("MUSICAL SYMBOL COMBINING TENUTO" #x1D17D) - ("MUSICAL SYMBOL COMBINING STACCATISSIMO" #x1D17E) - ("MUSICAL SYMBOL COMBINING MARCATO" #x1D17F) - ("MUSICAL SYMBOL COMBINING MARCATO-STACCATO" #x1D180) - ("MUSICAL SYMBOL COMBINING ACCENT-STACCATO" #x1D181) - ("MUSICAL SYMBOL COMBINING LOURE" #x1D182) - ("MUSICAL SYMBOL ARPEGGIATO UP" #x1D183) - ("MUSICAL SYMBOL ARPEGGIATO DOWN" #x1D184) - ("MUSICAL SYMBOL COMBINING DOIT" #x1D185) - ("MUSICAL SYMBOL COMBINING RIP" #x1D186) - ("MUSICAL SYMBOL COMBINING FLIP" #x1D187) - ("MUSICAL SYMBOL COMBINING SMEAR" #x1D188) - ("MUSICAL SYMBOL COMBINING BEND" #x1D189) - ("MUSICAL SYMBOL COMBINING DOUBLE TONGUE" #x1D18A) - ("MUSICAL SYMBOL COMBINING TRIPLE TONGUE" #x1D18B) - ("MUSICAL SYMBOL RINFORZANDO" #x1D18C) - ("MUSICAL SYMBOL SUBITO" #x1D18D) - ("MUSICAL SYMBOL Z" #x1D18E) - ("MUSICAL SYMBOL PIANO" #x1D18F) - ("MUSICAL SYMBOL MEZZO" #x1D190) - ("MUSICAL SYMBOL FORTE" #x1D191) - ("MUSICAL SYMBOL CRESCENDO" #x1D192) - ("MUSICAL SYMBOL DECRESCENDO" #x1D193) - ("MUSICAL SYMBOL GRACE NOTE SLASH" #x1D194) - ("MUSICAL SYMBOL GRACE NOTE NO SLASH" #x1D195) - ("MUSICAL SYMBOL TR" #x1D196) - ("MUSICAL SYMBOL TURN" #x1D197) - ("MUSICAL SYMBOL INVERTED TURN" #x1D198) - ("MUSICAL SYMBOL TURN SLASH" #x1D199) - ("MUSICAL SYMBOL TURN UP" #x1D19A) - ("MUSICAL SYMBOL ORNAMENT STROKE-1" #x1D19B) - ("MUSICAL SYMBOL ORNAMENT STROKE-2" #x1D19C) - ("MUSICAL SYMBOL ORNAMENT STROKE-3" #x1D19D) - ("MUSICAL SYMBOL ORNAMENT STROKE-4" #x1D19E) - ("MUSICAL SYMBOL ORNAMENT STROKE-5" #x1D19F) - ("MUSICAL SYMBOL ORNAMENT STROKE-6" #x1D1A0) - ("MUSICAL SYMBOL ORNAMENT STROKE-7" #x1D1A1) - ("MUSICAL SYMBOL ORNAMENT STROKE-8" #x1D1A2) - ("MUSICAL SYMBOL ORNAMENT STROKE-9" #x1D1A3) - ("MUSICAL SYMBOL ORNAMENT STROKE-10" #x1D1A4) - ("MUSICAL SYMBOL ORNAMENT STROKE-11" #x1D1A5) - ("MUSICAL SYMBOL HAUPTSTIMME" #x1D1A6) - ("MUSICAL SYMBOL NEBENSTIMME" #x1D1A7) - ("MUSICAL SYMBOL END OF STIMME" #x1D1A8) - ("MUSICAL SYMBOL DEGREE SLASH" #x1D1A9) - ("MUSICAL SYMBOL COMBINING DOWN BOW" #x1D1AA) - ("MUSICAL SYMBOL COMBINING UP BOW" #x1D1AB) - ("MUSICAL SYMBOL COMBINING HARMONIC" #x1D1AC) - ("MUSICAL SYMBOL COMBINING SNAP PIZZICATO" #x1D1AD) - ("MUSICAL SYMBOL PEDAL MARK" #x1D1AE) - ("MUSICAL SYMBOL PEDAL UP MARK" #x1D1AF) - ("MUSICAL SYMBOL HALF PEDAL MARK" #x1D1B0) - ("MUSICAL SYMBOL GLISSANDO UP" #x1D1B1) - ("MUSICAL SYMBOL GLISSANDO DOWN" #x1D1B2) - ("MUSICAL SYMBOL WITH FINGERNAILS" #x1D1B3) - ("MUSICAL SYMBOL DAMP" #x1D1B4) - ("MUSICAL SYMBOL DAMP ALL" #x1D1B5) - ("MUSICAL SYMBOL MAXIMA" #x1D1B6) - ("MUSICAL SYMBOL LONGA" #x1D1B7) - ("MUSICAL SYMBOL BREVIS" #x1D1B8) - ("MUSICAL SYMBOL SEMIBREVIS WHITE" #x1D1B9) - ("MUSICAL SYMBOL SEMIBREVIS BLACK" #x1D1BA) - ("MUSICAL SYMBOL MINIMA" #x1D1BB) - ("MUSICAL SYMBOL MINIMA BLACK" #x1D1BC) - ("MUSICAL SYMBOL SEMIMINIMA WHITE" #x1D1BD) - ("MUSICAL SYMBOL SEMIMINIMA BLACK" #x1D1BE) - ("MUSICAL SYMBOL FUSA WHITE" #x1D1BF) - ("MUSICAL SYMBOL FUSA BLACK" #x1D1C0) - ("MUSICAL SYMBOL LONGA PERFECTA REST" #x1D1C1) - ("MUSICAL SYMBOL LONGA IMPERFECTA REST" #x1D1C2) - ("MUSICAL SYMBOL BREVIS REST" #x1D1C3) - ("MUSICAL SYMBOL SEMIBREVIS REST" #x1D1C4) - ("MUSICAL SYMBOL MINIMA REST" #x1D1C5) - ("MUSICAL SYMBOL SEMIMINIMA REST" #x1D1C6) - ("MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA" #x1D1C7) - ("MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE IMPERFECTA" #x1D1C8) - ("MUSICAL SYMBOL TEMPUS PERFECTUM CUM PROLATIONE PERFECTA DIMINUTION-1" #x1D1C9) - ("MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE PERFECTA" #x1D1CA) - ("MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA" #x1D1CB) - ("MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-1" #x1D1CC) - ("MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-2" #x1D1CD) - ("MUSICAL SYMBOL TEMPUS IMPERFECTUM CUM PROLATIONE IMPERFECTA DIMINUTION-3" #x1D1CE) - ("MUSICAL SYMBOL CROIX" #x1D1CF) - ("MUSICAL SYMBOL GREGORIAN C CLEF" #x1D1D0) - ("MUSICAL SYMBOL GREGORIAN F CLEF" #x1D1D1) - ("MUSICAL SYMBOL SQUARE B" #x1D1D2) - ("MUSICAL SYMBOL VIRGA" #x1D1D3) - ("MUSICAL SYMBOL PODATUS" #x1D1D4) - ("MUSICAL SYMBOL CLIVIS" #x1D1D5) - ("MUSICAL SYMBOL SCANDICUS" #x1D1D6) - ("MUSICAL SYMBOL CLIMACUS" #x1D1D7) - ("MUSICAL SYMBOL TORCULUS" #x1D1D8) - ("MUSICAL SYMBOL PORRECTUS" #x1D1D9) - ("MUSICAL SYMBOL PORRECTUS FLEXUS" #x1D1DA) - ("MUSICAL SYMBOL SCANDICUS FLEXUS" #x1D1DB) - ("MUSICAL SYMBOL TORCULUS RESUPINUS" #x1D1DC) - ("MUSICAL SYMBOL PES SUBPUNCTIS" #x1D1DD) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/1D400-1D7FF.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/1D400-1D7FF.el deleted file mode 100644 index 98e8c2382c..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/1D400-1D7FF.el +++ /dev/null @@ -1,993 +0,0 @@ -(nxml-define-char-name-set 'mathematical-alphanumeric-symbols - '(("MATHEMATICAL BOLD CAPITAL A" #x1D400) - ("MATHEMATICAL BOLD CAPITAL B" #x1D401) - ("MATHEMATICAL BOLD CAPITAL C" #x1D402) - ("MATHEMATICAL BOLD CAPITAL D" #x1D403) - ("MATHEMATICAL BOLD CAPITAL E" #x1D404) - ("MATHEMATICAL BOLD CAPITAL F" #x1D405) - ("MATHEMATICAL BOLD CAPITAL G" #x1D406) - ("MATHEMATICAL BOLD CAPITAL H" #x1D407) - ("MATHEMATICAL BOLD CAPITAL I" #x1D408) - ("MATHEMATICAL BOLD CAPITAL J" #x1D409) - ("MATHEMATICAL BOLD CAPITAL K" #x1D40A) - ("MATHEMATICAL BOLD CAPITAL L" #x1D40B) - ("MATHEMATICAL BOLD CAPITAL M" #x1D40C) - ("MATHEMATICAL BOLD CAPITAL N" #x1D40D) - ("MATHEMATICAL BOLD CAPITAL O" #x1D40E) - ("MATHEMATICAL BOLD CAPITAL P" #x1D40F) - ("MATHEMATICAL BOLD CAPITAL Q" #x1D410) - ("MATHEMATICAL BOLD CAPITAL R" #x1D411) - ("MATHEMATICAL BOLD CAPITAL S" #x1D412) - ("MATHEMATICAL BOLD CAPITAL T" #x1D413) - ("MATHEMATICAL BOLD CAPITAL U" #x1D414) - ("MATHEMATICAL BOLD CAPITAL V" #x1D415) - ("MATHEMATICAL BOLD CAPITAL W" #x1D416) - ("MATHEMATICAL BOLD CAPITAL X" #x1D417) - ("MATHEMATICAL BOLD CAPITAL Y" #x1D418) - ("MATHEMATICAL BOLD CAPITAL Z" #x1D419) - ("MATHEMATICAL BOLD SMALL A" #x1D41A) - ("MATHEMATICAL BOLD SMALL B" #x1D41B) - ("MATHEMATICAL BOLD SMALL C" #x1D41C) - ("MATHEMATICAL BOLD SMALL D" #x1D41D) - ("MATHEMATICAL BOLD SMALL E" #x1D41E) - ("MATHEMATICAL BOLD SMALL F" #x1D41F) - ("MATHEMATICAL BOLD SMALL G" #x1D420) - ("MATHEMATICAL BOLD SMALL H" #x1D421) - ("MATHEMATICAL BOLD SMALL I" #x1D422) - ("MATHEMATICAL BOLD SMALL J" #x1D423) - ("MATHEMATICAL BOLD SMALL K" #x1D424) - ("MATHEMATICAL BOLD SMALL L" #x1D425) - ("MATHEMATICAL BOLD SMALL M" #x1D426) - ("MATHEMATICAL BOLD SMALL N" #x1D427) - ("MATHEMATICAL BOLD SMALL O" #x1D428) - ("MATHEMATICAL BOLD SMALL P" #x1D429) - ("MATHEMATICAL BOLD SMALL Q" #x1D42A) - ("MATHEMATICAL BOLD SMALL R" #x1D42B) - ("MATHEMATICAL BOLD SMALL S" #x1D42C) - ("MATHEMATICAL BOLD SMALL T" #x1D42D) - ("MATHEMATICAL BOLD SMALL U" #x1D42E) - ("MATHEMATICAL BOLD SMALL V" #x1D42F) - ("MATHEMATICAL BOLD SMALL W" #x1D430) - ("MATHEMATICAL BOLD SMALL X" #x1D431) - ("MATHEMATICAL BOLD SMALL Y" #x1D432) - ("MATHEMATICAL BOLD SMALL Z" #x1D433) - ("MATHEMATICAL ITALIC CAPITAL A" #x1D434) - ("MATHEMATICAL ITALIC CAPITAL B" #x1D435) - ("MATHEMATICAL ITALIC CAPITAL C" #x1D436) - ("MATHEMATICAL ITALIC CAPITAL D" #x1D437) - ("MATHEMATICAL ITALIC CAPITAL E" #x1D438) - ("MATHEMATICAL ITALIC CAPITAL F" #x1D439) - ("MATHEMATICAL ITALIC CAPITAL G" #x1D43A) - ("MATHEMATICAL ITALIC CAPITAL H" #x1D43B) - ("MATHEMATICAL ITALIC CAPITAL I" #x1D43C) - ("MATHEMATICAL ITALIC CAPITAL J" #x1D43D) - ("MATHEMATICAL ITALIC CAPITAL K" #x1D43E) - ("MATHEMATICAL ITALIC CAPITAL L" #x1D43F) - ("MATHEMATICAL ITALIC CAPITAL M" #x1D440) - ("MATHEMATICAL ITALIC CAPITAL N" #x1D441) - ("MATHEMATICAL ITALIC CAPITAL O" #x1D442) - ("MATHEMATICAL ITALIC CAPITAL P" #x1D443) - ("MATHEMATICAL ITALIC CAPITAL Q" #x1D444) - ("MATHEMATICAL ITALIC CAPITAL R" #x1D445) - ("MATHEMATICAL ITALIC CAPITAL S" #x1D446) - ("MATHEMATICAL ITALIC CAPITAL T" #x1D447) - ("MATHEMATICAL ITALIC CAPITAL U" #x1D448) - ("MATHEMATICAL ITALIC CAPITAL V" #x1D449) - ("MATHEMATICAL ITALIC CAPITAL W" #x1D44A) - ("MATHEMATICAL ITALIC CAPITAL X" #x1D44B) - ("MATHEMATICAL ITALIC CAPITAL Y" #x1D44C) - ("MATHEMATICAL ITALIC CAPITAL Z" #x1D44D) - ("MATHEMATICAL ITALIC SMALL A" #x1D44E) - ("MATHEMATICAL ITALIC SMALL B" #x1D44F) - ("MATHEMATICAL ITALIC SMALL C" #x1D450) - ("MATHEMATICAL ITALIC SMALL D" #x1D451) - ("MATHEMATICAL ITALIC SMALL E" #x1D452) - ("MATHEMATICAL ITALIC SMALL F" #x1D453) - ("MATHEMATICAL ITALIC SMALL G" #x1D454) - ("MATHEMATICAL ITALIC SMALL I" #x1D456) - ("MATHEMATICAL ITALIC SMALL J" #x1D457) - ("MATHEMATICAL ITALIC SMALL K" #x1D458) - ("MATHEMATICAL ITALIC SMALL L" #x1D459) - ("MATHEMATICAL ITALIC SMALL M" #x1D45A) - ("MATHEMATICAL ITALIC SMALL N" #x1D45B) - ("MATHEMATICAL ITALIC SMALL O" #x1D45C) - ("MATHEMATICAL ITALIC SMALL P" #x1D45D) - ("MATHEMATICAL ITALIC SMALL Q" #x1D45E) - ("MATHEMATICAL ITALIC SMALL R" #x1D45F) - ("MATHEMATICAL ITALIC SMALL S" #x1D460) - ("MATHEMATICAL ITALIC SMALL T" #x1D461) - ("MATHEMATICAL ITALIC SMALL U" #x1D462) - ("MATHEMATICAL ITALIC SMALL V" #x1D463) - ("MATHEMATICAL ITALIC SMALL W" #x1D464) - ("MATHEMATICAL ITALIC SMALL X" #x1D465) - ("MATHEMATICAL ITALIC SMALL Y" #x1D466) - ("MATHEMATICAL ITALIC SMALL Z" #x1D467) - ("MATHEMATICAL BOLD ITALIC CAPITAL A" #x1D468) - ("MATHEMATICAL BOLD ITALIC CAPITAL B" #x1D469) - ("MATHEMATICAL BOLD ITALIC CAPITAL C" #x1D46A) - ("MATHEMATICAL BOLD ITALIC CAPITAL D" #x1D46B) - ("MATHEMATICAL BOLD ITALIC CAPITAL E" #x1D46C) - ("MATHEMATICAL BOLD ITALIC CAPITAL F" #x1D46D) - ("MATHEMATICAL BOLD ITALIC CAPITAL G" #x1D46E) - ("MATHEMATICAL BOLD ITALIC CAPITAL H" #x1D46F) - ("MATHEMATICAL BOLD ITALIC CAPITAL I" #x1D470) - ("MATHEMATICAL BOLD ITALIC CAPITAL J" #x1D471) - ("MATHEMATICAL BOLD ITALIC CAPITAL K" #x1D472) - ("MATHEMATICAL BOLD ITALIC CAPITAL L" #x1D473) - ("MATHEMATICAL BOLD ITALIC CAPITAL M" #x1D474) - ("MATHEMATICAL BOLD ITALIC CAPITAL N" #x1D475) - ("MATHEMATICAL BOLD ITALIC CAPITAL O" #x1D476) - ("MATHEMATICAL BOLD ITALIC CAPITAL P" #x1D477) - ("MATHEMATICAL BOLD ITALIC CAPITAL Q" #x1D478) - ("MATHEMATICAL BOLD ITALIC CAPITAL R" #x1D479) - ("MATHEMATICAL BOLD ITALIC CAPITAL S" #x1D47A) - ("MATHEMATICAL BOLD ITALIC CAPITAL T" #x1D47B) - ("MATHEMATICAL BOLD ITALIC CAPITAL U" #x1D47C) - ("MATHEMATICAL BOLD ITALIC CAPITAL V" #x1D47D) - ("MATHEMATICAL BOLD ITALIC CAPITAL W" #x1D47E) - ("MATHEMATICAL BOLD ITALIC CAPITAL X" #x1D47F) - ("MATHEMATICAL BOLD ITALIC CAPITAL Y" #x1D480) - ("MATHEMATICAL BOLD ITALIC CAPITAL Z" #x1D481) - ("MATHEMATICAL BOLD ITALIC SMALL A" #x1D482) - ("MATHEMATICAL BOLD ITALIC SMALL B" #x1D483) - ("MATHEMATICAL BOLD ITALIC SMALL C" #x1D484) - ("MATHEMATICAL BOLD ITALIC SMALL D" #x1D485) - ("MATHEMATICAL BOLD ITALIC SMALL E" #x1D486) - ("MATHEMATICAL BOLD ITALIC SMALL F" #x1D487) - ("MATHEMATICAL BOLD ITALIC SMALL G" #x1D488) - ("MATHEMATICAL BOLD ITALIC SMALL H" #x1D489) - ("MATHEMATICAL BOLD ITALIC SMALL I" #x1D48A) - ("MATHEMATICAL BOLD ITALIC SMALL J" #x1D48B) - ("MATHEMATICAL BOLD ITALIC SMALL K" #x1D48C) - ("MATHEMATICAL BOLD ITALIC SMALL L" #x1D48D) - ("MATHEMATICAL BOLD ITALIC SMALL M" #x1D48E) - ("MATHEMATICAL BOLD ITALIC SMALL N" #x1D48F) - ("MATHEMATICAL BOLD ITALIC SMALL O" #x1D490) - ("MATHEMATICAL BOLD ITALIC SMALL P" #x1D491) - ("MATHEMATICAL BOLD ITALIC SMALL Q" #x1D492) - ("MATHEMATICAL BOLD ITALIC SMALL R" #x1D493) - ("MATHEMATICAL BOLD ITALIC SMALL S" #x1D494) - ("MATHEMATICAL BOLD ITALIC SMALL T" #x1D495) - ("MATHEMATICAL BOLD ITALIC SMALL U" #x1D496) - ("MATHEMATICAL BOLD ITALIC SMALL V" #x1D497) - ("MATHEMATICAL BOLD ITALIC SMALL W" #x1D498) - ("MATHEMATICAL BOLD ITALIC SMALL X" #x1D499) - ("MATHEMATICAL BOLD ITALIC SMALL Y" #x1D49A) - ("MATHEMATICAL BOLD ITALIC SMALL Z" #x1D49B) - ("MATHEMATICAL SCRIPT CAPITAL A" #x1D49C) - ("MATHEMATICAL SCRIPT CAPITAL C" #x1D49E) - ("MATHEMATICAL SCRIPT CAPITAL D" #x1D49F) - ("MATHEMATICAL SCRIPT CAPITAL G" #x1D4A2) - ("MATHEMATICAL SCRIPT CAPITAL J" #x1D4A5) - ("MATHEMATICAL SCRIPT CAPITAL K" #x1D4A6) - ("MATHEMATICAL SCRIPT CAPITAL N" #x1D4A9) - ("MATHEMATICAL SCRIPT CAPITAL O" #x1D4AA) - ("MATHEMATICAL SCRIPT CAPITAL P" #x1D4AB) - ("MATHEMATICAL SCRIPT CAPITAL Q" #x1D4AC) - ("MATHEMATICAL SCRIPT CAPITAL S" #x1D4AE) - ("MATHEMATICAL SCRIPT CAPITAL T" #x1D4AF) - ("MATHEMATICAL SCRIPT CAPITAL U" #x1D4B0) - ("MATHEMATICAL SCRIPT CAPITAL V" #x1D4B1) - ("MATHEMATICAL SCRIPT CAPITAL W" #x1D4B2) - ("MATHEMATICAL SCRIPT CAPITAL X" #x1D4B3) - ("MATHEMATICAL SCRIPT CAPITAL Y" #x1D4B4) - ("MATHEMATICAL SCRIPT CAPITAL Z" #x1D4B5) - ("MATHEMATICAL SCRIPT SMALL A" #x1D4B6) - ("MATHEMATICAL SCRIPT SMALL B" #x1D4B7) - ("MATHEMATICAL SCRIPT SMALL C" #x1D4B8) - ("MATHEMATICAL SCRIPT SMALL D" #x1D4B9) - ("MATHEMATICAL SCRIPT SMALL F" #x1D4BB) - ("MATHEMATICAL SCRIPT SMALL H" #x1D4BD) - ("MATHEMATICAL SCRIPT SMALL I" #x1D4BE) - ("MATHEMATICAL SCRIPT SMALL J" #x1D4BF) - ("MATHEMATICAL SCRIPT SMALL K" #x1D4C0) - ("MATHEMATICAL SCRIPT SMALL M" #x1D4C2) - ("MATHEMATICAL SCRIPT SMALL N" #x1D4C3) - ("MATHEMATICAL SCRIPT SMALL P" #x1D4C5) - ("MATHEMATICAL SCRIPT SMALL Q" #x1D4C6) - ("MATHEMATICAL SCRIPT SMALL R" #x1D4C7) - ("MATHEMATICAL SCRIPT SMALL S" #x1D4C8) - ("MATHEMATICAL SCRIPT SMALL T" #x1D4C9) - ("MATHEMATICAL SCRIPT SMALL U" #x1D4CA) - ("MATHEMATICAL SCRIPT SMALL V" #x1D4CB) - ("MATHEMATICAL SCRIPT SMALL W" #x1D4CC) - ("MATHEMATICAL SCRIPT SMALL X" #x1D4CD) - ("MATHEMATICAL SCRIPT SMALL Y" #x1D4CE) - ("MATHEMATICAL SCRIPT SMALL Z" #x1D4CF) - ("MATHEMATICAL BOLD SCRIPT CAPITAL A" #x1D4D0) - ("MATHEMATICAL BOLD SCRIPT CAPITAL B" #x1D4D1) - ("MATHEMATICAL BOLD SCRIPT CAPITAL C" #x1D4D2) - ("MATHEMATICAL BOLD SCRIPT CAPITAL D" #x1D4D3) - ("MATHEMATICAL BOLD SCRIPT CAPITAL E" #x1D4D4) - ("MATHEMATICAL BOLD SCRIPT CAPITAL F" #x1D4D5) - ("MATHEMATICAL BOLD SCRIPT CAPITAL G" #x1D4D6) - ("MATHEMATICAL BOLD SCRIPT CAPITAL H" #x1D4D7) - ("MATHEMATICAL BOLD SCRIPT CAPITAL I" #x1D4D8) - ("MATHEMATICAL BOLD SCRIPT CAPITAL J" #x1D4D9) - ("MATHEMATICAL BOLD SCRIPT CAPITAL K" #x1D4DA) - ("MATHEMATICAL BOLD SCRIPT CAPITAL L" #x1D4DB) - ("MATHEMATICAL BOLD SCRIPT CAPITAL M" #x1D4DC) - ("MATHEMATICAL BOLD SCRIPT CAPITAL N" #x1D4DD) - ("MATHEMATICAL BOLD SCRIPT CAPITAL O" #x1D4DE) - ("MATHEMATICAL BOLD SCRIPT CAPITAL P" #x1D4DF) - ("MATHEMATICAL BOLD SCRIPT CAPITAL Q" #x1D4E0) - ("MATHEMATICAL BOLD SCRIPT CAPITAL R" #x1D4E1) - ("MATHEMATICAL BOLD SCRIPT CAPITAL S" #x1D4E2) - ("MATHEMATICAL BOLD SCRIPT CAPITAL T" #x1D4E3) - ("MATHEMATICAL BOLD SCRIPT CAPITAL U" #x1D4E4) - ("MATHEMATICAL BOLD SCRIPT CAPITAL V" #x1D4E5) - ("MATHEMATICAL BOLD SCRIPT CAPITAL W" #x1D4E6) - ("MATHEMATICAL BOLD SCRIPT CAPITAL X" #x1D4E7) - ("MATHEMATICAL BOLD SCRIPT CAPITAL Y" #x1D4E8) - ("MATHEMATICAL BOLD SCRIPT CAPITAL Z" #x1D4E9) - ("MATHEMATICAL BOLD SCRIPT SMALL A" #x1D4EA) - ("MATHEMATICAL BOLD SCRIPT SMALL B" #x1D4EB) - ("MATHEMATICAL BOLD SCRIPT SMALL C" #x1D4EC) - ("MATHEMATICAL BOLD SCRIPT SMALL D" #x1D4ED) - ("MATHEMATICAL BOLD SCRIPT SMALL E" #x1D4EE) - ("MATHEMATICAL BOLD SCRIPT SMALL F" #x1D4EF) - ("MATHEMATICAL BOLD SCRIPT SMALL G" #x1D4F0) - ("MATHEMATICAL BOLD SCRIPT SMALL H" #x1D4F1) - ("MATHEMATICAL BOLD SCRIPT SMALL I" #x1D4F2) - ("MATHEMATICAL BOLD SCRIPT SMALL J" #x1D4F3) - ("MATHEMATICAL BOLD SCRIPT SMALL K" #x1D4F4) - ("MATHEMATICAL BOLD SCRIPT SMALL L" #x1D4F5) - ("MATHEMATICAL BOLD SCRIPT SMALL M" #x1D4F6) - ("MATHEMATICAL BOLD SCRIPT SMALL N" #x1D4F7) - ("MATHEMATICAL BOLD SCRIPT SMALL O" #x1D4F8) - ("MATHEMATICAL BOLD SCRIPT SMALL P" #x1D4F9) - ("MATHEMATICAL BOLD SCRIPT SMALL Q" #x1D4FA) - ("MATHEMATICAL BOLD SCRIPT SMALL R" #x1D4FB) - ("MATHEMATICAL BOLD SCRIPT SMALL S" #x1D4FC) - ("MATHEMATICAL BOLD SCRIPT SMALL T" #x1D4FD) - ("MATHEMATICAL BOLD SCRIPT SMALL U" #x1D4FE) - ("MATHEMATICAL BOLD SCRIPT SMALL V" #x1D4FF) - ("MATHEMATICAL BOLD SCRIPT SMALL W" #x1D500) - ("MATHEMATICAL BOLD SCRIPT SMALL X" #x1D501) - ("MATHEMATICAL BOLD SCRIPT SMALL Y" #x1D502) - ("MATHEMATICAL BOLD SCRIPT SMALL Z" #x1D503) - ("MATHEMATICAL FRAKTUR CAPITAL A" #x1D504) - ("MATHEMATICAL FRAKTUR CAPITAL B" #x1D505) - ("MATHEMATICAL FRAKTUR CAPITAL D" #x1D507) - ("MATHEMATICAL FRAKTUR CAPITAL E" #x1D508) - ("MATHEMATICAL FRAKTUR CAPITAL F" #x1D509) - ("MATHEMATICAL FRAKTUR CAPITAL G" #x1D50A) - ("MATHEMATICAL FRAKTUR CAPITAL J" #x1D50D) - ("MATHEMATICAL FRAKTUR CAPITAL K" #x1D50E) - ("MATHEMATICAL FRAKTUR CAPITAL L" #x1D50F) - ("MATHEMATICAL FRAKTUR CAPITAL M" #x1D510) - ("MATHEMATICAL FRAKTUR CAPITAL N" #x1D511) - ("MATHEMATICAL FRAKTUR CAPITAL O" #x1D512) - ("MATHEMATICAL FRAKTUR CAPITAL P" #x1D513) - ("MATHEMATICAL FRAKTUR CAPITAL Q" #x1D514) - ("MATHEMATICAL FRAKTUR CAPITAL S" #x1D516) - ("MATHEMATICAL FRAKTUR CAPITAL T" #x1D517) - ("MATHEMATICAL FRAKTUR CAPITAL U" #x1D518) - ("MATHEMATICAL FRAKTUR CAPITAL V" #x1D519) - ("MATHEMATICAL FRAKTUR CAPITAL W" #x1D51A) - ("MATHEMATICAL FRAKTUR CAPITAL X" #x1D51B) - ("MATHEMATICAL FRAKTUR CAPITAL Y" #x1D51C) - ("MATHEMATICAL FRAKTUR SMALL A" #x1D51E) - ("MATHEMATICAL FRAKTUR SMALL B" #x1D51F) - ("MATHEMATICAL FRAKTUR SMALL C" #x1D520) - ("MATHEMATICAL FRAKTUR SMALL D" #x1D521) - ("MATHEMATICAL FRAKTUR SMALL E" #x1D522) - ("MATHEMATICAL FRAKTUR SMALL F" #x1D523) - ("MATHEMATICAL FRAKTUR SMALL G" #x1D524) - ("MATHEMATICAL FRAKTUR SMALL H" #x1D525) - ("MATHEMATICAL FRAKTUR SMALL I" #x1D526) - ("MATHEMATICAL FRAKTUR SMALL J" #x1D527) - ("MATHEMATICAL FRAKTUR SMALL K" #x1D528) - ("MATHEMATICAL FRAKTUR SMALL L" #x1D529) - ("MATHEMATICAL FRAKTUR SMALL M" #x1D52A) - ("MATHEMATICAL FRAKTUR SMALL N" #x1D52B) - ("MATHEMATICAL FRAKTUR SMALL O" #x1D52C) - ("MATHEMATICAL FRAKTUR SMALL P" #x1D52D) - ("MATHEMATICAL FRAKTUR SMALL Q" #x1D52E) - ("MATHEMATICAL FRAKTUR SMALL R" #x1D52F) - ("MATHEMATICAL FRAKTUR SMALL S" #x1D530) - ("MATHEMATICAL FRAKTUR SMALL T" #x1D531) - ("MATHEMATICAL FRAKTUR SMALL U" #x1D532) - ("MATHEMATICAL FRAKTUR SMALL V" #x1D533) - ("MATHEMATICAL FRAKTUR SMALL W" #x1D534) - ("MATHEMATICAL FRAKTUR SMALL X" #x1D535) - ("MATHEMATICAL FRAKTUR SMALL Y" #x1D536) - ("MATHEMATICAL FRAKTUR SMALL Z" #x1D537) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL A" #x1D538) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL B" #x1D539) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL D" #x1D53B) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL E" #x1D53C) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL F" #x1D53D) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL G" #x1D53E) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL I" #x1D540) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL J" #x1D541) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL K" #x1D542) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL L" #x1D543) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL M" #x1D544) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL O" #x1D546) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL S" #x1D54A) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL T" #x1D54B) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL U" #x1D54C) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL V" #x1D54D) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL W" #x1D54E) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL X" #x1D54F) - ("MATHEMATICAL DOUBLE-STRUCK CAPITAL Y" #x1D550) - ("MATHEMATICAL DOUBLE-STRUCK SMALL A" #x1D552) - ("MATHEMATICAL DOUBLE-STRUCK SMALL B" #x1D553) - ("MATHEMATICAL DOUBLE-STRUCK SMALL C" #x1D554) - ("MATHEMATICAL DOUBLE-STRUCK SMALL D" #x1D555) - ("MATHEMATICAL DOUBLE-STRUCK SMALL E" #x1D556) - ("MATHEMATICAL DOUBLE-STRUCK SMALL F" #x1D557) - ("MATHEMATICAL DOUBLE-STRUCK SMALL G" #x1D558) - ("MATHEMATICAL DOUBLE-STRUCK SMALL H" #x1D559) - ("MATHEMATICAL DOUBLE-STRUCK SMALL I" #x1D55A) - ("MATHEMATICAL DOUBLE-STRUCK SMALL J" #x1D55B) - ("MATHEMATICAL DOUBLE-STRUCK SMALL K" #x1D55C) - ("MATHEMATICAL DOUBLE-STRUCK SMALL L" #x1D55D) - ("MATHEMATICAL DOUBLE-STRUCK SMALL M" #x1D55E) - ("MATHEMATICAL DOUBLE-STRUCK SMALL N" #x1D55F) - ("MATHEMATICAL DOUBLE-STRUCK SMALL O" #x1D560) - ("MATHEMATICAL DOUBLE-STRUCK SMALL P" #x1D561) - ("MATHEMATICAL DOUBLE-STRUCK SMALL Q" #x1D562) - ("MATHEMATICAL DOUBLE-STRUCK SMALL R" #x1D563) - ("MATHEMATICAL DOUBLE-STRUCK SMALL S" #x1D564) - ("MATHEMATICAL DOUBLE-STRUCK SMALL T" #x1D565) - ("MATHEMATICAL DOUBLE-STRUCK SMALL U" #x1D566) - ("MATHEMATICAL DOUBLE-STRUCK SMALL V" #x1D567) - ("MATHEMATICAL DOUBLE-STRUCK SMALL W" #x1D568) - ("MATHEMATICAL DOUBLE-STRUCK SMALL X" #x1D569) - ("MATHEMATICAL DOUBLE-STRUCK SMALL Y" #x1D56A) - ("MATHEMATICAL DOUBLE-STRUCK SMALL Z" #x1D56B) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL A" #x1D56C) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL B" #x1D56D) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL C" #x1D56E) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL D" #x1D56F) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL E" #x1D570) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL F" #x1D571) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL G" #x1D572) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL H" #x1D573) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL I" #x1D574) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL J" #x1D575) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL K" #x1D576) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL L" #x1D577) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL M" #x1D578) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL N" #x1D579) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL O" #x1D57A) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL P" #x1D57B) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL Q" #x1D57C) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL R" #x1D57D) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL S" #x1D57E) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL T" #x1D57F) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL U" #x1D580) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL V" #x1D581) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL W" #x1D582) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL X" #x1D583) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL Y" #x1D584) - ("MATHEMATICAL BOLD FRAKTUR CAPITAL Z" #x1D585) - ("MATHEMATICAL BOLD FRAKTUR SMALL A" #x1D586) - ("MATHEMATICAL BOLD FRAKTUR SMALL B" #x1D587) - ("MATHEMATICAL BOLD FRAKTUR SMALL C" #x1D588) - ("MATHEMATICAL BOLD FRAKTUR SMALL D" #x1D589) - ("MATHEMATICAL BOLD FRAKTUR SMALL E" #x1D58A) - ("MATHEMATICAL BOLD FRAKTUR SMALL F" #x1D58B) - ("MATHEMATICAL BOLD FRAKTUR SMALL G" #x1D58C) - ("MATHEMATICAL BOLD FRAKTUR SMALL H" #x1D58D) - ("MATHEMATICAL BOLD FRAKTUR SMALL I" #x1D58E) - ("MATHEMATICAL BOLD FRAKTUR SMALL J" #x1D58F) - ("MATHEMATICAL BOLD FRAKTUR SMALL K" #x1D590) - ("MATHEMATICAL BOLD FRAKTUR SMALL L" #x1D591) - ("MATHEMATICAL BOLD FRAKTUR SMALL M" #x1D592) - ("MATHEMATICAL BOLD FRAKTUR SMALL N" #x1D593) - ("MATHEMATICAL BOLD FRAKTUR SMALL O" #x1D594) - ("MATHEMATICAL BOLD FRAKTUR SMALL P" #x1D595) - ("MATHEMATICAL BOLD FRAKTUR SMALL Q" #x1D596) - ("MATHEMATICAL BOLD FRAKTUR SMALL R" #x1D597) - ("MATHEMATICAL BOLD FRAKTUR SMALL S" #x1D598) - ("MATHEMATICAL BOLD FRAKTUR SMALL T" #x1D599) - ("MATHEMATICAL BOLD FRAKTUR SMALL U" #x1D59A) - ("MATHEMATICAL BOLD FRAKTUR SMALL V" #x1D59B) - ("MATHEMATICAL BOLD FRAKTUR SMALL W" #x1D59C) - ("MATHEMATICAL BOLD FRAKTUR SMALL X" #x1D59D) - ("MATHEMATICAL BOLD FRAKTUR SMALL Y" #x1D59E) - ("MATHEMATICAL BOLD FRAKTUR SMALL Z" #x1D59F) - ("MATHEMATICAL SANS-SERIF CAPITAL A" #x1D5A0) - ("MATHEMATICAL SANS-SERIF CAPITAL B" #x1D5A1) - ("MATHEMATICAL SANS-SERIF CAPITAL C" #x1D5A2) - ("MATHEMATICAL SANS-SERIF CAPITAL D" #x1D5A3) - ("MATHEMATICAL SANS-SERIF CAPITAL E" #x1D5A4) - ("MATHEMATICAL SANS-SERIF CAPITAL F" #x1D5A5) - ("MATHEMATICAL SANS-SERIF CAPITAL G" #x1D5A6) - ("MATHEMATICAL SANS-SERIF CAPITAL H" #x1D5A7) - ("MATHEMATICAL SANS-SERIF CAPITAL I" #x1D5A8) - ("MATHEMATICAL SANS-SERIF CAPITAL J" #x1D5A9) - ("MATHEMATICAL SANS-SERIF CAPITAL K" #x1D5AA) - ("MATHEMATICAL SANS-SERIF CAPITAL L" #x1D5AB) - ("MATHEMATICAL SANS-SERIF CAPITAL M" #x1D5AC) - ("MATHEMATICAL SANS-SERIF CAPITAL N" #x1D5AD) - ("MATHEMATICAL SANS-SERIF CAPITAL O" #x1D5AE) - ("MATHEMATICAL SANS-SERIF CAPITAL P" #x1D5AF) - ("MATHEMATICAL SANS-SERIF CAPITAL Q" #x1D5B0) - ("MATHEMATICAL SANS-SERIF CAPITAL R" #x1D5B1) - ("MATHEMATICAL SANS-SERIF CAPITAL S" #x1D5B2) - ("MATHEMATICAL SANS-SERIF CAPITAL T" #x1D5B3) - ("MATHEMATICAL SANS-SERIF CAPITAL U" #x1D5B4) - ("MATHEMATICAL SANS-SERIF CAPITAL V" #x1D5B5) - ("MATHEMATICAL SANS-SERIF CAPITAL W" #x1D5B6) - ("MATHEMATICAL SANS-SERIF CAPITAL X" #x1D5B7) - ("MATHEMATICAL SANS-SERIF CAPITAL Y" #x1D5B8) - ("MATHEMATICAL SANS-SERIF CAPITAL Z" #x1D5B9) - ("MATHEMATICAL SANS-SERIF SMALL A" #x1D5BA) - ("MATHEMATICAL SANS-SERIF SMALL B" #x1D5BB) - ("MATHEMATICAL SANS-SERIF SMALL C" #x1D5BC) - ("MATHEMATICAL SANS-SERIF SMALL D" #x1D5BD) - ("MATHEMATICAL SANS-SERIF SMALL E" #x1D5BE) - ("MATHEMATICAL SANS-SERIF SMALL F" #x1D5BF) - ("MATHEMATICAL SANS-SERIF SMALL G" #x1D5C0) - ("MATHEMATICAL SANS-SERIF SMALL H" #x1D5C1) - ("MATHEMATICAL SANS-SERIF SMALL I" #x1D5C2) - ("MATHEMATICAL SANS-SERIF SMALL J" #x1D5C3) - ("MATHEMATICAL SANS-SERIF SMALL K" #x1D5C4) - ("MATHEMATICAL SANS-SERIF SMALL L" #x1D5C5) - ("MATHEMATICAL SANS-SERIF SMALL M" #x1D5C6) - ("MATHEMATICAL SANS-SERIF SMALL N" #x1D5C7) - ("MATHEMATICAL SANS-SERIF SMALL O" #x1D5C8) - ("MATHEMATICAL SANS-SERIF SMALL P" #x1D5C9) - ("MATHEMATICAL SANS-SERIF SMALL Q" #x1D5CA) - ("MATHEMATICAL SANS-SERIF SMALL R" #x1D5CB) - ("MATHEMATICAL SANS-SERIF SMALL S" #x1D5CC) - ("MATHEMATICAL SANS-SERIF SMALL T" #x1D5CD) - ("MATHEMATICAL SANS-SERIF SMALL U" #x1D5CE) - ("MATHEMATICAL SANS-SERIF SMALL V" #x1D5CF) - ("MATHEMATICAL SANS-SERIF SMALL W" #x1D5D0) - ("MATHEMATICAL SANS-SERIF SMALL X" #x1D5D1) - ("MATHEMATICAL SANS-SERIF SMALL Y" #x1D5D2) - ("MATHEMATICAL SANS-SERIF SMALL Z" #x1D5D3) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL A" #x1D5D4) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL B" #x1D5D5) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL C" #x1D5D6) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL D" #x1D5D7) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL E" #x1D5D8) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL F" #x1D5D9) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL G" #x1D5DA) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL H" #x1D5DB) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL I" #x1D5DC) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL J" #x1D5DD) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL K" #x1D5DE) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL L" #x1D5DF) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL M" #x1D5E0) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL N" #x1D5E1) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL O" #x1D5E2) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL P" #x1D5E3) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL Q" #x1D5E4) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL R" #x1D5E5) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL S" #x1D5E6) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL T" #x1D5E7) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL U" #x1D5E8) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL V" #x1D5E9) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL W" #x1D5EA) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL X" #x1D5EB) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL Y" #x1D5EC) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL Z" #x1D5ED) - ("MATHEMATICAL SANS-SERIF BOLD SMALL A" #x1D5EE) - ("MATHEMATICAL SANS-SERIF BOLD SMALL B" #x1D5EF) - ("MATHEMATICAL SANS-SERIF BOLD SMALL C" #x1D5F0) - ("MATHEMATICAL SANS-SERIF BOLD SMALL D" #x1D5F1) - ("MATHEMATICAL SANS-SERIF BOLD SMALL E" #x1D5F2) - ("MATHEMATICAL SANS-SERIF BOLD SMALL F" #x1D5F3) - ("MATHEMATICAL SANS-SERIF BOLD SMALL G" #x1D5F4) - ("MATHEMATICAL SANS-SERIF BOLD SMALL H" #x1D5F5) - ("MATHEMATICAL SANS-SERIF BOLD SMALL I" #x1D5F6) - ("MATHEMATICAL SANS-SERIF BOLD SMALL J" #x1D5F7) - ("MATHEMATICAL SANS-SERIF BOLD SMALL K" #x1D5F8) - ("MATHEMATICAL SANS-SERIF BOLD SMALL L" #x1D5F9) - ("MATHEMATICAL SANS-SERIF BOLD SMALL M" #x1D5FA) - ("MATHEMATICAL SANS-SERIF BOLD SMALL N" #x1D5FB) - ("MATHEMATICAL SANS-SERIF BOLD SMALL O" #x1D5FC) - ("MATHEMATICAL SANS-SERIF BOLD SMALL P" #x1D5FD) - ("MATHEMATICAL SANS-SERIF BOLD SMALL Q" #x1D5FE) - ("MATHEMATICAL SANS-SERIF BOLD SMALL R" #x1D5FF) - ("MATHEMATICAL SANS-SERIF BOLD SMALL S" #x1D600) - ("MATHEMATICAL SANS-SERIF BOLD SMALL T" #x1D601) - ("MATHEMATICAL SANS-SERIF BOLD SMALL U" #x1D602) - ("MATHEMATICAL SANS-SERIF BOLD SMALL V" #x1D603) - ("MATHEMATICAL SANS-SERIF BOLD SMALL W" #x1D604) - ("MATHEMATICAL SANS-SERIF BOLD SMALL X" #x1D605) - ("MATHEMATICAL SANS-SERIF BOLD SMALL Y" #x1D606) - ("MATHEMATICAL SANS-SERIF BOLD SMALL Z" #x1D607) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL A" #x1D608) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL B" #x1D609) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL C" #x1D60A) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL D" #x1D60B) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL E" #x1D60C) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL F" #x1D60D) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL G" #x1D60E) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL H" #x1D60F) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL I" #x1D610) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL J" #x1D611) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL K" #x1D612) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL L" #x1D613) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL M" #x1D614) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL N" #x1D615) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL O" #x1D616) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL P" #x1D617) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL Q" #x1D618) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL R" #x1D619) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL S" #x1D61A) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL T" #x1D61B) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL U" #x1D61C) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL V" #x1D61D) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL W" #x1D61E) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL X" #x1D61F) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL Y" #x1D620) - ("MATHEMATICAL SANS-SERIF ITALIC CAPITAL Z" #x1D621) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL A" #x1D622) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL B" #x1D623) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL C" #x1D624) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL D" #x1D625) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL E" #x1D626) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL F" #x1D627) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL G" #x1D628) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL H" #x1D629) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL I" #x1D62A) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL J" #x1D62B) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL K" #x1D62C) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL L" #x1D62D) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL M" #x1D62E) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL N" #x1D62F) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL O" #x1D630) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL P" #x1D631) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL Q" #x1D632) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL R" #x1D633) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL S" #x1D634) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL T" #x1D635) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL U" #x1D636) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL V" #x1D637) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL W" #x1D638) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL X" #x1D639) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL Y" #x1D63A) - ("MATHEMATICAL SANS-SERIF ITALIC SMALL Z" #x1D63B) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL A" #x1D63C) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL B" #x1D63D) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL C" #x1D63E) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL D" #x1D63F) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL E" #x1D640) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL F" #x1D641) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL G" #x1D642) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL H" #x1D643) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL I" #x1D644) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL J" #x1D645) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL K" #x1D646) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL L" #x1D647) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL M" #x1D648) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL N" #x1D649) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL O" #x1D64A) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL P" #x1D64B) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Q" #x1D64C) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL R" #x1D64D) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL S" #x1D64E) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL T" #x1D64F) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL U" #x1D650) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL V" #x1D651) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL W" #x1D652) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL X" #x1D653) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Y" #x1D654) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL Z" #x1D655) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL A" #x1D656) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL B" #x1D657) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL C" #x1D658) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL D" #x1D659) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL E" #x1D65A) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL F" #x1D65B) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL G" #x1D65C) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL H" #x1D65D) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL I" #x1D65E) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL J" #x1D65F) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL K" #x1D660) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL L" #x1D661) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL M" #x1D662) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL N" #x1D663) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL O" #x1D664) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL P" #x1D665) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Q" #x1D666) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL R" #x1D667) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL S" #x1D668) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL T" #x1D669) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL U" #x1D66A) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL V" #x1D66B) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL W" #x1D66C) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL X" #x1D66D) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Y" #x1D66E) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL Z" #x1D66F) - ("MATHEMATICAL MONOSPACE CAPITAL A" #x1D670) - ("MATHEMATICAL MONOSPACE CAPITAL B" #x1D671) - ("MATHEMATICAL MONOSPACE CAPITAL C" #x1D672) - ("MATHEMATICAL MONOSPACE CAPITAL D" #x1D673) - ("MATHEMATICAL MONOSPACE CAPITAL E" #x1D674) - ("MATHEMATICAL MONOSPACE CAPITAL F" #x1D675) - ("MATHEMATICAL MONOSPACE CAPITAL G" #x1D676) - ("MATHEMATICAL MONOSPACE CAPITAL H" #x1D677) - ("MATHEMATICAL MONOSPACE CAPITAL I" #x1D678) - ("MATHEMATICAL MONOSPACE CAPITAL J" #x1D679) - ("MATHEMATICAL MONOSPACE CAPITAL K" #x1D67A) - ("MATHEMATICAL MONOSPACE CAPITAL L" #x1D67B) - ("MATHEMATICAL MONOSPACE CAPITAL M" #x1D67C) - ("MATHEMATICAL MONOSPACE CAPITAL N" #x1D67D) - ("MATHEMATICAL MONOSPACE CAPITAL O" #x1D67E) - ("MATHEMATICAL MONOSPACE CAPITAL P" #x1D67F) - ("MATHEMATICAL MONOSPACE CAPITAL Q" #x1D680) - ("MATHEMATICAL MONOSPACE CAPITAL R" #x1D681) - ("MATHEMATICAL MONOSPACE CAPITAL S" #x1D682) - ("MATHEMATICAL MONOSPACE CAPITAL T" #x1D683) - ("MATHEMATICAL MONOSPACE CAPITAL U" #x1D684) - ("MATHEMATICAL MONOSPACE CAPITAL V" #x1D685) - ("MATHEMATICAL MONOSPACE CAPITAL W" #x1D686) - ("MATHEMATICAL MONOSPACE CAPITAL X" #x1D687) - ("MATHEMATICAL MONOSPACE CAPITAL Y" #x1D688) - ("MATHEMATICAL MONOSPACE CAPITAL Z" #x1D689) - ("MATHEMATICAL MONOSPACE SMALL A" #x1D68A) - ("MATHEMATICAL MONOSPACE SMALL B" #x1D68B) - ("MATHEMATICAL MONOSPACE SMALL C" #x1D68C) - ("MATHEMATICAL MONOSPACE SMALL D" #x1D68D) - ("MATHEMATICAL MONOSPACE SMALL E" #x1D68E) - ("MATHEMATICAL MONOSPACE SMALL F" #x1D68F) - ("MATHEMATICAL MONOSPACE SMALL G" #x1D690) - ("MATHEMATICAL MONOSPACE SMALL H" #x1D691) - ("MATHEMATICAL MONOSPACE SMALL I" #x1D692) - ("MATHEMATICAL MONOSPACE SMALL J" #x1D693) - ("MATHEMATICAL MONOSPACE SMALL K" #x1D694) - ("MATHEMATICAL MONOSPACE SMALL L" #x1D695) - ("MATHEMATICAL MONOSPACE SMALL M" #x1D696) - ("MATHEMATICAL MONOSPACE SMALL N" #x1D697) - ("MATHEMATICAL MONOSPACE SMALL O" #x1D698) - ("MATHEMATICAL MONOSPACE SMALL P" #x1D699) - ("MATHEMATICAL MONOSPACE SMALL Q" #x1D69A) - ("MATHEMATICAL MONOSPACE SMALL R" #x1D69B) - ("MATHEMATICAL MONOSPACE SMALL S" #x1D69C) - ("MATHEMATICAL MONOSPACE SMALL T" #x1D69D) - ("MATHEMATICAL MONOSPACE SMALL U" #x1D69E) - ("MATHEMATICAL MONOSPACE SMALL V" #x1D69F) - ("MATHEMATICAL MONOSPACE SMALL W" #x1D6A0) - ("MATHEMATICAL MONOSPACE SMALL X" #x1D6A1) - ("MATHEMATICAL MONOSPACE SMALL Y" #x1D6A2) - ("MATHEMATICAL MONOSPACE SMALL Z" #x1D6A3) - ("MATHEMATICAL BOLD CAPITAL ALPHA" #x1D6A8) - ("MATHEMATICAL BOLD CAPITAL BETA" #x1D6A9) - ("MATHEMATICAL BOLD CAPITAL GAMMA" #x1D6AA) - ("MATHEMATICAL BOLD CAPITAL DELTA" #x1D6AB) - ("MATHEMATICAL BOLD CAPITAL EPSILON" #x1D6AC) - ("MATHEMATICAL BOLD CAPITAL ZETA" #x1D6AD) - ("MATHEMATICAL BOLD CAPITAL ETA" #x1D6AE) - ("MATHEMATICAL BOLD CAPITAL THETA" #x1D6AF) - ("MATHEMATICAL BOLD CAPITAL IOTA" #x1D6B0) - ("MATHEMATICAL BOLD CAPITAL KAPPA" #x1D6B1) - ("MATHEMATICAL BOLD CAPITAL LAMDA" #x1D6B2) - ("MATHEMATICAL BOLD CAPITAL MU" #x1D6B3) - ("MATHEMATICAL BOLD CAPITAL NU" #x1D6B4) - ("MATHEMATICAL BOLD CAPITAL XI" #x1D6B5) - ("MATHEMATICAL BOLD CAPITAL OMICRON" #x1D6B6) - ("MATHEMATICAL BOLD CAPITAL PI" #x1D6B7) - ("MATHEMATICAL BOLD CAPITAL RHO" #x1D6B8) - ("MATHEMATICAL BOLD CAPITAL THETA SYMBOL" #x1D6B9) - ("MATHEMATICAL BOLD CAPITAL SIGMA" #x1D6BA) - ("MATHEMATICAL BOLD CAPITAL TAU" #x1D6BB) - ("MATHEMATICAL BOLD CAPITAL UPSILON" #x1D6BC) - ("MATHEMATICAL BOLD CAPITAL PHI" #x1D6BD) - ("MATHEMATICAL BOLD CAPITAL CHI" #x1D6BE) - ("MATHEMATICAL BOLD CAPITAL PSI" #x1D6BF) - ("MATHEMATICAL BOLD CAPITAL OMEGA" #x1D6C0) - ("MATHEMATICAL BOLD NABLA" #x1D6C1) - ("MATHEMATICAL BOLD SMALL ALPHA" #x1D6C2) - ("MATHEMATICAL BOLD SMALL BETA" #x1D6C3) - ("MATHEMATICAL BOLD SMALL GAMMA" #x1D6C4) - ("MATHEMATICAL BOLD SMALL DELTA" #x1D6C5) - ("MATHEMATICAL BOLD SMALL EPSILON" #x1D6C6) - ("MATHEMATICAL BOLD SMALL ZETA" #x1D6C7) - ("MATHEMATICAL BOLD SMALL ETA" #x1D6C8) - ("MATHEMATICAL BOLD SMALL THETA" #x1D6C9) - ("MATHEMATICAL BOLD SMALL IOTA" #x1D6CA) - ("MATHEMATICAL BOLD SMALL KAPPA" #x1D6CB) - ("MATHEMATICAL BOLD SMALL LAMDA" #x1D6CC) - ("MATHEMATICAL BOLD SMALL MU" #x1D6CD) - ("MATHEMATICAL BOLD SMALL NU" #x1D6CE) - ("MATHEMATICAL BOLD SMALL XI" #x1D6CF) - ("MATHEMATICAL BOLD SMALL OMICRON" #x1D6D0) - ("MATHEMATICAL BOLD SMALL PI" #x1D6D1) - ("MATHEMATICAL BOLD SMALL RHO" #x1D6D2) - ("MATHEMATICAL BOLD SMALL FINAL SIGMA" #x1D6D3) - ("MATHEMATICAL BOLD SMALL SIGMA" #x1D6D4) - ("MATHEMATICAL BOLD SMALL TAU" #x1D6D5) - ("MATHEMATICAL BOLD SMALL UPSILON" #x1D6D6) - ("MATHEMATICAL BOLD SMALL PHI" #x1D6D7) - ("MATHEMATICAL BOLD SMALL CHI" #x1D6D8) - ("MATHEMATICAL BOLD SMALL PSI" #x1D6D9) - ("MATHEMATICAL BOLD SMALL OMEGA" #x1D6DA) - ("MATHEMATICAL BOLD PARTIAL DIFFERENTIAL" #x1D6DB) - ("MATHEMATICAL BOLD EPSILON SYMBOL" #x1D6DC) - ("MATHEMATICAL BOLD THETA SYMBOL" #x1D6DD) - ("MATHEMATICAL BOLD KAPPA SYMBOL" #x1D6DE) - ("MATHEMATICAL BOLD PHI SYMBOL" #x1D6DF) - ("MATHEMATICAL BOLD RHO SYMBOL" #x1D6E0) - ("MATHEMATICAL BOLD PI SYMBOL" #x1D6E1) - ("MATHEMATICAL ITALIC CAPITAL ALPHA" #x1D6E2) - ("MATHEMATICAL ITALIC CAPITAL BETA" #x1D6E3) - ("MATHEMATICAL ITALIC CAPITAL GAMMA" #x1D6E4) - ("MATHEMATICAL ITALIC CAPITAL DELTA" #x1D6E5) - ("MATHEMATICAL ITALIC CAPITAL EPSILON" #x1D6E6) - ("MATHEMATICAL ITALIC CAPITAL ZETA" #x1D6E7) - ("MATHEMATICAL ITALIC CAPITAL ETA" #x1D6E8) - ("MATHEMATICAL ITALIC CAPITAL THETA" #x1D6E9) - ("MATHEMATICAL ITALIC CAPITAL IOTA" #x1D6EA) - ("MATHEMATICAL ITALIC CAPITAL KAPPA" #x1D6EB) - ("MATHEMATICAL ITALIC CAPITAL LAMDA" #x1D6EC) - ("MATHEMATICAL ITALIC CAPITAL MU" #x1D6ED) - ("MATHEMATICAL ITALIC CAPITAL NU" #x1D6EE) - ("MATHEMATICAL ITALIC CAPITAL XI" #x1D6EF) - ("MATHEMATICAL ITALIC CAPITAL OMICRON" #x1D6F0) - ("MATHEMATICAL ITALIC CAPITAL PI" #x1D6F1) - ("MATHEMATICAL ITALIC CAPITAL RHO" #x1D6F2) - ("MATHEMATICAL ITALIC CAPITAL THETA SYMBOL" #x1D6F3) - ("MATHEMATICAL ITALIC CAPITAL SIGMA" #x1D6F4) - ("MATHEMATICAL ITALIC CAPITAL TAU" #x1D6F5) - ("MATHEMATICAL ITALIC CAPITAL UPSILON" #x1D6F6) - ("MATHEMATICAL ITALIC CAPITAL PHI" #x1D6F7) - ("MATHEMATICAL ITALIC CAPITAL CHI" #x1D6F8) - ("MATHEMATICAL ITALIC CAPITAL PSI" #x1D6F9) - ("MATHEMATICAL ITALIC CAPITAL OMEGA" #x1D6FA) - ("MATHEMATICAL ITALIC NABLA" #x1D6FB) - ("MATHEMATICAL ITALIC SMALL ALPHA" #x1D6FC) - ("MATHEMATICAL ITALIC SMALL BETA" #x1D6FD) - ("MATHEMATICAL ITALIC SMALL GAMMA" #x1D6FE) - ("MATHEMATICAL ITALIC SMALL DELTA" #x1D6FF) - ("MATHEMATICAL ITALIC SMALL EPSILON" #x1D700) - ("MATHEMATICAL ITALIC SMALL ZETA" #x1D701) - ("MATHEMATICAL ITALIC SMALL ETA" #x1D702) - ("MATHEMATICAL ITALIC SMALL THETA" #x1D703) - ("MATHEMATICAL ITALIC SMALL IOTA" #x1D704) - ("MATHEMATICAL ITALIC SMALL KAPPA" #x1D705) - ("MATHEMATICAL ITALIC SMALL LAMDA" #x1D706) - ("MATHEMATICAL ITALIC SMALL MU" #x1D707) - ("MATHEMATICAL ITALIC SMALL NU" #x1D708) - ("MATHEMATICAL ITALIC SMALL XI" #x1D709) - ("MATHEMATICAL ITALIC SMALL OMICRON" #x1D70A) - ("MATHEMATICAL ITALIC SMALL PI" #x1D70B) - ("MATHEMATICAL ITALIC SMALL RHO" #x1D70C) - ("MATHEMATICAL ITALIC SMALL FINAL SIGMA" #x1D70D) - ("MATHEMATICAL ITALIC SMALL SIGMA" #x1D70E) - ("MATHEMATICAL ITALIC SMALL TAU" #x1D70F) - ("MATHEMATICAL ITALIC SMALL UPSILON" #x1D710) - ("MATHEMATICAL ITALIC SMALL PHI" #x1D711) - ("MATHEMATICAL ITALIC SMALL CHI" #x1D712) - ("MATHEMATICAL ITALIC SMALL PSI" #x1D713) - ("MATHEMATICAL ITALIC SMALL OMEGA" #x1D714) - ("MATHEMATICAL ITALIC PARTIAL DIFFERENTIAL" #x1D715) - ("MATHEMATICAL ITALIC EPSILON SYMBOL" #x1D716) - ("MATHEMATICAL ITALIC THETA SYMBOL" #x1D717) - ("MATHEMATICAL ITALIC KAPPA SYMBOL" #x1D718) - ("MATHEMATICAL ITALIC PHI SYMBOL" #x1D719) - ("MATHEMATICAL ITALIC RHO SYMBOL" #x1D71A) - ("MATHEMATICAL ITALIC PI SYMBOL" #x1D71B) - ("MATHEMATICAL BOLD ITALIC CAPITAL ALPHA" #x1D71C) - ("MATHEMATICAL BOLD ITALIC CAPITAL BETA" #x1D71D) - ("MATHEMATICAL BOLD ITALIC CAPITAL GAMMA" #x1D71E) - ("MATHEMATICAL BOLD ITALIC CAPITAL DELTA" #x1D71F) - ("MATHEMATICAL BOLD ITALIC CAPITAL EPSILON" #x1D720) - ("MATHEMATICAL BOLD ITALIC CAPITAL ZETA" #x1D721) - ("MATHEMATICAL BOLD ITALIC CAPITAL ETA" #x1D722) - ("MATHEMATICAL BOLD ITALIC CAPITAL THETA" #x1D723) - ("MATHEMATICAL BOLD ITALIC CAPITAL IOTA" #x1D724) - ("MATHEMATICAL BOLD ITALIC CAPITAL KAPPA" #x1D725) - ("MATHEMATICAL BOLD ITALIC CAPITAL LAMDA" #x1D726) - ("MATHEMATICAL BOLD ITALIC CAPITAL MU" #x1D727) - ("MATHEMATICAL BOLD ITALIC CAPITAL NU" #x1D728) - ("MATHEMATICAL BOLD ITALIC CAPITAL XI" #x1D729) - ("MATHEMATICAL BOLD ITALIC CAPITAL OMICRON" #x1D72A) - ("MATHEMATICAL BOLD ITALIC CAPITAL PI" #x1D72B) - ("MATHEMATICAL BOLD ITALIC CAPITAL RHO" #x1D72C) - ("MATHEMATICAL BOLD ITALIC CAPITAL THETA SYMBOL" #x1D72D) - ("MATHEMATICAL BOLD ITALIC CAPITAL SIGMA" #x1D72E) - ("MATHEMATICAL BOLD ITALIC CAPITAL TAU" #x1D72F) - ("MATHEMATICAL BOLD ITALIC CAPITAL UPSILON" #x1D730) - ("MATHEMATICAL BOLD ITALIC CAPITAL PHI" #x1D731) - ("MATHEMATICAL BOLD ITALIC CAPITAL CHI" #x1D732) - ("MATHEMATICAL BOLD ITALIC CAPITAL PSI" #x1D733) - ("MATHEMATICAL BOLD ITALIC CAPITAL OMEGA" #x1D734) - ("MATHEMATICAL BOLD ITALIC NABLA" #x1D735) - ("MATHEMATICAL BOLD ITALIC SMALL ALPHA" #x1D736) - ("MATHEMATICAL BOLD ITALIC SMALL BETA" #x1D737) - ("MATHEMATICAL BOLD ITALIC SMALL GAMMA" #x1D738) - ("MATHEMATICAL BOLD ITALIC SMALL DELTA" #x1D739) - ("MATHEMATICAL BOLD ITALIC SMALL EPSILON" #x1D73A) - ("MATHEMATICAL BOLD ITALIC SMALL ZETA" #x1D73B) - ("MATHEMATICAL BOLD ITALIC SMALL ETA" #x1D73C) - ("MATHEMATICAL BOLD ITALIC SMALL THETA" #x1D73D) - ("MATHEMATICAL BOLD ITALIC SMALL IOTA" #x1D73E) - ("MATHEMATICAL BOLD ITALIC SMALL KAPPA" #x1D73F) - ("MATHEMATICAL BOLD ITALIC SMALL LAMDA" #x1D740) - ("MATHEMATICAL BOLD ITALIC SMALL MU" #x1D741) - ("MATHEMATICAL BOLD ITALIC SMALL NU" #x1D742) - ("MATHEMATICAL BOLD ITALIC SMALL XI" #x1D743) - ("MATHEMATICAL BOLD ITALIC SMALL OMICRON" #x1D744) - ("MATHEMATICAL BOLD ITALIC SMALL PI" #x1D745) - ("MATHEMATICAL BOLD ITALIC SMALL RHO" #x1D746) - ("MATHEMATICAL BOLD ITALIC SMALL FINAL SIGMA" #x1D747) - ("MATHEMATICAL BOLD ITALIC SMALL SIGMA" #x1D748) - ("MATHEMATICAL BOLD ITALIC SMALL TAU" #x1D749) - ("MATHEMATICAL BOLD ITALIC SMALL UPSILON" #x1D74A) - ("MATHEMATICAL BOLD ITALIC SMALL PHI" #x1D74B) - ("MATHEMATICAL BOLD ITALIC SMALL CHI" #x1D74C) - ("MATHEMATICAL BOLD ITALIC SMALL PSI" #x1D74D) - ("MATHEMATICAL BOLD ITALIC SMALL OMEGA" #x1D74E) - ("MATHEMATICAL BOLD ITALIC PARTIAL DIFFERENTIAL" #x1D74F) - ("MATHEMATICAL BOLD ITALIC EPSILON SYMBOL" #x1D750) - ("MATHEMATICAL BOLD ITALIC THETA SYMBOL" #x1D751) - ("MATHEMATICAL BOLD ITALIC KAPPA SYMBOL" #x1D752) - ("MATHEMATICAL BOLD ITALIC PHI SYMBOL" #x1D753) - ("MATHEMATICAL BOLD ITALIC RHO SYMBOL" #x1D754) - ("MATHEMATICAL BOLD ITALIC PI SYMBOL" #x1D755) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL ALPHA" #x1D756) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL BETA" #x1D757) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL GAMMA" #x1D758) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL DELTA" #x1D759) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL EPSILON" #x1D75A) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL ZETA" #x1D75B) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL ETA" #x1D75C) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA" #x1D75D) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL IOTA" #x1D75E) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL KAPPA" #x1D75F) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL LAMDA" #x1D760) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL MU" #x1D761) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL NU" #x1D762) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL XI" #x1D763) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL OMICRON" #x1D764) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL PI" #x1D765) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL RHO" #x1D766) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL THETA SYMBOL" #x1D767) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL SIGMA" #x1D768) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL TAU" #x1D769) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL UPSILON" #x1D76A) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL PHI" #x1D76B) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL CHI" #x1D76C) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL PSI" #x1D76D) - ("MATHEMATICAL SANS-SERIF BOLD CAPITAL OMEGA" #x1D76E) - ("MATHEMATICAL SANS-SERIF BOLD NABLA" #x1D76F) - ("MATHEMATICAL SANS-SERIF BOLD SMALL ALPHA" #x1D770) - ("MATHEMATICAL SANS-SERIF BOLD SMALL BETA" #x1D771) - ("MATHEMATICAL SANS-SERIF BOLD SMALL GAMMA" #x1D772) - ("MATHEMATICAL SANS-SERIF BOLD SMALL DELTA" #x1D773) - ("MATHEMATICAL SANS-SERIF BOLD SMALL EPSILON" #x1D774) - ("MATHEMATICAL SANS-SERIF BOLD SMALL ZETA" #x1D775) - ("MATHEMATICAL SANS-SERIF BOLD SMALL ETA" #x1D776) - ("MATHEMATICAL SANS-SERIF BOLD SMALL THETA" #x1D777) - ("MATHEMATICAL SANS-SERIF BOLD SMALL IOTA" #x1D778) - ("MATHEMATICAL SANS-SERIF BOLD SMALL KAPPA" #x1D779) - ("MATHEMATICAL SANS-SERIF BOLD SMALL LAMDA" #x1D77A) - ("MATHEMATICAL SANS-SERIF BOLD SMALL MU" #x1D77B) - ("MATHEMATICAL SANS-SERIF BOLD SMALL NU" #x1D77C) - ("MATHEMATICAL SANS-SERIF BOLD SMALL XI" #x1D77D) - ("MATHEMATICAL SANS-SERIF BOLD SMALL OMICRON" #x1D77E) - ("MATHEMATICAL SANS-SERIF BOLD SMALL PI" #x1D77F) - ("MATHEMATICAL SANS-SERIF BOLD SMALL RHO" #x1D780) - ("MATHEMATICAL SANS-SERIF BOLD SMALL FINAL SIGMA" #x1D781) - ("MATHEMATICAL SANS-SERIF BOLD SMALL SIGMA" #x1D782) - ("MATHEMATICAL SANS-SERIF BOLD SMALL TAU" #x1D783) - ("MATHEMATICAL SANS-SERIF BOLD SMALL UPSILON" #x1D784) - ("MATHEMATICAL SANS-SERIF BOLD SMALL PHI" #x1D785) - ("MATHEMATICAL SANS-SERIF BOLD SMALL CHI" #x1D786) - ("MATHEMATICAL SANS-SERIF BOLD SMALL PSI" #x1D787) - ("MATHEMATICAL SANS-SERIF BOLD SMALL OMEGA" #x1D788) - ("MATHEMATICAL SANS-SERIF BOLD PARTIAL DIFFERENTIAL" #x1D789) - ("MATHEMATICAL SANS-SERIF BOLD EPSILON SYMBOL" #x1D78A) - ("MATHEMATICAL SANS-SERIF BOLD THETA SYMBOL" #x1D78B) - ("MATHEMATICAL SANS-SERIF BOLD KAPPA SYMBOL" #x1D78C) - ("MATHEMATICAL SANS-SERIF BOLD PHI SYMBOL" #x1D78D) - ("MATHEMATICAL SANS-SERIF BOLD RHO SYMBOL" #x1D78E) - ("MATHEMATICAL SANS-SERIF BOLD PI SYMBOL" #x1D78F) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ALPHA" #x1D790) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL BETA" #x1D791) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL GAMMA" #x1D792) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL DELTA" #x1D793) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL EPSILON" #x1D794) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ZETA" #x1D795) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL ETA" #x1D796) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA" #x1D797) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL IOTA" #x1D798) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL KAPPA" #x1D799) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL LAMDA" #x1D79A) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL MU" #x1D79B) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL NU" #x1D79C) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL XI" #x1D79D) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMICRON" #x1D79E) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PI" #x1D79F) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL RHO" #x1D7A0) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL THETA SYMBOL" #x1D7A1) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL SIGMA" #x1D7A2) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL TAU" #x1D7A3) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL UPSILON" #x1D7A4) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PHI" #x1D7A5) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL CHI" #x1D7A6) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL PSI" #x1D7A7) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC CAPITAL OMEGA" #x1D7A8) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC NABLA" #x1D7A9) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ALPHA" #x1D7AA) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL BETA" #x1D7AB) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL GAMMA" #x1D7AC) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL DELTA" #x1D7AD) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL EPSILON" #x1D7AE) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ZETA" #x1D7AF) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL ETA" #x1D7B0) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL THETA" #x1D7B1) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL IOTA" #x1D7B2) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL KAPPA" #x1D7B3) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL LAMDA" #x1D7B4) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL MU" #x1D7B5) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL NU" #x1D7B6) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL XI" #x1D7B7) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMICRON" #x1D7B8) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PI" #x1D7B9) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL RHO" #x1D7BA) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL FINAL SIGMA" #x1D7BB) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL SIGMA" #x1D7BC) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL TAU" #x1D7BD) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL UPSILON" #x1D7BE) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PHI" #x1D7BF) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL CHI" #x1D7C0) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL PSI" #x1D7C1) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC SMALL OMEGA" #x1D7C2) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC PARTIAL DIFFERENTIAL" #x1D7C3) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC EPSILON SYMBOL" #x1D7C4) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC THETA SYMBOL" #x1D7C5) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC KAPPA SYMBOL" #x1D7C6) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC PHI SYMBOL" #x1D7C7) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC RHO SYMBOL" #x1D7C8) - ("MATHEMATICAL SANS-SERIF BOLD ITALIC PI SYMBOL" #x1D7C9) - ("MATHEMATICAL BOLD DIGIT ZERO" #x1D7CE) - ("MATHEMATICAL BOLD DIGIT ONE" #x1D7CF) - ("MATHEMATICAL BOLD DIGIT TWO" #x1D7D0) - ("MATHEMATICAL BOLD DIGIT THREE" #x1D7D1) - ("MATHEMATICAL BOLD DIGIT FOUR" #x1D7D2) - ("MATHEMATICAL BOLD DIGIT FIVE" #x1D7D3) - ("MATHEMATICAL BOLD DIGIT SIX" #x1D7D4) - ("MATHEMATICAL BOLD DIGIT SEVEN" #x1D7D5) - ("MATHEMATICAL BOLD DIGIT EIGHT" #x1D7D6) - ("MATHEMATICAL BOLD DIGIT NINE" #x1D7D7) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT ZERO" #x1D7D8) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT ONE" #x1D7D9) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT TWO" #x1D7DA) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT THREE" #x1D7DB) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT FOUR" #x1D7DC) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT FIVE" #x1D7DD) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT SIX" #x1D7DE) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT SEVEN" #x1D7DF) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT EIGHT" #x1D7E0) - ("MATHEMATICAL DOUBLE-STRUCK DIGIT NINE" #x1D7E1) - ("MATHEMATICAL SANS-SERIF DIGIT ZERO" #x1D7E2) - ("MATHEMATICAL SANS-SERIF DIGIT ONE" #x1D7E3) - ("MATHEMATICAL SANS-SERIF DIGIT TWO" #x1D7E4) - ("MATHEMATICAL SANS-SERIF DIGIT THREE" #x1D7E5) - ("MATHEMATICAL SANS-SERIF DIGIT FOUR" #x1D7E6) - ("MATHEMATICAL SANS-SERIF DIGIT FIVE" #x1D7E7) - ("MATHEMATICAL SANS-SERIF DIGIT SIX" #x1D7E8) - ("MATHEMATICAL SANS-SERIF DIGIT SEVEN" #x1D7E9) - ("MATHEMATICAL SANS-SERIF DIGIT EIGHT" #x1D7EA) - ("MATHEMATICAL SANS-SERIF DIGIT NINE" #x1D7EB) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT ZERO" #x1D7EC) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT ONE" #x1D7ED) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT TWO" #x1D7EE) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT THREE" #x1D7EF) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT FOUR" #x1D7F0) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT FIVE" #x1D7F1) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT SIX" #x1D7F2) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT SEVEN" #x1D7F3) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT EIGHT" #x1D7F4) - ("MATHEMATICAL SANS-SERIF BOLD DIGIT NINE" #x1D7F5) - ("MATHEMATICAL MONOSPACE DIGIT ZERO" #x1D7F6) - ("MATHEMATICAL MONOSPACE DIGIT ONE" #x1D7F7) - ("MATHEMATICAL MONOSPACE DIGIT TWO" #x1D7F8) - ("MATHEMATICAL MONOSPACE DIGIT THREE" #x1D7F9) - ("MATHEMATICAL MONOSPACE DIGIT FOUR" #x1D7FA) - ("MATHEMATICAL MONOSPACE DIGIT FIVE" #x1D7FB) - ("MATHEMATICAL MONOSPACE DIGIT SIX" #x1D7FC) - ("MATHEMATICAL MONOSPACE DIGIT SEVEN" #x1D7FD) - ("MATHEMATICAL MONOSPACE DIGIT EIGHT" #x1D7FE) - ("MATHEMATICAL MONOSPACE DIGIT NINE" #x1D7FF) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/E0000-E007F.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/E0000-E007F.el deleted file mode 100644 index b4aeb1fd2b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/char-name/unicode/E0000-E007F.el +++ /dev/null @@ -1,99 +0,0 @@ -(nxml-define-char-name-set 'tags - '(("LANGUAGE TAG" #xE0001) - ("TAG SPACE" #xE0020) - ("TAG EXCLAMATION MARK" #xE0021) - ("TAG QUOTATION MARK" #xE0022) - ("TAG NUMBER SIGN" #xE0023) - ("TAG DOLLAR SIGN" #xE0024) - ("TAG PERCENT SIGN" #xE0025) - ("TAG AMPERSAND" #xE0026) - ("TAG APOSTROPHE" #xE0027) - ("TAG LEFT PARENTHESIS" #xE0028) - ("TAG RIGHT PARENTHESIS" #xE0029) - ("TAG ASTERISK" #xE002A) - ("TAG PLUS SIGN" #xE002B) - ("TAG COMMA" #xE002C) - ("TAG HYPHEN-MINUS" #xE002D) - ("TAG FULL STOP" #xE002E) - ("TAG SOLIDUS" #xE002F) - ("TAG DIGIT ZERO" #xE0030) - ("TAG DIGIT ONE" #xE0031) - ("TAG DIGIT TWO" #xE0032) - ("TAG DIGIT THREE" #xE0033) - ("TAG DIGIT FOUR" #xE0034) - ("TAG DIGIT FIVE" #xE0035) - ("TAG DIGIT SIX" #xE0036) - ("TAG DIGIT SEVEN" #xE0037) - ("TAG DIGIT EIGHT" #xE0038) - ("TAG DIGIT NINE" #xE0039) - ("TAG COLON" #xE003A) - ("TAG SEMICOLON" #xE003B) - ("TAG LESS-THAN SIGN" #xE003C) - ("TAG EQUALS SIGN" #xE003D) - ("TAG GREATER-THAN SIGN" #xE003E) - ("TAG QUESTION MARK" #xE003F) - ("TAG COMMERCIAL AT" #xE0040) - ("TAG LATIN CAPITAL LETTER A" #xE0041) - ("TAG LATIN CAPITAL LETTER B" #xE0042) - ("TAG LATIN CAPITAL LETTER C" #xE0043) - ("TAG LATIN CAPITAL LETTER D" #xE0044) - ("TAG LATIN CAPITAL LETTER E" #xE0045) - ("TAG LATIN CAPITAL LETTER F" #xE0046) - ("TAG LATIN CAPITAL LETTER G" #xE0047) - ("TAG LATIN CAPITAL LETTER H" #xE0048) - ("TAG LATIN CAPITAL LETTER I" #xE0049) - ("TAG LATIN CAPITAL LETTER J" #xE004A) - ("TAG LATIN CAPITAL LETTER K" #xE004B) - ("TAG LATIN CAPITAL LETTER L" #xE004C) - ("TAG LATIN CAPITAL LETTER M" #xE004D) - ("TAG LATIN CAPITAL LETTER N" #xE004E) - ("TAG LATIN CAPITAL LETTER O" #xE004F) - ("TAG LATIN CAPITAL LETTER P" #xE0050) - ("TAG LATIN CAPITAL LETTER Q" #xE0051) - ("TAG LATIN CAPITAL LETTER R" #xE0052) - ("TAG LATIN CAPITAL LETTER S" #xE0053) - ("TAG LATIN CAPITAL LETTER T" #xE0054) - ("TAG LATIN CAPITAL LETTER U" #xE0055) - ("TAG LATIN CAPITAL LETTER V" #xE0056) - ("TAG LATIN CAPITAL LETTER W" #xE0057) - ("TAG LATIN CAPITAL LETTER X" #xE0058) - ("TAG LATIN CAPITAL LETTER Y" #xE0059) - ("TAG LATIN CAPITAL LETTER Z" #xE005A) - ("TAG LEFT SQUARE BRACKET" #xE005B) - ("TAG REVERSE SOLIDUS" #xE005C) - ("TAG RIGHT SQUARE BRACKET" #xE005D) - ("TAG CIRCUMFLEX ACCENT" #xE005E) - ("TAG LOW LINE" #xE005F) - ("TAG GRAVE ACCENT" #xE0060) - ("TAG LATIN SMALL LETTER A" #xE0061) - ("TAG LATIN SMALL LETTER B" #xE0062) - ("TAG LATIN SMALL LETTER C" #xE0063) - ("TAG LATIN SMALL LETTER D" #xE0064) - ("TAG LATIN SMALL LETTER E" #xE0065) - ("TAG LATIN SMALL LETTER F" #xE0066) - ("TAG LATIN SMALL LETTER G" #xE0067) - ("TAG LATIN SMALL LETTER H" #xE0068) - ("TAG LATIN SMALL LETTER I" #xE0069) - ("TAG LATIN SMALL LETTER J" #xE006A) - ("TAG LATIN SMALL LETTER K" #xE006B) - ("TAG LATIN SMALL LETTER L" #xE006C) - ("TAG LATIN SMALL LETTER M" #xE006D) - ("TAG LATIN SMALL LETTER N" #xE006E) - ("TAG LATIN SMALL LETTER O" #xE006F) - ("TAG LATIN SMALL LETTER P" #xE0070) - ("TAG LATIN SMALL LETTER Q" #xE0071) - ("TAG LATIN SMALL LETTER R" #xE0072) - ("TAG LATIN SMALL LETTER S" #xE0073) - ("TAG LATIN SMALL LETTER T" #xE0074) - ("TAG LATIN SMALL LETTER U" #xE0075) - ("TAG LATIN SMALL LETTER V" #xE0076) - ("TAG LATIN SMALL LETTER W" #xE0077) - ("TAG LATIN SMALL LETTER X" #xE0078) - ("TAG LATIN SMALL LETTER Y" #xE0079) - ("TAG LATIN SMALL LETTER Z" #xE007A) - ("TAG LEFT CURLY BRACKET" #xE007B) - ("TAG VERTICAL LINE" #xE007C) - ("TAG RIGHT CURLY BRACKET" #xE007D) - ("TAG TILDE" #xE007E) - ("CANCEL TAG" #xE007F) - )) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/dir b/elpa-to-submit/nxhtml/nxml-mode-20041004/dir deleted file mode 100644 index 731aabdde7..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/dir +++ /dev/null @@ -1,18 +0,0 @@ -This is the file .../info/dir, which contains the -topmost node of the Info hierarchy, called (dir)Top. -The first time you invoke Info you start off looking at this node. - -File: dir, Node: Top This is the top of the INFO tree - - This (the Directory node) gives a menu of major topics. - Typing "q" exits, "?" lists all Info commands, "d" returns here, - "h" gives a primer for first-timers, - "mEmacs " visits the Emacs manual, etc. - - In Emacs, you can click mouse button 2 on a menu item or cross reference - to select it. - -* Menu: - -Emacs -* nXML Mode: (nxml-mode.info). diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-enc.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-enc.el deleted file mode 100644 index ba75580301..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-enc.el +++ /dev/null @@ -1,167 +0,0 @@ -;;; nxml-enc.el --- XML encoding auto-detection - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; User entry points are nxml-start-auto-coding and -;; nxml-stop-auto-coding. This is separate from nxml-mode, because -;; this cannot be autoloaded. It may use -;; `xmltok-get-declared-encoding-position' which can be autoloaded. -;; It's separate from rng-auto.el so it can be byte-compiled, and -;; because it provides independent, useful functionality. - -;;; Code: - -(defvar nxml-file-name-ignore-case - (memq system-type '(vax-vms windows-nt))) - -(defvar nxml-cached-file-name-auto-coding-regexp nil) -(defvar nxml-cached-auto-mode-alist nil) - -(defun nxml-file-name-auto-coding-regexp () - "Return regexp for filenames for which XML auto-coding should be done." - (if (eq auto-mode-alist nxml-cached-auto-mode-alist) - nxml-cached-file-name-auto-coding-regexp - (let ((alist auto-mode-alist) - (case-fold-search nxml-file-name-ignore-case) - regexps) - (setq nxml-cached-auto-mode-alist alist) - (while alist - (when (eq (cdar alist) 'nxml-mode) - (setq regexps (cons (caar alist) regexps))) - (setq alist (cdr alist))) - (setq nxml-cached-file-name-auto-coding-regexp - (if (null (cdr regexps)) - (car regexps) - (mapconcat (lambda (r) - (concat "\\(?:" r "\\)")) - regexps - "\\|")))))) - -(defvar nxml-non-xml-set-auto-coding-function nil - "The function that `set-auto-coding-function' should call for non-XML files.") -(defun nxml-set-auto-coding (file-name size) - (if (let ((case-fold-search nxml-file-name-ignore-case) - (regexp (nxml-file-name-auto-coding-regexp))) - (and regexp - (string-match regexp file-name))) - (nxml-set-xml-coding file-name size) - (and nxml-non-xml-set-auto-coding-function - (funcall nxml-non-xml-set-auto-coding-function file-name size)))) - -(defun nxml-set-xml-coding (file-name size) - "Function to use as `set-auto-coding-function' when file is known to be XML." - (nxml-detect-coding-system (+ (point) (min size 1024)))) - -(defun nxml-detect-coding-system (limit) - (if (< limit (+ (point) 2)) - (if (eq (char-after) 0) 'no-conversion 'utf-8) - (let ((first-two-chars (list (char-after) - (char-after (1+ (point)))))) - (cond ((equal first-two-chars '(#xFE #xFF)) - (and (coding-system-p 'utf-16-be) 'utf-16-be)) - ((equal first-two-chars '(#xFF #xFE)) - (and (coding-system-p 'utf-16-le) 'utf-16-le)) - ((memq 0 first-two-chars) - ;; Certainly not well-formed XML; - ;; perhaps UTF-16 without BOM. - ;; In any case, we can't handle it. - ;; no-conversion gives the user a chance to fix it. - 'no-conversion) - ;; There are other things we might try here in the future - ;; eg UTF-8 BOM, UTF-16 with no BOM - ;; translate to EBCDIC - (t - (let ((enc-pos (xmltok-get-declared-encoding-position limit))) - (cond ((consp enc-pos) - (or (nxml-mime-charset-coding-system - (buffer-substring-no-properties (car enc-pos) - (cdr enc-pos))) - ;; We have an encoding whose name we don't recognize. - ;; What to do? - ;; raw-text seems the best bet: since we got - ;; the XML decl it must be a superset of ASCII, - ;; so we don't need to go to no-conversion - 'raw-text)) - (enc-pos 'utf-8) - ;; invalid XML declaration - (t nil)))))))) - -(defun nxml-mime-charset-coding-system (charset) - (let ((charset-sym (intern (downcase charset))) - (coding-systems (coding-system-list t)) - coding-system ret) - (while (and coding-systems (not ret)) - (setq coding-system (car coding-systems)) - (if (eq (coding-system-get coding-system 'mime-charset) - charset-sym) - (setq ret coding-system) - (setq coding-systems (cdr coding-systems)))) - ret)) - -(defun nxml-start-auto-coding () - "Do encoding auto-detection as specified in the XML standard. -Applied to any files that `auto-mode-alist' says should be handled by -`nxml-mode'." - (interactive) - (unless (eq set-auto-coding-function 'nxml-set-auto-coding) - (let ((inhibit-quit t)) - (setq nxml-non-xml-set-auto-coding-function set-auto-coding-function) - (setq set-auto-coding-function 'nxml-set-auto-coding)))) - -(defun nxml-stop-auto-coding () - "Stop doing encoding auto-detection as specified in the XML standard." - (interactive) - (when (eq set-auto-coding-function 'nxml-set-auto-coding) - (let ((inhibit-quit t)) - (setq set-auto-coding-function nxml-non-xml-set-auto-coding-function) - (setq nxml-non-xml-set-auto-coding-function nil)))) - -(unless (coding-system-p 'us-ascii) - (make-coding-system - ;; Unicode Emacs uses ?- last time I looked - 'us-ascii 2 ?- - "ISO 2022 based 7-bit encoding for ASCII (MIME:US-ASCII)" - '(ascii) - '((safe-charsets ascii) - (mime-charset . us-ascii)))) - -;; Emacs 21.3.50 makes us-ascii an alias for iso-safe without -;; giving it a mime-charset property. -(unless (coding-system-get 'us-ascii 'mime-charset) - (coding-system-put 'us-ascii 'mime-charset 'us-ascii)) - -;; Work around bug in Emacs 21.3 - -(when (and (coding-system-p 'utf-16-le) - (eq (coding-system-get 'utf-16-le 'pre-write-conversion) - 'utf-16-le-pre-write-conversion)) - (coding-system-put 'utf-16-le 'pre-write-conversion nil)) - -(when (and (coding-system-p 'utf-16-le) - (eq (coding-system-get 'utf-16-be 'pre-write-conversion) - 'utf-16-be-pre-write-conversion)) - (coding-system-put 'utf-16-be 'pre-write-conversion nil)) - -(provide 'nxml-enc) - -;;; nxml-enc.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-glyph.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-glyph.el deleted file mode 100644 index b5a70b2694..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-glyph.el +++ /dev/null @@ -1,418 +0,0 @@ -;;; nxml-glyph.el --- glyph-handling for nxml-mode - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; The entry point to this file is `nxml-glyph-display-string'. -;; The current implementation is heuristic due to a lack of -;; Emacs primitives necessary to implement it properly. The user -;; can tweak the heuristics using `nxml-glyph-set-hook'. - -;;; Code: - -(defconst nxml-ascii-glyph-set - [(#x0020 . #x007E)]) - -(defconst nxml-latin1-glyph-set - [(#x0020 . #x007E) - (#x00A0 . #x00FF)]) - -;; These were generated by using nxml-insert-target-repertoire-glyph-set -;; on the TARGET[123] files in -;; http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz - -(defconst nxml-misc-fixed-1-glyph-set - [(#x0020 . #x007E) - (#x00A0 . #x00FF) - (#x0100 . #x017F) - #x018F #x0192 - (#x0218 . #x021B) - #x0259 - (#x02C6 . #x02C7) - (#x02D8 . #x02DD) - (#x0374 . #x0375) - #x037A #x037E - (#x0384 . #x038A) - #x038C - (#x038E . #x03A1) - (#x03A3 . #x03CE) - (#x0401 . #x040C) - (#x040E . #x044F) - (#x0451 . #x045C) - (#x045E . #x045F) - (#x0490 . #x0491) - (#x05D0 . #x05EA) - (#x1E02 . #x1E03) - (#x1E0A . #x1E0B) - (#x1E1E . #x1E1F) - (#x1E40 . #x1E41) - (#x1E56 . #x1E57) - (#x1E60 . #x1E61) - (#x1E6A . #x1E6B) - (#x1E80 . #x1E85) - (#x1EF2 . #x1EF3) - (#x2010 . #x2022) - #x2026 #x2030 - (#x2039 . #x203A) - #x20AC #x2116 #x2122 #x2126 - (#x215B . #x215E) - (#x2190 . #x2193) - #x2260 - (#x2264 . #x2265) - (#x23BA . #x23BD) - (#x2409 . #x240D) - #x2424 #x2500 #x2502 #x250C #x2510 #x2514 #x2518 #x251C #x2524 #x252C #x2534 #x253C #x2592 #x25C6 #x266A #xFFFD] - "Glyph set for TARGET1 glyph repertoire of misc-fixed-* font. -This repertoire is supported for the bold and oblique fonts.") - -(defconst nxml-misc-fixed-2-glyph-set - [(#x0020 . #x007E) - (#x00A0 . #x00FF) - (#x0100 . #x017F) - #x018F #x0192 - (#x01FA . #x01FF) - (#x0218 . #x021B) - #x0259 - (#x02C6 . #x02C7) - #x02C9 - (#x02D8 . #x02DD) - (#x0300 . #x0311) - (#x0374 . #x0375) - #x037A #x037E - (#x0384 . #x038A) - #x038C - (#x038E . #x03A1) - (#x03A3 . #x03CE) - #x03D1 - (#x03D5 . #x03D6) - #x03F1 - (#x0401 . #x040C) - (#x040E . #x044F) - (#x0451 . #x045C) - (#x045E . #x045F) - (#x0490 . #x0491) - (#x05D0 . #x05EA) - (#x1E02 . #x1E03) - (#x1E0A . #x1E0B) - (#x1E1E . #x1E1F) - (#x1E40 . #x1E41) - (#x1E56 . #x1E57) - (#x1E60 . #x1E61) - (#x1E6A . #x1E6B) - (#x1E80 . #x1E85) - (#x1EF2 . #x1EF3) - (#x2010 . #x2022) - #x2026 #x2030 - (#x2032 . #x2034) - (#x2039 . #x203A) - #x203C #x203E #x2044 - (#x2070 . #x2071) - (#x2074 . #x208E) - (#x20A3 . #x20A4) - #x20A7 #x20AC - (#x20D0 . #x20D7) - #x2102 #x2105 #x2113 - (#x2115 . #x2116) - #x211A #x211D #x2122 #x2124 #x2126 #x212E - (#x215B . #x215E) - (#x2190 . #x2195) - (#x21A4 . #x21A8) - (#x21D0 . #x21D5) - (#x2200 . #x2209) - (#x220B . #x220C) - #x220F - (#x2211 . #x2213) - #x2215 - (#x2218 . #x221A) - (#x221D . #x221F) - #x2221 - (#x2224 . #x222B) - #x222E #x223C #x2243 #x2245 - (#x2248 . #x2249) - #x2259 - (#x225F . #x2262) - (#x2264 . #x2265) - (#x226A . #x226B) - (#x2282 . #x228B) - #x2295 #x2297 - (#x22A4 . #x22A7) - (#x22C2 . #x22C3) - #x22C5 #x2300 #x2302 - (#x2308 . #x230B) - #x2310 - (#x2320 . #x2321) - (#x2329 . #x232A) - (#x23BA . #x23BD) - (#x2409 . #x240D) - #x2424 #x2500 #x2502 #x250C #x2510 #x2514 #x2518 #x251C #x2524 #x252C #x2534 #x253C - (#x254C . #x2573) - (#x2580 . #x25A1) - (#x25AA . #x25AC) - (#x25B2 . #x25B3) - #x25BA #x25BC #x25C4 #x25C6 - (#x25CA . #x25CB) - #x25CF - (#x25D8 . #x25D9) - #x25E6 - (#x263A . #x263C) - #x2640 #x2642 #x2660 #x2663 - (#x2665 . #x2666) - (#x266A . #x266B) - (#xFB01 . #xFB02) - #xFFFD] - "Glyph set for TARGET2 glyph repertoire of the misc-fixed-* fonts. -This repertoire is supported for the following fonts: -5x7.bdf 5x8.bdf 6x9.bdf 6x10.bdf 6x12.bdf 7x13.bdf 7x14.bdf clR6x12.bdf") - -(defconst nxml-misc-fixed-3-glyph-set - [(#x0020 . #x007E) - (#x00A0 . #x00FF) - (#x0100 . #x01FF) - (#x0200 . #x0220) - (#x0222 . #x0233) - (#x0250 . #x02AD) - (#x02B0 . #x02EE) - (#x0300 . #x034F) - (#x0360 . #x036F) - (#x0374 . #x0375) - #x037A #x037E - (#x0384 . #x038A) - #x038C - (#x038E . #x03A1) - (#x03A3 . #x03CE) - (#x03D0 . #x03F6) - (#x0400 . #x0486) - (#x0488 . #x04CE) - (#x04D0 . #x04F5) - (#x04F8 . #x04F9) - (#x0500 . #x050F) - (#x0531 . #x0556) - (#x0559 . #x055F) - (#x0561 . #x0587) - (#x0589 . #x058A) - (#x05B0 . #x05B9) - (#x05BB . #x05C4) - (#x05D0 . #x05EA) - (#x05F0 . #x05F4) - (#x10D0 . #x10F8) - #x10FB - (#x1E00 . #x1E9B) - (#x1EA0 . #x1EF9) - (#x1F00 . #x1F15) - (#x1F18 . #x1F1D) - (#x1F20 . #x1F45) - (#x1F48 . #x1F4D) - (#x1F50 . #x1F57) - #x1F59 #x1F5B #x1F5D - (#x1F5F . #x1F7D) - (#x1F80 . #x1FB4) - (#x1FB6 . #x1FC4) - (#x1FC6 . #x1FD3) - (#x1FD6 . #x1FDB) - (#x1FDD . #x1FEF) - (#x1FF2 . #x1FF4) - (#x1FF6 . #x1FFE) - (#x2000 . #x200A) - (#x2010 . #x2027) - (#x202F . #x2052) - #x2057 - (#x205F . #x2063) - (#x2070 . #x2071) - (#x2074 . #x208E) - (#x20A0 . #x20B1) - (#x20D0 . #x20EA) - (#x2100 . #x213A) - (#x213D . #x214B) - (#x2153 . #x2183) - (#x2190 . #x21FF) - (#x2200 . #x22FF) - (#x2300 . #x23CE) - (#x2400 . #x2426) - (#x2440 . #x244A) - (#x2500 . #x25FF) - (#x2600 . #x2613) - (#x2616 . #x2617) - (#x2619 . #x267D) - (#x2680 . #x2689) - (#x27E6 . #x27EB) - (#x27F5 . #x27FF) - (#x2A00 . #x2A06) - #x2A1D #x2A3F #x303F - (#xFB00 . #xFB06) - (#xFB13 . #xFB17) - (#xFB1D . #xFB36) - (#xFB38 . #xFB3C) - #xFB3E - (#xFB40 . #xFB41) - (#xFB43 . #xFB44) - (#xFB46 . #xFB4F) - (#xFE20 . #xFE23) - (#xFF61 . #xFF9F) - #xFFFD] - "Glyph set for TARGET3 glyph repertoire of the misc-fixed-* fonts. -This repertoire is supported for the following fonts: -6x13.bdf 8x13.bdf 9x15.bdf 9x18.bdf 10x20.bdf") - -(defconst nxml-wgl4-glyph-set - [(#x0020 . #x007E) - (#x00A0 . #x017F) - #x0192 - (#x01FA . #x01FF) - (#x02C6 . #x02C7) - #x02C9 - (#x02D8 . #x02DB) - #x02DD - (#x0384 . #x038A) - #x038C - (#x038E . #x03A1) - (#x03A3 . #x03CE) - (#x0401 . #x040C) - (#x040E . #x044F) - (#x0451 . #x045C) - (#x045E . #x045F) - (#x0490 . #x0491) - (#x1E80 . #x1E85) - (#x1EF2 . #x1EF3) - (#x2013 . #x2015) - (#x2017 . #x201E) - (#x2020 . #x2022) - #x2026 #x2030 - (#x2032 . #x2033) - (#x2039 . #x203A) - #x203C #x203E #x2044 #x207F - (#x20A3 . #x20A4) - #x20A7 #x20AC #x2105 #x2113 #x2116 #x2122 #x2126 #x212E - (#x215B . #x215E) - (#x2190 . #x2195) - #x21A8 #x2202 #x2206 #x220F - (#x2211 . #x2212) - #x2215 - (#x2219 . #x221A) - (#x221E . #x221F) - #x2229 #x222B #x2248 - (#x2260 . #x2261) - (#x2264 . #x2265) - #x2302 #x2310 - (#x2320 . #x2321) - #x2500 #x2502 #x250C #x2510 #x2514 #x2518 #x251C #x2524 - #x252C #x2534 #x253C - (#x2550 . #x256C) - #x2580 #x2584 #x2588 #x258C - (#x2590 . #x2593) - (#x25A0 . #x25A1) - (#x25AA . #x25AC) - #x25B2 #x25BA #x25BC #x25C4 - (#x25CA . #x25CB) - #x25CF - (#x25D8 . #x25D9) - #x25E6 - (#x263A . #x263C) - #x2640 #x2642 #x2660 #x2663 - (#x2665 . #x2666) - (#x266A . #x266B) - (#xFB01 . #xFB02)] - "Glyph set corresponding to Windows Glyph List 4.") - -(defvar nxml-glyph-set-hook nil - "*Hook for determining the set of glyphs in a face. -The hook will receive a single argument FACE. If it can determine the -set of glyphs representable by FACE, it must set the variable -`nxml-glyph-set' and return non-nil. Otherwise, it must return -nil. The hook will be run until success. The constants -`nxml-ascii-glyph-set', `nxml-latin1-glyph-set', -`nxml-misc-fixed-1-glyph-set', `nxml-misc-fixed-2-glyph-set', -`nxml-misc-fixed-3-glyph-set' and `nxml-wgl4-glyph-set' are predefined -for use by `nxml-glyph-set-hook'.") - -(defvar nxml-glyph-set nil - "Used by `nxml-glyph-set-hook' to return set of glyphs in a FACE. -This should dynamically bound by any function that runs -`nxml-glyph-set-hook'. The value must be either nil representing an -empty set or a vector. Each member of the vector is either a single -integer or a cons (FIRST . LAST) representing the range of integers -from FIRST to LAST. An integer represents a glyph with that Unicode -code-point. The vector must be ordered.") - -(defun nxml-x-set-glyph-set (face) - (setq nxml-glyph-set - (if (equal (face-attribute face :family) "misc-fixed") - nxml-misc-fixed-3-glyph-set - nxml-wgl4-glyph-set))) - -(defun nxml-w32-set-glyph-set (face) - (setq nxml-glyph-set nxml-wgl4-glyph-set)) - -(defun nxml-window-system-set-glyph-set (face) - (setq nxml-glyph-set nxml-latin1-glyph-set)) - -(defun nxml-terminal-set-glyph-set (face) - (setq nxml-glyph-set nxml-ascii-glyph-set)) - -(add-hook 'nxml-glyph-set-hook - (or (cdr (assq window-system - '((x . nxml-x-set-glyph-set) - (w32 . nxml-w32-set-glyph-set) - (nil . nxml-terminal-set-glyph-set)))) - 'nxml-window-system-set-glyph-set) - t) - -;;;###autoload -(defun nxml-glyph-display-string (n face) - "Return a string that can display a glyph for Unicode code-point N. -FACE gives the face that will be used for displaying the string. -Return nil if the face cannot display a glyph for N." - (let ((nxml-glyph-set nil)) - (run-hook-with-args-until-success 'nxml-glyph-set-hook face) - (and nxml-glyph-set - (nxml-glyph-set-contains-p n nxml-glyph-set) - (let ((ch (decode-char 'ucs n))) - (and ch (string ch)))))) - -(defun nxml-glyph-set-contains-p (n v) - (let ((start 0) - (end (length v)) - found mid mid-val mid-start-val mid-end-val) - (while (> end start) - (setq mid (+ start - (/ (- end start) 2))) - (setq mid-val (aref v mid)) - (if (consp mid-val) - (setq mid-start-val (car mid-val) - mid-end-val (cdr mid-val)) - (setq mid-start-val mid-val - mid-end-val mid-val)) - (cond ((and (<= mid-start-val n) - (<= n mid-end-val)) - (setq found t) - (setq start end)) - ((< n mid-start-val) - (setq end mid)) - (t - (setq start - (if (eq start mid) - end - mid))))) - found)) - -(provide 'nxml-glyph) - -;;; nxml-glyph.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-maint.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-maint.el deleted file mode 100644 index 015c0c7dad..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-maint.el +++ /dev/null @@ -1,106 +0,0 @@ -;;; nxml-maint.el --- commands for maintainers of nxml-*.el - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;;; Code: - -;;; Generating files with Unicode char names. - -(require 'nxml-uchnm) - -(defun nxml-create-unicode-char-name-sets (file) - "Generate files containing char names from Unicode standard." - (interactive "fUnicodeData file: ") - (mapcar (lambda (block) - (let ((nameset (nxml-unicode-block-char-name-set (nth 0 block)))) - (save-excursion - (find-file (concat (get nameset 'nxml-char-name-set-file) - ".el")) - (erase-buffer) - (insert "(nxml-define-char-name-set '") - (prin1 nameset (current-buffer)) - (insert "\n '())\n") - (goto-char (- (point) 3))))) - nxml-unicode-blocks) - (save-excursion - (find-file file) - (goto-char (point-min)) - (let ((blocks nxml-unicode-blocks) - code name) - (while (re-search-forward "^\\([0-9A-F]+\\);\\([^<;][^;]*\\);" - nil - t) - (setq code (string-to-number (match-string 1) 16)) - (setq name (match-string 2)) - (while (and blocks - (> code (nth 2 (car blocks)))) - (setq blocks (cdr blocks))) - (when (and (<= (nth 1 (car blocks)) code) - (<= code (nth 2 (car blocks)))) - (save-excursion - (find-file (concat (get (nxml-unicode-block-char-name-set - (nth 0 (car blocks))) - 'nxml-char-name-set-file) - ".el")) - (insert "(") - (prin1 name (current-buffer)) - (insert (format " #x%04X)\n " code)))))))) - -;;; Parsing target repertoire files from ucs-fonts. -;; This is for converting the TARGET? files in -;; http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz -;; into a glyph set. - -(defun nxml-insert-target-repertoire-glyph-set (file var) - (interactive "fTarget file: \nSVariable name: ") - (let (lst head) - (save-excursion - (set-buffer (find-file-noselect file)) - (goto-char (point-min)) - (while (re-search-forward "^ *\\([a-FA-F0-9]\\{2\\}\\)[ \t]+" nil t) - (let ((row (match-string 1)) - (eol (save-excursion (end-of-line) (point)))) - (while (re-search-forward "\\([a-FA-F0-9]\\{2\\}\\)-\\([a-FA-F0-9]\\{2\\}\\)\\|\\([a-FA-F0-9]\\{2\\}\\)" eol t) - (setq lst - (cons (if (match-beginning 3) - (concat "#x" row (match-string 3)) - (concat "(#x" row (match-string 1) - " . #x" row (match-string 2) ")")) - lst)))))) - (setq lst (nreverse lst)) - (insert (format "(defconst %s\n [" var)) - (while lst - (setq head (car lst)) - (setq lst (cdr lst)) - (insert head) - (when (= (length head) 6) - (while (and lst (= (length (car lst)) 6)) - (insert " ") - (insert (car lst)) - (setq lst (cdr lst)))) - (when lst (insert "\n "))) - (insert "])\n"))) - -(provide 'nxml-maint) - -;;; nxml-maint.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-mode-new.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-mode-new.el deleted file mode 100644 index c40b76fcdf..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-mode-new.el +++ /dev/null @@ -1,2706 +0,0 @@ -;;; nxml-mode.el --- a new XML mode - -;; ****** THIS IS A MODIFIED VERSION!!!!! ******************** - -;; This version of nxml-mode.el have been slightly modified to support -;; nxmlhref.el. The modifications are small and you find them easily -;; by searching for "href". -;; -;; IMPORTANT: When you compile this file be sure to use the Makefile -;; that comes with nxml. -;; -;; Modifications are done by the author of nxmlhref.el. - -;; *********************************************************** - -;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; To use this include rng-auto.el in your .emacs. - -;; See nxml-rap.el for description of parsing strategy. - -;; The font locking here is independent of font-lock.el. We want to -;; do more sophisticated handling of changes and we want to use the -;; same xmltok rather than regexps for parsing so that we parse -;; consistently and correctly. - -;;; Code: - -(when (featurep 'mucs) - (error "nxml-mode is not compatible with Mule-UCS")) - -(require 'xmltok) -(require 'nxml-enc) -(require 'nxml-glyph) -(require 'nxml-util) -(require 'nxml-rap) -(require 'nxml-outln) - -;;; Customization - -(defgroup nxml nil - "New XML editing mode" - :group 'languages - :group 'wp) - -(defgroup nxml-highlighting-faces nil - "Faces for XML syntax highlighting." - :group 'nxml - :group 'font-lock-highlighting-faces) - -(defcustom nxml-syntax-highlight-flag t - "*Non-nil means nxml-mode should perform syntax highlighting." - :group 'nxml - :type 'boolean) - -(defcustom nxml-char-ref-display-glyph-flag t - "*Non-nil means display glyph following character reference. -The glyph is displayed in `nxml-glyph-face'. The hook -`nxml-glyph-set-hook' can be used to customize for which characters -glyphs are displayed." - :group 'nxml - :type 'boolean) - -(defcustom nxml-mode-hook nil - "Hook run by command `nxml-mode'." - :group 'nxml - :type 'hook) - -(defcustom nxml-sexp-element-flag nil - "*Non-nil means sexp commands treat an element as a single expression." - :group 'nxml - :type 'boolean) - -(defcustom nxml-slash-auto-complete-flag nil - "*Non-nil means typing a slash automatically completes the end-tag. -This is used by `nxml-electric-slash'." - :group 'nxml - :type 'boolean) - -(defcustom nxml-child-indent 2 - "*Indentation for the children of an element relative to the start-tag. -This only applies when the line or lines containing the start-tag contains -nothing else other than that start-tag." - :group 'nxml - :type 'integer) - -(defcustom nxml-attribute-indent 4 - "*Indentation for the attributes of an element relative to the start-tag. -This only applies when the first attribute of a tag starts a line. In other -cases, the first attribute on one line is indented the same as the first -attribute on the previous line." - :group 'nxml - :type 'integer) - -(defvar nxml-fontify-chunk-size 500) - -(defcustom nxml-bind-meta-tab-to-complete-flag (not window-system) - "*Non-nil means bind M-TAB in `nxml-mode-map' to `nxml-complete'. -C-return will be bound to `nxml-complete' in any case. -M-TAB gets swallowed by many window systems/managers, and -`documentation' will show M-TAB rather than C-return as the -binding `rng-complete' when both are bound. So it's better -to bind M-TAB only when it will work." - :group 'nxml - :set (lambda (sym flag) - (set-default sym flag) - (when (and (boundp 'nxml-mode-map) nxml-mode-map) - (define-key nxml-mode-map "\M-\t" (and flag 'nxml-complete)))) - :type 'boolean) - -(defcustom nxml-prefer-utf-16-to-utf-8-flag nil - "*Non-nil means prefer UTF-16 to UTF-8 when saving a buffer. -This is used only when a buffer does not contain an encoding declaration -and when its current `buffer-file-coding-system' specifies neither UTF-16 -nor UTF-8." - :group 'nxml - :type 'boolean) - -(defcustom nxml-prefer-utf-16-little-to-big-endian-flag (eq system-type - 'windows-nt) - "*Non-nil means prefer little-endian to big-endian byte-order for UTF-16. -This is used only for saving a buffer; when reading the byte-order is -auto-detected. It may be relevant both when there is no encoding declaration -and when the encoding declaration specifies `UTF-16'." - :group 'nxml - :type 'boolean) - -(defcustom nxml-default-buffer-file-coding-system nil - "*Default value for `buffer-file-coding-system' for a buffer for a new file. -Nil means use the default value of `buffer-file-coding-system' as normal. -A buffer's `buffer-file-coding-system' affects what \\[nxml-insert-xml-declaration] inserts." - :group 'nxml - :type 'coding-system) - -(defcustom nxml-auto-insert-xml-declaration-flag nil - "*Non-nil means automatically insert an XML declaration in a new file. -The XML declaration is inserted using `nxml-insert-xml-declaration'." - :group 'nxml - :type 'boolean) - -;; The following are the colors we use with a light background. -;; The two blues have the same hue but contrasting saturation/value. -;; The hue of the green is 120 degrees different from that of the -;; blue. The red used for highlighting errors is 120 degrees -;; different again. We use the light blue only for refs and -;; delimiters, since these are short (long stretches in a light color -;; would be too hard to read). The dark blue is closest to black -;; (which we use by default for text), so we use it for attribute -;; values, which are similar to text. - -(defconst nxml-light-blue-color "#9292C9") ; hue 240 -(defconst nxml-dark-blue-color "#3A3A7B") ; hue 240 -(defconst nxml-green-color "#257A25") ; hue 120 - -;; Similar principles apply with a dark background. However, -;; we switch green and blue, because darker blues are very hard to -;; read (for me anyway) on a dark background. - -(defconst nxml-sky-blue-color "#ACACFC") ; hue 240 -(defconst nxml-dark-green-color "#00AD00") ; hue 120 -(defconst nxml-light-green-color "#70F170") ; hue 120 - -(defface nxml-delimited-data-face - `((((class color) (background light)) (:foreground ,nxml-dark-blue-color)) - (((class color) (background dark)) (:foreground ,nxml-light-green-color))) - "Face used to highlight data enclosed between delimiters. -By default, this is inherited by `nxml-attribute-value-face' -and `nxml-processing-instruction-content-face'." - :group 'nxml-highlighting-faces) - -(defface nxml-name-face - `((((class color) (background light)) (:foreground ,nxml-green-color)) - (((class color) (background dark)) (:foreground ,nxml-sky-blue-color))) - "Face used to highlight various names. -This includes element and attribute names, processing -instruction targets and the CDATA keyword in a CDATA section. -This is not used directly, but only via inheritance by other faces." - :group 'nxml-highlighting-faces) - -(defface nxml-ref-face - `((((class color) (background light)) (:foreground ,nxml-light-blue-color)) - (((class color) (background dark)) (:foreground ,nxml-dark-green-color))) - "Face used to highlight character and entity references. -This is not used directly, but only via inheritance by other faces." - :group 'nxml-highlighting-faces) - -(defface nxml-delimiter-face - `((((class color) (background light)) (:foreground ,nxml-light-blue-color)) - (((class color) (background dark)) (:foreground ,nxml-dark-green-color)) - (t (:bold t))) - "Face used to highlight delimiters. -This is not used directly, but only via inheritance by other faces." - :group 'nxml-highlighting-faces) - -(defface nxml-text-face - nil - "Face used to highlight text." - :group 'nxml-highlighting-faces) - -(defface nxml-comment-content-face - '((t (:italic t))) - "Face used to highlight the content of comments." - :group 'nxml-highlighting-faces) - -(defface nxml-comment-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of comments, i.e ." - :group 'nxml-highlighting-faces) - -(defface nxml-processing-instruction-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of processing instructions, i.e and ?>." - :group 'nxml-highlighting-faces) - -(defface nxml-processing-instruction-target-face - '((t (:inherit nxml-name-face))) - "Face used for the target of processing instructions." - :group 'nxml-highlighting-faces) - -(defface nxml-processing-instruction-content-face - '((t (:inherit nxml-delimited-data-face))) - "Face used for the content of processing instructions." - :group 'nxml-highlighting-faces) - -(defface nxml-cdata-section-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of CDATA sections, i.e ." - :group 'nxml-highlighting-faces) - -(defface nxml-cdata-section-CDATA-face - '((t (:inherit nxml-name-face))) - "Face used for the CDATA keyword in CDATA sections." - :group 'nxml-highlighting-faces) - -(defface nxml-cdata-section-content-face - '((t (:inherit nxml-text-face))) - "Face used for the content of CDATA sections." - :group 'nxml-highlighting-faces) - -(defface nxml-char-ref-number-face - '((t (:inherit nxml-ref-face))) - "Face used for the number in character references. -This includes ths `x' in hex references." - :group 'nxml-highlighting-faces) - -(defface nxml-char-ref-delimiter-face - '((t (:inherit nxml-ref-face))) - "Face used for the delimiters of character references, i.e and ;." - :group 'nxml-highlighting-faces) - -(defface nxml-entity-ref-name-face - '((t (:inherit nxml-ref-face))) - "Face used for the entity name in general entity references." - :group 'nxml-highlighting-faces) - -(defface nxml-entity-ref-delimiter-face - '((t (:inherit nxml-ref-face))) - "Face used for the delimiters of entity references, i.e & and ;." - :group 'nxml-highlighting-faces) - -(defface nxml-tag-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the angle brackets delimiting tags. -`nxml-tag-slash-face' is used for slashes." - :group 'nxml-highlighting-faces) - -(defface nxml-tag-slash-face - '((t (:inherit nxml-name-face))) - "Face used for slashes in tags, both in end-tags and empty-elements." - :group 'nxml-highlighting-faces) - -(defface nxml-element-prefix-face - '((t (:inherit nxml-name-face))) - "Face used for the prefix of elements." - :group 'nxml-highlighting-faces) - -(defface nxml-element-colon-face - '((t (:inherit nxml-name-face))) - "Face used for the colon in element names." - :group 'nxml-highlighting-faces) - -(defface nxml-element-local-name-face - '((t (:inherit nxml-name-face))) - "Face used for the local name of elements." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-prefix-face - '((t (:inherit nxml-name-face))) - "Face used for the prefix of attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-colon-face - '((t (:inherit nxml-name-face))) - "Face used for the colon in attribute names." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-local-name-face - '((t (:inherit nxml-name-face))) - "Face used for the local name of attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-xmlns-face - '((t (:inherit nxml-name-face))) - "Face used for `xmlns' in namespace attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-colon-face - '((t (:inherit nxml-name-face))) - "Face used for the colon in namespace attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-prefix-face - '((t (:inherit nxml-name-face))) - "Face used for the prefix declared in namespace attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-value-face - '((t (:inherit nxml-delimited-data-face))) - "Face used for the value of attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-value-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of attribute values." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-value-face - '((t (:inherit nxml-attribute-value-face))) - "Face used for the value of namespace attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-value-delimiter-face - '((t (:inherit nxml-attribute-value-delimiter-face))) - "Face used for the delimiters of namespace attribute values." - :group 'nxml-highlighting-faces) - -(defface nxml-prolog-literal-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of literals in the prolog." - :group 'nxml-highlighting-faces) - -(defface nxml-prolog-literal-content-face - '((t (:inherit nxml-delimited-data-face))) - "Face used for the content of literals in the prolog." - :group 'nxml-highlighting-faces) - -(defface nxml-prolog-keyword-face - '((t (:inherit nxml-name-face))) - "Face used for keywords in the prolog." - :group 'nxml-highlighting-faces) - -(defface nxml-markup-declaration-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of markup declarations in the prolog. -The delimiters are ." - :group 'nxml-highlighting-faces) - -(defface nxml-hash-face - '((t (:inherit nxml-name-face))) - "Face used for # before a name in the prolog." - :group 'nxml-highlighting-faces) - -(defface nxml-glyph-face - '((((type x)) - (:family - "misc-fixed" - :background - "light grey" - :foreground - "black" - :weight - normal - :slant - normal)) - (t - (:background - "light grey" - :foreground - "black" - :weight - normal - :slant - normal))) - "Face used for glyph for char references." - :group 'nxml-highlighting-faces) - -;;; Global variables - -;; This is initialized in rng-auto.el. -(defvar nxml-version nil - "*The version of nxml-mode that is being used.") - -(defvar nxml-prolog-regions nil - "List of regions in the prolog to be fontified. -See the function `xmltok-forward-prolog' for more information.") -(make-variable-buffer-local 'nxml-prolog-regions) - -(defvar nxml-last-fontify-end nil - "Position where fontification last ended. -Nil if the buffer changed since the last fontification.") -(make-variable-buffer-local 'nxml-last-fontify-end) - -(defvar nxml-degraded nil - "Non-nil if currently operating in degraded mode. -Degraded mode is enabled when an internal error is encountered in the -fontification or after-change functions.") -(make-variable-buffer-local 'nxml-degraded) - -(defvar nxml-completion-hook nil - "Hook run by `nxml-complete'. -This hook is run until success.") - -(defvar nxml-in-mixed-content-hook nil - "Hook to determine whether point is in mixed content. -The hook is called without arguments. It should return nil if it is -definitely not mixed; non-nil otherwise. The hook will be run until -one of the functions returns nil.") - -(defvar nxml-mixed-scan-distance 4000 - "Maximum distance from point to scan when checking for mixed content.") - -(defvar nxml-end-tag-indent-scan-distance 4000 - "Maximum distance from point to scan backwards when indenting end-tag.") - -(defvar nxml-char-ref-extra-display t - "Non-nil means display extra information for character references. -The extra information consists of a tooltip with the character name -and, if `nxml-char-ref-display-glyph-flag' is non-nil, a glyph -corresponding to the referenced character following the character -reference.") -(make-variable-buffer-local 'nxml-char-ref-extra-display) - -(defvar nxml-mode-map - (let ((map (make-sparse-keymap))) - (define-key map "\M-\C-u" 'nxml-backward-up-element) - (define-key map "\M-\C-d" 'nxml-down-element) - (define-key map "\M-\C-n" 'nxml-forward-element) - (define-key map "\M-\C-p" 'nxml-backward-element) - (define-key map "\M-{" 'nxml-backward-paragraph) - (define-key map "\M-}" 'nxml-forward-paragraph) - (define-key map "\M-h" 'nxml-mark-paragraph) - (define-key map "\C-c\C-f" 'nxml-finish-element) - (define-key map "\C-c\C-m" 'nxml-split-element) - (define-key map "\C-c\C-b" 'nxml-balanced-close-start-tag-block) - (define-key map "\C-c\C-i" 'nxml-balanced-close-start-tag-inline) - (define-key map "\C-c\C-x" 'nxml-insert-xml-declaration) - (define-key map "\C-c\C-d" 'nxml-dynamic-markup-word) - ;; u is for Unicode - (define-key map "\C-c\C-u" 'nxml-insert-named-char) - (define-key map "\C-c\C-o" nxml-outline-prefix-map) - (define-key map [S-mouse-2] 'nxml-mouse-hide-direct-text-content) - (define-key map "/" 'nxml-electric-slash) - (define-key map [C-return] 'nxml-complete) - (when nxml-bind-meta-tab-to-complete-flag - (define-key map "\M-\t" 'nxml-complete)) - map) - "Keymap for nxml-mode.") - -(defsubst nxml-set-face (start end face) - (when (and face (< start end)) - (put-text-property start end 'face face))) - -(defun nxml-clear-face (start end) - (remove-text-properties start end '(face nil)) - (nxml-clear-char-ref-extra-display start end)) - -(defsubst nxml-set-fontified (start end) - (put-text-property start end 'fontified t)) - -(defsubst nxml-clear-fontified (start end) - (remove-text-properties start end '(fontified nil))) - -;;;###autoload -(defun nxml-mode () - ;; We use C-c C-i instead of \\[nxml-balanced-close-start-tag-inline] - ;; because Emacs turns C-c C-i into C-c TAB which is hard to type and - ;; not mnemonic. - "Major mode for editing XML. - -Syntax highlighting is performed unless the variable -`nxml-syntax-highlight-flag' is nil. - -\\[nxml-finish-element] finishes the current element by inserting an end-tag. -C-c C-i closes a start-tag with `>' and then inserts a balancing end-tag -leaving point between the start-tag and end-tag. -\\[nxml-balanced-close-start-tag-block] is similar but for block rather than inline elements: -the start-tag, point, and end-tag are all left on separate lines. -If `nxml-slash-auto-complete-flag' is non-nil, then inserting a `' -automatically inserts the rest of the end-tag. - -\\[nxml-complete] performs completion on the symbol preceding point. - -\\[nxml-dynamic-markup-word] uses the contents of the current buffer -to choose a tag to put around the word preceding point. - -Sections of the document can be displayed in outline form. The -variable `nxml-section-element-name-regexp' controls when an element -is recognized as a section. The same key sequences that change -visibility in outline mode are used except that they start with C-c C-o -instead of C-c. - -Validation is provided by the related minor-mode `rng-validate-mode'. -This also makes completion schema- and context- sensitive. Element -names, attribute names, attribute values and namespace URIs can all be -completed. By default, `rng-validate-mode' is automatically enabled by -`rng-nxml-mode-init' which is normally added to `nxml-mode-hook'. You -can toggle it using \\[rng-validate-mode]. - -\\[indent-for-tab-command] indents the current line appropriately. -This can be customized using the variable `nxml-child-indent' -and the variable `nxml-attribute-indent'. - -\\[nxml-insert-named-char] inserts a character reference using -the character's name (by default, the Unicode name). \\[universal-argument] \\[nxml-insert-named-char] -inserts the character directly. - -The Emacs commands that normally operate on balanced expressions will -operate on XML markup items. Thus \\[forward-sexp] will move forward -across one markup item; \\[backward-sexp] will move backward across -one markup item; \\[kill-sexp] will kill the following markup item; -\\[mark-sexp] will mark the following markup item. By default, each -tag each treated as a single markup item; to make the complete element -be treated as a single markup item, set the variable -`nxml-sexp-element-flag' to t. For more details, see the function -`nxml-forward-balanced-item'. - -\\[nxml-backward-up-element] and \\[nxml-down-element] move up and down the element structure. - -Many aspects this mode can be customized using -\\[customize-group] nxml RET." - (interactive) - (kill-all-local-variables) - (setq major-mode 'nxml-mode) - (setq mode-name "nXML") - ;; We'll determine the fill prefix ourselves - (make-local-variable 'adaptive-fill-mode) - (setq adaptive-fill-mode nil) - (make-local-variable 'forward-sexp-function) - (setq forward-sexp-function 'nxml-forward-balanced-item) - (make-local-variable 'indent-line-function) - (setq indent-line-function 'nxml-indent-line) - (make-local-variable 'fill-paragraph-function) - (setq fill-paragraph-function 'nxml-do-fill-paragraph) - ;; Comment support - ;; This doesn't seem to work too well; - ;; I think we should probably roll our own nxml-comment-dwim function. - (make-local-variable 'comment-indent-function) - (setq comment-indent-function 'nxml-indent-line) - (make-local-variable 'comment-start) - (setq comment-start "") - (make-local-variable 'comment-end-skip) - (setq comment-end-skip "[ \t\r\n]*-->") - (make-local-variable 'comment-line-break-function) - (setq comment-line-break-function 'nxml-newline-and-indent) - (use-local-map nxml-mode-map) - (save-excursion - (save-restriction - (widen) - (nxml-clear-dependent-regions (point-min) (point-max)) - (setq nxml-scan-end (copy-marker (point-min) nil)) - (nxml-with-unmodifying-text-property-changes - (when nxml-syntax-highlight-flag - (nxml-clear-fontified (point-min) (point-max))) - (nxml-clear-inside (point-min) (point-max)) - (nxml-with-invisible-motion - (nxml-scan-prolog))))) - (when nxml-syntax-highlight-flag - (add-hook 'fontification-functions 'nxml-fontify nil t)) - (add-hook 'after-change-functions 'nxml-after-change nil t) - (add-hook 'write-contents-hooks 'nxml-prepare-to-save) - (when (not (and (buffer-file-name) (file-exists-p (buffer-file-name)))) - (when (and nxml-default-buffer-file-coding-system - (not (local-variable-p 'buffer-file-coding-system))) - (setq buffer-file-coding-system nxml-default-buffer-file-coding-system)) - (when nxml-auto-insert-xml-declaration-flag - (nxml-insert-xml-declaration))) - (run-hooks 'nxml-mode-hook)) - -(defun nxml-degrade (context err) - (message "Internal nXML mode error in %s (%s), degrading" - context - (error-message-string err)) - (ding) - (setq nxml-degraded t) - (setq nxml-prolog-end 1) - (save-excursion - (save-restriction - (widen) - (nxml-with-unmodifying-text-property-changes - (nxml-clear-face (point-min) (point-max)) - (nxml-set-fontified (point-min) (point-max)) - (nxml-clear-inside (point-min) (point-max))) - (setq mode-name "nXML/degraded")))) - -;;; Change management - -(defun nxml-after-change (start end pre-change-length) - ;; Work around bug in insert-file-contents. - (when (> end (1+ (buffer-size))) - (setq start 1) - (setq end (1+ (buffer-size)))) - (unless nxml-degraded - (condition-case err - (save-excursion - (save-restriction - (widen) - (save-match-data - (nxml-with-invisible-motion - (nxml-with-unmodifying-text-property-changes - (nxml-after-change1 start end pre-change-length)))))) - (error - (nxml-degrade 'nxml-after-change err))))) - -(defun nxml-after-change1 (start end pre-change-length) - (setq nxml-last-fontify-end nil) - (let ((pre-change-end (+ start pre-change-length))) - (setq start - (nxml-adjust-start-for-dependent-regions start - end - pre-change-length)) - (when (<= start - ;; Add 2 so as to include the < and following char - ;; that start the instance, since changing these - ;; can change where the prolog ends. - (+ nxml-prolog-end 2)) - ;; end must be extended to at least the end of the old prolog - (when (< pre-change-end nxml-prolog-end) - (setq end - ;; don't let end get out of range even if pre-change-length - ;; is bogus - (min (point-max) - (+ end (- nxml-prolog-end pre-change-end))))) - (nxml-scan-prolog))) - (cond ((<= end nxml-prolog-end) - (setq end nxml-prolog-end) - (goto-char start) - ;; This is so that Emacs redisplay works - (setq start (line-beginning-position))) - ((and (<= start nxml-scan-end) - (> start (point-min)) - (nxml-get-inside (1- start))) - ;; The closing delimiter might have been removed. - ;; So we may need to redisplay from the beginning - ;; of the token. - (goto-char (1- start)) - (nxml-move-outside-backwards) - ;; This is so that Emacs redisplay works - (setq start (line-beginning-position)) - (setq end (max (nxml-scan-after-change (point) end) - end))) - (t - (goto-char start) - ;; This is both for redisplay and to move back - ;; past any incomplete opening delimiters - (setq start (line-beginning-position)) - (setq end (max (nxml-scan-after-change start end) - end)))) - (when nxml-syntax-highlight-flag - (when (>= start end) - ;; Must clear at least one char so as to trigger redisplay. - (cond ((< start (point-max)) - (setq end (1+ start))) - (t - (setq end (point-max)) - (goto-char end) - (setq start (line-beginning-position))))) - (nxml-clear-fontified start end))) - -;;; Encodings - -(defun nxml-insert-xml-declaration () - "Insert an XML declaration at the beginning of buffer. -The XML declaration will declare an encoding depending on the buffer's -`buffer-file-coding-system'." - (interactive "*") - (let ((coding-system - (if (and buffer-file-coding-system - (coding-system-p buffer-file-coding-system) - (coding-system-get buffer-file-coding-system - 'mime-charset)) - buffer-file-coding-system - (nxml-choose-utf-coding-system)))) - (goto-char (point-min)) - (insert (format "\n" - (nxml-coding-system-name coding-system))))) - -(defun nxml-prepare-to-save () - (unless (and (not enable-multibyte-characters) - (local-variable-p 'buffer-file-coding-system) - buffer-file-coding-system - (or (eq (coding-system-type buffer-file-coding-system) 5) - (eq buffer-file-coding-system 'no-conversion))) - (save-excursion - (setq buffer-file-coding-system (nxml-select-coding-system)))) - ;; nil from a function in `write-contents-hooks' means - ;; to continue and write the file as normal - nil) - -(defun nxml-select-coding-system () - (let* ((suitable-coding-systems - (find-coding-systems-region (point-min) (point-max))) - (enc-pos (progn - (goto-char (point-min)) - (xmltok-get-declared-encoding-position))) - (enc-name - (and (consp enc-pos) - (buffer-substring-no-properties (car enc-pos) - (cdr enc-pos)))) - (coding-system - (cond (enc-name - (if (string= (downcase enc-name) "utf-16") - (nxml-choose-utf-16-coding-system) - (nxml-mime-charset-coding-system enc-name))) - (enc-pos (nxml-choose-utf-coding-system))))) - ;; Make sure we have a coding-system - (unless coding-system - (setq coding-system - (and (not buffer-read-only) - (nxml-choose-suitable-coding-system - suitable-coding-systems))) - (let ((message - (if enc-name - (format "Unknown encoding %s" enc-name) - "XML declaration is not well-formed"))) - (cond ((not coding-system) - (error "%s" message)) - ((y-or-n-p - (concat message - ". " - (format (if enc-name - "Save with %s" - "Modify and save with encoding %s") - (nxml-coding-system-name coding-system)) - " ")) - (nxml-fix-encoding-declaration enc-pos coding-system)) - (t (signal 'quit nil))))) - ;; Make sure it can encode all the characters in the buffer - (unless (or (memq (coding-system-base coding-system) - suitable-coding-systems) - (equal suitable-coding-systems '(undecided))) - (let ((message - (nxml-unsuitable-coding-system-message coding-system - enc-name))) - (setq coding-system - (and (not buffer-read-only) - (nxml-choose-suitable-coding-system - suitable-coding-systems))) - (cond ((not coding-system) (error "%s" message)) - ((y-or-n-p (concat message - (format ". Save with %s " - (nxml-coding-system-name - coding-system)))) - (nxml-fix-encoding-declaration enc-pos coding-system)) - (t (signal 'quit nil))))) - ;; Merge the newline type of our existing encoding - (let ((current-eol-type - (coding-system-eol-type buffer-file-coding-system))) - (when (and current-eol-type (integerp current-eol-type)) - (setq coding-system - (coding-system-change-eol-conversion coding-system - current-eol-type)))) - coding-system)) - -(defun nxml-unsuitable-coding-system-message (coding-system &optional enc-name) - (if (nxml-coding-system-unicode-p coding-system) - "Cannot translate some characters to Unicode" - (format "Cannot encode some characters with %s" - (or enc-name - (nxml-coding-system-name coding-system))))) - -(defconst nxml-utf-16-coding-systems (and (coding-system-p 'utf-16-be) - (coding-system-p 'utf-16-le) - '(utf-16-be utf-16-le))) - -(defconst nxml-utf-coding-systems (cons 'utf-8 nxml-utf-16-coding-systems)) - -(defun nxml-coding-system-unicode-p (coding-system) - (nxml-coding-system-member (coding-system-base coding-system) - nxml-utf-coding-systems)) - -(defun nxml-coding-system-name (coding-system) - (setq coding-system (coding-system-base coding-system)) - (symbol-name - (if (nxml-coding-system-member coding-system nxml-utf-16-coding-systems) - 'utf-16 - (or (coding-system-get coding-system 'mime-charset) - coding-system)))) - -(defun nxml-fix-encoding-declaration (enc-pos coding-system) - (let ((charset (nxml-coding-system-name coding-system))) - (cond ((consp enc-pos) - (delete-region (car enc-pos) (cdr enc-pos)) - (goto-char (car enc-pos)) - (insert charset)) - ((integerp enc-pos) - (goto-char enc-pos) - (insert " encoding=\"" charset ?\")) - (t - (goto-char (point-min)) - (insert "\n") - (when (and (not enc-pos) - (let ((case-fold-search t)) - (looking-at xmltok-bad-xml-decl-regexp))) - (delete-region (point) (match-end 0))))))) - -(defun nxml-choose-suitable-coding-system (suitable-coding-systems) - (let (ret coding-system) - (if (and buffer-file-coding-system - (memq (coding-system-base buffer-file-coding-system) - suitable-coding-systems)) - buffer-file-coding-system - (while (and suitable-coding-systems (not ret)) - (setq coding-system (car suitable-coding-systems)) - (if (coding-system-get coding-system 'mime-charset) - (setq ret coding-system) - (setq suitable-coding-systems (cdr suitable-coding-systems)))) - ret))) - -(defun nxml-choose-utf-coding-system () - (let ((cur (and (local-variable-p 'buffer-file-coding-system) - buffer-file-coding-system - (coding-system-base buffer-file-coding-system)))) - (cond ((car (nxml-coding-system-member cur nxml-utf-coding-systems))) - ((and nxml-prefer-utf-16-to-utf-8-flag - (coding-system-p 'utf-16-le) - (coding-system-p 'utf-16-be)) - (if nxml-prefer-utf-16-little-to-big-endian-flag - 'utf-16-le - 'utf-16-be)) - (t 'utf-8)))) - -(defun nxml-choose-utf-16-coding-system () - (let ((cur (and (local-variable-p 'buffer-file-coding-system) - buffer-file-coding-system - (coding-system-base buffer-file-coding-system)))) - (cond ((car (nxml-coding-system-member cur nxml-utf-16-coding-systems))) - (nxml-prefer-utf-16-little-to-big-endian-flag - (and (coding-system-p 'utf-16-le) 'utf-16-le)) - (t (and (coding-system-p 'utf-16-be) 'utf-16-be))))) - -(defun nxml-coding-system-member (coding-system coding-systems) - (let (ret) - (while (and coding-systems (not ret)) - (if (coding-system-equal coding-system - (car coding-systems)) - (setq ret coding-systems) - (setq coding-systems (cdr coding-systems)))) - ret)) - -;;; Fontification - -(defun nxml-fontify (start) - (condition-case err - (save-excursion - (save-restriction - (widen) - (save-match-data - (nxml-with-invisible-motion - (nxml-with-unmodifying-text-property-changes - (if (or nxml-degraded - ;; just in case we get called in the wrong buffer - (not nxml-prolog-end)) - (nxml-set-fontified start (point-max)) - (nxml-fontify1 start))))))) - (error - (nxml-degrade 'nxml-fontify err)))) - -(defun nxml-fontify1 (start) - (cond ((< start nxml-prolog-end) - (nxml-fontify-prolog) - (nxml-set-fontified (point-min) - nxml-prolog-end)) - (t - (goto-char start) - (when (not (eq nxml-last-fontify-end start)) - (when (not (equal (char-after) ?\<)) - (search-backward "<" nxml-prolog-end t)) - (nxml-ensure-scan-up-to-date) - (nxml-move-outside-backwards)) - (let ((start (point))) - (nxml-do-fontify (min (point-max) - (+ start nxml-fontify-chunk-size))) - (setq nxml-last-fontify-end (point)) - (nxml-set-fontified start nxml-last-fontify-end))))) - -(defun nxml-fontify-buffer () - (interactive) - (save-excursion - (save-restriction - (widen) - (nxml-with-invisible-motion - (goto-char (point-min)) - (nxml-with-unmodifying-text-property-changes - (nxml-fontify-prolog) - (goto-char nxml-prolog-end) - (nxml-do-fontify)))))) - -(defun nxml-fontify-prolog () - "Fontify the prolog. -The buffer is assumed to be prepared for fontification. -This does not set the fontified property, but it does clear -faces appropriately." - (let ((regions nxml-prolog-regions)) - (nxml-clear-face (point-min) nxml-prolog-end) - (while regions - (let ((region (car regions))) - (nxml-apply-fontify-rule (aref region 0) - (aref region 1) - (aref region 2))) - (setq regions (cdr regions))))) - -(defun nxml-do-fontify (&optional bound) - "Fontify at least as far as bound. -Leave point after last fontified position." - (unless bound (setq bound (point-max))) - (let (xmltok-dependent-regions - xmltok-errors) - (while (and (< (point) bound) - (nxml-tokenize-forward)) - (nxml-clear-face xmltok-start (point)) - (nxml-apply-fontify-rule)))) - -;; Vectors identify a substring of the token to be highlighted in some face. - -;; Token types returned by xmltok-forward. - -(put 'start-tag - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [-1 nil nxml-tag-delimiter-face] - (element-qname . 1) - attributes)) - -(put 'partial-start-tag - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - (element-qname . 1) - attributes)) - -(put 'end-tag - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [1 2 nxml-tag-slash-face] - [-1 nil nxml-tag-delimiter-face] - (element-qname . 2))) - -(put 'partial-end-tag - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [1 2 nxml-tag-slash-face] - (element-qname . 2))) - -(put 'empty-element - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [-2 -1 nxml-tag-slash-face] - [-1 nil nxml-tag-delimiter-face] - (element-qname . 1) - attributes)) - -(put 'partial-empty-element - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [-1 nil nxml-tag-slash-face] - (element-qname . 1) - attributes)) - -(put 'char-ref - 'nxml-fontify-rule - '([nil 2 nxml-char-ref-delimiter-face] - [2 -1 nxml-char-ref-number-face] - [-1 nil nxml-char-ref-delimiter-face] - char-ref)) - -(put 'entity-ref - 'nxml-fontify-rule - '([nil 1 nxml-entity-ref-delimiter-face] - [1 -1 nxml-entity-ref-name-face] - [-1 nil nxml-entity-ref-delimiter-face])) - -(put 'comment - 'nxml-fontify-rule - '([nil 4 nxml-comment-delimiter-face] - [4 -3 nxml-comment-content-face] - [-3 nil nxml-comment-delimiter-face])) - -(put 'processing-instruction - 'nxml-fontify-rule - '([nil 2 nxml-processing-instruction-delimiter-face] - [-2 nil nxml-processing-instruction-delimiter-face] - processing-instruction-content)) - -(put 'cdata-section - 'nxml-fontify-rule - '([nil 3 nxml-cdata-section-delimiter-face] ; - [-3 nil nxml-cdata-section-delimiter-face])) - -(put 'data - 'nxml-fontify-rule - '([nil nil nxml-text-face])) - -;; Prolog region types in list returned by xmltok-forward-prolog. - -(put 'xml-declaration - 'nxml-fontify-rule - '([nil 2 nxml-processing-instruction-delimiter-face] - [2 5 nxml-processing-instruction-target-face] - [-2 nil nxml-processing-instruction-delimiter-face])) - -(put 'xml-declaration-attribute-name - 'nxml-fontify-rule - '([nil nil nxml-attribute-local-name-face])) - -(put 'xml-declaration-attribute-value - 'nxml-fontify-rule - '([nil 1 nxml-attribute-value-delimiter-face] - [1 -1 nxml-attribute-value-face] - [-1 nil nxml-attribute-value-delimiter-face])) - -(put 'processing-instruction-left - 'nxml-fontify-rule - '([nil 2 nxml-processing-instruction-delimiter-face] - [2 nil nxml-processing-instruction-target-face])) - -(put 'processing-instruction-right - 'nxml-fontify-rule - '([nil -2 nxml-processing-instruction-content-face] - [-2 nil nxml-processing-instruction-delimiter-face])) - -(put 'literal - 'nxml-fontify-rule - '([nil 1 nxml-prolog-literal-delimiter-face] - [1 -1 nxml-prolog-literal-content-face] - [-1 nil nxml-prolog-literal-delimiter-face])) - -(put 'keyword - 'nxml-fontify-rule - '([nil nil nxml-prolog-keyword-face])) - -(put 'markup-declaration-open - 'nxml-fontify-rule - '([0 2 nxml-markup-declaration-delimiter-face] - [2 nil nxml-prolog-keyword-face])) - -(put 'markup-declaration-close - 'nxml-fontify-rule - '([nil nil nxml-markup-declaration-delimiter-face])) - -(put 'internal-subset-open - 'nxml-fontify-rule - '([nil nil nxml-markup-declaration-delimiter-face])) - -(put 'internal-subset-close - 'nxml-fontify-rule - '([nil 1 nxml-markup-declaration-delimiter-face] - [-1 nil nxml-markup-declaration-delimiter-face])) - -(put 'hash-name - 'nxml-fontify-rule - '([nil 1 nxml-hash-face] - [1 nil nxml-prolog-keyword-face])) - -(defun nxml-apply-fontify-rule (&optional type start end) - (let ((rule (get (or type xmltok-type) 'nxml-fontify-rule))) - (unless start (setq start xmltok-start)) - (unless end (setq end (point))) - (while rule - (let* ((action (car rule))) - (setq rule (cdr rule)) - (cond ((vectorp action) - (nxml-set-face (let ((offset (aref action 0))) - (cond ((not offset) start) - ((< offset 0) (+ end offset)) - (t (+ start offset)))) - (let ((offset (aref action 1))) - (cond ((not offset) end) - ((< offset 0) (+ end offset)) - (t (+ start offset)))) - (aref action 2))) - ((and (consp action) - (eq (car action) 'element-qname)) - (when xmltok-name-end ; maybe nil in partial-end-tag case - (nxml-fontify-qname (+ start (cdr action)) - xmltok-name-colon - xmltok-name-end - 'nxml-element-prefix-face - 'nxml-element-colon-face - 'nxml-element-local-name-face))) - ((eq action 'attributes) - (nxml-fontify-attributes)) - ((eq action 'processing-instruction-content) - (nxml-set-face (+ start 2) - xmltok-name-end - 'nxml-processing-instruction-target-face) - (nxml-set-face (save-excursion - (goto-char xmltok-name-end) - (skip-chars-forward " \t\r\n") - (point)) - (- end 2) - 'nxml-processing-instruction-content-face)) - ((eq action 'char-ref) - (nxml-char-ref-display-extra start - end - (xmltok-char-number start end))) - (t (error "Invalid nxml-fontify-rule action %s" action))))))) - -(defun nxml-fontify-attributes () - (while xmltok-namespace-attributes - (nxml-fontify-attribute (car xmltok-namespace-attributes) - 'namespace) - (setq xmltok-namespace-attributes - (cdr xmltok-namespace-attributes))) - (while xmltok-attributes - (nxml-fontify-attribute (car xmltok-attributes)) - (setq xmltok-attributes - (cdr xmltok-attributes)))) - - - -;; Please see nxmlhref.el for an explanation of the use of href below. - -(defface nxml-href-face - `((((class color) (background light)) (:foreground "blue" :underline t)) - (((class color) (background dark)) (:foreground "cyan" :underline t))) - "Face used to highlight href attribute." - :group 'nxml-highlighting-faces) - -(defvar nxml-href-keymap nil) - - -(defun nxml-fontify-attribute (att &optional namespace-declaration) - (let ((name-face 'nxml-attribute-local-name-face)) - (when nxml-href-keymap - (when (equal (buffer-substring-no-properties - (xmltok-attribute-name-start att) - (xmltok-attribute-name-end att)) - "href") - ;;(message "found href %s %s %s" (xmltok-attribute-name-start att) (xmltok-attribute-name-colon att) (xmltok-attribute-name-end att) ) - (setq name-face 'nxml-href-face) - (put-text-property (xmltok-attribute-name-start att) - (xmltok-attribute-name-end att) - 'keymap (symbol-value nxml-href-keymap)) - ) - ) - (if namespace-declaration - (nxml-fontify-qname (xmltok-attribute-name-start att) - (xmltok-attribute-name-colon att) - (xmltok-attribute-name-end att) - 'nxml-namespace-attribute-xmlns-face - 'nxml-namespace-attribute-colon-face - 'nxml-namespace-attribute-prefix-face - 'nxml-namespace-attribute-xmlns-face) - (nxml-fontify-qname (xmltok-attribute-name-start att) - (xmltok-attribute-name-colon att) - (xmltok-attribute-name-end att) - 'nxml-attribute-prefix-face - 'nxml-attribute-colon-face - ;;'nxml-attribute-local-name-face)) - name-face)) - ) - (let ((start (xmltok-attribute-value-start att)) - (end (xmltok-attribute-value-end att)) - (refs (xmltok-attribute-refs att)) - (delimiter-face (if namespace-declaration - 'nxml-namespace-attribute-value-delimiter-face - 'nxml-attribute-value-delimiter-face)) - (value-face (if namespace-declaration - 'nxml-namespace-attribute-value-face - 'nxml-attribute-value-face))) - (when start - (nxml-set-face (1- start) start delimiter-face) - (nxml-set-face end (1+ end) delimiter-face) - (while refs - (let* ((ref (car refs)) - (ref-type (aref ref 0)) - (ref-start (aref ref 1)) - (ref-end (aref ref 2))) - (nxml-set-face start ref-start value-face) - (nxml-apply-fontify-rule ref-type ref-start ref-end) - (setq start ref-end)) - (setq refs (cdr refs))) - (nxml-set-face start end value-face)))) - -(defun nxml-fontify-qname (start - colon - end - prefix-face - colon-face - local-name-face - &optional - unprefixed-face) - (cond (colon (nxml-set-face start colon prefix-face) - (nxml-set-face colon (1+ colon) colon-face) - (nxml-set-face (1+ colon) end local-name-face)) - (t (nxml-set-face start end (or unprefixed-face - local-name-face))))) - -;;; Editing - -(defun nxml-electric-slash (arg) - "Insert a slash. - -With a prefix ARG, do nothing other than insert the slash. - -Otherwise, if `nxml-slash-auto-complete-flag' is non-nil, insert the -rest of the end-tag or empty-element if the slash is potentially part -of an end-tag or the close of an empty-element. - -If the slash is part of an end-tag that is the first non-whitespace -on the line, reindent the line." - (interactive "*P") - (nxml-ensure-scan-up-to-date) - (let* ((slash-pos (point)) - (end-tag-p (and (eq (char-before slash-pos) ?<) - (not (nxml-get-inside slash-pos)))) - (at-indentation (save-excursion - (back-to-indentation) - (eq (point) (1- slash-pos))))) - (self-insert-command (prefix-numeric-value arg)) - (unless arg - (if nxml-slash-auto-complete-flag - (if end-tag-p - (condition-case err - (let ((start-tag-end - (nxml-scan-element-backward (1- slash-pos) t))) - (when start-tag-end - (insert (xmltok-start-tag-qname) ">") - ;; copy the indentation of the start-tag - (when (and at-indentation - (save-excursion - (goto-char xmltok-start) - (back-to-indentation) - (eq (point) xmltok-start))) - (save-excursion - (indent-line-to (save-excursion - (goto-char xmltok-start) - (current-column))))))) - (nxml-scan-error nil)) - (when (and (eq (nxml-token-before) (point)) - (eq xmltok-type 'partial-empty-element)) - (insert ">"))) - (when (and end-tag-p at-indentation) - (nxml-indent-line)))))) - -(defun nxml-balanced-close-start-tag-block () - "Close the start-tag before point with `>' and insert a balancing end-tag. -Point is left between the start-tag and the end-tag. -If there is nothing but whitespace before the `<' that opens the -start-tag, then put point on a blank line, and put the end-tag on -another line aligned with the start-tag." - (interactive "*") - (nxml-balanced-close-start-tag 'block)) - -(defun nxml-balanced-close-start-tag-inline () - "Close the start-tag before point with `>' and insert a balancing end-tag. -Point is left between the start-tag and the end-tag. -No extra whitespace is inserted." - (interactive "*") - (nxml-balanced-close-start-tag 'inline)) - -(defun nxml-balanced-close-start-tag (block-or-inline) - (let ((token-end (nxml-token-before)) - (pos (1+ (point)))) - (unless (or (eq xmltok-type 'partial-start-tag) - (and (memq xmltok-type '(start-tag - empty-element - partial-empty-element)) - (>= token-end pos))) - (error "Not in a start-tag")) - (insert ">" - (buffer-substring-no-properties (+ xmltok-start 1) - (min xmltok-name-end (point))) - ">") - (if (eq block-or-inline 'inline) - (goto-char pos) - (goto-char xmltok-start) - (back-to-indentation) - (if (= (point) xmltok-start) - (let ((indent (current-column))) - (goto-char pos) - (insert "\n") - (indent-line-to indent) - (goto-char pos) - (insert "\n") - (indent-line-to (+ nxml-child-indent indent))) - (goto-char pos))))) - -(defun nxml-finish-element () - "Finish the current element by inserting an end-tag." - (interactive "*") - (nxml-finish-element-1 nil)) - -(defvar nxml-last-split-position nil - "Position where `nxml-split-element' split the current element.") - -(defun nxml-split-element () - "Split the current element by inserting an end-tag and a start-tag. -Point is left after the newly inserted start-tag. When repeated, -split immediately before the previously inserted start-tag and leave -point unchanged." - (interactive "*") - (setq nxml-last-split-position - (if (and (eq last-command this-command) - nxml-last-split-position) - (save-excursion - (goto-char nxml-last-split-position) - (nxml-finish-element-1 t)) - (nxml-finish-element-1 t)))) - -(defun nxml-finish-element-1 (startp) - "Insert an end-tag for the current element and optionally a start-tag. -The start-tag is inserted if STARTP is non-nil. Return the position -of the inserted start-tag or nil if none was inserted." - (interactive "*") - (let* ((token-end (nxml-token-before)) - (start-tag-end - (save-excursion - (when (and (< (point) token-end) - (memq xmltok-type - '(cdata-section - processing-instruction - comment - start-tag - end-tag - empty-element))) - (error "Point is inside a %s" - (nxml-token-type-friendly-name xmltok-type))) - (nxml-scan-element-backward token-end t))) - (starts-line - (save-excursion - (unless (eq xmltok-type 'start-tag) - (error "No matching start-tag")) - (goto-char xmltok-start) - (back-to-indentation) - (eq (point) xmltok-start))) - (ends-line - (save-excursion - (goto-char start-tag-end) - (looking-at "[ \t\r\n]*$"))) - (start-tag-indent (save-excursion - (goto-char xmltok-start) - (current-column))) - (qname (xmltok-start-tag-qname)) - inserted-start-tag-pos) - (when (and starts-line ends-line) - ;; start-tag is on a line by itself - ;; => put the end-tag on a line by itself - (unless (<= (point) - (save-excursion - (back-to-indentation) - (point))) - (insert "\n")) - (indent-line-to start-tag-indent)) - (insert "" qname ">") - (when startp - (when starts-line - (insert "\n") - (indent-line-to start-tag-indent)) - (setq inserted-start-tag-pos (point)) - (insert "<" qname ">") - (when (and starts-line ends-line) - (insert "\n") - (indent-line-to (save-excursion - (goto-char xmltok-start) - (forward-line 1) - (back-to-indentation) - (if (= (current-column) - (+ start-tag-indent nxml-child-indent)) - (+ start-tag-indent nxml-child-indent) - start-tag-indent))))) - inserted-start-tag-pos)) - -;;; Indentation - -(defun nxml-indent-line () - "Indent current line as XML." - (let ((indent (nxml-compute-indent)) - (from-end (- (point-max) (point)))) - (when indent - (beginning-of-line) - (let ((bol (point))) - (skip-chars-forward " \t") - (delete-region bol (point))) - (indent-to indent) - (when (> (- (point-max) from-end) (point)) - (goto-char (- (point-max) from-end)))))) - -(defun nxml-compute-indent () - "Return the indent for the line containing point." - (or (nxml-compute-indent-from-matching-start-tag) - (nxml-compute-indent-from-previous-line))) - -(defun nxml-compute-indent-from-matching-start-tag () - "Compute the indent for a line with an end-tag using the matching start-tag. -When the line containing point ends with an end-tag and does not start -in the middle of a token, return the indent of the line containing the -matching start-tag, if there is one and it occurs at the beginning of -its line. Otherwise return nil." - (save-excursion - (back-to-indentation) - (let ((bol (point))) - (let ((inhibit-field-text-motion t)) - (end-of-line)) - (skip-chars-backward " \t") - (and (= (nxml-token-before) (point)) - (memq xmltok-type '(end-tag partial-end-tag)) - ;; start of line must not be inside a token - (or (= xmltok-start bol) - (save-excursion - (goto-char bol) - (nxml-token-after) - (= xmltok-start bol)) - (eq xmltok-type 'data)) - (condition-case err - (nxml-scan-element-backward - (point) - nil - (- (point) - nxml-end-tag-indent-scan-distance)) - (nxml-scan-error nil)) - (< xmltok-start bol) - (progn - (goto-char xmltok-start) - (skip-chars-backward " \t") - (bolp)) - (current-indentation))))) - -(defun nxml-compute-indent-from-previous-line () - "Compute the indent for a line using the indentation of a previous line." - (save-excursion - (end-of-line) - (let ((eol (point)) - bol prev-bol ref - before-context after-context) - (back-to-indentation) - (setq bol (point)) - (catch 'indent - ;; Move backwards until the start of a non-blank line that is - ;; not inside a token. - (while (progn - (when (= (forward-line -1) -1) - (throw 'indent 0)) - (back-to-indentation) - (if (looking-at "[ \t]*$") - t - (or prev-bol - (setq prev-bol (point))) - (nxml-token-after) - (not (or (= xmltok-start (point)) - (eq xmltok-type 'data)))))) - (setq ref (point)) - ;; Now scan over tokens until the end of the line to be indented. - ;; Determine the context before and after the beginning of the - ;; line. - (while (< (point) eol) - (nxml-tokenize-forward) - (cond ((<= bol xmltok-start) - (setq after-context - (nxml-merge-indent-context-type after-context))) - ((and (<= (point) bol) - (not (and (eq xmltok-type 'partial-start-tag) - (= (point) bol)))) - (setq before-context - (nxml-merge-indent-context-type before-context))) - ((eq xmltok-type 'data) - (setq before-context - (nxml-merge-indent-context-type before-context)) - (setq after-context - (nxml-merge-indent-context-type after-context))) - ;; If in the middle of a token that looks inline, - ;; then indent relative to the previous non-blank line - ((eq (nxml-merge-indent-context-type before-context) - 'mixed) - (goto-char prev-bol) - (throw 'indent (current-column))) - (t - (throw 'indent - (nxml-compute-indent-in-token bol)))) - (skip-chars-forward " \t\r\n")) - (goto-char ref) - (+ (current-column) - (* nxml-child-indent - (+ (if (eq before-context 'start-tag) 1 0) - (if (eq after-context 'end-tag) -1 0)))))))) - -(defun nxml-merge-indent-context-type (context) - "Merge the indent context type CONTEXT with the token in `xmltok-type'. -Return the merged indent context type. An indent context type is -either nil or one of the symbols start-tag, end-tag, markup, comment, -mixed." - (cond ((memq xmltok-type '(start-tag partial-start-tag)) - (if (memq context '(nil start-tag comment)) - 'start-tag - 'mixed)) - ((memq xmltok-type '(end-tag partial-end-tag)) - (if (memq context '(nil end-tag comment)) - 'end-tag - 'mixed)) - ((eq xmltok-type 'comment) - (cond ((memq context '(start-tag end-tag comment)) - context) - (context 'mixed) - (t 'comment))) - (context 'mixed) - (t 'markup))) - -(defun nxml-compute-indent-in-token (pos) - "Return the indent for a line that starts inside a token. -POS is the position of the first non-whitespace character of the line. -This expects the xmltok-* variables to be set up as by `xmltok-forward'." - (cond ((memq xmltok-type '(start-tag - partial-start-tag - empty-element - partial-empty-element)) - (nxml-compute-indent-in-start-tag pos)) - ((eq xmltok-type 'comment) - (nxml-compute-indent-in-delimited-token pos "")) - ((eq xmltok-type 'cdata-section) - (nxml-compute-indent-in-delimited-token pos "")) - ((eq xmltok-type 'processing-instruction) - (nxml-compute-indent-in-delimited-token pos "" "?>")) - (t - (goto-char pos) - (if (and (= (forward-line -1) 0) - (< xmltok-start (point))) - (back-to-indentation) - (goto-char xmltok-start)) - (current-column)))) - -(defun nxml-compute-indent-in-start-tag (pos) - "Return the indent for a line that starts inside a start-tag. -Also for a line that starts inside an empty element. -POS is the position of the first non-whitespace character of the line. -This expects the xmltok-* variables to be set up as by `xmltok-forward'." - (let ((value-boundary (nxml-attribute-value-boundary pos)) - (off 0)) - (if value-boundary - ;; inside an attribute value - (let ((value-start (car value-boundary)) - (value-end (cdr value-boundary))) - (goto-char pos) - (forward-line -1) - (if (< (point) value-start) - (goto-char value-start) - (back-to-indentation))) - ;; outside an attribute value - (goto-char pos) - (while (and (= (forward-line -1) 0) - (nxml-attribute-value-boundary (point)))) - (cond ((<= (point) xmltok-start) - (goto-char xmltok-start) - (setq off nxml-attribute-indent) - (let ((atts (xmltok-merge-attributes))) - (when atts - (let* ((att (car atts)) - (start (xmltok-attribute-name-start att))) - (when (< start pos) - (goto-char start) - (setq off 0)))))) - (t - (back-to-indentation)))) - (+ (current-column) off))) - -(defun nxml-attribute-value-boundary (pos) - "Return a pair (START . END) if POS is inside an attribute value. -Otherwise return nil. START and END are the positions of the start -and end of the attribute value containing POS. This expects the -xmltok-* variables to be set up as by `xmltok-forward'." - (let ((atts (xmltok-merge-attributes)) - att value-start value-end value-boundary) - (while atts - (setq att (car atts)) - (setq value-start (xmltok-attribute-value-start att)) - (setq value-end (xmltok-attribute-value-end att)) - (cond ((and value-start (< pos value-start)) - (setq atts nil)) - ((and value-start value-end (<= pos value-end)) - (setq value-boundary (cons value-start value-end)) - (setq atts nil)) - (t (setq atts (cdr atts))))) - value-boundary)) - -(defun nxml-compute-indent-in-delimited-token (pos open-delim close-delim) - "Return the indent for a line that starts inside a token with delimiters. -OPEN-DELIM and CLOSE-DELIM are strings giving the opening and closing -delimiters. POS is the position of the first non-whitespace character -of the line. This expects the xmltok-* variables to be set up as by -`xmltok-forward'." - (cond ((let ((end (+ pos (length close-delim)))) - (and (<= end (point-max)) - (string= (buffer-substring-no-properties pos end) - close-delim))) - (goto-char xmltok-start)) - ((progn - (goto-char pos) - (forward-line -1) - (<= (point) xmltok-start)) - (goto-char (+ xmltok-start (length open-delim))) - (when (and (string= open-delim "." - :group 'nxml-highlighting-faces) - -(defface nxml-processing-instruction-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of processing instructions, i.e and ?>." - :group 'nxml-highlighting-faces) - -(defface nxml-processing-instruction-target-face - '((t (:inherit nxml-name-face))) - "Face used for the target of processing instructions." - :group 'nxml-highlighting-faces) - -(defface nxml-processing-instruction-content-face - '((t (:inherit nxml-delimited-data-face))) - "Face used for the content of processing instructions." - :group 'nxml-highlighting-faces) - -(defface nxml-cdata-section-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of CDATA sections, i.e ." - :group 'nxml-highlighting-faces) - -(defface nxml-cdata-section-CDATA-face - '((t (:inherit nxml-name-face))) - "Face used for the CDATA keyword in CDATA sections." - :group 'nxml-highlighting-faces) - -(defface nxml-cdata-section-content-face - '((t (:inherit nxml-text-face))) - "Face used for the content of CDATA sections." - :group 'nxml-highlighting-faces) - -(defface nxml-char-ref-number-face - '((t (:inherit nxml-ref-face))) - "Face used for the number in character references. -This includes ths `x' in hex references." - :group 'nxml-highlighting-faces) - -(defface nxml-char-ref-delimiter-face - '((t (:inherit nxml-ref-face))) - "Face used for the delimiters of character references, i.e and ;." - :group 'nxml-highlighting-faces) - -(defface nxml-entity-ref-name-face - '((t (:inherit nxml-ref-face))) - "Face used for the entity name in general entity references." - :group 'nxml-highlighting-faces) - -(defface nxml-entity-ref-delimiter-face - '((t (:inherit nxml-ref-face))) - "Face used for the delimiters of entity references, i.e & and ;." - :group 'nxml-highlighting-faces) - -(defface nxml-tag-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the angle brackets delimiting tags. -`nxml-tag-slash-face' is used for slashes." - :group 'nxml-highlighting-faces) - -(defface nxml-tag-slash-face - '((t (:inherit nxml-name-face))) - "Face used for slashes in tags, both in end-tags and empty-elements." - :group 'nxml-highlighting-faces) - -(defface nxml-element-prefix-face - '((t (:inherit nxml-name-face))) - "Face used for the prefix of elements." - :group 'nxml-highlighting-faces) - -(defface nxml-element-colon-face - '((t (:inherit nxml-name-face))) - "Face used for the colon in element names." - :group 'nxml-highlighting-faces) - -(defface nxml-element-local-name-face - '((t (:inherit nxml-name-face))) - "Face used for the local name of elements." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-prefix-face - '((t (:inherit nxml-name-face))) - "Face used for the prefix of attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-colon-face - '((t (:inherit nxml-name-face))) - "Face used for the colon in attribute names." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-local-name-face - '((t (:inherit nxml-name-face))) - "Face used for the local name of attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-xmlns-face - '((t (:inherit nxml-name-face))) - "Face used for `xmlns' in namespace attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-colon-face - '((t (:inherit nxml-name-face))) - "Face used for the colon in namespace attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-prefix-face - '((t (:inherit nxml-name-face))) - "Face used for the prefix declared in namespace attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-value-face - '((t (:inherit nxml-delimited-data-face))) - "Face used for the value of attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-attribute-value-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of attribute values." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-value-face - '((t (:inherit nxml-attribute-value-face))) - "Face used for the value of namespace attributes." - :group 'nxml-highlighting-faces) - -(defface nxml-namespace-attribute-value-delimiter-face - '((t (:inherit nxml-attribute-value-delimiter-face))) - "Face used for the delimiters of namespace attribute values." - :group 'nxml-highlighting-faces) - -(defface nxml-prolog-literal-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of literals in the prolog." - :group 'nxml-highlighting-faces) - -(defface nxml-prolog-literal-content-face - '((t (:inherit nxml-delimited-data-face))) - "Face used for the content of literals in the prolog." - :group 'nxml-highlighting-faces) - -(defface nxml-prolog-keyword-face - '((t (:inherit nxml-name-face))) - "Face used for keywords in the prolog." - :group 'nxml-highlighting-faces) - -(defface nxml-markup-declaration-delimiter-face - '((t (:inherit nxml-delimiter-face))) - "Face used for the delimiters of markup declarations in the prolog. -The delimiters are ." - :group 'nxml-highlighting-faces) - -(defface nxml-hash-face - '((t (:inherit nxml-name-face))) - "Face used for # before a name in the prolog." - :group 'nxml-highlighting-faces) - -(defface nxml-glyph-face - '((((type x)) - (:family - "misc-fixed" - :background - "light grey" - :foreground - "black" - :weight - normal - :slant - normal)) - (t - (:background - "light grey" - :foreground - "black" - :weight - normal - :slant - normal))) - "Face used for glyph for char references." - :group 'nxml-highlighting-faces) - -;;; Global variables - -;; This is initialized in rng-auto.el. -(defvar nxml-version nil - "*The version of nxml-mode that is being used.") - -(defvar nxml-prolog-regions nil - "List of regions in the prolog to be fontified. -See the function `xmltok-forward-prolog' for more information.") -(make-variable-buffer-local 'nxml-prolog-regions) - -(defvar nxml-last-fontify-end nil - "Position where fontification last ended. -Nil if the buffer changed since the last fontification.") -(make-variable-buffer-local 'nxml-last-fontify-end) - -(defvar nxml-degraded nil - "Non-nil if currently operating in degraded mode. -Degraded mode is enabled when an internal error is encountered in the -fontification or after-change functions.") -(make-variable-buffer-local 'nxml-degraded) - -(defvar nxml-completion-hook nil - "Hook run by `nxml-complete'. -This hook is run until success.") - -(defvar nxml-in-mixed-content-hook nil - "Hook to determine whether point is in mixed content. -The hook is called without arguments. It should return nil if it is -definitely not mixed; non-nil otherwise. The hook will be run until -one of the functions returns nil.") - -(defvar nxml-mixed-scan-distance 4000 - "Maximum distance from point to scan when checking for mixed content.") - -(defvar nxml-end-tag-indent-scan-distance 4000 - "Maximum distance from point to scan backwards when indenting end-tag.") - -(defvar nxml-char-ref-extra-display t - "Non-nil means display extra information for character references. -The extra information consists of a tooltip with the character name -and, if `nxml-char-ref-display-glyph-flag' is non-nil, a glyph -corresponding to the referenced character following the character -reference.") -(make-variable-buffer-local 'nxml-char-ref-extra-display) - -(defvar nxml-mode-map - (let ((map (make-sparse-keymap))) - (define-key map "\M-\C-u" 'nxml-backward-up-element) - (define-key map "\M-\C-d" 'nxml-down-element) - (define-key map "\M-\C-n" 'nxml-forward-element) - (define-key map "\M-\C-p" 'nxml-backward-element) - (define-key map "\M-{" 'nxml-backward-paragraph) - (define-key map "\M-}" 'nxml-forward-paragraph) - (define-key map "\M-h" 'nxml-mark-paragraph) - (define-key map "\C-c\C-f" 'nxml-finish-element) - (define-key map "\C-c\C-m" 'nxml-split-element) - (define-key map "\C-c\C-b" 'nxml-balanced-close-start-tag-block) - (define-key map "\C-c\C-i" 'nxml-balanced-close-start-tag-inline) - (define-key map "\C-c\C-x" 'nxml-insert-xml-declaration) - (define-key map "\C-c\C-d" 'nxml-dynamic-markup-word) - ;; u is for Unicode - (define-key map "\C-c\C-u" 'nxml-insert-named-char) - (define-key map "\C-c\C-o" nxml-outline-prefix-map) - (define-key map [S-mouse-2] 'nxml-mouse-hide-direct-text-content) - (define-key map "/" 'nxml-electric-slash) - (define-key map [C-return] 'nxml-complete) - (when nxml-bind-meta-tab-to-complete-flag - (define-key map "\M-\t" 'nxml-complete)) - map) - "Keymap for nxml-mode.") - -(defsubst nxml-set-face (start end face) - (when (and face (< start end)) - (put-text-property start end 'face face))) - -(defun nxml-clear-face (start end) - (remove-text-properties start end '(face nil)) - (nxml-clear-char-ref-extra-display start end)) - -(defsubst nxml-set-fontified (start end) - (put-text-property start end 'fontified t)) - -(defsubst nxml-clear-fontified (start end) - (remove-text-properties start end '(fontified nil))) - -;;;###autoload -(defun nxml-mode () - ;; We use C-c C-i instead of \\[nxml-balanced-close-start-tag-inline] - ;; because Emacs turns C-c C-i into C-c TAB which is hard to type and - ;; not mnemonic. - "Major mode for editing XML. - -Syntax highlighting is performed unless the variable -`nxml-syntax-highlight-flag' is nil. - -\\[nxml-finish-element] finishes the current element by inserting an end-tag. -C-c C-i closes a start-tag with `>' and then inserts a balancing end-tag -leaving point between the start-tag and end-tag. -\\[nxml-balanced-close-start-tag-block] is similar but for block rather than inline elements: -the start-tag, point, and end-tag are all left on separate lines. -If `nxml-slash-auto-complete-flag' is non-nil, then inserting a `' -automatically inserts the rest of the end-tag. - -\\[nxml-complete] performs completion on the symbol preceding point. - -\\[nxml-dynamic-markup-word] uses the contents of the current buffer -to choose a tag to put around the word preceding point. - -Sections of the document can be displayed in outline form. The -variable `nxml-section-element-name-regexp' controls when an element -is recognized as a section. The same key sequences that change -visibility in outline mode are used except that they start with C-c C-o -instead of C-c. - -Validation is provided by the related minor-mode `rng-validate-mode'. -This also makes completion schema- and context- sensitive. Element -names, attribute names, attribute values and namespace URIs can all be -completed. By default, `rng-validate-mode' is automatically enabled by -`rng-nxml-mode-init' which is normally added to `nxml-mode-hook'. You -can toggle it using \\[rng-validate-mode]. - -\\[indent-for-tab-command] indents the current line appropriately. -This can be customized using the variable `nxml-child-indent' -and the variable `nxml-attribute-indent'. - -\\[nxml-insert-named-char] inserts a character reference using -the character's name (by default, the Unicode name). \\[universal-argument] \\[nxml-insert-named-char] -inserts the character directly. - -The Emacs commands that normally operate on balanced expressions will -operate on XML markup items. Thus \\[forward-sexp] will move forward -across one markup item; \\[backward-sexp] will move backward across -one markup item; \\[kill-sexp] will kill the following markup item; -\\[mark-sexp] will mark the following markup item. By default, each -tag each treated as a single markup item; to make the complete element -be treated as a single markup item, set the variable -`nxml-sexp-element-flag' to t. For more details, see the function -`nxml-forward-balanced-item'. - -\\[nxml-backward-up-element] and \\[nxml-down-element] move up and down the element structure. - -Many aspects this mode can be customized using -\\[customize-group] nxml RET." - (interactive) - (kill-all-local-variables) - (setq major-mode 'nxml-mode) - (setq mode-name "nXML") - ;; We'll determine the fill prefix ourselves - (make-local-variable 'adaptive-fill-mode) - (setq adaptive-fill-mode nil) - (make-local-variable 'forward-sexp-function) - (setq forward-sexp-function 'nxml-forward-balanced-item) - (make-local-variable 'indent-line-function) - (setq indent-line-function 'nxml-indent-line) - (make-local-variable 'fill-paragraph-function) - (setq fill-paragraph-function 'nxml-do-fill-paragraph) - ;; Comment support - ;; This doesn't seem to work too well; - ;; I think we should probably roll our own nxml-comment-dwim function. - (make-local-variable 'comment-indent-function) - (setq comment-indent-function 'nxml-indent-line) - (make-local-variable 'comment-start) - (setq comment-start "") - (make-local-variable 'comment-end-skip) - (setq comment-end-skip "[ \t\r\n]*-->") - (make-local-variable 'comment-line-break-function) - (setq comment-line-break-function 'nxml-newline-and-indent) - (use-local-map nxml-mode-map) - (save-excursion - (save-restriction - (widen) - (nxml-clear-dependent-regions (point-min) (point-max)) - (setq nxml-scan-end (copy-marker (point-min) nil)) - (nxml-with-unmodifying-text-property-changes - (when nxml-syntax-highlight-flag - (nxml-clear-fontified (point-min) (point-max))) - (nxml-clear-inside (point-min) (point-max)) - (nxml-with-invisible-motion - (nxml-scan-prolog))))) - (when nxml-syntax-highlight-flag - (add-hook 'fontification-functions 'nxml-fontify nil t)) - (add-hook 'after-change-functions 'nxml-after-change nil t) - (add-hook 'write-contents-hooks 'nxml-prepare-to-save) - (when (not (and (buffer-file-name) (file-exists-p (buffer-file-name)))) - (when (and nxml-default-buffer-file-coding-system - (not (local-variable-p 'buffer-file-coding-system))) - (setq buffer-file-coding-system nxml-default-buffer-file-coding-system)) - (when nxml-auto-insert-xml-declaration-flag - (nxml-insert-xml-declaration))) - (run-hooks 'nxml-mode-hook)) - -(defun nxml-degrade (context err) - (message "Internal nXML mode error in %s (%s), degrading" - context - (error-message-string err)) - (ding) - (setq nxml-degraded t) - (setq nxml-prolog-end 1) - (save-excursion - (save-restriction - (widen) - (nxml-with-unmodifying-text-property-changes - (nxml-clear-face (point-min) (point-max)) - (nxml-set-fontified (point-min) (point-max)) - (nxml-clear-inside (point-min) (point-max))) - (setq mode-name "nXML/degraded")))) - -;;; Change management - -(defun nxml-after-change (start end pre-change-length) - ;; Work around bug in insert-file-contents. - (when (> end (1+ (buffer-size))) - (setq start 1) - (setq end (1+ (buffer-size)))) - (unless nxml-degraded - (condition-case err - (save-excursion - (save-restriction - (widen) - (save-match-data - (nxml-with-invisible-motion - (nxml-with-unmodifying-text-property-changes - (nxml-after-change1 start end pre-change-length)))))) - (error - (nxml-degrade 'nxml-after-change err))))) - -(defun nxml-after-change1 (start end pre-change-length) - (setq nxml-last-fontify-end nil) - (let ((pre-change-end (+ start pre-change-length))) - (setq start - (nxml-adjust-start-for-dependent-regions start - end - pre-change-length)) - (when (<= start - ;; Add 2 so as to include the < and following char - ;; that start the instance, since changing these - ;; can change where the prolog ends. - (+ nxml-prolog-end 2)) - ;; end must be extended to at least the end of the old prolog - (when (< pre-change-end nxml-prolog-end) - (setq end - ;; don't let end get out of range even if pre-change-length - ;; is bogus - (min (point-max) - (+ end (- nxml-prolog-end pre-change-end))))) - (nxml-scan-prolog))) - (cond ((<= end nxml-prolog-end) - (setq end nxml-prolog-end) - (goto-char start) - ;; This is so that Emacs redisplay works - (setq start (line-beginning-position))) - ((and (<= start nxml-scan-end) - (> start (point-min)) - (nxml-get-inside (1- start))) - ;; The closing delimiter might have been removed. - ;; So we may need to redisplay from the beginning - ;; of the token. - (goto-char (1- start)) - (nxml-move-outside-backwards) - ;; This is so that Emacs redisplay works - (setq start (line-beginning-position)) - (setq end (max (nxml-scan-after-change (point) end) - end))) - (t - (goto-char start) - ;; This is both for redisplay and to move back - ;; past any incomplete opening delimiters - (setq start (line-beginning-position)) - (setq end (max (nxml-scan-after-change start end) - end)))) - (when nxml-syntax-highlight-flag - (when (>= start end) - ;; Must clear at least one char so as to trigger redisplay. - (cond ((< start (point-max)) - (setq end (1+ start))) - (t - (setq end (point-max)) - (goto-char end) - (setq start (line-beginning-position))))) - (nxml-clear-fontified start end))) - -;;; Encodings - -(defun nxml-insert-xml-declaration () - "Insert an XML declaration at the beginning of buffer. -The XML declaration will declare an encoding depending on the buffer's -`buffer-file-coding-system'." - (interactive "*") - (let ((coding-system - (if (and buffer-file-coding-system - (coding-system-p buffer-file-coding-system) - (coding-system-get buffer-file-coding-system - 'mime-charset)) - buffer-file-coding-system - (nxml-choose-utf-coding-system)))) - (goto-char (point-min)) - (insert (format "\n" - (nxml-coding-system-name coding-system))))) - -(defun nxml-prepare-to-save () - (unless (and (not enable-multibyte-characters) - (local-variable-p 'buffer-file-coding-system) - buffer-file-coding-system - (or (eq (coding-system-type buffer-file-coding-system) 5) - (eq buffer-file-coding-system 'no-conversion))) - (save-excursion - (setq buffer-file-coding-system (nxml-select-coding-system)))) - ;; nil from a function in `write-contents-hooks' means - ;; to continue and write the file as normal - nil) - -(defun nxml-select-coding-system () - (let* ((suitable-coding-systems - (find-coding-systems-region (point-min) (point-max))) - (enc-pos (progn - (goto-char (point-min)) - (xmltok-get-declared-encoding-position))) - (enc-name - (and (consp enc-pos) - (buffer-substring-no-properties (car enc-pos) - (cdr enc-pos)))) - (coding-system - (cond (enc-name - (if (string= (downcase enc-name) "utf-16") - (nxml-choose-utf-16-coding-system) - (nxml-mime-charset-coding-system enc-name))) - (enc-pos (nxml-choose-utf-coding-system))))) - ;; Make sure we have a coding-system - (unless coding-system - (setq coding-system - (and (not buffer-read-only) - (nxml-choose-suitable-coding-system - suitable-coding-systems))) - (let ((message - (if enc-name - (format "Unknown encoding %s" enc-name) - "XML declaration is not well-formed"))) - (cond ((not coding-system) - (error "%s" message)) - ((y-or-n-p - (concat message - ". " - (format (if enc-name - "Save with %s" - "Modify and save with encoding %s") - (nxml-coding-system-name coding-system)) - " ")) - (nxml-fix-encoding-declaration enc-pos coding-system)) - (t (signal 'quit nil))))) - ;; Make sure it can encode all the characters in the buffer - (unless (or (memq (coding-system-base coding-system) - suitable-coding-systems) - (equal suitable-coding-systems '(undecided))) - (let ((message - (nxml-unsuitable-coding-system-message coding-system - enc-name))) - (setq coding-system - (and (not buffer-read-only) - (nxml-choose-suitable-coding-system - suitable-coding-systems))) - (cond ((not coding-system) (error "%s" message)) - ((y-or-n-p (concat message - (format ". Save with %s " - (nxml-coding-system-name - coding-system)))) - (nxml-fix-encoding-declaration enc-pos coding-system)) - (t (signal 'quit nil))))) - ;; Merge the newline type of our existing encoding - (let ((current-eol-type - (coding-system-eol-type buffer-file-coding-system))) - (when (and current-eol-type (integerp current-eol-type)) - (setq coding-system - (coding-system-change-eol-conversion coding-system - current-eol-type)))) - coding-system)) - -(defun nxml-unsuitable-coding-system-message (coding-system &optional enc-name) - (if (nxml-coding-system-unicode-p coding-system) - "Cannot translate some characters to Unicode" - (format "Cannot encode some characters with %s" - (or enc-name - (nxml-coding-system-name coding-system))))) - -(defconst nxml-utf-16-coding-systems (and (coding-system-p 'utf-16-be) - (coding-system-p 'utf-16-le) - '(utf-16-be utf-16-le))) - -(defconst nxml-utf-coding-systems (cons 'utf-8 nxml-utf-16-coding-systems)) - -(defun nxml-coding-system-unicode-p (coding-system) - (nxml-coding-system-member (coding-system-base coding-system) - nxml-utf-coding-systems)) - -(defun nxml-coding-system-name (coding-system) - (setq coding-system (coding-system-base coding-system)) - (symbol-name - (if (nxml-coding-system-member coding-system nxml-utf-16-coding-systems) - 'utf-16 - (or (coding-system-get coding-system 'mime-charset) - coding-system)))) - -(defun nxml-fix-encoding-declaration (enc-pos coding-system) - (let ((charset (nxml-coding-system-name coding-system))) - (cond ((consp enc-pos) - (delete-region (car enc-pos) (cdr enc-pos)) - (goto-char (car enc-pos)) - (insert charset)) - ((integerp enc-pos) - (goto-char enc-pos) - (insert " encoding=\"" charset ?\")) - (t - (goto-char (point-min)) - (insert "\n") - (when (and (not enc-pos) - (let ((case-fold-search t)) - (looking-at xmltok-bad-xml-decl-regexp))) - (delete-region (point) (match-end 0))))))) - -(defun nxml-choose-suitable-coding-system (suitable-coding-systems) - (let (ret coding-system) - (if (and buffer-file-coding-system - (memq (coding-system-base buffer-file-coding-system) - suitable-coding-systems)) - buffer-file-coding-system - (while (and suitable-coding-systems (not ret)) - (setq coding-system (car suitable-coding-systems)) - (if (coding-system-get coding-system 'mime-charset) - (setq ret coding-system) - (setq suitable-coding-systems (cdr suitable-coding-systems)))) - ret))) - -(defun nxml-choose-utf-coding-system () - (let ((cur (and (local-variable-p 'buffer-file-coding-system) - buffer-file-coding-system - (coding-system-base buffer-file-coding-system)))) - (cond ((car (nxml-coding-system-member cur nxml-utf-coding-systems))) - ((and nxml-prefer-utf-16-to-utf-8-flag - (coding-system-p 'utf-16-le) - (coding-system-p 'utf-16-be)) - (if nxml-prefer-utf-16-little-to-big-endian-flag - 'utf-16-le - 'utf-16-be)) - (t 'utf-8)))) - -(defun nxml-choose-utf-16-coding-system () - (let ((cur (and (local-variable-p 'buffer-file-coding-system) - buffer-file-coding-system - (coding-system-base buffer-file-coding-system)))) - (cond ((car (nxml-coding-system-member cur nxml-utf-16-coding-systems))) - (nxml-prefer-utf-16-little-to-big-endian-flag - (and (coding-system-p 'utf-16-le) 'utf-16-le)) - (t (and (coding-system-p 'utf-16-be) 'utf-16-be))))) - -(defun nxml-coding-system-member (coding-system coding-systems) - (let (ret) - (while (and coding-systems (not ret)) - (if (coding-system-equal coding-system - (car coding-systems)) - (setq ret coding-systems) - (setq coding-systems (cdr coding-systems)))) - ret)) - -;;; Fontification - -(defun nxml-fontify (start) - (condition-case err - (save-excursion - (save-restriction - (widen) - (save-match-data - (nxml-with-invisible-motion - (nxml-with-unmodifying-text-property-changes - (if (or nxml-degraded - ;; just in case we get called in the wrong buffer - (not nxml-prolog-end)) - (nxml-set-fontified start (point-max)) - (nxml-fontify1 start))))))) - (error - (nxml-degrade 'nxml-fontify err)))) - -(defun nxml-fontify1 (start) - (cond ((< start nxml-prolog-end) - (nxml-fontify-prolog) - (nxml-set-fontified (point-min) - nxml-prolog-end)) - (t - (goto-char start) - (when (not (eq nxml-last-fontify-end start)) - (when (not (equal (char-after) ?\<)) - (search-backward "<" nxml-prolog-end t)) - (nxml-ensure-scan-up-to-date) - (nxml-move-outside-backwards)) - (let ((start (point))) - (nxml-do-fontify (min (point-max) - (+ start nxml-fontify-chunk-size))) - (setq nxml-last-fontify-end (point)) - (nxml-set-fontified start nxml-last-fontify-end))))) - -(defun nxml-fontify-buffer () - (interactive) - (save-excursion - (save-restriction - (widen) - (nxml-with-invisible-motion - (goto-char (point-min)) - (nxml-with-unmodifying-text-property-changes - (nxml-fontify-prolog) - (goto-char nxml-prolog-end) - (nxml-do-fontify)))))) - -(defun nxml-fontify-prolog () - "Fontify the prolog. -The buffer is assumed to be prepared for fontification. -This does not set the fontified property, but it does clear -faces appropriately." - (let ((regions nxml-prolog-regions)) - (nxml-clear-face (point-min) nxml-prolog-end) - (while regions - (let ((region (car regions))) - (nxml-apply-fontify-rule (aref region 0) - (aref region 1) - (aref region 2))) - (setq regions (cdr regions))))) - -(defun nxml-do-fontify (&optional bound) - "Fontify at least as far as bound. -Leave point after last fontified position." - (unless bound (setq bound (point-max))) - (let (xmltok-dependent-regions - xmltok-errors) - (while (and (< (point) bound) - (nxml-tokenize-forward)) - (nxml-clear-face xmltok-start (point)) - (nxml-apply-fontify-rule)))) - -;; Vectors identify a substring of the token to be highlighted in some face. - -;; Token types returned by xmltok-forward. - -(put 'start-tag - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [-1 nil nxml-tag-delimiter-face] - (element-qname . 1) - attributes)) - -(put 'partial-start-tag - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - (element-qname . 1) - attributes)) - -(put 'end-tag - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [1 2 nxml-tag-slash-face] - [-1 nil nxml-tag-delimiter-face] - (element-qname . 2))) - -(put 'partial-end-tag - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [1 2 nxml-tag-slash-face] - (element-qname . 2))) - -(put 'empty-element - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [-2 -1 nxml-tag-slash-face] - [-1 nil nxml-tag-delimiter-face] - (element-qname . 1) - attributes)) - -(put 'partial-empty-element - 'nxml-fontify-rule - '([nil 1 nxml-tag-delimiter-face] - [-1 nil nxml-tag-slash-face] - (element-qname . 1) - attributes)) - -(put 'char-ref - 'nxml-fontify-rule - '([nil 2 nxml-char-ref-delimiter-face] - [2 -1 nxml-char-ref-number-face] - [-1 nil nxml-char-ref-delimiter-face] - char-ref)) - -(put 'entity-ref - 'nxml-fontify-rule - '([nil 1 nxml-entity-ref-delimiter-face] - [1 -1 nxml-entity-ref-name-face] - [-1 nil nxml-entity-ref-delimiter-face])) - -(put 'comment - 'nxml-fontify-rule - '([nil 4 nxml-comment-delimiter-face] - [4 -3 nxml-comment-content-face] - [-3 nil nxml-comment-delimiter-face])) - -(put 'processing-instruction - 'nxml-fontify-rule - '([nil 2 nxml-processing-instruction-delimiter-face] - [-2 nil nxml-processing-instruction-delimiter-face] - processing-instruction-content)) - -(put 'cdata-section - 'nxml-fontify-rule - '([nil 3 nxml-cdata-section-delimiter-face] ; - [-3 nil nxml-cdata-section-delimiter-face])) - -(put 'data - 'nxml-fontify-rule - '([nil nil nxml-text-face])) - -;; Prolog region types in list returned by xmltok-forward-prolog. - -(put 'xml-declaration - 'nxml-fontify-rule - '([nil 2 nxml-processing-instruction-delimiter-face] - [2 5 nxml-processing-instruction-target-face] - [-2 nil nxml-processing-instruction-delimiter-face])) - -(put 'xml-declaration-attribute-name - 'nxml-fontify-rule - '([nil nil nxml-attribute-local-name-face])) - -(put 'xml-declaration-attribute-value - 'nxml-fontify-rule - '([nil 1 nxml-attribute-value-delimiter-face] - [1 -1 nxml-attribute-value-face] - [-1 nil nxml-attribute-value-delimiter-face])) - -(put 'processing-instruction-left - 'nxml-fontify-rule - '([nil 2 nxml-processing-instruction-delimiter-face] - [2 nil nxml-processing-instruction-target-face])) - -(put 'processing-instruction-right - 'nxml-fontify-rule - '([nil -2 nxml-processing-instruction-content-face] - [-2 nil nxml-processing-instruction-delimiter-face])) - -(put 'literal - 'nxml-fontify-rule - '([nil 1 nxml-prolog-literal-delimiter-face] - [1 -1 nxml-prolog-literal-content-face] - [-1 nil nxml-prolog-literal-delimiter-face])) - -(put 'keyword - 'nxml-fontify-rule - '([nil nil nxml-prolog-keyword-face])) - -(put 'markup-declaration-open - 'nxml-fontify-rule - '([0 2 nxml-markup-declaration-delimiter-face] - [2 nil nxml-prolog-keyword-face])) - -(put 'markup-declaration-close - 'nxml-fontify-rule - '([nil nil nxml-markup-declaration-delimiter-face])) - -(put 'internal-subset-open - 'nxml-fontify-rule - '([nil nil nxml-markup-declaration-delimiter-face])) - -(put 'internal-subset-close - 'nxml-fontify-rule - '([nil 1 nxml-markup-declaration-delimiter-face] - [-1 nil nxml-markup-declaration-delimiter-face])) - -(put 'hash-name - 'nxml-fontify-rule - '([nil 1 nxml-hash-face] - [1 nil nxml-prolog-keyword-face])) - -(defun nxml-apply-fontify-rule (&optional type start end) - (let ((rule (get (or type xmltok-type) 'nxml-fontify-rule))) - (unless start (setq start xmltok-start)) - (unless end (setq end (point))) - (while rule - (let* ((action (car rule))) - (setq rule (cdr rule)) - (cond ((vectorp action) - (nxml-set-face (let ((offset (aref action 0))) - (cond ((not offset) start) - ((< offset 0) (+ end offset)) - (t (+ start offset)))) - (let ((offset (aref action 1))) - (cond ((not offset) end) - ((< offset 0) (+ end offset)) - (t (+ start offset)))) - (aref action 2))) - ((and (consp action) - (eq (car action) 'element-qname)) - (when xmltok-name-end ; maybe nil in partial-end-tag case - (nxml-fontify-qname (+ start (cdr action)) - xmltok-name-colon - xmltok-name-end - 'nxml-element-prefix-face - 'nxml-element-colon-face - 'nxml-element-local-name-face))) - ((eq action 'attributes) - (nxml-fontify-attributes)) - ((eq action 'processing-instruction-content) - (nxml-set-face (+ start 2) - xmltok-name-end - 'nxml-processing-instruction-target-face) - (nxml-set-face (save-excursion - (goto-char xmltok-name-end) - (skip-chars-forward " \t\r\n") - (point)) - (- end 2) - 'nxml-processing-instruction-content-face)) - ((eq action 'char-ref) - (nxml-char-ref-display-extra start - end - (xmltok-char-number start end))) - (t (error "Invalid nxml-fontify-rule action %s" action))))))) - -(defun nxml-fontify-attributes () - (while xmltok-namespace-attributes - (nxml-fontify-attribute (car xmltok-namespace-attributes) - 'namespace) - (setq xmltok-namespace-attributes - (cdr xmltok-namespace-attributes))) - (while xmltok-attributes - (nxml-fontify-attribute (car xmltok-attributes)) - (setq xmltok-attributes - (cdr xmltok-attributes)))) - -(defun nxml-fontify-attribute (att &optional namespace-declaration) - (if namespace-declaration - (nxml-fontify-qname (xmltok-attribute-name-start att) - (xmltok-attribute-name-colon att) - (xmltok-attribute-name-end att) - 'nxml-namespace-attribute-xmlns-face - 'nxml-namespace-attribute-colon-face - 'nxml-namespace-attribute-prefix-face - 'nxml-namespace-attribute-xmlns-face) - (nxml-fontify-qname (xmltok-attribute-name-start att) - (xmltok-attribute-name-colon att) - (xmltok-attribute-name-end att) - 'nxml-attribute-prefix-face - 'nxml-attribute-colon-face - 'nxml-attribute-local-name-face)) - (let ((start (xmltok-attribute-value-start att)) - (end (xmltok-attribute-value-end att)) - (refs (xmltok-attribute-refs att)) - (delimiter-face (if namespace-declaration - 'nxml-namespace-attribute-value-delimiter-face - 'nxml-attribute-value-delimiter-face)) - (value-face (if namespace-declaration - 'nxml-namespace-attribute-value-face - 'nxml-attribute-value-face))) - (when start - (nxml-set-face (1- start) start delimiter-face) - (nxml-set-face end (1+ end) delimiter-face) - (while refs - (let* ((ref (car refs)) - (ref-type (aref ref 0)) - (ref-start (aref ref 1)) - (ref-end (aref ref 2))) - (nxml-set-face start ref-start value-face) - (nxml-apply-fontify-rule ref-type ref-start ref-end) - (setq start ref-end)) - (setq refs (cdr refs))) - (nxml-set-face start end value-face)))) - -(defun nxml-fontify-qname (start - colon - end - prefix-face - colon-face - local-name-face - &optional - unprefixed-face) - (cond (colon (nxml-set-face start colon prefix-face) - (nxml-set-face colon (1+ colon) colon-face) - (nxml-set-face (1+ colon) end local-name-face)) - (t (nxml-set-face start end (or unprefixed-face - local-name-face))))) - -;;; Editing - -(defun nxml-electric-slash (arg) - "Insert a slash. - -With a prefix ARG, do nothing other than insert the slash. - -Otherwise, if `nxml-slash-auto-complete-flag' is non-nil, insert the -rest of the end-tag or empty-element if the slash is potentially part -of an end-tag or the close of an empty-element. - -If the slash is part of an end-tag that is the first non-whitespace -on the line, reindent the line." - (interactive "*P") - (nxml-ensure-scan-up-to-date) - (let* ((slash-pos (point)) - (end-tag-p (and (eq (char-before slash-pos) ?<) - (not (nxml-get-inside slash-pos)))) - (at-indentation (save-excursion - (back-to-indentation) - (eq (point) (1- slash-pos))))) - (self-insert-command (prefix-numeric-value arg)) - (unless arg - (if nxml-slash-auto-complete-flag - (if end-tag-p - (condition-case err - (let ((start-tag-end - (nxml-scan-element-backward (1- slash-pos) t))) - (when start-tag-end - (insert (xmltok-start-tag-qname) ">") - ;; copy the indentation of the start-tag - (when (and at-indentation - (save-excursion - (goto-char xmltok-start) - (back-to-indentation) - (eq (point) xmltok-start))) - (save-excursion - (indent-line-to (save-excursion - (goto-char xmltok-start) - (current-column))))))) - (nxml-scan-error nil)) - (when (and (eq (nxml-token-before) (point)) - (eq xmltok-type 'partial-empty-element)) - (insert ">"))) - (when (and end-tag-p at-indentation) - (nxml-indent-line)))))) - -(defun nxml-balanced-close-start-tag-block () - "Close the start-tag before point with `>' and insert a balancing end-tag. -Point is left between the start-tag and the end-tag. -If there is nothing but whitespace before the `<' that opens the -start-tag, then put point on a blank line, and put the end-tag on -another line aligned with the start-tag." - (interactive "*") - (nxml-balanced-close-start-tag 'block)) - -(defun nxml-balanced-close-start-tag-inline () - "Close the start-tag before point with `>' and insert a balancing end-tag. -Point is left between the start-tag and the end-tag. -No extra whitespace is inserted." - (interactive "*") - (nxml-balanced-close-start-tag 'inline)) - -(defun nxml-balanced-close-start-tag (block-or-inline) - (let ((token-end (nxml-token-before)) - (pos (1+ (point)))) - (unless (or (eq xmltok-type 'partial-start-tag) - (and (memq xmltok-type '(start-tag - empty-element - partial-empty-element)) - (>= token-end pos))) - (error "Not in a start-tag")) - (insert ">" - (buffer-substring-no-properties (+ xmltok-start 1) - (min xmltok-name-end (point))) - ">") - (if (eq block-or-inline 'inline) - (goto-char pos) - (goto-char xmltok-start) - (back-to-indentation) - (if (= (point) xmltok-start) - (let ((indent (current-column))) - (goto-char pos) - (insert "\n") - (indent-line-to indent) - (goto-char pos) - (insert "\n") - (indent-line-to (+ nxml-child-indent indent))) - (goto-char pos))))) - -(defun nxml-finish-element () - "Finish the current element by inserting an end-tag." - (interactive "*") - (nxml-finish-element-1 nil)) - -(defvar nxml-last-split-position nil - "Position where `nxml-split-element' split the current element.") - -(defun nxml-split-element () - "Split the current element by inserting an end-tag and a start-tag. -Point is left after the newly inserted start-tag. When repeated, -split immediately before the previously inserted start-tag and leave -point unchanged." - (interactive "*") - (setq nxml-last-split-position - (if (and (eq last-command this-command) - nxml-last-split-position) - (save-excursion - (goto-char nxml-last-split-position) - (nxml-finish-element-1 t)) - (nxml-finish-element-1 t)))) - -(defun nxml-finish-element-1 (startp) - "Insert an end-tag for the current element and optionally a start-tag. -The start-tag is inserted if STARTP is non-nil. Return the position -of the inserted start-tag or nil if none was inserted." - (interactive "*") - (let* ((token-end (nxml-token-before)) - (start-tag-end - (save-excursion - (when (and (< (point) token-end) - (memq xmltok-type - '(cdata-section - processing-instruction - comment - start-tag - end-tag - empty-element))) - (error "Point is inside a %s" - (nxml-token-type-friendly-name xmltok-type))) - (nxml-scan-element-backward token-end t))) - (starts-line - (save-excursion - (unless (eq xmltok-type 'start-tag) - (error "No matching start-tag")) - (goto-char xmltok-start) - (back-to-indentation) - (eq (point) xmltok-start))) - (ends-line - (save-excursion - (goto-char start-tag-end) - (looking-at "[ \t\r\n]*$"))) - (start-tag-indent (save-excursion - (goto-char xmltok-start) - (current-column))) - (qname (xmltok-start-tag-qname)) - inserted-start-tag-pos) - (when (and starts-line ends-line) - ;; start-tag is on a line by itself - ;; => put the end-tag on a line by itself - (unless (<= (point) - (save-excursion - (back-to-indentation) - (point))) - (insert "\n")) - (indent-line-to start-tag-indent)) - (insert "" qname ">") - (when startp - (when starts-line - (insert "\n") - (indent-line-to start-tag-indent)) - (setq inserted-start-tag-pos (point)) - (insert "<" qname ">") - (when (and starts-line ends-line) - (insert "\n") - (indent-line-to (save-excursion - (goto-char xmltok-start) - (forward-line 1) - (back-to-indentation) - (if (= (current-column) - (+ start-tag-indent nxml-child-indent)) - (+ start-tag-indent nxml-child-indent) - start-tag-indent))))) - inserted-start-tag-pos)) - -;;; Indentation - -(defun nxml-indent-line () - "Indent current line as XML." - (let ((indent (nxml-compute-indent)) - (from-end (- (point-max) (point)))) - (when indent - (beginning-of-line) - (let ((bol (point))) - (skip-chars-forward " \t") - (delete-region bol (point))) - (indent-to indent) - (when (> (- (point-max) from-end) (point)) - (goto-char (- (point-max) from-end)))))) - -(defun nxml-compute-indent () - "Return the indent for the line containing point." - (or (nxml-compute-indent-from-matching-start-tag) - (nxml-compute-indent-from-previous-line))) - -(defun nxml-compute-indent-from-matching-start-tag () - "Compute the indent for a line with an end-tag using the matching start-tag. -When the line containing point ends with an end-tag and does not start -in the middle of a token, return the indent of the line containing the -matching start-tag, if there is one and it occurs at the beginning of -its line. Otherwise return nil." - (save-excursion - (back-to-indentation) - (let ((bol (point))) - (let ((inhibit-field-text-motion t)) - (end-of-line)) - (skip-chars-backward " \t") - (and (= (nxml-token-before) (point)) - (memq xmltok-type '(end-tag partial-end-tag)) - ;; start of line must not be inside a token - (or (= xmltok-start bol) - (save-excursion - (goto-char bol) - (nxml-token-after) - (= xmltok-start bol)) - (eq xmltok-type 'data)) - (condition-case err - (nxml-scan-element-backward - (point) - nil - (- (point) - nxml-end-tag-indent-scan-distance)) - (nxml-scan-error nil)) - (< xmltok-start bol) - (progn - (goto-char xmltok-start) - (skip-chars-backward " \t") - (bolp)) - (current-indentation))))) - -(defun nxml-compute-indent-from-previous-line () - "Compute the indent for a line using the indentation of a previous line." - (save-excursion - (end-of-line) - (let ((eol (point)) - bol prev-bol ref - before-context after-context) - (back-to-indentation) - (setq bol (point)) - (catch 'indent - ;; Move backwards until the start of a non-blank line that is - ;; not inside a token. - (while (progn - (when (= (forward-line -1) -1) - (throw 'indent 0)) - (back-to-indentation) - (if (looking-at "[ \t]*$") - t - (or prev-bol - (setq prev-bol (point))) - (nxml-token-after) - (not (or (= xmltok-start (point)) - (eq xmltok-type 'data)))))) - (setq ref (point)) - ;; Now scan over tokens until the end of the line to be indented. - ;; Determine the context before and after the beginning of the - ;; line. - (while (< (point) eol) - (nxml-tokenize-forward) - (cond ((<= bol xmltok-start) - (setq after-context - (nxml-merge-indent-context-type after-context))) - ((and (<= (point) bol) - (not (and (eq xmltok-type 'partial-start-tag) - (= (point) bol)))) - (setq before-context - (nxml-merge-indent-context-type before-context))) - ((eq xmltok-type 'data) - (setq before-context - (nxml-merge-indent-context-type before-context)) - (setq after-context - (nxml-merge-indent-context-type after-context))) - ;; If in the middle of a token that looks inline, - ;; then indent relative to the previous non-blank line - ((eq (nxml-merge-indent-context-type before-context) - 'mixed) - (goto-char prev-bol) - (throw 'indent (current-column))) - (t - (throw 'indent - (nxml-compute-indent-in-token bol)))) - (skip-chars-forward " \t\r\n")) - (goto-char ref) - (+ (current-column) - (* nxml-child-indent - (+ (if (eq before-context 'start-tag) 1 0) - (if (eq after-context 'end-tag) -1 0)))))))) - -(defun nxml-merge-indent-context-type (context) - "Merge the indent context type CONTEXT with the token in `xmltok-type'. -Return the merged indent context type. An indent context type is -either nil or one of the symbols start-tag, end-tag, markup, comment, -mixed." - (cond ((memq xmltok-type '(start-tag partial-start-tag)) - (if (memq context '(nil start-tag comment)) - 'start-tag - 'mixed)) - ((memq xmltok-type '(end-tag partial-end-tag)) - (if (memq context '(nil end-tag comment)) - 'end-tag - 'mixed)) - ((eq xmltok-type 'comment) - (cond ((memq context '(start-tag end-tag comment)) - context) - (context 'mixed) - (t 'comment))) - (context 'mixed) - (t 'markup))) - -(defun nxml-compute-indent-in-token (pos) - "Return the indent for a line that starts inside a token. -POS is the position of the first non-whitespace character of the line. -This expects the xmltok-* variables to be set up as by `xmltok-forward'." - (cond ((memq xmltok-type '(start-tag - partial-start-tag - empty-element - partial-empty-element)) - (nxml-compute-indent-in-start-tag pos)) - ((eq xmltok-type 'comment) - (nxml-compute-indent-in-delimited-token pos "")) - ((eq xmltok-type 'cdata-section) - (nxml-compute-indent-in-delimited-token pos "")) - ((eq xmltok-type 'processing-instruction) - (nxml-compute-indent-in-delimited-token pos "" "?>")) - (t - (goto-char pos) - (if (and (= (forward-line -1) 0) - (< xmltok-start (point))) - (back-to-indentation) - (goto-char xmltok-start)) - (current-column)))) - -(defun nxml-compute-indent-in-start-tag (pos) - "Return the indent for a line that starts inside a start-tag. -Also for a line that starts inside an empty element. -POS is the position of the first non-whitespace character of the line. -This expects the xmltok-* variables to be set up as by `xmltok-forward'." - (let ((value-boundary (nxml-attribute-value-boundary pos)) - (off 0)) - (if value-boundary - ;; inside an attribute value - (let ((value-start (car value-boundary)) - (value-end (cdr value-boundary))) - (goto-char pos) - (forward-line -1) - (if (< (point) value-start) - (goto-char value-start) - (back-to-indentation))) - ;; outside an attribute value - (goto-char pos) - (while (and (= (forward-line -1) 0) - (nxml-attribute-value-boundary (point)))) - (cond ((<= (point) xmltok-start) - (goto-char xmltok-start) - (setq off nxml-attribute-indent) - (let ((atts (xmltok-merge-attributes))) - (when atts - (let* ((att (car atts)) - (start (xmltok-attribute-name-start att))) - (when (< start pos) - (goto-char start) - (setq off 0)))))) - (t - (back-to-indentation)))) - (+ (current-column) off))) - -(defun nxml-attribute-value-boundary (pos) - "Return a pair (START . END) if POS is inside an attribute value. -Otherwise return nil. START and END are the positions of the start -and end of the attribute value containing POS. This expects the -xmltok-* variables to be set up as by `xmltok-forward'." - (let ((atts (xmltok-merge-attributes)) - att value-start value-end value-boundary) - (while atts - (setq att (car atts)) - (setq value-start (xmltok-attribute-value-start att)) - (setq value-end (xmltok-attribute-value-end att)) - (cond ((and value-start (< pos value-start)) - (setq atts nil)) - ((and value-start value-end (<= pos value-end)) - (setq value-boundary (cons value-start value-end)) - (setq atts nil)) - (t (setq atts (cdr atts))))) - value-boundary)) - -(defun nxml-compute-indent-in-delimited-token (pos open-delim close-delim) - "Return the indent for a line that starts inside a token with delimiters. -OPEN-DELIM and CLOSE-DELIM are strings giving the opening and closing -delimiters. POS is the position of the first non-whitespace character -of the line. This expects the xmltok-* variables to be set up as by -`xmltok-forward'." - (cond ((let ((end (+ pos (length close-delim)))) - (and (<= end (point-max)) - (string= (buffer-substring-no-properties pos end) - close-delim))) - (goto-char xmltok-start)) - ((progn - (goto-char pos) - (forward-line -1) - (<= (point) xmltok-start)) - (goto-char (+ xmltok-start (length open-delim))) - (when (and (string= open-delim " - - - When a heading is displayed specially, you can use - - -RET in that heading to show the text content of the section -in the same way as C-c C-o C-e.You can also use the mouse to change the outline state: -S-mouse-2 hides the text content of a section in the same -way asC-c C-o C-c; mouse-2 on a specially -displayed heading shows the text content of the section in the same -way as C-c C-o C-e; mouse-1 on a specially -displayed start-tag toggles the display of subheadings on and -off. - -The outline state for each section is stored with the first -character of the section (as a text property). Every command that -changes the outline state of any section updates the display of the -buffer so that each section is displayed correctly according to its -outline state. If the section structure is subsequently changed, then -it is possible for the display to no longer correctly reflect the -stored outline state. C-c C-o C-r can be used to refresh -the display so it is correct again. - - - -- - -Locating a schema - -nXML mode has a configurable set of rules to locate a schema for -the file being edited. The rules are contained in one or more schema -locating files, which are XML documents. - -The variable rng-schema-locating-files specifies -the list of the file-names of schema locating files that nXML mode -should use. The order of the list is significant: when file -x occurs in the list before file y then rules -from file x have precedence over rules from file -y. A filename specified in -rng-schema-locating-files may be relative. If so, it will -be resolved relative to the document for which a schema is being -located. It is not an error if relative file-names in -rng-schema-locating-files do not not exist. You can use -M-x customize-variable - -RET rng-schema-locating-files -RET to customize the list of schema locating -files.By default, rng-schema-locating-files list has two -members: schemas.xml, and -dist-dir/schema/schemas.xml where -dist-dir is the directory containing the nXML -distribution. The first member will cause nXML mode to use a file -schemas.xml in the same directory as the document being -edited if such a file exist. The second member contains rules for the -schemas that are included with the nXML distribution. - -- - -Commands for locating a schema - -The command C-c C-s C-w will tell you what schema -is currently being used. - -The rules for locating a schema are applied automatically when -you visit a file in nXML mode. However, if you have just created a new -file and the schema cannot be inferred from the file-name, then this -will not locate the right schema. In this case, you should insert the -start-tag of the root element and then use the command C-c -C-a, which reapplies the rules based on the current content of -the document. It is usually not necessary to insert the complete -start-tag; often just <name is -enough. - -If you want to use a schema that has not yet been added to the -schema locating files, you can use the command C-c C-s C-f -to manually select the file contaiing the schema for the document in -current buffer. Emacs will read the file-name of the schema from the -minibuffer. After reading the file-name, Emacs will ask whether you -wish to add a rule to a schema locating file that persistently -associates the document with the selected schema. The rule will be -added to the first file in the list specified -rng-schema-locating-files; it will create the file if -necessary, but will not create a directory. If the variable -rng-schema-locating-files has not been customized, this -means that the rule will be added to the file schemas.xml -in the same directory as the document being edited. - -The command C-c C-s C-t allows you to select a schema by -specifying an identifier for the type of the document. The schema -locating files determine the available type identifiers and what -schema is used for each type identifier. This is useful when it is -impossible to infer the right schema from either the file-name or the -content of the document, even though the schema is already in the -schema locating file. A situation in which this can occur is when -there are multiple variants of a schema where all valid documents have -the same document element. For example, XHTML has Strict and -Transitional variants. In a situation like this, a schema locating file -can define a type identifier for each variant. As with C-c -C-s C-f, Emacs will ask whether you wish to add a rule to a schema -locating file that persistently associates the document with the -specified type identifier. - -The command C-c C-s C-l adds a rule to a schema -locating file that persistently associates the document with -the schema that is currently being used. - -- - -Schema locating files - -Each schema locating file specifies a list of rules. The rules -from each file are appended in order. To locate a schema each rule is -applied in turn until a rule matches. The first matching rule is then -used to determine the schema. - -Schema locating files are designed to be useful for other -applications that need to locate a schema for a document. In fact, -there is nothing specific to locating schemas in the design; it could -equally well be used for locating a stylesheet. - -- - -Schema locating file syntax basics - -There is a schema for schema locating files in the file -locate.rnc in the schema directory. Schema locating -files must be valid with respect to this schema. - -The document element of a schema locating file must be -locatingRules and the namespace URI must be -http://thaiopensource.com/ns/locating-rules/1.0. The -children of the document element specify rules. The order of the -children is the same as the order of the rules. Here's a complete -example of a schema locating file: - - - -- - - -This says to use the schema xhtml.rnc for a document with -namespace http://www.w3.org/1999/xhtml, and to use the -schema docbook.rnc for a document whose local name is -book. If the document element had both a namespace URI -of http://www.w3.org/1999/xhtml and a local name of -book, then the matching rule that comes first will be -used and so the schema xhtml.rnc would be used. There is -no precedence between different types of rule; the first matching rule -of any type is used.- ]]> -- - As usual with XML-related technologies, resources are identified -by URIs. The uri attribute identifies the schema by -specifying the URI. The URI may be relative. If so, it is resolved -relative to the URI of the schema locating file that contains -attribute. This means that if the value of uri attribute -does not contain a /, then it will refer to a filename in -the same directory as the schema locating file. - -- - -Using the document's URI to locate a schema - -A uri rule locates a schema based on the URI of the -document. The uri attribute specifies the URI of the -schema. The resource attribute can be used to specify -the schema for a particular document. For example, - - - --]]> - - -specifies that that the schema for spec.xml is -docbook.rnc.The pattern attribute can be used instead of the -resource attribute to specify the schema for any document -whose URI matches a pattern. The pattern has the same syntax as an -absolute or relative URI except that the path component of the URI can -use a * character to stand for zero or more characters -within a path segment (i.e. any character other /). -Typically, the URI pattern looks like a relative URI, but, whereas a -relative URI in the resource attribute is resolved into a -particular absolute URI using the base URI of the schema locating -file, a relative URI pattern matches if it matches some number of -complete path segments of the document's URI ending with the last path -segment of the document's URI. For example, - - - --]]> - - -specifies that the schema for documents with a URI whose path ends -with .xsl is xslt.rnc.A transformURI rule locates a schema by -transforming the URI of the document. The fromPattern -attribute specifies a URI pattern with the same meaning as the -pattern attribute of the uri element. The -toPattern attribute is a URI pattern that is used to -generate the URI of the schema. Each * in the -toPattern is replaced by the string that matched the -corresponding * in the fromPattern. The -resulting string is appended to the initial part of the document's URI -that was not explicitly matched by the fromPattern. The -rule matches only if the transformed URI identifies an existing -resource. For example, the rule - - - --]]> - - -would transform the URI file:///home/jjc/docs/spec.xml -into the URI file:///home/jjc/docs/spec.rnc. Thus, this -rule specifies that to locate a schema for a document -foo.xml, Emacs should test whether a file -foo.rnc exists in the same directory as -foo.xml, and, if so, should use it as the -schema.- - - -Using the document element to locate a schema - -A documentElement rule locates a schema based on -the local name and prefix of the document element. For example, a rule - - - --]]> - - -specifies that when the name of the document element is -xsl:stylesheet, then xslt.rnc should be used -as the schema. Either the prefix or -localName attribute may be omitted to allow any prefix or -local name.A namespace rule locates a schema based on the -namespace URI of the document element. For example, a rule - - - --]]> - - -specifies that when the namespace URI of the document is -http://www.w3.org/1999/XSL/Transform, then -xslt.rnc should be used as the schema.- - -Using type identifiers in schema locating files - -Type identifiers allow a level of indirection in locating the -schema for a document. Instead of associating the document directly -with a schema URI, the document is associated with a type identifier, -which is in turn associated with a schema URI. nXML mode does not -constrain the format of type identifiers. They can be simply strings -without any formal structure or they can be public identifiers or -URIs. Note that these type identifiers have nothing to do with the -DOCTYPE declaration. When comparing type identifiers, whitespace is -normalized in the same way as with the xsd:token -datatype: leading and trailing whitespace is stripped; other sequences -of whitespace are normalized to a single space character. - -Each of the rules described in previous sections that uses a -uri attribute to specify a schema, can instead use a -typeId attribute to specify a type identifier. The type -identifier can be associated with a URI using a typeId -element. For example, - - - - - -- - - -declares three type identifiers XHTML (representing the -default variant of XHTML to be used), XHTML Strict and -XHTML Transitional. Such a schema locating file would -use xhtml-strict.rnc for a document whose namespace is -http://www.w3.org/1999/xhtml. But it is considerably -more flexible than a schema locating file that simply specified - -- - - -]]> - -]]> - - -A user can easily use C-c C-s C-t to select between XHTML -Strict and XHTML Transitional. Also, a user can easily add a catalog - -- - - -that makes the default variant of XHTML be XHTML Transitional.-]]> - - - -Using multiple schema locating files - -The include element includes rules from another -schema locating file. The behavior is exactly as if the rules from -that file were included in place of the include element. -Relative URIs are resolved into absolute URIs before the inclusion is -performed. For example, - - - --]]> - - -includes the rules from rules.xml.The process of locating a schema takes as input a list of schema -locating files. The rules in all these files and in the files they -include are resolved into a single list of rules, which are applied -strictly in order. Sometimes this order is not what is needed. -For example, suppose you have two schema locating files, a private -file - - - -- - - -followed by a public file - --]]> - - - - -The effect of these two files is that the XHTML namespace -rule takes precedence over the transformURI rule, which -is almost certainly not what is needed. This can be solved by adding -an applyFollowingRules to the private file. - -- -]]> - - - -- -]]> - - - -DTDs - -nxml-mode is designed to support the creation of standalone XML -documents that do not depend on a DTD. Although it is common practice -to insert a DOCTYPE declaration referencing an external DTD, this has -undesirable side-effects. It means that the document is no longer -self-contained. It also means that different XML parsers may interpret -the document in different ways, since the XML Recommendation does not -require XML parsers to read the DTD. With DTDs, it was impractical to -get validation without using an external DTD or reference to an -parameter entity. With RELAX NG and other schema languages, you can -simulataneously get the benefits of validation and standalone XML -documents. Therefore, I recommend that you do not reference an -external DOCTYPE in your XML documents. - -One problem is entities for characters. Typically, as well as -providing validation, DTDs also provide a set of character entities -for documents to use. Schemas cannot provide this functionality, -because schema validation happens after XML parsing. The recommended -solution is to either use the Unicode characters directly, or, if this -is impractical, use character references. nXML mode supports this by -providing commands for entering characters and character references -using the Unicode names, and can display the glyph corresponding to a -character reference. - -- - - diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-ns.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-ns.el deleted file mode 100644 index 6306d93713..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-ns.el +++ /dev/null @@ -1,148 +0,0 @@ -;;; nxml-ns.el --- XML namespace processing - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; This file uses a prefix of `nxml-ns'. - -;;; Code: - -(require 'nxml-util) - -(defvar nxml-ns-state nil - "Contains the state of namespace processing. The state -is never modified destructively and so can be saved and restored -without copying. - -The value is a stack represented by a list. The list has length N + 1 -where N is the number of open elements. Each member of the list -represents the bindings in effect for a particular element. Each -member is itself a list whose car is the default namespace -\(a symbol or nil) and whose cdr is an alist of (PREFIX . NS) pairs -where PREFIX is a string (never nil) and NS is the namespace URI -symbol.") - -(defconst nxml-ns-initial-state - (list (list nil (cons "xml" nxml-xml-namespace-uri))) - "A list to be used as the initial value of nxml-ns-state. This -represents the state with no open elements and with the default -namespace bindings (no default namespace and only the xml prefix bound).") - -(defsubst nxml-ns-state () nxml-ns-state) - -(defsubst nxml-ns-set-state (state) - (setq nxml-ns-state state)) - -(defsubst nxml-ns-state-equal (state) - (equal nxml-ns-state state)) - -(defmacro nxml-ns-save (&rest body) - `(let ((nxml-ns-state nxml-ns-initial-state)) - ,@body)) - -(put 'nxml-ns-save 'lisp-indent-function 0) -(def-edebug-spec nxml-ns-save t) - -(defun nxml-ns-init () - (setq nxml-ns-state nxml-ns-initial-state)) - -(defun nxml-ns-push-state () - "Change the state by starting a new element. Namespace declarations -are inherited from the parent state." - (setq nxml-ns-state (cons (car nxml-ns-state) nxml-ns-state))) - -(defun nxml-ns-pop-state () - "Change the state by ending an element. The behaviour is undefined -if there is no open element." - (setq nxml-ns-state (cdr nxml-ns-state))) - -(defun nxml-ns-get-prefix (prefix) - "Return the symbol for namespace bound to PREFIX, or nil if PREFIX -is unbound. PREFIX is a string, never nil." - (let ((binding (assoc prefix (cdar nxml-ns-state)))) - (and binding (cdr binding)))) - -(defun nxml-ns-set-prefix (prefix ns) - "Change the binding of PREFIX. PREFIX is a string (never nil). NS -is a symbol (never nil). The change will be in effect until the end of -the current element." - (setq nxml-ns-state - (let ((bindings (car nxml-ns-state))) - (cons (cons (car bindings) - (cons (cons prefix ns) (cdr bindings))) - (cdr nxml-ns-state))))) - -(defun nxml-ns-get-default () - "Return the current default namespace as a symbol, or nil -if there is no default namespace." - (caar nxml-ns-state)) - -(defun nxml-ns-set-default (ns) - "Changes the current default namespace. The change -will be in effect until the end of the current element. -NS is a symbol or nil." - (setq nxml-ns-state - (cons (cons ns (cdar nxml-ns-state)) - (cdr nxml-ns-state)))) - -(defun nxml-ns-get-context () - (car nxml-ns-state)) - -(defun nxml-ns-prefixes-for (ns &optional attributep) - (let ((current (car nxml-ns-state)) - prefixes) - (when (if attributep - (not ns) - (eq (car current) ns)) - (setq prefixes '(nil))) - (setq current (cdr current)) - (while (let ((binding (rassq ns current))) - (when binding - (when (eq (nxml-ns-get-prefix (car binding)) ns) - (add-to-list 'prefixes - (car binding))) - (setq current - (cdr (member binding current)))))) - prefixes)) - -(defun nxml-ns-prefix-for (ns) - (car (rassq ns (cdar nxml-ns-state)))) - -(defun nxml-ns-changed-prefixes () - (let ((old (cadr nxml-ns-state)) - (new (car nxml-ns-state)) - changed) - (if (eq old new) - nil - (unless (eq (car new) (car old)) - (setq changed '(nil))) - (setq new (cdr new)) - (setq old (cdr old)) - (while (not (eq new old)) - (setq changed - (cons (caar new) changed)) - (setq new (cdr new)))) - changed)) - -(provide 'nxml-ns) - -;;; nxml-ns.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-outln.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-outln.el deleted file mode 100644 index 5bc39c86e8..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-outln.el +++ /dev/null @@ -1,1040 +0,0 @@ -;;; nxml-outln.el --- outline support for nXML mode - -;; Copyright (C) 2004 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; A section can be in one of three states -;; 1. display normally; this displays each child section -;; according to its state; anything not part of child sections is also -;; displayed normally -;; 2. display just the title specially; child sections are not displayed -;; regardless of their state; anything not part of child sections is -;; not displayed -;; 3. display the title specially and display child sections -;; according to their state; anything not part of the child section is -;; not displayed -;; The state of a section is determined by the value of the -;; nxml-outline-state text property of the < character that starts -;; the section. -;; For state 1 the value is nil or absent. -;; For state 2 it is the symbol hide-children. -;; For state 3 it is t. -;; The special display is achieved by using overlays. The overlays -;; are computed from the nxml-outline-state property by -;; `nxml-refresh-outline'. There overlays all have a category property -;; with an nxml-outline-display property with value t. -;; -;; For a section to be recognized as such, the following conditions must -;; be satisfied: -;; - its start-tag must occur at the start of a line (possibly indented) -;; - its local name must match `nxml-section-element-name-regexp' -;; - it must have a heading element; a heading element is an -;; element whose name matches `nxml-heading-element-name-regexp', -;; and that occurs as, or as a descendant of, the first child element -;; of the section -;; -;; XXX What happens if an nxml-outline-state property is attached to a -;; character that doesn't start a section element? -;; -;; An outlined section (an section with a non-nil nxml-outline-state -;; property) can be displayed in either single-line or multi-line -;; form. Single-line form is used when the outline state is hide-children -;; or there are no child sections; multi-line form is used otherwise. -;; There are two flavors of single-line form: with children and without. -;; The with-childen flavor is used when there are child sections. -;; Single line with children looks like -;; <+section>A section title...> -;; Single line without children looks like -;; <-section>A section title...> -;; Multi line looks likes -;; <-section>A section title... -;; [child sections displayed here] -;; -section> -;; The indent of an outlined section is computed relative to the -;; outermost containing outlined element. The indent of the -;; outermost containing element comes from the non-outlined -;; indent of the section start-tag. - -;;; Code: - -(require 'xmltok) -(require 'nxml-util) -(require 'nxml-rap) - -(defcustom nxml-section-element-name-regexp - "article\\|\\(sub\\)*section\\|chapter\\|div\\|appendix\\|part\\|preface\\|reference\\|simplesect\\|bibliography\\|bibliodiv\\|glossary\\|glossdiv" - "*Regular expression matching the name of elements used as sections. -An XML element is treated as a section if: - -- its local name (that is, the name without the prefix) matches -this regexp; - -- either its first child element or a descendant of that first child -element has a local name matching the variable -`nxml-heading-element-name-regexp'; and - -- its start-tag occurs at the beginning of a line (possibly indented)." - :group 'nxml - :type 'regexp) - -(defcustom nxml-heading-element-name-regexp "title\\|head" - "*Regular expression matching the name of elements used as headings. -An XML element is only recognized as a heading if it occurs as or -within the first child of an element that is recognized as a section. -See the variable `nxml-section-element-name-regexp' for more details." - :group 'nxml - :type 'regexp) - -(defcustom nxml-outline-child-indent 2 - "*Indentation in an outline for child element relative to parent element." - :group 'nxml - :type 'integer) - -(defface nxml-heading-face - '((t (:weight bold))) - "Face used for the contents of abbreviated heading elements." - :group 'nxml-highlighting-faces) - -(defface nxml-outline-indicator-face - '((t (:inherit default))) - "Face used for `+' or `-' before element names in outlines." - :group 'nxml-highlighting-faces) - -(defface nxml-outline-active-indicator-face - '((t (:box t :inherit nxml-outline-indicator-face))) - "Face used for clickable `+' or `-' before element names in outlines." - :group 'nxml-highlighting-faces) - -(defface nxml-outline-ellipsis-face - '((t (:bold t :inherit default))) - "Face used for `...' in outlines." - :group 'nxml-highlighting-faces) - -(defvar nxml-heading-scan-distance 1000 - "Maximum distance from section to scan for heading.") - -(defvar nxml-outline-prefix-map - (let ((map (make-sparse-keymap))) - (define-key map "\C-a" 'nxml-show-all) - (define-key map "\C-t" 'nxml-hide-all-text-content) - (define-key map "\C-r" 'nxml-refresh-outline) - (define-key map "\C-c" 'nxml-hide-direct-text-content) - (define-key map "\C-e" 'nxml-show-direct-text-content) - (define-key map "\C-d" 'nxml-hide-subheadings) - (define-key map "\C-s" 'nxml-show) - (define-key map "\C-k" 'nxml-show-subheadings) - (define-key map "\C-l" 'nxml-hide-text-content) - (define-key map "\C-i" 'nxml-show-direct-subheadings) - (define-key map "\C-o" 'nxml-hide-other) - map)) - -;;; Commands for changing visibility - -(defun nxml-show-all () - "Show all elements in the buffer normally." - (interactive) - (nxml-with-unmodifying-text-property-changes - (remove-text-properties (point-min) - (point-max) - '(nxml-outline-state nil))) - (nxml-outline-set-overlay nil (point-min) (point-max))) - -(defun nxml-hide-all-text-content () - "Hide all text content in the buffer. -Anything that is in a section but is not a heading will be hidden. -The visibility of headings at any level will not be changed. See the -variable `nxml-section-element-name-regexp' for more details on how to -customize which elements are recognized as sections and headings." - (interactive) - (nxml-transform-buffer-outline '((nil . t)))) - -(defun nxml-show-direct-text-content () - "Show the text content that is directly part of the section containing point. -Each subsection will be shown according to its individual state, which -will not be changed. The section containing point is the innermost -section that contains the character following point. See the variable -`nxml-section-element-name-regexp' for more details on how to -customize which elements are recognized as sections and headings." - (interactive) - (nxml-outline-pre-adjust-point) - (nxml-set-outline-state (nxml-section-start-position) nil) - (nxml-refresh-outline) - (nxml-outline-adjust-point)) - -(defun nxml-show-direct-subheadings () - "Show the immediate subheadings of the section containing point. -The section containing point is the innermost section that contains -the character following point. See the variable -`nxml-section-element-name-regexp' for more details on how to -customize which elements are recognized as sections and headings." - (interactive) - (let ((pos (nxml-section-start-position))) - (when (eq (nxml-get-outline-state pos) 'hide-children) - (nxml-set-outline-state pos t))) - (nxml-refresh-outline) - (nxml-outline-adjust-point)) - -(defun nxml-hide-direct-text-content () - "Hide the text content that is directly part of the section containing point. -The heading of the section will remain visible. The state of -subsections will not be changed. The section containing point is the -innermost section that contains the character following point. See the -variable `nxml-section-element-name-regexp' for more details on how to -customize which elements are recognized as sections and headings." - (interactive) - (let ((pos (nxml-section-start-position))) - (when (null (nxml-get-outline-state pos)) - (nxml-set-outline-state pos t))) - (nxml-refresh-outline) - (nxml-outline-adjust-point)) - -(defun nxml-hide-subheadings () - "Hide the subheadings that are part of the section containing point. -The text content will also be hidden, leaving only the heading of the -section itself visible. The state of the subsections will also be -changed to hide their headings, so that \\[nxml-show-direct-text-content] -would show only the heading of the subsections. The section containing -point is the innermost section that contains the character following -point. See the variable `nxml-section-element-name-regexp' for more -details on how to customize which elements are recognized as sections -and headings." - (interactive) - (nxml-transform-subtree-outline '((nil . hide-children) - (t . hide-children)))) - -(defun nxml-show () - "Show the section containing point normally, without hiding anything. -This includes everything in the section at any level. The section -containing point is the innermost section that contains the character -following point. See the variable `nxml-section-element-name-regexp' -for more details on how to customize which elements are recognized as -sections and headings." - (interactive) - (nxml-transform-subtree-outline '((hide-children . nil) - (t . nil)))) - -(defun nxml-hide-text-content () - "Hide text content at all levels in the section containing point. -The section containing point is the innermost section that contains -the character following point. See the variable -`nxml-section-element-name-regexp' for more details on how to -customize which elements are recognized as sections and headings." - (interactive) - (nxml-transform-subtree-outline '((nil . t)))) - -(defun nxml-show-subheadings () - "Show the subheadings at all levels of the section containing point. -The visibility of the text content at all levels in the section is not -changed. The section containing point is the innermost section that -contains the character following point. See the variable -`nxml-section-element-name-regexp' for more details on how to -customize which elements are recognized as sections and headings." - (interactive) - (nxml-transform-subtree-outline '((hide-children . t)))) - -(defun nxml-hide-other () - "Hide text content other than that directly in the section containing point. -Hide headings other than those of ancestors of that section and their -immediate subheadings. The section containing point is the innermost -section that contains the character following point. See the variable -`nxml-section-element-name-regexp' for more details on how to -customize which elements are recognized as sections and headings." - (interactive) - (let ((nxml-outline-state-transform-exceptions nil)) - (save-excursion - (while (and (condition-case err - (nxml-back-to-section-start) - (nxml-outline-error (nxml-report-outline-error - "Couldn't find containing section: %s" - err))) - (progn - (when (and nxml-outline-state-transform-exceptions - (null (nxml-get-outline-state (point)))) - (nxml-set-outline-state (point) t)) - (setq nxml-outline-state-transform-exceptions - (cons (point) - nxml-outline-state-transform-exceptions)) - (< nxml-prolog-end (point)))) - (goto-char (1- (point))))) - (nxml-transform-buffer-outline '((nil . hide-children) - (t . hide-children))))) - -;; These variables are dynamically bound. They are use to pass information to -;; nxml-section-tag-transform-outline-state. - -(defvar nxml-outline-state-transform-exceptions nil) -(defvar nxml-target-section-pos nil) -(defvar nxml-depth-in-target-section nil) -(defvar nxml-outline-state-transform-alist nil) - -(defun nxml-transform-buffer-outline (alist) - (let ((nxml-target-section-pos nil) - (nxml-depth-in-target-section 0) - (nxml-outline-state-transform-alist alist) - (nxml-outline-display-section-tag-function - 'nxml-section-tag-transform-outline-state)) - (nxml-refresh-outline)) - (nxml-outline-adjust-point)) - -(defun nxml-transform-subtree-outline (alist) - (let ((nxml-target-section-pos (nxml-section-start-position)) - (nxml-depth-in-target-section nil) - (nxml-outline-state-transform-alist alist) - (nxml-outline-display-section-tag-function - 'nxml-section-tag-transform-outline-state)) - (nxml-refresh-outline)) - (nxml-outline-adjust-point)) - -(defun nxml-outline-pre-adjust-point () - (cond ((and (< (point-min) (point)) - (get-char-property (1- (point)) 'invisible) - (not (get-char-property (point) 'invisible)) - (let ((str (or (get-char-property (point) 'before-string) - (get-char-property (point) 'display)))) - (and (stringp str) - (>= (length str) 3) - (string= (substring str 0 3) "...")))) - ;; The ellipsis is a display property on a visible character - ;; following an invisible region. The position of the event - ;; will be the position before that character. We want to - ;; move point to the other side of the invisible region, i.e. - ;; following the last visible character before that invisible - ;; region. - (goto-char (previous-single-char-property-change (1- (point)) - 'invisible))) - ((and (< (point) (point-max)) - (get-char-property (point) 'display) - (get-char-property (1+ (point)) 'invisible)) - (goto-char (next-single-char-property-change (1+ (point)) - 'invisible))) - ((and (< (point) (point-max)) - (get-char-property (point) 'invisible)) - (goto-char (next-single-char-property-change (point) - 'invisible))))) - -(defun nxml-outline-adjust-point () - "Adjust point after showing or hiding elements." - (when (and (get-char-property (point) 'invisible) - (< (point-min) (point)) - (get-char-property (1- (point)) 'invisible)) - (goto-char (previous-single-char-property-change (point) - 'invisible - nil - nxml-prolog-end)))) - -(defun nxml-transform-outline-state (section-start-pos) - (let* ((old-state - (nxml-get-outline-state section-start-pos)) - (change (assq old-state - nxml-outline-state-transform-alist))) - (when change - (nxml-set-outline-state section-start-pos - (cdr change))))) - -(defun nxml-section-tag-transform-outline-state (startp - section-start-pos - &optional - heading-start-pos) - (if (not startp) - (setq nxml-depth-in-target-section - (and nxml-depth-in-target-section - (> nxml-depth-in-target-section 0) - (1- nxml-depth-in-target-section))) - (cond (nxml-depth-in-target-section - (setq nxml-depth-in-target-section - (1+ nxml-depth-in-target-section))) - ((= section-start-pos nxml-target-section-pos) - (setq nxml-depth-in-target-section 0))) - (when (and nxml-depth-in-target-section - (not (member section-start-pos - nxml-outline-state-transform-exceptions))) - (nxml-transform-outline-state section-start-pos)))) - -(defun nxml-get-outline-state (pos) - (get-text-property pos 'nxml-outline-state)) - -(defun nxml-set-outline-state (pos state) - (nxml-with-unmodifying-text-property-changes - (if state - (put-text-property pos (1+ pos) 'nxml-outline-state state) - (remove-text-properties pos (1+ pos) '(nxml-outline-state nil))))) - -;;; Mouse interface - -(defun nxml-mouse-show-direct-text-content (event) - "Do the same as \\[nxml-show-direct-text-content] from a mouse click." - (interactive "e") - (and (nxml-mouse-set-point event) - (nxml-show-direct-text-content))) - -(defun nxml-mouse-hide-direct-text-content (event) - "Do the same as \\[nxml-hide-direct-text-content] from a mouse click." - (interactive "e") - (and (nxml-mouse-set-point event) - (nxml-hide-direct-text-content))) - -(defun nxml-mouse-hide-subheadings (event) - "Do the same as \\[nxml-hide-subheadings] from a mouse click." - (interactive "e") - (and (nxml-mouse-set-point event) - (nxml-hide-subheadings))) - -(defun nxml-mouse-show-direct-subheadings (event) - "Do the same as \\[nxml-show-direct-subheadings] from a mouse click." - (interactive "e") - (and (nxml-mouse-set-point event) - (nxml-show-direct-subheadings))) - -(defun nxml-mouse-set-point (event) - (mouse-set-point event) - (and nxml-prolog-end t)) - -;; Display - -(defun nxml-refresh-outline () - "Refresh the outline to correspond to the current XML element structure." - (interactive) - (save-excursion - (goto-char (point-min)) - (kill-local-variable 'line-move-ignore-invisible) - (make-local-variable 'line-move-ignore-invisible) - (condition-case err - (nxml-outline-display-rest nil nil nil) - (nxml-outline-error - (nxml-report-outline-error "Cannot display outline: %s" err))))) - -(defvar nxml-outline-display-section-tag-function nil) - -(defun nxml-outline-display-rest (outline-state start-tag-indent tag-qnames) - "Display up to and including the end of the current element. -OUTLINE-STATE can be nil, t, hide-children. START-TAG-INDENT is the -indent of the start-tag of the current element, or nil if no -containing element has a non-nil OUTLINE-STATE. TAG-QNAMES is a list -of the qnames of the open elements. Point is after the title content. -Leave point after the closing end-tag Return t if we had a -non-transparent child section." - (let ((last-pos (point)) - (transparent-depth 0) - ;; don't want ellipsis before root element - (had-children (not tag-qnames))) - (while - (cond ((not (nxml-section-tag-forward)) - (if (null tag-qnames) - nil - (nxml-outline-error "missing end-tag %s" - (car tag-qnames)))) - ;; section end-tag - ((nxml-token-end-tag-p) - (when nxml-outline-display-section-tag-function - (funcall nxml-outline-display-section-tag-function - nil - xmltok-start)) - (let ((qname (xmltok-end-tag-qname))) - (unless tag-qnames - (nxml-outline-error "extra end-tag %s" qname)) - (unless (string= (car tag-qnames) qname) - (nxml-outline-error "mismatched end-tag; expected %s, got %s" - (car tag-qnames) - qname))) - (cond ((> transparent-depth 0) - (setq transparent-depth (1- transparent-depth)) - (setq tag-qnames (cdr tag-qnames)) - t) - ((not outline-state) - (nxml-outline-set-overlay nil last-pos (point)) - nil) - ((or (not had-children) - (eq outline-state 'hide-children)) - (nxml-outline-display-single-line-end-tag last-pos) - nil) - (t - (nxml-outline-display-multi-line-end-tag last-pos - start-tag-indent) - nil))) - ;; section start-tag - (t - (let* ((qname (xmltok-start-tag-qname)) - (section-start-pos xmltok-start) - (heading-start-pos - (and (or nxml-outline-display-section-tag-function - (not (eq outline-state 'had-children)) - (not had-children)) - (nxml-token-starts-line-p) - (nxml-heading-start-position)))) - (when nxml-outline-display-section-tag-function - (funcall nxml-outline-display-section-tag-function - t - section-start-pos - heading-start-pos)) - (setq tag-qnames (cons qname tag-qnames)) - (if (or (not heading-start-pos) - (and (eq outline-state 'hide-children) - (setq had-children t))) - (setq transparent-depth (1+ transparent-depth)) - (nxml-display-section last-pos - section-start-pos - heading-start-pos - start-tag-indent - outline-state - had-children - tag-qnames) - (setq had-children t) - (setq tag-qnames (cdr tag-qnames)) - (setq last-pos (point)))) - t))) - had-children)) - -(defconst nxml-highlighted-less-than - (propertize "<" 'face 'nxml-tag-delimiter-face)) - -(defconst nxml-highlighted-greater-than - (propertize ">" 'face 'nxml-tag-delimiter-face)) - -(defconst nxml-highlighted-colon - (propertize ":" 'face 'nxml-element-colon-face)) - -(defconst nxml-highlighted-slash - (propertize "/" 'face 'nxml-tag-slash-face)) - -(defconst nxml-highlighted-ellipsis - (propertize "..." 'face 'nxml-outline-ellipsis-face)) - -(defconst nxml-highlighted-empty-end-tag - (concat nxml-highlighted-ellipsis - nxml-highlighted-less-than - nxml-highlighted-slash - nxml-highlighted-greater-than)) - -(defconst nxml-highlighted-inactive-minus - (propertize "-" 'face 'nxml-outline-indicator-face)) - -(defconst nxml-highlighted-active-minus - (propertize "-" 'face 'nxml-outline-active-indicator-face)) - -(defconst nxml-highlighted-active-plus - (propertize "+" 'face 'nxml-outline-active-indicator-face)) - -(defun nxml-display-section (last-pos - section-start-pos - heading-start-pos - parent-indent - parent-outline-state - had-children - tag-qnames) - (let* ((section-start-pos-bol - (save-excursion - (goto-char section-start-pos) - (skip-chars-backward " \t") - (point))) - (outline-state (nxml-get-outline-state section-start-pos)) - (newline-before-section-start-category - (cond ((and (not had-children) parent-outline-state) - 'nxml-outline-display-ellipsis) - (outline-state 'nxml-outline-display-show) - (t nil)))) - (nxml-outline-set-overlay (and parent-outline-state - 'nxml-outline-display-hide) - last-pos - (1- section-start-pos-bol) - nil - t) - (if outline-state - (let* ((indent (if parent-indent - (+ parent-indent nxml-outline-child-indent) - (save-excursion - (goto-char section-start-pos) - (current-column)))) - start-tag-overlay) - (nxml-outline-set-overlay newline-before-section-start-category - (1- section-start-pos-bol) - section-start-pos-bol - t) - (nxml-outline-set-overlay 'nxml-outline-display-hide - section-start-pos-bol - section-start-pos) - (setq start-tag-overlay - (nxml-outline-set-overlay 'nxml-outline-display-show - section-start-pos - (1+ section-start-pos) - t)) - ;; line motion commands don't work right if start-tag-overlay - ;; covers multiple lines - (nxml-outline-set-overlay 'nxml-outline-display-hide - (1+ section-start-pos) - heading-start-pos) - (goto-char heading-start-pos) - (nxml-end-of-heading) - (nxml-outline-set-overlay 'nxml-outline-display-heading - heading-start-pos - (point)) - (let* ((had-children - (nxml-outline-display-rest outline-state - indent - tag-qnames))) - (overlay-put start-tag-overlay - 'display - (concat - ;; indent - (make-string indent ?\ ) - ;; < - nxml-highlighted-less-than - ;; + or - indicator - (cond ((not had-children) - nxml-highlighted-inactive-minus) - ((eq outline-state 'hide-children) - (overlay-put start-tag-overlay - 'category - 'nxml-outline-display-hiding-tag) - nxml-highlighted-active-plus) - (t - (overlay-put start-tag-overlay - 'category - 'nxml-outline-display-showing-tag) - nxml-highlighted-active-minus)) - ;; qname - (nxml-highlighted-qname (car tag-qnames)) - ;; > - nxml-highlighted-greater-than)))) - ;; outline-state nil - (goto-char heading-start-pos) - (nxml-end-of-heading) - (nxml-outline-set-overlay newline-before-section-start-category - (1- section-start-pos-bol) - (point) - t) - (nxml-outline-display-rest outline-state - (and parent-indent - (+ parent-indent - nxml-outline-child-indent)) - tag-qnames)))) - -(defun nxml-highlighted-qname (qname) - (let ((colon (string-match ":" qname))) - (if colon - (concat (propertize (substring qname 0 colon) - 'face - 'nxml-element-prefix-face) - nxml-highlighted-colon - (propertize (substring qname (1+ colon)) - 'face - 'nxml-element-local-name-face)) - (propertize qname - 'face - 'nxml-element-local-name-face)))) - -(defun nxml-outline-display-single-line-end-tag (last-pos) - (nxml-outline-set-overlay 'nxml-outline-display-hide - last-pos - xmltok-start - nil - t) - (overlay-put (nxml-outline-set-overlay 'nxml-outline-display-show - xmltok-start - (point) - t) - 'display - nxml-highlighted-empty-end-tag)) - -(defun nxml-outline-display-multi-line-end-tag (last-pos start-tag-indent) - (let ((indentp (save-excursion - (goto-char last-pos) - (skip-chars-forward " \t") - (and (eq (char-after) ?\n) - (progn - (goto-char (1+ (point))) - (nxml-outline-set-overlay nil last-pos (point)) - (setq last-pos (point)) - (goto-char xmltok-start) - (beginning-of-line) - t)))) - end-tag-overlay) - (nxml-outline-set-overlay 'nxml-outline-display-hide - last-pos - xmltok-start - nil - t) - (setq end-tag-overlay - (nxml-outline-set-overlay 'nxml-outline-display-showing-tag - xmltok-start - (point) - t)) - (overlay-put end-tag-overlay - 'display - (concat (if indentp - (make-string start-tag-indent ?\ ) - "") - nxml-highlighted-less-than - nxml-highlighted-slash - nxml-highlighted-active-minus - (nxml-highlighted-qname (xmltok-end-tag-qname)) - nxml-highlighted-greater-than)))) - -(defvar nxml-outline-show-map - (let ((map (make-sparse-keymap))) - (define-key map "\C-m" 'nxml-show-direct-text-content) - (define-key map [mouse-2] 'nxml-mouse-show-direct-text-content) - map)) - -(defvar nxml-outline-show-help "mouse-2: show") - -(put 'nxml-outline-display-show 'nxml-outline-display t) -(put 'nxml-outline-display-show 'evaporate t) -(put 'nxml-outline-display-show 'keymap nxml-outline-show-map) -(put 'nxml-outline-display-show 'help-echo nxml-outline-show-help) - -(put 'nxml-outline-display-hide 'nxml-outline-display t) -(put 'nxml-outline-display-hide 'evaporate t) -(put 'nxml-outline-display-hide 'invisible t) -(put 'nxml-outline-display-hide 'keymap nxml-outline-show-map) -(put 'nxml-outline-display-hide 'help-echo nxml-outline-show-help) - -(put 'nxml-outline-display-ellipsis 'nxml-outline-display t) -(put 'nxml-outline-display-ellipsis 'evaporate t) -(put 'nxml-outline-display-ellipsis 'keymap nxml-outline-show-map) -(put 'nxml-outline-display-ellipsis 'help-echo nxml-outline-show-help) -(put 'nxml-outline-display-ellipsis 'before-string nxml-highlighted-ellipsis) - -(put 'nxml-outline-display-heading 'keymap nxml-outline-show-map) -(put 'nxml-outline-display-heading 'help-echo nxml-outline-show-help) -(put 'nxml-outline-display-heading 'nxml-outline-display t) -(put 'nxml-outline-display-heading 'evaporate t) -(put 'nxml-outline-display-heading 'face 'nxml-heading-face) - -(defvar nxml-outline-hiding-tag-map - (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'nxml-mouse-show-direct-subheadings) - (define-key map [mouse-2] 'nxml-mouse-show-direct-text-content) - (define-key map "\C-m" 'nxml-show-direct-text-content) - map)) - -(defvar nxml-outline-hiding-tag-help - "mouse-1: show subheadings, mouse-2: show text content") - -(put 'nxml-outline-display-hiding-tag 'nxml-outline-display t) -(put 'nxml-outline-display-hiding-tag 'evaporate t) -(put 'nxml-outline-display-hiding-tag 'keymap nxml-outline-hiding-tag-map) -(put 'nxml-outline-display-hiding-tag 'help-echo nxml-outline-hiding-tag-help) - -(defvar nxml-outline-showing-tag-map - (let ((map (make-sparse-keymap))) - (define-key map [mouse-1] 'nxml-mouse-hide-subheadings) - (define-key map [mouse-2] 'nxml-mouse-show-direct-text-content) - (define-key map "\C-m" 'nxml-show-direct-text-content) - map)) - -(defvar nxml-outline-showing-tag-help - "mouse-1: hide subheadings, mouse-2: show text content") - -(put 'nxml-outline-display-showing-tag 'nxml-outline-display t) -(put 'nxml-outline-display-showing-tag 'evaporate t) -(put 'nxml-outline-display-showing-tag 'keymap nxml-outline-showing-tag-map) -(put 'nxml-outline-display-showing-tag - 'help-echo - nxml-outline-showing-tag-help) - -(defun nxml-outline-set-overlay (category - start - end - &optional - front-advance - rear-advance) - "Replace any nxml-outline-display overlays between START and END. -Overlays are removed if they overlay the region between START and END, -and have a non-nil nxml-outline-display property (typically via their -category). If CATEGORY is non-nil, they will be replaced with a new overlay -with that category from START to END. If CATEGORY is nil, no new -overlay will be created." - (when (< start end) - (let ((overlays (overlays-in start end)) - overlay) - (while overlays - (setq overlay (car overlays)) - (setq overlays (cdr overlays)) - (when (overlay-get overlay 'nxml-outline-display) - (delete-overlay overlay)))) - (and category - (let ((overlay (make-overlay start - end - nil - front-advance - rear-advance))) - (overlay-put overlay 'category category) - (setq line-move-ignore-invisible t) - overlay)))) - -(defun nxml-end-of-heading () - "Move from the start of the content of the heading to the end. -Do not move past the end of the line." - (let ((pos (condition-case err - (and (nxml-scan-element-forward (point) t) - xmltok-start) - nil))) - (end-of-line) - (skip-chars-backward " \t") - (cond ((not pos) - (setq pos (nxml-token-before)) - (when (eq xmltok-type 'end-tag) - (goto-char pos))) - ((< pos (point)) - (goto-char pos))) - (skip-chars-backward " \t") - (point))) - -;;; Navigating section structure - -(defsubst nxml-token-start-tag-p () - (or (eq xmltok-type 'start-tag) - (eq xmltok-type 'partial-start-tag))) - -(defsubst nxml-token-end-tag-p () - (or (eq xmltok-type 'end-tag) - (eq xmltok-type 'partial-end-tag))) - -(defun nxml-token-starts-line-p () - (save-excursion - (goto-char xmltok-start) - (skip-chars-backward " \t") - (bolp))) - -(defvar nxml-cached-section-tag-regexp nil) -(defvar nxml-cached-section-element-name-regexp nil) - -(defsubst nxml-make-section-tag-regexp () - (if (eq nxml-cached-section-element-name-regexp - nxml-section-element-name-regexp) - nxml-cached-section-tag-regexp - (nxml-make-section-tag-regexp-1))) - -(defun nxml-make-section-tag-regexp-1 () - (setq nxml-cached-section-element-name-regexp nil) - (setq nxml-cached-section-tag-regexp - (concat "?\\(" - "\\(" xmltok-ncname-regexp ":\\)?" - nxml-section-element-name-regexp - "\\)[ \t\r\n>]")) - (setq nxml-cached-section-element-name-regexp - nxml-section-element-name-regexp) - nxml-cached-section-tag-regexp) - -(defun nxml-section-tag-forward () - "Move forward past the first tag that is a section start- or end-tag. -Return xmltok-type for tag. -If no tag found, return nil and move to the end of the buffer." - (let ((case-fold-search nil) - (tag-regexp (nxml-make-section-tag-regexp)) - match-end) - (when (< (point) nxml-prolog-end) - (goto-char nxml-prolog-end)) - (while (cond ((not (re-search-forward tag-regexp nil 'move)) - (setq xmltok-type nil) - nil) - ((progn - (goto-char (match-beginning 0)) - (setq match-end (match-end 0)) - (nxml-ensure-scan-up-to-date) - (let ((end (nxml-inside-end (point)))) - (when end - (goto-char end) - t)))) - ((progn - (xmltok-forward) - (and (memq xmltok-type '(start-tag - partial-start-tag - end-tag - partial-end-tag)) - ;; just in case wildcard matched non-name chars - (= xmltok-name-end (1- match-end)))) - nil) - (t)))) - xmltok-type) - -(defun nxml-section-tag-backward () - "Move backward to the end of a tag that is a section start- or end-tag. -The position of the end of the tag must be <= point -Point is at the end of the tag. `xmltok-start' is the start." - (let ((case-fold-search nil) - (start (point)) - (tag-regexp (nxml-make-section-tag-regexp)) - match-end) - (if (< (point) nxml-prolog-end) - (progn - (goto-char (point-min)) - nil) - (while (cond ((not (re-search-backward tag-regexp - nxml-prolog-end - 'move)) - (setq xmltok-type nil) - (goto-char (point-min)) - nil) - ((progn - (goto-char (match-beginning 0)) - (setq match-end (match-end 0)) - (nxml-ensure-scan-up-to-date) - (let ((pos (nxml-inside-start (point)))) - (when pos - (goto-char (1- pos)) - t)))) - ((progn - (xmltok-forward) - (and (<= (point) start) - (memq xmltok-type '(start-tag - partial-start-tag - end-tag - partial-end-tag)) - ;; just in case wildcard matched non-name chars - (= xmltok-name-end (1- match-end)))) - nil) - (t (goto-char xmltok-start) - t))) - xmltok-type))) - -(defun nxml-section-start-position () - "Return the position of the start of the section containing point. -Signal an error on failure." - (condition-case err - (save-excursion (if (nxml-back-to-section-start) - (point) - (error "Not in section"))) - (nxml-outline-error - (nxml-report-outline-error "Couldn't determine containing section: %s" - err)))) - -(defun nxml-back-to-section-start (&optional invisible-ok) - "Try to move back to the start of the section containing point. -The start of the section must be <= point. -Only visible sections are included unless INVISIBLE-OK is non-nil. -If found, return t. Otherwise move to point-min and return nil. -If unbalanced section tags are found, signal an `nxml-outline-error'." - (when (or (nxml-after-section-start-tag) - (nxml-section-tag-backward)) - (let (open-tags found) - (while (let (section-start-pos) - (setq section-start-pos xmltok-start) - (if (nxml-token-end-tag-p) - (setq open-tags (cons (xmltok-end-tag-qname) - open-tags)) - (if (not open-tags) - (when (and (nxml-token-starts-line-p) - (or invisible-ok - (not (get-char-property section-start-pos - 'invisible))) - (nxml-heading-start-position)) - (setq found t)) - (let ((qname (xmltok-start-tag-qname))) - (unless (string= (car open-tags) qname) - (nxml-outline-error "mismatched end-tag")) - (setq open-tags (cdr open-tags))))) - (goto-char section-start-pos) - (and (not found) - (nxml-section-tag-backward)))) - found))) - -(defun nxml-after-section-start-tag () - "If the character after point is in a section start-tag, move after it. -Return the token type. Otherwise return nil. -Set up variables like `xmltok-forward'." - (let ((pos (nxml-token-after)) - (case-fold-search nil)) - (when (and (memq xmltok-type '(start-tag partial-start-tag)) - (save-excursion - (goto-char xmltok-start) - (looking-at (nxml-make-section-tag-regexp)))) - (goto-char pos) - xmltok-type))) - -(defun nxml-heading-start-position () - "Return the position of the start of the content of a heading element. -Adjust the position to be after initial leading whitespace. -Return nil if no heading element is found. Requires point to be -immediately after the section's start-tag." - (let ((depth 0) - (heading-regexp (concat "\\`\\(" - nxml-heading-element-name-regexp - "\\)\\'")) - - (section-regexp (concat "\\`\\(" - nxml-section-element-name-regexp - "\\)\\'")) - (start (point)) - found) - (save-excursion - (while (and (xmltok-forward) - (cond ((memq xmltok-type '(end-tag partial-end-tag)) - (and (not (string-match section-regexp - (xmltok-end-tag-local-name))) - (> depth 0) - (setq depth (1- depth)))) - ;; XXX Not sure whether this is a good idea - ;;((eq xmltok-type 'empty-element) - ;; nil) - ((not (memq xmltok-type - '(start-tag partial-start-tag))) - t) - ((string-match section-regexp - (xmltok-start-tag-local-name)) - nil) - ((string-match heading-regexp - (xmltok-start-tag-local-name)) - (skip-chars-forward " \t\r\n") - (setq found (point)) - nil) - (t - (setq depth (1+ depth)) - t)) - (<= (- (point) start) nxml-heading-scan-distance)))) - found)) - -;;; Error handling - -(defun nxml-report-outline-error (msg err) - (error msg (apply 'format (cdr err)))) - -(defun nxml-outline-error (&rest args) - (signal 'nxml-outline-error args)) - -(put 'nxml-outline-error - 'error-conditions - '(error nxml-error nxml-outline-error)) - -(put 'nxml-outline-error - 'error-message - "Cannot create outline of buffer that is not well-formed") - -;;; Debugging - -(defun nxml-debug-overlays () - (interactive) - (let ((overlays (nreverse (overlays-in (point-min) (point-max)))) - overlay) - (while overlays - (setq overlay (car overlays)) - (setq overlays (cdr overlays)) - (when (overlay-get overlay 'nxml-outline-display) - (message "overlay %s: %s...%s (%s)" - (overlay-get overlay 'category) - (overlay-start overlay) - (overlay-end overlay) - (overlay-get overlay 'display)))))) - -(provide 'nxml-outln) - -;;; nxml-outln.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-parse.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-parse.el deleted file mode 100644 index 0e93f10103..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-parse.el +++ /dev/null @@ -1,320 +0,0 @@ -;;; nxml-parse.el --- XML parser, sharing infrastructure with nxml-mode - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; Entry point is `nxml-parse-file'. - -;;; Code: - -(require 'nxml-util) -(require 'xmltok) -(require 'nxml-enc) -(require 'nxml-ns) - -(defvar nxml-parse-file-name nil) - -(defvar nxml-validate-function nil - "Nil or a function to be called by `nxml-parse-file' to perform validation. -The function will be called once for each start-tag or end-tag. The -function is passed two arguments TEXT and START-TAG. For a start-tag, -START-TAG is a list (NAME ATTRIBUTES) where NAME and ATTRIBUTES are in -the same form as returned by `nxml-parse-file. For an end-tag, -START-TAG is nil. TEXT is a string containing the text immediately -preceding the tag, or nil if there was no such text. An empty element -is treated as a start-tag followed by an end-tag. - -For a start-tag, the namespace state will be the state after -processing the namespace declarations in the start-tag. For an -end-tag, the namespace state will be the state before popping the -namespace declarations for the corresponding start-tag. - -The function must return nil if no error is detected or a -cons (MESSAGE . LOCATION) where MESSAGE is a string containing -an error message and LOCATION indicates what caused the error -as follows: - -- nil indicates the tag as whole caused it; this is always allowed; - -- text indicates the text caused it; this is allowed only if -TEXT is non-nil; - -- tag-close indicates the close of the tag caused it; this is -allowed only if START-TAG is non-nil; - -- (attribute-name . N) indicates that the name of the Nth attribute -caused it; N counts from 0; this is allowed only if START-TAG is non-nil -and N must be less than the number of attributes; - -- (attribute-value . N) indicates that the value of the Nth attribute -caused it; N counts from 0; this is allowed only if START-TAG is non-nil -and N must be less than the number of attributes.") - -(defun nxml-parse-file (file) - "Parse the XML document in FILE and return it as a list. -An XML element is represented as a list (NAME ATTRIBUTES . CHILDREN). -NAME is either a string, in the case where the name does not have a -namespace, or a cons (NAMESPACE . LOCAL-NAME), where NAMESPACE is a -symbol and LOCAL-NAME is a string, in the case where the name does -have a namespace. NAMESPACE is a keyword whose name is `:URI', where -URI is the namespace name. ATTRIBUTES is an alist of attributes where -each attribute has the form (NAME . VALUE), where NAME has the same -form as an element name, and VALUE is a string. A namespace -declaration is represented as an attribute whose name is -\(:http://www.w3.org/2000/xmlns/ . LOCAL-NAME). CHILDREN is a list -containing strings and child elements; CHILDREN never contains two -consecutive strings and never contains an empty string. Processing -instructions and comments are not represented. The return value is a -list representing the document element. - -If the XML document is not well-formed, an error having the condition -`nxml-file-parse-error' will be signaled; the error data will be a -list of the \(FILE POSITION MESSAGE), where POSITION is an integer -specifying the position where the error was detected, and MESSAGE is a -string describing the error. - -The current contents of FILE will be parsed even if there is a -modified buffer currently visiting FILE. - -If the variable `nxml-validation-function' is non-nil, it will be -called twice for each element, and any reported error will be signaled -in the same way as well-formedness error." - (save-excursion - (set-buffer (nxml-parse-find-file file)) - (unwind-protect - (let ((nxml-parse-file-name file)) - (nxml-parse-instance)) - (kill-buffer nil)))) - -(defun nxml-parse-find-file (file) - (save-excursion - (set-buffer (get-buffer-create " *nXML Parse*")) - (erase-buffer) - (let ((set-auto-coding-function 'nxml-set-xml-coding)) - (insert-file-contents file)) - (current-buffer))) - -(defun nxml-parse-instance () - (let (xmltok-dtd) - (xmltok-save - (xmltok-forward-prolog) - (nxml-check-xmltok-errors) - (nxml-ns-save - (nxml-parse-instance-1))))) - -(defun nxml-parse-instance-1 () - (let* ((top (cons nil nil)) - ;; tail is a cons cell, whose cdr is nil - ;; additional elements will destructively appended to tail - (tail top) - ;; stack of tails one for each open element - tail-stack - ;; list of QNames of open elements - open-element-tags - ;; list of strings buffering a text node, in reverse order - text - ;; position of beginning of first (in buffer) string in text - text-pos) - (while (xmltok-forward) - (nxml-check-xmltok-errors) - (cond ((memq xmltok-type '(start-tag end-tag empty-element)) - (when text - (setq text (apply 'concat (nreverse text))) - (setcdr tail (cons text nil)) - (setq tail (cdr tail))) - (when (not (eq xmltok-type 'end-tag)) - (when (and (not open-element-tags) - (not (eq tail top))) - (nxml-parse-error nil "Multiple top-level elements")) - (setq open-element-tags - (cons (xmltok-start-tag-qname) - open-element-tags)) - (nxml-ns-push-state) - (let ((tag (nxml-parse-start-tag))) - (nxml-validate-tag text text-pos tag) - (setq text nil) - (setcdr tail (cons tag nil)) - (setq tail (cdr tail)) - (setq tail-stack (cons tail tail-stack)) - (setq tail (last tag)))) - (when (not (eq xmltok-type 'start-tag)) - (or (eq xmltok-type 'empty-element) - (equal (car open-element-tags) - (xmltok-end-tag-qname)) - (if open-element-tags - (nxml-parse-error nil - "Unbalanced end-tag; expected %s>" - (car open-element-tags)) - (nxml-parse-error nil "Extra end-tag"))) - (nxml-validate-tag text text-pos nil) - (setq text nil) - (nxml-ns-pop-state) - (setq open-element-tags (cdr open-element-tags)) - (setq tail (car tail-stack)) - (setq tail-stack (cdr tail-stack))) - (setq text-pos nil)) - ((memq xmltok-type '(space data entity-ref char-ref cdata-section)) - (cond (open-element-tags - (unless text-pos - (setq text-pos xmltok-start)) - (setq text - (cons (nxml-current-text-string) text))) - ((not (eq xmltok-type 'space)) - (nxml-parse-error - nil - "%s at top-level" - (cdr (assq xmltok-type - '((data . "Text characters") - (entity-ref . "Entity reference") - (char-ref . "Character reference") - (cdata-section . "CDATA section")))))))))) - (unless (cdr top) - (nxml-parse-error (point-max) "Missing document element")) - (cadr top))) - -(defun nxml-parse-start-tag () - (let (parsed-attributes - parsed-namespace-attributes - atts att prefixes prefix ns value name) - (setq atts xmltok-namespace-attributes) - (while atts - (setq att (car atts)) - (setq value (or (xmltok-attribute-value att) - (nxml-parse-error nil "Invalid attribute value"))) - (setq ns (nxml-make-namespace value)) - (setq prefix (and (xmltok-attribute-prefix att) - (xmltok-attribute-local-name att))) - (cond ((member prefix prefixes) - (nxml-parse-error nil "Duplicate namespace declaration")) - ((not prefix) - (nxml-ns-set-default ns)) - (ns - (nxml-ns-set-prefix prefix ns)) - (t (nxml-parse-error nil "Cannot undeclare namespace prefix"))) - (setq prefixes (cons prefix prefixes)) - (setq parsed-namespace-attributes - (cons (cons (nxml-make-name nxml-xmlns-namespace-uri - (xmltok-attribute-local-name att)) - value) - parsed-namespace-attributes)) - (setq atts (cdr atts))) - (setq name - (nxml-make-name - (let ((prefix (xmltok-start-tag-prefix))) - (if prefix - (or (nxml-ns-get-prefix prefix) - (nxml-parse-error (1+ xmltok-start) - "Prefix `%s' undeclared" - prefix)) - (nxml-ns-get-default))) - (xmltok-start-tag-local-name))) - (setq atts xmltok-attributes) - (while atts - (setq att (car atts)) - (setq ns - (let ((prefix (xmltok-attribute-prefix att))) - (and prefix - (or (nxml-ns-get-prefix prefix) - (nxml-parse-error (xmltok-attribute-name-start att) - "Prefix `%s' undeclared" - prefix))))) - (setq parsed-attributes - (let ((nm (nxml-make-name ns - (xmltok-attribute-local-name att)))) - (when (assoc nm parsed-attributes) - (nxml-parse-error (xmltok-attribute-name-start att) - "Duplicate attribute")) - (cons (cons nm (or (xmltok-attribute-value att) - (nxml-parse-error nil "Invalid attribute value"))) - parsed-attributes))) - (setq atts (cdr atts))) - ;; We want to end up with the attributes followed by the - ;; the namespace attributes in the same order as - ;; xmltok-attributes and xmltok-namespace-attributes respectively. - (when parsed-namespace-attributes - (setq parsed-attributes - (nconc parsed-namespace-attributes parsed-attributes))) - (list name (nreverse parsed-attributes)))) - -(defun nxml-validate-tag (text text-pos tag) - (when nxml-validate-function - (let ((err (funcall nxml-validate-function text tag)) - pos) - (when err - (setq pos (nxml-validate-error-position (cdr err) - (and text text-pos) - tag)) - (or pos (error "Incorrect return value from %s" - nxml-validate-function)) - (nxml-parse-error pos (car err)))))) - -(defun nxml-validate-error-position (location text-pos tag) - (cond ((null location) xmltok-start) - ((eq location 'text) text-pos) - ((eq location 'tag-close) - (and tag (- (point) (if (eq xmltok-type 'empty-element ) 2 1)))) - ((consp location) - (let ((att (nth (cdr location) xmltok-attributes))) - (when (not att) - (setq att (nth (- (cdr location) (length xmltok-attributes)) - xmltok-namespace-attributes))) - (cond ((not att)) - ((eq (car location) 'attribute-name) - (xmltok-attribute-name-start att)) - ((eq (car location) 'attribute-value) - (xmltok-attribute-value-start att))))))) - -(defun nxml-make-name (ns local-name) - (if ns - (cons ns local-name) - local-name)) - -(defun nxml-current-text-string () - (cond ((memq xmltok-type '(space data)) - (buffer-substring-no-properties xmltok-start - (point))) - ((eq xmltok-type 'cdata-section) - (buffer-substring-no-properties (+ xmltok-start 9) - (- (point) 3))) - ((memq xmltok-type '(char-ref entity-ref)) - (unless xmltok-replacement - (nxml-parse-error nil - (if (eq xmltok-type 'char-ref) - "Reference to unsupported Unicode character" - "Unresolvable entity reference"))) - xmltok-replacement))) - -(defun nxml-parse-error (position &rest args) - (nxml-signal-file-parse-error nxml-parse-file-name - (or position xmltok-start) - (apply 'format args))) - -(defun nxml-check-xmltok-errors () - (when xmltok-errors - (let ((err (car (last xmltok-errors)))) - (nxml-signal-file-parse-error nxml-parse-file-name - (xmltok-error-start err) - (xmltok-error-message err))))) - -(provide 'nxml-parse) - -;;; nxml-parse.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-rap.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-rap.el deleted file mode 100644 index 8b0c55e573..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-rap.el +++ /dev/null @@ -1,467 +0,0 @@ -;;; nxml-rap.el --- low-level support for random access parsing for nXML mode - -;; Copyright (C) 2003, 2004 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; This uses xmltok.el to do XML parsing. The fundamental problem is -;; how to handle changes. We don't want to maintain a complete parse -;; tree. We also don't want to reparse from the start of the document -;; on every keystroke. However, it is not possible in general to -;; parse an XML document correctly starting at a random point in the -;; middle. The main problems are comments, CDATA sections and -;; processing instructions: these can all contain things that are -;; indistinguishable from elements. Literals in the prolog are also a -;; problem. Attribute value literals are not a problem because -;; attribute value literals cannot contain less-than signs. -;; -;; Our strategy is to keep track of just the problematic things. -;; Specifically, we keep track of all comments, CDATA sections and -;; processing instructions in the instance. We do this by marking all -;; except the first character of these with a non-nil nxml-inside text -;; property. The value of the nxml-inside property is comment, -;; cdata-section or processing-instruction. The first character does -;; not have the nxml-inside property so we can find the beginning of -;; the construct by looking for a change in a text property value -;; (Emacs provides primitives for this). We use text properties -;; rather than overlays, since the implementation of overlays doesn't -;; look like it scales to large numbers of overlays in a buffer. -;; -;; We don't in fact track all these constructs, but only track them in -;; some initial part of the instance. The variable `nxml-scan-end' -;; contains the limit of where we have scanned up to for them. -;; -;; Thus to parse some random point in the file we first ensure that we -;; have scanned up to that point. Then we search backwards for a -;; <. Then we check whether the < has an nxml-inside property. If it -;; does we go backwards to first character that does not have an -;; nxml-inside property (this character must be a <). Then we start -;; parsing forward from the < we have found. -;; -;; The prolog has to be parsed specially, so we also keep track of the -;; end of the prolog in `nxml-prolog-end'. The prolog is reparsed on -;; every change to the prolog. This won't work well if people try to -;; edit huge internal subsets. Hopefully that will be rare. -;; -;; We keep track of the changes by adding to the buffer's -;; after-change-functions hook. Scanning is also done as a -;; prerequisite to fontification by adding to fontification-functions -;; (in the same way as jit-lock). This means that scanning for these -;; constructs had better be quick. Fortunately it is. Firstly, the -;; typical proportion of comments, CDATA sections and processing -;; instructions is small relative to other things. Secondly, to scan -;; we just search for the regexp <[!?]. -;; -;; One problem is unclosed comments, processing instructions and CDATA -;; sections. Suppose, for example, we encounter a . This is not an unexpected situation if the user is -;; creating a comment. It is not helpful to treat the whole of the -;; file starting from the gets added to the buffer after the unclosed - ;; and suppose we deleted " end nxml-scan-end) - (set-marker nxml-scan-end end)) - end)) - -(defun nxml-scan-prolog () - (goto-char (point-min)) - (let (xmltok-dtd - xmltok-errors - xmltok-dependent-regions) - (setq nxml-prolog-regions (xmltok-forward-prolog)) - (setq nxml-prolog-end (point)) - (nxml-clear-inside (point-min) nxml-prolog-end) - (nxml-clear-dependent-regions (point-min) nxml-prolog-end) - (nxml-mark-parse-dependent-regions)) - (when (< nxml-scan-end nxml-prolog-end) - (set-marker nxml-scan-end nxml-prolog-end))) - - -;;; Dependent regions - -(defun nxml-adjust-start-for-dependent-regions (start end pre-change-length) - (let ((overlays (overlays-in (1- start) start)) - (adjusted-start start)) - (while overlays - (let* ((overlay (car overlays)) - (ostart (overlay-start overlay))) - (when (and (eq (overlay-get overlay 'category) 'nxml-dependent) - (< ostart adjusted-start)) - (let ((funargs (overlay-get overlay 'nxml-funargs))) - (when (apply (car funargs) - (append (list start - end - pre-change-length - ostart - (overlay-end overlay)) - (cdr funargs))) - (setq adjusted-start ostart))))) - (setq overlays (cdr overlays))) - adjusted-start)) - -(defun nxml-mark-parse-dependent-regions () - (while xmltok-dependent-regions - (apply 'nxml-mark-parse-dependent-region - (car xmltok-dependent-regions)) - (setq xmltok-dependent-regions - (cdr xmltok-dependent-regions)))) - -(defun nxml-mark-parse-dependent-region (fun start end &rest args) - (let ((overlay (make-overlay start end nil t t))) - (overlay-put overlay 'category 'nxml-dependent) - (overlay-put overlay 'nxml-funargs (cons fun args)))) - -(put 'nxml-dependent 'evaporate t) - -(defun nxml-clear-dependent-regions (start end) - (let ((overlays (overlays-in start end))) - (while overlays - (let* ((overlay (car overlays)) - (category (overlay-get overlay 'category))) - (when (and (eq category 'nxml-dependent) - (<= start (overlay-start overlay))) - (delete-overlay overlay))) - (setq overlays (cdr overlays))))) - -;;; Random access parsing - -(defun nxml-token-after () - "Return the position after the token containing the char after point. -Sets up the variables `xmltok-type', `xmltok-start', -`xmltok-name-end', `xmltok-name-colon', `xmltok-attributes', -`xmltok-namespace-attributes' in the same was as does -`xmltok-forward'. The prolog will be treated as a single token with -type `prolog'." - (let ((pos (point))) - (if (< pos nxml-prolog-end) - (progn - (setq xmltok-type 'prolog - xmltok-start (point-min)) - (min nxml-prolog-end (point-max))) - (nxml-ensure-scan-up-to-date) - (if (nxml-get-inside pos) - (save-excursion - (nxml-move-outside-backwards) - (xmltok-forward) - (point)) - (save-excursion - (if (or (eq (char-after) ?<) - (search-backward "<" - (max (point-min) nxml-prolog-end) - t)) - (nxml-move-outside-backwards) - (goto-char (if (<= (point-min) nxml-prolog-end) - nxml-prolog-end - (or (nxml-inside-end (point-min)) - (point-min))))) - (while (and (nxml-tokenize-forward) - (<= (point) pos))) - (point)))))) - -(defun nxml-token-before () - "Return the position after the token containing the char before point. -Sets variables like `nxml-token-after'." - (if (/= (point-min) (point)) - (save-excursion - (goto-char (1- (point))) - (nxml-token-after)) - (setq xmltok-start (point)) - (setq xmltok-type nil) - (point))) - -(defun nxml-tokenize-forward () - (let (xmltok-dependent-regions - xmltok-errors) - (when (and (xmltok-forward) - (> (point) nxml-scan-end)) - (cond ((memq xmltok-type '(comment - cdata-section - processing-instruction)) - (nxml-with-unmodifying-text-property-changes - (nxml-set-inside (1+ xmltok-start) (point) xmltok-type))) - (xmltok-dependent-regions - (nxml-mark-parse-dependent-regions))) - (set-marker nxml-scan-end (point))) - xmltok-type)) - -(defun nxml-move-outside-backwards () - "Move point to first character of the containing special thing. -Leave point unmoved if it is not inside anything special." - (let ((start (nxml-inside-start (point)))) - (when start - (goto-char (1- start)) - (when (nxml-get-inside (point)) - (error "Char before inside-start at %s had nxml-inside property %s" - (point) - (nxml-get-inside (point))))))) - -(defun nxml-ensure-scan-up-to-date () - (let ((pos (point))) - (when (< nxml-scan-end pos) - (save-excursion - (goto-char nxml-scan-end) - (let (xmltok-errors - xmltok-dependent-regions) - (while (when (xmltok-forward-special pos) - (when (memq xmltok-type - '(comment - processing-instruction - cdata-section)) - (nxml-with-unmodifying-text-property-changes - (nxml-set-inside (1+ xmltok-start) - (point) - xmltok-type))) - (if (< (point) pos) - t - (setq pos (point)) - nil))) - (nxml-clear-dependent-regions nxml-scan-end pos) - (nxml-mark-parse-dependent-regions) - (set-marker nxml-scan-end pos)))))) - -;;; Element scanning - -(defun nxml-scan-element-forward (from &optional up) - "Scan forward from FROM over a single balanced element. -Point must between tokens. Return the position of the end of the tag -that ends the element. `xmltok-start' will contain the position of the -start of the tag. If UP is non-nil, then scan past end-tag of element -containing point. If no element is found, return nil. If a -well-formedness error prevents scanning, signal an nxml-scan-error. -Point is not moved." - (let ((open-tags (and up t)) - found) - (save-excursion - (goto-char from) - (while (cond ((not (nxml-tokenize-forward)) - (when (consp open-tags) - (nxml-scan-error (cadr open-tags) - "Start-tag has no end-tag")) - nil) - ((eq xmltok-type 'start-tag) - (setq open-tags - (cons (xmltok-start-tag-qname) - (cons xmltok-start - open-tags))) - t) - ((eq xmltok-type 'end-tag) - (cond ((not open-tags) nil) - ((not (consp open-tags)) (setq found (point)) nil) - ((not (string= (car open-tags) - (xmltok-end-tag-qname))) - (nxml-scan-error (+ 2 xmltok-start) - "Mismatched end-tag; \ -expected `%s'" - (car open-tags))) - ((setq open-tags (cddr open-tags)) t) - (t (setq found (point)) nil))) - ((memq xmltok-type '(empty-element - partial-empty-element)) - (if open-tags - t - (setq found (point)) - nil)) - ((eq xmltok-type 'partial-end-tag) - (cond ((not open-tags) nil) - ((not (consp open-tags)) (setq found (point)) nil) - ((setq open-tags (cddr open-tags)) t) - (t (setq found (point)) nil))) - ((eq xmltok-type 'partial-start-tag) - (nxml-scan-error xmltok-start - "Missing `>'")) - (t t)))) - found)) - -(defun nxml-scan-element-backward (from &optional up bound) - "Scan backward from FROM over a single balanced element. -Point must between tokens. Return the position of the end of the tag -that starts the element. `xmltok-start' will contain the position of -the start of the tag. If UP is non-nil, then scan past start-tag of -element containing point. If BOUND is non-nil, then don't scan back -past BOUND. If no element is found, return nil. If a well-formedness -error prevents scanning, signal an nxml-scan-error. Point is not -moved." - (let ((open-tags (and up t)) - token-end found) - (save-excursion - (goto-char from) - (while (cond ((or (< (point) nxml-prolog-end) - (not (search-backward "<" - (max (or bound 0) - nxml-prolog-end) - t))) - (when (and (consp open-tags) (not bound)) - (nxml-scan-error (cadr open-tags) - "End-tag has no start-tag")) - nil) - ((progn - (nxml-move-outside-backwards) - (save-excursion - (nxml-tokenize-forward) - (setq token-end (point))) - (eq xmltok-type 'end-tag)) - (setq open-tags - (cons (xmltok-end-tag-qname) - (cons xmltok-start open-tags))) - t) - ((eq xmltok-type 'start-tag) - (cond ((not open-tags) nil) - ((not (consp open-tags)) - (setq found token-end) - nil) - ((and (car open-tags) - (not (string= (car open-tags) - (xmltok-start-tag-qname)))) - (nxml-scan-error (1+ xmltok-start) - "Mismatched start-tag; \ -expected `%s'" - (car open-tags))) - ((setq open-tags (cddr open-tags)) t) - (t (setq found token-end) nil))) - ((memq xmltok-type '(empty-element - partial-empty-element)) - (if open-tags - t - (setq found token-end) - nil)) - ((eq xmltok-type 'partial-end-tag) - (setq open-tags - (cons nil (cons xmltok-start open-tags))) - t) - ((eq xmltok-type 'partial-start-tag) - ;; if we have only a partial-start-tag - ;; then it's unlikely that there's a matching - ;; end-tag, so it's probably not helpful - ;; to treat it as a complete start-tag - (nxml-scan-error xmltok-start - "Missing `>'")) - (t t)))) - found)) - -(defun nxml-scan-error (&rest args) - (signal 'nxml-scan-error args)) - -(put 'nxml-scan-error - 'error-conditions - '(error nxml-error nxml-scan-error)) - -(put 'nxml-scan-error - 'error-message - "Scan over element that is not well-formed") - -(provide 'nxml-rap) - -;;; nxml-rap.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-uchnm.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-uchnm.el deleted file mode 100644 index fbb6074515..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-uchnm.el +++ /dev/null @@ -1,257 +0,0 @@ -;;; nxml-uchnm.el --- support for Unicode standard cha names in nxml-mode - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; This enables the use of the character names defined in the Unicode -;; 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: - -(require 'nxml-mode) - -(defconst nxml-unicode-blocks - '(("Basic Latin" #x0000 #x007F) - ("Latin-1 Supplement" #x0080 #x00FF) - ("Latin Extended-A" #x0100 #x017F) - ("Latin Extended-B" #x0180 #x024F) - ("IPA Extensions" #x0250 #x02AF) - ("Spacing Modifier Letters" #x02B0 #x02FF) - ("Combining Diacritical Marks" #x0300 #x036F) - ("Greek and Coptic" #x0370 #x03FF) - ("Cyrillic" #x0400 #x04FF) - ("Cyrillic Supplementary" #x0500 #x052F) - ("Armenian" #x0530 #x058F) - ("Hebrew" #x0590 #x05FF) - ("Arabic" #x0600 #x06FF) - ("Syriac" #x0700 #x074F) - ("Thaana" #x0780 #x07BF) - ("Devanagari" #x0900 #x097F) - ("Bengali" #x0980 #x09FF) - ("Gurmukhi" #x0A00 #x0A7F) - ("Gujarati" #x0A80 #x0AFF) - ("Oriya" #x0B00 #x0B7F) - ("Tamil" #x0B80 #x0BFF) - ("Telugu" #x0C00 #x0C7F) - ("Kannada" #x0C80 #x0CFF) - ("Malayalam" #x0D00 #x0D7F) - ("Sinhala" #x0D80 #x0DFF) - ("Thai" #x0E00 #x0E7F) - ("Lao" #x0E80 #x0EFF) - ("Tibetan" #x0F00 #x0FFF) - ("Myanmar" #x1000 #x109F) - ("Georgian" #x10A0 #x10FF) - ("Hangul Jamo" #x1100 #x11FF) - ("Ethiopic" #x1200 #x137F) - ("Cherokee" #x13A0 #x13FF) - ("Unified Canadian Aboriginal Syllabics" #x1400 #x167F) - ("Ogham" #x1680 #x169F) - ("Runic" #x16A0 #x16FF) - ("Tagalog" #x1700 #x171F) - ("Hanunoo" #x1720 #x173F) - ("Buhid" #x1740 #x175F) - ("Tagbanwa" #x1760 #x177F) - ("Khmer" #x1780 #x17FF) - ("Mongolian" #x1800 #x18AF) - ("Latin Extended Additional" #x1E00 #x1EFF) - ("Greek Extended" #x1F00 #x1FFF) - ("General Punctuation" #x2000 #x206F) - ("Superscripts and Subscripts" #x2070 #x209F) - ("Currency Symbols" #x20A0 #x20CF) - ("Combining Diacritical Marks for Symbols" #x20D0 #x20FF) - ("Letterlike Symbols" #x2100 #x214F) - ("Number Forms" #x2150 #x218F) - ("Arrows" #x2190 #x21FF) - ("Mathematical Operators" #x2200 #x22FF) - ("Miscellaneous Technical" #x2300 #x23FF) - ("Control Pictures" #x2400 #x243F) - ("Optical Character Recognition" #x2440 #x245F) - ("Enclosed Alphanumerics" #x2460 #x24FF) - ("Box Drawing" #x2500 #x257F) - ("Block Elements" #x2580 #x259F) - ("Geometric Shapes" #x25A0 #x25FF) - ("Miscellaneous Symbols" #x2600 #x26FF) - ("Dingbats" #x2700 #x27BF) - ("Miscellaneous Mathematical Symbols-A" #x27C0 #x27EF) - ("Supplemental Arrows-A" #x27F0 #x27FF) - ("Braille Patterns" #x2800 #x28FF) - ("Supplemental Arrows-B" #x2900 #x297F) - ("Miscellaneous Mathematical Symbols-B" #x2980 #x29FF) - ("Supplemental Mathematical Operators" #x2A00 #x2AFF) - ("CJK Radicals Supplement" #x2E80 #x2EFF) - ("Kangxi Radicals" #x2F00 #x2FDF) - ("Ideographic Description Characters" #x2FF0 #x2FFF) - ("CJK Symbols and Punctuation" #x3000 #x303F) - ("Hiragana" #x3040 #x309F) - ("Katakana" #x30A0 #x30FF) - ("Bopomofo" #x3100 #x312F) - ("Hangul Compatibility Jamo" #x3130 #x318F) - ("Kanbun" #x3190 #x319F) - ("Bopomofo Extended" #x31A0 #x31BF) - ("Katakana Phonetic Extensions" #x31F0 #x31FF) - ("Enclosed CJK Letters and Months" #x3200 #x32FF) - ("CJK Compatibility" #x3300 #x33FF) - ("CJK Unified Ideographs Extension A" #x3400 #x4DBF) - ;;("CJK Unified Ideographs" #x4E00 #x9FFF) - ("Yi Syllables" #xA000 #xA48F) - ("Yi Radicals" #xA490 #xA4CF) - ;;("Hangul Syllables" #xAC00 #xD7AF) - ;;("High Surrogates" #xD800 #xDB7F) - ;;("High Private Use Surrogates" #xDB80 #xDBFF) - ;;("Low Surrogates" #xDC00 #xDFFF) - ;;("Private Use Area" #xE000 #xF8FF) - ;;("CJK Compatibility Ideographs" #xF900 #xFAFF) - ("Alphabetic Presentation Forms" #xFB00 #xFB4F) - ("Arabic Presentation Forms-A" #xFB50 #xFDFF) - ("Variation Selectors" #xFE00 #xFE0F) - ("Combining Half Marks" #xFE20 #xFE2F) - ("CJK Compatibility Forms" #xFE30 #xFE4F) - ("Small Form Variants" #xFE50 #xFE6F) - ("Arabic Presentation Forms-B" #xFE70 #xFEFF) - ("Halfwidth and Fullwidth Forms" #xFF00 #xFFEF) - ("Specials" #xFFF0 #xFFFF) - ("Old Italic" #x10300 #x1032F) - ("Gothic" #x10330 #x1034F) - ("Deseret" #x10400 #x1044F) - ("Byzantine Musical Symbols" #x1D000 #x1D0FF) - ("Musical Symbols" #x1D100 #x1D1FF) - ("Mathematical Alphanumeric Symbols" #x1D400 #x1D7FF) - ;;("CJK Unified Ideographs Extension B" #x20000 #x2A6DF) - ;;("CJK Compatibility Ideographs Supplement" #x2F800 #x2FA1F) - ("Tags" #xE0000 #xE007F) - ;;("Supplementary Private Use Area-A" #xF0000 #xFFFFF) - ;;("Supplementary Private Use Area-B" #x100000 #x10FFFF) - ) - "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, -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. -The symbol is generated by downcasing and replacing each space -by a hyphen." - (intern (replace-regexp-in-string " " "-" (downcase name)))) - -;; This is intended to be a superset of the coverage -;; of existing standard entity sets. -(defvar nxml-enabled-unicode-blocks-default - '(basic-latin - latin-1-supplement - latin-extended-a - latin-extended-b - ipa-extensions - spacing-modifier-letters - combining-diacritical-marks - greek-and-coptic - cyrillic - general-punctuation - superscripts-and-subscripts - currency-symbols - combining-diacritical-marks-for-symbols - letterlike-symbols - number-forms - arrows - mathematical-operators - miscellaneous-technical - control-pictures - optical-character-recognition - enclosed-alphanumerics - box-drawing - block-elements - geometric-shapes - miscellaneous-symbols - dingbats - miscellaneous-mathematical-symbols-a - supplemental-arrows-a - supplemental-arrows-b - miscellaneous-mathematical-symbols-b - supplemental-mathematical-operators - cjk-symbols-and-punctuation - alphabetic-presentation-forms - variation-selectors - small-form-variants - specials - mathematical-alphanumeric-symbols) - "Default value for `nxml-enabled-unicode-blocks'.") - -(let ((dir (file-name-directory load-file-name))) - (mapcar (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)) - -(defvar nxml-enable-unicode-char-name-sets-flag nil) - -(defcustom nxml-enabled-unicode-blocks nxml-enabled-unicode-blocks-default - "List of Unicode blocks for which Unicode character names are enabled. -Each block is identified by a symbol derived from the name -of the block by downcasing and replacing each space by a hyphen." - :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))) - :type (cons 'set - (mapcar (lambda (block) - `(const :tag ,(format "%s (%04X-%04X)" - (nth 0 block) - (nth 1 block) - (nth 2 block)) - ,(nxml-unicode-block-char-name-set - (nth 0 block)))) - nxml-unicode-blocks))) - -;;;###autoload -(defun nxml-enable-unicode-char-name-sets () - "Enable the use of Unicode standard names for characters. -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 () - (mapcar (lambda (block) - (nxml-disable-char-name-set - (nxml-unicode-block-char-name-set (car block)))) - nxml-unicode-blocks) - (mapcar (lambda (nameset) - (nxml-enable-char-name-set nameset)) - nxml-enabled-unicode-blocks)) - -(provide 'nxml-uchnm) - -;;; nxml-uchnm.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-util.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-util.el deleted file mode 100644 index 070bdf8ea9..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/nxml-util.el +++ /dev/null @@ -1,100 +0,0 @@ -;;; nxml-util.el --- utility functions for nxml-*.el - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;;; Code: - -(defun nxml-make-namespace (str) - "Return a symbol for the namespace URI STR. -STR must be a string. If STR is the empty string, return nil. -Otherwise, return the symbol whose name is STR prefixed with a colon." - (if (string-equal str "") - nil - (intern (concat ":" str)))) - -(defun nxml-namespace-name (ns) - "Return the namespace URI corresponding to the symbol NS. -This is the inverse of `nxml-make-namespace'." - (and ns (substring (symbol-name ns) 1))) - -(defconst nxml-xml-namespace-uri - (nxml-make-namespace "http://www.w3.org/XML/1998/namespace")) - -(defconst nxml-xmlns-namespace-uri - (nxml-make-namespace "http://www.w3.org/2000/xmlns/")) - -(defmacro nxml-with-unmodifying-text-property-changes (&rest body) - "Evaluate BODY without any text property changes modifying the buffer. -Any text properties changes happen as usual but the changes are not treated as -modifications to the buffer." - (let ((modified (make-symbol "modified"))) - `(let ((,modified (buffer-modified-p)) - (inhibit-read-only t) - (inhibit-modification-hooks t) - (buffer-undo-list t) - (deactivate-mark nil) - ;; Apparently these avoid file locking problems. - (buffer-file-name nil) - (buffer-file-truename nil)) - (unwind-protect - (progn ,@body) - (unless ,modified - (restore-buffer-modified-p nil)))))) - -(put 'nxml-with-unmodifying-text-property-changes 'lisp-indent-function 0) -(def-edebug-spec nxml-with-unmodifying-text-property-changes t) - -(defmacro nxml-with-invisible-motion (&rest body) - "Evaluate body without calling any point motion hooks." - `(let ((inhibit-point-motion-hooks t)) - ,@body)) - -(put 'nxml-with-invisible-motion 'lisp-indent-function 0) -(def-edebug-spec nxml-with-invisible-motion t) - -(defun nxml-display-file-parse-error (err) - (let* ((filename (nth 1 err)) - (buffer (find-file-noselect filename)) - (pos (nth 2 err)) - (message (nth 3 err))) - (pop-to-buffer buffer) - ;; What's the right thing to do if the buffer's modified? - ;; The position in the saved file could be completely different. - (goto-char (if (buffer-modified-p) 1 pos)) - (error "%s" message))) - -(defun nxml-signal-file-parse-error (file pos message &optional error-symbol) - (signal (or error-symbol 'nxml-file-parse-error) - (list file pos message))) - -(put 'nxml-file-parse-error - 'error-conditions - '(error nxml-file-parse-error)) - -(put 'nxml-parse-file-error - 'error-message - "Error parsing file") - -(provide 'nxml-util) - -;;; nxml-util.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-auto.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-auto.el deleted file mode 100644 index 56a50333e5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-auto.el +++ /dev/null @@ -1,278 +0,0 @@ -;;; rng-auto.el --- automatically extracted autoloads for RELAX NG - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -(setq nxml-version "20041004") - -(unless (and (fboundp 'make-hash-table) - (boundp 'fontification-functions)) - (error "FSF GNU Emacs version 21 or later required")) - -(when (featurep 'mucs) - (error "nxml-mode is not compatible with Mule-UCS")) - -;; Add fix for Unicode-display bug in Emacs 21.1 on Windows (fixed in 21.2) -(when (and (fboundp 'w32-add-charset-info) - (boundp 'w32-charset-info-alist) - (not (assoc "iso10646-1" w32-charset-info-alist))) - (w32-add-charset-info "iso10646-1" 'w32-charset-ansi t)) - -(defun rng-add-info-dir (dir) - (cond ((and (boundp 'Info-directory-list) Info-directory-list) - (unless (member dir Info-directory-list) - (setq Info-directory-list - (append Info-directory-list (list dir))) - (when (boundp 'Info-dir-contents) - (setq Info-dir-contents nil)) - (when (and (boundp 'Info-current-file) - (equal Info-current-file "dir") - (fboundp 'Info-find-node-2) - (get-buffer "*info*")) - (save-excursion - (set-buffer (get-buffer "*info*")) - (Info-find-node-2 t "Top"))))) - (t - (unless (member dir Info-default-directory-list) - (setq Info-default-directory-list - (append Info-default-directory-list (list dir))))))) - -(let* ((dir (file-name-directory load-file-name)) - (schema-dir (concat dir "schema/"))) - (unless (member dir load-path) - (setq load-path (cons dir load-path))) - (setq rng-schema-locating-files-default - (list "schemas.xml" - (abbreviate-file-name - (expand-file-name "schemas.xml" schema-dir)))) - (setq rng-schema-locating-file-schema-file - (expand-file-name "locate.rnc" schema-dir)) - (rng-add-info-dir dir)) - -;; Users shouldn't edit this. -;; Instead they should customize `rng-preferred-prefix-alist'. - -(setq rng-preferred-prefix-alist-default - ;; For XHTML and RELAX NG, prefer no prefix - '(("http://www.w3.org/1999/XSL/Transform" . "xsl") - ("http://www.w3.org/1999/02/22-rdf-syntax-ns#" . "rdf"))) - -(add-hook 'nxml-mode-hook 'rng-nxml-mode-init) -(add-hook 'nxml-mode-hook 'nxml-enable-unicode-char-name-sets) - -(setq rng-schema-loader-alist '(("rnc" . rng-c-load-schema))) - -;; This is needed for compatibility with versions before 21.4. -;; We need mode-line-process to be risky because otherwise we can't -;; :eval in its value. -(put 'mode-line-process 'risky-local-variable t) - -(require 'nxml-enc) -;; Install our own `set-auto-coding-function'. -(nxml-start-auto-coding) - - -;;;### (autoloads (nxml-glyph-display-string) "nxml-glyph" "nxml-glyph.el" -;;;;;; (16278 18099)) -;;; Generated autoloads from nxml-glyph.el - -(autoload (quote nxml-glyph-display-string) "nxml-glyph" "\ -Return a string that can display a glyph for Unicode code-point N. -FACE gives the face that will be used for displaying the string. -Return nil if the face cannot display a glyph for N." nil nil) - -;;;*** - -;;;### (autoloads (nxml-mode) "nxml-mode" "nxml-mode.el" (16702 54517)) -;;; Generated autoloads from nxml-mode.el - -(autoload (quote nxml-mode) "nxml-mode" "\ -Major mode for editing XML. - -Syntax highlighting is performed unless the variable -`nxml-syntax-highlight-flag' is nil. - -\\[nxml-finish-element] finishes the current element by inserting an end-tag. -C-c C-i closes a start-tag with `>' and then inserts a balancing end-tag -leaving point between the start-tag and end-tag. -\\[nxml-balanced-close-start-tag-block] is similar but for block rather than inline elements: -the start-tag, point, and end-tag are all left on separate lines. -If `nxml-slash-auto-complete-flag' is non-nil, then inserting a `' -automatically inserts the rest of the end-tag. - -\\[nxml-complete] performs completion on the symbol preceding point. - -\\[nxml-dynamic-markup-word] uses the contents of the current buffer -to choose a tag to put around the word preceding point. - -Validation is provided by the related minor-mode `rng-validate-mode'. -This also makes completion schema- and context- sensitive. Element -names, attribute names, attribute values and namespace URIs can all be -completed. By default, `rng-validate-mode' is automatically enabled by -`rng-nxml-mode-init' which is normally added to `nxml-mode-hook'. You -can toggle it using \\[rng-validate-mode]. - -\\[indent-for-tab-command] indents the current line appropriately. -This can be customized using the variable `nxml-child-indent' -and the variable `nxml-attribute-indent'. - -\\[nxml-insert-named-char] inserts a character reference using -the character's name (by default, the Unicode name). \\[universal-argument] \\[nxml-insert-named-char] -inserts the character directly. - -The Emacs commands that normally operate on balanced expressions will -operate on XML markup items. Thus \\[forward-sexp] will move forward -across one markup item; \\[backward-sexp] will move backward across -one markup item; \\[kill-sexp] will kill the following markup item; -\\[mark-sexp] will mark the following markup item. By default, each -tag each treated as a single markup item; to make the complete element -be treated as a single markup item, set the variable -`nxml-sexp-element-flag' to t. For more details, see the function -`nxml-forward-balanced-item'. - -\\[nxml-backward-up-element] and \\[nxml-down-element] move up and -down the element structure. - -Many aspects this mode can be customized using -\\[customize-group] nxml RET." t nil) - -;;;*** - -;;;### (autoloads (nxml-enable-unicode-char-name-sets) "nxml-uchnm" -;;;;;; "nxml-uchnm.el" (16270 38352)) -;;; Generated autoloads from nxml-uchnm.el - -(autoload (quote nxml-enable-unicode-char-name-sets) "nxml-uchnm" "\ -Enable the use of Unicode standard names for characters. -The Unicode blocks for which names are enabled is controlled by -the variable `nxml-enabled-unicode-blocks'." t nil) - -;;;*** - -;;;### (autoloads (rng-c-load-schema) "rng-cmpct" "rng-cmpct.el" -;;;;;; (16280 36493)) -;;; Generated autoloads from rng-cmpct.el - -(autoload (quote rng-c-load-schema) "rng-cmpct" "\ -Load a schema in RELAX NG compact syntax from FILENAME. -Return a pattern." nil nil) - -;;;*** - -;;;### (autoloads (rng-write-version rng-format-manual rng-byte-compile-load -;;;;;; rng-update-autoloads) "rng-maint" "rng-maint.el" (16279 23645)) -;;; Generated autoloads from rng-maint.el - -(autoload (quote rng-update-autoloads) "rng-maint" "\ -Update the autoloads in rng-auto.el." t nil) - -(autoload (quote rng-byte-compile-load) "rng-maint" "\ -Byte-compile and load all of the RELAX NG library in an appropriate order." t nil) - -(autoload (quote rng-format-manual) "rng-maint" "\ -Create manual.texi from manual.xml." t nil) - -(autoload (quote rng-write-version) "rng-maint" nil nil nil) - -;;;*** - -;;;### (autoloads (rng-nxml-mode-init) "rng-nxml" "rng-nxml.el" (16294 -;;;;;; 8571)) -;;; Generated autoloads from rng-nxml.el - -(autoload (quote rng-nxml-mode-init) "rng-nxml" "\ -Initialize `nxml-mode' to take advantage of `rng-validate-mode'. -This is typically called from `nxml-mode-hook'. -Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil." t nil) - -;;;*** - -;;;### (autoloads (rng-validate-mode) "rng-valid" "rng-valid.el" -;;;;;; (16664 9855)) -;;; Generated autoloads from rng-valid.el - -(autoload (quote rng-validate-mode) "rng-valid" "\ -Minor mode performing continual validation against a RELAX NG schema. - -Checks whether the buffer is a well-formed XML 1.0 document, -conforming to the XML Namespaces Recommendation and valid against a -RELAX NG schema. The mode-line indicates whether it is or not. Any -parts of the buffer that cause it not to be are considered errors and -are highlighted with `rng-error-face'. A description of each error is -available as a tooltip. \\[rng-next-error] goes to the next error -after point. Clicking mouse-1 on the word `Invalid' in the mode-line -goes to the first error in the buffer. If the buffer changes, then it -will be automatically rechecked when Emacs becomes idle; the -rechecking will be paused whenever there is input pending.. - -By default, uses a vacuous schema that allows any well-formed XML -document. A schema can be specified explictly using -\\[rng-set-schema-file-and-validate], or implicitly based on the buffer's -file name or on the root element name. In each case the schema must -be a RELAX NG schema using the compact schema (such schemas -conventionally have a suffix of `.rnc'). The variable -`rng-schema-locating-files' specifies files containing rules -to use for finding the schema." t nil) - -;;;*** - -;;;### (autoloads (rng-xsd-compile) "rng-xsd" "rng-xsd.el" (16216 -;;;;;; 26672)) -;;; Generated autoloads from rng-xsd.el - -(put (quote http://www\.w3\.org/2001/XMLSchema-datatypes) (quote rng-dt-compile) (quote rng-xsd-compile)) - -(autoload (quote rng-xsd-compile) "rng-xsd" "\ -Provides W3C XML Schema as a RELAX NG datatypes library. NAME is a -symbol giving the local name of the datatype. PARAMS is a list of -pairs (PARAM-NAME . PARAM-VALUE) where PARAM-NAME is a symbol giving -the name of the parameter and PARAM-VALUE is a string giving its -value. If NAME or PARAMS are invalid, it calls rng-dt-error passing -it arguments in the same style as format; the value from rng-dt-error -will be returned. Otherwise, it returns a list. The first member of -the list is t if any string is a legal value for the datatype and nil -otherwise. The second argument is a symbol; this symbol will be -called as a function passing it a string followed by the remaining -members of the list. The function must return an object representing -the value of the datatype that was represented by the string, or nil -if the string is not a representation of any value. The object -returned can be any convenient non-nil value, provided that, if two -strings represent the same value, the returned objects must be equal." nil nil) - -;;;*** - -;;;### (autoloads (xmltok-get-declared-encoding-position) "xmltok" -;;;;;; "xmltok.el" (16664 8418)) -;;; Generated autoloads from xmltok.el - -(autoload (quote xmltok-get-declared-encoding-position) "xmltok" "\ -Return the position of the encoding in the XML declaration at point. -If there is a well-formed XML declaration starting at point and it -contains an encoding declaration, then return (START . END) -where START and END are the positions of the start and the end -of the encoding name; if there is no encoding declaration return -the position where and encoding declaration could be inserted. -If there is XML that is not well-formed that looks like an XML declaration, -return nil. Otherwise, return t. -If LIMIT is non-nil, then do not consider characters beyond LIMIT." nil nil) - -;;;*** - -;;; rng-auto.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-cmpct.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-cmpct.el deleted file mode 100644 index 29699b6012..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-cmpct.el +++ /dev/null @@ -1,937 +0,0 @@ -;;; rng-cmpct.el --- parsing of RELAX NG Compact Syntax schemas - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; This parses a RELAX NG Compact Syntax schema into the form -;; specified in rng-pttrn.el. -;; -;; RELAX NG Compact Syntax is specified by -;; http://relaxng.org/compact.html -;; -;; This file uses the prefix "rng-c-". - -;;; Code: - -(require 'nxml-util) -(require 'rng-util) -(require 'rng-uri) -(require 'rng-pttrn) - -;;;###autoload -(defun rng-c-load-schema (filename) - "Load a schema in RELAX NG compact syntax from FILENAME. -Return a pattern." - (rng-c-parse-file filename)) - -;;; Error handling - -(put 'rng-c-incorrect-schema - 'error-conditions - '(error rng-error nxml-file-parse-error rng-c-incorrect-schema)) - -(put 'rng-c-incorrect-schema - 'error-message - "Incorrect schema") - -(defun rng-c-signal-incorrect-schema (filename pos message) - (nxml-signal-file-parse-error filename - pos - message - 'rng-c-incorrect-schema)) - -;;; Lexing - -(defconst rng-c-keywords - '("attribute" - "default" - "datatypes" - "div" - "element" - "empty" - "external" - "grammar" - "include" - "inherit" - "list" - "mixed" - "namespace" - "notAllowed" - "parent" - "start" - "string" - "text" - "token") - "List of strings that are keywords in the compact syntax.") - -(defconst rng-c-anchored-keyword-re - (concat "\\`\\(" (regexp-opt rng-c-keywords) "\\)\\'") - "Regular expression to match a keyword in the compact syntax.") - -(defvar rng-c-syntax-table nil - "Syntax table for parsing the compact syntax.") - -(if rng-c-syntax-table - () - (setq rng-c-syntax-table (make-syntax-table)) - (modify-syntax-entry ?# "<" rng-c-syntax-table) - (modify-syntax-entry ?\n ">" rng-c-syntax-table) - (modify-syntax-entry ?- "w" rng-c-syntax-table) - (modify-syntax-entry ?. "w" rng-c-syntax-table) - (modify-syntax-entry ?_ "w" rng-c-syntax-table) - (modify-syntax-entry ?: "_" rng-c-syntax-table)) - -(defconst rng-c-literal-1-re - "'\\(''\\([^']\\|'[^']\\|''[^']\\)*''\\|[^'\n]*\\)'" - "Regular expression to match a single-quoted literal.") - -(defconst rng-c-literal-2-re - (replace-regexp-in-string "'" "\"" rng-c-literal-1-re) - "Regular expression to match a double-quoted literal.") - -(defconst rng-c-ncname-re "\\w+") - -(defconst rng-c-anchored-ncname-re - (concat "\\`" rng-c-ncname-re "\\'")) - -(defconst rng-c-token-re - (concat "[&|]=" "\\|" - "[][()|&,*+?{}~=-]" "\\|" - rng-c-literal-1-re "\\|" - rng-c-literal-2-re "\\|" - rng-c-ncname-re "\\(:\\(\\*\\|" rng-c-ncname-re "\\)\\)?" "\\|" - "\\\\" rng-c-ncname-re "\\|" - ">>") - "Regular expression to match a token in the compact syntax.") - -(defun rng-c-init-buffer () - (setq case-fold-search nil) ; automatically becomes buffer-local when set - (set-buffer-multibyte t) - (set-syntax-table rng-c-syntax-table)) - -(defvar rng-c-current-token nil) -(make-variable-buffer-local 'rng-c-current-token) - -(defun rng-c-advance () - (cond ((looking-at rng-c-token-re) - (setq rng-c-current-token (match-string 0)) - (goto-char (match-end 0)) - (forward-comment (point-max))) - ((= (point) (point-max)) - (setq rng-c-current-token "")) - (t (rng-c-error "Invalid token")))) - -(defconst rng-c-anchored-datatype-name-re - (concat "\\`" rng-c-ncname-re ":" rng-c-ncname-re "\\'")) - -(defsubst rng-c-current-token-keyword-p () - (string-match rng-c-anchored-keyword-re rng-c-current-token)) - -(defsubst rng-c-current-token-prefixed-name-p () - (string-match rng-c-anchored-datatype-name-re rng-c-current-token)) - -(defsubst rng-c-current-token-literal-p () - (string-match "\\`['\"]" rng-c-current-token)) - -(defsubst rng-c-current-token-quoted-identifier-p () - (string-match "\\`\\\\" rng-c-current-token)) - -(defsubst rng-c-current-token-ncname-p () - (string-match rng-c-anchored-ncname-re rng-c-current-token)) - -(defsubst rng-c-current-token-ns-name-p () - (let ((len (length rng-c-current-token))) - (and (> len 0) - (= (aref rng-c-current-token (- len 1)) ?*)))) - -;;; Namespaces - -(defvar rng-c-inherit-namespace nil) - -(defvar rng-c-default-namespace nil) - -(defvar rng-c-default-namespace-declared nil) - -(defvar rng-c-namespace-decls nil - "Alist of namespace declarations.") - -(defconst rng-c-no-namespace nil) - -(defun rng-c-declare-standard-namespaces () - (setq rng-c-namespace-decls - (cons (cons "xml" nxml-xml-namespace-uri) - rng-c-namespace-decls)) - (when (and (not rng-c-default-namespace-declared) - rng-c-inherit-namespace) - (setq rng-c-default-namespace rng-c-inherit-namespace))) - -(defun rng-c-expand-name (prefixed-name) - (let ((i (string-match ":" prefixed-name))) - (rng-make-name (rng-c-lookup-prefix (substring prefixed-name - 0 - i)) - (substring prefixed-name (+ i 1))))) - -(defun rng-c-lookup-prefix (prefix) - (let ((binding (assoc prefix rng-c-namespace-decls))) - (or binding (rng-c-error "Undefined prefix %s" prefix)) - (cdr binding))) - -(defun rng-c-unqualified-namespace (attribute) - (if attribute - rng-c-no-namespace - rng-c-default-namespace)) - -(defun rng-c-make-context () - (cons rng-c-default-namespace rng-c-namespace-decls)) - -;;; Datatypes - -(defconst rng-string-datatype - (rng-make-datatype rng-builtin-datatypes-uri "string")) - -(defconst rng-token-datatype - (rng-make-datatype rng-builtin-datatypes-uri "token")) - -(defvar rng-c-datatype-decls nil - "Alist of datatype declarations. -Contains a list of pairs (PREFIX . URI) where PREFIX is a string -and URI is a symbol.") - -(defun rng-c-declare-standard-datatypes () - (setq rng-c-datatype-decls - (cons (cons "xsd" rng-xsd-datatypes-uri) - rng-c-datatype-decls))) - -(defun rng-c-lookup-datatype-prefix (prefix) - (let ((binding (assoc prefix rng-c-datatype-decls))) - (or binding (rng-c-error "Undefined prefix %s" prefix)) - (cdr binding))) - -(defun rng-c-expand-datatype (prefixed-name) - (let ((i (string-match ":" prefixed-name))) - (rng-make-datatype - (rng-c-lookup-datatype-prefix (substring prefixed-name 0 i)) - (substring prefixed-name (+ i 1))))) - -;;; Grammars - -(defvar rng-c-current-grammar nil) -(defvar rng-c-parent-grammar nil) - -(defun rng-c-make-grammar () - (make-hash-table :test 'equal)) - -(defconst rng-c-about-override-slot 0) -(defconst rng-c-about-combine-slot 1) - -(defun rng-c-lookup-create (name grammar) - "Return a def object for NAME. A def object is a pair -\(ABOUT . REF) where REF is returned by `rng-make-ref'. ABOUT is a -two-element vector [OVERRIDE COMBINE]. COMBINE is either nil, choice -or interleave. OVERRIDE is either nil, require or t." - (let ((def (gethash name grammar))) - (if def - def - (progn - (setq def (cons (vector nil nil) (rng-make-ref name))) - (puthash name def grammar) - def)))) - -(defun rng-c-make-ref (name) - (or rng-c-current-grammar - (rng-c-error "Reference not in a grammar")) - (cdr (rng-c-lookup-create name rng-c-current-grammar))) - -(defun rng-c-make-parent-ref (name) - (or rng-c-parent-grammar - (rng-c-error "Reference to non-existent parent grammar")) - (cdr (rng-c-lookup-create name rng-c-parent-grammar))) - -(defvar rng-c-overrides nil - "Contains a list of (NAME . DEF) pairs.") - -(defun rng-c-merge-combine (def combine name) - (let* ((about (car def)) - (current-combine (aref about rng-c-about-combine-slot))) - (if combine - (if current-combine - (or (eq combine current-combine) - (rng-c-error "Inconsistent combine for %s" name)) - (aset about rng-c-about-combine-slot combine)) - current-combine))) - -(defun rng-c-prepare-define (name combine in-include) - (let* ((def (rng-c-lookup-create name rng-c-current-grammar)) - (about (car def)) - (overridden (aref about rng-c-about-override-slot))) - (and in-include - (setq rng-c-overrides (cons (cons name def) rng-c-overrides))) - (cond (overridden (and (eq overridden 'require) - (aset about rng-c-about-override-slot t)) - nil) - (t (setq combine (rng-c-merge-combine def combine name)) - (and (rng-ref-get (cdr def)) - (not combine) - (rng-c-error "Duplicate definition of %s" name)) - def)))) - -(defun rng-c-start-include (overrides) - (mapcar (lambda (name-def) - (let* ((def (cdr name-def)) - (about (car def)) - (save (aref about rng-c-about-override-slot))) - (aset about rng-c-about-override-slot 'require) - (cons save name-def))) - overrides)) - -(defun rng-c-end-include (overrides) - (mapcar (lambda (o) - (let* ((saved (car o)) - (name-def (cdr o)) - (name (car name-def)) - (def (cdr name-def)) - (about (car def))) - (and (eq (aref about rng-c-about-override-slot) 'require) - (rng-c-error "Definition of %s in include did not override definition in included file" name)) - (aset about rng-c-about-override-slot saved))) - overrides)) - -(defun rng-c-define (def value) - (and def - (let ((current-value (rng-ref-get (cdr def)))) - (rng-ref-set (cdr def) - (if current-value - (if (eq (aref (car def) rng-c-about-combine-slot) - 'choice) - (rng-make-choice (list current-value value)) - (rng-make-interleave (list current-value value))) - value))))) - -(defun rng-c-finish-grammar () - (maphash (lambda (key def) - (or (rng-ref-get (cdr def)) - (rng-c-error "Reference to undefined pattern %s" key))) - rng-c-current-grammar) - (rng-ref-get (cdr (or (gethash 'start rng-c-current-grammar) - (rng-c-error "No definition of start"))))) - -;;; Parsing - -(defvar rng-c-escape-positions nil) -(make-variable-buffer-local 'rng-c-escape-positions) - -(defvar rng-c-file-name nil) -(make-variable-buffer-local 'rng-c-file-name) - -(defvar rng-c-file-index nil) - -(defun rng-c-parse-file (filename &optional context) - (save-excursion - (set-buffer (get-buffer-create (rng-c-buffer-name context))) - (erase-buffer) - (rng-c-init-buffer) - (setq rng-c-file-name - (car (insert-file-contents filename))) - (setq rng-c-escape-positions nil) - (rng-c-process-escapes) - (rng-c-parse-top-level context))) - -(defun rng-c-buffer-name (context) - (concat " *RNC Input" - (if context - (concat "<" - (number-to-string (setq rng-c-file-index - (1+ rng-c-file-index))) - ">*") - (setq rng-c-file-index 1) - "*"))) - -(defun rng-c-process-escapes () - ;; Check for any nuls, since we will use nul chars - ;; for internal purposes. - (let ((pos (search-forward "\C-@" nil t))) - (and pos - (rng-c-error "Nul character found (binary file?)"))) - (let ((offset 0)) - (while (re-search-forward "\\\\x+{\\([0-9a-fA-F]+\\)}" - (point-max) - t) - (let* ((ch (decode-char 'ucs (string-to-number (match-string 1) 16)))) - (if (and ch (> ch 0)) - (let ((begin (match-beginning 0)) - (end (match-end 0))) - (delete-region begin end) - ;; Represent an escaped newline by nul, so - ;; that we can distinguish it from a literal newline. - ;; We will translate it back into a real newline later. - (insert (if (eq ch ?\n) 0 ch)) - (setq offset (+ offset (- end begin 1))) - (setq rng-c-escape-positions - (cons (cons (point) offset) - rng-c-escape-positions))) - (rng-c-error "Invalid character escape"))))) - (goto-char 1)) - -(defun rng-c-translate-position (pos) - (let ((tem rng-c-escape-positions)) - (while (and tem - (> (caar tem) pos)) - (setq tem (cdr tem))) - (if tem - (+ pos (cdar tem)) - pos))) - -(defun rng-c-error (&rest args) - (rng-c-signal-incorrect-schema rng-c-file-name - (rng-c-translate-position (point)) - (apply 'format args))) - -(defun rng-c-parse-top-level (context) - (let ((rng-c-namespace-decls nil) - (rng-c-default-namespace nil) - (rng-c-datatype-decls nil)) - (goto-char (point-min)) - (forward-comment (point-max)) - (rng-c-advance) - (rng-c-parse-decls) - (let ((p (if (eq context 'include) - (if (rng-c-implicit-grammar-p) - (rng-c-parse-grammar-body "") - (rng-c-parse-included-grammar)) - (if (rng-c-implicit-grammar-p) - (rng-c-parse-implicit-grammar) - (rng-c-parse-pattern))))) - (or (string-equal rng-c-current-token "") - (rng-c-error "Unexpected characters after pattern")) - p))) - -(defun rng-c-parse-included-grammar () - (or (string-equal rng-c-current-token "grammar") - (rng-c-error "Included schema is not a grammar")) - (rng-c-advance) - (rng-c-expect "{") - (rng-c-parse-grammar-body "}")) - -(defun rng-c-implicit-grammar-p () - (or (and (or (rng-c-current-token-prefixed-name-p) - (rng-c-current-token-quoted-identifier-p) - (and (rng-c-current-token-ncname-p) - (not (rng-c-current-token-keyword-p)))) - (looking-at "\\[")) - (and (string-equal rng-c-current-token "[") - (rng-c-parse-lead-annotation) - nil) - (member rng-c-current-token '("div" "include" "")) - (looking-at "[|&]?="))) - -(defun rng-c-parse-decls () - (setq rng-c-default-namespace-declared nil) - (while (progn - (let ((binding - (assoc rng-c-current-token - '(("namespace" . rng-c-parse-namespace) - ("datatypes" . rng-c-parse-datatypes) - ("default" . rng-c-parse-default))))) - (if binding - (progn - (rng-c-advance) - (funcall (cdr binding)) - t) - nil)))) - (rng-c-declare-standard-datatypes) - (rng-c-declare-standard-namespaces)) - -(defun rng-c-parse-datatypes () - (let ((prefix (rng-c-parse-identifier-or-keyword))) - (or (not (assoc prefix rng-c-datatype-decls)) - (rng-c-error "Duplicate datatypes declaration for prefix %s" prefix)) - (rng-c-expect "=") - (setq rng-c-datatype-decls - (cons (cons prefix - (rng-make-datatypes-uri (rng-c-parse-literal))) - rng-c-datatype-decls)))) - -(defun rng-c-parse-namespace () - (rng-c-declare-namespace nil - (rng-c-parse-identifier-or-keyword))) - -(defun rng-c-parse-default () - (rng-c-expect "namespace") - (rng-c-declare-namespace t - (if (string-equal rng-c-current-token "=") - nil - (rng-c-parse-identifier-or-keyword)))) - -(defun rng-c-declare-namespace (declare-default prefix) - (rng-c-expect "=") - (let ((ns (cond ((string-equal rng-c-current-token "inherit") - (rng-c-advance) - rng-c-inherit-namespace) - (t - (nxml-make-namespace (rng-c-parse-literal)))))) - (and prefix - (or (not (assoc prefix rng-c-namespace-decls)) - (rng-c-error "Duplicate namespace declaration for prefix %s" - prefix)) - (setq rng-c-namespace-decls - (cons (cons prefix ns) rng-c-namespace-decls))) - (and declare-default - (or (not rng-c-default-namespace-declared) - (rng-c-error "Duplicate default namespace declaration")) - (setq rng-c-default-namespace-declared t) - (setq rng-c-default-namespace ns)))) - -(defun rng-c-parse-implicit-grammar () - (let* ((rng-c-parent-grammar rng-c-current-grammar) - (rng-c-current-grammar (rng-c-make-grammar))) - (rng-c-parse-grammar-body "") - (rng-c-finish-grammar))) - -(defun rng-c-parse-grammar-body (close-token &optional in-include) - (while (not (string-equal rng-c-current-token close-token)) - (cond ((rng-c-current-token-keyword-p) - (let ((kw (intern rng-c-current-token))) - (cond ((eq kw 'start) - (rng-c-parse-define 'start in-include)) - ((eq kw 'div) - (rng-c-advance) - (rng-c-parse-div in-include)) - ((eq kw 'include) - (and in-include - (rng-c-error "Nested include")) - (rng-c-advance) - (rng-c-parse-include)) - (t (rng-c-error "Invalid grammar keyword"))))) - ((rng-c-current-token-ncname-p) - (if (looking-at "\\[") - (rng-c-parse-annotation-element) - (rng-c-parse-define rng-c-current-token - in-include))) - ((rng-c-current-token-quoted-identifier-p) - (if (looking-at "\\[") - (rng-c-parse-annotation-element) - (rng-c-parse-define (substring rng-c-current-token 1) - in-include))) - ((rng-c-current-token-prefixed-name-p) - (rng-c-parse-annotation-element)) - ((string-equal rng-c-current-token "[") - (rng-c-parse-lead-annotation) - (and (string-equal rng-c-current-token close-token) - (rng-c-error "Missing annotation subject")) - (and (looking-at "\\[") - (rng-c-error "Leading annotation applied to annotation"))) - (t (rng-c-error "Invalid grammar content")))) - (or (string-equal rng-c-current-token "") - (rng-c-advance))) - -(defun rng-c-parse-div (in-include) - (rng-c-expect "{") - (rng-c-parse-grammar-body "}" in-include)) - -(defun rng-c-parse-include () - (let* ((filename (rng-c-expand-file (rng-c-parse-literal))) - (rng-c-inherit-namespace (rng-c-parse-opt-inherit)) - overrides) - (cond ((string-equal rng-c-current-token "{") - (rng-c-advance) - (let ((rng-c-overrides nil)) - (rng-c-parse-grammar-body "}" t) - (setq overrides rng-c-overrides)) - (setq overrides (rng-c-start-include overrides)) - (rng-c-parse-file filename 'include) - (rng-c-end-include overrides)) - (t (rng-c-parse-file filename 'include))))) - -(defun rng-c-parse-define (name in-include) - (rng-c-advance) - (let ((assign (assoc rng-c-current-token - '(("=" . nil) - ("|=" . choice) - ("&=" . interleave))))) - (or assign - (rng-c-error "Expected assignment operator")) - (rng-c-advance) - (let ((ref (rng-c-prepare-define name (cdr assign) in-include))) - (rng-c-define ref (rng-c-parse-pattern))))) - -(defvar rng-c-had-except nil) - -(defun rng-c-parse-pattern () - (let* ((rng-c-had-except nil) - (p (rng-c-parse-repeated)) - (op (assoc rng-c-current-token - '(("|" . rng-make-choice) - ("," . rng-make-group) - ("&" . rng-make-interleave))))) - (if op - (if rng-c-had-except - (rng-c-error "Parentheses required around pattern using -") - (let* ((patterns (cons p nil)) - (tail patterns) - (connector rng-c-current-token)) - (while (progn - (rng-c-advance) - (let ((newcdr (cons (rng-c-parse-repeated) nil))) - (setcdr tail newcdr) - (setq tail newcdr)) - (string-equal rng-c-current-token connector))) - (funcall (cdr op) patterns))) - p))) - -(defun rng-c-parse-repeated () - (let ((p (rng-c-parse-follow-annotations - (rng-c-parse-primary))) - (op (assoc rng-c-current-token - '(("*" . rng-make-zero-or-more) - ("+" . rng-make-one-or-more) - ("?" . rng-make-optional))))) - (if op - (if rng-c-had-except - (rng-c-error "Parentheses required around pattern using -") - (rng-c-parse-follow-annotations - (progn - (rng-c-advance) - (funcall (cdr op) p)))) - p))) - -(defun rng-c-parse-primary () - "Parse a primary expression. The current token must be the first -token of the expression. After parsing the current token should be -token following the primary expression." - (cond ((rng-c-current-token-keyword-p) - (let ((parse-function (get (intern rng-c-current-token) - 'rng-c-pattern))) - (or parse-function - (rng-c-error "Keyword %s does not introduce a pattern" - rng-c-current-token)) - (rng-c-advance) - (funcall parse-function))) - ((rng-c-current-token-ncname-p) - (rng-c-advance-with (rng-c-make-ref rng-c-current-token))) - ((string-equal rng-c-current-token "(") - (rng-c-advance) - (let ((p (rng-c-parse-pattern))) - (rng-c-expect ")") - p)) - ((rng-c-current-token-prefixed-name-p) - (let ((name (rng-c-expand-datatype rng-c-current-token))) - (rng-c-advance) - (rng-c-parse-data name))) - ((rng-c-current-token-literal-p) - (rng-make-value rng-token-datatype (rng-c-parse-literal) nil)) - ((rng-c-current-token-quoted-identifier-p) - (rng-c-advance-with - (rng-c-make-ref (substring rng-c-current-token 1)))) - ((string-equal rng-c-current-token "[") - (rng-c-parse-lead-annotation) - (rng-c-parse-primary)) - (t (rng-c-error "Invalid pattern")))) - -(defun rng-c-parse-parent () - (and (rng-c-current-token-keyword-p) - (rng-c-error "Keyword following parent was not quoted" - rng-c-current-token)) - (rng-c-make-parent-ref (rng-c-parse-identifier-or-keyword))) - -(defun rng-c-parse-literal () - (rng-c-fix-escaped-newlines - (apply 'concat (rng-c-parse-literal-segments)))) - -(defun rng-c-parse-literal-segments () - (let ((str (rng-c-parse-literal-segment))) - (cons str - (cond ((string-equal rng-c-current-token "~") - (rng-c-advance) - (rng-c-parse-literal-segments)) - (t nil))))) - -(defun rng-c-parse-literal-segment () - (or (rng-c-current-token-literal-p) - (rng-c-error "Expected a literal")) - (rng-c-advance-with - (let ((n (if (and (>= (length rng-c-current-token) 6) - (eq (aref rng-c-current-token 0) - (aref rng-c-current-token 1))) - 3 - 1))) - (substring rng-c-current-token n (- n))))) - -(defun rng-c-fix-escaped-newlines (str) - (let ((pos 0)) - (while (progn - (let ((n (string-match "\C-@" str pos))) - (and n - (aset str n ?\n) - (setq pos (1+ n))))))) - str) - -(defun rng-c-parse-identifier-or-keyword () - (cond ((rng-c-current-token-ncname-p) - (rng-c-advance-with rng-c-current-token)) - ((rng-c-current-token-quoted-identifier-p) - (rng-c-advance-with (substring rng-c-current-token 1))) - (t (rng-c-error "Expected identifier or keyword")))) - -(put 'string 'rng-c-pattern 'rng-c-parse-string) -(put 'token 'rng-c-pattern 'rng-c-parse-token) -(put 'element 'rng-c-pattern 'rng-c-parse-element) -(put 'attribute 'rng-c-pattern 'rng-c-parse-attribute) -(put 'list 'rng-c-pattern 'rng-c-parse-list) -(put 'mixed 'rng-c-pattern 'rng-c-parse-mixed) -(put 'text 'rng-c-pattern 'rng-c-parse-text) -(put 'empty 'rng-c-pattern 'rng-c-parse-empty) -(put 'notAllowed 'rng-c-pattern 'rng-c-parse-not-allowed) -(put 'grammar 'rng-c-pattern 'rng-c-parse-grammar) -(put 'parent 'rng-c-pattern 'rng-c-parse-parent) -(put 'external 'rng-c-pattern 'rng-c-parse-external) - -(defun rng-c-parse-element () - (let ((name-class (rng-c-parse-name-class nil))) - (rng-c-expect "{") - (let ((pattern (rng-c-parse-pattern))) - (rng-c-expect "}") - (rng-make-element name-class pattern)))) - -(defun rng-c-parse-attribute () - (let ((name-class (rng-c-parse-name-class 'attribute))) - (rng-c-expect "{") - (let ((pattern (rng-c-parse-pattern))) - (rng-c-expect "}") - (rng-make-attribute name-class pattern)))) - -(defun rng-c-parse-name-class (attribute) - (let* ((rng-c-had-except nil) - (name-class - (rng-c-parse-follow-annotations - (rng-c-parse-primary-name-class attribute)))) - (if (string-equal rng-c-current-token "|") - (let* ((name-classes (cons name-class nil)) - (tail name-classes)) - (or (not rng-c-had-except) - (rng-c-error "Parentheses required around name-class using - operator")) - (while (progn - (rng-c-advance) - (let ((newcdr - (cons (rng-c-parse-follow-annotations - (rng-c-parse-primary-name-class attribute)) - nil))) - (setcdr tail newcdr) - (setq tail newcdr)) - (string-equal rng-c-current-token "|"))) - (rng-make-choice-name-class name-classes)) - name-class))) - -(defun rng-c-parse-primary-name-class (attribute) - (cond ((rng-c-current-token-ncname-p) - (rng-c-advance-with - (rng-make-name-name-class - (rng-make-name (rng-c-unqualified-namespace attribute) - rng-c-current-token)))) - ((rng-c-current-token-prefixed-name-p) - (rng-c-advance-with - (rng-make-name-name-class - (rng-c-expand-name rng-c-current-token)))) - ((string-equal rng-c-current-token "*") - (let ((except (rng-c-parse-opt-except-name-class attribute))) - (if except - (rng-make-any-name-except-name-class except) - (rng-make-any-name-name-class)))) - ((rng-c-current-token-ns-name-p) - (let* ((ns - (rng-c-lookup-prefix (substring rng-c-current-token - 0 - -2))) - (except (rng-c-parse-opt-except-name-class attribute))) - (if except - (rng-make-ns-name-except-name-class ns except) - (rng-make-ns-name-name-class ns)))) - ((string-equal rng-c-current-token "(") - (rng-c-advance) - (let ((name-class (rng-c-parse-name-class attribute))) - (rng-c-expect ")") - name-class)) - ((rng-c-current-token-quoted-identifier-p) - (rng-c-advance-with - (rng-make-name-name-class - (rng-make-name (rng-c-unqualified-namespace attribute) - (substring rng-c-current-token 1))))) - ((string-equal rng-c-current-token "[") - (rng-c-parse-lead-annotation) - (rng-c-parse-primary-name-class attribute)) - (t (rng-c-error "Bad name class")))) - -(defun rng-c-parse-opt-except-name-class (attribute) - (rng-c-advance) - (and (string-equal rng-c-current-token "-") - (or (not rng-c-had-except) - (rng-c-error "Parentheses required around name-class using - operator")) - (setq rng-c-had-except t) - (progn - (rng-c-advance) - (rng-c-parse-primary-name-class attribute)))) - -(defun rng-c-parse-mixed () - (rng-c-expect "{") - (let ((pattern (rng-make-mixed (rng-c-parse-pattern)))) - (rng-c-expect "}") - pattern)) - -(defun rng-c-parse-list () - (rng-c-expect "{") - (let ((pattern (rng-make-list (rng-c-parse-pattern)))) - (rng-c-expect "}") - pattern)) - -(defun rng-c-parse-text () - (rng-make-text)) - -(defun rng-c-parse-empty () - (rng-make-empty)) - -(defun rng-c-parse-not-allowed () - (rng-make-not-allowed)) - -(defun rng-c-parse-string () - (rng-c-parse-data rng-string-datatype)) - -(defun rng-c-parse-token () - (rng-c-parse-data rng-token-datatype)) - -(defun rng-c-parse-data (name) - (if (rng-c-current-token-literal-p) - (rng-make-value name - (rng-c-parse-literal) - (and (car name) - (rng-c-make-context))) - (let ((params (rng-c-parse-optional-params))) - (if (string-equal rng-c-current-token "-") - (progn - (if rng-c-had-except - (rng-c-error "Parentheses required around pattern using -") - (setq rng-c-had-except t)) - (rng-c-advance) - (rng-make-data-except name - params - (rng-c-parse-primary))) - (rng-make-data name params))))) - -(defun rng-c-parse-optional-params () - (and (string-equal rng-c-current-token "{") - (let* ((head (cons nil nil)) - (tail head)) - (rng-c-advance) - (while (not (string-equal rng-c-current-token "}")) - (and (string-equal rng-c-current-token "[") - (rng-c-parse-lead-annotation)) - (let ((name (rng-c-parse-identifier-or-keyword))) - (rng-c-expect "=") - (let ((newcdr (cons (cons (intern name) - (rng-c-parse-literal)) - nil))) - (setcdr tail newcdr) - (setq tail newcdr)))) - (rng-c-advance) - (cdr head)))) - -(defun rng-c-parse-external () - (let* ((filename (rng-c-expand-file (rng-c-parse-literal))) - (rng-c-inherit-namespace (rng-c-parse-opt-inherit))) - (rng-c-parse-file filename 'external))) - -(defun rng-c-expand-file (uri) - (condition-case err - (rng-uri-file-name (rng-uri-resolve uri - (rng-file-name-uri rng-c-file-name))) - (rng-uri-error - (rng-c-error (cadr err))))) - -(defun rng-c-parse-opt-inherit () - (cond ((string-equal rng-c-current-token "inherit") - (rng-c-advance) - (rng-c-expect "=") - (rng-c-lookup-prefix (rng-c-parse-identifier-or-keyword))) - (t rng-c-default-namespace))) - -(defun rng-c-parse-grammar () - (rng-c-expect "{") - (let* ((rng-c-parent-grammar rng-c-current-grammar) - (rng-c-current-grammar (rng-c-make-grammar))) - (rng-c-parse-grammar-body "}") - (rng-c-finish-grammar))) - -(defun rng-c-parse-lead-annotation () - (rng-c-parse-annotation-body) - (and (string-equal rng-c-current-token "[") - (rng-c-error "Multiple leading annotations"))) - -(defun rng-c-parse-follow-annotations (obj) - (while (string-equal rng-c-current-token ">>") - (rng-c-advance) - (if (rng-c-current-token-prefixed-name-p) - (rng-c-advance) - (rng-c-parse-identifier-or-keyword)) - (rng-c-parse-annotation-body t)) - obj) - -(defun rng-c-parse-annotation-element () - (rng-c-advance) - (rng-c-parse-annotation-body t)) - -;; XXX need stricter checking of attribute names -;; XXX don't allow attributes after text - -(defun rng-c-parse-annotation-body (&optional allow-text) - "Current token is [. Parse up to matching ]. Current token after -parse is token following ]." - (or (string-equal rng-c-current-token "[") - (rng-c-error "Expected [")) - (rng-c-advance) - (while (not (string-equal rng-c-current-token "]")) - (cond ((rng-c-current-token-literal-p) - (or allow-text - (rng-c-error "Out of place text within annotation")) - (rng-c-parse-literal)) - (t - (if (rng-c-current-token-prefixed-name-p) - (rng-c-advance) - (rng-c-parse-identifier-or-keyword)) - (cond ((string-equal rng-c-current-token "[") - (rng-c-parse-annotation-body t)) - ((string-equal rng-c-current-token "=") - (rng-c-advance) - (rng-c-parse-literal)) - (t (rng-c-error "Expected = or [")))))) - (rng-c-advance)) - -(defun rng-c-advance-with (pattern) - (rng-c-advance) - pattern) - -(defun rng-c-expect (str) - (or (string-equal rng-c-current-token str) - (rng-c-error "Expected `%s' but got `%s'" str rng-c-current-token)) - (rng-c-advance)) - -(provide 'rng-cmpct) - -;;; rng-cmpct.el diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-dt.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-dt.el deleted file mode 100644 index ba0689130c..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-dt.el +++ /dev/null @@ -1,64 +0,0 @@ -;;; rng-dt.el --- datatype library interface for RELAX NG - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;;; Code: - -(require 'rng-util) - -(defvar rng-dt-error-reporter nil) - -(defun rng-dt-error (string &rest objs) - (if rng-dt-error-reporter - (apply rng-dt-error-reporter (cons string objs)) - nil)) - -(defvar rng-dt-namespace-context-getter nil - "A list used by datatype libraries to expand names. The car of the -list is a symbol which is the name of a function. This function is -applied to the cdr of the list. The function must return a list whose -car is the default namespace and whose cdr is an alist of (PREFIX -. NAMESPACE) pairs, where PREFIX is a string and NAMESPACE is a -symbol. This must be dynamically bound before calling a datatype -library.") - -(defsubst rng-dt-make-value (dt str) - (apply (car dt) (cons str (cdr dt)))) - -(defun rng-dt-builtin-compile (name params) - (cond ((eq name 'string) - (if (null params) - '(t identity) - (rng-dt-error "The string datatype does not take any parameters"))) - ((eq name 'token) - (if (null params) - '(t rng-collapse-space) - (rng-dt-error "The token datatype does not take any parameters"))) - (t - (rng-dt-error "There is no built-in datatype %s" name)))) - -(put (rng-make-datatypes-uri "") 'rng-dt-compile 'rng-dt-builtin-compile) - -(provide 'rng-dt) - -;;; rng-dt.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-loc.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-loc.el deleted file mode 100644 index b81bfe009f..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-loc.el +++ /dev/null @@ -1,548 +0,0 @@ -;;; rng-loc.el --- locate the schema to use for validation - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;;; Code: - -(require 'nxml-util) -(require 'nxml-parse) -(require 'rng-parse) -(require 'rng-uri) -(require 'rng-util) -(require 'xmltok) - -(defvar rng-current-schema-file-name nil - "Filename of schema being used for current buffer. -Nil if using a vacuous schema.") -(make-variable-buffer-local 'rng-current-schema-file-name) - -(defvar rng-schema-locating-files-default nil - "Default value for variable `rng-schema-locating-files'.") - -(defvar rng-schema-locating-file-schema-file nil - "File containing schema for schema locating files.") - -(defvar rng-schema-locating-file-schema nil - "Schema for schema locating files or nil if not yet loaded.") - -(defcustom rng-schema-locating-files rng-schema-locating-files-default - "*List of schema locating files." - :type '(repeat file) - :group 'relax-ng) - -(defvar rng-schema-loader-alist nil - "Alist of schema extensions vs schema loader functions.") - -(defvar rng-cached-document-element nil) - -(defvar rng-document-type-history nil) - -(defun rng-set-document-type (type-id) - (interactive (list (rng-read-type-id))) - (condition-case err - (when (not (string= type-id "")) - (let ((schema-file (rng-locate-schema-file type-id))) - (unless schema-file - (error "Could not locate schema for type id `%s'" type-id)) - (rng-set-schema-file-1 schema-file)) - (rng-save-schema-location-1 t type-id) - (rng-what-schema)) - (nxml-file-parse-error - (nxml-display-file-parse-error err)))) - -(defun rng-read-type-id () - (condition-case err - (let ((type-ids (rng-possible-type-ids)) - (completion-ignore-case nil)) - (completing-read "Document type id: " - (mapcar (lambda (x) (cons x nil)) - type-ids) - nil - t - nil - 'rng-document-type-history)) - (nxml-file-parse-error - (nxml-display-file-parse-error err)))) - -(defun rng-set-schema-file (filename) - "Set the schema for the current buffer to the schema in FILENAME. -FILENAME must be the name of a file containing a schema. -The extension of FILENAME is used to determine what kind of schema it -is. The variable `rng-schema-loader-alist' maps from schema -extensions to schema loader functions. The function -`rng-c-load-schema' is the loader for RELAX NG compact syntax. The -association is between the buffer and the schema: the association is -lost when the buffer is killed." - (interactive "fSchema file: ") - (condition-case err - (progn - (rng-set-schema-file-1 filename) - (rng-save-schema-location-1 t)) - (nxml-file-parse-error - (nxml-display-file-parse-error err)))) - -(defun rng-set-vacuous-schema () - "Set the schema for the current buffer to allow any well-formed XML." - (interactive) - (rng-set-schema-file-1 nil) - (rng-what-schema)) - -(defun rng-set-schema-file-1 (filename) - (setq filename (and filename (expand-file-name filename))) - (setq rng-current-schema - (if filename - (rng-load-schema filename) - rng-any-element)) - (setq rng-current-schema-file-name filename) - (run-hooks 'rng-schema-change-hook)) - -(defun rng-load-schema (filename) - (let* ((extension (file-name-extension filename)) - (loader (cdr (assoc extension rng-schema-loader-alist)))) - (or loader - (if extension - (error "No schema loader available for file extension `%s'" - extension) - (error "No schema loader available for null file extension"))) - (funcall loader filename))) - -(defun rng-what-schema () - "Display a message saying what schema `rng-validate-mode' is using." - (interactive) - (if rng-current-schema-file-name - (message "Using schema %s" - (abbreviate-file-name rng-current-schema-file-name)) - (message "Using vacuous schema"))) - -(defun rng-auto-set-schema (&optional no-display-error) - "Set the schema for this buffer based on the buffer's contents and file-name." - (interactive) - (condition-case err - (progn - (rng-set-schema-file-1 (rng-locate-schema-file)) - (rng-what-schema)) - (nxml-file-parse-error - (if no-display-error - (error "%s at position %s in %s" - (nth 3 err) - (nth 2 err) - (abbreviate-file-name (nth 1 err))) - (nxml-display-file-parse-error err))))) - -(defun rng-locate-schema-file (&optional type-id) - "Return the file-name of the schema to use for the current buffer. -Return nil if no schema could be located. -If TYPE-ID is non-nil, then locate the schema for this TYPE-ID." - (let* ((rng-cached-document-element nil) - (schema - (if type-id - (cons type-id nil) - (rng-locate-schema-file-using rng-schema-locating-files))) - files type-ids) - (while (consp schema) - (setq files rng-schema-locating-files) - (setq type-id (car schema)) - (setq schema nil) - (when (member type-id type-ids) - (error "Type-id loop for type-id `%s'" type-id)) - (setq type-ids (cons type-id type-ids)) - (while (and files (not schema)) - (setq schema - (rng-locate-schema-file-from-type-id type-id - (car files))) - (setq files (cdr files)))) - (and schema - (rng-uri-file-name schema)))) - -(defun rng-possible-type-ids () - "Return a list of the known type IDs." - (let ((files rng-schema-locating-files) - type-ids) - (while files - (setq type-ids (rng-possible-type-ids-using (car files) type-ids)) - (setq files (cdr files))) - (rng-uniquify-equal (sort type-ids 'string<)))) - -(defun rng-locate-schema-file-using (files) - "Locate a schema using the schema locating files FILES. -FILES is a list of file-names. -Return either a URI, a list (TYPE-ID) where TYPE-ID is a string -or nil." - (let (rules - ;; List of types that override normal order-based - ;; priority, most important first - preferred-types - ;; Best result found so far; same form as return value. - best-so-far) - (while (and (progn - (while (and (not rules) files) - (setq rules (rng-get-parsed-schema-locating-file - (car files))) - (setq files (cdr files))) - rules) - (or (not best-so-far) preferred-types)) - (let* ((rule (car rules)) - (rule-type (car rule)) - (rule-matcher (get rule-type 'rng-rule-matcher))) - (setq rules (cdr rules)) - (cond (rule-matcher - (when (and (or (not best-so-far) - (memq rule-type preferred-types))) - (setq best-so-far - (funcall rule-matcher (cdr rule))) - preferred-types) - (setq preferred-types - (nbutlast preferred-types - (length (memq rule-type preferred-types))))) - ((eq rule-type 'applyFollowingRules) - (when (not best-so-far) - (let ((prefer (cdr (assq 'ruleType (cdr rule))))) - (when (and prefer - (not (memq (setq prefer (intern prefer)) - preferred-types))) - (setq preferred-types - (nconc preferred-types (list prefer))))))) - ((eq rule-type 'include) - (let ((uri (cdr (assq 'rules (cdr rule))))) - (when uri - (setq rules - (append (rng-get-parsed-schema-locating-file - (rng-uri-file-name uri)) - rules)))))))) - best-so-far)) - -(put 'documentElement 'rng-rule-matcher 'rng-match-document-element-rule) -(put 'namespace 'rng-rule-matcher 'rng-match-namespace-rule) -(put 'uri 'rng-rule-matcher 'rng-match-uri-rule) -(put 'transformURI 'rng-rule-matcher 'rng-match-transform-uri-rule) -(put 'default 'rng-rule-matcher 'rng-match-default-rule) - -(defun rng-match-document-element-rule (props) - (let ((document-element (rng-document-element)) - (prefix (cdr (assq 'prefix props))) - (local-name (cdr (assq 'localName props)))) - (and (or (not prefix) - (if (= (length prefix) 0) - (not (nth 1 document-element)) - (string= prefix (nth 1 document-element)))) - (or (not local-name) - (string= local-name - (nth 2 document-element))) - (rng-match-default-rule props)))) - -(defun rng-match-namespace-rule (props) - (let ((document-element (rng-document-element)) - (ns (cdr (assq 'ns props)))) - (and document-element - ns - (eq (nth 0 document-element) - (if (string= ns "") - nil - (nxml-make-namespace ns))) - (rng-match-default-rule props)))) - -(defun rng-document-element () - "Return a list (NS PREFIX LOCAL-NAME). -NS is t if the document has a non-nil, but not otherwise known namespace." - (or rng-cached-document-element - (setq rng-cached-document-element - (save-excursion - (save-restriction - (widen) - (goto-char (point-min)) - (let (xmltok-dtd) - (xmltok-save - (xmltok-forward-prolog) - (xmltok-forward) - (when (memq xmltok-type '(start-tag - partial-start-tag - empty-element - partial-empty-element)) - (list (rng-get-start-tag-namespace) - (xmltok-start-tag-prefix) - (xmltok-start-tag-local-name)))))))))) - -(defun rng-get-start-tag-namespace () - (let ((prefix (xmltok-start-tag-prefix)) - namespace att value) - (while xmltok-namespace-attributes - (setq att (car xmltok-namespace-attributes)) - (setq xmltok-namespace-attributes (cdr xmltok-namespace-attributes)) - (when (if prefix - (and (xmltok-attribute-prefix att) - (string= (xmltok-attribute-local-name att) - prefix)) - (not (xmltok-attribute-prefix att))) - (setq value (xmltok-attribute-value att)) - (setq namespace (if value (nxml-make-namespace value) t)))) - (if (and prefix (not namespace)) - t - namespace))) - -(defun rng-match-transform-uri-rule (props) - (let ((from-pattern (cdr (assq 'fromPattern props))) - (to-pattern (cdr (assq 'toPattern props))) - (file-name (buffer-file-name))) - (and file-name - (setq file-name (expand-file-name file-name)) - (rng-file-name-matches-uri-pattern-p file-name from-pattern) - (condition-case () - (let ((new-file-name - (replace-match - (save-match-data - (rng-uri-pattern-file-name-replace-match to-pattern)) - t - nil - file-name))) - (and (file-name-absolute-p new-file-name) - (file-exists-p new-file-name) - (rng-file-name-uri new-file-name))) - (rng-uri-error nil))))) - -(defun rng-match-uri-rule (props) - (let ((resource (cdr (assq 'resource props))) - (pattern (cdr (assq 'pattern props))) - (file-name (buffer-file-name))) - (and file-name - (setq file-name (expand-file-name file-name)) - (cond (resource - (condition-case () - (eq (compare-strings (rng-uri-file-name resource) - 0 - nil - (expand-file-name file-name) - 0 - nil - nxml-file-name-ignore-case) - t) - (rng-uri-error nil))) - (pattern - (rng-file-name-matches-uri-pattern-p file-name - pattern))) - (rng-match-default-rule props)))) - -(defun rng-file-name-matches-uri-pattern-p (file-name pattern) - (condition-case () - (and (let ((case-fold-search nxml-file-name-ignore-case)) - (string-match (rng-uri-pattern-file-name-regexp pattern) - file-name)) - t) - (rng-uri-error nil))) - -(defun rng-match-default-rule (props) - (or (cdr (assq 'uri props)) - (let ((type-id (cdr (assq 'typeId props)))) - (and type-id - (cons (rng-collapse-space type-id) nil))))) - -(defun rng-possible-type-ids-using (file type-ids) - (let ((rules (rng-get-parsed-schema-locating-file file)) - rule) - (while rules - (setq rule (car rules)) - (setq rules (cdr rules)) - (cond ((eq (car rule) 'typeId) - (let ((id (cdr (assq 'id (cdr rule))))) - (when id - (setq type-ids - (cons (rng-collapse-space id) - type-ids))))) - ((eq (car rule) 'include) - (let ((uri (cdr (assq 'rules (cdr rule))))) - (when uri - (setq type-ids - (rng-possible-type-ids-using - (rng-get-parsed-schema-locating-file - (rng-uri-file-name uri)) - type-ids))))))) - type-ids)) - -(defun rng-locate-schema-file-from-type-id (type-id file) - "Locate the schema for type id TYPE-ID using schema locating file FILE. -Return either a URI, a list (TYPE-ID) where TYPE-ID is a string -or nil." - (let ((rules (rng-get-parsed-schema-locating-file file)) - schema rule) - (while (and rules (not schema)) - (setq rule (car rules)) - (setq rules (cdr rules)) - (cond ((and (eq (car rule) 'typeId) - (let ((id (assq 'id (cdr rule)))) - (and id - (string= (rng-collapse-space (cdr id)) type-id)))) - (setq schema (rng-match-default-rule (cdr rule)))) - ((eq (car rule) 'include) - (let ((uri (cdr (assq 'rules (cdr rule))))) - (when uri - (setq schema - (rng-locate-schema-file-from-type-id - type-id - (rng-uri-file-name uri)))))))) - schema)) - -(defvar rng-schema-locating-file-alist nil) - -(defun rng-get-parsed-schema-locating-file (file) - "Return a list of rules for the schema locating file FILE." - (setq file (expand-file-name file)) - (let ((cached (assoc file rng-schema-locating-file-alist)) - (mtime (nth 5 (file-attributes file))) - parsed) - (cond ((not mtime) - (when cached - (setq rng-schema-locating-file-alist - (delq cached rng-schema-locating-file-alist))) - nil) - ((and cached (equal (nth 1 cached) mtime)) - (nth 2 cached)) - (t - (setq parsed (rng-parse-schema-locating-file file)) - (if cached - (setcdr cached (list mtime parsed)) - (setq rng-schema-locating-file-alist - (cons (list file mtime parsed) - rng-schema-locating-file-alist))) - parsed)))) - -(defconst rng-locate-namespace-uri - (nxml-make-namespace "http://thaiopensource.com/ns/locating-rules/1.0")) - -(defun rng-parse-schema-locating-file (file) - "Return list of rules. -Each rule has the form (TYPE (ATTR . VAL) ...), where -TYPE is a symbol for the element name, ATTR is a symbol for the attribute -and VAL is a string for the value. -Attribute values representing URIs are made absolute and xml:base -attributes are removed." - (when (and (not rng-schema-locating-file-schema) - rng-schema-locating-file-schema-file) - (setq rng-schema-locating-file-schema - (rng-load-schema rng-schema-locating-file-schema-file))) - (let* ((element - (if rng-schema-locating-file-schema - (rng-parse-validate-file rng-schema-locating-file-schema - file) - (nxml-parse-file file))) - (children (cddr element)) - (base-uri (rng-file-name-uri file)) - child name rules atts att props prop-name prop-value) - (when (equal (car element) - (cons rng-locate-namespace-uri "locatingRules")) - (while children - (setq child (car children)) - (setq children (cdr children)) - (when (consp child) - (setq name (car child)) - (when (eq (car name) rng-locate-namespace-uri) - (setq atts (cadr child)) - (setq props nil) - (while atts - (setq att (car atts)) - (when (stringp (car att)) - (setq prop-name (intern (car att))) - (setq prop-value (cdr att)) - (when (memq prop-name '(uri rules resource)) - (setq prop-value - (rng-uri-resolve prop-value base-uri))) - (setq props (cons (cons prop-name prop-value) - props))) - (setq atts (cdr atts))) - (setq rules - (cons (cons (intern (cdr name)) (nreverse props)) - rules)))))) - (nreverse rules))) - -(defun rng-save-schema-location () - "Save the association between the buffer's file and the current schema. -This ensures that the schema that is currently being used will be used -if the file is edited in a future session. The association will be -saved to the first writable file in `rng-schema-locating-files'." - (interactive) - (rng-save-schema-location-1 nil)) - -(defun rng-save-schema-location-1 (prompt &optional type-id) - (unless (or rng-current-schema-file-name type-id) - (error "Buffer is using a vacuous schema")) - (let ((files rng-schema-locating-files) - (document-file-name (buffer-file-name)) - (schema-file-name rng-current-schema-file-name) - file) - (while (and files (not file)) - (if (file-writable-p (car files)) - (setq file (expand-file-name (car files))) - (setq files (cdr files)))) - (cond ((not file) - (if prompt - nil - (error "No writable schema locating file configured"))) - ((not document-file-name) - (if prompt - nil - (error "Buffer does not have a filename"))) - ((and prompt - (not (y-or-n-p (format "Save %s to %s " - (if type-id - "type identifier" - "schema location") - file))))) - (t - (save-excursion - (set-buffer (find-file-noselect file)) - (let ((modified (buffer-modified-p))) - (if (> (buffer-size) 0) - (let (xmltok-dtd) - (goto-char (point-min)) - (xmltok-save - (xmltok-forward-prolog) - (xmltok-forward) - (unless (eq xmltok-type 'start-tag) - (error "Locating file `%s' invalid" file)))) - (insert "\n" - "Limitations - -nXML mode has some limitations: - - - -- -- -
- -DTD support is limited. Internal parsed general entities declared -in the internal subset are supported provided they do not contain -elements. Other usage of DTDs is ignored. -- -
- -The restrictions on RELAX NG schemas in section 7 of the RELAX NG -specification are not enforced. -- -
-Unicode support has problems. This stems mostly from the fact that -the XML (and RELAX NG) character model is based squarely on Unicode, -whereas the Emacs character model is not. Emacs 22 is slated to have -full Unicode support, which should improve the situation here. -") - (let ((pos (point))) - (insert "\n \n") - (goto-char pos))) - (insert "\n") - (insert (let ((locating-file-uri (rng-file-name-uri file))) - (format "" - (rng-escape-string - (rng-relative-uri - (rng-file-name-uri document-file-name) - locating-file-uri)) - (if type-id "typeId" "uri") - (rng-escape-string - (or type-id - (rng-relative-uri - (rng-file-name-uri schema-file-name) - locating-file-uri)))))) - (indent-according-to-mode) - (when (or (not modified) - (y-or-n-p (format "Save file %s " - (buffer-file-name)))) - (save-buffer)))))))) - -(provide 'rng-loc) - -;;; rng-loc.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-maint.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-maint.el deleted file mode 100644 index ecf1ff1bc9..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-maint.el +++ /dev/null @@ -1,343 +0,0 @@ -;;; rng-maint.el --- commands for RELAX NG maintainers - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;;; Code: - -(require 'xmltok) -(require 'nxml-mode) -(require 'texnfo-upd) - -(defvar rng-dir (file-name-directory load-file-name)) - -(defconst rng-autoload-modules - '(xmltok - nxml-mode - nxml-uchnm - nxml-glyph - rng-cmpct - rng-maint - rng-valid - rng-xsd - rng-nxml)) - -;;;###autoload -(defun rng-update-autoloads () - "Update the autoloads in rng-auto.el." - (interactive) - (let* ((generated-autoload-file (expand-file-name "rng-auto.el" - rng-dir))) - (mapcar (lambda (x) - (update-file-autoloads - (expand-file-name (concat (symbol-name x) ".el") rng-dir))) - rng-autoload-modules))) - - -(defconst rng-compile-modules - '(xmltok - nxml-util - nxml-enc - nxml-glyph - nxml-rap - nxml-outln - nxml-mode - nxml-uchnm - nxml-ns - nxml-parse - nxml-maint - xsd-regexp - rng-util - rng-dt - rng-xsd - rng-uri - rng-pttrn - rng-cmpct - rng-match - rng-parse - rng-loc - rng-valid - rng-nxml - rng-maint)) - -;;;###autoload -(defun rng-byte-compile-load () - "Byte-compile and load all of the RELAX NG library in an appropriate order." - (interactive) - (mapcar (lambda (x) - (byte-compile-file (expand-file-name (concat (symbol-name x) ".el") - rng-dir) - t)) - rng-compile-modules)) - - -;;; Conversion from XML to texinfo. -;; This is all a hack and is just enough to make the conversion work. -;; It's not intended for public use. - -(defvar rng-manual-base "nxml-mode") -(defvar rng-manual-xml (concat rng-manual-base ".xml")) -(defvar rng-manual-texi (concat rng-manual-base ".texi")) -(defvar rng-manual-info (concat rng-manual-base ".info")) - -;;;###autoload -(defun rng-format-manual () - "Create manual.texi from manual.xml." - (interactive) - (let ((xml-buf (find-file-noselect (expand-file-name rng-manual-xml - rng-dir))) - (texi-buf (find-file-noselect (expand-file-name rng-manual-texi - rng-dir)))) - (save-excursion - (set-buffer texi-buf) - (erase-buffer) - (let ((standard-output texi-buf)) - (princ (format "\\input texinfo @c -*- texinfo -*-\n\ -@c %%**start of header\n\ -@setfilename %s\n\ -@settitle \n\ -@c %%**end of header\n" rng-manual-info)) - (set-buffer xml-buf) - (goto-char (point-min)) - (xmltok-save - (xmltok-forward-prolog) - (rng-process-tokens)) - (princ "\n@bye\n")) - (set-buffer texi-buf) - (rng-manual-fixup) - (texinfo-insert-node-lines (point-min) (point-max) t) - (texinfo-all-menus-update) - (save-buffer)))) - -(defun rng-manual-fixup () - (goto-char (point-min)) - (search-forward "@top ") - (let ((pos (point))) - (search-forward "\n") - (let ((title (buffer-substring-no-properties pos (1- (point))))) - (goto-char (point-min)) - (search-forward "@settitle ") - (insert title) - (search-forward "@node") - (goto-char (match-beginning 0)) - (insert "@dircategory Emacs\n" - "@direntry\n* " - title - ": (" - rng-manual-info - ").\n@end direntry\n\n")))) - -(defvar rng-manual-inline-elements '(kbd key samp code var emph uref point)) - -(defun rng-process-tokens () - (let ((section-depth 0) - ;; stack of per-element space treatment - ;; t means keep, nil means discard, fill means no blank lines - (keep-space-stack (list nil)) - (ignore-following-newline nil) - (want-blank-line nil) - name startp endp data keep-space-for-children) - (while (xmltok-forward) - (cond ((memq xmltok-type '(start-tag empty-element end-tag)) - (setq startp (memq xmltok-type '(start-tag empty-element))) - (setq endp (memq xmltok-type '(end-tag empty-element))) - (setq name (intern (if startp - (xmltok-start-tag-qname) - (xmltok-end-tag-qname)))) - (setq keep-space-for-children nil) - (setq ignore-following-newline nil) - (cond ((memq name rng-manual-inline-elements) - (when startp - (when want-blank-line - (rng-manual-output-force-blank-line) - (when (eq want-blank-line 'noindent) - (princ "@noindent\n")) - (setq want-blank-line nil)) - (setq keep-space-for-children t) - (princ (format "@%s{" name))) - (when endp (princ "}"))) - ((eq name 'ulist) - (when startp - (rng-manual-output-force-blank-line) - (setq want-blank-line nil) - (princ "@itemize @bullet\n")) - (when endp - (rng-manual-output-force-new-line) - (setq want-blank-line 'noindent) - (princ "@end itemize\n"))) - ((eq name 'item) - (rng-manual-output-force-new-line) - (setq want-blank-line endp) - (when startp (princ "@item\n"))) - ((memq name '(example display)) - (when startp - (setq ignore-following-newline t) - (rng-manual-output-force-blank-line) - (setq want-blank-line nil) - (setq keep-space-for-children t) - (princ (format "@%s\n" name))) - (when endp - (rng-manual-output-force-new-line) - (setq want-blank-line 'noindent) - (princ (format "@end %s\n" name)))) - ((eq name 'para) - (rng-manual-output-force-new-line) - (when startp - (when want-blank-line - (setq want-blank-line t)) - (setq keep-space-for-children 'fill)) - (when endp (setq want-blank-line t))) - ((eq name 'section) - (when startp - (rng-manual-output-force-blank-line) - (when (eq section-depth 0) - (princ "@node Top\n")) - (princ "@") - (princ (nth section-depth '(top - chapter - section - subsection - subsubsection))) - (princ " ") - (setq want-blank-line nil) - (setq section-depth (1+ section-depth))) - (when endp - (rng-manual-output-force-new-line) - (setq want-blank-line nil) - (setq section-depth (1- section-depth)))) - ((eq name 'title) - (when startp - (setq keep-space-for-children 'fill)) - (when endp - (setq want-blank-line t) - (princ "\n")))) - (when startp - (setq keep-space-stack (cons keep-space-for-children - keep-space-stack))) - (when endp - (setq keep-space-stack (cdr keep-space-stack)))) - ((memq xmltok-type '(data - space - char-ref - entity-ref - cdata-section)) - (setq data nil) - (cond ((memq xmltok-type '(data space)) - (setq data (buffer-substring-no-properties xmltok-start - (point)))) - ((and (memq xmltok-type '(char-ref entity-ref)) - xmltok-replacement) - (setq data xmltok-replacement)) - ((eq xmltok-type 'cdata-section) - (setq data - (buffer-substring-no-properties (+ xmltok-start 9) - (- (point) 3))))) - (when (and data (car keep-space-stack)) - (setq data (replace-regexp-in-string "[@{}]" - "@\\&" - data - t)) - (when ignore-following-newline - (setq data (replace-regexp-in-string "\\`\n" "" data t))) - (setq ignore-following-newline nil) -;; (when (eq (car keep-space-stack) 'fill) -;; (setq data (replace-regexp-in-string "\n" " " data t))) - (when (eq want-blank-line 'noindent) - (setq data (replace-regexp-in-string "\\`\n*" "" data t))) - (when (> (length data) 0) - (when want-blank-line - (rng-manual-output-force-blank-line) - (when (eq want-blank-line 'noindent) - (princ "@noindent\n")) - (setq want-blank-line nil)) - (princ data)))) - )))) - -(defun rng-manual-output-force-new-line () - (save-excursion - (set-buffer standard-output) - (unless (eq (char-before) ?\n) - (insert ?\n)))) - -(defun rng-manual-output-force-blank-line () - (save-excursion - (set-buffer standard-output) - (if (eq (char-before) ?\n) - (unless (eq (char-before (1- (point))) ?\n) - (insert ?\n)) - (insert "\n\n")))) - -;;; Versioning - -;;;###autoload -(defun rng-write-version () - (find-file "VERSION") - (erase-buffer) - (insert nxml-version "\n") - (save-buffer)) - -;;; Timing - -(defun rng-time-to-float (time) - (+ (* (nth 0 time) 65536.0) - (nth 1 time) - (/ (nth 2 time) 1000000.0))) - -(defun rng-time-function (function &rest args) - (let* ((start (current-time)) - (val (apply function args)) - (end (current-time))) - (message "%s ran in %g seconds" - function - (- (rng-time-to-float end) - (rng-time-to-float start))) - val)) - -(defun rng-time-tokenize-buffer () - (interactive) - (rng-time-function 'rng-tokenize-buffer)) - -(defun rng-tokenize-buffer () - (save-excursion - (goto-char (point-min)) - (xmltok-save - (xmltok-forward-prolog) - (while (xmltok-forward))))) - -(defun rng-time-validate-buffer () - (interactive) - (rng-time-function 'rng-validate-buffer)) - -(defun rng-validate-buffer () - (save-restriction - (widen) - (nxml-with-unmodifying-text-property-changes - (rng-clear-cached-state (point-min) (point-max))) - ;; 1+ to clear empty overlays at (point-max) - (rng-clear-overlays (point-min) (1+ (point-max)))) - (setq rng-validate-up-to-date-end 1) - (rng-clear-conditional-region) - (setq rng-error-count 0) - (while (rng-do-some-validation - (lambda () t)))) - -;;; rng-maint.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-match.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-match.el deleted file mode 100644 index d369261554..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-match.el +++ /dev/null @@ -1,1739 +0,0 @@ -;;; rng-match.el --- matching of RELAX NG patterns against XML events - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; This uses the algorithm described in -;; http://www.thaiopensource.com/relaxng/derivative.html -;; -;; The schema to be used is contained in the variable -;; rng-current-schema. It has the form described in the file -;; rng-pttrn.el. -;; -;;; Code: - -(require 'rng-pttrn) -(require 'rng-util) -(require 'rng-dt) - -(defvar rng-not-allowed-ipattern nil) -(defvar rng-empty-ipattern nil) -(defvar rng-text-ipattern nil) - -(defvar rng-compile-table nil) - -(defvar rng-being-compiled nil - "Contains a list of ref patterns currently being compiled. -Used to detect illegal recursive references.") - -(defvar rng-ipattern-table nil) - -(defvar rng-last-ipattern-index nil) - -(defvar rng-match-state nil - "An ipattern representing the current state of validation.") - -;;; Inline functions - -(defsubst rng-update-match-state (new-state) - (if (and (eq new-state rng-not-allowed-ipattern) - (not (eq rng-match-state rng-not-allowed-ipattern))) - nil - (setq rng-match-state new-state) - t)) - -;;; Interned patterns - -(eval-when-compile - (defun rng-ipattern-slot-accessor-name (slot-name) - (intern (concat "rng-ipattern-get-" - (symbol-name slot-name)))) - - (defun rng-ipattern-slot-setter-name (slot-name) - (intern (concat "rng-ipattern-set-" - (symbol-name slot-name))))) - -(defmacro rng-ipattern-defslot (slot-name index) - `(progn - (defsubst ,(rng-ipattern-slot-accessor-name slot-name) (ipattern) - (aref ipattern ,index)) - (defsubst ,(rng-ipattern-slot-setter-name slot-name) (ipattern value) - (aset ipattern ,index value)))) - -(rng-ipattern-defslot type 0) -(rng-ipattern-defslot index 1) -(rng-ipattern-defslot name-class 2) -(rng-ipattern-defslot datatype 2) -(rng-ipattern-defslot after 2) -(rng-ipattern-defslot child 3) -(rng-ipattern-defslot value-object 3) -(rng-ipattern-defslot nullable 4) -(rng-ipattern-defslot memo-text-typed 5) -(rng-ipattern-defslot memo-map-start-tag-open-deriv 6) -(rng-ipattern-defslot memo-map-start-attribute-deriv 7) -(rng-ipattern-defslot memo-start-tag-close-deriv 8) -(rng-ipattern-defslot memo-text-only-deriv 9) -(rng-ipattern-defslot memo-mixed-text-deriv 10) -(rng-ipattern-defslot memo-map-data-deriv 11) -(rng-ipattern-defslot memo-end-tag-deriv 12) - -(defconst rng-memo-map-alist-max 10) - -(defsubst rng-memo-map-get (key mm) - "Return the value associated with KEY in memo-map MM." - (let ((found (assoc key mm))) - (if found - (cdr found) - (and mm - (let ((head (car mm))) - (and (hash-table-p head) - (gethash key head))))))) - -(defun rng-memo-map-add (key value mm &optional weakness) - "Associate KEY with VALUE in memo-map MM and return the new memo-map. -The new memo-map may or may not be a different object from MM. - -Alists are better for small maps. Hash tables are better for large -maps. A memo-map therefore starts off as an alist and switches to a -hash table for large memo-maps. A memo-map is always a list. An empty -memo-map is represented by nil. A large memo-map is represented by a -list containing just a hash-table. A small memo map is represented by -a list whose cdr is an alist and whose car is the number of entries in -the alist. The complete memo-map can be passed to assoc without -problems: assoc ignores any members that are not cons cells. There is -therefore minimal overhead in successful lookups on small lists -\(which is the most common case)." - (if (null mm) - (list 1 (cons key value)) - (let ((head (car mm))) - (cond ((hash-table-p head) - (puthash key value head) - mm) - ((>= head rng-memo-map-alist-max) - (let ((ht (make-hash-table :test 'equal - :weakness weakness - :size (* 2 rng-memo-map-alist-max)))) - (setq mm (cdr mm)) - (while mm - (setq head (car mm)) - (puthash (car head) (cdr head) ht) - (setq mm (cdr mm))) - (cons ht nil))) - (t (cons (1+ head) - (cons (cons key value) - (cdr mm)))))))) - -(defsubst rng-make-ipattern (type index name-class child nullable) - (vector type index name-class child nullable - ;; 5 memo-text-typed - 'unknown - ;; 6 memo-map-start-tag-open-deriv - nil - ;; 7 memo-map-start-attribute-deriv - nil - ;; 8 memo-start-tag-close-deriv - nil - ;; 9 memo-text-only-deriv - nil - ;; 10 memo-mixed-text-deriv - nil - ;; 11 memo-map-data-deriv - nil - ;; 12 memo-end-tag-deriv - nil)) - -(defun rng-ipattern-maybe-init () - (unless rng-ipattern-table - (setq rng-ipattern-table (make-hash-table :test 'equal)) - (setq rng-last-ipattern-index -1))) - -(defun rng-ipattern-clear () - (when rng-ipattern-table - (clrhash rng-ipattern-table)) - (setq rng-last-ipattern-index -1)) - -(defsubst rng-gen-ipattern-index () - (setq rng-last-ipattern-index (1+ rng-last-ipattern-index))) - -(defun rng-put-ipattern (key type name-class child nullable) - (let ((ipattern - (rng-make-ipattern type - (rng-gen-ipattern-index) - name-class - child - nullable))) - (puthash key ipattern rng-ipattern-table) - ipattern)) - -(defun rng-get-ipattern (key) - (gethash key rng-ipattern-table)) - -(or rng-not-allowed-ipattern - (setq rng-not-allowed-ipattern - (rng-make-ipattern 'not-allowed -3 nil nil nil))) - -(or rng-empty-ipattern - (setq rng-empty-ipattern - (rng-make-ipattern 'empty -2 nil nil t))) - -(or rng-text-ipattern - (setq rng-text-ipattern - (rng-make-ipattern 'text -1 nil nil t))) - -(defconst rng-const-ipatterns - (list rng-not-allowed-ipattern - rng-empty-ipattern - rng-text-ipattern)) - -(defun rng-intern-after (child after) - (if (eq child rng-not-allowed-ipattern) - rng-not-allowed-ipattern - (let ((key (list 'after - (rng-ipattern-get-index child) - (rng-ipattern-get-index after)))) - (or (rng-get-ipattern key) - (rng-put-ipattern key - 'after - after - child - nil))))) - -(defun rng-intern-attribute (name-class ipattern) - (if (eq ipattern rng-not-allowed-ipattern) - rng-not-allowed-ipattern - (let ((key (list 'attribute - name-class - (rng-ipattern-get-index ipattern)))) - (or (rng-get-ipattern key) - (rng-put-ipattern key - 'attribute - name-class - ipattern - nil))))) - -(defun rng-intern-data (dt matches-anything) - (let ((key (list 'data dt))) - (or (rng-get-ipattern key) - (let ((ipattern (rng-put-ipattern key - 'data - dt - nil - matches-anything))) - (rng-ipattern-set-memo-text-typed ipattern - (not matches-anything)) - ipattern)))) - -(defun rng-intern-data-except (dt ipattern) - (let ((key (list 'data-except dt ipattern))) - (or (rng-get-ipattern key) - (rng-put-ipattern key - 'data-except - dt - ipattern - nil)))) - -(defun rng-intern-value (dt obj) - (let ((key (list 'value dt obj))) - (or (rng-get-ipattern key) - (rng-put-ipattern key - 'value - dt - obj - nil)))) - -(defun rng-intern-one-or-more (ipattern) - (or (rng-intern-one-or-more-shortcut ipattern) - (let ((key (cons 'one-or-more - (list (rng-ipattern-get-index ipattern))))) - (or (rng-get-ipattern key) - (rng-put-ipattern key - 'one-or-more - nil - ipattern - (rng-ipattern-get-nullable ipattern)))))) - -(defun rng-intern-one-or-more-shortcut (ipattern) - (cond ((eq ipattern rng-not-allowed-ipattern) - rng-not-allowed-ipattern) - ((eq ipattern rng-empty-ipattern) - rng-empty-ipattern) - ((eq (rng-ipattern-get-type ipattern) 'one-or-more) - ipattern) - (t nil))) - -(defun rng-intern-list (ipattern) - (if (eq ipattern rng-not-allowed-ipattern) - rng-not-allowed-ipattern - (let ((key (cons 'list - (list (rng-ipattern-get-index ipattern))))) - (or (rng-get-ipattern key) - (rng-put-ipattern key - 'list - nil - ipattern - nil))))) - -(defun rng-intern-group (ipatterns) - "Return a ipattern for the list of group members in IPATTERNS." - (or (rng-intern-group-shortcut ipatterns) - (let* ((tem (rng-normalize-group-list ipatterns)) - (normalized (cdr tem))) - (or (rng-intern-group-shortcut normalized) - (let ((key (cons 'group - (mapcar 'rng-ipattern-get-index normalized)))) - (or (rng-get-ipattern key) - (rng-put-ipattern key - 'group - nil - normalized - (car tem)))))))) - -(defun rng-intern-group-shortcut (ipatterns) - "Try to shortcut interning a group list. If successful, return the -interned pattern. Otherwise return nil." - (while (and ipatterns - (eq (car ipatterns) rng-empty-ipattern)) - (setq ipatterns (cdr ipatterns))) - (if ipatterns - (let ((ret (car ipatterns))) - (if (eq ret rng-not-allowed-ipattern) - rng-not-allowed-ipattern - (setq ipatterns (cdr ipatterns)) - (while (and ipatterns ret) - (let ((tem (car ipatterns))) - (cond ((eq tem rng-not-allowed-ipattern) - (setq ret tem) - (setq ipatterns nil)) - ((eq tem rng-empty-ipattern) - (setq ipatterns (cdr ipatterns))) - (t - ;; Stop here rather than continuing - ;; looking for not-allowed patterns. - ;; We do a complete scan elsewhere. - (setq ret nil))))) - ret)) - rng-empty-ipattern)) - -(defun rng-normalize-group-list (ipatterns) - "Normalize a list containing members of a group. -Expands nested groups, removes empty members, handles notAllowed. -Returns a pair whose car says whether the list is nullable and whose -cdr is the normalized list." - (let ((nullable t) - (result nil) - member) - (while ipatterns - (setq member (car ipatterns)) - (setq ipatterns (cdr ipatterns)) - (when nullable - (setq nullable (rng-ipattern-get-nullable member))) - (cond ((eq (rng-ipattern-get-type member) 'group) - (setq result - (nconc (reverse (rng-ipattern-get-child member)) - result))) - ((eq member rng-not-allowed-ipattern) - (setq result (list rng-not-allowed-ipattern)) - (setq ipatterns nil)) - ((not (eq member rng-empty-ipattern)) - (setq result (cons member result))))) - (cons nullable (nreverse result)))) - -(defun rng-intern-interleave (ipatterns) - (or (rng-intern-group-shortcut ipatterns) - (let* ((tem (rng-normalize-interleave-list ipatterns)) - (normalized (cdr tem))) - (or (rng-intern-group-shortcut normalized) - (let ((key (cons 'interleave - (mapcar 'rng-ipattern-get-index normalized)))) - (or (rng-get-ipattern key) - (rng-put-ipattern key - 'interleave - nil - normalized - (car tem)))))))) - -(defun rng-normalize-interleave-list (ipatterns) - "Normalize a list containing members of an interleave. -Expands nested groups, removes empty members, handles notAllowed. -Returns a pair whose car says whether the list is nullable and whose -cdr is the normalized list." - (let ((nullable t) - (result nil) - member) - (while ipatterns - (setq member (car ipatterns)) - (setq ipatterns (cdr ipatterns)) - (when nullable - (setq nullable (rng-ipattern-get-nullable member))) - (cond ((eq (rng-ipattern-get-type member) 'interleave) - (setq result - (append (rng-ipattern-get-child member) - result))) - ((eq member rng-not-allowed-ipattern) - (setq result (list rng-not-allowed-ipattern)) - (setq ipatterns nil)) - ((not (eq member rng-empty-ipattern)) - (setq result (cons member result))))) - (cons nullable (sort result 'rng-compare-ipattern)))) - -;; Would be cleaner if this didn't modify IPATTERNS. - -(defun rng-intern-choice (ipatterns) - "Return a choice ipattern for the list of choices in IPATTERNS. -May alter IPATTERNS." - (or (rng-intern-choice-shortcut ipatterns) - (let* ((tem (rng-normalize-choice-list ipatterns)) - (normalized (cdr tem))) - (or (rng-intern-choice-shortcut normalized) - (rng-intern-choice1 normalized (car tem)))))) - -(defun rng-intern-optional (ipattern) - (cond ((rng-ipattern-get-nullable ipattern) ipattern) - ((eq ipattern rng-not-allowed-ipattern) rng-empty-ipattern) - (t (rng-intern-choice1 - ;; This is sorted since the empty pattern - ;; is before everything except not allowed. - ;; It cannot have a duplicate empty pattern, - ;; since it is not nullable. - (cons rng-empty-ipattern - (if (eq (rng-ipattern-get-type ipattern) 'choice) - (rng-ipattern-get-child ipattern) - (list ipattern))) - t)))) - - -(defun rng-intern-choice1 (normalized nullable) - (let ((key (cons 'choice - (mapcar 'rng-ipattern-get-index normalized)))) - (or (rng-get-ipattern key) - (rng-put-ipattern key - 'choice - nil - normalized - nullable)))) - -(defun rng-intern-choice-shortcut (ipatterns) - "Try to shortcut interning a choice list. If successful, return the -interned pattern. Otherwise return nil." - (while (and ipatterns - (eq (car ipatterns) - rng-not-allowed-ipattern)) - (setq ipatterns (cdr ipatterns))) - (if ipatterns - (let ((ret (car ipatterns))) - (setq ipatterns (cdr ipatterns)) - (while (and ipatterns ret) - (or (eq (car ipatterns) rng-not-allowed-ipattern) - (eq (car ipatterns) ret) - (setq ret nil)) - (setq ipatterns (cdr ipatterns))) - ret) - rng-not-allowed-ipattern)) - -(defun rng-normalize-choice-list (ipatterns) - "Normalize a list of choices, expanding nested choices, removing -not-allowed members, sorting by index and removing duplicates. Return -a pair whose car says whether the list is nullable and whose cdr is -the normalized list." - (let ((sorted t) - (nullable nil) - (head (cons nil ipatterns))) - (let ((tail head) - (final-tail nil) - (prev-index -100) - (cur ipatterns) - member) - ;; the cdr of tail is always cur - (while cur - (setq member (car cur)) - (or nullable - (setq nullable (rng-ipattern-get-nullable member))) - (cond ((eq (rng-ipattern-get-type member) 'choice) - (setq final-tail - (append (rng-ipattern-get-child member) - final-tail)) - (setq cur (cdr cur)) - (setq sorted nil) - (setcdr tail cur)) - ((eq member rng-not-allowed-ipattern) - (setq cur (cdr cur)) - (setcdr tail cur)) - (t - (if (and sorted - (let ((cur-index (rng-ipattern-get-index member))) - (if (>= prev-index cur-index) - (or (= prev-index cur-index) ; will remove it - (setq sorted nil)) ; won't remove it - (setq prev-index cur-index) - ;; won't remove it - nil))) - (progn - ;; remove it - (setq cur (cdr cur)) - (setcdr tail cur)) - ;; don't remove it - (setq tail cur) - (setq cur (cdr cur)))))) - (setcdr tail final-tail)) - (setq head (cdr head)) - (cons nullable - (if sorted - head - (rng-uniquify-eq (sort head 'rng-compare-ipattern)))))) - -(defun rng-compare-ipattern (p1 p2) - (< (rng-ipattern-get-index p1) - (rng-ipattern-get-index p2))) - -;;; Name classes - -(defsubst rng-name-class-contains (nc nm) - (if (consp nc) - (equal nm nc) - (rng-name-class-contains1 nc nm))) - -(defun rng-name-class-contains1 (nc nm) - (let ((type (aref nc 0))) - (cond ((eq type 'any-name) t) - ((eq type 'any-name-except) - (not (rng-name-class-contains (aref nc 1) nm))) - ((eq type 'ns-name) - (eq (car nm) (aref nc 1))) - ((eq type 'ns-name-except) - (and (eq (car nm) (aref nc 1)) - (not (rng-name-class-contains (aref nc 2) nm)))) - ((eq type 'choice) - (let ((choices (aref nc 1)) - (ret nil)) - (while choices - (if (rng-name-class-contains (car choices) nm) - (progn - (setq choices nil) - (setq ret t)) - (setq choices (cdr choices)))) - ret))))) - -(defun rng-name-class-possible-names (nc accum) - "Return a list of possible names that nameclass NC can match. - -Each possible name should be returned as a (NAMESPACE . LOCAL-NAME) -pair, where NAMESPACE is a symbol or nil and LOCAL-NAME is a string. -nil for NAMESPACE matches the absent namespace. ACCUM is a list of -names which should be appended to the returned list. The returned list -may contain duplicates." - (if (consp nc) - (cons nc accum) - (when (eq (aref nc 0) 'choice) - (let ((members (aref nc 1)) member) - (while members - (setq member (car members)) - (setq accum - (if (consp member) - (cons member accum) - (rng-name-class-possible-names member - accum))) - (setq members (cdr members))))) - accum)) - -;;; Debugging utilities - -(defun rng-ipattern-to-string (ipattern) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'after) - (concat (rng-ipattern-to-string - (rng-ipattern-get-child ipattern)) - " > " - (rng-ipattern-to-string - (rng-ipattern-get-after ipattern)))) - ((eq type 'element) - (concat "element " - (rng-name-class-to-string - (rng-ipattern-get-name-class ipattern)) - ;; we can get cycles with elements so don't print it out - " {...}")) - ((eq type 'attribute) - (concat "attribute " - (rng-name-class-to-string - (rng-ipattern-get-name-class ipattern)) - " { " - (rng-ipattern-to-string - (rng-ipattern-get-child ipattern)) - " } ")) - ((eq type 'empty) "empty") - ((eq type 'text) "text") - ((eq type 'not-allowed) "notAllowed") - ((eq type 'one-or-more) - (concat (rng-ipattern-to-string - (rng-ipattern-get-child ipattern)) - "+")) - ((eq type 'choice) - (concat "(" - (mapconcat 'rng-ipattern-to-string - (rng-ipattern-get-child ipattern) - " | ") - ")")) - ((eq type 'group) - (concat "(" - (mapconcat 'rng-ipattern-to-string - (rng-ipattern-get-child ipattern) - ", ") - ")")) - ((eq type 'interleave) - (concat "(" - (mapconcat 'rng-ipattern-to-string - (rng-ipattern-get-child ipattern) - " & ") - ")")) - (t (symbol-name type))))) - -(defun rng-name-class-to-string (nc) - (if (consp nc) - (cdr nc) - (let ((type (aref nc 0))) - (cond ((eq type 'choice) - (mapconcat 'rng-name-class-to-string - (aref nc 1) - "|")) - (t (concat (symbol-name type) "*")))))) - - -;;; Compiling - -(defun rng-compile-maybe-init () - (unless rng-compile-table - (setq rng-compile-table (make-hash-table :test 'eq)))) - -(defun rng-compile-clear () - (when rng-compile-table - (clrhash rng-compile-table))) - -(defun rng-compile (pattern) - (or (gethash pattern rng-compile-table) - (let ((ipattern (apply (get (car pattern) 'rng-compile) - (cdr pattern)))) - (puthash pattern ipattern rng-compile-table) - ipattern))) - -(put 'empty 'rng-compile 'rng-compile-empty) -(put 'text 'rng-compile 'rng-compile-text) -(put 'not-allowed 'rng-compile 'rng-compile-not-allowed) -(put 'element 'rng-compile 'rng-compile-element) -(put 'attribute 'rng-compile 'rng-compile-attribute) -(put 'choice 'rng-compile 'rng-compile-choice) -(put 'optional 'rng-compile 'rng-compile-optional) -(put 'group 'rng-compile 'rng-compile-group) -(put 'interleave 'rng-compile 'rng-compile-interleave) -(put 'ref 'rng-compile 'rng-compile-ref) -(put 'one-or-more 'rng-compile 'rng-compile-one-or-more) -(put 'zero-or-more 'rng-compile 'rng-compile-zero-or-more) -(put 'mixed 'rng-compile 'rng-compile-mixed) -(put 'data 'rng-compile 'rng-compile-data) -(put 'data-except 'rng-compile 'rng-compile-data-except) -(put 'value 'rng-compile 'rng-compile-value) -(put 'list 'rng-compile 'rng-compile-list) - -(defun rng-compile-not-allowed () rng-not-allowed-ipattern) -(defun rng-compile-empty () rng-empty-ipattern) -(defun rng-compile-text () rng-text-ipattern) - -(defun rng-compile-element (name-class pattern) - ;; don't intern - (rng-make-ipattern 'element - (rng-gen-ipattern-index) - (rng-compile-name-class name-class) - pattern ; compile lazily - nil)) - -(defun rng-element-get-child (element) - (let ((tem (rng-ipattern-get-child element))) - (if (vectorp tem) - tem - (rng-ipattern-set-child element (rng-compile tem))))) - -(defun rng-compile-attribute (name-class pattern) - (rng-intern-attribute (rng-compile-name-class name-class) - (rng-compile pattern))) - -(defun rng-compile-ref (pattern name) - (and (memq pattern rng-being-compiled) - (rng-compile-error "Reference loop on symbol %s" name)) - (setq rng-being-compiled - (cons pattern rng-being-compiled)) - (unwind-protect - (rng-compile pattern) - (setq rng-being-compiled - (cdr rng-being-compiled)))) - -(defun rng-compile-one-or-more (pattern) - (rng-intern-one-or-more (rng-compile pattern))) - -(defun rng-compile-zero-or-more (pattern) - (rng-intern-optional - (rng-intern-one-or-more (rng-compile pattern)))) - -(defun rng-compile-optional (pattern) - (rng-intern-optional (rng-compile pattern))) - -(defun rng-compile-mixed (pattern) - (rng-intern-interleave (cons rng-text-ipattern - (list (rng-compile pattern))))) - -(defun rng-compile-list (pattern) - (rng-intern-list (rng-compile pattern))) - -(defun rng-compile-choice (&rest patterns) - (rng-intern-choice (mapcar 'rng-compile patterns))) - -(defun rng-compile-group (&rest patterns) - (rng-intern-group (mapcar 'rng-compile patterns))) - -(defun rng-compile-interleave (&rest patterns) - (rng-intern-interleave (mapcar 'rng-compile patterns))) - -(defun rng-compile-dt (name params) - (let ((rng-dt-error-reporter 'rng-compile-error)) - (funcall (let ((uri (car name))) - (or (get uri 'rng-dt-compile) - (rng-compile-error "Unknown datatype library %s" uri))) - (cdr name) - params))) - -(defun rng-compile-data (name params) - (let ((dt (rng-compile-dt name params))) - (rng-intern-data (cdr dt) (car dt)))) - -(defun rng-compile-data-except (name params pattern) - (rng-intern-data-except (cdr (rng-compile-dt name params)) - (rng-compile pattern))) - -(defun rng-compile-value (name str context) - (let* ((dt (cdr (rng-compile-dt name '()))) - (rng-dt-namespace-context-getter (list 'identity context)) - (obj (rng-dt-make-value dt str))) - (if obj - (rng-intern-value dt obj) - (rng-compile-error "Value %s is not a valid instance of the datatype %s" - str - name)))) - -(defun rng-compile-name-class (nc) - (let ((type (car nc))) - (cond ((eq type 'name) (nth 1 nc)) - ((eq type 'any-name) [any-name]) - ((eq type 'any-name-except) - (vector 'any-name-except - (rng-compile-name-class (nth 1 nc)))) - ((eq type 'ns-name) - (vector 'ns-name (nth 1 nc))) - ((eq type 'ns-name-except) - (vector 'ns-name-except - (nth 1 nc) - (rng-compile-name-class (nth 2 nc)))) - ((eq type 'choice) - (vector 'choice - (mapcar 'rng-compile-name-class (cdr nc)))) - (t (error "Bad name-class type %s" type))))) - -;;; Searching patterns - -;; We write this non-recursively to avoid hitting max-lisp-eval-depth -;; on large schemas. - -(defun rng-map-element-attribute (function pattern accum &rest args) - (let ((searched (make-hash-table :test 'eq)) - type todo patterns) - (while (progn - (setq type (car pattern)) - (cond ((memq type '(element attribute)) - (setq accum - (apply function - (cons pattern - (cons accum args)))) - (setq pattern (nth 2 pattern))) - ((eq type 'ref) - (setq pattern (nth 1 pattern)) - (if (gethash pattern searched) - (setq pattern nil) - (puthash pattern t searched))) - ((memq type '(choice group interleave)) - (setq todo (cons (cdr pattern) todo)) - (setq pattern nil)) - ((memq type '(one-or-more - zero-or-more - optional - mixed)) - (setq pattern (nth 1 pattern))) - (t (setq pattern nil))) - (cond (pattern) - (patterns - (setq pattern (car patterns)) - (setq patterns (cdr patterns)) - t) - (todo - (setq patterns (car todo)) - (setq todo (cdr todo)) - (setq pattern (car patterns)) - (setq patterns (cdr patterns)) - t)))) - accum)) - -(defun rng-find-element-content-pattern (pattern accum name) - (if (and (eq (car pattern) 'element) - (rng-search-name name (nth 1 pattern))) - (cons (rng-compile (nth 2 pattern)) accum) - accum)) - -(defun rng-search-name (name nc) - (let ((type (car nc))) - (cond ((eq type 'name) - (equal (cadr nc) name)) - ((eq type 'choice) - (let ((choices (cdr nc)) - (found nil)) - (while (and choices (not found)) - (if (rng-search-name name (car choices)) - (setq found t) - (setq choices (cdr choices)))) - found)) - (t nil)))) - -(defun rng-find-name-class-uris (nc accum) - (let ((type (car nc))) - (cond ((eq type 'name) - (rng-accum-namespace-uri (car (nth 1 nc)) accum)) - ((memq type '(ns-name ns-name-except)) - (rng-accum-namespace-uri (nth 1 nc) accum)) - ((eq type 'choice) - (let ((choices (cdr nc))) - (while choices - (setq accum - (rng-find-name-class-uris (car choices) accum)) - (setq choices (cdr choices)))) - accum) - (t accum)))) - -(defun rng-accum-namespace-uri (ns accum) - (if (and ns (not (memq ns accum))) - (cons ns accum) - accum)) - -;;; Derivatives - -(defun rng-ipattern-text-typed-p (ipattern) - (let ((memo (rng-ipattern-get-memo-text-typed ipattern))) - (if (eq memo 'unknown) - (rng-ipattern-set-memo-text-typed - ipattern - (rng-ipattern-compute-text-typed-p ipattern)) - memo))) - -(defun rng-ipattern-compute-text-typed-p (ipattern) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'choice) - (let ((cur (rng-ipattern-get-child ipattern)) - (ret nil)) - (while (and cur (not ret)) - (if (rng-ipattern-text-typed-p (car cur)) - (setq ret t) - (setq cur (cdr cur)))) - ret)) - ((eq type 'group) - (let ((cur (rng-ipattern-get-child ipattern)) - (ret nil) - member) - (while (and cur (not ret)) - (setq member (car cur)) - (if (rng-ipattern-text-typed-p member) - (setq ret t)) - (setq cur - (and (rng-ipattern-get-nullable member) - (cdr cur)))) - ret)) - ((eq type 'after) - (rng-ipattern-text-typed-p (rng-ipattern-get-child ipattern))) - (t (and (memq type '(value list data data-except)) t))))) - -(defun rng-start-tag-open-deriv (ipattern nm) - (or (rng-memo-map-get - nm - (rng-ipattern-get-memo-map-start-tag-open-deriv ipattern)) - (rng-ipattern-memo-start-tag-open-deriv - ipattern - nm - (rng-compute-start-tag-open-deriv ipattern nm)))) - -(defun rng-ipattern-memo-start-tag-open-deriv (ipattern nm deriv) - (or (memq ipattern rng-const-ipatterns) - (rng-ipattern-set-memo-map-start-tag-open-deriv - ipattern - (rng-memo-map-add nm - deriv - (rng-ipattern-get-memo-map-start-tag-open-deriv - ipattern)))) - deriv) - -(defun rng-compute-start-tag-open-deriv (ipattern nm) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'choice) - (rng-transform-choice `(lambda (p) - (rng-start-tag-open-deriv p ',nm)) - ipattern)) - ((eq type 'element) - (if (rng-name-class-contains - (rng-ipattern-get-name-class ipattern) - nm) - (rng-intern-after (rng-element-get-child ipattern) - rng-empty-ipattern) - rng-not-allowed-ipattern)) - ((eq type 'group) - (rng-transform-group-nullable - `(lambda (p) (rng-start-tag-open-deriv p ',nm)) - 'rng-cons-group-after - ipattern)) - ((eq type 'interleave) - (rng-transform-interleave-single - `(lambda (p) (rng-start-tag-open-deriv p ',nm)) - 'rng-subst-interleave-after - ipattern)) - ((eq type 'one-or-more) - (rng-apply-after - `(lambda (p) - (rng-intern-group (list p ,(rng-intern-optional ipattern)))) - (rng-start-tag-open-deriv (rng-ipattern-get-child ipattern) - nm))) - ((eq type 'after) - (rng-apply-after - `(lambda (p) - (rng-intern-after p - ,(rng-ipattern-get-after ipattern))) - (rng-start-tag-open-deriv (rng-ipattern-get-child ipattern) - nm))) - (t rng-not-allowed-ipattern)))) - -(defun rng-start-attribute-deriv (ipattern nm) - (or (rng-memo-map-get - nm - (rng-ipattern-get-memo-map-start-attribute-deriv ipattern)) - (rng-ipattern-memo-start-attribute-deriv - ipattern - nm - (rng-compute-start-attribute-deriv ipattern nm)))) - -(defun rng-ipattern-memo-start-attribute-deriv (ipattern nm deriv) - (or (memq ipattern rng-const-ipatterns) - (rng-ipattern-set-memo-map-start-attribute-deriv - ipattern - (rng-memo-map-add - nm - deriv - (rng-ipattern-get-memo-map-start-attribute-deriv ipattern)))) - deriv) - -(defun rng-compute-start-attribute-deriv (ipattern nm) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'choice) - (rng-transform-choice `(lambda (p) - (rng-start-attribute-deriv p ',nm)) - ipattern)) - ((eq type 'attribute) - (if (rng-name-class-contains - (rng-ipattern-get-name-class ipattern) - nm) - (rng-intern-after (rng-ipattern-get-child ipattern) - rng-empty-ipattern) - rng-not-allowed-ipattern)) - ((eq type 'group) - (rng-transform-interleave-single - `(lambda (p) (rng-start-attribute-deriv p ',nm)) - 'rng-subst-group-after - ipattern)) - ((eq type 'interleave) - (rng-transform-interleave-single - `(lambda (p) (rng-start-attribute-deriv p ',nm)) - 'rng-subst-interleave-after - ipattern)) - ((eq type 'one-or-more) - (rng-apply-after - `(lambda (p) - (rng-intern-group (list p ,(rng-intern-optional ipattern)))) - (rng-start-attribute-deriv (rng-ipattern-get-child ipattern) - nm))) - ((eq type 'after) - (rng-apply-after - `(lambda (p) - (rng-intern-after p ,(rng-ipattern-get-after ipattern))) - (rng-start-attribute-deriv (rng-ipattern-get-child ipattern) - nm))) - (t rng-not-allowed-ipattern)))) - -(defun rng-cons-group-after (x y) - (rng-apply-after `(lambda (p) (rng-intern-group (cons p ',y))) - x)) - -(defun rng-subst-group-after (new old list) - (rng-apply-after `(lambda (p) - (rng-intern-group (rng-substq p ,old ',list))) - new)) - -(defun rng-subst-interleave-after (new old list) - (rng-apply-after `(lambda (p) - (rng-intern-interleave (rng-substq p ,old ',list))) - new)) - -(defun rng-apply-after (f ipattern) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'after) - (rng-intern-after - (rng-ipattern-get-child ipattern) - (funcall f - (rng-ipattern-get-after ipattern)))) - ((eq type 'choice) - (rng-transform-choice `(lambda (x) (rng-apply-after ,f x)) - ipattern)) - (t rng-not-allowed-ipattern)))) - -(defun rng-start-tag-close-deriv (ipattern) - (or (rng-ipattern-get-memo-start-tag-close-deriv ipattern) - (rng-ipattern-set-memo-start-tag-close-deriv - ipattern - (rng-compute-start-tag-close-deriv ipattern)))) - -(defconst rng-transform-map - '((choice . rng-transform-choice) - (group . rng-transform-group) - (interleave . rng-transform-interleave) - (one-or-more . rng-transform-one-or-more) - (after . rng-transform-after-child))) - -(defun rng-compute-start-tag-close-deriv (ipattern) - (let* ((type (rng-ipattern-get-type ipattern))) - (if (eq type 'attribute) - rng-not-allowed-ipattern - (let ((transform (assq type rng-transform-map))) - (if transform - (funcall (cdr transform) - 'rng-start-tag-close-deriv - ipattern) - ipattern))))) - -(defun rng-ignore-attributes-deriv (ipattern) - (let* ((type (rng-ipattern-get-type ipattern))) - (if (eq type 'attribute) - rng-empty-ipattern - (let ((transform (assq type rng-transform-map))) - (if transform - (funcall (cdr transform) - 'rng-ignore-attributes-deriv - ipattern) - ipattern))))) - -(defun rng-text-only-deriv (ipattern) - (or (rng-ipattern-get-memo-text-only-deriv ipattern) - (rng-ipattern-set-memo-text-only-deriv - ipattern - (rng-compute-text-only-deriv ipattern)))) - -(defun rng-compute-text-only-deriv (ipattern) - (let* ((type (rng-ipattern-get-type ipattern))) - (if (eq type 'element) - rng-not-allowed-ipattern - (let ((transform (assq type - '((choice . rng-transform-choice) - (group . rng-transform-group) - (interleave . rng-transform-interleave) - (one-or-more . rng-transform-one-or-more) - (after . rng-transform-after-child))))) - (if transform - (funcall (cdr transform) - 'rng-text-only-deriv - ipattern) - ipattern))))) - -(defun rng-mixed-text-deriv (ipattern) - (or (rng-ipattern-get-memo-mixed-text-deriv ipattern) - (rng-ipattern-set-memo-mixed-text-deriv - ipattern - (rng-compute-mixed-text-deriv ipattern)))) - -(defun rng-compute-mixed-text-deriv (ipattern) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'text) ipattern) - ((eq type 'after) - (rng-transform-after-child 'rng-mixed-text-deriv - ipattern)) - ((eq type 'choice) - (rng-transform-choice 'rng-mixed-text-deriv - ipattern)) - ((eq type 'one-or-more) - (rng-intern-group - (list (rng-mixed-text-deriv - (rng-ipattern-get-child ipattern)) - (rng-intern-optional ipattern)))) - ((eq type 'group) - (rng-transform-group-nullable - 'rng-mixed-text-deriv - (lambda (x y) (rng-intern-group (cons x y))) - ipattern)) - ((eq type 'interleave) - (rng-transform-interleave-single - 'rng-mixed-text-deriv - (lambda (new old list) (rng-intern-interleave - (rng-substq new old list))) - ipattern)) - ((and (eq type 'data) - (not (rng-ipattern-get-memo-text-typed ipattern))) - ipattern) - (t rng-not-allowed-ipattern)))) - -(defun rng-end-tag-deriv (ipattern) - (or (rng-ipattern-get-memo-end-tag-deriv ipattern) - (rng-ipattern-set-memo-end-tag-deriv - ipattern - (rng-compute-end-tag-deriv ipattern)))) - -(defun rng-compute-end-tag-deriv (ipattern) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'choice) - (rng-intern-choice - (mapcar 'rng-end-tag-deriv - (rng-ipattern-get-child ipattern)))) - ((eq type 'after) - (if (rng-ipattern-get-nullable - (rng-ipattern-get-child ipattern)) - (rng-ipattern-get-after ipattern) - rng-not-allowed-ipattern)) - (t rng-not-allowed-ipattern)))) - -(defun rng-data-deriv (ipattern value) - (or (rng-memo-map-get value - (rng-ipattern-get-memo-map-data-deriv ipattern)) - (and (rng-memo-map-get - (cons value (rng-namespace-context-get-no-trace)) - (rng-ipattern-get-memo-map-data-deriv ipattern)) - (rng-memo-map-get - (cons value (apply (car rng-dt-namespace-context-getter) - (cdr rng-dt-namespace-context-getter))) - (rng-ipattern-get-memo-map-data-deriv ipattern))) - (let* ((used-context (vector nil)) - (rng-dt-namespace-context-getter - (cons 'rng-namespace-context-tracer - (cons used-context - rng-dt-namespace-context-getter))) - (deriv (rng-compute-data-deriv ipattern value))) - (rng-ipattern-memo-data-deriv ipattern - value - (aref used-context 0) - deriv)))) - -(defun rng-namespace-context-tracer (used getter &rest args) - (let ((context (apply getter args))) - (aset used 0 context) - context)) - -(defun rng-namespace-context-get-no-trace () - (let ((tem rng-dt-namespace-context-getter)) - (while (and tem (eq (car tem) 'rng-namespace-context-tracer)) - (setq tem (cddr tem))) - (apply (car tem) (cdr tem)))) - -(defconst rng-memo-data-deriv-max-length 80 - "Don't memoize data-derivs for values longer than this.") - -(defun rng-ipattern-memo-data-deriv (ipattern value context deriv) - (or (memq ipattern rng-const-ipatterns) - (> (length value) rng-memo-data-deriv-max-length) - (rng-ipattern-set-memo-map-data-deriv - ipattern - (rng-memo-map-add (if context (cons value context) value) - deriv - (rng-ipattern-get-memo-map-data-deriv ipattern) - t))) - deriv) - -(defun rng-compute-data-deriv (ipattern value) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'text) ipattern) - ((eq type 'choice) - (rng-transform-choice `(lambda (p) (rng-data-deriv p ,value)) - ipattern)) - ((eq type 'group) - (rng-transform-group-nullable - `(lambda (p) (rng-data-deriv p ,value)) - (lambda (x y) (rng-intern-group (cons x y))) - ipattern)) - ((eq type 'one-or-more) - (rng-intern-group (list (rng-data-deriv - (rng-ipattern-get-child ipattern) - value) - (rng-intern-optional ipattern)))) - ((eq type 'after) - (let ((child (rng-ipattern-get-child ipattern))) - (if (or (rng-ipattern-get-nullable - (rng-data-deriv child value)) - (and (rng-ipattern-get-nullable child) - (rng-blank-p value))) - (rng-ipattern-get-after ipattern) - rng-not-allowed-ipattern))) - ((eq type 'data) - (if (rng-dt-make-value (rng-ipattern-get-datatype ipattern) - value) - rng-empty-ipattern - rng-not-allowed-ipattern)) - ((eq type 'data-except) - (if (and (rng-dt-make-value (rng-ipattern-get-datatype ipattern) - value) - (not (rng-ipattern-get-nullable - (rng-data-deriv - (rng-ipattern-get-child ipattern) - value)))) - rng-empty-ipattern - rng-not-allowed-ipattern)) - ((eq type 'value) - (if (equal (rng-dt-make-value (rng-ipattern-get-datatype ipattern) - value) - (rng-ipattern-get-value-object ipattern)) - rng-empty-ipattern - rng-not-allowed-ipattern)) - ((eq type 'list) - (let ((tokens (split-string value)) - (state (rng-ipattern-get-child ipattern))) - (while (and tokens - (not (eq state rng-not-allowed-ipattern))) - (setq state (rng-data-deriv state (car tokens))) - (setq tokens (cdr tokens))) - (if (rng-ipattern-get-nullable state) - rng-empty-ipattern - rng-not-allowed-ipattern))) - ;; don't think interleave can occur - ;; since we do text-only-deriv first - (t rng-not-allowed-ipattern)))) - -(defun rng-transform-multi (f ipattern interner) - (let* ((members (rng-ipattern-get-child ipattern)) - (transformed (mapcar f members))) - (if (rng-members-eq members transformed) - ipattern - (funcall interner transformed)))) - -(defun rng-transform-choice (f ipattern) - (rng-transform-multi f ipattern 'rng-intern-choice)) - -(defun rng-transform-group (f ipattern) - (rng-transform-multi f ipattern 'rng-intern-group)) - -(defun rng-transform-interleave (f ipattern) - (rng-transform-multi f ipattern 'rng-intern-interleave)) - -(defun rng-transform-one-or-more (f ipattern) - (let* ((child (rng-ipattern-get-child ipattern)) - (transformed (funcall f child))) - (if (eq child transformed) - ipattern - (rng-intern-one-or-more transformed)))) - -(defun rng-transform-after-child (f ipattern) - (let* ((child (rng-ipattern-get-child ipattern)) - (transformed (funcall f child))) - (if (eq child transformed) - ipattern - (rng-intern-after transformed - (rng-ipattern-get-after ipattern))))) - -(defun rng-transform-interleave-single (f subster ipattern) - (let ((children (rng-ipattern-get-child ipattern)) - found) - (while (and children (not found)) - (let* ((child (car children)) - (transformed (funcall f child))) - (if (eq transformed rng-not-allowed-ipattern) - (setq children (cdr children)) - (setq found - (funcall subster - transformed - child - (rng-ipattern-get-child ipattern)))))) - (or found - rng-not-allowed-ipattern))) - -(defun rng-transform-group-nullable (f conser ipattern) - "Given a group x1,...,xn,y1,...,yn where the xs are all -nullable and y1 isn't, return a choice - (conser f(x1) x2,...,xm,y1,...,yn) - |(conser f(x2) x3,...,xm,y1,...,yn) - |... - |(conser f(xm) y1,...,yn) - |(conser f(y1) y2,...,yn)" - (rng-intern-choice - (rng-transform-group-nullable-gen-choices - f - conser - (rng-ipattern-get-child ipattern)))) - -(defun rng-transform-group-nullable-gen-choices (f conser members) - (let ((head (car members)) - (tail (cdr members))) - (if tail - (cons (funcall conser (funcall f head) tail) - (if (rng-ipattern-get-nullable head) - (rng-transform-group-nullable-gen-choices f conser tail) - nil)) - (list (funcall f head))))) - -(defun rng-members-eq (list1 list2) - (while (and list1 - list2 - (eq (car list1) (car list2))) - (setq list1 (cdr list1)) - (setq list2 (cdr list2))) - (and (null list1) (null list2))) - - -(defun rng-ipattern-after (ipattern) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'choice) - (rng-transform-choice 'rng-ipattern-after ipattern)) - ((eq type 'after) - (rng-ipattern-get-after ipattern)) - ((eq type 'not-allowed) - ipattern) - (t (error "Internal error in rng-ipattern-after: unexpected type %s" type))))) - -(defun rng-unknown-start-tag-open-deriv (ipattern) - (rng-intern-after (rng-compile rng-any-content) ipattern)) - -(defun rng-ipattern-optionalize-elements (ipattern) - (let* ((type (rng-ipattern-get-type ipattern)) - (transform (assq type rng-transform-map))) - (cond (transform - (funcall (cdr transform) - 'rng-ipattern-optionalize-elements - ipattern)) - ((eq type 'element) - (rng-intern-optional ipattern)) - (t ipattern)))) - -(defun rng-ipattern-empty-before-p (ipattern) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'after) - (eq (rng-ipattern-get-child ipattern) rng-empty-ipattern)) - ((eq type 'choice) - (let ((members (rng-ipattern-get-child ipattern)) - (ret t)) - (while (and members ret) - (or (rng-ipattern-empty-before-p (car members)) - (setq ret nil)) - (setq members (cdr members))) - ret)) - (t nil)))) - -(defun rng-ipattern-possible-start-tags (ipattern accum) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'after) - (rng-ipattern-possible-start-tags - (rng-ipattern-get-child ipattern) - accum)) - ((memq type '(choice interleave)) - (let ((members (rng-ipattern-get-child ipattern))) - (while members - (setq accum - (rng-ipattern-possible-start-tags (car members) - accum)) - (setq members (cdr members)))) - accum) - ((eq type 'group) - (let ((members (rng-ipattern-get-child ipattern))) - (while members - (setq accum - (rng-ipattern-possible-start-tags (car members) - accum)) - (setq members - (and (rng-ipattern-get-nullable (car members)) - (cdr members))))) - accum) - ((eq type 'element) - (if (eq (rng-element-get-child ipattern) rng-not-allowed-ipattern) - accum - (rng-name-class-possible-names - (rng-ipattern-get-name-class ipattern) - accum))) - ((eq type 'one-or-more) - (rng-ipattern-possible-start-tags - (rng-ipattern-get-child ipattern) - accum)) - (t accum)))) - -(defun rng-ipattern-start-tag-possible-p (ipattern) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((memq type '(after one-or-more)) - (rng-ipattern-start-tag-possible-p - (rng-ipattern-get-child ipattern))) - ((memq type '(choice interleave)) - (let ((members (rng-ipattern-get-child ipattern)) - (possible nil)) - (while (and members (not possible)) - (setq possible - (rng-ipattern-start-tag-possible-p (car members))) - (setq members (cdr members))) - possible)) - ((eq type 'group) - (let ((members (rng-ipattern-get-child ipattern)) - (possible nil)) - (while (and members (not possible)) - (setq possible - (rng-ipattern-start-tag-possible-p (car members))) - (setq members - (and (rng-ipattern-get-nullable (car members)) - (cdr members)))) - possible)) - ((eq type 'element) - (not (eq (rng-element-get-child ipattern) - rng-not-allowed-ipattern))) - (t nil)))) - -(defun rng-ipattern-possible-attributes (ipattern accum) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'after) - (rng-ipattern-possible-attributes (rng-ipattern-get-child ipattern) - accum)) - ((memq type '(choice interleave group)) - (let ((members (rng-ipattern-get-child ipattern))) - (while members - (setq accum - (rng-ipattern-possible-attributes (car members) - accum)) - (setq members (cdr members)))) - accum) - ((eq type 'attribute) - (rng-name-class-possible-names - (rng-ipattern-get-name-class ipattern) - accum)) - ((eq type 'one-or-more) - (rng-ipattern-possible-attributes - (rng-ipattern-get-child ipattern) - accum)) - (t accum)))) - -(defun rng-ipattern-possible-values (ipattern accum) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'after) - (rng-ipattern-possible-values (rng-ipattern-get-child ipattern) - accum)) - ((eq type 'choice) - (let ((members (rng-ipattern-get-child ipattern))) - (while members - (setq accum - (rng-ipattern-possible-values (car members) - accum)) - (setq members (cdr members)))) - accum) - ((eq type 'value) - (let ((value-object (rng-ipattern-get-value-object ipattern))) - (if (stringp value-object) - (cons value-object accum) - accum))) - (t accum)))) - -(defun rng-ipattern-required-element (ipattern) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((memq type '(after one-or-more)) - (rng-ipattern-required-element (rng-ipattern-get-child ipattern))) - ((eq type 'choice) - (let* ((members (rng-ipattern-get-child ipattern)) - (required (rng-ipattern-required-element (car members)))) - (while (and required - (setq members (cdr members))) - (unless (equal required - (rng-ipattern-required-element (car members))) - (setq required nil))) - required)) - ((eq type 'group) - (let ((members (rng-ipattern-get-child ipattern)) - required) - (while (and (not (setq required - (rng-ipattern-required-element - (car members)))) - (rng-ipattern-get-nullable (car members)) - (setq members (cdr members)))) - required)) - ((eq type 'interleave) - (let ((members (rng-ipattern-get-child ipattern)) - required) - (while members - (let ((tem (rng-ipattern-required-element (car members)))) - (cond ((not tem) - (setq members (cdr members))) - ((not required) - (setq required tem) - (setq members (cdr members))) - ((equal required tem) - (setq members (cdr members))) - (t - (setq required nil) - (setq members nil))))) - required)) - ((eq type 'element) - (let ((nc (rng-ipattern-get-name-class ipattern))) - (and (consp nc) - (not (eq (rng-element-get-child ipattern) - rng-not-allowed-ipattern)) - nc)))))) - -(defun rng-ipattern-required-attributes (ipattern accum) - (let ((type (rng-ipattern-get-type ipattern))) - (cond ((eq type 'after) - (rng-ipattern-required-attributes (rng-ipattern-get-child ipattern) - accum)) - ((memq type '(interleave group)) - (let ((members (rng-ipattern-get-child ipattern))) - (while members - (setq accum - (rng-ipattern-required-attributes (car members) - accum)) - (setq members (cdr members)))) - accum) - ((eq type 'choice) - (let ((members (rng-ipattern-get-child ipattern)) - in-all in-this new-in-all) - (setq in-all - (rng-ipattern-required-attributes (car members) - nil)) - (while (and in-all (setq members (cdr members))) - (setq in-this - (rng-ipattern-required-attributes (car members) nil)) - (setq new-in-all nil) - (while in-this - (when (member (car in-this) in-all) - (setq new-in-all - (cons (car in-this) new-in-all))) - (setq in-this (cdr in-this))) - (setq in-all new-in-all)) - (append in-all accum))) - ((eq type 'attribute) - (let ((nc (rng-ipattern-get-name-class ipattern))) - (if (consp nc) - (cons nc accum) - accum))) - ((eq type 'one-or-more) - (rng-ipattern-required-attributes (rng-ipattern-get-child ipattern) - accum)) - (t accum)))) - -(defun rng-compile-error (&rest args) - (signal 'rng-compile-error - (list (apply 'format args)))) - -(put 'rng-compile-error - 'error-conditions - '(error rng-error rng-compile-error)) - -(put 'rng-compile-error - 'error-message - "Incorrect schema") - - -;;; External API - -(defsubst rng-match-state () rng-match-state) - -(defsubst rng-set-match-state (state) - (setq rng-match-state state)) - -(defsubst rng-match-state-equal (state) - (eq state rng-match-state)) - -(defun rng-schema-changed () - (rng-ipattern-clear) - (rng-compile-clear)) - -(defun rng-match-init-buffer () - (make-local-variable 'rng-compile-table) - (make-local-variable 'rng-ipattern-table) - (make-local-variable 'rng-last-ipattern-index)) - -(defun rng-match-start-document () - (rng-ipattern-maybe-init) - (rng-compile-maybe-init) - (add-hook 'rng-schema-change-hook 'rng-schema-changed nil t) - (setq rng-match-state (rng-compile rng-current-schema))) - -(defun rng-match-start-tag-open (name) - (rng-update-match-state (rng-start-tag-open-deriv rng-match-state - name))) - -(defun rng-match-attribute-name (name) - (rng-update-match-state (rng-start-attribute-deriv rng-match-state - name))) - -(defun rng-match-attribute-value (value) - (rng-update-match-state (rng-data-deriv rng-match-state - value))) - -(defun rng-match-element-value (value) - (and (rng-update-match-state (rng-text-only-deriv rng-match-state)) - (rng-update-match-state (rng-data-deriv rng-match-state - value)))) - -(defun rng-match-start-tag-close () - (rng-update-match-state (rng-start-tag-close-deriv rng-match-state))) - -(defun rng-match-mixed-text () - (rng-update-match-state (rng-mixed-text-deriv rng-match-state))) - -(defun rng-match-end-tag () - (rng-update-match-state (rng-end-tag-deriv rng-match-state))) - -(defun rng-match-after () - (rng-update-match-state - (rng-ipattern-after rng-match-state))) - -(defun rng-match-out-of-context-start-tag-open (name) - (let* ((found (rng-map-element-attribute 'rng-find-element-content-pattern - rng-current-schema - nil - name)) - (content-pattern (if found - (rng-intern-choice found) - rng-not-allowed-ipattern))) - (rng-update-match-state - (rng-intern-after content-pattern rng-match-state)))) - -(defun rng-match-possible-namespace-uris () - "Return a list of all the namespace URIs used in the current schema. -The absent URI is not included, so the result is always list of symbols." - (rng-map-element-attribute (lambda (pattern accum) - (rng-find-name-class-uris (nth 1 pattern) - accum)) - rng-current-schema - nil)) - -(defun rng-match-unknown-start-tag-open () - (rng-update-match-state - (rng-unknown-start-tag-open-deriv rng-match-state))) - -(defun rng-match-optionalize-elements () - (rng-update-match-state - (rng-ipattern-optionalize-elements rng-match-state))) - -(defun rng-match-ignore-attributes () - (rng-update-match-state - (rng-ignore-attributes-deriv rng-match-state))) - -(defun rng-match-text-typed-p () - (rng-ipattern-text-typed-p rng-match-state)) - -(defun rng-match-empty-content () - (if (rng-match-text-typed-p) - (rng-match-element-value "") - (rng-match-end-tag))) - -(defun rng-match-empty-before-p () - "Return non-nil if what can be matched before an end-tag is empty. -In other words, return non-nil if the pattern for what can be matched -for an end-tag is equivalent to empty." - (rng-ipattern-empty-before-p rng-match-state)) - -(defun rng-match-infer-start-tag-namespace (local-name) - (let ((ncs (rng-ipattern-possible-start-tags rng-match-state nil)) - (nc nil) - (ns nil)) - (while ncs - (setq nc (car ncs)) - (if (and (equal (cdr nc) local-name) - (symbolp (car nc))) - (cond ((not ns) - ;; first possible namespace - (setq ns (car nc)) - (setq ncs (cdr ncs))) - ((equal ns (car nc)) - ;; same as first namespace - (setq ncs (cdr ncs))) - (t - ;; more than one possible namespace - (setq ns nil) - (setq ncs nil))) - (setq ncs (cdr ncs)))) - ns)) - -(defun rng-match-nullable-p () - (rng-ipattern-get-nullable rng-match-state)) - -(defun rng-match-possible-start-tag-names () - "Return a list of possible names that would be valid for start-tags. - -Each possible name is returned as a (NAMESPACE . LOCAL-NAME) pair, -where NAMESPACE is a symbol or nil (meaning the absent namespace) and -LOCAL-NAME is a string. The returned list may contain duplicates." - (rng-ipattern-possible-start-tags rng-match-state nil)) - -;; This is no longer used. It might be useful so leave it in for now. -(defun rng-match-start-tag-possible-p () - "Return non-nil if a start-tag is possible." - (rng-ipattern-start-tag-possible-p rng-match-state)) - -(defun rng-match-possible-attribute-names () - "Return a list of possible names that would be valid for attributes. - -See the function `rng-match-possible-start-tag-names' for -more information." - (rng-ipattern-possible-attributes rng-match-state nil)) - -(defun rng-match-possible-value-strings () - "Return a list of strings that would be valid as content. -The list may contain duplicates. Typically, the list will not -be exhaustive." - (rng-ipattern-possible-values rng-match-state nil)) - -(defun rng-match-required-element-name () - "Return the name of an element which must occur, or nil if none." - (rng-ipattern-required-element rng-match-state)) - -(defun rng-match-required-attribute-names () - "Return a list of names of attributes which must all occur." - (rng-ipattern-required-attributes rng-match-state nil)) - -(defmacro rng-match-save (&rest body) - (let ((state (make-symbol "state"))) - `(let ((,state rng-match-state)) - (unwind-protect - (progn ,@body) - (setq rng-match-state ,state))))) - -(put 'rng-match-save 'lisp-indent-function 0) -(def-edebug-spec rng-match-save t) - -(defmacro rng-match-with-schema (schema &rest body) - `(let ((rng-current-schema ,schema) - rng-match-state - rng-compile-table - rng-ipattern-table - rng-last-ipattern-index) - (rng-ipattern-maybe-init) - (rng-compile-maybe-init) - (setq rng-match-state (rng-compile rng-current-schema)) - ,@body)) - -(put 'rng-match-with-schema 'lisp-indent-function 1) -(def-edebug-spec rng-match-with-schema t) - -(provide 'rng-match) - -;;; rng-match.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-nxml.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-nxml.el deleted file mode 100644 index a571a26b5a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-nxml.el +++ /dev/null @@ -1,592 +0,0 @@ -;;; rng-nxml.el --- make nxml-mode take advantage of rng-validate-mode - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;;; Code: - -(require 'easymenu) -(require 'xmltok) -(require 'nxml-util) -(require 'nxml-ns) -(require 'rng-match) -(require 'rng-util) -(require 'rng-valid) -(require 'nxml-mode) -(require 'rng-loc) - -(defcustom rng-nxml-auto-validate-flag t - "*Non-nil means automatically turn on validation with nxml-mode." - :type 'boolean - :group 'relax-ng) - -(defvar rng-preferred-prefix-alist-default nil - "Default value for variable `rng-preferred-prefix-alist'.") - -(defcustom rng-preferred-prefix-alist rng-preferred-prefix-alist-default - "*Alist of namespaces vs preferred prefixes." - :type '(repeat (cons :tag "With" - (string :tag "this namespace URI") - (string :tag "use this prefix"))) - :group 'relax-ng) - -(defvar rng-complete-end-tags-after-< t - "*Non-nil means immediately after < complete on end-tag names. -Complete on start-tag names regardless.") - -(defvar rng-nxml-easy-menu - '("XML" - ["Show Outline Only" nxml-hide-all-text-content] - ["Show Everything" nxml-show-all] - "---" - ["Validation" rng-validate-mode - :style toggle - :selected rng-validate-mode] - "---" - ("Set Schema" - ["Automatically" rng-auto-set-schema] - ("For Document Type" - :filter (lambda (menu) - (mapcar (lambda (type-id) - (vector type-id - (list 'rng-set-document-type - type-id))) - (rng-possible-type-ids)))) - ["Any Well-Formed XML" rng-set-vacuous-schema] - ["File..." rng-set-schema-file]) - ["Show Schema Location" rng-what-schema] - ["Save Schema Location" rng-save-schema-location :help - "Save the location of the schema currently being used for this buffer"] - "---" - ["First Error" rng-first-error :active rng-validate-mode] - ["Next Error" rng-next-error :active rng-validate-mode] - "---" - ["Customize nXML" (customize-group 'nxml)] - "---" - ["Show nXML Version" nxml-version])) - -;;;###autoload -(defun rng-nxml-mode-init () - "Initialize `nxml-mode' to take advantage of `rng-validate-mode'. -This is typically called from `nxml-mode-hook'. -Validation will be enabled if `rng-nxml-auto-validate-flag' is non-nil." - (interactive) - (define-key nxml-mode-map "\C-c\C-v" 'rng-validate-mode) - (define-key nxml-mode-map "\C-c\C-s\C-w" 'rng-what-schema) - (define-key nxml-mode-map "\C-c\C-s\C-a" 'rng-auto-set-schema-and-validate) - (define-key nxml-mode-map "\C-c\C-s\C-f" 'rng-set-schema-file-and-validate) - (define-key nxml-mode-map "\C-c\C-s\C-l" 'rng-save-schema-location) - (define-key nxml-mode-map "\C-c\C-s\C-t" 'rng-set-document-type-and-validate) - (define-key nxml-mode-map "\C-c\C-n" 'rng-next-error) - (easy-menu-define rng-nxml-menu nxml-mode-map - "Menu for nxml-mode used with rng-validate-mode." - rng-nxml-easy-menu) - (setq mode-line-process - '(rng-validate-mode (:eval (rng-compute-mode-line-string)))) - (cond (rng-nxml-auto-validate-flag - (rng-validate-mode 1) - (add-hook 'nxml-completion-hook 'rng-complete nil t) - (add-hook 'nxml-in-mixed-content-hook 'rng-in-mixed-content-p nil t)) - (t - (rng-validate-mode 0) - (remove-hook 'nxml-completion-hook 'rng-complete t) - (remove-hook 'nxml-in-mixed-content-hook 'rng-in-mixed-content-p t)))) - -(defvar rng-tag-history nil) -(defvar rng-attribute-name-history nil) -(defvar rng-attribute-value-history nil) - -(defvar rng-complete-target-names nil) -(defvar rng-complete-name-attribute-flag nil) -(defvar rng-complete-extra-strings nil) - -(defun rng-complete () - "Complete the string before point using the current schema. -Return non-nil if in a context it understands." - (interactive) - (and rng-validate-mode - (let ((lt-pos (save-excursion (search-backward "<" nil t))) - xmltok-dtd) - (and lt-pos - (= (rng-set-state-after lt-pos) lt-pos) - (or (rng-complete-tag lt-pos) - (rng-complete-end-tag lt-pos) - (rng-complete-attribute-name lt-pos) - (rng-complete-attribute-value lt-pos)))))) - -(defconst rng-in-start-tag-name-regex - (replace-regexp-in-string - "w" - xmltok-ncname-regexp - "<\\(?:w\\(?::w?\\)?\\)?\\=" - t - t)) - -(defun rng-complete-tag (lt-pos) - (let (rng-complete-extra-strings) - (when (and (= lt-pos (1- (point))) - rng-complete-end-tags-after-< - rng-open-elements - (not (eq (car rng-open-elements) t)) - (or rng-collecting-text - (rng-match-save - (rng-match-end-tag)))) - (setq rng-complete-extra-strings - (cons (concat "/" - (if (caar rng-open-elements) - (concat (caar rng-open-elements) - ":" - (cdar rng-open-elements)) - (cdar rng-open-elements))) - rng-complete-extra-strings))) - (when (save-excursion - (re-search-backward rng-in-start-tag-name-regex - lt-pos - t)) - (and rng-collecting-text (rng-flush-text)) - (let ((completion - (let ((rng-complete-target-names - (rng-match-possible-start-tag-names)) - (rng-complete-name-attribute-flag nil)) - (rng-complete-before-point (1+ lt-pos) - 'rng-complete-qname-function - "Tag: " - nil - 'rng-tag-history))) - name) - (when completion - (cond ((rng-qname-p completion) - (setq name (rng-expand-qname completion - t - 'rng-start-tag-expand-recover)) - (when (and name - (rng-match-start-tag-open name) - (or (not (rng-match-start-tag-close)) - ;; need a namespace decl on the root element - (and (car name) - (not rng-open-elements)))) - ;; attributes are required - (insert " "))) - ((member completion rng-complete-extra-strings) - (insert ">"))))) - t))) - -(defconst rng-in-end-tag-name-regex - (replace-regexp-in-string - "w" - xmltok-ncname-regexp - "\\(?:w\\(?::w?\\)?\\)?\\=" - t - t)) - -(defun rng-complete-end-tag (lt-pos) - (when (save-excursion - (re-search-backward rng-in-end-tag-name-regex - lt-pos - t)) - (cond ((or (not rng-open-elements) - (eq (car rng-open-elements) t)) - (message "No matching start-tag") - (ding)) - (t - (let ((start-tag-name - (if (caar rng-open-elements) - (concat (caar rng-open-elements) - ":" - (cdar rng-open-elements)) - (cdar rng-open-elements))) - (end-tag-name - (buffer-substring-no-properties (+ (match-beginning 0) 2) - (point)))) - (cond ((or (> (length end-tag-name) - (length start-tag-name)) - (not (string= (substring start-tag-name - 0 - (length end-tag-name)) - end-tag-name))) - (message "Expected end-tag %s" - (rng-quote-string - (concat "" start-tag-name ">"))) - (ding)) - (t - (delete-region (- (point) (length end-tag-name)) - (point)) - (insert start-tag-name ">") - (when (not (or rng-collecting-text - (rng-match-end-tag))) - (message "Element %s is incomplete" - (rng-quote-string start-tag-name)))))))) - t)) - -(defconst rng-in-attribute-regex - (replace-regexp-in-string - "w" - xmltok-ncname-regexp - ;; Added escape to [ first on lines below: - " = POS. -This does not change the xmltok state or point. However, it does -set `xmltok-dtd'. Returns the position of the end of the token." - (unless pos (setq pos (point))) - (when (< rng-validate-up-to-date-end pos) - (message "Parsing...") - (while (and (rng-do-some-validation) - (< rng-validate-up-to-date-end pos)) - ;; Display percentage validated. - (force-mode-line-update) - ;; Force redisplay but don't allow idle timers to run. - (let ((timer-idle-list nil)) - (sit-for 0))) - (message "Parsing...done")) - (save-excursion - (save-restriction - (widen) - (nxml-with-invisible-motion - (if (= pos 1) - (rng-set-initial-state) - (let ((state (get-text-property (1- pos) 'rng-state))) - (cond (state - (rng-restore-state state) - (goto-char pos)) - (t - (let ((start (previous-single-property-change pos - 'rng-state))) - (cond (start - (rng-restore-state (get-text-property (1- start) - 'rng-state)) - (goto-char start)) - (t (rng-set-initial-state)))))))) - (xmltok-save - (if (= (point) 1) - (xmltok-forward-prolog) - (setq xmltok-dtd rng-dtd)) - (cond ((and (< pos (point)) - ;; This handles the case where the prolog ends - ;; with a < without any following name-start - ;; character. This will be treated by the parser - ;; as part of the prolog, but we want to treat - ;; it as the start of the instance. - (eq (char-after pos) ?<) - (<= (point) - (save-excursion - (goto-char (1+ pos)) - (skip-chars-forward " \t\r\n") - (point)))) - pos) - ((< (point) pos) - (let ((rng-dt-namespace-context-getter - '(nxml-ns-get-context)) - (rng-parsing-for-state t)) - (rng-forward pos)) - (point)) - (t pos))))))) - -(defun rng-adjust-state-for-attribute (lt-pos start) - (xmltok-save - (save-excursion - (goto-char lt-pos) - (when (memq (xmltok-forward) - '(start-tag - partial-start-tag - empty-element - partial-empty-element)) - (when (< start (point)) - (setq xmltok-namespace-attributes - (rng-prune-attribute-at start - xmltok-namespace-attributes)) - (setq xmltok-attributes - (rng-prune-attribute-at start - xmltok-attributes))) - (let ((rng-parsing-for-state t) - (rng-dt-namespace-context-getter '(nxml-ns-get-context))) - (rng-process-start-tag 'stop) - (rng-find-undeclared-prefixes) - t))))) - -(defun rng-find-undeclared-prefixes () - ;; Start with the newly effective namespace declarations. - ;; (Includes declarations added during recovery.) - (setq rng-undeclared-prefixes (nxml-ns-changed-prefixes)) - (let ((iter xmltok-attributes) - (ns-state (nxml-ns-state)) - att) - ;; Add namespace prefixes used in this tag, - ;; but not declared in the parent. - (nxml-ns-pop-state) - (while iter - (setq att (car iter)) - (let ((prefix (xmltok-attribute-prefix att))) - (when (and prefix - (not (member prefix rng-undeclared-prefixes)) - (not (nxml-ns-get-prefix prefix))) - (setq rng-undeclared-prefixes - (cons prefix rng-undeclared-prefixes)))) - (setq iter (cdr iter))) - (nxml-ns-set-state ns-state) - ;; Remove namespace prefixes explicitly declared. - (setq iter xmltok-namespace-attributes) - (while iter - (setq att (car iter)) - (setq rng-undeclared-prefixes - (delete (and (xmltok-attribute-prefix att) - (xmltok-attribute-local-name att)) - rng-undeclared-prefixes)) - (setq iter (cdr iter))))) - -(defun rng-prune-attribute-at (start atts) - (when atts - (let ((cur atts)) - (while (if (eq (xmltok-attribute-name-start (car cur)) start) - (progn - (setq atts (delq (car cur) atts)) - nil) - (setq cur (cdr cur))))) - atts)) - -(defun rng-adjust-state-for-attribute-value (name-start - colon - name-end) - (let* ((prefix (if colon - (buffer-substring-no-properties name-start colon) - nil)) - (local-name (buffer-substring-no-properties (if colon - (1+ colon) - name-start) - name-end)) - (ns (and prefix (nxml-ns-get-prefix prefix)))) - (and (or (not prefix) ns) - (rng-match-attribute-name (cons ns local-name))))) - -(defun rng-complete-qname-function (string predicate flag) - (let ((alist (mapcar (lambda (name) (cons name nil)) - (rng-generate-qname-list string)))) - (cond ((not flag) - (try-completion string alist predicate)) - ((eq flag t) - (all-completions string alist predicate)) - ((eq flag 'lambda) - (and (assoc string alist) t))))) - -(defun rng-generate-qname-list (&optional string) - (let ((forced-prefix (and string - (string-match ":" string) - (> (match-beginning 0) 0) - (substring string - 0 - (match-beginning 0)))) - (namespaces (mapcar 'car rng-complete-target-names)) - ns-prefixes-alist ns-prefixes iter ns prefer) - (while namespaces - (setq ns (car namespaces)) - (when ns - (setq ns-prefixes-alist - (cons (cons ns (nxml-ns-prefixes-for - ns - rng-complete-name-attribute-flag)) - ns-prefixes-alist))) - (setq namespaces (delq ns (cdr namespaces)))) - (setq iter ns-prefixes-alist) - (while iter - (setq ns-prefixes (car iter)) - (setq ns (car ns-prefixes)) - (when (null (cdr ns-prefixes)) - ;; No declared prefix for the namespace - (if forced-prefix - ;; If namespace non-nil and prefix undeclared, - ;; use forced prefix. - (when (and ns - (not (nxml-ns-get-prefix forced-prefix))) - (setcdr ns-prefixes (list forced-prefix))) - (setq prefer (rng-get-preferred-unused-prefix ns)) - (when prefer - (setcdr ns-prefixes (list prefer))) - ;; Unless it's an attribute with a non-nil namespace, - ;; allow no prefix for this namespace. - (unless rng-complete-name-attribute-flag - (setcdr ns-prefixes (cons nil (cdr ns-prefixes)))))) - (setq iter (cdr iter))) - (rng-uniquify-equal - (sort (apply 'append - (cons rng-complete-extra-strings - (mapcar (lambda (name) - (if (car name) - (mapcar (lambda (prefix) - (if prefix - (concat prefix - ":" - (cdr name)) - (cdr name))) - (cdr (assoc (car name) - ns-prefixes-alist))) - (list (cdr name)))) - rng-complete-target-names))) - 'string<)))) - -(defun rng-get-preferred-unused-prefix (ns) - (let ((ns-prefix (assoc (symbol-name ns) rng-preferred-prefix-alist)) - iter prefix) - (when ns-prefix - (setq prefix (cdr ns-prefix)) - (when (nxml-ns-get-prefix prefix) - ;; try to find an unused prefix - (setq iter (memq ns-prefix rng-preferred-prefix-alist)) - (while (and iter - (setq ns-prefix (assoc ns iter))) - (if (nxml-ns-get-prefix (cdr ns-prefix)) - (setq iter (memq ns-prefix iter)) - (setq prefix (cdr ns-prefix)) - nil)))) - prefix)) - -(defun rng-strings-to-completion-alist (strings) - (mapcar (lambda (s) (cons s s)) - (rng-uniquify-equal (sort (mapcar 'rng-escape-string strings) - 'string<)))) - -(provide 'rng-nxml) - -;;; rng-nxml.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-parse.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-parse.el deleted file mode 100644 index f4a0a4cc4c..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-parse.el +++ /dev/null @@ -1,104 +0,0 @@ -;;; rng-parse.el --- parse an XML file and validate it against a schema - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; This combines the validation machinery in rng-match.el with the -;; parser in nxml-parse.el by using the `nxml-validate-function' hook. - -;;; Code: - -(require 'nxml-parse) -(require 'rng-match) -(require 'rng-dt) - -(defvar rng-parse-prev-was-start-tag nil) - -(defun rng-parse-validate-file (schema file) - "Parse and validate the XML document in FILE and return it as a list. -The returned list has the same form as that returned by -`nxml-parse-file'. SCHEMA is a list representing the schema to use -for validation, such as returned by the function `rng-c-load-schema'. -If the XML document is invalid with respect to schema, an error will -be signaled in the same way as when it is not well-formed." - (save-excursion - (set-buffer (nxml-parse-find-file file)) - (unwind-protect - (let ((nxml-parse-file-name file) - (nxml-validate-function 'rng-parse-do-validate) - (rng-dt-namespace-context-getter '(nxml-ns-get-context)) - rng-parse-prev-was-start-tag) - ;; We don't simply call nxml-parse-file, because - ;; we want to do rng-match-with-schema in the same - ;; buffer in which we will call the other rng-match-* functions. - (rng-match-with-schema schema - (nxml-parse-instance))) - (kill-buffer nil)))) - -(defun rng-parse-do-validate (text start-tag) - (cond ((and (let ((tem rng-parse-prev-was-start-tag)) - (setq rng-parse-prev-was-start-tag (and start-tag t)) - tem) - (not start-tag) - (rng-match-text-typed-p)) - (unless (rng-match-element-value (or text "")) - (cons "Invalid data" (and text 'text)))) - ((and text - (not (rng-blank-p text)) - (not (rng-match-mixed-text))) - (cons "Text not allowed" 'text)) - ((not start-tag) - (unless (rng-match-end-tag) - (cons "Missing elements" nil))) - ((not (rng-match-start-tag-open - (rng-parse-to-match-name (car start-tag)))) - (cons "Element not allowed" nil)) - (t - (let ((atts (cadr start-tag)) - (i 0) - att err) - (while (and atts (not err)) - (setq att (car atts)) - (when (not (and (consp (car att)) - (eq (caar att) nxml-xmlns-namespace-uri))) - (setq err - (cond ((not (rng-match-attribute-name - (rng-parse-to-match-name (car att)))) - (cons "Attribute not allowed" - (cons 'attribute-name i))) - ((not (rng-match-attribute-value (cdr att))) - (cons "Invalid attribute value" - (cons 'attribute-value i)))))) - (setq atts (cdr atts)) - (setq i (1+ i))) - (or err - (unless (rng-match-start-tag-close) - (cons "Missing attributes" 'tag-close))))))) - -(defun rng-parse-to-match-name (name) - (if (consp name) - name - (cons nil name))) - -(provide 'rng-parse) - -;;; rng-parse.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-pttrn.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-pttrn.el deleted file mode 100644 index c3ae4c6812..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-pttrn.el +++ /dev/null @@ -1,189 +0,0 @@ -;;; rng-pttrn.el --- RELAX NG patterns - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; pattern ::= -;; (ref ) -;; | (choice ...) -;; | (group ...) -;; | (interleave ...) -;; | (zero-or-more ) -;; | (one-or-more ) -;; | (optional ) -;; | (mixed ) -;; | (value ) -;; | (data ) -;; | (data-except ) -;; | (list ) -;; | (element ) -;; | (attribute ) -;; | (text) -;; | (empty) -;; | (not-allowed) -;; -;; params ::= -;; (( . ) ...) -;; param-name ::= -;; param-value ::= -;; -;; name-class ::= -;; (name ) -;; | (any-name) -;; | (any-name-except ) -;; | (ns-name ) -;; | (ns-name-except ) -;; | (choice ...) -;; -;; name ::= ( . ) -;; ns ::= nil | -;; local-name ::= -;; datatype ::= ( . ) -;; datatype-uri ::= nil | -;; datatype-local-name ::= - -;;; Code: - -(defvar rng-schema-change-hook nil - "Hook to be run after `rng-current-schema' changes.") - -(defvar rng-current-schema nil - "Pattern to be used as schema for the current buffer.") -(make-variable-buffer-local 'rng-current-schema) - -(defun rng-make-ref (name) - (list 'ref nil name)) - -(defun rng-ref-set (ref pattern) - (setcar (cdr ref) pattern)) - -(defun rng-ref-get (ref) (cadr ref)) - -(defun rng-make-choice (patterns) - (cons 'choice patterns)) - -(defun rng-make-group (patterns) - (cons 'group patterns)) - -(defun rng-make-interleave (patterns) - (cons 'interleave patterns)) - -(defun rng-make-zero-or-more (pattern) - (list 'zero-or-more pattern)) - -(defun rng-make-one-or-more (pattern) - (list 'one-or-more pattern)) - -(defun rng-make-optional (pattern) - (list 'optional pattern)) - -(defun rng-make-mixed (pattern) - (list 'mixed pattern)) - -(defun rng-make-value (datatype str context) - (list 'value datatype str context)) - -(defun rng-make-data (name params) - (list 'data name params)) - -(defun rng-make-data-except (name params pattern) - (list 'data-except name params pattern)) - -(defun rng-make-list (pattern) - (list 'list pattern)) - -(defun rng-make-element (name-class pattern) - (list 'element name-class pattern)) - -(defun rng-make-attribute (name-class pattern) - (list 'attribute name-class pattern)) - -(defun rng-make-text () - '(text)) - -(defun rng-make-empty () - '(empty)) - -(defun rng-make-not-allowed () - '(not-allowed)) - -(defun rng-make-any-name-name-class () - '(any-name)) - -(defun rng-make-any-name-except-name-class (name-class) - (list 'any-name-except name-class)) - -(defun rng-make-ns-name-name-class (ns) - (list 'ns-name ns)) - -(defun rng-make-ns-name-except-name-class (ns name-class) - (list 'ns-name-except ns name-class)) - -(defun rng-make-name-name-class (name) - (list 'name name)) - -(defun rng-make-choice-name-class (name-classes) - (cons 'choice name-classes)) - -(defconst rng-any-content - (let* ((ref (rng-make-ref "any-content")) - (pattern (rng-make-zero-or-more - (rng-make-choice - (list - (rng-make-text) - (rng-make-attribute (rng-make-any-name-name-class) - (rng-make-text)) - (rng-make-element (rng-make-any-name-name-class) - ref)))))) - (rng-ref-set ref pattern) - pattern) - "A pattern that matches the attributes and content of any element.") - -(defconst rng-any-element - (let* ((ref (rng-make-ref "any-element")) - (pattern - (rng-make-element - (rng-make-any-name-name-class) - (rng-make-zero-or-more - (rng-make-choice - (list - (rng-make-text) - (rng-make-attribute (rng-make-any-name-name-class) - (rng-make-text)) - ref)))))) - (rng-ref-set ref pattern) - pattern) - "A pattern that matches any element.") - -;;; Names - -(defun rng-make-name (ns local-name) - (cons ns local-name)) - -;;; Datatypes - -(defun rng-make-datatype (uri local-name) - (cons uri (intern local-name))) - -(provide 'rng-pttrn) - -;;; rng-pttrn.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-uri.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-uri.el deleted file mode 100644 index 7ed8befc90..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-uri.el +++ /dev/null @@ -1,355 +0,0 @@ -;;; rng-uri.el --- URI parsing and manipulation - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;;; Code: - -(defun rng-file-name-uri (f) - "Return a URI for the filename F. -Multibyte characters are left as is. Use `rng-uri-escape-multibyte' to -escape them using %HH." - (setq f (expand-file-name f)) - (let ((url - (replace-regexp-in-string "[\000-\032\177<>#%\"{}|\\^[]`%?;]" - 'rng-percent-encode - f))) - (concat "file:" - (if (and (> (length url) 0) - (= (aref url 0) ?/)) - "//" - "///") - url))) - -(defun rng-uri-escape-multibyte (uri) - "Escape multibyte characters in URI." - (replace-regexp-in-string "[:nonascii:]" - 'rng-percent-encode - (encode-coding-string uri 'utf-8))) - -(defun rng-percent-encode (str) - (apply 'concat - (mapcar (lambda (ch) - (format "%%%x%x" (/ ch 16) (% ch 16))) - (string-to-list str)))) - - -(defun rng-uri-file-name (uri) - "Return the filename represented by a URI. -Signal an error if URI is not a valid file URL." - (rng-uri-file-name-1 uri nil)) - -(defun rng-uri-pattern-file-name-regexp (pattern) - "Return a regexp for filenames represented by URIs that match PATTERN." - (rng-uri-file-name-1 pattern 'match)) - -(defun rng-uri-pattern-file-name-replace-match (pattern) - (rng-uri-file-name-1 pattern 'replace)) - -;; pattern is either nil or match or replace -(defun rng-uri-file-name-1 (uri pattern) - (unless (string-match "\\`\\(?:[^%]\\|%[0-9a-fA-F]{2}\\)*\\'" uri) - (rng-uri-error "Bad escapes in URI `%s'" uri)) - (setq uri (rng-uri-unescape-multibyte uri)) - (let* ((components - (or (rng-uri-split uri) - (rng-uri-error "Cannot split URI `%s' into its components" uri))) - (scheme (nth 0 components)) - (authority (nth 1 components)) - (path (nth 2 components)) - (absolutep (string-match "\\`/" path)) - (query (nth 3 components)) - (fragment-id (nth 4 components))) - (cond ((not scheme) - (unless pattern - (rng-uri-error "URI `%s' does not have a scheme" uri))) - ((not (string= (downcase scheme) "file")) - (rng-uri-error "URI `%s' does not use the `file:' scheme" uri))) - (when (not (member authority - (cons system-name '(nil "" "localhost")))) - (rng-uri-error "URI `%s' does not start with `file:///' or `file://localhost/'" - uri)) - (when query - (rng-uri-error "`?' not escaped in file URI `%s'" uri)) - (when fragment-id - (rng-uri-error "URI `%s' has a fragment identifier" uri)) - (when (string-match ";" path) - (rng-uri-error "`;' not escaped in URI `%s'" uri)) - (when (string-match "%2[fF]" path) ;; 2f is hex code of slash - (rng-uri-error "Escaped slash in URI `%s'" uri)) - (when (and (eq system-type 'windows-nt) - absolutep - (file-name-absolute-p (substring path 1))) - (setq path (substring path 1))) - (when (and pattern (string-match "\\`\\./" path)) - (setq path (substring path 2))) - (setq path - (cond ((eq pattern 'match) - (rng-uri-unescape-unibyte-match path)) - ((eq pattern 'replace) - (rng-uri-unescape-unibyte-replace path 2)) - (t - (rng-uri-unescape-unibyte path)))) - (when (string-match "\000" path) - (rng-uri-error "URI `%s' has NUL character in path" uri)) - (when (eq pattern 'match) - (setq path - (concat (if absolutep - "\\(\\)" - "\\(\\(?:[^/]*/\\)*\\)") - path))) - (cond ((eq pattern 'match) - (concat "\\`" path "\\'")) - ((and (eq pattern 'replace) - (not absolutep)) - (concat "\\1" path)) - (t path)))) - -(defun rng-uri-error (&rest args) - (signal 'rng-uri-error (list (apply 'format args)))) - -(put 'rng-uri-error 'error-conditions '(error rng-uri-error)) -(put 'rng-uri-error 'error-message "Invalid URI") - -(defun rng-uri-split (str) - (and (string-match "\\`\\(?:\\([^:/?#]+\\):\\)?\ -\\(?://\\([^/?#]*\\)\\)?\ -\\([^?#]*\\)\ -\\(?:\\?\\([^#]*\\)\\)?\ -\\(?:#\\(\\(?:.\\|\n\\)*\\)\\)?\\'" - str) - (list (match-string 1 str) - (match-string 2 str) - (match-string 3 str) - (match-string 4 str) - (match-string 5 str)))) - -(defun rng-uri-join (scheme authority path &optional query fragment-id) - (when path - (let (parts) - (when fragment-id - (setq parts (list "#" fragment-id))) - (when query - (setq parts - (cons "?" - (cons query parts)))) - (setq parts (cons path parts)) - (when authority - (setq parts - (cons "//" - (cons authority parts)))) - (when scheme - (setq parts - (cons scheme - (cons ":" parts)))) - (apply 'concat parts)))) - -(defun rng-uri-resolve (uri-ref base-uri) - "Resolve a possibly relative URI reference into absolute form. -URI-REF is the URI reference to be resolved. -BASE-URI is the base URI to use for resolving it. -The algorithm is specified by RFC 2396. -If there is some problem with URI-REF or BASE-URI, then -URI-REF will be returned." - (let* ((components (rng-uri-split uri-ref)) - (scheme (nth 0 components)) - (authority (nth 1 components)) - (path (nth 2 components)) - (query (nth 3 components)) - (fragment-id (nth 4 components)) - (base-components (rng-uri-split base-uri))) - (if (or (not components) - scheme - (not base-components) - (not (nth 0 base-components))) - uri-ref - (setq scheme (nth 0 base-components)) - (when (not authority) - (setq authority (nth 1 base-components)) - (if (and (equal path "") (not query)) - ;; Handle same document reference by returning - ;; same URI (RFC 2396bis does this too). - (setq path (nth 2 base-components) - query (nth 3 base-components)) - (setq path (rng-resolve-path path (nth 2 base-components))))) - (rng-uri-join scheme - authority - path - query - fragment-id)))) - -;; See RFC 2396 5.2, steps 5 and 6 -(defun rng-resolve-path (path base-path) - ;; Step 5 - (if (or (string-match "\\`/" path) - (not (string-match "\\`/" base-path))) - path - ;; Step 6 - ;; (a), (b) - (let ((segments (rng-split-path path)) - (base-segments (rng-split-path base-path))) - (if (> (length base-segments) 1) - (setq segments (nconc (nbutlast base-segments) - segments)) - (setcar segments - (concat (car base-segments) (car segments)))) - ;; (d) - (let ((last-segment (last segments))) - (when (equal (car last-segment) ".") - (setcar last-segment ""))) - ;; (c) - (setq segments (delete "." segments)) - ;; (e) - (let (iter matched) - (while (progn - (setq matched nil) - (setq iter (cdr segments)) - (while (and iter (not matched)) - (if (or (not (equal (cadr iter) "..")) - (equal (car iter) "..")) - (setq iter (cdr iter)) - (setcar iter nil) - (setcar (cdr iter) - ;; (f) - (if (cddr iter) nil "")) - (setq matched t) - (setq segments (delq nil segments)))) - matched))) - (rng-join-path segments)))) - -(defun rng-relative-uri (full base) - "Return a URI that relative to BASE is equivalent to FULL. -The returned URI will be relative if possible. -Both FULL and BASE must be absolute URIs." - (let* ((components (rng-uri-split full)) - (scheme (nth 0 components)) - (authority (nth 1 components)) - (path (nth 2 components)) - (query (nth 3 components)) - (fragment-id (nth 4 components)) - (base-components (rng-uri-split base))) - (if (and components - base-components - scheme - (equal scheme - (nth 0 base-components))) - (progn - (setq scheme nil) - (when (and authority - (equal authority - (nth 1 base-components))) - (setq authority nil) - (setq path (rng-relative-path path (nth 2 base-components)))) - (rng-uri-join scheme authority path query fragment-id)) - full))) - -(defun rng-relative-path (path base-path) - (let ((segments (rng-split-path path)) - (base-segments (rng-split-path base-path))) - (when (> (length base-segments) 1) - (setq base-segments (nbutlast base-segments))) - (if (or (member "." segments) - (member ".." segments) - (member "." base-segments) - (member ".." base-segments)) - path - (while (and segments - base-segments - (string= (car segments) - (car base-segments))) - (setq segments (cdr segments)) - (setq base-segments (cdr base-segments))) - (while base-segments - (setq base-segments (cdr base-segments)) - (setq segments (cons ".." segments))) - (when (equal (car segments) "") - (setq segments (cons "." segments))) - (rng-join-path segments)))) - -(defun rng-split-path (path) - (let ((start 0) - segments) - (while (string-match "/" path start) - (setq segments (cons (substring path start (match-beginning 0)) - segments)) - (setq start (match-end 0))) - (nreverse (cons (substring path start) segments)))) - -(defun rng-join-path (segments) - (and segments - (mapconcat 'identity segments "/"))) - -(defun rng-uri-unescape-multibyte (str) - (replace-regexp-in-string "\\(?:%[89a-fA-F][0-9a-fA-F]\\)+" - 'rng-multibyte-percent-decode - str)) - -(defun rng-multibyte-percent-decode (str) - (decode-coding-string (apply 'string - (mapcar (lambda (h) (string-to-number h 16)) - (split-string str "%"))) - 'utf-8)) - -(defun rng-uri-unescape-unibyte (str) - (replace-regexp-in-string "%[0-7][0-9a-fA-F]" - (lambda (h) - (string-to-number (substring h 1) 16)) - str - t - t)) - -(defun rng-uri-unescape-unibyte-match (str) - (replace-regexp-in-string "%[0-7][0-9a-fA-F]\\|[^%]" - (lambda (match) - (if (string= match "*") - "\\([^/]*\\)" - (regexp-quote - (if (= (length match) 1) - match - (string-to-number (substring match 1) - 16))))) - str - t - t)) - -(defun rng-uri-unescape-unibyte-replace (str next-match-index) - (replace-regexp-in-string - "%[0-7][0-9a-fA-F]\\|[^%]" - (lambda (match) - (if (string= match "*") - (let ((n next-match-index)) - (setq next-match-index (1+ n)) - (format "\\%s" n)) - (let ((ch (if (= (length match) 1) - (aref match 0) - (string-to-number (substring match 1) - 16)))) - (if (eq ch ?\\) - (string ?\\ ?\\) - (string ch))))) - str - t - t)) - -(provide 'rng-uri) - -;;; rng-uri.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-util.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-util.el deleted file mode 100644 index 865da0ff70..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-util.el +++ /dev/null @@ -1,172 +0,0 @@ -;;; rng-util.el --- utility functions for RELAX NG library - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;;; Code: - -(defun rng-make-datatypes-uri (uri) - (if (string-equal uri "") - ;; The spec doesn't say to do this, but it's perfectly conformant - ;; and better than using nil, I think. - 'http://relaxng.org/ns/structure/1.0 - (intern uri))) - -(defconst rng-xsd-datatypes-uri - (rng-make-datatypes-uri "http://www.w3.org/2001/XMLSchema-datatypes")) - -(defconst rng-builtin-datatypes-uri (rng-make-datatypes-uri "")) - -(defun rng-uniquify-eq (list) - "Destructively remove any element from LIST that is eq to -its predecessor." - (and list - (let ((head list)) - (while (cdr head) - (if (eq (car head) (cadr head)) - (setcdr head (cddr head))) - (setq head (cdr head))) - list))) - -(defun rng-uniquify-equal (list) - "Destructively remove any element from LIST that is equal to -its predecessor." - (and list - (let ((head list)) - (while (cdr head) - (if (equal (car head) (cadr head)) - (setcdr head (cddr head))) - (setq head (cdr head))) - list))) - -(defun rng-blank-p (str) (string-match "\\`[ \t\n\r]*\\'" str)) - -(defun rng-substq (new old list) - "Replace first member of LIST (if any) that is eq to OLD by NEW. -LIST is not modified." - (cond ((null list) nil) - ((eq (car list) old) - (cons new (cdr list))) - (t - (let ((tail (cons (car list) - nil)) - (rest (cdr list))) - (setq list tail) - (while rest - (let ((item (car rest))) - (setq rest (cdr rest)) - (cond ((eq item old) - (setcdr tail - (cons new rest)) - (setq rest nil)) - (t - (setq tail - (setcdr tail - (cons item nil)))))))) - list))) - -(defun rng-complete-before-point (start table prompt &optional predicate hist) - "Complete text between START and point. -Replaces the text between START and point with a string chosen using a -completion table and, when needed, input read from the user with the -minibuffer. -Returns the new string if either a complete and unique completion was -determined automatically or input was read from the user. Otherwise, -returns nil. -TABLE is an alist, a symbol bound to a function or an obarray as with -the function `completing-read'. -PROMPT is the string to prompt with if user input is needed. -PREDICATE is nil or a function as with `completing-read'. -HIST, if non-nil, specifies a history list as with `completing-read'." - (let* ((orig (buffer-substring-no-properties start (point))) - (completion (try-completion orig table predicate))) - (cond ((not completion) - (if (string= orig "") - (message "No completions available") - (message "No completion for %s" (rng-quote-string orig))) - (ding) - nil) - ((eq completion t) orig) - ((not (string= completion orig)) - (delete-region start (point)) - (insert completion) - (cond ((not (rng-completion-exact-p completion table predicate)) - (message "Incomplete") - nil) - ((eq (try-completion completion table predicate) t) - completion) - (t - (message "Complete but not unique") - nil))) - (t - (setq completion - (let ((saved-minibuffer-setup-hook - (default-value 'minibuffer-setup-hook))) - (add-hook 'minibuffer-setup-hook - 'minibuffer-completion-help - t) - (unwind-protect - (completing-read prompt - table - predicate - nil - orig - hist) - (setq-default minibuffer-setup-hook - saved-minibuffer-setup-hook)))) - (delete-region start (point)) - (insert completion) - completion)))) - -(defun rng-completion-exact-p (string table predicate) - (cond ((symbolp table) - (funcall table string predicate 'lambda)) - ((vectorp table) - (intern-soft string table)) - (t (assoc string table)))) - -(defun rng-quote-string (s) - (concat "\"" s "\"")) - -(defun rng-escape-string (s) - (replace-regexp-in-string "[&\"<>]" - (lambda (match) - (cdr (assoc match - '(("&" . "&") - ("\"" . """) - (">" . ">") - ("<" . "<"))))) - s - t)) - -(defun rng-collapse-space (string) - (setq string - (replace-regexp-in-string "[ \t\r\n]+" " " string t t)) - (when (string-match "\\` " string) - (setq string (substring string 1))) - (when (string-match " \\'" string) - (setq string (substring string 0 -1))) - string) - -(provide 'rng-util) - -;;; rng-util.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-valid.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-valid.el deleted file mode 100644 index d5ecb3aae0..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-valid.el +++ /dev/null @@ -1,1467 +0,0 @@ -;;; rng-valid.el --- real-time validation of XML using RELAX NG - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; For usage information, see the documentation for rng-validate-mode. -;; -;; This file provides a minor mode that continually validates a buffer -;; against a RELAX NG schema. The validation state is used to support -;; schema-sensitive editing as well as validation. Validation is -;; performed while Emacs is idle. XML parsing is done using -;; xmltok.el. This file is responsible for checking that end-tags -;; match their start-tags. Namespace processing is handled by -;; nxml-ns.el. The RELAX NG Compact Syntax schema is parsed into -;; internal form by rng-cmpct.el. This internal form is described by -;; rng-pttrn.el. Validation of the document by matching against this -;; internal form is done by rng-match.el. Handling of W3C XML Schema -;; datatypes is delegated by rng-match.el to rng-xsd.el. The minor -;; mode is intended to be used in conjunction with the nxml major -;; mode, but does not have to be. -;; -;; The major responsibility of this file is to allow validation to -;; happen incrementally. If a buffer has been validated and is then -;; changed, we can often revalidate it without having to completely -;; parse and validate it from start to end. As we parse and validate -;; the buffer, we periodically cache the state. The state has three -;; components: the stack of open elements, the namespace processing -;; state and the RELAX NG validation state. The state is cached as the -;; value of the rng-state text property on the closing greater-than of -;; tags (but at intervals, not on every tag). We keep track of the -;; position up to which cached state is known to be correct by adding -;; a function to the buffer's after-change-functions. This is stored -;; in the rng-validate-up-to-date-end variable. The first way in -;; which we make validation incremental is obvious: we start -;; validation from the first cached state before -;; rng-validate-up-to-date-end. -;; -;; To make this work efficiently, we have to be able to copy the -;; current parsing and validation state efficiently. We do this by -;; minimizing destructive changes to the objects storing the state. -;; When state is changed, we use the old state to create new objects -;; representing the new state rather than destructively modifying the -;; objects representing the old state. Copying the state is just a -;; matter of making a list of three objects, one for each component of -;; the state; the three objects themselves can be shared and do not -;; need to be copied. -;; -;; There's one other idea that is used to make validation incremental. -;; Suppose we have a buffer that's 4000 bytes long and suppose we -;; validated it, caching state at positions 1000, 2000 and 3000. Now -;; suppose we make a change at position 1500 inserting 100 characters. -;; rng-validate-up-to-date-end will be changed to 1500. When Emacs -;; becomes idle and we revalidate, validation will restart using the -;; cached state at position 1000. However, we take advantage of the -;; cached state beyond rng-validate-up-to-date-end as follows. When -;; our validation reaches position 2100 (the current position of the -;; character that was at 2000), we compare our current state with the -;; cached state. If they are the same, then we can stop parsing -;; immediately and set rng-validate-up-to-date-end to the end of the -;; buffer: we already know that the state cached at position 3100 is -;; correct. If they are not the same, then we have to continue -;; parsing. After the change, but before revalidation, we call the -;; region from 1600 to the end of the buffer "conditionally -;; up-to-date". -;; -;; As well as the cached parsing and validation state, we also keep -;; track of the errors in the file. Errors are stored as overlays -;; with a category of rng-error. The number of such overlays in the -;; buffer must always be equal to rng-error-count. - -;;; Code: - -(require 'xmltok) -(require 'nxml-enc) -(require 'nxml-util) -(require 'nxml-ns) -(require 'rng-match) -(require 'rng-util) -(require 'rng-loc) - -;;; Customizable variables - -(defgroup relax-ng nil - "Validation of XML using RELAX NG." - :group 'wp - :group 'nxml - :group 'languages) - -(defface rng-error-face '((t (:underline "red"))) - "Face for highlighting XML errors." - :group 'relax-ng) - -(defcustom rng-state-cache-distance 2000 - "*Distance in characters between each parsing and validation state cache." - :type 'integer - :group 'relax-ng) - -(defcustom rng-validate-chunk-size 8000 - "*Number of characters in a RELAX NG validation chunk. -A validation chunk will be the smallest chunk that is at least this -size and ends with a tag. After validating a chunk, validation will -continue only if Emacs is still idle." - :type 'integer - :group 'relax-ng) - -(defcustom rng-validate-delay 1.5 - "*Time in seconds that Emacs must be idle before starting a full validation. -A full validation continues until either validation is up to date -or Emacs is no longer idle." - :type 'number - :group 'relax-ng) - -(defcustom rng-validate-quick-delay 0.3 - "*Time in seconds that Emacs must be idle before starting a quick validation. -A quick validation validates at most one chunk." - :type 'number - :group 'relax-ng) - -;; Global variables - -(defvar rng-validate-timer nil) -(make-variable-buffer-local 'rng-validate-timer) -;; ensure that we can cancel the timer even after a kill-all-local-variables -(put 'rng-validate-timer 'permanent-local t) - -(defvar rng-validate-quick-timer nil) -(make-variable-buffer-local 'rng-validate-quick-timer) -;; ensure that we can cancel the timer even after a kill-all-local-variables -(put 'rng-validate-quick-timer 'permanent-local t) - -(defvar rng-error-count nil - "Number of errors in the current buffer. Always equal to number of -overlays with category rng-error.") -(make-variable-buffer-local 'rng-error-count) - -(defvar rng-message-overlay nil - "Overlay in this buffer whose help-echo property was last printed. -Nil if none.") -(make-variable-buffer-local 'rng-message-overlay) - -(defvar rng-message-overlay-inhibit-point nil - "Position at which message from overlay should be inhibited. -If point is equal to this and the error overlay around -point is `rng-message-overlay', then the `help-echo' property -of the error overlay should not be printed with `message'.") -(make-variable-buffer-local 'rng-message-overlay-inhibit-point) - -(defvar rng-message-overlay-current nil - "Non-nil if `rng-message-overlay' is still the current message.") -(make-variable-buffer-local 'rng-message-overlay-current) - -(defvar rng-open-elements nil - "Stack of names of open elements represented as a list. -Each member of the list is either t or a (PREFIX . LOCAL-NAME) pair. -\(PREFIX . LOCAL-NAME) is pushed for a start-tag; t is pushed -for a mismatched end-tag.") - -(defvar rng-pending-contents nil - "Text content of current element that has yet to be processed. -Value is a list of segments (VALUE START END) positions in reverse -order. VALUE is a string or nil. If VALUE is nil, then the value is -the string between START and END. A segment can also be nil -indicating an unresolvable entity or character reference.") - -(defvar rng-collecting-text nil) - -(defvar rng-validate-up-to-date-end nil - "Last position where validation is known to be up to date.") -(make-variable-buffer-local 'rng-validate-up-to-date-end) - -(defvar rng-conditional-up-to-date-start nil - "Marker for the start of the conditionally up-to-date region. -Nil if there is no conditionally up-to-date region. The conditionally -up-to-date region must be such that for any cached state S with -position P in the conditionally up-to-date region, if at some point it -is determined that S becomes correct for P, then all states with -position >= P in the conditionally up to date region must also then be -correct and all errors between P and the end of the region must then -be correctly marked.") -(make-variable-buffer-local 'rng-conditional-up-to-date-start) - -(defvar rng-conditional-up-to-date-end nil - "Marker for the end of the conditionally up-to-date region. -Nil if there is no conditionally up-to-date region. See the variable -`rng-conditional-up-to-date-start'.") -(make-variable-buffer-local 'rng-conditional-up-to-date-end) - -(defvar rng-parsing-for-state nil - "Non-nil means we are currently parsing just to compute the state. -Should be dynamically bound.") - -(defvar rng-validate-mode nil) -(make-variable-buffer-local 'rng-validate-mode) - -(defvar rng-dtd nil) -(make-variable-buffer-local 'rng-dtd) - -;;;###autoload -(defun rng-validate-mode (&optional arg no-change-schema) - "Minor mode performing continual validation against a RELAX NG schema. - -Checks whether the buffer is a well-formed XML 1.0 document, -conforming to the XML Namespaces Recommendation and valid against a -RELAX NG schema. The mode-line indicates whether it is or not. Any -parts of the buffer that cause it not to be are considered errors and -are highlighted with `rng-error-face'. A description of each error is -available as a tooltip. \\[rng-next-error] goes to the next error -after point. Clicking mouse-1 on the word `Invalid' in the mode-line -goes to the first error in the buffer. If the buffer changes, then it -will be automatically rechecked when Emacs becomes idle; the -rechecking will be paused whenever there is input pending.. - -By default, uses a vacuous schema that allows any well-formed XML -document. A schema can be specified explictly using -\\[rng-set-schema-file-and-validate], or implicitly based on the buffer's -file name or on the root element name. In each case the schema must -be a RELAX NG schema using the compact schema \(such schemas -conventionally have a suffix of `.rnc'). The variable -`rng-schema-locating-files' specifies files containing rules -to use for finding the schema." - (interactive "P") - (setq rng-validate-mode - (if (null arg) - (not rng-validate-mode) - (> (prefix-numeric-value arg) 0))) - (save-restriction - (widen) - (nxml-with-unmodifying-text-property-changes - (rng-clear-cached-state (point-min) (point-max))) - ;; 1+ to clear empty overlays at (point-max) - (rng-clear-overlays (point-min) (1+ (point-max)))) - (setq rng-validate-up-to-date-end 1) - (rng-clear-conditional-region) - (setq rng-error-count 0) - ;; do this here to avoid infinite loop if we set the schema - (remove-hook 'rng-schema-change-hook 'rng-validate-clear t) - (cond (rng-validate-mode - (unwind-protect - (save-excursion - ;; An error can change the current buffer - (when (or (not rng-current-schema) - (and (eq rng-current-schema rng-any-element) - (not no-change-schema))) - (rng-auto-set-schema t))) - (unless rng-current-schema (rng-set-schema-file-1 nil)) - (add-hook 'rng-schema-change-hook 'rng-validate-clear nil t) - (add-hook 'after-change-functions 'rng-after-change-function nil t) - (add-hook 'kill-buffer-hook 'rng-kill-timers nil t) - (add-hook 'echo-area-clear-hook 'rng-echo-area-clear-function nil t) - (add-hook 'post-command-hook 'rng-maybe-echo-error-at-point nil t) - (rng-match-init-buffer) - (rng-activate-timers) - ;; Start validating right away if the buffer is visible. - ;; If it's not visible, don't do this, because the user - ;; won't get any progress indication. When the user finds - ;; a new file, then the buffer won't be visible - ;; when this is invoked. - (when (get-buffer-window (current-buffer) 'visible) - (rng-validate-while-idle (current-buffer))))) - (t - (rng-cancel-timers) - (force-mode-line-update) - (remove-hook 'kill-buffer-hook 'rng-cancel-timers t) - (remove-hook 'post-command-hook 'rng-maybe-echo-error-at-point t) - (remove-hook 'echo-area-clear-hook 'rng-echo-area-clear-function t) - (remove-hook 'after-change-functions 'rng-after-change-function t)))) - -(defun rng-set-schema-file-and-validate (filename) - "Sets the schema and turns on `rng-validate-mode' if not already on. -The schema is set like `rng-set-schema'." - (interactive "fSchema file: ") - (rng-set-schema-file filename) - (or rng-validate-mode (rng-validate-mode))) - -(defun rng-set-document-type-and-validate (type-id) - (interactive (list (rng-read-type-id))) - (and (rng-set-document-type type-id) - (or rng-validate-mode (rng-validate-mode)))) - -(defun rng-auto-set-schema-and-validate () - "Set the schema for this buffer automatically and turn on `rng-validate-mode'. -The schema is set like `rng-auto-set-schema'." - (interactive) - (rng-auto-set-schema) - (or rng-validate-mode (rng-validate-mode))) - -(defun rng-after-change-function (start end pre-change-len) - ;; Work around bug in insert-file-contents. - (when (> end (1+ (buffer-size))) - (setq start 1) - (setq end (1+ (buffer-size)))) - (setq rng-message-overlay-inhibit-point nil) - (nxml-with-unmodifying-text-property-changes - (rng-clear-cached-state start end)) - ;; rng-validate-up-to-date-end holds the position before the change - ;; Adjust it to reflect the change. - (if (< start rng-validate-up-to-date-end) - (setq rng-validate-up-to-date-end - (if (<= (+ start pre-change-len) rng-validate-up-to-date-end) - (+ rng-validate-up-to-date-end - (- end start pre-change-len)) - start))) - ;; Adjust the conditional zone - (cond (rng-conditional-up-to-date-start - (when (< rng-conditional-up-to-date-start end) - (if (< end rng-conditional-up-to-date-end) - (set-marker rng-conditional-up-to-date-start end) - (rng-clear-conditional-region)))) - ((< end rng-validate-up-to-date-end) - (setq rng-conditional-up-to-date-end - (copy-marker rng-validate-up-to-date-end nil)) - (setq rng-conditional-up-to-date-start - (copy-marker end t)))) - ;; Adjust rng-validate-up-to-date-end - (if (< start rng-validate-up-to-date-end) - (setq rng-validate-up-to-date-end start)) - ;; Must make rng-validate-up-to-date-end < point-max - ;; (unless the buffer is empty). - ;; otherwise validate-prepare will say there's nothing to do. - ;; Don't use (point-max) because we may be narrowed. - (if (> rng-validate-up-to-date-end (buffer-size)) - (setq rng-validate-up-to-date-end - (max 1 (1- rng-validate-up-to-date-end)))) - ;; Arrange to revalidate - (rng-activate-timers) - ;; Need to do this after activating the timer - (force-mode-line-update)) - -(defun rng-compute-mode-line-string () - (cond (rng-validate-timer - (concat " Validated:" - (number-to-string - ;; Use floor rather than round because we want - ;; to show 99% rather than 100% for changes near - ;; the end. - (floor (if (eq (buffer-size) 0) - 0.0 - (/ (* (- rng-validate-up-to-date-end 1) 100.0) - (buffer-size))))) - "%%")) - ((> rng-error-count 0) - (concat " " - (propertize "Invalid" - 'help-echo "mouse-1: go to first error" - 'local-map (make-mode-line-mouse-map - 'mouse-1 - 'rng-mouse-first-error)))) - (t " Valid"))) - -(defun rng-cancel-timers () - (let ((inhibit-quit t)) - (when rng-validate-timer - (cancel-timer rng-validate-timer) - (setq rng-validate-timer nil)) - (when rng-validate-quick-timer - (cancel-timer rng-validate-quick-timer) - (setq rng-validate-quick-timer nil)))) - -(defun rng-kill-timers () - ;; rng-validate-timer and rng-validate-quick-timer have the - ;; permanent-local property, so that the timers can be - ;; cancelled even after changing mode. - ;; This function takes care of cancelling the timers and - ;; then killing the local variables. - (when (local-variable-p 'rng-validate-timer) - (when rng-validate-timer - (cancel-timer rng-validate-timer)) - (kill-local-variable 'rng-validate-timer)) - (when (local-variable-p 'rng-validate-quick-timer) - (when rng-validate-quick-timer - (cancel-timer rng-validate-quick-timer)) - (kill-local-variable 'rng-validate-quick-timer))) - -(defun rng-activate-timers () - (unless rng-validate-timer - (let ((inhibit-quit t)) - (setq rng-validate-timer - (run-with-idle-timer rng-validate-delay - t - 'rng-validate-while-idle - (current-buffer))) - (setq rng-validate-quick-timer - (run-with-idle-timer rng-validate-quick-delay - t - 'rng-validate-quick-while-idle - (current-buffer)))))) - -(defun rng-validate-clear () - (rng-validate-mode 1 t)) - -;; These two variables are dynamically bound and used -;; to pass information between rng-validate-while-idle -;; and rng-validate-while-idle-continue-p. - -(defvar rng-validate-display-point nil) -(defvar rng-validate-display-modified-p nil) - -(defun rng-validate-while-idle-continue-p () - ;; input-pending-p and sit-for run timers that are - ;; ripe. Binding timer-idle-list to nil prevents - ;; this. If we don't do this, then any ripe timers - ;; will get run, and we won't get any chance to - ;; validate until Emacs becomes idle again or until - ;; the other lower priority timers finish (which - ;; can take a very long time in the case of - ;; jit-lock). - (let ((timer-idle-list nil)) - (and (not (input-pending-p)) - ;; Fake rng-validate-up-to-date-end so that the mode line - ;; shows progress. Also use this to save point. - (let ((rng-validate-up-to-date-end (point))) - (goto-char rng-validate-display-point) - (when (not rng-validate-display-modified-p) - (restore-buffer-modified-p nil)) - (force-mode-line-update) - (let ((continue (sit-for 0))) - (goto-char rng-validate-up-to-date-end) - continue))))) - -;; Calling rng-do-some-validation once with a continue-p function, as -;; opposed to calling it repeatedly, helps on initial validation of a -;; large buffer with lots of errors. The overlays for errors will all -;; get added when rng-do-some-validation returns and won't slow the -;; validation process down. - -(defun rng-validate-while-idle (buffer) - (with-current-buffer buffer - (if rng-validate-mode - (if (let ((rng-validate-display-point (point)) - (rng-validate-display-modified-p (buffer-modified-p))) - (rng-do-some-validation 'rng-validate-while-idle-continue-p)) - (force-mode-line-update) - (rng-validate-done)) - ;; must have done kill-all-local-variables - (rng-kill-timers)))) - -(defun rng-validate-quick-while-idle (buffer) - (with-current-buffer buffer - (if rng-validate-mode - (if (rng-do-some-validation) - (force-mode-line-update) - (rng-validate-done)) - ;; must have done kill-all-local-variables - (rng-kill-timers)))) - -(defun rng-validate-done () - (when (or (not (current-message)) - (rng-current-message-from-error-overlay-p)) - (rng-error-overlay-message (or (rng-error-overlay-after (point)) - (rng-error-overlay-after (1- (point)))))) - (rng-cancel-timers) - (force-mode-line-update)) - -(defun rng-do-some-validation (&optional continue-p-function) - "Do some validation work. Return t if more to do, nil otherwise." - (save-excursion - (save-restriction - (widen) - (nxml-with-invisible-motion - (condition-case err - (and (rng-validate-prepare) - (let ((rng-dt-namespace-context-getter '(nxml-ns-get-context))) - (nxml-with-unmodifying-text-property-changes - (rng-do-some-validation-1 continue-p-function)))) - ;; errors signalled from a function run by an idle timer - ;; are ignored; if we don't catch them, validation - ;; will get mysteriously stuck at a single place - (rng-compile-error - (message "Incorrect schema. %s" (nth 1 err)) - (rng-validate-mode 0) - nil) - (error - (message "Internal error in rng-validate-mode triggered at buffer position %d. %s" - (point) - (error-message-string err)) - (rng-validate-mode 0) - nil)))))) - -(defun rng-validate-prepare () - "Prepare to do some validation, initializing point and the state. -Return t if there is work to do, nil otherwise." - (cond ((= rng-validate-up-to-date-end (point-min)) - (rng-set-initial-state) - t) - ((= rng-validate-up-to-date-end (point-max)) - nil) - (t (let ((state (get-text-property (1- rng-validate-up-to-date-end) - 'rng-state))) - (cond (state - (rng-restore-state state) - (goto-char rng-validate-up-to-date-end)) - (t - (let ((pos (previous-single-property-change - rng-validate-up-to-date-end - 'rng-state))) - (cond (pos - (rng-restore-state - (or (get-text-property (1- pos) 'rng-state) - (error "Internal error: state null"))) - (goto-char pos)) - (t (rng-set-initial-state)))))))))) - - -(defun rng-do-some-validation-1 (&optional continue-p-function) - (let ((limit (+ rng-validate-up-to-date-end - rng-validate-chunk-size)) - (remove-start rng-validate-up-to-date-end) - (next-cache-point (+ (point) rng-state-cache-distance)) - (continue t) - (xmltok-dtd rng-dtd) - have-remaining-chars - xmltok-type - xmltok-start - xmltok-name-colon - xmltok-name-end - xmltok-replacement - xmltok-attributes - xmltok-namespace-attributes - xmltok-dependent-regions - xmltok-errors) - (when (= (point) 1) - (let ((regions (xmltok-forward-prolog))) - (rng-clear-overlays 1 (point)) - (while regions - (when (eq (aref (car regions) 0) 'encoding-name) - (rng-process-encoding-name (aref (car regions) 1) - (aref (car regions) 2))) - (setq regions (cdr regions)))) - (unless (equal rng-dtd xmltok-dtd) - (rng-clear-conditional-region)) - (setq rng-dtd xmltok-dtd)) - (while continue - (setq have-remaining-chars (rng-forward)) - (let ((pos (point))) - (setq continue - (and have-remaining-chars - (or (< pos limit) - (and continue-p-function - (funcall continue-p-function) - (setq limit (+ limit rng-validate-chunk-size)) - t)))) - (cond ((and rng-conditional-up-to-date-start - ;; > because we are getting the state from (1- pos) - (> pos rng-conditional-up-to-date-start) - (< pos rng-conditional-up-to-date-end) - (rng-state-matches-current (get-text-property (1- pos) - 'rng-state))) - (when (< remove-start (1- pos)) - (rng-clear-cached-state remove-start (1- pos))) - ;; sync up with cached validation state - (setq continue nil) - ;; do this before settting rng-validate-up-to-date-end - ;; in case we get a quit - (rng-mark-xmltok-errors) - (rng-mark-xmltok-dependent-regions) - (setq rng-validate-up-to-date-end - (marker-position rng-conditional-up-to-date-end)) - (rng-clear-conditional-region) - (setq have-remaining-chars - (< rng-validate-up-to-date-end (point-max)))) - ((or (>= pos next-cache-point) - (not continue)) - (setq next-cache-point (+ pos rng-state-cache-distance)) - (rng-clear-cached-state remove-start pos) - (when have-remaining-chars - (rng-cache-state (1- pos))) - (setq remove-start pos) - (unless continue - ;; if we have just blank chars skip to the end - (when have-remaining-chars - (skip-chars-forward " \t\r\n") - (when (= (point) (point-max)) - (rng-clear-overlays pos (point)) - (rng-clear-cached-state pos (point)) - (setq have-remaining-chars nil) - (setq pos (point)))) - (when (not have-remaining-chars) - (rng-process-end-document)) - (rng-mark-xmltok-errors) - (rng-mark-xmltok-dependent-regions) - (setq rng-validate-up-to-date-end pos) - (when rng-conditional-up-to-date-end - (cond ((<= rng-conditional-up-to-date-end pos) - (rng-clear-conditional-region)) - ((< rng-conditional-up-to-date-start pos) - (set-marker rng-conditional-up-to-date-start - pos))))))))) - have-remaining-chars)) - -(defun rng-clear-conditional-region () - (when rng-conditional-up-to-date-start - (set-marker rng-conditional-up-to-date-start nil) - (setq rng-conditional-up-to-date-start nil)) - (when rng-conditional-up-to-date-end - (set-marker rng-conditional-up-to-date-end nil) - (setq rng-conditional-up-to-date-end nil))) - -(defun rng-clear-cached-state (start end) - "Clear cached state between START and END." - (remove-text-properties start end '(rng-state nil))) - -(defun rng-cache-state (pos) - "Save the current state in a text property on the character at pos." - (put-text-property pos - (1+ pos) - 'rng-state - (rng-get-state))) - -(defun rng-state-matches-current (state) - (and state - (rng-match-state-equal (car state)) - (nxml-ns-state-equal (nth 1 state)) - (equal (nth 2 state) rng-open-elements))) - -(defun rng-get-state () - (list (rng-match-state) - (nxml-ns-state) - rng-open-elements)) - -(defun rng-restore-state (state) - (rng-set-match-state (car state)) - (setq state (cdr state)) - (nxml-ns-set-state (car state)) - (setq rng-open-elements (cadr state)) - (setq rng-pending-contents nil) - (setq rng-collecting-text (rng-match-text-typed-p))) - -(defun rng-set-initial-state () - (nxml-ns-init) - (rng-match-start-document) - (setq rng-open-elements nil) - (setq rng-pending-contents nil) - (goto-char (point-min))) - -(defun rng-clear-overlays (beg end) - (unless rng-parsing-for-state - (let ((overlays (overlays-in beg end))) - (while overlays - (let* ((overlay (car overlays)) - (category (overlay-get overlay 'category))) - (cond ((eq category 'rng-error) - (let ((inhibit-quit t)) - (when (eq overlay rng-message-overlay) - (rng-error-overlay-message nil)) - (delete-overlay overlay) - ;; rng-error-count could be nil - ;; if overlays left over from a previous use - ;; of rng-validate-mode that ended with a change of mode - (when rng-error-count - (setq rng-error-count (1- rng-error-count))))) - ((and (eq category 'rng-dependent) - (<= beg (overlay-start overlay))) - (delete-overlay overlay)))) - (setq overlays (cdr overlays)))))) - -;;; Dependent regions - -(defun rng-mark-xmltok-dependent-regions () - (while xmltok-dependent-regions - (apply 'rng-mark-xmltok-dependent-region - (car xmltok-dependent-regions)) - (setq xmltok-dependent-regions - (cdr xmltok-dependent-regions)))) - -(defun rng-mark-xmltok-dependent-region (fun start end &rest args) - (let ((overlay (make-overlay start end nil t t))) - (overlay-put overlay 'category 'rng-dependent) - (overlay-put overlay 'rng-funargs (cons fun args)))) - -(put 'rng-dependent 'evaporate t) -(put 'rng-dependent 'modification-hooks '(rng-dependent-region-changed)) -(put 'rng-dependent 'insert-behind-hooks '(rng-dependent-region-changed)) - -(defun rng-dependent-region-changed (overlay - after-p - change-start - change-end - &optional pre-change-length) - (when (and after-p - ;; Emacs sometimes appears to call deleted overlays - (overlay-start overlay) - (let ((funargs (overlay-get overlay 'rng-funargs))) - (save-match-data - (save-excursion - (save-restriction - (widen) - (apply (car funargs) - (append (list change-start - change-end - pre-change-length - (overlay-start overlay) - (overlay-end overlay)) - (cdr funargs)))))))) - (rng-after-change-function (overlay-start overlay) - change-end - (+ pre-change-length - (- (overlay-start overlay) - change-start))) - (delete-overlay overlay))) - -;;; Error state - -(defun rng-mark-xmltok-errors () - (while xmltok-errors - (let ((err (car xmltok-errors))) - (rng-mark-not-well-formed (xmltok-error-message err) - (xmltok-error-start err) - (xmltok-error-end err))) - (setq xmltok-errors (cdr xmltok-errors)))) - -(defun rng-mark-invalid (message beg end) - (rng-mark-error message beg end)) - -(defun rng-mark-not-well-formed (message beg end) - ;; Don't try to validate further - ;;(rng-set-match-state rng-not-allowed-ipattern) - (rng-mark-error message beg end)) - -(defun rng-mark-error (message beg end) - (unless rng-parsing-for-state - (let ((overlays (overlays-in beg end))) - (while (and overlays message) - (let ((o (car overlays))) - (when (and (eq (overlay-get o 'category) 'rng-error) - (= (overlay-start o) beg) - (= (overlay-end o) end)) - (overlay-put o - 'help-echo - (concat (overlay-get o 'help-echo) - "\n" - message)) - (setq message nil))) - (setq overlays (cdr overlays)))) - (when message - (let ((inhibit-quit t)) - (setq rng-error-count (1+ rng-error-count)) - (let ((overlay - (make-overlay beg end nil t - ;; Need to make the rear delimiter advance - ;; with the front delimiter when the overlay - ;; is empty, otherwise the front delimiter - ;; will move past the rear delimiter. - (= beg end)))) - ;; Ensure when we have two overlapping messages, the help-echo - ;; of the one that starts first is shown - (overlay-put overlay 'priority beg) - (overlay-put overlay 'category 'rng-error) - (overlay-put overlay 'help-echo message)))))) - -(put 'rng-error 'face 'rng-error-face) -(put 'rng-error 'modification-hooks '(rng-error-modified)) - -;; If we don't do this, then the front delimiter can move -;; past the end delimiter. -(defun rng-error-modified (overlay after-p beg end &optional pre-change-len) - (when (and after-p - (overlay-start overlay) ; check not deleted - (>= (overlay-start overlay) - (overlay-end overlay))) - (let ((inhibit-quit t)) - (delete-overlay overlay) - (setq rng-error-count (1- rng-error-count))))) - -(defun rng-echo-area-clear-function () - (setq rng-message-overlay-current nil)) - -;;; Error navigation - -(defun rng-maybe-echo-error-at-point () - (when (or (not (current-message)) - (rng-current-message-from-error-overlay-p)) - (rng-error-overlay-message (rng-error-overlay-after (point))))) - -(defun rng-error-overlay-after (pos) - (let ((overlays (overlays-in pos (1+ pos))) - (best nil)) - (while overlays - (let ((overlay (car overlays))) - (when (and (eq (overlay-get overlay 'category) - 'rng-error) - (or (not best) - (< (overlay-start best) - (overlay-start overlay)))) - (setq best overlay))) - (setq overlays (cdr overlays))) - best)) - -(defun rng-first-error () - "Go to the first validation error. -Turn on `rng-validate-mode' if it is not already on." - (interactive) - (or rng-validate-mode (rng-validate-mode)) - (when (and (eq rng-validate-up-to-date-end 1) - (< rng-validate-up-to-date-end (point-max))) - (rng-do-some-validation)) - (let ((err (rng-find-next-error-overlay (1- (point-min))))) - (if err - (rng-goto-error-overlay err) - (let ((pos (save-excursion - (goto-char (point-min)) - (rng-next-error 1)))) - (when pos - (goto-char pos)))))) - -(defun rng-mouse-first-error (event) - "Go to the first validation error from a mouse click." - (interactive "e") - (select-window (posn-window (event-start event))) - (rng-first-error)) - -(defun rng-next-error (arg) - "Go to the next validation error after point. -Turn on `rng-validate-mode' if it is not already on. -A prefix ARG specifies how many errors to move. A negative ARG -moves backwards. Just \\[universal-argument] as a prefix -means goto the first error." - (interactive "P") - (if (consp arg) - (rng-first-error) - (or rng-validate-mode (rng-validate-mode)) - (setq arg (prefix-numeric-value arg)) - (if (< arg 0) - (rng-previous-error-1 (- arg)) - (rng-next-error-1 arg)))) - -(defun rng-previous-error (arg) - "Go to the previous validation error before point. -Turn on `rng-validate-mode' if it is not already on. -A prefix ARG specifies how many errors to move. A negative ARG -moves forwards. Just \\[universal-argument] as a prefix -means goto the first error." - (interactive "P") - (if (consp arg) - (rng-first-error) - (or rng-validate-mode (rng-validate-mode)) - (setq arg (prefix-numeric-value arg)) - (if (< arg 0) - (rng-next-error-1 (- arg)) - (rng-previous-error-1 arg)))) - -(defun rng-next-error-1 (arg) - (let* ((pos (point)) - err last-err) - (while (and (> arg 0) - (setq err (rng-find-next-error-overlay pos))) - (setq arg (1- arg)) - (setq last-err err) - (setq pos (overlay-start err))) - (when (> arg 0) - (setq pos (max pos (1- rng-validate-up-to-date-end))) - (when (< rng-validate-up-to-date-end (point-max)) - (message "Parsing...") - (while (let ((more-to-do (rng-do-some-validation))) - (while (and (> arg 0) - (setq err (rng-find-next-error-overlay pos))) - (setq arg (1- arg)) - (setq last-err err) - (setq pos (overlay-start err))) - (when (and (> arg 0) - more-to-do - (< rng-validate-up-to-date-end (point-max))) - ;; Display percentage validated. - (force-mode-line-update) - ;; Force redisplay but don't allow idle timers to run. - (let ((timer-idle-list nil)) - (sit-for 0)) - (setq pos - (max pos (1- rng-validate-up-to-date-end))) - t))))) - (if last-err - (rng-goto-error-overlay last-err) - (message "No more errors") - nil))) - -(defun rng-previous-error-1 (arg) - (let* ((pos (point)) - err last-err) - (while (and (> arg 0) - (setq err (rng-find-previous-error-overlay pos))) - (setq pos (overlay-start err)) - (setq last-err err) - (setq arg (1- arg))) - (when (and (> arg 0) - (< rng-validate-up-to-date-end (min pos (point-max)))) - (message "Parsing...") - (while (and (rng-do-some-validation) - (< rng-validate-up-to-date-end (min pos (point-max)))) - (force-mode-line-update) - ;; Force redisplay but don't allow idle timers to run. - (let ((timer-idle-list nil)) - (sit-for 0))) - (while (and (> arg 0) - (setq err (rng-find-previous-error-overlay pos))) - (setq pos (overlay-start err)) - (setq last-err err) - (setq arg (1- arg)))) - (if last-err - (rng-goto-error-overlay last-err) - (message "No previous errors") - nil))) - -(defun rng-goto-error-overlay (err) - "Goto the start of error overlay ERR and print its message." - (goto-char (overlay-start err)) - (setq rng-message-overlay-inhibit-point nil) - (rng-error-overlay-message err)) - -(defun rng-error-overlay-message (err) - (if err - (unless (or (and (eq rng-message-overlay-inhibit-point (point)) - (eq rng-message-overlay err)) - (= (point-max) 1)) - (message "%s" (overlay-get err 'help-echo)) - (setq rng-message-overlay-current t) - (setq rng-message-overlay-inhibit-point (point))) - (when (rng-current-message-from-error-overlay-p) - (message nil)) - (setq rng-message-overlay-inhibit-point nil)) - (setq rng-message-overlay err)) - -(defun rng-current-message-from-error-overlay-p () - (and rng-message-overlay-current - rng-message-overlay - (equal (overlay-get rng-message-overlay 'help-echo) - (current-message)))) - -(defun rng-find-next-error-overlay (pos) - "Return the overlay for the next error starting after POS. -Return nil if there is no such overlay or it is out of date. -Do not do any additional validation." - (when rng-error-count - (let (done found overlays) - (while (not done) - (cond (overlays - (let ((overlay (car overlays))) - (setq overlays (cdr overlays)) - (when (and (eq (overlay-get overlay 'category) 'rng-error) - ;; Is it the first? - (= (overlay-start overlay) pos) - ;; Is it up to date? - (<= (overlay-end overlay) - rng-validate-up-to-date-end)) - (setq done t) - (setq found overlay)))) - ((or (= pos (point-max)) - (> (setq pos (next-overlay-change pos)) - rng-validate-up-to-date-end)) - (setq done t)) - (t (setq overlays (overlays-in pos (1+ pos)))))) - found))) - -(defun rng-find-previous-error-overlay (pos) - "Return the overlay for the last error starting before POS. -Return nil if there is no such overlay or it is out of date. -Do not do any additional validation." - (when (and rng-error-count - (<= pos rng-validate-up-to-date-end)) - (let (done found overlays) - (while (not done) - (cond (overlays - (let ((overlay (car overlays))) - (setq overlays (cdr overlays)) - (when (and (eq (overlay-get overlay 'category) 'rng-error) - ;; Is it the first? - (= (overlay-start overlay) pos)) - (setq done t) - (setq found overlay)))) - ((= pos (point-min)) - (setq done t)) - (t - (setq pos (previous-overlay-change pos)) - (setq overlays (overlays-in pos (1+ pos)))))) - found))) - -;;; Parsing - -(defun rng-forward (&optional limit) - "Move forward over one or more tokens updating the state. -If LIMIT is nil, stop after tags. -If LIMIT is non-nil, stop when end of last token parsed is >= LIMIT. -Return nil at end of buffer, t otherwise." - (let (type) - (while (progn - (setq type (xmltok-forward)) - (rng-clear-overlays xmltok-start (point)) - (let ((continue - (cond ((eq type 'start-tag) - (rng-process-start-tag 'start-tag) - nil) - ((eq type 'end-tag) - (rng-process-end-tag) - nil) - ((eq type 'empty-element) - (rng-process-start-tag 'empty-element) - nil) - ((eq type 'space) - (rng-process-text xmltok-start nil t) - t) - ((eq type 'data) - (rng-process-text xmltok-start nil nil) - t) - ((memq type '(entity-ref char-ref)) - (cond (xmltok-replacement - (rng-process-text xmltok-start - nil - 'maybe - xmltok-replacement)) - ((eq type 'char-ref) - (rng-process-unknown-char)) - (t - (rng-process-unknown-entity))) - t) - ((eq type 'cdata-section) - (rng-process-text (+ xmltok-start 9) ; "" - 'maybe) - t) - ((eq type 'partial-start-tag) - (rng-process-start-tag 'partial-start-tag) - t) - ((eq type 'partial-empty-element) - (rng-process-start-tag 'empty-element) - t) - ((eq type 'partial-end-tag) - (rng-process-end-tag 'partial) - t) - (t type)))) - (if limit - (< (point) limit) - continue)))) - (and type t))) - -(defun rng-process-start-tag (tag-type) - "TAG-TYPE is `start-tag' for a start-tag, `empty-element' for -an empty element. partial-empty-element should be passed -as empty-element." - (and rng-collecting-text (rng-flush-text)) - (setq rng-collecting-text nil) - (setq rng-pending-contents nil) - (rng-process-namespaces) - (let ((tag (rng-process-tag-name))) - (rng-process-attributes) - ;; set the state appropriately - (cond ((eq tag-type 'empty-element) - (rng-process-start-tag-close) - ;; deal with missing content with empty element - (when (not (rng-match-empty-content)) - (rng-match-after) - (rng-mark-start-tag-close "Empty content not allowed")) - (nxml-ns-pop-state)) - ((eq tag-type 'start-tag) - (rng-process-start-tag-close) - (setq rng-collecting-text (rng-match-text-typed-p)) - (rng-push-tag tag)) - ((eq tag-type 'partial-start-tag) - (rng-process-start-tag-close) - (rng-match-after) - (nxml-ns-pop-state))))) - -(defun rng-process-namespaces () - (let ((nsatts xmltok-namespace-attributes) - prefixes) - (nxml-ns-push-state) - (while nsatts - (let* ((att (car nsatts)) - (value (xmltok-attribute-value att))) - (when value - (let ((ns (nxml-make-namespace value)) - (prefix (and (xmltok-attribute-prefix att) - (xmltok-attribute-local-name att)))) - (cond ((member prefix prefixes) - (rng-mark-invalid "Duplicate namespace declaration" - (xmltok-attribute-name-start att) - (xmltok-attribute-name-end att))) - ((not prefix) - (nxml-ns-set-default ns)) - (ns - (nxml-ns-set-prefix prefix ns)) - (t - ;; cannot have xmlns:foo="" - (rng-mark-invalid "Namespace prefix cannot be undeclared" - (1- (xmltok-attribute-value-start att)) - (1+ (xmltok-attribute-value-end att))))) - (setq prefixes (cons prefix prefixes))))) - (setq nsatts (cdr nsatts))))) - -(defun rng-process-tag-name () - (let* ((prefix (xmltok-start-tag-prefix)) - (local-name (xmltok-start-tag-local-name)) - (name - (if prefix - (let ((ns (nxml-ns-get-prefix prefix))) - (cond (ns (cons ns local-name)) - ((and (setq ns - (rng-match-infer-start-tag-namespace - local-name)) - (rng-match-start-tag-open (cons ns local-name))) - (nxml-ns-set-prefix prefix ns) - (rng-mark-start-tag-close "Missing xmlns:%s=\"%s\"" - prefix - (nxml-namespace-name ns)) - nil) - (t - (rng-recover-bad-element-prefix) - nil))) - (cons (nxml-ns-get-default) local-name)))) - (when (and name - (not (rng-match-start-tag-open name))) - (unless (and (not (car name)) - (let ((ns (rng-match-infer-start-tag-namespace (cdr name)))) - (and ns - (rng-match-start-tag-open (cons ns local-name)) - (progn - (nxml-ns-set-default ns) - ;; XXX need to check we don't have xmlns="" - (rng-mark-start-tag-close "Missing xmlns=\"%s\"" - (nxml-namespace-name ns)) - t)))) - (rng-recover-start-tag-open name))) - (cons prefix local-name))) - -(defun rng-process-attributes () - (let ((atts xmltok-attributes) - names) - (while atts - (let* ((att (car atts)) - (prefix (xmltok-attribute-prefix att)) - (local-name (xmltok-attribute-local-name att)) - (name - (if prefix - (let ((ns (nxml-ns-get-prefix prefix))) - (and ns - (cons ns local-name))) - (cons nil local-name)))) - (cond ((not name) - (rng-recover-bad-attribute-prefix att)) - ((member name names) - (rng-recover-duplicate-attribute-name att)) - ((not (rng-match-attribute-name name)) - (rng-recover-attribute-name att)) - ((rng-match-text-typed-p) - (let ((value (xmltok-attribute-value att))) - (if value - (or (rng-match-attribute-value value) - (rng-recover-attribute-value att)) - (rng-match-after)))) - (t (or (rng-match-end-tag) - (error "Internal error:\ - invalid on untyped attribute value")))) - (setq names (cons name names))) - (setq atts (cdr atts))))) - -(defun rng-process-start-tag-close () - ;; deal with missing attributes - (unless (rng-match-start-tag-close) - (rng-mark-start-tag-close (rng-missing-attributes-message)) - (rng-match-ignore-attributes))) - -(defun rng-mark-start-tag-close (&rest args) - (when (not (eq xmltok-type 'partial-start-tag)) - (rng-mark-invalid (apply 'format args) - (- (point) - (if (eq xmltok-type 'empty-element) - 2 - 1)) - (point)))) - -(defun rng-recover-bad-element-prefix () - (rng-mark-invalid "Prefix not declared" - (1+ xmltok-start) - xmltok-name-colon) - (rng-match-unknown-start-tag-open)) - -(defun rng-recover-bad-attribute-prefix (att) - (rng-mark-invalid "Prefix not declared" - (xmltok-attribute-name-start att) - (xmltok-attribute-name-colon att))) - -(defun rng-recover-duplicate-attribute-name (att) - (rng-mark-invalid "Duplicate attribute" - (xmltok-attribute-name-start att) - (xmltok-attribute-name-end att))) - -(defun rng-recover-start-tag-open (name) - (let ((required (rng-match-required-element-name))) - (cond ((and required - (rng-match-start-tag-open required) - (rng-match-after) - (rng-match-start-tag-open name)) - (rng-mark-invalid (concat "Missing element " - (rng-quote-string - (rng-name-to-string required))) - xmltok-start - (1+ xmltok-start))) - ((and (rng-match-optionalize-elements) - (rng-match-start-tag-open name)) - (rng-mark-invalid "Required elements missing" - xmltok-start - (1+ xmltok-start))) - ((rng-match-out-of-context-start-tag-open name) - (rng-mark-invalid "Element not allowed in this context" - (1+ xmltok-start) - xmltok-name-end)) - (t - (rng-match-unknown-start-tag-open) - (rng-mark-invalid "Unknown element" - (1+ xmltok-start) - xmltok-name-end))))) - -(defun rng-recover-attribute-value (att) - (let ((start (xmltok-attribute-value-start att)) - (end (xmltok-attribute-value-end att))) - (if (= start end) - (rng-mark-invalid "Empty attribute value invalid" start (1+ end)) - (rng-mark-invalid "Attribute value invalid" start end))) - (rng-match-after)) - -(defun rng-recover-attribute-name (att) - (rng-mark-invalid "Attribute not allowed" - (xmltok-attribute-name-start att) - (xmltok-attribute-name-end att))) - -(defun rng-missing-attributes-message () - (let ((required-attributes - (rng-match-required-attribute-names))) - (cond ((not required-attributes) - "Required attributes missing") - ((not (cdr required-attributes)) - (concat "Missing attribute " - (rng-quote-string - (rng-name-to-string (car required-attributes) t)))) - (t - (concat "Missing attributes " - (mapconcat (lambda (nm) - (rng-quote-string - (rng-name-to-string nm t))) - required-attributes - ", ")))))) - -(defun rng-process-end-tag (&optional partial) - (cond ((not rng-open-elements) - (rng-mark-not-well-formed "Extra end-tag" - xmltok-start - (point))) - ((or partial - (equal (cons (xmltok-end-tag-prefix) - (xmltok-end-tag-local-name)) - (car rng-open-elements))) - (rng-end-element)) - (t (rng-recover-mismatched-end-tag)))) - -(defun rng-end-element () - (if rng-collecting-text - (let ((contents (rng-contents-string))) - (cond ((not contents) (rng-match-after)) - ((not (rng-match-element-value contents)) - (let* ((region (rng-contents-region))) - (if (not region) - (rng-mark-invalid "Empty content not allowed" - xmltok-start - (+ xmltok-start 2)) - (rng-mark-invalid "Invalid data" - (car region) - (cdr region)))) - (rng-match-after))) - (setq rng-collecting-text nil) - (setq rng-pending-contents nil)) - (unless (rng-match-end-tag) - (rng-mark-invalid (rng-missing-element-message) - xmltok-start - (+ xmltok-start 2)) - (rng-match-after))) - (nxml-ns-pop-state) - (when (eq (car rng-open-elements) t) - (rng-pop-tag)) - (rng-pop-tag)) - -(defun rng-missing-element-message () - (let ((element (rng-match-required-element-name))) - (if element - (concat "Missing element " - (rng-quote-string (rng-name-to-string element))) - "Required child elements missing"))) - -(defun rng-recover-mismatched-end-tag () - (let* ((name (cons (xmltok-end-tag-prefix) - (xmltok-end-tag-local-name)))) - (cond ((member name (cdr rng-open-elements)) - (let* ((suppress-error (eq (car rng-open-elements) t)) - missing top) - (while (progn - (setq top (car rng-open-elements)) - (rng-pop-tag) - (unless (eq top t) - (setq missing (cons top missing)) - (nxml-ns-pop-state) - (rng-match-after)) - (not (equal top name)))) - (unless suppress-error - (rng-mark-missing-end-tags (cdr missing))))) - ((rng-match-empty-before-p) - (rng-mark-mismatched-end-tag) - (rng-end-element)) - (t (rng-mark-mismatched-end-tag) - (setq rng-open-elements - (cons t rng-open-elements)))))) - -(defun rng-mark-missing-end-tags (missing) - (rng-mark-not-well-formed - (format "Missing end-tag%s %s" - (if (null (cdr missing)) "" "s") - (mapconcat (lambda (name) - (rng-quote-string - (if (car name) - (concat (car name) - ":" - (cdr name)) - (cdr name)))) - missing - ", ")) - xmltok-start - (+ xmltok-start 2))) - -(defun rng-mark-mismatched-end-tag () - (rng-mark-not-well-formed "Mismatched end-tag" - (+ xmltok-start 2) - xmltok-name-end)) - -(defun rng-push-tag (prefix-local-name) - (setq rng-open-elements - (cons prefix-local-name rng-open-elements))) - -(defun rng-pop-tag () - (setq rng-open-elements (cdr rng-open-elements))) - -(defun rng-contents-string () - (let ((contents rng-pending-contents)) - (cond ((not contents) "") - ((memq nil contents) nil) - ((not (cdr contents)) - (rng-segment-string (car contents))) - (t (apply 'concat - (nreverse (mapcar 'rng-segment-string - contents))))))) - -(defun rng-segment-string (segment) - (or (car segment) - (apply 'buffer-substring-no-properties - (cdr segment)))) - -(defun rng-segment-blank-p (segment) - (if (car segment) - (rng-blank-p (car segment)) - (apply 'rng-region-blank-p - (cdr segment)))) - -(defun rng-contents-region () - (if (null rng-pending-contents) - nil - (let* ((contents rng-pending-contents) - (head (cdar contents)) - (start (car head)) - (end (cadr head))) - (while (setq contents (cdr contents)) - (setq start (car (cdar contents)))) - (cons start end)))) - -(defun rng-process-text (start end whitespace &optional value) - "Process characters between position START and END as text. -END nil means point. WHITESPACE t means known to be whitespace, nil -means known not to be, anything else means unknown whether whitespace -or not. END must not be nil if WHITESPACE is neither t nor nil. -VALUE is a string or nil; nil means the value is equal to the -string between START and END." - (cond (rng-collecting-text - (setq rng-pending-contents (cons (list value start (or end (point))) - rng-pending-contents))) - ((not (or (and whitespace - (or (eq whitespace t) - (if value - (rng-blank-p value) - (rng-region-blank-p start end)))) - (rng-match-mixed-text))) - (rng-mark-invalid "Text not allowed" start (or end (point)))))) - -(defun rng-process-unknown-char () - (when rng-collecting-text - (setq rng-pending-contents - (cons nil rng-pending-contents)))) - -(defun rng-process-unknown-entity () - (rng-process-unknown-char) - (rng-match-optionalize-elements)) - -(defun rng-region-blank-p (beg end) - (save-excursion - (goto-char beg) - (= (skip-chars-forward " \n\r\t" end) - (- end beg)))) - -(defun rng-flush-text () - (while rng-pending-contents - (let ((segment (car rng-pending-contents))) - (unless (or (rng-segment-blank-p segment) - (rng-match-mixed-text)) - (let ((region (cdr segment))) - (rng-mark-invalid "In this context text cannot be mixed with elements" - (car region) - (cadr region))))) - (setq rng-pending-contents (cdr rng-pending-contents)))) - -(defun rng-process-end-document () - ;; this is necessary to clear empty overlays at (point-max) - (rng-clear-overlays (point) (point)) - (let ((start (save-excursion - (skip-chars-backward " \t\r\n") - (point)))) - (cond (rng-open-elements - (unless (eq (car rng-open-elements) t) - (rng-mark-not-well-formed "Missing end-tag" - start - (point)))) - ((not (rng-match-nullable-p)) - (rng-mark-not-well-formed "No document element" - start - (point)))))) - -(defun rng-process-encoding-name (beg end) - (unless (let ((charset (buffer-substring-no-properties beg end))) - (or (nxml-mime-charset-coding-system charset) - (string= (downcase charset) "utf-16"))) - (rng-mark-not-well-formed "Unsupported encoding" beg end))) - -(defun rng-name-to-string (name &optional attributep) - (let ((ns (car name)) - (local-name (cdr name))) - (if (or (not ns) - (and (not attributep) - (eq (nxml-ns-get-default) ns))) - local-name - (let ((prefix (nxml-ns-prefix-for ns))) - (if prefix - (concat prefix ":" local-name) - (concat "{" (symbol-name ns) "}" local-name)))))) - -(provide 'rng-valid) - -;;; rng-valid.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-xsd.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-xsd.el deleted file mode 100644 index 65091ef879..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/rng-xsd.el +++ /dev/null @@ -1,858 +0,0 @@ -;;; rng-xsd.el --- W3C XML Schema datatypes library for RELAX NG - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML, RelaxNG - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; The main entry point is `rng-xsd-compile'. The validator -;; knows to use this for the datatype library with URI -;; http://www.w3.org/2001/XMLSchema-datatypes because it -;; is the value of the rng-dt-compile property on that URI -;; as a symbol. -;; -;; W3C XML Schema Datatypes are specified by -;; http://www.w3.org/TR/xmlschema-2/ -;; Guidelines for using them with RELAX NG are described in -;; http://relaxng.org/xsd.html - -;;; Code: - -(require 'rng-dt) -(require 'rng-util) -(require 'xsd-regexp) - -;;;###autoload -(put 'http://www.w3.org/2001/XMLSchema-datatypes - 'rng-dt-compile - 'rng-xsd-compile) - -;;;###autoload -(defun rng-xsd-compile (name params) - "Provides W3C XML Schema as a RELAX NG datatypes library. NAME is a -symbol giving the local name of the datatype. PARAMS is a list of -pairs (PARAM-NAME . PARAM-VALUE) where PARAM-NAME is a symbol giving -the name of the parameter and PARAM-VALUE is a string giving its -value. If NAME or PARAMS are invalid, it calls rng-dt-error passing -it arguments in the same style as format; the value from rng-dt-error -will be returned. Otherwise, it returns a list. The first member of -the list is t if any string is a legal value for the datatype and nil -otherwise. The second argument is a symbol; this symbol will be -called as a function passing it a string followed by the remaining -members of the list. The function must return an object representing -the value of the datatype that was represented by the string, or nil -if the string is not a representation of any value. The object -returned can be any convenient non-nil value, provided that, if two -strings represent the same value, the returned objects must be equal." - (let ((convert (get name 'rng-xsd-convert))) - (if (not convert) - (rng-dt-error "There is no XSD datatype named %s" name) - (rng-xsd-compile1 name params convert)))) - -;;; Parameters - -(defun rng-xsd-compile1 (name params convert) - (if (null params) - (cons (equal convert '(identity)) - (cond ((eq name 'string) convert) - ((eq name 'normalizedString) - (cons 'rng-xsd-replace-space convert)) - ((and (not (eq name 'string)) - (or (memq 'identity convert) - (memq 'rng-xsd-convert-any-uri convert) - (memq 'rng-xsd-check-pattern convert))) - (cons 'rng-xsd-collapse-space convert)) - (t convert))) - (let* ((param (car params)) - (param-name (car param)) - (param-value (cdr param))) - (cond ((memq param-name - '(minExclusive maxExclusive minInclusive maxInclusive)) - (let ((limit (apply (car convert) - (cons param-value - (cdr convert)))) - (less-than-fun (get name 'rng-xsd-less-than))) - (cond ((not limit) - (rng-dt-error "Minimum value %s is not valid" - param-value)) - ((not less-than-fun) - (rng-dt-error "Values of type %s are not ordered" - param-name)) - (t - (rng-xsd-compile1 name - (cdr params) - (cons (get param-name - 'rng-xsd-check) - (cons less-than-fun - (cons limit convert)))))))) - ((memq param-name '(length minLength maxLength)) - (let ((limit (rng-xsd-string-to-non-negative-integer param-value)) - (length-fun (get name 'rng-xsd-length))) - (cond ((not limit) - (rng-dt-error "Length %s is not valid" param-value)) - ((not length-fun) - (rng-dt-error "Values of type %s do not have a length" - param-name)) - (t - (rng-xsd-compile1 name - (cdr params) - (cons (get param-name - 'rng-xsd-check) - (cons length-fun - (cons limit convert)))))))) - ((memq param-name '(fractionDigits totalDigits)) - (let ((n (rng-xsd-string-to-non-negative-integer param-value))) - (cond ((not n) - (rng-dt-error "Number of digits %s is not valid" - param-value)) - (t - (rng-xsd-compile1 name - (cdr params) - (cons (get param-name - 'rng-xsd-check) - (cons n convert))))))) - ((eq param-name 'pattern) - (condition-case err - (rng-xsd-compile1 name - (cdr params) - (cons 'rng-xsd-check-pattern - (cons (concat - "\\`" - (xsdre-translate param-value) - "\\'") - convert))) - (xsdre-invalid-regexp - (rng-dt-error "Invalid regular expression (%s)" - (nth 1 err))))) - ((memq param-name '(enumeration whiteSpace)) - (rng-dt-error "Facet %s cannot be used in RELAX NG" param-name)) - (t (rng-dt-error "Unknown facet %s" param-name)))))) - -(defun rng-xsd-string-to-non-negative-integer (str) - (and (rng-xsd-convert-integer str) - (let ((n (string-to-number str))) - (and (integerp n) - (>= n 0) - n)))) - -(defun rng-xsd-collapse-space (str convert &rest args) - (apply convert (cons (mapconcat 'identity (split-string str "[ \t\n\r]+") - " ") - args))) - -(defun rng-xsd-replace-space (str convert &rest args) - (apply convert - (cons (let ((i 0) - copied) - (while (and (setq i (string-match "[\r\n\t]" str i)) - (or copied (setq copied (copy-sequence str))) - (aset copied i 32) - (setq i (1+ i)))) - (or copied str)) - args))) - -(put 'minExclusive 'rng-xsd-check 'rng-xsd-check-min-exclusive) -(put 'minInclusive 'rng-xsd-check 'rng-xsd-check-min-inclusive) -(put 'maxExclusive 'rng-xsd-check 'rng-xsd-check-max-exclusive) -(put 'maxInclusive 'rng-xsd-check 'rng-xsd-check-max-inclusive) -(put 'length 'rng-xsd-check 'rng-xsd-check-length) -(put 'minLength 'rng-xsd-check 'rng-xsd-check-min-length) -(put 'maxLength 'rng-xsd-check 'rng-xsd-check-max-length) -(put 'fractionDigits 'rng-xsd-check 'rng-xsd-check-fraction-digits) -(put 'totalDigits 'rng-xsd-check 'rng-xsd-check-total-digits) - -(defun rng-xsd-check-min-exclusive (str less-than-fun limit convert &rest args) - (let ((obj (apply convert (cons str args)))) - (and obj - (funcall less-than-fun limit obj) - obj))) - -(defun rng-xsd-check-min-inclusive (str less-than-fun limit convert &rest args) - (let ((obj (apply convert (cons str args)))) - (and obj - (or (funcall less-than-fun limit obj) - (equal limit obj)) - obj))) - -(defun rng-xsd-check-max-exclusive (str less-than-fun limit convert &rest args) - (let ((obj (apply convert (cons str args)))) - (and obj - (funcall less-than-fun obj limit) - obj))) - -(defun rng-xsd-check-max-inclusive (str less-than-fun limit convert &rest args) - (let ((obj (apply convert (cons str args)))) - (and obj - (or (funcall less-than-fun obj limit) - (equal obj limit)) - obj))) - -(defun rng-xsd-check-min-length (str length-fun limit convert &rest args) - (let ((obj (apply convert (cons str args)))) - (and obj - (>= (funcall length-fun obj) limit) - obj))) - -(defun rng-xsd-check-max-length (str length-fun limit convert &rest args) - (let ((obj (apply convert (cons str args)))) - (and obj - (<= (funcall length-fun obj) limit) - obj))) - -(defun rng-xsd-check-length (str length-fun len convert &rest args) - (let ((obj (apply convert (cons str args)))) - (and obj - (= (funcall length-fun obj) len) - obj))) - -(defun rng-xsd-check-fraction-digits (str n convert &rest args) - (let ((obj (apply convert (cons str args)))) - (and obj - (<= (length (aref obj 2)) n) - obj))) - -(defun rng-xsd-check-total-digits (str n convert &rest args) - (let ((obj (apply convert (cons str args)))) - (and obj - (<= (+ (length (aref obj 1)) - (length (aref obj 2))) - n) - obj))) - -(defun rng-xsd-check-pattern (str regexp convert &rest args) - (and (string-match regexp str) - (apply convert (cons str args)))) - - -(defun rng-xsd-convert-boolean (string) - (and (string-match "\\`[ \t\n\r]*\\(?:\\(true\\|1\\)\\|false\\|0\\)[ \t\n\r]*\\'" string) - (if (match-beginning 1) 'true 'false))) - -(defun rng-xsd-convert-decimal (string) - "Convert a string representing a decimal to an object representing -its values. A decimal value is represented by a vector [SIGN -INTEGER-DIGITS FRACTION-DIGITS] where SIGN is 1 or -1, INTEGER-DIGITS -is a string containing zero or more digits, with no leading zero, and -FRACTION-DIGITS is a string containing zero or more digits with no -trailing digits. For example, -0021.0430 would be represented by [-1 -\"21\" \"043\"]." - (and (string-match "\\`[ \t\n\r]*\\([-+]\\)?\\(0*\\([1-9][0-9]*\\)?\\(\\.\\([0-9]*[1-9]\\)?0*\\)?\\)[ \t\n\r]*\\'" string) - (let ((digits (match-string 2 string))) - (and (not (string= digits ".")) - (not (string= digits "")))) - (let ((integer-digits (match-string 3 string))) - (vector (if (and (equal (match-string 1 string) "-") - ;; Normalize -0 to 0 - integer-digits) - -1 - 1) - (or integer-digits "") - (or (match-string 5 string) ""))))) - -(defun rng-xsd-convert-integer (string) - (and (string-match "\\`[ \t\n\r]*\\([-+]\\)?\\(?:0*\\([1-9][0-9]*\\)\\|0+\\)[ \t\n\r]*\\'" string) - (let ((integer-digits (match-string 2 string))) - (vector (if (and (equal (match-string 1 string) "-") - ;; Normalize -0 to 0 - integer-digits) - -1 - 1) - (or integer-digits "") - "")))) - -(defun rng-xsd-decimal< (n1 n2) - (< (rng-xsd-compare-decimal n1 n2) 0)) - -(defun rng-xsd-compare-decimal (n1 n2) - "Return a < 0, 0, > 0 according as n1 < n2, n1 = n2 or n1 > n2." - (let* ((sign1 (aref n1 0)) - (sign2 (aref n2 0)) - (sign (- sign1 sign2))) - (if (= sign 0) - (* sign1 - (let* ((int1 (aref n1 1)) - (int2 (aref n2 1)) - (len1 (length int1)) - (len2 (length int2)) - (lencmp (- len1 len2))) - (if (eq lencmp 0) - (if (string= int1 int2) - (rng-xsd-strcmp (aref n1 2) (aref n2 2)) - (rng-xsd-strcmp int1 int2)) - lencmp))) - sign))) - -(defconst rng-xsd-float-regexp - (concat "\\`[ \r\n\t]*\\(?:" - "\\(" - "[-+]?\\(?:[0-9]+\\(?:\\.[0-9]*\\)?\\|\\.[0-9]+\\)" - "\\(?:[eE][-+]?[0-9]+\\)?" - "\\)" - "\\|\\(INF\\)" - "\\|\\(-INF\\)" - "\\|\\(NaN\\)" - "\\)[ \r\n\t]*\\'")) - -(defun rng-xsd-convert-float (string) - (cond ((not (string-match rng-xsd-float-regexp string)) nil) - ((match-beginning 1) - (float (string-to-number (match-string 1 string)))) - ((match-beginning 2) 1.0e+INF) - ((match-beginning 3) -1.0e+INF) - ;; Don't use a NaN float because we want NaN to be equal to NaN - ((match-beginning 4) 'NaN))) - -(defun rng-xsd-float< (f1 f2) - (and (not (eq f1 'NaN)) - (not (eq f2 'NaN)) - (< f1 f2))) - -(defun rng-xsd-convert-token (string regexp) - (and (string-match regexp string) - (match-string 1 string))) - -(defun rng-xsd-convert-hex-binary (string) - (and (string-match "\\`[ \r\n\t]*\\(\\(?:[0-9A-Fa-f][0-9A-Fa-f]\\)*\\)[ \r\n\t]*\\'" - string) - (downcase (match-string 1 string)))) - -(defun rng-xsd-hex-binary-length (obj) - (/ (length obj) 2)) - -(defconst rng-xsd-base64-binary-regexp - (let ((S "[ \t\r\n]*") - (B04 "[AQgw]") - (B16 "[AEIMQUYcgkosw048]") - (B64 "[A-Za-z0-9+/]")) - (concat "\\`" S "\\(?:\\(?:" B64 S "\\)\\{4\\}\\)*" - "\\(?:" B64 S B64 S B16 S "=" S - "\\|" B64 S B04 S "=" S "=" S "\\)?\\'"))) - -(defun rng-xsd-convert-base64-binary (string) - (and (string-match rng-xsd-base64-binary-regexp string) - (replace-regexp-in-string "[ \t\r\n]+" "" string t t))) - -(defun rng-xsd-base64-binary-length (obj) - (let ((n (* (/ (length obj) 4) 3))) - (if (and (> n 0) - (string= (substring obj -1) "=")) - (- n (if (string= (substring obj -2) "==") - 2 - 1)) - n))) - -(defun rng-xsd-convert-any-uri (string) - (and (string-match "\\`\\(?:[^%]\\|%[0-9a-fA-F][0-9a-fA-F]\\)?*\\'" string) - (string-match "\\`[^#]*\\(?:#[^#]*\\)?\\'" string) - (string-match "\\`\\(?:[a-zA-Z][-+.A-Za-z0-9]*:.+\\|[^:]*\\(?:[#/?].*\\)?\\)\\'" string) - string)) - -(defun rng-xsd-make-date-time-regexp (template) - "Returns a regular expression matching a ISO 8601 date/time. The -template is a string with Y standing for years field, M standing for -months, D standing for day of month, T standing for a literal T, t -standing for time and - standing for a literal hyphen. A time zone is -always allowed at the end. Regardless of the fields appearing in the -template, the regular expression will have twelve groups matching the -year sign, year, month, day of month, hours, minutes, integer seconds, -fractional seconds (including leading period), time zone, time zone -sign, time zone hours, time zone minutes." - (let ((i 0) - (len (length template)) - (parts nil) - first last c) - (while (< i len) - (setq c (aref template i)) - (setq parts - (cons (cond ((eq c ?Y) - (setq first 0) - (setq last 1) - "\\(-\\)?\\(\\(?:[1-9][0-9]*\\)?[0-9]\\{4\\}\\)") - ((eq c ?M) - (or first - (setq first 2)) - (setq last 2) - "\\([0-9][0-9]\\)") - ((eq c ?D) - (or first - (setq first 3)) - (setq last 3) - "\\([0-9][0-9]\\)") - ((eq c ?t) - (or first - (setq first 4)) - (setq last 7) - "\\([0-9][0-9]\\):\\([0-9][0-9]\\):\\([0-9][0-9]\\)\\(\\.[0-9]*\\)?") - (t (string c))) - parts)) - (setq i (1+ i))) - (while (< last 7) - (setq last (1+ last)) - ;; Add dummy fields that can never much but keep the group - ;; numbers uniform. - (setq parts (cons "\\(\\'X\\)?" parts))) - (setq parts (cons "\\(Z\\|\\([-+]\\)\\([0-9][0-9]\\):\\([0-5][0-9]\\)\\)?[ \t\n\r]*\\'" - parts)) - (setq parts (cons "\\`[ \t\n\r]*" (nreverse parts))) - (while (> first 0) - (setq first (1- first)) - (setq parts (cons "\\(X\\)?" parts))) - (apply 'concat parts))) - -(defconst rng-xsd-seconds-per-day (* 24 60 60)) -(defconst rng-xsd-days-in-month [31 28 31 30 31 30 31 31 30 31 30 31]) - -(defun rng-xsd-days-in-month (year month) - (if (and (= month 2) (rng-xsd-leap-year-p year)) - 29 - (aref rng-xsd-days-in-month (1- month)))) - -(defconst rng-xsd-months-to-days - (let ((v (make-vector 12 nil)) - (total 0) - (i 0)) - (while (< i 12) - (setq total (+ total (aref rng-xsd-days-in-month i))) - (aset v i total) - (setq i (1+ i))) - v)) - -(defun rng-xsd-convert-date-time (string regexp) - "Converts an XML Schema date/time to a list. Returns nil if -invalid. REGEXP is a regexp for parsing the date time as returned by -`rng-xsd-make-date-time-regexp'. The list has 4 members (HAS-TIME-ZONE -DAY SECOND SECOND-FRACTION), where HAS-TIME-ZONE is t or nil depending -on whether a time zone was specified, DAY is an integer giving a day -number (with Jan 1 1AD being day 1), SECOND is the second within that -day, and SECOND-FRACTION is a float giving the fractional part of the -second." - (and (string-match regexp string) - (let ((year-sign (match-string 1 string)) - (year (match-string 2 string)) - (month (match-string 3 string)) - (day (match-string 4 string)) - (hour (match-string 5 string)) - (minute (match-string 6 string)) - (second (match-string 7 string)) - (second-fraction (match-string 8 string)) - (has-time-zone (match-string 9 string)) - (time-zone-sign (match-string 10 string)) - (time-zone-hour (match-string 11 string)) - (time-zone-minute (match-string 12 string))) - (setq year-sign (if year-sign -1 1)) - (setq year - (if year - (* year-sign - (string-to-number year)) - 2000)) - (setq month - (if month (string-to-number month) 1)) - (setq day - (if day (string-to-number day) 1)) - (setq hour - (if hour (string-to-number hour) 0)) - (setq minute - (if minute (string-to-number minute) 0)) - (setq second - (if second (string-to-number second) 0)) - (setq second-fraction - (if second-fraction - (float (string-to-number second-fraction)) - 0.0)) - (setq has-time-zone (and has-time-zone t)) - (setq time-zone-sign - (if (equal time-zone-sign "-") -1 1)) - (setq time-zone-hour - (if time-zone-hour (string-to-number time-zone-hour) 0)) - (setq time-zone-minute - (if time-zone-minute (string-to-number time-zone-minute) 0)) - (and (>= month 1) - (<= month 12) - (>= day 1) - (<= day (rng-xsd-days-in-month year month)) - (<= hour 23) - (<= minute 59) - (<= second 60) ; leap second - (<= time-zone-hour 23) - (<= time-zone-minute 59) - (cons has-time-zone - (rng-xsd-add-seconds - (list (rng-xsd-date-to-days year month day) - (rng-xsd-time-to-seconds hour minute second) - second-fraction) - (* (rng-xsd-time-to-seconds time-zone-hour - time-zone-minute - 0) - (- time-zone-sign)))))))) - -(defun rng-xsd-leap-year-p (year) - (and (= (% year 4) 0) - (or (/= (% year 100) 0) - (= (% year 400) 0)))) - -(defun rng-xsd-time-to-seconds (hour minute second) - (+ (* (+ (* hour 60) - minute) - 60) - second)) - -(defconst rng-xsd-max-tz (rng-xsd-time-to-seconds 14 0 0)) - -(defun rng-xsd-date-time< (dt1 dt2) - (cond ((eq (car dt1) (car dt2)) - (rng-xsd-number-list< (cdr dt1) (cdr dt2))) - ((car dt1) - (rng-xsd-number-list< (cdr dt1) - (rng-xsd-add-seconds (cdr dt2) - (- rng-xsd-max-tz)))) - (t - (rng-xsd-number-list< (rng-xsd-add-seconds (cdr dt1) - rng-xsd-max-tz) - (cdr dt2))))) - -(defun rng-xsd-add-seconds (date offset) - (let ((day (nth 0 date)) - (second (+ (nth 1 date) offset)) - (fraction (nth 2 date))) - (cond ((< second 0) - (list (1- day) - (+ second rng-xsd-seconds-per-day) - fraction)) - ((>= second rng-xsd-seconds-per-day) - (list (1+ day) - (- second rng-xsd-seconds-per-day) - fraction)) - (t (list day second fraction))))) - -(defun rng-xsd-number-list< (numbers1 numbers2) - (while (and numbers1 (= (car numbers1) (car numbers2))) - (setq numbers1 (cdr numbers1)) - (setq numbers2 (cdr numbers2))) - (and numbers1 - (< (car numbers1) (car numbers2)))) - -(defun rng-xsd-date-to-days (year month day) - "Return a unique day number where Jan 1 1 AD is day 1" - (if (> year 0) ; AD - (+ (rng-xsd-days-in-years (- year 1)) - (rng-xsd-day-number-in-year year month day)) - (- (+ (- (rng-xsd-days-in-years (- 3 year)) - (rng-xsd-days-in-years 3)) - (- (if (rng-xsd-leap-year-p year) 366 365) - (rng-xsd-day-number-in-year year month day)))))) - -(defun rng-xsd-days-in-years (years) - "The number of days in YEARS years where the first year is 1AD." - (+ (* 365 years) - (/ years 4) - (- (/ years 100)) - (/ years 400))) - -(defun rng-xsd-day-number-in-year (year month day) - (+ (if (= month 1) - 0 - (aref rng-xsd-months-to-days (- month 2))) - day - (if (and (> month 2) - (rng-xsd-leap-year-p year)) - 1 - 0))) - -(defconst rng-xsd-duration-regexp - "\\`[ \t\r\n]*\\(-\\)?P\ -\\([0-9]+Y\\)?\\([0-9]+M\\)?\\([0-9]+D\\)?\ -\\(?:T\\([0-9]+H\\)?\\([0-9]+M\\)?\ -\\(\\([0-9]+\\(?:\\.[0-9]*\\)?\\|\\.[0-9]+\\)S\\)?\\)?\ -[ \t\r\n]*\\'") - - -(defun rng-xsd-convert-duration (string) - (and (string-match rng-xsd-duration-regexp string) - (let ((last (substring string -1))) - (not (or (string= last "P") - (string= last "T")))) - ;; years months days hours minutes seconds - (let ((v (make-vector 6 0)) - (sign (if (match-beginning 1) -1 1)) - (i 0)) - (while (< i 6) - (let ((start (match-beginning (+ i 2)))) - (when start - (aset v i (* sign - (string-to-number - (substring string - start - (1- (match-end (+ i 2))))))))) - (setq i (1+ i))) - ;; Force seconds to be float so that equal works properly. - (aset v 5 (float (aref v 5))) - v))) - -(defconst rng-xsd-min-seconds-per-month (* 28 rng-xsd-seconds-per-day)) - -(defun rng-xsd-duration< (d1 d2) - (let* ((months1 (rng-xsd-duration-months d1)) - (months2 (rng-xsd-duration-months d2)) - (seconds1 (rng-xsd-duration-seconds d1)) - (seconds2 (rng-xsd-duration-seconds d2))) - (cond ((< months1 months2) - (if (< (- seconds1 seconds2) rng-xsd-min-seconds-per-month) - t - (rng-xsd-months-seconds< months1 seconds1 months2 seconds2))) - ((> months1 months2) - (if (< (- seconds2 seconds1) rng-xsd-min-seconds-per-month) - nil - (rng-xsd-months-seconds< months1 seconds1 months2 seconds2))) - (t (< seconds1 seconds2))))) - -(defconst xsd-duration-reference-dates - '((1696 . 9) (1697 . 2) (1903 . 3) (1903 . 7))) - -(defun rng-xsd-months-seconds< (months1 seconds1 months2 seconds2) - (let ((ret t) - (ref-dates xsd-duration-reference-dates)) - (while (let* ((ref-date (car ref-dates)) - (ref-year (car ref-date)) - (ref-month (cdr ref-date))) - (unless (< (+ (rng-xsd-month-seconds months1 - ref-year - ref-month) - seconds1) - (+ (rng-xsd-month-seconds months2 - ref-year - ref-month) - seconds2)) - (setq ret nil)) - (and ret - (setq ref-dates (cdr ref-dates))))) - ret)) - - -(defun rng-xsd-month-seconds (months ref-year ref-month) - "Return the seconds in a number of months starting on a reference date. -Returns a floating point number." - (* (rng-xsd-month-days (abs months) ref-year ref-month) - (float rng-xsd-seconds-per-day) - (if (< months 0) -1.0 1.0))) - -(defconst rng-xsd-years-per-gregorian-cycle 400) -(defconst rng-xsd-months-per-gregorian-cycle - (* rng-xsd-years-per-gregorian-cycle 12)) -(defconst rng-xsd-leap-years-per-gregorian-cycle (- 100 (- 4 1))) -(defconst rng-xsd-days-per-gregorian-cycle - (+ (* 365 rng-xsd-years-per-gregorian-cycle) - rng-xsd-leap-years-per-gregorian-cycle)) - -(defun rng-xsd-month-days (months ref-year ref-month) - "Return the days in a number of months starting on a reference date. -MONTHS must be an integer >= 0." - (let ((days 0)) - (setq months (mod months rng-xsd-months-per-gregorian-cycle)) - ;; This may be rather slow, but it is highly unlikely - ;; ever to be used in real life. - (while (> months 0) - (setq days - (+ (rng-xsd-days-in-month ref-year ref-month) - days)) - (setq ref-month - (if (eq ref-month 12) - (progn - (setq ref-year (1+ ref-year)) - 1) - (1+ ref-month))) - (setq months (1- months))) - (+ (* (/ months rng-xsd-months-per-gregorian-cycle) - rng-xsd-days-per-gregorian-cycle) - days))) - -(defun rng-xsd-duration-months (d) - (+ (* (aref d 0) 12) - (aref d 1))) - -(defun rng-xsd-duration-seconds (d) - (+ (* (+ (* (+ (* (aref d 2) - 24.0) - (aref d 3)) - 60.0) - (aref d 4)) - 60.0) - (aref d 5))) - -(defun rng-xsd-convert-qname (string) - (and (string-match "\\`[ \r\n\t]*\\([_[:alpha:]][-._[:alnum:]]*\\(:[_[:alpha:]][-._[:alnum:]]*\\)?\\)[ \r\n\t]*\\'" string) - (let ((colon (match-beginning 2)) - (context (apply (car rng-dt-namespace-context-getter) - (cdr rng-dt-namespace-context-getter)))) - (if colon - (let* ((prefix (substring string - (match-beginning 1) - colon)) - (binding (assoc prefix (cdr context)))) - (and binding - (cons (cdr binding) - (substring string - (1+ colon) - (match-end 1))))) - (cons (car context) - (match-string 1 string)))))) - -(defun rng-xsd-convert-list (string convert &rest args) - (let* ((tokens (split-string string "[ \t\n\r]+")) - (tem tokens)) - (while tem - (let ((obj (apply convert - (cons (car tem) args)))) - (cond (obj - (setcar tem obj) - (setq tem (cdr tem))) - (t - (setq tokens nil) - (setq tem nil))))) - ;; Fortuitously this returns nil if the list is empty - ;; which is what we want since the list types - ;; have to have one or more members. - tokens)) - -(defun rng-xsd-strcmp (s1 s2) - (cond ((string= s1 s2) 0) - ((string< s1 s2) -1) - (t 1))) - -(put 'string 'rng-xsd-convert '(identity)) -(put 'string 'rng-xsd-length 'length) -(put 'string 'rng-xsd-matches-anything t) - -(put 'normalizedString 'rng-xsd-convert '(identity)) -(put 'normalizedString 'rng-xsd-length 'length) -(put 'normalizedString 'rng-xsd-matches-anything t) - -(put 'token 'rng-xsd-convert '(identity)) -(put 'token 'rng-xsd-length 'length) -(put 'token 'rng-xsd-matches-anything t) - -(put 'hexBinary 'rng-xsd-convert '(rng-xsd-convert-hex-binary)) -(put 'hexBinary 'rng-xsd-length 'rng-xsd-hex-binary-length) - -(put 'base64Binary 'rng-xsd-convert '(rng-xsd-convert-base64-binary)) -(put 'base64Binary 'rng-xsd-length 'rng-xsd-base64-binary-length) - -(put 'boolean 'rng-xsd-convert '(rng-xsd-convert-boolean)) - -(put 'float 'rng-xsd-convert '(rng-xsd-convert-float)) -(put 'float 'rng-xsd-less-than 'rng-xsd-float<) - -(put 'double 'rng-xsd-convert '(rng-xsd-convert-float)) -(put 'double 'rng-xsd-less-than 'rng-xsd-float<) - -(put 'decimal 'rng-xsd-convert '(rng-xsd-convert-decimal)) -(put 'decimal 'rng-xsd-less-than 'rng-xsd-decimal<) - -(put 'integer 'rng-xsd-convert '(rng-xsd-convert-integer)) -(put 'integer 'rng-xsd-less-than 'rng-xsd-decimal<) - -(defun rng-xsd-def-integer-type (name min max) - (put name 'rng-xsd-less-than 'rng-xsd-decimal<) - (put name - 'rng-xsd-convert - (cdr (rng-xsd-compile 'integer - (append (and min `((minInclusive . ,min))) - (and max `((maxInclusive . ,max)))))))) - -(defun rng-xsd-def-token-type (name regexp) - (put name 'rng-xsd-convert (list 'rng-xsd-convert-token - (concat "\\`[\r\n\t ]*\\(" - regexp - "\\)[\r\n\t ]*\\'"))) - (put name 'rng-xsd-length 'length)) - -(rng-xsd-def-token-type 'NMTOKEN "[-.:_[:alnum:]]+") -(rng-xsd-def-token-type 'Name "[:_[:alpha:]][-.:_[:alnum:]]*") -(rng-xsd-def-token-type 'NCName "[_[:alpha:]][-._[:alnum:]]*") -(rng-xsd-def-token-type 'language - "[a-zA-Z]\\{1,8\\}\\(?:-[a-zA-Z0-9]\\{1,8\\}\\)*") - -(put 'ENTITY 'rng-xsd-convert (get 'NCName 'rng-xsd-convert)) -(put 'ENTITY 'rng-xsd-length 'length) -(put 'ID 'rng-xsd-convert (get 'NCName 'rng-xsd-convert)) -(put 'ID 'rng-xsd-length 'length) -(put 'IDREF 'rng-xsd-convert (get 'NCName 'rng-xsd-convert)) -(put 'IDREF 'rng-xsd-length 'length) - -(defun rng-xsd-def-list-type (name member-name) - (put name 'rng-xsd-convert (cons 'rng-xsd-convert-list - (get member-name 'rng-xsd-convert))) - (put name 'rng-xsd-length 'length)) - -(rng-xsd-def-list-type 'NMTOKENS 'NMTOKEN) -(rng-xsd-def-list-type 'IDREFS 'IDREF) -(rng-xsd-def-list-type 'ENTITIES 'ENTITY) - -(put 'anyURI 'rng-xsd-convert '(rng-xsd-convert-any-uri)) -(put 'anyURI 'rng-xsd-length 'length) - -(put 'QName 'rng-xsd-convert '(rng-xsd-convert-qname)) -(put 'NOTATION 'rng-xsd-convert '(rng-xsd-convert-qname)) - -(defconst rng-xsd-long-max "9223372036854775807") -(defconst rng-xsd-long-min "-9223372036854775808") -(defconst rng-xsd-int-max "2147483647") -(defconst rng-xsd-int-min "-2147483648") -(defconst rng-xsd-short-max "32767") -(defconst rng-xsd-short-min "-32768") -(defconst rng-xsd-byte-max "127") -(defconst rng-xsd-byte-min "-128") -(defconst rng-xsd-unsigned-long-max "18446744073709551615") -(defconst rng-xsd-unsigned-int-max "4294967295") -(defconst rng-xsd-unsigned-short-max "65535") -(defconst rng-xsd-unsigned-byte-max "255") - -(rng-xsd-def-integer-type 'nonNegativeInteger "0" nil) -(rng-xsd-def-integer-type 'positiveInteger "1" nil) -(rng-xsd-def-integer-type 'nonPositiveInteger nil "0") -(rng-xsd-def-integer-type 'negativeInteger nil "-1") -(rng-xsd-def-integer-type 'long rng-xsd-long-min rng-xsd-long-max) -(rng-xsd-def-integer-type 'int rng-xsd-int-min rng-xsd-int-max) -(rng-xsd-def-integer-type 'short rng-xsd-short-min rng-xsd-short-max) -(rng-xsd-def-integer-type 'byte rng-xsd-byte-min rng-xsd-byte-max) -(rng-xsd-def-integer-type 'unsignedLong "0" rng-xsd-unsigned-long-max) -(rng-xsd-def-integer-type 'unsignedInt "0" rng-xsd-unsigned-int-max) -(rng-xsd-def-integer-type 'unsignedShort "0" rng-xsd-unsigned-short-max) -(rng-xsd-def-integer-type 'unsignedByte "0" rng-xsd-unsigned-byte-max) - -(defun rng-xsd-def-date-time-type (name template) - (put name 'rng-xsd-convert (list 'rng-xsd-convert-date-time - (rng-xsd-make-date-time-regexp template))) - (put name 'rng-xsd-less-than 'rng-xsd-date-time<)) - -(rng-xsd-def-date-time-type 'dateTime "Y-M-DTt") -(rng-xsd-def-date-time-type 'time "t") -(rng-xsd-def-date-time-type 'date "Y-M-D") -(rng-xsd-def-date-time-type 'gYearMonth "Y-M") -(rng-xsd-def-date-time-type 'gYear "Y") -(rng-xsd-def-date-time-type 'gMonthDay "--M-D") -(rng-xsd-def-date-time-type 'gDay "---D") -(rng-xsd-def-date-time-type 'gMonth "--M") - -(put 'duration 'rng-xsd-convert '(rng-xsd-convert-duration)) -(put 'duration 'rng-xsd-less-than 'rng-xsd-duration<) - -(provide 'rng-xsd) - -;;; rng-xsd.el ends here diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/calstbl.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/calstbl.rnc deleted file mode 100644 index 5d334e8ebd..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/calstbl.rnc +++ /dev/null @@ -1,184 +0,0 @@ -# This file was generated automatically by Trang, and then manually -# edited to add back definitions for overridden parameter entities and -# undefined elements, specifically: bodyatt, secur, paracon, -# tbl.table.mdl, tbl.entry.mdl, caution, graphic, legend, note, para, -# title, warning. This makes the semantics of this module as close as -# possible to the original DTD and also allows this schema to be used -# independently of DocBook. - -# ...................................................................... - -# DocBook CALS Table Model V4.2 ........................................ - -# File calstblx.mod .................................................... - -# Copyright 1992-2002 HaL Computer Systems, Inc., -# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software -# Corporation, Norman Walsh, Sun Microsystems, Inc., and the -# Organization for the Advancement of Structured Information -# Standards (OASIS). -# -# This DTD is based on the CALS Table Model -# PUBLIC "-//USA-DOD//DTD Table Model 951010//EN" -# -# $Id: calstbl.rnc,v 1.2 2003/08/30 06:04:02 jjc Exp $ -# -# Permission to use, copy, modify and distribute the DocBook DTD -# and its accompanying documentation for any purpose and without fee -# is hereby granted in perpetuity, provided that the above copyright -# notice and this paragraph appear in all copies. The copyright -# holders make no representation about the suitability of the DTD for -# any purpose. It is provided "as is" without expressed or implied -# warranty. -# -# If you modify the DocBook DTD in any way, except for declaring and -# referencing additional sets of general entities and declaring -# additional notations, label your DTD as a variant of DocBook. See -# the maintenance documentation for more information. -# -# Please direct all questions, bug reports, or suggestions for -# changes to the docbook@lists.oasis-open.org mailing list. For more -# information, see http://www.oasis-open.org/docbook/. - -# ...................................................................... - -# This module contains the definitions for the CALS Table Model -# converted to XML. - -# These definitions are not directly related to the table model, but are -# used in the default CALS table model and are usually defined elsewhere -# (and prior to the inclusion of this table module) in a CALS DTD. - -bodyatt = empty -secur = empty - -# no if zero(s), -# yes if any other digits value - -yesorno = string -titles = title? -# default for use in entry content -paracon = text - -# The parameter entities as defined below provide the CALS table model -# as published (as part of the Example DTD) in MIL-HDBK-28001. -# -# These following declarations provide the CALS-compliant default definitions -# for these entities. However, these entities can and should be redefined -# (by giving the appropriate parameter entity declaration(s) prior to the -# reference to this Table Model declaration set entity) to fit the needs -# of the current application. -tbl.table-titles.mdl = titles -tbl.table-main.mdl = tgroup+ | graphic+ -tbl.table.mdl = tbl.table-titles.mdl | tbl.table-main.mdl -tbl.table.att = - attribute tabstyle { text }?, - attribute tocentry { yesorno }?, - attribute shortentry { yesorno }?, - attribute orient { "port" | "land" }?, - attribute pgwide { yesorno }? -tbl.tgroup.mdl = colspec*, spanspec*, thead?, tfoot?, tbody -tbl.tgroup.att = attribute tgroupstyle { text }? -tbl.hdft.mdl = colspec*, row+ -tbl.row.mdl = (entry | entrytbl)+ -tbl.entrytbl.mdl = colspec*, spanspec*, thead?, tbody -tbl.entry.mdl = paracon | para | warning | caution | note | legend -# ===== Element and attribute declarations follow. ===== -start = table -table = element table { table.attlist, tbl.table.mdl } -table.attlist &= - attribute frame { - "top" | "bottom" | "topbot" | "all" | "sides" | "none" - }?, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - tbl.table.att, - bodyatt, - secur -tgroup = element tgroup { tgroup.attlist, tbl.tgroup.mdl } -tgroup.attlist &= - attribute cols { text }, - tbl.tgroup.att, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - attribute align { "left" | "right" | "center" | "justify" | "char" }?, - attribute char { text }?, - attribute charoff { text }?, - secur -colspec = element colspec { colspec.attlist, empty } -colspec.attlist &= - attribute colnum { text }?, - attribute colname { text }?, - attribute colwidth { text }?, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - attribute align { "left" | "right" | "center" | "justify" | "char" }?, - attribute char { text }?, - attribute charoff { text }? -spanspec = element spanspec { spanspec.attlist, empty } -spanspec.attlist &= - attribute namest { text }, - attribute nameend { text }, - attribute spanname { text }, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - attribute align { "left" | "right" | "center" | "justify" | "char" }?, - attribute char { text }?, - attribute charoff { text }? -thead = element thead { thead.attlist, tbl.hdft.mdl } -thead.attlist &= - attribute valign { "top" | "middle" | "bottom" }?, - secur -tfoot = element tfoot { tfoot.attlist, tbl.hdft.mdl } -tfoot.attlist &= - attribute valign { "top" | "middle" | "bottom" }?, - secur -tbody = element tbody { tbody.attlist, row+ } -tbody.attlist &= - attribute valign { "top" | "middle" | "bottom" }?, - secur -row = element row { row.attlist, tbl.row.mdl } -row.attlist &= - attribute rowsep { yesorno }?, - attribute valign { "top" | "middle" | "bottom" }?, - secur -entrytbl = element entrytbl { entrytbl.attlist, tbl.entrytbl.mdl } -entrytbl.attlist &= - attribute cols { text }, - tbl.tgroup.att, - attribute colname { text }?, - attribute spanname { text }?, - attribute namest { text }?, - attribute nameend { text }?, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - attribute align { "left" | "right" | "center" | "justify" | "char" }?, - attribute char { text }?, - attribute charoff { text }?, - secur -entry = element entry { entry.attlist, tbl.entry.mdl* } -entry.attlist &= - attribute colname { text }?, - attribute namest { text }?, - attribute nameend { text }?, - attribute spanname { text }?, - attribute morerows { text }?, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - attribute align { "left" | "right" | "center" | "justify" | "char" }?, - attribute char { text }?, - attribute charoff { text }?, - attribute rotate { yesorno }?, - attribute valign { "top" | "middle" | "bottom" }?, - secur -caution |= notAllowed -graphic |= notAllowed -legend |= notAllowed -note |= notAllowed -para |= notAllowed -title |= notAllowed -warning |= notAllowed - -# End of DocBook CALS Table Model V4.2 ................................. - -# ...................................................................... diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbcalstbl.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbcalstbl.rnc deleted file mode 100644 index 9841df2d73..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbcalstbl.rnc +++ /dev/null @@ -1,25 +0,0 @@ -# Definitions specific to the CALS Table Model. - -# Reference CALS Table Model -include "calstbl.rnc" { - # Override definition of start - start |= notAllowed - # Add label and role attributes to table and informaltable - bodyatt = label.attrib - # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, - # EntryTbl, and Entry (and InformalTable element). - secur = common.attrib, tables.role.attrib - # Content model for Table. - tbl.table.mdl = - blockinfo?, - formalobject.title.content, - ndxterm.class*, - textobject*, - (graphic+ | mediaobject+ | tgroup+) - # Allow either objects or inlines; beware of REs between elements. - tbl.entry.mdl = para.char.mix | tabentry.mix -} - -common.table.attribs = bodyatt, secur - -# end of table.module diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbdyntbl.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbdyntbl.rnc deleted file mode 100644 index 8e859145fd..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbdyntbl.rnc +++ /dev/null @@ -1,116 +0,0 @@ -# This is an alternative to dbsoextbl.rnc and dbcalstbl.rnc that -# allows the table model to be selected dynamically based on the -# definitions of cals.table.module and exchange.table.module. -# -# To use this copy, docbook.rnc to docbook-dyntbl.rnc replacing -# "dbcalstbl.rnc" by "dbdyntbl.rnc". Then, you can override the -# choice of table model by doing -# -# include "docbook-dyntbl.rnc" { -# cals.table.model = IGNORE -# exchange.table.model = INCLUDE -# } - -INCLUDE = empty -IGNORE = notAllowed -cals.table.module = INCLUDE -exchange.table.module = IGNORE - -# Add common attributes and the Label attribute to Table and -# InformalTable. -bodyatt = common.attrib, label.attrib, tables.role.attrib - -# Content model for Table. -tbl.table.mdl = - blockinfo?, - formalobject.title.content, - ndxterm.class*, - textobject*, - (graphic+ | mediaobject+ | tgroup+) - -table = cals.table | exchange.table - -cals.table = - cals.table.module, - grammar { - # Reference CALS Table Model - include "calstbl.rnc" { - # Add label and role attributes to table and informaltable - bodyatt = parent label.attrib - # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, - # EntryTbl, and Entry (and InformalTable element). - secur = parent common.attrib, parent tables.role.attrib - tbl.table.mdl = parent tbl.table.mdl - } - } - -exchange.table = - exchange.table.module, - grammar { - # Reference OASIS Exchange Table Model - include "soextbl.rnc" { - # Add common attributes and the Label attribute to Table and - # InformalTable. - bodyatt = parent bodyatt - tbl.table.mdl = parent tbl.table.mdl - } - } - -tgroup = cals.tgroup | exchange.tgroup - -cals.tgroup = - cals.table.module, - grammar { - # Reference CALS Table Model - include "calstbl.rnc" { - start = tgroup - # Add label and role attributes to table and informaltable - bodyatt = parent label.attrib - # Add common attributes to Table, TGroup, TBody, THead, TFoot, Row, - # EntryTbl, and Entry (and InformalTable element). - secur = parent common.attrib, parent tables.role.attrib - # Allow either objects or inlines; beware of REs between elements. - tbl.entry.mdl = parent para.char.mix | parent tabentry.mix - } - } - -exchange.tgroup = - exchange.table.module, - grammar { - # Reference OASIS Exchange Table Model - include "soextbl.rnc" { - start = tgroup - bodyatt = parent bodyatt - # Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry - tbl.tgroup.att = parent common.attrib - tbl.colspec.att = parent common.attrib - tbl.tbody.att = parent common.attrib - tbl.thead.att = parent common.attrib - tbl.row.att = parent common.attrib - tbl.entry.att = parent common.attrib - # Allow either objects or inlines; beware of REs between elements. - tbl.entry.mdl = (parent para.char.mix | parent tabentry.mix)* - } - } - -tbl.table.att = cals.tbl.table.att | exchange.tbl.table.att - -cals.tbl.table.att = - cals.table.module, - grammar { - include "calstbl.rnc" { - start = tbl.table.att - } - } - -exchange.tbl.table.att = - exchange.table.module, - grammar { - include "soextbl.rnc" { - start = tbl.table.att - } - } - -common.table.attribs = bodyatt - -# end of table.module diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbhier.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbhier.rnc deleted file mode 100644 index 1671b01fbc..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbhier.rnc +++ /dev/null @@ -1,1467 +0,0 @@ -# ...................................................................... - -# DocBook document hierarchy module V4.2 ............................... - -# File dbhierx.mod ..................................................... - -# Copyright 1992-2002 HaL Computer Systems, Inc., -# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software -# Corporation, Norman Walsh, Sun Microsystems, Inc., and the -# Organization for the Advancement of Structured Information -# Standards (OASIS). -# -# $Id: dbhier.rnc,v 1.1 2003/08/30 04:19:27 jjc Exp $ -# -# Permission to use, copy, modify and distribute the DocBook DTD -# and its accompanying documentation for any purpose and without fee -# is hereby granted in perpetuity, provided that the above copyright -# notice and this paragraph appear in all copies. The copyright -# holders make no representation about the suitability of the DTD for -# any purpose. It is provided "as is" without expressed or implied -# warranty. -# -# If you modify the DocBook DTD in any way, except for declaring and -# referencing additional sets of general entities and declaring -# additional notations, label your DTD as a variant of DocBook. See -# the maintenance documentation for more information. -# -# Please direct all questions, bug reports, or suggestions for -# changes to the docbook@lists.oasis-open.org mailing list. For more -# information, see http://www.oasis-open.org/docbook/. - -# ...................................................................... - -# This module contains the definitions for the overall document -# hierarchies of DocBook documents. It covers computer documentation -# manuals and manual fragments, as well as reference entries (such as -# man pages) and technical journals or anthologies containing -# articles. -# -# This module depends on the DocBook information pool module. All -# elements and entities referenced but not defined here are assumed -# to be defined in the information pool module. -# -# In DTD driver files referring to this module, please use an entity -# declaration that uses the public identifier shown below: -# -# -# %dbhier; -# -# See the documentation for detailed information on the parameter -# entity and module scheme used in DocBook, customizing DocBook and -# planning for interchange, and changes made since the last release -# of DocBook. - -# ...................................................................... - -# Entities for module inclusions ....................................... - -# ...................................................................... - -# Entities for element classes ......................................... - -local.appendix.class = notAllowed -appendix.class = appendix | local.appendix.class -local.article.class = notAllowed -article.class = article | local.article.class -local.book.class = notAllowed -book.class = book | local.book.class -local.chapter.class = notAllowed -chapter.class = chapter | local.chapter.class -local.index.class = notAllowed -index.class = index | setindex | local.index.class -local.refentry.class = notAllowed -refentry.class = refentry | local.refentry.class -local.section.class = notAllowed -section.class = section | local.section.class -local.nav.class = notAllowed -nav.class = - toc | lot | index | glossary | bibliography | local.nav.class -# Redeclaration placeholder ............................................ - -# For redeclaring entities that are declared after this point while -# retaining their references to the entities that are declared before -# this point - -# ...................................................................... - -# Entities for element mixtures ........................................ - -# The DocBook TC may produce an official forms module for DocBook. - -# This PE provides the hook by which it can be inserted into the DTD. -forms.hook = notAllowed -local.divcomponent.mix = notAllowed -divcomponent.mix = - list.class - | admon.class - | linespecific.class - | synop.class - | para.class - | informal.class - | formal.class - | compound.class - | genobj.class - | descobj.class - | ndxterm.class - | beginpage - | forms.hook - | local.divcomponent.mix -local.refcomponent.mix = notAllowed -refcomponent.mix = - list.class - | admon.class - | linespecific.class - | synop.class - | para.class - | informal.class - | formal.class - | compound.class - | genobj.class - | descobj.class - | ndxterm.class - | beginpage - | local.refcomponent.mix -local.indexdivcomponent.mix = notAllowed -indexdivcomponent.mix = - itemizedlist - | orderedlist - | variablelist - | simplelist - | linespecific.class - | synop.class - | para.class - | informal.class - | anchor - | remark - | link.char.class - | beginpage - | local.indexdivcomponent.mix -local.refname.char.mix = notAllowed -refname.char.mix = text | tech.char.class | local.refname.char.mix -local.partcontent.mix = notAllowed -partcontent.mix = - appendix.class - | chapter.class - | nav.class - | article.class - | preface - | refentry.class - | reference - | local.partcontent.mix -local.refinline.char.mix = notAllowed -refinline.char.mix = - text - | xref.char.class - | gen.char.class - | link.char.class - | tech.char.class - | base.char.class - | docinfo.char.class - | other.char.class - | ndxterm.class - | beginpage - | local.refinline.char.mix -local.refclass.char.mix = notAllowed -refclass.char.mix = text | application | local.refclass.char.mix -# Redeclaration placeholder 2 .......................................... - -# For redeclaring entities that are declared after this point while -# retaining their references to the entities that are declared before -# this point - -# ...................................................................... - -# Entities for content models .......................................... -div.title.content = title, subtitle?, titleabbrev? -bookcomponent.title.content = title, subtitle?, titleabbrev? -sect.title.content = title, subtitle?, titleabbrev? -refsect.title.content = title, subtitle?, titleabbrev? -bookcomponent.content = - (divcomponent.mix+, - (sect1* | refentry.class* | simplesect* | section.class*)) - | (sect1+ | refentry.class+ | simplesect+ | section.class+) -# ...................................................................... - -# Set and SetInfo ...................................................... -local.set.attrib = empty -set.role.attrib = role.attrib -set = - element set { - set.attlist, - div.title.content?, - setinfo?, - toc?, - book.class+, - setindex? - } -# end of set.element - -# FPI: SGML formal public identifier -set.attlist &= - attribute fpi { text }?, - status.attrib, - common.attrib, - set.role.attrib, - local.set.attrib -# end of set.attlist - -# end of set.module -local.setinfo.attrib = empty -setinfo.role.attrib = role.attrib -setinfo = element setinfo { setinfo.attlist, info.class+ } -# end of setinfo.element - -# Contents: IDs of the ToC, Books, and SetIndex that comprise -# the set, in the order of their appearance -setinfo.attlist &= - attribute contents { xsd:IDREFS }?, - common.attrib, - setinfo.role.attrib, - local.setinfo.attrib -# end of setinfo.attlist - -# end of setinfo.module - -# end of set.content.module - -# ...................................................................... - -# Book and BookInfo .................................................... -local.book.attrib = empty -book.role.attrib = role.attrib -book = - element book { - book.attlist, - div.title.content?, - bookinfo?, - (dedication - | toc - | lot - | glossary - | bibliography - | preface - | chapter.class - | reference - | part - | article.class - | appendix.class - | index.class - | colophon)* - } -# end of book.element - -# FPI: SGML formal public identifier -book.attlist &= - attribute fpi { text }?, - label.attrib, - status.attrib, - common.attrib, - book.role.attrib, - local.book.attrib -# end of book.attlist - -# end of book.module -local.bookinfo.attrib = empty -bookinfo.role.attrib = role.attrib -bookinfo = element bookinfo { bookinfo.attlist, info.class+ } -# end of bookinfo.element - -# Contents: IDs of the ToC, LoTs, Prefaces, Parts, Chapters, -# Appendixes, References, GLossary, Bibliography, and indexes -# comprising the Book, in the order of their appearance -bookinfo.attlist &= - attribute contents { xsd:IDREFS }?, - common.attrib, - bookinfo.role.attrib, - local.bookinfo.attrib -# end of bookinfo.attlist - -# end of bookinfo.module - -# end of book.content.module - -# ...................................................................... - -# Dedication, ToC, and LoT ............................................. -local.dedication.attrib = empty -dedication.role.attrib = role.attrib -dedication = - element dedication { - dedication.attlist, sect.title.content?, legalnotice.mix+ - } -# end of dedication.element -dedication.attlist &= - status.attrib, - common.attrib, - dedication.role.attrib, - local.dedication.attrib -# end of dedication.attlist - -# end of dedication.module -local.colophon.attrib = empty -colophon.role.attrib = role.attrib -colophon = - element colophon { - colophon.attlist, sect.title.content?, textobject.mix+ - } -# end of colophon.element -colophon.attlist &= - status.attrib, - common.attrib, - colophon.role.attrib, - local.colophon.attrib -# end of colophon.attlist - -# end of colophon.module -local.toc.attrib = empty -toc.role.attrib = role.attrib -toc = - element toc { - toc.attlist, - beginpage?, - bookcomponent.title.content?, - tocfront*, - (tocpart | tocchap)*, - tocback* - } -# end of toc.element -toc.attlist &= - pagenum.attrib, common.attrib, toc.role.attrib, local.toc.attrib -# end of toc.attlist - -# end of toc.module -local.tocfront.attrib = empty -tocfront.role.attrib = role.attrib -tocfront = element tocfront { tocfront.attlist, para.char.mix* } -# end of tocfront.element - -# to element that this entry represents -tocfront.attlist &= - label.attrib, - linkend.attrib, - pagenum.attrib, - common.attrib, - tocfront.role.attrib, - local.tocfront.attrib -# end of tocfront.attlist - -# end of tocfront.module -local.tocentry.attrib = empty -tocentry.role.attrib = role.attrib -tocentry = element tocentry { tocentry.attlist, para.char.mix* } -# end of tocentry.element - -# to element that this entry represents -tocentry.attlist &= - linkend.attrib, - pagenum.attrib, - common.attrib, - tocentry.role.attrib, - local.tocentry.attrib -# end of tocentry.attlist - -# end of tocentry.module -local.tocpart.attrib = empty -tocpart.role.attrib = role.attrib -tocpart = element tocpart { tocpart.attlist, tocentry+, tocchap* } -# end of tocpart.element -tocpart.attlist &= - common.attrib, tocpart.role.attrib, local.tocpart.attrib -# end of tocpart.attlist - -# end of tocpart.module -local.tocchap.attrib = empty -tocchap.role.attrib = role.attrib -tocchap = element tocchap { tocchap.attlist, tocentry+, toclevel1* } -# end of tocchap.element -tocchap.attlist &= - label.attrib, common.attrib, tocchap.role.attrib, local.tocchap.attrib -# end of tocchap.attlist - -# end of tocchap.module -local.toclevel1.attrib = empty -toclevel1.role.attrib = role.attrib -toclevel1 = - element toclevel1 { toclevel1.attlist, tocentry+, toclevel2* } -# end of toclevel1.element -toclevel1.attlist &= - common.attrib, toclevel1.role.attrib, local.toclevel1.attrib -# end of toclevel1.attlist - -# end of toclevel1.module -local.toclevel2.attrib = empty -toclevel2.role.attrib = role.attrib -toclevel2 = - element toclevel2 { toclevel2.attlist, tocentry+, toclevel3* } -# end of toclevel2.element -toclevel2.attlist &= - common.attrib, toclevel2.role.attrib, local.toclevel2.attrib -# end of toclevel2.attlist - -# end of toclevel2.module -local.toclevel3.attrib = empty -toclevel3.role.attrib = role.attrib -toclevel3 = - element toclevel3 { toclevel3.attlist, tocentry+, toclevel4* } -# end of toclevel3.element -toclevel3.attlist &= - common.attrib, toclevel3.role.attrib, local.toclevel3.attrib -# end of toclevel3.attlist - -# end of toclevel3.module -local.toclevel4.attrib = empty -toclevel4.role.attrib = role.attrib -toclevel4 = - element toclevel4 { toclevel4.attlist, tocentry+, toclevel5* } -# end of toclevel4.element -toclevel4.attlist &= - common.attrib, toclevel4.role.attrib, local.toclevel4.attrib -# end of toclevel4.attlist - -# end of toclevel4.module -local.toclevel5.attrib = empty -toclevel5.role.attrib = role.attrib -toclevel5 = element toclevel5 { toclevel5.attlist, tocentry+ } -# end of toclevel5.element -toclevel5.attlist &= - common.attrib, toclevel5.role.attrib, local.toclevel5.attrib -# end of toclevel5.attlist - -# end of toclevel5.module -local.tocback.attrib = empty -tocback.role.attrib = role.attrib -tocback = element tocback { tocback.attlist, para.char.mix* } -# end of tocback.element - -# to element that this entry represents -tocback.attlist &= - label.attrib, - linkend.attrib, - pagenum.attrib, - common.attrib, - tocback.role.attrib, - local.tocback.attrib -# end of tocback.attlist - -# end of tocback.module - -# end of toc.content.module -local.lot.attrib = empty -lot.role.attrib = role.attrib -lot = - element lot { - lot.attlist, beginpage?, bookcomponent.title.content?, lotentry* - } -# end of lot.element -lot.attlist &= - label.attrib, common.attrib, lot.role.attrib, local.lot.attrib -# end of lot.attlist - -# end of lot.module -local.lotentry.attrib = empty -lotentry.role.attrib = role.attrib -lotentry = element lotentry { lotentry.attlist, para.char.mix* } -# end of lotentry.element - -# SrcCredit: Information about the source of the entry, -# as for a list of illustrations - -# linkend: to element that this entry represents -lotentry.attlist &= - linkend.attrib, - pagenum.attrib, - attribute srccredit { text }?, - common.attrib, - lotentry.role.attrib, - local.lotentry.attrib -# end of lotentry.attlist - -# end of lotentry.module - -# end of lot.content.module - -# ...................................................................... - -# Appendix, Chapter, Part, Preface, Reference, PartIntro ............... -local.appendix.attrib = empty -appendix.role.attrib = role.attrib -appendix = - element appendix { - appendix.attlist, - beginpage?, - appendixinfo?, - bookcomponent.title.content, - nav.class*, - tocchap?, - bookcomponent.content, - nav.class* - } -# end of appendix.element -appendix.attlist &= - label.attrib, - status.attrib, - common.attrib, - appendix.role.attrib, - local.appendix.attrib -# end of appendix.attlist - -# end of appendix.module -local.chapter.attrib = empty -chapter.role.attrib = role.attrib -chapter = - element chapter { - chapter.attlist, - beginpage?, - chapterinfo?, - bookcomponent.title.content, - nav.class*, - tocchap?, - bookcomponent.content, - nav.class* - } -# end of chapter.element -chapter.attlist &= - label.attrib, - status.attrib, - common.attrib, - chapter.role.attrib, - local.chapter.attrib -# end of chapter.attlist - -# end of chapter.module - -# Note that Part was to have its content model reduced in V4.2. This -# change will not be made after all. -local.part.attrib = empty -part.role.attrib = role.attrib -part = - element part { - part.attlist, - beginpage?, - partinfo?, - bookcomponent.title.content, - partintro?, - partcontent.mix+ - } -# end of part.element -part.attlist &= - label.attrib, - status.attrib, - common.attrib, - part.role.attrib, - local.part.attrib -# end of part.attlist - -# ELEMENT PartIntro (defined below) - -# end of part.module -local.preface.attrib = empty -preface.role.attrib = role.attrib -preface = - element preface { - preface.attlist, - beginpage?, - prefaceinfo?, - bookcomponent.title.content, - nav.class*, - tocchap?, - bookcomponent.content, - nav.class* - } -# end of preface.element -preface.attlist &= - status.attrib, - common.attrib, - preface.role.attrib, - local.preface.attrib -# end of preface.attlist - -# end of preface.module -local.reference.attrib = empty -reference.role.attrib = role.attrib -reference = - element reference { - reference.attlist, - beginpage?, - referenceinfo?, - bookcomponent.title.content, - partintro?, - refentry.class+ - } -# end of reference.element -reference.attlist &= - label.attrib, - status.attrib, - common.attrib, - reference.role.attrib, - local.reference.attrib -# end of reference.attlist - -# ELEMENT PartIntro (defined below) - -# end of reference.module -local.partintro.attrib = empty -partintro.role.attrib = role.attrib -partintro = - element partintro { - partintro.attlist, div.title.content?, bookcomponent.content - } -# end of partintro.element -partintro.attlist &= - label.attrib, - common.attrib, - partintro.role.attrib, - local.partintro.attrib -# end of partintro.attlist - -# end of partintro.module - -# ...................................................................... - -# Other Info elements .................................................. -local.appendixinfo.attrib = empty -appendixinfo.role.attrib = role.attrib -appendixinfo = - element appendixinfo { appendixinfo.attlist, info.class+ } -# end of appendixinfo.element -appendixinfo.attlist &= - common.attrib, appendixinfo.role.attrib, local.appendixinfo.attrib -# end of appendixinfo.attlist - -# end of appendixinfo.module -local.bibliographyinfo.attrib = empty -bibliographyinfo.role.attrib = role.attrib -bibliographyinfo = - element bibliographyinfo { bibliographyinfo.attlist, info.class+ } -# end of bibliographyinfo.element -bibliographyinfo.attlist &= - common.attrib, - bibliographyinfo.role.attrib, - local.bibliographyinfo.attrib -# end of bibliographyinfo.attlist - -# end of bibliographyinfo.module -local.chapterinfo.attrib = empty -chapterinfo.role.attrib = role.attrib -chapterinfo = element chapterinfo { chapterinfo.attlist, info.class+ } -# end of chapterinfo.element -chapterinfo.attlist &= - common.attrib, chapterinfo.role.attrib, local.chapterinfo.attrib -# end of chapterinfo.attlist - -# end of chapterinfo.module -local.glossaryinfo.attrib = empty -glossaryinfo.role.attrib = role.attrib -glossaryinfo = - element glossaryinfo { glossaryinfo.attlist, info.class+ } -# end of glossaryinfo.element -glossaryinfo.attlist &= - common.attrib, glossaryinfo.role.attrib, local.glossaryinfo.attrib -# end of glossaryinfo.attlist - -# end of glossaryinfo.module -local.indexinfo.attrib = empty -indexinfo.role.attrib = role.attrib -indexinfo = element indexinfo { indexinfo.attlist, info.class+ } -# end of indexinfo.element -indexinfo.attlist &= - common.attrib, indexinfo.role.attrib, local.indexinfo.attrib -# end of indexinfo.attlist - -# end of indexinfo.module -local.setindexinfo.attrib = empty -setindexinfo.role.attrib = role.attrib -setindexinfo = - element setindexinfo { setindexinfo.attlist, info.class+ } -# end of setindexinfo.element -setindexinfo.attlist &= - common.attrib, setindexinfo.role.attrib, local.setindexinfo.attrib -# end of setindexinfo.attlist - -# end of setindexinfo.module -local.partinfo.attrib = empty -partinfo.role.attrib = role.attrib -partinfo = element partinfo { partinfo.attlist, info.class+ } -# end of partinfo.element -partinfo.attlist &= - common.attrib, partinfo.role.attrib, local.partinfo.attrib -# end of partinfo.attlist - -# end of partinfo.module -local.prefaceinfo.attrib = empty -prefaceinfo.role.attrib = role.attrib -prefaceinfo = element prefaceinfo { prefaceinfo.attlist, info.class+ } -# end of prefaceinfo.element -prefaceinfo.attlist &= - common.attrib, prefaceinfo.role.attrib, local.prefaceinfo.attrib -# end of prefaceinfo.attlist - -# end of prefaceinfo.module -local.refentryinfo.attrib = empty -refentryinfo.role.attrib = role.attrib -refentryinfo = - element refentryinfo { refentryinfo.attlist, info.class+ } -# end of refentryinfo.element -refentryinfo.attlist &= - common.attrib, refentryinfo.role.attrib, local.refentryinfo.attrib -# end of refentryinfo.attlist - -# end of refentryinfo.module -local.refsectioninfo.attrib = empty -refsectioninfo.role.attrib = role.attrib -refsectioninfo = - element refsectioninfo { refsectioninfo.attlist, info.class+ } -# end of refsectioninfo.element -refsectioninfo.attlist &= - common.attrib, refsectioninfo.role.attrib, local.refsectioninfo.attrib -# end of refsectioninfo.attlist - -# end of refsectioninfo.module -local.refsect1info.attrib = empty -refsect1info.role.attrib = role.attrib -refsect1info = - element refsect1info { refsect1info.attlist, info.class+ } -# end of refsect1info.element -refsect1info.attlist &= - common.attrib, refsect1info.role.attrib, local.refsect1info.attrib -# end of refsect1info.attlist - -# end of refsect1info.module -local.refsect2info.attrib = empty -refsect2info.role.attrib = role.attrib -refsect2info = - element refsect2info { refsect2info.attlist, info.class+ } -# end of refsect2info.element -refsect2info.attlist &= - common.attrib, refsect2info.role.attrib, local.refsect2info.attrib -# end of refsect2info.attlist - -# end of refsect2info.module -local.refsect3info.attrib = empty -refsect3info.role.attrib = role.attrib -refsect3info = - element refsect3info { refsect3info.attlist, info.class+ } -# end of refsect3info.element -refsect3info.attlist &= - common.attrib, refsect3info.role.attrib, local.refsect3info.attrib -# end of refsect3info.attlist - -# end of refsect3info.module -local.refsynopsisdivinfo.attrib = empty -refsynopsisdivinfo.role.attrib = role.attrib -refsynopsisdivinfo = - element refsynopsisdivinfo { refsynopsisdivinfo.attlist, info.class+ } -# end of refsynopsisdivinfo.element -refsynopsisdivinfo.attlist &= - common.attrib, - refsynopsisdivinfo.role.attrib, - local.refsynopsisdivinfo.attrib -# end of refsynopsisdivinfo.attlist - -# end of refsynopsisdivinfo.module -local.referenceinfo.attrib = empty -referenceinfo.role.attrib = role.attrib -referenceinfo = - element referenceinfo { referenceinfo.attlist, info.class+ } -# end of referenceinfo.element -referenceinfo.attlist &= - common.attrib, referenceinfo.role.attrib, local.referenceinfo.attrib -# end of referenceinfo.attlist - -# end of referenceinfo.module -local.sect1info.attrib = empty -sect1info.role.attrib = role.attrib -sect1info = element sect1info { sect1info.attlist, info.class+ } -# end of sect1info.element -sect1info.attlist &= - common.attrib, sect1info.role.attrib, local.sect1info.attrib -# end of sect1info.attlist -local.sect2info.attrib = empty -sect2info.role.attrib = role.attrib -sect2info = element sect2info { sect2info.attlist, info.class+ } -# end of sect2info.element -sect2info.attlist &= - common.attrib, sect2info.role.attrib, local.sect2info.attrib -# end of sect2info.attlist -local.sect3info.attrib = empty -sect3info.role.attrib = role.attrib -sect3info = element sect3info { sect3info.attlist, info.class+ } -# end of sect3info.element -sect3info.attlist &= - common.attrib, sect3info.role.attrib, local.sect3info.attrib -# end of sect3info.attlist -local.sect4info.attrib = empty -sect4info.role.attrib = role.attrib -sect4info = element sect4info { sect4info.attlist, info.class+ } -# end of sect4info.element -sect4info.attlist &= - common.attrib, sect4info.role.attrib, local.sect4info.attrib -# end of sect4info.attlist -local.sect5info.attrib = empty -sect5info.role.attrib = role.attrib -sect5info = element sect5info { sect5info.attlist, info.class+ } -# end of sect5info.element -sect5info.attlist &= - common.attrib, sect5info.role.attrib, local.sect5info.attrib -# end of sect5info.attlist - -# ...................................................................... - -# Section (parallel to Sect*) ......................................... -local.section.attrib = empty -section.role.attrib = role.attrib -section = - element section { - section.attlist, - sectioninfo?, - sect.title.content, - nav.class*, - ((divcomponent.mix+, - (refentry.class* | section.class* | simplesect*)) - | refentry.class+ - | section.class+ - | simplesect+), - nav.class* - } -# end of section.element -section.attlist &= - label.attrib, - status.attrib, - common.attrib, - section.role.attrib, - local.section.attrib -# end of section.attlist - -# end of section.module -sectioninfo.role.attrib = role.attrib -local.sectioninfo.attrib = empty -sectioninfo = element sectioninfo { sectioninfo.attlist, info.class+ } -# end of sectioninfo.element -sectioninfo.attlist &= - common.attrib, sectioninfo.role.attrib, local.sectioninfo.attrib -# end of sectioninfo.attlist - -# end of sectioninfo.module - -# end of section.content.module - -# ...................................................................... - -# Sect1, Sect2, Sect3, Sect4, Sect5 .................................... -local.sect1.attrib = empty -sect1.role.attrib = role.attrib -sect1 = - element sect1 { - sect1.attlist, - sect1info?, - sect.title.content, - nav.class*, - ((divcomponent.mix+, (refentry.class* | sect2* | simplesect*)) - | refentry.class+ - | sect2+ - | simplesect+), - nav.class* - } -# end of sect1.element - -# Renderas: Indicates the format in which the heading should -# appear -sect1.attlist &= - attribute renderas { "sect2" | "sect3" | "sect4" | "sect5" }?, - label.attrib, - status.attrib, - common.attrib, - sect1.role.attrib, - local.sect1.attrib -# end of sect1.attlist - -# end of sect1.module -local.sect2.attrib = empty -sect2.role.attrib = role.attrib -sect2 = - element sect2 { - sect2.attlist, - sect2info?, - sect.title.content, - nav.class*, - ((divcomponent.mix+, (refentry.class* | sect3* | simplesect*)) - | refentry.class+ - | sect3+ - | simplesect+), - nav.class* - } -# end of sect2.element - -# Renderas: Indicates the format in which the heading should -# appear -sect2.attlist &= - attribute renderas { "sect1" | "sect3" | "sect4" | "sect5" }?, - label.attrib, - status.attrib, - common.attrib, - sect2.role.attrib, - local.sect2.attrib -# end of sect2.attlist - -# end of sect2.module -local.sect3.attrib = empty -sect3.role.attrib = role.attrib -sect3 = - element sect3 { - sect3.attlist, - sect3info?, - sect.title.content, - nav.class*, - ((divcomponent.mix+, (refentry.class* | sect4* | simplesect*)) - | refentry.class+ - | sect4+ - | simplesect+), - nav.class* - } -# end of sect3.element - -# Renderas: Indicates the format in which the heading should -# appear -sect3.attlist &= - attribute renderas { "sect1" | "sect2" | "sect4" | "sect5" }?, - label.attrib, - status.attrib, - common.attrib, - sect3.role.attrib, - local.sect3.attrib -# end of sect3.attlist - -# end of sect3.module -local.sect4.attrib = empty -sect4.role.attrib = role.attrib -sect4 = - element sect4 { - sect4.attlist, - sect4info?, - sect.title.content, - nav.class*, - ((divcomponent.mix+, (refentry.class* | sect5* | simplesect*)) - | refentry.class+ - | sect5+ - | simplesect+), - nav.class* - } -# end of sect4.element - -# Renderas: Indicates the format in which the heading should -# appear -sect4.attlist &= - attribute renderas { "sect1" | "sect2" | "sect3" | "sect5" }?, - label.attrib, - status.attrib, - common.attrib, - sect4.role.attrib, - local.sect4.attrib -# end of sect4.attlist - -# end of sect4.module -local.sect5.attrib = empty -sect5.role.attrib = role.attrib -sect5 = - element sect5 { - sect5.attlist, - sect5info?, - sect.title.content, - nav.class*, - ((divcomponent.mix+, (refentry.class* | simplesect*)) - | refentry.class+ - | simplesect+), - nav.class* - } -# end of sect5.element - -# Renderas: Indicates the format in which the heading should -# appear -sect5.attlist &= - attribute renderas { "sect1" | "sect2" | "sect3" | "sect4" }?, - label.attrib, - status.attrib, - common.attrib, - sect5.role.attrib, - local.sect5.attrib -# end of sect5.attlist - -# end of sect5.module -local.simplesect.attrib = empty -simplesect.role.attrib = role.attrib -simplesect = - element simplesect { - simplesect.attlist, sect.title.content, divcomponent.mix+ - } -# end of simplesect.element -simplesect.attlist &= - common.attrib, simplesect.role.attrib, local.simplesect.attrib -# end of simplesect.attlist - -# end of simplesect.module - -# ...................................................................... - -# Bibliography ......................................................... -local.bibliography.attrib = empty -bibliography.role.attrib = role.attrib -bibliography = - element bibliography { - bibliography.attlist, - bibliographyinfo?, - bookcomponent.title.content?, - component.mix*, - (bibliodiv+ | (biblioentry | bibliomixed)+) - } -# end of bibliography.element -bibliography.attlist &= - status.attrib, - common.attrib, - bibliography.role.attrib, - local.bibliography.attrib -# end of bibliography.attlist - -# end of bibliography.module -local.bibliodiv.attrib = empty -bibliodiv.role.attrib = role.attrib -bibliodiv = - element bibliodiv { - bibliodiv.attlist, - sect.title.content?, - component.mix*, - (biblioentry | bibliomixed)+ - } -# end of bibliodiv.element -bibliodiv.attlist &= - status.attrib, - common.attrib, - bibliodiv.role.attrib, - local.bibliodiv.attrib -# end of bibliodiv.attlist - -# end of bibliodiv.module - -# end of bibliography.content.module - -# ...................................................................... - -# Glossary ............................................................. -local.glossary.attrib = empty -glossary.role.attrib = role.attrib -glossary = - element glossary { - glossary.attlist, - glossaryinfo?, - bookcomponent.title.content?, - component.mix*, - (glossdiv+ | glossentry+), - bibliography? - } -# end of glossary.element -glossary.attlist &= - status.attrib, - common.attrib, - glossary.role.attrib, - local.glossary.attrib -# end of glossary.attlist - -# end of glossary.module -local.glossdiv.attrib = empty -glossdiv.role.attrib = role.attrib -glossdiv = - element glossdiv { - glossdiv.attlist, sect.title.content, component.mix*, glossentry+ - } -# end of glossdiv.element -glossdiv.attlist &= - status.attrib, - common.attrib, - glossdiv.role.attrib, - local.glossdiv.attrib -# end of glossdiv.attlist - -# end of glossdiv.module - -# end of glossary.content.module - -# ...................................................................... - -# Index and SetIndex ................................................... -local.indexes.attrib = empty -indexes.role.attrib = role.attrib -index = - element index { - index.attlist, - indexinfo?, - bookcomponent.title.content?, - component.mix*, - (indexdiv* | indexentry*) - } -# end of index.element -index.attlist &= - common.attrib, indexes.role.attrib, local.indexes.attrib -# end of index.attlist -setindex = - element setindex { - setindex.attlist, - setindexinfo?, - bookcomponent.title.content?, - component.mix*, - (indexdiv* | indexentry*) - } -# end of setindex.element -setindex.attlist &= - common.attrib, indexes.role.attrib, local.indexes.attrib -# end of setindex.attlist - -# end of indexes.module - -# SegmentedList in this content is useful for marking up permuted -# indices. -local.indexdiv.attrib = empty -indexdiv.role.attrib = role.attrib -indexdiv = - element indexdiv { - indexdiv.attlist, - sect.title.content?, - (indexdivcomponent.mix*, (indexentry+ | segmentedlist)) - } -# end of indexdiv.element -indexdiv.attlist &= - common.attrib, indexdiv.role.attrib, local.indexdiv.attrib -# end of indexdiv.attlist - -# end of indexdiv.module - -# Index entries appear in the index, not the text. -local.indexentry.attrib = empty -indexentry.role.attrib = role.attrib -indexentry = - element indexentry { - indexentry.attlist, - primaryie, - (seeie | seealsoie)*, - (secondaryie, (seeie | seealsoie | tertiaryie)*)* - } -# end of indexentry.element -indexentry.attlist &= - common.attrib, indexentry.role.attrib, local.indexentry.attrib -# end of indexentry.attlist - -# end of indexentry.module -local.primsecterie.attrib = empty -primsecterie.role.attrib = role.attrib -primaryie = element primaryie { primaryie.attlist, ndxterm.char.mix* } -# end of primaryie.element - -# to IndexTerms that these entries represent -primaryie.attlist &= - linkends.attrib, - common.attrib, - primsecterie.role.attrib, - local.primsecterie.attrib -# end of primaryie.attlist -secondaryie = - element secondaryie { secondaryie.attlist, ndxterm.char.mix* } -# end of secondaryie.element - -# to IndexTerms that these entries represent -secondaryie.attlist &= - linkends.attrib, - common.attrib, - primsecterie.role.attrib, - local.primsecterie.attrib -# end of secondaryie.attlist -tertiaryie = - element tertiaryie { tertiaryie.attlist, ndxterm.char.mix* } -# end of tertiaryie.element - -# to IndexTerms that these entries represent -tertiaryie.attlist &= - linkends.attrib, - common.attrib, - primsecterie.role.attrib, - local.primsecterie.attrib -# end of tertiaryie.attlist - -# end of primsecterie.module -local.seeie.attrib = empty -seeie.role.attrib = role.attrib -seeie = element seeie { seeie.attlist, ndxterm.char.mix* } -# end of seeie.element - -# to IndexEntry to look up -seeie.attlist &= - linkend.attrib, common.attrib, seeie.role.attrib, local.seeie.attrib -# end of seeie.attlist - -# end of seeie.module -local.seealsoie.attrib = empty -seealsoie.role.attrib = role.attrib -seealsoie = element seealsoie { seealsoie.attlist, ndxterm.char.mix* } -# end of seealsoie.element - -# to related IndexEntries -seealsoie.attlist &= - linkends.attrib, - common.attrib, - seealsoie.role.attrib, - local.seealsoie.attrib -# end of seealsoie.attlist - -# end of seealsoie.module - -# end of index.content.module - -# ...................................................................... - -# RefEntry ............................................................. -local.refentry.attrib = empty -refentry.role.attrib = role.attrib -refentry = - element refentry { - refentry.attlist, - beginpage?, - ndxterm.class*, - refentryinfo?, - refmeta?, - (remark | link.char.class)*, - refnamediv, - refsynopsisdiv?, - (refsect1+ | refsection+) - } -# end of refentry.element -refentry.attlist &= - status.attrib, - common.attrib, - refentry.role.attrib, - local.refentry.attrib -# end of refentry.attlist - -# end of refentry.module -local.refmeta.attrib = empty -refmeta.role.attrib = role.attrib -refmeta = - element refmeta { - refmeta.attlist, - ndxterm.class*, - refentrytitle, - manvolnum?, - refmiscinfo*, - ndxterm.class* - } -# end of refmeta.element -refmeta.attlist &= - common.attrib, refmeta.role.attrib, local.refmeta.attrib -# end of refmeta.attlist - -# end of refmeta.module -local.refmiscinfo.attrib = empty -refmiscinfo.role.attrib = role.attrib -refmiscinfo = - element refmiscinfo { refmiscinfo.attlist, docinfo.char.mix* } -# end of refmiscinfo.element - -# Class: Freely assignable parameter; no default -refmiscinfo.attlist &= - attribute class { text }?, - common.attrib, - refmiscinfo.role.attrib, - local.refmiscinfo.attrib -# end of refmiscinfo.attlist - -# end of refmiscinfo.module -local.refnamediv.attrib = empty -refnamediv.role.attrib = role.attrib -refnamediv = - element refnamediv { - refnamediv.attlist, - refdescriptor?, - refname+, - refpurpose, - refclass*, - (remark | link.char.class)* - } -# end of refnamediv.element -refnamediv.attlist &= - common.attrib, refnamediv.role.attrib, local.refnamediv.attrib -# end of refnamediv.attlist - -# end of refnamediv.module -local.refdescriptor.attrib = empty -refdescriptor.role.attrib = role.attrib -refdescriptor = - element refdescriptor { refdescriptor.attlist, refname.char.mix* } -# end of refdescriptor.element -refdescriptor.attlist &= - common.attrib, refdescriptor.role.attrib, local.refdescriptor.attrib -# end of refdescriptor.attlist - -# end of refdescriptor.module -local.refname.attrib = empty -refname.role.attrib = role.attrib -refname = element refname { refname.attlist, refname.char.mix* } -# end of refname.element -refname.attlist &= - common.attrib, refname.role.attrib, local.refname.attrib -# end of refname.attlist - -# end of refname.module -local.refpurpose.attrib = empty -refpurpose.role.attrib = role.attrib -refpurpose = - element refpurpose { refpurpose.attlist, refinline.char.mix* } -# end of refpurpose.element -refpurpose.attlist &= - common.attrib, refpurpose.role.attrib, local.refpurpose.attrib -# end of refpurpose.attlist - -# end of refpurpose.module -local.refclass.attrib = empty -refclass.role.attrib = role.attrib -refclass = element refclass { refclass.attlist, refclass.char.mix* } -# end of refclass.element -refclass.attlist &= - common.attrib, refclass.role.attrib, local.refclass.attrib -# end of refclass.attlist - -# end of refclass.module -local.refsynopsisdiv.attrib = empty -refsynopsisdiv.role.attrib = role.attrib -refsynopsisdiv = - element refsynopsisdiv { - refsynopsisdiv.attlist, - refsynopsisdivinfo?, - refsect.title.content?, - ((refcomponent.mix+, refsect2*) | refsect2+) - } -# end of refsynopsisdiv.element -refsynopsisdiv.attlist &= - common.attrib, refsynopsisdiv.role.attrib, local.refsynopsisdiv.attrib -# end of refsynopsisdiv.attlist - -# end of refsynopsisdiv.module -local.refsection.attrib = empty -refsection.role.attrib = role.attrib -refsection = - element refsection { - refsection.attlist, - refsectioninfo?, - refsect.title.content, - ((refcomponent.mix+, refsection*) | refsection+) - } -# end of refsection.element -refsection.attlist &= - status.attrib, - common.attrib, - refsection.role.attrib, - local.refsection.attrib -# end of refsection.attlist - -# end of refsection.module -local.refsect1.attrib = empty -refsect1.role.attrib = role.attrib -refsect1 = - element refsect1 { - refsect1.attlist, - refsect1info?, - refsect.title.content, - ((refcomponent.mix+, refsect2*) | refsect2+) - } -# end of refsect1.element -refsect1.attlist &= - status.attrib, - common.attrib, - refsect1.role.attrib, - local.refsect1.attrib -# end of refsect1.attlist - -# end of refsect1.module -local.refsect2.attrib = empty -refsect2.role.attrib = role.attrib -refsect2 = - element refsect2 { - refsect2.attlist, - refsect2info?, - refsect.title.content, - ((refcomponent.mix+, refsect3*) | refsect3+) - } -# end of refsect2.element -refsect2.attlist &= - status.attrib, - common.attrib, - refsect2.role.attrib, - local.refsect2.attrib -# end of refsect2.attlist - -# end of refsect2.module -local.refsect3.attrib = empty -refsect3.role.attrib = role.attrib -refsect3 = - element refsect3 { - refsect3.attlist, - refsect3info?, - refsect.title.content, - refcomponent.mix+ - } -# end of refsect3.element -refsect3.attlist &= - status.attrib, - common.attrib, - refsect3.role.attrib, - local.refsect3.attrib -# end of refsect3.attlist - -# end of refsect3.module - -# end of refentry.content.module - -# ...................................................................... - -# Article .............................................................. - -# An Article is a chapter-level, stand-alone document that is often, -# but need not be, collected into a Book. -local.article.attrib = empty -article.role.attrib = role.attrib -article = - element article { - article.attlist, - div.title.content?, - articleinfo?, - tocchap?, - lot*, - bookcomponent.content, - (nav.class | appendix.class | ackno)* - } -# end of article.element - -# Class: Indicates the type of a particular article; -# all articles have the same structure and general purpose. -# No default. - -# ParentBook: ID of the enclosing Book -article.attlist &= - attribute class { - "journalarticle" - | "productsheet" - | "whitepaper" - | "techreport" - | "specification" - | "faq" - }?, - attribute parentbook { xsd:IDREF }?, - status.attrib, - common.attrib, - article.role.attrib, - local.article.attrib -# end of article.attlist - -# end of article.module - -# End of DocBook document hierarchy module V4.2 ........................ - -# ...................................................................... diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbnotn.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbnotn.rnc deleted file mode 100644 index 2a6185f27f..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbnotn.rnc +++ /dev/null @@ -1,84 +0,0 @@ -# ...................................................................... - -# DocBook notations module V4.2 ........................................ - -# File dbnotnx.mod ..................................................... - -# Copyright 1992-2002 HaL Computer Systems, Inc., -# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software -# Corporation, Norman Walsh, Sun Microsystems, Inc., and the -# Organization for the Advancement of Structured Information -# Standards (OASIS). -# -# $Id: dbnotn.rnc,v 1.1 2003/08/30 04:19:27 jjc Exp $ -# -# Permission to use, copy, modify and distribute the DocBook DTD -# and its accompanying documentation for any purpose and without fee -# is hereby granted in perpetuity, provided that the above copyright -# notice and this paragraph appear in all copies. The copyright -# holders make no representation about the suitability of the DTD for -# any purpose. It is provided "as is" without expressed or implied -# warranty. -# -# If you modify the DocBook DTD in any way, except for declaring and -# referencing additional sets of general entities and declaring -# additional notations, label your DTD as a variant of DocBook. See -# the maintenance documentation for more information. -# -# Please direct all questions, bug reports, or suggestions for -# changes to the docbook@lists.oasis-open.org mailing list. For more -# information, see http://www.oasis-open.org/docbook/. - -# ...................................................................... - -# This module contains the entity declarations for the standard ISO -# entity sets used by DocBook. -# -# In DTD driver files referring to this module, please use an entity -# declaration that uses the public identifier shown below: -# -# -# %dbnotn; -# -# See the documentation for detailed information on the parameter -# entity and module scheme used in DocBook, customizing DocBook and -# planning for interchange, and changes made since the last release -# of DocBook. - -local.notation.class = notAllowed -notation.class = - "BMP" - | "CGM-CHAR" - | "CGM-BINARY" - | "CGM-CLEAR" - | "DITROFF" - | "DVI" - | "EPS" - | "EQN" - | "FAX" - | "GIF" - | "GIF87a" - | "GIF89a" - | "JPG" - | "JPEG" - | "IGES" - | "PCX" - | "PIC" - | "PNG" - | "PS" - | "SGML" - | "TBL" - | "TEX" - | "TIFF" - | "WMF" - | "WPG" - | "SVG" - | "linespecific" - | local.notation.class -# WordPerfect Graphic format - -# End of DocBook notations module V4.2 ................................. - -# ...................................................................... diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbpool.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbpool.rnc deleted file mode 100644 index 46236eb7b7..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbpool.rnc +++ /dev/null @@ -1,5083 +0,0 @@ -# This file was generated automatically by Trang. The table model -# dependent definitions have been moved into separate files. - -# ...................................................................... - -# DocBook XML information pool module V4.2 ............................. - -# File dbpoolx.mod ..................................................... - -# Copyright 1992-2002 HaL Computer Systems, Inc., -# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software -# Corporation, Norman Walsh, Sun Microsystems, Inc., and the -# Organization for the Advancement of Structured Information -# Standards (OASIS). -# -# $Id: dbpool.rnc,v 1.4 2003/08/30 07:48:31 jjc Exp $ -# -# Permission to use, copy, modify and distribute the DocBook XML DTD -# and its accompanying documentation for any purpose and without fee -# is hereby granted in perpetuity, provided that the above copyright -# notice and this paragraph appear in all copies. The copyright -# holders make no representation about the suitability of the DTD for -# any purpose. It is provided "as is" without expressed or implied -# warranty. -# -# If you modify the DocBook XML DTD in any way, except for declaring and -# referencing additional sets of general entities and declaring -# additional notations, label your DTD as a variant of DocBook. See -# the maintenance documentation for more information. -# -# Please direct all questions, bug reports, or suggestions for -# changes to the docbook@lists.oasis-open.org mailing list. For more -# information, see http://www.oasis-open.org/docbook/. - -# ...................................................................... - -# This module contains the definitions for the objects, inline -# elements, and so on that are available to be used as the main -# content of DocBook documents. Some elements are useful for general -# publishing, and others are useful specifically for computer -# documentation. -# -# This module has the following dependencies on other modules: -# -# o It assumes that a %notation.class; entity is defined by the -# driver file or other high-level module. This entity is -# referenced in the NOTATION attributes for the graphic-related and -# ModeSpec elements. -# -# o It assumes that an appropriately parameterized table module is -# available for use with the table-related elements. -# -# In DTD driver files referring to this module, please use an entity -# declaration that uses the public identifier shown below: -# -# -# %dbpool; -# -# See the documentation for detailed information on the parameter -# entity and module scheme used in DocBook, customizing DocBook and -# planning for interchange, and changes made since the last release -# of DocBook. - -# ...................................................................... - -# General-purpose semantics entities ................................... - -namespace a = "http://relaxng.org/ns/compatibility/annotations/1.0" - -yesorno.attvals = string -# ...................................................................... - -# Entities for module inclusions ....................................... - -# ...................................................................... - -# Entities for element classes and mixtures ............................ - -# "Ubiquitous" classes: ndxterm.class and beginpage -local.ndxterm.class = notAllowed -ndxterm.class = indexterm | local.ndxterm.class -# Object-level classes ................................................. -local.list.class = notAllowed -list.class = - calloutlist - | glosslist - | itemizedlist - | orderedlist - | segmentedlist - | simplelist - | variablelist - | local.list.class -local.admon.class = notAllowed -admon.class = - caution | important | note | tip | warning | local.admon.class -local.linespecific.class = notAllowed -linespecific.class = - literallayout - | programlisting - | programlistingco - | screen - | screenco - | screenshot - | local.linespecific.class -local.method.synop.class = notAllowed -method.synop.class = - constructorsynopsis - | destructorsynopsis - | methodsynopsis - | local.method.synop.class -local.synop.class = notAllowed -synop.class = - synopsis - | cmdsynopsis - | funcsynopsis - | classsynopsis - | fieldsynopsis - | method.synop.class - | local.synop.class -local.para.class = notAllowed -para.class = formalpara | para | simpara | local.para.class -local.informal.class = notAllowed -informal.class = - address - | blockquote - | graphic - | graphicco - | mediaobject - | mediaobjectco - | informalequation - | informalexample - | informalfigure - | informaltable - | local.informal.class -local.formal.class = notAllowed -formal.class = equation | example | figure | table | local.formal.class -# The DocBook TC may produce an official EBNF module for DocBook. - -# This PE provides the hook by which it can be inserted into the DTD. -ebnf.block.hook = notAllowed -local.compound.class = notAllowed -compound.class = - msgset - | procedure - | sidebar - | qandaset - | ebnf.block.hook - | local.compound.class -local.genobj.class = notAllowed -genobj.class = - anchor | bridgehead | remark | highlights | local.genobj.class -local.descobj.class = notAllowed -descobj.class = abstract | authorblurb | epigraph | local.descobj.class -# Character-level classes .............................................. -local.xref.char.class = notAllowed -xref.char.class = footnoteref | xref | local.xref.char.class -local.gen.char.class = notAllowed -gen.char.class = - abbrev - | acronym - | citation - | citerefentry - | citetitle - | emphasis - | firstterm - | foreignphrase - | glossterm - | footnote - | phrase - | quote - | trademark - | wordasword - | personname - | local.gen.char.class -local.link.char.class = notAllowed -link.char.class = link | olink | ulink | local.link.char.class -# The DocBook TC may produce an official EBNF module for DocBook. - -# This PE provides the hook by which it can be inserted into the DTD. -ebnf.inline.hook = notAllowed -local.tech.char.class = notAllowed -tech.char.class = - action - | application - | classname - | methodname - | interfacename - | exceptionname - | ooclass - | oointerface - | ooexception - | command - | computeroutput - | database - | email - | envar - | errorcode - | errorname - | errortype - | errortext - | filename - | function - | guibutton - | guiicon - | guilabel - | guimenu - | guimenuitem - | guisubmenu - | hardware - | interface - | keycap - | keycode - | keycombo - | keysym - | literal - | constant - | markup - | medialabel - | menuchoice - | mousebutton - | option - | optional - | parameter - | prompt - | property - | replaceable - | returnvalue - | sgmltag - | structfield - | structname - | symbol - | systemitem - | \token - | type - | userinput - | varname - | ebnf.inline.hook - | local.tech.char.class -local.base.char.class = notAllowed -base.char.class = anchor | local.base.char.class -local.docinfo.char.class = notAllowed -docinfo.char.class = - author - | authorinitials - | corpauthor - | modespec - | othercredit - | productname - | productnumber - | revhistory - | local.docinfo.char.class -local.other.char.class = notAllowed -other.char.class = - remark | subscript | superscript | local.other.char.class -local.inlineobj.char.class = notAllowed -inlineobj.char.class = - inlinegraphic - | inlinemediaobject - | inlineequation - | local.inlineobj.char.class -# ...................................................................... - -# Entities for content models .......................................... -formalobject.title.content = title, titleabbrev? -# Redeclaration placeholder ............................................ - -# For redeclaring entities that are declared after this point while -# retaining their references to the entities that are declared before -# this point - -# Object-level mixtures ................................................ - -# list admn line synp para infm form cmpd gen desc -# Component mixture X X X X X X X X X X -# Sidebar mixture X X X X X X X a X -# Footnote mixture X X X X X -# Example mixture X X X X X -# Highlights mixture X X X -# Paragraph mixture X X X X -# Admonition mixture X X X X X X b c -# Figure mixture X X X -# Table entry mixture X X X X d -# Glossary def mixture X X X X X e -# Legal notice mixture X X X X f -# -# a. Just Procedure; not Sidebar itself or MsgSet. -# b. No MsgSet. -# c. No Highlights. -# d. Just Graphic; no other informal objects. -# e. No Anchor, BridgeHead, or Highlights. -# f. Just BlockQuote; no other informal objects. -local.component.mix = notAllowed -component.mix = - list.class - | admon.class - | linespecific.class - | synop.class - | para.class - | informal.class - | formal.class - | compound.class - | genobj.class - | descobj.class - | ndxterm.class - | beginpage - | local.component.mix -local.sidebar.mix = notAllowed -sidebar.mix = - list.class - | admon.class - | linespecific.class - | synop.class - | para.class - | informal.class - | formal.class - | procedure - | genobj.class - | ndxterm.class - | beginpage - | local.sidebar.mix -local.qandaset.mix = notAllowed -qandaset.mix = - list.class - | admon.class - | linespecific.class - | synop.class - | para.class - | informal.class - | formal.class - | procedure - | genobj.class - | ndxterm.class - | local.qandaset.mix -local.revdescription.mix = notAllowed -revdescription.mix = - list.class - | admon.class - | linespecific.class - | synop.class - | para.class - | informal.class - | formal.class - | procedure - | genobj.class - | ndxterm.class - | local.revdescription.mix -local.footnote.mix = notAllowed -footnote.mix = - list.class - | linespecific.class - | synop.class - | para.class - | informal.class - | local.footnote.mix -local.example.mix = notAllowed -example.mix = - list.class - | linespecific.class - | synop.class - | para.class - | informal.class - | ndxterm.class - | beginpage - | local.example.mix -local.highlights.mix = notAllowed -highlights.mix = - list.class - | admon.class - | para.class - | ndxterm.class - | local.highlights.mix -# %formal.class; is explicitly excluded from many contexts in which -# paragraphs are used -local.para.mix = notAllowed -para.mix = - list.class - | admon.class - | linespecific.class - | informal.class - | formal.class - | local.para.mix -local.admon.mix = notAllowed -admon.mix = - list.class - | linespecific.class - | synop.class - | para.class - | informal.class - | formal.class - | procedure - | sidebar - | anchor - | bridgehead - | remark - | ndxterm.class - | beginpage - | local.admon.mix -local.figure.mix = notAllowed -figure.mix = - linespecific.class - | synop.class - | informal.class - | ndxterm.class - | beginpage - | local.figure.mix -local.tabentry.mix = notAllowed -tabentry.mix = - list.class - | admon.class - | linespecific.class - | para.class - | graphic - | mediaobject - | local.tabentry.mix -local.glossdef.mix = notAllowed -glossdef.mix = - list.class - | linespecific.class - | synop.class - | para.class - | informal.class - | formal.class - | remark - | ndxterm.class - | beginpage - | local.glossdef.mix -local.legalnotice.mix = notAllowed -legalnotice.mix = - list.class - | admon.class - | linespecific.class - | para.class - | blockquote - | ndxterm.class - | beginpage - | local.legalnotice.mix -local.textobject.mix = notAllowed -textobject.mix = - list.class - | admon.class - | linespecific.class - | para.class - | blockquote - | local.textobject.mix -local.mediaobject.mix = notAllowed -mediaobject.mix = - videoobject - | audioobject - | imageobject - | textobject - | local.mediaobject.mix -local.listpreamble.mix = notAllowed -listpreamble.mix = - admon.class - | linespecific.class - | synop.class - | para.class - | informal.class - | genobj.class - | descobj.class - | ndxterm.class - | beginpage - | local.listpreamble.mix -# Character-level mixtures ............................................. - -# sgml.features - -# not [sgml.features[ - -# ]] not sgml.features - -# #PCD xref word link cptr base dnfo othr inob (synop) -# para.char.mix X X X X X X X X X -# title.char.mix X X X X X X X X X -# ndxterm.char.mix X X X X X X X X a -# cptr.char.mix X X X X X a -# smallcptr.char.mix X b a -# word.char.mix X c X X X a -# docinfo.char.mix X d X b X a -# -# a. Just InlineGraphic; no InlineEquation. -# b. Just Replaceable; no other computer terms. -# c. Just Emphasis and Trademark; no other word elements. -# d. Just Acronym, Emphasis, and Trademark; no other word elements. - -# The DocBook TC may produce an official forms module for DocBook. - -# This PE provides the hook by which it can be inserted into the DTD. -forminlines.hook = notAllowed -local.para.char.mix = notAllowed -para.char.mix = - text - | xref.char.class - | gen.char.class - | link.char.class - | tech.char.class - | base.char.class - | docinfo.char.class - | other.char.class - | inlineobj.char.class - | synop.class - | ndxterm.class - | beginpage - | forminlines.hook - | local.para.char.mix -local.title.char.mix = notAllowed -title.char.mix = - text - | xref.char.class - | gen.char.class - | link.char.class - | tech.char.class - | base.char.class - | docinfo.char.class - | other.char.class - | inlineobj.char.class - | ndxterm.class - | local.title.char.mix -local.ndxterm.char.mix = notAllowed -ndxterm.char.mix = - text - | xref.char.class - | gen.char.class - | link.char.class - | tech.char.class - | base.char.class - | docinfo.char.class - | other.char.class - | inlinegraphic - | inlinemediaobject - | local.ndxterm.char.mix -local.cptr.char.mix = notAllowed -cptr.char.mix = - text - | link.char.class - | tech.char.class - | base.char.class - | other.char.class - | inlinegraphic - | inlinemediaobject - | ndxterm.class - | beginpage - | local.cptr.char.mix -local.smallcptr.char.mix = notAllowed -smallcptr.char.mix = - text - | replaceable - | inlinegraphic - | inlinemediaobject - | ndxterm.class - | beginpage - | local.smallcptr.char.mix -local.word.char.mix = notAllowed -word.char.mix = - text - | acronym - | emphasis - | trademark - | link.char.class - | base.char.class - | other.char.class - | inlinegraphic - | inlinemediaobject - | ndxterm.class - | beginpage - | local.word.char.mix -local.docinfo.char.mix = notAllowed -docinfo.char.mix = - text - | link.char.class - | emphasis - | trademark - | replaceable - | other.char.class - | inlinegraphic - | inlinemediaobject - | ndxterm.class - | local.docinfo.char.mix -# ENTITY % bibliocomponent.mix (see Bibliographic section, below) - -# ENTITY % person.ident.mix (see Bibliographic section, below) - -# ...................................................................... - -# Entities for attributes and attribute components ..................... - -# Effectivity attributes ............................................... - -# Arch: Computer or chip architecture to which element applies; no -# default -arch.attrib = attribute arch { text }? -# Condition: General-purpose effectivity attribute -condition.attrib = attribute condition { text }? -# Conformance: Standards conformance characteristics -conformance.attrib = attribute conformance { xsd:NMTOKENS }? -# OS: Operating system to which element applies; no default -os.attrib = attribute os { text }? -# Revision: Editorial revision to which element belongs; no default -revision.attrib = attribute revision { text }? -# Security: Security classification; no default -security.attrib = attribute security { text }? -# UserLevel: Level of user experience to which element applies; no -# default -userlevel.attrib = attribute userlevel { text }? -# Vendor: Computer vendor to which element applies; no default -vendor.attrib = attribute vendor { text }? -local.effectivity.attrib = empty -effectivity.attrib = - arch.attrib, - condition.attrib, - conformance.attrib, - os.attrib, - revision.attrib, - security.attrib, - userlevel.attrib, - vendor.attrib, - local.effectivity.attrib -# Common attributes .................................................... - -# Id: Unique identifier of element; no default -id.attrib = attribute id { xsd:ID }? -# Id: Unique identifier of element; a value must be supplied; no -# default -idreq.attrib = attribute id { xsd:ID } -# Lang: Indicator of language in which element is written, for -# translation, character set management, etc.; no default -lang.attrib = attribute lang { text }? -# Remap: Previous role of element before conversion; no default -remap.attrib = attribute remap { text }? -# Role: New role of element in local environment; no default -role.attrib = attribute role { text }? -# XRefLabel: Alternate labeling string for XRef text generation; -# default is usually title or other appropriate label text already -# contained in element -xreflabel.attrib = attribute xreflabel { text }? -# RevisionFlag: Revision status of element; default is that element -# wasn't revised -revisionflag.attrib = - attribute revisionflag { "changed" | "added" | "deleted" | "off" }? -local.common.attrib = empty -# Role is included explicitly on each element -common.attrib = - id.attrib, - lang.attrib, - remap.attrib, - xreflabel.attrib, - revisionflag.attrib, - effectivity.attrib, - local.common.attrib -# Role is included explicitly on each element -idreq.common.attrib = - idreq.attrib, - lang.attrib, - remap.attrib, - xreflabel.attrib, - revisionflag.attrib, - effectivity.attrib, - local.common.attrib -# Semi-common attributes and other attribute entities .................. -local.graphics.attrib = empty -# EntityRef: Name of an external entity containing the content -# of the graphic - -# FileRef: Filename, qualified by a pathname if desired, -# designating the file containing the content of the graphic - -# Format: Notation of the element content, if any - -# SrcCredit: Information about the source of the Graphic - -# Width: Same as CALS reprowid (desired width) - -# Depth: Same as CALS reprodep (desired depth) - -# Align: Same as CALS hplace with 'none' removed; #IMPLIED means -# application-specific - -# Scale: Conflation of CALS hscale and vscale - -# Scalefit: Same as CALS scalefit -graphics.attrib = - attribute entityref { xsd:ENTITY }?, - attribute fileref { text }?, - attribute format { notation.class }?, - attribute srccredit { text }?, - attribute width { text }?, - attribute contentwidth { text }?, - attribute depth { text }?, - attribute contentdepth { text }?, - attribute align { "left" | "right" | "center" }?, - attribute valign { "top" | "middle" | "bottom" }?, - attribute scale { text }?, - attribute scalefit { yesorno.attvals }?, - local.graphics.attrib -local.keyaction.attrib = empty -# Action: Key combination type; default is unspecified if one -# child element, Simul if there is more than one; if value is -# Other, the OtherAction attribute must have a nonempty value - -# OtherAction: User-defined key combination type -keyaction.attrib = - attribute action { - "click" | "double-click" | "press" | "seq" | "simul" | "other" - }?, - attribute otheraction { text }?, - local.keyaction.attrib -# Label: Identifying number or string; default is usually the -# appropriate number or string autogenerated by a formatter -label.attrib = attribute label { text }? -# Format: whether element is assumed to contain significant white -# space -linespecific.attrib = - [ a:defaultValue = "linespecific" ] - attribute format { "linespecific" }?, - attribute linenumbering { "numbered" | "unnumbered" }? -# Linkend: link to related information; no default -linkend.attrib = attribute linkend { xsd:IDREF }? -# Linkend: required link to related information -linkendreq.attrib = attribute linkend { xsd:IDREF } -# Linkends: link to one or more sets of related information; no -# default -linkends.attrib = attribute linkends { xsd:IDREFS }? -local.mark.attrib = empty -mark.attrib = - attribute mark { text }?, - local.mark.attrib -# MoreInfo: whether element's content has an associated RefEntry -moreinfo.attrib = - [ a:defaultValue = "none" ] - attribute moreinfo { "refentry" | "none" }? -# Pagenum: number of page on which element appears; no default -pagenum.attrib = attribute pagenum { text }? -local.status.attrib = empty -# Status: Editorial or publication status of the element -# it applies to, such as "in review" or "approved for distribution" -status.attrib = - attribute status { text }?, - local.status.attrib -# Width: width of the longest line in the element to which it -# pertains, in number of characters -width.attrib = attribute width { text }? -# ...................................................................... - -# Title elements ....................................................... -local.title.attrib = empty -title.role.attrib = role.attrib -title = element title { title.attlist, title.char.mix* } -# end of title.element -title.attlist &= - pagenum.attrib, common.attrib, title.role.attrib, local.title.attrib -# end of title.attlist - -# end of title.module -local.titleabbrev.attrib = empty -titleabbrev.role.attrib = role.attrib -titleabbrev = - element titleabbrev { titleabbrev.attlist, title.char.mix* } -# end of titleabbrev.element -titleabbrev.attlist &= - common.attrib, titleabbrev.role.attrib, local.titleabbrev.attrib -# end of titleabbrev.attlist - -# end of titleabbrev.module -local.subtitle.attrib = empty -subtitle.role.attrib = role.attrib -subtitle = element subtitle { subtitle.attlist, title.char.mix* } -# end of subtitle.element -subtitle.attlist &= - common.attrib, subtitle.role.attrib, local.subtitle.attrib -# end of subtitle.attlist - -# end of subtitle.module - -# ...................................................................... - -# Bibliographic entities and elements .................................. - -# The bibliographic elements are typically used in the document -# hierarchy. They do not appear in content models of information -# pool elements. See also the document information elements, -# below. -local.person.ident.mix = notAllowed -person.ident.mix = - honorific - | firstname - | surname - | lineage - | othername - | affiliation - | authorblurb - | contrib - | local.person.ident.mix -local.bibliocomponent.mix = notAllowed -bibliocomponent.mix = - abbrev - | abstract - | address - | artpagenums - | author - | authorgroup - | authorinitials - | bibliomisc - | biblioset - | collab - | confgroup - | contractnum - | contractsponsor - | copyright - | corpauthor - | corpname - | date - | edition - | editor - | invpartnumber - | isbn - | issn - | issuenum - | orgname - | biblioid - | citebiblioid - | bibliosource - | bibliorelation - | bibliocoverage - | othercredit - | pagenums - | printhistory - | productname - | productnumber - | pubdate - | publisher - | publishername - | pubsnumber - | releaseinfo - | revhistory - | seriesvolnums - | subtitle - | title - | titleabbrev - | volumenum - | citetitle - | personname - | person.ident.mix - | ndxterm.class - | local.bibliocomponent.mix -# I don't think this is well placed, but it needs to be here because of - -# the reference to bibliocomponent.mix -local.info.class = notAllowed -info.class = - graphic - | mediaobject - | legalnotice - | modespec - | subjectset - | keywordset - | itermset - | bibliocomponent.mix - | local.info.class -local.biblioentry.attrib = empty -biblioentry.role.attrib = role.attrib -biblioentry = - element biblioentry { - biblioentry.attlist, (articleinfo | bibliocomponent.mix)+ - } -# end of biblioentry.element -biblioentry.attlist &= - common.attrib, biblioentry.role.attrib, local.biblioentry.attrib -# end of biblioentry.attlist - -# end of biblioentry.module -local.bibliomixed.attrib = empty -bibliomixed.role.attrib = role.attrib -bibliomixed = - element bibliomixed { - bibliomixed.attlist, (text | bibliocomponent.mix | bibliomset)* - } -# end of bibliomixed.element -bibliomixed.attlist &= - common.attrib, bibliomixed.role.attrib, local.bibliomixed.attrib -# end of bibliomixed.attlist - -# end of bibliomixed.module -local.articleinfo.attrib = empty -articleinfo.role.attrib = role.attrib -articleinfo = element articleinfo { articleinfo.attlist, info.class+ } -# end of articleinfo.element -articleinfo.attlist &= - common.attrib, articleinfo.role.attrib, local.articleinfo.attrib -# end of articleinfo.attlist - -# end of articleinfo.module -local.biblioset.attrib = empty -biblioset.role.attrib = role.attrib -biblioset = - element biblioset { biblioset.attlist, bibliocomponent.mix+ } -# end of biblioset.element - -# Relation: Relationship of elements contained within BiblioSet -biblioset.attlist &= - attribute relation { text }?, - common.attrib, - biblioset.role.attrib, - local.biblioset.attrib -# end of biblioset.attlist - -# end of biblioset.module -bibliomset.role.attrib = role.attrib -local.bibliomset.attrib = empty -bibliomset = - element bibliomset { - bibliomset.attlist, (text | bibliocomponent.mix | bibliomset)* - } -# end of bibliomset.element - -# Relation: Relationship of elements contained within BiblioMSet -bibliomset.attlist &= - attribute relation { text }?, - common.attrib, - bibliomset.role.attrib, - local.bibliomset.attrib -# end of bibliomset.attlist - -# end of bibliomset.module -local.bibliomisc.attrib = empty -bibliomisc.role.attrib = role.attrib -bibliomisc = element bibliomisc { bibliomisc.attlist, para.char.mix* } -# end of bibliomisc.element -bibliomisc.attlist &= - common.attrib, bibliomisc.role.attrib, local.bibliomisc.attrib -# end of bibliomisc.attlist - -# end of bibliomisc.module - -# ...................................................................... - -# Subject, Keyword, and ITermSet elements .............................. -local.subjectset.attrib = empty -subjectset.role.attrib = role.attrib -subjectset = element subjectset { subjectset.attlist, subject+ } -# end of subjectset.element - -# Scheme: Controlled vocabulary employed in SubjectTerms -subjectset.attlist &= - attribute scheme { xsd:NMTOKEN }?, - common.attrib, - subjectset.role.attrib, - local.subjectset.attrib -# end of subjectset.attlist - -# end of subjectset.module -local.subject.attrib = empty -subject.role.attrib = role.attrib -subject = element subject { subject.attlist, subjectterm+ } -# end of subject.element - -# Weight: Ranking of this group of SubjectTerms relative -# to others, 0 is low, no highest value specified -subject.attlist &= - attribute weight { text }?, - common.attrib, - subject.role.attrib, - local.subject.attrib -# end of subject.attlist - -# end of subject.module -local.subjectterm.attrib = empty -subjectterm.role.attrib = role.attrib -subjectterm = element subjectterm { subjectterm.attlist, text } -# end of subjectterm.element -subjectterm.attlist &= - common.attrib, subjectterm.role.attrib, local.subjectterm.attrib -# end of subjectterm.attlist - -# end of subjectterm.module - -# end of subjectset.content.module -local.keywordset.attrib = empty -keywordset.role.attrib = role.attrib -keywordset = element keywordset { keywordset.attlist, keyword+ } -# end of keywordset.element -keywordset.attlist &= - common.attrib, keywordset.role.attrib, local.keywordset.attrib -# end of keywordset.attlist - -# end of keywordset.module -local.keyword.attrib = empty -keyword.role.attrib = role.attrib -keyword = element keyword { keyword.attlist, text } -# end of keyword.element -keyword.attlist &= - common.attrib, keyword.role.attrib, local.keyword.attrib -# end of keyword.attlist - -# end of keyword.module - -# end of keywordset.content.module -local.itermset.attrib = empty -itermset.role.attrib = role.attrib -itermset = element itermset { itermset.attlist, indexterm+ } -# end of itermset.element -itermset.attlist &= - common.attrib, itermset.role.attrib, local.itermset.attrib -# end of itermset.attlist - -# end of itermset.module - -# Bibliographic info for "blocks" -local.blockinfo.attrib = empty -blockinfo.role.attrib = role.attrib -blockinfo = element blockinfo { blockinfo.attlist, info.class+ } -# end of blockinfo.element -blockinfo.attlist &= - common.attrib, blockinfo.role.attrib, local.blockinfo.attrib -# end of blockinfo.attlist - -# end of blockinfo.module - -# ...................................................................... - -# Compound (section-ish) elements ...................................... - -# Message set ...................... -local.msgset.attrib = empty -msgset.role.attrib = role.attrib -msgset = - element msgset { - msgset.attlist, - blockinfo?, - formalobject.title.content?, - (msgentry+ | simplemsgentry+) - } -# end of msgset.element -msgset.attlist &= common.attrib, msgset.role.attrib, local.msgset.attrib -# end of msgset.attlist - -# end of msgset.module -local.msgentry.attrib = empty -msgentry.role.attrib = role.attrib -msgentry = - element msgentry { msgentry.attlist, msg+, msginfo?, msgexplan* } -# end of msgentry.element -msgentry.attlist &= - common.attrib, msgentry.role.attrib, local.msgentry.attrib -# end of msgentry.attlist - -# end of msgentry.module -local.simplemsgentry.attrib = empty -simplemsgentry.role.attrib = role.attrib -simplemsgentry = - element simplemsgentry { simplemsgentry.attlist, msgtext, msgexplan+ } -# end of simplemsgentry.element -simplemsgentry.attlist &= - attribute audience { text }?, - attribute level { text }?, - attribute origin { text }?, - common.attrib, - simplemsgentry.role.attrib, - local.simplemsgentry.attrib -# end of simplemsgentry.attlist - -# end of simplemsgentry.module -local.msg.attrib = empty -msg.role.attrib = role.attrib -msg = element msg { msg.attlist, title?, msgmain, (msgsub | msgrel)* } -# end of msg.element -msg.attlist &= common.attrib, msg.role.attrib, local.msg.attrib -# end of msg.attlist - -# end of msg.module -local.msgmain.attrib = empty -msgmain.role.attrib = role.attrib -msgmain = element msgmain { msgmain.attlist, title?, msgtext } -# end of msgmain.element -msgmain.attlist &= - common.attrib, msgmain.role.attrib, local.msgmain.attrib -# end of msgmain.attlist - -# end of msgmain.module -local.msgsub.attrib = empty -msgsub.role.attrib = role.attrib -msgsub = element msgsub { msgsub.attlist, title?, msgtext } -# end of msgsub.element -msgsub.attlist &= common.attrib, msgsub.role.attrib, local.msgsub.attrib -# end of msgsub.attlist - -# end of msgsub.module -local.msgrel.attrib = empty -msgrel.role.attrib = role.attrib -msgrel = element msgrel { msgrel.attlist, title?, msgtext } -# end of msgrel.element -msgrel.attlist &= common.attrib, msgrel.role.attrib, local.msgrel.attrib -# end of msgrel.attlist - -# end of msgrel.module - -# MsgText (defined in the Inlines section, below) -local.msginfo.attrib = empty -msginfo.role.attrib = role.attrib -msginfo = - element msginfo { msginfo.attlist, (msglevel | msgorig | msgaud)* } -# end of msginfo.element -msginfo.attlist &= - common.attrib, msginfo.role.attrib, local.msginfo.attrib -# end of msginfo.attlist - -# end of msginfo.module -local.msglevel.attrib = empty -msglevel.role.attrib = role.attrib -msglevel = element msglevel { msglevel.attlist, smallcptr.char.mix* } -# end of msglevel.element -msglevel.attlist &= - common.attrib, msglevel.role.attrib, local.msglevel.attrib -# end of msglevel.attlist - -# end of msglevel.module -local.msgorig.attrib = empty -msgorig.role.attrib = role.attrib -msgorig = element msgorig { msgorig.attlist, smallcptr.char.mix* } -# end of msgorig.element -msgorig.attlist &= - common.attrib, msgorig.role.attrib, local.msgorig.attrib -# end of msgorig.attlist - -# end of msgorig.module -local.msgaud.attrib = empty -msgaud.role.attrib = role.attrib -msgaud = element msgaud { msgaud.attlist, para.char.mix* } -# end of msgaud.element -msgaud.attlist &= common.attrib, msgaud.role.attrib, local.msgaud.attrib -# end of msgaud.attlist - -# end of msgaud.module -local.msgexplan.attrib = empty -msgexplan.role.attrib = role.attrib -msgexplan = - element msgexplan { msgexplan.attlist, title?, component.mix+ } -# end of msgexplan.element -msgexplan.attlist &= - common.attrib, msgexplan.role.attrib, local.msgexplan.attrib -# end of msgexplan.attlist - -# end of msgexplan.module - -# end of msgset.content.module - -# QandASet ........................ -local.qandaset.attrib = empty -qandaset.role.attrib = role.attrib -qandaset = - element qandaset { - qandaset.attlist, - blockinfo?, - formalobject.title.content?, - qandaset.mix*, - (qandadiv+ | qandaentry+) - } -# end of qandaset.element -qandaset.attlist &= - attribute defaultlabel { "qanda" | "number" | "none" }?, - common.attrib, - qandaset.role.attrib, - local.qandaset.attrib -# end of qandaset.attlist - -# end of qandaset.module -local.qandadiv.attrib = empty -qandadiv.role.attrib = role.attrib -qandadiv = - element qandadiv { - qandadiv.attlist, - blockinfo?, - formalobject.title.content?, - qandaset.mix*, - (qandadiv+ | qandaentry+) - } -# end of qandadiv.element -qandadiv.attlist &= - common.attrib, qandadiv.role.attrib, local.qandadiv.attrib -# end of qandadiv.attlist - -# end of qandadiv.module -local.qandaentry.attrib = empty -qandaentry.role.attrib = role.attrib -qandaentry = - element qandaentry { - qandaentry.attlist, blockinfo?, revhistory?, question, answer* - } -# end of qandaentry.element -qandaentry.attlist &= - common.attrib, qandaentry.role.attrib, local.qandaentry.attrib -# end of qandaentry.attlist - -# end of qandaentry.module -local.question.attrib = empty -question.role.attrib = role.attrib -question = element question { question.attlist, label?, qandaset.mix+ } -# end of question.element -question.attlist &= - common.attrib, question.role.attrib, local.question.attrib -# end of question.attlist - -# end of question.module -local.answer.attrib = empty -answer.role.attrib = role.attrib -answer = - element answer { answer.attlist, label?, qandaset.mix*, qandaentry* } -# end of answer.element -answer.attlist &= common.attrib, answer.role.attrib, local.answer.attrib -# end of answer.attlist - -# end of answer.module -local.label.attrib = empty -label.role.attrib = role.attrib -label = element label { label.attlist, word.char.mix* } -# end of label.element -label.attlist &= common.attrib, label.role.attrib, local.label.attrib -# end of label.attlist - -# end of label.module - -# end of qandaset.content.module - -# Procedure ........................ -local.procedure.attrib = empty -procedure.role.attrib = role.attrib -procedure = - element procedure { - procedure.attlist, - blockinfo?, - formalobject.title.content?, - component.mix*, - step+ - } -# end of procedure.element -procedure.attlist &= - common.attrib, procedure.role.attrib, local.procedure.attrib -# end of procedure.attlist - -# end of procedure.module -local.step.attrib = empty -step.role.attrib = role.attrib -step = - element step { - step.attlist, - title?, - ((component.mix+, (substeps, component.mix*)?) - | (substeps, component.mix*)) - } -# end of step.element - -# Performance: Whether the Step must be performed - -# not #REQUIRED! -step.attlist &= - [ a:defaultValue = "required" ] - attribute performance { "optional" | "required" }?, - common.attrib, - step.role.attrib, - local.step.attrib -# end of step.attlist - -# end of step.module -local.substeps.attrib = empty -substeps.role.attrib = role.attrib -substeps = element substeps { substeps.attlist, step+ } -# end of substeps.element - -# Performance: whether entire set of substeps must be performed - -# not #REQUIRED! -substeps.attlist &= - [ a:defaultValue = "required" ] - attribute performance { "optional" | "required" }?, - common.attrib, - substeps.role.attrib, - local.substeps.attrib -# end of substeps.attlist - -# end of substeps.module - -# end of procedure.content.module - -# Sidebar .......................... -local.sidebarinfo.attrib = empty -sidebarinfo.role.attrib = role.attrib -sidebarinfo = element sidebarinfo { sidebarinfo.attlist, info.class+ } -# end of sidebarinfo.element -sidebarinfo.attlist &= - common.attrib, sidebarinfo.role.attrib, local.sidebarinfo.attrib -# end of sidebarinfo.attlist - -# end of sidebarinfo.module -local.sidebar.attrib = empty -sidebar.role.attrib = role.attrib -sidebar = - element sidebar { - sidebar.attlist, - sidebarinfo?, - formalobject.title.content?, - sidebar.mix+ - } -# end of sidebar.element -sidebar.attlist &= - common.attrib, sidebar.role.attrib, local.sidebar.attrib -# end of sidebar.attlist - -# end of sidebar.module - -# end of sidebar.content.model - -# ...................................................................... - -# Paragraph-related elements ........................................... -local.abstract.attrib = empty -abstract.role.attrib = role.attrib -abstract = element abstract { abstract.attlist, title?, para.class+ } -# end of abstract.element -abstract.attlist &= - common.attrib, abstract.role.attrib, local.abstract.attrib -# end of abstract.attlist - -# end of abstract.module -local.authorblurb.attrib = empty -authorblurb.role.attrib = role.attrib -authorblurb = - element authorblurb { authorblurb.attlist, title?, para.class+ } -# end of authorblurb.element -authorblurb.attlist &= - common.attrib, authorblurb.role.attrib, local.authorblurb.attrib -# end of authorblurb.attlist - -# end of authorblurb.module -local.personblurb.attrib = empty -personblurb.role.attrib = role.attrib -personblurb = - element personblurb { personblurb.attlist, title?, para.class+ } -# end of personblurb.element -personblurb.attlist &= - common.attrib, personblurb.role.attrib, local.personblurb.attrib -# end of personblurb.attlist - -# end of personblurb.module -local.blockquote.attrib = empty -blockquote.role.attrib = role.attrib -blockquote = - element blockquote { - blockquote.attlist, title?, attribution?, component.mix+ - } -# end of blockquote.element -blockquote.attlist &= - common.attrib, blockquote.role.attrib, local.blockquote.attrib -# end of blockquote.attlist - -# end of blockquote.module -local.attribution.attrib = empty -attribution.role.attrib = role.attrib -attribution = - element attribution { attribution.attlist, para.char.mix* } -# end of attribution.element -attribution.attlist &= - common.attrib, attribution.role.attrib, local.attribution.attrib -# end of attribution.attlist - -# end of attribution.module -local.bridgehead.attrib = empty -bridgehead.role.attrib = role.attrib -bridgehead = element bridgehead { bridgehead.attlist, title.char.mix* } -# end of bridgehead.element - -# Renderas: Indicates the format in which the BridgeHead -# should appear -bridgehead.attlist &= - attribute renderas { - "other" | "sect1" | "sect2" | "sect3" | "sect4" | "sect5" - }?, - common.attrib, - bridgehead.role.attrib, - local.bridgehead.attrib -# end of bridgehead.attlist - -# end of bridgehead.module -local.remark.attrib = empty -remark.role.attrib = role.attrib -remark = element remark { remark.attlist, para.char.mix* } -# end of remark.element -remark.attlist &= common.attrib, remark.role.attrib, local.remark.attrib -# end of remark.attlist - -# end of remark.module -local.epigraph.attrib = empty -epigraph.role.attrib = role.attrib -epigraph = - element epigraph { - epigraph.attlist, attribution?, (para.class | literallayout)+ - } -# end of epigraph.element -epigraph.attlist &= - common.attrib, epigraph.role.attrib, local.epigraph.attrib -# end of epigraph.attlist - -# Attribution (defined above) - -# end of epigraph.module -local.footnote.attrib = empty -footnote.role.attrib = role.attrib -footnote = element footnote { footnote.attlist, footnote.mix+ } -# end of footnote.element -footnote.attlist &= - label.attrib, - common.attrib, - footnote.role.attrib, - local.footnote.attrib -# end of footnote.attlist - -# end of footnote.module -local.highlights.attrib = empty -highlights.role.attrib = role.attrib -highlights = element highlights { highlights.attlist, highlights.mix+ } -# end of highlights.element -highlights.attlist &= - common.attrib, highlights.role.attrib, local.highlights.attrib -# end of highlights.attlist - -# end of highlights.module -local.formalpara.attrib = empty -formalpara.role.attrib = role.attrib -formalpara = - element formalpara { formalpara.attlist, title, ndxterm.class*, para } -# end of formalpara.element -formalpara.attlist &= - common.attrib, formalpara.role.attrib, local.formalpara.attrib -# end of formalpara.attlist - -# end of formalpara.module -local.para.attrib = empty -para.role.attrib = role.attrib -para = element para { para.attlist, (para.char.mix | para.mix)* } -# end of para.element -para.attlist &= common.attrib, para.role.attrib, local.para.attrib -# end of para.attlist - -# end of para.module -local.simpara.attrib = empty -simpara.role.attrib = role.attrib -simpara = element simpara { simpara.attlist, para.char.mix* } -# end of simpara.element -simpara.attlist &= - common.attrib, simpara.role.attrib, local.simpara.attrib -# end of simpara.attlist - -# end of simpara.module -local.admon.attrib = empty -admon.role.attrib = role.attrib -caution = element caution { caution.attlist, title?, admon.mix+ } -# end of caution.element -caution.attlist &= common.attrib, admon.role.attrib, local.admon.attrib -# end of caution.attlist -important = element important { important.attlist, title?, admon.mix+ } -# end of important.element -important.attlist &= - common.attrib, admon.role.attrib, local.admon.attrib -# end of important.attlist -note = element note { note.attlist, title?, admon.mix+ } -# end of note.element -note.attlist &= common.attrib, admon.role.attrib, local.admon.attrib -# end of note.attlist -tip = element tip { tip.attlist, title?, admon.mix+ } -# end of tip.element -tip.attlist &= common.attrib, admon.role.attrib, local.admon.attrib -# end of tip.attlist -warning = element warning { warning.attlist, title?, admon.mix+ } -# end of warning.element -warning.attlist &= common.attrib, admon.role.attrib, local.admon.attrib -# end of warning.attlist - -# end of admon.module - -# ...................................................................... - -# Lists ................................................................ - -# GlossList ........................ -local.glosslist.attrib = empty -glosslist.role.attrib = role.attrib -glosslist = element glosslist { glosslist.attlist, glossentry+ } -# end of glosslist.element -glosslist.attlist &= - common.attrib, glosslist.role.attrib, local.glosslist.attrib -# end of glosslist.attlist - -# end of glosslist.module -local.glossentry.attrib = empty -glossentry.role.attrib = role.attrib -glossentry = - element glossentry { - glossentry.attlist, - glossterm, - acronym?, - abbrev?, - ndxterm.class*, - revhistory?, - (glosssee | glossdef+) - } -# end of glossentry.element - -# SortAs: String by which the GlossEntry is to be sorted -# (alphabetized) in lieu of its proper content -glossentry.attlist &= - attribute sortas { text }?, - common.attrib, - glossentry.role.attrib, - local.glossentry.attrib -# end of glossentry.attlist - -# end of glossentry.module - -# GlossTerm (defined in the Inlines section, below) -local.glossdef.attrib = empty -glossdef.role.attrib = role.attrib -glossdef = - element glossdef { glossdef.attlist, glossdef.mix+, glossseealso* } -# end of glossdef.element - -# Subject: List of subjects; keywords for the definition -glossdef.attlist &= - attribute subject { text }?, - common.attrib, - glossdef.role.attrib, - local.glossdef.attrib -# end of glossdef.attlist - -# end of glossdef.module -local.glosssee.attrib = empty -glosssee.role.attrib = role.attrib -glosssee = element glosssee { glosssee.attlist, para.char.mix* } -# end of glosssee.element - -# OtherTerm: Reference to the GlossEntry whose GlossTerm -# should be displayed at the point of the GlossSee -glosssee.attlist &= - attribute otherterm { xsd:IDREF }?, - common.attrib, - glosssee.role.attrib, - local.glosssee.attrib -# end of glosssee.attlist - -# end of glosssee.module -local.glossseealso.attrib = empty -glossseealso.role.attrib = role.attrib -glossseealso = - element glossseealso { glossseealso.attlist, para.char.mix* } -# end of glossseealso.element - -# OtherTerm: Reference to the GlossEntry whose GlossTerm -# should be displayed at the point of the GlossSeeAlso -glossseealso.attlist &= - attribute otherterm { xsd:IDREF }?, - common.attrib, - glossseealso.role.attrib, - local.glossseealso.attrib -# end of glossseealso.attlist - -# end of glossseealso.module - -# end of glossentry.content.module - -# ItemizedList and OrderedList ..... -local.itemizedlist.attrib = empty -itemizedlist.role.attrib = role.attrib -itemizedlist = - element itemizedlist { - itemizedlist.attlist, - blockinfo?, - formalobject.title.content?, - listpreamble.mix*, - listitem+ - } -# end of itemizedlist.element - -# Spacing: Whether the vertical space in the list should be -# compressed - -# Mark: Keyword, e.g., bullet, dash, checkbox, none; -# list of keywords and defaults are implementation specific -itemizedlist.attlist &= - attribute spacing { "normal" | "compact" }?, - mark.attrib, - common.attrib, - itemizedlist.role.attrib, - local.itemizedlist.attrib -# end of itemizedlist.attlist - -# end of itemizedlist.module -local.orderedlist.attrib = empty -orderedlist.role.attrib = role.attrib -orderedlist = - element orderedlist { - orderedlist.attlist, - blockinfo?, - formalobject.title.content?, - listpreamble.mix*, - listitem+ - } -# end of orderedlist.element - -# Numeration: Style of ListItem numbered; default is expected -# to be Arabic - -# InheritNum: Specifies for a nested list that the numbering -# of ListItems should include the number of the item -# within which they are nested (e.g., 1a and 1b within 1, -# rather than a and b) - -# Continuation: Where list numbering begins afresh (Restarts, -# the default) or continues that of the immediately preceding -# list (Continues) - -# Spacing: Whether the vertical space in the list should be -# compressed -orderedlist.attlist &= - attribute numeration { - "arabic" | "upperalpha" | "loweralpha" | "upperroman" | "lowerroman" - }?, - [ a:defaultValue = "ignore" ] - attribute inheritnum { "inherit" | "ignore" }?, - [ a:defaultValue = "restarts" ] - attribute continuation { "continues" | "restarts" }?, - attribute spacing { "normal" | "compact" }?, - common.attrib, - orderedlist.role.attrib, - local.orderedlist.attrib -# end of orderedlist.attlist - -# end of orderedlist.module -local.listitem.attrib = empty -listitem.role.attrib = role.attrib -listitem = element listitem { listitem.attlist, component.mix+ } -# end of listitem.element - -# Override: Indicates the mark to be used for this ListItem -# instead of the default mark or the mark specified by -# the Mark attribute on the enclosing ItemizedList -listitem.attlist &= - attribute override { text }?, - common.attrib, - listitem.role.attrib, - local.listitem.attrib -# end of listitem.attlist - -# end of listitem.module - -# SegmentedList .................... -local.segmentedlist.attrib = empty -segmentedlist.role.attrib = role.attrib -segmentedlist = - element segmentedlist { - segmentedlist.attlist, - formalobject.title.content?, - segtitle+, - seglistitem+ - } -# end of segmentedlist.element -segmentedlist.attlist &= - common.attrib, segmentedlist.role.attrib, local.segmentedlist.attrib -# end of segmentedlist.attlist - -# end of segmentedlist.module -local.segtitle.attrib = empty -segtitle.role.attrib = role.attrib -segtitle = element segtitle { segtitle.attlist, title.char.mix* } -# end of segtitle.element -segtitle.attlist &= - common.attrib, segtitle.role.attrib, local.segtitle.attrib -# end of segtitle.attlist - -# end of segtitle.module -local.seglistitem.attrib = empty -seglistitem.role.attrib = role.attrib -seglistitem = element seglistitem { seglistitem.attlist, seg+ } -# end of seglistitem.element -seglistitem.attlist &= - common.attrib, seglistitem.role.attrib, local.seglistitem.attrib -# end of seglistitem.attlist - -# end of seglistitem.module -local.seg.attrib = empty -seg.role.attrib = role.attrib -seg = element seg { seg.attlist, para.char.mix* } -# end of seg.element -seg.attlist &= common.attrib, seg.role.attrib, local.seg.attrib -# end of seg.attlist - -# end of seg.module - -# end of segmentedlist.content.module - -# SimpleList ....................... -local.simplelist.attrib = empty -simplelist.role.attrib = role.attrib -simplelist = element simplelist { simplelist.attlist, member+ } -# end of simplelist.element - -# Columns: The number of columns the array should contain - -# Type: How the Members of the SimpleList should be -# formatted: Inline (members separated with commas etc. -# inline), Vert (top to bottom in n Columns), or Horiz (in -# the direction of text flow) in n Columns. If Column -# is 1 or implied, Type=Vert and Type=Horiz give the same -# results. -simplelist.attlist &= - attribute columns { text }?, - [ a:defaultValue = "vert" ] - attribute type { "inline" | "vert" | "horiz" }?, - common.attrib, - simplelist.role.attrib, - local.simplelist.attrib -# end of simplelist.attlist - -# end of simplelist.module -local.member.attrib = empty -member.role.attrib = role.attrib -member = element member { member.attlist, para.char.mix* } -# end of member.element -member.attlist &= common.attrib, member.role.attrib, local.member.attrib -# end of member.attlist - -# end of member.module - -# end of simplelist.content.module - -# VariableList ..................... -local.variablelist.attrib = empty -variablelist.role.attrib = role.attrib -variablelist = - element variablelist { - variablelist.attlist, - blockinfo?, - formalobject.title.content?, - listpreamble.mix*, - varlistentry+ - } -# end of variablelist.element - -# TermLength: Length beyond which the presentation engine -# may consider the Term too long and select an alternate -# presentation of the Term and, or, its associated ListItem. -variablelist.attlist &= - attribute termlength { text }?, - common.attrib, - variablelist.role.attrib, - local.variablelist.attrib -# end of variablelist.attlist - -# end of variablelist.module -local.varlistentry.attrib = empty -varlistentry.role.attrib = role.attrib -varlistentry = - element varlistentry { varlistentry.attlist, term+, listitem } -# end of varlistentry.element -varlistentry.attlist &= - common.attrib, varlistentry.role.attrib, local.varlistentry.attrib -# end of varlistentry.attlist - -# end of varlistentry.module -local.term.attrib = empty -term.role.attrib = role.attrib -term = element term { term.attlist, para.char.mix* } -# end of term.element -term.attlist &= common.attrib, term.role.attrib, local.term.attrib -# end of term.attlist - -# end of term.module - -# ListItem (defined above) - -# end of variablelist.content.module - -# CalloutList ...................... -local.calloutlist.attrib = empty -calloutlist.role.attrib = role.attrib -calloutlist = - element calloutlist { - calloutlist.attlist, formalobject.title.content?, callout+ - } -# end of calloutlist.element -calloutlist.attlist &= - common.attrib, calloutlist.role.attrib, local.calloutlist.attrib -# end of calloutlist.attlist - -# end of calloutlist.module -local.callout.attrib = empty -callout.role.attrib = role.attrib -callout = element callout { callout.attlist, component.mix+ } -# end of callout.element - -# AreaRefs: IDs of one or more Areas or AreaSets described -# by this Callout -callout.attlist &= - attribute arearefs { xsd:IDREFS }, - common.attrib, - callout.role.attrib, - local.callout.attrib -# end of callout.attlist - -# end of callout.module - -# end of calloutlist.content.module - -# ...................................................................... - -# Objects .............................................................. - -# Examples etc. .................... -local.example.attrib = empty -example.role.attrib = role.attrib -example = - element example { - example.attlist, - blockinfo?, - formalobject.title.content, - example.mix+ - } -# end of example.element -example.attlist &= - label.attrib, - width.attrib, - common.attrib, - example.role.attrib, - local.example.attrib -# end of example.attlist - -# end of example.module -local.informalexample.attrib = empty -informalexample.role.attrib = role.attrib -informalexample = - element informalexample { - informalexample.attlist, blockinfo?, example.mix+ - } -# end of informalexample.element -informalexample.attlist &= - width.attrib, - common.attrib, - informalexample.role.attrib, - local.informalexample.attrib -# end of informalexample.attlist - -# end of informalexample.module -local.programlistingco.attrib = empty -programlistingco.role.attrib = role.attrib -programlistingco = - element programlistingco { - programlistingco.attlist, areaspec, programlisting, calloutlist* - } -# end of programlistingco.element -programlistingco.attlist &= - common.attrib, - programlistingco.role.attrib, - local.programlistingco.attrib -# end of programlistingco.attlist - -# CalloutList (defined above in Lists) - -# end of informalexample.module -local.areaspec.attrib = empty -areaspec.role.attrib = role.attrib -areaspec = element areaspec { areaspec.attlist, (area | areaset)+ } -# end of areaspec.element - -# Units: global unit of measure in which coordinates in -# this spec are expressed: -# -# - CALSPair "x1,y1 x2,y2": lower-left and upper-right -# coordinates in a rectangle describing repro area in which -# graphic is placed, where X and Y dimensions are each some -# number 0..10000 (taken from CALS graphic attributes) -# -# - LineColumn "line column": line number and column number -# at which to start callout text in "linespecific" content -# -# - LineRange "startline endline": whole lines from startline -# to endline in "linespecific" content -# -# - LineColumnPair "line1 col1 line2 col2": starting and ending -# points of area in "linespecific" content that starts at -# first position and ends at second position (including the -# beginnings of any intervening lines) -# -# - Other: directive to look at value of OtherUnits attribute -# to get implementation-specific keyword -# -# The default is implementation-specific; usually dependent on -# the parent element (GraphicCO gets CALSPair, ProgramListingCO -# and ScreenCO get LineColumn) - -# OtherUnits: User-defined units -areaspec.attlist &= - attribute units { - "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other" - }?, - attribute otherunits { xsd:NMTOKEN }?, - common.attrib, - areaspec.role.attrib, - local.areaspec.attrib -# end of areaspec.attlist - -# end of areaspec.module -local.area.attrib = empty -area.role.attrib = role.attrib -area = element area { area.attlist, empty } -# end of area.element - -# bug number/symbol override or initialization - -# to any related information - -# Units: unit of measure in which coordinates in this -# area are expressed; inherits from AreaSet and AreaSpec - -# OtherUnits: User-defined units -area.attlist &= - label.attrib, - linkends.attrib, - attribute units { - "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other" - }?, - attribute otherunits { xsd:NMTOKEN }?, - attribute coords { text }, - idreq.common.attrib, - area.role.attrib, - local.area.attrib -# end of area.attlist - -# end of area.module -local.areaset.attrib = empty -areaset.role.attrib = role.attrib -areaset = element areaset { areaset.attlist, area+ } -# end of areaset.element - -# bug number/symbol override or initialization - -# Units: unit of measure in which coordinates in this -# area are expressed; inherits from AreaSpec -areaset.attlist &= - label.attrib, - attribute units { - "calspair" | "linecolumn" | "linerange" | "linecolumnpair" | "other" - }?, - attribute otherunits { xsd:NMTOKEN }?, - attribute coords { text }, - idreq.common.attrib, - areaset.role.attrib, - local.areaset.attrib -# end of areaset.attlist - -# end of areaset.module - -# end of areaspec.content.module -local.programlisting.attrib = empty -programlisting.role.attrib = role.attrib -programlisting = - element programlisting { - programlisting.attlist, - (para.char.mix | co | coref | lineannotation | textobject)* - } -# end of programlisting.element -programlisting.attlist &= - width.attrib, - linespecific.attrib, - common.attrib, - programlisting.role.attrib, - local.programlisting.attrib -# end of programlisting.attlist - -# end of programlisting.module -local.literallayout.attrib = empty -literallayout.role.attrib = role.attrib -literallayout = - element literallayout { - literallayout.attlist, - (para.char.mix | co | coref | textobject | lineannotation)* - } -# end of literallayout.element -literallayout.attlist &= - width.attrib, - linespecific.attrib, - [ a:defaultValue = "normal" ] - attribute class { "monospaced" | "normal" }?, - common.attrib, - literallayout.role.attrib, - local.literallayout.attrib -# end of literallayout.attlist - -# LineAnnotation (defined in the Inlines section, below) - -# end of literallayout.module -local.screenco.attrib = empty -screenco.role.attrib = role.attrib -screenco = - element screenco { screenco.attlist, areaspec, screen, calloutlist* } -# end of screenco.element -screenco.attlist &= - common.attrib, screenco.role.attrib, local.screenco.attrib -# end of screenco.attlist - -# AreaSpec (defined above) - -# CalloutList (defined above in Lists) - -# end of screenco.module -local.screen.attrib = empty -screen.role.attrib = role.attrib -screen = - element screen { - screen.attlist, - (para.char.mix | co | coref | textobject | lineannotation)* - } -# end of screen.element -screen.attlist &= - width.attrib, - linespecific.attrib, - common.attrib, - screen.role.attrib, - local.screen.attrib -# end of screen.attlist - -# end of screen.module -local.screenshot.attrib = empty -screenshot.role.attrib = role.attrib -screenshot = - element screenshot { - screenshot.attlist, - screeninfo?, - (graphic | graphicco | mediaobject | mediaobjectco) - } -# end of screenshot.element -screenshot.attlist &= - common.attrib, screenshot.role.attrib, local.screenshot.attrib -# end of screenshot.attlist - -# end of screenshot.module -local.screeninfo.attrib = empty -screeninfo.role.attrib = role.attrib -screeninfo = element screeninfo { screeninfo.attlist, para.char.mix* } -# end of screeninfo.element -screeninfo.attlist &= - common.attrib, screeninfo.role.attrib, local.screeninfo.attrib -# end of screeninfo.attlist - -# end of screeninfo.module - -# end of screenshot.content.module - -# Figures etc. ..................... -local.figure.attrib = empty -figure.role.attrib = role.attrib -figure = - element figure { - figure.attlist, - blockinfo?, - formalobject.title.content, - (figure.mix | link.char.class)+ - } -# end of figure.element - -# Float: Whether the Figure is supposed to be rendered -# where convenient (yes (1) value) or at the place it occurs -# in the text (no (0) value, the default) -figure.attlist &= - [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?, - attribute pgwide { yesorno.attvals }?, - label.attrib, - common.attrib, - figure.role.attrib, - local.figure.attrib -# end of figure.attlist - -# end of figure.module -local.informalfigure.attrib = empty -informalfigure.role.attrib = role.attrib -informalfigure = - element informalfigure { - informalfigure.attlist, blockinfo?, (figure.mix | link.char.class)+ - } -# end of informalfigure.element - -# Float: Whether the Figure is supposed to be rendered -# where convenient (yes (1) value) or at the place it occurs -# in the text (no (0) value, the default) -informalfigure.attlist &= - [ a:defaultValue = "0" ] attribute float { yesorno.attvals }?, - attribute pgwide { yesorno.attvals }?, - label.attrib, - common.attrib, - informalfigure.role.attrib, - local.informalfigure.attrib -# end of informalfigure.attlist - -# end of informalfigure.module -local.graphicco.attrib = empty -graphicco.role.attrib = role.attrib -graphicco = - element graphicco { - graphicco.attlist, areaspec, graphic, calloutlist* - } -# end of graphicco.element -graphicco.attlist &= - common.attrib, graphicco.role.attrib, local.graphicco.attrib -# end of graphicco.attlist - -# AreaSpec (defined above in Examples) - -# CalloutList (defined above in Lists) - -# end of graphicco.module - -# Graphical data can be the content of Graphic, or you can reference -# an external file either as an entity (Entitref) or a filename -# (Fileref). -local.graphic.attrib = empty -graphic.role.attrib = role.attrib -graphic = element graphic { graphic.attlist, empty } -# end of graphic.element -graphic.attlist &= - graphics.attrib, - common.attrib, - graphic.role.attrib, - local.graphic.attrib -# end of graphic.attlist - -# end of graphic.module -local.inlinegraphic.attrib = empty -inlinegraphic.role.attrib = role.attrib -inlinegraphic = element inlinegraphic { inlinegraphic.attlist, empty } -# end of inlinegraphic.element -inlinegraphic.attlist &= - graphics.attrib, - common.attrib, - inlinegraphic.role.attrib, - local.inlinegraphic.attrib -# end of inlinegraphic.attlist - -# end of inlinegraphic.module -local.mediaobject.attrib = empty -mediaobject.role.attrib = role.attrib -mediaobject = - element mediaobject { - mediaobject.attlist, objectinfo?, mediaobject.mix+, caption? - } -# end of mediaobject.element -mediaobject.attlist &= - common.attrib, mediaobject.role.attrib, local.mediaobject.attrib -# end of mediaobject.attlist - -# end of mediaobject.module -local.inlinemediaobject.attrib = empty -inlinemediaobject.role.attrib = role.attrib -inlinemediaobject = - element inlinemediaobject { - inlinemediaobject.attlist, objectinfo?, mediaobject.mix+ - } -# end of inlinemediaobject.element -inlinemediaobject.attlist &= - common.attrib, - inlinemediaobject.role.attrib, - local.inlinemediaobject.attrib -# end of inlinemediaobject.attlist - -# end of inlinemediaobject.module -local.videoobject.attrib = empty -videoobject.role.attrib = role.attrib -videoobject = - element videoobject { videoobject.attlist, objectinfo?, videodata } -# end of videoobject.element -videoobject.attlist &= - common.attrib, videoobject.role.attrib, local.videoobject.attrib -# end of videoobject.attlist - -# end of videoobject.module -local.audioobject.attrib = empty -audioobject.role.attrib = role.attrib -audioobject = - element audioobject { audioobject.attlist, objectinfo?, audiodata } -# end of audioobject.element -audioobject.attlist &= - common.attrib, audioobject.role.attrib, local.audioobject.attrib -# end of audioobject.attlist - -# end of audioobject.module -local.imageobject.attrib = empty -imageobject.role.attrib = role.attrib -imageobject = - element imageobject { imageobject.attlist, objectinfo?, imagedata } -# end of imageobject.element -imageobject.attlist &= - common.attrib, imageobject.role.attrib, local.imageobject.attrib -# end of imageobject.attlist - -# end of imageobject.module -local.textobject.attrib = empty -textobject.role.attrib = role.attrib -textobject = - element textobject { - textobject.attlist, - objectinfo?, - (phrase | textdata | textobject.mix+) - } -# end of textobject.element -textobject.attlist &= - common.attrib, textobject.role.attrib, local.textobject.attrib -# end of textobject.attlist - -# end of textobject.module -local.objectinfo.attrib = empty -objectinfo.role.attrib = role.attrib -objectinfo = element objectinfo { objectinfo.attlist, info.class+ } -# end of objectinfo.element -objectinfo.attlist &= - common.attrib, objectinfo.role.attrib, local.objectinfo.attrib -# end of objectinfo.attlist - -# end of objectinfo.module - -# EntityRef: Name of an external entity containing the content -# of the object data - -# FileRef: Filename, qualified by a pathname if desired, -# designating the file containing the content of the object data - -# Format: Notation of the element content, if any - -# SrcCredit: Information about the source of the image -local.objectdata.attrib = empty -objectdata.attrib = - attribute entityref { xsd:ENTITY }?, - attribute fileref { text }?, - attribute format { notation.class }?, - attribute srccredit { text }?, - local.objectdata.attrib -local.videodata.attrib = empty -videodata.role.attrib = role.attrib -videodata = element videodata { videodata.attlist, empty } -# end of videodata.element - -# Width: Same as CALS reprowid (desired width) - -# Depth: Same as CALS reprodep (desired depth) - -# Align: Same as CALS hplace with 'none' removed; #IMPLIED means -# application-specific - -# Scale: Conflation of CALS hscale and vscale - -# Scalefit: Same as CALS scalefit -videodata.attlist &= - attribute width { text }?, - attribute contentwidth { text }?, - attribute depth { text }?, - attribute contentdepth { text }?, - attribute align { "left" | "right" | "center" }?, - attribute valign { "top" | "middle" | "bottom" }?, - attribute scale { text }?, - attribute scalefit { yesorno.attvals }?, - objectdata.attrib, - common.attrib, - videodata.role.attrib, - local.videodata.attrib -# end of videodata.attlist - -# end of videodata.module -local.audiodata.attrib = empty -audiodata.role.attrib = role.attrib -audiodata = element audiodata { audiodata.attlist, empty } -# end of audiodata.element -audiodata.attlist &= - objectdata.attrib, - common.attrib, - audiodata.role.attrib, - local.audiodata.attrib -# end of audiodata.attlist - -# end of audiodata.module -local.imagedata.attrib = empty -imagedata.role.attrib = role.attrib -imagedata = element imagedata { imagedata.attlist, empty } -# end of imagedata.element - -# Width: Same as CALS reprowid (desired width) - -# Depth: Same as CALS reprodep (desired depth) - -# Align: Same as CALS hplace with 'none' removed; #IMPLIED means -# application-specific - -# Scale: Conflation of CALS hscale and vscale - -# Scalefit: Same as CALS scalefit -imagedata.attlist &= - attribute width { text }?, - attribute contentwidth { text }?, - attribute depth { text }?, - attribute contentdepth { text }?, - attribute align { "left" | "right" | "center" }?, - attribute valign { "top" | "middle" | "bottom" }?, - attribute scale { text }?, - attribute scalefit { yesorno.attvals }?, - objectdata.attrib, - common.attrib, - imagedata.role.attrib, - local.imagedata.attrib -# end of imagedata.attlist - -# end of imagedata.module -local.textdata.attrib = empty -textdata.role.attrib = role.attrib -textdata = element textdata { textdata.attlist, empty } -# end of textdata.element -textdata.attlist &= - attribute encoding { text }?, - objectdata.attrib, - common.attrib, - textdata.role.attrib, - local.textdata.attrib -# end of textdata.attlist - -# end of textdata.module -local.caption.attrib = empty -caption.role.attrib = role.attrib -caption = element caption { caption.attlist, textobject.mix* } -# end of caption.element -caption.attlist &= - common.attrib, caption.role.attrib, local.caption.attrib -# end of caption.attlist - -# end of caption.module -local.mediaobjectco.attrib = empty -mediaobjectco.role.attrib = role.attrib -mediaobjectco = - element mediaobjectco { - mediaobjectco.attlist, - objectinfo?, - imageobjectco, - (imageobjectco | textobject)* - } -# end of mediaobjectco.element -mediaobjectco.attlist &= - common.attrib, mediaobjectco.role.attrib, local.mediaobjectco.attrib -# end of mediaobjectco.attlist - -# end of mediaobjectco.module -local.imageobjectco.attrib = empty -imageobjectco.role.attrib = role.attrib -imageobjectco = - element imageobjectco { - imageobjectco.attlist, areaspec, imageobject, calloutlist* - } -# end of imageobjectco.element -imageobjectco.attlist &= - common.attrib, imageobjectco.role.attrib, local.imageobjectco.attrib -# end of imageobjectco.attlist - -# end of imageobjectco.module - -# end of mediaobject.content.module - -# Equations ........................ - -# This PE provides a mechanism for replacing equation content, - -# perhaps adding a new or different model (e.g., MathML) -equation.content = alt?, (graphic+ | mediaobject+) -inlineequation.content = alt?, (graphic+ | inlinemediaobject+) -local.equation.attrib = empty -equation.role.attrib = role.attrib -equation = - element equation { - equation.attlist, - blockinfo?, - formalobject.title.content?, - (informalequation | equation.content) - } -# end of equation.element -equation.attlist &= - label.attrib, - common.attrib, - equation.role.attrib, - local.equation.attrib -# end of equation.attlist - -# end of equation.module -local.informalequation.attrib = empty -informalequation.role.attrib = role.attrib -informalequation = - element informalequation { - informalequation.attlist, blockinfo?, equation.content - } -# end of informalequation.element -informalequation.attlist &= - common.attrib, - informalequation.role.attrib, - local.informalequation.attrib -# end of informalequation.attlist - -# end of informalequation.module -local.inlineequation.attrib = empty -inlineequation.role.attrib = role.attrib -inlineequation = - element inlineequation { - inlineequation.attlist, inlineequation.content - } -# end of inlineequation.element -inlineequation.attlist &= - common.attrib, inlineequation.role.attrib, local.inlineequation.attrib -# end of inlineequation.attlist - -# end of inlineequation.module -local.alt.attrib = empty -alt.role.attrib = role.attrib -alt = element alt { alt.attlist, text } -# end of alt.element -alt.attlist &= common.attrib, alt.role.attrib, local.alt.attrib -# end of alt.attlist - -# end of alt.module - -# Tables ........................... - -tables.role.attrib = role.attrib - -# Note that InformalTable is dependent on some of the entity -# declarations that customize Table. -local.informaltable.attrib = empty -informaltable = - element informaltable { - informaltable.attlist, - blockinfo?, - textobject*, - (graphic+ | mediaobject+ | tgroup+) - } -# end of informaltable.element - -# Frame, Colsep, and Rowsep must be repeated because -# they are not in entities in the table module. - -# includes TabStyle, ToCentry, ShortEntry, -# Orient, PgWide - -# includes Label - -# includes common attributes -informaltable.attlist &= - attribute frame { - "top" | "bottom" | "topbot" | "all" | "sides" | "none" - }?, - attribute colsep { yesorno.attvals }?, - attribute rowsep { yesorno.attvals }?, - common.table.attribs, - tbl.table.att, - local.informaltable.attrib -# end of informaltable.attlist - -# end of informaltable.module - -# ...................................................................... - -# Synopses ............................................................. - -# Synopsis ......................... -local.synopsis.attrib = empty -synopsis.role.attrib = role.attrib -synopsis = - element synopsis { - synopsis.attlist, - (para.char.mix - | graphic - | mediaobject - | co - | coref - | textobject - | lineannotation)* - } -# end of synopsis.element -synopsis.attlist &= - label.attrib, - linespecific.attrib, - common.attrib, - synopsis.role.attrib, - local.synopsis.attrib -# end of synopsis.attlist - -# LineAnnotation (defined in the Inlines section, below) - -# end of synopsis.module - -# CmdSynopsis ...................... -local.cmdsynopsis.attrib = empty -cmdsynopsis.role.attrib = role.attrib -cmdsynopsis = - element cmdsynopsis { - cmdsynopsis.attlist, (command | arg | group | sbr)+, synopfragment* - } -# end of cmdsynopsis.element - -# Sepchar: Character that should separate command and all -# top-level arguments; alternate value might be e.g., Δ -cmdsynopsis.attlist &= - label.attrib, - [ a:defaultValue = " " ] attribute sepchar { text }?, - attribute cmdlength { text }?, - common.attrib, - cmdsynopsis.role.attrib, - local.cmdsynopsis.attrib -# end of cmdsynopsis.attlist - -# end of cmdsynopsis.module -local.arg.attrib = empty -arg.role.attrib = role.attrib -arg = - element arg { - arg.attlist, - (text - | arg - | group - | option - | synopfragmentref - | replaceable - | sbr)* - } -# end of arg.element - -# Choice: Whether Arg must be supplied: Opt (optional to -# supply, e.g. [arg]; the default), Req (required to supply, -# e.g. {arg}), or Plain (required to supply, e.g. arg) - -# Rep: whether Arg is repeatable: Norepeat (e.g. arg without -# ellipsis; the default), or Repeat (e.g. arg...) -arg.attlist &= - [ a:defaultValue = "opt" ] - attribute choice { "opt" | "req" | "plain" }?, - [ a:defaultValue = "norepeat" ] - attribute rep { "norepeat" | "repeat" }?, - common.attrib, - arg.role.attrib, - local.arg.attrib -# end of arg.attlist - -# end of arg.module -local.group.attrib = empty -group.role.attrib = role.attrib -group = - element group { - group.attlist, - (arg | group | option | synopfragmentref | replaceable | sbr)+ - } -# end of group.element - -# Choice: Whether Group must be supplied: Opt (optional to -# supply, e.g. [g1|g2|g3]; the default), Req (required to -# supply, e.g. {g1|g2|g3}), Plain (required to supply, -# e.g. g1|g2|g3), OptMult (can supply zero or more, e.g. -# [[g1|g2|g3]]), or ReqMult (must supply one or more, e.g. -# {{g1|g2|g3}}) - -# Rep: whether Group is repeatable: Norepeat (e.g. group -# without ellipsis; the default), or Repeat (e.g. group...) -group.attlist &= - [ a:defaultValue = "opt" ] - attribute choice { "opt" | "req" | "plain" }?, - [ a:defaultValue = "norepeat" ] - attribute rep { "norepeat" | "repeat" }?, - common.attrib, - group.role.attrib, - local.group.attrib -# end of group.attlist - -# end of group.module -local.sbr.attrib = empty -# Synopsis break -sbr.role.attrib = role.attrib -sbr = element sbr { sbr.attlist, empty } -# end of sbr.element -sbr.attlist &= common.attrib, sbr.role.attrib, local.sbr.attrib -# end of sbr.attlist - -# end of sbr.module -local.synopfragmentref.attrib = empty -synopfragmentref.role.attrib = role.attrib -synopfragmentref = - element synopfragmentref { synopfragmentref.attlist, text } -# end of synopfragmentref.element - -# to SynopFragment of complex synopsis -# material for separate referencing -synopfragmentref.attlist &= - linkendreq.attrib, - common.attrib, - synopfragmentref.role.attrib, - local.synopfragmentref.attrib -# end of synopfragmentref.attlist - -# end of synopfragmentref.module -local.synopfragment.attrib = empty -synopfragment.role.attrib = role.attrib -synopfragment = - element synopfragment { synopfragment.attlist, (arg | group)+ } -# end of synopfragment.element -synopfragment.attlist &= - idreq.common.attrib, - synopfragment.role.attrib, - local.synopfragment.attrib -# end of synopfragment.attlist - -# end of synopfragment.module - -# Command (defined in the Inlines section, below) - -# Option (defined in the Inlines section, below) - -# Replaceable (defined in the Inlines section, below) - -# end of cmdsynopsis.content.module - -# FuncSynopsis ..................... -local.funcsynopsis.attrib = empty -funcsynopsis.role.attrib = role.attrib -funcsynopsis = - element funcsynopsis { - funcsynopsis.attlist, (funcsynopsisinfo | funcprototype)+ - } -# end of funcsynopsis.element -funcsynopsis.attlist &= - label.attrib, - common.attrib, - funcsynopsis.role.attrib, - local.funcsynopsis.attrib -# end of funcsynopsis.attlist - -# end of funcsynopsis.module -local.funcsynopsisinfo.attrib = empty -funcsynopsisinfo.role.attrib = role.attrib -funcsynopsisinfo = - element funcsynopsisinfo { - funcsynopsisinfo.attlist, - (cptr.char.mix | textobject | lineannotation)* - } -# end of funcsynopsisinfo.element -funcsynopsisinfo.attlist &= - linespecific.attrib, - common.attrib, - funcsynopsisinfo.role.attrib, - local.funcsynopsisinfo.attrib -# end of funcsynopsisinfo.attlist - -# end of funcsynopsisinfo.module -local.funcprototype.attrib = empty -funcprototype.role.attrib = role.attrib -funcprototype = - element funcprototype { - funcprototype.attlist, funcdef, (void | varargs | paramdef+) - } -# end of funcprototype.element -funcprototype.attlist &= - common.attrib, funcprototype.role.attrib, local.funcprototype.attrib -# end of funcprototype.attlist - -# end of funcprototype.module -local.funcdef.attrib = empty -funcdef.role.attrib = role.attrib -funcdef = - element funcdef { - funcdef.attlist, (text | type | replaceable | function)* - } -# end of funcdef.element -funcdef.attlist &= - common.attrib, funcdef.role.attrib, local.funcdef.attrib -# end of funcdef.attlist - -# end of funcdef.module -local.void.attrib = empty -void.role.attrib = role.attrib -void = element void { void.attlist, empty } -# end of void.element -void.attlist &= common.attrib, void.role.attrib, local.void.attrib -# end of void.attlist - -# end of void.module -local.varargs.attrib = empty -varargs.role.attrib = role.attrib -varargs = element varargs { varargs.attlist, empty } -# end of varargs.element -varargs.attlist &= - common.attrib, varargs.role.attrib, local.varargs.attrib -# end of varargs.attlist - -# end of varargs.module - -# Processing assumes that only one Parameter will appear in a -# ParamDef, and that FuncParams will be used at most once, for -# providing information on the "inner parameters" for parameters that -# are pointers to functions. -local.paramdef.attrib = empty -paramdef.role.attrib = role.attrib -paramdef = - element paramdef { - paramdef.attlist, - (text | type | replaceable | parameter | funcparams)* - } -# end of paramdef.element -paramdef.attlist &= - common.attrib, paramdef.role.attrib, local.paramdef.attrib -# end of paramdef.attlist - -# end of paramdef.module -local.funcparams.attrib = empty -funcparams.role.attrib = role.attrib -funcparams = element funcparams { funcparams.attlist, cptr.char.mix* } -# end of funcparams.element -funcparams.attlist &= - common.attrib, funcparams.role.attrib, local.funcparams.attrib -# end of funcparams.attlist - -# end of funcparams.module - -# LineAnnotation (defined in the Inlines section, below) - -# Replaceable (defined in the Inlines section, below) - -# Function (defined in the Inlines section, below) - -# Parameter (defined in the Inlines section, below) - -# end of funcsynopsis.content.module - -# ClassSynopsis ..................... -local.classsynopsis.attrib = empty -classsynopsis.role.attrib = role.attrib -classsynopsis = - element classsynopsis { - classsynopsis.attlist, - (ooclass | oointerface | ooexception)+, - (classsynopsisinfo | fieldsynopsis | method.synop.class)* - } -# end of classsynopsis.element -classsynopsis.attlist &= - attribute language { text }?, - [ a:defaultValue = "class" ] - attribute class { "class" | "interface" }?, - common.attrib, - classsynopsis.role.attrib, - local.classsynopsis.attrib -# end of classsynopsis.attlist - -# end of classsynopsis.module -local.classsynopsisinfo.attrib = empty -classsynopsisinfo.role.attrib = role.attrib -classsynopsisinfo = - element classsynopsisinfo { - classsynopsisinfo.attlist, - (cptr.char.mix | textobject | lineannotation)* - } -# end of classsynopsisinfo.element -classsynopsisinfo.attlist &= - linespecific.attrib, - common.attrib, - classsynopsisinfo.role.attrib, - local.classsynopsisinfo.attrib -# end of classsynopsisinfo.attlist - -# end of classsynopsisinfo.module -local.ooclass.attrib = empty -ooclass.role.attrib = role.attrib -ooclass = element ooclass { ooclass.attlist, modifier*, classname } -# end of ooclass.element -ooclass.attlist &= - common.attrib, ooclass.role.attrib, local.ooclass.attrib -# end of ooclass.attlist - -# end of ooclass.module -local.oointerface.attrib = empty -oointerface.role.attrib = role.attrib -oointerface = - element oointerface { oointerface.attlist, modifier*, interfacename } -# end of oointerface.element -oointerface.attlist &= - common.attrib, oointerface.role.attrib, local.oointerface.attrib -# end of oointerface.attlist - -# end of oointerface.module -local.ooexception.attrib = empty -ooexception.role.attrib = role.attrib -ooexception = - element ooexception { ooexception.attlist, modifier*, exceptionname } -# end of ooexception.element -ooexception.attlist &= - common.attrib, ooexception.role.attrib, local.ooexception.attrib -# end of ooexception.attlist - -# end of ooexception.module -local.modifier.attrib = empty -modifier.role.attrib = role.attrib -modifier = element modifier { modifier.attlist, smallcptr.char.mix* } -# end of modifier.element -modifier.attlist &= - common.attrib, modifier.role.attrib, local.modifier.attrib -# end of modifier.attlist - -# end of modifier.module -local.interfacename.attrib = empty -interfacename.role.attrib = role.attrib -interfacename = - element interfacename { interfacename.attlist, cptr.char.mix* } -# end of interfacename.element -interfacename.attlist &= - common.attrib, interfacename.role.attrib, local.interfacename.attrib -# end of interfacename.attlist - -# end of interfacename.module -local.exceptionname.attrib = empty -exceptionname.role.attrib = role.attrib -exceptionname = - element exceptionname { exceptionname.attlist, smallcptr.char.mix* } -# end of exceptionname.element -exceptionname.attlist &= - common.attrib, exceptionname.role.attrib, local.exceptionname.attrib -# end of exceptionname.attlist - -# end of exceptionname.module -local.fieldsynopsis.attrib = empty -fieldsynopsis.role.attrib = role.attrib -fieldsynopsis = - element fieldsynopsis { - fieldsynopsis.attlist, modifier*, type?, varname, initializer? - } -# end of fieldsynopsis.element -fieldsynopsis.attlist &= - attribute language { text }?, - common.attrib, - fieldsynopsis.role.attrib, - local.fieldsynopsis.attrib -# end of fieldsynopsis.attlist - -# end of fieldsynopsis.module -local.initializer.attrib = empty -initializer.role.attrib = role.attrib -initializer = - element initializer { initializer.attlist, smallcptr.char.mix* } -# end of initializer.element -initializer.attlist &= - common.attrib, initializer.role.attrib, local.initializer.attrib -# end of initializer.attlist - -# end of initializer.module -local.constructorsynopsis.attrib = empty -constructorsynopsis.role.attrib = role.attrib -constructorsynopsis = - element constructorsynopsis { - constructorsynopsis.attlist, - modifier*, - methodname?, - (methodparam+ | void), - exceptionname* - } -# end of constructorsynopsis.element -constructorsynopsis.attlist &= - attribute language { text }?, - common.attrib, - constructorsynopsis.role.attrib, - local.constructorsynopsis.attrib -# end of constructorsynopsis.attlist - -# end of constructorsynopsis.module -local.destructorsynopsis.attrib = empty -destructorsynopsis.role.attrib = role.attrib -destructorsynopsis = - element destructorsynopsis { - destructorsynopsis.attlist, - modifier*, - methodname?, - (methodparam+ | void), - exceptionname* - } -# end of destructorsynopsis.element -destructorsynopsis.attlist &= - attribute language { text }?, - common.attrib, - destructorsynopsis.role.attrib, - local.destructorsynopsis.attrib -# end of destructorsynopsis.attlist - -# end of destructorsynopsis.module -local.methodsynopsis.attrib = empty -methodsynopsis.role.attrib = role.attrib -methodsynopsis = - element methodsynopsis { - methodsynopsis.attlist, - modifier*, - (type | void)?, - methodname, - (methodparam+ | void), - exceptionname*, - modifier* - } -# end of methodsynopsis.element -methodsynopsis.attlist &= - attribute language { text }?, - common.attrib, - methodsynopsis.role.attrib, - local.methodsynopsis.attrib -# end of methodsynopsis.attlist - -# end of methodsynopsis.module -local.methodname.attrib = empty -methodname.role.attrib = role.attrib -methodname = - element methodname { methodname.attlist, smallcptr.char.mix* } -# end of methodname.element -methodname.attlist &= - common.attrib, methodname.role.attrib, local.methodname.attrib -# end of methodname.attlist - -# end of methodname.module -local.methodparam.attrib = empty -methodparam.role.attrib = role.attrib -methodparam = - element methodparam { - methodparam.attlist, - modifier*, - type?, - ((parameter, initializer?) | funcparams), - modifier* - } -# end of methodparam.element -methodparam.attlist &= - [ a:defaultValue = "req" ] - attribute choice { "opt" | "req" | "plain" }?, - [ a:defaultValue = "norepeat" ] - attribute rep { "norepeat" | "repeat" }?, - common.attrib, - methodparam.role.attrib, - local.methodparam.attrib -# end of methodparam.attlist - -# end of methodparam.module - -# end of classsynopsis.content.module - -# ...................................................................... - -# Document information entities and elements ........................... - -# The document information elements include some elements that are -# currently used only in the document hierarchy module. They are -# defined here so that they will be available for use in customized -# document hierarchies. - -# .................................. - -# Ackno ............................ -local.ackno.attrib = empty -ackno.role.attrib = role.attrib -ackno = element ackno { ackno.attlist, docinfo.char.mix* } -# end of ackno.element -ackno.attlist &= common.attrib, ackno.role.attrib, local.ackno.attrib -# end of ackno.attlist - -# end of ackno.module - -# Address .......................... -local.address.attrib = empty -address.role.attrib = role.attrib -address = - element address { - address.attlist, - (text - | personname - | person.ident.mix - | street - | pob - | postcode - | city - | state - | country - | phone - | fax - | email - | otheraddr)* - } -# end of address.element -address.attlist &= - linespecific.attrib, - common.attrib, - address.role.attrib, - local.address.attrib -# end of address.attlist - -# end of address.module -local.street.attrib = empty -street.role.attrib = role.attrib -street = element street { street.attlist, docinfo.char.mix* } -# end of street.element -street.attlist &= common.attrib, street.role.attrib, local.street.attrib -# end of street.attlist - -# end of street.module -local.pob.attrib = empty -pob.role.attrib = role.attrib -pob = element pob { pob.attlist, docinfo.char.mix* } -# end of pob.element -pob.attlist &= common.attrib, pob.role.attrib, local.pob.attrib -# end of pob.attlist - -# end of pob.module -local.postcode.attrib = empty -postcode.role.attrib = role.attrib -postcode = element postcode { postcode.attlist, docinfo.char.mix* } -# end of postcode.element -postcode.attlist &= - common.attrib, postcode.role.attrib, local.postcode.attrib -# end of postcode.attlist - -# end of postcode.module -local.city.attrib = empty -city.role.attrib = role.attrib -city = element city { city.attlist, docinfo.char.mix* } -# end of city.element -city.attlist &= common.attrib, city.role.attrib, local.city.attrib -# end of city.attlist - -# end of city.module -local.state.attrib = empty -state.role.attrib = role.attrib -state = element state { state.attlist, docinfo.char.mix* } -# end of state.element -state.attlist &= common.attrib, state.role.attrib, local.state.attrib -# end of state.attlist - -# end of state.module -local.country.attrib = empty -country.role.attrib = role.attrib -country = element country { country.attlist, docinfo.char.mix* } -# end of country.element -country.attlist &= - common.attrib, country.role.attrib, local.country.attrib -# end of country.attlist - -# end of country.module -local.phone.attrib = empty -phone.role.attrib = role.attrib -phone = element phone { phone.attlist, docinfo.char.mix* } -# end of phone.element -phone.attlist &= common.attrib, phone.role.attrib, local.phone.attrib -# end of phone.attlist - -# end of phone.module -local.fax.attrib = empty -fax.role.attrib = role.attrib -fax = element fax { fax.attlist, docinfo.char.mix* } -# end of fax.element -fax.attlist &= common.attrib, fax.role.attrib, local.fax.attrib -# end of fax.attlist - -# end of fax.module - -# Email (defined in the Inlines section, below) -local.otheraddr.attrib = empty -otheraddr.role.attrib = role.attrib -otheraddr = element otheraddr { otheraddr.attlist, docinfo.char.mix* } -# end of otheraddr.element -otheraddr.attlist &= - common.attrib, otheraddr.role.attrib, local.otheraddr.attrib -# end of otheraddr.attlist - -# end of otheraddr.module - -# end of address.content.module - -# Affiliation ...................... -local.affiliation.attrib = empty -affiliation.role.attrib = role.attrib -affiliation = - element affiliation { - affiliation.attlist, - shortaffil?, - jobtitle*, - orgname?, - orgdiv*, - address* - } -# end of affiliation.element -affiliation.attlist &= - common.attrib, affiliation.role.attrib, local.affiliation.attrib -# end of affiliation.attlist - -# end of affiliation.module -local.shortaffil.attrib = empty -shortaffil.role.attrib = role.attrib -shortaffil = - element shortaffil { shortaffil.attlist, docinfo.char.mix* } -# end of shortaffil.element -shortaffil.attlist &= - common.attrib, shortaffil.role.attrib, local.shortaffil.attrib -# end of shortaffil.attlist - -# end of shortaffil.module -local.jobtitle.attrib = empty -jobtitle.role.attrib = role.attrib -jobtitle = element jobtitle { jobtitle.attlist, docinfo.char.mix* } -# end of jobtitle.element -jobtitle.attlist &= - common.attrib, jobtitle.role.attrib, local.jobtitle.attrib -# end of jobtitle.attlist - -# end of jobtitle.module - -# OrgName (defined elsewhere in this section) -local.orgdiv.attrib = empty -orgdiv.role.attrib = role.attrib -orgdiv = element orgdiv { orgdiv.attlist, docinfo.char.mix* } -# end of orgdiv.element -orgdiv.attlist &= common.attrib, orgdiv.role.attrib, local.orgdiv.attrib -# end of orgdiv.attlist - -# end of orgdiv.module - -# Address (defined elsewhere in this section) - -# end of affiliation.content.module - -# ArtPageNums ...................... -local.artpagenums.attrib = empty -artpagenums.role.attrib = role.attrib -artpagenums = - element artpagenums { artpagenums.attlist, docinfo.char.mix* } -# end of artpagenums.element -artpagenums.attlist &= - common.attrib, artpagenums.role.attrib, local.artpagenums.attrib -# end of artpagenums.attlist - -# end of artpagenums.module - -# PersonName -local.personname.attrib = empty -personname.role.attrib = role.attrib -personname = - element personname { - personname.attlist, - (honorific | firstname | surname | lineage | othername)+ - } -# end of personname.element -personname.attlist &= - common.attrib, personname.role.attrib, local.personname.attrib -# end of personname.attlist - -# end of personname.module - -# Author ........................... -local.author.attrib = empty -author.role.attrib = role.attrib -author = - element author { - author.attlist, - (personname | person.ident.mix+), - (personblurb | email | address)* - } -# end of author.element -author.attlist &= common.attrib, author.role.attrib, local.author.attrib -# end of author.attlist - -# (see "Personal identity elements" for %person.ident.mix;) - -# end of author.module - -# AuthorGroup ...................... -local.authorgroup.attrib = empty -authorgroup.role.attrib = role.attrib -authorgroup = - element authorgroup { - authorgroup.attlist, - (author | editor | collab | corpauthor | othercredit)+ - } -# end of authorgroup.element -authorgroup.attlist &= - common.attrib, authorgroup.role.attrib, local.authorgroup.attrib -# end of authorgroup.attlist - -# end of authorgroup.module - -# Author (defined elsewhere in this section) - -# Editor (defined elsewhere in this section) -local.collab.attrib = empty -collab.role.attrib = role.attrib -collab = element collab { collab.attlist, collabname, affiliation* } -# end of collab.element -collab.attlist &= common.attrib, collab.role.attrib, local.collab.attrib -# end of collab.attlist - -# end of collab.module -local.collabname.attrib = empty -collabname.role.attrib = role.attrib -collabname = - element collabname { collabname.attlist, docinfo.char.mix* } -# end of collabname.element -collabname.attlist &= - common.attrib, collabname.role.attrib, local.collabname.attrib -# end of collabname.attlist - -# end of collabname.module - -# Affiliation (defined elsewhere in this section) - -# end of collab.content.module - -# CorpAuthor (defined elsewhere in this section) - -# OtherCredit (defined elsewhere in this section) - -# end of authorgroup.content.module - -# AuthorInitials ................... -local.authorinitials.attrib = empty -authorinitials.role.attrib = role.attrib -authorinitials = - element authorinitials { authorinitials.attlist, docinfo.char.mix* } -# end of authorinitials.element -authorinitials.attlist &= - common.attrib, authorinitials.role.attrib, local.authorinitials.attrib -# end of authorinitials.attlist - -# end of authorinitials.module - -# ConfGroup ........................ -local.confgroup.attrib = empty -confgroup.role.attrib = role.attrib -confgroup = - element confgroup { - confgroup.attlist, - (confdates | conftitle | confnum | address | confsponsor)* - } -# end of confgroup.element -confgroup.attlist &= - common.attrib, confgroup.role.attrib, local.confgroup.attrib -# end of confgroup.attlist - -# end of confgroup.module -local.confdates.attrib = empty -confdates.role.attrib = role.attrib -confdates = element confdates { confdates.attlist, docinfo.char.mix* } -# end of confdates.element -confdates.attlist &= - common.attrib, confdates.role.attrib, local.confdates.attrib -# end of confdates.attlist - -# end of confdates.module -local.conftitle.attrib = empty -conftitle.role.attrib = role.attrib -conftitle = element conftitle { conftitle.attlist, docinfo.char.mix* } -# end of conftitle.element -conftitle.attlist &= - common.attrib, conftitle.role.attrib, local.conftitle.attrib -# end of conftitle.attlist - -# end of conftitle.module -local.confnum.attrib = empty -confnum.role.attrib = role.attrib -confnum = element confnum { confnum.attlist, docinfo.char.mix* } -# end of confnum.element -confnum.attlist &= - common.attrib, confnum.role.attrib, local.confnum.attrib -# end of confnum.attlist - -# end of confnum.module - -# Address (defined elsewhere in this section) -local.confsponsor.attrib = empty -confsponsor.role.attrib = role.attrib -confsponsor = - element confsponsor { confsponsor.attlist, docinfo.char.mix* } -# end of confsponsor.element -confsponsor.attlist &= - common.attrib, confsponsor.role.attrib, local.confsponsor.attrib -# end of confsponsor.attlist - -# end of confsponsor.module - -# end of confgroup.content.module - -# ContractNum ...................... -local.contractnum.attrib = empty -contractnum.role.attrib = role.attrib -contractnum = - element contractnum { contractnum.attlist, docinfo.char.mix* } -# end of contractnum.element -contractnum.attlist &= - common.attrib, contractnum.role.attrib, local.contractnum.attrib -# end of contractnum.attlist - -# end of contractnum.module - -# ContractSponsor .................. -local.contractsponsor.attrib = empty -contractsponsor.role.attrib = role.attrib -contractsponsor = - element contractsponsor { contractsponsor.attlist, docinfo.char.mix* } -# end of contractsponsor.element -contractsponsor.attlist &= - common.attrib, - contractsponsor.role.attrib, - local.contractsponsor.attrib -# end of contractsponsor.attlist - -# end of contractsponsor.module - -# Copyright ........................ -local.copyright.attrib = empty -copyright.role.attrib = role.attrib -copyright = element copyright { copyright.attlist, year+, holder* } -# end of copyright.element -copyright.attlist &= - common.attrib, copyright.role.attrib, local.copyright.attrib -# end of copyright.attlist - -# end of copyright.module -local.year.attrib = empty -year.role.attrib = role.attrib -year = element year { year.attlist, docinfo.char.mix* } -# end of year.element -year.attlist &= common.attrib, year.role.attrib, local.year.attrib -# end of year.attlist - -# end of year.module -local.holder.attrib = empty -holder.role.attrib = role.attrib -holder = element holder { holder.attlist, docinfo.char.mix* } -# end of holder.element -holder.attlist &= common.attrib, holder.role.attrib, local.holder.attrib -# end of holder.attlist - -# end of holder.module - -# end of copyright.content.module - -# CorpAuthor ....................... -local.corpauthor.attrib = empty -corpauthor.role.attrib = role.attrib -corpauthor = - element corpauthor { corpauthor.attlist, docinfo.char.mix* } -# end of corpauthor.element -corpauthor.attlist &= - common.attrib, corpauthor.role.attrib, local.corpauthor.attrib -# end of corpauthor.attlist - -# end of corpauthor.module - -# CorpName ......................... -local.corpname.attrib = empty -corpname = element corpname { corpname.attlist, docinfo.char.mix* } -# end of corpname.element -corpname.role.attrib = role.attrib -corpname.attlist &= - common.attrib, corpname.role.attrib, local.corpname.attrib -# end of corpname.attlist - -# end of corpname.module - -# Date ............................. -local.date.attrib = empty -date.role.attrib = role.attrib -date = element date { date.attlist, docinfo.char.mix* } -# end of date.element -date.attlist &= common.attrib, date.role.attrib, local.date.attrib -# end of date.attlist - -# end of date.module - -# Edition .......................... -local.edition.attrib = empty -edition.role.attrib = role.attrib -edition = element edition { edition.attlist, docinfo.char.mix* } -# end of edition.element -edition.attlist &= - common.attrib, edition.role.attrib, local.edition.attrib -# end of edition.attlist - -# end of edition.module - -# Editor ........................... -local.editor.attrib = empty -editor.role.attrib = role.attrib -editor = - element editor { - editor.attlist, - (personname | person.ident.mix+), - (personblurb | email | address)* - } -# end of editor.element -editor.attlist &= common.attrib, editor.role.attrib, local.editor.attrib -# end of editor.attlist - -# (see "Personal identity elements" for %person.ident.mix;) - -# end of editor.module - -# ISBN ............................. -local.isbn.attrib = empty -isbn.role.attrib = role.attrib -isbn = element isbn { isbn.attlist, docinfo.char.mix* } -# end of isbn.element -isbn.attlist &= common.attrib, isbn.role.attrib, local.isbn.attrib -# end of isbn.attlist - -# end of isbn.module - -# ISSN ............................. -local.issn.attrib = empty -issn.role.attrib = role.attrib -issn = element issn { issn.attlist, docinfo.char.mix* } -# end of issn.element -issn.attlist &= common.attrib, issn.role.attrib, local.issn.attrib -# end of issn.attlist - -# end of issn.module - -# BiblioId ................. -biblio.class.attrib = - attribute class { - "uri" - | "doi" - | "isbn" - | "issn" - | "libraryofcongress" - | "pubnumber" - | "other" - }?, - attribute otherclass { text }? -local.biblioid.attrib = empty -biblioid.role.attrib = role.attrib -biblioid = element biblioid { biblioid.attlist, docinfo.char.mix* } -# end of biblioid.element -biblioid.attlist &= - biblio.class.attrib, - common.attrib, - biblioid.role.attrib, - local.biblioid.attrib -# end of biblioid.attlist - -# end of biblioid.module - -# CiteBiblioId ................. -local.citebiblioid.attrib = empty -citebiblioid.role.attrib = role.attrib -citebiblioid = - element citebiblioid { citebiblioid.attlist, docinfo.char.mix* } -# end of citebiblioid.element -citebiblioid.attlist &= - biblio.class.attrib, - common.attrib, - citebiblioid.role.attrib, - local.citebiblioid.attrib -# end of citebiblioid.attlist - -# end of citebiblioid.module - -# BiblioSource ................. -local.bibliosource.attrib = empty -bibliosource.role.attrib = role.attrib -bibliosource = - element bibliosource { bibliosource.attlist, docinfo.char.mix* } -# end of bibliosource.element -bibliosource.attlist &= - biblio.class.attrib, - common.attrib, - bibliosource.role.attrib, - local.bibliosource.attrib -# end of bibliosource.attlist - -# end of bibliosource.module - -# BiblioRelation ................. -local.bibliorelation.attrib = empty -local.bibliorelation.types = notAllowed -bibliorelation.type.attrib = - attribute type { - "isversionof" - | "hasversion" - | "isreplacedby" - | "replaces" - | "isrequiredby" - | "requires" - | "ispartof" - | "haspart" - | "isreferencedby" - | "references" - | "isformatof" - | "hasformat" - | "othertype" - | local.bibliorelation.types - }?, - attribute othertype { text }? -bibliorelation.role.attrib = role.attrib -bibliorelation = - element bibliorelation { bibliorelation.attlist, docinfo.char.mix* } -# end of bibliorelation.element -bibliorelation.attlist &= - biblio.class.attrib, - bibliorelation.type.attrib, - common.attrib, - bibliorelation.role.attrib, - local.bibliorelation.attrib -# end of bibliorelation.attlist - -# end of bibliorelation.module - -# BiblioCoverage ................. -local.bibliocoverage.attrib = empty -bibliocoverage.role.attrib = role.attrib -bibliocoverage = - element bibliocoverage { bibliocoverage.attlist, docinfo.char.mix* } -# end of bibliocoverage.element -bibliocoverage.attlist &= - attribute spatial { - "dcmipoint" | "iso3166" | "dcmibox" | "tgn" | "otherspatial" - }?, - attribute otherspatial { text }?, - attribute temporal { "dcmiperiod" | "w3c-dtf" | "othertemporal" }?, - attribute othertemporal { text }?, - common.attrib, - bibliocoverage.role.attrib, - local.bibliocoverage.attrib -# end of bibliocoverage.attlist - -# end of bibliocoverage.module - -# InvPartNumber .................... -local.invpartnumber.attrib = empty -invpartnumber.role.attrib = role.attrib -invpartnumber = - element invpartnumber { invpartnumber.attlist, docinfo.char.mix* } -# end of invpartnumber.element -invpartnumber.attlist &= - common.attrib, invpartnumber.role.attrib, local.invpartnumber.attrib -# end of invpartnumber.attlist - -# end of invpartnumber.module - -# IssueNum ......................... -local.issuenum.attrib = empty -issuenum.role.attrib = role.attrib -issuenum = element issuenum { issuenum.attlist, docinfo.char.mix* } -# end of issuenum.element -issuenum.attlist &= - common.attrib, issuenum.role.attrib, local.issuenum.attrib -# end of issuenum.attlist - -# end of issuenum.module - -# LegalNotice ...................... -local.legalnotice.attrib = empty -legalnotice.role.attrib = role.attrib -legalnotice = - element legalnotice { - legalnotice.attlist, blockinfo?, title?, legalnotice.mix+ - } -# end of legalnotice.element -legalnotice.attlist &= - common.attrib, legalnotice.role.attrib, local.legalnotice.attrib -# end of legalnotice.attlist - -# end of legalnotice.module - -# ModeSpec ......................... -local.modespec.attrib = empty -modespec.role.attrib = role.attrib -modespec = element modespec { modespec.attlist, docinfo.char.mix* } -# end of modespec.element - -# Application: Type of action required for completion -# of the links to which the ModeSpec is relevant (e.g., -# retrieval query) -modespec.attlist &= - attribute application { notation.class }?, - common.attrib, - modespec.role.attrib, - local.modespec.attrib -# end of modespec.attlist - -# end of modespec.module - -# OrgName .......................... -local.orgname.attrib = empty -orgname.role.attrib = role.attrib -orgname = element orgname { orgname.attlist, docinfo.char.mix* } -# end of orgname.element -orgname.attlist &= - common.attrib, - attribute class { - "corporation" | "nonprofit" | "consortium" | "informal" | "other" - }?, - attribute otherclass { text }?, - orgname.role.attrib, - local.orgname.attrib -# end of orgname.attlist - -# end of orgname.module - -# OtherCredit ...................... -local.othercredit.attrib = empty -othercredit.role.attrib = role.attrib -othercredit = - element othercredit { - othercredit.attlist, - (personname | person.ident.mix+), - (personblurb | email | address)* - } -# end of othercredit.element -othercredit.attlist &= - common.attrib, othercredit.role.attrib, local.othercredit.attrib -# end of othercredit.attlist - -# (see "Personal identity elements" for %person.ident.mix;) - -# end of othercredit.module - -# PageNums ......................... -local.pagenums.attrib = empty -pagenums.role.attrib = role.attrib -pagenums = element pagenums { pagenums.attlist, docinfo.char.mix* } -# end of pagenums.element -pagenums.attlist &= - common.attrib, pagenums.role.attrib, local.pagenums.attrib -# end of pagenums.attlist - -# end of pagenums.module - -# Personal identity elements ....... - -# These elements are used only within Author, Editor, and -# OtherCredit. -local.contrib.attrib = empty -contrib.role.attrib = role.attrib -contrib = element contrib { contrib.attlist, docinfo.char.mix* } -# end of contrib.element -contrib.attlist &= - common.attrib, contrib.role.attrib, local.contrib.attrib -# end of contrib.attlist - -# end of contrib.module -local.firstname.attrib = empty -firstname.role.attrib = role.attrib -firstname = element firstname { firstname.attlist, docinfo.char.mix* } -# end of firstname.element -firstname.attlist &= - common.attrib, firstname.role.attrib, local.firstname.attrib -# end of firstname.attlist - -# end of firstname.module -local.honorific.attrib = empty -honorific.role.attrib = role.attrib -honorific = element honorific { honorific.attlist, docinfo.char.mix* } -# end of honorific.element -honorific.attlist &= - common.attrib, honorific.role.attrib, local.honorific.attrib -# end of honorific.attlist - -# end of honorific.module -local.lineage.attrib = empty -lineage.role.attrib = role.attrib -lineage = element lineage { lineage.attlist, docinfo.char.mix* } -# end of lineage.element -lineage.attlist &= - common.attrib, lineage.role.attrib, local.lineage.attrib -# end of lineage.attlist - -# end of lineage.module -local.othername.attrib = empty -othername.role.attrib = role.attrib -othername = element othername { othername.attlist, docinfo.char.mix* } -# end of othername.element -othername.attlist &= - common.attrib, othername.role.attrib, local.othername.attrib -# end of othername.attlist - -# end of othername.module -local.surname.attrib = empty -surname.role.attrib = role.attrib -surname = element surname { surname.attlist, docinfo.char.mix* } -# end of surname.element -surname.attlist &= - common.attrib, surname.role.attrib, local.surname.attrib -# end of surname.attlist - -# end of surname.module - -# end of person.ident.module - -# PrintHistory ..................... -local.printhistory.attrib = empty -printhistory.role.attrib = role.attrib -printhistory = - element printhistory { printhistory.attlist, para.class+ } -# end of printhistory.element -printhistory.attlist &= - common.attrib, printhistory.role.attrib, local.printhistory.attrib -# end of printhistory.attlist - -# end of printhistory.module - -# ProductName ...................... -local.productname.attrib = empty -productname.role.attrib = role.attrib -productname = - element productname { productname.attlist, para.char.mix* } -# end of productname.element - -# Class: More precisely identifies the item the element names -productname.attlist &= - [ a:defaultValue = "trade" ] - attribute class { "service" | "trade" | "registered" | "copyright" }?, - common.attrib, - productname.role.attrib, - local.productname.attrib -# end of productname.attlist - -# end of productname.module - -# ProductNumber .................... -local.productnumber.attrib = empty -productnumber.role.attrib = role.attrib -productnumber = - element productnumber { productnumber.attlist, docinfo.char.mix* } -# end of productnumber.element -productnumber.attlist &= - common.attrib, productnumber.role.attrib, local.productnumber.attrib -# end of productnumber.attlist - -# end of productnumber.module - -# PubDate .......................... -local.pubdate.attrib = empty -pubdate.role.attrib = role.attrib -pubdate = element pubdate { pubdate.attlist, docinfo.char.mix* } -# end of pubdate.element -pubdate.attlist &= - common.attrib, pubdate.role.attrib, local.pubdate.attrib -# end of pubdate.attlist - -# end of pubdate.module - -# Publisher ........................ -local.publisher.attrib = empty -publisher.role.attrib = role.attrib -publisher = - element publisher { publisher.attlist, publishername, address* } -# end of publisher.element -publisher.attlist &= - common.attrib, publisher.role.attrib, local.publisher.attrib -# end of publisher.attlist - -# end of publisher.module -local.publishername.attrib = empty -publishername.role.attrib = role.attrib -publishername = - element publishername { publishername.attlist, docinfo.char.mix* } -# end of publishername.element -publishername.attlist &= - common.attrib, publishername.role.attrib, local.publishername.attrib -# end of publishername.attlist - -# end of publishername.module - -# Address (defined elsewhere in this section) - -# end of publisher.content.module - -# PubsNumber ....................... -local.pubsnumber.attrib = empty -pubsnumber.role.attrib = role.attrib -pubsnumber = - element pubsnumber { pubsnumber.attlist, docinfo.char.mix* } -# end of pubsnumber.element -pubsnumber.attlist &= - common.attrib, pubsnumber.role.attrib, local.pubsnumber.attrib -# end of pubsnumber.attlist - -# end of pubsnumber.module - -# ReleaseInfo ...................... -local.releaseinfo.attrib = empty -releaseinfo.role.attrib = role.attrib -releaseinfo = - element releaseinfo { releaseinfo.attlist, docinfo.char.mix* } -# end of releaseinfo.element -releaseinfo.attlist &= - common.attrib, releaseinfo.role.attrib, local.releaseinfo.attrib -# end of releaseinfo.attlist - -# end of releaseinfo.module - -# RevHistory ....................... -local.revhistory.attrib = empty -revhistory.role.attrib = role.attrib -revhistory = element revhistory { revhistory.attlist, revision+ } -# end of revhistory.element -revhistory.attlist &= - common.attrib, revhistory.role.attrib, local.revhistory.attrib -# end of revhistory.attlist - -# end of revhistory.module -local.revision.attrib = empty -revision.role.attrib = role.attrib -revision = - element revision { - revision.attlist, - revnumber, - date, - authorinitials*, - (revremark | revdescription)? - } -# end of revision.element -revision.attlist &= - common.attrib, revision.role.attrib, local.revision.attrib -# end of revision.attlist - -# end of revision.module -local.revnumber.attrib = empty -revnumber.role.attrib = role.attrib -revnumber = element revnumber { revnumber.attlist, docinfo.char.mix* } -# end of revnumber.element -revnumber.attlist &= - common.attrib, revnumber.role.attrib, local.revnumber.attrib -# end of revnumber.attlist - -# end of revnumber.module - -# Date (defined elsewhere in this section) - -# AuthorInitials (defined elsewhere in this section) -local.revremark.attrib = empty -revremark.role.attrib = role.attrib -revremark = element revremark { revremark.attlist, docinfo.char.mix* } -# end of revremark.element -revremark.attlist &= - common.attrib, revremark.role.attrib, local.revremark.attrib -# end of revremark.attlist - -# end of revremark.module -local.revdescription.attrib = empty -revdescription.role.attrib = role.attrib -revdescription = - element revdescription { revdescription.attlist, revdescription.mix+ } -# end of revdescription.element -revdescription.attlist &= - common.attrib, revdescription.role.attrib, local.revdescription.attrib -# end of revdescription.attlist - -# end of revdescription.module - -# end of revhistory.content.module - -# SeriesVolNums .................... -local.seriesvolnums.attrib = empty -seriesvolnums.role.attrib = role.attrib -seriesvolnums = - element seriesvolnums { seriesvolnums.attlist, docinfo.char.mix* } -# end of seriesvolnums.element -seriesvolnums.attlist &= - common.attrib, seriesvolnums.role.attrib, local.seriesvolnums.attrib -# end of seriesvolnums.attlist - -# end of seriesvolnums.module - -# VolumeNum ........................ -local.volumenum.attrib = empty -volumenum.role.attrib = role.attrib -volumenum = element volumenum { volumenum.attlist, docinfo.char.mix* } -# end of volumenum.element -volumenum.attlist &= - common.attrib, volumenum.role.attrib, local.volumenum.attrib -# end of volumenum.attlist - -# end of volumenum.module - -# .................................. - -# end of docinfo.content.module - -# ...................................................................... - -# Inline, link, and ubiquitous elements ................................ - -# Technical and computer terms ......................................... -local.accel.attrib = empty -accel.role.attrib = role.attrib -accel = element accel { accel.attlist, smallcptr.char.mix* } -# end of accel.element -accel.attlist &= common.attrib, accel.role.attrib, local.accel.attrib -# end of accel.attlist - -# end of accel.module -local.action.attrib = empty -action.role.attrib = role.attrib -action = element action { action.attlist, cptr.char.mix* } -# end of action.element -action.attlist &= - moreinfo.attrib, - common.attrib, - action.role.attrib, - local.action.attrib -# end of action.attlist - -# end of action.module -local.application.attrib = empty -application.role.attrib = role.attrib -application = - element application { application.attlist, para.char.mix* } -# end of application.element -application.attlist &= - attribute class { "hardware" | "software" }?, - moreinfo.attrib, - common.attrib, - application.role.attrib, - local.application.attrib -# end of application.attlist - -# end of application.module -local.classname.attrib = empty -classname.role.attrib = role.attrib -classname = element classname { classname.attlist, smallcptr.char.mix* } -# end of classname.element -classname.attlist &= - common.attrib, classname.role.attrib, local.classname.attrib -# end of classname.attlist - -# end of classname.module -local.co.attrib = empty -# CO is a callout area of the LineColumn unit type (a single character -# position); the position is directly indicated by the location of CO. -co.role.attrib = role.attrib -co = element co { co.attlist, empty } -# end of co.element - -# bug number/symbol override or initialization - -# to any related information -co.attlist &= - label.attrib, - linkends.attrib, - idreq.common.attrib, - co.role.attrib, - local.co.attrib -# end of co.attlist - -# end of co.module -local.coref.attrib = empty -# COREF is a reference to a CO -coref.role.attrib = role.attrib -coref = element coref { coref.attlist, empty } -# end of coref.element - -# bug number/symbol override or initialization - -# to any related information -coref.attlist &= - label.attrib, - linkendreq.attrib, - common.attrib, - coref.role.attrib, - local.coref.attrib -# end of coref.attlist - -# end of coref.module -local.command.attrib = empty -command.role.attrib = role.attrib -command = element command { command.attlist, cptr.char.mix* } -# end of command.element -command.attlist &= - moreinfo.attrib, - common.attrib, - command.role.attrib, - local.command.attrib -# end of command.attlist - -# end of command.module -local.computeroutput.attrib = empty -computeroutput.role.attrib = role.attrib -computeroutput = - element computeroutput { - computeroutput.attlist, (cptr.char.mix | co)* - } -# end of computeroutput.element -computeroutput.attlist &= - moreinfo.attrib, - common.attrib, - computeroutput.role.attrib, - local.computeroutput.attrib -# end of computeroutput.attlist - -# end of computeroutput.module -local.database.attrib = empty -database.role.attrib = role.attrib -database = element database { database.attlist, cptr.char.mix* } -# end of database.element - -# Class: Type of database the element names; no default -database.attlist &= - attribute class { - "name" | "table" | "field" | "key1" | "key2" | "record" - }?, - moreinfo.attrib, - common.attrib, - database.role.attrib, - local.database.attrib -# end of database.attlist - -# end of database.module -local.email.attrib = empty -email.role.attrib = role.attrib -email = element email { email.attlist, docinfo.char.mix* } -# end of email.element -email.attlist &= common.attrib, email.role.attrib, local.email.attrib -# end of email.attlist - -# end of email.module -local.envar.attrib = empty -envar.role.attrib = role.attrib -envar = element envar { envar.attlist, smallcptr.char.mix* } -# end of envar.element -envar.attlist &= common.attrib, envar.role.attrib, local.envar.attrib -# end of envar.attlist - -# end of envar.module -local.errorcode.attrib = empty -errorcode.role.attrib = role.attrib -errorcode = element errorcode { errorcode.attlist, smallcptr.char.mix* } -# end of errorcode.element -errorcode.attlist &= - moreinfo.attrib, - common.attrib, - errorcode.role.attrib, - local.errorcode.attrib -# end of errorcode.attlist - -# end of errorcode.module -local.errorname.attrib = empty -errorname.role.attrib = role.attrib -errorname = element errorname { errorname.attlist, smallcptr.char.mix* } -# end of errorname.element -errorname.attlist &= - common.attrib, errorname.role.attrib, local.errorname.attrib -# end of errorname.attlist - -# end of errorname.module -local.errortext.attrib = empty -errortext.role.attrib = role.attrib -errortext = element errortext { errortext.attlist, smallcptr.char.mix* } -# end of errortext.element -errortext.attlist &= - common.attrib, errortext.role.attrib, local.errortext.attrib -# end of errortext.attlist - -# end of errortext.module -local.errortype.attrib = empty -errortype.role.attrib = role.attrib -errortype = element errortype { errortype.attlist, smallcptr.char.mix* } -# end of errortype.element -errortype.attlist &= - common.attrib, errortype.role.attrib, local.errortype.attrib -# end of errortype.attlist - -# end of errortype.module -local.filename.attrib = empty -filename.role.attrib = role.attrib -filename = element filename { filename.attlist, cptr.char.mix* } -# end of filename.element - -# Class: Type of filename the element names; no default - -# Path: Search path (possibly system-specific) in which -# file can be found -filename.attlist &= - attribute class { - "headerfile" - | "partition" - | "devicefile" - | "libraryfile" - | "directory" - | "extension" - | "symlink" - }?, - attribute path { text }?, - moreinfo.attrib, - common.attrib, - filename.role.attrib, - local.filename.attrib -# end of filename.attlist - -# end of filename.module -local.function.attrib = empty -function.role.attrib = role.attrib -function = element function { function.attlist, cptr.char.mix* } -# end of function.element -function.attlist &= - moreinfo.attrib, - common.attrib, - function.role.attrib, - local.function.attrib -# end of function.attlist - -# end of function.module -local.guibutton.attrib = empty -guibutton.role.attrib = role.attrib -guibutton = - element guibutton { guibutton.attlist, (smallcptr.char.mix | accel)* } -# end of guibutton.element -guibutton.attlist &= - moreinfo.attrib, - common.attrib, - guibutton.role.attrib, - local.guibutton.attrib -# end of guibutton.attlist - -# end of guibutton.module -local.guiicon.attrib = empty -guiicon.role.attrib = role.attrib -guiicon = - element guiicon { guiicon.attlist, (smallcptr.char.mix | accel)* } -# end of guiicon.element -guiicon.attlist &= - moreinfo.attrib, - common.attrib, - guiicon.role.attrib, - local.guiicon.attrib -# end of guiicon.attlist - -# end of guiicon.module -local.guilabel.attrib = empty -guilabel.role.attrib = role.attrib -guilabel = - element guilabel { guilabel.attlist, (smallcptr.char.mix | accel)* } -# end of guilabel.element -guilabel.attlist &= - moreinfo.attrib, - common.attrib, - guilabel.role.attrib, - local.guilabel.attrib -# end of guilabel.attlist - -# end of guilabel.module -local.guimenu.attrib = empty -guimenu.role.attrib = role.attrib -guimenu = - element guimenu { guimenu.attlist, (smallcptr.char.mix | accel)* } -# end of guimenu.element -guimenu.attlist &= - moreinfo.attrib, - common.attrib, - guimenu.role.attrib, - local.guimenu.attrib -# end of guimenu.attlist - -# end of guimenu.module -local.guimenuitem.attrib = empty -guimenuitem.role.attrib = role.attrib -guimenuitem = - element guimenuitem { - guimenuitem.attlist, (smallcptr.char.mix | accel)* - } -# end of guimenuitem.element -guimenuitem.attlist &= - moreinfo.attrib, - common.attrib, - guimenuitem.role.attrib, - local.guimenuitem.attrib -# end of guimenuitem.attlist - -# end of guimenuitem.module -local.guisubmenu.attrib = empty -guisubmenu.role.attrib = role.attrib -guisubmenu = - element guisubmenu { - guisubmenu.attlist, (smallcptr.char.mix | accel)* - } -# end of guisubmenu.element -guisubmenu.attlist &= - moreinfo.attrib, - common.attrib, - guisubmenu.role.attrib, - local.guisubmenu.attrib -# end of guisubmenu.attlist - -# end of guisubmenu.module -local.hardware.attrib = empty -hardware.role.attrib = role.attrib -hardware = element hardware { hardware.attlist, cptr.char.mix* } -# end of hardware.element -hardware.attlist &= - moreinfo.attrib, - common.attrib, - hardware.role.attrib, - local.hardware.attrib -# end of hardware.attlist - -# end of hardware.module -local.interface.attrib = empty -interface.role.attrib = role.attrib -interface = - element interface { interface.attlist, (smallcptr.char.mix | accel)* } -# end of interface.element - -# Class: Type of the Interface item; no default -interface.attlist &= - moreinfo.attrib, - common.attrib, - interface.role.attrib, - local.interface.attrib -# end of interface.attlist - -# end of interface.module -local.keycap.attrib = empty -keycap.role.attrib = role.attrib -keycap = element keycap { keycap.attlist, cptr.char.mix* } -# end of keycap.element -keycap.attlist &= - moreinfo.attrib, - common.attrib, - keycap.role.attrib, - local.keycap.attrib -# end of keycap.attlist - -# end of keycap.module -local.keycode.attrib = empty -keycode.role.attrib = role.attrib -keycode = element keycode { keycode.attlist, smallcptr.char.mix* } -# end of keycode.element -keycode.attlist &= - common.attrib, keycode.role.attrib, local.keycode.attrib -# end of keycode.attlist - -# end of keycode.module -local.keycombo.attrib = empty -keycombo.role.attrib = role.attrib -keycombo = - element keycombo { - keycombo.attlist, (keycap | keycombo | keysym | mousebutton)+ - } -# end of keycombo.element -keycombo.attlist &= - keyaction.attrib, - moreinfo.attrib, - common.attrib, - keycombo.role.attrib, - local.keycombo.attrib -# end of keycombo.attlist - -# end of keycombo.module -local.keysym.attrib = empty -keysysm.role.attrib = role.attrib -keysym = element keysym { keysym.attlist, smallcptr.char.mix* } -# end of keysym.element -keysym.attlist &= - common.attrib, keysysm.role.attrib, local.keysym.attrib -# end of keysym.attlist - -# end of keysym.module -local.lineannotation.attrib = empty -lineannotation.role.attrib = role.attrib -lineannotation = - element lineannotation { lineannotation.attlist, para.char.mix* } -# end of lineannotation.element -lineannotation.attlist &= - common.attrib, lineannotation.role.attrib, local.lineannotation.attrib -# end of lineannotation.attlist - -# end of lineannotation.module -local.literal.attrib = empty -literal.role.attrib = role.attrib -literal = element literal { literal.attlist, cptr.char.mix* } -# end of literal.element -literal.attlist &= - moreinfo.attrib, - common.attrib, - literal.role.attrib, - local.literal.attrib -# end of literal.attlist - -# end of literal.module -local.constant.attrib = empty -constant.role.attrib = role.attrib -constant = element constant { constant.attlist, smallcptr.char.mix* } -# end of constant.element -constant.attlist &= - attribute class { "limit" }?, - common.attrib, - constant.role.attrib, - local.constant.attrib -# end of constant.attlist - -# end of constant.module -local.varname.attrib = empty -varname.role.attrib = role.attrib -varname = element varname { varname.attlist, smallcptr.char.mix* } -# end of varname.element -varname.attlist &= - common.attrib, varname.role.attrib, local.varname.attrib -# end of varname.attlist - -# end of varname.module -local.markup.attrib = empty -markup.role.attrib = role.attrib -markup = element markup { markup.attlist, smallcptr.char.mix* } -# end of markup.element -markup.attlist &= common.attrib, markup.role.attrib, local.markup.attrib -# end of markup.attlist - -# end of markup.module -local.medialabel.attrib = empty -medialabel.role.attrib = role.attrib -medialabel = - element medialabel { medialabel.attlist, smallcptr.char.mix* } -# end of medialabel.element - -# Class: Type of medium named by the element; no default -medialabel.attlist &= - attribute class { "cartridge" | "cdrom" | "disk" | "tape" }?, - common.attrib, - medialabel.role.attrib, - local.medialabel.attrib -# end of medialabel.attlist - -# end of medialabel.module -local.menuchoice.attrib = empty -menuchoice.role.attrib = role.attrib -menuchoice = - element menuchoice { - menuchoice.attlist, - shortcut?, - (guibutton - | guiicon - | guilabel - | guimenu - | guimenuitem - | guisubmenu - | interface)+ - } -# end of menuchoice.element -menuchoice.attlist &= - moreinfo.attrib, - common.attrib, - menuchoice.role.attrib, - local.menuchoice.attrib -# end of menuchoice.attlist - -# end of menuchoice.module - -# See also KeyCombo -local.shortcut.attrib = empty -shortcut.role.attrib = role.attrib -shortcut = - element shortcut { - shortcut.attlist, (keycap | keycombo | keysym | mousebutton)+ - } -# end of shortcut.element -shortcut.attlist &= - keyaction.attrib, - moreinfo.attrib, - common.attrib, - shortcut.role.attrib, - local.shortcut.attrib -# end of shortcut.attlist - -# end of shortcut.module - -# end of menuchoice.content.module -local.mousebutton.attrib = empty -mousebutton.role.attrib = role.attrib -mousebutton = - element mousebutton { mousebutton.attlist, smallcptr.char.mix* } -# end of mousebutton.element -mousebutton.attlist &= - moreinfo.attrib, - common.attrib, - mousebutton.role.attrib, - local.mousebutton.attrib -# end of mousebutton.attlist - -# end of mousebutton.module -local.msgtext.attrib = empty -msgtext.role.attrib = role.attrib -msgtext = element msgtext { msgtext.attlist, component.mix+ } -# end of msgtext.element -msgtext.attlist &= - common.attrib, msgtext.role.attrib, local.msgtext.attrib -# end of msgtext.attlist - -# end of msgtext.module -local.option.attrib = empty -option.role.attrib = role.attrib -option = element option { option.attlist, cptr.char.mix* } -# end of option.element -option.attlist &= common.attrib, option.role.attrib, local.option.attrib -# end of option.attlist - -# end of option.module -local.optional.attrib = empty -optional.role.attrib = role.attrib -optional = element optional { optional.attlist, cptr.char.mix* } -# end of optional.element -optional.attlist &= - common.attrib, optional.role.attrib, local.optional.attrib -# end of optional.attlist - -# end of optional.module -local.parameter.attrib = empty -parameter.role.attrib = role.attrib -parameter = element parameter { parameter.attlist, cptr.char.mix* } -# end of parameter.element - -# Class: Type of the Parameter; no default -parameter.attlist &= - attribute class { "command" | "function" | "option" }?, - moreinfo.attrib, - common.attrib, - parameter.role.attrib, - local.parameter.attrib -# end of parameter.attlist - -# end of parameter.module -local.prompt.attrib = empty -prompt.role.attrib = role.attrib -prompt = element prompt { prompt.attlist, (smallcptr.char.mix | co)* } -# end of prompt.element -prompt.attlist &= - moreinfo.attrib, - common.attrib, - prompt.role.attrib, - local.prompt.attrib -# end of prompt.attlist - -# end of prompt.module -local.property.attrib = empty -property.role.attrib = role.attrib -property = element property { property.attlist, cptr.char.mix* } -# end of property.element -property.attlist &= - moreinfo.attrib, - common.attrib, - property.role.attrib, - local.property.attrib -# end of property.attlist - -# end of property.module -local.replaceable.attrib = empty -replaceable.role.attrib = role.attrib -replaceable = - element replaceable { - replaceable.attlist, - (text - | link.char.class - | optional - | base.char.class - | other.char.class - | inlinegraphic - | inlinemediaobject - | co)* - } -# end of replaceable.element - -# Class: Type of information the element represents; no -# default -replaceable.attlist &= - attribute class { "command" | "function" | "option" | "parameter" }?, - common.attrib, - replaceable.role.attrib, - local.replaceable.attrib -# end of replaceable.attlist - -# end of replaceable.module -local.returnvalue.attrib = empty -returnvalue.role.attrib = role.attrib -returnvalue = - element returnvalue { returnvalue.attlist, smallcptr.char.mix* } -# end of returnvalue.element -returnvalue.attlist &= - common.attrib, returnvalue.role.attrib, local.returnvalue.attrib -# end of returnvalue.attlist - -# end of returnvalue.module -local.sgmltag.attrib = empty -sgmltag.role.attrib = role.attrib -sgmltag = element sgmltag { sgmltag.attlist, smallcptr.char.mix* } -# end of sgmltag.element - -# Class: Type of SGML construct the element names; no default -sgmltag.attlist &= - attribute class { - "attribute" - | "attvalue" - | "element" - | "endtag" - | "emptytag" - | "genentity" - | "numcharref" - | "paramentity" - | "pi" - | "xmlpi" - | "starttag" - | "sgmlcomment" - }?, - common.attrib, - sgmltag.role.attrib, - local.sgmltag.attrib -# end of sgmltag.attlist - -# end of sgmltag.module -local.structfield.attrib = empty -structfield.role.attrib = role.attrib -structfield = - element structfield { structfield.attlist, smallcptr.char.mix* } -# end of structfield.element -structfield.attlist &= - common.attrib, structfield.role.attrib, local.structfield.attrib -# end of structfield.attlist - -# end of structfield.module -local.structname.attrib = empty -structname.role.attrib = role.attrib -structname = - element structname { structname.attlist, smallcptr.char.mix* } -# end of structname.element -structname.attlist &= - common.attrib, structname.role.attrib, local.structname.attrib -# end of structname.attlist - -# end of structname.module -local.symbol.attrib = empty -symbol.role.attrib = role.attrib -symbol = element symbol { symbol.attlist, smallcptr.char.mix* } -# end of symbol.element - -# Class: Type of symbol; no default -symbol.attlist &= - attribute class { "limit" }?, - common.attrib, - symbol.role.attrib, - local.symbol.attrib -# end of symbol.attlist - -# end of symbol.module -local.systemitem.attrib = empty -systemitem.role.attrib = role.attrib -systemitem = - element systemitem { - systemitem.attlist, (cptr.char.mix | acronym | co)* - } -# end of systemitem.element - -# Class: Type of system item the element names; no default -systemitem.attlist &= - attribute class { - "constant" - | "event" - | "eventhandler" - | "domainname" - | "fqdomainname" - | "ipaddress" - | "netmask" - | "etheraddress" - | "groupname" - | "library" - | "macro" - | "osname" - | "filesystem" - | "resource" - | "systemname" - | "username" - | "newsgroup" - }?, - moreinfo.attrib, - common.attrib, - systemitem.role.attrib, - local.systemitem.attrib -# end of systemitem.attlist - -# end of systemitem.module -local.token.attrib = empty -token.role.attrib = role.attrib -\token = element token { token.attlist, smallcptr.char.mix* } -# end of token.element -token.attlist &= common.attrib, token.role.attrib, local.token.attrib -# end of token.attlist - -# end of token.module -local.type.attrib = empty -type.role.attrib = role.attrib -type = element type { type.attlist, smallcptr.char.mix* } -# end of type.element -type.attlist &= common.attrib, type.role.attrib, local.type.attrib -# end of type.attlist - -# end of type.module -local.userinput.attrib = empty -userinput.role.attrib = role.attrib -userinput = - element userinput { userinput.attlist, (cptr.char.mix | co)* } -# end of userinput.element -userinput.attlist &= - moreinfo.attrib, - common.attrib, - userinput.role.attrib, - local.userinput.attrib -# end of userinput.attlist - -# end of userinput.module - -# General words and phrases ............................................ -local.abbrev.attrib = empty -abbrev.role.attrib = role.attrib -abbrev = element abbrev { abbrev.attlist, word.char.mix* } -# end of abbrev.element -abbrev.attlist &= common.attrib, abbrev.role.attrib, local.abbrev.attrib -# end of abbrev.attlist - -# end of abbrev.module -local.acronym.attrib = empty -acronym.role.attrib = role.attrib -acronym = element acronym { acronym.attlist, word.char.mix* } -# end of acronym.element -acronym.attlist &= - common.attrib, acronym.role.attrib, local.acronym.attrib -# end of acronym.attlist - -# end of acronym.module -local.citation.attrib = empty -citation.role.attrib = role.attrib -citation = element citation { citation.attlist, para.char.mix* } -# end of citation.element -citation.attlist &= - common.attrib, citation.role.attrib, local.citation.attrib -# end of citation.attlist - -# end of citation.module -local.citerefentry.attrib = empty -citerefentry.role.attrib = role.attrib -citerefentry = - element citerefentry { - citerefentry.attlist, refentrytitle, manvolnum? - } -# end of citerefentry.element -citerefentry.attlist &= - common.attrib, citerefentry.role.attrib, local.citerefentry.attrib -# end of citerefentry.attlist - -# end of citerefentry.module -local.refentrytitle.attrib = empty -refentrytitle.role.attrib = role.attrib -refentrytitle = - element refentrytitle { refentrytitle.attlist, para.char.mix* } -# end of refentrytitle.element -refentrytitle.attlist &= - common.attrib, refentrytitle.role.attrib, local.refentrytitle.attrib -# end of refentrytitle.attlist - -# end of refentrytitle.module -local.manvolnum.attrib = empty -namvolnum.role.attrib = role.attrib -manvolnum = element manvolnum { manvolnum.attlist, word.char.mix* } -# end of manvolnum.element -manvolnum.attlist &= - common.attrib, namvolnum.role.attrib, local.manvolnum.attrib -# end of manvolnum.attlist - -# end of manvolnum.module -local.citetitle.attrib = empty -citetitle.role.attrib = role.attrib -citetitle = element citetitle { citetitle.attlist, para.char.mix* } -# end of citetitle.element - -# Pubwork: Genre of published work cited; no default -citetitle.attlist &= - attribute pubwork { - "article" - | "book" - | "chapter" - | "part" - | "refentry" - | "section" - | "journal" - | "series" - | "set" - | "manuscript" - }?, - common.attrib, - citetitle.role.attrib, - local.citetitle.attrib -# end of citetitle.attlist - -# end of citetitle.module -local.emphasis.attrib = empty -emphasis.role.attrib = role.attrib -emphasis = element emphasis { emphasis.attlist, para.char.mix* } -# end of emphasis.element -emphasis.attlist &= - common.attrib, emphasis.role.attrib, local.emphasis.attrib -# end of emphasis.attlist - -# end of emphasis.module -local.firstterm.attrib = empty -firstterm.role.attrib = role.attrib -firstterm = element firstterm { firstterm.attlist, word.char.mix* } -# end of firstterm.element - -# to GlossEntry or other explanation -firstterm.attlist &= - linkend.attrib, - common.attrib, - firstterm.role.attrib, - local.firstterm.attrib -# end of firstterm.attlist - -# end of firstterm.module -local.foreignphrase.attrib = empty -foreignphrase.role.attrib = role.attrib -foreignphrase = - element foreignphrase { foreignphrase.attlist, para.char.mix* } -# end of foreignphrase.element -foreignphrase.attlist &= - common.attrib, foreignphrase.role.attrib, local.foreignphrase.attrib -# end of foreignphrase.attlist - -# end of foreignphrase.module -local.glossterm.attrib = empty -glossterm.role.attrib = role.attrib -glossterm = element glossterm { glossterm.attlist, para.char.mix* } -# end of glossterm.element - -# to GlossEntry if Glossterm used in text - -# BaseForm: Provides the form of GlossTerm to be used -# for indexing -glossterm.attlist &= - linkend.attrib, - attribute baseform { text }?, - common.attrib, - glossterm.role.attrib, - local.glossterm.attrib -# end of glossterm.attlist - -# end of glossterm.module -local.phrase.attrib = empty -phrase.role.attrib = role.attrib -phrase = element phrase { phrase.attlist, para.char.mix* } -# end of phrase.element -phrase.attlist &= common.attrib, phrase.role.attrib, local.phrase.attrib -# end of phrase.attlist - -# end of phrase.module -local.quote.attrib = empty -quote.role.attrib = role.attrib -quote = element quote { quote.attlist, para.char.mix* } -# end of quote.element -quote.attlist &= common.attrib, quote.role.attrib, local.quote.attrib -# end of quote.attlist - -# end of quote.module -local.ssscript.attrib = empty -ssscript.role.attrib = role.attrib -subscript = - element subscript { - subscript.attlist, - (text - | link.char.class - | emphasis - | replaceable - | symbol - | inlinegraphic - | inlinemediaobject - | base.char.class - | other.char.class)* - } -# end of subscript.element -subscript.attlist &= - common.attrib, ssscript.role.attrib, local.ssscript.attrib -# end of subscript.attlist -superscript = - element superscript { - superscript.attlist, - (text - | link.char.class - | emphasis - | replaceable - | symbol - | inlinegraphic - | inlinemediaobject - | base.char.class - | other.char.class)* - } -# end of superscript.element -superscript.attlist &= - common.attrib, ssscript.role.attrib, local.ssscript.attrib -# end of superscript.attlist - -# end of ssscript.module -local.trademark.attrib = empty -trademark.role.attrib = role.attrib -trademark = - element trademark { - trademark.attlist, - (text - | link.char.class - | tech.char.class - | base.char.class - | other.char.class - | inlinegraphic - | inlinemediaobject - | emphasis)* - } -# end of trademark.element - -# Class: More precisely identifies the item the element names -trademark.attlist &= - [ a:defaultValue = "trade" ] - attribute class { "service" | "trade" | "registered" | "copyright" }?, - common.attrib, - trademark.role.attrib, - local.trademark.attrib -# end of trademark.attlist - -# end of trademark.module -local.wordasword.attrib = empty -wordasword.role.attrib = role.attrib -wordasword = element wordasword { wordasword.attlist, word.char.mix* } -# end of wordasword.element -wordasword.attlist &= - common.attrib, wordasword.role.attrib, local.wordasword.attrib -# end of wordasword.attlist - -# end of wordasword.module - -# Links and cross-references ........................................... -local.link.attrib = empty -link.role.attrib = role.attrib -link = element link { link.attlist, para.char.mix* } -# end of link.element - -# Endterm: ID of element containing text that is to be -# fetched from elsewhere in the document to appear as -# the content of this element - -# to linked-to object - -# Type: Freely assignable parameter -link.attlist &= - attribute endterm { xsd:IDREF }?, - linkendreq.attrib, - attribute type { text }?, - common.attrib, - link.role.attrib, - local.link.attrib -# end of link.attlist - -# end of link.module -local.olink.attrib = empty -olink.role.attrib = role.attrib -olink = element olink { olink.attlist, para.char.mix* } -# end of olink.element - -# TargetDocEnt: Name of an entity to be the target of the link - -# LinkMode: ID of a ModeSpec containing instructions for -# operating on the entity named by TargetDocEnt - -# LocalInfo: Information that may be passed to ModeSpec - -# Type: Freely assignable parameter -olink.attlist &= - attribute targetdocent { xsd:ENTITY }?, - attribute linkmode { xsd:IDREF }?, - attribute localinfo { text }?, - attribute type { text }?, - attribute targetdoc { text }?, - attribute targetptr { text }?, - common.attrib, - olink.role.attrib, - local.olink.attrib -# end of olink.attlist - -# end of olink.module -local.ulink.attrib = empty -ulink.role.attrib = role.attrib -ulink = element ulink { ulink.attlist, para.char.mix* } -# end of ulink.element - -# URL: uniform resource locator; the target of the ULink - -# Type: Freely assignable parameter -ulink.attlist &= - attribute url { text }, - attribute type { text }?, - common.attrib, - ulink.role.attrib, - local.ulink.attrib -# end of ulink.attlist - -# end of ulink.module -local.footnoteref.attrib = empty -footnoteref.role.attrib = role.attrib -footnoteref = element footnoteref { footnoteref.attlist, empty } -# end of footnoteref.element - -# to footnote content supplied elsewhere -footnoteref.attlist &= - linkendreq.attrib, - label.attrib, - common.attrib, - footnoteref.role.attrib, - local.footnoteref.attrib -# end of footnoteref.attlist - -# end of footnoteref.module -local.xref.attrib = empty -xref.role.attrib = role.attrib -xref = element xref { xref.attlist, empty } -# end of xref.element - -# Endterm: ID of element containing text that is to be -# fetched from elsewhere in the document to appear as -# the content of this element - -# to linked-to object -xref.attlist &= - attribute endterm { xsd:IDREF }?, - linkendreq.attrib, - common.attrib, - xref.role.attrib, - local.xref.attrib -# end of xref.attlist - -# end of xref.module - -# Ubiquitous elements .................................................. -local.anchor.attrib = empty -anchor.role.attrib = role.attrib -anchor = element anchor { anchor.attlist, empty } -# end of anchor.element - -# required - -# replaces Lang -anchor.attlist &= - idreq.attrib, - pagenum.attrib, - remap.attrib, - xreflabel.attrib, - revisionflag.attrib, - effectivity.attrib, - anchor.role.attrib, - local.anchor.attrib -# end of anchor.attlist - -# end of anchor.module -local.beginpage.attrib = empty -beginpage.role.attrib = role.attrib -beginpage = element beginpage { beginpage.attlist, empty } -# end of beginpage.element - -# PageNum: Number of page that begins at this point -beginpage.attlist &= - pagenum.attrib, - common.attrib, - beginpage.role.attrib, - local.beginpage.attrib -# end of beginpage.attlist - -# end of beginpage.module - -# IndexTerms appear in the text flow for generating or linking an -# index. -local.indexterm.attrib = empty -indexterm.role.attrib = role.attrib -indexterm = - element indexterm { - indexterm.attlist, - primary?, - ((secondary, - ((tertiary, (see | seealso+)?) - | see - | seealso+)?) - | see - | seealso+)? - } -# end of indexterm.element - -# Scope: Indicates which generated indices the IndexTerm -# should appear in: Global (whole document set), Local (this -# document only), or All (both) - -# Significance: Whether this IndexTerm is the most pertinent -# of its series (Preferred) or not (Normal, the default) - -# Class: Indicates type of IndexTerm; default is Singular, -# or EndOfRange if StartRef is supplied; StartOfRange value -# must be supplied explicitly on starts of ranges - -# StartRef: ID of the IndexTerm that starts the indexing -# range ended by this IndexTerm - -# Zone: IDs of the elements to which the IndexTerm applies, -# and indicates that the IndexTerm applies to those entire -# elements rather than the point at which the IndexTerm -# occurs -indexterm.attlist &= - pagenum.attrib, - attribute scope { "all" | "global" | "local" }?, - [ a:defaultValue = "normal" ] - attribute significance { "preferred" | "normal" }?, - attribute class { "singular" | "startofrange" | "endofrange" }?, - attribute startref { xsd:IDREF }?, - attribute zone { xsd:IDREFS }?, - common.attrib, - indexterm.role.attrib, - local.indexterm.attrib -# end of indexterm.attlist - -# end of indexterm.module -local.primsecter.attrib = empty -primsecter.role.attrib = role.attrib -primary = element primary { primary.attlist, ndxterm.char.mix* } -# end of primary.element - -# SortAs: Alternate sort string for index sorting, e.g., -# "fourteen" for an element containing "14" -primary.attlist &= - attribute sortas { text }?, - common.attrib, - primsecter.role.attrib, - local.primsecter.attrib -# end of primary.attlist -secondary = element secondary { secondary.attlist, ndxterm.char.mix* } -# end of secondary.element - -# SortAs: Alternate sort string for index sorting, e.g., -# "fourteen" for an element containing "14" -secondary.attlist &= - attribute sortas { text }?, - common.attrib, - primsecter.role.attrib, - local.primsecter.attrib -# end of secondary.attlist -tertiary = element tertiary { tertiary.attlist, ndxterm.char.mix* } -# end of tertiary.element - -# SortAs: Alternate sort string for index sorting, e.g., -# "fourteen" for an element containing "14" -tertiary.attlist &= - attribute sortas { text }?, - common.attrib, - primsecter.role.attrib, - local.primsecter.attrib -# end of tertiary.attlist - -# end of primsecter.module -local.seeseealso.attrib = empty -seeseealso.role.attrib = role.attrib -see = element see { see.attlist, ndxterm.char.mix* } -# end of see.element -see.attlist &= - common.attrib, seeseealso.role.attrib, local.seeseealso.attrib -# end of see.attlist -seealso = element seealso { seealso.attlist, ndxterm.char.mix* } -# end of seealso.element -seealso.attlist &= - common.attrib, seeseealso.role.attrib, local.seeseealso.attrib -# end of seealso.attlist - -# end of seeseealso.module - -# end of indexterm.content.module - -# End of DocBook XML information pool module V4.2 ...................... - -# ...................................................................... diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbsoextbl.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbsoextbl.rnc deleted file mode 100644 index a547586ca1..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbsoextbl.rnc +++ /dev/null @@ -1,30 +0,0 @@ -# Definitions specific to the OASIS XML Exchange Table Model. - -# Reference OASIS Exchange Table Model -include "soextbl.rnc" { - # Override definition of start - start |= notAllowed - # Add common attributes and the Label attribute to Table and - # InformalTable. - bodyatt = common.attrib, label.attrib, tables.role.attrib - # Add common attributes to TGroup, ColSpec, TBody, THead, Row, Entry - tbl.tgroup.att = common.attrib - tbl.colspec.att = common.attrib - tbl.tbody.att = common.attrib - tbl.thead.att = common.attrib - tbl.row.att = common.attrib - tbl.entry.att = common.attrib - # Content model for Table. - tbl.table.mdl = - blockinfo?, - formalobject.title.content, - ndxterm.class*, - textobject*, - (graphic+ | mediaobject+ | tgroup+) - # Allow either objects or inlines; beware of REs between elements. - tbl.entry.mdl = (para.char.mix | tabentry.mix)* -} - -common.table.attribs = bodyatt - -# end of table.module diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbstart.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbstart.rnc deleted file mode 100644 index 284f9b5b5a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/dbstart.rnc +++ /dev/null @@ -1,23 +0,0 @@ -# This choice of root elements comes from the 1.0b1 RNG schema at -# http://www.oasis-open.org/docbook/relaxng/1.0b1/index.shtml - -start = - set - | setindex - | book - | part - | reference - | preface - | chapter - | appendix - | article - | bibliography - | glossary - | index - | refentry - | sect1 - | sect2 - | sect3 - | sect4 - | sect5 - | section diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/docbook-dyntbl.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/docbook-dyntbl.rnc deleted file mode 100644 index 9bb997ff73..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/docbook-dyntbl.rnc +++ /dev/null @@ -1,18 +0,0 @@ -# Variant of docbook.rnc that allows the table model to be selected -# dynamically based on the definitions of cals.table.module and -# exchange.table.module. See dbdyntbl.rnc. - -# Document (root) elements -include "dbstart.rnc" - -# Notation declarations -include "dbnotn.rnc" - -# Information pool -include "dbpool.rnc" - -# Dynamic Table Model -include "dbdyntbl.rnc" - -# Document hierarchy -include "dbhier.rnc" diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/docbook-soextbl.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/docbook-soextbl.rnc deleted file mode 100644 index 945a6219db..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/docbook-soextbl.rnc +++ /dev/null @@ -1,17 +0,0 @@ -# Variant of docbook.rnc that uses the OASIS XML Exchange Table Model -# rather than the CALS Table Model. - -# Document (root) elements -include "dbstart.rnc" - -# Notation declarations -include "dbnotn.rnc" - -# Information pool -include "dbpool.rnc" - -# OASIS XML Exchange Table Model -include "dbsoextbl.rnc" - -# Document hierarchy -include "dbhier.rnc" diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/docbook.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/docbook.rnc deleted file mode 100644 index d10f614b28..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/docbook.rnc +++ /dev/null @@ -1,48 +0,0 @@ -# Unofficial DocBook RELAX NG Compact Syntax schema - -# This file was generated automatically by Trang -# (http://www.thaiopensource.com/relaxng/trang.html) from the DocBook -# XML DTD V4.2 (http://www.oasis-open.org/docbook/xml/4.2/), then -# changing the definition of start, changing the filenames, -# editing the comments and adding includes of dbstart.rnc -# and dbcalstbl.rnc. - -# The following copyright applies to the DocBook XML DTD V4.2. - -# Copyright 1992-2002 HaL Computer Systems, Inc., -# O'Reilly & Associates, Inc., ArborText, Inc., Fujitsu Software -# Corporation, Norman Walsh, Sun Microsystems, Inc., and the -# Organization for the Advancement of Structured Information -# Standards (OASIS). -# -# Permission to use, copy, modify and distribute the DocBook XML DTD -# and its accompanying documentation for any purpose and without fee -# is hereby granted in perpetuity, provided that the above copyright -# notice and this paragraph appear in all copies. The copyright -# holders make no representation about the suitability of the DTD for -# any purpose. It is provided "as is" without expressed or implied -# warranty. -# -# If you modify the DocBook DTD in any way, except for declaring and -# referencing additional sets of general entities and declaring -# additional notations, label your DTD as a variant of DocBook. See -# the maintenance documentation for more information. -# -# Please direct all questions, bug reports, or suggestions for -# changes to the docbook@lists.oasis-open.org mailing list. For more -# information, see http://www.oasis-open.org/docbook/. - -# Document (root) elements -include "dbstart.rnc" - -# Notation declarations -include "dbnotn.rnc" - -# Information pool -include "dbpool.rnc" - -# CALS Table Model -include "dbcalstbl.rnc" - -# Document hierarchy -include "dbhier.rnc" diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/locate.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/locate.rnc deleted file mode 100644 index 89230adf9c..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/locate.rnc +++ /dev/null @@ -1,200 +0,0 @@ -default namespace this = "http://thaiopensource.com/ns/locating-rules/1.0" -namespace local = "" - -start = locatingRules - -locatingRules = element locatingRules { common, rule* } - -rule = - \include - # | group - | applyFollowingRules - | documentElement - # | doctypePublicId - | \namespace - | uri - | transformURI - # | typeIdProcessingInstruction - | \default - | typeId - # | typeIdBase - | extensionRule - -## Group of rules. Useful with xml:base. -group = element group { common, rule* } - -\include = - element include { - common, - attribute rules { xsd:anyURI } - } - -applyFollowingRules = - element applyFollowingRules { - common, - attribute ruleType { - "documentElement" - | "doctypePublicId" - | "namespace" - | "uri" - | "transformURI" - | "typeIdProcessingInstruction" - | "default" - } - } - -documentElement = - ## Matches if the prefix and/or local name of document element - ## match the values of the prefix and localName attributes. - element documentElement { - common, - nameAtts, - targetAtt - } - -## If there's no prefix attribute, then only the local name must match. -## If there's no local name attribute, then only the prefix must match. -nameAtts = (prefixAtt, localNameAtt?) | localNameAtt - -## prefix="" matches if the document element has no prefix. -prefixAtt = attribute prefix { (xsd:NCName - "xmlns") | "" } -localNameAtt = attribute localName { xsd:NCName - "xmlns" } - -doctypePublicId = - ## Matches if the document has a DOCTYPE declaration with a public - ## identifier that, after normalization, matches the value of the - ## publicId attribute. - element doctypePublicId { - common, - attribute publicId { publicIdValue }, - targetAtt - } - -publicIdValue = - xsd:token { - ## Newline and tab are excluded, because pattern applies to - ## the post-normalization value. - pattern = "[\-'()+,./:=?;!*#@$_%a-zA-Z0-9 ]*" - } - -# This is separate from documentElement so it can be distinguished -# by applyFollowingRules. -\namespace = - ## Matches if the document element has a namespace URI equal to the value - ## of the ns attribute. A document element with no namespace matches if - ## the value of the ns attribute is the empty string. - element namespace { - common, - attribute ns { xsd:string }, - targetAtt - } - -uri = - ## Matches based on the URI of the document. - element uri { - common, - (resourceAtt | patternAtt), - targetAtt - } - -## Matches if it can be determined that the document resource is -## the same resource as that identified by the value of the resource -## attribute. In determining this, the implementation should apply -## the semantics of the URI scheme used by the URI. -resourceAtt = attribute resource { xsd:anyURI } - -## Matches if the document's URI matches the pattern specified -## by the pattern attribute. A * in the path component matches -## zero or more characters other than / (after resolving escapes). -## If the pattern is a relative URI, it means that there must -## be some URI such that when the pattern is resolved relative -## to that URI, it matches the document's URI. Thus an empty -## pattern will always match. -patternAtt = attribute pattern { uriPattern } - -## A pattern for a URI. Same syntax as a URI, except that a * in -## the path component has a special meaning. -uriPattern = xsd:anyURI - -transformURI = - ## Generates a URI for the related resource by transforming - ## the URI of the document. Matches if the transformation - ## yields a valid URI that identifies an existing resource. - element transformURI { - common, - ## Semantics are the same as the pattern attribute of the uri element. - attribute fromPattern { uriPattern }, - ## The result of the transformation is produced from the toPattern - ## by replacing each * by the string that matched the corresponding - ## * in the toPattern. The toPattern is appended to the initial - ## part of the document's URI that was not explicitly matched - ## by fromPattern. - attribute toPattern { uriPattern } - } - -\default = - ## Always matches. - element default { - common, - targetAtt - } - -## A document can be mapped onto a URI either indirectly via a typeId -## or directly. -targetAtt = uriAtt | typeIdAtt - -## Specifies the URI of the related resource. -## xml:base is used if it's relative. -uriAtt = attribute uri { xsd:anyURI } - -## Specifies an identifier of the type of document. typeId and -## typeIdBase rules will be used to map this to a URI. -typeIdAtt = attribute typeId { typeIdValue } - -## A type identifier can be anything convenient (e.g. a public identifier, -## a URL or just a string with no formal structure). Whitespace is -## normalized like a public identifier before comparing type identifiers -## for equality. -typeIdValue = xsd:token - -typeIdProcessingInstruction = - ## Matches if there's a processing instruction in the prolog - ## before any DOCTYPE declaration whose target is the value of - ## the target attribute. The value of the processing instruction - ## is interpreted as a typeId, which will be mapped to a - ## URI as normal. - element typeIdProcessingInstruction { - common, - attribute target { xsd:NCName } - } - -typeId = - ## Maps a typeId onto a URI. - element typeId { - common, - attribute id { typeIdValue }, - targetAtt - } - -typeIdBase = - ## Used to map a typeId onto a URI. First, any URI reserved characters - ## are URI encoded. If the append attribute is specified, it is appended. - ## This is then treated as a URI. If relative, it is resolved using - ## the applicable base URI as usual. If the resulting URI identifies - ## an existing resource, then the typeId is mapped to this resource. - ## This is intended to be useful with file URIs. - element typeIdBase { - common, - attribute append { xsd:string }? - } - -extensionRule = - element * - this:* { - attribute * { text }*, (text|anyElement)* - } - -anyElement = element * { attribute * { text }*, (text|anyElement)* } - -common = - # attribute xml:base { xsd:anyURI }?, - attribute * - (xml:base|this:*|local:*) { text }* diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/rdfxml.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/rdfxml.rnc deleted file mode 100644 index 9730322cfd..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/rdfxml.rnc +++ /dev/null @@ -1,205 +0,0 @@ -# -# RELAX NG Compact Schema for RDF/XML Syntax -# -# This schema is for information only and NON-NORMATIVE -# -# It is based on one originally written by James Clark in -# http://lists.w3.org/Archives/Public/www-rdf-comments/2001JulSep/0248.html -# and updated with later changes. -# - -namespace local = "" -namespace rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" -datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" - - -start = doc - - -# I cannot seem to do this in RNGC so they are expanded in-line - -# coreSyntaxTerms = rdf:RDF | rdf:ID | rdf:about | rdf:parseType | rdf:resource | rdf:nodeID | rdf:datatype -# syntaxTerms = coreSyntaxTerms | rdf:Description | rdf:li -# oldTerms = rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID -# nodeElementURIs = * - ( coreSyntaxTerms | rdf:li | oldTerms ) -# propertyElementURIs = * - ( coreSyntaxTerms | rdf:Description | oldTerms ) -# propertyAttributeURIs = * - ( coreSyntaxTerms | rdf:Description | rdf:li | oldTerms ) - -# Also needed to allow rdf:li on all property element productions -# since we can't capture the rdf:li rewriting to rdf_ in relaxng - -# Need to add these explicitly -xmllang = attribute xml:lang { text } -xmlbase = attribute xml:base { text } -# and to forbid every other xml:* attribute, element - -doc = - RDF - -RDF = - element rdf:RDF { - xmllang?, xmlbase?, nodeElementList -} - -nodeElementList = - nodeElement* - - # Should be something like: - # ws* , ( nodeElement , ws* )* - # but RELAXNG does this by default, ignoring whitespace separating tags. - -nodeElement = - element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | - rdf:resource | rdf:nodeID | rdf:datatype | rdf:li | - rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID ) { - (idAttr | nodeIdAttr | aboutAttr )?, xmllang?, xmlbase?, propertyAttr*, propertyEltList - } - - # It is not possible to say "and not things - # beginning with _ in the rdf: namespace" in RELAX NG. - -ws = - " " - - # Not used in this RELAX NG schema; but should be any legal XML - # whitespace defined by http://www.w3.org/TR/2000/REC-xml-20001006#NT-S - - -propertyEltList = - propertyElt* - - # Should be something like: - # ws* , ( propertyElt , ws* )* - # but RELAXNG does this by default, ignoring whitespace separating tags. - -propertyElt = - resourcePropertyElt | - literalPropertyElt | - parseTypeLiteralPropertyElt | - parseTypeResourcePropertyElt | - parseTypeCollectionPropertyElt | - parseTypeOtherPropertyElt | - emptyPropertyElt - -resourcePropertyElt = - element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | - rdf:resource | rdf:nodeID | rdf:datatype | - rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | - xml:* ) { - idAttr?, xmllang?, xmlbase?, nodeElement - } - -literalPropertyElt = - element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | - rdf:resource | rdf:nodeID | rdf:datatype | - rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | - xml:* ) { - (idAttr | datatypeAttr )?, xmllang?, xmlbase?, text - } - -parseTypeLiteralPropertyElt = - element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | - rdf:resource | rdf:nodeID | rdf:datatype | - rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | - xml:* ) { - idAttr?, parseLiteral, xmllang?, xmlbase?, literal - } - -parseTypeResourcePropertyElt = - element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | - rdf:resource | rdf:nodeID | rdf:datatype | - rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | - xml:* ) { - idAttr?, parseResource, xmllang?, xmlbase?, propertyEltList - } - -parseTypeCollectionPropertyElt = - element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | - rdf:resource | rdf:nodeID | rdf:datatype | - rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | - xml:* ) { - idAttr?, xmllang?, xmlbase?, parseCollection, nodeElementList - } - -parseTypeOtherPropertyElt = - element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | - rdf:resource | rdf:nodeID | rdf:datatype | - rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | - xml:* ) { - idAttr?, xmllang?, xmlbase?, parseOther, any - } - -emptyPropertyElt = - element * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | - rdf:resource | rdf:nodeID | rdf:datatype | - rdf:Description | rdf:aboutEach | rdf:aboutEachPrefix | rdf:bagID | - xml:* ) { - idAttr?, (resourceAttr | nodeIdAttr)?, xmllang?, xmlbase?, propertyAttr* - } - -idAttr = - attribute rdf:ID { - IDsymbol - } - -nodeIdAttr = - attribute rdf:nodeID { - IDsymbol - } - -aboutAttr = - attribute rdf:about { - URI-reference - } - -propertyAttr = - attribute * - ( local:* | rdf:RDF | rdf:ID | rdf:about | rdf:parseType | - rdf:resource | rdf:nodeID | rdf:datatype | rdf:li | - rdf:Description | rdf:aboutEach | - rdf:aboutEachPrefix | rdf:bagID | - xml:* ) { - string - } - -resourceAttr = - attribute rdf:resource { - URI-reference - } - -datatypeAttr = - attribute rdf:datatype { - URI-reference - } - -parseLiteral = - attribute rdf:parseType { - "Literal" - } - -parseResource = - attribute rdf:parseType { - "Resource" - } - -parseCollection = - attribute rdf:parseType { - "Collection" - } - -parseOther = - attribute rdf:parseType { - text - } - -URI-reference = - string - -literal = - any - -IDsymbol = - xsd:NMTOKEN - -any = - mixed { element * { attribute * { text }*, any }* } - diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/relaxng.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/relaxng.rnc deleted file mode 100644 index 08686ac559..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/relaxng.rnc +++ /dev/null @@ -1,63 +0,0 @@ -# RELAX NG XML syntax expressed in RELAX NG Compact syntax. - -default namespace rng = "http://relaxng.org/ns/structure/1.0" -namespace local = "" -datatypes xsd = "http://www.w3.org/2001/XMLSchema-datatypes" - -start = pattern - -pattern = - element element { (nameQName | nameClass), (common & pattern+) } - | element attribute { (nameQName | nameClass), (common & pattern?) } - | element group|interleave|choice|optional - |zeroOrMore|oneOrMore|list|mixed { common & pattern+ } - | element ref|parentRef { nameNCName, common } - | element empty|notAllowed|text { common } - | element data { type, param*, (common & exceptPattern?) } - | element value { commonAttributes, type?, xsd:string } - | element externalRef { href, common } - | element grammar { common & grammarContent* } - -param = element param { commonAttributes, nameNCName, xsd:string } - -exceptPattern = element except { common & pattern+ } - -grammarContent = - definition - | element div { common & grammarContent* } - | element include { href, (common & includeContent*) } - -includeContent = - definition - | element div { common & includeContent* } - -definition = - element start { combine?, (common & pattern+) } - | element define { nameNCName, combine?, (common & pattern+) } - -combine = attribute combine { "choice" | "interleave" } - -nameClass = - element name { commonAttributes, xsd:QName } - | element anyName { common & exceptNameClass? } - | element nsName { common & exceptNameClass? } - | element choice { common & nameClass+ } - -exceptNameClass = element except { common & nameClass+ } - -nameQName = attribute name { xsd:QName } -nameNCName = attribute name { xsd:NCName } -href = attribute href { xsd:anyURI } -type = attribute type { xsd:NCName } - -common = commonAttributes, foreignElement* - -commonAttributes = - attribute ns { xsd:string }?, - attribute datatypeLibrary { xsd:anyURI }?, - foreignAttribute* - -foreignElement = element * - rng:* { (anyAttribute | text | anyElement)* } -foreignAttribute = attribute * - (rng:*|local:*) { text } -anyElement = element * { (anyAttribute | text | anyElement)* } -anyAttribute = attribute * { text } diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/schemas.xml b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/schemas.xml deleted file mode 100644 index e17b063f6f..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/schemas.xml +++ /dev/null @@ -1,36 +0,0 @@ - - diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/soextbl.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/soextbl.rnc deleted file mode 100644 index 2e69127b4a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/soextbl.rnc +++ /dev/null @@ -1,260 +0,0 @@ -# XML EXCHANGE TABLE MODEL DECLARATION MODULE - -# This set of declarations defines the XML version of the Exchange -# Table Model as of the date shown in the Formal Public Identifier -# (FPI) for this entity. -# -# This set of declarations may be referred to using a public external -# entity declaration and reference as shown in the following three -# lines: -# -# -# %calstblx; -# -# If various parameter entities used within this set of declarations -# are to be given non-default values, the appropriate declarations -# should be given before calling in this package (i.e., before the -# "%calstblx;" reference). - -# The motivation for this XML version of the Exchange Table Model -# is simply to create an XML version of the SGML Exchange Table -# Model. By design, no effort has been made to "improve" the model. -# -# This XML version incorporates the logical bare minimum changes -# necessary to make the Exchange Table Model a valid XML DTD. - -# The XML version of the Exchange Table Model differs from -# the SGML version in the following ways: -# -# The following parameter entities have been removed: -# -# - tbl.table.excep, tbl.hdft.excep, tbl.row.excep, tbl.entry.excep -# There are no exceptions in XML. The following normative statement -# is made in lieu of exceptions: the exchange table model explicitly -# forbids a table from occurring within another table. If the -# content model of an entry includes a table element, then this -# cannot be enforced by the DTD, but it is a deviation from the -# exchange table model to include a table within a table. -# -# - tbl.hdft.name, tbl.hdft.mdl, tbl.hdft.excep, tbl.hdft.att -# The motivation for these elements was to change the table -# header/footer elements. Since XML does not allow element declarations -# to contain name groups, and the exchange table model does not -# allow a table to contain footers, the continued presence of these -# attributes seems unnecessary. -# -# The following parameter entity has been added: -# -# - tbl.thead.att -# This entity parameterizes the attributes on thead. It replaces -# the tbl.hdft.att parameter entity. -# -# Other miscellaneous changes: -# -# - Tag ommission indicators have been removed -# - Comments have been removed from declarations -# - NUMBER attributes have been changed to NMTOKEN -# - NUTOKEN attributes have been to changed to NMTOKEN -# - Removed the grouping characters around the content model -# parameter entry for the 'entry' element. This is necessary -# so that an entry can contain #PCDATA and be defined as an -# optional, repeatable OR group beginning with #PCDATA. - -# This entity includes a set of element and attribute declarations -# that partially defines the Exchange table model. However, the model -# is not well-defined without the accompanying natural language -# description of the semantics (meanings) of these various elements, -# attributes, and attribute values. The semantic writeup, also available -# from SGML Open, should be used in conjunction with this entity. - -# In order to use the Exchange table model, various parameter entity -# declarations are required. A brief description is as follows: -# -# ENTITY NAME WHERE USED WHAT IT IS -# -# %yesorno In ATTLIST of: An attribute declared value -# almost all elements for a "boolean" attribute -# -# %paracon In content model of: The "text" (logical content) -#- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - of the model group for -# -# %titles In content model of: The "title" part of the model -# table element group for the table element -# -# %tbl.table.name In declaration of: The name of the "table" -# table element element -# -# %tbl.table-titles.mdl In content model of: The model group for the title -# table elements part of the content model for -# table element -# -# %tbl.table.mdl In content model of: The model group for the content -# table elements model for table element, -# often (and by default) defined -# in terms of %tbl.table-titles.mdl -# and tgroup -# -# %tbl.table.att In ATTLIST of: Additional attributes on the -# table element table element -# -# %bodyatt In ATTLIST of: Additional attributes on the -# table element table element (for backward -# compatibility with the SGML -# model) -# -# %tbl.tgroup.mdl In content model of: The model group for the content -# model for -# -# %tbl.tgroup.att In ATTLIST of: Additional attributes on the -# element -# -# %tbl.thead.att In ATTLIST of: Additional attributes on the -# element -# -# %tbl.tbody.att In ATTLIST of: Additional attributes on the -# element -# -# %tbl.colspec.att In ATTLIST of: Additional attributes on the -# element -# -# %tbl.row.mdl In content model of: The model group for the content -# model for
-# -# %tbl.row.att In ATTLIST of: Additional attributes on the -#
|
element -# -# %tbl.entry.mdl In content model of: The model group for the content -#
model for -# -# %tbl.entry.att In ATTLIST of: Additional attributes on the -# element -# -# This set of declarations will use the default definitions shown below -# for any of these parameter entities that are not declared before this -# set of declarations is referenced. - -# These definitions are not directly related to the table model, but are -# used in the default CALS table model and may be defined elsewhere (and -# prior to the inclusion of this table module) in the referencing DTD. - -yesorno = xsd:NMTOKEN -# no if zero(s), yes if any other value -pcd = text -paracon = pcd -# default for use in entry content - -# The parameter entities as defined below change and simplify the CALS table -# model as published (as part of the Example DTD) in MIL-HDBK-28001. The -# resulting simplified DTD has support from the SGML Open vendors and is -# therefore more interoperable among different systems. -# -# These following declarations provide the Exchange default definitions -# for these entities. However, these entities can be redefined (by giving -# the appropriate parameter entity declaration(s) prior to the reference -# to this Table Model declaration set entity) to fit the needs of the -# current application. -# -# Note, however, that changes may have significant effect on the ability to -# interchange table information. These changes may manifest themselves -# in useability, presentation, and possible structure information degradation. -tbl.table-titles.mdl = title -tbl.table-main.mdl = tgroup+ -tbl.table.mdl = tbl.table-titles.mdl | tbl.table-main.mdl -tbl.table.att = attribute pgwide { yesorno }? -bodyatt = empty -tbl.tgroup.mdl = colspec*, thead?, tbody -tbl.tgroup.att = empty -tbl.thead.att = empty -tbl.tbody.att = empty -tbl.colspec.att = empty -tbl.row.mdl = entry+ -tbl.row.att = empty -tbl.entry.mdl = paracon* -tbl.entry.att = empty -# ===== Element and attribute declarations follow. ===== - -# Default declarations previously defined in this entity and -# referenced below include: -# ENTITY % tbl.table.name "table" -# ENTITY % tbl.table-titles.mdl "%titles;," -# ENTITY % tbl.table.mdl "%tbl.table-titles; tgroup+" -# ENTITY % tbl.table.att " -# pgwide %yesorno; #IMPLIED " -table = element table { table.attlist, tbl.table.mdl } -table.attlist &= - attribute frame { - "top" | "bottom" | "topbot" | "all" | "sides" | "none" - }?, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - tbl.table.att, - bodyatt -# Default declarations previously defined in this entity and -# referenced below include: -# ENTITY % tbl.tgroup.mdl "colspec*,thead?,tbody" -# ENTITY % tbl.tgroup.att "" -tgroup = element tgroup { tgroup.attlist, tbl.tgroup.mdl } -tgroup.attlist &= - attribute cols { xsd:NMTOKEN }, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - attribute align { "left" | "right" | "center" | "justify" | "char" }?, - tbl.tgroup.att -# Default declarations previously defined in this entity and -# referenced below include: -# ENTITY % tbl.colspec.att "" -colspec = element colspec { colspec.attlist, empty } -colspec.attlist &= - attribute colnum { xsd:NMTOKEN }?, - attribute colname { xsd:NMTOKEN }?, - attribute colwidth { text }?, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - attribute align { "left" | "right" | "center" | "justify" | "char" }?, - attribute char { text }?, - attribute charoff { xsd:NMTOKEN }?, - tbl.colspec.att -# Default declarations previously defined in this entity and -# referenced below include: -# ENTITY % tbl.thead.att "" -thead = element thead { thead.attlist, row+ } -thead.attlist &= - attribute valign { "top" | "middle" | "bottom" }?, - tbl.thead.att -# Default declarations previously defined in this entity and -# referenced below include: -# ENTITY % tbl.tbody.att "" -tbody = element tbody { tbody.attlist, row+ } -tbody.attlist &= - attribute valign { "top" | "middle" | "bottom" }?, - tbl.tbody.att -# Default declarations previously defined in this entity and -# referenced below include: -# ENTITY % tbl.row.mdl "entry+" -# ENTITY % tbl.row.att "" -row = element row { row.attlist, tbl.row.mdl } -row.attlist &= - attribute rowsep { yesorno }?, - attribute valign { "top" | "middle" | "bottom" }?, - tbl.row.att -# Default declarations previously defined in this entity and -# referenced below include: -# ENTITY % paracon "#PCDATA" -# ENTITY % tbl.entry.mdl "(%paracon;)*" -# ENTITY % tbl.entry.att "" -entry = element entry { entry.attlist, tbl.entry.mdl } -entry.attlist &= - attribute colname { xsd:NMTOKEN }?, - attribute namest { xsd:NMTOKEN }?, - attribute nameend { xsd:NMTOKEN }?, - attribute morerows { xsd:NMTOKEN }?, - attribute colsep { yesorno }?, - attribute rowsep { yesorno }?, - attribute align { "left" | "right" | "center" | "justify" | "char" }?, - attribute char { text }?, - attribute charoff { xsd:NMTOKEN }?, - attribute valign { "top" | "middle" | "bottom" }?, - tbl.entry.att -title |= notAllowed -start = table diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-applet.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-applet.rnc deleted file mode 100644 index 115f1cbda7..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-applet.rnc +++ /dev/null @@ -1,19 +0,0 @@ -# Applet Module - -applet = - element applet { - applet.attlist, - # No restrictions on mixed content in TREX. - param*, - Flow.model - } -applet.attlist = - Core.attrib, - attribute alt { Text.datatype }, - attribute archive { text }?, - attribute code { text }?, - attribute codebase { URI.datatype }?, - attribute object { text }?, - attribute height { Length.datatype }, - attribute width { Length.datatype } -Inline.class |= applet diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-attribs.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-attribs.rnc deleted file mode 100644 index ef653c70db..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-attribs.rnc +++ /dev/null @@ -1,14 +0,0 @@ -# Common Attributes Module - -id.attrib = attribute id { ID.datatype }? -class.attrib = attribute class { NMTOKENS.datatype }? -title.attrib = attribute title { Text.datatype }? -Core.attrib = id.attrib, class.attrib, title.attrib -lang.attrib = attribute xml:lang { LanguageCode.datatype }? -I18n.attrib = lang.attrib -Common.attrib = Core.attrib, I18n.attrib -CommonIdRequired.attrib = - attribute id { ID.datatype }, - class.attrib, - title.attrib, - I18n.attrib diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-base.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-base.rnc deleted file mode 100644 index 154dfce1c5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-base.rnc +++ /dev/null @@ -1,5 +0,0 @@ -# Base Module - -base = element base { base.attlist } -base.attlist = attribute href { URI.datatype } -head.content &= base? diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-basic-form.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-basic-form.rnc deleted file mode 100644 index 71440bc24d..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-basic-form.rnc +++ /dev/null @@ -1,64 +0,0 @@ -# Simplified Forms Module - -form = - element form { - form.attlist, - # Don't use Block.model, because this gets redefined by the - # legacy module. - Block.class+ - } -form.attlist = - Common.attrib, - attribute action { URI.datatype }, - attribute method { "get" | "post" }?, - attribute enctype { ContentType.datatype }? -label = element label { label.attlist, Inline.model } -label.attlist = - Common.attrib, - attribute for { IDREF.datatype }?, - attribute accesskey { Character.datatype }? -input = element input { input.attlist } -input.attlist = - Common.attrib, - attribute type { InputType.class }?, - attribute name { text }?, - attribute value { text }?, - attribute checked { "checked" }?, - attribute size { text }?, - attribute maxlength { Number.datatype }?, - attribute src { URI.datatype }?, - attribute accesskey { Character.datatype }? -InputType.class = - "text" - | "password" - | "checkbox" - | "radio" - | "submit" - | "reset" - | "hidden" - | "file" -select = element select { select.attlist, option+ } -select.attlist = - Common.attrib, - attribute name { text }?, - attribute size { Number.datatype }?, - attribute multiple { "multiple" }? -option = - element option { - Common.attrib, - attribute selected { "selected" }?, - attribute value { text }?, - text - } -textarea = element textarea { textarea.attlist } -textarea.attlist = - Common.attrib, - attribute name { text }?, - attribute rows { Number.datatype }, - attribute cols { Number.datatype }, - attribute accesskey { Character.datatype }?, - text -Form.class = form -Formctrl.class = input | label | select | textarea -Block.class |= Form.class -Inline.class |= Formctrl.class diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-basic-table.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-basic-table.rnc deleted file mode 100644 index 97e10a5674..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-basic-table.rnc +++ /dev/null @@ -1,28 +0,0 @@ -# Basic Tables Module - -table = element table { table.attlist, caption?, tr+ } -table.attlist = - Common.attrib, - attribute summary { Text.datatype }? -caption = element caption { caption.attlist, Inline.model } -caption.attlist = Common.attrib -tr = element tr { tr.attlist, (th | td)+ } -tr.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib -th = element th { th.attlist, Flow.model } -th.attlist = Cell.attrib -td = element td { td.attlist, Flow.model } -td.attlist = Cell.attrib -Cell.attrib = - Common.attrib, - attribute abbr { Text.datatype }?, - attribute axis { text }?, - attribute headers { IDREFS.datatype }?, - scope.attrib, - attribute rowspan { Number.datatype }?, - attribute colspan { Number.datatype }?, - CellHAlign.attrib, - CellVAlign.attrib -CellHAlign.attrib = attribute align { "left" | "center" | "right" }? -CellVAlign.attrib = attribute valign { "top" | "middle" | "bottom" }? -scope.attrib = attribute scope { "row" | "col" }? -Block.class |= table diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-bdo.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-bdo.rnc deleted file mode 100644 index 5658be36ec..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-bdo.rnc +++ /dev/null @@ -1,7 +0,0 @@ -# Bi-directional Module - -bdo = element bdo { bdo.attlist, Inline.model } -bdo.attlist = Core.attrib, lang.attrib, dir.attrib -dir.attrib = attribute dir { "ltr" | "rtl" } -I18n.attrib &= dir.attrib? -Inline.class |= bdo diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-csismap.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-csismap.rnc deleted file mode 100644 index abd51f1a44..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-csismap.rnc +++ /dev/null @@ -1,29 +0,0 @@ -# Client-side Image Map Module - -area = element area { area.attlist } -area.attlist = - Common.attrib, - attribute href { URI.datatype }?, - shape.attrib, - coords.attrib, - attribute nohref { "nohref" }?, - attribute alt { Text.datatype }, - attribute tabindex { Number.datatype }?, - attribute accesskey { Character.datatype }? -map = - element map { - map.attlist, - (# This does not use Block.mix - # because loose.dtd doesn't use %Flow; - Block.class - | area)+ - } -map.attlist = CommonIdRequired.attrib -a.attlist &= shape.attrib, coords.attrib -img.attlist &= usemap.attlist -object.attlist &= usemap.attlist -usemap.attlist = attribute usemap { IDREF.datatype }? -shape.attrib = - attribute shape { "rect" | "circle" | "poly" | "default" }? -coords.attrib = attribute coords { text }? -Inline.class |= map diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-datatypes.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-datatypes.rnc deleted file mode 100644 index 596598039d..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-datatypes.rnc +++ /dev/null @@ -1,47 +0,0 @@ -# Datatypes Module - -# Length defined for cellpadding/cellspacing - -# nn for pixels or nn% for percentage length -Length.datatype = text -# space-separated list of link types -LinkTypes.datatype = NMTOKENS.datatype -# single or comma-separated list of media descriptors -MediaDesc.datatype = text -# pixel, percentage, or relative -MultiLength.datatype = text -# one or more digits (NUMBER) -Number.datatype = text -# integer representing length in pixels -Pixels.datatype = text -# script expression -Script.datatype = text -# textual content -Text.datatype = text -# Imported Datatypes ................................ - -# a single character from [ISO10646] -Character.datatype = text -# a character encoding, as per [RFC2045] -Charset.datatype = text -# a space separated list of character encodings, as per [RFC2045] -Charsets.datatype = text -# media type, as per [RFC2045] -ContentType.datatype = text -# comma-separated list of media types, as per [RFC2045] -ContentTypes.datatype = text -# date and time information. ISO date format -Datetime.datatype = text -# formal public identifier, as per [ISO8879] -FPI.datatype = text -# a language code, as per [RFC1766] -LanguageCode.datatype = xsd:language -# a Uniform Resource Identifier, see [URI] -URI.datatype = xsd:anyURI -# a space-separated list of Uniform Resource Identifiers, see [URI] -URIs.datatype = text -NMTOKEN.datatype = xsd:NMTOKEN -NMTOKENS.datatype = xsd:NMTOKENS -ID.datatype = xsd:ID -IDREF.datatype = xsd:IDREF -IDREFS.datatype = xsd:IDREFS diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-edit.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-edit.rnc deleted file mode 100644 index 4301fc27f7..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-edit.rnc +++ /dev/null @@ -1,12 +0,0 @@ -# Edit Module - -del = element del { del.attlist, Inline.model } -del.attlist = Edit.attrib -ins = element ins { ins.attlist, Inline.model } -ins.attlist = Edit.attrib -Edit.attrib = - attribute cite { URI.datatype }?, - attribute datetime { Datetime.datatype }? -Edit.class = del | ins -Inline.class |= Edit.class -Block.class |= Edit.class diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-events.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-events.rnc deleted file mode 100644 index 536874201e..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-events.rnc +++ /dev/null @@ -1,47 +0,0 @@ -# Events Module - -a.attlist &= - attribute onblur { Script.datatype }?, - attribute onfocus { Script.datatype }? -area.attlist &= - attribute onblur { Script.datatype }?, - attribute onfocus { Script.datatype }? -form.attlist &= - attribute onreset { Script.datatype }?, - attribute onsubmit { Script.datatype }? -body.attlist &= - attribute onload { Script.datatype }?, - attribute onunload { Script.datatype }? -label.attlist &= - attribute onblur { Script.datatype }?, - attribute onfocus { Script.datatype }? -input.attlist &= - attribute onblur { Script.datatype }?, - attribute onchange { Script.datatype }?, - attribute onfocus { Script.datatype }?, - attribute onselect { Script.datatype }? -select.attlist &= - attribute onblur { Script.datatype }?, - attribute onchange { Script.datatype }?, - attribute onfocus { Script.datatype }? -textarea.attlist &= - attribute onblur { Script.datatype }?, - attribute onchange { Script.datatype }?, - attribute onfocus { Script.datatype }?, - attribute onselect { Script.datatype }? -button.attlist &= - attribute onblur { Script.datatype }?, - attribute onfocus { Script.datatype }? -Events.attrib = - attribute onclick { Script.datatype }?, - attribute ondblclick { Script.datatype }?, - attribute onmousedown { Script.datatype }?, - attribute onmouseup { Script.datatype }?, - attribute onmouseover { Script.datatype }?, - attribute onmousemove { Script.datatype }?, - attribute onmouseout { Script.datatype }?, - attribute onkeypress { Script.datatype }?, - attribute onkeydown { Script.datatype }?, - attribute onkeyup { Script.datatype }? -Common.attrib &= Events.attrib -CommonIdRequired.attrib &= Events.attrib diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-form.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-form.rnc deleted file mode 100644 index f5544190b0..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-form.rnc +++ /dev/null @@ -1,49 +0,0 @@ -# Forms Module - -# Unlike the DTD implementation, this builds on the basic-form module - -include "xhtml-basic-form.rnc" { - select = element select { select.attlist, (option | optgroup)+ } -} -form.attlist &= - attribute accept-charset { Charsets.datatype }?, - attribute accept { ContentTypes.datatype }? -input.attlist &= - attribute disabled { "disabled" }?, - attribute readonly { "readonly" }?, - attribute alt { text }?, - attribute tabindex { Number.datatype }?, - attribute accept { ContentTypes.datatype }? -InputType.class |= "image" | "button" -select.attlist &= - attribute disabled { "disabled" }?, - attribute tabindex { Number.datatype }? -option.attlist &= - attribute disabled { "disabled" }?, - attribute label { Text.datatype }? -optgroup = element optgroup { optgroup.attlist, option+ } -optgroup.attlist = - Common.attrib, - attribute disabled { "disabled" }?, - attribute label { Text.datatype } -textarea.attlist &= - attribute disabled { "disabled" }?, - attribute readonly { "readonly" }?, - attribute tabindex { Number.datatype }? -fieldset = element fieldset { fieldset.attlist, legend, Flow.model } -fieldset.attlist = Common.attrib -button = element button { button.attlist, Flow.model } -button.attlist = - Common.attrib, - attribute name { text }?, - attribute value { text }?, - attribute type { "button" | "submit" | "reset" }?, - attribute disabled { "disabled" }?, - attribute tabindex { Number.datatype }?, - attribute accesskey { Character.datatype }? -legend = element legend { legend.attlist, Inline.model } -legend.attlist = - Common.attrib, - attribute accesskey { Character.datatype }? -Form.class |= fieldset -Formctrl.class |= button diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-frames.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-frames.rnc deleted file mode 100644 index 9b9f9ba146..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-frames.rnc +++ /dev/null @@ -1,26 +0,0 @@ -# Frames Module - -include "xhtml-struct.rnc" { - html = element html { html.attlist, head, frameset } -} -frameset = - element frameset { - frameset.attlist, - ((frameset | frame)+ & noframes?) - } -frameset.attlist = - Core.attrib, - attribute cols { MultiLength.datatype }?, - attribute rows { MultiLength.datatype }? -frame = element frame { frame.attlist } -frame.attlist = - Core.attrib, - attribute longdesc { URI.datatype }?, - attribute src { URI.datatype }?, - attribute frameborder { "1" | "0" }?, - attribute marginwidth { Pixels.datatype }?, - attribute marginheight { Pixels.datatype }?, - attribute noresize { "noresize" }?, - attribute scrolling { "yes" | "no" | "auto" }? -noframes = element noframes { noframes.attlist, body } -noframes.attlist = Common.attrib diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-hypertext.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-hypertext.rnc deleted file mode 100644 index 82e7686d64..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-hypertext.rnc +++ /dev/null @@ -1,16 +0,0 @@ -# Hypertext Module - -# Depends on text module. - -a = element a { a.attlist, Inline.model } -a.attlist = - Common.attrib, - attribute href { URI.datatype }?, - attribute charset { Charset.datatype }?, - attribute type { ContentType.datatype }?, - attribute hreflang { LanguageCode.datatype }?, - attribute rel { LinkTypes.datatype }?, - attribute rev { LinkTypes.datatype }?, - attribute accesskey { Character.datatype }?, - attribute tabindex { Number.datatype }? -Inline.class |= a diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-iframe.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-iframe.rnc deleted file mode 100644 index bbcdd441bb..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-iframe.rnc +++ /dev/null @@ -1,14 +0,0 @@ -# Iframe Module - -iframe = element iframe { iframe.attlist, Flow.model } -iframe.attlist = - Core.attrib, - attribute longdesc { URI.datatype }?, - attribute src { URI.datatype }?, - attribute frameborder { "1" | "0" }?, - attribute width { Length.datatype }?, - attribute height { Length.datatype }?, - attribute marginwidth { Pixels.datatype }?, - attribute marginheight { Pixels.datatype }?, - attribute scrolling { "yes" | "no" | "auto" }? -Inline.class |= iframe diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-image.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-image.rnc deleted file mode 100644 index e1d6e5662f..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-image.rnc +++ /dev/null @@ -1,11 +0,0 @@ -# Image Module - -img = element img { img.attlist } -img.attlist = - Common.attrib, - attribute src { URI.datatype }, - attribute alt { Text.datatype }, - attribute longdesc { URI.datatype }?, - attribute height { Length.datatype }?, - attribute width { Length.datatype }? -Inline.class |= img diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-inlstyle.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-inlstyle.rnc deleted file mode 100644 index aa69b75ab6..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-inlstyle.rnc +++ /dev/null @@ -1,3 +0,0 @@ -# Inline Style Module - -Core.attrib &= attribute style { text }? diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-legacy.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-legacy.rnc deleted file mode 100644 index b15061f6d9..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-legacy.rnc +++ /dev/null @@ -1,100 +0,0 @@ -# Legacy Module - -lang.attrib &= attribute lang { LanguageCode.datatype }? -basefont = element basefont { basefont.attlist } -basefont.attlist = id.attrib, Font.attrib -center = element center { center.attlist, Flow.model } -center.attlist = Common.attrib -font = element font { font.attlist, Inline.model } -font.attlist = Core.attrib, I18n.attrib, Font.attrib -Font.attrib = - attribute size { text }?, - attribute color { Color.datatype }?, - attribute face { text }? -s = element s { s.attlist, Inline.model } -s.attlist = Common.attrib -strike = element strike { strike.attlist, Inline.model } -strike.attlist = Common.attrib -u = element u { u.attlist, Inline.model } -u.attlist = Common.attrib -dir = element dir { dir.attlist, li.noblock+ } -dir.attlist = - Common.attrib, - attribute compact { "compact" }? -menu = element menu { menu.attlist, li.noblock+ } -menu.attlist = - Common.attrib, - attribute compact { "compact" }? -li.noblock = element li { li.attlist, Inline.model } -isindex = element isindex { isindex.attlist } -isindex.attlist = - Core.attrib, - I18n.attrib, - attribute prompt { Text.datatype }? -applet.attlist &= - attribute align { "top" | "middle" | "bottom" | "left" | "right" }?, - attribute hspace { Pixels.datatype }?, - attribute vspace { Pixels.datatype }? -body.attlist &= - attribute background { URI.datatype }?, - attribute bgcolor { Color.datatype }?, - attribute text { Color.datatype }?, - attribute link { Color.datatype }?, - attribute vlink { Color.datatype }?, - attribute alink { Color.datatype }? -br.attlist &= attribute clear { "left" | "all" | "right" | "none" }? -caption.attlist &= align.attrib -div.attlist &= align.attrib -# Not in the CR, but surely an error. -dl.attlist &= attribute compact { "compact" }? -Heading.attrib &= align.attrib -hr.attlist &= - attribute align { "left" | "center" | "right" }?, - attribute noshade { "noshade" }?, - attribute size { Pixels.datatype }?, - attribute width { Pixels.datatype }? -img.attlist &= - attribute align { "top" | "middle" | "bottom" | "left" | "right" }?, - attribute border { Pixels.datatype }?, - attribute hspace { Pixels.datatype }?, - attribute vspace { Pixels.datatype }? -input.attlist &= align.attrib -legend.attlist &= - attribute align { "top" | "bottom" | "left" | "right" }? -li.attlist &= - attribute type { text }?, - attribute value { text }? -object.attlist &= - attribute align { "top" | "middle" | "bottom" | "left" | "right" }?, - attribute border { Pixels.datatype }?, - attribute hspace { Pixels.datatype }?, - attribute vspace { Pixels.datatype }? -ol.attlist &= - attribute type { text }?, - attribute compact { "compact" }?, - attribute start { text }? -p.attlist &= align.attrib -pre.attlist &= attribute width { Length.datatype }? -script.attlist &= attribute language { ContentType.datatype }? -table.attlist &= - align.attrib, - attribute bgcolor { Color.datatype }? -tr.attlist &= attribute bgcolor { Color.datatype }? -Cell.attrib &= - attribute nowrap { "nowrap" }?, - attribute bgcolor { Color.datatype }?, - attribute width { Pixels.datatype }?, - attribute height { Pixels.datatype }? -ul.attlist &= - attribute type { text }?, - attribute compact { "compact" }? -align.attrib = attribute align { "left" | "all" | "right" | "none" }? -Color.datatype = text -Inline.class |= font | basefont | s | strike | u -Block.class |= center | isindex -List.class |= dir | menu -head.content &= isindex? -Block.mix |= text | Inline.class -# With the legacy module and the frames modules, the html -# element can contain either body or frameset. -frameset |= body diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-link.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-link.rnc deleted file mode 100644 index 9d0d6f1cc7..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-link.rnc +++ /dev/null @@ -1,13 +0,0 @@ -# Link Module - -link = element link { link.attlist } -link.attlist = - Common.attrib, - attribute charset { Charset.datatype }?, - attribute href { URI.datatype }?, - attribute hreflang { LanguageCode.datatype }?, - attribute type { ContentType.datatype }?, - attribute rel { LinkTypes.datatype }?, - attribute rev { LinkTypes.datatype }?, - attribute media { MediaDesc.datatype }? -head.content &= link* diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-list.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-list.rnc deleted file mode 100644 index 8b994041ea..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-list.rnc +++ /dev/null @@ -1,16 +0,0 @@ -# List Module - -dl = element dl { dl.attlist, (dt | dd)+ } -dl.attlist = Common.attrib -dt = element dt { dt.attlist, Inline.model } -dt.attlist = Common.attrib -dd = element dd { dd.attlist, Flow.model } -dd.attlist = Common.attrib -ol = element ol { ol.attlist, li+ } -ol.attlist = Common.attrib -ul = element ul { ul.attlist, li+ } -ul.attlist = Common.attrib -li = element li { li.attlist, Flow.model } -li.attlist = Common.attrib -List.class = ul | ol | dl -Block.class |= List.class diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-meta.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-meta.rnc deleted file mode 100644 index ab0b5eb318..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-meta.rnc +++ /dev/null @@ -1,10 +0,0 @@ -# Meta Module - -meta = element meta { meta.attlist } -meta.attlist = - I18n.attrib, - attribute http-equiv { NMTOKEN.datatype }?, - attribute name { NMTOKEN.datatype }?, - attribute content { text }?, - attribute scheme { text }? -head.content &= meta* diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-nameident.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-nameident.rnc deleted file mode 100644 index ef4ad7065e..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-nameident.rnc +++ /dev/null @@ -1,10 +0,0 @@ -# Name Identification Module - -a.attlist &= name.attlist -applet.attlist &= name.attlist -form.attlist &= name.attlist -frame.attrib &= name.attlist -iframe.attlist &= name.attlist -img.attlist &= name.attlist -map.attlist &= name.attlist -name.attlist = attribute name { text }? diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-object.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-object.rnc deleted file mode 100644 index ac65238db9..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-object.rnc +++ /dev/null @@ -1,24 +0,0 @@ -# Object Module - -object = - element object { - object.attlist, - # No restrictions on mixed content in TREX. - param*, - Flow.model - } -object.attlist = - Common.attrib, - attribute declare { "declare" }?, - attribute classid { URI.datatype }?, - attribute codebase { URI.datatype }?, - attribute data { URI.datatype }?, - attribute type { ContentType.datatype }?, - attribute codetype { ContentType.datatype }?, - attribute archive { URIs.datatype }?, - attribute standby { Text.datatype }?, - attribute height { Length.datatype }?, - attribute width { Length.datatype }?, - attribute name { text }?, - attribute tabindex { Number.datatype }? -Inline.class |= object diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-param.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-param.rnc deleted file mode 100644 index 8a921ca9b3..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-param.rnc +++ /dev/null @@ -1,9 +0,0 @@ -# Param Module - -param = element param { param.attlist } -param.attlist = - id.attrib, - attribute name { text }, - attribute value { text }?, - attribute valuetype { "data" | "ref" | "object" }?, - attribute type { ContentType.datatype }? diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-pres.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-pres.rnc deleted file mode 100644 index 677372b2dd..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-pres.rnc +++ /dev/null @@ -1,18 +0,0 @@ -hr = element hr { hr.attlist } -hr.attlist = Common.attrib -Block.class |= hr -b = element b { b.attlist, Inline.model } -b.attlist = Common.attrib -big = element big { big.attlist, Inline.model } -big.attlist = Common.attrib -i = element i { i.attlist, Inline.model } -i.attlist = Common.attrib -small = element small { small.attlist, Inline.model } -small.attlist = Common.attrib -sub = element sub { sub.attlist, Inline.model } -sub.attlist = Common.attrib -sup = element sup { sup.attlist, Inline.model } -sup.attlist = Common.attrib -tt = element tt { tt.attlist, Inline.model } -tt.attlist = Common.attrib -Inline.class |= b | big | i | small | sub | sup | tt diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-ruby.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-ruby.rnc deleted file mode 100644 index e55614dfb9..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-ruby.rnc +++ /dev/null @@ -1,21 +0,0 @@ -ruby = - element ruby { - ruby.attlist, - ((rb, - (rt | (rp, rt, rp))) - | (rbc, rtc, rtc?)) - } -ruby.attlist = Common.attrib -rbc = element rbc { rbc.attlist, rb+ } -rbc.attlist = Common.attrib -rtc = element rtc { rtc.attlist, rt+ } -rtc.attlist = Common.attrib -rb = element rb { rb.attlist, Inline.model } -rb.attlist = Common.attrib -rt = element rt { rt.attlist, Inline.model } -rt.attlist = - Common.attrib, - attribute rt { Number.datatype }? -rp = element rp { rp.attlist, text } -rp.attlist = Common.attrib -Inline.class |= ruby diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-script.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-script.rnc deleted file mode 100644 index fcf35b0271..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-script.rnc +++ /dev/null @@ -1,15 +0,0 @@ -# Script Module - -script = element script { script.attlist, text } -script.attlist = - attribute charset { Charset.datatype }?, - attribute type { ContentType.datatype }, - attribute src { URI.datatype }?, - attribute defer { "defer" }?, - attribute xml:space { "preserve" }? -noscript = element noscript { noscript.attlist, Block.model } -noscript.attlist = Common.attrib -head.content &= script* -Script.class = noscript | script -Inline.class |= Script.class -Block.class |= Script.class diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-ssismap.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-ssismap.rnc deleted file mode 100644 index 21a7496d30..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-ssismap.rnc +++ /dev/null @@ -1,5 +0,0 @@ -# Server-side Image Map Module - -# Depends on image module. - -img.attlist &= attribute ismap { "ismap" }? diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-struct.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-struct.rnc deleted file mode 100644 index 4c919c2371..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-struct.rnc +++ /dev/null @@ -1,14 +0,0 @@ -# Structure Module - -start = html -title = element title { title.attlist, text } -title.attlist = I18n.attrib -head = element head { head.attlist, head.content } -head.attlist = I18n.attrib, profile.attlist -head.content = title -profile.attlist = attribute profile { URI.datatype }? -body = element body { body.attlist, Block.model } -body.attlist = Common.attrib -html = element html { html.attlist, head, body } -html.attlist = XHTML.version.attrib, I18n.attrib -XHTML.version.attrib = attribute version { FPI.datatype }? diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-style.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-style.rnc deleted file mode 100644 index 93a52d5e2a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-style.rnc +++ /dev/null @@ -1,10 +0,0 @@ -# Style Module - -style = element style { style.attlist, text } -style.attlist = - title.attrib, - I18n.attrib, - attribute type { ContentType.datatype }, - attribute media { MediaDesc.datatype }?, - attribute xml:space { "preserve" }? -head.content &= style* diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-table.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-table.rnc deleted file mode 100644 index 70055b1598..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-table.rnc +++ /dev/null @@ -1,67 +0,0 @@ -# Tables Module - -# This builds on the basic tables module, unlike with the DTD -# implementation. - -include "xhtml-basic-table.rnc" { - table = - element table { - table.attlist, - caption?, - (col* | colgroup*), - ((thead?, tfoot?, tbody+) | tr+) - } - th = element th { th.attlist, Flow.model } - td = element td { td.attlist, Flow.model } - CellHAlign.attrib = - attribute align { - "left" | "center" | "right" | "justify" | "char" - }?, - attribute char { Character.datatype }?, - attribute charoff { Length.datatype }? - CellVAlign.attrib = - attribute valign { "top" | "middle" | "bottom" | "baseline" }? - scope.attrib = - attribute scope { "row" | "col" | "rowgroup" | "colgroup" }? -} -table.attlist &= - attribute width { Length.datatype }?, - attribute border { Pixels.datatype }?, - frame.attrib, - rules.attrib, - attribute cellspacing { Length.datatype }?, - attribute cellpadding { Length.datatype }? -col = element col { col.attlist } -col.attlist = - Common.attrib, - attribute span { Number.datatype }?, - attribute width { MultiLength.datatype }?, - CellHAlign.attrib, - CellVAlign.attrib -colgroup = element colgroup { colgroup.attlist, col* } -colgroup.attlist = - Common.attrib, - attribute span { Number.datatype }?, - attribute width { MultiLength.datatype }?, - CellHAlign.attrib, - CellVAlign.attrib -tbody = element tbody { tbody.attlist, tr+ } -tbody.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib -thead = element thead { thead.attlist, tr+ } -thead.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib -tfoot = element tfoot { tfoot.attlist, tr+ } -tfoot.attlist = Common.attrib, CellHAlign.attrib, CellVAlign.attrib -frame.attrib = - attribute frame { - "void" - | "above" - | "below" - | "hsides" - | "lhs" - | "rhs" - | "vsides" - | "box" - | "border" - }? -rules.attrib = - attribute rules { "none" | "groups" | "rows" | "cols" | "all" }? diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-target.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-target.rnc deleted file mode 100644 index 505b37963a..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-target.rnc +++ /dev/null @@ -1,8 +0,0 @@ -# Target Module - -a.attlist &= target.attrib -area.attlist &= target.attrib -base.attlist &= target.attrib -link.attrib &= target.attrib -form.attlist &= target.attrib -target.attrib = attribute target { text }? diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-text.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-text.rnc deleted file mode 100644 index c4283d4417..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml-text.rnc +++ /dev/null @@ -1,73 +0,0 @@ -# Text Module - -br = element br { br.attlist, empty } -br.attlist = Core.attrib -span = element span { span.attlist, Inline.model } -span.attlist = Common.attrib -abbr = element abbr { abbr.attlist, Inline.model } -abbr.attlist = Common.attrib -acronym = element acronym { acronym.attlist, Inline.model } -acronym.attlist = Common.attrib -cite = element cite { cite.attlist, Inline.model } -cite.attlist = Common.attrib -code = element code { code.attlist, Inline.model } -code.attlist = Common.attrib -dfn = element dfn { dfn.attlist, Inline.model } -dfn.attlist = Common.attrib -em = element em { em.attlist, Inline.model } -em.attlist = Common.attrib -kbd = element kbd { kbd.attlist, Inline.model } -kbd.attlist = Common.attrib -q = element q { q.attlist, Inline.model } -q.attlist = - Common.attrib, - attribute cite { URI.datatype }? -samp = element samp { samp.attlist, Inline.model } -samp.attlist = Common.attrib -strong = element strong { strong.attlist, Inline.model } -strong.attlist = Common.attrib -var = element var { var.attlist, Inline.model } -var.attlist = Common.attrib -\div = element div { div.attlist, Flow.model } -div.attlist = Common.attrib -p = element p { p.attlist, Inline.model } -p.attlist = Common.attrib -address = element address { address.attlist, Inline.model } -address.attlist = Common.attrib -blockquote = element blockquote { blockquote.attlist, Block.model } -blockquote.attlist = - Common.attrib, - attribute cite { URI.datatype }? -pre = element pre { pre.attlist, Inline.model } -pre.attlist = - Common.attrib, - attribute xml:space { "preserve" }? -h1 = element h1 { Heading.attrib, Heading.content } -h2 = element h2 { Heading.attrib, Heading.content } -h3 = element h3 { Heading.attrib, Heading.content } -h4 = element h4 { Heading.attrib, Heading.content } -h5 = element h5 { Heading.attrib, Heading.content } -h6 = element h6 { Heading.attrib, Heading.content } -Heading.attrib = Common.attrib -Heading.content = Inline.model -Heading.class = h1 | h2 | h3 | h4 | h5 | h6 -Block.class = address | blockquote | \div | p | pre | Heading.class -Inline.class = - abbr - | acronym - | br - | cite - | code - | dfn - | em - | kbd - | q - | samp - | span - | strong - | var -Inline.model = (text | Inline.class)* -# This is redefined by the legacy module to include inlines. -Block.mix = Block.class -Block.model = Block.mix+ -Flow.model = (text | Inline.class | Block.class)* diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml.rnc deleted file mode 100644 index 3218cd71e5..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xhtml.rnc +++ /dev/null @@ -1,37 +0,0 @@ -# XHTML - -# This corresponds to the union of transitional and frameset. - -default namespace = "http://www.w3.org/1999/xhtml" - -include "xhtml-datatypes.rnc" -include "xhtml-attribs.rnc" -# include "xhtml-struct.rnc" -include "xhtml-frames.rnc" -include "xhtml-text.rnc" -include "xhtml-hypertext.rnc" -include "xhtml-list.rnc" -include "xhtml-image.rnc" -include "xhtml-ssismap.rnc" -include "xhtml-base.rnc" -include "xhtml-link.rnc" -include "xhtml-meta.rnc" -include "xhtml-param.rnc" -include "xhtml-object.rnc" -include "xhtml-bdo.rnc" -include "xhtml-pres.rnc" -include "xhtml-edit.rnc" -include "xhtml-applet.rnc" -# include "xhtml-basic-form.rnc" -include "xhtml-form.rnc" -include "xhtml-style.rnc" -include "xhtml-script.rnc" -# include "xhtml-basic-table.rnc" -include "xhtml-table.rnc" -include "xhtml-csismap.rnc" -include "xhtml-events.rnc" -include "xhtml-inlstyle.rnc" -include "xhtml-target.rnc" -include "xhtml-iframe.rnc" -include "xhtml-nameident.rnc" -include "xhtml-legacy.rnc" diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xslt.rnc b/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xslt.rnc deleted file mode 100644 index eaa332f86b..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/schema/xslt.rnc +++ /dev/null @@ -1,356 +0,0 @@ -# $Id: xslt.rnc,v 1.2 2003/08/30 08:09:03 jjc Exp $ - -# This was mostly generated from the syntax summary in the XSLT -# Recommendation (using XSLT of course). - -# Issues: this validates extension elements as literal result -# elements, which is overly restrictive. - -namespace local = "" -default namespace xsl = "http://www.w3.org/1999/XSL/Transform" - -start = - stylesheet.element - | transform.element - | literal-result-element-as-stylesheet -version = "1.0" -top-level-elements.model = - (top-level-element.category | top-level-extension)* -top-level-extension = - element * - (xsl:* | local:*) { - grammar { - start = any - any = - (attribute * { text } - | text - | element * { any })* - } - } -template.model = (instruction.category | literal-result-element | text)* -literal-result-element-as-stylesheet = - element * - xsl:* { - attribute xsl:version { version }, - literal-result-element-no-version.atts, - template.model - } -literal-result-element = - element * - xsl:* { literal-result-element.atts, template.model } -literal-result-element.atts = - literal-result-element-no-version.atts, - attribute xsl:version { version }? -literal-result-element-no-version.atts = - (attribute * - xsl:* { avt.datatype } - | attribute xsl:extension-element-prefixes { prefixes.datatype } - | attribute xsl:exclude-result-prefixes { prefixes.datatype } - | attribute xsl:use-attribute-sets { qnames.datatype })* -top-level-element.category = - include.element - | strip-space.element - | preserve-space.element - | template.element - | namespace-alias.element - | attribute-set.element - | variable.element - | param.element - | key.element - | decimal-format.element - | output.element -instruction.category = - apply-templates.element - | apply-imports.element - | call-template.element - | element.element - | attribute.element - | text.element - | processing-instruction.element - | comment.element - | copy.element - | value-of.element - | number.element - | for-each.element - | if.element - | choose.element - | variable.element - | copy-of.element - | message.element - | fallback.element -extension.atts = attribute * - (xsl:* | local:*) { text }* -stylesheet.element = element stylesheet { stylesheet.model } -transform.element = element transform { stylesheet.model } -stylesheet.model = - extension.atts, - attribute id { xsd:NCName }?, - attribute extension-element-prefixes { prefixes.datatype }?, - attribute exclude-result-prefixes { prefixes.datatype }?, - attribute version { version }, - (import.element*, top-level-elements.model) -include.element = - element include { - extension.atts, - attribute href { xsd:anyURI } - } -import.element = - element import { - extension.atts, - attribute href { xsd:anyURI } - } -strip-space.element = - element strip-space { - extension.atts, - attribute elements { wildcards.datatype } - } -preserve-space.element = - element preserve-space { - extension.atts, - attribute elements { wildcards.datatype } - } -template.element = - element template { - extension.atts, - attribute match { pattern.datatype }?, - attribute name { qname.datatype }?, - attribute priority { number.datatype }?, - attribute mode { qname.datatype }?, - (param.element*, template.model) - } -apply-templates.element = - element apply-templates { - extension.atts, - attribute select { expression.datatype }?, - attribute mode { qname.datatype }?, - (sort.element | with-param.element)* - } -apply-imports.element = element apply-imports { extension.atts } -call-template.element = - element call-template { - extension.atts, - attribute name { qname.datatype }, - with-param.element* - } -namespace-alias.element = - element namespace-alias { - extension.atts, - attribute stylesheet-prefix { prefix.datatype }, - attribute result-prefix { prefix.datatype } - } -element.element = - element element { - extension.atts, - attribute name { qname.datatype | expr-avt.datatype }, - attribute namespace { xsd:anyURI | brace-avt.datatype }?, - attribute use-attribute-sets { qnames.datatype }?, - template.model - } -attribute.element = - element attribute { - extension.atts, - attribute name { qname.datatype | expr-avt.datatype }, - attribute namespace { xsd:anyURI | brace-avt.datatype }?, - template.model - } -attribute-set.element = - element attribute-set { - extension.atts, - attribute name { qname.datatype }, - attribute use-attribute-sets { qnames.datatype }?, - attribute.element* - } -text.element = - element text { - extension.atts, - attribute disable-output-escaping { - xsd:string "yes" | xsd:string "no" - }?, - text - } -processing-instruction.element = - element processing-instruction { - extension.atts, - attribute name { xsd:NCName | expr-avt.datatype }, - template.model - } -comment.element = element comment { extension.atts, template.model } -copy.element = - element copy { - extension.atts, - attribute use-attribute-sets { qnames.datatype }?, - template.model - } -value-of.element = - element value-of { - extension.atts, - attribute select { expression.datatype }, - attribute disable-output-escaping { - xsd:string "yes" | xsd:string "no" - }? - } -number.element = - element number { - extension.atts, - attribute level { - xsd:string "single" | xsd:string "multiple" | xsd:string "any" - }?, - attribute count { pattern.datatype }?, - attribute from { pattern.datatype }?, - attribute value { expression.datatype }?, - attribute format { avt.datatype }?, - attribute lang { xsd:NMTOKEN | expr-avt.datatype }?, - attribute letter-value { - xsd:string "alphabetic" - | xsd:string "traditional" - | expr-avt.datatype - }?, - attribute grouping-separator { char.datatype | expr-avt.datatype }?, - attribute grouping-size { number.datatype | expr-avt.datatype }? - } -for-each.element = - element for-each { - extension.atts, - attribute select { expression.datatype }, - (sort.element*, template.model) - } -if.element = - element if { - extension.atts, - attribute test { expression.datatype }, - template.model - } -choose.element = - element choose { extension.atts, (when.element+, otherwise.element?) } -when.element = - element when { - extension.atts, - attribute test { expression.datatype }, - template.model - } -otherwise.element = element otherwise { extension.atts, template.model } -sort.element = - element sort { - extension.atts, - attribute select { expression.datatype }?, - attribute lang { xsd:NMTOKEN | expr-avt.datatype }?, - attribute data-type { - xsd:string "text" - | xsd:string "number" - | qname-but-not-ncname.datatype - | expr-avt.datatype - }?, - attribute order { - xsd:string "ascending" - | xsd:string "descending" - | expr-avt.datatype - }?, - attribute case-order { - xsd:string "upper-first" - | xsd:string "lower-first" - | expr-avt.datatype - }? - } -variable.element = - element variable { - extension.atts, - attribute name { qname.datatype }, - (attribute select { expression.datatype } - | template.model) - } -param.element = - element param { - extension.atts, - attribute name { qname.datatype }, - (attribute select { expression.datatype } - | template.model) - } -copy-of.element = - element copy-of { - extension.atts, - attribute select { expression.datatype } - } -with-param.element = - element with-param { - extension.atts, - attribute name { qname.datatype }, - (attribute select { expression.datatype } - | template.model) - } -key.element = - element key { - extension.atts, - attribute name { qname.datatype }, - attribute match { pattern.datatype }, - attribute use { expression.datatype } - } -decimal-format.element = - element decimal-format { - extension.atts, - attribute name { qname.datatype }?, - attribute decimal-separator { char.datatype }?, - attribute grouping-separator { char.datatype }?, - attribute infinity { text }?, - attribute minus-sign { char.datatype }?, - attribute NaN { text }?, - attribute percent { char.datatype }?, - attribute per-mille { char.datatype }?, - attribute zero-digit { char.datatype }?, - attribute digit { char.datatype }?, - attribute pattern-separator { char.datatype }? - } -message.element = - element message { - extension.atts, - attribute terminate { xsd:string "yes" | xsd:string "no" }?, - template.model - } -fallback.element = element fallback { extension.atts, template.model } -output.element = - element output { - extension.atts, - attribute method { - xsd:string "xml" - | xsd:string "html" - | xsd:string "text" - | qname-but-not-ncname.datatype - }?, - attribute version { xsd:NMTOKEN }?, - attribute encoding { text }?, - attribute omit-xml-declaration { - xsd:string "yes" | xsd:string "no" - }?, - attribute standalone { xsd:string "yes" | xsd:string "no" }?, - attribute doctype-public { text }?, - attribute doctype-system { text }?, - attribute cdata-section-elements { qnames.datatype }?, - attribute indent { xsd:string "yes" | xsd:string "no" }?, - attribute media-type { text }? - } -prefixes.datatype = list { (xsd:NCName | "#default")* } -prefix.datatype = xsd:NCName | "#default" -wildcards.datatype = - list { - (xsd:QName - | xsd:token { pattern = "\*|\i\c*:\*" })* - } -qname.datatype = xsd:QName -qnames.datatype = list { xsd:QName* } -char.datatype = xsd:string { length = "1" } -number.datatype = xsd:decimal -expression.datatype = text -pattern.datatype = text -qname-but-not-ncname.datatype = xsd:QName { pattern = ".*:.*" } -# An AVT containing at least one expression. -expr-avt.datatype = - xsd:string { - pattern = - """([^\{\}]|\{\{|\}\})*\{([^"'\{\}]|"[^"]*"|'[^']*')+\}([^\{\}]|\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})*""" - } -# An AVT containing at least one brace; ie where instantiated AVT -# is not the same as the literal AVT. -brace-avt.datatype = - xsd:string { - pattern = - """[^\{\}]*(\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})([^\{\}]|\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})*""" - } -avt.datatype = - xsd:string { - pattern = - """([^\{\}]|\{\{|\}\}|\{([^"'\{\}]|"[^"]*"|'[^']*')+\})*""" - } diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/stamp-byte-compile b/elpa-to-submit/nxhtml/nxml-mode-20041004/stamp-byte-compile deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/test-noval.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/test-noval.el deleted file mode 100644 index 23a4a43879..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/test-noval.el +++ /dev/null @@ -1,4 +0,0 @@ - -(add-hook 'nxml-mode-hook - (lambda () (rng-validate-mode 0) ) - t) diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/test.invalid.xml b/elpa-to-submit/nxhtml/nxml-mode-20041004/test.invalid.xml deleted file mode 100644 index bdf6a2cb7e..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/test.invalid.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - An invalid document - - -This XHTML document is invalid.
- - diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/test.valid.xml b/elpa-to-submit/nxhtml/nxml-mode-20041004/test.valid.xml deleted file mode 100644 index 56a12800fa..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/test.valid.xml +++ /dev/null @@ -1,8 +0,0 @@ - - -A valid document - - -This is a valid, albeit boring, XHTML document.
- - diff --git a/elpa-to-submit/nxhtml/nxml-mode-20041004/xmltok.el b/elpa-to-submit/nxhtml/nxml-mode-20041004/xmltok.el deleted file mode 100644 index ed381cd4cc..0000000000 --- a/elpa-to-submit/nxhtml/nxml-mode-20041004/xmltok.el +++ /dev/null @@ -1,1925 +0,0 @@ -;;; xmltok.el --- XML tokenization - -;; Copyright (C) 2003 Free Software Foundation, Inc. - -;; Author: James Clark -;; Keywords: XML - -;; This program 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 of -;; the License, or (at your option) any later version. - -;; This program 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 program; if not, write to the Free -;; Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, -;; MA 02111-1307 USA - -;;; Commentary: - -;; This implements an XML 1.0 parser. It also implements the XML -;; Namespaces Recommendation. It is designed to be conforming, but it -;; works a bit differently from a normal XML parser. An XML document -;; consists of the prolog and an instance. The prolog is parsed as a -;; single unit using `xmltok-forward-prolog'. The instance is -;; considered as a sequence of tokens, where a token is something like -;; a start-tag, a comment, a chunk of data or a CDATA section. The -;; tokenization of the instance is stateless: the tokenization of one -;; part of the instance does not depend on tokenization of the -;; preceding part of the instance. This allows the instance to be -;; parsed incrementally. The main entry point is `xmltok-forward': -;; this can be called at any point in the instance provided it is -;; between tokens. The other entry point is `xmltok-forward-special' -;; which skips over tokens other comments, processing instructions or -;; CDATA sections (i.e. the constructs in an instance that can contain -;; less than signs that don't start a token). -;; -;; This is a non-validating XML 1.0 processor. It does not resolve -;; parameter entities (including the external DTD subset) and it does -;; not resolve external general entities. -;; -;; It is non-conformant by design in the following respects. -;; -;; 1. It expects the client to detect aspects of well-formedness that -;; are not internal to a single token, specifically checking that -;; end-tags match start-tags and that the instance contains exactly -;; one element. -;; -;; 2. It expects the client to detect duplicate attributes. Detection -;; of duplicate attributes after expansion of namespace prefixes -;; requires the namespace processing state. Detection of duplicate -;; attributes before expansion of namespace prefixes does not, but is -;; redundant given that the client will do detection of duplicate -;; attributes after expansion of namespace prefixes. -;; -;; 3. It allows the client to recover from well-formedness errors. -;; This is essential for use in applications where the document is -;; being parsed during the editing process. -;; -;; 4. It does not support documents that do not conform to the lexical -;; requirements of the XML Namespaces Recommendation (e.g. a document -;; with a colon in an entity name). -;; -;; There are also a number of things that have not yet been -;; implemented that make it non-conformant. -;; -;; 1. It does not implement default attributes. ATTLIST declarations -;; are parsed, but no checking is done on the content of attribute -;; value literals specifying default attribute values, and default -;; attribute values are not reported to the client. -;; -;; 2. It does not implement internal entities containing elements. If -;; an internal entity is referenced and parsing its replacement text -;; yields one or more tags, then it will skip the reference and -;; report this to the client. -;; -;; 3. It does not check the syntax of public identifiers in the DTD. -;; -;; 4. It allows some non-ASCII characters in certain situations where -;; it should not. For example, it only enforces XML 1.0's -;; restrictions on name characters strictly for ASCII characters. The -;; problem here is XML's character model is based squarely on Unicode, -;; whereas Emacs's is not (as of version 21). It is not clear what -;; the right thing to do is. - -;;; Code: - -(defvar xmltok-type nil) -(defvar xmltok-start nil) -(defvar xmltok-name-colon nil) -(defvar xmltok-name-end nil) -(defvar xmltok-replacement nil - "String containing replacement for a character or entity reference.") - -(defvar xmltok-attributes nil - "List containing attributes of last scanned element. -Each member of the list is a vector representing an attribute, which -can be accessed using the functions `xmltok-attribute-name-start', -`xmltok-attribute-name-colon', `xmltok-attribute-name-end', -`xmltok-attribute-value-start', `xmltok-attribute-value-end', -`xmltok-attribute-raw-normalized-value', `xmltok-attribute-refs'.") - -(defvar xmltok-namespace-attributes nil - "List containing namespace declarations of last scanned element. -List has same format as `xmltok-attributes'.") - -(defvar xmltok-dtd nil - "Information about the DTD used by `xmltok-forward'. -`xmltok-forward-prolog' sets this up. - -It consists of an alist of general entity names vs definitions. The -first member of the alist is t if references to entities not in the -alist are well-formed \(e.g. because there's an external subset that -wasn't parsed). - -Each general entity name is a string. The definition is either nil, a -symbol, a string, a cons cell. If the definition is nil, then it -means that it's an internal entity but the result of parsing it is -unknown. If it is a symbol, then the symbol is either `unparsed', -meaning the entity is an unparsed entity, `external', meaning the -entity is or references an external entity, `element', meaning the -entity includes one or more elements, or `not-well-formed', meaning -the replacement text is not well-formed. If the definition is a -string, then the replacement text of the entity is that string; this -happens only during the parsing of the prolog. If the definition is a -cons cell \(ER . AR), then ER specifies the string that results from -referencing the entity in element content and AR is either nil, -meaning the replacement text included a <, or a string which is the -normalized attribute value.") - -(defvar xmltok-dependent-regions nil - "List of descriptors of regions that a parsed token depends on. - -A token depends on a region if the region occurs after the token and a -change in the region may require the token to be reparsed. This only -happens with markup that is not well-formed. For example, if a -occurs without a matching ?>, then the is returned as a -not-well-formed token. However, this token is dependent on region -from the end of the token to the end of the buffer: if this ever -contains ?> then the buffer must be reparsed from the . - -A region descriptor is a list (FUN START END ARG ...), where FUN is a -function to be called when the region changes, START and END are -integers giving the start and end of the region, and ARG... are -additional arguments to be passed to FUN. FUN will be called with 5 -arguments followed by the additional arguments if any: the position of -the start of the changed area in the region, the position of the end -of the changed area in the region, the length of the changed area -before the change, the position of the start of the region, the -position of the end of the region. FUN must return non-nil if the -region needs reparsing. FUN will be called in a save-excursion with -match-data saved. - -`xmltok-forward', `xmltok-forward-special' and `xmltok-forward-prolog' -may add entries to the beginning of this list, but will not clear it. -`xmltok-forward' and `xmltok-forward-special' will only add entries -when returning tokens of type not-well-formed.") - -(defvar xmltok-errors nil - "List of errors detected by `xmltok-forward' and `xmltok-forward-prolog'. -When `xmltok-forward' and `xmltok-forward-prolog' detect a -well-formedness error, they will add an entry to the beginning of this -list. Each entry is a vector [MESSAGE START END], where MESSAGE is a -string giving the error message and START and END are integers -indicating the position of the error.") - -(defmacro xmltok-save (&rest body) - `(let (xmltok-type - xmltok-start - xmltok-name-colon - xmltok-name-end - xmltok-replacement - xmltok-attributes - xmltok-namespace-attributes - xmltok-dependent-regions - xmltok-errors) - ,@body)) - -(put 'xmltok-save 'lisp-indent-function 0) -(def-edebug-spec xmltok-save t) - -(defsubst xmltok-attribute-name-start (att) - (aref att 0)) - -(defsubst xmltok-attribute-name-colon (att) - (aref att 1)) - -(defsubst xmltok-attribute-name-end (att) - (aref att 2)) - -(defsubst xmltok-attribute-value-start (att) - (aref att 3)) - -(defsubst xmltok-attribute-value-end (att) - (aref att 4)) - -(defsubst xmltok-attribute-raw-normalized-value (att) - "Return an object representing the normalized value of ATT. -This can t indicating that the normalized value is the same as the -buffer substring from the start to the end of the value or nil -indicating that the value is not well-formed or a string." - (aref att 5)) - -(defsubst xmltok-attribute-refs (att) - "Return a list of the entity and character references in ATT. -Each member is a vector [TYPE START END] where TYPE is either char-ref -or entity-ref and START and END are integers giving the start and end -of the reference. Nested entity references are not included in the list." - (aref att 6)) - -(defun xmltok-attribute-prefix (att) - (let ((colon (xmltok-attribute-name-colon att))) - (and colon - (buffer-substring-no-properties (xmltok-attribute-name-start att) - colon)))) - -(defun xmltok-attribute-local-name (att) - (let ((colon (xmltok-attribute-name-colon att))) - (buffer-substring-no-properties (if colon - (1+ colon) - (xmltok-attribute-name-start att)) - (xmltok-attribute-name-end att)))) - -(defun xmltok-attribute-value (att) - (let ((rnv (xmltok-attribute-raw-normalized-value att))) - (and rnv - (if (stringp rnv) - rnv - (buffer-substring-no-properties (xmltok-attribute-value-start att) - (xmltok-attribute-value-end att)))))) - -(defun xmltok-start-tag-prefix () - (and xmltok-name-colon - (buffer-substring-no-properties (1+ xmltok-start) - xmltok-name-colon))) - -(defun xmltok-start-tag-local-name () - (buffer-substring-no-properties (1+ (or xmltok-name-colon - xmltok-start)) - xmltok-name-end)) - -(defun xmltok-end-tag-prefix () - (and xmltok-name-colon - (buffer-substring-no-properties (+ 2 xmltok-start) - xmltok-name-colon))) - -(defun xmltok-end-tag-local-name () - (buffer-substring-no-properties (if xmltok-name-colon - (1+ xmltok-name-colon) - (+ 2 xmltok-start)) - xmltok-name-end)) - -(defun xmltok-start-tag-qname () - (buffer-substring-no-properties (+ xmltok-start 1) xmltok-name-end)) - -(defun xmltok-end-tag-qname () - (buffer-substring-no-properties (+ xmltok-start 2) xmltok-name-end)) - -(defsubst xmltok-make-attribute (name-begin - name-colon - name-end - &optional - value-begin - value-end - raw-normalized-value) - "Make an attribute. RAW-NORMALIZED-VALUE is nil if the value is -not well-formed, t if the normalized value is the string between -VALUE-BEGIN and VALUE-END, otherwise a STRING giving the value." - (vector name-begin - name-colon - name-end - value-begin - value-end - raw-normalized-value - nil)) - -(defsubst xmltok-error-message (err) - (aref err 0)) - -(defsubst xmltok-error-start (err) - (aref err 1)) - -(defsubst xmltok-error-end (err) - (aref err 2)) - -(defsubst xmltok-make-error (message start end) - (vector message start end)) - -(defun xmltok-add-error (message &optional start end) - (setq xmltok-errors - (cons (xmltok-make-error message - (or start xmltok-start) - (or end (point))) - xmltok-errors))) - -(defun xmltok-add-dependent (fun &optional start end &rest args) - (setq xmltok-dependent-regions - (cons (cons fun - (cons (or start xmltok-start) - (cons (or end (point-max)) - args))) - xmltok-dependent-regions))) - -(defun xmltok-forward () - (setq xmltok-start (point)) - (let* ((case-fold-search nil) - (space-count (skip-chars-forward " \t\r\n")) - (ch (char-after))) - (cond ((eq ch ?\<) - (cond ((> space-count 0) - (setq xmltok-type 'space)) - (t - (goto-char (1+ (point))) - (xmltok-scan-after-lt)))) - ((eq ch ?\&) - (cond ((> space-count 0) - (setq xmltok-type 'space)) - (t - (goto-char (1+ (point))) - (xmltok-scan-after-amp - (lambda (start end) - (xmltok-handle-entity start end)))))) - ((re-search-forward "[<&]\\|\\(]]>\\)" nil t) - (cond ((not (match-beginning 1)) - (goto-char (match-beginning 0)) - ;; must have got a non-space char - (setq xmltok-type 'data)) - ((= (match-beginning 1) xmltok-start) - (xmltok-add-error "Found `]]>' not closing a CDATA section") - (setq xmltok-type 'not-well-formed)) - (t - (goto-char (match-beginning 0)) - (setq xmltok-type - (if (= (point) (+ xmltok-start space-count)) - 'space - 'data))))) - ((eq ch nil) - (setq xmltok-type - (if (> space-count 0) - 'space - nil))) - (t - (goto-char (point-max)) - (setq xmltok-type 'data))))) - -(defun xmltok-forward-special (bound) - "Scan forward past the first special token starting at or after point. -Return nil if there is no special token that starts before BOUND. -CDATA sections, processing instructions and comments (and indeed -anything starting with < following by ? or !) count -as special. Return the type of the token." - (when (re-search-forward "<[?!]" (1+ bound) t) - (setq xmltok-start (match-beginning 0)) - (goto-char (1+ xmltok-start)) - (let ((case-fold-search nil)) - (xmltok-scan-after-lt)))) - -(eval-when-compile - - ;; A symbolic regexp is represented by a list whose CAR is the string - ;; containing the regexp and whose cdr is a list of symbolic names - ;; for the groups in the string. - - ;; Construct a symbolic regexp from a regexp. - (defun xmltok-r (str) - (cons str nil)) - - ;; Concatenate zero of more regexps and symbolic regexps. - (defun xmltok+ (&rest args) - (let (strs names) - (while args - (let ((arg (car args))) - (if (stringp arg) - (setq strs (cons arg strs)) - (setq strs (cons (car arg) strs)) - (setq names (cons (cdr arg) names))) - (setq args (cdr args)))) - (cons (apply 'concat (nreverse strs)) - (apply 'append (nreverse names)))))) - -(eval-when-compile - ;; Make a symbolic group named NAME from the regexp R. - ;; R may be a symbolic regexp or an ordinary regexp. - (defmacro xmltok-g (name &rest r) - (let ((sym (make-symbol "r"))) - `(let ((,sym (xmltok+ ,@r))) - (if (stringp ,sym) - (cons (concat "\\(" ,sym "\\)") (cons ',name nil)) - (cons (concat "\\(" (car ,sym) "\\)") (cons ',name (cdr ,sym))))))) - - (defun xmltok-p (&rest r) (xmltok+ "\\(?:" - (apply 'xmltok+ r) - "\\)")) - - ;; Get the group index of ELEM in a LIST of symbols. - (defun xmltok-get-index (elem list) - (or elem - (error "Missing group name")) - (let ((found nil) - (i 1)) - (while list - (cond ((eq elem (car list)) - (setq found i) - (setq list nil)) - (t - (setq i (1+ i)) - (setq list (cdr list))))) - (or found - (error "Bad group name %s" elem)))) - - ;; Define a macro SYM using a symbolic regexp R. - ;; SYM can be called in three ways: - ;; (SYM regexp) - ;; expands to the regexp in R - ;; (SYM start G) - ;; expands to - ;; (match-beginning N) - ;; where N is the group index of G in R. - ;; (SYM end G) - ;; expands to - ;; (match-end N) - ;; where N is the group index of G in R. - (defmacro xmltok-defregexp (sym r) - `(defalias ',sym - (let ((r ,r)) - `(macro lambda (action &optional group-name) - (cond ((eq action 'regexp) - ,(car r)) - ((or (eq action 'start) (eq action 'beginning)) - (list 'match-beginning (xmltok-get-index group-name - ',(cdr r)))) - ((eq action 'end) - (list 'match-end (xmltok-get-index group-name - ',(cdr r)))) - ((eq action 'string) - (list 'match-string - (xmltok-get-index group-name ',(cdr r)))) - ((eq action 'string-no-properties) - (list 'match-string-no-properties - (xmltok-get-index group-name ',(cdr r)))) - (t (error "Invalid action: %s" action)))))))) - - -(eval-when-compile - (let* ((or "\\|") - (open "\\(?:") - (gopen "\\(") - (close "\\)") - (name-start-char "[_[:alpha:]]") - (name-continue-not-start-char "[-.[:digit:]]") - (name-continue-char "[-._[:alnum:]]") - (* "*") - (+ "+") - (opt "?") - (question "\\?") - (s "[ \r\t\n]") - (s+ (concat s +)) - (s* (concat s *)) - (ncname (concat name-start-char name-continue-char *)) - (entity-ref - (xmltok+ (xmltok-g entity-name ncname) - (xmltok-g entity-ref-close ";") opt)) - (decimal-ref - (xmltok+ (xmltok-g decimal "[0-9]" +) - (xmltok-g decimal-ref-close ";") opt)) - (hex-ref - (xmltok+ "x" open - (xmltok-g hex "[0-9a-fA-F]" +) - (xmltok-g hex-ref-close ";") opt - close opt)) - (char-ref - (xmltok+ (xmltok-g number-sign "#") - open decimal-ref or hex-ref close opt)) - (start-tag-close - (xmltok+ open (xmltok-g start-tag-close s* ">") - or open (xmltok-g empty-tag-slash s* "/") - (xmltok-g empty-tag-close ">") opt close - or (xmltok-g start-tag-s s+) - close)) - (start-tag - (xmltok+ (xmltok-g start-tag-name - ncname (xmltok-g start-tag-colon ":" ncname) opt) - start-tag-close opt)) - (end-tag - (xmltok+ (xmltok-g end-tag-slash "/") - open (xmltok-g end-tag-name - ncname - (xmltok-g end-tag-colon ":" ncname) opt) - (xmltok-g end-tag-close s* ">") opt - close opt)) - (comment - (xmltok+ (xmltok-g markup-declaration "!") - (xmltok-g comment-first-dash "-" - (xmltok-g comment-open "-") opt) opt)) - (cdata-section - (xmltok+ "!" - (xmltok-g marked-section-open "\\[") - open "C" - open "D" - open "A" - open "T" - open "A" - (xmltok-g cdata-section-open "\\[" ) opt - close opt ; A - close opt ; T - close opt ; A - close opt ; D - close opt)) ; C - (processing-instruction - (xmltok-g processing-instruction-question question))) - - (xmltok-defregexp xmltok-ncname (xmltok+ open ncname close)) - - (xmltok-defregexp xmltok-after-amp - (xmltok+ entity-ref or char-ref)) - (xmltok-defregexp xmltok-after-lt - (xmltok+ start-tag - or end-tag - ;; cdata-section must come before comment - ;; because we treat "))) - (xmltok-defregexp - xmltok-prolog - (let* ((single-char (xmltok-g single-char "[[|,(\"'>]")) - (internal-subset-close (xmltok-g internal-subset-close - "][ \t\r\n]*>")) - (starts-with-close-paren - (xmltok-g close-paren - ")" - (xmltok-p - (xmltok-g close-paren-occur "[+?]") - or - (xmltok-g close-paren-star "\\*")) - opt)) - (starts-with-percent - (xmltok-g percent - "%" (xmltok-g param-entity-ref - ncname - (xmltok-g param-entity-ref-close - ";") opt) opt)) - (starts-with-nmtoken-not-name - (xmltok-g nmtoken - (xmltok-p name-continue-not-start-char or ":") - (xmltok-p name-continue-char or ":") *)) - (nmtoken-after-colon - (xmltok+ - (xmltok-p name-continue-not-start-char or ":") - (xmltok-p name-continue-char or ":") * - or - name-start-char - name-continue-char * - ":" - (xmltok-p name-continue-char or ":") *)) - (after-ncname - (xmltok+ (xmltok-g ncname-nmtoken - ":" (xmltok-p nmtoken-after-colon)) - or (xmltok-p (xmltok-g colon ":" ncname) - (xmltok-g colon-name-occur "[?+*]") opt) - or (xmltok-g ncname-occur "[?+*]") - or (xmltok-g ncname-colon ":"))) - (starts-with-name - (xmltok-g name ncname (xmltok-p after-ncname) opt)) - (starts-with-hash - (xmltok-g pound - "#" (xmltok-g hash-name ncname))) - (markup-declaration - (xmltok-g markup-declaration - "!" (xmltok-p (xmltok-g comment-first-dash "-" - (xmltok-g comment-open "-") opt) - or (xmltok-g named-markup-declaration - ncname)) opt)) - (after-lt - (xmltok+ markup-declaration - or (xmltok-g processing-instruction-question - question) - or (xmltok-g instance-start - ncname))) - (starts-with-lt (xmltok-g less-than "<" (xmltok-p after-lt) opt))) - (xmltok+ starts-with-lt - or single-char - or starts-with-close-paren - or starts-with-percent - or starts-with-name - or starts-with-nmtoken-not-name - or starts-with-hash - or internal-subset-close))))) - -(defconst xmltok-ncname-regexp (xmltok-ncname regexp)) - -(defun xmltok-scan-after-lt () - (cond ((not (looking-at (xmltok-after-lt regexp))) - (xmltok-add-error "`<' that is not markup must be entered as `<'") - (setq xmltok-type 'not-well-formed)) - (t - (goto-char (match-end 0)) - (cond ((xmltok-after-lt start start-tag-close) - (setq xmltok-name-end - (xmltok-after-lt end start-tag-name)) - (setq xmltok-name-colon - (xmltok-after-lt start start-tag-colon)) - (setq xmltok-attributes nil) - (setq xmltok-namespace-attributes nil) - (setq xmltok-type 'start-tag)) - ((xmltok-after-lt start end-tag-close) - (setq xmltok-name-end - (xmltok-after-lt end end-tag-name)) - (setq xmltok-name-colon - (xmltok-after-lt start end-tag-colon)) - (setq xmltok-type 'end-tag)) - ((xmltok-after-lt start start-tag-s) - (setq xmltok-name-end - (xmltok-after-lt end start-tag-name)) - (setq xmltok-name-colon - (xmltok-after-lt start start-tag-colon)) - (setq xmltok-namespace-attributes nil) - (setq xmltok-attributes nil) - (xmltok-scan-attributes) - xmltok-type) - ((xmltok-after-lt start empty-tag-close) - (setq xmltok-name-end - (xmltok-after-lt end start-tag-name)) - (setq xmltok-name-colon - (xmltok-after-lt start start-tag-colon)) - (setq xmltok-attributes nil) - (setq xmltok-namespace-attributes nil) - (setq xmltok-type 'empty-element)) - ((xmltok-after-lt start cdata-section-open) - (setq xmltok-type - (if (search-forward "]]>" nil t) - 'cdata-section - (xmltok-add-error "No closing ]]>") - (xmltok-add-dependent 'xmltok-unclosed-reparse-p - nil - nil - "]]>") - 'not-well-formed))) - ((xmltok-after-lt start processing-instruction-question) - (xmltok-scan-after-processing-instruction-open)) - ((xmltok-after-lt start comment-open) - (xmltok-scan-after-comment-open)) - ((xmltok-after-lt start empty-tag-slash) - (setq xmltok-name-end - (xmltok-after-lt end start-tag-name)) - (setq xmltok-name-colon - (xmltok-after-lt start start-tag-colon)) - (setq xmltok-attributes nil) - (setq xmltok-namespace-attributes nil) - (xmltok-add-error "Expected `/>'" (1- (point))) - (setq xmltok-type 'partial-empty-element)) - ((xmltok-after-lt start start-tag-name) - (xmltok-add-error "Missing `>'" - nil - (1+ xmltok-start)) - (setq xmltok-name-end - (xmltok-after-lt end start-tag-name)) - (setq xmltok-name-colon - (xmltok-after-lt start start-tag-colon)) - (setq xmltok-namespace-attributes nil) - (setq xmltok-attributes nil) - (setq xmltok-type 'partial-start-tag)) - ((xmltok-after-lt start end-tag-name) - (setq xmltok-name-end (xmltok-after-lt end end-tag-name)) - (setq xmltok-name-colon - (xmltok-after-lt start end-tag-colon)) - (cond ((and (not xmltok-name-colon) - (eq (char-after) ?:)) - (goto-char (1+ (point))) - (xmltok-add-error "Expected name following `:'" - (1- (point)))) - (t - (xmltok-add-error "Missing `>'" - nil - (1+ xmltok-start)))) - (setq xmltok-type 'partial-end-tag)) - ((xmltok-after-lt start end-tag-slash) - (xmltok-add-error "Expected name following `'") - (setq xmltok-name-end nil) - (setq xmltok-name-colon nil) - (setq xmltok-type 'partial-end-tag)) - ((xmltok-after-lt start marked-section-open) - (xmltok-add-error "Expected `CDATA[' after `) in unclosed PI -(defun xmltok-scan-after-processing-instruction-open () - (cond ((not (search-forward "?>" nil t)) - (xmltok-add-error "No closing ?>" - xmltok-start - (+ xmltok-start 2)) - (xmltok-add-dependent 'xmltok-unclosed-reparse-p - nil - nil - "?>") - (setq xmltok-type 'not-well-formed)) - (t - (cond ((not (save-excursion - (goto-char (+ 2 xmltok-start)) - (and (looking-at (xmltok-ncname regexp)) - (setq xmltok-name-end (match-end 0))))) - (setq xmltok-name-end (+ xmltok-start 2)) - (xmltok-add-error " not followed by name" - (+ xmltok-start 2) - (+ xmltok-start 3))) - ((not (or (memq (char-after xmltok-name-end) - '(?\n ?\t ?\r ? )) - (= xmltok-name-end (- (point) 2)))) - (xmltok-add-error "Target not followed by whitespace" - xmltok-name-end - (1+ xmltok-name-end))) - ((and (= xmltok-name-end (+ xmltok-start 5)) - (save-excursion - (goto-char (+ xmltok-start 2)) - (let ((case-fold-search t)) - (looking-at "xml")))) - (xmltok-add-error "Processing instruction target is xml" - (+ xmltok-start 2) - (+ xmltok-start 5)))) - (setq xmltok-type 'processing-instruction)))) - -(defun xmltok-scan-after-comment-open () - (setq xmltok-type - (cond ((not (search-forward "--" nil t)) - (xmltok-add-error "No closing -->") - (xmltok-add-dependent 'xmltok-unclosed-reparse-p - nil - nil - ;; not --> because - ;; -- is not allowed - ;; in comments in XML - "--") - 'not-well-formed) - ((eq (char-after) ?>) - (goto-char (1+ (point))) - 'comment) - (t - (xmltok-add-dependent - 'xmltok-semi-closed-reparse-p - nil - (point) - "--" - 2) - ;; just include the ") - -(defvar js2-syntactic-ws-end - "\\s \\|[\n\r/]\\|\\s!") - -(defvar js2-syntactic-eol - (concat "\\s *\\(/\\*[^*\n\r]*" - "\\(\\*+[^*\n\r/][^*\n\r]*\\)*" - "\\*+/\\s *\\)*" - "\\(//\\|/\\*[^*\n\r]*" - "\\(\\*+[^*\n\r/][^*\n\r]*\\)*$" - "\\|\\\\$\\|$\\)") - "Copied from java-mode. Needed for some cc-engine functions.") - -(defvar js2-comment-prefix-regexp - "//+\\|\\**") - -(defvar js2-comment-start-skip - "\\(//+\\|/\\*+\\)\\s *") - -(defvar js2-mode-verbose-parse-p js2-mode-dev-mode-p - "Non-nil to emit status messages during parsing.") - -(defvar js2-mode-functions-hidden nil "private variable") -(defvar js2-mode-comments-hidden nil "private variable") - -(defvar js2-mode-syntax-table - (let ((table (make-syntax-table))) - (c-populate-syntax-table table) - table) - "Syntax table used in js2-mode buffers.") - -(defvar js2-mode-abbrev-table nil - "Abbrev table in use in `js2-mode' buffers.") -(define-abbrev-table 'js2-mode-abbrev-table ()) - -(defvar js2-mode-must-byte-compile (not js2-mode-dev-mode-p) - "Non-nil to have `js2-mode' signal an error if not byte-compiled.") - -(defvar js2-mode-pending-parse-callbacks nil - "List of functions waiting to be notified that parse is finished.") - -(defvar js2-mode-last-indented-line -1) - -(eval-when-compile - (defvar c-paragraph-start nil) - (defvar c-paragraph-separate nil) - (defvar c-syntactic-ws-start nil) - (defvar c-syntactic-ws-end nil) - (defvar c-syntactic-eol nil) - (defvar running-xemacs nil) - (defvar font-lock-mode nil) - (defvar font-lock-keywords nil)) - -(eval-when-compile - (if (< emacs-major-version 22) - (defun c-setup-paragraph-variables () nil))) - -(provide 'js2-vars) - -;;; js2-vars.el ends here -;;; js2-util.el -- JavaScript utilities - -;; Author: Steve Yegge (steve.yegge@gmail.com) -;; Keywords: javascript languages - -;;; Code - -(eval-when-compile - (require 'cl)) - - -;; Emacs21 compatibility, plus some stuff to avoid runtime dependency on CL - -(unless (fboundp #'looking-back) - (defun looking-back (regexp &optional limit greedy) - "Return non-nil if text before point matches regular expression REGEXP. -Like `looking-at' except matches before point, and is slower. -LIMIT if non-nil speeds up the search by specifying a minimum -starting position, to avoid checking matches that would start -before LIMIT. - -If GREEDY is non-nil, extend the match backwards as far as possible, -stopping when a single additional previous character cannot be part -of a match for REGEXP." - (let ((start (point)) - (pos - (save-excursion - (and (re-search-backward (concat "\\(?:" regexp "\\)\\=") limit t) - (point))))) - (if (and greedy pos) - (save-restriction - (narrow-to-region (point-min) start) - (while (and (> pos (point-min)) - (save-excursion - (goto-char pos) - (backward-char 1) - (looking-at (concat "\\(?:" regexp "\\)\\'")))) - (setq pos (1- pos))) - (save-excursion - (goto-char pos) - (looking-at (concat "\\(?:" regexp "\\)\\'"))))) - (not (null pos))))) - -(unless (fboundp #'copy-overlay) - (defun copy-overlay (o) - "Return a copy of overlay O." - (let ((o1 (make-overlay (overlay-start o) (overlay-end o) - ;; FIXME: there's no easy way to find the - ;; insertion-type of the two markers. - (overlay-buffer o))) - (props (overlay-properties o))) - (while props - (overlay-put o1 (pop props) (pop props))) - o1))) - -(unless (fboundp #'remove-overlays) - (defun remove-overlays (&optional beg end name val) - "Clear BEG and END of overlays whose property NAME has value VAL. -Overlays might be moved and/or split. -BEG and END default respectively to the beginning and end of buffer." - (unless beg (setq beg (point-min))) - (unless end (setq end (point-max))) - (if (< end beg) - (setq beg (prog1 end (setq end beg)))) - (save-excursion - (dolist (o (overlays-in beg end)) - (when (eq (overlay-get o name) val) - ;; Either push this overlay outside beg...end - ;; or split it to exclude beg...end - ;; or delete it entirely (if it is contained in beg...end). - (if (< (overlay-start o) beg) - (if (> (overlay-end o) end) - (progn - (move-overlay (copy-overlay o) - (overlay-start o) beg) - (move-overlay o end (overlay-end o))) - (move-overlay o (overlay-start o) beg)) - (if (> (overlay-end o) end) - (move-overlay o end (overlay-end o)) - (delete-overlay o)))))))) - -;; we don't want a runtime dependency on the CL package, so define -;; our own versions of these functions. - -(defun js2-delete-if (predicate list) - "Remove all items satisfying PREDICATE in LIST." - (loop for item in list - if (not (funcall predicate item)) - collect item)) - -(defun js2-position (element list) - "Find 0-indexed position of ELEMENT in LIST comparing with `eq'. -Returns nil if element is not found in the list." - (let ((count 0) - found) - (while (and list (not found)) - (if (eq element (car list)) - (setq found t) - (setq count (1+ count) - list (cdr list)))) - (if found count))) - -(defun js2-find-if (predicate list) - "Find first item satisfying PREDICATE in LIST." - (let (result) - (while (and list (not result)) - (if (funcall predicate (car list)) - (setq result (car list))) - (setq list (cdr list))) - result)) - -;;; end Emacs 21 compat - -(defmacro js2-time (form) - "Evaluate FORM, discard result, and return elapsed time in sec" - (let ((beg (make-symbol "--js2-time-beg--")) - (delta (make-symbol "--js2-time-end--"))) - `(let ((,beg (current-time)) - ,delta) - ,form - (/ (truncate (* (- (float-time (current-time)) - (float-time ,beg))) - 10000) - 10000.0)))) - -(def-edebug-spec js2-time t) - -(defsubst neq (expr1 expr2) - "Return (not (eq expr1 expr2))." - (not (eq expr1 expr2))) - -(defsubst js2-same-line (pos) - "Return t if POS is on the same line as current point." - (and (>= pos (point-at-bol)) - (<= pos (point-at-eol)))) - -(defsubst js2-same-line-2 (p1 p2) - "Return t if p1 is on the same line as p2." - (save-excursion - (goto-char p1) - (js2-same-line p2))) - -(defun js2-code-bug () - "Signal an error when we encounter an unexpected code path." - (error "failed assertion")) - -;; I'd like to associate errors with nodes, but for now the -;; easiest thing to do is get the context info from the last token. -(defsubst js2-record-parse-error (msg &optional arg pos len) - (push (list (list msg arg) - (or pos js2-token-beg) - (or len (- js2-token-end js2-token-beg))) - js2-parsed-errors)) - -(defsubst js2-report-error (msg &optional msg-arg pos len) - "Signal a syntax error or record a parse error." - (if js2-recover-from-parse-errors - (js2-record-parse-error msg msg-arg pos len) - (signal 'js2-syntax-error - (list msg - js2-ts-lineno - (save-excursion - (goto-char js2-ts-cursor) - (current-column)) - js2-ts-hit-eof)))) - -(defsubst js2-report-warning (msg &optional msg-arg pos len) - (if js2-compiler-report-warning-as-error - (js2-report-error msg msg-arg pos len) - (push (list (list msg msg-arg) - (or pos js2-token-beg) - (or len (- js2-token-end js2-token-beg))) - js2-parsed-warnings))) - -(defsubst js2-add-strict-warning (msg-id &optional msg-arg beg end) - (if js2-compiler-strict-mode - (js2-report-warning msg-id msg-arg beg - (and beg end (- end beg))))) - -(put 'js2-syntax-error 'error-conditions - '(error syntax-error js2-syntax-error)) -(put 'js2-syntax-error 'error-message "Syntax error") - -(put 'js2-parse-error 'error-conditions - '(error parse-error js2-parse-error)) -(put 'js2-parse-error 'error-message "Parse error") - -(defmacro js2-clear-flag (flags flag) - `(setq ,flags (logand ,flags (lognot ,flag)))) - -(defmacro js2-set-flag (flags flag) - "Logical-or FLAG into FLAGS." - `(setq ,flags (logior ,flags ,flag))) - -(defsubst js2-flag-set-p (flags flag) - (/= 0 (logand flags flag))) - -(defsubst js2-flag-not-set-p (flags flag) - (zerop (logand flags flag))) - -;; Stolen shamelessly from James Clark's nxml-mode. -(defmacro js2-with-unmodifying-text-property-changes (&rest body) - "Evaluate BODY without any text property changes modifying the buffer. -Any text properties changes happen as usual but the changes are not treated as -modifications to the buffer." - (let ((modified (make-symbol "modified"))) - `(let ((,modified (buffer-modified-p)) - (inhibit-read-only t) - (inhibit-modification-hooks t) - (buffer-undo-list t) - (deactivate-mark nil) - ;; Apparently these avoid file locking problems. - (buffer-file-name nil) - (buffer-file-truename nil)) - (unwind-protect - (progn ,@body) - (unless ,modified - (restore-buffer-modified-p nil)))))) - -(put 'js2-with-unmodifying-text-property-changes 'lisp-indent-function 0) -(def-edebug-spec js2-with-unmodifying-text-property-changes t) - -(defmacro js2-with-underscore-as-word-syntax (&rest body) - "Evaluate BODY with the _ character set to be word-syntax." - (let ((old-syntax (make-symbol "old-syntax"))) - `(let ((,old-syntax (string (char-syntax ?_)))) - (unwind-protect - (progn - (modify-syntax-entry ?_ "w" js2-mode-syntax-table) - ,@body) - (modify-syntax-entry ?_ ,old-syntax js2-mode-syntax-table))))) - -(put 'js2-with-underscore-as-word-syntax 'lisp-indent-function 0) -(def-edebug-spec js2-with-underscore-as-word-syntax t) - -(defmacro with-buffer (buf form) - "Executes FORM in buffer BUF. -BUF can be a buffer name or a buffer object. -If the buffer doesn't exist, it's created." - `(let ((buffer (gentemp))) - (setq buffer - (if (stringp ,buf) - (get-buffer-create ,buf) - ,buf)) - (save-excursion - (set-buffer buffer) - ,form))) - -(defsubst char-is-uppercase (c) - "Return t if C is an uppercase character. -Handles unicode and latin chars properly." - (/= c (downcase c))) - -(defsubst char-is-lowercase (c) - "Return t if C is an uppercase character. -Handles unicode and latin chars properly." - (/= c (upcase c))) - -(put 'with-buffer 'lisp-indent-function 1) -(def-edebug-spec with-buffer t) - -(provide 'js2-util) - -;;; js2-util.el ends here -;;; js2-scan.el --- JavaScript scanner - -;; Author: Steve Yegge (steve.yegge@gmail.com) -;; Keywords: javascript languages - -;;; Commentary: - -;; A port of Mozilla Rhino's scanner. -;; Corresponds to Rhino files Token.java and TokenStream.java. - -;;; Code: - - -(eval-when-compile - (require 'cl)) - -(defvar js2-tokens nil - "List of all defined token names.") ; intialized below - -(defvar js2-token-names - (let* ((names (make-vector js2-num-tokens -1)) - (case-fold-search nil) ; only match js2-UPPER_CASE - (syms (apropos-internal "^js2-\\(?:[A-Z_]+\\)"))) - (loop for sym in syms - for i from 0 - do - (unless (or (memq sym '(js2-EOF_CHAR js2-ERROR)) - (not (boundp sym))) - (aset names (symbol-value sym) ; code, e.g. 152 - (substring (symbol-name sym) 4)) ; name, e.g. "LET" - (push sym js2-tokens))) - names) - "Vector mapping int values to token string names, sans `js2-' prefix.") - -(defun js2-token-name (tok) - "Return a string name for TOK, a token symbol or code. -Signals an error if it's not a recognized token." - (let ((code tok)) - (if (symbolp tok) - (setq code (symbol-value tok))) - (if (eq code -1) - "ERROR" - (if (and (numberp code) - (not (minusp code)) - (< code js2-num-tokens)) - (aref js2-token-names code) - (error "Invalid token: %s" code))))) - -(defsubst js2-token-sym (tok) - "Return symbol for TOK given its code, e.g. 'js2-LP for code 86." - (intern (js2-token-name tok))) - -(defvar js2-token-codes - (let ((table (make-hash-table :test 'eq :size 256))) - (loop for name across js2-token-names - for sym = (intern (concat "js2-" name)) - do - (puthash sym (symbol-value sym) table)) - ;; clean up a few that are "wrong" in Rhino's token codes - (puthash 'js2-DELETE js2-DELPROP table) - table) - "Hashtable mapping token symbols to their bytecodes.") - -(defsubst js2-token-code (sym) - "Return code for token symbol SYM, e.g. 86 for 'js2-LP." - (or (gethash sym js2-token-codes) - (error "Invalid token symbol: %s " sym))) ; signal code bug - -(defsubst js2-report-scan-error (msg &optional no-throw beg len) - (setq js2-token-end js2-ts-cursor) - (js2-report-error msg nil - (or beg js2-token-beg) - (or len (- js2-token-end js2-token-beg))) - (unless no-throw - (throw 'return js2-ERROR))) - -(defsubst js2-get-string-from-buffer () - "Reverse the char accumulator and return it as a string." - (setq js2-token-end js2-ts-cursor) - (if js2-ts-string-buffer - (apply #'string (nreverse js2-ts-string-buffer)) - "")) - -;; TODO: could potentially avoid a lot of consing by allocating a -;; char buffer the way Rhino does. -(defsubst js2-add-to-string (c) - (push c js2-ts-string-buffer)) - -;; Note that when we "read" the end-of-file, we advance js2-ts-cursor -;; to (1+ (point-max)), which lets the scanner treat end-of-file like -;; any other character: when it's not part of the current token, we -;; unget it, allowing it to be read again by the following call. -(defsubst js2-unget-char () - (decf js2-ts-cursor)) - -;; Rhino distinguishes \r and \n line endings. We don't need to -;; because we only scan from Emacs buffers, which always use \n. -(defsubst js2-get-char () - "Read and return the next character from the input buffer. -Increments `js2-ts-lineno' if the return value is a newline char. -Updates `js2-ts-cursor' to the point after the returned char. -Returns `js2-EOF_CHAR' if we hit the end of the buffer. -Also updates `js2-ts-hit-eof' and `js2-ts-line-start' as needed." - (let (c) - ;; check for end of buffer - (if (>= js2-ts-cursor (point-max)) - (setq js2-ts-hit-eof t - js2-ts-cursor (1+ js2-ts-cursor) - c js2-EOF_CHAR) ; return value - - ;; otherwise read next char - (setq c (char-before (incf js2-ts-cursor))) - - ;; if we read a newline, update counters - (if (= c ?\n) - (setq js2-ts-line-start js2-ts-cursor - js2-ts-lineno (1+ js2-ts-lineno))) - - ;; TODO: skip over format characters - c))) - -(defsubst js2-read-unicode-escape () - "Read a \\uNNNN sequence from the input. -Assumes the ?\ and ?u have already been read. -Returns the unicode character, or nil if it wasn't a valid character. -Doesn't change the values of any scanner variables." - ;; I really wish I knew a better way to do this, but I can't - ;; find the Emacs function that takes a 16-bit int and converts - ;; it to a Unicode/utf-8 character. So I basically eval it with (read). - ;; Have to first check that it's 4 hex characters or it may stop - ;; the read early. - (ignore-errors - (let ((s (buffer-substring-no-properties js2-ts-cursor - (+ 4 js2-ts-cursor)))) - (if (string-match "[a-zA-Z0-9]\\{4\\}" s) - (read (concat "?\\u" s)))))) - -(defsubst js2-match-char (test) - "Consume and return next character if it matches TEST, a character. -Returns nil and consumes nothing if TEST is not the next character." - (let ((c (js2-get-char))) - (if (eq c test) - t - (js2-unget-char) - nil))) - -(defsubst js2-peek-char () - (prog1 - (js2-get-char) - (js2-unget-char))) - -(defsubst js2-java-identifier-start-p (c) - (or - (memq c '(?$ ?_)) - (char-is-uppercase c) - (char-is-lowercase c))) - -(defsubst js2-java-identifier-part-p (c) - "Implementation of java.lang.Character.isJavaIdentifierPart()" - ;; TODO: make me Unicode-friendly. See comments above. - (or - (memq c '(?$ ?_)) - (char-is-uppercase c) - (char-is-lowercase c) - (and (>= c ?0) (<= c ?9)))) - -(defsubst js2-alpha-p (c) - ;; Use 'Z' < 'a' - (if (<= c ?Z) - (<= ?A c) - (and (<= ?a c) - (<= c ?z)))) - -(defsubst js2-digit-p (c) - (and (<= ?0 c) (<= c ?9))) - -(defsubst js2-js-space-p (c) - (if (<= c 127) - (memq c '(#x20 #x9 #xC #xB)) - (or - (eq c #xA0) - ;; TODO: change this nil to check for Unicode space character - nil))) - -(defsubst js2-skip-line () - "Skip to end of line" - (let (c) - (while (and (/= js2-EOF_CHAR (setq c (js2-get-char))) - (/= c ?\n))) - (js2-unget-char) - (setq js2-token-end js2-ts-cursor))) - -(defun js2-init-scanner (&optional buf line) - "Create token stream for BUF starting on LINE. -BUF defaults to current-buffer and line defaults to 1. - -A buffer can only have one scanner active at a time, which yields -dramatically simpler code than using a defstruct. If you need to -have simultaneous scanners in a buffer, copy the regions to scan -into temp buffers." - (save-excursion - (when buf - (set-buffer buf)) - (setq js2-ts-dirty-line nil - js2-ts-regexp-flags nil - js2-ts-string "" - js2-ts-number nil - js2-ts-hit-eof nil - js2-ts-line-start 0 - js2-ts-lineno (or line 1) - js2-ts-line-end-char -1 - js2-ts-cursor (point-min) - js2-ts-is-xml-attribute nil - js2-ts-xml-is-tag-content nil - js2-ts-xml-open-tags-count 0 - js2-ts-string-buffer nil))) - -;; This function uses the cached op, string and number fields in -;; TokenStream; if getToken has been called since the passed token -;; was scanned, the op or string printed may be incorrect. -(defun js2-token-to-string (token) - ;; Not sure where this function is used in Rhino. Not tested. - (if (not js2-debug-print-trees) - "" - (let ((name (js2-token-name token))) - (cond - ((memq token (list js2-STRING js2-REGEXP js2-NAME)) - (concat name " `" js2-ts-string "'")) - ((eq token js2-NUMBER) - (format "NUMBER %g" js2-ts-number)) - (t - name))))) - -(defconst js2-keywords - '(break - case catch const continue - debugger default delete do - else enum - false finally for function - if in instanceof import - let - new null - return - switch - this throw true try typeof - var void - while with - yield)) - -;; Token names aren't exactly the same as the keywords, unfortunately. -;; E.g. enum isn't in the tokens, and delete is js2-DELPROP. -(defconst js2-kwd-tokens - (let ((table (make-vector js2-num-tokens nil)) - (tokens - (list js2-BREAK - js2-CASE js2-CATCH js2-CONST js2-CONTINUE - js2-DEBUGGER js2-DEFAULT js2-DELPROP js2-DO - js2-ELSE - js2-FALSE js2-FINALLY js2-FOR js2-FUNCTION - js2-IF js2-IN js2-INSTANCEOF js2-IMPORT - js2-LET - js2-NEW js2-NULL - js2-RETURN - js2-SWITCH - js2-THIS js2-THROW js2-TRUE js2-TRY js2-TYPEOF - js2-VAR - js2-WHILE js2-WITH - js2-YIELD))) - (dolist (i tokens) - (aset table i 'font-lock-keyword-face)) - (aset table js2-STRING 'font-lock-string-face) - (aset table js2-REGEXP 'font-lock-string-face) - (aset table js2-COMMENT 'font-lock-comment-face) - (aset table js2-THIS 'font-lock-builtin-face) - (aset table js2-VOID 'font-lock-constant-face) - (aset table js2-NULL 'font-lock-constant-face) - (aset table js2-TRUE 'font-lock-constant-face) - (aset table js2-FALSE 'font-lock-constant-face) - table) - "Vector whose values are non-nil for tokens that are keywords. -The values are default faces to use for highlighting the keywords.") - -(defconst js2-reserved-words - '(abstract - boolean byte - char class - double - enum extends - final float - goto - implements int interface - long - native - package private protected public - short static super synchronized - throws transient - volatile)) - -(defconst js2-keyword-names - (let ((table (make-hash-table :test 'equal))) - (loop for k in js2-keywords - do (puthash - (symbol-name k) ; instanceof - (intern (concat "js2-" - (upcase (symbol-name k)))) ; js2-INSTANCEOF - table)) - table) - "JavaScript keywords by name, mapped to their symbols.") - -(defconst js2-reserved-word-names - (let ((table (make-hash-table :test 'equal))) - (loop for k in js2-reserved-words - do - (puthash (symbol-name k) 'js2-RESERVED table)) - table) - "JavaScript reserved words by name, mapped to 'js2-RESERVED.") - -(defsubst js2-collect-string (buf) - "Convert BUF, a list of chars, to a string. -Reverses BUF before converting." - (cond - ((stringp buf) - buf) - ((null buf) ; for emacs21 compat - "") - (t - (if buf - (apply #'string (nreverse buf)) - "")))) - -(defun js2-string-to-keyword (s) - "Return token for S, a string, if S is a keyword or reserved word. -Returns a symbol such as 'js2-BREAK, or nil if not keyword/reserved." - (or (gethash s js2-keyword-names) - (gethash s js2-reserved-word-names))) - -(defsubst js2-ts-set-char-token-bounds () - "Used when next token is one character." - (setq js2-token-beg (1- js2-ts-cursor) - js2-token-end js2-ts-cursor)) - -(defsubst js2-ts-return (token) - "Return an N-character TOKEN from `js2-get-token'. -Updates `js2-token-end' accordingly." - (setq js2-token-end js2-ts-cursor) - (throw 'return token)) - -(defsubst js2-x-digit-to-int (c accumulator) - "Build up a hex number. -If C is a hexadecimal digit, return ACCUMULATOR * 16 plus -corresponding number. Otherwise return -1." - (catch 'return - (catch 'check - ;; Use 0..9 < A..Z < a..z - (cond - ((<= c ?9) - (decf c ?0) - (if (<= 0 c) - (throw 'check nil))) - ((<= c ?F) - (when (<= ?A c) - (decf c (- ?A 10)) - (throw 'check nil))) - ((<= c ?f) - (when (<= ?a c) - (decf c (- ?a 10)) - (throw 'check nil)))) - (throw 'return -1)) - (logior c (lsh accumulator 4)))) - -(defun js2-get-token () - "Return next JavaScript token, an int such as js2-RETURN." - (let (c - c1 - identifier-start - is-unicode-escape-start - contains-escape - escape-val - escape-start - str - result - base - is-integer - quote-char - val - look-for-slash - continue) - (catch 'return - (while t - ;; Eat whitespace, possibly sensitive to newlines. - (setq continue t) - (while continue - (setq c (js2-get-char)) - (cond - ((eq c js2-EOF_CHAR) - (js2-ts-set-char-token-bounds) - (throw 'return js2-EOF)) - ((eq c ?\n) - (js2-ts-set-char-token-bounds) - (setq js2-ts-dirty-line nil) - (throw 'return js2-EOL)) - ((not (js2-js-space-p c)) - (if (/= c ?-) ; in case end of HTML comment - (setq js2-ts-dirty-line t)) - (setq continue nil)))) - - ;; Assume the token will be 1 char - fixed up below. - (js2-ts-set-char-token-bounds) - - (when (eq c ?@) - (throw 'return js2-XMLATTR)) - - ;; identifier/keyword/instanceof? - ;; watch out for starting with a- (cond - ((eq c ?\\) - (setq c (js2-get-char)) - (if (eq c ?u) - (setq identifier-start t - is-unicode-escape-start t - js2-ts-string-buffer nil) - (setq identifier-start nil) - (js2-unget-char) - (setq c ?\\))) - (t - (when (setq identifier-start (js2-java-identifier-start-p c)) - (setq js2-ts-string-buffer nil) - (js2-add-to-string c)))) - - (when identifier-start - (setq contains-escape is-unicode-escape-start) - (catch 'break - (while t - (if is-unicode-escape-start - ;; strictly speaking we should probably push-back - ;; all the bad characters if the uXXXX - ;; sequence is malformed. But since there isn't a - ;; correct context(is there?) for a bad Unicode - ;; escape sequence in an identifier, we can report - ;; an error here. - (progn - (setq escape-val 0) - (dotimes (i 4) - (setq c (js2-get-char) - escape-val (js2-x-digit-to-int c escape-val)) - ;; Next check takes care of c < 0 and bad escape - (if (minusp escape-val) - (throw 'break nil))) - (if (minusp escape-val) - (js2-report-scan-error "msg.invalid.escape" t)) - (js2-add-to-string escape-val) - (setq is-unicode-escape-start nil)) - (setq c (js2-get-char)) - (cond - ((eq c ?\\) - (setq c (js2-get-char)) - (if (eq c ?u) - (setq is-unicode-escape-start t - contains-escape t) - (js2-report-scan-error "msg.illegal.character" t))) - (t - (if (or (eq c js2-EOF_CHAR) - (not (js2-java-identifier-part-p c))) - (throw 'break nil)) - (js2-add-to-string c)))))) - (js2-unget-char) - - (setq str (js2-get-string-from-buffer)) - (unless contains-escape - ;; OPT we shouldn't have to make a string (object!) to - ;; check if it's a keyword. - - ;; Return the corresponding token if it's a keyword - (when (setq result (js2-string-to-keyword str)) - (if (and (< js2-language-version 170) - (memq result '(js2-LET js2-YIELD))) - ;; LET and YIELD are tokens only in 1.7 and later - (setq result 'js2-NAME)) - (if (neq result js2-RESERVED) - (throw 'return (js2-token-code result))) - (js2-report-warning "msg.reserved.keyword" str))) - - ;; If we want to intern these as Rhino does, just use (intern str) - (setq js2-ts-string str) - (throw 'return js2-NAME)) ; end identifier/kwd check - - ;; is it a number? - (when (or (js2-digit-p c) - (and (eq c ?.) (js2-digit-p (js2-peek-char)))) - (setq js2-ts-string-buffer nil - base 10) - (when (eq c ?0) - (setq c (js2-get-char)) - (cond - ((or (eq c ?x) (eq c ?X)) - (setq base 16) - (setq c (js2-get-char))) - ((js2-digit-p c) - (setq base 8)) - (t - (js2-add-to-string ?0)))) - - (if (eq base 16) - (while (<= 0 (js2-x-digit-to-int c 0)) - (js2-add-to-string c) - (setq c (js2-get-char))) - (while (and (<= ?0 c) (<= c ?9)) - ;; We permit 08 and 09 as decimal numbers, which - ;; makes our behavior a superset of the ECMA - ;; numeric grammar. We might not always be so - ;; permissive, so we warn about it. - (when (and (eq base 8) (>= c ?8)) - (js2-report-warning "msg.bad.octal.literal" - (if (eq c ?8) "8" "9")) - (setq base 10)) - (js2-add-to-string c) - (setq c (js2-get-char)))) - - (setq is-integer t) - - (when (and (eq base 10) (memq c '(?. ?e ?E))) - (setq is-integer nil) - (when (eq c ?.) - (loop do - (js2-add-to-string c) - (setq c (js2-get-char)) - while (js2-digit-p c))) - (when (memq c '(?e ?E)) - (js2-add-to-string c) - (setq c (js2-get-char)) - (when (memq c '(?+ ?-)) - (js2-add-to-string c) - (setq c (js2-get-char))) - (unless (js2-digit-p c) - (js2-report-scan-error "msg.missing.exponent" t)) - (loop do - (js2-add-to-string c) - (setq c (js2-get-char)) - while (js2-digit-p c)))) - - (js2-unget-char) - (setq js2-ts-string (js2-get-string-from-buffer) - js2-ts-number - (if (and (eq base 10) (not is-integer)) - (string-to-number js2-ts-string) - ;; TODO: call runtime number-parser. Some of it is in - ;; js2-util.el, but I need to port ScriptRuntime.stringToNumber. - (string-to-number js2-ts-string))) - (throw 'return js2-NUMBER)) - - ;; is it a string? - (when (memq c '(?\" ?\')) - ;; We attempt to accumulate a string the fast way, by - ;; building it directly out of the reader. But if there - ;; are any escaped characters in the string, we revert to - ;; building it out of a string buffer. - (setq quote-char c - js2-ts-string-buffer nil - c (js2-get-char)) - (catch 'break - (while (/= c quote-char) - (catch 'continue - (when (or (eq c ?\n) (eq c js2-EOF_CHAR)) - (js2-unget-char) - (setq js2-token-end js2-ts-cursor) - (js2-report-error "msg.unterminated.string.lit") - (throw 'return js2-STRING)) - - (when (eq c ?\\) - ;; We've hit an escaped character - (setq c (js2-get-char)) - (case c - (?b (setq c ?\b)) - (?f (setq c ?\f)) - (?n (setq c ?\n)) - (?r (setq c ?\r)) - (?t (setq c ?\t)) - (?v (setq c ?\v)) - (?u - (setq c1 (js2-read-unicode-escape)) - (if js2-parse-ide-mode - (if c1 - (progn - ;; just copy the string in IDE-mode - (js2-add-to-string ?\\) - (js2-add-to-string ?u) - (dotimes (i 3) - (js2-add-to-string (js2-get-char))) - (setq c (js2-get-char))) ; added at end of loop - ;; flag it as an invalid escape - (js2-report-warning "msg.invalid.escape" - nil (- js2-ts-cursor 2) 6)) - ;; Get 4 hex digits; if the u escape is not - ;; followed by 4 hex digits, use 'u' + the - ;; literal character sequence that follows. - (js2-add-to-string ?u) - (setq escape-val 0) - (dotimes (i 4) - (setq c (js2-get-char) - escape-val (js2-x-digit-to-int c escape-val)) - (if (minusp escape-val) - (throw 'continue nil)) - (js2-add-to-string c)) - ;; prepare for replace of stored 'u' sequence by escape value - (setq js2-ts-string-buffer (nthcdr 5 js2-ts-string-buffer) - c escape-val))) - (?x - ;; Get 2 hex digits, defaulting to 'x'+literal - ;; sequence, as above. - (setq c (js2-get-char) - escape-val (js2-x-digit-to-int c 0)) - (if (minusp escape-val) - (progn - (js2-add-to-string ?x) - (throw 'continue nil)) - (setq c1 c - c (js2-get-char) - escape-val (js2-x-digit-to-int c escape-val)) - (if (minusp escape-val) - (progn - (js2-add-to-string ?x) - (js2-add-to-string c1) - (throw 'continue nil)) - ;; got 2 hex digits - (setq c escape-val)))) - (?\n - ;; Remove line terminator after escape to follow - ;; SpiderMonkey and C/C++ - (setq c (js2-get-char)) - (throw 'continue nil)) - (t - (when (and (<= ?0 c) (< c ?8)) - (setq val (- c ?0) - c (js2-get-char)) - (when (and (<= ?0 c) (< c ?8)) - (setq val (- (+ (* 8 val) c) ?0) - c (js2-get-char)) - (when (and (<= ?0 c) - (< c ?8) - (< val #o37)) - ;; c is 3rd char of octal sequence only - ;; if the resulting val <= 0377 - (setq val (- (+ (* 8 val) c) ?0) - c (js2-get-char)))) - (js2-unget-char) - (setq c val))))) - (js2-add-to-string c) - (setq c (js2-get-char))))) - (setq js2-ts-string (js2-get-string-from-buffer)) - (throw 'return js2-STRING)) - - (case c - (?\; - (throw 'return js2-SEMI)) - (?\[ - (throw 'return js2-LB)) - (?\] - (throw 'return js2-RB)) - (?{ - (throw 'return js2-LC)) - (?} - (throw 'return js2-RC)) - (?\( - (throw 'return js2-LP)) - (?\) - (throw 'return js2-RP)) - (?, - (throw 'return js2-COMMA)) - (?? - (throw 'return js2-HOOK)) - (?: - (if (js2-match-char ?:) - (js2-ts-return js2-COLONCOLON) - (throw 'return js2-COLON))) - (?. - (if (js2-match-char ?.) - (js2-ts-return js2-DOTDOT) - (if (js2-match-char ?\() - (js2-ts-return js2-DOTQUERY) - (throw 'return js2-DOT)))) - (?| - (if (js2-match-char ?|) - (throw 'return js2-OR) - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_BITOR) - (throw 'return js2-BITOR)))) - (?^ - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_BITOR) - (throw 'return js2-BITXOR))) - (?& - (if (js2-match-char ?&) - (throw 'return js2-AND) - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_BITAND) - (throw 'return js2-BITAND)))) - (?= - (if (js2-match-char ?=) - (if (js2-match-char ?=) - (js2-ts-return js2-SHEQ) - (throw 'return js2-EQ)) - (throw 'return js2-ASSIGN))) - (?! - (if (js2-match-char ?=) - (if (js2-match-char ?=) - (js2-ts-return js2-SHNE) - (js2-ts-return js2-NE)) - (throw 'return js2-NOT))) - (?< - ;; NB:treat HTML begin-comment as comment-till-eol - (when (js2-match-char ?!) - (when (js2-match-char ?-) - (when (js2-match-char ?-) - (js2-skip-line) - (setq js2-ts-comment-type 'html) - (throw 'return js2-COMMENT))) - (js2-unget-char)) - - (if (js2-match-char ?<) - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_LSH) - (js2-ts-return js2-LSH)) - (if (js2-match-char ?=) - (js2-ts-return js2-LE) - (throw 'return js2-LT)))) - (?> - (if (js2-match-char ?>) - (if (js2-match-char ?>) - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_URSH) - (js2-ts-return js2-URSH)) - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_RSH) - (js2-ts-return js2-RSH))) - (if (js2-match-char ?=) - (js2-ts-return js2-GE) - (throw 'return js2-GT)))) - (?* - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_MUL) - (throw 'return js2-MUL))) - - (?/ - ;; is it a // comment? - (when (js2-match-char ?/) - (setq js2-token-beg (- js2-ts-cursor 2)) - (js2-skip-line) - (setq js2-ts-comment-type 'line) - (throw 'return js2-COMMENT)) - - ;; is it a /* comment? - (when (js2-match-char ?*) - (setq look-for-slash nil - js2-token-beg (- js2-ts-cursor 2) - js2-ts-comment-type - (if (js2-match-char ?*) - (progn - (setq look-for-slash t) - 'jsdoc) - 'block)) - (while t - (setq c (js2-get-char)) - (cond - ((eq c js2-EOF_CHAR) - (setq js2-token-end (1- js2-ts-cursor)) - (js2-report-error "msg.unterminated.comment") - (throw 'return js2-COMMENT)) - ((eq c ?*) - (setq look-for-slash t)) - ((eq c ?/) - (if look-for-slash - (js2-ts-return js2-COMMENT))) - (t - (setq look-for-slash nil - js2-token-end js2-ts-cursor))))) - - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_DIV) - (throw 'return js2-DIV))) - - (?# - (when js2-skip-preprocessor-directives - (js2-skip-line) - (setq js2-ts-comment-type 'preprocessor - js2-token-end js2-ts-cursor) - (throw 'return js2-COMMENT)) - (throw 'return js2-ERROR)) - - (?% - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_MOD) - (throw 'return js2-MOD))) - (?~ - (throw 'return js2-BITNOT)) - (?+ - (if (js2-match-char ?=) - (js2-ts-return js2-ASSIGN_ADD) - (if (js2-match-char ?+) - (js2-ts-return js2-INC) - (throw 'return js2-ADD)))) - (?- - (cond - ((js2-match-char ?=) - (setq c js2-ASSIGN_SUB)) - ((js2-match-char ?-) - (unless js2-ts-dirty-line - ;; treat HTML end-comment after possible whitespace - ;; after line start as comment-until-eol - (when (js2-match-char ?>) - (js2-skip-line) - (setq js2-ts-comment-type 'html) - (throw 'return js2-COMMENT))) - (setq c js2-DEC)) - (t - (setq c js2-SUB))) - (setq js2-ts-dirty-line t) - (js2-ts-return c)) - - (otherwise - (js2-report-scan-error "msg.illegal.character"))))))) - -(defun js2-read-regexp (start-token) - "Called by parser when it gets / or /= in literal context." - (let (c - err - in-class ; inside a '[' .. ']' character-class - flags - (continue t)) - (setq js2-token-beg js2-ts-cursor - js2-ts-string-buffer nil - js2-ts-regexp-flags nil) - - (if (eq start-token js2-ASSIGN_DIV) - ;; mis-scanned /= - (js2-add-to-string ?=) - (if (neq start-token js2-DIV) - (error "failed assertion"))) - - (while (and (not err) - (or (/= (setq c (js2-get-char)) ?/) - in-class)) - (cond - ((or (= c ?\n) - (= c js2-EOF_CHAR)) - (setq js2-token-end (1- js2-ts-cursor) - err t - js2-ts-string (js2-collect-string js2-ts-string-buffer)) - (js2-report-error "msg.unterminated.re.lit")) - (t (cond - ((= c ?\\) - (js2-add-to-string c) - (setq c (js2-get-char))) - - ((= c ?\[) - (setq in-class t)) - - ((= c ?\]) - (setq in-class nil))) - (js2-add-to-string c)))) - - (unless err - (while continue - (cond - ((js2-match-char ?g) - (push ?g flags)) - ((js2-match-char ?i) - (push ?i flags)) - ((js2-match-char ?m) - (push ?m flags)) - (t - (setq continue nil)))) - (if (js2-alpha-p (js2-peek-char)) - (js2-report-scan-error "msg.invalid.re.flag" t - js2-ts-cursor 1)) - (setq js2-ts-string (js2-collect-string js2-ts-string-buffer) - js2-ts-regexp-flags (js2-collect-string flags) - js2-token-end js2-ts-cursor) - ;; tell `parse-partial-sexp' to ignore this range of chars - (put-text-property js2-token-beg js2-token-end 'syntax-class '(2))))) - -(defun js2-get-first-xml-token () - (setq js2-ts-xml-open-tags-count 0 - js2-ts-is-xml-attribute nil - js2-ts-xml-is-tag-content nil) - (js2-unget-char) - (js2-get-next-xml-token)) - -(defsubst js2-xml-discard-string () - "Throw away the string in progress and flag an XML parse error." - (setq js2-ts-string-buffer nil - js2-ts-string nil) - (js2-report-scan-error "msg.XML.bad.form" t)) - -(defun js2-get-next-xml-token () - (setq js2-ts-string-buffer nil ; for recording the XML - js2-token-beg js2-ts-cursor) - (let (c result) - (setq result - (catch 'return - (while t - (setq c (js2-get-char)) - (cond - ((= c js2-EOF_CHAR) - (throw 'return js2-ERROR)) - - (js2-ts-xml-is-tag-content - (case c - (?> - (js2-add-to-string c) - (setq js2-ts-xml-is-tag-content nil - js2-ts-is-xml-attribute nil)) - (?/ - (js2-add-to-string c) - (when (eq ?> (js2-peek-char)) - (setq c (js2-get-char)) - (js2-add-to-string c) - (setq js2-ts-xml-is-tag-content nil) - (decf js2-ts-xml-open-tags-count))) - (?{ - (js2-unget-char) - (setq js2-ts-string (js2-get-string-from-buffer)) - (throw 'return js2-XML)) - ((?\' ?\") - (js2-add-to-string c) - (unless (js2-read-quoted-string c) - (throw 'return js2-ERROR))) - (?= - (js2-add-to-string c) - (setq js2-ts-is-xml-attribute t)) - ((? ?\t ?\r ?\n) - (js2-add-to-string c)) - (t - (js2-add-to-string c) - (setq js2-ts-is-xml-attribute nil))) - (when (and (not js2-ts-xml-is-tag-content) - (zerop js2-ts-xml-open-tags-count)) - (setq js2-ts-string (js2-get-string-from-buffer)) - (throw 'return js2-XMLEND))) - - (t - ;; else not tag content - (case c - (?< - (js2-add-to-string c) - (setq c (js2-peek-char)) - (case c - (?! - (setq c (js2-get-char)) ;; skip ! - (js2-add-to-string c) - (setq c (js2-peek-char)) - (case c - (?- - (setq c (js2-get-char)) ;; skip - - (js2-add-to-string c) - (if (eq c ?-) - (progn - (js2-add-to-string c) - (unless (js2-read-xml-comment) - (throw 'return js2-ERROR))) - (js2-xml-discard-string) - (throw 'return js2-ERROR))) - (?\[ - (setq c (js2-get-char)) ;; skip [ - (js2-add-to-string c) - (if (and (= (js2-get-char) ?C) - (= (js2-get-char) ?D) - (= (js2-get-char) ?A) - (= (js2-get-char) ?T) - (= (js2-get-char) ?A) - (= (js2-get-char) ?\[)) - (progn - (js2-add-to-string ?C) - (js2-add-to-string ?D) - (js2-add-to-string ?A) - (js2-add-to-string ?T) - (js2-add-to-string ?A) - (js2-add-to-string ?\[) - (unless (js2-read-cdata) - (throw 'return js2-ERROR))) - (js2-xml-discard-string) - (throw 'return js2-ERROR))) - (t - (unless (js2-read-entity) - (throw 'return js2-ERROR))))) - (?? - (setq c (js2-get-char)) ;; skip ? - (js2-add-to-string c) - (unless (js2-read-PI) - (throw 'return js2-ERROR))) - (?/ - ;; end tag - (setq c (js2-get-char)) ;; skip / - (js2-add-to-string c) - (when (zerop js2-ts-xml-open-tags-count) - (js2-xml-discard-string) - (throw 'return js2-ERROR)) - (setq js2-ts-xml-is-tag-content t) - (decf js2-ts-xml-open-tags-count)) - (t - ;; start tag - (setq js2-ts-xml-is-tag-content t) - (incf js2-ts-xml-open-tags-count)))) - (?{ - (js2-unget-char) - (setq js2-ts-string (js2-get-string-from-buffer)) - (throw 'return js2-XML)) - (t - (js2-add-to-string c)))))))) - (setq js2-token-end js2-ts-cursor) - result)) - -(defun js2-read-quoted-string (quote) - (let (c) - (catch 'return - (while (/= (setq c (js2-get-char)) js2-EOF_CHAR) - (js2-add-to-string c) - (if (eq c quote) - (throw 'return t))) - (js2-xml-discard-string) ;; throw away string in progress - nil))) - -(defun js2-read-xml-comment () - (let ((c (js2-get-char))) - (catch 'return - (while (/= c js2-EOF_CHAR) - (catch 'continue - (js2-add-to-string c) - (when (and (eq c ?-) (eq ?- (js2-peek-char))) - (setq c (js2-get-char)) - (js2-add-to-string c) - (if (eq (js2-peek-char) ?>) - (progn - (setq c (js2-get-char)) ;; skip > - (js2-add-to-string c) - (throw 'return t)) - (throw 'continue nil))) - (setq c (js2-get-char)))) - (js2-xml-discard-string) - nil))) - -(defun js2-read-cdata () - (let ((c (js2-get-char))) - (catch 'return - (while (/= c js2-EOF_CHAR) - (catch 'continue - (js2-add-to-string c) - (when (and (eq c ?\]) (eq (js2-peek-char) ?\])) - (setq c (js2-get-char)) - (js2-add-to-string c) - (if (eq (js2-peek-char) ?>) - (progn - (setq c (js2-get-char)) ;; Skip > - (js2-add-to-string c) - (throw 'return t)) - (throw 'continue nil))) - (setq c (js2-get-char)))) - (js2-xml-discard-string) - nil))) - -(defun js2-read-entity () - (let ((decl-tags 1) - c) - (catch 'return - (while (/= js2-EOF_CHAR (setq c (js2-get-char))) - (js2-add-to-string c) - (case c - (?< - (incf decl-tags)) - (?> - (decf decl-tags) - (if (zerop decl-tags) - (throw 'return t))))) - (js2-xml-discard-string) - nil))) - -(defun js2-read-PI () - "Scan an XML processing instruction." - (let (c) - (catch 'return - (while (/= js2-EOF_CHAR (setq c (js2-get-char))) - (js2-add-to-string c) - (when (and (eq c ??) (eq (js2-peek-char) ?>)) - (setq c (js2-get-char)) ;; Skip > - (js2-add-to-string c) - (throw 'return t))) - (js2-xml-discard-string) - nil))) - -(defun js2-scanner-get-line () - "Return the text of the current scan line." - (buffer-substring (point-at-bol) (point-at-eol))) - -(provide 'js2-scan) - -;;; js2-scan.el ends here -;;; js2-messages: localizable messages for js2-mode - -;; Author: Steve Yegge (steve.yegge@gmail.com) -;; Keywords: javascript languages - -;;; Commentary: - -;; Messages are copied from Rhino's Messages.properties. -;; Many of the Java-specific messages have been elided. -;; Add any js2-specific ones at the end, so we can keep -;; this file synced with changes to Rhino's. -;; -;; TODO: -;; - move interpreter messages into separate file - -;;; Code: - -(defvar js2-message-table - (make-hash-table :test 'equal :size 250) - "Contains localized messages for js2-mode.") - -;; TODO: construct this hashtable at compile-time. -(defmacro js2-msg (key &rest strings) - `(puthash ,key (funcall #'concat ,@strings) - js2-message-table)) - -(defun js2-get-msg (msg-key) - "Look up a localized message. -MSG-KEY is a list of (MSG ARGS). If the message takes parameters, -the correct number of ARGS must be provided." - (let* ((key (if (listp msg-key) (car msg-key) msg-key)) - (args (if (listp msg-key) (cdr msg-key))) - (msg (gethash key js2-message-table))) - (if msg - (apply #'format msg args) - key))) ; default to showing the key - -(js2-msg "msg.dup.parms" - "Duplicate parameter name '%s'.") - -(js2-msg "msg.too.big.jump" - "Program too complex: jump offset too big.") - -(js2-msg "msg.too.big.index" - "Program too complex: internal index exceeds 64K limit.") - -(js2-msg "msg.while.compiling.fn" - "Encountered code generation error while compiling function '%s': %s") - -(js2-msg "msg.while.compiling.script" - "Encountered code generation error while compiling script: %s") - -;; Context -(js2-msg "msg.ctor.not.found" - "Constructor for '%s' not found.") - -(js2-msg "msg.not.ctor" - "'%s' is not a constructor.") - -;; FunctionObject -(js2-msg "msg.varargs.ctor" - "Method or constructor '%s' must be static " - "with the signature (Context cx, Object[] args, " - "Function ctorObj, boolean inNewExpr) " - "to define a variable arguments constructor.") - -(js2-msg "msg.varargs.fun" - "Method '%s' must be static with the signature " - "(Context cx, Scriptable thisObj, Object[] args, Function funObj) " - "to define a variable arguments function.") - -(js2-msg "msg.incompat.call" - "Method '%s' called on incompatible object.") - -(js2-msg "msg.bad.parms" - "Unsupported parameter type '%s' in method '%s'.") - -(js2-msg "msg.bad.method.return" - "Unsupported return type '%s' in method '%s'.") - -(js2-msg "msg.bad.ctor.return" - "Construction of objects of type '%s' is not supported.") - -(js2-msg "msg.no.overload" - "Method '%s' occurs multiple times in class '%s'.") - -(js2-msg "msg.method.not.found" - "Method '%s' not found in '%s'.") - -;; IRFactory - -(js2-msg "msg.bad.for.in.lhs" - "Invalid left-hand side of for..in loop.") - -(js2-msg "msg.mult.index" - "Only one variable allowed in for..in loop.") - -(js2-msg "msg.bad.for.in.destruct" - "Left hand side of for..in loop must be an array of " - "length 2 to accept key/value pair.") - -(js2-msg "msg.cant.convert" - "Can't convert to type '%s'.") - -(js2-msg "msg.bad.assign.left" - "Invalid assignment left-hand side.") - -(js2-msg "msg.bad.decr" - "Invalid decerement operand.") - -(js2-msg "msg.bad.incr" - "Invalid increment operand.") - -(js2-msg "msg.bad.yield" - "yield must be in a function.") - -(js2-msg "msg.yield.parenthesized" - "yield expression must be parenthesized.") - -;; NativeGlobal -(js2-msg "msg.cant.call.indirect" - "Function '%s' must be called directly, and not by way of a " - "function of another name.") - -(js2-msg "msg.eval.nonstring" - "Calling eval() with anything other than a primitive " - "string value will simply return the value. " - "Is this what you intended?") - -(js2-msg "msg.eval.nonstring.strict" - "Calling eval() with anything other than a primitive " - "string value is not allowed in strict mode.") - -(js2-msg "msg.bad.destruct.op" - "Invalid destructuring assignment operator") - -;; NativeCall -(js2-msg "msg.only.from.new" - "'%s' may only be invoked from a `new' expression.") - -(js2-msg "msg.deprec.ctor" - "The '%s' constructor is deprecated.") - -;; NativeFunction -(js2-msg "msg.no.function.ref.found" - "no source found to decompile function reference %s") - -(js2-msg "msg.arg.isnt.array" - "second argument to Function.prototype.apply must be an array") - -;; NativeGlobal -(js2-msg "msg.bad.esc.mask" - "invalid string escape mask") - -;; NativeRegExp -(js2-msg "msg.bad.quant" - "Invalid quantifier %s") - -(js2-msg "msg.overlarge.backref" - "Overly large back reference %s") - -(js2-msg "msg.overlarge.min" - "Overly large minimum %s") - -(js2-msg "msg.overlarge.max" - "Overly large maximum %s") - -(js2-msg "msg.zero.quant" - "Zero quantifier %s") - -(js2-msg "msg.max.lt.min" - "Maximum %s less than minimum") - -(js2-msg "msg.unterm.quant" - "Unterminated quantifier %s") - -(js2-msg "msg.unterm.paren" - "Unterminated parenthetical %s") - -(js2-msg "msg.unterm.class" - "Unterminated character class %s") - -(js2-msg "msg.bad.range" - "Invalid range in character class.") - -(js2-msg "msg.trail.backslash" - "Trailing \\ in regular expression.") - -(js2-msg "msg.re.unmatched.right.paren" - "unmatched ) in regular expression.") - -(js2-msg "msg.no.regexp" - "Regular expressions are not available.") - -(js2-msg "msg.bad.backref" - "back-reference exceeds number of capturing parentheses.") - -(js2-msg "msg.bad.regexp.compile" - "Only one argument may be specified if the first " - "argument to RegExp.prototype.compile is a RegExp object.") - -;; Parser -(js2-msg "msg.got.syntax.errors" - "Compilation produced %s syntax errors.") - -(js2-msg "msg.var.redecl" - "TypeError: redeclaration of var %s.") - -(js2-msg "msg.const.redecl" - "TypeError: redeclaration of const %s.") - -(js2-msg "msg.let.redecl" - "TypeError: redeclaration of variable %s.") - -(js2-msg "msg.parm.redecl" - "TypeError: redeclaration of formal parameter %s.") - -(js2-msg "msg.fn.redecl" - "TypeError: redeclaration of function %s.") - -(js2-msg "msg.let.decl.not.in.block" - "SyntaxError: let declaration not directly within block") - -;; NodeTransformer -(js2-msg "msg.dup.label" - "duplicated label") - -(js2-msg "msg.undef.label" - "undefined label") - -(js2-msg "msg.bad.break" - "unlabelled break must be inside loop or switch") - -(js2-msg "msg.continue.outside" - "continue must be inside loop") - -(js2-msg "msg.continue.nonloop" - "continue can only use labels of iteration statements") - -(js2-msg "msg.bad.throw.eol" - "Line terminator is not allowed between the throw " - "keyword and throw expression.") - -(js2-msg "msg.no.paren.parms" - "missing ( before function parameters.") - -(js2-msg "msg.no.parm" - "missing formal parameter") - -(js2-msg "msg.no.paren.after.parms" - "missing ) after formal parameters") - -(js2-msg "msg.no.brace.body" - "missing '{' before function body") - -(js2-msg "msg.no.brace.after.body" - "missing } after function body") - -(js2-msg "msg.no.paren.cond" - "missing ( before condition") - -(js2-msg "msg.no.paren.after.cond" - "missing ) after condition") - -(js2-msg "msg.no.semi.stmt" - "missing ; before statement") - -(js2-msg "msg.missing.semi" - "missing ; after statement") - -(js2-msg "msg.no.name.after.dot" - "missing name after . operator") - -(js2-msg "msg.no.name.after.coloncolon" - "missing name after :: operator") - -(js2-msg "msg.no.name.after.dotdot" - "missing name after .. operator") - -(js2-msg "msg.no.name.after.xmlAttr" - "missing name after .@") - -(js2-msg "msg.no.bracket.index" - "missing ] in index expression") - -(js2-msg "msg.no.paren.switch" - "missing ( before switch expression") - -(js2-msg "msg.no.paren.after.switch" - "missing ) after switch expression") - -(js2-msg "msg.no.brace.switch" - "missing '{' before switch body") - -(js2-msg "msg.bad.switch" - "invalid switch statement") - -(js2-msg "msg.no.colon.case" - "missing : after case expression") - -(js2-msg "msg.double.switch.default" - "double default label in the switch statement") - -(js2-msg "msg.no.while.do" - "missing while after do-loop body") - -(js2-msg "msg.no.paren.for" - "missing ( after for") - -(js2-msg "msg.no.semi.for" - "missing ; after for-loop initializer") - -(js2-msg "msg.no.semi.for.cond" - "missing ; after for-loop condition") - -(js2-msg "msg.in.after.for.name" - "missing in after for") - -(js2-msg "msg.no.paren.for.ctrl" - "missing ) after for-loop control") - -(js2-msg "msg.no.paren.with" - "missing ( before with-statement object") - -(js2-msg "msg.no.paren.after.with" - "missing ) after with-statement object") - -(js2-msg "msg.no.paren.after.let" - "missing ( after let") - -(js2-msg "msg.no.paren.let" - "missing ) after variable list") - -(js2-msg "msg.no.curly.let" - "missing } after let statement") - -(js2-msg "msg.bad.return" - "invalid return") - -(js2-msg "msg.no.brace.block" - "missing } in compound statement") - -(js2-msg "msg.bad.label" - "invalid label") - -(js2-msg "msg.bad.var" - "missing variable name") - -(js2-msg "msg.bad.var.init" - "invalid variable initialization") - -(js2-msg "msg.no.colon.cond" - "missing : in conditional expression") - -(js2-msg "msg.no.paren.arg" - "missing ) after argument list") - -(js2-msg "msg.no.bracket.arg" - "missing ] after element list") - -(js2-msg "msg.bad.prop" - "invalid property id") - -(js2-msg "msg.no.colon.prop" - "missing : after property id") - -(js2-msg "msg.no.brace.prop" - "missing } after property list") - -(js2-msg "msg.no.paren" - "missing ) in parenthetical") - -(js2-msg "msg.reserved.id" - "identifier is a reserved word") - -(js2-msg "msg.no.paren.catch" - "missing ( before catch-block condition") - -(js2-msg "msg.bad.catchcond" - "invalid catch block condition") - -(js2-msg "msg.catch.unreachable" - "any catch clauses following an unqualified catch are unreachable") - -(js2-msg "msg.no.brace.try" - "missing '{' before try block") - -(js2-msg "msg.no.brace.catchblock" - "missing '{' before catch-block body") - -(js2-msg "msg.try.no.catchfinally" - "'try' without 'catch' or 'finally'") - -(js2-msg "msg.no.return.value" - "function %s does not always return a value") - -(js2-msg "msg.anon.no.return.value" - "anonymous function does not always return a value") - -(js2-msg "msg.return.inconsistent" - "return statement is inconsistent with previous usage") - -(js2-msg "msg.generator.returns" - "TypeError: generator function '%s' returns a value") - -(js2-msg "msg.anon.generator.returns" - "TypeError: anonymous generator function returns a value") - -(js2-msg "msg.syntax" - "syntax error") - -(js2-msg "msg.unexpected.eof" - "Unexpected end of file") - -(js2-msg "msg.XML.bad.form" - "illegally formed XML syntax") - -(js2-msg "msg.XML.not.available" - "XML runtime not available") - -(js2-msg "msg.too.deep.parser.recursion" - "Too deep recursion while parsing") - -(js2-msg "msg.no.side.effects" - "Code has no side effects") - -(js2-msg "msg.extra.trailing.comma" - "Trailing comma is not legal in an ECMA-262 object initializer") - -(js2-msg "msg.array.trailing.comma" - "Trailing comma yields different behavior across browsers") - -(js2-msg "msg.equal.as.assign" - (concat "Test for equality (==) mistyped as assignment (=)?" - " (parenthesize to suppress warning)")) - -(js2-msg "msg.var.hides.arg" - "Variable %s hides argument") - -(js2-msg "msg.destruct.assign.no.init" - "Missing = in destructuring declaration") - -;; ScriptRuntime -(js2-msg "msg.no.properties" - "%s has no properties.") - -(js2-msg "msg.invalid.iterator" - "Invalid iterator value") - -(js2-msg "msg.iterator.primitive" - "__iterator__ returned a primitive value") - -(js2-msg "msg.assn.create.strict" - "Assignment to undeclared variable %s") - -(js2-msg "msg.ref.undefined.prop" - "Reference to undefined property '%s'") - -(js2-msg "msg.prop.not.found" - "Property %s not found.") - -(js2-msg "msg.invalid.type" - "Invalid JavaScript value of type %s") - -(js2-msg "msg.primitive.expected" - "Primitive type expected (had %s instead)") - -(js2-msg "msg.namespace.expected" - "Namespace object expected to left of :: (found %s instead)") - -(js2-msg "msg.null.to.object" - "Cannot convert null to an object.") - -(js2-msg "msg.undef.to.object" - "Cannot convert undefined to an object.") - -(js2-msg "msg.cyclic.value" - "Cyclic %s value not allowed.") - -(js2-msg "msg.is.not.defined" - "'%s' is not defined.") - -(js2-msg "msg.undef.prop.read" - "Cannot read property '%s' from %s") - -(js2-msg "msg.undef.prop.write" - "Cannot set property '%s' of %s to '%s'") - -(js2-msg "msg.undef.prop.delete" - "Cannot delete property '%s' of %s") - -(js2-msg "msg.undef.method.call" - "Cannot call method '%s' of %s") - -(js2-msg "msg.undef.with" - "Cannot apply 'with' to %s") - -(js2-msg "msg.isnt.function" - "%s is not a function, it is %s.") - -(js2-msg "msg.isnt.function.in" - "Cannot call property %s in object %s. " - "It is not a function, it is '%s'.") - -(js2-msg "msg.function.not.found" - "Cannot find function %s.") - -(js2-msg "msg.function.not.found.in" - "Cannot find function %s in object %s.") - -(js2-msg "msg.isnt.xml.object" - "%s is not an xml object.") - -(js2-msg "msg.no.ref.to.get" - "%s is not a reference to read reference value.") - -(js2-msg "msg.no.ref.to.set" - "%s is not a reference to set reference value to %s.") - -(js2-msg "msg.no.ref.from.function" - "Function %s can not be used as the left-hand " - "side of assignment or as an operand of ++ or -- operator.") - -(js2-msg "msg.bad.default.value" - "Object's getDefaultValue() method returned an object.") - -(js2-msg "msg.instanceof.not.object" - "Can't use instanceof on a non-object.") - -(js2-msg "msg.instanceof.bad.prototype" - "'prototype' property of %s is not an object.") - -(js2-msg "msg.bad.radix" - "illegal radix %s.") - -;; ScriptableObject -(js2-msg "msg.default.value" - "Cannot find default value for object.") - -(js2-msg "msg.zero.arg.ctor" - "Cannot load class '%s' which has no zero-parameter constructor.") - -(js2-msg "msg.ctor.multiple.parms" - "Can't define constructor or class %s since more than " - "one constructor has multiple parameters.") - -(js2-msg "msg.extend.scriptable" - "%s must extend ScriptableObject in order to define property %s.") - -(js2-msg "msg.bad.getter.parms" - "In order to define a property, getter %s must have zero " - "parameters or a single ScriptableObject parameter.") - -(js2-msg "msg.obj.getter.parms" - "Expected static or delegated getter %s to take " - "a ScriptableObject parameter.") - -(js2-msg "msg.getter.static" - "Getter and setter must both be static or neither be static.") - -(js2-msg "msg.setter.return" - "Setter must have void return type: %s") - -(js2-msg "msg.setter2.parms" - "Two-parameter setter must take a ScriptableObject as " - "its first parameter.") - -(js2-msg "msg.setter1.parms" - "Expected single parameter setter for %s") - -(js2-msg "msg.setter2.expected" - "Expected static or delegated setter %s to take two parameters.") - -(js2-msg "msg.setter.parms" - "Expected either one or two parameters for setter.") - -(js2-msg "msg.setter.bad.type" - "Unsupported parameter type '%s' in setter '%s'.") - -(js2-msg "msg.add.sealed" - "Cannot add a property to a sealed object: %s.") - -(js2-msg "msg.remove.sealed" - "Cannot remove a property from a sealed object: %s.") - -(js2-msg "msg.modify.sealed" - "Cannot modify a property of a sealed object: %s.") - -(js2-msg "msg.modify.readonly" - "Cannot modify readonly property: %s.") - -;; TokenStream -(js2-msg "msg.missing.exponent" - "missing exponent") - -(js2-msg "msg.caught.nfe" - "number format error") - -(js2-msg "msg.unterminated.string.lit" - "unterminated string literal") - -(js2-msg "msg.unterminated.comment" - "unterminated comment") - -(js2-msg "msg.unterminated.re.lit" - "unterminated regular expression literal") - -(js2-msg "msg.invalid.re.flag" - "invalid flag after regular expression") - -(js2-msg "msg.no.re.input.for" - "no input for %s") - -(js2-msg "msg.illegal.character" - "illegal character") - -(js2-msg "msg.invalid.escape" - "invalid Unicode escape sequence") - -(js2-msg "msg.bad.namespace" - "not a valid default namespace statement. " - "Syntax is: default xml namespace = EXPRESSION;") - -;; TokensStream warnings -(js2-msg "msg.bad.octal.literal" - "illegal octal literal digit %s; " - "interpreting it as a decimal digit") - -(js2-msg "msg.reserved.keyword" - "illegal usage of future reserved keyword %s; " - "interpreting it as ordinary identifier") - -(js2-msg "msg.script.is.not.constructor" - "Script objects are not constructors.") - -;; Arrays -(js2-msg "msg.arraylength.bad" - "Inappropriate array length.") - -;; Arrays -(js2-msg "msg.arraylength.too.big" - "Array length %s exceeds supported capacity limit.") - -;; URI -(js2-msg "msg.bad.uri" - "Malformed URI sequence.") - -;; Number -(js2-msg "msg.bad.precision" - "Precision %s out of range.") - -;; NativeGenerator -(js2-msg "msg.send.newborn" - "Attempt to send value to newborn generator") - -(js2-msg "msg.already.exec.gen" - "Already executing generator") - -(js2-msg "msg.StopIteration.invalid" - "StopIteration may not be changed to an arbitrary object.") - -;; Interpreter -(js2-msg "msg.yield.closing" - "Yield from closing generator") - -(provide 'js2-messages) -;;; js2-ast.el --- JavaScript syntax tree node definitions - -;; Author: Steve Yegge (steve.yegge@gmail.com) -;; Keywords: javascript languages - -;;; Code: - -(eval-and-compile - (require 'cl)) - - -;; flags for ast node property 'member-type (used for e4x operators) -(defvar js2-property-flag #x1 "property access: element is valid name") -(defvar js2-attribute-flag #x2 "x.@y or x..@y") -(defvar js2-descendants-flag #x4 "x..y or x..@i") - -(defsubst js2-relpos (pos anchor) - "Convert POS to be relative to ANCHOR. -If POS is nil, returns nil." - (and pos (- pos anchor))) - -(defsubst js2-make-pad (indent) - (if (zerop indent) - "" - (make-string (* indent js2-basic-offset) ? ))) - -(defsubst js2-visit-ast (node callback) - "Visit every node in ast NODE with visitor CALLBACK. - -CALLBACK is a function that takes two arguments: (NODE END-P). It is -called twice: once to visit the node, and again after all the node's -children have been processed. The END-P argument is nil on the first -call and non-nil on the second call. The return value of the callback -affects the traversal: if non-nil, the children of NODE are processed. -If the callback returns nil, or if the node has no children, then the -callback is called immediately with a non-nil END-P argument. - -The node traversal is approximately lexical-order, although there -are currently no guarantees around this." - (let ((vfunc (get (aref node 0) 'js2-visitor))) - ;; visit the node - (when (funcall callback node nil) - ;; visit the kids - (cond - ((eq vfunc 'js2-visit-none) - nil) ; don't even bother calling it - ;; Each AST node type has to define a `js2-visitor' function - ;; that takes a node and a callback, and calls `js2-visit-ast' - ;; on each child of the node. - (vfunc - (funcall vfunc node callback)) - (t - (error "%s does not define a visitor-traversal function" - (aref node 0))))) - ;; call the end-visit - (funcall callback node t))) - -(defstruct (js2-node - (:constructor nil)) ; abstract - "Base AST node type." - (type -1) ; token type - (pos -1) ; start position of this AST node in parsed input - (len 1) ; num characters spanned by the node - props ; optional node property list (an alist) - parent) ; link to parent node; null for root - -(defsubst js2-node-get-prop (node prop &optional default) - (or (cadr (assoc prop (js2-node-props node))) default)) - -(defsubst js2-node-set-prop (node prop value) - (setf (js2-node-props node) - (cons (list prop value) (js2-node-props node)))) - -(defsubst js2-fixup-starts (n nodes) - "Adjust the start positions of NODES to be relative to N. -Any node in the list may be nil, for convenience." - (dolist (node nodes) - (when node - (setf (js2-node-pos node) (- (js2-node-pos node) - (js2-node-pos n)))))) - -(defsubst js2-node-add-children (parent &rest nodes) - "Set parent node of NODES to PARENT, and return PARENT. -Does nothing if we're not recording parent links. -If any given node in NODES is nil, doesn't record that link." - (js2-fixup-starts parent nodes) - (dolist (node nodes) - (and node - (setf (js2-node-parent node) parent)))) - -;; Non-recursive since it's called a frightening number of times. -(defsubst js2-node-abs-pos (n) - (let ((pos (js2-node-pos n))) - (while (setq n (js2-node-parent n)) - (setq pos (+ pos (js2-node-pos n)))) - pos)) - -(defsubst js2-node-abs-end (n) - "Return absolute buffer position of end of N." - (+ (js2-node-abs-pos n) (js2-node-len n))) - -;; It's important to make sure block nodes have a lisp list for the -;; child nodes, to limit printing recursion depth in an AST that -;; otherwise consists of defstruct vectors. Emacs will crash printing -;; a sufficiently large vector tree. - -(defstruct (js2-block-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-block-node (&key (type js2-BLOCK) - (pos js2-token-beg) - len - props - kids))) - "A block of statements." - kids) ; a lisp list of the child statement nodes - -(put 'cl-struct-js2-block-node 'js2-visitor 'js2-visit-block) -(put 'cl-struct-js2-block-node 'js2-printer 'js2-print-block) - -(defsubst js2-visit-block (ast callback) - "Visit the `js2-block-node' children of AST." - (dolist (kid (js2-block-node-kids ast)) - (js2-visit-ast kid callback))) - -(defun js2-print-block (n i) - (let ((pad (js2-make-pad i))) - (insert pad "{\n") - (dolist (kid (js2-block-node-kids n)) - (js2-print-ast kid (1+ i))) - (insert pad "}"))) - -(defstruct (js2-scope - (:include js2-block-node) - (:constructor nil) - (:constructor make-js2-scope (&key (type js2-BLOCK) - (pos js2-token-beg) - len - kids))) - ;; The symbol-table is a LinkedHashMap in Rhino. - ;; I don't have one of those handy, so I'll use an alist for now. - ;; It's as fast as an emacs hashtable for up to about 50 elements, - ;; and is much lighter-weight to construct (both CPU and mem). - ;; The keys are interned strings (symbols) for faster lookup. - ;; Should switch to hybrid alist/hashtable eventually. - symbol-table ; an alist of (symbol . js2-symbol) - parent-scope ; a `js2-scope' - top) ; top-level `js2-scope' (script/function) - -(put 'cl-struct-js2-scope 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-scope 'js2-printer 'js2-print-none) - -(defun js2-scope-set-parent-scope (scope parent) - (setf (js2-scope-parent-scope scope) parent - (js2-scope-top scope) (if (null parent) - scope - (js2-scope-top parent)))) - -(defun js2-node-get-enclosing-scope (node) - "Return the innermost `js2-scope' node surrounding NODE. -Returns nil if there is no enclosing scope node." - (let ((parent (js2-node-parent node))) - (while (not (js2-scope-p parent)) - (setq parent (js2-node-parent parent))) - parent)) - -(defun js2-get-defining-scope (scope name) - "Search up scope chain from SCOPE looking for NAME, a string or symbol. -Returns `js2-scope' in which NAME is defined, or nil if not found." - (let ((sym (if (symbolp name) - name - (intern name))) - table - result - (continue t)) - (while (and scope continue) - (if (and (setq table (js2-scope-symbol-table scope)) - (assq sym table)) - (setq continue nil - result scope) - (setq scope (js2-scope-parent-scope scope)))) - result)) - -(defsubst js2-scope-get-symbol (scope name) - "Return symbol table entry for NAME in SCOPE. -NAME can be a string or symbol. Returns a `js2-symbol' or nil if not found." - (and (js2-scope-symbol-table scope) - (cdr (assq (if (symbolp name) - name - (intern name)) - (js2-scope-symbol-table scope))))) - -(defsubst js2-scope-put-symbol (scope name symbol) - "Enter SYMBOL into symbol-table for SCOPE under NAME. -NAME can be a lisp symbol or string. SYMBOL is a `js2-symbol'." - (let* ((table (js2-scope-symbol-table scope)) - (sym (if (symbolp name) name (intern name))) - (entry (assq sym table))) - (if entry - (setcdr entry symbol) - (push (cons sym symbol) - (js2-scope-symbol-table scope))))) - -(defstruct (js2-symbol - (:constructor nil) - (:constructor make-js2-symbol (decl-type name &optional ast-node))) - "A symbol table entry." - ;; One of js2-FUNCTION, js2-LP (for parameters), js2-VAR, - ;; js2-LET, or js2-CONST - decl-type - name ; string - ast-node) ; a `js2-node' - -(defstruct (js2-error-node - (:include js2-node) - (:constructor nil) ; silence emacs21 byte-compiler - (:constructor make-js2-error-node (&key (type js2-ERROR) - (pos js2-token-beg) - len))) - "AST node representing a parse error.") - -(put 'cl-struct-js2-error-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-error-node 'js2-printer 'js2-print-none) - -(defstruct (js2-script-node - (:include js2-scope) - (:constructor nil) - (:constructor make-js2-script-node (&key (type js2-SCRIPT) - (pos js2-token-beg) - len - var-decls - fun-decls))) - functions ; lisp list of nested functions - regexps ; lisp list of (string . flags) - symbols ; alist (every symbol gets unique index) - (param-count 0) - var-names ; vector of string names - consts ; bool-vector matching var-decls - (temp-number 0)) ; for generating temp variables - -(put 'cl-struct-js2-script-node 'js2-visitor 'js2-visit-block) -(put 'cl-struct-js2-script-node 'js2-printer 'js2-print-script) - -(defun js2-print-script (node indent) - (dolist (kid (js2-block-node-kids node)) - (js2-print-ast kid indent))) - -(defstruct (js2-ast-root - (:include js2-script-node) - (:constructor nil) - (:constructor make-js2-ast-root (&key (type js2-SCRIPT) - (pos js2-token-beg) - len - buffer))) - "The root node of a js2 AST." - buffer ; the source buffer from which the code was parsed - comments ; a lisp list of comments, ordered by start position - errors ; a lisp list of errors found during parsing - warnings ; a lisp list of warnings found during parsing - node-count) ; number of nodes in the tree, including the root - -(put 'cl-struct-js2-ast-root 'js2-visitor 'js2-visit-ast-root) -(put 'cl-struct-js2-ast-root 'js2-printer 'js2-print-script) - -(defun js2-visit-ast-root (ast callback) - (dolist (kid (js2-ast-root-kids ast)) - (js2-visit-ast kid callback)) - (dolist (comment (js2-ast-root-comments ast)) - (js2-visit-ast comment callback))) - -(defstruct (js2-comment-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-comment-node (&key (type js2-COMMENT) - (pos js2-token-beg) - len - (format js2-ts-comment-type)))) - format) ; 'line, 'block, 'jsdoc or 'html - -(put 'cl-struct-js2-comment-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-comment-node 'js2-printer 'js2-print-comment) - -(defun js2-print-comment (n i) - ;; We really ought to link end-of-line comments to their nodes. - ;; Or maybe we could add a new comment type, 'endline. - (insert (js2-make-pad i) - (js2-node-string n))) - -(defstruct (js2-expr-stmt-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-expr-stmt-node (&key (type js2-EXPR_VOID) - (pos js2-ts-cursor) - len - expr))) - "An expression statement." - expr) - -(defsubst js2-expr-stmt-node-set-has-result (node) - "Change the node type to `js2-EXPR_RESULT'. Used for code generation." - (setf (js2-node-type node) js2-EXPR_RESULT)) - -(put 'cl-struct-js2-expr-stmt-node 'js2-visitor 'js2-visit-expr-stmt-node) -(put 'cl-struct-js2-expr-stmt-node 'js2-printer 'js2-print-expr-stmt-node) - -(defun js2-visit-expr-stmt-node (n v) - (js2-visit-ast (js2-expr-stmt-node-expr n) v)) - -(defun js2-print-expr-stmt-node (n indent) - (js2-print-ast (js2-expr-stmt-node-expr n) indent) - (insert ";\n")) - -(defstruct (js2-loop-node - (:include js2-scope) - (:constructor nil)) - "Abstract supertype of loop nodes." - body ; a `js2-block-node' - lp ; position of left-paren, nil if omitted - rp) ; position of right-paren, nil if omitted - -(defstruct (js2-do-node - (:include js2-loop-node) - (:constructor nil) - (:constructor make-js2-do-node (&key (type js2-DO) - (pos js2-token-beg) - len - body - condition - while-pos - lp - rp))) - "AST node for do-loop." - condition ; while (expression) - while-pos) ; buffer position of 'while' keyword - -(put 'cl-struct-js2-do-node 'js2-visitor 'js2-visit-do-node) -(put 'cl-struct-js2-do-node 'js2-printer 'js2-print-do-node) - -(defun js2-visit-do-node (n v) - (js2-visit-ast (js2-do-node-body n) v) - (js2-visit-ast (js2-do-node-condition n) v)) - -(defun js2-print-do-node (n i) - (let ((pad (js2-make-pad i))) - (insert pad "do {\n") - (dolist (kid (js2-block-node-kids (js2-do-node-body n))) - (js2-print-ast kid (1+ i))) - (insert pad "} while (") - (js2-print-ast (js2-do-node-condition n) 0) - (insert ");\n"))) - -(defstruct (js2-while-node - (:include js2-loop-node) - (:constructor nil) - (:constructor make-js2-while-node (&key (type js2-WHILE) - (pos js2-token-beg) - len - body - condition - lp - rp))) - "AST node for while-loop." - condition) ; while-condition - -(put 'cl-struct-js2-while-node 'js2-visitor 'js2-visit-while-node) -(put 'cl-struct-js2-while-node 'js2-printer 'js2-print-while-node) - -(defun js2-visit-while-node (n v) - (js2-visit-ast (js2-while-node-condition n) v) - (js2-visit-ast (js2-while-node-body n) v)) - -(defun js2-print-while-node (n i) - (let ((pad (js2-make-pad i))) - (insert pad "while (") - (js2-print-ast (js2-while-node-condition n) 0) - (insert ") {\n") - (js2-print-body (js2-while-node-body n) (1+ i)) - (insert pad "}\n"))) - -(defstruct (js2-for-node - (:include js2-loop-node) - (:constructor nil) - (:constructor make-js2-for-node (&key (type js2-FOR) - (pos js2-ts-cursor) - len - body - init - condition - update - lp - rp))) - "AST node for a C-style for-loop." - init ; initialization expression - condition ; loop condition - update) ; update clause - -(put 'cl-struct-js2-for-node 'js2-visitor 'js2-visit-for-node) -(put 'cl-struct-js2-for-node 'js2-printer 'js2-print-for-node) - -(defun js2-visit-for-node (n v) - (js2-visit-ast (js2-for-node-init n) v) - (js2-visit-ast (js2-for-node-condition n) v) - (js2-visit-ast (js2-for-node-update n) v) - (js2-visit-ast (js2-for-node-body n) v)) - -(defun js2-print-for-node (n i) - (let ((pad (js2-make-pad i))) - (insert pad "for (") - (js2-print-ast (js2-for-node-init n) 0) - (insert "; ") - (js2-print-ast (js2-for-node-condition n) 0) - (insert "; ") - (js2-print-ast (js2-for-node-update n) 0) - (insert ") {\n") - (js2-print-body (js2-for-node-body n) (1+ i)) - (insert pad "}\n"))) - -(defstruct (js2-for-in-node - (:include js2-loop-node) - (:constructor nil) - (:constructor make-js2-for-in-node (&key (type js2-FOR) - (pos js2-ts-cursor) - len - body - iterator - object - in-pos - each-pos - foreach-p - lp - rp))) - "AST node for a for..in loop." - iterator ; [var] foo in ... - object ; object over which we're iterating - in-pos ; buffer position of 'in' keyword - each-pos ; buffer position of 'each' keyword, if foreach-p - foreach-p) ; t if it's a for-each loop - -(put 'cl-struct-js2-for-in-node 'js2-visitor 'js2-visit-for-in-node) -(put 'cl-struct-js2-for-in-node 'js2-printer 'js2-print-for-in-node) - -(defun js2-visit-for-in-node (n v) - (js2-visit-ast (js2-for-in-node-iterator n) v) - (js2-visit-ast (js2-for-in-node-object n) v) - (js2-visit-ast (js2-for-in-node-body n) v)) - -(defun js2-print-for-in-node (n i) - (let ((pad (js2-make-pad i)) - (foreach (js2-for-in-node-foreach-p n))) - (insert pad "for ") - (if foreach - (insert "each ")) - (insert "(") - (js2-print-ast (js2-for-in-node-iterator n) 0) - (insert " in ") - (js2-print-ast (js2-for-in-node-object n) 0) - (insert ") {\n") - (js2-print-body (js2-for-in-node-body n) (1+ i)) - (insert pad "}\n"))) - -(defstruct (js2-return-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-return-node (&key (type js2-RETURN) - (pos js2-ts-cursor) - len - retval))) - "AST node for a return statement." - retval) ; expression to return, or 'undefined - -(put 'cl-struct-js2-return-node 'js2-visitor 'js2-visit-return-node) -(put 'cl-struct-js2-return-node 'js2-printer 'js2-print-return-node) - -(defun js2-visit-return-node (n v) - (if (js2-return-node-retval n) - (js2-visit-ast (js2-return-node-retval n) v))) - -(defun js2-print-return-node (n i) - (insert (js2-make-pad i) "return") - (when (js2-return-node-retval n) - (insert " ") - (js2-print-ast (js2-return-node-retval n) 0)) - (insert ";\n")) - -(defstruct (js2-if-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-if-node (&key (type js2-IF) - (pos js2-ts-cursor) - len - condition - then-part - else-pos - else-part - lp - rp))) - "AST node for an if-statement." - condition ; expression - then-part ; statement or block - else-pos ; optional buffer position of 'else' keyword - else-part ; optional statement or block - lp ; position of left-paren, nil if omitted - rp) ; position of right-paren, nil if omitted - -(put 'cl-struct-js2-if-node 'js2-visitor 'js2-visit-if-node) -(put 'cl-struct-js2-if-node 'js2-printer 'js2-print-if-node) - -(defun js2-visit-if-node (n v) - (js2-visit-ast (js2-if-node-condition n) v) - (js2-visit-ast (js2-if-node-then-part n) v) - (if (js2-if-node-else-part n) - (js2-visit-ast (js2-if-node-else-part n) v))) - -(defun js2-print-if-node (n i) - (let ((pad (js2-make-pad i)) - (then-part (js2-if-node-then-part n)) - (else-part (js2-if-node-else-part n))) - (insert pad "if (") - (js2-print-ast (js2-if-node-condition n) 0) - (insert ") {\n") - (js2-print-body then-part (1+ i)) - (insert pad "}") - (cond - ((not else-part) - (insert "\n")) - ((js2-if-node-p else-part) - (insert " else ") - (js2-print-body else-part i)) - (t - (insert " else {\n") - (js2-print-body else-part (1+ i)) - (insert pad "}\n"))))) - -(defstruct (js2-try-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-try-node (&key (type js2-TRY) - (pos js2-ts-cursor) - len - try-block - catch-clauses - finally-block))) - "AST node for a try-statement." - try-block - catch-clauses ; a lisp list of `js2-catch-node' - finally-block) ; a `js2-finally-node' - -(put 'cl-struct-js2-try-node 'js2-visitor 'js2-visit-try-node) -(put 'cl-struct-js2-try-node 'js2-printer 'js2-print-try-node) - -(defun js2-visit-try-node (n v) - (js2-visit-ast (js2-try-node-try-block n) v) - (dolist (clause (js2-try-node-catch-clauses n)) - (js2-visit-ast clause v)) - (if (js2-try-node-finally-block n) - (js2-visit-ast (js2-try-node-finally-block n) v))) - -(defun js2-print-try-node (n i) - (let ((pad (js2-make-pad i)) - (catches (js2-try-node-catch-clauses n)) - (finally (js2-try-node-finally-block n))) - (insert pad "try {\n") - (js2-print-body (js2-try-node-try-block n) (1+ i)) - (insert pad "}") - (when catches - (dolist (catch catches) - (js2-print-ast catch i))) - (if finally - (js2-print-ast finally i) - (insert "\n")))) - -(defstruct (js2-catch-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-catch-node (&key (type js2-CATCH) - (pos js2-ts-cursor) - len - var-name - guard-kwd - guard-expr - block - lp - rp))) - "AST node for a catch clause." - var-name ; a `js2-name-node' - guard-kwd ; relative buffer position of "if" in "catch (x if ...)" - guard-expr ; catch condition, a `js2-node' - block ; statements, a `js2-block-node' - lp ; buffer position of left-paren, nil if omitted - rp) ; buffer position of right-paren, nil if omitted - -(put 'cl-struct-js2-catch-node 'js2-visitor 'js2-visit-catch-node) -(put 'cl-struct-js2-catch-node 'js2-printer 'js2-print-catch-node) - -(defun js2-visit-catch-node (n v) - (js2-visit-ast (js2-catch-node-var-name n) v) - (when (js2-catch-node-guard-kwd n) - (js2-visit-ast (js2-catch-node-guard-expr n) v)) - (js2-visit-ast (js2-catch-node-block n) v)) - -(defun js2-print-catch-node (n i) - (let ((pad (js2-make-pad i)) - (guard-kwd (js2-catch-node-guard-kwd n)) - (guard-expr (js2-catch-node-guard-expr n))) - (insert " catch (") - (js2-print-ast (js2-catch-node-var-name n) 0) - (when guard-kwd - (insert " if ") - (js2-print-ast guard-expr 0)) - (insert ") {\n") - (js2-print-body (js2-catch-node-block n) (1+ i)) - (insert pad "}"))) - -(defstruct (js2-finally-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-finally-node (&key (type js2-FINALLY) - (pos js2-ts-cursor) - len - body))) - "AST node for a finally clause." - body) ; a `js2-node', often but not always a block node - -(put 'cl-struct-js2-finally-node 'js2-visitor 'js2-visit-finally-node) -(put 'cl-struct-js2-finally-node 'js2-printer 'js2-print-finally-node) - -(defun js2-visit-finally-node (n v) - (js2-visit-ast (js2-finally-node-body n) v)) - -(defun js2-print-finally-node (n i) - (let ((pad (js2-make-pad i))) - (insert " finally {\n") - (js2-print-body (js2-finally-node-body n) (1+ i)) - (insert pad "}\n"))) - -(defstruct (js2-switch-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-switch-node (&key (type js2-SWITCH) - (pos js2-ts-cursor) - len - discriminant - cases - lp - rp))) - "AST node for a switch statement." - discriminant ; a `js2-node' (switch expression) - cases ; a lisp list of `js2-case-node' - lp ; position of open-paren for discriminant, nil if omitted - rp) ; position of close-paren for discriminant, nil if omitted - -(put 'cl-struct-js2-switch-node 'js2-visitor 'js2-visit-switch-node) -(put 'cl-struct-js2-switch-node 'js2-printer 'js2-print-switch-node) - -(defun js2-visit-switch-node (n v) - (js2-visit-ast (js2-switch-node-discriminant n) v) - (dolist (c (js2-switch-node-cases n)) - (js2-visit-ast c v))) - -(defun js2-print-switch-node (n i) - (let ((pad (js2-make-pad i)) - (cases (js2-switch-node-cases n))) - (insert pad "switch (") - (js2-print-ast (js2-switch-node-discriminant n) 0) - (insert ") {\n") - (dolist (case cases) - (js2-print-ast case i)) - (insert pad "}\n"))) - -(defstruct (js2-case-node - (:include js2-block-node) - (:constructor nil) - (:constructor make-js2-case-node (&key (type js2-CASE) - (pos js2-ts-cursor) - len - kids - expr))) - "AST node for a case clause of a switch statement." - expr) ; the case expression (nil for default) - -(put 'cl-struct-js2-case-node 'js2-visitor 'js2-visit-case-node) -(put 'cl-struct-js2-case-node 'js2-printer 'js2-print-case-node) - -(defun js2-visit-case-node (n v) - (if (js2-case-node-expr n) ; nil for default: case - (js2-visit-ast (js2-case-node-expr n) v)) - (js2-visit-block n v)) - -(defun js2-print-case-node (n i) - (let ((pad (js2-make-pad i)) - (expr (js2-case-node-expr n))) - (insert pad) - (if (null expr) - (insert "default:\n") - (insert "case ") - (js2-print-ast expr 0) - (insert ":\n")) - (dolist (kid (js2-case-node-kids n)) - (js2-print-ast kid (1+ i))))) - -(defstruct (js2-throw-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-throw-node (&key (type js2-THROW) - (pos js2-ts-cursor) - len - expr))) - "AST node for a throw statement." - expr) ; the expression to throw - -(put 'cl-struct-js2-throw-node 'js2-visitor 'js2-visit-throw-node) -(put 'cl-struct-js2-throw-node 'js2-printer 'js2-print-throw-node) - -(defun js2-visit-throw-node (n v) - (js2-visit-ast (js2-throw-node-expr n) v)) - -(defun js2-print-throw-node (n i) - (insert (js2-make-pad i) "throw ") - (js2-print-ast (js2-throw-node-expr n) 0) - (insert ";\n")) - -(defstruct (js2-with-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-with-node (&key (type js2-WITH) - (pos js2-ts-cursor) - len - object - body - lp - rp))) - "AST node for a with-statement." - object - body - lp ; buffer position of left-paren around object, nil if omitted - rp) ; buffer position of right-paren around object, nil if omitted - -(put 'cl-struct-js2-with-node 'js2-visitor 'js2-visit-with-node) -(put 'cl-struct-js2-with-node 'js2-printer 'js2-print-with-node) - -(defun js2-visit-with-node (n v) - (js2-visit-ast (js2-with-node-object n) v) - (js2-visit-ast (js2-with-node-body n) v)) - -(defun js2-print-with-node (n i) - (let ((pad (js2-make-pad i))) - (insert pad "with (") - (js2-print-ast (js2-with-node-object n) 0) - (insert ") {\n") - (js2-print-body (js2-with-node-body n) (1+ i)) - (insert pad "}\n"))) - -(defstruct (js2-label-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-label-node (&key (type js2-LABEL) - (pos js2-ts-cursor) - len - name))) - "AST node for a statement label or case label." - name ; a string - loop) ; for validating and code-generating continue-to-label - -(put 'cl-struct-js2-label-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-label-node 'js2-printer 'js2-print-label) - -(defun js2-print-label (n i) - (insert (js2-make-pad i) - (js2-label-node-name n) - ":\n")) - -(defstruct (js2-labeled-stmt-node - (:include js2-node) - (:constructor nil) - ;; type needs to be in `js2-side-effecting-tokens' to avoid spurious - ;; no-side-effects warnings, hence js2-EXPR_RESULT. - (:constructor make-js2-labeled-stmt-node (&key (type js2-EXPR_RESULT) - (pos js2-ts-cursor) - len - labels - stmt))) - "AST node for a statement with one or more labels. -Multiple labels for a statement are collapsed into the labels field." - labels ; lisp list of `js2-label-node' - stmt) ; the statement these labels are for - -(put 'cl-struct-js2-labeled-stmt-node 'js2-visitor 'js2-visit-labeled-stmt) -(put 'cl-struct-js2-labeled-stmt-node 'js2-printer 'js2-print-labeled-stmt) - -(defun js2-get-label-by-name (lbl-stmt name) - "Return a `js2-label-node' by NAME from LBL-STMT's labels list. -Returns nil if no such label is in the list." - (let ((label-list (js2-labeled-stmt-node-labels lbl-stmt)) - result) - (while (and label-list (not result)) - (if (string= (js2-label-node-name (car label-list)) name) - (setq result (car label-list)) - (setq label-list (cdr label-list)))) - result)) - -(defun js2-visit-labeled-stmt (n v) - (dolist (label (js2-labeled-stmt-node-labels n)) - (js2-visit-ast label v)) - (js2-visit-ast (js2-labeled-stmt-node-stmt n) v)) - -(defun js2-print-labeled-stmt (n i) - (dolist (label (js2-labeled-stmt-node-labels n)) - (js2-print-ast label i)) - (js2-print-ast (js2-labeled-stmt-node-stmt n) (1+ i))) - -(defun js2-labeled-stmt-node-contains (node label) - "Return t if NODE contains LABEL in its label set. -NODE is a `js2-labels-node'. LABEL is an identifier." - (loop for nl in (js2-labeled-stmt-node-labels node) - if (string= label (js2-label-node-name nl)) - return t - finally return nil)) - -(defsubst js2-labeled-stmt-node-add-label (node label) - "Add a `js2-label-node' to the label set for this statement." - (setf (js2-labeled-stmt-node-labels node) - (nconc (js2-labeled-stmt-node-labels node) (list label)))) - -(defstruct (js2-jump-node - (:include js2-node) - (:constructor nil)) - "Abstract supertype of break and continue nodes." - label ; `js2-name-node' for location of label identifier, if present - target) ; target js2-labels-node or loop/switch statement - -(defun js2-visit-jump-node (n v) - ;; we don't visit the target, since it's a back-link - (if (js2-jump-node-label n) - (js2-visit-ast (js2-jump-node-label n) v))) - -(defstruct (js2-break-node - (:include js2-jump-node) - (:constructor nil) - (:constructor make-js2-break-node (&key (type js2-BREAK) - (pos js2-ts-cursor) - len - label - target))) - "AST node for a break statement. -The label field is a `js2-name-node', possibly nil, for the named label -if provided. E.g. in 'break foo', it represents 'foo'. The target field -is the target of the break - a label node or enclosing loop/switch statement.") - -(put 'cl-struct-js2-break-node 'js2-visitor 'js2-visit-jump-node) -(put 'cl-struct-js2-break-node 'js2-printer 'js2-print-break-node) - -(defun js2-print-break-node (n i) - (insert (js2-make-pad i) "break") - (when (js2-break-node-label n) - (insert " ") - (js2-print-ast (js2-break-node-label n) 0)) - (insert ";\n")) - -(defstruct (js2-continue-node - (:include js2-jump-node) - (:constructor nil) - (:constructor make-js2-continue-node (&key (type js2-CONTINUE) - (pos js2-ts-cursor) - len - label - target))) - "AST node for a continue statement. -The label field is the user-supplied enclosing label name, a `js2-name-node'. -It is nil if continue specifies no label. The target field is the jump target: -a `js2-label-node' or the innermost enclosing loop.") - -(put 'cl-struct-js2-continue-node 'js2-visitor 'js2-visit-jump-node) -(put 'cl-struct-js2-continue-node 'js2-printer 'js2-print-continue-node) - -(defun js2-print-continue-node (n i) - (insert (js2-make-pad i) "continue") - (when (js2-continue-node-label n) - (insert " ") - (js2-print-ast (js2-continue-node-label n) 0)) - (insert ";\n")) - -(defstruct (js2-function-node - (:include js2-script-node) - (:constructor nil) - (:constructor make-js2-function-node (&key (type js2-FUNCTION) - (pos js2-ts-cursor) - len - (ftype 'FUNCTION) - (form 'FUNCTION_STATEMENT) - (name "") - params - body - lp - rp))) - "AST node for a function declaration. -The `params' field is a lisp list of nodes. Each node is either a simple -`js2-name-node', or if it's a destructuring-assignment parameter, a -`js2-array-node' or `js2-object-node'." - ftype ; FUNCTION, GETTER or SETTER - form ; FUNCTION_{STATEMENT|EXPRESSION|EXPRESSION_STATEMENT} - name ; function name (a `js2-name-node', or nil if anonymous) - params ; a lisp list of destructuring forms or simple name nodes - body ; a `js2-block-node' - lp ; position of arg-list open-paren, or nil if omitted - rp ; position of arg-list close-paren, or nil if omitted - ignore-dynamic ; ignore value of the dynamic-scope flag (interpreter only) - needs-activation ; t if we need an activation object for this frame - is-generator ; t if this function contains a yield - member-expr) ; nonstandard Ecma extension from Rhino - -(put 'cl-struct-js2-function-node 'js2-visitor 'js2-visit-function-node) -(put 'cl-struct-js2-function-node 'js2-printer 'js2-print-function-node) - -(defun js2-visit-function-node (n v) - (if (js2-function-node-name n) - (js2-visit-ast (js2-function-node-name n) v)) - (dolist (p (js2-function-node-params n)) - (js2-visit-ast p v)) - (js2-visit-ast (js2-function-node-body n) v)) - -(defun js2-print-function-node (n i) - (let ((pad (js2-make-pad i)) - (getter (js2-node-get-prop n 'GETTER_SETTER)) - (name (js2-function-node-name n)) - (params (js2-function-node-params n)) - (body (js2-function-node-body n)) - (expr (eq (js2-function-node-form n) 'FUNCTION_EXPRESSION))) - (unless getter - (insert pad "function")) - (when name - (insert " ") - (js2-print-ast name 0)) - (insert "(") - (loop with len = (length params) - for param in params - for count from 1 - do - (js2-print-ast param 0) - (if (< count len) - (insert ", "))) - (insert ") {") - (unless expr - (insert "\n")) - ;; TODO: fix this to be smarter about indenting, etc. - (js2-print-body body (1+ i)) - (insert pad "}") - (unless expr - (insert "\n")))) - -(defsubst js2-function-name (node) - "Return function name for NODE, a `js2-function-node', or nil if anonymous." - (and (js2-function-node-name node) - (js2-name-node-name (js2-function-node-name node)))) - -;; Having this be an expression node makes it more flexible. -;; There are IDE contexts, such as indentation in a for-loop initializer, -;; that work better if you assume it's an expression. Whenever we have -;; a standalone var/const declaration, we just wrap with an expr stmt. -;; Eclipse apparently screwed this up and now has two versions, expr and stmt. -(defstruct (js2-var-decl-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-var-decl-node (&key (type js2-VAR) - (pos js2-token-beg) - len - kids - decl-type))) - "AST node for a variable declaration list (VAR, CONST or LET). -The node bounds differ depending on the declaration type. For VAR or -CONST declarations, the bounds include the var/const keyword. For LET -declarations, the node begins at the position of the first child." - kids ; a lisp list of `js2-var-init-node' structs. - decl-type) ; js2-VAR, js2-CONST or js2-LET - -(put 'cl-struct-js2-var-decl-node 'js2-visitor 'js2-visit-var-decl) -(put 'cl-struct-js2-var-decl-node 'js2-printer 'js2-print-var-decl) - -(defun js2-visit-var-decl (n v) - (dolist (kid (js2-var-decl-node-kids n)) - (js2-visit-ast kid v))) - -(defun js2-print-var-decl (n i) - (let ((pad (js2-make-pad i)) - (tt (js2-var-decl-node-decl-type n))) - (insert pad) - (insert (cond - ((= tt js2-VAR) "var ") - ((= tt js2-LET) "") ; handled by parent let-{expr/stmt} - ((= tt js2-CONST) "const ") - (t - (error "malformed var-decl node")))) - (loop with kids = (js2-var-decl-node-kids n) - with len = (length kids) - for kid in kids - for count from 1 - do - (js2-print-ast kid 0) - (if (< count len) - (insert ", "))))) - -(defstruct (js2-var-init-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-var-init-node (&key (type js2-VAR) - (pos js2-ts-cursor) - len - target - initializer))) - "AST node for a variable declaration. -The type field will be js2-CONST for a const decl." - target ; `js2-name-node', `js2-object-node', or `js2-array-node' - initializer) ; initializer expression, a `js2-node' - -(put 'cl-struct-js2-var-init-node 'js2-visitor 'js2-visit-var-init-node) -(put 'cl-struct-js2-var-init-node 'js2-printer 'js2-print-var-init-node) - -(defun js2-visit-var-init-node (n v) - (js2-visit-ast (js2-var-init-node-target n) v) - (if (js2-var-init-node-initializer n) - (js2-visit-ast (js2-var-init-node-initializer n) v))) - -(defun js2-print-var-init-node (n i) - (let ((pad (js2-make-pad i)) - (name (js2-var-init-node-target n)) - (init (js2-var-init-node-initializer n))) - (insert pad) - (js2-print-ast name 0) - (when init - (insert " = ") - (js2-print-ast init 0)))) - -(defstruct (js2-cond-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-cond-node (&key (type js2-HOOK) - (pos js2-ts-cursor) - len - test-expr - true-expr - false-expr - q-pos - c-pos))) - "AST node for the ternary operator" - test-expr - true-expr - false-expr - q-pos ; buffer position of ? - c-pos) ; buffer position of : - -(put 'cl-struct-js2-cond-node 'js2-visitor 'js2-visit-cond-node) -(put 'cl-struct-js2-cond-node 'js2-printer 'js2-print-cond-node) - -(defun js2-visit-cond-node (n v) - (js2-visit-ast (js2-cond-node-test-expr n) v) - (js2-visit-ast (js2-cond-node-true-expr n) v) - (js2-visit-ast (js2-cond-node-false-expr n) v)) - -(defun js2-print-cond-node (n i) - (let ((pad (js2-make-pad i))) - (insert pad) - (js2-print-ast (js2-cond-node-test-expr n) 0) - (insert " ? ") - (js2-print-ast (js2-cond-node-true-expr n) 0) - (insert " : ") - (js2-print-ast (js2-cond-node-false-expr n) 0))) - -(defstruct (js2-infix-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-infix-node (&key type - (pos js2-ts-cursor) - len - op-pos - left - right))) - "Represents infix expressions. -Includes assignment ops like `|=', and the comma operator. -The type field inherited from `js2-node' holds the operator." - op-pos ; buffer position where operator begins - left ; any `js2-node' - right) ; any `js2-node' - -(put 'cl-struct-js2-infix-node 'js2-visitor 'js2-visit-infix-node) -(put 'cl-struct-js2-infix-node 'js2-printer 'js2-print-infix-node) - -(defun js2-visit-infix-node (n v) - (when (js2-infix-node-left n) - (js2-visit-ast (js2-infix-node-left n) v)) - (when (js2-infix-node-right n) - (js2-visit-ast (js2-infix-node-right n) v))) - -(defconst js2-operator-tokens - (let ((table (make-hash-table :test 'eq)) - (tokens - (list (cons js2-IN "in") - (cons js2-TYPEOF "typeof") - (cons js2-INSTANCEOF "instanceof") - (cons js2-DELPROP "delete") - (cons js2-COMMA ",") - (cons js2-COLON ":") - (cons js2-OR "||") - (cons js2-AND "&&") - (cons js2-INC "++") - (cons js2-DEC "--") - (cons js2-BITOR "|") - (cons js2-BITXOR "^") - (cons js2-BITAND "&") - (cons js2-EQ "==") - (cons js2-NE "!=") - (cons js2-LT "<") - (cons js2-LE "<=") - (cons js2-GT ">") - (cons js2-GE ">=") - (cons js2-LSH "<<") - (cons js2-RSH ">>") - (cons js2-URSH ">>>") - (cons js2-ADD "+") ; infix plus - (cons js2-SUB "-") ; infix minus - (cons js2-MUL "*") - (cons js2-DIV "/") - (cons js2-MOD "%") - (cons js2-NOT "!") - (cons js2-BITNOT "~") - (cons js2-POS "+") ; unary plus - (cons js2-NEG "-") ; unary minus - (cons js2-SHEQ "===") ; shallow equality - (cons js2-SHNE "!==") ; shallow inequality - (cons js2-ASSIGN "=") - (cons js2-ASSIGN_BITOR "|=") - (cons js2-ASSIGN_BITXOR "^=") - (cons js2-ASSIGN_BITAND "&=") - (cons js2-ASSIGN_LSH "<<=") - (cons js2-ASSIGN_RSH ">>=") - (cons js2-ASSIGN_URSH ">>>=") - (cons js2-ASSIGN_ADD "+=") - (cons js2-ASSIGN_SUB "-=") - (cons js2-ASSIGN_MUL "*=") - (cons js2-ASSIGN_DIV "/=") - (cons js2-ASSIGN_MOD "%=")))) - (loop for (k . v) in tokens do - (puthash k v table)) - table)) - -(defun js2-print-infix-node (n i) - (let* ((tt (js2-node-type n)) - (op (gethash tt js2-operator-tokens))) - (unless op - (error "unrecognized infix operator %s" (js2-node-type n))) - (insert (js2-make-pad i)) - (js2-print-ast (js2-infix-node-left n) 0) - (unless (= tt js2-COMMA) - (insert " ")) - (insert op) - (insert " ") - (js2-print-ast (js2-infix-node-right n) 0))) - -(defstruct (js2-assign-node - (:include js2-infix-node) - (:constructor nil) - (:constructor make-js2-assign-node (&key type - (pos js2-ts-cursor) - len - op-pos - left - right))) - "Represents any assignment. -The type field holds the actual assignment operator.") - -(put 'cl-struct-js2-assign-node 'js2-visitor 'js2-visit-infix-node) -(put 'cl-struct-js2-assign-node 'js2-printer 'js2-print-infix-node) - -(defstruct (js2-unary-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-unary-node (&key type ; required - (pos js2-ts-cursor) - len - operand))) - "AST node type for unary operator nodes. -The type field can be NOT, BITNOT, POS, NEG, INC, DEC, -TYPEOF, or DELPROP. For INC or DEC, a 'postfix node -property is added if the operator follows the operand." - operand) ; a `js2-node' expression - -(put 'cl-struct-js2-unary-node 'js2-visitor 'js2-visit-unary-node) -(put 'cl-struct-js2-unary-node 'js2-printer 'js2-print-unary-node) - -(defun js2-visit-unary-node (n v) - (js2-visit-ast (js2-unary-node-operand n) v)) - -(defun js2-print-unary-node (n i) - (let* ((tt (js2-node-type n)) - (op (gethash tt js2-operator-tokens)) - (postfix (js2-node-get-prop n 'postfix))) - (unless op - (error "unrecognized unary operator %s" tt)) - (insert (js2-make-pad i)) - (unless postfix - (insert op)) - (if (or (= tt js2-TYPEOF) - (= tt js2-DELPROP)) - (insert " ")) - (js2-print-ast (js2-unary-node-operand n) 0) - (when postfix - (insert op)))) - -(defstruct (js2-let-node - (:include js2-scope) - (:constructor nil) - (:constructor make-js2-let-node (&key (type js2-LETEXPR) - (pos js2-token-beg) - len - vars - body - lp - rp))) - "AST node for a let expression or a let statement. -Note that a let declaration such as let x=6, y=7 is a `js2-var-decl-node'." - vars ; a `js2-var-decl-node' - body ; a `js2-node' representing the expression or body block - lp - rp) - -(put 'cl-struct-js2-let-node 'js2-visitor 'js2-visit-let-node) -(put 'cl-struct-js2-let-node 'js2-printer 'js2-print-let-node) - -(defun js2-visit-let-node (n v) - (when (js2-let-node-vars n) - (js2-visit-ast (js2-let-node-vars n) v)) - (when (js2-let-node-body n) - (js2-visit-ast (js2-let-node-body n) v))) - -(defun js2-print-let-node (n i) - (insert (js2-make-pad i) "let (") - (js2-print-ast (js2-let-node-vars n) 0) - (insert ") ") - (js2-print-ast (js2-let-node-body n) i)) - -(defstruct (js2-keyword-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-keyword-node (&key type - (pos js2-token-beg) - (len (- js2-ts-cursor pos))))) - "AST node representing a literal keyword such as `null'. -Used for `null', `this', `true', `false' and `debugger'. -The node type is set to js2-NULL, js2-THIS, etc.") - -(put 'cl-struct-js2-keyword-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-keyword-node 'js2-printer 'js2-print-keyword-node) - -(defun js2-print-keyword-node (n i) - (insert (js2-make-pad i) - (let ((tt (js2-node-type n))) - (cond - ((= tt 'js2-THIS) "this") - ((= tt 'js2-NULL) "null") - ((= tt 'js2-TRUE) "true") - ((= tt 'js2-FALSE) "false") - ((= tt 'js2-DEBUGGER) "debugger") - (t (error "Invalid keyword literal type: %d" tt)))))) - -(defsubst js2-this-node-p (node) - "Return t if this node is a `js2-literal-node' of type js2-THIS." - (eq (js2-node-type node) js2-THIS)) - -(defstruct (js2-new-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-new-node (&key (type js2-NEW) - (pos js2-token-beg) - len - target - args - initializer - lp - rp))) - "AST node for new-expression such as new Foo()." - target ; an identifier or reference - args ; a lisp list of argument nodes - lp ; position of left-paren, nil if omitted - rp ; position of right-paren, nil if omitted - initializer) ; experimental Rhino syntax: optional `js2-object-node' - -(put 'cl-struct-js2-new-node 'js2-visitor 'js2-visit-new-node) -(put 'cl-struct-js2-new-node 'js2-printer 'js2-print-new-node) - -(defun js2-visit-new-node (n v) - (js2-visit-ast (js2-new-node-target n) v) - (dolist (arg (js2-new-node-args n)) - (js2-visit-ast arg v)) - (when (js2-new-node-initializer n) - (js2-visit-ast (js2-new-node-initializer n) v))) - -(defun js2-print-new-node (n i) - (insert (js2-make-pad i) "new ") - (js2-print-ast (js2-new-node-target n)) - (insert "(") - (js2-print-list (js2-new-node-args n)) - (insert ")") - (when (js2-new-node-initializer n) - (insert " ") - (js2-print-ast (js2-new-node-initializer n)))) - -(defstruct (js2-name-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-name-node (&key (type js2-NAME) - (pos js2-token-beg) - (len (- js2-ts-cursor - js2-token-beg)) - (name js2-ts-string)))) - "AST node for a JavaScript identifier" - name ; a string - scope) ; a `js2-scope' (optional, used for codegen) - -(put 'cl-struct-js2-name-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-name-node 'js2-printer 'js2-print-name-node) - -(defun js2-print-name-node (n i) - (insert (js2-make-pad i) - (js2-name-node-name n))) - -(defsubst js2-name-node-length (node) - "Return identifier length of NODE, a `js2-name-node'. -Returns 0 if NODE is nil or its identifier field is nil." - (if node - (length (js2-name-node-name node)) - 0)) - -(defstruct (js2-number-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-number-node (&key (type js2-NUMBER) - (pos js2-token-beg) - (len (- js2-ts-cursor - js2-token-beg)) - (value js2-ts-string) - (num-value js2-ts-number)))) - "AST node for a number literal." - value ; the original string, e.g. "6.02e23" - num-value) ; the parsed number value - -(put 'cl-struct-js2-number-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-number-node 'js2-printer 'js2-print-number-node) - -(defun js2-print-number-node (n i) - (insert (js2-make-pad i) - (number-to-string (js2-number-node-value n)))) - -(defstruct (js2-regexp-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-regexp-node (&key (type js2-REGEXP) - (pos js2-token-beg) - (len (- js2-ts-cursor - js2-token-beg)) - value - flags))) - "AST node for a regular expression literal." - value ; the regexp string, without // delimiters - flags) ; a string of flags, e.g. `mi'. - -(put 'cl-struct-js2-regexp-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-regexp-node 'js2-printer 'js2-print-regexp) - -(defun js2-print-regexp (n i) - (insert (js2-make-pad i) - "/" - (js2-regexp-node-value n) - "/") - (if (js2-regexp-node-flags n) - (insert (js2-regexp-node-flags n)))) - -(defstruct (js2-string-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-string-node (&key (type js2-STRING) - (pos js2-token-beg) - (len (- js2-ts-cursor - js2-token-beg)) - (value js2-ts-string)))) - "String literal. -Escape characters are not evaluated; e.g. \n is 2 chars in value field. -You can tell the quote type by looking at the first character." - value) ; the characters of the string, including the quotes - -(put 'cl-struct-js2-string-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-string-node 'js2-printer 'js2-print-string-node) - -(defun js2-print-string-node (n i) - (insert (js2-make-pad i) - (js2-node-string n))) - -(defstruct (js2-array-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-array-node (&key (type js2-ARRAYLIT) - (pos js2-ts-cursor) - len - elems))) - "AST node for an array literal." - elems) ; list of expressions. [foo,,bar] yields a nil middle element. - -(put 'cl-struct-js2-array-node 'js2-visitor 'js2-visit-array-node) -(put 'cl-struct-js2-array-node 'js2-printer 'js2-print-array-node) - -(defun js2-visit-array-node (n v) - (dolist (e (js2-array-node-elems n)) - (when e ; can be nil, e.g. [a, ,b] - (js2-visit-ast e v)))) - -(defun js2-print-array-node (n i) - (insert (js2-make-pad i) "[") - (js2-print-list (js2-array-node-elems n)) - (insert "]")) - -(defstruct (js2-object-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-object-node (&key (type js2-OBJECTLIT) - (pos js2-ts-cursor) - len - elems))) - "AST node for an object literal expression." - elems) ; a lisp list of `js2-object-prop-node' - -(put 'cl-struct-js2-object-node 'js2-visitor 'js2-visit-object-node) -(put 'cl-struct-js2-object-node 'js2-printer 'js2-print-object-node) - -(defun js2-visit-object-node (n v) - (dolist (e (js2-object-node-elems n)) - (js2-visit-ast e v))) - -(defun js2-print-object-node (n i) - (insert (js2-make-pad i) "{") - (js2-print-list (js2-object-node-elems n)) - (insert "}")) - -(defstruct (js2-object-prop-node - (:include js2-infix-node) - (:constructor nil) - (:constructor make-js2-object-prop-node (&key (type js2-COLON) - (pos js2-ts-cursor) - len - left - right - op-pos))) - "AST node for an object literal prop:value entry. -The `left' field is the property: a name node, string node or number node. -The `right' field is a `js2-node' representing the initializer value.") - -(put 'cl-struct-js2-object-prop-node 'js2-visitor 'js2-visit-infix-node) -(put 'cl-struct-js2-object-prop-node 'js2-printer 'js2-print-object-prop-node) - -(defun js2-print-object-prop-node (n i) - (insert (js2-make-pad i)) - (js2-print-ast (js2-object-prop-node-left n) 0) - (insert ":") - (js2-print-ast (js2-object-prop-node-right n) 0)) - -(defstruct (js2-getter-setter-node - (:include js2-infix-node) - (:constructor nil) - (:constructor make-js2-getter-setter-node (&key type ; GET or SET - (pos js2-ts-cursor) - len - left - right))) - "AST node for a getter/setter property in an object literal. -The `left' field is the `js2-name-node' naming the getter/setter prop. -The `right' field is always an anonymous `js2-function-node' with a node -property `GETTER_SETTER' set to js2-GET or js2-SET. ") - -(put 'cl-struct-js2-getter-setter-node 'js2-visitor 'js2-visit-infix-node) -(put 'cl-struct-js2-getter-setter-node 'js2-printer 'js2-print-getter-setter) - -(defun js2-print-getter-setter (n i) - (let ((pad (js2-make-pad i)) - (left (js2-getter-setter-node-left n)) - (right (js2-getter-setter-node-right n))) - (insert pad) - (insert (if (= (js2-node-type n) js2-GET) "get " "set ")) - (js2-print-ast left 0) - (js2-print-ast right 0))) - -(defstruct (js2-prop-get-node - (:include js2-infix-node) - (:constructor nil) - (:constructor make-js2-prop-get-node (&key (type js2-GETPROP) - (pos js2-ts-cursor) - len - left - right))) - "AST node for a dotted property reference, e.g. foo.bar or foo().bar") - -(put 'cl-struct-js2-prop-get-node 'js2-visitor 'js2-visit-prop-get-node) -(put 'cl-struct-js2-prop-get-node 'js2-printer 'js2-print-prop-get-node) - -(defun js2-visit-prop-get-node (n v) - (when (js2-prop-get-node-left n) - (js2-visit-ast (js2-prop-get-node-left n) v)) - (when (js2-prop-get-node-right n) - (js2-visit-ast (js2-prop-get-node-right n) v))) - -(defun js2-print-prop-get-node (n i) - (insert (js2-make-pad i)) - (js2-print-ast (js2-prop-get-node-left n) 0) - (insert ".") - (js2-print-ast (js2-prop-get-node-right n) 0)) - -(defstruct (js2-elem-get-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-elem-get-node (&key (type js2-GETELEM) - (pos js2-ts-cursor) - len - target - element - lb - rb))) - "AST node for an array index expression such as foo[bar]." - target ; a `js2-node' - the expression preceding the "." - element ; a `js2-node' - the expression in brackets - lb ; position of left-bracket, nil if omitted - rb) ; position of right-bracket, nil if omitted - -(put 'cl-struct-js2-elem-get-node 'js2-visitor 'js2-visit-elem-get-node) -(put 'cl-struct-js2-elem-get-node 'js2-printer 'js2-print-elem-get-node) - -(defun js2-visit-elem-get-node (n v) - (when (js2-elem-get-node-target n) - (js2-visit-ast (js2-elem-get-node-target n) v)) - (when (js2-elem-get-node-element n) - (js2-visit-ast (js2-elem-get-node-element n) v))) - -(defun js2-print-elem-get-node (n i) - (insert (js2-make-pad i)) - (js2-print-ast (js2-elem-get-node-target n) 0) - (insert "[") - (js2-print-ast (js2-elem-get-node-element n) 0) - (insert "]")) - -(defstruct (js2-call-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-call-node (&key (type js2-CALL) - (pos js2-ts-cursor) - len - target - args - lp - rp))) - "AST node for a JavaScript function call." - target ; a `js2-node' evaluating to the function to call - args ; a lisp list of `js2-node' arguments - lp ; position of open-paren, or nil if missing - rp) ; position of close-paren, or nil if missing - -(put 'cl-struct-js2-call-node 'js2-visitor 'js2-visit-call-node) -(put 'cl-struct-js2-call-node 'js2-printer 'js2-print-call-node) - -(defun js2-visit-call-node (n v) - (js2-visit-ast (js2-call-node-target n) v) - (dolist (arg (js2-call-node-args n)) - (js2-visit-ast arg v))) - -(defun js2-print-call-node (n i) - (insert (js2-make-pad i)) - (js2-print-ast (js2-call-node-target n) 0) - (insert "(") - (js2-print-list (js2-call-node-args n)) - (insert ")")) - -(defstruct (js2-yield-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-yield-node (&key (type js2-YIELD) - (pos js2-ts-cursor) - len - value))) - "AST node for yield statement or expression." - value) ; optional: value to be yielded - -(put 'cl-struct-js2-yield-node 'js2-visitor 'js2-visit-yield-node) -(put 'cl-struct-js2-yield-node 'js2-printer 'js2-print-yield-node) - -(defun js2-visit-yield-node (n v) - (js2-visit-ast (js2-yield-node-value n) v)) - -(defun js2-print-yield-node (n i) - (insert (js2-make-pad i)) - (insert "yield") - (when (js2-yield-node-value n) - (insert " ") - (js2-print-ast (js2-yield-node-value n) 0))) - -(defstruct (js2-paren-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-paren-node (&key (type js2-LP) - (pos js2-ts-cursor) - len - expr))) - "AST node for a parenthesized expression. -In particular, used when the parens are syntactically optional, -as opposed to required parens such as those enclosing an if-conditional." - expr) ; `js2-node' - -(put 'cl-struct-js2-paren-node 'js2-visitor 'js2-visit-paren-node) -(put 'cl-struct-js2-paren-node 'js2-printer 'js2-print-paren-node) - -(defun js2-visit-paren-node (n v) - (js2-visit-ast (js2-paren-node-expr n) v)) - -(defun js2-print-paren-node (n i) - (insert (js2-make-pad i)) - (insert "(") - (js2-print-ast (js2-paren-node-expr n) 0) - (insert ")")) - -(defstruct (js2-array-comp-node - (:include js2-scope) - (:constructor nil) - (:constructor make-js2-array-comp-node (&key (type js2-ARRAYCOMP) - (pos js2-ts-cursor) - len - result - loops - filter - if-pos - lp - rp))) - "AST node for an Array comprehension such as [[x,y] for (x in foo) for (y in bar)]." - result ; result expression (just after left-bracket) - loops ; a lisp list of `js2-array-comp-loop-node' - filter ; guard/filter expression - if-pos ; buffer pos of 'if' keyword, if present, else nil - lp ; buffer position of if-guard left-paren, or nil if not present - rp) ; buffer position of if-guard right-paren, or nil if not present - -(put 'cl-struct-js2-array-comp-node 'js2-visitor 'js2-visit-array-comp-node) -(put 'cl-struct-js2-array-comp-node 'js2-printer 'js2-print-array-comp-node) - -(defun js2-visit-array-comp-node (n v) - (js2-visit-ast (js2-array-comp-node-result n) v) - (dolist (l (js2-array-comp-node-loops n)) - (js2-visit-ast l v)) - (if (js2-array-comp-node-filter n) - (js2-visit-ast (js2-array-comp-node-filter n) v))) - -(defun js2-print-array-comp-node (n i) - (let ((pad (js2-make-pad i)) - (result (js2-array-comp-node-result n)) - (loops (js2-array-comp-node-loops n)) - (filter (js2-array-comp-node-filter n))) - (insert pad "[") - (js2-print-ast result 0) - (dolist (l loops) - (insert " ") - (js2-print-ast l 0)) - (when filter - (insert " if (") - (js2-print-ast filter 0)) - (insert ")]"))) - -(defstruct (js2-array-comp-loop-node - (:include js2-for-in-node) - (:constructor nil) - (:constructor make-js2-array-comp-loop-node (&key (type js2-FOR) - (pos js2-ts-cursor) - len - iterator - object - in-pos - foreach-p - each-pos - lp - rp))) - "AST subtree for each 'for (foo in bar)' loop in an array comprehension.") - -(put 'cl-struct-js2-array-comp-loop-node 'js2-visitor 'js2-visit-array-comp-loop) -(put 'cl-struct-js2-array-comp-loop-node 'js2-printer 'js2-print-array-comp-loop) - -(defun js2-visit-array-comp-loop (n v) - (js2-visit-ast (js2-array-comp-loop-node-iterator n) v) - (js2-visit-ast (js2-array-comp-loop-node-object n) v)) - -(defun js2-print-array-comp-loop (n i) - (insert "for (") - (js2-print-ast (js2-array-comp-loop-node-iterator n) 0) - (insert " in ") - (js2-print-ast (js2-array-comp-loop-node-object n) 0) - (insert ")")) - -(defstruct (js2-empty-expr-node - (:include js2-node) - (:constructor nil) - (:constructor make-js2-empty-expr-node (&key (type js2-EMPTY) - (pos js2-token-beg) - len))) - "AST node for an empty expression.") - -(put 'cl-struct-js2-empty-expr-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-empty-expr-node 'js2-printer 'js2-print-none) - -(defstruct (js2-xml-node - (:include js2-block-node) - (:constructor nil) - (:constructor make-js2-xml-node (&key (type js2-XML) - (pos js2-token-beg) - len - kids))) - "AST node for initial parse of E4X literals. -The kids field is a list of XML fragments, each a `js2-string-node' or -a `js2-xml-js-expr-node'. Equivalent to Rhino's XmlLiteral node.") - -(put 'cl-struct-js2-xml-node 'js2-visitor 'js2-visit-block) -(put 'cl-struct-js2-xml-node 'js2-printer 'js2-print-xml-node) - -(defun js2-print-xml-node (n i) - (dolist (kid (js2-xml-node-kids n)) - (js2-print-ast kid i))) - -(defstruct (js2-xml-js-expr-node - (:include js2-xml-node) - (:constructor nil) - (:constructor make-js2-xml-js-expr-node (&key (type js2-XML) - (pos js2-ts-cursor) - len - expr))) - "AST node for an embedded JavaScript {expression} in an E4X literal. -The start and end fields correspond to the curly-braces." - expr) ; a `js2-expr-node' of some sort - -(put 'cl-struct-js2-xml-js-expr-node 'js2-visitor 'js2-visit-xml-js-expr) -(put 'cl-struct-js2-xml-js-expr-node 'js2-printer 'js2-print-xml-js-expr) - -(defun js2-visit-xml-js-expr (n v) - (js2-visit-ast (js2-xml-js-expr-node-expr n) v)) - -(defun js2-print-xml-js-expr (n i) - (insert (js2-make-pad i)) - (insert "{") - (js2-print-ast (js2-xml-js-expr-node-expr n) 0) - (insert "}")) - -(defstruct (js2-xml-dot-query-node - (:include js2-infix-node) - (:constructor nil) - (:constructor make-js2-xml-dot-query-node (&key (type js2-DOTQUERY) - (pos js2-ts-cursor) - op-pos - len - left - right - rp))) - "AST node for an E4X foo.(bar) filter expression. -Note that the left-paren is automatically the character immediately -following the dot (.) in the operator. No whitespace is permitted -between the dot and the lp by the scanner." - rp) - -(put 'cl-struct-js2-xml-dot-query-node 'js2-visitor 'js2-visit-infix-node) -(put 'cl-struct-js2-xml-dot-query-node 'js2-printer 'js2-print-xml-dot-query) - -(defun js2-print-xml-dot-query (n i) - (insert (js2-make-pad i)) - (js2-print-ast (js2-xml-dot-query-node-left n) 0) - (insert ".(") - (js2-print-ast (js2-xml-dot-query-node-right n) 0) - (insert ")")) - -(defstruct (js2-xml-ref-node - (:include js2-node) - (:constructor nil)) ; abstract - "Base type for E4X XML attribute-access or property-get expressions. -Such expressions can take a variety of forms. The general syntax has -three parts: - - - (optional) an @ (specifying an attribute access) - - (optional) a namespace (a `js2-name-node') and double-colon - - (required) either a `js2-name-node' or a bracketed [expression] - -The property-name expressions (examples: ns::name, @name) are -represented as `js2-xml-prop-ref' nodes. The bracketed-expression -versions (examples: ns::[name], @[name]) become `js2-xml-elem-ref' nodes. - -This node type (or more specifically, its subclasses) will sometimes -be the right-hand child of a `js2-prop-get-node' or a -`js2-infix-node' of type `js2-DOTDOT', the .. xml-descendants operator. -The `js2-xml-ref-node' may also be a standalone primary expression with -no explicit target, which is valid in certain expression contexts such as - - company..employee.(@id < 100) - -in this case, the @id is a `js2-xml-ref' that is part of an infix '<' -expression whose parent is a `js2-xml-dot-query-node'." - namespace - at-pos - colon-pos) - -(defsubst js2-xml-ref-node-attr-access-p (node) - "Return non-nil if this expression began with an @-token." - (and (numberp (js2-xml-ref-node-at-pos node)) - (plusp (js2-xml-ref-node-at-pos node)))) - -(defstruct (js2-xml-prop-ref-node - (:include js2-xml-ref-node) - (:constructor nil) - (:constructor make-js2-xml-prop-ref-node (&key (type js2-REF_NAME) - (pos js2-token-beg) - len - propname - namespace - at-pos - colon-pos))) - "AST node for an E4X XML [expr] property-ref expression. -The JavaScript syntax is an optional @, an optional ns::, and a name. - - [ '@' ] [ name '::' ] name - -Examples include name, ns::name, ns::*, *::name, *::*, @attr, @ns::attr, -@ns::*, @*::attr, @*::*, and @*. - -The node starts at the @ token, if present. Otherwise it starts at the -namespace name. The node bounds extend through the closing right-bracket, -or if it is missing due to a syntax error, through the end of the index -expression." - propname) - -(put 'cl-struct-js2-xml-prop-ref-node 'js2-visitor 'js2-visit-xml-prop-ref-node) -(put 'cl-struct-js2-xml-prop-ref-node 'js2-printer 'js2-print-xml-prop-ref-node) - -(defun js2-visit-xml-prop-ref-node (n v) - (if (js2-xml-prop-ref-node-namespace n) - (js2-visit-ast (js2-xml-prop-ref-node-namespace n) v)) - (if (js2-xml-prop-ref-node-propname n) - (js2-visit-ast (js2-xml-prop-ref-node-propname n) v))) - -(defun js2-print-xml-prop-ref-node (n i) - (insert (js2-make-pad i)) - (if (js2-xml-ref-node-attr-access-p n) - (insert "@")) - (when (js2-xml-prop-ref-node-namespace n) - (js2-print-ast (js2-xml-prop-ref-node-namespace n) 0) - (insert "::")) - (if (js2-xml-prop-ref-node-propname n) - (js2-print-ast (js2-xml-prop-ref-node-propname n) 0))) - -(defstruct (js2-xml-elem-ref-node - (:include js2-xml-ref-node) - (:constructor nil) - (:constructor make-js2-xml-elem-ref-node (&key (type js2-REF_MEMBER) - (pos js2-token-beg) - len - expr - lb - rb - namespace - at-pos - colon-pos))) - "AST node for an E4X XML [expr] member-ref expression. -Syntax: - - [ '@' ] [ name '::' ] '[' expr ']' - -Examples include ns::[expr], @ns::[expr], @[expr], *::[expr] and @*::[expr]. - -Note that the form [expr] (i.e. no namespace or attribute-qualifier) -is not a legal E4X XML element-ref expression, since it's already used -for standard JavaScript element-get array indexing. Hence, a -`js2-xml-elem-ref-node' always has either the attribute-qualifier, a -non-nil namespace node, or both. - -The node starts at the @ token, if present. Otherwise it starts -at the namespace name. The node bounds extend through the closing -right-bracket, or if it is missing due to a syntax error, through the -end of the index expression." - expr ; the bracketed index expression - lb - rb) - -(put 'cl-struct-js2-xml-elem-ref-node 'js2-visitor 'js2-visit-xml-elem-ref-node) -(put 'cl-struct-js2-xml-elem-ref-node 'js2-printer 'js2-print-xml-elem-ref-node) - -(defun js2-visit-xml-elem-ref-node (n v) - (if (js2-xml-elem-ref-node-namespace n) - (js2-visit-ast (js2-xml-elem-ref-node-namespace n) v)) - (if (js2-xml-elem-ref-node-expr n) - (js2-visit-ast (js2-xml-elem-ref-node-expr n) v))) - -(defun js2-print-xml-elem-ref-node (n i) - (insert (js2-make-pad i)) - (if (js2-xml-ref-node-attr-access-p n) - (insert "@")) - (when (js2-xml-elem-ref-node-namespace n) - (js2-print-ast (js2-xml-elem-ref-node-namespace n) 0) - (insert "::")) - (insert "[") - (if (js2-xml-elem-ref-node-expr n) - (js2-print-ast (js2-xml-elem-ref-node-expr n) 0)) - (insert "]")) - -;;; Placeholder nodes for when we try parsing the XML literals structurally. - -(defstruct (js2-xml-start-tag-node - (:include js2-xml-node) - (:constructor nil) - (:constructor make-js2-xml-start-tag-node (&key (type js2-XML) - (pos js2-ts-cursor) - len - name - attrs - kids - empty-p))) - "AST node for an XML start-tag. Not currently used. -The `kids' field is a lisp list of child content nodes." - name ; a `js2-xml-name-node' - attrs ; a lisp list of `js2-xml-attr-node' - empty-p) ; t if this is an empty element such as - -(put 'cl-struct-js2-xml-start-tag-node 'js2-visitor 'js2-visit-xml-start-tag) -(put 'cl-struct-js2-xml-start-tag-node 'js2-printer 'js2-print-xml-start-tag) - -(defun js2-visit-xml-start-tag (n v) - (js2-visit-ast (js2-xml-start-tag-node-name n) v) - (dolist (attr (js2-xml-start-tag-node-attrs n)) - (js2-visit-ast attr v)) - (js2-visit-block n v)) - -(defun js2-print-xml-start-tag (n i) - (insert (js2-make-pad i) "<") - (js2-print-ast (js2-xml-start-tag-node-name n) 0) - (when (js2-xml-start-tag-node-attrs n) - (insert " ") - (js2-print-list (js2-xml-start-tag-node-attrs n) " ")) - (insert ">")) - -;; I -think- I'm going to make the parent node the corresponding start-tag, -;; and add the end-tag to the kids list of the parent as well. -(defstruct (js2-xml-end-tag-node - (:include js2-xml-node) - (:constructor nil) - (:constructor make-js2-xml-end-tag-node (&key (type js2-XML) - (pos js2-ts-cursor) - len - name))) - "AST node for an XML end-tag. Not currently used." - name) ; a `js2-xml-name-node' - -(put 'cl-struct-js2-xml-end-tag-node 'js2-visitor 'js2-visit-xml-end-tag) -(put 'cl-struct-js2-xml-end-tag-node 'js2-printer 'js2-print-xml-end-tag) - -(defun js2-visit-xml-end-tag (n v) - (js2-visit-ast (js2-xml-end-tag-node-name n) v)) - -(defun js2-print-xml-end-tag (n i) - (insert (js2-make-pad i)) - (insert "") - (js2-print-ast (js2-xml-end-tag-node-name n) 0) - (insert ">")) - -(defstruct (js2-xml-name-node - (:include js2-xml-node) - (:constructor nil) - (:constructor make-js2-xml-name-node (&key (type js2-XML) - (pos js2-ts-cursor) - len - namespace - kids))) - "AST node for an E4X XML name. Not currently used. -Any XML name can be qualified with a namespace, hence the namespace field. -Further, any E4X name can be comprised of arbitrary JavaScript {} expressions. -The kids field is a list of `js2-name-node' and `js2-xml-js-expr-node'. -For a simple name, the kids list has exactly one node, a `js2-name-node'." - namespace) ; a `js2-string-node' - -(put 'cl-struct-js2-xml-name-node 'js2-visitor 'js2-visit-xml-name-node) -(put 'cl-struct-js2-xml-name-node 'js2-printer 'js2-print-xml-name-node) - -(defun js2-visit-xml-name-node (n v) - (js2-visit-ast (js2-xml-name-node-namespace n) v)) - -(defun js2-print-xml-name-node (n i) - (insert (js2-make-pad i)) - (when (js2-xml-name-node-namespace n) - (js2-print-ast (js2-xml-name-node-namespace n) 0) - (insert "::")) - (dolist (kid (js2-xml-name-node-kids n)) - (js2-print-ast kid 0))) - -(defstruct (js2-xml-pi-node - (:include js2-xml-node) - (:constructor nil) - (:constructor make-js2-xml-pi-node (&key (type js2-XML) - (pos js2-ts-cursor) - len - name - attrs))) - "AST node for an E4X XML processing instruction. Not currently used." - name ; a `js2-xml-name-node' - attrs) ; a list of `js2-xml-attr-node' - -(put 'cl-struct-js2-xml-pi-node 'js2-visitor 'js2-visit-xml-pi-node) -(put 'cl-struct-js2-xml-pi-node 'js2-printer 'js2-print-xml-pi-node) - -(defun js2-visit-xml-pi-node (n v) - (js2-visit-ast (js2-xml-pi-node-name n) v) - (dolist (attr (js2-xml-pi-node-attrs n)) - (js2-visit-ast attr v))) - -(defun js2-print-xml-pi-node (n i) - (insert (js2-make-pad i) "") - (js2-print-ast (js2-xml-pi-node-name n)) - (when (js2-xml-pi-node-attrs n) - (insert " ") - (js2-print-list (js2-xml-pi-node-attrs n))) - (insert "?>")) - -(defstruct (js2-xml-cdata-node - (:include js2-xml-node) - (:constructor nil) - (:constructor make-js2-xml-cdata-node (&key (type js2-XML) - (pos js2-ts-cursor) - len - content))) - "AST node for a CDATA escape section. Not currently used." - content) ; a `js2-string-node' with node-property 'quote-type 'cdata - -(put 'cl-struct-js2-xml-cdata-node 'js2-visitor 'js2-visit-xml-cdata-node) -(put 'cl-struct-js2-xml-cdata-node 'js2-printer 'js2-print-xml-cdata-node) - -(defun js2-visit-xml-cdata-node (n v) - (js2-visit-ast (js2-xml-cdata-node-content n) v)) - -(defun js2-print-xml-cdata-node (n i) - (insert (js2-make-pad i)) - (js2-print-ast (js2-xml-cdata-node-content n))) - -(defstruct (js2-xml-attr-node - (:include js2-xml-node) - (:constructor nil) - (:constructor make-js2-attr-node (&key (type js2-XML) - (pos js2-ts-cursor) - len - name - value - eq-pos - quote-type))) - "AST node representing a foo='bar' XML attribute value. Not yet used." - name ; a `js2-xml-name-node' - value ; a `js2-xml-name-node' - eq-pos ; buffer position of "=" sign - quote-type) ; 'single or 'double - -(put 'cl-struct-js2-xml-attr-node 'js2-visitor 'js2-visit-xml-attr-node) -(put 'cl-struct-js2-xml-attr-node 'js2-printer 'js2-print-xml-attr-node) - -(defun js2-visit-xml-attr-node (n v) - (js2-visit-ast (js2-xml-attr-node-name n) v) - (js2-visit-ast (js2-xml-attr-node-value n) v)) - -(defun js2-print-xml-attr-node (n i) - (let ((quote (if (eq (js2-xml-attr-node-quote-type n) 'single) - "'" - "\""))) - (insert (js2-make-pad i)) - (js2-print-ast (js2-xml-attr-node-name n) 0) - (insert "=" quote) - (js2-print-ast (js2-xml-attr-node-value n) 0) - (insert quote))) - -(defstruct (js2-xml-text-node - (:include js2-xml-node) - (:constructor nil) - (:constructor make-js2-text-node (&key (type js2-XML) - (pos js2-ts-cursor) - len - content))) - "AST node for an E4X XML text node. Not currently used." - content) ; a lisp list of `js2-string-node' and `js2-xml-js-expr-node' - -(put 'cl-struct-js2-xml-text-node 'js2-visitor 'js2-visit-xml-text-node) -(put 'cl-struct-js2-xml-text-node 'js2-printer 'js2-print-xml-text-node) - -(defun js2-visit-xml-text-node (n v) - (js2-visit-ast (js2-xml-text-node-content n) v)) - -(defun js2-print-xml-text-node (n i) - (insert (js2-make-pad i)) - (dolist (kid (js2-xml-text-node-content n)) - (js2-print-ast kid))) - -(defstruct (js2-xml-comment-node - (:include js2-xml-node) - (:constructor nil) - (:constructor make-js2-xml-comment-node (&key (type js2-XML) - (pos js2-ts-cursor) - len))) - "AST node for E4X XML comment. Not currently used.") - -(put 'cl-struct-js2-xml-comment-node 'js2-visitor 'js2-visit-none) -(put 'cl-struct-js2-xml-comment-node 'js2-printer 'js2-print-xml-comment) - -(defun js2-print-xml-comment (n i) - (insert (js2-make-pad i) - (js2-node-string n))) - -;;; Node utilities - -(defsubst js2-node-line (n) - "Fetch the source line number at the start of node N. -This is O(n) in the length of the source buffer; use prudently." - (1+ (count-lines (point-min) (js2-node-abs-pos n)))) - -(defsubst js2-block-node-kid (n i) - "Return child I of node N, or nil if there aren't that many." - (nth i (js2-block-node-kids n))) - -(defsubst js2-block-node-first (n) - "Return first child of block node N, or nil if there is none." - (first (js2-block-node-kids n))) - -(defun js2-node-root (n) - "Return the root of the AST containing N. -If N has no parent pointer, returns N." - (let ((parent (js2-node-parent n))) - (if parent - (js2-node-root parent) - n))) - -(defun js2-node-position-in-parent (node &optional parent) - "Return the position of NODE in parent's block-kids list. -PARENT can be supplied if known. Positioned returned is zero-indexed. -Returns 0 if NODE is not a child of a block statement, or if NODE -is not a statement node." - (let ((p (or parent (js2-node-parent node))) - (i 0)) - (if (not (js2-block-node-p p)) - i - (or (js2-position node (js2-block-node-kids p)) - 0)))) - -(defsubst js2-node-short-name (n) - "Return the short name of node N as a string, e.g. `js2-if-node'." - (substring (symbol-name (aref n 0)) - (length "cl-struct-"))) - -(defsubst js2-node-child-list (node) - "Return the child list for NODE, a lisp list of nodes. -Works for block nodes, array nodes, obj literals, funarg lists, -var decls and try nodes (for catch clauses). Note that you should call -`js2-block-node-kids' on the function body for the body statements. -Returns nil for zero-length child lists or unsupported nodes." - (cond - ((js2-function-node-p node) - (js2-function-node-params node)) - ((js2-block-node-p node) - (js2-block-node-kids node)) - ((js2-try-node-p node) - (js2-try-node-catch-clauses node)) - ((js2-array-node-p node) - (js2-array-node-elems node)) - ((js2-object-node-p node) - (js2-object-node-elems node)) - ((js2-call-node-p node) - (js2-call-node-args node)) - ((js2-new-node-p node) - (js2-new-node-args node)) - ((js2-var-decl-node-p node) - (js2-var-decl-node-kids node)) - (t - nil))) - -(defsubst js2-node-set-child-list (node kids) - "Set the child list for NODE to KIDS." - (cond - ((js2-function-node-p node) - (setf (js2-function-node-params node) kids)) - ((js2-block-node-p node) - (setf (js2-block-node-kids node) kids)) - ((js2-try-node-p node) - (setf (js2-try-node-catch-clauses node) kids)) - ((js2-array-node-p node) - (setf (js2-array-node-elems node) kids)) - ((js2-object-node-p node) - (setf (js2-object-node-elems node) kids)) - ((js2-call-node-p node) - (setf (js2-call-node-args node) kids)) - ((js2-new-node-p node) - (setf (js2-new-node-args node) kids)) - ((js2-var-decl-node-p node) - (setf (js2-var-decl-node-kids node) kids)) - (t - (error "Unsupported node type: %s" (js2-node-short-name node)))) - kids) - -;; All because Common Lisp doesn't support multiple inheritance for defstructs. -(defconst js2-paren-expr-nodes - '(cl-struct-js2-array-comp-loop-node - cl-struct-js2-array-comp-node - cl-struct-js2-call-node - cl-struct-js2-catch-node - cl-struct-js2-do-node - cl-struct-js2-elem-get-node - cl-struct-js2-for-in-node - cl-struct-js2-for-node - cl-struct-js2-function-node - cl-struct-js2-if-node - cl-struct-js2-let-node - cl-struct-js2-new-node - cl-struct-js2-paren-node - cl-struct-js2-switch-node - cl-struct-js2-while-node - cl-struct-js2-with-node - cl-struct-js2-xml-dot-query-node) - "Node types that can have a parenthesized child expression. -In particular, nodes that respond to `js2-node-lp' and `js2-node-rp'.") - -(defsubst js2-paren-expr-node-p (node) - "Return t for nodes that typically have a parenthesized child expression. -Useful for computing the indentation anchors for arg-lists and conditions. -Note that it may return a false positive, for instance when NODE is -a `js2-new-node' and there are no arguments or parentheses." - (memq (aref node 0) js2-paren-expr-nodes)) - -;; Fake polymorphism... yech. -(defsubst js2-node-lp (node) - "Return relative left-paren position for NODE, if applicable. -For `js2-elem-get-node' structs, returns left-bracket position. -Note that the position may be nil in the case of a parse error." - (cond - ((js2-elem-get-node-p node) - (js2-elem-get-node-lb node)) - ((js2-loop-node-p node) - (js2-loop-node-lp node)) - ((js2-function-node-p node) - (js2-function-node-lp node)) - ((js2-if-node-p node) - (js2-if-node-lp node)) - ((js2-new-node-p node) - (js2-new-node-lp node)) - ((js2-call-node-p node) - (js2-call-node-lp node)) - ((js2-paren-node-p node) - (js2-node-pos node)) - ((js2-switch-node-p node) - (js2-switch-node-lp node)) - ((js2-catch-node-p node) - (js2-catch-node-lp node)) - ((js2-let-node-p node) - (js2-let-node-lp node)) - ((js2-array-comp-node-p node) - (js2-array-comp-node-lp node)) - ((js2-with-node-p node) - (js2-with-node-lp node)) - ((js2-xml-dot-query-node-p node) - (1+ (js2-infix-node-op-pos node))) - (t - (error "Unsupported node type: %s" (js2-node-short-name node))))) - -;; Fake polymorphism... blech. -(defsubst js2-node-rp (node) - "Return relative right-paren position for NODE, if applicable. -For `js2-elem-get-node' structs, returns right-bracket position. -Note that the position may be nil in the case of a parse error." - (cond - ((js2-elem-get-node-p node) - (js2-elem-get-node-lb node)) - ((js2-loop-node-p node) - (js2-loop-node-rp node)) - ((js2-function-node-p node) - (js2-function-node-rp node)) - ((js2-if-node-p node) - (js2-if-node-rp node)) - ((js2-new-node-p node) - (js2-new-node-rp node)) - ((js2-call-node-p node) - (js2-call-node-rp node)) - ((js2-paren-node-p node) - (+ (js2-node-pos node) (js2-node-len node))) - ((js2-switch-node-p node) - (js2-switch-node-rp node)) - ((js2-catch-node-p node) - (js2-catch-node-rp node)) - ((js2-let-node-p node) - (js2-let-node-rp node)) - ((js2-array-comp-node-p node) - (js2-array-comp-node-rp node)) - ((js2-with-node-p node) - (js2-with-node-rp node)) - ((js2-xml-dot-query-node-p node) - (1+ (js2-xml-dot-query-node-rp node))) - (t - (error "Unsupported node type: %s" (js2-node-short-name node))))) - -(defsubst js2-node-first-child (node) - "Returns the first element of `js2-node-child-list' for NODE." - (car (js2-node-child-list node))) - -(defsubst js2-node-last-child (node) - "Returns the last element of `js2-node-last-child' for NODE." - (car (last (js2-node-child-list node)))) - -(defun js2-node-prev-sibling (node) - "Return the previous statement in parent. -Works for parents supported by `js2-node-child-list'. -Returns nil if NODE is not in the parent, or PARENT is -not a supported node, or if NODE is the first child." - (let* ((p (js2-node-parent node)) - (kids (js2-node-child-list p)) - (sib (car kids))) - (while (and kids - (neq node (cadr kids))) - (setq kids (cdr kids) - sib (car kids))) - sib)) - -(defun js2-node-next-sibling (node) - "Return the next statement in parent block. -Returns nil if NODE is not in the block, or PARENT is not -a block node, or if NODE is the last statement." - (let* ((p (js2-node-parent node)) - (kids (js2-node-child-list p))) - (while (and kids - (neq node (car kids))) - (setq kids (cdr kids))) - (cadr kids))) - -(defun js2-node-find-child-before (pos parent &optional after) - "Find the last child that starts before POS in parent. -If AFTER is non-nil, returns first child starting after POS. -POS is an absolute buffer position. PARENT is any node -supported by `js2-node-child-list'. -Returns nil if no applicable child is found." - (let ((kids (if (js2-function-node-p parent) - (js2-block-node-kids (js2-function-node-body parent)) - (js2-node-child-list parent))) - (beg (if (js2-function-node-p parent) - (js2-node-abs-pos (js2-function-node-body parent)) - (js2-node-abs-pos parent))) - kid - result - fn - (continue t)) - (setq fn (if after '> '<)) - (while (and kids continue) - (setq kid (car kids)) - (if (funcall fn (+ beg (js2-node-pos kid)) pos) - (setq result kid - continue (if after nil t)) - (setq continue (if after t nil))) - (setq kids (cdr kids))) - result)) - -(defun js2-node-find-child-after (pos parent) - "Find first child that starts after POS in parent. -POS is an absolute buffer position. PARENT is any node -supported by `js2-node-child-list'. -Returns nil if no applicable child is found." - (js2-node-find-child-before pos parent 'after)) - -(defun js2-node-replace-child (pos parent new-node) - "Replace node at index POS in PARENT with NEW-NODE. -Only works for parents supported by `js2-node-child-list'." - (let ((kids (js2-node-child-list parent)) - (i 0)) - (while (< i pos) - (setq kids (cdr kids) - i (1+ i))) - (setcar kids new-node) - (js2-node-add-children parent new-node))) - -(defun js2-node-buffer (n) - "Return the buffer associated with AST N. -Returns nil if the buffer is not set as a property on the root -node, or if parent links were not recorded during parsing." - (let ((root (js2-node-root n))) - (and root - (js2-ast-root-p root) - (js2-ast-root-buffer root)))) - -(defsubst js2-block-node-push (n kid) - "Push js2-node KID onto the end of js2-block-node N's child list. -KID is always added to the -end- of the kids list. -Function also calls `js2-node-add-children' to add the parent link." - (let ((kids (js2-node-child-list n))) - (if kids - (setcdr kids (nconc (cdr kids) (list kid))) - (js2-node-set-child-list n (list kid))) - (js2-node-add-children n kid))) - -(defun js2-node-string (node) - (let ((buf (js2-node-buffer node)) - pos) - (unless buf - (error "No buffer available for node %s" node)) - (save-excursion - (set-buffer buf) - (buffer-substring-no-properties (setq pos (js2-node-abs-pos node)) - (+ pos (js2-node-len node)))))) - -;; Container for storing the node we're looking for in a traversal. -(defvar js2-discovered-node nil) -(make-variable-buffer-local 'js2-discovered-node) - -;; Keep track of absolute node position during traversals. -(defvar js2-visitor-offset nil) -(make-variable-buffer-local 'js2-visitor-offset) - -(defvar js2-node-search-point nil) -(make-variable-buffer-local 'js2-node-search-point) - -(when js2-mode-dev-mode-p - (defun js2-find-node-at-point () - (interactive) - (let ((node (js2-node-at-point))) - (message "%s" (or node "No node found at point")))) - (defun js2-node-name-at-point () - (interactive) - (let ((node (js2-node-at-point))) - (message "%s" (if node - (js2-node-short-name node) - "No node found at point."))))) - -(defun js2-node-at-point (&optional pos skip-comments) - "Return AST node at POS, a buffer position, defaulting to current point. -The `js2-mode-ast' variable must be set to the current parse tree. -Signals an error if the AST (`js2-mode-ast') is nil. -Always returns a node - if it can't find one, it returns the root. -If SKIP-COMMENTS is non-nil, comment nodes are ignored." - (let ((ast js2-mode-ast) - result) - (unless ast - (error "No JavaScript AST available")) - ;; Look through comments first, since they may be inside nodes that - ;; would otherwise report a match. - (setq pos (or pos (point)) - result (if (> pos (js2-node-abs-end ast)) - ast - (if (not skip-comments) - (js2-comment-at-point pos)))) - (unless result - (setq js2-discovered-node nil - js2-visitor-offset 0 - js2-node-search-point pos) - (unwind-protect - (catch 'js2-visit-done - (js2-visit-ast ast #'js2-node-at-point-visitor)) - (setq js2-visitor-offset nil - js2-node-search-point nil)) - (setq result js2-discovered-node)) - ;; may have found a comment beyond end of last child node, - ;; since visiting the ast-root looks at the comment-list last. - (if (and skip-comments - (js2-comment-node-p result)) - (setq result nil)) - (or result js2-mode-ast))) - -(defun js2-node-at-point-visitor (node end-p) - (let ((rel-pos (js2-node-pos node)) - abs-pos - abs-end - (point js2-node-search-point)) - (cond - (end-p - ;; this evaluates to a non-nil return value, even if it's zero - (decf js2-visitor-offset rel-pos)) - ;; we already looked for comments before visiting, and don't want them now - ((js2-comment-node-p node) - nil) - (t - (setq abs-pos (incf js2-visitor-offset rel-pos) - ;; we only want to use the node if the point is before - ;; the last character position in the node, so we decrement - ;; the absolute end by 1. - abs-end (+ abs-pos (js2-node-len node) -1)) - (cond - ;; If this node starts after search-point, stop the search. - ((> abs-pos point) - (throw 'js2-visit-done nil)) - ;; If this node ends before the search-point, don't check kids. - ((> point abs-end) - nil) - (t - ;; Otherwise point is within this node, possibly in a child. - (setq js2-discovered-node node) - t)))))) ; keep processing kids to look for more specific match - -(defsubst js2-block-comment-p (node) - "Return non-nil if NODE is a comment node of format `jsdoc' or `block'." - (and (js2-comment-node-p node) - (memq (js2-comment-node-format node) '(jsdoc block)))) - -;; TODO: put the comments in a vector and binary-search them instead -(defun js2-comment-at-point (&optional pos) - "Look through scanned comment nodes for one containing POS. -POS is a buffer position that defaults to current point. -Function returns nil if POS was not in any comment node." - (let ((ast js2-mode-ast) - (x (or pos (point))) - beg - end) - (unless ast - (error "No JavaScript AST available")) - (catch 'done - ;; Comments are stored in lexical order. - (dolist (comment (js2-ast-root-comments ast) nil) - (setq beg (js2-node-abs-pos comment) - end (+ beg (js2-node-len comment))) - (if (and (>= x beg) - (<= x end)) - (throw 'done comment)))))) - -(defun js2-mode-find-parent-fn (node) - "Find function enclosing NODE. -Returns nil if NODE is not inside a function." - (setq node (js2-node-parent node)) - (while (and node (not (js2-function-node-p node))) - (setq node (js2-node-parent node))) - (and (js2-function-node-p node) node)) - -(defun js2-mode-find-enclosing-fn (node) - "Find function or root enclosing NODE." - (if (js2-ast-root-p node) - node - (setq node (js2-node-parent node)) - (while (not (or (js2-ast-root-p node) - (js2-function-node-p node))) - (setq node (js2-node-parent node))) - node)) - -(defun js2-mode-find-enclosing-node (beg end) - "Find script or function fully enclosing BEG and END." - (let ((node (js2-node-at-point beg)) - pos - (continue t)) - (while continue - (if (or (js2-ast-root-p node) - (and (js2-function-node-p node) - (<= (setq pos (js2-node-abs-pos node)) beg) - (>= (+ pos (js2-node-len node)) end))) - (setq continue nil) - (setq node (js2-node-parent node)))) - node)) - -(defun js2-node-parent-script-or-fn (node) - "Find script or function immediately enclosing NODE. -If NODE is the ast-root, returns nil." - (if (js2-ast-root-p node) - nil - (setq node (js2-node-parent node)) - (while (and node (not (or (js2-function-node-p node) - (js2-script-node-p node)))) - (setq node (js2-node-parent node))) - node)) - -(defsubst js2-nested-function-p (node) - "Return t if NODE is a nested function, or is inside a nested function." - (js2-function-node-p (if (js2-function-node-p node) - (js2-node-parent-script-or-fn node) - (js2-node-parent-script-or-fn - (js2-node-parent-script-or-fn node))))) - -(defsubst js2-mode-shift-kids (kids start offset) - (dolist (kid kids) - (if (> (js2-node-pos kid) start) - (incf (js2-node-pos kid) offset)))) - -(defsubst js2-mode-shift-children (parent start offset) - "Update start-positions of all children of PARENT beyond START." - (let ((root (js2-node-root parent))) - (js2-mode-shift-kids (js2-node-child-list parent) start offset) - (js2-mode-shift-kids (js2-ast-root-comments root) start offset))) - -(defsubst js2-node-is-descendant (node ancestor) - "Return t if NODE is a descendant of ANCESTOR." - (while (and node - (neq node ancestor)) - (setq node (js2-node-parent node))) - node) - -;;; visitor infrastructure - -(defun js2-visit-none (node callback) - "Visitor for AST node that have no node children." - nil) - -(defun js2-print-none (node indent) - "Visitor for AST node with no printed representation.") - -(defun js2-print-body (node indent) - "Print a statement, or a block without braces." - (if (js2-block-node-p node) - (dolist (kid (js2-block-node-kids node)) - (js2-print-ast kid indent)) - (js2-print-ast node indent))) - -(defun js2-print-list (args &optional delimiter) - (loop with len = (length args) - for arg in args - for count from 1 - do - (js2-print-ast arg 0) - (if (< count len) - (insert (or delimiter ", "))))) - -(defun js2-print-tree (ast) - "Prints an AST to the current buffer. -Makes `js2-ast-parent-nodes' available to the printer functions." - (let ((max-lisp-eval-depth (max max-lisp-eval-depth 1500))) - (js2-print-ast ast))) - -(defun js2-print-ast (node &optional indent) - "Helper function for printing AST nodes. -Requires `js2-ast-parent-nodes' to be non-nil. -You should use `js2-print-tree' instead of this function." - (let ((printer (get (aref node 0) 'js2-printer)) - (i (or indent 0)) - (pos (js2-node-abs-pos node))) - ;; TODO: wedge comments in here somewhere - (if printer - (funcall printer node i)))) - -(defconst js2-side-effecting-tokens - (let ((tokens (make-bool-vector js2-num-tokens nil))) - (dolist (tt (list js2-ASSIGN - js2-ASSIGN_ADD - js2-ASSIGN_BITAND - js2-ASSIGN_BITOR - js2-ASSIGN_BITXOR - js2-ASSIGN_DIV - js2-ASSIGN_LSH - js2-ASSIGN_MOD - js2-ASSIGN_MUL - js2-ASSIGN_RSH - js2-ASSIGN_SUB - js2-ASSIGN_URSH - js2-BLOCK - js2-BREAK - js2-CALL - js2-CATCH - js2-CATCH_SCOPE - js2-CONST - js2-CONTINUE - js2-DEBUGGER - js2-DEC - js2-DELPROP - js2-DEL_REF - js2-DO - js2-ELSE - js2-EMPTY - js2-ENTERWITH - js2-EXPORT - js2-EXPR_RESULT - js2-FINALLY - js2-FOR - js2-FUNCTION - js2-GOTO - js2-IF - js2-IFEQ - js2-IFNE - js2-IMPORT - js2-INC - js2-JSR - js2-LABEL - js2-LEAVEWITH - js2-LET - js2-LETEXPR - js2-LOCAL_BLOCK - js2-LOOP - js2-NEW - js2-REF_CALL - js2-RETHROW - js2-RETURN - js2-RETURN_RESULT - js2-SEMI - js2-SETELEM - js2-SETELEM_OP - js2-SETNAME - js2-SETPROP - js2-SETPROP_OP - js2-SETVAR - js2-SET_REF - js2-SET_REF_OP - js2-SWITCH - js2-TARGET - js2-THROW - js2-TRY - js2-VAR - js2-WHILE - js2-WITH - js2-WITHEXPR - js2-YIELD)) - (aset tokens tt t)) - (if js2-instanceof-has-side-effects - (aset tokens js2-INSTANCEOF t)) - tokens)) - -(defun js2-node-has-side-effects (node) - "Return t if NODE has side effects." - (when node ; makes it easier to handle malformed expressions - (let ((tt (js2-node-type node))) - (cond - ;; This doubtless needs some work, since EXPR_VOID is used - ;; in several ways in Rhino, and I may not have caught them all. - ;; I'll wait for people to notice incorrect warnings. - ((and (= tt js2-EXPR_VOID) - (js2-expr-stmt-node-p node)) ; but not if EXPR_RESULT - (js2-node-has-side-effects (js2-expr-stmt-node-expr node))) - - ((= tt js2-COMMA) - (js2-node-has-side-effects (js2-infix-node-right node))) - - ((or (= tt js2-AND) - (= tt js2-OR)) - (or (js2-node-has-side-effects (js2-infix-node-right node)) - (js2-node-has-side-effects (js2-infix-node-left node)))) - - ((= tt js2-HOOK) - (and (js2-node-has-side-effects (js2-cond-node-true-expr node)) - (js2-node-has-side-effects (js2-cond-node-false-expr node)))) - - ((js2-paren-node-p node) - (js2-node-has-side-effects (js2-paren-node-expr node))) - - ((= tt js2-ERROR) ; avoid cascaded error messages - nil) - (t - (aref js2-side-effecting-tokens tt)))))) - -(defun js2-member-expr-leftmost-name (node) - "For an expr such as foo.bar.baz, return leftmost node foo. -NODE is any `js2-node' object. If it represents a member expression, -which is any sequence of property gets, element-gets, function calls, -or xml descendants/filter operators, then we look at the lexically -leftmost (first) node in the chain. If it is a name-node we return it. -Note that NODE can be a raw name-node and it will be returned as well. -If NODE is not a name-node or member expression, or if it is a member -expression whose leftmost target is not a name node, returns nil." - (let ((continue t) - result) - (while (and continue (not result)) - (cond - ((js2-name-node-p node) - (setq result node)) - ((js2-prop-get-node-p node) - (setq node (js2-prop-get-node-left node))) - ;; TODO: handle call-nodes, xml-nodes, others? - (t - (setq continue nil)))) - result)) - -(defconst js2-stmt-node-types - (list js2-BLOCK - js2-BREAK - js2-CONTINUE - js2-DEFAULT ; e4x "default xml namespace" statement - js2-DO - js2-EXPR_RESULT - js2-EXPR_VOID - js2-FOR - js2-IF - js2-RETURN - js2-SWITCH - js2-THROW - js2-TRY - js2-WHILE - js2-WITH) - "Node types that only appear in statement contexts. -The list does not include nodes that always appear as the child -of another specific statement type, such as switch-cases, -catch and finally blocks, and else-clauses. The list also excludes -nodes like yield, let and var, which may appear in either expression -or statement context, and in the latter context always have a -`js2-expr-stmt-node' parent. Finally, the list does not include -functions or scripts, which are treated separately from statements -by the JavaScript parser and runtime.") - -(defun js2-stmt-node-p (node) - "Heuristic for figuring out if NODE is a statement. -Some node types can appear in either an expression context or a -statement context, e.g. let-nodes, yield-nodes, and var-decl nodes. -For these node types in a statement context, the parent will be a -`js2-expr-stmt-node'. -Functions aren't included in the check." - (memq (js2-node-type node) js2-stmt-node-types)) - -(defsubst js2-mode-find-first-stmt (node) - "Search upward starting from NODE looking for a statement. -For purposes of this function, a `js2-function-node' counts." - (while (not (or (js2-stmt-node-p node) - (js2-function-node-p node))) - (setq node (js2-node-parent node))) - node) - -(defun js2-node-parent-stmt (node) - "Return the node's first ancestor that is a statement. -Returns nil if NODE is a `js2-ast-root'. Note that any expression -appearing in a statement context will have a parent that is a -`js2-expr-stmt-node' that will be returned by this function." - (let ((parent (js2-node-parent node))) - (if (or (null parent) - (js2-stmt-node-p parent) - (and (js2-function-node-p parent) - (neq (js2-function-node-form parent) 'FUNCTION_EXPRESSION))) - parent - (js2-node-parent-stmt parent)))) - -;; Roshan James writes: -;; Does consistent-return analysis on the function body when strict mode is -;; enabled. -;; -;; function (x) { return (x+1) } -;; -;; is ok, but -;; -;; function (x) { if (x < 0) return (x+1); } -;; -;; is not because the function can potentially return a value when the -;; condition is satisfied and if not, the function does not explicitly -;; return a value. -;; -;; This extends to checking mismatches such as "return" and "return " -;; used in the same function. Warnings are not emitted if inconsistent -;; returns exist in code that can be statically shown to be unreachable. -;; Ex. -;; function (x) { while (true) { ... if (..) { return value } ... } } -;; -;; emits no warning. However if the loop had a break statement, then a -;; warning would be emitted. -;; -;; The consistency analysis looks at control structures such as loops, ifs, -;; switch, try-catch-finally blocks, examines the reachable code paths and -;; warns the user about an inconsistent set of termination possibilities. -;; -;; These flags enumerate the possible ways a statement/function can -;; terminate. These flags are used by endCheck() and by the Parser to -;; detect inconsistent return usage. -;; -;; END_UNREACHED is reserved for code paths that are assumed to always be -;; able to execute (example: throw, continue) -;; -;; END_DROPS_OFF indicates if the statement can transfer control to the -;; next one. Statement such as return dont. A compound statement may have -;; some branch that drops off control to the next statement. -;; -;; END_RETURNS indicates that the statement can return with no value. -;; END_RETURNS_VALUE indicates that the statement can return a value. -;; -;; A compound statement such as -;; if (condition) { -;; return value; -;; } -;; Will be detected as (END_DROPS_OFF | END_RETURN_VALUE) by endCheck() - -(defconst js2-END_UNREACHED 0) -(defconst js2-END_DROPS_OFF 1) -(defconst js2-END_RETURNS 2) -(defconst js2-END_RETURNS_VALUE 4) -(defconst js2-END_YIELDS 8) - -(defun js2-has-consistent-return-usage (node) - "Check that every return usage in a function body is consistent. -Returns t if the function satisfies strict mode requirement." - (let ((n (js2-end-check node))) - ;; either it doesn't return a value in any branch... - (or (js2-flag-not-set-p n js2-END_RETURNS_VALUE) - ;; or it returns a value (or is unreached) at every branch - (js2-flag-not-set-p n (logior js2-END_DROPS_OFF - js2-END_RETURNS - js2-END_YIELDS))))) - -(defun js2-end-check-if (node) - "Returns in the then and else blocks must be consistent with each other. -If there is no else block, then the return statement can fall through. -Returns logical OR of END_* flags" - (let ((th (js2-if-node-then-part node)) - (el (js2-if-node-else-part node))) - (if (null th) - js2-END_UNREACHED - (logior (js2-end-check th) (if el - (js2-end-check el) - js2-END_DROPS_OFF))))) - -(defun js2-end-check-switch (node) - "Consistency of return statements is checked between the case statements. -If there is no default, then the switch can fall through. If there is a -default, we check to see if all code paths in the default return or if -there is a code path that can fall through. -Returns logical OR of END_* flags." - (let ((rv js2-END_UNREACHED) - default-case) - ;; examine the cases - (catch 'break - (dolist (c (js2-switch-node-cases node)) - (if (js2-case-node-expr c) - (js2-set-flag rv (js2-end-check-block c)) - (setq default-case c) - (throw 'break nil)))) - - ;; we don't care how the cases drop into each other - (js2-clear-flag rv js2-END_DROPS_OFF) - - ;; examine the default - (js2-set-flag rv (if default-case - (js2-end-check default-case) - js2-END_DROPS_OFF)) - rv)) - -(defun js2-end-check-try (node) - "If the block has a finally, return consistency is checked in the -finally block. If all code paths in the finally return, then the -returns in the try-catch blocks don't matter. If there is a code path -that does not return or if there is no finally block, the returns -of the try and catch blocks are checked for mismatch. -Returns logical OR of END_* flags." - (let ((finally (js2-try-node-finally-block node)) - rv) - ;; check the finally if it exists - (setq rv (if finally - (js2-end-check (js2-finally-node-body finally)) - js2-END_DROPS_OFF)) - - ;; If the finally block always returns, then none of the returns - ;; in the try or catch blocks matter. - (when (js2-flag-set-p rv js2-END_DROPS_OFF) - (js2-clear-flag rv js2-END_DROPS_OFF) - - ;; examine the try block - (js2-set-flag rv (js2-end-check (js2-try-node-try-block node))) - - ;; check each catch block - (dolist (cb (js2-try-node-catch-clauses node)) - (js2-set-flag rv (js2-end-check (js2-catch-node-block cb))))) - rv)) - -(defun js2-end-check-loop (node) - "Return statement in the loop body must be consistent. The default -assumption for any kind of a loop is that it will eventually terminate. -The only exception is a loop with a constant true condition. Code that -follows such a loop is examined only if one can statically determine -that there is a break out of the loop. - - for(... ; ... ; ...) {} - for(... in ... ) {} - while(...) { } - do { } while(...) - -Returns logical OR of END_* flags." - (let ((rv (js2-end-check (js2-loop-node-body node))) - (condition (cond - ((js2-while-node-p node) - (js2-while-node-condition node)) - ((js2-do-node-p node) - (js2-do-node-condition node)) - ((js2-for-node-p node) - (js2-for-node-condition node))))) - - ;; check to see if the loop condition is always true - (if (and condition - (eq (js2-always-defined-boolean-p condition) 'ALWAYS_TRUE)) - (js2-clear-flag rv js2-END_DROPS_OFF)) - - ;; look for effect of breaks - (js2-set-flag rv (js2-node-get-prop node - 'CONTROL_BLOCK_PROP - js2-END_UNREACHED)) - rv)) - -(defun js2-end-check-block (node) - "A general block of code is examined statement by statement. -If any statement (even a compound one) returns in all branches, then -subsequent statements are not examined. -Returns logical OR of END_* flags." - (let* ((rv js2-END_DROPS_OFF) - (kids (js2-block-node-kids node)) - (n (car kids))) - ;; Check each statment. If the statement can continue onto the next - ;; one (i.e. END_DROPS_OFF is set), then check the next statement. - (while (and n (js2-flag-set-p rv js2-END_DROPS_OFF)) - (js2-clear-flag rv js2-END_DROPS_OFF) - (js2-set-flag rv (js2-end-check n)) - (setq kids (cdr kids) - n (car kids))) - rv)) - -(defun js2-end-check-label (node) - "A labeled statement implies that there may be a break to the label. -The function processes the labeled statement and then checks the -CONTROL_BLOCK_PROP property to see if there is ever a break to the -particular label. -Returns logical OR of END_* flags." - (let ((rv (js2-end-check (js2-labeled-stmt-node-stmt node)))) - (logior rv (js2-node-get-prop node - 'CONTROL_BLOCK_PROP - js2-END_UNREACHED)))) - -(defun js2-end-check-break (node) - "When a break is encountered annotate the statement being broken -out of by setting its CONTROL_BLOCK_PROP property. -Returns logical OR of END_* flags." - (and (js2-break-node-target node) - (js2-node-set-prop (js2-break-node-target node) - 'CONTROL_BLOCK_PROP - js2-END_DROPS_OFF)) - js2-END_UNREACHED) - -(defun js2-end-check (node) - "Examine the body of a function, doing a basic reachability analysis. -Returns a combination of flags END_* flags that indicate -how the function execution can terminate. These constitute only the -pessimistic set of termination conditions. It is possible that at -runtime certain code paths will never be actually taken. Hence this -analysis will flag errors in cases where there may not be errors. -Returns logical OR of END_* flags" - (let (kid) - (cond - ((js2-break-node-p node) - (js2-end-check-break node)) - - ((js2-expr-stmt-node-p node) - (if (setq kid (js2-expr-stmt-node-expr node)) - (js2-end-check kid) - js2-END_DROPS_OFF)) - - ((or (js2-continue-node-p node) - (js2-throw-node-p node)) - js2-END_UNREACHED) - - ((js2-return-node-p node) - (if (setq kid (js2-return-node-retval node)) - js2-END_RETURNS_VALUE - js2-END_RETURNS)) - - ((js2-loop-node-p node) - (js2-end-check-loop node)) - - ((js2-switch-node-p node) - (js2-end-check-switch node)) - - ((js2-labeled-stmt-node-p node) - (js2-end-check-label node)) - - ((js2-if-node-p node) - (js2-end-check-if node)) - - ((js2-try-node-p node) - (js2-end-check-try node)) - - ((js2-block-node-p node) - (if (null (js2-block-node-kids node)) - js2-END_DROPS_OFF - (js2-end-check-block node))) - - ((js2-yield-node-p node) - js2-END_YIELDS) - - (t - js2-END_DROPS_OFF)))) - -(defun js2-always-defined-boolean-p (node) - "Check if NODE always evaluates to true or false in boolean context. -Returns 'ALWAYS_TRUE, 'ALWAYS_FALSE, or nil if it's neither always true -nor always false." - (let ((tt (js2-node-type node)) - num) - (cond - ((or (= tt js2-FALSE) (= tt js2-NULL)) - 'ALWAYS_FALSE) - ((= tt js2-TRUE) - 'ALWAYS_TRUE) - ((= tt js2-NUMBER) - (setq num (js2-number-node-num-value node)) - (if (and (not (eq num 0.0e+NaN)) - (not (zerop num))) - 'ALWAYS_TRUE - 'ALWAYS_FALSE)) - (t - nil)))) - -(provide 'js2-ast) - -;;; js2-ast.el ends here -;;; js2-highlight.el --- JavaScript syntax coloring support - -;; Author: Steve Yegge (steve.yegge@gmail.com) -;; Keywords: javascript languages - -;;; Code: - - -(defsubst js2-set-face (beg end face &optional record) - "Fontify a region. If RECORD is non-nil, record for later." - (when (plusp js2-highlight-level) - (setq beg (min (point-max) beg) - beg (max (point-min) beg) - end (min (point-max) end) - end (max (point-min) end)) - (if record - (push (list beg end face) js2-mode-fontifications) - (put-text-property beg end 'face face)))) - -(defsubst js2-set-kid-face (pos kid len face) - "Set-face on a child node. -POS is absolute buffer position of parent. -KID is the child node. -LEN is the length to fontify. -FACE is the face to fontify with." - (js2-set-face (+ pos (js2-node-pos kid)) - (+ pos (js2-node-pos kid) (js2-node-len kid)) - face)) - -(defsubst js2-fontify-kwd (start length) - (js2-set-face start (+ start length) 'font-lock-keyword-face)) - -(defsubst js2-clear-face (beg end) - (remove-text-properties beg end '(face nil - help-echo nil - point-entered nil - c-in-sws nil))) - -(defsubst js2-record-text-property (beg end prop value) - "Record a text property to set when parsing finishes." - (push (list beg end prop value) js2-mode-deferred-properties)) - -(defconst js2-ecma-global-props - (concat "^" - (regexp-opt - '("Infinity" "NaN" "undefined" "arguments") t) - "$") - "Value properties of the Ecma-262 Global Object. -Shown at or above `js2-highlight-level' 2.") - -;; might want to add the name "arguments" to this list? -(defconst js2-ecma-object-props - (concat "^" - (regexp-opt - '("prototype" "__proto__" "__parent__") t) - "$") - "Value properties of the Ecma-262 Object constructor. -Shown at or above `js2-highlight-level' 2.") - -(defconst js2-ecma-global-funcs - (concat - "^" - (regexp-opt - '("decodeURI" "decodeURIComponent" "encodeURI" "encodeURIComponent" - "eval" "isFinite" "isNaN" "parseFloat" "parseInt") t) - "$") - "Function properties of the Ecma-262 Global object. -Shown at or above `js2-highlight-level' 2.") - -(defconst js2-ecma-number-props - (concat "^" - (regexp-opt '("MAX_VALUE" "MIN_VALUE" "NaN" - "NEGATIVE_INFINITY" - "POSITIVE_INFINITY") t) - "$") - "Properties of the Ecma-262 Number constructor. -Shown at or above `js2-highlight-level' 2.") - -(defconst js2-ecma-date-props "^\\(parse\\|UTC\\)$" - "Properties of the Ecma-262 Date constructor. -Shown at or above `js2-highlight-level' 2.") - - -(defconst js2-ecma-math-props - (concat "^" - (regexp-opt - '("E" "LN10" "LN2" "LOG2E" "LOG10E" "PI" "SQRT1_2" "SQRT2") - t) - "$") - "Properties of the Ecma-262 Math object. -Shown at or above `js2-highlight-level' 2.") - - -(defconst js2-ecma-math-funcs - (concat "^" - (regexp-opt - '("abs" "acos" "asin" "atan" "atan2" "ceil" "cos" "exp" "floor" - "log" "max" "min" "pow" "random" "round" "sin" "sqrt" "tan") t) - "$") - "Function properties of the Ecma-262 Math object. -Shown at or above `js2-highlight-level' 2.") - -(defconst js2-ecma-function-props - (concat - "^" - (regexp-opt - '(;; properties of the Object prototype object - "hasOwnProperty" "isPrototypeOf" "propertyIsEnumerable" - "toLocaleString" "toString" "valueOf" - ;; properties of the Function prototype object - "apply" "call" - ;; properties of the Array prototype object - "concat" "join" "pop" "push" "reverse" "shift" "slice" "sort" - "splice" "unshift" - ;; properties of the String prototype object - "charAt" "charCodeAt" "fromCharCode" "indexOf" "lastIndexOf" - "localeCompare" "match" "replace" "search" "split" "substring" - "toLocaleLowerCase" "toLocaleUpperCase" "toLowerCase" - "toUpperCase" - ;; properties of the Number prototype object - "toExponential" "toFixed" "toPrecision" - ;; properties of the Date prototype object - "getDate" "getDay" "getFullYear" "getHours" "getMilliseconds" - "getMinutes" "getMonth" "getSeconds" "getTime" - "getTimezoneOffset" "getUTCDate" "getUTCDay" "getUTCFullYear" - "getUTCHours" "getUTCMilliseconds" "getUTCMinutes" "getUTCMonth" - "getUTCSeconds" "setDate" "setFullYear" "setHours" - "setMilliseconds" "setMinutes" "setMonth" "setSeconds" "setTime" - "setUTCDate" "setUTCFullYear" "setUTCHours" "setUTCMilliseconds" - "setUTCMinutes" "setUTCMonth" "setUTCSeconds" "toDateString" - "toLocaleDateString" "toLocaleString" "toLocaleTimeString" - "toTimeString" "toUTCString" - ;; properties of the RegExp prototype object - "exec" "test" - ;; SpiderMonkey/Rhino extensions, versions 1.5+ - "toSource" "__defineGetter__" "__defineSetter__" - "__lookupGetter__" "__lookupSetter__" "__noSuchMethod__" - "every" "filter" "forEach" "lastIndexOf" "map" "some") - t) - "$") - "Built-in functions defined by Ecma-262 and SpiderMonkey extensions. -Shown at or above `js2-highlight-level' 3.") - -(defsubst js2-parse-highlight-prop-get (parent target prop call-p) - (let ((target-name (and target - (js2-name-node-p target) - (js2-name-node-name target))) - (prop-name (if prop (js2-name-node-name prop))) - (level1 (>= js2-highlight-level 1)) - (level2 (>= js2-highlight-level 2)) - (level3 (>= js2-highlight-level 3)) - pos - face) - (when level2 - (if call-p - (cond - ((and target prop) - (cond - ((and level3 (string-match js2-ecma-function-props prop-name)) - (setq face 'font-lock-builtin-face)) - ((and target-name prop) - (cond - ((string= target-name "Date") - (if (string-match js2-ecma-date-props prop-name) - (setq face 'font-lock-builtin-face))) - ((string= target-name "Math") - (if (string-match js2-ecma-math-funcs prop-name) - (setq face 'font-lock-builtin-face))))))) - (prop - (if (string-match js2-ecma-global-funcs prop-name) - (setq face 'font-lock-builtin-face)))) - (cond - ((and target prop) - (cond - ((string= target-name "Number") - (if (string-match js2-ecma-number-props prop-name) - (setq face 'font-lock-constant-face))) - ((string= target-name "Math") - (if (string-match js2-ecma-math-props prop-name) - (setq face 'font-lock-constant-face))))) - (prop - (if (string-match js2-ecma-object-props prop-name) - (setq face 'font-lock-constant-face))))) - (when face - (js2-set-face (setq pos (+ (js2-node-pos parent) ; absolute - (js2-node-pos prop))) ; relative - (+ pos (js2-node-len prop)) - face))))) - -(defun js2-parse-highlight-member-expr-node (node) - "Perform syntax highlighting of EcmaScript built-in properties. -The variable `js2-highlight-level' governs this highighting." - (let (face target prop name pos end parent call-p callee) - (cond - ;; case 1: simple name, e.g. foo - ((js2-name-node-p node) - (setq name (js2-name-node-name node)) - ;; possible for name to be nil in rare cases - saw it when - ;; running js2-mode on an elisp buffer. Might as well try to - ;; make it so js2-mode never barfs. - (when name - (setq face (if (string-match js2-ecma-global-props name) - 'font-lock-constant-face)) - (when face - (setq pos (js2-node-pos node) - end (+ pos (js2-node-len node))) - (js2-set-face pos end face)))) - - ;; case 2: property access or function call - ((or (js2-prop-get-node-p node) - ;; highlight function call if expr is a prop-get node - ;; or a plain name (i.e. unqualified function call) - (and (setq call-p (js2-call-node-p node)) - (setq callee (js2-call-node-target node)) ; separate setq! - (or (js2-prop-get-node-p callee) - (js2-name-node-p callee)))) - (setq parent node - node (if call-p callee node)) - (if (and call-p (js2-name-node-p callee)) - (setq prop callee) - (setq target (js2-prop-get-node-left node) - prop (js2-prop-get-node-right node))) - (cond - ((js2-name-node-p target) - (if (js2-name-node-p prop) - ;; case 2a: simple target, simple prop name, e.g. foo.bar - (js2-parse-highlight-prop-get parent target prop call-p) - ;; case 2b: simple target, complex name, e.g. foo.x[y] - (js2-parse-highlight-prop-get parent target nil call-p))) - ((js2-name-node-p prop) - ;; case 2c: complex target, simple name, e.g. x[y].bar - (js2-parse-highlight-prop-get parent target prop call-p))))))) - -(defun js2-parse-highlight-member-expr-fn-name (expr) - "Highlight the `baz' in function foo.bar.baz(args) {...}. -This is experimental Rhino syntax. EXPR is the foo.bar.baz member expr. -We currently only handle the case where the last component is a prop-get -of a simple name. Called before EXPR has a parent node." - (let (pos - (name (and (js2-prop-get-node-p expr) - (js2-prop-get-node-right expr)))) - (when (js2-name-node-p name) - (js2-set-face (setq pos (+ (js2-node-pos expr) ; parent is absolute - (js2-node-pos name))) - (+ pos (js2-node-len name)) - 'font-lock-function-name-face - 'record)))) - -;; source: http://jsdoc.sourceforge.net/ -;; Note - this syntax is for Google's enhanced jsdoc parser that -;; allows type specifications, and needs work before entering the wild. - -(defconst js2-jsdoc-param-tag-regexp - (concat "^\\s-*\\*+\\s-*\\(@" - "\\(?:param\\|argument\\)" - "\\)" - "\\s-*\\({[^}]+}\\)?" ; optional type - "\\s-*\\([a-zA-Z0-9_$]+\\)?" ; name - "\\>") - "Matches jsdoc tags with optional type and optional param name.") - -(defconst js2-jsdoc-typed-tag-regexp - (concat "^\\s-*\\*+\\s-*\\(@\\(?:" - (regexp-opt - '("requires" "return" "returns" "throw" "throws")) - "\\)\\)\\s-*\\({[^}]+}\\)?") - "Matches jsdoc tags with optional type.") - -(defconst js2-jsdoc-arg-tag-regexp - (concat "^\\s-*\\*+\\s-*\\(@\\(?:" - (regexp-opt - '("base" "extends" "member" "type" "version")) - "\\)\\)\\s-+\\([^ \t]+\\)") - "Matches jsdoc tags with a single argument.") - -(defconst js2-jsdoc-empty-tag-regexp - (concat "^\\s-*\\*+\\s-*\\(@\\(?:" - (regexp-opt - '("addon" "author" "class" "constructor" "deprecated" "exec" - "exception" "fileoverview" "final" "ignore" "private")) - "\\)\\)\\s-*") - "Matches empty jsdoc tags.") - -(defconst js2-jsdoc-link-tag-regexp - "{\\(@link\\)\\s-+\\([^#}\n]+\\)\\(#.+\\)?}" - "Matches a jsdoc link tag.") - -(defconst js2-jsdoc-see-tag-regexp - "^\\s-*\\*+\\s-*\\(@see\\)\\s-+\\([^#}\n]+\\)\\(#.+\\)?" - "Matches a jsdoc @see tag.") - -(defconst js2-jsdoc-html-tag-regexp - "\\(?\\)\\([a-zA-Z]+\\)\\s-*\\(/?>\\)" - "Matches a simple (no attributes) html start- or end-tag.") - -(defsubst js2-jsdoc-highlight-helper () - (js2-set-face (match-beginning 1) - (match-end 1) - 'js2-jsdoc-tag-face) - (if (match-beginning 2) - (if (save-excursion - (goto-char (match-beginning 2)) - (= (char-after) ?{)) - (js2-set-face (1+ (match-beginning 2)) - (1- (match-end 2)) - 'js2-jsdoc-type-face) - (js2-set-face (match-beginning 2) - (match-end 2) - 'js2-jsdoc-value-face))) - (if (match-beginning 3) - (js2-set-face (match-beginning 3) - (match-end 3) - 'js2-jsdoc-value-face))) - -(defun js2-highlight-jsdoc (ast) - "Highlight doc comment tags." - (let ((comments (js2-ast-root-comments ast)) - beg end) - (save-excursion - (dolist (node comments) - (when (eq (js2-comment-node-format node) 'jsdoc) - (setq beg (js2-node-abs-pos node) - end (+ beg (js2-node-len node))) - (save-restriction - (narrow-to-region beg end) - (dolist (re (list js2-jsdoc-param-tag-regexp - js2-jsdoc-typed-tag-regexp - js2-jsdoc-arg-tag-regexp - js2-jsdoc-link-tag-regexp - js2-jsdoc-see-tag-regexp - js2-jsdoc-empty-tag-regexp)) - (goto-char beg) - (while (re-search-forward re nil t) - (js2-jsdoc-highlight-helper))) - ;; simple highlighting for html tags - (goto-char beg) - (while (re-search-forward js2-jsdoc-html-tag-regexp nil t) - (js2-set-face (match-beginning 1) - (match-end 1) - 'js2-jsdoc-html-tag-delimiter-face) - (js2-set-face (match-beginning 2) - (match-end 2) - 'js2-jsdoc-html-tag-name-face) - (js2-set-face (match-beginning 3) - (match-end 3) - 'js2-jsdoc-html-tag-delimiter-face)))))))) - -(defun js2-highlight-assign-targets (node left right) - "Highlight function properties and external variables." - (let (leftpos end name) - ;; highlight vars and props assigned function values - (when (js2-function-node-p right) - (cond - ;; var foo = function() {...} - ((js2-name-node-p left) - (setq name left)) - - ;; foo.bar.baz = function() {...} - ((and (js2-prop-get-node-p left) - (js2-name-node-p (js2-prop-get-node-right left))) - (setq name (js2-prop-get-node-right left)))) - - (when name - (js2-set-face (setq leftpos (js2-node-abs-pos name)) - (+ leftpos (js2-node-len name)) - 'font-lock-function-name-face - 'record))) - - ;; save variable assignments so we can check for undeclared later - ;; (can't do it here since var decls can come at end of script) - (when (and js2-highlight-external-variables - (setq name (js2-member-expr-leftmost-name left))) - (push (list name js2-current-scope - (setq leftpos (js2-node-abs-pos name)) - (setq end (+ leftpos (js2-node-len name)))) - js2-recorded-assignments)))) - -(defun js2-highlight-undeclared-vars () - "After entire parse is finished, look for undeclared variable assignments. -Have to wait until entire buffer is parsed, since JavaScript permits var -decls to occur after they're used. - -We currently use a simple heuristic to rule out complaining about built-ins: -if the name is capitalized we don't highlight it. This could be improved a -bit by declaring all the Ecma global object, constructor and function names -in a hashtable, but we'd still wind up complaining about all the DHTML -builtins, the Mozilla builtins, etc." - (let (name first-char) - (dolist (entry js2-recorded-assignments) - (destructuring-bind (name-node scope pos end) entry - (setq name (js2-name-node-name name-node) - first-char (aref name 0)) - (unless (or (and (>= first-char ?A) (<= first-char ?Z)) - (js2-get-defining-scope scope name)) - (js2-set-face pos end 'js2-external-variable-face 'record) - (js2-record-text-property pos end 'help-echo "Undeclared variable") - (js2-record-text-property pos end 'point-entered #'js2-echo-help)))) - (setq js2-recorded-assignments nil))) - -(provide 'js2-highlight) - -;;; js2-highlight.el ends here -;;; js2-browse.el --- browsing/hierarchy support for js2-mode - -;; Author: Steve Yegge (steve.yegge@gmail.com) -;; Keywords: javascript languages - -;; Commentary: -;; -;; We currently only support imenu, but eventually should support speedbar and -;; possibly other browsing mechanisms. -;; -;; The basic strategy is to identify function assignment targets of the form -;; `foo.bar.baz', convert them to (list foo bar baz ), and push the -;; list into `js2-imenu-recorder'. The lists are merged into a trie-like tree -;; for imenu after parsing is finished. -;; -;; A `foo.bar.baz' assignment target may be expressed in many ways in -;; JavaScript, and the general problem is undecidable. However, several forms -;; are readily recognizable at parse-time; the forms we attempt to recognize -;; include: -;; -;; function foo() -- function declaration -;; foo = function() -- function expression assigned to variable -;; foo.bar.baz = function() -- function expr assigned to nested property-get -;; foo = {bar: function()} -- fun prop in object literal assigned to var -;; foo = {bar: {baz: function()}} -- inside nested object literal -;; foo.bar = {baz: function()}} -- obj lit assigned to nested prop get -;; a.b = {c: {d: function()}} -- nested obj lit assigned to nested prop get -;; foo = {get bar() {...}} -- getter/setter in obj literal -;; function foo() {function bar() {...}} -- nested function -;; foo['a'] = function() -- fun expr assigned to deterministic element-get -;; -;; This list boils down to a few forms that can be combined recursively. -;; Top-level named function declarations include both the left-hand (name) -;; and the right-hand (function value) expressions needed to produce an imenu -;; entry. The other "right-hand" forms we need to look for are: -;; - functions declared as props/getters/setters in object literals -;; - nested named function declarations -;; The "left-hand" expressions that functions can be assigned to include: -;; - local/global variables -;; - nested property-get expressions like a.b.c.d -;; - element gets like foo[10] or foo['bar'] where the index -;; expression can be trivially converted to a property name. They -;; effectively then become property gets. -;; -;; All the different definition types are canonicalized into the form -;; foo.bar.baz = position-of-function-keyword -;; -;; We need to build a trie-like structure for imenu. As an example, -;; consider the following JavaScript code: -;; -;; a = function() {...} // function at position 5 -;; b = function() {...} // function at position 25 -;; foo = function() {...} // function at position 100 -;; foo.bar = function() {...} // function at position 200 -;; foo.bar.baz = function() {...} // function at position 300 -;; foo.bar.zab = function() {...} // function at position 400 -;; -;; During parsing we accumulate an entry for each definition in -;; the variable `js2-imenu-recorder', like so: -;; -;; '((a 5) -;; (b 25) -;; (foo 100) -;; (foo bar 200) -;; (foo bar baz 300) -;; (foo bar zab 400)) -;; -;; After parsing these entries are merged into this alist-trie: -;; -;; '((a . 1) -;; (b . 2) -;; (foo ( . 3) -;; (bar ( . 6) -;; (baz . 100) -;; (zab . 200)))) -;; -;; Note the wacky need for a name. The token can be anything -;; that isn't a valid JavaScript identifier, because you might make foo -;; a function and then start setting properties on it that are also functions. - -;;; Code: - - -(defsubst js2-prop-node-name (node) - "Return the name of a node that may be a property-get/property-name. -If NODE is not a valid name-node, string-node or integral number-node, -returns nil. Otherwise returns the string name/value of the node." - (cond - ((js2-name-node-p node) - (js2-name-node-name node)) - ((js2-string-node-p node) - (js2-string-node-value node)) - ((and (js2-number-node-p node) - (string-match "^[0-9]+$" (js2-number-node-value node))) - (js2-number-node-value node)) - ((js2-this-node-p node) - "this"))) - -(defsubst js2-node-qname-component (node) - "Test function: return the name of this node, if it contributes to a qname. -Returns nil if the node doesn't contribute." - (copy-sequence - (or (js2-prop-node-name node) - (if (and (js2-function-node-p node) - (js2-function-node-name node)) - (js2-name-node-name (js2-function-node-name node)))))) - -(defsubst js2-record-function-qname (fn-node qname) - "Associate FN-NODE with its QNAME for later lookup. -This is used in postprocessing the chain list. When we find a chain -whose first element is a js2-THIS keyword node, we look up the parent -function and see (using this map) whether it is the tail of a chain. -If so, we replace the this-node with a copy of the parent's qname." - (unless js2-imenu-function-map - (setq js2-imenu-function-map (make-hash-table :test 'eq))) - (puthash fn-node qname js2-imenu-function-map)) - -(defun js2-record-imenu-functions (node &optional var) - "Record function definitions for imenu. -NODE is a function node or an object literal. -VAR, if non-nil, is the expression that NODE is being assigned to." - (when js2-parse-ide-mode - (let ((fun-p (js2-function-node-p node)) - qname left fname-node pos) - (cond - ;; non-anonymous function declaration? - ((and fun-p - (not var) - (setq fname-node (js2-function-node-name node))) - (push (setq qname (list fname-node (js2-node-pos node))) - js2-imenu-recorder) - (js2-record-function-qname node qname)) - - ;; for remaining forms, compute left-side tree branch first - ((and var (setq qname (js2-compute-nested-prop-get var))) - (cond - ;; foo.bar.baz = function - (fun-p - (push (nconc qname (list (js2-node-pos node))) - js2-imenu-recorder) - (js2-record-function-qname node qname)) - ;; foo.bar.baz = object-literal - ;; look for nested functions: {a: {b: function() {...} }} - ((js2-object-node-p node) - (js2-record-object-literal node qname)))))))) - -(defun js2-compute-nested-prop-get (node) - "If NODE is of form foo.bar.baz, return component nodes as a list. -Otherwise returns nil. Element-gets can be treated as property-gets -if the index expression is a name, a string, or a positive integer." - (let (left right head) - (cond - ((or (js2-name-node-p node) - (js2-this-node-p node)) - (list node)) - ;; foo.bar.baz is parenthesized as (foo.bar).baz => right operand is a leaf - ((js2-prop-get-node-p node) ; includes elem-get nodes - (setq left (js2-prop-get-node-left node) - right (js2-prop-get-node-right node)) - (if (and (or (js2-prop-get-node-p left) ; left == foo.bar - (js2-name-node-p left) - (js2-this-node-p left)) ; or left == foo - (or (js2-name-node-p right) ; .bar - (js2-string-node-p right) ; ['bar'] - (and (js2-number-node-p right) ; [10] - (string-match "^[0-9]+$" - (js2-number-node-value right))))) - (if (setq head (js2-compute-nested-prop-get left)) - (nconc head (list right)))))))) - -(defun js2-record-object-literal (node qname) - "Recursively process an object literal looking for functions. -NODE is an object literal that is the right-hand child of an assignment -expression. QNAME is a list of nodes representing the assignment target, -e.g. for foo.bar.baz = {...}, QNAME is (foo-node bar-node baz-node). -We do a depth-first traversal of NODE. Any functions we find are prefixed -with QNAME plus the property name of the function and appended to the -variable `js2-imenu-recorder'." - ;; Elements are relative to parent position, which is still absolute, - ;; since the parser passes the assignment target and value expressions - ;; to us before they are added as children of the assignment node. - (let ((pos (js2-node-pos node)) - left right) - (dolist (e (js2-object-node-elems node)) ; e is a `js2-object-prop-node' - (setq left (js2-infix-node-left e)) - (cond - ;; foo: function() {...} - ((js2-function-node-p (setq right (js2-infix-node-right e))) - (when (js2-prop-node-name left) - ;; As a policy decision, we record the position of the property, - ;; not the position of the `function' keyword, since the property - ;; is effectively the name of the function. - (push (append qname (list left) (list (+ pos (js2-node-pos e)))) - js2-imenu-recorder) - (js2-record-function-qname right qname))) - ;; foo: {object-literal} -- add foo to qname and recurse - ((js2-object-node-p right) - (js2-record-object-literal right - (append qname (list (js2-infix-node-left e))))))))) - -(defsubst js2-node-top-level-decl-p (node) - "Return t if NODE's name is defined in the top-level scope. -Also returns t if NODE's name is not defined in any scope, since it implies -that it's an external variable, which must also be in the top-level scope." - (let* ((name (js2-prop-node-name node)) - (this-scope (js2-node-get-enclosing-scope node)) - defining-scope) - (cond - ((js2-this-node-p node) - nil) - ((null this-scope) - t) - ((setq defining-scope (js2-get-defining-scope this-scope name)) - (js2-ast-root-p defining-scope)) - (t t)))) - -(defun js2-browse-postprocess-chains (chains) - "Modify function-declaration name chains after parsing finishes. -Some of the information is only available after the parse tree is complete. -For instance, following a 'this' reference requires a parent function node." - (let (result head fn parent-chain p elem) - (dolist (chain chains) - ;; examine the head of each node to get its defining scope - (setq head (car chain)) - (cond - ;; if top-level/external, keep as-is - ((js2-node-top-level-decl-p head) - (push chain result)) - ;; check for a this-reference - ((eq (js2-node-type head) js2-THIS) - (setq fn (js2-node-parent-script-or-fn head)) - ;; if there is no parent function, or if the parent function - ;; is nested, discard the head node and keep the rest of the chain. - (if (or (null fn) (js2-nested-function-p fn)) - (push (cdr chain) result) - ;; else look up parent in function-map. If not found, discard chain. - (when (setq parent-chain (and js2-imenu-function-map - (gethash fn js2-imenu-function-map))) - ;; else discard head node and prefix parent fn qname, which is - ;; the parent-chain sans tail, to this chain. - (push (append (butlast parent-chain) (cdr chain)) result)))))) - ;; finally replace each node in each chain with its name. - (dolist (chain result) - (setq p chain) - (while p - (if (js2-node-p (setq elem (car p))) - (setcar p (js2-node-qname-component elem))) - (setq p (cdr p)))) - result)) - -;; Merge name chains into a trie-like tree structure of nested lists. -;; To simplify construction of the trie, we first build it out using the rule -;; that the trie consists of lists of pairs. Each pair is a 2-element array: -;; [key, num-or-list]. The second element can be a number; if so, this key -;; is a leaf-node with only one value. (I.e. there is only one declaration -;; associated with the key at this level.) Otherwise the second element is -;; a list of pairs, with the rule applied recursively. This symmetry permits -;; a simple recursive formulation. -;; -;; js2-mode is building the data structure for imenu. The imenu documentation -;; claims that it's the structure above, but in practice it wants the children -;; at the same list level as the key for that level, which is how I've drawn -;; the "Expected final result" above. We'll postprocess the trie to remove the -;; list wrapper around the children at each level. -;; -;; A completed nested imenu-alist entry looks like this: -;; '(("foo" -;; (" " . 7) -;; ("bar" -;; ("a" . 40) -;; ("b" . 60)))) -;; -;; In particular, the documentation for `imenu--index-alist' says that -;; a nested sub-alist element looks like (INDEX-NAME SUB-ALIST). -;; The sub-alist entries immediately follow INDEX-NAME, the head of the list. - -(defsubst js2-treeify (lst) - "Convert (a b c d) to (a ((b ((c d)))))" - (if (null (cddr lst)) ; list length <= 2 - lst - (list (car lst) (list (js2-treeify (cdr lst)))))) - -(defun js2-build-alist-trie (chains trie) - "Merge declaration name chains into a trie-like alist structure for imenu. -CHAINS is the qname chain list produced during parsing. TRIE is a -list of elements built up so far." - (let (head tail pos branch kids) - (dolist (chain chains) - (setq head (car chain) - tail (cdr chain) - pos (if (numberp (car tail)) (car tail)) - branch (js2-find-if (lambda (n) - (string= (car n) head)) - trie) - kids (second branch)) - (cond - ;; case 1: this key isn't in the trie yet - ((null branch) - (if trie - (setcdr (last trie) (list (js2-treeify chain))) - (setq trie (list (js2-treeify chain))))) - - ;; case 2: key is present with a single number entry: replace w/ list - ;; ("a1" 10) + ("a1" 20) => ("a1" ((" " 10) - ;; (" " 20))) - ((numberp kids) - (setcar (cdr branch) - (list (list " " kids) - (if pos - (list " " pos) - (js2-treeify tail))))) - - ;; case 3: key is there (with kids), and we're a number entry - (pos - (setcdr (last kids) - (list - (list (format " " - (1+ (loop for kid in kids - count (eq ?< (aref (car kid) 0))))) - pos)))) - - ;; case 4: key is there with kids, need to merge in our chain - (t - (js2-build-alist-trie (list tail) kids)))) - trie)) - -(defun js2-flatten-trie (trie) - "Convert TRIE to imenu-format. -Recurses through nodes, and for each one whose second element is a list, -appends the list's flattened elements to the current element. Also -changes the tails into conses. For instance, this pre-flattened trie - -'(a ((b 20) - (c ((d 30) - (e 40))))) - -becomes - -'(a (b . 20) - (c (d . 30) - (e . 40))) - -Note that the root of the trie has no key, just a list of chains. -This is also true for the value of any key with multiple children, -e.g. key 'c' in the example above." - (cond - ((listp (car trie)) - (mapcar #'js2-flatten-trie trie)) - (t - (if (numberp (second trie)) - (cons (car trie) (second trie)) - ;; else pop list and append its kids - (apply #'append (list (car trie)) (js2-flatten-trie (cdr trie))))))) - -(defun js2-build-imenu-index () - "Turn `js2-imenu-recorder' into an imenu data structure." - (unless (eq js2-imenu-recorder 'empty) - (let* ((chains (js2-browse-postprocess-chains js2-imenu-recorder)) - (result (js2-build-alist-trie chains nil))) - (js2-flatten-trie result)))) - -(defun js2-test-print-chains (chains) - "Print a list of qname chains. -Each element of CHAINS is a list of the form (NODE [NODE *] pos); -i.e. one or more nodes, and an integer position as the list tail." - (mapconcat (lambda (chain) - (concat "(" - (mapconcat (lambda (elem) - (if (js2-node-p elem) - (or (js2-node-qname-component elem) - "nil") - (number-to-string elem))) - chain - " ") - ")")) - chains - "\n")) - - -(provide 'js2-browse) - -;;; js2-browse.el ends here -;;; js2-parse.el --- JavaScript parser - -;; Author: Steve Yegge (steve.yegge@gmail.com) -;; Keywords: javascript languages - -;; Commentary: - -;; This is based on Rhino's parser and tries to follow its code -;; structure as closely as practical, so that changes to the Rhino -;; parser can easily be propagated into this code. However, Rhino -;; does not currently generate a usable AST representation, at least -;; from an IDE perspective, so we build our own more suitable AST. - -;; The AST node structures are defined in `js2-ast.el'. -;; Every parser function that creates and returns an AST node has -;; the following responsibilities: - -;; 1) set the node start to the absolute buffer start position -;; 2) set the node length to include any closing chars (RC, SEMI) -;; 3) fix up any child-node starts to be relative to this node -;; 4) set any field positions (e.g. keywords) relative to this node -;; 5) report any child nodes with `js2-node-add-children' -;; (note that this call fixes up start positions by default) - -;; The resulting AST has all node start positions relative to the -;; parent nodes; only the root has an absolute start position. - -;; Note: fontification is done inline while parsing. It used to be -;; done in a second pass over the AST, but doing it inline is about -;; twice as fast. Most of the fontification happens when tokens are -;; scanned, and the parser has a few spots that perform extra -;; fontification. In addition to speed, a second benefit of inline -;; parsing is that if a long parse is interrupted, everything parsed -;; so far is still fontified. - -;; The editing mode that uses this parser, `js2-mode', directs the -;; parser to check periodically for user input. If user input -;; arrives, the parse is abandoned, except for the highlighting that -;; has occurred so far, and a re-parse is rescheduled for when Emacs -;; becomes idle again. This works pretty well, but could be better. -;; In particular, when the user input has not resulted in changes to -;; the buffer (for instance, navigation input), the parse tree built -;; so far should not be discarded, and the parse should continue where -;; it left off. It will be some work to create what amounts to a -;; continuation, but it should not be unreasonably difficult. - -;; TODO: -;; - make non-editing input restart parse at previous continuation -;; - in Eclipse, sibling nodes never overlap start/end ranges -;; - for getters, prop name and function nodes overlap -;; - should write a debug tree visitor to look for overlaps -;; - mark array and object literals as "destructuring" (node prop?) -;; so we can syntax-highlight them properly. -;; - figure out a way not to store value in string/name nodes -;; - needs a solution for synthetic nodes - -;;; Code - -(eval-and-compile - (require 'cl)) ; for delete-if - - -(defconst js2-version "1.7.0" - "Version of JavaScript supported, plus minor js2 version.") - -(defmacro js2-record-face (face) - "Record a style run of FACE for the current token." - `(js2-set-face js2-token-beg js2-token-end ,face 'record)) - -(defsubst js2-node-end (n) - "Computes the absolute end of node N. -Use with caution! Assumes `js2-node-pos' is -absolute-, which -is only true until the node is added to its parent; i.e., while parsing." - (+ (js2-node-pos n) - (js2-node-len n))) - -(defsubst js2-record-comment () - (push (make-js2-comment-node :len (- js2-token-end js2-token-beg) - :format js2-ts-comment-type) - js2-scanned-comments) - (when js2-parse-ide-mode - (js2-record-face 'font-lock-comment-face) - (when (memq js2-ts-comment-type '(html preprocessor)) - ;; Tell cc-engine the bounds of the comment. - (put-text-property js2-token-beg (1- js2-token-end) 'c-in-sws t)))) - -;; This function is called depressingly often, so it should be fast. -;; Most of the time it's looking at the same token it peeked before. -(defsubst js2-peek-token () - "Returns the next token without consuming it. -If previous token was consumed, calls scanner to get new token. -If previous token was -not- consumed, returns it (idempotent). - -This function will not return a newline (js2-EOL) - instead, it -gobbles newlines until it finds a non-newline token, and flags -that token as appearing just after a newline. - -This function will also not return a js2-COMMENT. Instead, it -records comments found in `js2-scanned-comments'. If the token -returned by this function immediately follows a jsdoc comment, -the token is flagged as such. - -Note that this function always returned the un-flagged token! -The flags, if any, are saved in `js2-current-flagged-token'." - (if (/= js2-current-flagged-token js2-EOF) ; last token not consumed - js2-current-token ; most common case - return already-peeked token - (let ((tt (js2-get-token)) ; call scanner - saw-eol - face) - ;; process comments and whitespace - (while (or (= tt js2-EOL) - (= tt js2-COMMENT)) - (if (= tt js2-EOL) - (setq saw-eol t) - (setq saw-eol nil) - (if js2-record-comments - (js2-record-comment))) - (setq tt (js2-get-token))) ; call scanner - - (setq js2-current-token tt - js2-current-flagged-token (if saw-eol - (logior tt js2-ti-after-eol) - tt)) - ;; perform lexical fontification as soon as token is scanned - (when js2-parse-ide-mode - (cond - ((minusp tt) - (js2-record-face 'js2-error-face)) - ((setq face (aref js2-kwd-tokens tt)) - (js2-record-face face)) - ((and (= tt js2-NAME) - (equal js2-ts-string "undefined")) - (js2-record-face 'font-lock-constant-face)))) - tt))) ; return unflagged token - -(defsubst js2-peek-flagged-token () - "Returns the current token along with any flags set for it." - (js2-peek-token) - js2-current-flagged-token) - -(defsubst js2-consume-token () - (setq js2-current-flagged-token js2-EOF)) - -(defsubst js2-next-token () - (prog1 - (js2-peek-token) - (js2-consume-token))) - -(defsubst js2-next-flagged-token () - (js2-peek-token) - (prog1 js2-current-flagged-token - (js2-consume-token))) - -(defsubst js2-match-token (match) - "Consume and return t if next token matches MATCH, a bytecode. -Returns nil and consumes nothing if MATCH is not the next token." - (if (/= (js2-peek-token) match) - nil - (js2-consume-token) - t)) - -(defsubst js2-valid-prop-name-token (tt) - (or (= tt js2-NAME) - (and js2-allow-keywords-as-property-names - (plusp tt) - (aref js2-kwd-tokens tt)))) - -(defsubst js2-match-prop-name () - "Consume token and return t if next token is a valid property name. -It's valid if it's a js2-NAME, or `js2-allow-keywords-as-property-names' -is non-nil and it's a keyword token." - (if (js2-valid-prop-name-token (js2-peek-token)) - (progn - (js2-consume-token) - t) - nil)) - -(defsubst js2-must-match-prop-name (msg-id &optional pos len) - (if (js2-match-prop-name) - t - (js2-report-error msg-id nil pos len) - nil)) - -(defsubst js2-peek-token-or-eol () - "Return js2-EOL if the current token immediately follows a newline. -Else returns the current token. Used in situations where we don't -consider certain token types valid if they are preceded by a newline. -One example is the postfix ++ or -- operator, which has to be on the -same line as its operand." - (let ((tt (js2-peek-token))) - ;; Check for last peeked token flags - (if (js2-flag-set-p js2-current-flagged-token js2-ti-after-eol) - js2-EOL - tt))) - -(defsubst js2-set-check-for-label () - (assert (= (logand js2-current-flagged-token js2-clear-ti-mask) js2-NAME)) - (js2-set-flag js2-current-flagged-token js2-ti-check-label)) - -(defsubst js2-must-match (token msg-id &optional pos len) - "Match next token to token code TOKEN, or record a syntax error. -MSG-ID is the error message to report if the match fails. -Returns t on match, nil if no match." - (if (js2-match-token token) - t - (js2-report-error msg-id nil pos len) - nil)) - -(defsubst js2-inside-function () - (plusp js2-nesting-of-function)) - -(defsubst js2-set-requires-activation () - (if (js2-function-node-p js2-current-script-or-fn) - (setf (js2-function-node-needs-activation js2-current-script-or-fn) t))) - -(defsubst js2-check-activation-name (name token) - (when (js2-inside-function) - ;; skip language-version 1.2 check from Rhino - (if (or (string= "arguments" name) - (and js2-compiler-activation-names ; only used in codegen - (gethash name js2-compiler-activation-names))) - (js2-set-requires-activation)))) - -(defsubst js2-set-is-generator () - (if (js2-function-node-p js2-current-script-or-fn) - (setf (js2-function-node-is-generator js2-current-script-or-fn) t))) - -(defsubst js2-must-have-xml () - (unless js2-compiler-xml-available - (js2-report-error "msg.XML.not.available"))) - -(defsubst js2-push-scope (scope) - "Push SCOPE, a `js2-scope', onto the lexical scope chain." - (assert (js2-scope-p scope)) - (assert (null (js2-scope-parent-scope scope))) - (assert (neq js2-current-scope scope)) - (setf (js2-scope-parent-scope scope) js2-current-scope - js2-current-scope scope)) - -(defsubst js2-pop-scope () - (setq js2-current-scope - (js2-scope-parent-scope js2-current-scope))) - -(defsubst js2-enter-loop (loop-node) - (push loop-node js2-loop-set) - (push loop-node js2-loop-and-switch-set) - (js2-push-scope loop-node) - ;; Tell the current labeled statement (if any) its statement, - ;; and set the jump target of the first label to the loop. - ;; These are used in `js2-parse-continue' to verify that the - ;; continue target is an actual labeled loop. (And for codegen.) - (when js2-labeled-stmt - (setf (js2-labeled-stmt-node-stmt js2-labeled-stmt) loop-node - (js2-label-node-loop (car (js2-labeled-stmt-node-labels - js2-labeled-stmt))) loop-node))) - -(defsubst js2-exit-loop () - (pop js2-loop-set) - (pop js2-loop-and-switch-set) - (js2-pop-scope)) - -(defsubst js2-enter-switch (switch-node) - (push switch-node js2-loop-and-switch-set)) - -(defsubst js2-exit-switch () - (pop js2-loop-and-switch-set)) - -(defun js2-parse (&optional buf cb) - "Tells the js2 parser to parse a region of JavaScript. - -BUF is a buffer or buffer name containing the code to parse. -Call `narrow-to-region' first to parse only part of the buffer. - -The returned AST root node is given some additional properties: - `node-count' - total number of nodes in the AST - `buffer' - BUF. The buffer it refers to may change or be killed, - so the value is not necessarily reliable. - -An optional callback CB can be specified to report parsing -progress. If `(functionp CB)' returns t, it will be called with -the current line number once before parsing begins, then again -each time the lexer reaches a new line number. - -CB can also be a list of the form `(symbol cb ...)' to specify -multiple callbacks with different criteria. Each symbol is a -criterion keyword, and the following element is the callback to -call - - :line - called whenever the line number changes - :token - called for each new token consumed - -The list of criteria could be extended to include entering or -leaving a statement, an expression, or a function definition." - (if (and cb (not (functionp cb))) - (error "criteria callbacks not yet implemented")) - (let ((inhibit-point-motion-hooks t) - (js2-compiler-xml-available (>= js2-language-version 160)) - ;; This is a recursive-descent parser, so give it a big stack. - (max-lisp-eval-depth (max max-lisp-eval-depth 3000)) - (max-specpdl-size (max max-specpdl-size 3000)) - (case-fold-search nil) - ast) - (or buf (setq buf (current-buffer))) - (save-excursion - (set-buffer buf) - (setq js2-scanned-comments nil - js2-parsed-errors nil - js2-parsed-warnings nil - js2-imenu-recorder nil - js2-imenu-function-map nil - js2-label-set nil) - (js2-init-scanner) - (setq ast (js2-with-unmodifying-text-property-changes - (js2-do-parse))) - (unless js2-ts-hit-eof - (js2-report-error "msg.got.syntax.errors" (length js2-parsed-errors))) - (setf (js2-ast-root-errors ast) js2-parsed-errors - (js2-ast-root-warnings ast) js2-parsed-warnings) - ;; if we didn't find any declarations, put a dummy in this list so we - ;; don't end up re-parsing the buffer in `js2-mode-create-imenu-index' - (unless js2-imenu-recorder - (setq js2-imenu-recorder 'empty)) - (run-hooks 'js2-parse-finished-hook) - ast))) - -;; Corresponds to Rhino's Parser.parse() method. -(defun js2-do-parse () - "Parse current buffer starting from current point. -Scanner should be initialized." - (let ((pos js2-ts-cursor) - (end js2-ts-cursor) ; in case file is empty - root n tt) - ;; initialize buffer-local parsing vars - (setf root (make-js2-ast-root :buffer (buffer-name) :pos pos) - js2-current-script-or-fn root - js2-current-scope root - js2-current-flagged-token js2-EOF - js2-nesting-of-function 0 - js2-labeled-stmt nil - js2-recorded-assignments nil) ; for js2-highlight - - (while (/= (setq tt (js2-peek-token)) js2-EOF) - (if (= tt js2-FUNCTION) - (progn - (js2-consume-token) - (setq n (js2-parse-function (if js2-called-by-compile-function - 'FUNCTION_EXPRESSION - 'FUNCTION_STATEMENT))) - (js2-record-imenu-functions n)) - ;; not a function - parse a statement - (setq n (js2-parse-statement))) - ;; add function or statement to script - (setq end (js2-node-end n)) - (js2-block-node-push root n)) - - ;; add comments to root in lexical order - (when js2-scanned-comments - ;; if we find a comment beyond end of normal kids, use its end - (setq end (max end (js2-node-end (first js2-scanned-comments)))) - (dolist (comment js2-scanned-comments) - (push comment (js2-ast-root-comments root)) - (js2-node-add-children root comment))) - - (setf (js2-node-len root) (- end pos)) - (js2-highlight-undeclared-vars) - root)) - -(defun js2-function-parser () - (js2-consume-token) - (js2-parse-function 'FUNCTION_EXPRESSION_STATEMENT)) - -(defun js2-parse-function-body (fn-node) - (js2-must-match js2-LC "msg.no.brace.body") - (let ((pos js2-token-beg) ; LC position - (pn (make-js2-block-node)) ; starts at LC position - tt - end) - (incf js2-nesting-of-function) - (unwind-protect - (while (not (or (= (setq tt (js2-peek-token)) js2-ERROR) - (= tt js2-EOF) - (= tt js2-RC))) - (js2-block-node-push pn (if (/= tt js2-FUNCTION) - (js2-parse-statement) - (js2-consume-token) - (js2-parse-function 'FUNCTION_STATEMENT)))) - (decf js2-nesting-of-function)) - (setq end js2-token-end) ; assume no curly and leave at current token - (if (js2-must-match js2-RC "msg.no.brace.after.body" pos) - (setq end js2-token-end)) - (setf (js2-node-pos pn) pos - (js2-node-len pn) (- end pos)) - (setf (js2-function-node-body fn-node) pn) - (js2-node-add-children fn-node pn) - pn)) - -(defun js2-parse-function-params (fn-node pos) - (if (js2-match-token js2-RP) - (setf (js2-function-node-rp fn-node) (- js2-token-beg pos)) - (let (params len param) - (loop for tt = (js2-peek-token) - do - (cond - ;; destructuring param - ((or (= tt js2-LB) (= tt js2-LC)) - (push (js2-parse-primary-expr) params)) - ;; simple name - (t - (js2-must-match js2-NAME "msg.no.parm") - (js2-record-face 'js2-function-param-face) - (setq param (js2-create-name-node)) - (js2-define-symbol js2-LP js2-ts-string param) - (push param params))) - while - (js2-match-token js2-COMMA)) - (if (js2-must-match js2-RP "msg.no.paren.after.parms") - (setf (js2-function-node-rp fn-node) (- js2-token-beg pos))) - (dolist (p params) - (js2-node-add-children fn-node p) - (push p (js2-function-node-params fn-node)))))) - -(defsubst js2-check-inconsistent-return-warning (fn-node name) - "Possibly show inconsistent-return warning. -Last token scanned is the close-curly for the function body." - (when (and js2-mode-show-strict-warnings - js2-strict-inconsistent-return-warning - (not (js2-has-consistent-return-usage - (js2-function-node-body fn-node)))) - ;; Have it extend from close-curly to bol or beginning of block. - (let ((pos (save-excursion - (goto-char js2-token-end) - (max (js2-node-abs-pos (js2-function-node-body fn-node)) - (point-at-bol)))) - (end js2-token-end)) - (if (plusp (js2-name-node-length name)) - (js2-add-strict-warning "msg.no.return.value" - (js2-name-node-name name) pos end) - (js2-add-strict-warning "msg.anon.no.return.value" nil pos end))))) - -(defun js2-parse-function (function-type) - "Function parser. FUNCTION-TYPE is a symbol." - (let ((pos js2-token-beg) ; start of 'function' keyword - name - name-beg - name-end - fn-node - lp - (synthetic-type function-type) - member-expr-node) - - ;; parse function name, expression, or non-name (anonymous) - (cond - ;; function foo(...) - ((js2-match-token js2-NAME) - (setq name (js2-create-name-node t) - name-beg js2-token-beg - name-end js2-token-end) - (unless (js2-match-token js2-LP) - (when js2-allow-member-expr-as-function-name - ;; function foo.bar(...) - (setq member-expr-node name - name nil - member-expr-node (js2-parse-member-expr-tail - nil member-expr-node))) - (js2-must-match js2-LP "msg.no.paren.parms"))) - - ((js2-match-token js2-LP) - nil) ; anonymous function: leave name as null - - (t - ;; function random-member-expr(...) - (when js2-allow-member-expr-as-function-name - ;; Note that memberExpr can not start with '(' like - ;; in function (1+2).toString(), because 'function (' already - ;; processed as anonymous function - (setq member-expr-node (js2-parse-member-expr))) - (js2-must-match js2-LP "msg.no.paren.parms"))) - - (if (= js2-current-token js2-LP) ; eventually matched LP? - (setq lp js2-token-beg)) - - (if member-expr-node - (progn - (setq synthetic-type 'FUNCTION_EXPRESSION) - (js2-parse-highlight-member-expr-fn-name member-expr-node)) - (if name - (js2-set-face name-beg name-end - 'font-lock-function-name-face 'record))) - - (if (and (neq synthetic-type 'FUNCTION_EXPRESSION) - (plusp (js2-name-node-length name))) - ;; Function statements define a symbol in the enclosing scope - (js2-define-symbol js2-FUNCTION (js2-name-node-name name) fn-node)) - - (setf fn-node (make-js2-function-node :pos pos - :name name - :form function-type - :lp (if lp (- lp pos)))) - - (if (or (js2-inside-function) (plusp js2-nesting-of-with)) - ;; 1. Nested functions are not affected by the dynamic scope flag - ;; as dynamic scope is already a parent of their scope. - ;; 2. Functions defined under the with statement also immune to - ;; this setup, in which case dynamic scope is ignored in favor - ;; of the with object. - (setf (js2-function-node-ignore-dynamic fn-node) t)) - - ;; dynamically bind all the per-function variables - (let ((js2-current-script-or-fn fn-node) - (js2-current-scope fn-node) - (js2-nesting-of-with 0) - (js2-end-flags 0) - js2-label-set - js2-loop-set - js2-loop-and-switch-set) - - ;; parse params and function body - (js2-parse-function-params fn-node pos) - (js2-parse-function-body fn-node) - (if name - (js2-node-add-children fn-node name)) - - (js2-check-inconsistent-return-warning fn-node name) - - ;; Function expressions define a name only in the body of the - ;; function, and only if not hidden by a parameter name - (if (and name - (eq synthetic-type 'FUNCTION_EXPRESSION) - (null (js2-scope-get-symbol js2-current-scope - (js2-name-node-name name)))) - (js2-define-symbol js2-FUNCTION - (js2-name-node-name name) - fn-node)) - (if (and name - (eq function-type 'FUNCTION_EXPRESSION_STATEMENT)) - (js2-record-imenu-functions fn-node))) - - (setf (js2-node-len fn-node) (- js2-ts-cursor pos) - (js2-function-node-member-expr fn-node) member-expr-node) ; may be nil - - ;; Rhino doesn't do this, but we need it for finding undeclared vars. - ;; We wait until after parsing the function to set its parent scope, - ;; since `js2-define-symbol' needs the defining-scope check to stop - ;; at the function boundary when checking for redeclarations. - (setf (js2-scope-parent-scope fn-node) js2-current-scope) - - fn-node)) - -(defun js2-parse-statements (&optional parent) - "Parse a statement list. Last token consumed must be js2-LC. - -PARENT can be a `js2-block-node', in which case the statements are -appended to PARENT. Otherwise a new `js2-block-node' is created -and returned. - -This function does not match the closing js2-RC: the caller -matches the RC so it can provide a suitable error message if not -matched. This means it's up to the caller to set the length of -the node to include the closing RC. The node start pos is set to -the absolute buffer start position, and the caller should fix it -up to be relative to the parent node. All children of this block -node are given relative start positions and correct lengths." - (let ((pn (or parent (make-js2-block-node))) - tt) - (setf (js2-node-pos pn) js2-token-beg) - (while (and (> (setq tt (js2-peek-token)) js2-EOF) - (/= tt js2-RC)) - (js2-block-node-push pn (js2-parse-statement))) - pn)) - -(defun js2-parse-statement () - (let (tt pn beg end) - - ;; coarse-grained user-interrupt check - needs work - (and js2-parse-interruptable-p - (zerop (% (incf js2-parse-stmt-count) - js2-statements-per-pause)) - (input-pending-p) - (throw 'interrupted t)) - - (setq pn (js2-statement-helper)) - - ;; no-side-effects warning check - (unless (js2-node-has-side-effects pn) - (setq end (js2-node-end pn)) - (save-excursion - (goto-char end) - (setq beg (max (js2-node-pos pn) (point-at-bol)))) - (js2-add-strict-warning "msg.no.side.effects" nil beg end)) - - pn)) - -;; These correspond to the switch cases in Parser.statementHelper -(defconst js2-parsers - (let ((parsers (make-vector js2-num-tokens - #'js2-parse-expr-stmt))) - (aset parsers js2-BREAK #'js2-parse-break) - (aset parsers js2-CONST #'js2-parse-const-var) - (aset parsers js2-CONTINUE #'js2-parse-continue) - (aset parsers js2-DEBUGGER #'js2-parse-debugger) - (aset parsers js2-DEFAULT #'js2-parse-default-xml-namespace) - (aset parsers js2-DO #'js2-parse-do) - (aset parsers js2-FOR #'js2-parse-for) - (aset parsers js2-FUNCTION #'js2-function-parser) - (aset parsers js2-IF #'js2-parse-if) - (aset parsers js2-LC #'js2-parse-block) - (aset parsers js2-LET #'js2-parse-let-stmt) - (aset parsers js2-NAME #'js2-parse-name-or-label) - (aset parsers js2-RETURN #'js2-parse-ret-yield) - (aset parsers js2-SEMI #'js2-parse-semi) - (aset parsers js2-SWITCH #'js2-parse-switch) - (aset parsers js2-THROW #'js2-parse-throw) - (aset parsers js2-TRY #'js2-parse-try) - (aset parsers js2-VAR #'js2-parse-const-var) - (aset parsers js2-WHILE #'js2-parse-while) - (aset parsers js2-WITH #'js2-parse-with) - (aset parsers js2-YIELD #'js2-parse-ret-yield) - parsers) - "A vector mapping token types to parser functions.") - -(defsubst js2-parse-warn-missing-semi (beg end) - (and js2-mode-show-strict-warnings - js2-strict-missing-semi-warning - (js2-add-strict-warning - "msg.missing.semi" nil - ;; back up to beginning of statement or line - (max beg (save-excursion - (goto-char end) - (point-at-bol))) - end))) - -(defconst js2-no-semi-insertion - (list js2-IF - js2-SWITCH - js2-WHILE - js2-DO - js2-FOR - js2-TRY - js2-WITH - js2-LC - js2-ERROR - js2-SEMI - js2-FUNCTION) - "List of tokens that don't do automatic semicolon insertion.") - -(defconst js2-autoinsert-semi-and-warn - (list js2-ERROR js2-EOF js2-RC)) - -(defun js2-statement-helper () - (let* ((tt (js2-peek-token)) - (first-tt tt) - (beg js2-token-beg) - (parser (if (= tt js2-ERROR) - #'js2-parse-semi - (aref js2-parsers tt))) - pn - tt-flagged) - ;; If the statement is set, then it's been told its label by now. - (and js2-labeled-stmt - (js2-labeled-stmt-node-stmt js2-labeled-stmt) - (setq js2-labeled-stmt nil)) - - (setq pn (funcall parser) - tt-flagged (js2-peek-flagged-token) - tt (logand tt-flagged js2-clear-ti-mask)) - - ;; Don't do auto semi insertion for certain statement types. - (unless (or (memq first-tt js2-no-semi-insertion) - (js2-labeled-stmt-node-p pn)) - (cond - ((= tt js2-SEMI) - ;; Consume ';' as a part of expression - (js2-consume-token) - ;; extend the node bounds to include the semicolon. - (setf (js2-node-len pn) (- js2-token-end beg))) - ((memq tt js2-autoinsert-semi-and-warn) - ;; Autoinsert ; - (js2-parse-warn-missing-semi beg (js2-node-end pn))) - (t - (if (js2-flag-not-set-p tt-flagged js2-ti-after-eol) - ;; Report error if no EOL or autoinsert ';' otherwise - (js2-report-error "msg.no.semi.stmt") - (js2-parse-warn-missing-semi beg (js2-node-end pn)))))) - pn)) - -(defun js2-parse-condition () - "Parse a parenthesized boolean expression, e.g. in an if- or while-stmt. -The parens are discarded and the expression node is returned. -The `pos' field of the return value is set to an absolute position -that must be fixed up by the caller. -Return value is a list (EXPR LP RP), with absolute paren positions." - (let (pn lp rp) - (if (js2-must-match js2-LP "msg.no.paren.cond") - (setq lp js2-token-beg)) - (setq pn (js2-parse-expr)) - (if (js2-must-match js2-RP "msg.no.paren.after.cond") - (setq rp js2-token-beg)) - ;; Report strict warning on code like "if (a = 7) ..." - (if (and js2-strict-cond-assign-warning - (js2-assign-node-p pn)) - (js2-add-strict-warning "msg.equal.as.assign" nil - (js2-node-pos pn) - (+ (js2-node-pos pn) - (js2-node-len pn)))) - (list pn lp rp))) - -(defun js2-parse-if () - "Parser for if-statement. Last matched token must be js2-IF." - (let ((pos js2-token-beg) - cond - if-true - if-false - else-pos - end - pn) - (js2-consume-token) - (setq cond (js2-parse-condition) - if-true (js2-parse-statement) - if-false (if (js2-match-token js2-ELSE) - (progn - (setq else-pos (- js2-token-beg pos)) - (js2-parse-statement))) - end (js2-node-end (or if-false if-true)) - pn (make-js2-if-node :pos pos - :len (- end pos) - :condition (car cond) - :then-part if-true - :else-part if-false - :else-pos else-pos - :lp (js2-relpos (second cond) pos) - :rp (js2-relpos (third cond) pos))) - (js2-node-add-children pn (car cond) if-true if-false) - pn)) - -(defun js2-parse-switch () - "Parser for if-statement. Last matched token must be js2-SWITCH." - (let ((pos js2-token-beg) - tt - pn - discriminant - has-default - case-expr - case-node - case-pos - cases - stmt - lp - rp) - (js2-consume-token) - (if (js2-must-match js2-LP "msg.no.paren.switch") - (setq lp js2-token-beg)) - (setq discriminant (js2-parse-expr) - pn (make-js2-switch-node :discriminant discriminant - :pos pos - :lp (js2-relpos lp pos))) - (js2-node-add-children pn discriminant) - (js2-enter-switch pn) - (unwind-protect - (progn - (if (js2-must-match js2-RP "msg.no.paren.after.switch") - (setf (js2-switch-node-rp pn) (- js2-token-beg pos))) - (js2-must-match js2-LC "msg.no.brace.switch") - (catch 'break - (while t - (setq tt (js2-next-token) - case-pos js2-token-beg) - (cond - ((= tt js2-RC) - (setf (js2-node-len pn) (- js2-token-end pos)) - (throw 'break nil)) ; done - - ((= tt js2-CASE) - (setq case-expr (js2-parse-expr)) - (js2-must-match js2-COLON "msg.no.colon.case")) - - ((= tt js2-DEFAULT) - (if has-default - (js2-report-error "msg.double.switch.default")) - (setq has-default t - case-expr nil) - (js2-must-match js2-COLON "msg.no.colon.case")) - - (t - (js2-report-error "msg.bad.switch") - (throw 'break nil))) - - (setq case-node (make-js2-case-node :pos case-pos - :len (- js2-token-end case-pos) - :expr case-expr)) - (js2-node-add-children case-node case-expr) - (while (and (/= (setq tt (js2-peek-token)) js2-RC) - (/= tt js2-CASE) - (/= tt js2-DEFAULT) - (/= tt js2-EOF)) - (setf stmt (js2-parse-statement) - (js2-node-len case-node) (- (js2-node-end stmt) case-pos)) - (js2-block-node-push case-node stmt)) - (push case-node cases))) - ;; add cases last, as pushing reverses the order to be correct - (dolist (kid cases) - (js2-node-add-children pn kid) - (push kid (js2-switch-node-cases pn))) - pn) ; return value - (js2-exit-switch)))) - -(defun js2-parse-while () - "Parser for while-statement. Last matched token must be js2-WHILE." - (let ((pos js2-token-beg) - (pn (make-js2-while-node)) - cond - body) - (js2-consume-token) - (js2-enter-loop pn) - (unwind-protect - (progn - (setf cond (js2-parse-condition) - (js2-while-node-condition pn) (car cond) - body (js2-parse-statement) - (js2-while-node-body pn) body - (js2-node-len pn) (- (js2-node-end body) pos) - (js2-while-node-lp pn) (js2-relpos (second cond) pos) - (js2-while-node-rp pn) (js2-relpos (third cond) pos)) - (js2-node-add-children pn body (car cond))) - (js2-exit-loop)) - pn)) - -(defun js2-parse-do () - "Parser for do-statement. Last matched token must be js2-DO." - (let ((pos js2-token-beg) - (pn (make-js2-do-node)) - cond - body - end) - (js2-consume-token) - (js2-enter-loop pn) - (unwind-protect - (progn - (setq body (js2-parse-statement)) - (js2-must-match js2-WHILE "msg.no.while.do") - (setf (js2-do-node-while-pos pn) (- js2-token-beg pos) - cond (js2-parse-condition) - (js2-do-node-condition pn) (car cond) - (js2-do-node-body pn) body - end js2-ts-cursor - (js2-do-node-lp pn) (js2-relpos (second cond) pos) - (js2-do-node-rp pn) (js2-relpos (third cond) pos)) - (js2-node-add-children pn (car cond) body)) - (js2-exit-loop)) - ;; Always auto-insert semicolon to follow SpiderMonkey: - ;; It is required by ECMAScript but is ignored by the rest of - ;; world; see bug 238945 - (if (js2-match-token js2-SEMI) - (setq end js2-ts-cursor)) - (setf (js2-node-len pn) (- end pos)) - pn)) - -(defun js2-parse-for () - "Parser for for-statement. Last matched token must be js2-FOR. -Parses for, for-in, and for each-in statements." - (let ((for-pos js2-token-beg) - pn - is-for-each - is-for-in - in-pos - each-pos - tmp-pos - init ; Node init is also foo in 'foo in object' - cond ; Node cond is also object in 'foo in object' - incr ; 3rd section of for-loop initializer - body - tt - lp - rp) - (js2-consume-token) - ;; See if this is a for each () instead of just a for () - (when (js2-match-token js2-NAME) - (if (string= "each" js2-ts-string) - (progn - (setq is-for-each t - each-pos (- js2-token-beg for-pos)) ; relative - (js2-record-face 'font-lock-keyword-face)) - (js2-report-error "msg.no.paren.for"))) - - (if (js2-must-match js2-LP "msg.no.paren.for") - (setq lp (- js2-token-beg for-pos))) - (setq tt (js2-peek-token)) - - ;; parse init clause - (let ((js2-in-for-init t)) ; set as dynamic variable - (cond - ((= tt js2-SEMI) - (setq init (make-js2-empty-expr-node))) - ((or (= tt js2-VAR) (= tt js2-LET)) - (js2-consume-token) - (setq init (js2-parse-variables tt js2-token-beg))) - (t - (setq init (js2-parse-expr))))) - - (if (js2-match-token js2-IN) - (setq is-for-in t - in-pos (- js2-token-beg for-pos) - cond (js2-parse-expr)) ; object over which we're iterating - ;; else ordinary for loop - parse cond and incr - (js2-must-match js2-SEMI "msg.no.semi.for") - (setq cond (if (= (js2-peek-token) js2-SEMI) - (make-js2-empty-expr-node) ; no loop condition - (js2-parse-expr))) - (js2-must-match js2-SEMI "msg.no.semi.for.cond") - (setq tmp-pos js2-token-end - incr (if (= (js2-peek-token) js2-RP) - (make-js2-empty-expr-node :pos tmp-pos) - (js2-parse-expr)))) - - (if (js2-must-match js2-RP "msg.no.paren.for.ctrl") - (setq rp (- js2-token-beg for-pos))) - (if (not is-for-in) - (setq pn (make-js2-for-node :init init - :condition cond - :update incr - :lp lp - :rp rp)) - ;; cond could be null if 'in obj' got eaten by the init node. - (if (js2-infix-node-p init) - ;; it was (foo in bar) instead of (var foo in bar) - (setq cond (js2-infix-node-right init) - init (js2-infix-node-left init)) - (if (and (js2-var-decl-node-p init) - (> (length (js2-var-decl-node-kids init)) 1)) - (js2-report-error "msg.mult.index"))) - - (setq pn (make-js2-for-in-node :iterator init - :object cond - :in-pos in-pos - :foreach-p is-for-each - :each-pos each-pos - :lp lp - :rp rp))) - (unwind-protect - (progn - (js2-enter-loop pn) - ;; We have to parse the body -after- creating the loop node, - ;; so that the loop node appears in the js2-loop-set, allowing - ;; break/continue statements to find the enclosing loop. - (setf body (js2-parse-statement) - (js2-loop-node-body pn) body - (js2-node-pos pn) for-pos - (js2-node-len pn) (- (js2-node-end body) for-pos)) - (js2-node-add-children pn init cond incr body)) - ;; finally - (js2-exit-loop)) - pn)) - -(defun js2-parse-try () - "Parser for try-statement. Last matched token must be js2-TRY." - (let ((try-pos js2-token-beg) - try-end - try-block - catch-blocks - finally-block - saw-default-catch - peek - var-name - catch-cond - catch-node - guard-kwd - catch-pos - finally-pos - pn - block - lp - rp) - (js2-consume-token) - (if (/= (js2-peek-token) js2-LC) - (js2-report-error "msg.no.brace.try")) - (setq try-block (js2-parse-statement) - try-end (js2-node-end try-block) - peek (js2-peek-token)) - (cond - ((= peek js2-CATCH) - (while (js2-match-token js2-CATCH) - (setq catch-pos js2-token-beg - guard-kwd nil - catch-cond nil - lp nil - rp nil) - (if saw-default-catch - (js2-report-error "msg.catch.unreachable")) - (if (js2-must-match js2-LP "msg.no.paren.catch") - (setq lp (- js2-token-beg catch-pos))) - - (js2-must-match js2-NAME "msg.bad.catchcond") - (setq var-name (js2-create-name-node)) - - (if (js2-match-token js2-IF) - (setq guard-kwd (- js2-token-beg catch-pos) - catch-cond (js2-parse-expr)) - (setq saw-default-catch t)) - - (if (js2-must-match js2-RP "msg.bad.catchcond") - (setq rp (- js2-token-beg catch-pos))) - (js2-must-match js2-LC "msg.no.brace.catchblock") - - (setq block (js2-parse-statements) - try-end (js2-node-end block) - catch-node (make-js2-catch-node :pos catch-pos - :var-name var-name - :guard-expr catch-cond - :guard-kwd guard-kwd - :block block - :lp lp - :rp rp)) - (if (js2-must-match js2-RC "msg.no.brace.after.body") - (setq try-end js2-token-beg)) - (setf (js2-node-len block) (- try-end (js2-node-pos block)) - (js2-node-len catch-node) (- try-end catch-pos)) - (js2-node-add-children catch-node var-name catch-cond block) - (push catch-node catch-blocks))) - - ((/= peek js2-FINALLY) - (js2-must-match js2-FINALLY "msg.try.no.catchfinally" - (js2-node-pos try-block) - (- (setq try-end (js2-node-end try-block)) - (js2-node-pos try-block))))) - - (when (js2-match-token js2-FINALLY) - (setq finally-pos js2-token-beg - block (js2-parse-statement) - try-end (js2-node-end block) - finally-block (make-js2-finally-node :pos finally-pos - :len (- try-end finally-pos) - :body block)) - (js2-node-add-children finally-block block)) - - (setq pn (make-js2-try-node :pos try-pos - :len (- try-end try-pos) - :try-block try-block - :finally-block finally-block)) - (js2-node-add-children pn try-block finally-block) - - ;; push them onto the try-node, which reverses and corrects their order - (dolist (cb catch-blocks) - (js2-node-add-children pn cb) - (push cb (js2-try-node-catch-clauses pn))) - pn)) - -(defun js2-parse-throw () - "Parser for throw-statement. Last matched token must be js2-THROW." - (let ((pos js2-token-beg) - expr - pn) - (js2-consume-token) - (if (= (js2-peek-token-or-eol) js2-EOL) - ;; ECMAScript does not allow new lines before throw expression, - ;; see bug 256617 - (js2-report-error "msg.bad.throw.eol")) - (setq expr (js2-parse-expr) - pn (make-js2-throw-node :pos pos - :len (- (js2-node-end expr) pos) - :expr expr)) - (js2-node-add-children pn expr) - pn)) - -(defsubst js2-match-jump-label-name (label-name) - "If break/continue specified a label, return that label's labeled stmt. -Returns the corresponding `js2-labeled-stmt-node', or if LABEL-NAME -does not match an existing label, reports an error and returns nil." - (let ((bundle (cdr (assoc label-name js2-label-set)))) - (if (null bundle) - (js2-report-error "msg.undef.label")) - bundle)) - -(defun js2-parse-break () - "Parser for break-statement. Last matched token must be js2-BREAK." - (let ((pos js2-token-beg) - (end js2-token-end) - break-target ; statement to break from - break-label ; in "break foo", name-node representing the foo - labels ; matching labeled statement to break to - pn) - (js2-consume-token) ; `break' - (when (eq (js2-peek-token-or-eol) js2-NAME) - (js2-consume-token) - (setq break-label (js2-create-name-node) - end (js2-node-end break-label) - ;; matchJumpLabelName only matches if there is one - labels (js2-match-jump-label-name js2-ts-string) - break-target (if labels (car (js2-labeled-stmt-node-labels labels))))) - - (unless (or break-target break-label) - ;; no break target specified - try for innermost enclosing loop/switch - (if (null js2-loop-and-switch-set) - (unless break-label - (js2-report-error "msg.bad.break" nil pos (length "break"))) - (setq break-target (car js2-loop-and-switch-set)))) - - (setq pn (make-js2-break-node :pos pos - :len (- end pos) - :label break-label - :target break-target)) - (js2-node-add-children pn break-label) ; but not break-target - pn)) - -(defun js2-parse-continue () - "Parser for continue-statement. Last matched token must be js2-CONTINUE." - (let ((pos js2-token-beg) - (end js2-token-end) - label ; optional user-specified label, a `js2-name-node' - labels ; current matching labeled stmt, if any - target ; the `js2-loop-node' target of this continue stmt - pn) - (js2-consume-token) ; `continue' - (when (= (js2-peek-token-or-eol) js2-NAME) - (js2-consume-token) - (setq label (js2-create-name-node) - end (js2-node-end label) - ;; matchJumpLabelName only matches if there is one - labels (js2-match-jump-label-name js2-ts-string))) - (cond - ((null labels) ; no current label to go to - (if (null js2-loop-set) ; no loop to continue to - (js2-report-error "msg.continue.outside" nil pos - (length "continue")) - (setq target (car js2-loop-set)))) ; innermost enclosing loop - (t - (if (js2-loop-node-p (js2-labeled-stmt-node-stmt labels)) - (setq target (js2-labeled-stmt-node-stmt labels)) - (js2-report-error "msg.continue.nonloop" nil pos (- end pos))))) - - (setq pn (make-js2-continue-node :pos pos - :len (- end pos) - :label label - :target target)) - (js2-node-add-children pn label) ; but not target - it's not our child - pn)) - -(defun js2-parse-with () - "Parser for with-statement. Last matched token must be js2-WITH." - (js2-consume-token) - (let ((pos js2-token-beg) - obj body pn lp rp) - - (if (js2-must-match js2-LP "msg.no.paren.with") - (setq lp js2-token-beg)) - - (setq obj (js2-parse-expr)) - - (if (js2-must-match js2-RP "msg.no.paren.after.with") - (setq rp js2-token-beg)) - - (let ((js2-nesting-of-with (1+ js2-nesting-of-with))) - (setq body (js2-parse-statement))) - - (setq pn (make-js2-with-node :pos pos - :len (- (js2-node-end body) pos) - :object obj - :body body - :lp (js2-relpos lp pos) - :rp (js2-relpos rp pos))) - (js2-node-add-children pn obj body) - pn)) - -(defun js2-parse-const-var () - "Parser for var- or const-statement. -Last matched token must be js2-CONST or js2-VAR." - (let ((tt (js2-peek-token)) - (pos js2-token-beg) - expr - pn) - (js2-consume-token) - (setq expr (js2-parse-variables tt js2-token-beg) - pn (make-js2-expr-stmt-node :pos pos - :len (- (js2-node-end expr) pos) - :expr expr)) - (js2-node-add-children pn expr) - pn)) - -(defsubst js2-wrap-with-expr-stmt (pos expr &optional add-child) - (let ((pn (make-js2-expr-stmt-node :pos pos - :len (js2-node-len expr) - :type (if (js2-inside-function) - js2-EXPR_VOID - js2-EXPR_RESULT) - :expr expr))) - (if add-child - (js2-node-add-children pn expr)) - pn)) - -(defun js2-parse-let-stmt () - "Parser for let-statement. Last matched token must be js2-LET." - (js2-consume-token) - (let ((pos js2-token-beg) - expr - pn) - (if (= (js2-peek-token) js2-LP) - ;; let expression in statement context - (setq expr (js2-parse-let pos 'statement) - pn (js2-wrap-with-expr-stmt pos expr t)) - ;; else we're looking at a statement like let x=6, y=7; - (setf expr (js2-parse-variables js2-LET pos) - pn (js2-wrap-with-expr-stmt pos expr t) - (js2-node-type pn) js2-EXPR_RESULT)) - pn)) - -(defun js2-parse-ret-yield () - (js2-parse-return-or-yield (js2-peek-token) nil)) - -(defconst js2-parse-return-stmt-enders - (list js2-SEMI js2-RC js2-EOF js2-EOL js2-ERROR js2-RB js2-RP js2-YIELD)) - -(defsubst js2-now-all-set (before after mask) - "Return whether or not the bits in the mask have changed to all set. -BEFORE is bits before change, AFTER is bits after change, and MASK is -the mask for bits. Returns t if all the bits in the mask are set in AFTER -but not BEFORE." - (and (/= (logand before mask) mask) - (= (logand after mask) mask))) - -(defun js2-parse-return-or-yield (tt expr-context) - (let ((pos js2-token-beg) - (end js2-token-end) - (before js2-end-flags) - (inside-function (js2-inside-function)) - e - ret - name) - (unless inside-function - (js2-report-error (if (eq tt js2-RETURN) - "msg.bad.return" - "msg.bad.yield"))) - (js2-consume-token) - ;; This is ugly, but we don't want to require a semicolon. - (unless (memq (js2-peek-token-or-eol) js2-parse-return-stmt-enders) - (setq e (js2-parse-expr) - end (js2-node-end e))) - (cond - ((eq tt js2-RETURN) - (js2-set-flag js2-end-flags (if (null e) - js2-end-returns - js2-end-returns-value)) - (setq ret (make-js2-return-node :pos pos - :len (- end pos) - :retval e)) - (js2-node-add-children ret e) - ;; See if we need a strict mode warning. - ;; TODO: The analysis done by `js2-has-consistent-return-usage' is - ;; more thorough and accurate than this before/after flag check. - ;; E.g. if there's a finally-block that always returns, we shouldn't - ;; show a warning generated by inconsistent returns in the catch blocks. - ;; Basically `js2-has-consistent-return-usage' needs to keep more state, - ;; so we know which returns/yields to highlight, and we should get rid of - ;; all the checking in `js2-parse-return-or-yield'. - (if (and js2-strict-inconsistent-return-warning - (js2-now-all-set before js2-end-flags - (logior js2-end-returns js2-end-returns-value))) - (js2-add-strict-warning "msg.return.inconsistent" nil pos end))) - (t - (unless (js2-inside-function) - (js2-report-error "msg.bad.yield")) - (js2-set-flag js2-end-flags js2-end-yields) - (setq ret (make-js2-yield-node :pos pos - :len (- end pos) - :value e)) - (js2-node-add-children ret e) - (unless expr-context - (setq e ret - ret (js2-wrap-with-expr-stmt pos e t)) - (js2-set-requires-activation) - (js2-set-is-generator)))) - - ;; see if we are mixing yields and value returns. - (when (and inside-function - (js2-now-all-set before js2-end-flags - (logior js2-end-yields js2-end-returns-value))) - (setq name (js2-function-name js2-current-script-or-fn)) - (if (zerop (length name)) - (js2-report-error "msg.anon.generator.returns" nil pos (- end pos)) - (js2-report-error "msg.generator.returns" name pos (- end pos)))) - - ret)) - -(defun js2-parse-debugger () - (js2-consume-token) - (make-js2-keyword-node :type js2-DEBUGGER)) - -(defun js2-parse-block () - "Parser for a curly-delimited statement block. -Last token matched must be js2-LC." - (let ((pos js2-token-beg) - (pn (make-js2-scope))) - (js2-consume-token) - (js2-push-scope pn) - (unwind-protect - (progn - (js2-parse-statements pn) - (js2-must-match js2-RC "msg.no.brace.block") - (setf (js2-node-len pn) (- js2-token-end pos))) - (js2-pop-scope)) - pn)) - -;; for js2-ERROR too, to have a node for error recovery to work on -(defun js2-parse-semi () - "Parse a statement or handle an error. -Last matched token is js-SEMI or js-ERROR." - (let ((tt (js2-peek-token)) pos len) - (js2-consume-token) - (if (eq tt js2-SEMI) - (make-js2-empty-expr-node :len 1) - (setq pos js2-token-beg - len (- js2-token-beg pos)) - (js2-report-error "msg.syntax" nil pos len) - (make-js2-error-node :pos pos :len len)))) - -(defun js2-parse-default-xml-namespace () - "Parse a `default xml namespace = ' e4x statement." - (let ((pos js2-token-beg) - end len expr unary es) - (js2-consume-token) - (js2-must-have-xml) - (js2-set-requires-activation) - (setq len (- js2-ts-cursor pos)) - (unless (and (js2-match-token js2-NAME) - (string= js2-ts-string "xml")) - (js2-report-error "msg.bad.namespace" nil pos len)) - (unless (and (js2-match-token js2-NAME) - (string= js2-ts-string "namespace")) - (js2-report-error "msg.bad.namespace" nil pos len)) - (unless (js2-match-token js2-ASSIGN) - (js2-report-error "msg.bad.namespace" nil pos len)) - (setq expr (js2-parse-expr) - end (js2-node-end expr) - unary (make-js2-unary-node :type js2-DEFAULTNAMESPACE - :pos pos - :len (- end pos) - :operand expr)) - (js2-node-add-children unary expr) - (make-js2-expr-stmt-node :pos pos - :len (- end pos) - :expr unary))) - -(defun js2-record-label (label bundle) - ;; current token should be colon that `js2-parse-primary-expr' left untouched - (js2-consume-token) - (let ((name (js2-label-node-name label)) - labeled-stmt - dup) - (when (setq labeled-stmt (cdr (assoc name js2-label-set))) - ;; flag both labels if possible when used in editing mode - (if (and js2-parse-ide-mode - (setq dup (js2-get-label-by-name labeled-stmt name))) - (js2-report-error "msg.dup.label" nil - (js2-node-abs-pos dup) (js2-node-len dup))) - (js2-report-error "msg.dup.label" nil - (js2-node-pos label) (js2-node-len label))) - (js2-labeled-stmt-node-add-label bundle label) - (js2-node-add-children bundle label) - ;; Add one reference to the bundle per label in `js2-label-set' - (push (cons name bundle) js2-label-set))) - -(defun js2-parse-name-or-label () - "Parser for identifier or label. Last token matched must be js2-NAME. -Called when we found a name in a statement context. If it's a label, we gather -up any following labels and the next non-label statement into a -`js2-labeled-stmt-node' bundle and return that. Otherwise we parse an -expression and return it wrapped in a `js2-expr-stmt-node'." - (let ((pos js2-token-beg) - (end js2-token-end) - expr - stmt - pn - bundle - (continue t)) - ;; set check for label and call down to `js2-parse-primary-expr' - (js2-set-check-for-label) - (setq expr (js2-parse-expr)) - - (if (/= (js2-node-type expr) js2-LABEL) - ;; Parsed non-label expression - wrap with expression stmt. - (setq pn (js2-wrap-with-expr-stmt pos expr t)) - - ;; else parsed a label - (setq bundle (make-js2-labeled-stmt-node :pos pos)) - (js2-record-label expr bundle) - - ;; look for more labels - (while (and continue (= (js2-peek-token) js2-NAME)) - (js2-set-check-for-label) - (setq expr (js2-parse-expr)) - (if (/= (js2-node-type expr) js2-LABEL) - (setq stmt (js2-wrap-with-expr-stmt pos expr t) - continue nil) - (js2-record-label expr bundle))) - - ;; no more labels; now parse the labeled statement - (unwind-protect - (unless stmt - (let ((js2-labeled-stmt bundle)) ; bind dynamically - (setq stmt (js2-statement-helper)))) - ;; remove the labels for this statement from the global set - (dolist (label (js2-labeled-stmt-node-labels bundle)) - (setq js2-label-set (remove label js2-label-set)))) - - (setf (js2-labeled-stmt-node-stmt bundle) stmt) - (js2-node-add-children bundle stmt) - bundle))) - -(defun js2-parse-expr-stmt () - "Default parser in statement context, if no recognized statement found." - (js2-wrap-with-expr-stmt js2-token-beg (js2-parse-expr) t)) - -(defun js2-parse-variables (decl-type pos) - "Parse a comma-separated list of variable declarations. -Could be a 'var', 'const' or 'let' expression, possibly in a for-loop initializer. - -DECL-TYPE is a token value: either VAR, CONST, or LET depending on context. -For 'var' or 'const', the keyword should be the token last scanned. - -POS is the position where the node should start. It's sometimes the -var/const/let keyword, and other times the beginning of the first token -in the first variable declaration. - -Returns the parsed `js2-var-decl-node' expression node." - (let* ((result (make-js2-var-decl-node :decl-type decl-type - :pos pos)) - destructuring - kid-pos - tt - init - name - end - nbeg nend - vi - (continue t)) - ;; Example: - ;; var foo = {a: 1, b: 2}, bar = [3, 4]; - ;; var {b: s2, a: s1} = foo, x = 6, y, [s3, s4] = bar; - (while continue - (setq destructuring nil - name nil - tt (js2-peek-token) - kid-pos js2-token-beg - end js2-token-end - init nil) - (if (or (= tt js2-LB) (= tt js2-LC)) - ;; Destructuring assignment, e.g., var [a, b] = ... - (setq destructuring (js2-parse-primary-expr) - end (js2-node-end destructuring)) - ;; Simple variable name - (when (js2-must-match js2-NAME "msg.bad.var") - (setq name (js2-create-name-node) - nbeg js2-token-beg - nend js2-token-end - end nend) - (js2-define-symbol decl-type js2-ts-string name js2-in-for-init))) - - (when (js2-match-token js2-ASSIGN) - (setq init (js2-parse-assign-expr) - end (js2-node-end init)) - (if (and js2-parse-ide-mode - (or (js2-object-node-p init) - (js2-function-node-p init))) - (js2-record-imenu-functions init name))) - - (when name - (js2-set-face nbeg nend (if (js2-function-node-p init) - 'font-lock-function-name-face - 'font-lock-variable-name-face) - 'record)) - - (setq vi (make-js2-var-init-node :pos kid-pos - :len (- end kid-pos) - :type decl-type)) - (if destructuring - (progn - (if (and (null init) (not js2-in-for-init)) - (js2-report-error "msg.destruct.assign.no.init")) - (setf (js2-var-init-node-target vi) destructuring)) - (setf (js2-var-init-node-target vi) name)) - (setf (js2-var-init-node-initializer vi) init) - (js2-node-add-children vi name destructuring init) - - (js2-block-node-push result vi) - (unless (js2-match-token js2-COMMA) - (setq continue nil))) - - (setf (js2-node-len result) (- end pos)) - result)) - -(defun js2-parse-let (pos &optional stmt-p) - "Parse a let expression or statement. -A let-expression is of the form `let (vars) expr'. -A let-statment is of the form `let (vars) {statements}'. -The third form of let is a variable declaration list, handled -by `js2-parse-variables'." - (let ((pn (make-js2-let-node :pos pos)) - beg vars body) - (if (js2-must-match js2-LP "msg.no.paren.after.let") - (setf (js2-let-node-lp pn) (- js2-token-beg pos))) - (js2-push-scope pn) - (unwind-protect - (progn - (setq vars (js2-parse-variables js2-LET js2-token-beg)) - (if (js2-must-match js2-RP "msg.no.paren.let") - (setf (js2-let-node-rp pn) (- js2-token-beg pos))) - (if (and stmt-p (eq (js2-peek-token) js2-LC)) - ;; let statement - (progn - (js2-consume-token) - (setf beg js2-token-beg ; position stmt at LC - body (js2-parse-statements)) - (js2-must-match js2-RC "msg.no.curly.let") - (setf (js2-node-len body) (- js2-token-end beg) - (js2-node-len pn) (- js2-token-end pos) - (js2-let-node-body pn) body - (js2-node-type pn) js2-LET)) - ;; let expression - (setf body (js2-parse-expr) - (js2-node-len pn) (- (js2-node-end body) pos) - (js2-let-node-body pn) body)) - (js2-node-add-children pn vars body)) - (js2-pop-scope)) - pn)) - -(defsubst js2-define-new-symbol (decl-type name node) - (js2-scope-put-symbol js2-current-scope - name - (make-js2-symbol decl-type name node))) - -(defun js2-define-symbol (decl-type name &optional node ignore-not-in-block) - "Define a symbol in the current scope. -If NODE is non-nil, it is the AST node associated with the symbol." - (let* ((defining-scope (js2-get-defining-scope js2-current-scope name)) - (symbol (if defining-scope - (js2-scope-get-symbol defining-scope name))) - (sdt (if symbol (js2-symbol-decl-type symbol) -1))) - (cond - ((and symbol ; already defined - (or (= sdt js2-CONST) ; old version is const - (= decl-type js2-CONST) ; new version is const - ;; two let-bound vars in this block have same name - (and (= sdt js2-LET) - (eq defining-scope js2-current-scope)))) - (js2-report-error - (cond - ((= sdt js2-CONST) "msg.const.redecl") - ((= sdt js2-LET) "msg.let.redecl") - ((= sdt js2-VAR) "msg.var.redecl") - ((= sdt js2-FUNCTION) "msg.function.redecl") - (t "msg.parm.redecl")) - name)) - - ((= decl-type js2-LET) - (if (and (not ignore-not-in-block) - (or (= (js2-node-type js2-current-scope) js2-IF) - (js2-loop-node-p js2-current-scope))) - (js2-report-error "msg.let.decl.not.in.block") - (js2-define-new-symbol decl-type name node))) - - ((or (= decl-type js2-VAR) - (= decl-type js2-CONST) - (= decl-type js2-FUNCTION)) - (if symbol - (if (and js2-strict-var-redeclaration-warning (= sdt js2-VAR)) - (js2-add-strict-warning "msg.var.redecl" name) - (if (and js2-strict-var-hides-function-arg-warning (= sdt js2-LP)) - (js2-add-strict-warning "msg.var.hides.arg" name))) - (js2-define-new-symbol decl-type name node))) - - ((= decl-type js2-LP) - (if symbol - ;; must be duplicate parameter. Second parameter hides the - ;; first, so go ahead and add the second pararameter - (js2-report-warning "msg.dup.parms" name)) - (js2-define-new-symbol decl-type name node)) - - (t (js2-code-bug))))) - -(defun js2-parse-expr () - (let* ((pn (js2-parse-assign-expr)) - (pos (js2-node-pos pn)) - left - right - op-pos) - (while (js2-match-token js2-COMMA) - (setq op-pos (- js2-token-beg pos)) ; relative - (if (= (js2-peek-token) js2-YIELD) - (js2-report-error "msg.yield.parenthesized")) - (setq right (js2-parse-assign-expr) - left pn - pn (make-js2-infix-node :type js2-COMMA - :pos pos - :len (- js2-ts-cursor pos) - :op-pos op-pos - :left left - :right right)) - (js2-node-add-children pn left right)) - pn)) - -(defun js2-parse-assign-expr () - (let ((tt (js2-peek-token)) - (pos js2-token-beg) - pn - left - right - op-pos) - (if (= tt js2-YIELD) - (js2-parse-return-or-yield tt t) - ;; not yield - parse assignment expression - (setq pn (js2-parse-cond-expr) - tt (js2-peek-token)) - (when (and (<= js2-first-assign tt) - (<= tt js2-last-assign)) - (js2-consume-token) - (setq op-pos (- js2-token-beg pos) ; relative - left pn - right (js2-parse-assign-expr) - pn (make-js2-assign-node :type tt - :pos pos - :len (- (js2-node-end right) pos) - :op-pos op-pos - :left left - :right right)) - (when js2-parse-ide-mode - (js2-highlight-assign-targets pn left right) - (if (or (js2-function-node-p right) - (js2-object-node-p right)) - (js2-record-imenu-functions right left))) - ;; do this last so ide checks above can use absolute positions - (js2-node-add-children pn left right)) - pn))) - -(defun js2-parse-cond-expr () - (let ((pos js2-token-beg) - (pn (js2-parse-or-expr)) - test-expr - if-true - if-false - q-pos - c-pos) - (when (js2-match-token js2-HOOK) - (setq q-pos (- js2-token-beg pos) - if-true (js2-parse-assign-expr)) - (js2-must-match js2-COLON "msg.no.colon.cond") - (setq c-pos (- js2-token-beg pos) - if-false (js2-parse-assign-expr) - test-expr pn - pn (make-js2-cond-node :pos pos - :len (- (js2-node-end if-false) pos) - :test-expr test-expr - :true-expr if-true - :false-expr if-false - :q-pos q-pos - :c-pos c-pos)) - (js2-node-add-children pn test-expr if-true if-false)) - pn)) - -(defun js2-make-binary (type left parser) - "Helper for constructing a binary-operator AST node. -LEFT is the left-side-expression, already parsed, and the -binary operator should have just been matched. -PARSER is a function to call to parse the right operand, -or a `js2-node' struct if it has already been parsed." - (let* ((pos (js2-node-pos left)) - (op-pos (- js2-token-beg pos)) - (right (if (js2-node-p parser) - parser - (funcall parser))) - (pn (make-js2-infix-node :type type - :pos pos - :len (- (js2-node-end right) pos) - :op-pos op-pos - :left left - :right right))) - (js2-node-add-children pn left right) - pn)) - -(defun js2-parse-or-expr () - (let ((pn (js2-parse-and-expr))) - (when (js2-match-token js2-OR) - (setq pn (js2-make-binary js2-OR - pn - 'js2-parse-or-expr))) - pn)) - -(defun js2-parse-and-expr () - (let ((pn (js2-parse-bit-or-expr))) - (when (js2-match-token js2-AND) - (setq pn (js2-make-binary js2-AND - pn - 'js2-parse-and-expr))) - pn)) - -(defun js2-parse-bit-or-expr () - (let ((pn (js2-parse-bit-xor-expr))) - (while (js2-match-token js2-BITOR) - (setq pn (js2-make-binary js2-BITOR - pn - 'js2-parse-bit-xor-expr))) - pn)) - -(defun js2-parse-bit-xor-expr () - (let ((pn (js2-parse-bit-and-expr))) - (while (js2-match-token js2-BITXOR) - (setq pn (js2-make-binary js2-BITXOR - pn - 'js2-parse-bit-and-expr))) - pn)) - -(defun js2-parse-bit-and-expr () - (let ((pn (js2-parse-eq-expr))) - (while (js2-match-token js2-BITAND) - (setq pn (js2-make-binary js2-BITAND - pn - 'js2-parse-eq-expr))) - pn)) - -(defconst js2-parse-eq-ops - (list js2-EQ js2-NE js2-SHEQ js2-SHNE)) - -(defun js2-parse-eq-expr () - (let ((pn (js2-parse-rel-expr)) - tt) - (while (memq (setq tt (js2-peek-token)) js2-parse-eq-ops) - (js2-consume-token) - (setq pn (js2-make-binary tt - pn - 'js2-parse-rel-expr))) - pn)) - -(defconst js2-parse-rel-ops - (list js2-IN js2-INSTANCEOF js2-LE js2-LT js2-GE js2-GT)) - -(defun js2-parse-rel-expr () - (let ((pn (js2-parse-shift-expr)) - (continue t) - tt) - (while continue - (setq tt (js2-peek-token)) - (cond - ((and js2-in-for-init (= tt js2-IN)) - (setq continue nil)) - ((memq tt js2-parse-rel-ops) - (js2-consume-token) - (setq pn (js2-make-binary tt pn 'js2-parse-shift-expr))) - (t - (setq continue nil)))) - pn)) - -(defconst js2-parse-shift-ops - (list js2-LSH js2-URSH js2-RSH)) - -(defun js2-parse-shift-expr () - (let ((pn (js2-parse-add-expr)) - tt - (continue t)) - (while continue - (setq tt (js2-peek-token)) - (if (memq tt js2-parse-shift-ops) - (progn - (js2-consume-token) - (setq pn (js2-make-binary tt pn 'js2-parse-add-expr))) - (setq continue nil))) - pn)) - -(defun js2-parse-add-expr () - (let ((pn (js2-parse-mul-expr)) - tt - (continue t)) - (while continue - (setq tt (js2-peek-token)) - (if (or (= tt js2-ADD) (= tt js2-SUB)) - (progn - (js2-consume-token) - (setq pn (js2-make-binary tt pn 'js2-parse-mul-expr))) - (setq continue nil))) - pn)) - -(defconst js2-parse-mul-ops - (list js2-MUL js2-DIV js2-MOD)) - -(defun js2-parse-mul-expr () - (let ((pn (js2-parse-unary-expr)) - tt - (continue t)) - (while continue - (setq tt (js2-peek-token)) - (if (memq tt js2-parse-mul-ops) - (progn - (js2-consume-token) - (setq pn (js2-make-binary tt pn 'js2-parse-unary-expr))) - (setq continue nil))) - pn)) - -(defsubst js2-make-unary (type parser &rest args) - "Make a unary node of type TYPE. -PARSER is either a node (for postfix operators) or a function to call -to parse the operand (for prefix operators)." - (let* ((pos js2-token-beg) - (postfix (js2-node-p parser)) - (expr (if postfix - parser - (apply parser args))) - end - pn) - (if postfix ; e.g. i++ - (setq pos (js2-node-pos expr) - end js2-token-end) - (setq end (js2-node-end expr))) - (setq pn (make-js2-unary-node :type type - :pos pos - :len (- end pos) - :operand expr)) - (js2-node-add-children pn expr) - pn)) - -(defconst js2-incrementable-node-types - (list js2-NAME js2-GETPROP js2-GETELEM js2-GET_REF js2-CALL) - "Node types that can be the operand of a ++ or -- operator.") - -(defsubst js2-check-bad-inc-dec (tt beg end unary) - (unless (memq (js2-node-type (js2-unary-node-operand unary)) - js2-incrementable-node-types) - (js2-report-error (if (= tt js2-INC) - "msg.bad.incr" - "msg.bad.decr") - nil beg (- end beg)))) - -(defun js2-parse-unary-expr () - (let ((tt (js2-peek-token)) - pn expr beg end) - (cond - ((or (= tt js2-VOID) - (= tt js2-NOT) - (= tt js2-BITNOT) - (= tt js2-TYPEOF)) - (js2-consume-token) - (js2-make-unary tt 'js2-parse-unary-expr)) - - ((= tt js2-ADD) - (js2-consume-token) - ;; Convert to special POS token in decompiler and parse tree - (js2-make-unary js2-POS 'js2-parse-unary-expr)) - - ((= tt js2-SUB) - (js2-consume-token) - ;; Convert to special NEG token in decompiler and parse tree - (js2-make-unary js2-NEG 'js2-parse-unary-expr)) - - ((or (= tt js2-INC) - (= tt js2-DEC)) - (js2-consume-token) - (prog1 - (setq beg js2-token-beg - end js2-token-end - expr (js2-make-unary tt 'js2-parse-member-expr t)) - (js2-check-bad-inc-dec tt beg end expr))) - - ((= tt js2-DELPROP) - (js2-consume-token) - (js2-make-unary js2-DELPROP 'js2-parse-unary-expr)) - - ((= tt js2-ERROR) - (js2-consume-token) - (make-js2-error-node)) ; try to continue - - ((and (= tt js2-LT) - js2-compiler-xml-available) - ;; XML stream encountered in expression. - (js2-consume-token) - (js2-parse-member-expr-tail t (js2-parse-xml-initializer))) - (t - (setq pn (js2-parse-member-expr t) - ;; Don't look across a newline boundary for a postfix incop. - tt (js2-peek-token-or-eol)) - (when (or (= tt js2-INC) (= tt js2-DEC)) - (js2-consume-token) - (setf expr pn - pn (js2-make-unary tt expr)) - (js2-node-set-prop pn 'postfix t) - (js2-check-bad-inc-dec tt js2-token-beg js2-token-end pn)) - pn)))) - -(defun js2-parse-xml-initializer () - "Parse an E4X XML initializer. -I'm parsing it the way Rhino parses it, but without the tree-rewriting. -Then I'll postprocess the result, depending on whether we're in IDE -mode or codegen mode, and generate the appropriate rewritten AST. -IDE mode uses a rich AST that models the XML structure. Codegen mode -just concatenates everything and makes a new XML or XMLList out of it." - (let ((tt (js2-get-first-xml-token)) - pn-xml - pn - expr - kids - expr-pos - (continue t) - (first-token t)) - (when (not (or (= tt js2-XML) (= tt js2-XMLEND))) - (js2-report-error "msg.syntax")) - (setq pn-xml (make-js2-xml-node)) - (while continue - (if first-token - (setq first-token nil) - (setq tt (js2-get-next-xml-token))) - (cond - ;; js2-XML means we found a {expr} in the XML stream. - ;; The js2-ts-string is the XML up to the left-curly. - ((= tt js2-XML) - (push (make-js2-string-node :pos js2-token-beg - :len (- js2-ts-cursor js2-token-beg)) - kids) - (js2-must-match js2-LC "msg.syntax") - (setq expr-pos js2-ts-cursor - expr (if (eq (js2-peek-token) js2-RC) - (make-js2-empty-expr-node :pos expr-pos) - (js2-parse-expr))) - (js2-must-match js2-RC "msg.syntax") - (setq pn (make-js2-xml-js-expr-node :pos (js2-node-pos expr) - :len (js2-node-len expr) - :expr expr)) - (js2-node-add-children pn expr) - (push pn kids)) - - ;; a js2-XMLEND token means we hit the final close-tag. - ((= tt js2-XMLEND) - (push (make-js2-string-node :pos js2-token-beg - :len (- js2-ts-cursor js2-token-beg)) - kids) - (dolist (kid (nreverse kids)) - (js2-block-node-push pn-xml kid)) - (setf (js2-node-len pn-xml) (- js2-ts-cursor - (js2-node-pos pn-xml)) - continue nil)) - (t - (js2-report-error "msg.syntax") - (setq continue nil)))) - pn-xml)) - - -(defun js2-parse-argument-list () - "Parse an argument list and return it as a lisp list of nodes. -Returns the list in reverse order. Consumes the right-paren token." - (let (result) - (unless (js2-match-token js2-RP) - (loop do - (if (= (js2-peek-token) js2-YIELD) - (js2-report-error "msg.yield.parenthesized")) - (push (js2-parse-assign-expr) result) - while - (js2-match-token js2-COMMA)) - (js2-must-match js2-RP "msg.no.paren.arg") - result))) - -(defun js2-parse-member-expr (&optional allow-call-syntax) - (let ((tt (js2-peek-token)) - pn - pos - target - args - beg - end - init - tail) - (if (/= tt js2-NEW) - (setq pn (js2-parse-primary-expr)) - ;; parse a 'new' expression - (js2-consume-token) - (setq pos js2-token-beg - beg pos - target (js2-parse-member-expr) - end (js2-node-end target) - pn (make-js2-new-node :pos pos - :target target - :len (- end pos))) - (js2-node-add-children pn target) - (when (js2-match-token js2-LP) - ;; Add the arguments to pn, if any are supplied. - (setf beg pos ; start of "new" keyword - pos js2-token-beg - args (nreverse (js2-parse-argument-list)) - (js2-new-node-args pn) args - end js2-token-end - (js2-new-node-lp pn) (- pos beg) - (js2-new-node-rp pn) (- end 1 beg)) - (apply #'js2-node-add-children pn args)) - - (when (and js2-allow-rhino-new-expr-initializer - (js2-match-token js2-LC)) - (setf init (js2-parse-object-literal) - end (js2-node-end init) - (js2-new-node-initializer pn) init) - (js2-node-add-children pn init)) - - (setf (js2-node-len pn) (- beg pos))) ; end outer if - - (js2-parse-member-expr-tail allow-call-syntax pn))) - -(defun js2-parse-member-expr-tail (allow-call-syntax pn) - "Parse a chain of property/array accesses or function calls. -Includes parsing for E4X operators like `..' and `.@'. -If ALLOW-CALL-SYNTAX is nil, stops when we encounter a left-paren. -Returns an expression tree that includes PN, the parent node." - (let ((beg (js2-node-pos pn)) - tt - (continue t)) - (while continue - (setq tt (js2-peek-token)) - (cond - ((or (= tt js2-DOT) (= tt js2-DOTDOT)) - (setq pn (js2-parse-property-access tt pn))) - - ((= tt js2-DOTQUERY) - (setq pn (js2-parse-dot-query pn))) - - ((= tt js2-LB) - (setq pn (js2-parse-element-get pn))) - - ((= tt js2-LP) - (if allow-call-syntax - (setq pn (js2-parse-function-call pn)) - (setq continue nil))) - (t - (setq continue nil)))) - (if (>= js2-highlight-level 2) - (js2-parse-highlight-member-expr-node pn)) - pn)) - -(defun js2-parse-dot-query (pn) - "Parse a dot-query expression, e.g. foo.bar.(@name == 2) -Last token parsed must be `js2-DOTQUERY'." - (let ((pos (js2-node-pos pn)) - op-pos - expr - end) - (js2-consume-token) - (js2-must-have-xml) - (js2-set-requires-activation) - (setq op-pos js2-token-beg - expr (js2-parse-expr) - end (js2-node-end expr) - pn (make-js2-xml-dot-query-node :left pn - :pos pos - :op-pos op-pos - :right expr)) - (js2-node-add-children pn - (js2-xml-dot-query-node-left pn) - (js2-xml-dot-query-node-right pn)) - (if (js2-must-match js2-RP "msg.no.paren") - (setf (js2-xml-dot-query-node-rp pn) js2-token-beg - end js2-token-end)) - (setf (js2-node-len pn) (- end pos)) - pn)) - -(defun js2-parse-element-get (pn) - "Parse an element-get expression, e.g. foo[bar]. -Last token parsed must be `js2-RB'." - (let ((lb js2-token-beg) - (pos (js2-node-pos pn)) - rb - expr) - (js2-consume-token) - (setq expr (js2-parse-expr)) - (if (js2-must-match js2-RB "msg.no.bracket.index") - (setq rb js2-token-beg)) - (setq pn (make-js2-elem-get-node :target pn - :pos pos - :element expr - :lb (js2-relpos lb pos) - :rb (js2-relpos rb pos) - :len (- js2-token-end pos))) - (js2-node-add-children pn - (js2-elem-get-node-target pn) - (js2-elem-get-node-element pn)) - pn)) - -(defun js2-parse-function-call (pn) - (let (args - (pos (js2-node-pos pn))) - (js2-consume-token) - (setq pn (make-js2-call-node :pos pos - :target pn - :lp (- js2-token-beg pos))) - (js2-node-add-children pn (js2-call-node-target pn)) - - ;; Add the arguments to pn, if any are supplied. - (setf args (nreverse (js2-parse-argument-list)) - (js2-call-node-rp pn) (- js2-token-beg pos) - (js2-call-node-args pn) args) - (apply #'js2-node-add-children pn args) - - (setf (js2-node-len pn) (- js2-ts-cursor pos)) - pn)) - -(defun js2-parse-property-access (tt pn) - "Parse a property access, XML descendants access, or XML attr access." - (let ((member-type-flags 0) - (dot-pos js2-token-beg) - (dot-len (if (= tt js2-DOTDOT) 2 1)) - name - ref ; right side of . or .. operator - result) - (js2-consume-token) - (when (= tt js2-DOTDOT) - (js2-must-have-xml) - (setq member-type-flags js2-descendants-flag)) - (if (not js2-compiler-xml-available) - (progn - (js2-must-match-prop-name "msg.no.name.after.dot") - (setq name (js2-create-name-node t js2-GETPROP) - result (make-js2-prop-get-node :left pn - :pos js2-token-beg - :right name - :len (- js2-token-end - js2-token-beg))) - (js2-node-add-children result pn name) - result) - ;; otherwise look for XML operators - (setf result (if (= tt js2-DOT) - (make-js2-prop-get-node) - (make-js2-infix-node :type js2-DOTDOT)) - (js2-node-pos result) (js2-node-pos pn) - (js2-infix-node-op-pos result) dot-pos - (js2-infix-node-left result) pn ; do this after setting position - tt (js2-next-token)) - (cond - ;; needed for generator.throw() - ((= tt js2-THROW) - (js2-save-name-token-data js2-token-beg "throw") - (setq ref (js2-parse-property-name nil js2-ts-string member-type-flags))) - - ;; handles: name, ns::name, ns::*, ns::[expr] - ((js2-valid-prop-name-token tt) - (setq ref (js2-parse-property-name -1 js2-ts-string member-type-flags))) - - ;; handles: *, *::name, *::*, *::[expr] - ((= tt js2-MUL) - (js2-save-name-token-data js2-token-beg "*") - (setq ref (js2-parse-property-name nil "*" member-type-flags))) - - ;; handles: '@attr', '@ns::attr', '@ns::*', '@ns::[expr]', etc. - ((= tt js2-XMLATTR) - (setq result (js2-parse-attribute-access))) - - (t - (js2-report-error "msg.no.name.after.dot" nil dot-pos dot-len))) - - (if ref - (setf (js2-node-len result) (- (js2-node-end ref) - (js2-node-pos result)) - (js2-infix-node-right result) ref)) - (if (js2-infix-node-p result) - (js2-node-add-children result - (js2-infix-node-left result) - (js2-infix-node-right result))) - result))) - -(defun js2-parse-attribute-access () - "Parse an E4X XML attribute expression. -This includes expressions of the forms: - - @attr @ns::attr @ns::* - @* @*::attr @*::* - @[expr] @*::[expr] @ns::[expr] - -Called if we peeked an '@' token." - (let ((tt (js2-next-token)) - (at-pos js2-token-beg)) - (cond - ;; handles: @name, @ns::name, @ns::*, @ns::[expr] - ((js2-valid-prop-name-token tt) - (js2-parse-property-name at-pos js2-ts-string 0)) - - ;; handles: @*, @*::name, @*::*, @*::[expr] - ((= tt js2-MUL) - (js2-save-name-token-data js2-token-beg "*") - (js2-parse-property-name js2-token-beg "*" 0)) - - ;; handles @[expr] - ((= tt js2-LB) - (js2-parse-xml-elem-ref at-pos)) - - (t - (js2-report-error "msg.no.name.after.xmlAttr") - ;; Avoid cascaded errors that happen if we make an error node here. - (js2-save-name-token-data js2-token-beg "") - (js2-parse-property-name js2-token-beg "" 0))))) - -(defun js2-parse-property-name (at-pos s member-type-flags) - "Check if :: follows name in which case it becomes qualified name. - -AT-POS is a natural number if we just read an '@' token, else nil. -S is the name or string that was matched: an identifier, 'throw' or '*'. -MEMBER-TYPE-FLAGS is a bit set tracking whether we're a '.' or '..' child. - -Returns a `js2-xml-ref-node' if it's an attribute access, a child of a '..' -operator, or the name is followed by ::. For a plain name, returns a -`js2-name-node'. Returns a `js2-error-node' for malformed XML expressions." - (let ((pos (or at-pos js2-token-beg)) - colon-pos - (name (js2-create-name-node t js2-current-token)) - ns - tt - ref - pn) - (catch 'return - (when (js2-match-token js2-COLONCOLON) - (setq ns name - colon-pos js2-token-beg - tt (js2-next-token)) - (cond - ;; handles name::name - ((js2-valid-prop-name-token tt) - (setq name (js2-create-name-node))) - - ;; handles name::* - ((= tt js2-MUL) - (js2-save-name-token-data js2-token-beg "*") - (setq name (js2-create-name-node))) - - ;; handles name::[expr] - ((= tt js2-LB) - (throw 'return (js2-parse-xml-elem-ref at-pos ns colon-pos))) - - (t - (js2-report-error "msg.no.name.after.coloncolon")))) - - (if (and (null ns) (zerop member-type-flags)) - name - (prog1 - (setq pn - (make-js2-xml-prop-ref-node :pos pos - :len (- (js2-node-end name) pos) - :at-pos at-pos - :colon-pos colon-pos - :propname name)) - (js2-node-add-children pn name)))))) - -(defun js2-parse-xml-elem-ref (at-pos &optional namespace colon-pos) - "Parse the [expr] portion of an xml element reference. -For instance, @[expr], @*::[expr], or ns::[expr]." - (let* ((lb js2-token-beg) - (pos (or at-pos lb)) - rb - (expr (js2-parse-expr)) - (end (js2-node-end expr)) - pn) - (if (js2-must-match js2-RB "msg.no.bracket.index") - (setq rb js2-token-beg - end js2-token-end)) - (prog1 - (setq pn - (make-js2-xml-elem-ref-node :pos pos - :len (- end pos) - :namespace namespace - :colon-pos colon-pos - :at-pos at-pos - :expr expr - :lb (js2-relpos lb pos) - :rb (js2-relpos rb pos))) - (js2-node-add-children pn namespace expr)))) - -(defun js2-parse-primary-expr () - "Parses a literal (leaf) expression of some sort. -Includes complex literals such as functions, object-literals, -array-literals, array comprehensions and regular expressions." - (let ((tt-flagged (js2-next-flagged-token)) - pn ; parent node (usually return value) - tt - px-pos ; paren-expr pos - len - flags ; regexp flags - expr) - (setq tt js2-current-token) - (cond - ((= tt js2-FUNCTION) - (js2-parse-function 'FUNCTION_EXPRESSION)) - - ((= tt js2-LB) - (js2-parse-array-literal)) - - ((= tt js2-LC) - (js2-parse-object-literal)) - - ((= tt js2-LET) - (js2-parse-let js2-token-beg)) - - ((= tt js2-LP) - (setq px-pos js2-token-beg - expr (js2-parse-expr)) - (js2-must-match js2-RP "msg.no.paren") - (setq pn (make-js2-paren-node :pos px-pos - :expr expr - :len (- js2-token-end px-pos))) - (js2-node-add-children pn (js2-paren-node-expr pn)) - pn) - - ((= tt js2-XMLATTR) - (js2-must-have-xml) - (js2-parse-attribute-access)) - - ((= tt js2-NAME) - (js2-parse-name tt-flagged tt)) - - ((= tt js2-NUMBER) - (make-js2-number-node)) - - ((= tt js2-STRING) - (prog1 - (make-js2-string-node) - (js2-record-face 'font-lock-string-face))) - - ((or (= tt js2-DIV) (= tt js2-ASSIGN_DIV)) - ;; Got / or /= which in this context means a regexp literal - (setq px-pos js2-token-beg) - (js2-read-regexp tt) - (setq flags js2-ts-regexp-flags - js2-ts-regexp-flags nil) - (prog1 - (make-js2-regexp-node :pos px-pos - :len (- js2-ts-cursor px-pos) - :value js2-ts-string - :flags flags) - (js2-set-face px-pos js2-ts-cursor 'font-lock-string-face 'record))) - - ((or (= tt js2-NULL) - (= tt js2-THIS) - (= tt js2-FALSE) - (= tt js2-TRUE)) - (make-js2-keyword-node :type tt)) - - ((= tt js2-RESERVED) - (js2-report-error "msg.reserved.id") - (make-js2-name-node)) - - ((= tt js2-ERROR) - ;; the scanner or one of its subroutines reported the error. - (make-js2-error-node)) - - ((= tt js2-EOF) - (setq px-pos (point-at-bol) - len (- js2-ts-cursor px-pos)) - (js2-report-error "msg.unexpected.eof" nil px-pos len) - (make-js2-error-node :pos px-pos :len len)) - - (t - (js2-report-error "msg.syntax") - (make-js2-error-node))))) - -(defun js2-parse-name (tt-flagged tt) - (let ((name js2-ts-string) - (name-pos js2-token-beg)) - (if (and (js2-flag-set-p tt-flagged js2-ti-check-label) - (= (js2-peek-token) js2-COLON)) - (prog1 - ;; Do not consume colon, it is used as unwind indicator - ;; to return to statementHelper. - (make-js2-label-node :pos name-pos - :len (- js2-token-end name-pos) - :name name) - (js2-set-face name-pos - js2-token-end - 'font-lock-variable-name-face 'record)) - ;; Otherwise not a label, just a name. Unfortunately peeking - ;; the next token to check for a colon has biffed js2-token-beg - ;; and js2-token-end. We store the name's bounds in buffer vars - ;; and `js2-create-name-node' uses them. - (js2-save-name-token-data name-pos name) - (if js2-compiler-xml-available - (js2-parse-property-name nil name 0) - (js2-create-name-node 'check-activation))))) - -(defsubst js2-parse-warn-trailing-comma (msg pos elems comma-pos) - (js2-add-strict-warning - msg nil - ;; back up from comma to beginning of line or array/objlit - (max (if elems - (js2-node-pos (car elems)) - pos) - (save-excursion - (goto-char comma-pos) - (back-to-indentation) - (point))) - comma-pos)) - -(defun js2-parse-array-literal () - (let ((pos js2-token-beg) - (end js2-token-end) - (after-lb-or-comma t) - after-comma - tt - elems - pn - (continue t)) - (while continue - (setq tt (js2-peek-token)) - (cond - ;; comma - ((= tt js2-COMMA) - (js2-consume-token) - (setq after-comma js2-token-end) - (if (not after-lb-or-comma) - (setq after-lb-or-comma t) - (push nil elems))) - - ;; end of array - ((or (= tt js2-RB) - (= tt js2-EOF)) ; prevent infinite loop - (if (= tt js2-EOF) - (js2-report-error "msg.no.bracket.arg" nil pos) - (js2-consume-token)) - (setq continue nil - end js2-token-end - pn (make-js2-array-node :pos pos - :len (- js2-ts-cursor pos) - :elems (nreverse elems))) - (apply #'js2-node-add-children pn (js2-array-node-elems pn)) - (when after-comma - (js2-parse-warn-trailing-comma "msg.array.trailing.comma" - pos elems after-comma))) - - ;; array comp - ((and (>= js2-language-version 170) - (= tt js2-FOR) ; check for array comprehension - (not after-lb-or-comma) ; "for" can't follow a comma - elems ; must have at least 1 element - (not (cdr elems))) ; but no 2nd element - (setf continue nil - pn (js2-parse-array-comprehension (car elems) pos))) - - ;; another element - (t - (unless after-lb-or-comma - (js2-report-error "msg.no.bracket.arg")) - (push (js2-parse-assign-expr) elems) - (setq after-lb-or-comma nil - after-comma nil)))) - pn)) - -(defun js2-parse-array-comprehension (expr pos) - "Parse a JavaScript 1.7 Array Comprehension. -EXPR is the first expression after the opening left-bracket. -POS is the beginning of the LB token preceding EXPR. -We should have just parsed the 'for' keyword before calling this function." - (let (loops - filter - if-pos - result) - (while (= (js2-peek-token) js2-FOR) - (push (js2-parse-array-comp-loop) loops)) - (when (= (js2-peek-token) js2-IF) - (js2-consume-token) - (setq if-pos (- js2-token-beg pos) ; relative - filter (js2-parse-condition))) - (js2-must-match js2-RB "msg.no.bracket.arg" pos) - (setq result (make-js2-array-comp-node :pos pos - :len (- js2-ts-cursor pos) - :result expr - :loops (nreverse loops) - :filter (car filter) - :lp (js2-relpos (second filter) pos) - :rp (js2-relpos (third filter) pos) - :if-pos if-pos)) - (apply #'js2-node-add-children result expr (car filter) - (js2-array-comp-node-loops result)) - result)) - -(defun js2-parse-array-comp-loop () - "Parse a 'for [each] (foo in bar)' expression in an Array comprehension. -Last token peeked should be the initial FOR." - (let ((pos js2-token-beg) - (pn (make-js2-array-comp-loop-node)) - tt - iter - obj - foreach-p - in-pos - each-pos - lp - rp) - (assert (= (js2-next-token) js2-FOR)) ; consumes token - (js2-push-scope pn) - (unwind-protect - (progn - (when (js2-match-token js2-NAME) - (if (string= js2-ts-string "each") - (progn - (setq foreach-p t - each-pos (- js2-token-beg pos)) ; relative - (js2-record-face 'font-lock-keyword-face)) - (js2-report-error "msg.no.paren.for"))) - - (if (js2-must-match js2-LP "msg.no.paren.for") - (setq lp (- js2-token-beg pos))) - - (setq tt (js2-peek-token)) - (cond - ((or (= tt js2-LB) - (= tt js2-LC)) - ;; handle destructuring assignment - (setq iter (js2-parse-primary-expr))) - - ((js2-valid-prop-name-token tt) - (js2-consume-token) - (setq iter (js2-create-name-node))) - - (t - (js2-report-error "msg.bad.var"))) - - ;; Define as a let since we want the scope of the variable to - ;; be restricted to the array comprehension - (if (js2-name-node-p iter) - (js2-define-symbol js2-LET (js2-name-node-name iter) pn t)) - - (if (js2-must-match js2-IN "msg.in.after.for.name") - (setq in-pos (- js2-token-beg pos))) - - (setq obj (js2-parse-expr)) - (if (js2-must-match js2-RP "msg.no.paren.for.ctrl") - (setq rp (- js2-token-beg pos))) - - (setf (js2-node-pos pn) pos - (js2-node-len pn) (- js2-ts-cursor pos) - (js2-array-comp-loop-node-iterator pn) iter - (js2-array-comp-loop-node-object pn) obj - (js2-array-comp-loop-node-in-pos pn) in-pos - (js2-array-comp-loop-node-each-pos pn) each-pos - (js2-array-comp-loop-node-foreach-p pn) foreach-p - (js2-array-comp-loop-node-lp pn) lp - (js2-array-comp-loop-node-rp pn) rp) - (js2-node-add-children pn iter obj)) - (js2-pop-scope)) - pn)) - -(defun js2-parse-object-literal () - (let ((pos js2-token-beg) - tt - elems - result - after-comma - (continue t)) - (while continue - (setq tt (js2-peek-token)) - (cond - ;; {foo: ...}, {'foo': ...}, {get foo() {...}}, or {set foo(x) {...}} - ((or (js2-valid-prop-name-token tt) - (= tt js2-STRING)) - (setq after-comma nil - result (js2-parse-named-prop tt)) - (if (and (null result) - (not js2-recover-from-parse-errors)) - (setq continue nil) - (push result elems))) - - ;; {12: x} or {10.7: x} - ((= tt js2-NUMBER) - (js2-consume-token) - (setq after-comma nil) - (push (js2-parse-plain-property (make-js2-number-node)) elems)) - - ;; trailing comma - ((= tt js2-RC) - (setq continue nil) - (if after-comma - (js2-parse-warn-trailing-comma "msg.extra.trailing.comma" - pos elems after-comma))) - (t - (js2-report-error "msg.bad.prop") - (unless js2-recover-from-parse-errors - (setq continue nil)))) ; end switch - - (if (js2-match-token js2-COMMA) - (setq after-comma js2-token-end) - (setq continue nil))) ; end loop - - (js2-must-match js2-RC "msg.no.brace.prop") - (setq result (make-js2-object-node :pos pos - :len (- js2-ts-cursor pos) - :elems (nreverse elems))) - (apply #'js2-node-add-children result (js2-object-node-elems result)) - result)) - -(defun js2-parse-named-prop (tt) - "Parse a name, string, or getter/setter object property." - (js2-consume-token) - (let ((string-prop (and (= tt js2-STRING) - (make-js2-string-node))) - expr - (ppos js2-token-beg) - (pend js2-token-end) - (name (js2-create-name-node)) - (prop js2-ts-string)) - - (if (and (= tt js2-NAME) - (= (js2-peek-token) js2-NAME) - (or (string= prop "get") - (string= prop "set"))) - (progn - ;; getter/setter prop - (js2-consume-token) - (js2-set-face ppos pend 'font-lock-keyword-face 'record) ; get/set - (js2-record-face 'font-lock-function-name-face) ; for peeked name - (setq name (js2-create-name-node)) ; discard get/set & use peeked name - (js2-parse-getter-setter-prop ppos name (string= prop "get"))) - - ;; regular prop - (prog1 - (setq expr (js2-parse-plain-property (or string-prop name))) - (js2-set-face ppos pend - (if (js2-function-node-p - (js2-object-prop-node-right expr)) - 'font-lock-function-name-face - 'font-lock-variable-name-face) - 'record))))) - -(defun js2-parse-plain-property (prop) - "Parse a non-getter/setter property in an object literal. -PROP is the node representing the property: a number, name or string." - (js2-must-match js2-COLON "msg.no.colon.prop") - (let* ((pos (js2-node-pos prop)) - (colon (- js2-token-beg pos)) - (expr (js2-parse-assign-expr)) - (result (make-js2-object-prop-node - :pos pos - ;; don't include last consumed token in length - :len (- (+ (js2-node-pos expr) - (js2-node-len expr)) - pos) - :left prop - :right expr - :op-pos colon))) - (js2-node-add-children result prop expr) - result)) - -(defun js2-parse-getter-setter-prop (pos prop get-p) - "Parse getter or setter property in an object literal. -JavaScript syntax is: - - { get foo() {...}, set foo(x) {...} } - -POS is the start position of the `get' or `set' keyword. -PROP is the `js2-name-node' representing the property name. -GET-P is non-nil if the keyword was `get'." - (let ((type (if get-p js2-GET js2-SET)) - result - end - (fn (js2-parse-function 'FUNCTION_EXPRESSION))) - - ;; it has to be an anonymous function, as we already parsed the name - (if (/= (js2-node-type fn) js2-FUNCTION) - (js2-report-error "msg.bad.prop") - (if (plusp (length (js2-function-name fn))) - (js2-report-error "msg.bad.prop"))) - - (js2-node-set-prop fn 'GETTER_SETTER type) ; for codegen - (setq end (js2-node-end fn) - result (make-js2-getter-setter-node :type type - :pos pos - :len (- end pos) - :left prop - :right fn)) - (js2-node-add-children result prop fn) - result)) - -(defun js2-create-name-node (&optional check-activation-p token) - "Create a name node using the token info from last scanned name. -In some cases we need to either synthesize a name node, or we lost -the name token information by peeking. If the TOKEN parameter is -not `js2-NAME', then we use the token info saved in instance vars." - (let ((beg js2-token-beg) - (s js2-ts-string) - name) - (when (/= js2-current-token js2-NAME) - (setq beg (or js2-prev-name-token-start js2-ts-cursor) - s js2-prev-name-token-string - js2-prev-name-token-start nil - js2-prev-name-token-string nil)) - (setq name (make-js2-name-node :pos beg - :name s - :len (length s))) - (if check-activation-p - (js2-check-activation-name s (or token js2-NAME))) - name)) - -(provide 'js2-parse) - -;;; js2-parse.el ends here -;;; js2-indent.el --- indentation for js2-mode -;; -;; Copyright (C) 2008 Steve Yegge -;; Author: Steve Yegge (steve.yegge@gmail.com) -;; Maintainer: Steve Yegge (steve.yegge@gmail.com) - -;; Commentary: -;; -;; This indenter is based on Karl Landström's "javascript.el" indenter. -;; Karl cleverly deduces that the desired indentation level is often a -;; function of paren/bracket/brace nesting depth, which can be determined -;; quickly via the built-in `parse-partial-sexp' function. His indenter -;; then does some equally clever checks to see if we're in the context of a -;; substatement of a possibly braceless statement keyword such as if, while, -;; or finally. This approach yields pretty good results. -;; -;; The indenter is often "wrong", however, and needs to be overridden. -;; The right long-term solution is probably to emulate (or modify) -;; cc-engine, but it's thousands upon thousands of lines of code. Even -;; if you were to assume the accurate parse tree from `js2-parse' is -;; present, indentation is still thousands of lines of code (I've been -;; down that path) to handle every possible syntactic edge case, and in -;; any case, relying on the parse tree is undesirable because parsing is -;; slow. So you might as well go the cc-engine approach, but it's a -;; huge pile of work that I'm just not up for any time soon. -;; -;; In the meantime, the compromise solution is that we offer a -;; "bounce indenter", configured with `js2-bounce-indent-flag', which -;; cycles the current line indent among various likely guess points. -;; This approach is far from perfect, but should at least make it -;; slightly easier to move the line towards its desired indentation -;; when manually overriding Karl's heuristic nesting guesser. -;; -;; I've made miscellaneous tweaks to Karl's code to handle some Ecma -;; extensions such as `let' and Array comprehensions, and will likely -;; make further tweaks to it, but major kudos to Karl for coming up with -;; the initial approach, which packs a lot of punch for so little code. - -;;; Code: - -(defconst js-possibly-braceless-keyword-re - (regexp-opt - '("catch" "do" "else" "finally" "for" "if" "try" "while" "with" "let") - 'words) - "Regular expression matching keywords that are optionally -followed by an opening brace.") - -(defconst js-indent-operator-re - (concat "[-+*/%<>=&^|?:.]\\([^-+*/]\\|$\\)\\|" - (regexp-opt '("in" "instanceof") 'words)) - "Regular expression matching operators that affect indentation -of continued expressions.") - -;; This function has horrible results if you're typing an array -;; such as [[1, 2], [3, 4], [5, 6]]. Bounce indenting -really- sucks -;; in conjunction with electric-indent, so just disabling it. -(defsubst js2-code-at-bol-p () - "Return t if the first character on line is non-whitespace." - nil) -;; (not (memq (char-after (point-at-bol)) -;; '(? ?\t))))) - -(defun js2-insert-and-indent (key) - "Run command bound to key and indent current line. Runs the command -bound to KEY in the global keymap and indents the current line." - (interactive (list (this-command-keys))) - (let ((cmd (lookup-key (current-global-map) key))) - (if (commandp cmd) - (call-interactively cmd))) - ;; don't do the electric keys inside comments or strings, - ;; and don't do bounce-indent with them. - (let ((parse-state (parse-partial-sexp (point-min) (point))) - (js2-bounce-indent-flag (js2-code-at-bol-p))) - (unless (or (nth 3 parse-state) - (nth 4 parse-state)) - (indent-according-to-mode)))) - -(defun js-re-search-forward-inner (regexp &optional bound count) - "Auxiliary function for `js-re-search-forward'." - (let ((parse) - (saved-point (point-min))) - (while (> count 0) - (re-search-forward regexp bound) - (setq parse (parse-partial-sexp saved-point (point))) - (cond ((nth 3 parse) - (re-search-forward - (concat "\\([^\\]\\|^\\)" (string (nth 3 parse))) - (save-excursion (end-of-line) (point)) t)) - ((nth 7 parse) - (forward-line)) - ((or (nth 4 parse) - (and (eq (char-before) ?\/) (eq (char-after) ?\*))) - (re-search-forward "\\*/")) - (t - (setq count (1- count)))) - (setq saved-point (point)))) - (point)) - -(defun js-re-search-forward (regexp &optional bound noerror count) - "Search forward but ignore strings and comments. Invokes -`re-search-forward' but treats the buffer as if strings and -comments have been removed." - (let ((saved-point (point)) - (search-expr - (cond ((null count) - '(js-re-search-forward-inner regexp bound 1)) - ((< count 0) - '(js-re-search-backward-inner regexp bound (- count))) - ((> count 0) - '(js-re-search-forward-inner regexp bound count))))) - (condition-case err - (eval search-expr) - (search-failed - (goto-char saved-point) - (unless noerror - (error (error-message-string err))))))) - -(defun js-re-search-backward-inner (regexp &optional bound count) - "Auxiliary function for `js-re-search-backward'." - (let ((parse) - (saved-point (point-min))) - (while (> count 0) - (re-search-backward regexp bound) - (setq parse (parse-partial-sexp saved-point (point))) - (cond ((nth 3 parse) - (re-search-backward - (concat "\\([^\\]\\|^\\)" (string (nth 3 parse))) - (save-excursion (beginning-of-line) (point)) t)) - ((nth 7 parse) - (goto-char (nth 8 parse))) - ((or (nth 4 parse) - (and (eq (char-before) ?/) (eq (char-after) ?*))) - (re-search-backward "/\\*")) - (t - (setq count (1- count)))))) - (point)) - -(defun js-re-search-backward (regexp &optional bound noerror count) - "Search backward but ignore strings and comments. Invokes -`re-search-backward' but treats the buffer as if strings and -comments have been removed." - (let ((saved-point (point)) - (search-expr - (cond ((null count) - '(js-re-search-backward-inner regexp bound 1)) - ((< count 0) - '(js-re-search-forward-inner regexp bound (- count))) - ((> count 0) - '(js-re-search-backward-inner regexp bound count))))) - (condition-case err - (eval search-expr) - (search-failed - (goto-char saved-point) - (unless noerror - (error (error-message-string err))))))) - -(defun js-looking-at-operator-p () - "Return non-nil if text after point is an operator (that is not -a comma)." - (save-match-data - (and (looking-at js-indent-operator-re) - (or (not (looking-at ":")) - (save-excursion - (and (js-re-search-backward "[?:{]\\|\\ " nil t) - (looking-at "?"))))))) - -(defun js-continued-expression-p () - "Returns non-nil if the current line continues an expression." - (save-excursion - (back-to-indentation) - (or (js-looking-at-operator-p) - (and (js-re-search-backward "\n" nil t) - (progn - (skip-chars-backward " \t") - (backward-char) - (and (js-looking-at-operator-p) - (and (progn (backward-char) - (not (looking-at "\\*\\|++\\|--\\|/[/*]")))))))))) - -(defun js-end-of-do-while-loop-p () - "Returns non-nil if word after point is `while' of a do-while -statement, else returns nil. A braceless do-while statement -spanning several lines requires that the start of the loop is -indented to the same column as the current line." - (interactive) - (save-excursion - (save-match-data - (when (looking-at "\\s-*\\ ") - (if (save-excursion - (skip-chars-backward "[ \t\n]*}") - (looking-at "[ \t\n]*}")) - (save-excursion - (backward-list) (backward-word 1) (looking-at "\\ ")) - (js-re-search-backward "\\ " (point-at-bol) t) - (or (looking-at "\\ ") - (let ((saved-indent (current-indentation))) - (while (and (js-re-search-backward "^[ \t]*\\<" nil t) - (/= (current-indentation) saved-indent))) - (and (looking-at "[ \t]*\\ ") - (not (js-re-search-forward - "\\ " (point-at-eol) t)) - (= (current-indentation) saved-indent))))))))) - -(defun js-ctrl-statement-indentation () - "Returns the proper indentation of the current line if it -starts the body of a control statement without braces, else -returns nil." - (let (forward-sexp-function) ; temporarily unbind it - (save-excursion - (back-to-indentation) - (when (save-excursion - (and (not (js2-same-line (point-min))) - (not (looking-at "{")) - (js-re-search-backward "[[:graph:]]" nil t) - (not (looking-at "[{([]")) - (progn - (forward-char) - ;; scan-sexps sometimes throws an error - (ignore-errors (backward-sexp)) - (when (looking-at "(") (backward-word 1)) - (and (save-excursion - (skip-chars-backward " \t}" (point-at-bol)) - (bolp)) - (looking-at js-possibly-braceless-keyword-re) - (not (js-end-of-do-while-loop-p)))))) - (save-excursion - (goto-char (match-beginning 0)) - (+ (current-indentation) js2-basic-offset)))))) - -(defun js2-indent-in-array-comp (parse-status) - "Return non-nil if we think we're in an array comprehension. -In particular, return the buffer position of the first `for' kwd." - (let ((end (point))) - (when (nth 1 parse-status) - (save-excursion - (goto-char (nth 1 parse-status)) - (when (looking-at "\\[") - (forward-char 1) - (js2-forward-sws) - (if (looking-at "[[{]") - (let (forward-sexp-function) ; use lisp version - (forward-sexp) ; skip destructuring form - (js2-forward-sws) - (if (and (/= (char-after) ?,) ; regular array - (looking-at "for")) - (match-beginning 0))) - ;; to skip arbitrary expressions we need the parser, - ;; so we'll just guess at it. - (if (re-search-forward "[^,]* \\(for\\) " end t) - (match-beginning 1)))))))) - -(defun js2-array-comp-indentation (parse-status for-kwd) - (if (js2-same-line for-kwd) - ;; first continuation line - (save-excursion - (goto-char (nth 1 parse-status)) - (forward-char 1) - (skip-chars-forward " \t") - (current-column)) - (save-excursion - (goto-char for-kwd) - (current-column)))) - -(defun js-proper-indentation (parse-status) - "Return the proper indentation for the current line." - (save-excursion - (back-to-indentation) - (let ((ctrl-stmt-indent (js-ctrl-statement-indentation)) - (same-indent-p (looking-at "[]})]\\|\\ \\|\\ ")) - (continued-expr-p (js-continued-expression-p)) - (bracket (nth 1 parse-status)) - beg) - (cond - ;; indent array comprehension continuation lines specially - ((and bracket - (not (js2-same-line bracket)) - (setq beg (js2-indent-in-array-comp parse-status)) - (>= (point) (save-excursion - (goto-char beg) - (point-at-bol)))) ; at or after first loop? - (js2-array-comp-indentation parse-status beg)) - - (ctrl-stmt-indent) - - (bracket - (goto-char bracket) - (cond - ((looking-at "[({[][ \t]*\\(/[/*]\\|$\\)") - (let ((p (parse-partial-sexp (point-at-bol) (point)))) - (when (save-excursion (skip-chars-backward " \t)") - (looking-at ")")) - (backward-list)) - (if (nth 1 p) - (progn (goto-char (1+ (nth 1 p))) - (skip-chars-forward " \t")) - (back-to-indentation)) - (cond (same-indent-p - (current-column)) - (continued-expr-p - (+ (current-column) (* 2 js2-basic-offset))) - (t - (+ (current-column) js2-basic-offset))))) - (t - (unless same-indent-p - (forward-char) - (skip-chars-forward " \t")) - (current-column)))) - - (continued-expr-p js2-basic-offset) - (t 0))))) - -(defun js2-lineup-comment (parse-status) - "Indent a multi-line block comment continuation line." - (let* ((beg (nth 8 parse-status)) - (first-line (js2-same-line beg)) - (offset (save-excursion - (goto-char beg) - (if (looking-at "/\\*") - (+ 1 (current-column)) - 0)))) - (unless first-line - (indent-line-to offset)))) - -(defun js2-backward-sws () - "Move backward through whitespace and comments." - (interactive) - (while (forward-comment -1))) - -(defun js2-forward-sws () - "Move forward through whitespace and comments." - (interactive) - (while (forward-comment 1))) - -(defsubst js2-current-indent (&optional pos) - "Return column of indentation on current line. -If POS is non-nil, go to that point and return indentation for that line." - (save-excursion - (if pos - (goto-char pos)) - (back-to-indentation) - (current-column))) - -(defsubst js2-arglist-close () - "Return non-nil if we're on a line beginning with a close-paren/brace." - (save-match-data - (save-excursion - (goto-char (point-at-bol)) - (js2-forward-sws) - (looking-at "[])}]")))) - -(defsubst js2-indent-looks-like-label-p () - (goto-char (point-at-bol)) - (js2-forward-sws) - (looking-at (concat js2-mode-identifier-re ":"))) - -(defun js2-indent-in-objlit-p (parse-status) - "Return non-nil if this looks like an object-literal entry." - (let ((start (nth 1 parse-status))) - (and - start - (save-excursion - (and (zerop (forward-line -1)) - (not (< (point) start)) ; crossed a {} boundary - (js2-indent-looks-like-label-p))) - (save-excursion - (js2-indent-looks-like-label-p))))) - -;; if prev line looks like foobar({ then we're passing an object -;; literal to a function call, and people pretty much always want to -;; de-dent back to the previous line, so move the 'basic-offset' -;; position to the front. -(defsubst js2-indent-objlit-arg-p (parse-status) - (save-excursion - (back-to-indentation) - (js2-backward-sws) - (and (eq (1- (point)) (nth 1 parse-status)) - (eq (char-before) ?{) - (progn - (forward-char -1) - (skip-chars-backward " \t") - (eq (char-before) ?\())))) - -(defsubst js2-indent-case-block-p () - (save-excursion - (back-to-indentation) - (js2-backward-sws) - (goto-char (point-at-bol)) - (skip-chars-forward " \t") - (save-match-data - (looking-at "case\\s-.+:")))) - -(defsubst js2-syntax-bol () - "Return the point at the first non-whitespace char on the line. -Returns `point-at-bol' if the line is empty." - (save-excursion - (beginning-of-line) - (skip-chars-forward " \t") - (point))) - -(defun js2-bounce-indent (normal-col parse-status) - "Cycle among alternate computed indentation positions. -PARSE-STATUS is the result of `parse-partial-sexp' from the beginning -of the buffer to the current point. NORMAL-COL is the indentation -column computed by the heuristic guesser based on current paren, -bracket, brace and statement nesting." - (let ((cur-indent (js2-current-indent)) - (old-buffer-undo-list buffer-undo-list) - ;; Emacs 21 only has `count-lines', not `line-number-at-pos' - (current-line (save-excursion - (forward-line 0) ; move to bol - (1+ (count-lines (point-min) (point))))) - positions - pos - anchor - arglist-cont - same-indent - prev-line-col - basic-offset - computed-pos) - ;; temporarily don't record undo info, if user requested this - (if js2-mode-indent-inhibit-undo - (setq buffer-undo-list t)) - (unwind-protect - (progn - ;; first likely point: indent from beginning of previous code line - (push (setq basic-offset - (+ (save-excursion - (back-to-indentation) - (js2-backward-sws) - (back-to-indentation) - (setq prev-line-col (current-column))) - js2-basic-offset)) - positions) - - ;; second likely point: indent from assign-expr RHS. This - ;; is just a crude guess based on finding " = " on the previous - ;; line containing actual code. - (setq pos (save-excursion - (save-match-data - (forward-line -1) - (goto-char (point-at-bol)) - (when (re-search-forward "\\s-+\\(=\\)\\s-+" - (point-at-eol) t) - (goto-char (match-end 1)) - (skip-chars-forward " \t\r\n") - (current-column))))) - (when pos - (incf pos js2-basic-offset) - (unless (member pos positions) - (push pos positions))) - - ;; third likely point: same indent as previous line of code. - ;; Make it the first likely point if we're not on an - ;; arglist-close line and previous line ends in a comma, or - ;; both this line and prev line look like object-literal - ;; elements. - (setq pos (save-excursion - (goto-char (point-at-bol)) - (js2-backward-sws) - (back-to-indentation) - (prog1 - (current-column) - ;; while we're here, look for trailing comma - (if (save-excursion - (goto-char (point-at-eol)) - (js2-backward-sws) - (eq (char-before) ?,)) - (setq arglist-cont (1- (point))))))) - (when pos - (if (and (or arglist-cont - (js2-indent-in-objlit-p parse-status)) - (not (js2-arglist-close))) - (setq same-indent pos)) - (unless (member pos positions) - (push pos positions))) - - ;; fourth likely position: first preceding code with less indentation - ;; than the immediately preceding code line. - (setq pos (save-excursion - (js2-backward-sws) - (back-to-indentation) - (setq anchor (current-column)) - (while (and (zerop (forward-line -1)) - (>= (progn - (back-to-indentation) - (current-column)) - anchor))) - (setq pos (current-column)))) - (unless (member pos positions) - (push pos positions)) - - ;; put nesting-heuristic position first in list, sort rest - (setq positions (nreverse (sort positions '<))) - (setq positions (cons normal-col (delete normal-col positions))) - - ;; comma-list continuation lines: prev line indent takes precedence - (if same-indent - (setq positions - (cons same-indent - (sort (delete same-indent positions) '<)))) - - ;; common special cases where we want to indent in from previous line - (if (or (js2-indent-case-block-p) - (js2-indent-objlit-arg-p parse-status)) - (setq positions - (cons basic-offset - (delete basic-offset positions)))) - - ;; record whether we're already sitting on one of the alternatives - (setq pos (member cur-indent positions)) - (cond - ;; case 0: we're one one of the alternatives and this is the - ;; first time they've pressed TAB on this line (best-guess). - ((and js2-mode-indent-ignore-first-tab - pos - ;; first time pressing TAB on this line? - (not (eq js2-mode-last-indented-line current-line))) - ;; do nothing - (setq computed-pos nil)) - ;; case 1: only one computed position => use it - ((null (cdr positions)) - (setq computed-pos 0)) - ;; case 2: not on any of the computed spots => use main spot - ((not pos) - (setq computed-pos 0)) - ;; case 3: on last position: cycle to first position - ((null (cdr pos)) - (setq computed-pos 0)) - ;; case 4: on intermediate position: cycle to next position - (t - (setq computed-pos (js2-position (second pos) positions)))) - - ;; see if any hooks want to indent; otherwise we do it - (loop with result = nil - for hook in js2-indent-hook - while (null result) - do - (setq result (funcall hook positions computed-pos)) - finally do - (unless (or result (null computed-pos)) - (indent-line-to (nth computed-pos positions))))) - - ;; finally - (if js2-mode-indent-inhibit-undo - (setq buffer-undo-list old-buffer-undo-list)) - ;; see commentary for `js2-mode-last-indented-line' - (setq js2-mode-last-indented-line current-line)))) - -(defsubst js2-1-line-comment-continuation-p () - "Return t if we're in a 1-line comment continuation. -If so, we don't ever want to use bounce-indent." - (save-excursion - (save-match-data - (and (progn - (forward-line 0) - (looking-at "\\s-*//")) - (progn - (forward-line -1) - (forward-line 0) - (when (looking-at "\\s-*$") - (js2-backward-sws) - (forward-line 0)) - (looking-at "\\s-*//")))))) - -(defun js2-indent-line () - "Indent the current line as JavaScript source text." - (interactive) - (let (parse-status - current-indent - offset - indent-col - moved - ;; don't whine about errors/warnings when we're indenting. - ;; This has to be set before calling parse-partial-sexp below. - (inhibit-point-motion-hooks t)) - (setq parse-status (save-excursion - (parse-partial-sexp (point-min) - (point-at-bol))) - offset (- (point) (save-excursion - (back-to-indentation) - (setq current-indent (current-column)) - (point)))) - (js2-with-underscore-as-word-syntax - (if (nth 4 parse-status) - (js2-lineup-comment parse-status) - (setq indent-col (js-proper-indentation parse-status)) - ;; see comments below about js2-mode-last-indented-line - (when - (cond - ;; bounce-indenting is disabled during electric-key indent. - ;; It doesn't work well on first line of buffer. - ((and js2-bounce-indent-flag - (not (js2-same-line (point-min))) - (not (js2-1-line-comment-continuation-p))) - (js2-bounce-indent indent-col parse-status) - (setq moved t)) - ;; just indent to the guesser's likely spot - ((/= current-indent indent-col) - (indent-line-to indent-col) - (setq moved t))) - (when (and moved (plusp offset)) - (forward-char offset))))))) - -(defun js2-indent-region (start end) - "Indent the region, but don't use bounce indenting." - (let ((js2-bounce-indent-flag nil) - (indent-region-function nil)) - (indent-region start end nil))) ; nil for byte-compiler - -(provide 'js2-indent) - -;;; js2-indent.el ends here - -(eval-when-compile - (require 'cl)) - -(require 'imenu) -(require 'cc-cmds) ; for `c-fill-paragraph' - - -;;;###autoload (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode)) - -;;;###autoload -(defun js2-mode () - "Major mode for editing JavaScript code." - (interactive) - (js2-mode-check-compat) - (kill-all-local-variables) - (set-syntax-table js2-mode-syntax-table) - (use-local-map js2-mode-map) - (setq major-mode 'js2-mode - mode-name "JavaScript-IDE" - comment-start "//" ; used by comment-region; don't change it - comment-end "") - (setq local-abbrev-table js2-mode-abbrev-table) - (set (make-local-variable 'max-lisp-eval-depth) - (max max-lisp-eval-depth 3000)) - (set (make-local-variable 'indent-line-function) #'js2-indent-line) - (set (make-local-variable 'indent-region-function) #'js2-indent-region) - (set (make-local-variable 'fill-paragraph-function) #'js2-fill-paragraph) - (set (make-local-variable 'before-save-hook) #'js2-before-save) - (set (make-local-variable 'next-error-function) #'js2-next-error) - (set (make-local-variable 'beginning-of-defun-function) #'js2-beginning-of-defun) - (set (make-local-variable 'end-of-defun-function) #'js2-end-of-defun) - ;; We un-confuse `parse-partial-sexp' by setting syntax-table properties - ;; for characters inside regexp literals. - (set (make-local-variable 'parse-sexp-lookup-properties) t) - ;; this is necessary to make `show-paren-function' work properly - (set (make-local-variable 'parse-sexp-ignore-comments) t) - ;; needed for M-x rgrep, among other things - (put 'js2-mode 'find-tag-default-function #'js2-mode-find-tag) - - ;; some variables needed by cc-engine for paragraph-fill, etc. - (setq c-buffer-is-cc-mode t - c-comment-prefix-regexp js2-comment-prefix-regexp - c-paragraph-start js2-paragraph-start - c-paragraph-separate "$" - comment-start-skip js2-comment-start-skip - c-syntactic-ws-start js2-syntactic-ws-start - c-syntactic-ws-end js2-syntactic-ws-end - c-syntactic-eol js2-syntactic-eol) - (if js2-emacs22 - (c-setup-paragraph-variables)) - - ;; We do our own syntax highlighting based on the parse tree. - ;; However, we want minor modes that add keywords to highlight properly - ;; (examples: doxymacs, column-marker). We do this by not letting - ;; font-lock unfontify anything, and telling it to fontify after we - ;; re-parse and re-highlight the buffer. (We currently don't do any - ;; work with regions other than the whole buffer.) - (dolist (var '(font-lock-unfontify-buffer-function - font-lock-unfontify-region-function)) - (set (make-local-variable var) (lambda (&rest args) t))) - - ;; Don't let font-lock do syntactic (string/comment) fontification. - (set (make-local-variable #'font-lock-syntactic-face-function) - (lambda (state) nil)) - - ;; Experiment: make reparse-delay longer for longer files. - (if (plusp js2-dynamic-idle-timer-adjust) - (setq js2-idle-timer-delay - (* js2-idle-timer-delay - (/ (point-max) js2-dynamic-idle-timer-adjust)))) - - (add-hook 'change-major-mode-hook #'js2-mode-exit nil t) - (add-hook 'after-change-functions #'js2-mode-edit nil t) - (setq imenu-create-index-function #'js2-mode-create-imenu-index) - (imenu-add-to-menubar (concat "IM-" mode-name)) - (when js2-mirror-mode - (js2-enter-mirror-mode)) - (add-to-invisibility-spec '(js2-outline . t)) - (set (make-local-variable 'line-move-ignore-invisible) t) - (set (make-local-variable 'forward-sexp-function) #'js2-mode-forward-sexp) - (setq js2-mode-functions-hidden nil - js2-mode-comments-hidden nil - js2-mode-buffer-dirty-p t - js2-mode-parsing nil) - (js2-reparse) - (run-hooks 'js2-mode-hook)) - -(defun js2-mode-check-compat () - "Signal an error if we can't run with this version of Emacs." - (if (and js2-mode-must-byte-compile - (not (byte-code-function-p (symbol-function 'js2-mode)))) - (error "You must byte-compile js2-mode before using it.")) - (if (and (boundp 'running-xemacs) - running-xemacs) - (error "js2-mode is not compatible with XEmacs")) - (unless (>= emacs-major-version 21) - (error "js2-mode requires GNU Emacs version 21 or higher"))) - -(defun js2-mode-exit () - (interactive) - (when js2-mode-node-overlay - (delete-overlay js2-mode-node-overlay) - (setq js2-mode-node-overlay nil)) - (js2-remove-overlays) - (setq js2-mode-ast nil) - (remove-hook 'change-major-mode-hook #'js2-mode-exit t) - (remove-from-invisibility-spec '(js2-outline . t)) - (js2-mode-show-all) - (js2-with-unmodifying-text-property-changes - (js2-clear-face (point-min) (point-max)))) - -(defun js2-before-save () - "Clean up whitespace before saving file. -You can disable this by customizing `js2-cleanup-whitespace'." - (when js2-cleanup-whitespace - (let ((col (current-column))) - (delete-trailing-whitespace) - ;; don't change trailing whitespace on current line - (unless (eq (current-column) col) - (indent-to col))))) - -(defsubst js2-mode-reset-timer () - (if js2-mode-parse-timer - (cancel-timer js2-mode-parse-timer)) - (setq js2-mode-parsing nil) - (setq js2-mode-parse-timer - (run-with-idle-timer js2-idle-timer-delay nil #'js2-reparse))) - -(defun js2-mode-edit (beg end len) - "Schedule a new parse after buffer is edited." - (setq js2-mode-buffer-dirty-p t) - (js2-mode-hide-overlay) - (js2-mode-reset-timer)) - -(defun js2-mode-run-font-lock () - "Run `font-lock-fontify-buffer' after parsing/highlighting. -This is intended to allow modes that install their own font-lock keywords -to work with js2-mode. In practice it never seems to work for long. -Hopefully the Emacs maintainers can help figure out a way to make it work." - (when (and (boundp 'font-lock-keywords) - font-lock-keywords - (boundp 'font-lock-mode) - font-lock-mode) - ;; TODO: font-lock and jit-lock really really REALLY don't want to - ;; play nicely with js2-mode. They go out of their way to fail to - ;; provide any option for saying "look, fontify the goddamn buffer - ;; with just the keywords already". Argh. - (setq font-lock-defaults (list font-lock-keywords 'keywords-only)) - (let (font-lock-verbose) - (font-lock-default-fontify-buffer)))) - -(defun js2-reparse (&optional force) - "Re-parse current buffer after user finishes some data entry. -If we get any user input while parsing, including cursor motion, -we discard the parse and reschedule it. If FORCE is nil, then the -buffer will only rebuild its `js2-mode-ast' if the buffer is dirty." - (let (time - interrupted-p - (js2-compiler-strict-mode js2-mode-show-strict-warnings)) - (unless js2-mode-parsing - (setq js2-mode-parsing t) - (unwind-protect - (when (or js2-mode-buffer-dirty-p force) - (js2-remove-overlays) - (js2-with-unmodifying-text-property-changes - (setq js2-mode-buffer-dirty-p nil - js2-mode-fontifications nil - js2-mode-deferred-properties nil) - (if js2-mode-verbose-parse-p - (message "parsing...")) - (setq time - (js2-time - (setq interrupted-p - (catch 'interrupted - (setq js2-mode-ast (js2-parse)) - (js2-mode-fontify-regions) - (js2-mode-remove-suppressed-warnings) - (js2-mode-show-warnings) - (js2-mode-show-errors) - (js2-mode-run-font-lock) ; note: doesn't work - (if (>= js2-highlight-level 1) - (js2-highlight-jsdoc js2-mode-ast)) - nil)))) - (if interrupted-p - (progn - ;; unfinished parse => try again - (setq js2-mode-buffer-dirty-p t) - (js2-mode-reset-timer)) - (if js2-mode-verbose-parse-p - (message "Parse time: %s" time))))) - ;; finally - (setq js2-mode-parsing nil) - (unless interrupted-p - (setq js2-mode-parse-timer nil)))))) - -(defun js2-mode-show-node () - "Debugging aid: highlight selected AST node on mouse click." - (interactive) - (let ((node (js2-node-at-point)) - beg - end) - (when js2-mode-show-overlay - (if (null node) - (message "No node found at location %s" (point)) - (setq beg (js2-node-abs-pos node) - end (+ beg (js2-node-len node))) - (if js2-mode-node-overlay - (move-overlay js2-mode-node-overlay beg end) - (setq js2-mode-node-overlay (make-overlay beg end)) - (overlay-put js2-mode-node-overlay 'face 'highlight)) - (js2-with-unmodifying-text-property-changes - (put-text-property beg end 'point-left #'js2-mode-hide-overlay)) - (message "%s, parent: %s" - (js2-node-short-name node) - (if (js2-node-parent node) - (js2-node-short-name (js2-node-parent node)) - "nil")))))) - -(defun js2-mode-hide-overlay (&optional p1 p2) - "Remove the debugging overlay when the point moves." - (when js2-mode-node-overlay - (let ((beg (overlay-start js2-mode-node-overlay)) - (end (overlay-end js2-mode-node-overlay))) - ;; Sometimes we're called spuriously. - (unless (and p2 - (>= p2 beg) - (<= p2 end)) - (js2-with-unmodifying-text-property-changes - (remove-text-properties beg end '(point-left nil))) - (delete-overlay js2-mode-node-overlay) - (setq js2-mode-node-overlay nil))))) - -(defun js2-mode-reset () - "Debugging helper; resets everything." - (interactive) - (js2-mode-exit) - (js2-mode)) - -(defsubst js2-mode-show-warn-or-err (e face) - "Highlight a warning or error E with FACE. -E is a list of ((MSG-KEY MSG-ARG) BEG END)." - (let* ((key (first e)) - (beg (second e)) - (end (+ beg (third e))) - ;; Don't inadvertently go out of bounds. - (beg (max (point-min) (min beg (point-max)))) - (end (max (point-min) (min end (point-max)))) - (js2-highlight-level 3) ; so js2-set-face is sure to fire - (ovl (make-overlay beg end))) - (overlay-put ovl 'face face) - (overlay-put ovl 'js2 t) - (put-text-property beg end 'help-echo (js2-get-msg key)) - (put-text-property beg end 'point-entered #'js2-echo-error))) - -(defun js2-remove-overlays () - "Remove overlays from buffer that have a `js2' property." - (let ((beg (point-min)) - (end (point-max))) - (save-excursion - (dolist (o (overlays-in beg end)) - (when (overlay-get o 'js2) - (delete-overlay o)))))) - -(defun js2-mode-fontify-regions () - "Apply fontifications recorded during parsing." - ;; We defer clearing faces as long as possible to eliminate flashing. - (js2-clear-face (point-min) (point-max)) - ;; have to reverse the recorded fontifications so that errors and - ;; warnings overwrite the normal fontifications - (dolist (f (nreverse js2-mode-fontifications)) - (put-text-property (first f) (second f) 'face (third f))) - (setq js2-mode-fontifications nil) - (dolist (p js2-mode-deferred-properties) - (apply #'put-text-property p)) - (setq js2-mode-deferred-properties nil)) - -(defun js2-mode-show-errors () - "Highlight syntax errors." - (when js2-mode-show-parse-errors - (dolist (e (js2-ast-root-errors js2-mode-ast)) - (js2-mode-show-warn-or-err e 'js2-error-face)))) - -(defun js2-mode-remove-suppressed-warnings () - "Take suppressed warnings out of the AST warnings list. -This ensures that the counts and `next-error' are correct." - (setf (js2-ast-root-warnings js2-mode-ast) - (js2-delete-if - (lambda (e) - (let ((key (caar e))) - (or - (and (not js2-strict-trailing-comma-warning) - (string-match "trailing\\.comma" key)) - (and (not js2-strict-cond-assign-warning) - (string= key "msg.equal.as.assign")) - (and js2-missing-semi-one-line-override - (string= key "msg.missing.semi") - (let* ((beg (second e)) - (node (js2-node-at-point beg)) - (fn (js2-mode-find-parent-fn node)) - (body (and fn (js2-function-node-body fn))) - (lc (and body (js2-node-abs-pos body))) - (rc (and lc (+ lc (js2-node-len body))))) - (and fn - (or (null body) - (save-excursion - (goto-char beg) - (and (js2-same-line lc) - (js2-same-line rc)))))))))) - (js2-ast-root-warnings js2-mode-ast)))) - -(defun js2-mode-show-warnings () - "Highlight strict-mode warnings." - (when js2-mode-show-strict-warnings - (dolist (e (js2-ast-root-warnings js2-mode-ast)) - (js2-mode-show-warn-or-err e 'js2-warning-face)))) - -(defun js2-echo-error (old-point new-point) - "Called by point-motion hooks." - (let ((msg (get-text-property new-point 'help-echo))) - (if msg - (message msg)))) - -(defalias #'js2-echo-help #'js2-echo-error) - -(defun js2-enter-key () - "Handle user pressing the Enter key." - (interactive) - (let ((parse-status (save-excursion - (parse-partial-sexp (point-min) (point))))) - (cond - ;; check if we're inside a string - ((nth 3 parse-status) - (js2-mode-split-string parse-status)) - ;; check if inside a block comment - ((nth 4 parse-status) - (js2-mode-extend-comment)) - (t - ;; should probably figure out what the mode-map says we should do - (if js2-indent-on-enter-key - (let ((js2-bounce-indent-flag nil)) - (js2-indent-line))) - (insert "\n") - (if js2-enter-indents-newline - (let ((js2-bounce-indent-flag nil)) - (js2-indent-line))))))) - -(defun js2-mode-split-string (parse-status) - "Turn a newline in mid-string into a string concatenation." - (let* ((col (current-column)) - (quote-char (nth 3 parse-status)) - (quote-string (string quote-char)) - (string-beg (nth 8 parse-status)) - (indent (save-match-data - (or - (save-excursion - (back-to-indentation) - (if (looking-at "\\+") - (current-column))) - (save-excursion - (goto-char string-beg) - (if (looking-back "\\+\\s-+") - (goto-char (match-beginning 0))) - (current-column)))))) - (insert quote-char "\n") - (indent-to indent) - (insert "+ " quote-string) - (when (eolp) - (insert quote-string) - (backward-char 1)))) - -(defun js2-mode-extend-comment () - "When inside a comment block, add comment prefix." - (let (star single col first-line needs-close) - (save-excursion - (back-to-indentation) - (cond - ((looking-at "\\*[^/]") - (setq star t - col (current-column))) - ((looking-at "/\\*") - (setq star t - first-line t - col (1+ (current-column)))) - ((looking-at "//") - (setq single t - col (current-column))))) - ;; Heuristic for whether we need to close the comment: - ;; if we've got a parse error here, assume it's an unterminated - ;; comment. - (setq needs-close - (or - (eq (get-text-property (1- (point)) 'point-entered) - 'js2-echo-error) - ;; The heuristic above doesn't work well when we're - ;; creating a comment and there's another one downstream, - ;; as our parser thinks this one ends at the end of the - ;; next one. (You can have a /* inside a js block comment.) - ;; So just close it if the next non-ws char isn't a *. - (and first-line - (eolp) - (save-excursion - (skip-syntax-forward " ") - (not (eq (char-after) ?*)))))) - (insert "\n") - (cond - (star - (indent-to col) - (insert "* ") - (if (and first-line needs-close) - (save-excursion - (insert "\n") - (indent-to col) - (insert "*/")))) - (single - (when (save-excursion - (and (zerop (forward-line 1)) - (looking-at "\\s-*//"))) - (indent-to col) - (insert "// ")))))) - -(defun js2-fill-string (beg quote) - "Line-wrap a single-line string into a multi-line string. -BEG is the string beginning, QUOTE is the quote char." - (let* ((squote (string quote)) - (end (if (re-search-forward (concat "[^\\]" squote) - (point-at-eol) t) - (1+ (match-beginning 0)) - (point-at-eol))) - (tag (make-marker)) - (fill-column (- fill-column 4))) ; make room - (unwind-protect - (progn - (move-marker tag end) - (fill-paragraph nil) - (goto-char beg) - (while (not (js2-same-line tag)) - (goto-char (point-at-eol)) - (insert squote) - (when (zerop (forward-line 1)) - (back-to-indentation) - (if (looking-at (concat squote "\\s-*$")) - (progn - (setq end (point-at-eol)) - (forward-line -1) - (delete-region (point-at-eol) end)) - (insert "+ " squote))))) - (move-marker tag nil)))) - -(defun js2-fill-paragraph (arg) - "Fill paragraph after point. Prefix ARG means justify as well. -Has special handling for filling in comments and strings." - (let* ((parse-status (save-excursion - (parse-partial-sexp (point-min) (point)))) - (quote-char (or (nth 3 parse-status) - (save-match-data - (if (looking-at "[\"\']") - (char-after)))))) - (cond - (quote-char - (js2-fill-string (or (nth 8 parse-status) - (point)) - quote-char) - t) ; or fill-paragraph does evil things afterwards - ((nth 4 parse-status) ; in block comment? - (js2-fill-comment parse-status arg)) - (t - (fill-paragraph arg))))) - -(defun js2-fill-comment (parse-status arg) - "Fill-paragraph in a block comment." - (let* ((beg (nth 8 parse-status)) - (end (save-excursion - (goto-char beg) - (re-search-forward "[^\\]\\*/" nil t))) - indent - end-marker) - (when end - (setq end-marker (make-marker)) - (move-marker end-marker end)) - (when (and end js2-mode-squeeze-spaces) - (save-excursion - (save-restriction - (narrow-to-region beg end) - (goto-char (point-min)) - (while (re-search-forward "[ \t][ \t]+" nil t) - (replace-match " "))))) - ;; `c-fill-paragraph' doesn't indent the continuation stars properly - ;; if the comment isn't left-justified. They align to the first star - ;; on the first continuation line after the comment-open, so we make - ;; sure the first continuation line has the proper indentation. - (save-excursion - (goto-char beg) - (setq indent (1+ (current-column))) - (goto-char (point-at-eol)) - (skip-chars-forward " \t\r\n") - (indent-line-to indent) - - ;; Invoke `c-fill-paragraph' from the first continuation line, - ;; since it provides better results. Otherwise if you're on the - ;; last line, it doesn't prefix with stars the way you'd expect. - ;; TODO: write our own fill function that works in Emacs 21 - (c-fill-paragraph arg)) - - ;; last line is typically indented wrong, so fix it - (when end-marker - (save-excursion - (goto-char end-marker) - (js2-indent-line))))) - -(defun js2-beginning-of-line () - "Toggles point between bol and first non-whitespace char in line. -Also moves past comment delimiters when inside comments." - (interactive) - (let (node beg) - (cond - ((bolp) - (back-to-indentation)) - ((looking-at "//") - (skip-chars-forward "/ \t")) - ((and (eq (char-after) ?*) - (setq node (js2-comment-at-point)) - (memq (js2-comment-node-format node) '(jsdoc block)) - (save-excursion - (skip-chars-backward " \t") - (bolp))) - (skip-chars-forward "\* \t")) - (t - (goto-char (point-at-bol)))))) - -(defun js2-end-of-line () - "Toggles point between eol and last non-whitespace char in line." - (interactive) - (if (eolp) - (skip-chars-backward " \t") - (goto-char (point-at-eol)))) - -(defun js2-enter-mirror-mode() - "Turns on mirror mode, where quotes, brackets etc are mirrored automatically - on insertion." - (interactive) - (define-key js2-mode-map (read-kbd-macro "{") 'js2-mode-match-curly) - (define-key js2-mode-map (read-kbd-macro "}") 'js2-mode-magic-close-paren) - (define-key js2-mode-map (read-kbd-macro "\"") 'js2-mode-match-double-quote) - (define-key js2-mode-map (read-kbd-macro "'") 'js2-mode-match-single-quote) - (define-key js2-mode-map (read-kbd-macro "(") 'js2-mode-match-paren) - (define-key js2-mode-map (read-kbd-macro ")") 'js2-mode-magic-close-paren) - (define-key js2-mode-map (read-kbd-macro "[") 'js2-mode-match-bracket) - (define-key js2-mode-map (read-kbd-macro "]") 'js2-mode-magic-close-paren)) - -(defun js2-leave-mirror-mode() - "Turns off mirror mode." - (interactive) - (dolist (key '("{" "\"" "'" "(" ")" "[" "]")) - (define-key js2-mode-map (read-kbd-macro key) 'self-insert-command))) - -(defsubst js2-mode-inside-string () - "Return non-nil if inside a string. -Actually returns the quote character that begins the string." - (let ((parse-state (save-excursion - (parse-partial-sexp (point-min) (point))))) - (nth 3 parse-state))) - -(defsubst js2-mode-inside-comment-or-string () - "Return non-nil if inside a comment or string." - (or - (let ((comment-start - (save-excursion - (goto-char (point-at-bol)) - (if (re-search-forward "//" (point-at-eol) t) - (match-beginning 0))))) - (and comment-start - (<= comment-start (point)))) - (let ((parse-state (save-excursion - (parse-partial-sexp (point-min) (point))))) - (or (nth 3 parse-state) - (nth 4 parse-state))))) - -(defun js2-mode-match-curly (arg) - "Insert matching curly-brace." - (interactive "p") - (insert "{") - (if current-prefix-arg - (save-excursion - (insert "}")) - (unless (or (not (looking-at "\\s-*$")) - (js2-mode-inside-comment-or-string)) - (undo-boundary) - - ;; absolutely mystifying bug: when inserting the next "\n", - ;; the buffer-undo-list is given two new entries: the inserted range, - ;; and the incorrect position of the point. It's recorded incorrectly - ;; as being before the opening "{", not after it. But it's recorded - ;; as the correct value if you're debugging `js2-mode-match-curly' - ;; in edebug. I have no idea why it's doing this, but incrementing - ;; the inserted position fixes the problem, so that the undo takes us - ;; back to just after the user-inserted "{". - (insert "\n") - (ignore-errors - (incf (cadr buffer-undo-list))) - - (js2-indent-line) - (save-excursion - (insert "\n}") - (let ((js2-bounce-indent-flag (js2-code-at-bol-p))) - (js2-indent-line)))))) - -(defun js2-mode-match-bracket () - "Insert matching bracket." - (interactive) - (insert "[") - (unless (or (not (looking-at "\\s-*$")) - (js2-mode-inside-comment-or-string)) - (save-excursion - (insert "]")) - (when js2-auto-indent-flag - (let ((js2-bounce-indent-flag (js2-code-at-bol-p))) - (js2-indent-line))))) - -(defun js2-mode-match-paren () - "Insert matching paren unless already inserted." - (interactive) - (insert "(") - (unless (or (not (looking-at "\\s-*$")) - (js2-mode-inside-comment-or-string)) - (save-excursion - (insert ")")) - (when js2-auto-indent-flag - (let ((js2-bounce-indent-flag (js2-code-at-bol-p))) - (js2-indent-line))))) - -(defsubst js2-match-quote (quote-string) - (let ((start-quote (js2-mode-inside-string))) - (cond - ;; inside a comment - don't do quote-matching, since we can't - ;; reliably figure out if we're in a string inside the comment - ((js2-comment-at-point) - (insert quote-string)) - ((not start-quote) - ;; not in string => insert matched quotes - (insert quote-string) - ;; exception: if we're just before a word, don't double it. - (unless (looking-at "[^ \t\r\n]") - (save-excursion - (insert quote-string)))) - ((looking-at quote-string) - (if (looking-back "[^\\]\\\\") - (insert quote-string) - (forward-char 1))) - ((and js2-mode-escape-quotes - (save-excursion - (save-match-data - (re-search-forward quote-string (point-at-eol) t)))) - ;; inside terminated string, escape quote (unless already escaped) - (insert (if (looking-back "[^\\]\\\\") - quote-string - (concat "\\" quote-string)))) - (t - (insert quote-string))))) ; else terminate the string - -(defun js2-mode-match-single-quote () - "Insert matching single-quote." - (interactive) - (let ((parse-status (parse-partial-sexp (point-min) (point)))) - ;; don't match inside comments, since apostrophe is more common - (if (nth 4 parse-status) - (insert "'") - (js2-match-quote "'")))) - -(defun js2-mode-match-double-quote () - "Insert matching double-quote." - (interactive) - (js2-match-quote "\"")) - -(defun js2-mode-magic-close-paren () - "Skip over close-paren rather than inserting, where appropriate. -Uses some heuristics to try to figure out the right thing to do." - (interactive) - (let* ((parse-status (parse-partial-sexp (point-min) (point))) - (open-pos (nth 1 parse-status)) - (close last-input-char) - (open (cond - ((eq close 41) ; close-paren - 40) ; open-paren - ((eq close 93) ; close-bracket - 91) ; open-bracket - ((eq close ?}) - ?{) - (t nil)))) - (if (and (looking-at (string close)) - (eq open (char-after open-pos)) - (js2-same-line open-pos)) - (forward-char 1) - (insert (string close))) - (blink-matching-open))) - -(defun js2-mode-wait-for-parse (callback) - "Invoke CALLBACK when parsing is finished. -If parsing is already finished, calls CALLBACK immediately." - (if (not js2-mode-buffer-dirty-p) - (funcall callback) - (push callback js2-mode-pending-parse-callbacks) - (add-hook 'js2-parse-finished-hook #'js2-mode-parse-finished))) - -(defun js2-mode-parse-finished () - "Invoke callbacks in `js2-mode-pending-parse-callbacks'." - ;; We can't let errors propagate up, since it prevents the - ;; `js2-parse' method from completing normally and returning - ;; the ast, which makes things mysteriously not work right. - (unwind-protect - (dolist (cb js2-mode-pending-parse-callbacks) - (condition-case err - (funcall cb) - (error (message "%s" err)))) - (setq js2-mode-pending-parse-callbacks nil))) - -(defun js2-mode-flag-region (from to flag) - "Hide or show text from FROM to TO, according to FLAG. -If FLAG is nil then text is shown, while if FLAG is t the text is hidden. -Returns the created overlay if FLAG is non-nil." - (remove-overlays from to 'invisible 'js2-outline) - (when flag - (let ((o (make-overlay from to))) - (overlay-put o 'invisible 'js2-outline) - (overlay-put o 'isearch-open-invisible - 'js2-isearch-open-invisible) - o))) - -;; Function to be set as an outline-isearch-open-invisible' property -;; to the overlay that makes the outline invisible (see -;; `js2-mode-flag-region'). -(defun js2-isearch-open-invisible (overlay) - ;; We rely on the fact that isearch places point on the matched text. - (js2-mode-show-element)) - -(defun js2-mode-invisible-overlay-bounds (&optional pos) - "Return cons cell of bounds of folding overlay at POS. -Returns nil if not found." - (let ((overlays (overlays-at (or pos (point)))) - o) - (while (and overlays - (not o)) - (if (overlay-get (car overlays) 'invisible) - (setq o (car overlays)) - (setq overlays (cdr overlays)))) - (if o - (cons (overlay-start o) (overlay-end o))))) - -(defun js2-mode-function-at-point (&optional pos) - "Return the innermost function node enclosing current point. -Returns nil if point is not in a function." - (let ((node (js2-node-at-point pos))) - (while (and node (not (js2-function-node-p node))) - (setq node (js2-node-parent node))) - (if (js2-function-node-p node) - node))) - -(defun js2-mode-toggle-element () - "Hide or show the foldable element at the point." - (interactive) - (let (comment fn pos) - (save-excursion - (save-match-data - (cond - ;; /* ... */ comment? - ((js2-block-comment-p (setq comment (js2-comment-at-point))) - (if (js2-mode-invisible-overlay-bounds - (setq pos (+ 3 (js2-node-abs-pos comment)))) - (progn - (goto-char pos) - (js2-mode-show-element)) - (js2-mode-hide-element))) - - ;; //-comment? - ((save-excursion - (back-to-indentation) - (looking-at js2-mode-//-comment-re)) - (js2-mode-toggle-//-comment)) - - ;; function? - ((setq fn (js2-mode-function-at-point)) - (setq pos (and (js2-function-node-body fn) - (js2-node-abs-pos (js2-function-node-body fn)))) - (goto-char (1+ pos)) - (if (js2-mode-invisible-overlay-bounds) - (js2-mode-show-element) - (js2-mode-hide-element))) - (t - (message "Nothing at point to hide or show"))))))) - -(defun js2-mode-hide-element () - "Fold/hide contents of a block, showing ellipses. -Show the hidden text with \\[js2-mode-show-element]." - (interactive) - (if js2-mode-buffer-dirty-p - (js2-mode-wait-for-parse #'js2-mode-hide-element)) - (let (node body beg end) - (cond - ((js2-mode-invisible-overlay-bounds) - (message "already hidden")) - (t - (setq node (js2-node-at-point)) - (cond - ((js2-block-comment-p node) - (js2-mode-hide-comment node)) - (t - (while (and node (not (js2-function-node-p node))) - (setq node (js2-node-parent node))) - (if (and node - (setq body (js2-function-node-body node))) - (progn - (setq beg (js2-node-abs-pos body) - end (+ beg (js2-node-len body))) - (js2-mode-flag-region (1+ beg) (1- end) 'hide)) - (message "No collapsable element found at point")))))))) - -(defun js2-mode-show-element () - "Show the hidden element at current point." - (interactive) - (let ((bounds (js2-mode-invisible-overlay-bounds))) - (if bounds - (js2-mode-flag-region (car bounds) (cdr bounds) nil) - (message "Nothing to un-hide")))) - -(defun js2-mode-show-all () - "Show all of the text in the buffer." - (interactive) - (js2-mode-flag-region (point-min) (point-max) nil)) - -(defun js2-mode-toggle-hide-functions () - (interactive) - (if js2-mode-functions-hidden - (js2-mode-show-functions) - (js2-mode-hide-functions))) - -(defun js2-mode-hide-functions () - "Hides all non-nested function bodies in the buffer. -Use \\[js2-mode-show-all] to reveal them, or \\[js2-mode-show-element] -to open an individual entry." - (interactive) - (if js2-mode-buffer-dirty-p - (js2-mode-wait-for-parse #'js2-mode-hide-functions)) - (if (null js2-mode-ast) - (message "Oops - parsing failed") - (setq js2-mode-functions-hidden t) - (js2-visit-ast js2-mode-ast #'js2-mode-function-hider))) - -(defun js2-mode-function-hider (n endp) - (when (not endp) - (let ((tt (js2-node-type n)) - body beg end) - (cond - ((and (= tt js2-FUNCTION) - (setq body (js2-function-node-body n))) - (setq beg (js2-node-abs-pos body) - end (+ beg (js2-node-len body))) - (js2-mode-flag-region (1+ beg) (1- end) 'hide) - nil) ; don't process children of function - (t - t))))) ; keep processing other AST nodes - -(defun js2-mode-show-functions () - "Un-hide any folded function bodies in the buffer." - (interactive) - (setq js2-mode-functions-hidden nil) - (save-excursion - (goto-char (point-min)) - (while (/= (goto-char (next-overlay-change (point))) - (point-max)) - (dolist (o (overlays-at (point))) - (when (and (overlay-get o 'invisible) - (not (overlay-get o 'comment))) - (js2-mode-flag-region (overlay-start o) (overlay-end o) nil)))))) - -(defun js2-mode-hide-comment (n) - (let* ((head (if (eq (js2-comment-node-format n) 'jsdoc) - 3 ; /** - 2)) ; /* - (beg (+ (js2-node-abs-pos n) head)) - (end (- (+ beg (js2-node-len n)) head 2)) - (o (js2-mode-flag-region beg end 'hide))) - (overlay-put o 'comment t))) - -(defun js2-mode-toggle-hide-comments () - "Folds all block comments in the buffer. -Use \\[js2-mode-show-all] to reveal them, or \\[js2-mode-show-element] -to open an individual entry." - (interactive) - (if js2-mode-comments-hidden - (js2-mode-show-comments) - (js2-mode-hide-comments))) - -(defun js2-mode-hide-comments () - (interactive) - (if js2-mode-buffer-dirty-p - (js2-mode-wait-for-parse #'js2-mode-hide-comments)) - (if (null js2-mode-ast) - (message "Oops - parsing failed") - (setq js2-mode-comments-hidden t) - (dolist (n (js2-ast-root-comments js2-mode-ast)) - (let ((format (js2-comment-node-format n))) - (when (js2-block-comment-p n) - (js2-mode-hide-comment n)))) - (js2-mode-hide-//-comments))) - -(defsubst js2-mode-extend-//-comment (direction) - "Find start or end of a block of similar //-comment lines. -DIRECTION is -1 to look back, 1 to look forward. -INDENT is the indentation level to match. -Returns the end-of-line position of the furthest adjacent -//-comment line with the same indentation as the current line. -If there is no such matching line, returns current end of line." - (let ((pos (point-at-eol)) - (indent (current-indentation))) - (save-excursion - (save-match-data - (while (and (zerop (forward-line direction)) - (looking-at js2-mode-//-comment-re) - (eq indent (length (match-string 1)))) - (setq pos (point-at-eol))) - pos)))) - -(defun js2-mode-hide-//-comments () - "Fold adjacent 1-line comments, showing only snippet of first one." - (let (beg end) - (save-excursion - (save-match-data - (goto-char (point-min)) - (while (re-search-forward js2-mode-//-comment-re nil t) - (setq beg (point) - end (js2-mode-extend-//-comment 1)) - (unless (eq beg end) - (overlay-put (js2-mode-flag-region beg end 'hide) - 'comment t)) - (goto-char end) - (forward-char 1)))))) - -(defun js2-mode-toggle-//-comment () - "Fold or un-fold any multi-line //-comment at point. -Caller should have determined that this line starts with a //-comment." - (let* ((beg (point-at-eol)) - (end beg)) - (save-excursion - (goto-char end) - (if (js2-mode-invisible-overlay-bounds) - (js2-mode-show-element) - ;; else hide the comment - (setq beg (js2-mode-extend-//-comment -1) - end (js2-mode-extend-//-comment 1)) - (unless (eq beg end) - (overlay-put (js2-mode-flag-region beg end 'hide) - 'comment t)))))) - -(defun js2-mode-show-comments () - "Un-hide any hidden comments, leaving other hidden elements alone." - (interactive) - (setq js2-mode-comments-hidden nil) - (save-excursion - (goto-char (point-min)) - (while (/= (goto-char (next-overlay-change (point))) - (point-max)) - (dolist (o (overlays-at (point))) - (when (overlay-get o 'comment) - (js2-mode-flag-region (overlay-start o) (overlay-end o) nil)))))) - -(defun js2-mode-display-warnings-and-errors () - "Turn on display of warnings and errors." - (interactive) - (setq js2-mode-show-parse-errors t - js2-mode-show-strict-warnings t) - (js2-reparse 'force)) - -(defun js2-mode-hide-warnings-and-errors () - "Turn off display of warnings and errors." - (interactive) - (setq js2-mode-show-parse-errors nil - js2-mode-show-strict-warnings nil) - (js2-reparse 'force)) - -(defun js2-mode-toggle-warnings-and-errors () - "Toggle the display of warnings and errors. -Some users don't like having warnings/errors reported while they type." - (interactive) - (setq js2-mode-show-parse-errors (not js2-mode-show-parse-errors) - js2-mode-show-strict-warnings (not js2-mode-show-strict-warnings)) - (if (interactive-p) - (message "warnings and errors %s" - (if js2-mode-show-parse-errors - "enabled" - "disabled"))) - (js2-reparse 'force)) - -(defun js2-mode-customize () - (interactive) - (customize-group 'js2-mode)) - -(defun js2-mode-forward-sexp (&optional arg) - "Move forward across one statement or balanced expression. -With ARG, do it that many times. Negative arg -N means -move backward across N balanced expressions." - (interactive "p") - (setq arg (or arg 1)) - (if js2-mode-buffer-dirty-p - (js2-mode-wait-for-parse #'js2-mode-forward-sexp)) - (let (node end (start (point))) - (cond - ;; backward-sexp - ;; could probably make this "better" for some cases: - ;; - if in statement block (e.g. function body), go to parent - ;; - infix exprs like (foo in bar) - maybe go to beginning - ;; of infix expr if in the right-side expression? - ((and arg (minusp arg)) - (dotimes (i (- arg)) - (js2-backward-sws) - (forward-char -1) ; enter the node we backed up to - (setq node (js2-node-at-point (point) t)) - (goto-char (if node - (js2-node-abs-pos node) - (point-min))))) - (t - ;; forward-sexp - (js2-forward-sws) - (dotimes (i arg) - (js2-forward-sws) - (setq node (js2-node-at-point (point) t) - end (if node (+ (js2-node-abs-pos node) - (js2-node-len node)))) - (goto-char (or end (point-max)))))))) - -(defun js2-next-error (&optional arg reset) - "Move to next parse error. -Typically invoked via \\[next-error]. -ARG is the number of errors, forward or backward, to move. -RESET means start over from the beginning." - (interactive "p") - (if (or (null js2-mode-ast) - (and (null (js2-ast-root-errors js2-mode-ast)) - (null (js2-ast-root-warnings js2-mode-ast)))) - (message "No errors") - (when reset - (goto-char (point-min))) - (let* ((errs (copy-sequence - (append (js2-ast-root-errors js2-mode-ast) - (js2-ast-root-warnings js2-mode-ast)))) - (continue t) - (start (point)) - (count (or arg 1)) - (backward (minusp count)) - (sorter (if backward '> '<)) - (stopper (if backward '< '>)) - (count (abs count)) - all-errs - err) - ;; sort by start position - (setq errs (sort errs (lambda (e1 e2) - (funcall sorter (second e1) (second e2)))) - all-errs errs) - ;; find nth error with pos > start - (while (and errs continue) - (when (funcall stopper (cadar errs) start) - (setq err (car errs)) - (if (zerop (decf count)) - (setq continue nil))) - (setq errs (cdr errs))) - (if err - (goto-char (second err)) - ;; wrap around to first error - (goto-char (second (car all-errs))) - ;; if we were already on it, echo msg again - (if (= (point) start) - (js2-echo-error (point) (point))))))) - -(defun js2-mouse-3 () - "Make right-click move the point to the click location. -This makes right-click context menu operations a bit more intuitive. -The point will not move if the region is active, however, to avoid -destroying the region selection." - (interactive) - (when (and js2-move-point-on-right-click - (not mark-active)) - (let ((e last-input-event)) - (ignore-errors - (goto-char (cadadr e)))))) - -(defun js2-mode-create-imenu-index () - "Return an alist for `imenu--index-alist'." - ;; This is built up in `js2-parse-record-imenu' during parsing. - (when js2-mode-ast - ;; if we have an ast but no recorder, they're requesting a rescan - (unless js2-imenu-recorder - (js2-reparse 'force)) - (prog1 - (js2-build-imenu-index) - (setq js2-imenu-recorder nil - js2-imenu-function-map nil)))) - -(defun js2-mode-find-tag () - "Replacement for `find-tag-default'. -`find-tag-default' returns a ridiculous answer inside comments." - (let (beg end) - (js2-with-underscore-as-word-syntax - (save-excursion - (if (and (not (looking-at "[A-Za-z0-9_$]")) - (looking-back "[A-Za-z0-9_$]")) - (setq beg (progn (forward-word -1) (point)) - end (progn (forward-word 1) (point))) - (setq beg (progn (forward-word 1) (point)) - end (progn (forward-word -1) (point)))) - (replace-regexp-in-string - "[\"']" "" - (buffer-substring-no-properties beg end)))))) - -(defun js2-mode-forward-sibling () - "Move to the end of the sibling following point in parent. -Returns non-nil if successful, or nil if there was no following sibling." - (let* ((node (js2-node-at-point)) - (parent (js2-mode-find-enclosing-fn node)) - sib) - (when (setq sib (js2-node-find-child-after (point) parent)) - (goto-char (+ (js2-node-abs-pos sib) - (js2-node-len sib)))))) - -(defun js2-mode-backward-sibling () - "Move to the beginning of the sibling node preceding point in parent. -Parent is defined as the enclosing script or function." - (let* ((node (js2-node-at-point)) - (parent (js2-mode-find-enclosing-fn node)) - sib) - (when (setq sib (js2-node-find-child-before (point) parent)) - (goto-char (js2-node-abs-pos sib))))) - -(defun js2-beginning-of-defun () - "Go to line on which current function starts, and return non-nil. -If we're not in a function, go to beginning of previous script-level element." - (interactive) - (let ((parent (js2-node-parent-script-or-fn (js2-node-at-point))) - pos sib) - (cond - ((and (js2-function-node-p parent) - (not (eq (point) (setq pos (js2-node-abs-pos parent))))) - (goto-char pos)) - (t - (js2-mode-backward-sibling))))) - -(defun js2-end-of-defun () - "Go to the char after the last position of the current function. -If we're not in a function, skips over the next script-level element." - (interactive) - (let ((parent (js2-node-parent-script-or-fn (js2-node-at-point)))) - (if (not (js2-function-node-p parent)) - ;; punt: skip over next script-level element beyond point - (js2-mode-forward-sibling) - (goto-char (+ 1 (+ (js2-node-abs-pos parent) - (js2-node-len parent))))))) - -(defun js2-mark-defun (&optional allow-extend) - "Put mark at end of this function, point at beginning. -The function marked is the one that contains point. - -Interactively, if this command is repeated, -or (in Transient Mark mode) if the mark is active, -it marks the next defun after the ones already marked." - (interactive "p") - (let (extended) - (when (and allow-extend - (or (and (eq last-command this-command) (mark t)) - (and transient-mark-mode mark-active))) - (let ((sib (save-excursion - (goto-char (mark)) - (if (js2-mode-forward-sibling) - (point)))) - node) - (if sib - (progn - (set-mark sib) - (setq extended t)) - ;; no more siblings - try extending to enclosing node - (goto-char (mark t))))) - (when (not extended) - (let ((node (js2-node-at-point (point) t)) ; skip comments - ast fn stmt parent beg end) - (when (js2-ast-root-p node) - (setq ast node - node (or (js2-node-find-child-after (point) node) - (js2-node-find-child-before (point) node)))) - ;; only mark whole buffer if we can't find any children - (if (null node) - (setq node ast)) - (if (js2-function-node-p node) - (setq parent node) - (setq fn (js2-mode-find-enclosing-fn node) - stmt (if (or (null fn) - (js2-ast-root-p fn)) - (js2-mode-find-first-stmt node)) - parent (or stmt fn))) - (setq beg (js2-node-abs-pos parent) - end (+ beg (js2-node-len parent))) - (push-mark beg) - (goto-char end) - (exchange-point-and-mark))))) - -(defun js2-narrow-to-defun () - "Narrow to the function enclosing point." - (interactive) - (let* ((node (js2-node-at-point (point) t)) ; skip comments - (fn (if (js2-script-node-p node) - node - (js2-mode-find-enclosing-fn node))) - (beg (js2-node-abs-pos fn))) - (unless (js2-ast-root-p fn) - (narrow-to-region beg (+ beg (js2-node-len fn)))))) - -(defalias 'js2r 'js2-mode-reset) - -(provide 'js2-mode) - -;;; js2-mode.el ends here - - -;;; js2.el ends here diff --git a/elpa-to-submit/nxhtml/related/moz.el b/elpa-to-submit/nxhtml/related/moz.el index e31e6beb7d..e910286a77 100644 --- a/elpa-to-submit/nxhtml/related/moz.el +++ b/elpa-to-submit/nxhtml/related/moz.el @@ -1,5 +1,7 @@ ;;; moz.el --- Lets current buffer interact with inferior mozilla. +;; URL: http://github.com/bard/mozrepl/raw/master/chrome/content/moz.el + ;; Copyright (C) 2006 by Massimiliano Mirra ;; ;; This program is free software; you can redistribute it and/or modify @@ -17,13 +19,15 @@ ;; Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ;; ;; Author: Massimiliano Mirra, +;; Contributors: +;; - Lennart Borgman ;;; Commentary: ;; ;; This file implements communication with Firefox via MozRepl -;; (http://hyperstruct.net/projects/mozlab). It is a slightly +;; (http://hyperstruct.net/projects/mozrepl). It is a slightly ;; modified version of the file moz.el that comes with MozLab. To use -;; it you have to install the MozLab addon in Firefox. +;; it you have to install the MozRepl addon in Firefox. ;; ;; This file contains ;; @@ -71,6 +75,7 @@ ;;; Code: (require 'comint) +(require 'cc-cmds) ;; Maybe fix-me: C-c control-char are reserved for major modes. But ;; this minor mode is used in only one major mode (or one family of @@ -115,6 +120,8 @@ The following keys are bound in this minor mode: (defvar moz-repl-port 4242) +(defvar moz-temporary-file nil) + (defun moz-temporary-file () (if (and moz-temporary-file (file-readable-p moz-temporary-file)) @@ -156,7 +163,7 @@ Curent function is the one recognized by c-mark-function." Also switch to the interaction buffer." (interactive) (moz-send-defun) - (inferior-moz-switch-to-mozilla)) + (inferior-moz-switch-to-mozilla nil)) (defun moz-save-buffer-and-send () "Save the current buffer and load it in Firefox via MozRepl." @@ -183,25 +190,25 @@ Also switch to the interaction buffer." (defvar inferior-moz-mode-map (let ((map (make-sparse-keymap))) ;; Note: changed from C-c c which is reserved for users. - (define-key map "\C-c." 'inferior-moz-insert-moz-repl) + (define-key map "\C-c\C-c" 'inferior-moz-insert-moz-repl) map)) ;;;###autoload (define-derived-mode inferior-moz-mode comint-mode "Inf-MozRepl" "Major mode for interacting with Firefox via MozRepl." (setq comint-input-sender 'inferior-moz-input-sender) - ;;(define-key inferior-moz-mode-map "\C-cc" (lambda () (interactive) (insert moz-repl-name "."))) (add-hook 'comint-output-filter-functions 'inferior-moz-track-repl-name nil t)) (defun inferior-moz-track-repl-name (comint-output) - (when (string-match "\\(\\w+\\)> $" comint-output) - (setq moz-repl-name (match-string 1 comint-output)))) + (save-match-data + (when (string-match "\\(\\w+\\)> $" comint-output) + (setq moz-repl-name (match-string 1 comint-output))))) (defun inferior-moz-self-insert-or-repl-name () (interactive) (if (looking-back "\\(\\w+\\)> $") (insert moz-repl-name ".") - (insert last-command-char))) + (insert last-command-event))) (defun inferior-moz-input-sender (proc string) "Custom function to send input with comint-send-input. @@ -233,6 +240,8 @@ See also `inferior-moz-start-process'." (inferior-moz-start-process) (inferior-moz-process)))) +(defvar mozrepl-home-page "http://hyperstruct.net/projects/mozrepl") + (defun inferior-moz-start-process () "Start an inferior Mozrepl process and connect to Firefox. It runs the hook `inferior-moz-hook' after starting the process @@ -249,29 +258,29 @@ Note that you have to start the MozRepl server from Firefox." (inferior-moz-mode) (run-hooks 'inferior-moz-hook))) (file-error - (with-output-to-temp-buffer "*MozRepl Error*" - (with-current-buffer (get-buffer "*MozRepl Error*") - (insert "Can't start MozRepl, the error message was:\n" + (with-output-to-temp-buffer (help-buffer) + (help-setup-xref (list #'describe-function 'inferior-moz-start-process) (interactive-p)) + (with-current-buffer (help-buffer) + (insert "Can't start MozRepl, the error message was:\n\n " (error-message-string err) "\n" - "\n A possible reason is that you have not installed" - "\n the MozLab add-on to Firefox or that you have not" - "\n started it. You start it from the menus in Firefox:" + "\nA possible reason is that you have not installed" + "\nthe MozRepl add-on to Firefox or that you have not" + "\nstarted it. You start it from the menus in Firefox:" "\n\n Tools / MozRepl / Start" "\n" - "\n See ") + "\nSee ") (insert-text-button - "MozLab home page" + "MozRepl home page" 'action (lambda (button) - (browse-url - "http://hyperstruct.net/projects/mozlab") - ) + (browse-url mozrepl-home-page)) + 'help-echo mozrepl-home-page 'face 'button) (insert " for more information." "\n" - "\n MozLab is also available directly from Firefox add-on" - "\n pages, but is updated less frequently there.") + "\nMozRepl is also available directly from Firefox add-on" + "\npages, but is updated less frequently there.") )) (error "Can't start MozRepl")))) diff --git a/elpa-to-submit/nxhtml/related/mozadd.el b/elpa-to-submit/nxhtml/related/mozadd.el new file mode 100644 index 0000000000..afdb134ce6 --- /dev/null +++ b/elpa-to-submit/nxhtml/related/mozadd.el @@ -0,0 +1,364 @@ +;;; mozadd.el --- Additional functionality for MozRepl +;; +;; Author: Lennart Borgman (lennart O borgman A gmail O com) +;; Created: 2009-07-22 Wed +(defconst mozadd:version "0.2") ;; Version: +;; Last-Updated: 2009-08-04 Tue +;; URL: +;; Keywords: +;; Compatibility: +;; +;; Features that might be required by this library: +;; + ;; `cc-cmds', `cc-defs', `cc-engine', `cc-vars', `comint', `json', + ;; `moz', `regexp-opt', `ring'. +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Commentary: +;; +;; Live tracking of editing changes, see +;; `mozadd-mirror-mode' +;; `mozadd-refresh-edited-on-save-mode' +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Change log: +;; +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; This program 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. +;; +;; This program 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 program; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth +;; Floor, Boston, MA 02110-1301, USA. +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Code: + +(require 'moz) +(require 'json) + +(defun mozadd-warning (format-string &rest args) + (let ((str (apply 'format format-string args))) + (message "%s" (propertize str 'face 'secondary-selection)))) + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Refresh Firefox after save etc + +;; Partly after an idea on EmacsWiki + +(defconst mozadd-edited-buffer nil) + +;;;###autoload +(define-minor-mode mozadd-refresh-edited-on-save-mode + "Refresh mozadd edited file in Firefox when saving file. +The mozadd edited file is the file in the last buffer visited in +`mozadd-mirror-mode'. + +You can use this for example when you edit CSS files. + +The mozadd edited file must be shown in Firefox and visible." + :lighter "MozRefresh" + (if mozadd-refresh-edited-on-save-mode + (add-hook 'after-save-hook 'mozadd-queue-reload-mozilla-edited-file nil t) + (remove-hook 'after-save-hook 'mozadd-queue-reload-mozilla-edited-file t))) +(put 'mozadd-refresh-edited-on-save-mode 'permanent-local t) + +;;;###autoload +(define-globalized-minor-mode global-mozadd-refresh-edited-on-save-mode + mozadd-refresh-edited-on-save-mode + (lambda () + (when (or (derived-mode-p 'css-mode) + (mozadd-html-buffer-file-p)) + (mozadd-refresh-edited-on-save-mode 1)))) + +(defun mozadd-queue-reload-mozilla-edited-file () + "Reload edited file." + (when (buffer-live-p mozadd-edited-buffer) + (if (buffer-modified-p mozadd-edited-buffer) + (mozadd-warning "Mozadd: Edited buffer %s is not saved, can't reload browser." + (buffer-name mozadd-edited-buffer)) + (mozadd-add-queue-get-mirror-location) + (mozadd-add-task-1 'mozadd-send-refresh-edited-to-mozilla)))) + +(defun mozadd-send-refresh-edited-to-mozilla () + "Update the remote mozrepl instance" + (with-current-buffer mozadd-edited-buffer + (if (not (mozadd-edited-file-is-shown)) + (mozadd-warning "Mozadd: Edited buffer %s is not shown, can't reload browser." + (buffer-name mozadd-edited-buffer)) + (comint-send-string (inferior-moz-process) + "setTimeout(BrowserReload(), \"1000\");"))) + (mozadd-exec-next)) + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; Mirror html buffer in Firefox + +;; Partly after an idea on +;; http://people.internetconnection.net/2009/02/interactive-html-development-in-emacs/ + +;; Fun, it kind of works, but is perhaps totally useless .... - slow +;; and maybe scrolling... - but the file I am testing with have 3000 +;; lines... + +;; Fix-me: How do you get the currently shown page in Firefox? + +(defun mozadd-perhaps-start () + "Start if MozRepl if not running. Return message if not ok." + (unless (buffer-live-p inferior-moz-buffer) + (condition-case err + (progn + (inferior-moz-start-process) + nil) + (error (error-message-string err))))) + +(defvar mozadd-mirror-location nil) +(make-variable-buffer-local 'mozadd-mirror-location) +(put 'mozadd-mirror-location 'permanent-local t) + +(defvar mozadd-initial-mirror-location nil) +(make-variable-buffer-local 'mozadd-initial-mirror-location) +(put 'mozadd-initial-mirror-location 'permanent-local t) + +;;(mozadd-get-comint-string-part "\"hi\" there") +(defun mozadd-get-comint-string-part (comint-output) + (save-match-data + (if (string-match "^\".*?\"" comint-output) + (match-string 0 comint-output) + comint-output))) + +(defun mozadd-get-initial-mirror-location (comint-output) + ;;(message "mozadd-get-initial-mirror-location %S" comint-output) + (with-current-buffer mozadd-edited-buffer + (setq mozadd-initial-mirror-location (mozadd-get-comint-string-part comint-output))) + (mozadd-exec-next) + comint-output) + +(defun mozadd-get-mirror-location (comint-output) + ;;(message "mozadd-get-mirror-location %S" comint-output) + (with-current-buffer mozadd-edited-buffer + (setq mozadd-mirror-location (mozadd-get-comint-string-part comint-output))) + (mozadd-exec-next) + comint-output) + +(defun mozadd-add-queue-get-mirror-location () + (mozadd-add-task "content.location.href" 'mozadd-get-mirror-location)) + +(defun mozadd-skip-output-until-prompt (comint-output) + ;;(message "mozadd-skip-output-until-prompt %S" comint-output) + (if (not (string-match-p "\\(\\w+\\)> $" comint-output)) + "" + ;;(message "done recieve %s" (current-time-string)) + (mozadd-exec-next) + comint-output + "" + )) + +(defun mozadd-queue-send-buffer-content-to-mozilla (buffer) + (mozadd-add-queue-get-mirror-location) + (setq mozadd-edited-buffer buffer) + (mozadd-add-task-1 'mozadd-send-buffer-content-to-mozilla)) + +(defun mozadd-edited-file-is-shown () + (with-current-buffer mozadd-edited-buffer + (string= mozadd-mirror-location mozadd-initial-mirror-location))) + +(defvar mozadd-xml-path-outline-style "2px solid red") +(defun mozadd-send-buffer-content-to-mozilla () + "Update the remote mozrepl instance" + (with-current-buffer mozadd-edited-buffer + (if (mozadd-edited-file-is-shown) + (mozadd-requeue-me-as-task + (concat "content.document.body.innerHTML=" + (json-encode + (save-restriction + (widen) + (let ((where-points nil) + (str "") + (p1 (point-min)) + p2) + ;; If nxml-where-mode is on add corresponding outline style. + (when (and (boundp 'nxml-where-mode) nxml-where-mode) + (mapc (lambda (ovl) + (when (overlay-get ovl 'nxml-where) + (when (/= ?/ (1+ (char-after (overlay-start ovl)))) + (push (1- (overlay-end ovl)) where-points)))) + (overlays-in (point-min) (point-max))) + (setq where-points (sort where-points '<))) + (dolist (p2 where-points) + (setq str (concat str + (buffer-substring-no-properties p1 + p2))) + (setq str (concat str + " style=\"outline: " + mozadd-xml-path-outline-style + "\"")) + (setq p1 p2) + ) + (setq str (concat str + (buffer-substring-no-properties p1 + (point-max)))) + str)) + ) + ";") + 'mozadd-skip-output-until-prompt) + (mozadd-skip-current-task)) + ;; Timer to avoid looping + (run-with-idle-timer 0 nil 'mozadd-maybe-exec-next) + )) + +(defconst mozadd-current-task nil) +(defconst mozadd-task-queue nil) +;;(mozadd-add-task "content.location.href" 'mozadd-get-initial-mirror-location) +;;(mozadd-add-task "hi" 1) +;;(mozadd-add-task "hm" 2) +(defun mozadd-clear-exec-queue () + (setq mozadd-current-task nil) + (setq mozadd-task-queue nil) + (when (buffer-live-p inferior-moz-buffer) + (with-current-buffer inferior-moz-buffer + (dolist (fun (buffer-local-value 'comint-preoutput-filter-functions (current-buffer))) + (remove-hook 'comint-preoutput-filter-functions fun t))))) + +(defun mozadd-add-task (input task) + (mozadd-add-task-1 (list input task))) + +(defun mozadd-add-task-1 (task) + (setq mozadd-task-queue (cons task mozadd-task-queue)) + (setq mozadd-task-queue (reverse mozadd-task-queue)) + ;;(message "add-task: mozadd-task-queue=%S, current=%s" mozadd-task-queue mozadd-current-task) + (mozadd-maybe-exec-next)) + +(defun mozadd-maybe-exec-next () + ;;(message "mozadd-maybe-exec-next, current=%s" mozadd-current-task) + (unless mozadd-current-task + (mozadd-exec-next))) + +(defun mozadd-exec-next () + (when mozadd-current-task + (let* ((old-task mozadd-current-task) ;;(pop mozadd-task-queue)) + (old-filter (when (listp old-task) (nth 1 old-task)))) + (when (and old-filter (buffer-live-p inferior-moz-buffer)) + (with-current-buffer inferior-moz-buffer + (remove-hook 'comint-preoutput-filter-functions old-filter t))))) + (setq mozadd-current-task nil) + (when mozadd-task-queue + (let* ((this (pop mozadd-task-queue)) + (input (when (listp this) (nth 0 this))) + (task (when (listp this) (nth 1 this))) + ) + (setq mozadd-current-task this) + ;;(message "EXEC: %s" this) + (if (not (listp this)) + (funcall this) + (when (buffer-live-p inferior-moz-buffer) + (with-current-buffer inferior-moz-buffer + (add-hook 'comint-preoutput-filter-functions task nil t))) + (comint-send-string (inferior-moz-process) input))))) + +(defun mozadd-skip-current-task () + ;;(message "mozadd-skip-current-task") + ;;(pop mozadd-task-queue) + (setq mozadd-current-task nil)) + +(defun mozadd-requeue-me-as-task (input task) + (mozadd-skip-current-task) + ;;(message "mozadd-requeue-me-as-task %S %S" input task) + (setq mozadd-task-queue (cons (list input task) mozadd-task-queue))) + +(defcustom mozadd-browseable-file-extensions + '("html" "htm" "xhtml") + "File extensions possibly viewable in a web browser." + :type '(repeat (string :tag "File extension (without leading dot)")) + :group 'mozadd) + +(defun mozadd-html-buffer-file-p () + "Return non-nil if buffer file is viewable in a web browser." + (when (buffer-file-name) + (member (file-name-extension (buffer-file-name)) + mozadd-browseable-file-extensions))) + +;;;###autoload +(define-minor-mode mozadd-mirror-mode + "Mirror content of current file buffer immediately in Firefox. +When you turn on this mode the file will be opened in Firefox. +Every change you make in the buffer will trigger a redraw in +Firefox - regardless of if you save the file or not. + +For the mirroring to work the edited file must be shown in +Firefox and visible. + +If `nxml-where-mode' is on the marks will also be shown in +Firefox as CSS outline style. You can customize the style +through the option `mozadd-xml-path-outline-style'. + +See also `mozadd-refresh-edited-on-save-mode'." + nil + :lighter " MozMirror" + :group 'mozadd + (if mozadd-mirror-mode + (unless (catch 'ok + (unless (mozadd-html-buffer-file-p) + (mozadd-warning "You can only mirror html file buffers") + (throw 'ok nil)) + (when (buffer-modified-p) + (mozadd-warning "Please save buffer first") + (throw 'ok nil)) + (let ((msg (mozadd-perhaps-start))) + (when msg + (mozadd-warning msg) + (throw 'ok nil))) + (mozadd-clear-exec-queue) + (setq mozadd-edited-buffer (current-buffer)) + (mozadd-add-task (concat "content.location.href = " + "\"file:///" (buffer-file-name) "\";") + 'mozadd-get-initial-mirror-location) + (add-hook 'after-change-functions 'mozadd-update-mozilla t t) + (add-hook 'nxhtml-where-hook 'mozadd-update-mozilla t t) + (add-hook 'post-command-hook 'mozadd-edited-buffer-post-command) + t) + (setq mozadd-mirror-mode nil)) + (setq mozadd-edited-buffer nil) + (remove-hook 'post-command-hook 'mozadd-edited-buffer-post-command) + (remove-hook 'nxhtml-where-hook 'mozadd-update-mozilla t) + (remove-hook 'after-change-functions 'mozadd-update-mozilla t))) +(put 'mozadd-mirror-mode 'permanent-local t) + +;;;###autoload +(define-globalized-minor-mode global-mozadd-mirror-mode mozadd-mirror-mode + (lambda () + (when (mozadd-html-buffer-file-p) + (mozadd-mirror-mode 1)))) + +(defun mozadd-edited-buffer-post-command () + "Check if we are in a new edited buffer." + (when mozadd-mirror-mode + (setq mozadd-edited-buffer (current-buffer)))) + + +(defvar mozadd-buffer-content-to-mozilla-timer nil) + +(defun mozadd-update-mozilla (&rest ignored) + (when (timerp mozadd-buffer-content-to-mozilla-timer) + (cancel-timer mozadd-buffer-content-to-mozilla-timer)) + (setq mozadd-buffer-content-to-mozilla-timer + (run-with-idle-timer 1 nil 'mozadd-queue-send-buffer-content-to-mozilla (current-buffer)))) +(put 'mozadd-update-mozilla 'permanent-local-hook t) + + +(provide 'mozadd) +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; mozadd.el ends here diff --git a/elpa-to-submit/nxhtml/related/php-imenu.el b/elpa-to-submit/nxhtml/related/php-imenu.el index 1255ef8136..560bac032a 100644 --- a/elpa-to-submit/nxhtml/related/php-imenu.el +++ b/elpa-to-submit/nxhtml/related/php-imenu.el @@ -33,7 +33,7 @@ ;;;--------------cut here------------------------------------------- ; ;; Load the php-imenu index function ; (autoload 'php-imenu-create-index "php-imenu" nil t) -; ;; Add the index creation function to the php-mode-hook +; ;; Add the index creation function to the php-mode-hook ; (add-hook 'php-mode-user-hook 'php-imenu-setup) ; (defun php-imenu-setup () ; (setq imenu-create-index-function (function php-imenu-create-index)) @@ -57,6 +57,7 @@ ;;; ;;; Code: +(eval-when-compile (require 'cl)) (require 'imenu) (require 'thingatpt) @@ -78,13 +79,13 @@ "\\([a-zA-Z0-9_[:space:]\n]*\\)" ; extends / implements clauses "[{]") (lambda () - (message "%S %S" - (match-string-no-properties 3) - (match-string-no-properties 1)) - (concat (match-string-no-properties 3) - " - " + (message "%S %S" + (match-string-no-properties 3) + (match-string-no-properties 1)) + (concat (match-string-no-properties 3) + " - " (match-string-no-properties 1))) - (lambda () + (lambda () (save-excursion (backward-up-list 1) (forward-sexp) @@ -121,26 +122,26 @@ result))) (defun php-imenu-create-index-helper (min max name) - (let ((combined-pattern - (concat "\\(" + (let ((combined-pattern + (concat "\\(" (mapconcat - (function (lambda (pat) (first pat))) - php-imenu-patterns "\\)\\|\\(") + (function (lambda (pat) (first pat))) + php-imenu-patterns "\\)\\|\\(") "\\)")) (index-alist '())) (goto-char min) - (save-match-data + (save-match-data (while (re-search-forward combined-pattern max t) (let ((pos (set-marker (make-marker) (match-beginning 0))) (min (match-end 0)) - (pat (save-excursion + (pat (save-excursion (goto-char (match-beginning 0)) - (find-if (function + (find-if (function (lambda (pat) (looking-at (first pat)))) php-imenu-patterns)))) (when (not pat) (message "php-imenu: How can no pattern get us here! %S" pos)) - (when (and pat + (when (and pat (not (php-imenu-in-string-p)) ) (let* ((name (funcall (second pat))) @@ -165,7 +166,7 @@ (save-match-data (or (in-string-p) (let ((pt (point))) - (save-excursion + (save-excursion (and (re-search-backward "<<<\\([A-Za-z0-9_]+\\)$" nil t) (not (re-search-forward (concat "^" (match-string-no-properties 1) diff --git a/elpa-to-submit/nxhtml/related/php-mode.el b/elpa-to-submit/nxhtml/related/php-mode.el index ce94946a9a..61e76ed861 100644 --- a/elpa-to-submit/nxhtml/related/php-mode.el +++ b/elpa-to-submit/nxhtml/related/php-mode.el @@ -10,7 +10,7 @@ ;; Modified: 2008-11-28 Fri ;; X-URL: http://php-mode.sourceforge.net/ -(defconst php-mode-version-number "1.5.0-nxhtml" +(defconst php-mode-version-number "1.5.0-nxhtml-1.88" "PHP Mode version number.") ;;; License @@ -70,6 +70,19 @@ ;;; Changelog: +;; 1.5.0-nxhtml-1.88 (Lennart Borgman) +;; Don't indent heredoc end mark +;; 1.5.0-nxhtml-1.61 (Lennart Borgman) +;; Added php-mode-to-use. +;; Made underscore be part of identifiers. +;; Remove php-mode-to. +;; Make the indentation check only on current line. +;; Warn only once per session about indentation. +;; Tell if can't complete in `php-complete-function'. +;; Move back point after checking indentation in +;; `php-check-html-for-indentation'. +;; Add `c-at-vsemi-p-fn' etc after advice from Alan Mackenzie. +;; ;; 1.5 ;; Support function keywords like public, private and the ampersand ;; character for function-based commands. Support abstract, final, @@ -84,29 +97,6 @@ ;; consistency of code. Remove conditional bindings and XEmacs code ;; that likely does nothing. ;; -;; 1.4.1d-nxhtml -;; Move back point after checking indentation in -;; `php-check-html-for-indentation'. -;; -;; 1.4.1c-nxhtml -;; Add `c-at-vsemi-p-fn' etc after advice from Alan Mackenzi. -;; -;; 1.4.1b-nxhtml -;; Remove php-mode-to. -;; Make the indentation check only on current line. -;; Warn only once per session about indentation. -;; Tell if can't complete in `php-complete-function'. -;; -;; 1.4.1a-nxhtml -;; Made underscore be part of identifiers. -;; -;; 1.4.1-nxhtml -;; Added php-mode-to-use. - -;; 1.4.1 -;; Modified `php-check-html-for-indentation' to check for multiple -;; mode support libraries. (Lennart Borgman) -;; ;; 1.4 ;; Updated GNU GPL to version 3. Ported to Emacs 22 (CC mode ;; 5.31). M-x php-mode-version shows version. Provide end-of-defun @@ -124,6 +114,7 @@ ;;; Code: +(require 'add-log) (require 'speedbar) (require 'font-lock) (require 'cc-mode) @@ -356,7 +347,15 @@ example `html-mode'. Known such libraries are:\n\t" (defun php-cautious-indent-line () (if (or php-warned-bad-indent (php-check-html-for-indentation)) - (funcall 'c-indent-line))) + (let ((here (point)) + doit) + (move-beginning-of-line nil) + ;; Don't indent heredoc end mark + (save-match-data + (unless (looking-at "[a-zA-Z0-9]+;\n") + (setq doit t))) + (when doit + (funcall 'c-indent-line))))) (defconst php-tags '("" "" "=")) (defconst php-tags-key (regexp-opt php-tags)) diff --git a/elpa-to-submit/nxhtml/related/smarty-mode.el b/elpa-to-submit/nxhtml/related/smarty-mode.el index 5324932cc0..44ab205335 100644 --- a/elpa-to-submit/nxhtml/related/smarty-mode.el +++ b/elpa-to-submit/nxhtml/related/smarty-mode.el @@ -1,9 +1,9 @@ ;;; smarty-mode.el --- major mode for editing Smarty templates ;; Author: Vincent DEBOUT -;; Maintainer: Vincent DEBOUT -;; Keywords: languages smarty templates -;; WWW: http://deboutv.free.fr/lisp/smarty/ +;; Maintainer: Vincent DEBOUT +;; Keywords: languages smarty templates +;; WWW: http://deboutv.free.fr/lisp/smarty/ ;;; License @@ -21,107 +21,25 @@ ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - -;;; Commentary: - -;; 2.3 Installation -;; ================ -;; -;; 2.3.1 Installation -;; ------------------ -;; -;; To install Smarty Mode you need to choose an installation directory -;; (for example `/usr/local/share/lisp' or `c:\lisp'). The administrator -;; must have the write rights on this directory. -;; -;; With your favorite unzip software, unzip the archive in the -;; installation directory. -;; -;; Example: -;; cd /usr/local/share/lisp -;; tar zxvf smarty-0.0.4.tar.gz -;; Now you have a `smarty' directory in the installation directory. This -;; directory contains 2 files `smarty-mode.el' and `smarty-mode.elc' and -;; another directory `docs' containing the documentation. -;; -;; You need to configure XEmacs. open you initialization file `init.el' -;; (open the file or start XEmacs then choose the Options menu and Edit -;; Init File). Add the following lines (the installation directory in -;; this example is `/usr/local/share/lisp') : -;; -;; (setq load-path -;; (append (list \"/usr/local/share/lisp/\") load-path)) -;; (autoload 'smarty-mode \"smarty-mode\" \"Smarty Mode\" t) -;; -;; 2.3.2 Update -;; ------------ -;; -;; The update is easy. You need to unzip the archive in the installation -;; directory to remove the old release. -;; -;; Example: -;; cd /usr/local/share/lisp -;; rm -rf smarty -;; tar zxvf smarty-0.0.4.tar.gz -;; -;; 2.4 Invoke Smarty-Mode -;; ====================== -;; -;; You have two possibilities to invoke the Smarty Mode. -;; -;; - Manually: At each file opening you need to launch Smarty Mode -;; with the following command: -;; -;; `M-x smarty-mode' -;; -;; - Automatically: Add the following linesin your initialization -;; file `init.el' : -;; -;; (setq auto-mode-alist -;; (append -;; '((\"\\.tpl$\" . smarty-mode)) -;; auto-mode-alist)) - - -;;; History - -;; $Log: smarty-mode.el,v $ - -;; Beta version 2008/01/16 Lennart Borgman -;; - Changed to work with Viper -;; - Changed to allow (expand-abbrev) to be called anywhere. -;; - Moved the installation instructions to the beginning of the file. -;; - Checked before insertion of { if it it feasable. -;; - Initialized smarty-template-map the standard way - -;; Revision 1.6 2006/12/16 19:54:26 vincent -;; Update release version -;; -;; Revision 1.5 2006/12/16 19:53:00 vincent -;; Fix bug #15 -;; -;; Revision 1.4 2006/12/16 14:59:46 vincent -;; Fix bugs for release -;; -;; Revision 1.3 2006/11/19 12:29:53 vincent -;; Fix highlight bug, add templates -;; -;; Revision 1.2 2006/11/12 11:44:18 vincent -;; First release commit -;; - -(defconst smarty-version "0.0.4" +(defconst smarty-version "0.0.5" "Smarty Mode version number.") -(defconst smarty-time-stamp "2006-12-16" +(defconst smarty-time-stamp "2007-11-01" "Smarty Mode time stamp for last update.") +(defconst smarty-is-xemacs (string-match "XEmacs" emacs-version) + "Non-nil if XEmacs is used.") + (require 'font-lock) -(require 'cc-mode) -(require 'custom) -(require 'etags) +(when (not smarty-is-xemacs) + (require 'cc-mode) + (require 'custom) + (require 'etags)) (eval-when-compile -(require 'regexp-opt)) + (require 'regexp-opt)) +(when smarty-is-xemacs + (require 'easymenu) + (require 'hippie-exp)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Customization @@ -311,25 +229,25 @@ Otherwise, case is ignored." elements > `smarty-menu-max-size'." (if (> (length list) smarty-menu-max-size) (let ((remain list) - (result '()) - (sublist '()) - (menuno 1) - (i 0)) - (while remain - (setq sublist (cons (car remain) sublist)) - (setq remain (cdr remain)) - (setq i (+ i 1)) - (if (= i smarty-menu-max-size) - (progn - (setq result (cons (cons (format "%s %s" title menuno) - (nreverse sublist)) result)) - (setq i 0) - (setq menuno (+ menuno 1)) - (setq sublist '())))) - (and sublist - (setq result (cons (cons (format "%s %s" title menuno) - (nreverse sublist)) result))) - (nreverse result)) + (result '()) + (sublist '()) + (menuno 1) + (i 0)) + (while remain + (setq sublist (cons (car remain) sublist)) + (setq remain (cdr remain)) + (setq i (+ i 1)) + (if (= i smarty-menu-max-size) + (progn + (setq result (cons (cons (format "%s %s" title menuno) + (nreverse sublist)) result)) + (setq i 0) + (setq menuno (+ menuno 1)) + (setq sublist '())))) + (and sublist + (setq result (cons (cons (format "%s %s" title menuno) + (nreverse sublist)) result))) + (nreverse result)) list)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -345,15 +263,15 @@ The directory of the current source file is scanned." (interactive) (message "Scanning directory for source files ...") (let ((newmap (current-local-map)) - (file-list (smarty-get-source-files)) - menu-list found) + (file-list (smarty-get-source-files)) + menu-list found) ;; Create list for menu (setq found nil) (while file-list (setq found t) (setq menu-list (cons (vector (car file-list) - (list 'find-file (car file-list)) t) - menu-list)) + (list 'find-file (car file-list)) t) + menu-list)) (setq file-list (cdr file-list))) (setq menu-list (smarty-menu-split menu-list "Sources")) (when found (setq menu-list (cons "--" menu-list))) @@ -362,7 +280,7 @@ The directory of the current source file is scanned." ;; Create menu (easy-menu-add menu-list) (easy-menu-define smarty-sources-menu newmap - "Smarty source files menu" menu-list)) + "Smarty source files menu" menu-list)) (message "")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -433,6 +351,12 @@ The directory of the current source file is scanned." ["upper" smarty-template-upper t] ["wordwrap" smarty-template-wordwrap t]) ("Plugins (Functions)" + ("BlockRepeatPlugin" + ["repeat" smarty-template-repeat t] + ["str_repeat" smarty-template-str-repeat t]) + ("ClipCache" + ["clipcache" smarty-template-clipcache t] + ["include_clipcache" smarty-template-include-clipcache t]) ("SmartyFormtool" ["formtool_checkall" smarty-template-formtool-checkall t] ["formtool_copy" smarty-template-formtool-copy t] @@ -468,7 +392,7 @@ The directory of the current source file is scanned." ["Insert Date" smarty-template-insert-date t] ["Modify Date" smarty-template-modify t]) "--" - ["Show Messages" smarty-show-messages] + ["Show Messages" smarty-show-messages :keys "C-c M-m"] ["Smarty Mode Documentation" smarty-doc-mode :keys "C-c C-h"] ["Version" smarty-version :keys "C-c C-v"] "--" @@ -476,48 +400,48 @@ The directory of the current source file is scanned." ("Mode" ["Electric Mode" (progn (customize-set-variable 'smarty-electric-mode - (not smarty-electric-mode)) - (smarty-mode-line-update)) + (not smarty-electric-mode)) + (smarty-mode-line-update)) :style toggle :selected smarty-electric-mode :keys "C-c C-m C-e"] ["Stutter Mode" (progn (customize-set-variable 'smarty-stutter-mode - (not smarty-stutter-mode)) - (smarty-mode-line-update)) + (not smarty-stutter-mode)) + (smarty-mode-line-update)) :style toggle :selected smarty-stutter-mode :keys "C-c C-m C-s"] "--" ["Customize Group..." (customize-group 'smarty-mode) t]) ("Menu" ["Source Menu" (customize-set-variable 'smarty-source-file-menu - (not smarty-source-file-menu)) + (not smarty-source-file-menu)) :style toggle :selected smarty-source-file-menu] "--" ["Customize Group..." (customize-group 'smarty-menu) t]) ("Highlight" ["Highlight plugin functions" (progn (customize-set-variable 'smarty-highlight-plugin-functions - (not smarty-highlight-plugin-functions))) + (not smarty-highlight-plugin-functions))) :style toggle :selected smarty-highlight-plugin-functions] "--" ["Customize Group..." (customize-group 'smarty-highlight) t]) ("Template" ("Header" ["Header template..." - (customize-option 'smarty-file-header) t] + (customize-option 'smarty-file-header) t] ["Footer template..." - (customize-option 'smarty-file-footer) t] + (customize-option 'smarty-file-footer) t] ["Company..." - (customize-option 'smarty-company-name) t] + (customize-option 'smarty-company-name) t] ["Copyright..." - (customize-option 'smarty-copyright-string) t] + (customize-option 'smarty-copyright-string) t] ["Date format..." - (customize-option 'smarty-date-format) t] + (customize-option 'smarty-date-format) t] ["Modify date prefix..." - (customize-option 'smarty-modify-date-prefix-string) t] + (customize-option 'smarty-modify-date-prefix-string) t] ["Modify date on saving" - (customize-set-variable 'smarty-modify-date-on-saving - (not smarty-modify-date-on-saving)) - :style toggle :selected smarty-modify-date-on-saving] + (customize-set-variable 'smarty-modify-date-on-saving + (not smarty-modify-date-on-saving)) + :style toggle :selected smarty-modify-date-on-saving] "--" ["Customize Group..." (customize-group 'smarty-header) t]) "--" @@ -529,17 +453,17 @@ The directory of the current source file is scanned." (customize-option 'smarty-right-delimiter) t] ["Use Intelligent Tab" (progn (customize-set-variable 'smarty-intelligent-tab - (not smarty-intelligent-tab)) - (smarty-activate-customizations)) + (not smarty-intelligent-tab)) + (smarty-activate-customizations)) :style toggle :selected smarty-intelligent-tab] ["Word Completion in Minibuffer" (progn (customize-set-variable 'smarty-word-completion-in-minibuffer - (not smarty-word-completion-in-minibuffer)) - (message "Activate new setting by saving options and restarting Emacs")) + (not smarty-word-completion-in-minibuffer)) + (message "Activate new setting by saving options and restarting Emacs")) :style toggle :selected smarty-word-completion-in-minibuffer] ["Completion is case sensitive" (customize-set-variable 'smarty-word-completion-case-sensitive - (not smarty-word-completion-case-sensitive)) + (not smarty-word-completion-case-sensitive)) :style toggle :selected smarty-word-completion-case-sensitive] "--" ["Customize Group..." (customize-group 'smarty-misc) t]) @@ -561,7 +485,7 @@ The directory of the current source file is scanned." (setq smarty-mode-menu-list (smarty-create-mode-menu)) (easy-menu-add smarty-mode-menu-list) (easy-menu-define smarty-mode-menu smarty-mode-map - "Menu keymap for Smarty Mode." smarty-mode-menu-list)) + "Menu keymap for Smarty Mode." smarty-mode-menu-list)) @@ -575,7 +499,7 @@ The directory of the current source file is scanned." "Regexp for Smarty functions.") (defconst smarty-01-functions - '("capture" "config_load" "foreach" "foreachelse" "include" + '("capture" "config_load" "foreach" "foreachelse" "include" "include_php" "insert" "if" "elseif" "else" "ldelim" "rdelim" "literal" "php" "section" "sectionelse" "strip" "assign" "counter" "cycle" "debug" "eval" "fetch" "html_checkboxes" "html_image" @@ -608,8 +532,9 @@ The directory of the current source file is scanned." "formtool_init" "formtool_move" "formtool_moveall" "formtool_movedown" "formtool_moveup" "formtool_remove" "formtool_rename" "formtool_save" "formtool_selectall" - "paginate_first" "paginate_last" "paginate_middle" - "paginate_next" "paginate_prev") + "paginate_first" "paginate_last" "paginate_middle" + "paginate_next" "paginate_prev" "clipcache" "include_clipcache" + "repeat" "str_repeat") "Smarty plugins functions.") (defvar smarty-plugins-modifiers nil @@ -624,11 +549,11 @@ The directory of the current source file is scanned." (defconst smarty-constants (eval-when-compile - (regexp-opt - '("TRUE" "FALSE" "NULL") t)) + (regexp-opt + '("TRUE" "FALSE" "NULL") t)) "Smarty constants.") - - + + ;; Syntax table creation (defvar smarty-mode-syntax-table nil "Syntax table for smarty-mode.") @@ -640,7 +565,7 @@ The directory of the current source file is scanned." (if smarty-mode-syntax-table () (setq smarty-mode-syntax-table (make-syntax-table)) - + ;; Make | a punctuation character (modify-syntax-entry ?| "." smarty-mode-syntax-table) ;; Make " a punctuation character so highlighing works withing html strings @@ -675,17 +600,17 @@ message." (defun smarty-get-source-files (&optional full directory) "Get list of SMARTY source files in DIRECTORY or current directory." (let ((mode-alist auto-mode-alist) - filename-regexp) + filename-regexp) ;; create regular expressions for matching file names (setq filename-regexp "\\`[^.].*\\(") (while mode-alist (when (eq (cdar mode-alist) 'smarty-mode) - (setq filename-regexp - (concat filename-regexp (caar mode-alist) "\\|"))) + (setq filename-regexp + (concat filename-regexp (caar mode-alist) "\\|"))) (setq mode-alist (cdr mode-alist))) (setq filename-regexp - (concat (substring filename-regexp 0 - (string-match "\\\\|$" filename-regexp)) "\\)")) + (concat (substring filename-regexp 0 + (string-match "\\\\|$" filename-regexp)) "\\)")) ;; find files (smarty-directory-files (or directory default-directory) full filename-regexp))) @@ -707,11 +632,12 @@ message." (defun smarty-warning-when-idle (&rest args) "Wait until idle, then print out warning STRING and beep." - (if noninteractive - (smarty-warning (apply 'format args) t) - (unless smarty-warnings - (smarty-run-when-idle .1 nil 'smarty-print-warnings)) - (setq smarty-warnings (cons (apply 'format args) smarty-warnings)))) + (save-match-data ;; runs in timer + (if noninteractive + (smarty-warning (apply 'format args) t) + (unless smarty-warnings + (smarty-run-when-idle .1 nil 'smarty-print-warnings)) + (setq smarty-warnings (cons (apply 'format args) smarty-warnings))))) (defun smarty-warning (string &optional nobeep) "Print out warning STRING and beep." @@ -751,21 +677,21 @@ Ignore byte-compiler warnings you might see." "Enable case insensitive search and switch to syntax table that includes '_', then execute BODY, and finally restore the old environment. Used for consistent searching." - `(let ((case-fold-search t) ; case insensitive search - (current-syntax-table (syntax-table)) - result - (restore-prog ; program to restore enviroment - '(progn - ;; restore syntax table - (set-syntax-table current-syntax-table)))) + `(let ((case-fold-search t) ; case insensitive search + (current-syntax-table (syntax-table)) + result + (restore-prog ; program to restore enviroment + '(progn + ;; restore syntax table + (set-syntax-table current-syntax-table)))) ;; use extended syntax table (set-syntax-table smarty-mode-ext-syntax-table) ;; execute BODY safely (setq result - (condition-case info - (progn ,@body) - (error (eval restore-prog) ; restore environment on error - (error (cadr info))))) ; pass error up + (condition-case info + (progn ,@body) + (error (eval restore-prog) ; restore environment on error + (error (cadr info))))) ; pass error up ;; restore environment (eval restore-prog) result)) @@ -774,39 +700,39 @@ consistent searching." "Enable case insensitive search, switch to syntax table that includes '_', and remove `intangible' overlays, then execute BODY, and finally restore the old environment. Used for consistent searching." - `(let ((case-fold-search t) ; case insensitive search - (current-syntax-table (syntax-table)) - result overlay-all-list overlay-intangible-list overlay - (restore-prog ; program to restore enviroment - '(progn - ;; restore syntax table - (set-syntax-table current-syntax-table) - ;; restore `intangible' overlays - (when (fboundp 'overlay-lists) - (while overlay-intangible-list - (overlay-put (car overlay-intangible-list) 'intangible t) - (setq overlay-intangible-list - (cdr overlay-intangible-list))))))) + `(let ((case-fold-search t) ; case insensitive search + (current-syntax-table (syntax-table)) + result overlay-all-list overlay-intangible-list overlay + (restore-prog ; program to restore enviroment + '(progn + ;; restore syntax table + (set-syntax-table current-syntax-table) + ;; restore `intangible' overlays + (when (fboundp 'overlay-lists) + (while overlay-intangible-list + (overlay-put (car overlay-intangible-list) 'intangible t) + (setq overlay-intangible-list + (cdr overlay-intangible-list))))))) ;; use extended syntax table (set-syntax-table smarty-mode-ext-syntax-table) ;; remove `intangible' overlays (when (fboundp 'overlay-lists) (setq overlay-all-list (overlay-lists)) (setq overlay-all-list - (append (car overlay-all-list) (cdr overlay-all-list))) + (append (car overlay-all-list) (cdr overlay-all-list))) (while overlay-all-list - (setq overlay (car overlay-all-list)) - (when (memq 'intangible (overlay-properties overlay)) - (setq overlay-intangible-list - (cons overlay overlay-intangible-list)) - (overlay-put overlay 'intangible nil)) - (setq overlay-all-list (cdr overlay-all-list)))) + (setq overlay (car overlay-all-list)) + (when (memq 'intangible (overlay-properties overlay)) + (setq overlay-intangible-list + (cons overlay overlay-intangible-list)) + (overlay-put overlay 'intangible nil)) + (setq overlay-all-list (cdr overlay-all-list)))) ;; execute BODY safely (setq result - (condition-case info - (progn ,@body) - (error (eval restore-prog) ; restore environment on error - (error (cadr info))))) ; pass error up + (condition-case info + (progn ,@body) + (error (eval restore-prog) ; restore environment on error + (error (cadr info))))) ; pass error up ;; restore environment (eval restore-prog) result)) @@ -817,9 +743,9 @@ old environment. Used for consistent searching." (defun smarty-mode-line-update () "Update the modeline string for Smarty major mode." (setq mode-name (concat "Smarty" - (and (or smarty-electric-mode smarty-stutter-mode) "/") - (and smarty-electric-mode "e") - (and smarty-stutter-mode "s"))) + (and (or smarty-electric-mode smarty-stutter-mode) "/") + (and smarty-electric-mode "e") + (and smarty-stutter-mode "s"))) (force-mode-line-update t)) (defun smarty-electric-mode (arg) @@ -827,8 +753,8 @@ old environment. Used for consistent searching." Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." (interactive "P") (setq smarty-electric-mode - (cond ((or (not arg) (zerop arg)) (not smarty-electric-mode)) - ((> arg 0) t) (t nil))) + (cond ((or (not arg) (zerop arg)) (not smarty-electric-mode)) + ((> arg 0) t) (t nil))) (smarty-mode-line-update)) (defun smarty-stutter-mode (arg) @@ -836,8 +762,8 @@ Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." (interactive "P") (setq smarty-stutter-mode - (cond ((or (not arg) (zerop arg)) (not smarty-stutter-mode)) - ((> arg 0) t) (t nil))) + (cond ((or (not arg) (zerop arg)) (not smarty-stutter-mode)) + ((> arg 0) t) (t nil))) (smarty-mode-line-update)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -848,7 +774,7 @@ Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." "Determine if point is in a Smarty literal." (save-excursion (let ((here (point)) - start state) + start state) (beginning-of-line) (setq start (point)) (goto-char here) @@ -864,8 +790,8 @@ Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." (save-excursion (setq found (re-search-backward (regexp-quote (concat smarty-left-delimiter "*")) nil t)) (when found - (setq result (re-search-forward (regexp-quote (concat "*" smarty-right-delimiter)) here t)) - (setq result (not result)))) + (setq result (re-search-forward (regexp-quote (concat "*" smarty-right-delimiter)) here t)) + (setq result (not result)))) result)) (defun smarty-after-ldelim () @@ -877,8 +803,8 @@ Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." (setq ldelim-point (point-marker)) (goto-char here) (if (and (= here ldelim-point) ldelim-found) - t - nil)))) + t + nil)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; Words to expand @@ -901,11 +827,11 @@ Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." (defun smarty-abbrev-list-init () (setq smarty-abbrev-list - (append - (list nil) smarty-functions - (list nil) smarty-modifiers - (list nil) smarty-plugins-functions - (list nil) smarty-plugins-modifiers))) + (append + (list nil) smarty-functions + (list nil) smarty-modifiers + (list nil) smarty-plugins-functions + (list nil) smarty-plugins-modifiers))) (defvar smarty-expand-upper-case nil) @@ -914,30 +840,30 @@ Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." (unless old (he-init-string (he-dabbrev-beg) (point)) (setq he-expand-list - (let ((abbrev-list smarty-abbrev-list) - (sel-abbrev-list '())) - (while abbrev-list - ; (if (stringp (car abbrev-list)) - ; (insert (concat " " (car abbrev-list)))) - (when (or (not (stringp (car abbrev-list))) - (string-match - (concat "^" he-search-string) (car abbrev-list))) - (setq sel-abbrev-list - (cons (car abbrev-list) sel-abbrev-list))) - (setq abbrev-list (cdr abbrev-list))) - (nreverse sel-abbrev-list)))) + (let ((abbrev-list smarty-abbrev-list) + (sel-abbrev-list '())) + (while abbrev-list + ; (if (stringp (car abbrev-list)) + ; (insert (concat " " (car abbrev-list)))) + (when (or (not (stringp (car abbrev-list))) + (string-match + (concat "^" he-search-string) (car abbrev-list))) + (setq sel-abbrev-list + (cons (car abbrev-list) sel-abbrev-list))) + (setq abbrev-list (cdr abbrev-list))) + (nreverse sel-abbrev-list)))) (while (and he-expand-list - (or (not (stringp (car he-expand-list))) - (he-string-member (car he-expand-list) he-tried-table t))) + (or (not (stringp (car he-expand-list))) + (he-string-member (car he-expand-list) he-tried-table t))) (unless (stringp (car he-expand-list)) (setq smarty-expand-upper-case (car he-expand-list))) (setq he-expand-list (cdr he-expand-list))) (if (null he-expand-list) (progn (when old (he-reset-string)) - nil) + nil) (he-substitute-string (if smarty-expand-upper-case - (upcase (car he-expand-list)) + (upcase (car he-expand-list)) (car he-expand-list)) t) (setq he-expand-list (cdr he-expand-list)) @@ -949,15 +875,15 @@ Turn on if ARG positive, turn off if ARG negative, toggle if ARG zero or nil." ;; function for expanding abbrevs and dabbrevs (defun smarty-expand-abbrev (arg)) (fset 'smarty-expand-abbrev (make-hippie-expand-function - '(try-expand-dabbrev - try-expand-dabbrev-all-buffers - smarty-try-expand-abbrev))) + '(try-expand-dabbrev + try-expand-dabbrev-all-buffers + smarty-try-expand-abbrev))) ;; function for expanding parenthesis (defun smarty-expand-paren (arg)) (fset 'smarty-expand-paren (make-hippie-expand-function - '(try-expand-list - try-expand-list-all-buffers))) + '(try-expand-list + try-expand-list-all-buffers))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Stuttering @@ -975,16 +901,16 @@ else indent `correctly'." ;; expand word ((= (char-syntax (preceding-char)) ?w) (let ((case-fold-search (not smarty-word-completion-case-sensitive)) - (case-replace nil) - (hippie-expand-only-buffers - (or (and (boundp 'hippie-expand-only-buffers) - hippie-expand-only-buffers) - '(smarty-mode)))) + (case-replace nil) + (hippie-expand-only-buffers + (or (and (boundp 'hippie-expand-only-buffers) + hippie-expand-only-buffers) + '(smarty-mode)))) (smarty-expand-abbrev prefix-arg))) ;; expand parenthesis ((or (= (preceding-char) ?\() (= (preceding-char) ?\))) (let ((case-fold-search (not smarty-word-completion-case-sensitive)) - (case-replace nil)) + (case-replace nil)) (smarty-expand-paren prefix-arg)))) (setq this-command 'smarty-electric-tab))) @@ -992,7 +918,7 @@ else indent `correctly'." "Expand abbreviations and self-insert space(s)." (interactive "p") (let ((here (point-marker)) ldelim-found ldelim-point rdelim-found rdelim-point - delete-a) + delete-a) (setq ldelim-found (re-search-backward (regexp-quote smarty-left-delimiter) nil t)) (re-search-forward (regexp-quote smarty-left-delimiter) here t) (setq ldelim-point (point-marker)) @@ -1002,93 +928,93 @@ else indent `correctly'." (setq rdelim-point (point-marker)) (goto-char here) (cond ((and (= here ldelim-point) ldelim-found) (insert (concat "ldelim" smarty-right-delimiter))) - ((and (= here rdelim-point) rdelim-found) - (re-search-backward (regexp-quote (concat " " smarty-right-delimiter)) nil t) - (delete-char 1) - (insert (concat " " smarty-left-delimiter "rdelim")) - (goto-char here)) - ((smarty-in-comment-p) - (self-insert-command count) - (cond ((>= (current-column) (+ 2 end-comment-column)) - (backward-char 1) - (skip-chars-backward "^ \t\n") - (indent-new-comment-line) - (skip-chars-forward "^ \t\n") - (forward-char 1)) - ((>= (current-column) end-comment-column) - (indent-new-comment-line)) - (t nil))) - ((or (and (>= (preceding-char) ?a) (<= (preceding-char) ?z)) - (and (>= (preceding-char) ?A) (<= (preceding-char) ?Z)) - (and (>= (preceding-char) ?0) (<= (preceding-char) ?9))) - (progn - (setq here (point-marker)) - (insert " ") - (setq delete-a t) - (if (re-search-backward "|" nil t) - (progn - (setq found (re-search-forward (regexp-quote "B2Smilies") here t)) - (if (and found (= here (point-marker))) - (replace-match "btosmilies") - (setq found (re-search-forward (regexp-quote "bbcode2html") here t)) - (if (and found (= here (point-marker))) - (replace-match "bbcodetohtml") - (setq found (re-search-forward (regexp-quote "date_format2") here t)) - (if (and found (= here (point-marker))) - (replace-match "date_formatto") - (goto-char here) - (setq delete-a nil) - (delete-char 1))))) - (goto-char here) - (setq delete-a nil) - (delete-char 1))) - (smarty-prepare-search-1 (expand-abbrev)) - (self-insert-command count) - (if (and delete-a (looking-at " ")) - (delete-char 1))) - (t (self-insert-command count))))) - -(defun smarty-electric-open-bracket (count) + ((and (= here rdelim-point) rdelim-found) + (re-search-backward (regexp-quote (concat " " smarty-right-delimiter)) nil t) + (delete-char 1) + (insert (concat " " smarty-left-delimiter "rdelim")) + (goto-char here)) + ((smarty-in-comment-p) + (self-insert-command count) + (cond ((>= (current-column) (+ 2 end-comment-column)) + (backward-char 1) + (skip-chars-backward "^ \t\n") + (indent-new-comment-line) + (skip-chars-forward "^ \t\n") + (forward-char 1)) + ((>= (current-column) end-comment-column) + (indent-new-comment-line)) + (t nil))) + ((or (and (>= (preceding-char) ?a) (<= (preceding-char) ?z)) + (and (>= (preceding-char) ?A) (<= (preceding-char) ?Z)) + (and (>= (preceding-char) ?0) (<= (preceding-char) ?9))) + (progn + (setq here (point-marker)) + (insert " ") + (setq delete-a t) + (if (re-search-backward "|" nil t) + (progn + (setq found (re-search-forward (regexp-quote "B2Smilies") here t)) + (if (and found (= here (point-marker))) + (replace-match "btosmilies") + (setq found (re-search-forward (regexp-quote "bbcode2html") here t)) + (if (and found (= here (point-marker))) + (replace-match "bbcodetohtml") + (setq found (re-search-forward (regexp-quote "date_format2") here t)) + (if (and found (= here (point-marker))) + (replace-match "date_formatto") + (goto-char here) + (setq delete-a nil) + (delete-char 1))))) + (goto-char here) + (setq delete-a nil) + (delete-char 1))) + (smarty-prepare-search-1 (expand-abbrev)) + (self-insert-command count) + (if (and delete-a (looking-at " ")) + (delete-char 1))) + (t (self-insert-command count))))) + +(defun smarty-electric-open-bracket (count) "'(' --> '(', '((' --> '[', '[(' --> '{'" (interactive "p") (if (and smarty-stutter-mode (= count 1) (not (smarty-in-literal))) (if (= (preceding-char) ?\() - (progn (delete-char -1) (insert-char ?\[ 1)) - (if (= (preceding-char) ?\[) - (progn (delete-char -1) (insert-char ?\{ 1)) - (insert-char ?\( 1))) + (progn (delete-char -1) (insert-char ?\[ 1)) + (if (= (preceding-char) ?\[) + (progn (delete-char -1) (insert-char ?\{ 1)) + (insert-char ?\( 1))) (self-insert-command count))) -(defun smarty-electric-close-bracket (count) +(defun smarty-electric-close-bracket (count) "')' --> ')', '))' --> ']', '])' --> '}'" (interactive "p") (if (and smarty-stutter-mode (= count 1) (not (smarty-in-literal))) (progn - (if (= (preceding-char) ?\)) - (progn (delete-char -1) (insert-char ?\] 1)) - (if (= (preceding-char) ?\]) - (progn (delete-char -1) (insert-char ?} 1)) - (insert-char ?\) 1))) - (blink-matching-open)) + (if (= (preceding-char) ?\)) + (progn (delete-char -1) (insert-char ?\] 1)) + (if (= (preceding-char) ?\]) + (progn (delete-char -1) (insert-char ?} 1)) + (insert-char ?\) 1))) + (blink-matching-open)) (self-insert-command count))) -(defun smarty-electric-star (count) +(defun smarty-electric-star (count) "After a left delimiter add a right delemiter to close the comment" (interactive "p") (let ((here (point-marker)) found) (if (and smarty-stutter-mode (= count 1) (not (smarty-in-literal))) - (progn - (setq found (re-search-backward (regexp-quote smarty-left-delimiter) nil t)) - (re-search-forward (regexp-quote smarty-left-delimiter) here t) - (if (not (and (= here (point-marker)) found)) - (progn (goto-char here) - (self-insert-command count)) - (self-insert-command count) - (insert " ") - (setq here (point-marker)) - (insert " *") - (insert smarty-right-delimiter) - (goto-char here))) + (progn + (setq found (re-search-backward (regexp-quote smarty-left-delimiter) nil t)) + (re-search-forward (regexp-quote smarty-left-delimiter) here t) + (if (not (and (= here (point-marker)) found)) + (progn (goto-char here) + (self-insert-command count)) + (self-insert-command count) + (insert " ") + (setq here (point-marker)) + (insert " *") + (insert smarty-right-delimiter) + (goto-char here))) (self-insert-command count)))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -1110,16 +1036,16 @@ else insert tab (used for word completion in Smarty minibuffer)." ;; expand word ((= (char-syntax (preceding-char)) ?w) (let ((case-fold-search (not smarty-word-completion-case-sensitive)) - (case-replace nil) - (hippie-expand-only-buffers - (or (and (boundp 'hippie-expand-only-buffers) - hippie-expand-only-buffers) - '(smarty-mode)))) + (case-replace nil) + (hippie-expand-only-buffers + (or (and (boundp 'hippie-expand-only-buffers) + hippie-expand-only-buffers) + '(smarty-mode)))) (smarty-expand-abbrev prefix-arg))) ;; expand parenthesis ((or (= (preceding-char) ?\() (= (preceding-char) ?\))) (let ((case-fold-search (not smarty-word-completion-case-sensitive)) - (case-replace nil)) + (case-replace nil)) (smarty-expand-paren prefix-arg))) ;; insert tab (t (insert-tab)))) @@ -1133,7 +1059,7 @@ else insert tab (used for word completion in Smarty minibuffer)." ;; Abbrev ook bindings ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defconst smarty-mode-abbrev-table nil +(defvar smarty-mode-abbrev-table nil "Abbrev table to use in `smarty-mode' buffers.") (defun smarty-mode-abbrev-table-init () @@ -1141,86 +1067,88 @@ else insert tab (used for word completion in Smarty minibuffer)." (when smarty-mode-abbrev-table (clear-abbrev-table smarty-mode-abbrev-table)) (define-abbrev-table 'smarty-mode-abbrev-table (append - ;; I changed the second element of the records below to be same - ;; as first instead of "". Using "" gives strange behaviour when - ;; (expand-abbrev) is called and point is after a space. - '(("capture" "capture" smarty-template-capture-hook 0) - ("config_load" "config_load" smarty-template-config-load-hook 0) - ("else" "else" smarty-template-else-hook 0) - ("elseif" "elseif" smarty-template-elseif-hook 0) - ("foreach" "foreach" smarty-template-foreach-hook 0) - ("foreachelse" "foreachelse" smarty-template-foreachelse-hook 0) - ("if" "if" smarty-template-if-hook 0) - ("include" "include" smarty-template-include-hook 0) - ("include_php" "include_php" smarty-template-include-php-hook 0) - ("insert" "insert" smarty-template-insert-hook 0) - ("ldelim" "ldelim" smarty-template-ldelim-hook 0) - ("literal" "literal" smarty-template-literal-hook 0) - ("php" "php" smarty-template-php-hook 0) - ("rdelim" "rdelim" smarty-template-rdelim-hook 0) - ("section" "section" smarty-template-section-hook 0) - ("sectionelse" "sectionelse" smarty-template-sectionelse-hook 0) - ("strip" "strip" smarty-template-strip-hook 0) - ("assign" "assign" smarty-template-assign-hook 0) - ("counter" "counter" smarty-template-counter-hook 0) - ("cycle" "cycle" smarty-template-cycle-hook 0) - ("debug" "debug" smarty-template-debug-hook 0) - ("eval" "eval" smarty-template-eval-hook 0) - ("fetch" "fetch" smarty-template-fetch-hook 0) - ("html_checkboxes" "html_checkboxes" smarty-template-html-checkboxes-hook 0) - ("html_image" "html_image" smarty-template-html-image-hook 0) - ("html_options" "html_options" smarty-template-html-options-hook 0) - ("html_radios" "html_radios" smarty-template-html-radios-hook 0) - ("html_select_date" "html_select_date" smarty-template-html-select-date-hook 0) - ("html_select_time" "html_select_time" smarty-template-html-select-time-hook 0) - ("html_table" "html_table" smarty-template-html-table-hook 0) - ("mailto" "mailto" smarty-template-mailto-hook 0) - ("math" "math" smarty-template-math-hook 0) - ("popup" "popup" smarty-template-popup-hook 0) - ("popup_init" "popup_init" smarty-template-popup-init-hook 0) - ("textformat" "textformat" smarty-template-textformat-hook 0) - ("capitalize" "capitalize" smarty-template-capitalize-hook 0) - ("cat" "cat" smarty-template-cat-hook 0) - ("count_characters" "count_characters" smarty-template-count-characters-hook 0) - ("count_paragraphs" "count_paragraphs" smarty-template-count-paragraphs-hook 0) - ("count_sentences" "count_sentences" smarty-template-count-sentences-hook 0) - ("count_words" "count_words" smarty-template-count-words-hook 0) - ("date_format" "date_format" smarty-template-date-format-hook 0) - ("default" "default" smarty-template-default-hook 0) - ("escape" "escape" smarty-template-escape-hook 0) - ("indent" "indent" smarty-template-indent-hook 0) - ("lower" "lower" smarty-template-lower-hook 0) - ("nl2br" "nl2br" smarty-template-nl2br-hook 0) - ("regex_replace" "regex_replace" smarty-template-regex-replace-hook 0) - ("replace" "replace" smarty-template-replace-hook 0) - ("spacify" "spacify" smarty-template-spacify-hook 0) - ("string_format" "string_format" smarty-template-string-format-hook 0) - ("strip" "strip" smarty-template-vstrip-hook 0) - ("strip_tags" "strip_tags" smarty-template-strip-tags-hook 0) - ("truncate" "truncate" smarty-template-truncate-hook 0) - ("upper" "upper" smarty-template-upper-hook 0) - ("wordwrap" "wordwrap" smarty-template-wordwrap-hook 0) - ("validate" "validate" smarty-template-validate-hook 0) - ("formtool_checkall" "formtool_checkall" smarty-template-formtool-checkall-hook 0) - ("formtool_copy" "formtool_copy" smarty-template-formtool-copy-hook 0) - ("formtool_count_chars" "formtool_count_chars" smarty-template-formtool-count-chars-hook 0) - ("formtool_init" "formtool_init" smarty-template-formtool-init-hook 0) - ("formtool_move" "formtool_move" smarty-template-formtool-move-hook 0) - ("formtool_moveall" "formtool_moveall" smarty-template-formtool-moveall-hook 0) - ("formtool_movedown" "formtool_movedown" smarty-template-formtool-movedown-hook 0) - ("formtool_moveup" "formtool_moveup" smarty-template-formtool-moveup-hook 0) - ("formtool_remove" "formtool_remove" smarty-template-formtool-remove-hook 0) - ("formtool_rename" "formtool_rename" smarty-template-formtool-rename-hook 0) - ("formtool_save" "formtool_save" smarty-template-formtool-save-hook 0) - ("formtool_selectall" "formtool_selectall" smarty-template-formtool-selectall-hook 0) - ("paginate_first" "paginate_first" smarty-template-paginate-first-hook 0) - ("paginate_last" "paginate_last" smarty-template-paginate-last-hook 0) - ("paginate_middle" "paginate_middle" smarty-template-paginate-middle-hook 0) - ("paginate_next" "paginate_next" smarty-template-paginate-next-hook 0) - ("paginate_prev" "paginate_prev" smarty-template-paginate-prev-hook 0) - ("btosmilies" "btosmilies" smarty-template-btosmilies-hook 0) - ("bbcodetohtml" "bbcodetohtml" smarty-template-bbcodetohtml-hook 0) - ("date_formatto" "date_formatto" smarty-template-date-formatto-hook 0))))) + '( + ("capture" "" smarty-template-capture-hook 0) + ("config_load" "" smarty-template-config-load-hook 0) + ("else" "" smarty-template-else-hook 0) + ("elseif" "" smarty-template-elseif-hook 0) + ("foreach" "" smarty-template-foreach-hook 0) + ("foreachelse" "" smarty-template-foreachelse-hook 0) + ("if" "" smarty-template-if-hook 0) + ("include" "" smarty-template-include-hook 0) + ("include_php" "" smarty-template-include-php-hook 0) + ("insert" "" smarty-template-insert-hook 0) + ("ldelim" "" smarty-template-ldelim-hook 0) + ("literal" "" smarty-template-literal-hook 0) + ("php" "" smarty-template-php-hook 0) + ("rdelim" "" smarty-template-rdelim-hook 0) + ("section" "" smarty-template-section-hook 0) + ("sectionelse" "" smarty-template-sectionelse-hook 0) + ("strip" "" smarty-template-strip-hook 0) + ("assign" "" smarty-template-assign-hook 0) + ("counter" "" smarty-template-counter-hook 0) + ("cycle" "" smarty-template-cycle-hook 0) + ("debug" "" smarty-template-debug-hook 0) + ("eval" "" smarty-template-eval-hook 0) + ("fetch" "" smarty-template-fetch-hook 0) + ("html_checkboxes" "" smarty-template-html-checkboxes-hook 0) + ("html_image" "" smarty-template-html-image-hook 0) + ("html_options" "" smarty-template-html-options-hook 0) + ("html_radios" "" smarty-template-html-radios-hook 0) + ("html_select_date" "" smarty-template-html-select-date-hook 0) + ("html_select_time" "" smarty-template-html-select-time-hook 0) + ("html_table" "" smarty-template-html-table-hook 0) + ("mailto" "" smarty-template-mailto-hook 0) + ("math" "" smarty-template-math-hook 0) + ("popup" "" smarty-template-popup-hook 0) + ("popup_init" "" smarty-template-popup-init-hook 0) + ("textformat" "" smarty-template-textformat-hook 0) + ("capitalize" "" smarty-template-capitalize-hook 0) + ("cat" "" smarty-template-cat-hook 0) + ("count_characters" "" smarty-template-count-characters-hook 0) + ("count_paragraphs" "" smarty-template-count-paragraphs-hook 0) + ("count_sentences" "" smarty-template-count-sentences-hook 0) + ("count_words" "" smarty-template-count-words-hook 0) + ("date_format" "" smarty-template-date-format-hook 0) + ("default" "" smarty-template-default-hook 0) + ("escape" "" smarty-template-escape-hook 0) + ("indent" "" smarty-template-indent-hook 0) + ("lower" "" smarty-template-lower-hook 0) + ("nl2br" "" smarty-template-nl2br-hook 0) + ("regex_replace" "" smarty-template-regex-replace-hook 0) + ("replace" "" smarty-template-replace-hook 0) + ("spacify" "" smarty-template-spacify-hook 0) + ("string_format" "" smarty-template-string-format-hook 0) + ("strip" "" smarty-template-vstrip-hook 0) + ("strip_tags" "" smarty-template-strip-tags-hook 0) + ("truncate" "" smarty-template-truncate-hook 0) + ("upper" "" smarty-template-upper-hook 0) + ("wordwrap" "" smarty-template-wordwrap-hook 0) + ("validate" "" smarty-template-validate-hook 0) + ("clipcache" "" smarty-template-clipcache-hook 0) + ("repeat" "" smarty-template-repeat-hook 0) + ("str_repeat" "" smarty-template-str-repeat-hook 0) + ("include_clipcache" "" smarty-template-include-clipcache-hook 0) + ("formtool_checkall" "" smarty-template-formtool-checkall-hook 0) + ("formtool_copy" "" smarty-template-formtool-copy-hook 0) + ("formtool_count_chars" "" smarty-template-formtool-count-chars-hook 0) + ("formtool_init" "" smarty-template-formtool-init-hook 0) + ("formtool_move" "" smarty-template-formtool-move-hook 0) + ("formtool_moveall" "" smarty-template-formtool-moveall-hook 0) + ("formtool_movedown" "" smarty-template-formtool-movedown-hook 0) + ("formtool_moveup" "" smarty-template-formtool-moveup-hook 0) + ("formtool_remove" "" smarty-template-formtool-remove-hook 0) + ("formtool_rename" "" smarty-template-formtool-rename-hook 0) + ("formtool_save" "" smarty-template-formtool-save-hook 0) + ("formtool_selectall" "" smarty-template-formtool-selectall-hook 0) + ("paginate_first" "" smarty-template-paginate-first-hook 0) + ("paginate_last" "" smarty-template-paginate-last-hook 0) + ("paginate_middle" "" smarty-template-paginate-middle-hook 0) + ("paginate_next" "" smarty-template-paginate-next-hook 0) + ("paginate_prev" "" smarty-template-paginate-prev-hook 0) + ("btosmilies" "" smarty-template-btosmilies-hook 0) + ("bbcodetohtml" "" smarty-template-bbcodetohtml-hook 0) + ("date_formatto" "" smarty-template-date-formatto-hook 0))))) ;; initialize abbrev table for Smarty Mode (smarty-mode-abbrev-table-init) @@ -1233,36 +1161,29 @@ else insert tab (used for word completion in Smarty minibuffer)." "Do function, if syntax says abbrev is a keyword, invoked by hooked abbrev, but not if inside a comment or quote)." (if (or (smarty-in-literal) - (smarty-in-comment-p)) + (smarty-in-comment-p)) (progn - (insert " ") - (unexpand-abbrev) - (delete-char -1)) + (insert " ") + (unexpand-abbrev) + (delete-char -1)) (if (not smarty-electric-mode) - (progn - (insert " ") - (unexpand-abbrev) - (backward-word 1) - (delete-char 1)) - ;; last-command-event (alias last-command-char) is not always a - ;; char. An example is that Viper calls expand-abbrev when - ;; escape is pressed. The event is then 'escape. - (let* ((base-event (event-basic-type last-command-event)) - (invoke-char (when (char-valid-p base-event) base-event)) - (abbrev-mode -1) - (smarty-template-invoked-by-hook t)) - ;;(setq invoke-char last-command-char) ;; to get the orig err - (let ((caught (catch 'abort - (funcall func)))) - (when (stringp caught) (message caught))) - (when invoke-char - (when (= invoke-char ?-) (setq abbrev-start-location (point)))) - ;; delete CR which is still in event queue - (if (fboundp 'enqueue-eval-event) - (enqueue-eval-event 'delete-char -1) - (delete-char -1)))))) -;; (setq unread-command-events ; push back a delete char -;; (list (smarty-character-to-event ?\177)))))))) + (progn + (insert " ") + (unexpand-abbrev) + (backward-word 1) + (delete-char 1)) + (let ((invoke-char last-command-char) + (abbrev-mode -1) + (smarty-template-invoked-by-hook t)) + (let ((caught (catch 'abort + (funcall func)))) + (when (stringp caught) (message caught))) + (when (= invoke-char ?-) (setq abbrev-start-location (point))) + ;; delete CR which is still in event queue + (if (fboundp 'enqueue-eval-event) + (enqueue-eval-event 'delete-char -1) + (setq unread-command-events ; push back a delete char + (list (smarty-character-to-event ?\177)))))))) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Fontification @@ -1270,45 +1191,41 @@ but not if inside a comment or quote)." (defvar smarty-font-lock-keywords-1 (list - + ;; Fontify built-in functions (cons - (concat (regexp-quote smarty-left-delimiter) "[/]*" smarty-functions-regexp) - '(1 font-lock-keyword-face)) + (concat (regexp-quote smarty-left-delimiter) "[/]*" smarty-functions-regexp) + '(1 font-lock-keyword-face)) (cons - (concat "\\<\\(" smarty-constants "\\)\\>") - 'font-lock-constant-face) + (concat "\\<\\(" smarty-constants "\\)\\>") + 'font-lock-constant-face) - (cons (concat "\\(" (regexp-quote (concat smarty-left-delimiter "*")) "\\(\\s-\\|\\w\\|\\s.\\|\\s_\\|\\s(\\|\\s)\\|\\s\\\\)*" (regexp-quote (concat "*" smarty-right-delimiter)) "\\)") - 'font-lock-comment-face) + (cons (concat "\\(" (regexp-quote (concat smarty-left-delimiter "*")) "\\(\\s-\\|\\w\\|\\s.\\|\\s_\\|\\s(\\|\\s)\\|\\s\\\\)*" (regexp-quote (concat "*" smarty-right-delimiter)) "\\)") + 'font-lock-comment-face) ) - "Subdued level highlighting for Smarty mode.") - -;; I believe default is defined in Xemacs but not in GNU Emacs. -(unless (boundp 'default) - (defvar default 'default)) + "Subdued level highlighting for Smarty mode.") (defconst smarty-font-lock-keywords-2 (append - smarty-font-lock-keywords-1 + smarty-font-lock-keywords-1 (list - ;; Fontify variable names (\\sw\\|\\s_\\) matches any word character + - ;; underscore - '("\\$\\(\\(?:\\sw\\|\\s_\\)+\\)" (1 font-lock-variable-name-face)) ; $variable - '("->\\(\\(?:\\sw\\|\\s_\\)+\\)" (1 font-lock-variable-name-face t t)) ; ->variable - '("\\.\\(\\(?:\\sw\\|\\s_\\)+\\)" (1 font-lock-variable-name-face t t)) ; .variable - '("->\\(\\(?:\\sw\\|\\s_\\)+\\)\\s-*(" (1 font-lock-function-name-face t t)) ; ->function_call - '("\\<\\(\\(?:\\sw\\|\\s_\\)+\\s-*\\)(" (1 font-lock-function-name-face)) ; word( - '("\\<\\(\\(?:\\sw\\|\\s_\\)+\\s-*\\)[[]" (1 font-lock-variable-name-face)) ; word[ - '("\\<[0-9]+" . default) ; number (also matches word) - - ;; Fontify strings - ;;'("\"\\([^\"]*\\)\"[^\"]+" (1 font-lock-string-face t t)) - )) - + ;; Fontify variable names (\\sw\\|\\s_\\) matches any word character + + ;; underscore + '("\\$\\(\\(?:\\sw\\|\\s_\\)+\\)" (1 font-lock-variable-name-face)) ; $variable + '("->\\(\\(?:\\sw\\|\\s_\\)+\\)" (1 font-lock-variable-name-face t t)) ; ->variable + '("\\.\\(\\(?:\\sw\\|\\s_\\)+\\)" (1 font-lock-variable-name-face t t)) ; .variable + '("->\\(\\(?:\\sw\\|\\s_\\)+\\)\\s-*(" (1 font-lock-function-name-face t t)) ; ->function_call + '("\\<\\(\\(?:\\sw\\|\\s_\\)+\\s-*\\)(" (1 font-lock-function-name-face)) ; word( + '("\\<\\(\\(?:\\sw\\|\\s_\\)+\\s-*\\)[[]" (1 font-lock-variable-name-face)) ; word[ + '("\\<[0-9]+" . default) ; number (also matches word) + + ;; Fontify strings + ;;'("\"\\([^\"]*\\)\"[^\"]+" (1 font-lock-string-face t t)) + )) + "Medium level highlighting for Smarty mode.") (defconst smarty-font-lock-keywords-3 @@ -1318,7 +1235,7 @@ but not if inside a comment or quote)." ;; Fontify modifiers (cons (concat "|\\(" smarty-modifiers-regexp "\\)[:|]+") '(1 font-lock-function-name-face)) (cons (concat "|\\(" smarty-modifiers-regexp "\\)" (regexp-quote smarty-right-delimiter)) '(1 font-lock-function-name-face)) - + ;; Fontify config vars (cons (concat (regexp-quote smarty-left-delimiter) "\\(#\\(?:\\sw\\|\\s_\\)+#\\)") '(1 font-lock-constant-face)))) "Balls-out highlighting for Smarty mode.") @@ -1342,71 +1259,77 @@ but not if inside a comment or quote)." ;;; Mode map ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -(defvar smarty-template-map - (let ((map (make-sparse-keymap))) - (define-key map "\C-ba" 'smarty-template-capture) - (define-key map "\C-bc" 'smarty-template-config-load) - (define-key map "\C-b\M-e" 'smarty-template-else) - (define-key map "\C-b\C-e" 'smarty-template-elseif) - (define-key map "\C-b\C-f" 'smarty-template-foreach) - (define-key map "\C-b\M-f" 'smarty-template-foreachelse) - (define-key map "\C-bf" 'smarty-template-if) - (define-key map "\C-b\C-i" 'smarty-template-include) - (define-key map "\C-b\M-i" 'smarty-template-include-php) - (define-key map "\C-bi" 'smarty-template-insert) - (define-key map "\C-bl" 'smarty-template-ldelim) - (define-key map "\C-b\C-l" 'smarty-template-literal) - (define-key map "\C-bp" 'smarty-template-php) - (define-key map "\C-br" 'smarty-template-rdelim) - (define-key map "\C-b\C-s" 'smarty-template-section) - (define-key map "\C-b\M-s" 'smarty-template-sectionelse) - (define-key map "\C-bs" 'smarty-template-strip) - (define-key map "\C-ca" 'smarty-template-assign) - (define-key map "\C-co" 'smarty-template-counter) - (define-key map "\C-cc" 'smarty-template-cycle) - (define-key map "\C-cd" 'smarty-template-debug) - (define-key map "\C-ce" 'smarty-template-eval) - (define-key map "\C-cf" 'smarty-template-fetch) - (define-key map "\C-c\C-hc" 'smarty-template-html-checkboxes) - (define-key map "\C-c\C-hi" 'smarty-template-html-image) - (define-key map "\C-c\C-ho" 'smarty-template-html-options) - (define-key map "\C-c\C-hr" 'smarty-template-html-radios) - (define-key map "\C-c\C-hd" 'smarty-template-html-select-date) - (define-key map "\C-c\C-hm" 'smarty-template-html-select-time) - (define-key map "\C-c\C-ht" 'smarty-template-html-table) - (define-key map "\C-ci" 'smarty-template-mailto) - (define-key map "\C-ch" 'smarty-template-math) - (define-key map "\C-c\C-p" 'smarty-template-popup) - (define-key map "\C-c\M-p" 'smarty-template-popup-init) - (define-key map "\C-ct" 'smarty-template-textformat) - (define-key map "\C-vp" 'smarty-template-capitalize) - (define-key map "\C-vc" 'smarty-template-cat) - (define-key map "\C-v\C-cc" 'smarty-template-count-characters) - (define-key map "\C-v\C-cp" 'smarty-template-count-paragraphs) - (define-key map "\C-v\C-cs" 'smarty-template-count-sentences) - (define-key map "\C-v\C-cw" 'smarty-template-count-words) - (define-key map "\C-vf" 'smarty-template-date-format) - (define-key map "\C-vd" 'smarty-template-default) - (define-key map "\C-ve" 'smarty-template-escape) - (define-key map "\C-vi" 'smarty-template-indent) - (define-key map "\C-vl" 'smarty-template-lower) - (define-key map "\C-vn" 'smarty-template-nl2br) - (define-key map "\C-vx" 'smarty-template-regex-replace) - (define-key map "\C-v\C-p" 'smarty-template-replace) - (define-key map "\C-vy" 'smarty-template-spacify) - (define-key map "\C-vs" 'smarty-template-string-format) - (define-key map "\C-v\C-s" 'smarty-template-vstrip) - (define-key map "\C-v\M-s" 'smarty-template-strip-tags) - (define-key map "\C-vt" 'smarty-template-truncate) - (define-key map "\C-vu" 'smarty-template-upper) - (define-key map "\C-vw" 'smarty-template-wordwrap) - (define-key map "\C-h" 'smarty-template-header) - (define-key map "\C-f" 'smarty-template-footer) - (define-key map "\C-di" 'smarty-template-insert-date) - (define-key map "\C-dm" 'smarty-template-modify) - map) +(defvar smarty-template-map nil "Keymap for Smarty templates.") +(defun smarty-template-map-init () + "Initialize `smarty-template-map'." + (setq smarty-template-map (make-sparse-keymap)) + ;; key bindings for Smarty templates + (define-key smarty-template-map "\C-ba" 'smarty-template-capture) + (define-key smarty-template-map "\C-bc" 'smarty-template-config-load) + (define-key smarty-template-map "\C-b\M-e" 'smarty-template-else) + (define-key smarty-template-map "\C-b\C-e" 'smarty-template-elseif) + (define-key smarty-template-map "\C-b\C-f" 'smarty-template-foreach) + (define-key smarty-template-map "\C-b\M-f" 'smarty-template-foreachelse) + (define-key smarty-template-map "\C-bf" 'smarty-template-if) + (define-key smarty-template-map "\C-b\C-i" 'smarty-template-include) + (define-key smarty-template-map "\C-b\M-i" 'smarty-template-include-php) + (define-key smarty-template-map "\C-bi" 'smarty-template-insert) + (define-key smarty-template-map "\C-bl" 'smarty-template-ldelim) + (define-key smarty-template-map "\C-b\C-l" 'smarty-template-literal) + (define-key smarty-template-map "\C-bp" 'smarty-template-php) + (define-key smarty-template-map "\C-br" 'smarty-template-rdelim) + (define-key smarty-template-map "\C-b\C-s" 'smarty-template-section) + (define-key smarty-template-map "\C-b\M-s" 'smarty-template-sectionelse) + (define-key smarty-template-map "\C-bs" 'smarty-template-strip) + (define-key smarty-template-map "\C-ca" 'smarty-template-assign) + (define-key smarty-template-map "\C-co" 'smarty-template-counter) + (define-key smarty-template-map "\C-cc" 'smarty-template-cycle) + (define-key smarty-template-map "\C-cd" 'smarty-template-debug) + (define-key smarty-template-map "\C-ce" 'smarty-template-eval) + (define-key smarty-template-map "\C-cf" 'smarty-template-fetch) + (define-key smarty-template-map "\C-c\C-hc" 'smarty-template-html-checkboxes) + (define-key smarty-template-map "\C-c\C-hi" 'smarty-template-html-image) + (define-key smarty-template-map "\C-c\C-ho" 'smarty-template-html-options) + (define-key smarty-template-map "\C-c\C-hr" 'smarty-template-html-radios) + (define-key smarty-template-map "\C-c\C-hd" 'smarty-template-html-select-date) + (define-key smarty-template-map "\C-c\C-hm" 'smarty-template-html-select-time) + (define-key smarty-template-map "\C-c\C-ht" 'smarty-template-html-table) + (define-key smarty-template-map "\C-ci" 'smarty-template-mailto) + (define-key smarty-template-map "\C-ch" 'smarty-template-math) + (define-key smarty-template-map "\C-c\C-p" 'smarty-template-popup) + (define-key smarty-template-map "\C-c\M-p" 'smarty-template-popup-init) + (define-key smarty-template-map "\C-ct" 'smarty-template-textformat) + (define-key smarty-template-map "\C-vp" 'smarty-template-capitalize) + (define-key smarty-template-map "\C-vc" 'smarty-template-cat) + (define-key smarty-template-map "\C-v\C-cc" 'smarty-template-count-characters) + (define-key smarty-template-map "\C-v\C-cp" 'smarty-template-count-paragraphs) + (define-key smarty-template-map "\C-v\C-cs" 'smarty-template-count-sentences) + (define-key smarty-template-map "\C-v\C-cw" 'smarty-template-count-words) + (define-key smarty-template-map "\C-vf" 'smarty-template-date-format) + (define-key smarty-template-map "\C-vd" 'smarty-template-default) + (define-key smarty-template-map "\C-ve" 'smarty-template-escape) + (define-key smarty-template-map "\C-vi" 'smarty-template-indent) + (define-key smarty-template-map "\C-vl" 'smarty-template-lower) + (define-key smarty-template-map "\C-vn" 'smarty-template-nl2br) + (define-key smarty-template-map "\C-vx" 'smarty-template-regex-replace) + (define-key smarty-template-map "\C-v\C-p" 'smarty-template-replace) + (define-key smarty-template-map "\C-vy" 'smarty-template-spacify) + (define-key smarty-template-map "\C-vs" 'smarty-template-string-format) + (define-key smarty-template-map "\C-v\C-s" 'smarty-template-vstrip) + (define-key smarty-template-map "\C-v\M-s" 'smarty-template-strip-tags) + (define-key smarty-template-map "\C-vt" 'smarty-template-truncate) + (define-key smarty-template-map "\C-vu" 'smarty-template-upper) + (define-key smarty-template-map "\C-vw" 'smarty-template-wordwrap) + (define-key smarty-template-map "\C-h" 'smarty-template-header) + (define-key smarty-template-map "\C-f" 'smarty-template-footer) + (define-key smarty-template-map "\C-di" 'smarty-template-insert-date) + (define-key smarty-template-map "\C-dm" 'smarty-template-modify)) + +;; initialize template map for Smarty Mode +(smarty-template-map-init) + (defun smarty-mode-map-init () "Initialize `smarty-mode-map'." (setq smarty-mode-map (make-sparse-keymap)) @@ -1441,8 +1364,8 @@ but not if inside a comment or quote)." (mapcar (function (lambda (sym) - (put sym 'delete-selection t) ; for `delete-selection-mode' (Emacs) - (put sym 'pending-delete t))) ; for `pending-delete-mode' (XEmacs) + (put sym 'delete-selection t) ; for `delete-selection-mode' (Emacs) + (put sym 'pending-delete t))) ; for `pending-delete-mode' (XEmacs) '(smarty-electric-space smarty-electric-tab smarty-electric-open-bracket @@ -1451,7 +1374,9 @@ but not if inside a comment or quote)." ;;;###autoload (defun smarty-mode () - "Mode for editing php smarty files. + "Smarty Mode +*********** + Smarty Mode is a GNU XEmacs major mode for editing Smarty templates. 1 Introduction @@ -1482,6 +1407,10 @@ Features (new features in bold) : - Variable Modifiers - Plugin (Functions) + * BlockRepeatPlugin + + * ClipCache + * Smarty Formtool * Smarty Paginate @@ -1499,7 +1428,105 @@ Features (new features in bold) : -This manual describes Smarty Mode version 0.0.4. +This manual describes Smarty Mode version 0.0.5. + +2 Installation +************** + +2.1 Requirements +================ + +Smarty Mode is a XEmacs major mode that needs the following +software/packages: + + * XEmacs (http://www.xemacs.org/). + + * `font-lock' mode generaly installed with XEmacs. + + * `assoc' mode generaly installed with XEmacs. + + * `easymenu' mode generaly installed with XEmacs. + + * `hippie-exp' mode generaly installed with XEmacs. + +Before continuing, you must be sure to have all this packages +installed. + +2.2 Download +============ + +Two internet address to download Smarty Mode : + + * Principal: Smarty-Mode 0.0.5 + (http://deboutv.free.fr/lisp/smarty/download/smarty-0.0.5.tar.gz) + (http://deboutv.free.fr/lisp/smarty/) + + * Secondary: Smarty-Mode 0.0.5 + (http://www.morinie.fr/lisp/smarty/download/smarty-0.0.5.tar.gz) + (http://www.morinie.fr/lisp/smarty/) + + * Old releases: Smarty-Mode + (http://deboutv.free.fr/lisp/smarty/download.php) + (http://deboutv.free.fr/lisp/smarty/) + +2.3 Installation +================ + +2.3.1 Installation +------------------ + +To install Smarty Mode you need to choose an installation directory +(for example `/usr/local/share/lisp' or `c:\lisp'). The administrator +must have the write rights on this directory. + +With your favorite unzip software, unzip the archive in the +installation directory. + +Example: + cd /usr/local/share/lisp + tar zxvf smarty-0.0.5.tar.gz +Now you have a `smarty' directory in the installation directory. This +directory contains 2 files `smarty-mode.el' and `smarty-mode.elc' and +another directory `docs' containing the documentation. + +You need to configure XEmacs. open you initialization file `init.el' +(open the file or start XEmacs then choose the Options menu and Edit +Init File). Add the following lines (the installation directory in +this example is `/usr/local/share/lisp') : + + (setq load-path + (append (list \"/usr/local/share/lisp/\") load-path)) + (autoload 'smarty-mode \"smarty-mode\" \"Smarty Mode\" t) + +2.3.2 Update +------------ + +The update is easy. You need to unzip the archive in the installation +directory to remove the old release. + +Example: + cd /usr/local/share/lisp + rm -rf smarty + tar zxvf smarty-0.0.5.tar.gz + +2.4 Invoke Smarty-Mode +====================== + +You have two possibilities to invoke the Smarty Mode. + + - Manually: At each file opening you need to launch Smarty Mode + with the following command: + + `M-x smarty-mode' + + - Automatically: Add the following linesin your initialization + file `init.el' : + + (setq auto-mode-alist + (append + '((\"\\.tpl$\" . smarty-mode)) + auto-mode-alist)) + 3 Customization *************** @@ -1679,16 +1706,16 @@ part. 4.1.1 Functions --------------- -\\ + `smarty-show-messages' Menu: Smarty -> Show Messages - Keybinding: `C-c M-m' \\[smarty-show-messages] + Keybinding: `C-c M-m' Description: This function opens the *Messages* buffer to display previous error messages. `smarty-doc-mode' Menu: Smarty -> Smarty Mode Documentation - Keybinding: `C-c C-h' \\[smarty-doc-mode] + Keybinding: `C-c C-h' Description: This function opens the *Help* buffer and prints in it the Smarty Mode documentation. @@ -1859,25 +1886,25 @@ For Smarty functions, see PDF or HTML documentation. (setq smarty-font-lock-keywords smarty-font-lock-keywords-4) (setq smarty-font-lock-keywords smarty-font-lock-keywords-3)) (setq font-lock-defaults - '((smarty-font-lock-keywords) - nil ; Keywords only (i.e. no comment or string highlighting - t ; case fold - nil ; syntax-alist - nil ; syntax-begin - )) - + '((smarty-font-lock-keywords) + nil ; Keywords only (i.e. no comment or string highlighting + t ; case fold + nil ; syntax-alist + nil ; syntax-begin + )) + (setq font-lock-maximum-decoration t - case-fold-search t) + case-fold-search t) ;; add source file menu (if smarty-source-file-menu (smarty-add-source-files-menu)) ;; add Smarty menu (easy-menu-add smarty-mode-menu-list) (easy-menu-define smarty-mode-menu smarty-mode-map - "Menu keymap for Smarty Mode." smarty-mode-menu-list) + "Menu keymap for Smarty Mode." smarty-mode-menu-list) (message "Smarty Mode %s.%s" smarty-version - (if noninteractive "" " See menu for documentation and release notes.")) + (if noninteractive "" " See menu for documentation and release notes.")) (smarty-mode-line-update) (run-hooks 'smarty-mode-hook)) @@ -1908,25 +1935,25 @@ For Smarty functions, see PDF or HTML documentation. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun smarty-template-field (prompt &optional follow-string optional - begin end is-string string-char default) + begin end is-string string-char default) "Prompt for string and insert it in buffer with optional FOLLOW-STRING. If OPTIONAL is nil, the prompt is left if an empty string is inserted. If an empty string is inserted, return nil and call `smarty-template-undo' for the region between BEGIN and END. IS-STRING indicates whether a string with double-quotes is to be inserted. DEFAULT specifies a default string." (let ((position (point)) - string) + string) (insert "<" prompt ">") (if (not (> (length string-char) 0)) - (setq string-char "\"")) + (setq string-char "\"")) (setq string - (condition-case () - (read-from-minibuffer (concat prompt ": ") - (or (and is-string (cons (concat string-char string-char) 1)) default) - smarty-minibuffer-local-map) - (quit (if (and optional begin end) - (progn (beep) "") - (keyboard-quit))))) + (condition-case () + (read-from-minibuffer (concat prompt ": ") + (or (and is-string (cons (concat string-char string-char) 1)) default) + smarty-minibuffer-local-map) + (quit (if (and optional begin end) + (progn (beep) "") + (keyboard-quit))))) (when (or (not (equal string "")) optional) (delete-region position (point))) (when (and (equal string "") optional begin end) @@ -1941,31 +1968,21 @@ with double-quotes is to be inserted. DEFAULT specifies a default string." (defun smarty-template-undo (begin end) "Undo aborted template by deleting region and unexpanding the keyword." (cond (smarty-template-invoked-by-hook - (goto-char end) - (insert " ") - (delete-region begin end) - (unexpand-abbrev)) - (t (delete-region begin end)))) + (goto-char end) + (insert " ") + (delete-region begin end) + (unexpand-abbrev)) + (t (delete-region begin end)))) -(defun smarty-template-generic-function (label close-label field mandatory-count &optional infinite special-field) +(defun smarty-template-generic-function (label close-label field mandatory-count &optional infinite special-field force-var) "Generic function template 'label field1= field2=..." (interactive) (let ((start (point)) found here result-value elt continue field-count stop prompt) (if smarty-template-invoked-by-hook - (setq found (smarty-after-ldelim)) - (let ((here (point))) - (let ((last-left (search-backward smarty-left-delimiter nil t))) - (when last-left - (goto-char here) - (unless (search-backward smarty-right-delimiter last-left t) - (goto-char here) - ;;(error "Can't insert left delimiter '%s' here" smarty-left-delimiter) - (lwarn t :warning "Can't insert left delimiter '%s' here" smarty-left-delimiter) - ))) - (goto-char here)) + (setq found (smarty-after-ldelim)) (insert smarty-left-delimiter) (setq found t)) - ;;(insert label) ;; Already done + (insert label) (setq here (point-marker)) (insert " ") (when found @@ -1974,82 +1991,84 @@ with double-quotes is to be inserted. DEFAULT specifies a default string." (setq field-count 0) (setq stop nil) (while (and elt continue) - (setq prompt (car elt)) - (when (not special-field) - (insert prompt "=")) - (setq result-value (smarty-template-field prompt nil t)) - (if (and (not result-value) - (< field-count mandatory-count)) - (progn (setq continue nil) - (delete-region start (point)) - (insert (concat label " ")) - (setq stop t)) - (if (not result-value) - (setq continue nil) - (setq here (point-marker)) - (insert " "))) - (setq field-count (+ 1 field-count)) - (setq elt (cdr elt))) - (when (and infinite continue) - (while continue - (setq result-value (smarty-template-field "var_name" "=" t here)) - (if (not result-value) - (setq continue nil) - (setq continue (smarty-template-field "var_value" nil t here)) - (setq here (point-marker)) - (insert " ")))) + (setq prompt (car elt)) + (when (not special-field) + (insert prompt "=")) + (setq result-value (smarty-template-field prompt nil t)) + (if (and (not result-value) + (< field-count mandatory-count)) + (progn (setq continue nil) + (delete-region start (point)) + (insert (concat label " ")) + (setq stop t)) + (if (not result-value) + (setq continue nil) + (setq here (point-marker)) + (insert " "))) + (setq field-count (+ 1 field-count)) + (setq elt (cdr elt))) + (when (and infinite (or continue force-var)) + (when (not continue) + (delete-region here (point)) + (insert " ")) + (setq continue t) + (while continue + (setq result-value (smarty-template-field "var_name" "=" t here)) + (if (not result-value) + (setq continue nil) + (setq continue (smarty-template-field "var_value" nil t here)) + (setq here (point-marker)) + (insert " ")))) (when (not stop) - (delete-region here (point)) - (if (> 0 mandatory-count) - (delete-char -1)) - (if special-field - (delete-char -1)) - (insert smarty-right-delimiter) - (setq here (point-marker)) - (if close-label - (insert smarty-left-delimiter "/" label smarty-right-delimiter)) - (goto-char here))))) + (delete-region here (point)) + (if (> 0 mandatory-count) + (delete-char -1)) + (insert smarty-right-delimiter) + (setq here (point-marker)) + (if close-label + (insert smarty-left-delimiter "/" label smarty-right-delimiter)) + (goto-char here))))) (defun smarty-template-generic-modifier (label field mandatory-count) "Generic modifier template '|label:field1:field2..." (interactive) (let ((start (point)) found here result-value elt continue field-count stop prompt) - (setq found (re-search-backward (concat (regexp-quote smarty-left-delimiter) "\\$\\(\\w+\\)" (regexp-quote "|")) nil t)) + (setq found (re-search-backward (concat (regexp-quote smarty-left-delimiter) "\\$\\(\\sw\\|\\s.\\)+" (regexp-quote "|")) nil t)) (if found - (progn - (setq found (re-search-forward (regexp-quote smarty-right-delimiter) start t)) - (if (not found) - (progn - (goto-char start) - (insert label) - (setq here (point-marker)) - (setq elt field) - (setq continue t) - (setq field-count 0) - (setq stop nil) - (while (and elt continue) - (setq prompt (car elt)) - (insert ":") - (setq result-value (smarty-template-field prompt nil t)) - (if (and (not result-value) - (< field-count mandatory-count)) - (progn (setq continue nil) - (delete-region start (point)) - (insert (concat label " ")) - (setq stop t)) - (if (not result-value) - (setq continue nil) - (setq here (point-marker)) - (insert ":"))) - (setq field-count (+ 1 field-count)) - (setq elt (cdr elt))) - (when (not stop) - (delete-region here (point)) - (if (not (or (looking-at smarty-right-delimiter) - (looking-at "|"))) - (insert smarty-right-delimiter)))) - (goto-char start) - (insert label " "))) + (progn + (setq found (re-search-forward (regexp-quote smarty-right-delimiter) start t)) + (if (not found) + (progn + (goto-char start) + (insert label) + (setq here (point-marker)) + (setq elt field) + (setq continue t) + (setq field-count 0) + (setq stop nil) + (while (and elt continue) + (setq prompt (car elt)) + (insert ":") + (setq result-value (smarty-template-field prompt nil t)) + (if (and (not result-value) + (< field-count mandatory-count)) + (progn (setq continue nil) + (delete-region start (point)) + (insert (concat label " ")) + (setq stop t)) + (if (not result-value) + (setq continue nil) + (setq here (point-marker)) + (insert ":"))) + (setq field-count (+ 1 field-count)) + (setq elt (cdr elt))) + (when (not stop) + (delete-region here (point)) + (if (not (or (looking-at smarty-right-delimiter) + (looking-at "|"))) + (insert smarty-right-delimiter)))) + (goto-char start) + (insert label " "))) (goto-char start) (insert label " ")))) @@ -2170,6 +2189,10 @@ with double-quotes is to be inserted. DEFAULT specifies a default string." (defun smarty-template-validate-hook () (smarty-hooked-abbrev 'smarty-template-validate)) +(defun smarty-template-clipcache-hook () + (smarty-hooked-abbrev 'smarty-template-clipcache)) +(defun smarty-template-include-clipcache-hook () + (smarty-hooked-abbrev 'smarty-template-include-clipcache)) (defun smarty-template-formtool-checkall-hook () (smarty-hooked-abbrev 'smarty-template-formtool-checkall)) (defun smarty-template-formtool-copy-hook () @@ -2371,7 +2394,7 @@ with double-quotes is to be inserted. DEFAULT specifies a default string." (defun smarty-template-math () "Insert a math statement." (interactive) - (smarty-template-generic-function "math" nil '("equation" "var" "format" "assign") 2 t)) + (smarty-template-generic-function "math" nil '("equation" "format" "assign") 1 t nil t)) (defun smarty-template-popup () "Insert a popup statement." @@ -2499,6 +2522,26 @@ with double-quotes is to be inserted. DEFAULT specifies a default string." (interactive) (smarty-template-generic-function "validate" nil '("field" "criteria" "message" "form" "transform" "trim" "empty" "halt" "assign" "append" "page") 3)) +(defun smarty-template-repeat () + "Insert a repeat statement." + (interactive) + (smarty-template-generic-function "repeat" nil '("count" "assign") 1)) + +(defun smarty-template-str_repeat () + "Insert a str_repeat statement." + (interactive) + (smarty-template-generic-function "str_repeat" nil '("string" "count" "assign") 2)) + +(defun smarty-template-clipcache () + "Insert a clipcache statement." + (interactive) + (smarty-template-generic-function "clipcache" nil '("id" "group" "ttl" "ldelim" "rdelim") 3)) + +(defun smarty-template-include-clipcache () + "Insert a include_clipcache statement." + (interactive) + (smarty-template-generic-function "include_clipcache" nil '("file" "cache_id" "cache_lifetime" "ldelim" "rdelim") 3)) + (defun smarty-template-formtool-checkall () "Insert a formtool_checkall statement." (interactive) @@ -2606,19 +2649,19 @@ with double-quotes is to be inserted. DEFAULT specifies a default string." "Resolve environment variables in STRING." (while (string-match "\\(.*\\)${?\\(\\(\\w\\|_\\)+\\)}?\\(.*\\)" string) (setq string (concat (match-string 1 string) - (getenv (match-string 2 string)) - (match-string 4 string)))) + (getenv (match-string 2 string)) + (match-string 4 string)))) string) (defun smarty-insert-string-or-file (string) "Insert STRING or file contents if STRING is an existing file name." (unless (equal string "") (let ((file-name - (progn (string-match "^\\([^\n]+\\)" string) - (smarty-resolve-env-variable (match-string 1 string))))) + (progn (string-match "^\\([^\n]+\\)" string) + (smarty-resolve-env-variable (match-string 1 string))))) (if (file-exists-p file-name) - (forward-char (cadr (insert-file-contents file-name))) - (insert string))))) + (forward-char (cadr (insert-file-contents file-name))) + (insert string))))) (defun smarty-template-insert-date () "Insert date in appropriate format." @@ -2637,8 +2680,8 @@ with double-quotes is to be inserted. DEFAULT specifies a default string." (unless (equal smarty-file-header "") (let (pos) (save-excursion - (smarty-insert-string-or-file smarty-file-header) - (setq pos (point-marker))) + (smarty-insert-string-or-file smarty-file-header) + (setq pos (point-marker))) (smarty-template-replace-header-keywords (point-min-marker) pos file-title)))) @@ -2648,10 +2691,10 @@ with double-quotes is to be inserted. DEFAULT specifies a default string." (unless (equal smarty-file-footer "") (let (pos) (save-excursion - (setq pos (point-marker)) - (smarty-insert-string-or-file smarty-file-footer) - (unless (= (preceding-char) ?\n) - (insert "\n"))) + (setq pos (point-marker)) + (smarty-insert-string-or-file smarty-file-footer) + (unless (= (preceding-char) ?\n) + (insert "\n"))) (smarty-template-replace-header-keywords pos (point-max-marker))))) (defun smarty-template-replace-header-keywords (beg end &optional file-title is-model) @@ -2661,42 +2704,42 @@ with double-quotes is to be inserted. DEFAULT specifies a default string." (save-excursion (goto-char beg) (while (search-forward " " end t) - (replace-match (buffer-name) t t)) + (replace-match (buffer-name) t t)) (goto-char beg) (while (search-forward " " end t) - (replace-match smarty-copyright-string t t)) + (replace-match smarty-copyright-string t t)) (goto-char beg) (while (search-forward " " end t) - (replace-match "" t t) - (insert (user-full-name)) - (when user-mail-address (insert " <" user-mail-address ">"))) + (replace-match "" t t) + (insert (user-full-name)) + (when user-mail-address (insert " <" user-mail-address ">"))) (goto-char beg) (while (search-forward " " end t) - (replace-match (user-login-name) t t)) + (replace-match (user-login-name) t t)) (goto-char beg) (while (search-forward " " end t) - (replace-match smarty-company-name t t)) + (replace-match smarty-company-name t t)) (goto-char beg) ;; Replace with $, so that RCS for the source is ;; not over-enthusiastic with replacements (while (search-forward " " end t) - (replace-match "$" nil t)) + (replace-match "$" nil t)) (goto-char beg) (while (search-forward " " end t) - (replace-match "" t t) - (smarty-template-insert-date)) + (replace-match "" t t) + (smarty-template-insert-date)) (goto-char beg) (while (search-forward " " end t) - (replace-match (format-time-string "%Y" nil) t t)) + (replace-match (format-time-string "%Y" nil) t t)) (goto-char beg) (let (string) - (while - (re-search-forward "<\\(\\(\\w\\|\\s_\\)*\\) string>" end t) - (setq string (read-string (concat (match-string 1) ": "))) - (replace-match string t t))) + (while + (re-search-forward "<\\(\\(\\w\\|\\s_\\)*\\) string>" end t) + (setq string (read-string (concat (match-string 1) ": "))) + (replace-match string t t))) (goto-char beg) (when (and (not is-model) (search-forward " " end t)) - (replace-match "" t t)))))) + (replace-match "" t t)))))) (provide 'smarty-mode) ;;; smarty-mode.el ends here diff --git a/elpa-to-submit/nxhtml/related/wikipedia-mode.el b/elpa-to-submit/nxhtml/related/wikipedia-mode.el index e5c2a6312c..49617abcea 100644 --- a/elpa-to-submit/nxhtml/related/wikipedia-mode.el +++ b/elpa-to-submit/nxhtml/related/wikipedia-mode.el @@ -1780,7 +1780,8 @@ does wikipedia-unfill-region." -(add-hook 'outline-minor-mode-hook 'wikipedia-outline-magic-keys) +;;(add-hook 'outline-minor-mode-hook 'wikipedia-outline-magic-keys) +(add-hook 'wikipedia-mode-hook 'wikipedia-outline-magic-keys) (defun wikipedia-outline-magic-keys () (interactive) diff --git a/elpa-to-submit/nxhtml/tests/elunit.el b/elpa-to-submit/nxhtml/tests/elunit.el deleted file mode 100644 index 40c60e49cc..0000000000 --- a/elpa-to-submit/nxhtml/tests/elunit.el +++ /dev/null @@ -1,334 +0,0 @@ -;;; elunit.el --- Emacs Lisp Unit Testing framework - -;; Modified by Lennart Borgman 2008-07-09 to make all global symbols -;; use the "ert-" prefix. - -;; Copyright (C) 2006 - 2008 Phil Hagelberg - -;; Author: Phil Hagelberg -;; URL: http://www.emacswiki.org/cgi-bin/wiki/ElUnit -;; Version: 1.1 -;; Created: 2006-08-17 -;; Keywords: unit test tdd -;; EmacsWiki: ElUnit - -;; This file is NOT part of GNU Emacs. - -;; Last-Updated: Fri Nov 16 16:23:06 2007 PST -;; By: Phil Hagelberg -;; Update #: 1 - -;;; License: - -;; This program 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. -;; -;; This program 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 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: - -;; Inspired by regress.el by Wayne Mesard and Tom Breton, Test::Unit -;; by Nathaniel Talbott, and xUnit by Kent Beck - -;; ElUnit exists to accomodate test-driven development of Emacs Lisp -;; programs. Tests are divided up into suites. Each test makes a -;; number of assertions to ensure that things are going according to -;; expected. - -;; Tests are divided into suites for the purpose of hierarchical -;; structure and hooks. The hierarchy allows suites to belong to -;; suites, in essence creating test trees. The hooks are meant to -;; allow for extra setup that happens once per test, for both before -;; and after it runs. - -;; You may use Emacs' built-in `assert' function for checking such -;; things, but the assertions at the bottom of this file provide much -;; better reporting if you use them. Using `elunit-assert-that' is -;; preferred over built-in `assert'. - -;;; Usage: - -;; See http://www.emacswiki.org/cgi-bin/wiki/ElUnit for discussion and usage. -;; The file `elunit-test.el' contains meta-tests that you may find helpful -;; to refer to as samples. - -;; Add the lines: -;; (make-local-variable 'after-save-hook) -;; (add-hook 'after-save-hook (lambda () (elunit "meta-suite"))) -;; to the file containing your tests for convenient auto-running. - -;; Unit tests are meant to test single low-level functions. If you -;; find yourself wanting to write higher-level tests, you may find -;; mode-unit.el (http://www.emacswiki.org/cgi-bin/wiki/ModeUnit) -;; useful as it is designed to help test whole Emacs modes. - -;; TODO: - -;; - allow test definitions to be nested in suites -;; - improve readability of failure reports -;; - store suites as a tree instead of a list? - -;;; Code: - -(eval-when-compile (require 'cl)) -(require 'compile) - -(defstruct elunit-test-suite name children tests setup-hooks teardown-hooks) -(defstruct elunit-test name body file line problem message) - -(defface elunit-pass-face - `((t (:background "green"))) - "Face for passing unit tests" :group 'elunit-faces) - -(defface elunit-fail-face - `((t (:background "red1"))) - "Face for failed unit tests" :group 'elunit-faces) - -(defface elunit-error-face - `((t (:background "chocolate1"))) - "Face for errored unit tests" :group 'elunit-faces) - -(put 'elunit-test-failed 'error-conditions '(failure)) - -(defvar elunit-default-suite - "default-suite" - "Choice to use for default suite to run (gets updated to last suite run).") - -(defvar elunit-suites (list (make-test-suite :name 'default-suite)) - "A list of every suite that's been defined.") - -(defvar elunit-test-count 0) -(defvar elunit-failures nil - "A list of tests that have failed.") - -(defvar elunit-done-running-hook nil - "Runs when the tests are finished; passed a total test count and a failure count.") - -(defun elunit-clear-suites () - "Reset the internal suite list." - (interactive) - (setq elunit-suites (list (make-test-suite :name 'default-suite)))) - -(defun elunit-clear () - "Clear overlays from buffer." - (interactive) (remove-overlays)) - -;;; Defining tests - -(defmacro* elunit-defsuite (suite-name suite-ancestor &key setup-hooks teardown-hooks) - "Define a suite, which may be hierarchical." - `(let ((suite (make-test-suite :name ',suite-name - :setup-hooks ,setup-hooks :teardown-hooks ,teardown-hooks))) - (elunit-delete-suite ',suite-name) - (if ',suite-ancestor - (push suite (elunit-test-suite-children (elunit-get-suite ',suite-ancestor)))) - (add-to-list 'elunit-suites suite) - suite)) - -(defun elunit-get-suite (suite) - "Fetch a SUITE by its name." - (if (elunit-test-suite-p suite) - suite - (find suite elunit-suites :test (lambda (suite asuite) - (equal suite (elunit-test-suite-name asuite)))))) - -(defun elunit-delete-suite (name) - "Remove a suite named NAME." - ;; TODO: why doesn't delete work here? - ;; (delete (elunit-get-suite name) elunit-suites)) - (setq elunit-suites (remove (elunit-get-suite name) elunit-suites))) - -(defmacro elunit-deftest (name suite &rest body) - "Define a test NAME in SUITE with BODY." - (save-excursion - ;; TODO: Use backtrace info to get line number - (search-backward (concat "elunit-deftest " (symbol-name name)) nil t) - (let ((line (line-number-at-pos)) - (file buffer-file-name) - (suite-sym (gensym))) - `(let ((,suite-sym (elunit-get-suite ',suite))) - ;; not a foolproof heuristic to get line number, but good enough. - (elunit-delete-test ',name ,suite-sym) - (push (make-test :name ',name :body (lambda () ,@body) - :file ,file :line ,line) - (elunit-test-suite-tests ,suite-sym)))))) - -(defun elunit-get-test (name suite) - "Return a test given a NAME and SUITE." - (if (elunit-test-p name) name - (find name (elunit-test-suite-tests (elunit-get-suite suite)) - :test (lambda (name test) (equal name (elunit-test-name test)))))) - -(defun elunit-delete-test (name suite) - "Delete test named NAME in SUITE." - (let ((suite (elunit-get-suite suite))) - (setf (elunit-test-suite-tests suite) - (delete (elunit-get-test name suite) (elunit-test-suite-tests suite))))) - -(defun elunit-total-test-count (suite) - "Return the total number of tests in a SUITE." - (let ((suite (elunit-get-suite suite))) - (if suite - (+ (apply #'+ (elunit-total-test-count (elunit-test-suite-children suite))) - (length (elunit-test-suite-tests suite)))))) - -(defun elunit-test-docstring (test) - "Return a TEST's docstring." - (if (equal (car (elunit-test-body test)) 'lambda) - (if (stringp (caddr (elunit-test-body test))) - (caddr (elunit-test-body test)) - ""))) - -;;; Running the tests - -(defun elunit (suite) - "Ask for a single SUITE, run all its tests, and display the results." - (interactive (list (completing-read - (concat "Run test suite (default " elunit-default-suite "): " ) - (mapcar (lambda (suite) (symbol-name (elunit-test-suite-name suite))) - elunit-suites) nil t nil nil elunit-default-suite))) - - (elunit-run-suite (elunit-get-suite (intern suite))) - (message "%d tests with %d problems." elunit-test-count (length elunit-failures))) - -(defun elunit-run-suite (suite) - "Run a SUITE's tests and children." - (setq elunit-default-suite (symbol-name (elunit-test-suite-name suite)) - elunit-test-count 0 - elunit-failures nil) - - (dolist (test (reverse (elunit-test-suite-tests suite))) - (if (elunit-test-suite-setup-hooks suite) (apply #'funcall (elunit-test-suite-setup-hooks suite))) - (elunit-run-test test) - (if (elunit-test-suite-teardown-hooks suite) (apply #'funcall (elunit-test-suite-teardown-hooks suite)))) - (dolist (child-suite (elunit-test-suite-children suite)) - (elunit-run-suite child-suite)) - (run-hook-with-args 'elunit-done-running-hook elunit-test-count (length elunit-failures))) - -(defun elunit-run-test (test) - "Run a single `TEST'." - (condition-case err - (progn - (incf elunit-test-count) - (funcall (elunit-test-body test)) - (elunit-highlight-test test 'elunit-pass-face)) - (failure - (elunit-failure test err 'elunit-fail-face)) - (error - (elunit-failure test err 'elunit-error-face)))) - -(defun elunit-failure (test err face) - "Record a failing TEST and store ERR info." - (setf (elunit-test-problem test) err - (elunit-test-message test) (or (cadr err) (format "%s" err))) - (push test elunit-failures) - (elunit-highlight-test test face)) - -(defun elunit-highlight-test (test face) - (save-excursion - ;; (switch-to-buffer (file-name-nondirectory (elunit-test-file test))) - (goto-line (elunit-test-line test)) - (beginning-of-line) - (let ((line-start (point))) - (end-of-line) - (overlay-put (make-overlay line-start (point)) 'face face)))) - -(defun elunit-explain-problem () - "Display a message explaining the problem with the test at point." - (interactive) - (save-excursion - (search-backward-regexp "(elunit-deftest \\([-a-z]+\\) \\([-a-z]+\\)" nil t) - (if (and (match-string 1) (match-string 2)) - (elunit-test-message (elunit-get-test (intern (match-string 1)) - (intern (match-string 2))))))) - -;;; Helper functions - -(defmacro elunit-with-test-buffer (&rest body) - "Execute BODY in a test buffer named `*elunit-output*'." - `(save-excursion - (switch-to-buffer "*elunit-output*") - ,@body - (kill-buffer "*elunit-output*"))) - -(defun elunit-fail (&rest args) - "Signal a test failure in a way that elunit understands. -Takes the same ARGS as `error'." - (signal 'elunit-test-failed (list (apply 'format args)))) - -(font-lock-add-keywords 'emacs-lisp-mode - ;; Make elunit tests look like defuns. - '(("elunit-defsuite" . 'font-lock-keyword-face) - ("elunit-deftest" . 'font-lock-keyword-face) - ("\\ " . 'font-lock-warning-face))) - -;;; General assertions - -;; These are preferred over stuff like (assert (equal [...] because -;; they use the `fail' function, which reports errors nicely. - -(defun elunit-assert-that (actual) - "Fails if ACTUAL is nil." - (unless actual - (elunit-fail "%s expected to be non-nil" actual))) - -(defun elunit-assert-nil (actual) - "Fails if ACTUAL is non-nil." - (when actual - (elunit-fail "%s expected to be nil" actual))) - -(defun elunit-assert-equal (expected actual) - "Fails if EXPECTED is not equal to ACTUAL." - (unless (equal expected actual) - (elunit-fail "%s expected to be %s" actual expected))) - -(defun elunit-assert-not-equal (expected actual) - "Fails if EXPECTED is equal to ACTUAL." - (when (equal expected actual) - (elunit-fail "%s expected to not be %s" actual expected))) - -(defun elunit-assert-member (elt list) - "Fails if ELT is not a member of LIST." - (unless (member elt list) - (elunit-fail "%s expected to include %s" list elt))) - -(defun elunit-assert-match (regex string) - "Fails if REGEX does not match STRING." - (unless (string-match regex string) - (elunit-fail "%s expected to match %s" string regex))) - -(defmacro elunit-assert-error (&rest body) - "Fails if BODY does not signal an error." - `(condition-case err - (progn - ,@body - (elunit-fail "%s expected to signal an error" body)) - (error t))) - -(defmacro elunit-assert-changed (form &rest body) - "Fails if FORM does not return a different value after BODY is evaled." - `(elunit-assert-not-equal (eval ,form) - (progn - ,@body - (eval ,form)))) - -(defmacro elunit-assert-not-changed (form &rest body) - "Fails if FORM returns a different value after BODY is evaled." - `(elunit-assert-equal (eval ,form) - (progn - ,@body - (eval ,form)))) - -(provide 'elunit) - -;;; elunit.el ends here diff --git a/elpa-to-submit/nxhtml/tests/emacstest-suites.el b/elpa-to-submit/nxhtml/tests/emacstest-suites.el index 796dffaa18..9b144f2730 100644 --- a/elpa-to-submit/nxhtml/tests/emacstest-suites.el +++ b/elpa-to-submit/nxhtml/tests/emacstest-suites.el @@ -53,6 +53,8 @@ (file-name-directory (if load-file-name load-file-name buffer-file-name))) (pushnew emacstest-bin load-path) + + (require 'ert2) diff --git a/elpa-to-submit/nxhtml/tests/ert-080729.el b/elpa-to-submit/nxhtml/tests/ert-080729.el deleted file mode 100644 index 586f35813a..0000000000 --- a/elpa-to-submit/nxhtml/tests/ert-080729.el +++ /dev/null @@ -1,2095 +0,0 @@ -;;; ert.el --- Emacs Lisp Regression Testing - -;; Copyright (C) 2007, 2008 Christian M. Ohler - -;; Author: Christian M. Ohler -;; Version: 0.2 -;; Keywords: lisp, tools - -;; This file is NOT part of GNU Emacs. - -;; This program 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 of the -;; License, or (at your option) any later version. -;; -;; This program 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 program. If not, see `http://www.gnu.org/licenses/'. - -;;; Commentary: - -;; ERT is a tool for automated testing in Emacs Lisp. Its main -;; features are facilities for defining and running test cases and -;; reporting the results as well as for debugging test failures -;; interactively. -;; -;; The main entry points are `ert-deftest', which is similar to -;; `defun' but defines a test, and `ert-run-tests-interactively', -;; which runs tests and offers an interactive interface for inspecting -;; results and debugging. There is also `ert-run-tests-batch' for -;; non-interactive use. -;; -;; The body of `ert-deftest' forms resembles a function body, but the -;; additional operators `should', `should-not' and `should-error' are -;; available. `should' is similar to cl's `assert', but signals a -;; different error when its condition is violated that is caught and -;; processed by ERT. In addition, it analyzes its argument form and -;; records information that helps debugging (`assert' tries to do -;; something similar when its second argument SHOW-ARGS is true, but -;; `should' is more sophisticated). For information on `should-not' -;; and `should-error', see their docstrings. -;; -;; For example, -;; -;; ;; Define a test named `foo'. -;; (ert-deftest foo () -;; (should (= (+ 1 2) 4))) -;; -;; ;; Run it. -;; (ert-run-tests-interactively 'foo) -;; -;; generates the following output (in addition to some statistics) in -;; the *ert* results buffer: -;; -;; F foo -;; (ert-test-failed -;; ((should -;; (= -;; (+ 1 2) -;; 4)) -;; :form -;; (= 3 4) -;; :value nil)) -;; -;; This indicates that the test failed. The `should' form that failed -;; was (should (= (+ 1 2) 4)), because its inner form, after -;; evaluation of its arguments, was the function call (= 3 4), which -;; returned nil. -;; -;; Obviously, this is a bug in the test case, not in the functions `+' -;; or `='. In the results buffer, with point on the test result, the -;; key "." can be used to jump to the definition of the test to modify -;; it to correct the bug. After evaluating the modified definition -;; and switching back to the results buffer, the key "r" will re-run -;; the test and show the new result. - - -;; Test selectors -;; -;; Functions like `ert-run-tests-interactively' accept a test -;; selector, which is a Lisp expression specifying a set of tests. -;; Each test name is a selector that refers to that test, the selector -;; `t' refers to all tests, and the selector `:failed' refers to all -;; tests that failed; but more complex selectors are available. Test -;; selector syntax is similar to cl's type specifier syntax. See the -;; docstring of `ert-select-tests' for details. - - -;; Comparison with other testing tools -;; -;; ERT allows test-driven development similar to *Unit frameworks for -;; other languages. However, two common *Unit features are notably -;; absent from ERT: fixtures and test suites. -;; -;; Fixtures, as used e.g. in SUnit or JUnit, have two main purposes: -;; Setting up (and tearing down) an environment for a set of test -;; cases, and making that environment accessible through object -;; attributes that can be used like local variables. -;; -;; While fixtures are a great syntactic simplification in other -;; languages, they are not very useful in Lisp, where higher-order -;; functions and `unwind-protect' are available. One way to implement -;; and use a fixture in ERT is -;; -;; (defun my-fixture (body) -;; (unwind-protect -;; (progn ...set up... -;; (funcall body)) -;; ...tear down...)) -;; -;; (ert-deftest my-test () -;; (my-fixture -;; (lambda () -;; ...test code...))) -;; -;; (Another way would be a `with-my-fixture' macro.) This solves the -;; set-up and tear-down part, and additionally allows any test case to -;; use any combination of fixtures, so it is more general than what -;; other tools typically allow. -;; -;; If the test case needs access to the environment the fixture sets -;; up, the fixture can be modified to pass arguments to the body. -;; -;; These are standard Lisp idioms. Special syntax for them could be -;; added easily enough, but would provide only a minor simplification. -;; -;; (Note that splitting set-up and tear-down into separate functions, -;; like *Unit tools usually do, makes it impossible to establish -;; dynamic `let' bindings as part of the fixture. So, blindly -;; imitating the way fixtures are implemented in other languages would -;; be counter-productive in Lisp.) -;; -;; -;; The purpose of test suites is to group related test cases together. -;; The most common use of this is to run just the tests for one -;; particular module. Since symbol prefixes are the usual way of -;; separating module namespaces in Emacs Lisp, test selectors already -;; solve this by allowing regexp matching on test names; e.g., the -;; selector "^ert-" selects ERT's self-tests. -;; -;; If test suites containing arbitrary sets of tests are found to be -;; desirable, it would be easy to add a `define-test-selector' -;; mechanism that introduces a new selector, defined in terms of -;; existing ones; e.g. -;; -;; ;; Note that `define-test-selector' does not exist yet. -;; (define-test-selector my-test-suite () `(member foo-test bar-test)) -;; -;; would define a test suite named `my-test-suite' consisting of -;; `foo-test' and `bar-test'. See also `deftype' in Common Lisp. - - -;; TODO: Add `skip' feature for tests that can't run in current environment. - - -;;; Code: - -(require 'cl) -(require 'ewoc) -(require 'find-func) -(require 'debug) - -(defvar ert-debug-on-error nil - "Non-nil means enter debugger when a test fails or terminates with an error.") - - -;;; Defining and locating tests. - -;; The data structure that represents a test case. -(defstruct ert-test - (name nil) - (documentation nil) - (body (assert nil)) - (most-recent-result nil) - (expected-result-type 'ert-test-passed)) - -(defun ert-test-boundp (symbol) - "Return non-nil if SYMBOL names a test." - (and (get symbol 'ert-test) t)) - -(defun ert-get-test (symbol) - "If SYMBOL names a test, return that. Signal an error otherwise." - (assert (ert-test-boundp symbol) t) - (get symbol 'ert-test)) - -(defun ert-set-test (symbol definition) - "Make SYMBOL name the test DEFINITION, and return DEFINITION." - (put symbol 'ert-test definition) - definition) - -(defun ert-make-test-unbound (symbol) - "Make SYMBOL name no test. Return SYMBOL." - (remprop symbol 'ert-test) - symbol) - -(defun ert-test-result-expected-p (test result) - "Return non-nil if RESULT matches the expected result type for TEST." - (typep result (ert-test-expected-result-type test))) - -(defvar ert-find-test-regexp - (concat "^\\s-*(ert-deftest" - find-function-space-re - "%s\\(\\s-\\|$\\)") - "The regexp the `find-function' mechanisms use for locating test definitions.") - -(eval-and-compile - (defun ert-parse-keys-and-body (keys-and-body) - "Split KEYS-AND-BODY into keyword-and-value pairs and the remaining body. - -KEYS-AND-BODY should have the form of a property list, with the -exception that only keywords are permitted as keys and that the -tail -- the body -- is a list of forms that does not start with a -keyword. - -Returns a two-element list containing the keys-and-values plist -and the body." - (let ((extracted-key-accu '()) - (remaining keys-and-body)) - (while (and (consp remaining) (keywordp (first remaining))) - (let ((keyword (pop remaining))) - (unless (consp remaining) - (error "Value expected after keyword %S in %S" - keyword keys-and-body)) - (when (assoc keyword extracted-key-accu) - (warn "Keyword %S appears more than once in %S" keyword - keys-and-body)) - (push (cons keyword (pop remaining)) extracted-key-accu))) - (setq extracted-key-accu (nreverse extracted-key-accu)) - (list (loop for (key . value) in extracted-key-accu - collect key - collect value) - remaining)))) - -;;;;###autoload -(defmacro* ert-deftest (name () &body keys-and-body) - "Define NAME (a symbol) as a test. - -\(fn NAME () [:documentation DOCSTRING] [:expected-result TYPE] BODY...)" - (declare (debug (&define :name test name sexp - [&optional [":documentation" stringp]] - [&optional [":expected-result" sexp]] - def-body))) - (destructuring-bind ((&key (expected-result nil expected-result-supplied-p) - (documentation nil documentation-supplied-p)) - body) - (ert-parse-keys-and-body keys-and-body) - `(progn - (ert-set-test ',name - (make-ert-test - :name ',name - :body (lambda () ,@body) - ,@(when expected-result-supplied-p - `(:expected-result-type ,expected-result)) - ,@(when documentation-supplied-p - `(:documentation ,documentation)))) - ;; This hack allows `symbol-file' to associate `ert-deftest' - ;; forms with files, and therefore enables `find-function' to - ;; work with tests. However, it leads to warnings in - ;; `unload-feature', which doesn't know how to undefine tests - ;; and has no mechanism for extension. - (push '(ert-deftest . ,name) current-load-list) - ',name))) - -(defun ert-read-test-name (prompt &optional default-value history) - "Read the name of a test and return it as a symbol. -Prompt with PROMPT. By default, return DEFAULT-VALUE." - (when (symbolp default-value) (setq default-value (symbol-name default-value))) - (intern (completing-read prompt obarray #'ert-test-boundp - t nil history default-value nil))) - -(defun ert-find-test-other-window (test-name) - "Find, in another window, the definition of TEST-NAME." - (interactive (list (ert-read-test-name "Find test definition: "))) - (find-function-do-it test-name 'ert-deftest 'switch-to-buffer-other-window)) - -(defun ert-delete-test (test-name) - "An interactive interface to `ert-make-test-unbound'." - (interactive (list (let ((default (thing-at-point 'symbol))) - (when default - (set-text-properties 0 (length default) nil default) - (when (or (string= default "nil") (intern-soft default)) - (setq default (intern default))) - (unless (ert-test-boundp default) - (setq default nil))) - (completing-read (if (null default) - "Delete test: " - (format "Delete test (default %s): " - default)) - obarray #'ert-test-boundp - 'really-require-match - nil nil default nil)))) - (ert-make-test-unbound test-name)) - -(defun ert-delete-all-tests () - "Make all symbols in `obarray' name no test." - (interactive) - (when (interactive-p) - (unless (y-or-n-p "Delete all tests? ") - (error "Aborted"))) - (mapc #'ert-delete-test (mapcar #'ert-test-name (ert-select-tests t t))) - t) - - -;;; Test selectors. - -(defun ert-select-tests (selector universe) - "Select, from UNIVERSE, a set of tests according to SELECTOR. - -UNIVERSE should be a list of tests, or t, which refers to all -tests named by symbols in `obarray'. - -Returns the set of tests as a list. - -Valid selectors: - -nil -- Selects the empty set. -t -- Selects UNIVERSE. -:new -- Selects all tests that have not been run yet. -:failed, :passed, :error -- Select tests according to their most recent result. -:expected, :unexpected -- Select tests according to their most recent result. -a string -- Selects all tests that have a name that matches the string, a regexp. -a test -- Selects that test. -a symbol -- Selects the test that the symbol names, errors if none. -\(member TESTS...\) -- Selects TESTS, a list of tests or symbols naming tests. -\(eql TEST\) -- Selects TEST, a test or a symbol naming a test. -\(and SELECTORS...\) -- Selects the tests that match all SELECTORS. -\(or SELECTORS...\) -- Selects the tests that match any SELECTOR. -\(not SELECTOR\) -- Selects all tests that do not match SELECTOR. -\(satisfies PREDICATE\) -- Selects all tests that satisfy PREDICATE. - -Only selectors that require a superset of tests, such -as (satisfies ...), strings, :new, etc. make use of UNIVERSE. -Selectors that do not, such as \(member ...\), just return the -set implied by them without checking whether it is really -contained in UNIVERSE." - ;; This code needs to match the etypecase in - ;; `ert-insert-human-readable-selector'. - (etypecase selector - ((member nil) nil) - ((member t) (etypecase universe - (list universe) - ((member t) (ert-select-tests "" universe)))) - ((member :new) (ert-select-tests - `(satisfies ,(lambda (test) - (typep (ert-test-most-recent-result test) - 'null))) - universe)) - ((member :failed) (ert-select-tests - `(satisfies ,(lambda (test) - (typep (ert-test-most-recent-result test) - 'ert-test-failed))) - universe)) - ((member :passed) (ert-select-tests - `(satisfies ,(lambda (test) - (typep (ert-test-most-recent-result test) - 'ert-test-passed))) - universe)) - ((member :error) (ert-select-tests - `(satisfies ,(lambda (test) - (typep (ert-test-most-recent-result test) - 'ert-test-error))) - universe)) - ((member :expected) (ert-select-tests - `(satisfies - ,(lambda (test) - (ert-test-result-expected-p - test - (ert-test-most-recent-result test)))) - universe)) - ((member :unexpected) (ert-select-tests `(not :expected) universe)) - (string - (etypecase universe - ((member t) (mapcar #'ert-get-test - (apropos-internal selector #'ert-test-boundp))) - (list (remove-if-not (lambda (test) - (and (ert-test-name test) - (string-match selector (ert-test-name test)))) - universe)))) - (ert-test (list selector)) - (symbol - (assert (ert-test-boundp selector)) - (list (ert-get-test selector))) - (cons - (destructuring-bind (operator &rest operands) selector - (ecase operator - (member - (mapcar (lambda (purported-test) - (etypecase purported-test - (symbol (assert (ert-test-boundp purported-test)) - (ert-get-test purported-test)) - (ert-test purported-test))) - operands)) - (eql - (assert (eql (length operands) 1)) - (ert-select-tests `(member ,@operands) universe)) - (and - ;; Do these definitions of AND, NOT and OR satisfy de - ;; Morgan's rules? Should they? - (case (length operands) - (0 (ert-select-tests 't universe)) - (t (ert-select-tests `(and ,@(rest operands)) - (ert-select-tests (first operands) universe))))) - (not - (assert (eql (length operands) 1)) - (set-difference (ert-select-tests 't universe) - (ert-select-tests (first operands) universe))) - (or - (case (length operands) - (0 (ert-select-tests 'nil universe)) - (t (union (ert-select-tests (first operands) universe) - (ert-select-tests `(or ,@(rest operands)) universe))))) - (satisfies - (assert (eql (length operands) 1)) - (remove-if-not (first operands) (ert-select-tests 't universe)))))))) - -(defun ert-insert-human-readable-selector (selector) - "Insert a human-readable presentation of SELECTOR into the current buffer." - ;; This is needed to avoid printing the (huge) contents of the - ;; `backtrace' slot of the result objects in the - ;; `most-recent-result' slots of test case objects in (eql ...) or - ;; (member ...) selectors. - (labels ((rec (selector) - ;; This code needs to match the etypecase in `ert-select-tests'. - (etypecase selector - ((or (member nil t - :new :failed :passed :error - :expected :unexpected) - string - symbol) - selector) - (ert-test - (if (ert-test-name selector) - (make-symbol (format "<%S>" (ert-test-name selector))) - (make-symbol " "))) - (cons - (destructuring-bind (operator &rest operands) selector - (ecase operator - ((member eql and not or) - `(,operator ,@(mapcar #'rec operands))) - (satisfies - selector))))))) - (insert (format "%S" (rec selector))))) - - -;;; Running tests. - -(put 'ert-test-failed 'error-conditions '(error ert-test-failed)) -(put 'ert-test-failed 'error-message "Test failed") - -(defun ert-pass () - "Terminate the current test and mark it passed. Does not return." - (throw 'ert-pass nil)) - -(defun ert-fail (data) - "Terminate the current test and mark it failed. Does not return. -DATA is displayed to the user and should state the reason of the failure." - (signal 'ert-test-failed (list data))) - -;; The data structures that represent the result of running a test. -(defstruct ert-test-result) -(defstruct (ert-test-passed (:include ert-test-result))) -(defstruct (ert-test-result-with-condition (:include ert-test-result) - (:conc-name ert-test-result-)) - (condition (assert nil)) - (backtrace (assert nil))) -(defstruct (ert-test-error (:include ert-test-result-with-condition))) -(defstruct (ert-test-quit (:include ert-test-result-with-condition))) -(defstruct (ert-test-failed (:include ert-test-result-with-condition))) -(defstruct (ert-test-aborted-with-non-local-exit (:include ert-test-result))) - - -(defun ert-record-backtrace () - "Record the current backtrace (as a list) and return it." - ;; Since the backtrace is stored in the result object, result - ;; objects must only be printed with appropriate limits - ;; (`print-level' and `print-length') in place. For interactive - ;; use, the cost of ensuring this possibly outweighs the advantage - ;; of storing the backtrace for - ;; `ert-results-pop-to-backtrace-for-test-at-point' given that we - ;; already have `ert-results-rerun-test-debugging-errors-at-point'. - ;; For batch use, however, printing the backtrace may be useful. - (loop - ;; 6 is the number of frames our own debugger adds (when - ;; compiled; more when interpreted). FIXME: Need to describe a - ;; procedure for determining this constant. - for i from 6 - for frame = (backtrace-frame i) - while frame - collect frame)) - -;; A container for the state of the execution of a single test and -;; environment data needed during its execution. -(defstruct ert-test-execution-info - (test (assert nil)) - (result (assert nil)) - ;; A thunk that may be called when RESULT has been set to its final - ;; value and test execution should be terminated. Should not - ;; return. - (exit-continuation (assert nil)) - ;; The binding of `debugger' outside of the execution of the test. - next-debugger - ;; The binding of `ert-debug-on-error' that is in effect for the - ;; execution of the current test. We store it to avoid being - ;; affected by any new bindings the test itself may establish. (I - ;; don't remember whether this feature is important.) - ert-debug-on-error) - -(defun ert-run-test-debugger (info debugger-args) - "The function that `debugger' is bound to during the execution of tests. - -Records failures and errors and either terminates the test -silently or calls the interactive debugger, as appropriate." - (destructuring-bind (first-debugger-arg &rest more-debugger-args) debugger-args - (ecase first-debugger-arg - ((lambda debug t exit nil) - (apply (ert-test-execution-info-next-debugger info) debugger-args)) - (error - (let* ((condition (first more-debugger-args)) - (type (case (car condition) - ((quit) 'quit) - ((ert-test-failed) 'failed) - (otherwise 'error))) - (backtrace (ert-record-backtrace))) - (setf (ert-test-execution-info-result info) - (ecase type - (quit - (make-ert-test-quit :condition condition - :backtrace backtrace)) - (failed - (make-ert-test-failed :condition condition - :backtrace backtrace)) - (error - (make-ert-test-error :condition condition - :backtrace backtrace)))) - ;; Work around Emacs' heuristic (in eval.c) for detecting - ;; errors in the debugger. - (incf num-nonmacro-input-events) - ;; FIXME: We should probably implement more fine-grained - ;; control a la non-t `debug-on-error' here. - (cond - ((ert-test-execution-info-ert-debug-on-error info) - (apply (ert-test-execution-info-next-debugger info) debugger-args)) - (t)) - (funcall (ert-test-execution-info-exit-continuation info))))))) - -(defun ert-run-test-internal (ert-test-execution-info) - (lexical-let ((info ert-test-execution-info)) - (setf (ert-test-execution-info-next-debugger info) debugger - (ert-test-execution-info-ert-debug-on-error info) ert-debug-on-error) - (catch 'ert-pass - ;; For now, each test gets its own temp buffer and its own - ;; window excursion, just to be safe. If this turns out to be - ;; too expensive, we can remove it. - (with-temp-buffer - (save-window-excursion - (let ((debugger (lambda (&rest debugger-args) - (ert-run-test-debugger info debugger-args))) - (debug-on-error t) - (debug-on-quit t) - ;; FIXME: Do we need to store the old binding of this - ;; and consider it in `ert-run-test-debugger'? - (debug-ignored-errors nil)) - (funcall (ert-test-body (ert-test-execution-info-test info)))))) - (ert-pass)) - (setf (ert-test-execution-info-result info) (make-ert-test-passed)))) - -(defun ert-run-test (test) - "Run TEST. Return the result and store it in TEST's `most-recent-result' slot." - (setf (ert-test-most-recent-result test) nil) - (block error - (lexical-let ((info (make-ert-test-execution-info - :test test - :result (make-ert-test-aborted-with-non-local-exit) - :exit-continuation (lambda () - (return-from error nil))))) - (unwind-protect - (ert-run-test-internal info) - (setf (ert-test-most-recent-result test) - (ert-test-execution-info-result info))))) - (ert-test-most-recent-result test)) - - -;;; The `should' macros. - -(eval-and-compile - (defun ert-special-operator-p (thing) - "Return non-nil if THING is a symbol naming a special operator." - (and (symbolp thing) - (let ((definition (indirect-function thing t))) - (and (subrp definition) - (eql (cdr (subr-arity definition)) 'unevalled))))) - (defun ert-expand-should (whole form env inner-expander) - "Helper function for the `should' macro and its variants. - -Analyzes FORM and produces an expression that has the same -semantics under evaluation but records additional debugging -information. INNER-EXPANDER adds the actual checks specific to -the particular variant of `should'." - (let ((form (macroexpand form env))) - ;; It's sort of a wart that `inner-expander' can't influence the - ;; value the expansion returns. - (cond - ((atom form) - (funcall inner-expander form `(list ',whole :form ',form :value ,form))) - ((ert-special-operator-p (car form)) - (let ((value (gensym "value-"))) - `(let ((,value (make-symbol "ert-form-evaluation-aborted"))) - ,(funcall inner-expander - `(setq ,value ,form) - `(list ',whole :form ',form :value ,value)) - ,value))) - (t - (let ((fn-name (car form)) - (arg-forms (cdr form))) - (assert (or (symbolp fn-name) - (and (consp fn-name) - (eql (car fn-name) 'lambda) - (listp (cdr fn-name))))) - (let ((fn (gensym "fn-")) - (args (gensym "args-")) - (value (gensym "value-")) - (default-value (gensym "ert-form-evaluation-aborted-"))) - `(let ((,fn (function ,fn-name)) - (,args (list ,@arg-forms))) - (let ((,value ',default-value)) - ,(funcall inner-expander - `(setq ,value (apply ,fn ,args)) - `(nconc (list ',whole) - (list :form `(,,fn ,@,args)) - (unless (eql ,value ',default-value) - (list :value ,value)) - (let ((-explainer- - (and (symbolp ',fn-name) - (get ',fn-name - 'ert-explainer)))) - (when -explainer- - (list :explanation - (apply -explainer- ,args)))))) - ,value))))))))) - -(defmacro* should (form &environment env) - "Evaluate FORM. If it returns nil, abort the current test as failed. - -Returns the value of FORM." - (ert-expand-should `(should ,form) form env - (lambda (inner-form form-description-form) - `(unless ,inner-form - (ert-fail ,form-description-form))))) - -(defmacro* should-not (form &environment env) - "Evaluate FORM. If it returns non-nil, abort the current test as failed. - -Returns nil." - (ert-expand-should `(should-not ,form) form env - (lambda (inner-form form-description-form) - `(unless (not ,inner-form) - (ert-fail ,form-description-form))))) - -(defun ert-should-error-handle-error (form-description-fn - condition type exclude-subtypes test) - "Helper function for `should-error'. - -Determines whether CONDITION matches TYPE, EXCLUDE-SUBTYPES and -TEST, and aborts the current test as failed if it doesn't." - (let ((signalled-conditions (get (car condition) 'error-conditions)) - (handled-conditions (etypecase type - (list type) - (symbol (list type))))) - (assert signalled-conditions) - (unless (intersection signalled-conditions handled-conditions) - (ert-fail (append - (funcall form-description-fn) - (list - :condition condition - :fail-reason (concat "the error signalled did not" - " have the expected type"))))) - (when exclude-subtypes - (unless (member (car condition) handled-conditions) - (ert-fail (append - (funcall form-description-fn) - (list - :condition condition - :fail-reason (concat "the error signalled was a subtype" - " of the expected type")))))) - (unless (funcall test condition) - (ert-fail (append - (funcall form-description-fn) - (list - :condition condition - :fail-reason "the error signalled did not pass the test")))))) - -;; FIXME: The expansion will evaluate the keyword args (if any) in -;; nonstandard order. -(defmacro* should-error (form &rest keys &key type exclude-subtypes test - &environment env) - "Evaluate FORM. Unless it signals an error, abort the current test as failed. - -The error signalled additionally needs to match TYPE and satisfy -TEST. TYPE should be a condition name or a list of condition -names. If EXCLUDE-SUBTYPES is nil, the error matches TYPE if one -of its condition names is an element of TYPE. If -EXCLUDE-SUBTYPES is non-nil, the error matches TYPE if it is an -element of TYPE. TEST should be a predicate." - ;; Returns a gensym named `ert-form-evaluation-aborted-XXX', but - ;; that's a wart, so let's not document it. - (unless type (setq type ''error)) - (unless test (setq test '(lambda (condition) t))) - (ert-expand-should - `(should-error ,form ,@keys) - form env - (lambda (inner-form form-description-form) - (let ((errorp (gensym "errorp")) - (form-description-fn (gensym "form-description-fn-"))) - `(let ((,errorp nil) - (,form-description-fn (lambda () ,form-description-form))) - (condition-case -condition- - ,inner-form - ;; We can't use ,type here because we want to evaluate it. - (error - (setq ,errorp t) - (ert-should-error-handle-error ,form-description-fn - -condition- - ,type ,exclude-subtypes ,test) - ;; It would make sense to have the `should-error' form - ;; return the error in this case, but `ert-expand-should' - ;; doesn't allow that at the moment. - )) - (unless ,errorp - (ert-fail (append - (funcall ,form-description-fn) - (list - :fail-reason "did not signal an error"))))))))) - - -;;; Explanation of `should' failures. - -(defun ert-proper-list-p (x) - "Return non-nil if X is a proper list, nil otherwise." - (loop - for firstp = t then nil - for fast = x then (cddr fast) - for slow = x then (cdr slow) do - (when (null fast) (return t)) - (when (not (consp fast)) (return nil)) - (when (null (cdr fast)) (return t)) - (when (not (consp (cdr fast))) (return nil)) - (when (and (not firstp) (eq fast slow)) (return nil)))) - -(defun ert-explain-not-equal (a b) - "Return a programmer-readable explanation of why A and B are not `equal'. - -Returns nil if they are equal." - (if (not (equal (type-of a) (type-of b))) - `(different-types ,a ,b) - (etypecase a - (cons - (let ((a-proper-p (ert-proper-list-p a)) - (b-proper-p (ert-proper-list-p b))) - (if (not (eql (not a-proper-p) (not b-proper-p))) - `(one-list-proper-one-improper ,a ,b) - (if a-proper-p - (if (not (equal (length a) (length b))) - ;; This would be even more helpful if it showed - ;; something like what `set-difference' would - ;; return. - `(proper-lists-of-different-length ,a ,b) - (loop for i from 0 - for ai in a - for bi in b - for xi = (ert-explain-not-equal ai bi) - do (when xi (return `(list-elt ,i ,xi))))) - (let ((car-x (ert-explain-not-equal (car a) (car b)))) - (if car-x - `(car ,car-x) - (let ((cdr-x (ert-explain-not-equal (cdr a) (cdr b)))) - (if cdr-x - `(cdr ,cdr-x)) - nil))))))) - (array (if (not (equal (length a) (length b))) - `(arrays-of-different-length ,a ,b) - (loop for i from 0 - for ai across a - for bi across b - for xi = (ert-explain-not-equal ai bi) - do (when xi (return `(array-elt ,i ,xi)))))) - (atom (if (not (equal a b)) - `(different-atoms ,a ,b) - nil))))) -(put 'equal 'ert-explainer 'ert-explain-not-equal) - - -;;; Results display. - -;; The data structure that contains the set of tests being executed -;; during one particular test run, their results, the state of the -;; execution, and some statistics. -;; -;; The data about results and expected results of tests may seem -;; redundant here, since the test objects also carry such information. -;; However, the information in the test objects may be more recent, it -;; may correspond to a different test run. We need the information -;; that corresponds to this run in order to be able to update the -;; statistics correctly when a test is re-run interactively and has a -;; different result than before. -(defstruct ert-stats - (selector (assert nil)) - ;; The tests, in order. - (tests (assert nil) :type vector) - ;; A map of test names (or the test objects themselves for unnamed - ;; tests) to indices into the `tests' vector. - (test-map (assert nil) :type hash-table) - ;; The results of the tests during this run, in order. - (test-results (assert nil) :type vector) - ;; The expected result types of the tests, in order. - (test-results-expected (assert nil) :type vector) - (total (assert nil)) - (passed-expected 0) - (passed-unexpected 0) - (failed-expected 0) - (failed-unexpected 0) - (error-expected 0) - (error-unexpected 0) - (start-time (assert nil)) - (end-time nil) - (aborted-p nil) - (current-test nil)) - -;; An entry in the results buffer ewoc. There is one entry per test. -(defstruct ert-ewoc-entry - (test (assert nil)) - (result nil) - ;; If the result of this test was expected, its ewoc entry is hidden - ;; initially. - (hidden-p (assert nil)) - ;; An ewoc entry may be collapsed to hide details such as the error - ;; condition. - ;; - ;; I'm not sure the ability to expand and collapse entries is still - ;; a useful feature. - (expanded-p t) - ;; By default, the ewoc entry presents the error condition with - ;; certain limits on how much to print (`print-level', - ;; `print-length'). The user can interactively switch to a set of - ;; higher limits. - (extended-printer-limits-p nil)) - -;; Variables local to the results buffer. - -;; The ewoc. -(defvar ert-results-ewoc) -;; The stats object. -(defvar ert-results-stats) -;; A string with one character per test. Each character represents -;; the result of the corresponding test. The string is displayed near -;; the top of the buffer and serves as a progress bar. -(defvar ert-results-progress-bar-string) -;; The position where the progress bar button begins. -(defvar ert-results-progress-bar-button-begin) -;; The test result listener that updates the buffer when tests are run. -(defvar ert-results-listener) - -;; The same as `ert-results-stats', but dynamically bound. Used for -;; the mode line progress indicator. -(defvar ert-current-run-stats nil) - -(defun ert-format-time-iso8601 (time) - "Format TIME in the particular variant of ISO 8601 used for timestamps in ERT." - (format-time-string "%Y-%m-%d %T%z" time)) - -(defun ert-results-update-ewoc-hf (ewoc stats) - "Update the header and footer of EWOC to show certain information from STATS. - -Also sets `ert-results-progress-bar-button-begin'." - (let ((run-count (+ (ert-stats-passed-expected stats) - (ert-stats-passed-unexpected stats) - (ert-stats-failed-expected stats) - (ert-stats-failed-unexpected stats) - (ert-stats-error-expected stats) - (ert-stats-error-unexpected stats))) - (results-buffer (current-buffer))) - (ewoc-set-hf - ewoc - ;; header - (with-temp-buffer - (insert "Selector: ") - (ert-insert-human-readable-selector (ert-stats-selector stats)) - (insert "\n") - (insert - (format (concat "Passed: %s (%s unexpected)\n" - "Failed: %s (%s unexpected)\n" - "Error: %s (%s unexpected)\n" - "Total: %s/%s\n\n") - (+ (ert-stats-passed-expected stats) - (ert-stats-passed-unexpected stats)) - (ert-stats-passed-unexpected stats) - (+ (ert-stats-failed-expected stats) - (ert-stats-failed-unexpected stats)) - (ert-stats-failed-unexpected stats) - (+ (ert-stats-error-expected stats) - (ert-stats-error-unexpected stats)) - (ert-stats-error-unexpected stats) - run-count - (ert-stats-total stats))) - (insert - (format "Started at: %s\n" - (ert-format-time-iso8601 (ert-stats-start-time stats)))) - ;; FIXME: This is ugly. Need to properly define invariants of - ;; the `stats' data structure. - (let ((state (cond ((ert-stats-aborted-p stats) - 'aborted) - ((ert-stats-current-test stats) - 'running) - ((ert-stats-end-time stats) - 'finished) - (t - 'preparing)))) - (ecase state - (preparing - (insert "")) - (aborted - (cond ((ert-stats-current-test stats) - (insert "Aborted during test: ") - (let ((test-name (ert-test-name - (ert-stats-current-test stats)))) - (insert-text-button (format "%S" test-name) - :type 'ert-results-test-name-button - 'ert-test-name test-name))) - (t - (insert "Aborted.")))) - (running - (assert (ert-stats-current-test stats)) - (insert "Running test: ") - (let ((test-name (ert-test-name (ert-stats-current-test stats)))) - (insert-text-button (format "%S" test-name) - :type 'ert-results-test-name-button - 'ert-test-name test-name))) - (finished - (assert (not (ert-stats-current-test stats))) - (insert "Finished."))) - (insert "\n") - (if (ert-stats-end-time stats) - (insert - (format "%s%s\n" - (if (ert-stats-aborted-p stats) - "Aborted at: " - "Finished at: ") - (ert-format-time-iso8601 (ert-stats-end-time stats)))) - (insert "\n")) - (insert "\n")) - (let ((progress-bar-string (with-current-buffer results-buffer - ert-results-progress-bar-string))) - (let ((progress-bar-button-begin - (insert-text-button (substring progress-bar-string 0 run-count) - :type 'ert-results-progress-bar-button))) - (with-current-buffer results-buffer - (set (make-local-variable 'ert-results-progress-bar-button-begin) - progress-bar-button-begin))) - (insert (substring progress-bar-string run-count))) - (insert "\n\n") - (buffer-string)) - ;; footer - ;; - ;; We actually want an empty footer, but that would trigger a bug - ;; in ewoc, sometimes clearing the entire buffer. - "\n"))) - -(defun ert-results-update-stats-display (ewoc stats) - "Update EWOC and the mode line to show data from STATS." - (ert-results-update-ewoc-hf ewoc stats) - (force-mode-line-update) - (redisplay t)) - -(defun ert-char-for-test-result (result expectedp) - "Return a character that represents the test result RESULT." - (let ((char - (etypecase result - (ert-test-passed ?.) - (ert-test-failed ?f) - (ert-test-error ?e) - (null ?-) - (ert-test-aborted-with-non-local-exit ?a)))) - (if expectedp - char - (upcase char)))) - -(defun ert-string-for-test-result (result expectedp) - "Return a string that represents the test result RESULT." - (etypecase result - (ert-test-passed "passed") - (ert-test-failed "failed") - (ert-test-error "error") - (null "unknown") - (ert-test-aborted-with-non-local-exit "aborted"))) - -(defun ert-tests-running-mode-line-indicator () - (let* ((stats ert-current-run-stats) - (tests-total (ert-stats-total stats)) - (tests-completed (+ (ert-stats-passed-expected stats) - (ert-stats-passed-unexpected stats) - (ert-stats-failed-expected stats) - (ert-stats-failed-unexpected stats) - (ert-stats-error-expected stats) - (ert-stats-error-unexpected stats)))) - (if (>= tests-completed tests-total) - (format " ERT(%s/%s,finished)" tests-completed tests-total) - (format " ERT(%s/%s):%s" - (1+ tests-completed) - tests-total - (if (null (ert-stats-current-test stats)) - "?" - (format "%S" - (ert-test-name (ert-stats-current-test stats)))))))) - -(defun ert-pp-with-indentation-and-newline (object) - "Pretty-print OBJECT, indenting it to the current column of point. -Ensures a final newline is inserted." - (let ((begin (point))) - (pp object (current-buffer)) - (unless (bolp) (insert "\n")) - (save-excursion - (goto-char begin) - (indent-sexp)))) - -(defun ert-print-test-for-ewoc (entry) - "The ewoc print function for ewoc test entries." - (let* ((test (ert-ewoc-entry-test entry)) - (result (ert-ewoc-entry-result entry)) - (hiddenp (ert-ewoc-entry-hidden-p entry)) - (expandedp (ert-ewoc-entry-expanded-p entry)) - (extended-printer-limits-p (ert-ewoc-entry-extended-printer-limits-p - entry))) - (cond (hiddenp) - (t - (insert-text-button (format "%c" - (ert-char-for-test-result - result - (ert-test-result-expected-p test - result))) - :type 'ert-results-expand-collapse-button) - (insert " ") - (insert-text-button (format "%S" (ert-test-name test)) - :type 'ert-results-test-name-button - 'ert-test-name (ert-test-name test)) - (insert "\n") - (when (and expandedp (not (eql result 'nil))) - (etypecase result - (ert-test-passed - (insert " passed\n") - (insert "")) - (ert-test-result-with-condition - (insert " ") - (let ((print-escape-newlines t) - (print-level (if extended-printer-limits-p 10 5)) - (print-length (if extended-printer-limits-p 100 10))) - (let ((begin (point))) - (ert-pp-with-indentation-and-newline - (ert-test-result-condition result)) - (save-restriction - (narrow-to-region begin (point)) - ;; Inhibit optimization in `debugger-make-xrefs' - ;; that sometimes inserts unrelated backtrace - ;; info into our buffer. - (let ((debugger-previous-backtrace nil)) - (debugger-make-xrefs)))))) - (ert-test-aborted-with-non-local-exit - (insert " aborted\n"))) - (insert "\n"))))) - nil) - -(defun ert-setup-results-buffer (stats listener buffer-name) - "Set up a test results buffer." - (unless buffer-name (setq buffer-name "*ert*")) - (let ((buffer (let ((default-major-mode 'fundamental-mode)) - (get-buffer-create buffer-name)))) - (with-current-buffer buffer - (setq buffer-read-only t) - (let ((inhibit-read-only t)) - (buffer-disable-undo) - (erase-buffer) - (ert-results-mode) - (set (make-local-variable 'ert-results-ewoc) - (ewoc-create 'ert-print-test-for-ewoc nil nil t)) - (set (make-local-variable 'ert-results-stats) stats) - (set (make-local-variable 'ert-results-progress-bar-string) - (make-string (ert-stats-total stats) - (ert-char-for-test-result nil t))) - (set (make-local-variable 'ert-results-listener) listener) - (ert-results-update-ewoc-hf ert-results-ewoc ert-results-stats) - (goto-char (1- (point-max))) - buffer)))) - -(defun ert-run-or-rerun-test (stats test listener) - "Run the single test TEST and record the result using STATS and LISTENER." - (let ((ert-current-run-stats stats) - (pos (ert-stats-test-index stats test)) - (results (ert-stats-test-results stats)) - (expected (ert-stats-test-results-expected stats))) - ;; Adjust stats to remove previous result. - (if (aref expected pos) - (etypecase (aref results pos) - (ert-test-passed (decf (ert-stats-passed-expected stats))) - (ert-test-failed (decf (ert-stats-failed-expected stats))) - (ert-test-error (decf (ert-stats-error-expected stats))) - (null) - (ert-test-aborted-with-non-local-exit)) - (etypecase (aref results pos) - (ert-test-passed (decf (ert-stats-passed-unexpected stats))) - (ert-test-failed (decf (ert-stats-failed-unexpected stats))) - (ert-test-error (decf (ert-stats-error-unexpected stats))) - (null) - (ert-test-aborted-with-non-local-exit))) - (setf (aref results pos) nil) - ;; Call listener after setting/before resetting - ;; (ert-stats-current-test stats); the listener might refresh the - ;; mode line display, and if the value is not set yet/any more - ;; during this refresh, the mode line will flicker unnecessarily. - (setf (ert-stats-current-test stats) test) - (funcall listener 'test-started stats test) - (setf (ert-test-most-recent-result test) nil) - (unwind-protect - (ert-run-test test) - (let* ((result (ert-test-most-recent-result test)) - (expectedp (typep result (ert-test-expected-result-type test)))) - ;; Adjust stats to add new result. - (if expectedp - (etypecase result - (ert-test-passed (incf (ert-stats-passed-expected stats))) - (ert-test-failed (incf (ert-stats-failed-expected stats))) - (ert-test-error (incf (ert-stats-error-expected stats))) - (null) - (ert-test-aborted-with-non-local-exit)) - (etypecase result - (ert-test-passed (incf (ert-stats-passed-unexpected stats))) - (ert-test-failed (incf (ert-stats-failed-unexpected stats))) - (ert-test-error (incf (ert-stats-error-unexpected stats))) - (null) - (ert-test-aborted-with-non-local-exit))) - (setf (aref results pos) result - (aref expected pos) expectedp) - (funcall listener 'test-ended stats test result)) - (setf (ert-stats-current-test stats) nil)))) - -(defun ert-run-tests (selector listener) - "Run the tests specified by SELECTOR, sending progress updates to LISTENER." - (let* ((tests (coerce (ert-select-tests selector t) 'vector)) - (map (let ((map (make-hash-table :size (length tests)))) - (loop for i from 0 - for test across tests - for key = (or (ert-test-name test) test) do - (assert (not (gethash key map))) - (setf (gethash key map) i)) - map)) - (stats (make-ert-stats :selector selector - :tests tests - :test-map map - :test-results (make-vector (length tests) nil) - :test-results-expected (make-vector - (length tests) nil) - :total (length tests) - :start-time (current-time)))) - (funcall listener 'run-started stats) - (let ((abortedp t)) - (let ((ert-current-run-stats stats)) - (force-mode-line-update) - (unwind-protect - (progn - (loop for test across tests do - (ert-run-or-rerun-test stats test listener)) - (setq abortedp nil)) - (setf (ert-stats-aborted-p stats) abortedp) - (setf (ert-stats-end-time stats) (current-time)) - (funcall listener 'run-ended stats abortedp))) - stats))) - -(defun ert-stats-test-index (stats test) - "Return the index of TEST in the run represented by STATS." - (gethash (or (ert-test-name test) test) (ert-stats-test-map stats))) - -(defvar ert-selector-history nil - "List of recent test selectors read from terminal.") - -;; Should OUTPUT-BUFFER-NAME and MESSAGE-FN really be arguments here? -;; They are needed only for our automated self-tests at the moment. -;; Or should there be some other mechanism? -;;;;###autoload -(defun ert-run-tests-interactively (selector - &optional output-buffer-name message-fn) - "Run the tests specified by SELECTOR and display the results in a buffer." - (interactive - (list (let ((default (if ert-selector-history - (first ert-selector-history) - "t"))) - (read-from-minibuffer (if (null default) - "Run tests: " - (format "Run tests (default %s): " default)) - nil nil t 'ert-selector-history - default nil)) - nil)) - (unless message-fn (setq message-fn 'message)) - (lexical-let ((output-buffer-name output-buffer-name) - buffer - listener - (message-fn message-fn)) - (setq listener - (lambda (event-type &rest event-args) - (ecase event-type - (run-started - (destructuring-bind (stats) event-args - (setq buffer (ert-setup-results-buffer stats - listener - output-buffer-name)) - (pop-to-buffer buffer))) - (run-ended - (destructuring-bind (stats abortedp) event-args - (funcall message-fn - "%sRan %s tests, %s results were as expected%s" - (if (not abortedp) - "" - "Aborted: ") - (ert-stats-total stats) - (+ (ert-stats-passed-expected stats) - (ert-stats-failed-expected stats) - (ert-stats-error-expected stats)) - (let ((unexpected - (+ (ert-stats-passed-unexpected stats) - (ert-stats-failed-unexpected stats) - (ert-stats-error-unexpected stats)))) - (if (zerop unexpected) - "" - (format ", %s unexpected" unexpected)))) - (ert-results-update-stats-display (with-current-buffer buffer - ert-results-ewoc) - stats))) - (test-started - (destructuring-bind (stats test) event-args - (with-current-buffer buffer - (let* ((ewoc ert-results-ewoc) - (pos (ert-stats-test-index stats test)) - (node (ewoc-nth ewoc pos))) - (unless node - ;; FIXME: How expensive is this assertion? - (assert (or (zerop pos) (ewoc-nth ewoc (1- pos))) - t) - (setq node (ewoc-enter-last - ewoc - (make-ert-ewoc-entry :test test - :hidden-p t)))) - (setf (ert-ewoc-entry-test (ewoc-data node)) test) - (setf (ert-ewoc-entry-result (ewoc-data node)) nil) - (aset ert-results-progress-bar-string pos - (ert-char-for-test-result nil t)) - (ert-results-update-stats-display ewoc stats) - (ewoc-invalidate ewoc node))))) - (test-ended - (destructuring-bind (stats test result) event-args - (with-current-buffer buffer - (let* ((ewoc ert-results-ewoc) - (pos (ert-stats-test-index stats test)) - (node (ewoc-nth ewoc pos))) - (setf (ert-ewoc-entry-result (ewoc-data node)) result) - (when (ert-ewoc-entry-hidden-p (ewoc-data node)) - (setf (ert-ewoc-entry-hidden-p (ewoc-data node)) - (ert-test-result-expected-p test result))) - (aset ert-results-progress-bar-string pos - (ert-char-for-test-result result - (ert-test-result-expected-p - test result))) - (ert-results-update-stats-display ewoc stats) - (ewoc-invalidate ewoc node)))))))) - (ert-run-tests - selector - listener))) - -(defvar ert-batch-backtrace-right-margin 70 - "*The maximum line length for printing backtraces in `ert-run-tests-batch'.") - -(defun ert-run-tests-batch (selector) - "Run the tests specified by SELECTOR, printing results to the terminal. - -Returns the stats object." - (ert-run-tests - selector - (lambda (event-type &rest event-args) - (ecase event-type - (run-started - (destructuring-bind (stats) event-args - (message "Running %s tests (%s)" - (length (ert-stats-tests stats)) - (ert-format-time-iso8601 (ert-stats-start-time stats))))) - (run-ended - (destructuring-bind (stats abortedp) event-args - (let ((unexpected (+ (ert-stats-passed-unexpected stats) - (ert-stats-failed-unexpected stats) - (ert-stats-error-unexpected stats)))) - (message "\n%sRan %s tests, %s results were as expected%s (%s)\n" - (if (not abortedp) - "" - "Aborted: ") - (ert-stats-total stats) - (+ (ert-stats-passed-expected stats) - (ert-stats-failed-expected stats) - (ert-stats-error-expected stats)) - (if (zerop unexpected) - "" - (format ", %s unexpected" unexpected)) - (ert-format-time-iso8601 (ert-stats-end-time stats))) - (unless (zerop unexpected) - (message "%s unexpected results:" unexpected) - (loop for test across (ert-stats-tests stats) - for result = (ert-test-most-recent-result test) do - (when (not (ert-test-result-expected-p test result)) - (message "%9s %S" - (ert-string-for-test-result result nil) - (ert-test-name test)))) - (message "%s" ""))))) - (test-started - ) - (test-ended - (destructuring-bind (stats test result) event-args - (etypecase result - (ert-test-passed) - (ert-test-result-with-condition - (message "Test %S backtrace:" (ert-test-name test)) - (with-temp-buffer - (ert-print-backtrace (ert-test-result-backtrace result)) - (goto-char (point-min)) - (while (not (eobp)) - (let ((start (point)) - (end (progn (end-of-line) (point)))) - (setq end (min end - (+ start ert-batch-backtrace-right-margin))) - (message "%s" (buffer-substring-no-properties - start end))) - (forward-line 1))) - (with-temp-buffer - (insert " ") - (let ((print-escape-newlines t) - (print-level 5) - (print-length 10)) - (let ((begin (point))) - (ert-pp-with-indentation-and-newline - (ert-test-result-condition result)))) - (goto-char (1- (point-max))) - (assert (looking-at "\n")) - (delete-char 1) - (message "Test %S condition:" (ert-test-name test)) - (message "%s" (buffer-string)))) - (ert-test-aborted-with-non-local-exit)) - (let* ((max (prin1-to-string (length (ert-stats-tests stats)))) - (format-string (concat "%9s %" - (prin1-to-string (length max)) - "s/" max " %S"))) - (message format-string - (ert-string-for-test-result result - (ert-test-result-expected-p - test result)) - (1+ (ert-stats-test-index stats test)) - (ert-test-name test))))))))) - - -;;; Commands and button actions for the results buffer. - -(define-derived-mode ert-results-mode fundamental-mode "ERT-Results" - "Major mode for viewing results of ERT test runs.") - -(loop for (key binding) in - '(("j" ert-results-jump-between-summary-and-result) - ("." ert-results-find-test-at-point-other-window) - ("r" ert-results-rerun-test-at-point) - ("d" ert-results-rerun-test-at-point-debugging-errors) - ("b" ert-results-pop-to-backtrace-for-test-at-point) - ("p" ert-results-toggle-printer-limits-for-test-at-point) - ("D" ert-delete-test) - ([tab] forward-button) - ([backtab] backward-button) - ) - do - (define-key ert-results-mode-map key binding)) - -(define-button-type 'ert-results-progress-bar-button - 'action #'ert-results-progress-bar-button-action - 'help-echo "mouse-2, RET: Reveal test result") - -(define-button-type 'ert-results-test-name-button - 'action #'ert-results-test-name-button-action - 'help-echo "mouse-2, RET: Find test definition") - -(define-button-type 'ert-results-expand-collapse-button - 'action #'ert-results-expand-collapse-button-action - 'help-echo "mouse-2, RET: Expand/collapse test result") - -(defun ert-results-test-node-or-null-at-point () - "If point is on a valid ewoc node, return it; return nil otherwise. - -To be used in the ERT results buffer." - (let* ((ewoc ert-results-ewoc) - (node (ewoc-locate ewoc))) - ;; `ewoc-locate' will return an arbitrary node when point is on - ;; header or footer, or when all nodes are invisible. So we need - ;; to validate its return value here. - (if (and (>= (point) (ewoc-location node)) - (not (ert-ewoc-entry-hidden-p (ewoc-data node)))) - node - nil))) - -(defun ert-results-test-node-at-point () - "If point is on a valid ewoc node, return it; signal an error otherwise. - -To be used in the ERT results buffer." - (or (ert-results-test-node-or-null-at-point) - (error "No test at point"))) - -(defun ert-results-expand-collapse-button-action (button) - "Expand or collapse the test node BUTTON belongs to." - (let* ((ewoc ert-results-ewoc) - (node (save-excursion - (goto-char (ert-button-action-position)) - (ert-results-test-node-at-point))) - (entry (ewoc-data node))) - (setf (ert-ewoc-entry-expanded-p entry) - (not (ert-ewoc-entry-expanded-p entry))) - (ewoc-invalidate ewoc node))) - -(defun ert-results-find-test-at-point-other-window () - "Find the definition of the test at point in another window. - -To be used in the ERT results buffer." - (interactive) - (let* ((node (ert-results-test-node-at-point)) - (entry (ewoc-data node)) - (test (ert-ewoc-entry-test entry)) - (name (ert-test-name test))) - (ert-find-test-other-window name))) - -(defun ert-results-test-name-button-action (button) - "Find the definition of the test BUTTON belongs to, in another window." - (let ((name (button-get button 'ert-test-name))) - (ert-find-test-other-window name))) - -(defun ert-ewoc-position (ewoc node) - "Return the position of NODE in EWOC, or nil if NODE is not in EWOC." - (loop for i from 0 - for node-here = (ewoc-nth ewoc 0) then (ewoc-next ewoc node-here) - do (when (eql node node-here) - (return i)) - finally (return nil))) - -(defun ert-results-jump-between-summary-and-result () - "Jump back and forth between the test run summary and individual test results. - ->From an ewoc node, jumps to the character that represents the -same test in the progress bar, and vice versa. - -To be used in the ERT results buffer." - ;; Maybe this command isn't actually needed much, but if it is, it - ;; seems like an indication that the UI design is not optimal. If - ;; jumping back and forth between a summary at the top of the buffer - ;; and the error log in the remainder of the buffer is useful, then - ;; the summary apparently needs to be easily accessible from the - ;; error log, and perhaps it would be better to have it in a - ;; separate buffer to keep it visible. - (interactive) - (let ((ewoc ert-results-ewoc) - (progress-bar-begin ert-results-progress-bar-button-begin)) - (cond ((ert-results-test-node-or-null-at-point) - (let* ((node (ert-results-test-node-at-point)) - (pos (ert-ewoc-position ewoc node))) - (goto-char (+ progress-bar-begin pos)))) - ((and (<= progress-bar-begin (point)) - (< (point) (button-end (button-at progress-bar-begin)))) - (let* ((node (ewoc-nth ewoc (- (point) progress-bar-begin))) - (entry (ewoc-data node))) - (when (ert-ewoc-entry-hidden-p entry) - (setf (ert-ewoc-entry-hidden-p entry) nil) - (ewoc-invalidate ewoc node)) - (ewoc-goto-node ewoc node))) - (t - (goto-char progress-bar-begin))))) - -(defun ert-button-action-position () - "The buffer position where the last button action was triggered." - (cond ((integerp last-command-event) - (point)) - ((eventp last-command-event) - (posn-point (event-start last-command-event))) - (t (assert nil)))) - -(defun ert-results-progress-bar-button-action (button) - "Find the ewoc node that represents the same test as the character clicked on." - (goto-char (ert-button-action-position)) - (ert-results-jump-between-summary-and-result)) - -(defun ert-results-rerun-test-at-point () - "Re-run the test at point. - -To be used in the ERT results buffer." - (interactive) - (let* ((ewoc ert-results-ewoc) - (node (ert-results-test-node-at-point)) - (entry (ewoc-data node)) - (old-test (ert-ewoc-entry-test entry)) - (test-name (ert-test-name old-test)) - ;; FIXME: Write a test for this lookup. - (test (if test-name - (if (ert-test-boundp test-name) - (ert-get-test test-name) - (error "No such test: %S" test-name)) - old-test)) - (stats ert-results-stats) - (pos (gethash test (ert-stats-test-map stats))) - (progress-message (format "Running test %S" (ert-test-name test)))) - ;; Need to save and restore point manually here: When point is on - ;; the first visible ewoc entry while the header is updated, point - ;; moves to the top of the buffer. This is undesirable, and a - ;; simple `save-excursion' doesn't prevent it. - (let ((point (point))) - (unwind-protect - (unwind-protect - (progn - (message "%s..." progress-message) - (ert-run-or-rerun-test stats test - ert-results-listener)) - (ert-results-update-stats-display ewoc stats) - (message "%s...%s" - progress-message - (let ((result (ert-test-most-recent-result test))) - (ert-string-for-test-result - result (ert-test-result-expected-p test result))))) - (goto-char point))))) - -(defun ert-results-rerun-test-at-point-debugging-errors () - "Re-run the test at point with `ert-debug-on-error' bound to t. - -To be used in the ERT results buffer." - (interactive) - (let ((ert-debug-on-error t)) - (ert-results-rerun-test-at-point))) - -(defun ert-print-backtrace (backtrace) - "Format the backtrace BACKTRACE to the current buffer." - ;; This is essentially a reimplementation of Fbacktrace - ;; (src/eval.c), but for a saved backtrace, not the current one. - (let ((print-escape-newlines t) - (print-level 8) - (print-length 50)) - (dolist (frame backtrace) - (ecase (first frame) - ((nil) - ;; Special operator. - (destructuring-bind (special-operator &rest arg-forms) - (cdr frame) - (insert - (format " %S\n" (list* special-operator arg-forms))))) - ((t) - ;; Function call. - (destructuring-bind (fn &rest args) (cdr frame) - (insert (format " %S(" fn)) - (loop for firstp = t then nil - for arg in args do - (unless firstp - (insert " ")) - (insert (format "%S" arg))) - (insert ")\n"))))))) - -(defun ert-results-pop-to-backtrace-for-test-at-point () - "Display the backtrace for the test at point. - -To be used in the ERT results buffer." - (interactive) - (let* ((node (ert-results-test-node-at-point)) - (entry (ewoc-data node)) - (test (ert-ewoc-entry-test entry)) - (result (ert-ewoc-entry-result entry))) - (etypecase result - (ert-test-passed (error "Test passed, no backtrace available")) - (ert-test-result-with-condition - (let ((backtrace (ert-test-result-backtrace result)) - (buffer - (let ((default-major-mode 'fundamental-mode)) - (get-buffer-create "*ERT Backtrace*")))) - (pop-to-buffer buffer) - (setq buffer-read-only t) - (let ((inhibit-read-only t)) - (erase-buffer) - (set-buffer-multibyte nil) - (setq truncate-lines t) - (ert-print-backtrace backtrace) - (debugger-make-xrefs) - (goto-char (point-min)))))))) - -(defun ert-results-toggle-printer-limits-for-test-at-point () - "Toggle how much of the condition to print for the test at point. - -To be used in the ERT results buffer." - (interactive) - (let* ((ewoc ert-results-ewoc) - (node (ert-results-test-node-at-point)) - (entry (ewoc-data node))) - (setf (ert-ewoc-entry-extended-printer-limits-p entry) - (not (ert-ewoc-entry-extended-printer-limits-p entry))) - (ewoc-invalidate ewoc node))) - -(defun ert-activate-font-lock-keywords () - (font-lock-add-keywords - nil - '(("(\\(\\ \\s *\\(\\sw+\\)?" - (1 font-lock-keyword-face nil t) - (2 font-lock-function-name-face nil t))))) - -(defun* ert-remove-from-list (list-var element &key key test) - "Remove ELEMENT from the value of LIST-VAR if present. - -This is an inverse of `add-to-list'." - (unless key (setq key #'identity)) - (unless test (setq test #'equal)) - (setf (symbol-value list-var) - (remove* element - (symbol-value list-var) - :key key - :test test))) - - -;;; Actions on load/unload. - -(add-to-list 'find-function-regexp-alist '(ert-deftest . ert-find-test-regexp)) -(add-to-list 'minor-mode-alist '(ert-current-run-stats - (:eval - (ert-tests-running-mode-line-indicator)))) -(add-to-list 'emacs-lisp-mode-hook 'ert-activate-font-lock-keywords) - -(defun ert-unload-function () - (ert-remove-from-list 'find-function-regexp-alist 'ert-deftest :key #'car) - (ert-remove-from-list 'minor-mode-alist 'ert-current-run-stats :key #'car) - (ert-remove-from-list 'emacs-lisp-mode-hook 'ert-activate-font-lock-keywords) - nil) - -(defvar ert-unload-hook '()) -(add-hook 'ert-unload-hook 'ert-unload-function) - - -;;; Self-tests. - -;; Test that test bodies are actually run. -(defvar ert-test-body-was-run) -(ert-deftest ert-test-body-runs () - (setq ert-test-body-was-run t)) - - -;; Test that nested test bodies run. -(ert-deftest ert-nested-test-body-runs () - (lexical-let ((was-run nil)) - (let ((test (make-ert-test :body (lambda () - (setq was-run t))))) - (assert (not was-run)) - (ert-run-test test) - (assert was-run)))) - - -;; Test that pass/fail works. -(ert-deftest ert-test-pass () - (let ((test (make-ert-test :body (lambda ())))) - (let ((result (ert-run-test test))) - (assert (typep result 'ert-test-passed))))) - -(ert-deftest ert-test-fail () - (let ((test (make-ert-test :body (lambda () (ert-fail "failure message"))))) - (let ((result (let ((ert-debug-on-error nil)) - (ert-run-test test)))) - (assert (typep result 'ert-test-failed) t) - (assert (equal (ert-test-result-condition result) - '(ert-test-failed "failure message")) - t)))) - -(ert-deftest ert-test-fail-debug-with-condition-case () - (let ((test (make-ert-test :body (lambda () (ert-fail "failure message"))))) - (condition-case condition - (progn - (let ((ert-debug-on-error t)) - (ert-run-test test)) - (assert nil)) - ((error) - (assert (equal condition '(ert-test-failed "failure message")) t))))) - -(ert-deftest ert-test-fail-debug-with-debugger-1 () - (let ((test (make-ert-test :body (lambda () (ert-fail "failure message"))))) - (let ((debugger (lambda (&rest debugger-args) - (assert nil)))) - (let ((ert-debug-on-error nil)) - (ert-run-test test))))) - -(ert-deftest ert-test-fail-debug-with-debugger-2 () - (let ((test (make-ert-test :body (lambda () (ert-fail "failure message"))))) - (block nil - (let ((debugger (lambda (&rest debugger-args) - (return-from nil nil)))) - (let ((ert-debug-on-error t)) - (ert-run-test test)) - (assert nil))))) - -(ert-deftest ert-test-fail-debug-nested-with-debugger () - (let ((test (make-ert-test :body (lambda () - (let ((ert-debug-on-error t)) - (ert-fail "failure message")))))) - (let ((debugger (lambda (&rest debugger-args) - (assert nil nil "Assertion a")))) - (let ((ert-debug-on-error nil)) - (ert-run-test test)))) - (let ((test (make-ert-test :body (lambda () - (let ((ert-debug-on-error nil)) - (ert-fail "failure message")))))) - (block nil - (let ((debugger (lambda (&rest debugger-args) - (return-from nil nil)))) - (let ((ert-debug-on-error t)) - (ert-run-test test)) - (assert nil nil "Assertion b"))))) - -(ert-deftest ert-test-error () - (let ((test (make-ert-test :body (lambda () (error "error message"))))) - (let ((result (let ((ert-debug-on-error nil)) - (ert-run-test test)))) - (assert (typep result 'ert-test-error) t) - (assert (equal (ert-test-result-condition result) - '(error "error message")) - t)))) - -(ert-deftest ert-test-error-debug () - (let ((test (make-ert-test :body (lambda () (error "error message"))))) - (condition-case condition - (progn - (let ((ert-debug-on-error t)) - (ert-run-test test)) - (assert nil)) - ((error) - (assert (equal condition '(error "error message")) t))))) - - -;; Test that `should' works. -(ert-deftest ert-test-should () - (let ((test (make-ert-test :body (lambda () (should nil))))) - (let ((result (let ((ert-debug-on-error nil)) - (ert-run-test test)))) - (assert (typep result 'ert-test-failed) t) - (assert (equal (ert-test-result-condition result) - '(ert-test-failed ((should nil) :form nil :value nil))) - t))) - (let ((test (make-ert-test :body (lambda () (should t))))) - (let ((result (ert-run-test test))) - (assert (typep result 'ert-test-passed) t)))) - -(ert-deftest ert-test-should-value () - (should (eql (should 'foo) 'foo)) - (should (eql (should 'bar) 'bar))) - -(ert-deftest ert-test-should-not () - (let ((test (make-ert-test :body (lambda () (should-not t))))) - (let ((result (let ((ert-debug-on-error nil)) - (ert-run-test test)))) - (assert (typep result 'ert-test-failed) t) - (assert (equal (ert-test-result-condition result) - '(ert-test-failed ((should-not t) :form t :value t))) - t))) - (let ((test (make-ert-test :body (lambda () (should-not nil))))) - (let ((result (ert-run-test test))) - (assert (typep result 'ert-test-passed))))) - - -(ert-deftest ert-test-should-error () - ;; No error. - (let ((test (make-ert-test :body (lambda () (should-error (progn)))))) - (let ((result (let ((ert-debug-on-error nil)) - (ert-run-test test)))) - (should (typep result 'ert-test-failed)) - (should (equal (ert-test-result-condition result) - '(ert-test-failed - ((should-error (progn)) - :form (progn) - :value nil - :fail-reason "did not signal an error")))))) - ;; A simple error. - (let ((test (make-ert-test :body (lambda () (should-error (error "foo")))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-passed)))) - ;; Error of unexpected type, no test. - (let ((test (make-ert-test :body (lambda () - (should-error (error "foo") - :type 'singularity-error))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-failed)) - (should (equal - (ert-test-result-condition result) - '(ert-test-failed - ((should-error (error "foo") :type 'singularity-error) - :form (error "foo") - :condition (error "foo") - :fail-reason - "the error signalled did not have the expected type")))))) - ;; Error of the expected type, no test. - (let ((test (make-ert-test :body (lambda () - (should-error (signal 'singularity-error - nil) - :type 'singularity-error))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-passed)))) - ;; Error that fails the test, no type. - (let ((test (make-ert-test :body (lambda () - (should-error - (error "foo") - :test (lambda (error) nil)))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-failed)) - (should (equal (ert-test-result-condition result) - '(ert-test-failed - ((should-error (error "foo") :test (lambda (error) nil)) - :form (error "foo") - :condition (error "foo") - :fail-reason - "the error signalled did not pass the test")))))) - ;; Error that passes the test, no type. - (let ((test (make-ert-test :body (lambda () - (should-error (error "foo") - :test (lambda (error) t)))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-passed)))) - ;; Error that has the expected type but fails the test. - (let ((test (make-ert-test :body (lambda () - (should-error - (signal 'singularity-error nil) - :type 'singularity-error - :test (lambda (error) nil)))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-failed)) - (should (equal (ert-test-result-condition result) - '(ert-test-failed - ((should-error (signal 'singularity-error nil) - :type 'singularity-error - :test (lambda (error) nil)) - :form (signal singularity-error nil) - :condition (singularity-error) - :fail-reason - "the error signalled did not pass the test")))))) - ;; Error that has the expected type and passes the test. - (let ((test (make-ert-test :body (lambda () - (should-error - (signal 'singularity-error nil) - :type 'singularity-error - :test (lambda (error) t)))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-passed)))) - ) - -(ert-deftest ert-test-should-error-subtypes () - (let ((test (make-ert-test - :body (lambda () - (should-error (signal 'singularity-error nil) - :type 'singularity-error - :exclude-subtypes t))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-passed)))) - (let ((test (make-ert-test - :body (lambda () - (should-error (signal 'arith-error nil) - :type 'singularity-error))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-failed)) - (should (equal - (ert-test-result-condition result) - '(ert-test-failed - ((should-error (signal 'arith-error nil) - :type 'singularity-error) - :form (signal arith-error nil) - :condition (arith-error) - :fail-reason - "the error signalled did not have the expected type")))))) - (let ((test (make-ert-test - :body (lambda () - (should-error (signal 'arith-error nil) - :type 'singularity-error - :exclude-subtypes t))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-failed)) - (should (equal - (ert-test-result-condition result) - '(ert-test-failed - ((should-error (signal 'arith-error nil) - :type 'singularity-error - :exclude-subtypes t) - :form (signal arith-error nil) - :condition (arith-error) - :fail-reason - "the error signalled did not have the expected type")))))) - (let ((test (make-ert-test - :body (lambda () - (should-error (signal 'singularity-error nil) - :type 'arith-error - :exclude-subtypes t))))) - (let ((result (ert-run-test test))) - (should (typep result 'ert-test-failed)) - (should (equal - (ert-test-result-condition result) - '(ert-test-failed - ((should-error (signal 'singularity-error nil) - :type 'arith-error - :exclude-subtypes t) - :form (signal singularity-error nil) - :condition (singularity-error) - :fail-reason - "the error signalled was a subtype of the expected type")))))) - ) - -;; Test that `should' errors contain the information we expect them to. -(defmacro ert-test-my-list (&rest args) - `(list ,@args)) - -(ert-deftest ert-test-should-failure-debugging () - (loop for (body expected-condition) in - `((,(lambda () (let ((x nil)) (should x))) - (ert-test-failed ((should x) :form x :value nil))) - (,(lambda () (let ((x t)) (should-not x))) - (ert-test-failed ((should-not x) :form x :value t))) - (,(lambda () (let ((x t)) (should (not x)))) - (ert-test-failed ((should (not x)) :form (not t) :value nil))) - (,(lambda () (let ((x nil)) (should-not (not x)))) - (ert-test-failed ((should-not (not x)) :form (not nil) :value t))) - (,(lambda () (let ((x t) (y nil)) (should-not (ert-test-my-list x y)))) - (ert-test-failed - ((should-not (ert-test-my-list x y)) - :form (list t nil) - :value (t nil)))) - (,(lambda () (let ((x t)) (should (error "foo")))) - (error "foo"))) - do - (let ((test (make-ert-test :body body))) - (condition-case actual-condition - (progn - (let ((ert-debug-on-error t)) - (ert-run-test test)) - (assert nil)) - ((error) - (should (equal actual-condition expected-condition))))))) - - -;; Test `ert-select-tests'. -(ert-deftest ert-test-select-regexp () - (should (equal (ert-select-tests "^ert-test-select-regexp$" t) - (list (ert-get-test 'ert-test-select-regexp))))) - -(ert-deftest ert-test-test-boundp () - (should (ert-test-boundp 'ert-test-test-boundp)) - (should-not (ert-test-boundp (make-symbol "ert-not-a-test")))) - -(ert-deftest ert-test-select-member () - (should (equal (ert-select-tests '(member ert-test-select-member) t) - (list (ert-get-test 'ert-test-select-member))))) - -(ert-deftest ert-test-select-test () - (should (equal (ert-select-tests (ert-get-test 'ert-test-select-test) t) - (list (ert-get-test 'ert-test-select-test))))) - -(ert-deftest ert-test-select-symbol () - (should (equal (ert-select-tests 'ert-test-select-symbol t) - (list (ert-get-test 'ert-test-select-symbol))))) - -(ert-deftest ert-test-select-and () - (let ((test (make-ert-test - :name nil - :body nil - :most-recent-result (make-ert-test-failed - :condition nil - :backtrace nil)))) - (should (equal (ert-select-tests `(and (member ,test) :failed) t) - (list test))))) - - -;; Test utility functions. -(ert-deftest ert-proper-list-p () - (should (ert-proper-list-p '())) - (should (ert-proper-list-p '(1))) - (should (ert-proper-list-p '(1 2))) - (should (ert-proper-list-p '(1 2 3))) - (should (ert-proper-list-p '(1 2 3 4))) - (should (not (ert-proper-list-p 'a))) - (should (not (ert-proper-list-p '(1 . a)))) - (should (not (ert-proper-list-p '(1 2 . a)))) - (should (not (ert-proper-list-p '(1 2 3 . a)))) - (should (not (ert-proper-list-p '(1 2 3 4 . a)))) - (let ((a (list 1))) - (setf (cdr (last a)) a) - (should (not (ert-proper-list-p a)))) - (let ((a (list 1 2))) - (setf (cdr (last a)) a) - (should (not (ert-proper-list-p a)))) - (let ((a (list 1 2 3))) - (setf (cdr (last a)) a) - (should (not (ert-proper-list-p a)))) - (let ((a (list 1 2 3 4))) - (setf (cdr (last a)) a) - (should (not (ert-proper-list-p a)))) - (let ((a (list 1 2))) - (setf (cdr (last a)) (cdr a)) - (should (not (ert-proper-list-p a)))) - (let ((a (list 1 2 3))) - (setf (cdr (last a)) (cdr a)) - (should (not (ert-proper-list-p a)))) - (let ((a (list 1 2 3 4))) - (setf (cdr (last a)) (cdr a)) - (should (not (ert-proper-list-p a)))) - (let ((a (list 1 2 3))) - (setf (cdr (last a)) (cddr a)) - (should (not (ert-proper-list-p a)))) - (let ((a (list 1 2 3 4))) - (setf (cdr (last a)) (cddr a)) - (should (not (ert-proper-list-p a)))) - (let ((a (list 1 2 3 4))) - (setf (cdr (last a)) (cdddr a)) - (should (not (ert-proper-list-p a))))) - -(ert-deftest ert-parse-keys-and-body () - (should (equal (ert-parse-keys-and-body '(foo)) '(nil (foo)))) - (should (equal (ert-parse-keys-and-body '(:bar foo)) '((:bar foo) nil))) - (should (equal (ert-parse-keys-and-body '(:bar foo a (b))) '((:bar foo) (a (b))))) - (should (equal (ert-parse-keys-and-body '(:bar foo :a (b))) '((:bar foo :a (b)) nil))) - (should (equal (ert-parse-keys-and-body '(bar foo :a (b))) '(nil (bar foo :a (b))))) - (should-error (ert-parse-keys-and-body '(:bar foo :a)))) - - - -;; Test `ert-run-tests'. -(ert-deftest ert-test-run-tests () - (let ((passing-test (make-ert-test :name 'passing-test - :body (lambda () (ert-pass)))) - (failing-test (make-ert-test :name 'failing-test - :body (lambda () (ert-fail - "failure message")))) - ) - (let ((ert-debug-on-error nil)) - (let* ((buffer-name (generate-new-buffer-name " *ert-test-run-tests*")) - (messages nil) - (mock-message-fn - (lambda (format-string &rest args) - (push (apply #'format format-string args) messages)))) - (save-window-excursion - (unwind-protect - (let ((case-fold-search nil)) - (ert-run-tests-interactively - `(member ,passing-test ,failing-test) buffer-name - mock-message-fn) - (should (equal messages `(,(concat - "Ran 2 tests, 1 results were " - "as expected, 1 unexpected")))) - (with-current-buffer buffer-name - (goto-char (point-min)) - (should (equal - (buffer-substring (point-min) - (save-excursion - (forward-line 5) - (point))) - (concat - "Selector: (member )\n" - "Passed: 1 (0 unexpected)\n" - "Failed: 1 (1 unexpected)\n" - "Error: 0 (0 unexpected)\n" - "Total: 2/2\n"))))) - (when (get-buffer buffer-name) - (kill-buffer buffer-name)))))))) - -(ert-deftest ert-test-special-operator-p () - (should (ert-special-operator-p 'if)) - (should-not (ert-special-operator-p 'car)) - (should-not (ert-special-operator-p 'ert-special-operator-p)) - (let ((b (gensym))) - (should-not (ert-special-operator-p b)) - (fset b 'if) - (should (ert-special-operator-p b)))) - -;; Run tests and make sure they actually ran. -(let ((window-configuration (current-window-configuration))) - (let ((ert-test-body-was-run nil)) - ;; The buffer name chosen here should not compete with the default - ;; results buffer name for completion in `switch-to-buffer'. - (let ((stats (ert-run-tests-interactively "^ert-" " *ert self-tests*"))) - (assert ert-test-body-was-run) - (when (zerop (+ (ert-stats-passed-unexpected stats) - (ert-stats-failed-unexpected stats) - (ert-stats-error-unexpected stats))) - ;; Hide results window only when everything went well. - (set-window-configuration window-configuration))))) - -(provide 'ert) - -;;; ert.el ends here diff --git a/elpa-to-submit/nxhtml/tests/ert.el b/elpa-to-submit/nxhtml/tests/ert.el index a91127a142..4d4f3efc4c 100644 --- a/elpa-to-submit/nxhtml/tests/ert.el +++ b/elpa-to-submit/nxhtml/tests/ert.el @@ -396,6 +396,7 @@ See also ;; `ert-search-after'. Probably this means adding something more to ;; the returned result. +(defvar ert-messages-mark) (defun ert-get-messages (regexp) "Search *Messages* buffer for regular expression REGEXP. This should be used within `ert-deftest'. Search begins where @@ -404,12 +405,13 @@ the buffer ended when test started. See also: `ert-get-warnings' `ert-search-after'" - (ert-search-after messages-mark regexp)) + (ert-search-after ert-messages-mark regexp)) +(defvar ert-warnings-mark) (defun ert-get-warnings (regexp) "Search *Warnings* buffer for regular expression REGEXP. See `ert-get-messages' for more information." - (ert-search-after messages-mark regexp)) + (ert-search-after ert-warnings-mark regexp)) ;;; Test selectors. @@ -672,8 +674,8 @@ silently or calls the interactive debugger, as appropriate." ;; FIXME: Do we need to store the old binding of this ;; and consider it in `ert-run-test-debugger'? (debug-ignored-errors nil) - (messages-mark (ert-end-of-messages)) - (warnings-mark (ert-end-of-warnings))) + (ert-messages-mark (ert-end-of-messages)) + (ert-warnings-mark (ert-end-of-warnings))) (funcall (ert-test-body (ert-test-execution-info-test info)))))) (ert-pass)) (setf (ert-test-execution-info-result info) (make-ert-test-passed))) @@ -1324,22 +1326,22 @@ Ensures a final newline is inserted." (defun ert-read-test-selector () "Read a regexp for test selection from minibuffer. The user can use TAB to see which tests match." - (let ((all-tests - (mapcar (lambda (rec) (format "%s" (elt rec 1))) - (ert-select-tests "" t)) - ;;'("ert-group1-1" "ert-group1-2" "ert-other") - ) - regexp - ret - (get-completions - (lambda () - (let* ((ret (save-match-data - (mapcar (lambda (alt) - (when (string-match regexp alt) - alt)) - all-tests)))) - (setq ret (delq nil ret)) - ret)))) + (let* ((all-tests + (mapcar (lambda (rec) (format "%s" (elt rec 1))) + (ert-select-tests "" t)) + ;;'("ert-group1-1" "ert-group1-2" "ert-other") + ) + regexp + ret + (get-completions + (lambda () + (let* ((ret (save-match-data + (mapcar (lambda (alt) + (when (string-match regexp alt) + alt)) + all-tests)))) + (setq ret (delq nil ret)) + ret)))) (setq all-tests (append all-tests '(":new" ":failed" ":passed" ":error" @@ -2397,18 +2399,19 @@ This is an inverse of `add-to-list'." (loop for x in '(0 1 2 3 4 5 6 t) do (ert-should (equal (c x) (lisp x)))))) -;; Run tests and make sure they actually ran. -(let ((window-configuration (current-window-configuration))) - (let ((ert-test-body-was-run nil)) - ;; The buffer name chosen here should not compete with the default - ;; results buffer name for completion in `switch-to-buffer'. - (let ((stats (ert-run-tests-interactively "^ert-" " *ert self-tests*"))) - (assert ert-test-body-was-run) - (when (zerop (+ (ert-stats-passed-unexpected stats) - (ert-stats-failed-unexpected stats) - (ert-stats-error-unexpected stats))) - ;; Hide results window only when everything went well. - (set-window-configuration window-configuration))))) +(defun ert-run-self-tests () + ;; Run tests and make sure they actually ran. + (let ((window-configuration (current-window-configuration))) + (let ((ert-test-body-was-run nil)) + ;; The buffer name chosen here should not compete with the default + ;; results buffer name for completion in `switch-to-buffer'. + (let ((stats (ert-run-tests-interactively "^ert-" " *ert self-tests*"))) + (assert ert-test-body-was-run) + (when (zerop (+ (ert-stats-passed-unexpected stats) + (ert-stats-failed-unexpected stats) + (ert-stats-error-unexpected stats))) + ;; Hide results window only when everything went well. + (set-window-configuration window-configuration)))))) (provide 'ert) diff --git a/elpa-to-submit/nxhtml/tests/ert2.el b/elpa-to-submit/nxhtml/tests/ert2.el index e50bed335d..f1132ca1f1 100644 --- a/elpa-to-submit/nxhtml/tests/ert2.el +++ b/elpa-to-submit/nxhtml/tests/ert2.el @@ -3,14 +3,14 @@ ;; Author: Lennart Borgman (lennart O borgman A gmail O com) ;; Created: 2008-09-02T11:46:03+0200 Tue ;; Version: -;; Last-Updated: +;; Last-Updated: 2009-01-06 Tue ;; URL: ;; Keywords: ;; Compatibility: ;; ;; Features that might be required by this library: ;; -;; None +;; Cannot open load file: ert2. ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; @@ -46,11 +46,20 @@ (let* ((this-dir (file-name-directory (if load-file-name load-file-name buffer-file-name))) - (load-path (copy-list load-path))) + ;;(load-path (copy-list load-path))) + (load-path (copy-sequence load-path))) (add-to-list 'load-path this-dir) (require 'ert)) +(defvar ert-temp-test-buffer-test nil) +(make-variable-buffer-local 'ert-temp-test-buffer-test) +(put 'ert-temp-test-buffer-test 'permanent-local t) + +(defvar ert-temp-test-buffer-file nil) +(make-variable-buffer-local 'ert-temp-test-buffer-file) +(put 'ert-temp-test-buffer-file 'permanent-local t) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; Test buffers @@ -104,12 +113,6 @@ "Helpers for those buffers ..." ) (put 'ert-temp-test-buffer-minor-mode 'permanent-local t) -(defvar ert-temp-test-buffer-test nil) -(make-variable-buffer-local 'ert-temp-test-buffer-test) -(put 'ert-temp-test-buffer-test 'permanent-local t) -(defvar ert-temp-test-buffer-file nil) -(make-variable-buffer-local 'ert-temp-test-buffer-file) -(put 'ert-temp-test-buffer-file 'permanent-local t) ;; Fix-me: doc (defvar ert-test-files-root nil) @@ -190,10 +193,12 @@ Return the value of calling the command, ie Run the hook `ert-simulate-command-post-hook' at the very end." + (message "command=%s" command) (ert-should (listp command)) (ert-should (commandp (car command))) (ert-should (not unread-command-events)) - (let (return-value) + (let (return-value + (font-lock-mode t)) ;; For the order of things here see command_loop_1 in keyboard.c ;; ;; The command loop will reset the command related variables so @@ -207,6 +212,7 @@ Run the hook `ert-simulate-command-post-hook' at the very end." this-original-command)) (run-hooks 'pre-command-hook) (setq return-value (apply (car command) (cdr command))) ;; <----- + (message "post-command-hook=%s" post-command-hook) (run-hooks 'post-command-hook) (when deferred-action-list (run-hooks 'deferred_action_function)) @@ -214,10 +220,15 @@ Run the hook `ert-simulate-command-post-hook' at the very end." (setq last-repeatable-command real-last-command) (setq last-command this-command) (when (and deactivate-mark transient-mark-mode) (deactivate-mark)) + ;;(message "ert-simulate-command.before idle-timers, point=%s" (point)) (when run-idle-timers - (dolist (timer (copy-list timer-idle-list)) - (timer-event-handler timer)) + ;;(dolist (timer (copy-list timer-idle-list)) + (dolist (timer (copy-sequence timer-idle-list)) + (timer-event-handler timer) + ;;(message " after timer=%s, point=%s" timer (point)) + ) (redisplay t)) + ;;(message "ert-simulate-command.after idle-timers, point=%s" (point)) (when ert-simulate-command-delay ;; Show user ;;(message "After M-x %s" command) diff --git a/elpa-to-submit/nxhtml/tests/hfy-test.el b/elpa-to-submit/nxhtml/tests/hfy-test.el new file mode 100644 index 0000000000..4592d7b77a --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/hfy-test.el @@ -0,0 +1,102 @@ +;;; hfy-test.el --- Test for htmlfontify + hfyview +;; +;; Author: Lennart Borgman (lennart O borgman A gmail O com) +;; Created: 2008-10-17 Fri +;; Version: +;; Last-Updated: +;; URL: +;; Keywords: +;; Compatibility: +;; +;; Features that might be required by this library: +;; +;; None +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Commentary: +;; +;; +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Change log: +;; +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;; This program 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 program 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 program; see the file COPYING. If not, write to +;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth +;; Floor, Boston, MA 02110-1301, USA. +;; +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; +;;; Code: +(require 'winsav) +(require 'emacsw32 nil t) +(require 'grep) + +(defun hfy-test-setup-frame () + (find-library "htmlfontify") + (occur "hfy-tmpfont-stack") + (unless grep-template (grep-compute-defaults)) + (lgrep "hfy-tmpfont-stack" "*.el" ".") + (list-faces-display) + (list-colors-display) + (describe-function 'describe-function) + (delete-other-windows) + + (split-window-vertically) + (split-window-vertically) + (balance-windows) + (split-window-vertically) + (balance-windows) + (split-window-vertically) + (balance-windows) + + ;;(winsav-upper-left-window) + (frame-first-window) + (split-window-horizontally) + ;;(winsav-upper-left-window) + (frame-first-window) + (switch-to-buffer "*scratch*") + + (select-window (next-window)) + (switch-to-buffer "*Help*") + + (select-window (next-window)) + (switch-to-buffer "*Faces*") + (split-window-horizontally) + + (select-window (next-window)) + (switch-to-buffer "*Colors*") + + (select-window (next-window)) + (when (fboundp 'emacsw32-show-custstart) + (emacsw32-show-custstart)) + + (select-window (next-window)) + (info) + + (select-window (next-window)) + (split-window-horizontally) + (switch-to-buffer "*grep*") + + (select-window (next-window)) + (switch-to-buffer "*Occur*") + ) + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;;; hfy-test.el ends here diff --git a/elpa-to-submit/nxhtml/tests/in/3-heights.html b/elpa-to-submit/nxhtml/tests/in/3-heights.html new file mode 100644 index 0000000000..339b5c28ee --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/3-heights.html @@ -0,0 +1,42 @@ + + + + + patika + + + + + + + + +ajsha ahsahsjhaj sahsja+ + + diff --git a/elpa-to-submit/nxhtml/tests/in/400415-index.phtml b/elpa-to-submit/nxhtml/tests/in/400415-index.phtml new file mode 100644 index 0000000000..de950e7eb2 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/400415-index.phtml @@ -0,0 +1,43 @@ +CLEO Memorandum Assignment #1. What's Next?
++ +
+ + diff --git a/elpa-to-submit/nxhtml/tests/in/bastien-test.mm b/elpa-to-submit/nxhtml/tests/in/bastien-test.mm new file mode 100644 index 0000000000..1494a6235e --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bastien-test.mm @@ -0,0 +1,38 @@ + diff --git a/elpa-to-submit/nxhtml/tests/in/bug-290364.php b/elpa-to-submit/nxhtml/tests/in/bug-290364.php new file mode 100644 index 0000000000..190b230d25 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug-290364.php @@ -0,0 +1,66 @@ +'; +echo ''; +echo ''; + + + +echo ' '; + +echo ' '; + +echo '+ + + + + activity_model; + foreach ($this->focus_transitions as $tran => $satisfied) { + $props = $AM->getTransitionProps($tran); + $url_params = $props['url_params']; + $link_text = $props['link_text']; + if (null !== $url_params and null !== $link_text) { + // TODO Add $sat class toActivity + +, style accordingly. + ?> + + + + += $link_text ?> + +Cropper votre image v0.1
'; + +$label = 'file_default'; + +$form = new HTML_QuickForm ('cropper_form', "", "img-cropped.php", '', 'enctype=multipart/form-data'); + +$form->addElement ('file', 'file_0', $label); +$form->addElement ('hidden', 'hidden_0'); +$form->addElement ('button', 'button_0'); +$form->updateElementAttr(array('button_0'), array ('id' => 'button_0')); +$form->addElement ('submit', 'submit_0', 'Envoyer!'); +$form->updateElementAttr(array('file_0'), array ('id' => 'file_0')); +$form->updateElementAttr(array('hidden_0'), array ('id' => 'hidden_0')); +echo $form->toHtml (); + +if (isset ($_POST['file_0'])): +$image = $_POST['file_0']; +tmpfile ($image); +echo $_POST['file_0']; +endif; +echo sys_get_temp_dir (); +var_dump ($_POST); +?> \ No newline at end of file diff --git a/elpa-to-submit/nxhtml/tests/in/bug-300946-index.html b/elpa-to-submit/nxhtml/tests/in/bug-300946-index.html new file mode 100644 index 0000000000..a90814a2c0 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug-300946-index.html @@ -0,0 +1,24 @@ + + + + + +The ACSys Group Home Page + + + diff --git a/elpa-to-submit/nxhtml/tests/in/bug-311640-index.html b/elpa-to-submit/nxhtml/tests/in/bug-311640-index.html new file mode 100644 index 0000000000..64bb09b729 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug-311640-index.html @@ -0,0 +1,24 @@ + + ++ + Click me! +
diff --git a/elpa-to-submit/nxhtml/tests/in/bug-311641.php b/elpa-to-submit/nxhtml/tests/in/bug-311641.php new file mode 100644 index 0000000000..96109ba212 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug-311641.php @@ -0,0 +1,7 @@ + + +try { +} catch (PDOException $e) { + } + +?> \ No newline at end of file diff --git a/elpa-to-submit/nxhtml/tests/in/bug-373106-flipbook.html b/elpa-to-submit/nxhtml/tests/in/bug-373106-flipbook.html new file mode 100644 index 0000000000..658d391c90 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug-373106-flipbook.html @@ -0,0 +1,160 @@ + + + + +Flipbook (draft) + + + + + + + + + +Usage: gesture left/right to change images, up/down to zoom in/out
+The flipbook uses a number of libs:
++
+
+ + + diff --git a/elpa-to-submit/nxhtml/tests/in/bug-381191-dh-test.el b/elpa-to-submit/nxhtml/tests/in/bug-381191-dh-test.el new file mode 100644 index 0000000000..84d9f4f56f --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug-381191-dh-test.el @@ -0,0 +1,23 @@ +;; 3. Add a new c-indentation-style: + +(defconst drupal + '((c-basic-offset . 2) + (c-offsets-alist . ((arglist-close . c-lineup-close-paren) + (case-label . +) + (arglist-intro . +) + (arglist-cont-nonempty . c-lineup-math)))) + "My Drupal Programming style") + +(c-add-style "drupal" drupal) + +;; 4. Open file test.php, attached. + +;; 5. Run `c-set-style' and select "drupal" + +;; 6. Select the whole buffer and press "C-M-\" (or any other indentation command, +;; for that matter) and watch as the array elements are lined up with "array(", +;; whereas they should be indented by 2. + +;; 7. Run M-x php-mode and c-set-style to drupal + +;; 8. Try indenting again to see that indentation now works properly. diff --git a/elpa-to-submit/nxhtml/tests/in/bug-381191-dh-test.php b/elpa-to-submit/nxhtml/tests/in/bug-381191-dh-test.php new file mode 100644 index 0000000000..c9e450c3e4 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug-381191-dh-test.php @@ -0,0 +1,6 @@ + 'bar', + 'gaz' => 'gazonk', +); +?> \ No newline at end of file diff --git a/elpa-to-submit/nxhtml/tests/in/bug271497.el b/elpa-to-submit/nxhtml/tests/in/bug271497.el index b1199119ed..7abe02e799 100644 --- a/elpa-to-submit/nxhtml/tests/in/bug271497.el +++ b/elpa-to-submit/nxhtml/tests/in/bug271497.el @@ -2,11 +2,13 @@ (require 'ada-mode) (require 'mumamo) -(defun mumamo-chunk-embjava (pos min max) - "Find JAVA_ON ... JAVA_OFF, return range and java-mode." -(mumamo-quick-static-chunk pos min max "JAVA_ON" "JAVA_OFF" nil 'java-mode nil)) +(eval-and-compile + (defun mumamo-chunk-embjava (pos min max) + "Find JAVA_ON ... JAVA_OFF, return range and java-mode." + (mumamo-quick-static-chunk pos min max "JAVA_ON" "JAVA_OFF" nil 'java-mode nil)) + ) (define-mumamo-multi-major-mode bug271497-mumamo -"docstring" -("ADA Mode" ada-mode -(mumamo-chunk-embjava))) + "docstring" + ("ADA Mode" ada-mode + (mumamo-chunk-embjava))) diff --git a/elpa-to-submit/nxhtml/tests/in/bug290364-messages.txt b/elpa-to-submit/nxhtml/tests/in/bug290364-messages.txt new file mode 100644 index 0000000000..4aaae9a0e5 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug290364-messages.txt @@ -0,0 +1,97 @@ +("/usr/bin/emacs22-gtk") +Loading 00debian-vars... +No /etc/mailname. Reverting to default... +Loading 00debian-vars...done +Loading /etc/emacs/site-start.d/20apel.el (source)...done +Loading /etc/emacs/site-start.d/50cedet-common.el (source)... +Loading advice...done +Loading /etc/emacs/site-start.d/50cedet-common.el (source)...done +Loading /etc/emacs/site-start.d/50css-mode.el (source)...done +Loading /etc/emacs/site-start.d/50devhelp.el (source)...done +Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)... +Loading debian-ispell... +Loading /var/cache/dictionaries-common/emacsen-ispell-default.el (source)...done +Loading debian-ispell...done +Loading /var/cache/dictionaries-common/emacsen-ispell-dicts.el (source)...done +Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...done +Loading /etc/emacs/site-start.d/50eieio.el (source)...done +Loading /etc/emacs/site-start.d/50eldav.el (source)...done +Loading /etc/emacs/site-start.d/50elserv.el (source)...done +Loading /etc/emacs/site-start.d/50emacs-extra.el (source)...done +Loading /etc/emacs/site-start.d/50emacs-goodies-el.el (source)...done +Loading /etc/emacs/site-start.d/50erc.el (source)... +Loading erc-auto...done +Loading /etc/emacs/site-start.d/50erc.el (source)...done +Loading /etc/emacs/site-start.d/50flim.el (source)...done +Loading /etc/emacs/site-start.d/50gettext.el (source)...done +Loading /etc/emacs/site-start.d/50html-helper-mode.el (source)...done +Loading /etc/emacs/site-start.d/50mmm-mode.el (source)...done +Loading /etc/emacs/site-start.d/50php-elisp.el (source)...done +Loading /etc/emacs/site-start.d/50php-mode.el (source)...done +Loading /etc/emacs22/site-start.d/50psgml-init.el (source)...done +Loading /etc/emacs/site-start.d/50psvn.el (source)...done +Loading /etc/emacs/site-start.d/50tramp.el (source)...done +Loading /etc/emacs/site-start.d/50w3m-el.el (source)...done +Loading /etc/emacs/site-start.d/51ede.el (source)...done +Loading /etc/emacs/site-start.d/51speedbar.el (source)...done +Loading /etc/emacs/site-start.d/52semantic.el (source)...done +Loading /etc/emacs/site-start.d/53cedet-contrib.el (source)...done +Loading /etc/emacs/site-start.d/53cogre.el (source)...done +Loading /etc/emacs/site-start.d/55ecb.el (source)... +"/usr/share/emacs22/site-lisp/cedet-common/" added to `load-path' +Setting up cedet...done +Setting up cogre...done +Setting up ede... +Loading ede... +Loading ede-speedbar...done +Loading ede...done +Setting up ede...done +Setting up eieio...done +Setting up semantic... +Loading derived...done +Setting up semantic...done +Setting up speedbar...done +Setting up cedet-contrib...done +Loading /etc/emacs/site-start.d/55ecb.el (source)...done +Loading /etc/emacs22/site-start.d/60nxml-mode.el (source)... +Loading /usr/share/emacs22/site-lisp/nxml-mode/rng-auto.el (source)...done +Loading /etc/emacs22/site-start.d/60nxml-mode.el (source)...done +Loading /etc/emacs/site-start.d/60wysihtml-el.el (source)...done +Loading /home/guillaume/elisp/nxhtml/autostart.el (source)... +Nxml/Nxhtml Autostart.el loading ... +Loading edmacro...done +Loading easy-mmode...done +Loading /home/guillaume/elisp/nxhtml/nxhtml-loaddefs.el (source)...done +Loading /home/guillaume/elisp/nxhtml/etc/schema/schema-path-patch.el (source)...done +xhtml-loader.rnc was ok +(No changes need to be saved) +Loading /home/guillaume/elisp/nxhtml/nxhtml/nxhtml-autoload.el (source)... +Loading /home/guillaume/elisp/nxhtml/util/majmodpri.el (source)...done +majmodpri-sort-lists running ... +Loading /home/guillaume/elisp/nxhtml/nxhtml/nxhtml-autoload.el (source)...done +Loading /home/guillaume/elisp/nxhtml/autostart.el (source)...done +Loading /home/guillaume/elisp/nxhtml/nxhtml/nxhtml.el (source)... +html-site-current (information): No current site set +Loading /home/guillaume/elisp/nxhtml/nxhtml/nxhtml.el (source)...done +Loading nxml-uchnm...done +Loading rng-nxml...done +Loading rng-cmpct...done +Loading rng-xsd...done +Using vacuous schema +Loading /home/guillaume/elisp/nxhtml/nxhtml/nxhtml-menu.el (source)...done +Loading /home/guillaume/elisp/nxhtml/util/mlinks.el (source)...done +Loading imenu...done +Loading /home/guillaume/elisp/nxhtml/nxhtml/nxhtml-mumamo.el (source)... +Loading byte-opt...done +Loading /home/guillaume/elisp/nxhtml/nxhtml/nxhtml-mumamo.el (source)...done +Showing all blocks ... done +Loading semantic-html...done +Loading /home/guillaume/elisp/geben/geben.el (source)...done +ispell.el is already loaded +Using vacuous schema [4 times] +Loading semantic-el...done +let: Wrong type argument: stringp, nil [2 times] +Making completion list... +Loading eieio-opt...done +Making completion list... +let: Wrong type argument: stringp, nil \ No newline at end of file diff --git a/elpa-to-submit/nxhtml/tests/in/bug354363-index.php b/elpa-to-submit/nxhtml/tests/in/bug354363-index.php new file mode 100644 index 0000000000..3644f5df89 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug354363-index.php @@ -0,0 +1,38 @@ +- jQuery
+- jQuery UI
+- jQuery Special Event Gestures
+' + . 'An exception occured while bootstrapping the application.'; + if(defined('APPLICATION_ENVIRONMENT') + && APPLICATION_ENVIRONMENT != 'production' + ) { + echo ' '; + exit(1); + } + +Zend_Controller_Front::getInstance()->dispatch(); diff --git a/elpa-to-submit/nxhtml/tests/in/bug354363-test.php b/elpa-to-submit/nxhtml/tests/in/bug354363-test.php new file mode 100644 index 0000000000..10e2c0ded9 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug354363-test.php @@ -0,0 +1,3 @@ + diff --git a/elpa-to-submit/nxhtml/tests/in/bug369800-load-history.txt b/elpa-to-submit/nxhtml/tests/in/bug369800-load-history.txt new file mode 100644 index 0000000000..aad863da77 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug369800-load-history.txt @@ -0,0 +1,9483 @@ +load-history is a variable defined in `C source code'. +Its value is shown below. + +Documentation: +Alist mapping file names to symbols and features. +Each alist element is a list that starts with a file name, +except for one element (optional) that starts with nil and describes +definitions evaluated from buffers not visiting files. + +The file name is absolute and is the true file name (i.e. it doesn't +contain symbolic links) of the loaded file. + +The remaining elements of each list are symbols defined as variables +and cons cells of the form `(provide . FEATURE)', `(require . FEATURE)', +`(defun . FUNCTION)', `(autoload . SYMBOL)', `(defface . SYMBOL)' +and `(t . SYMBOL)'. An element `(t . SYMBOL)' precedes an entry +`(defun . FUNCTION)', and means that SYMBOL was an autoload before +this file redefined it as a function. + +During preloading, the file name recorded is relative to the main Lisp +directory. These file names are converted to absolute at startup. + +Value: +(("/home/hobbes/nxhtml/autostart.el" nxhtml-install-dir + (defun . nxhtml-custom-autoload) + (defun . nxhtml-list-loaded-features) + (provide . nxhtml-autostart)) + ("/home/hobbes/nxhtml/nxhtml/nxhtml-autoload.el" + (require . majmodpri) + (require . moz) + (defun . javascript-moz-setup) + nxhtml-src-dir + (provide . nxhtml-autoload)) + ("/home/hobbes/nxhtml/related/moz.el" + (require . comint) + (require . cc-cmds) + moz-minor-mode-map moz-minor-mode + (t . moz-minor-mode) + (defun . moz-minor-mode) + (defun . run-mozilla) + moz-repl-name moz-input-separator moz-repl-host moz-repl-port moz-temporary-file + (defun . moz-temporary-file) + (defun . moz-send-region) + (defun . moz-send-defun) + (defun . moz-send-defun-and-go) + (defun . moz-save-buffer-and-send) + inferior-moz-buffer + (defun . inferior-moz-insert-moz-repl) + inferior-moz-mode-map inferior-moz-mode-map inferior-moz-mode-syntax-table inferior-moz-mode-abbrev-table inferior-moz-mode-abbrev-table + (t . inferior-moz-mode) + (defun . inferior-moz-mode) + (defun . inferior-moz-track-repl-name) + (defun . inferior-moz-self-insert-or-repl-name) + (defun . inferior-moz-input-sender) + (defun . inferior-moz-switch-to-mozilla) + (defun . inferior-moz-process) + (defun . inferior-moz-start-process) + (provide . moz)) + ("/usr/share/emacs/23.0.93/lisp/progmodes/cc-cmds.elc" + (require . cc-defs) + (require . cc-vars) + (require . cc-engine) + c-fix-backslashes + (defun . c-indent-line) + (defun . c-newline-and-indent) + (defun . c-show-syntactic-information) + (defun . c-syntactic-information-on-region) + (defun . c-update-modeline) + (defun . c-toggle-syntactic-indentation) + (defun . c-toggle-auto-newline) + (defun . c-toggle-auto-state) + (defun . c-toggle-hungry-state) + (defun . c-toggle-auto-hungry-state) + (defun . c-toggle-electric-state) + (defun . c-electric-backspace) + (defun . c-hungry-delete-backwards) + (defun . c-hungry-backspace) + (defun . c-electric-delete-forward) + (defun . c-hungry-delete-forward) + (defun . c-electric-delete) + (defun . c-hungry-delete) + (defun . c-electric-pound) + (defun . c-point-syntax) + (defun . c-brace-newlines) + (defun . c-try-one-liner) + (defun . c-electric-brace) + (defun . c-electric-slash) + (defun . c-electric-star) + (defun . c-electric-semi&comma) + (defun . c-electric-colon) + (defun . c-electric-lt-gt) + (defun . c-electric-paren) + (defun . c-electric-continued-statement) + (defun . c-forward-into-nomenclature) + (defun . c-backward-into-nomenclature) + (defun . c-scope-operator) + (defun . c-in-function-trailer-p) + (defun . c-where-wrt-brace-construct) + (defun . c-backward-to-nth-BOF-{) + (defun . c-beginning-of-defun) + (defun . c-forward-to-nth-EOF-}) + (defun . c-end-of-defun) + (defun . c-defun-name) + (defun . c-declaration-limits) + (defun . c-mark-function) + (defun . c-cpp-define-name) + (defun . c-in-comment-line-prefix-p) + (defun . c-narrow-to-comment-innards) + (defun . c-beginning-of-sentence-in-comment) + (defun . c-end-of-sentence-in-comment) + (defun . c-beginning-of-sentence-in-string) + (defun . c-end-of-sentence-in-string) + (defun . c-ascertain-preceding-literal) + (defun . c-ascertain-following-literal) + (defun . c-after-statement-terminator-p) + (defun . c-back-over-illiterals) + (defun . c-forward-over-illiterals) + (defun . c-one-line-string-p) + (defun . c-beginning-of-statement) + (defun . c-end-of-statement) + (defun . c-calc-comment-indent) + (defun . c-comment-indent) + (defun . c-outline-level) + (defun . c-up-conditional) + (defun . c-up-conditional-with-else) + (defun . c-down-conditional) + (defun . c-down-conditional-with-else) + (defun . c-backward-conditional) + (defun . c-forward-conditional) + (defun . c-indent-command) + (defun . c-indent-exp) + (defun . c-indent-defun) + (defun . c-indent-region) + (defun . c-fn-region-is-active-p) + (defun . c-indent-line-or-region) + c-progress-info + (defun . c-progress-init) + (defun . c-progress-update) + (defun . c-progress-fini) + (defun . c-backslash-region) + (defun . c-append-backslashes-forward) + (defun . c-delete-backslashes-forward) + c-auto-fill-prefix c-lit-limits c-lit-type + (defun . c-guess-fill-prefix) + (defun . c-mask-paragraph) + (defun . c-fill-paragraph) + (defun . c-do-auto-fill) + (defun . c-indent-new-comment-line) + (defun . c-comment-line-break-function) + (defun . c-context-line-break) + (defun . c-context-open-line) + (provide . cc-cmds)) + ("/usr/share/emacs/23.0.93/lisp/progmodes/cc-engine.elc" + (require . cc-defs) + (require . cc-vars) + (defun . c-declare-lang-variables) + c++-template-syntax-table c-identifier-syntax-modifications c-identifier-syntax-table c-get-state-before-change-function c-before-font-lock-function c-symbol-start c-symbol-key c-nonsymbol-chars c-opt-identifier-concat-key c-identifier-start c-identifier-key c-string-escaped-newlines c-multiline-string-start-char c-opt-cpp-prefix c-anchored-cpp-prefix c-opt-cpp-start c-opt-cpp-macro-define-start c-opt-cpp-macro-define-id c-overloadable-operators-regexp c-opt-op-identifier-prefix c-nonsymbol-token-regexp c-assignment-op-regexp c-<>-multichar-token-regexp c-<-op-cont-regexp c->-op-cont-regexp c-stmt-delim-chars c-stmt-delim-chars-with-comma c-line-comment-starter c-comment-start-regexp c-block-comment-start-regexp c-literal-start-regexp c-doc-comment-start-regexp c-syntactic-ws-start c-syntactic-ws-end c-syntactic-eol c-at-vsemi-p-fn c-vsemi-status-unknown-p-fn c-paragraph-start c-paragraph-separate c-primitive-type-key c-type-prefix-key c-opt-type-modifier-key c-opt-type-component-key c-class-key c-brace-list-key c-other-decl-block-key c-other-decl-block-key-in-symbols-alist c-decl-hangon-key c-prefix-spec-kwds-re c-specifier-key c-not-decl-init-keywords c-opt-block-decls-with-vars-key c-colon-type-list-re c-opt-<>-sexp-key c-block-stmt-1-key c-block-stmt-2-key c-opt-block-stmt-key c-simple-stmt-key c-paren-stmt-key c-opt-asm-stmt-key c-case-kwds-regexp c-label-kwds-regexp c-opt-inexpr-brace-list-key c-decl-block-key c-opt-bitfield-key c-keywords-regexp c-keywords-obarray c-regular-keywords-regexp c-primary-expr-regexp c-decl-prefix-re c-decl-start-re c-decl-prefix-or-start-re c-cast-parens c-block-prefix-charset c-type-decl-prefix-key c-type-decl-suffix-key c-after-suffixed-type-decl-key c-after-suffixed-type-maybe-decl-key c-opt-type-concat-key c-opt-type-suffix-key c-known-type-key c-special-brace-lists c-recognize-knr-p c-recognize-typeless-decls c-recognize-<>-arglists c-recognize-paren-inits c-recognize-paren-inexpr-blocks c-opt-<>-arglist-start c-opt-<>-arglist-start-in-paren c-opt-postfix-decl-spec-key c-recognize-colon-labels c-label-prefix-re c-nonlabel-token-key c-opt-extra-label-key c-opt-friend-key c-opt-method-key c-type-decl-end-used c-hungry-delete-key c-electric-flag c-auto-newline + (defun . c-calculate-state) + c-in-literal-cache c-macro-start + (defun . c-query-and-set-macro-start) + (defun . c-query-macro-start) + (defun . c-beginning-of-macro) + (defun . c-end-of-macro) + (defun . c-forward-over-cpp-define-id) + (defun . c-forward-to-cpp-define-body) + (defun . c-syntactic-content) + (defun . c-shift-line-indentation) + (defun . c-keyword-sym) + (defun . c-keyword-member) + c-string-syntax c-string-syntax c-string-limit-regexp c-string-limit-regexp c-ws*-string-limit-regexp c-ws*-string-limit-regexp c-parsing-error + (defun . c-echo-parsing-error) + c-literal-faces + (defun . c-put-c-type-property) + (defun . c-clear-c-type-property) + (defun . c-debug-add-face) + (defun . c-debug-remove-face) + (defun . c-bos-push-state) + (defun . c-bos-pop-state) + (defun . c-bos-pop-state-and-retry) + (defun . c-bos-save-pos) + (defun . c-bos-restore-pos) + (defun . c-bos-save-error-info) + (defun . c-bos-report-error) + (defun . c-beginning-of-statement-1) + (defun . c-crosses-statement-barrier-p) + (defun . c-at-statement-start-p) + (defun . c-at-expression-start-p) + (defun . c-forward-single-comment) + (defun . c-forward-comments) + (defun . c-backward-single-comment) + (defun . c-backward-comments) + (defun . c-debug-sws-msg) + (defun . c-put-is-sws) + (defun . c-put-in-sws) + (defun . c-remove-is-sws) + (defun . c-remove-in-sws) + (defun . c-remove-is-and-in-sws) + (defun . c-invalidate-sws-region-after) + (defun . c-forward-sws) + (defun . c-backward-sws) + (defun . c-partial-ws-p) + c-state-cache c-state-cache-start c-state-cache-good-pos + (defun . c-invalidate-state-cache) + (defun . c-get-fallback-start-pos) + (defun . c-parse-state) + c-debug-parse-state + (defun . c-debug-parse-state) + (defun . c-toggle-parse-state-debug) + (defun . c-whack-state-before) + (defun . c-whack-state-after) + (defun . c-most-enclosing-brace) + (defun . c-least-enclosing-brace) + (defun . c-safe-position) + (defun . c-beginning-of-syntax) + (defun . c-on-identifier) + (defun . c-simple-skip-symbol-backward) + (defun . c-beginning-of-current-token) + (defun . c-end-of-current-token) + c-jump-syntax-balanced c-jump-syntax-balanced c-jump-syntax-unbalanced c-jump-syntax-unbalanced + (defun . c-forward-token-2) + (defun . c-backward-token-2) + (defun . c-forward-token-1) + (defun . c-backward-token-1) + (defun . c-syntactic-re-search-forward) + (defun . c-syntactic-skip-backward) + (defun . c-slow-in-literal) + (defun . c-fast-in-literal) + (defun . c-in-literal) + (defun . c-literal-limits) + (defun . c-literal-limits-fast) + (defun . c-collect-line-comments) + (defun . c-literal-type) + c-find-decl-syntactic-pos c-find-decl-match-pos + (defun . c-invalidate-find-decl-cache) + (defun . c-debug-put-decl-spot-faces) + (defun . c-debug-remove-decl-spot-faces) + (defun . c-find-decl-prefix-search) + (defun . c-find-decl-spots) + c-found-types + (defun . c-clear-found-types) + (defun . c-add-type) + (defun . c-unfind-type) + (defun . c-check-type) + (defun . c-list-found-types) + (defun . c-trim-found-types) + (defun . c-after-change-check-<>-operators) + c-promote-possible-types c-parse-and-markup-<>-arglists c-restricted-<>-arglists c-record-type-identifiers c-record-ref-identifiers c-last-identifier-range + (defun . c-record-type-id) + (defun . c-record-ref-id) + c-record-found-types + (defun . c-forward-keyword-prefixed-id) + (defun . c-forward-id-comma-list) + (defun . c-forward-keyword-clause) + (defun . c-forward-<>-arglist) + (defun . c-forward-<>-arglist-recur) + (defun . c-backward-<>-arglist) + (defun . c-forward-name) + (defun . c-forward-type) + (defun . c-fdoc-shift-type-backward) + (defun . c-forward-decl-or-cast-1) + (defun . c-forward-label) + (defun . c-forward-objc-directive) + (defun . c-beginning-of-inheritance-list) + (defun . c-in-method-def-p) + (defun . c-in-gcc-asm-p) + (defun . c-at-toplevel-p) + (defun . c-just-after-func-arglist-p) + (defun . c-in-knr-argdecl) + (defun . c-skip-conditional) + (defun . c-after-conditional) + (defun . c-after-special-operator-id) + (defun . c-backward-to-block-anchor) + (defun . c-backward-to-decl-anchor) + (defun . c-search-decl-header-end) + (defun . c-beginning-of-decl-1) + (defun . c-end-of-decl-1) + (defun . c-looking-at-decl-block) + (defun . c-search-uplist-for-classkey) + (defun . c-inside-bracelist-p) + (defun . c-looking-at-special-brace-list) + (defun . c-looking-at-bos) + (defun . c-looking-at-inexpr-block) + (defun . c-looking-at-inexpr-block-backward) + c-auto-newline-analysis + (defun . c-brace-anchor-point) + (defun . c-add-syntax) + (defun . c-append-syntax) + (defun . c-add-stmt-syntax) + (defun . c-add-class-syntax) + (defun . c-guess-continued-construct) + (t . c-guess-basic-syntax) + (defun . c-guess-basic-syntax) + (defun . c-evaluate-offset) + (defun . c-calc-offset) + (defun . c-get-offset) + (defun . c-get-syntactic-indentation) + (provide . cc-engine)) + ("/usr/share/emacs/23.0.93/lisp/progmodes/cc-vars.elc" + (require . cc-defs) + (defun . c-constant-symbol) + c-style-variables c-fallback-style + (defun . c-set-stylevar-fallback) + (defun . defcustom-c-stylevar) + (defun . c-valid-offset) + c-strict-syntax-p c-echo-syntactic-information-p c-report-syntactic-errors c-basic-offset c-tab-always-indent c-insert-tab-function c-syntactic-indentation c-syntactic-indentation-in-macros c-comment-only-line-offset c-indent-comment-alist c-indent-comments-syntactically-p c-block-comment-prefix c-comment-prefix-regexp c-doc-comment-style c-ignore-auto-fill c-cleanup-list c-hanging-braces-alist c-max-one-liner-length c-hanging-colons-alist c-hanging-semi&comma-criteria c-backslash-column c-backslash-max-column c-auto-align-backslashes c-backspace-function c-delete-function c-require-final-newline c-electric-pound-behavior c-special-indent-hook c-label-minimum-indentation c-progress-interval c-objc-method-arg-min-delta-to-bracket c-objc-method-arg-unfinished-offset c-objc-method-parameter-offset c-default-style c-offsets-alist c-inside-block-syms c-inside-block-syms c-style-variables-are-local-p c-mode-hook c++-mode-hook objc-mode-hook java-mode-hook idl-mode-hook pike-mode-hook awk-mode-hook c-mode-common-hook c-initialization-hook c-enable-xemacs-performance-kludge-p c-old-style-variable-behavior + (defun . c-make-font-lock-extra-types-blurb) + c-font-lock-extra-types c++-font-lock-extra-types objc-font-lock-extra-types java-font-lock-extra-types idl-font-lock-extra-types pike-font-lock-extra-types c-file-style c-file-offsets c-indentation-style c-current-comment-prefix c-string-par-start c-string-par-separate c-sentence-end-with-esc-eol + (provide . cc-vars)) + ("/usr/share/emacs/23.0.93/lisp/progmodes/cc-defs.elc" + (require . regexp-opt) + c-version c-version-sym c-version-sym c-buffer-is-cc-mode c-inside-eval-when-compile + (defun . cc-eval-when-compile) + (defun . c-point) + (defun . c-region-is-active-p) + (defun . c-set-region-active) + (defun . c-delete-and-extract-region) + (defun . c-safe) + (defun . c-int-to-char) + (defun . c-sentence-end) + (defun . c-default-value-sentence-end) + (defun . c-save-buffer-state) + (defun . c-tentative-buffer-changes) + (defun . c-tnt-chng-record-state) + (defun . c-tnt-chng-cleanup) + (defun . c-forward-syntactic-ws) + (defun . c-backward-syntactic-ws) + (defun . c-forward-sexp) + (defun . c-backward-sexp) + (defun . c-safe-scan-lists) + (defun . c-go-list-forward) + (defun . c-go-list-backward) + (defun . c-up-list-forward) + (defun . c-up-list-backward) + (defun . c-down-list-forward) + (defun . c-down-list-backward) + (defun . c-go-up-list-forward) + (defun . c-go-up-list-backward) + (defun . c-go-down-list-forward) + (defun . c-go-down-list-backward) + (defun . c-beginning-of-defun-1) + (defun . c-at-vsemi-p) + (defun . c-vsemi-status-unknown-p) + (defun . c-benign-error) + (defun . c-with-syntax-table) + (defun . c-skip-ws-forward) + (defun . c-skip-ws-backward) + c-langs-are-parametric + (defun . c-major-mode-is) + c-use-extents c-use-extents + (defun . c-put-char-property-fun) + (defun . c-put-char-property) + (defun . c-get-char-property) + (defun . c-clear-char-property-fun) + (defun . c-clear-char-property) + (defun . c-clear-char-properties) + (defun . c-clear-char-property-with-value-function) + (defun . c-clear-char-property-with-value) + (defun . c-put-overlay) + (defun . c-delete-overlay) + (defun . c-end-of-defun-1) + c-<-as-paren-syntax c-<-as-paren-syntax + (defun . c-mark-<-as-paren) + c->-as-paren-syntax c->-as-paren-syntax + (defun . c-mark->-as-paren) + (defun . c-intersect-lists) + (defun . c-lookup-lists) + (defun . c-langelem-sym) + (defun . c-langelem-pos) + (defun . c-langelem-col) + (defun . c-langelem-2nd-pos) + (defun . c-keep-region-active) + (defun . c-mode-symbol) + (defun . c-mode-var) + (defun . c-got-face-at) + (defun . c-face-name-p) + (defun . c-concat-separated) + (defun . c-make-keywords-re) + (defun . c-make-bare-char-alt) + (defun . c-regexp-opt) + (defun . c-regexp-opt-depth) + c-emacs-features c-alpha c-alpha c-alnum c-alnum c-digit c-digit c-upper c-upper c-lower c-lower + (defun . c-add-language) + c-lang-constants c-lang-const-expansion + (defun . c-get-current-file) + (defun . c-lang-defconst-eval-immediately) + (defun . c-lang-defconst) + (defun . c-define-lang-constant) + (defun . c-lang-const) + c-lang-constants-under-evaluation + (defun . c-get-lang-constant) + (defun . c-find-assignment-for-mode) + (defun . c-lang-major-mode-is) + (provide . cc-defs)) + ("/home/hobbes/nxhtml/util/majmodpri.el" majmodpri:version majmodpri-idle-sort-timer + (defun . majmodpri-cancel-idle-sort) + (defun . majmodpri-start-idle-sort) + (defun . majmodpri-sort-lists-in-timer) + majmodpri-schwarzian-ordnum + (defun . majmodpri-schwarzian-in) + (defun . majmodpri-schwarzian-out) + majmodpri-no-nxml + (defun . majmodpri-priority) + (defun . majmodpri-compare-auto-modes) + (defun . majmodpri-sort-auto-mode-alist) + (defun . majmodpri-sort-magic-list) + (t . majmodpri-sort-lists) + (defun . majmodpri-sort-lists) + (t . majmodpri-apply) + (defun . majmodpri-apply) + (defun . majmodpri-sort-apply-to-current) + (t . majmodpri-apply-priorities) + (defun . majmodpri-apply-priorities) + majmodpri-mode-priorities majmodpri-lists-to-sort majmodpri-sort-after-load + (provide . majmodpri)) + ("/home/hobbes/nxhtml/etc/schema/schema-path-patch.el" rncpp-this-dir + (defun . rncpp-get-nxml-schema-dir) + (defun . rncpp-patch-xhtml-loader)) + ("/home/hobbes/nxhtml/nxhtml/nxhtml-menu.el" nxhtml-menu:version + (require . cl) + (require . cus-edit) + (require . dired) + (require . gimp) + (require . html-site) + (require . nxhtml-mode) + (require . css-color) + (require . flymake) + (require . flymake-php) + (require . flymake-js) + (require . udev-ecb) + (require . udev-cedet) + (require . udev-rinari) + (defun . nxhtml-nxhtml-in-buffer) + (defun . nxhtml-nxml-in-buffer) + (defun . nxhtml-html-in-buffer) + (defun . nxhtml-nxml-html-in-buffer) + (defun . nxhtml-this-file-can-have-toc) + (defun . nxhtml-buffer-possibly-local-viewable) + (defun . nxhtml-buffer-possibly-remote-viewable) + (defun . nxhtml-insert-menu-dynamically) + (defun . nxhtml-menu-image-file) + (defun . nxhtml-gimp-can-edit) + (t . nxhtml-edit-with-gimp) + (defun . nxhtml-edit-with-gimp) + (t . nxhtml-browse-file) + (defun . nxhtml-browse-file) + (t . nxhtml-browse-region) + (defun . nxhtml-browse-region) + nxhtml-browseable-buffer-file + (defun . nxhtml-save-browseable-temp-file) + nxhtml-minor-mode-menu-map nxhtml-minor-mode-map nxhtml-minor-mode + (defun . nxhtml-minor-mode) + nxhtml-minor-mode-modes + (defun . nxhtml-maybe-turn-on-minor-mode) + nxhtml-minor-mode-major-mode nxhtml-global-minor-mode + (t . nxhtml-global-minor-mode) + (defun . nxhtml-global-minor-mode) + nxhtml-global-minor-mode-buffers + (defun . nxhtml-global-minor-mode-enable-in-buffers) + (defun . nxhtml-global-minor-mode-check-buffers) + (defun . nxhtml-global-minor-mode-cmhh) + (defun . nxhtml-docfile) + (defun . nxhtml-docfile-url) + (defun . nxhtml-overview) + (defun . nxhtml-tutorials) + (defun . nxhtml-custom-valfaced) + (defun . nxhtml-custom-insert-nxhtml-row) + (defun . nxhtml-custom-h1) + (defun . widget-button-notify) + (defun . widget-insert-link) + (defun . widget-insert-button) + (defun . nxhtml-custom-url-link) + (defun . nxhtml-custom-describe-defun) + (defun . custom-set-and-prepare-save) + (defun . nxhtml-welcome) + nxhtml-skip-welcome + (defun . nxhtml-skip-welcome) + (defun . nxhtml-say-welcome-unless-skip) + (provide . nxhtml-menu)) + ("/home/hobbes/nxhtml/util/udev-rinari.el" udev-rinari:version + (require . udev) + udev-rinari-dir udev-rinari-load-rinari udev-rinari-steps udev-rinari-update-buffer + (defun . udev-rinari-buffer-name) + (defun . udev-rinari-check-conflicts) + (defun . udev-rinari-setup-when-finished) + (t . udev-rinari-update) + (defun . udev-rinari-update) + udev-rinari-fetch-buffer + (defun . udev-rinari-fetch) + udev-rinari-diff-file udev-rinari-fetch-diff-buffer + (defun . udev-rinari-fetch-diff) + (defun . udev-rinari-check-diff) + (provide . udev-rinari)) + ("/home/hobbes/nxhtml/util/udev-cedet.el" udev-cedet:version + (require . udev) + udev-cedet-dir + (defun . udev-cedet-load-cedet) + udev-cedet-load-cedet udev-cedet-steps + (defun . udev-cedet-buffer-name) + udev-cedet-update-buffer + (defun . udev-cedet-setup-when-finished) + (t . udev-cedet-update) + (defun . udev-cedet-update) + (defun . udev-cedet-fetch) + (defun . udev-cedet-cvs-dir) + (defun . udev-cedet-fetch-diff) + (defun . udev-cedet-check-diff) + (defun . udev-cedet-install-add-debug) + (defun . udev-cedet-install) + (provide . udev-cedet)) + ("/home/hobbes/nxhtml/util/udev-ecb.el" udev-ecb:version + (require . udev) + udev-ecb-dir + (defun . udev-ecb-load-ecb) + udev-ecb-load-ecb udev-ecb-steps + (defun . udev-ecb-buffer-name) + udev-ecb-update-buffer + (defun . udev-ecb-check-cedet) + (defun . udev-ecb-setup-when-finished) + (t . udev-ecb-update) + (defun . udev-ecb-update) + (defun . udev-ecb-fetch) + (defun . udev-ecb-cvs-dir) + (defun . udev-ecb-fetch-diff) + (defun . udev-ecb-check-diff) + (defun . udev-ecb-install) + (provide . udev-ecb)) + ("/home/hobbes/nxhtml/util/udev.el" udev:version + (require . cl) + (require . cus-edit) + udev-log-buffer udev-is-log-buffer + (defun . udev-check-is-log-buffer) + udev-this-chain udev-last-error + (defun . udev-set-last-error) + (defun . udev-chain) + (defun . udev-this-step) + (defun . udev-goto-next-step) + (defun . udev-num-steps) + (defun . udev-step-num) + (defun . udev-finish-function) + udev-control-mode-map udev-control-mode-map udev-control-mode-syntax-table udev-control-mode-abbrev-table udev-control-mode-abbrev-table + (defun . udev-control-mode) + (defun . udev-call-first-step) + udev-step-keymap + (defun . udev-step-at-point) + (defun . udev-rerun-this-step) + (defun . udev-continue-from-this-step) + (defun . udev-goto-this-step-source) + (defun . udev-call-this-step) + (defun . udev-call-next-step) + udev-orig-sentinel + (defun . udev-compilation-sentinel) + (defun . udev-set-compilation-end-message) + udev-continue-on-error-function + (defun . udev-buffer-name) + udev-this-dir + (defun . udev-batch-compile) + (defun . udev-fetch-cvs-diff) + (defun . udev-cvs-diff-continue) + (defun . udev-check-cvs-diff) + (defun . udev-send-buffer-process) + (provide . udev)) + ("/home/hobbes/nxhtml/related/flymake-js.el" + (require . flymake) + flymake-allowed-js-file-name-masks flymake-js-err-line-pattern-re flymake-js-rhino-jar flymake-js-rhino-js flymake-js-engine + (defun . flymake-js-init) + (defun . flymake-js-load) + flymake-js-has-engine + (defun . flymake-js-has-engine) + (defun . flymake-js-turn-on) + flymake-js-on + (provide . flymake-js)) + ("/home/hobbes/nxhtml/related/flymake-php.el" + (require . flymake) + flymake-allowed-php-file-name-masks flymake-php-err-line-pattern-re + (defun . flymake-php-init) + flymake-php-has-engine + (defun . flymake-php-has-engine) + (defun . flymake-php-turn-on) + flymake-php-on + (defun . flymake-php-load) + (provide . flymake-php)) + ("/usr/share/emacs/23.0.93/lisp/progmodes/flymake.elc" flymake-is-running flymake-timer flymake-last-change-time flymake-check-start-time flymake-check-was-interrupted flymake-err-info flymake-new-err-info + (defun . flymake-makehash) + (defun . flymake-float-time) + (defun . flymake-replace-regexp-in-string) + (defun . flymake-split-string) + (defun . flymake-get-temp-dir) + (defun . flymake-line-beginning-position) + (defun . flymake-line-end-position) + (defun . flymake-posn-at-point-as-event) + (defun . flymake-popup-menu) + (defun . flymake-make-emacs-menu) + flymake-log-level + (defun . flymake-log) + (defun . flymake-ins-after) + (defun . flymake-set-at) + flymake-processes flymake-output-residual flymake-allowed-file-name-masks + (defun . flymake-get-file-name-mode-and-masks) + (defun . flymake-can-syntax-check-file) + (defun . flymake-get-init-function) + (defun . flymake-get-cleanup-function) + (defun . flymake-get-real-file-name-function) + flymake-find-buildfile-cache + (defun . flymake-get-buildfile-from-cache) + (defun . flymake-add-buildfile-to-cache) + (defun . flymake-clear-buildfile-cache) + (defun . flymake-find-buildfile) + (defun . flymake-fix-file-name) + (defun . flymake-same-files) + flymake-master-file-dirs flymake-master-file-count-limit + (defun . flymake-find-possible-master-files) + (defun . flymake-master-file-compare) + flymake-check-file-limit + (defun . flymake-check-patch-master-file-buffer) + (defun . flymake-replace-region) + (defun . flymake-read-file-to-temp-buffer) + (defun . flymake-copy-buffer-to-temp-buffer) + (defun . flymake-check-include) + (defun . flymake-find-buffer-for-file) + (defun . flymake-create-master-file) + (defun . flymake-save-buffer-in-file) + (defun . flymake-save-string-to-file) + (defun . flymake-read-file-to-string) + (defun . flymake-process-filter) + (defun . flymake-process-sentinel) + (defun . flymake-post-syntax-check) + (defun . flymake-parse-output-and-residual) + (defun . flymake-parse-residual) + (defun . flymake-er-make-er) + (defun . flymake-er-get-line) + (defun . flymake-er-get-line-err-info-list) + (defun . flymake-ler-file) + (defun . flymake-ler-line) + (defun . flymake-ler-type) + (defun . flymake-ler-text) + (defun . flymake-ler-full-file) + (defun . flymake-ler-p) + (defun . copy-flymake-ler) + (defun . flymake-ler-make-ler) + (defun . flymake-ler-set-file) + (defun . flymake-ler-set-full-file) + (defun . flymake-ler-set-line) + (defun . flymake-get-line-err-count) + (defun . flymake-get-err-count) + (defun . flymake-fix-line-numbers) + (defun . flymake-highlight-err-lines) + (defun . flymake-overlay-p) + (defun . flymake-make-overlay) + (defun . flymake-delete-own-overlays) + (defun . flymake-region-has-flymake-overlays) + (defface . flymake-errline) + (defface . flymake-warnline) + (defun . flymake-highlight-line) + (defun . flymake-parse-err-lines) + (defun . flymake-split-output) + (defun . flymake-reformat-err-line-patterns-from-compile-el) + (require . compile) + flymake-err-line-patterns + (defun . flymake-parse-line) + (defun . flymake-find-err-info) + (defun . flymake-line-err-info-is-less-or-equal) + (defun . flymake-add-line-err-info) + (defun . flymake-add-err-info) + (defun . flymake-get-project-include-dirs-imp) + flymake-get-project-include-dirs-function + (defun . flymake-get-project-include-dirs) + (defun . flymake-get-system-include-dirs) + flymake-project-include-dirs-cache + (defun . flymake-get-project-include-dirs-from-cache) + (defun . flymake-add-project-include-dirs-to-cache) + (defun . flymake-clear-project-include-dirs-cache) + (defun . flymake-get-include-dirs) + (defun . flymake-safe-delete-file) + (defun . flymake-safe-delete-directory) + flymake-compilation-prevents-syntax-check + (defun . flymake-start-syntax-check) + (defun . flymake-start-syntax-check-process) + (defun . flymake-kill-process) + (defun . flymake-stop-all-syntax-checks) + (defun . flymake-compilation-is-running) + (defun . flymake-compile) + flymake-no-changes-timeout + (defun . flymake-on-timer-event) + (defun . flymake-current-line-no) + (defun . flymake-count-lines) + (defun . flymake-display-err-menu-for-current-line) + (defun . flymake-make-err-menu-data) + (defun . flymake-goto-file-and-line) + flymake-mode-line flymake-mode-line-e-w flymake-mode-line-status + (defun . flymake-report-status) + (defun . flymake-display-warning) + flymake-gui-warnings-enabled + (defun . flymake-report-fatal-status) + flymake-start-syntax-check-on-find-file flymake-mode + (t . flymake-mode) + (defun . flymake-mode) + (t . flymake-mode-on) + (defun . flymake-mode-on) + (t . flymake-mode-off) + (defun . flymake-mode-off) + flymake-start-syntax-check-on-newline + (defun . flymake-after-change-function) + (defun . flymake-after-save-hook) + (defun . flymake-kill-buffer-hook) + (defun . flymake-find-file-hook) + (defun . flymake-get-first-err-line-no) + (defun . flymake-get-last-err-line-no) + (defun . flymake-get-next-err-line-no) + (defun . flymake-get-prev-err-line-no) + (defun . flymake-skip-whitespace) + (defun . flymake-goto-line) + (defun . flymake-goto-next-error) + (defun . flymake-goto-prev-error) + (defun . flymake-patch-err-text) + (defun . flymake-create-temp-inplace) + (defun . flymake-create-temp-with-folder-structure) + (defun . flymake-delete-temp-directory) + flymake-temp-source-file-name flymake-master-file-name flymake-temp-master-file-name flymake-base-dir + (defun . flymake-init-create-temp-buffer-copy) + (defun . flymake-simple-cleanup) + (defun . flymake-get-real-file-name) + (defun . flymake-get-full-patched-file-name) + (defun . flymake-get-full-nonpatched-file-name) + (defun . flymake-init-find-buildfile-dir) + (defun . flymake-init-create-temp-source-and-master-buffer-copy) + (defun . flymake-master-cleanup) + (defun . flymake-get-syntax-check-program-args) + (defun . flymake-get-make-cmdline) + (defun . flymake-get-ant-cmdline) + (defun . flymake-simple-make-init-impl) + (defun . flymake-simple-make-init) + (defun . flymake-master-make-init) + (defun . flymake-find-make-buildfile) + (defun . flymake-master-make-header-init) + (defun . flymake-simple-make-java-init) + (defun . flymake-simple-ant-java-init) + (defun . flymake-simple-java-cleanup) + (defun . flymake-perl-init) + (defun . flymake-php-init) + (defun . flymake-get-tex-args) + (defun . flymake-simple-tex-init) + (defun . flymake-master-tex-init) + (defun . flymake-get-include-dirs-dot) + (defun . flymake-xml-init) + (provide . flymake)) + ("/home/hobbes/nxhtml/util/css-color.el" css-color:version + (require . cl) + (defun . css-color-turn-on-in-buffer) + css-color-mode-major-mode css-color-global-mode + (t . css-color-global-mode) + (defun . css-color-global-mode) + css-color-global-mode-buffers + (defun . css-color-global-mode-enable-in-buffers) + (defun . css-color-global-mode-check-buffers) + (defun . css-color-global-mode-cmhh) + css-color-hex-chars css-color-hex-re css-color-hsl-re css-color-rgb-re css-color-html-colors css-color-html-re css-color-color-re css-color-keywords css-color-mode + (t . css-color-mode) + (defun . css-color-mode) + (defun . css-color-font-lock-hook-fun) + css-color-map css-color-generic-map + (defun . css-color-pal-lumsig) + (defun . css-color-foreground-color) + (defun . css-color-normalize-hue) + (defun . css-color-within-bounds) + (defun . css-color-hex-to-rgb) + (defun . css-color-hex-to-hsv) + (defun . css-color-rgb-to-hex) + (defun . css-color-rgb-to-hsv) + (defun . css-color-rgb-to-hsl) + (defun . css-color-hsv-to-hsl) + (defun . css-color-hsv-to-hex) + (defun . css-color-hsv-to-rgb) + (defun . css-color-hsv-to-prop-hexstring) + (defun . css-color-hsl-to-rgb-fractions) + (defun . css-color-hsl-to-rgb) + (defun . css-color-hsl-to-hex) + (defun . css-color-hue-to-rgb) + (defun . css-color-parse-hsl) + (defun . css-color-inchue) + (defun . css-color-incsat) + (defun . css-color-incval) + (defun . css-color-hexval-beginning) + (defun . css-color-replcolor-at-p) + (defun . css-color-get-color-at-point) + (defun . css-color-adj-hue-at-p) + (defun . css-color-adj-saturation-at-p) + (defun . css-color-adj-value-at-p) + (defun . css-color-what-channel) + (defun . css-color-adjust-hex-at-p) + (defun . css-color-up) + (defun . css-color-down) + (defun . css-color-hue-up) + (defun . css-color-hue-down) + (defun . css-color-saturation-up) + (defun . css-color-saturation-down) + (defun . css-color-value-up) + (defun . css-color-value-down) + (defun . css-color-num-up) + (defun . css-color-num-down) + (defun . css-color-beginning-of-color) + (defun . css-color-end-of-color) + (defun . css-color-color-info) + css-color-type-circle + (defun . css-color-next-type) + (defun . css-color-cycle-type) + (defun . css-color-string-hex-to-hsl) + (defun . css-color-string-hsl-to-rgb) + (defun . css-color-string-rgb-to-name) + (defun . css-color-string-name-to-hex) + (defun . css-color-string-rgb-to-hex) + (defun . css-color-string-hsl-to-hex) + (defun . css-color-next-channel) + (defun . css-color-hexify-anystring) + (defun . css-color-toggle-percentage) + css-color-fg-history css-color-bg-history + (defun . css-color-test) + (defun . css-color-run-tests) + (provide . css-color)) + ("/home/hobbes/nxhtml/nxhtml/nxhtml-mode.el" + (require . mumamo) + (require . cl) + (require . appmenu-fold) + (require . fold-dwim) + (require . typesetter) + (require . button) + (require . loadhist) + (require . nxml-mode) + (require . rngalt) + (require . url-parse) + (require . url-expand) + (require . popcmp) + (require . html-imenu) + (require . tidy-xhtml) + (require . html-quote) + (defun . nxhtml-version) + (defun . nxhtml-setup-for-fold-dwim) + (defun . nxhtml-outline-level) + (defun . nxhtml-hs-forward-element) + nxhtml-use-imenu nxhtml-default-encoding + (defun . nxhtml-insert-empty-frames-page) + (defun . nxhtml-insert-empty-page) + (defun . nxhtml-empty-page-completion) + nxhtml-mode-hook + (defun . nxhtml-help) + nxhtml-current-validation-header tidy-menu-symbol + (defun . tidy-menu-symbol) + (defun . nxhtml-change-mode) + nxhtml-heading-element-name-regexp nxhtml-mode-map nxhtml-mode-syntax-table nxhtml-mode-abbrev-table nxhtml-mode-abbrev-table + (t . nxhtml-mode) + (defun . nxhtml-mode) + (defun . nxhtml-quote-html) + nxhtml-single-tags + (defun . nxthml-is-single-tag) + nxhtml-help-attribute-name nxhtml-help-attribute-name-tag nxhtml-help-tag + (t . nxhtml-short-tag-help) + (defun . nxhtml-short-tag-help) + nxhtml-no-single-tags nxhtml-no-end-tags nxhtml-predicate-error + (defun . nxhtml-find-ids) + (defun . nxhtml-read-url) + (defun . nxhtml-read-url-type) + nxhtml-read-url-history nxhtml-read-web-url-history nxhtml-read-mail-url-history nxhtml-in-xml-attribute-value-regex + (defun . nxhtml-mailto-predicate) + nxhtml-image-completion-pattern + (defun . nxhtml-image-url-predicate) + nxhtml-css-completion-pattern + (defun . nxhtml-css-url-predicate) + nxhtml-script-completion-pattern + (defun . nxhtml-script-url-predicate) + (defun . nxhtml-coding-systems-complete) + nxhtml-in-proc-instr-back-regex nxhtml-in-proc-instr-forw-regex rngalt-in-pre-attribute-value-regex + (defun . nxhtml-check-where) + nxhtml-tag-sets nxhtml-attr-sets + (defun . nxhtml-complete-last-try) + (defun . nxhtml-img-tag-do-also) + (defun . nxhtml-redisplay-complete) + (defun . nxhtml-read-from-minibuffer) + (defun . nxhtml-meta-tag-do-also) + (defun . nxhtml-style-tag-do-also) + (defun . nxhtml-script-tag-do-also) + (defun . nxhtml-link-tag-do-also) + (defun . nxhtml-input-tag-do-also) + (defun . nxhtml-do-also-value) + (defun . nxhtml-form-tag-do-also) + nxhtml-complete-tag-do-also + (defun . nxhtml-complete-tag-do-also) + (defun . nxhtml-turn-onoff-tag-do-also) + nxhtml-tag-do-also + (defun . nxhtml-tag-do-also-toggle) + (defun . nxhtml-check-tag-do-also) + nxhtml-validation-header-mode + (t . nxhtml-validation-header-mode) + (defun . nxhtml-validation-header-mode) + (defun . nxhtml-can-insert-page-here) + (defun . nxhtml-complete-first-try) + (defun . nxhtml-completing-read-tag) + (defun . nxhtml-add-required-to-attr-set) + (defun . nxhtml-get-tag-specific-attr-help) + nxhtml-in-start-tag-regex + (defun . nxhtml-completing-read-attribute-name) + (defun . nxhtml-completing-read-attribute-value) + (defun . nxhtml-read-link-type) + (defun . nxhtml-read-link-media) + (defun . nxhtml-read-link-rel) + (defun . nxhtml-read-meta-name) + (defun . nxhtml-read-meta-content) + (defun . nxhtml-read-meta-scheme) + (defun . nxhtml-read-meta-http-equiv) + nxhtml-validation-headers nxhtml-default-validation-header + (defun . nxhtml-must-have-validation-headers) + nxhtml-set-validation-header-hist nxhtml-guess-validation-header-alist + (defun . nxhtml-guess-validation-header) + (defun . nxhtml-open-dir-saved-validation-headers) + (defun . nxhtml-get-saved-validation-header) + (defun . nxhtml-remove-saved-validation-header) + (defun . nxhtml-save-validation-header) + (defun . nxhtml-update-saved-validation-header) + (defun . nxhtml-get-default-validation-header) + (defun . nxhtml-set-validation-header) + (defun . nxhtml-apply-validation-header) + (defun . nxhtml-update-validation-header) + (defun . nxhtml-vhm-change-major) + (defun . nxhtml-recheck-validation-header) + (defun . nxhtml-validation-header-empty) + (defun . nxhtml-turn-on-validation-header-mode) + (defun . nxhtml-vhm-mumamo-change-major) + (defun . nxhtml-vhm-mumamo-after-change-major) + nxhtml-validation-headers-check nxhtml-validation-header-mumamo-modes + (defun . nxhtml-add-validation-header-if-mumamo) + nxhtml-validation-header-if-mumamo + (defun . nxhtml-validation-header-if-mumamo-toggle) + (defun . nxhtml-warnings-are-visible) + nxhtml-old-rng-error-face + (defun . nxhtml-toggle-visible-warnings) + nxml-untag-select + (defun . nxml-untag-element) + (defun . nxhtml-rollover-insert-2v) + (provide . nxhtml-mode)) + ("/home/hobbes/nxhtml/nxhtml/html-quote.el" html-quote-html + (defun . html-quote-html-char) + (defun . html-quote-html-string) + (provide . html-quote)) + ("/home/hobbes/nxhtml/nxhtml/tidy-xhtml.el" tidy-xhtml:version + (require . cl) + (require . ediff) + (require . mumamo) + (require . html-site) + (require . easymenu) + (require . compile) + (require . cus-edit) + (require . help-mode) + (defun . tidy-xemacs-p) + (defun . tidy-windows-p) + (defun . tidy-x-event-function) + (defun . tidy-x-event-object) + (defun . tidy-x-find-menu-item) + (defun . tidy-x-get-popup-menu-response) + (defun . tidy-x-make-event) + (defun . tidy-x-misc-user-event-p) + tidy-warnings tidy-errors tidy-message tidy-batch-last-file tidy-default-config-file tidy-config-file-parsed tidy-config-file tidy-shell-program tidy-temp-directory tidy-menu-lock tidy-menu-x-position tidy-debug + (defun . tidy-toggle-debug) + tidy-options-alist + (defun . tidy-build-options-alist) + tidy-xhtml-values + (defun . tidy-xhtml-options-ok) + (defun . tidy-show-xhtml-options) + (defun . tidy-set-xhtml-options) + current-menubar + (defun . tidy-menu-position) + (defun . tidy-menu-lock) + (defun . tidy-menu-lookup) + tidy-menu tidy-menu-position tidy-menu-state + (defun . tidy-menu-position) + (defun . tidy-menu-lock) + (defun . tidy-menu-lookup) + (defun . tidy-set) + (defun . tidy-boolean-entry) + (defun . tidy-list-entry) + (defun . tidy-set-string) + (defun . tidy-set-integer) + (defun . tidy-string-entry) + (defun . tidy-integer-entry) + (defun . tidy-exe-found) + tidy-top-menu tidy-newline-menu tidy-doctype-menu tidy-emacs-encoding-lbl + (defun . tidy-create-encoding-menu) + tidy-output-encoding-menu tidy-menu-symbol + (t . tidy-build-menu) + (defun . tidy-build-menu) + (defun . event-point) + (defun . tidy-describe-this-option-mouse) + (defun . tidy-describe-this-option) + (defun . tidy-quit-describe-options) + (defun . tidy-current-line) + (defun . tidy-describe-options) + (defun . tidy-parse-config-file) + (defun . tidy-save-settings) + tidy-markup + (defun . tidy-set-buffer-unmodified) + tidy-encodings-mime-charset-list + (defun . tidy-get-buffer-encoding) + (defun . tidy-get-tidy-encoding) + (defun . tidy-temp-config-file) + tidy-output-buf-name tidy-tidied-buffer + (defun . tidy-check-is-tidied) + tidy-control-buffer-name + (defun . tidy-buffer) + (defun . tidy-after-ediff) + (defun . tidy-ediff-buffers) + (defun . tidy-remove-ctrl-m) + tidy-html-files-re + (defun . tidy-is-html-file) + (defun . tidy-contains) + tidy-tree-files + (defun . tidy-tree-next) + (defun . tidy-tree) + (defun . tidy-html-site) + (defun . tidy-batch-sentinel) + (defun . tidy-batch-output-filter) + (defun . tidy-batch) + (defun . wab-compilation-button-at) + (defun . wab-click) + wab-errors-supress + (defun . wab-fb-errmsg) + (defun . wab-fb-helper) + wab-button-list + (defun . wab-fb) + (defun . wab-backward) + (defun . wab-forward) + wab-compilation-mode-map wab-compilation-mode-syntax-table wab-compilation-mode-abbrev-table wab-compilation-mode-abbrev-table + (defun . wab-compilation-mode) + tidy-menu-mode-map tidy-menu-mode + (defun . tidy-menu-mode) + (provide . tidy-xhtml)) + ("/usr/share/emacs/23.0.93/lisp/ediff.elc" ediff-version ediff-date + (provide . ediff) + (require . ediff-init) + (require . ediff-mult) + ediff-use-last-dir ediff-last-dir-A ediff-last-dir-B ediff-last-dir-C ediff-last-dir-ancestor ediff-last-merge-autostore-dir + (defun . ediff-set-read-only-in-buf-A) + (defun . ediff-get-default-file-name) + (t . ediff-files) + (defun . ediff-files) + (t . ediff-files3) + (defun . ediff-files3) + (defun . ediff3) + (defun . ediff-find-file) + (defun . ediff-files-internal) + (defun . ediff) + (t . ediff-backup) + (defun . ediff-backup) + (t . ediff-buffers) + (defun . ediff-buffers) + (defun . ebuffers) + (t . ediff-buffers3) + (defun . ediff-buffers3) + (defun . ebuffers3) + (defun . ediff-buffers-internal) + (defun . ediff-get-default-directory-name) + (t . ediff-directories) + (defun . ediff-directories) + (defun . edirs) + (t . ediff-directory-revisions) + (defun . ediff-directory-revisions) + (defun . edir-revisions) + (t . ediff-directories3) + (defun . ediff-directories3) + (defun . edirs3) + (t . ediff-merge-directories) + (defun . ediff-merge-directories) + (defun . edirs-merge) + (t . ediff-merge-directories-with-ancestor) + (defun . ediff-merge-directories-with-ancestor) + (t . ediff-merge-directory-revisions) + (defun . ediff-merge-directory-revisions) + (defun . edir-merge-revisions) + (t . ediff-merge-directory-revisions-with-ancestor) + (defun . ediff-merge-directory-revisions-with-ancestor) + (defun . edir-merge-revisions-with-ancestor) + (defun . edirs-merge-with-ancestor) + (defun . ediff-directories-internal) + (defun . ediff-directory-revisions-internal) + (t . ediff-windows-wordwise) + (defun . ediff-windows-wordwise) + (t . ediff-windows-linewise) + (defun . ediff-windows-linewise) + (defun . ediff-windows) + (t . ediff-regions-wordwise) + (defun . ediff-regions-wordwise) + (t . ediff-regions-linewise) + (defun . ediff-regions-linewise) + (defun . ediff-regions-internal) + (defun . ediff-merge) + (defun . ediff-merge-on-startup) + (t . ediff-merge-files) + (defun . ediff-merge-files) + (t . ediff-merge-files-with-ancestor) + (defun . ediff-merge-files-with-ancestor) + (defun . ediff-merge-with-ancestor) + (t . ediff-merge-buffers) + (defun . ediff-merge-buffers) + (t . ediff-merge-buffers-with-ancestor) + (defun . ediff-merge-buffers-with-ancestor) + (t . ediff-merge-revisions) + (defun . ediff-merge-revisions) + (t . ediff-merge-revisions-with-ancestor) + (defun . ediff-merge-revisions-with-ancestor) + (t . ediff-patch-file) + (defun . ediff-patch-file) + (t . ediff-patch-buffer) + (defun . ediff-patch-buffer) + (defun . epatch) + (defun . epatch-buffer) + (t . ediff-revision) + (defun . ediff-revision) + (defun . erevision) + (defun . ediff-load-version-control) + (t . ediff-version) + (defun . ediff-version) + (t . ediff-documentation) + (defun . ediff-documentation) + (require . ediff-util)) + ("/usr/share/emacs/23.0.93/lisp/ediff-util.elc" + (provide . ediff-util) + ediff-after-quit-hook-internal + (require . ediff-init) + (require . ediff-help) + (require . ediff-mult) + (require . ediff-wind) + (require . ediff-diff) + (require . ediff-merg) + (defun . ediff-mode) + ediff-mode-map + (defun . ediff-set-keys) + (defun . ediff-reload-keymap) + (defun . ediff-setup-keymap) + (defun . ediff-setup) + (defun . ediff-setup-control-buffer) + (defun . ediff-arrange-autosave-in-merge-jobs) + (defun . ediff-update-diffs) + (defun . ediff-revert-buffers-then-recompute-diffs) + (defun . ediff-recenter) + (defun . ediff-recenter-one-window) + (defun . ediff-recenter-ancestor) + (defun . ediff-toggle-split) + (defun . ediff-toggle-hilit) + (defun . ediff-toggle-autorefine) + (defun . ediff-show-ancestor) + (defun . ediff-make-or-kill-fine-diffs) + (defun . ediff-toggle-help) + (defun . ediff-toggle-read-only) + (defun . ediff-maybe-checkout) + (defun . ediff-file-checked-out-p) + (defun . ediff-file-checked-in-p) + (defun . ediff-file-compressed-p) + (defun . ediff-swap-buffers) + (defun . ediff-toggle-wide-display) + (t . ediff-toggle-multiframe) + (defun . ediff-toggle-multiframe) + (t . ediff-toggle-use-toolbar) + (defun . ediff-toggle-use-toolbar) + (defun . ediff-kill-bottom-toolbar) + (defun . ediff-make-bottom-toolbar) + (defun . ediff-toggle-show-clashes-only) + (defun . ediff-toggle-skip-changed-regions) + (defun . ediff-toggle-narrow-region) + (defun . ediff-visible-region) + (defun . ediff-operate-on-windows) + (defun . ediff-scroll-vertically) + (defun . ediff-scroll-horizontally) + (defun . ediff-position-region) + (defun . ediff-get-lines-to-region-end) + (defun . ediff-get-lines-to-region-start) + (defun . ediff-get-region-size-coefficient) + (defun . ediff-next-difference) + (defun . ediff-previous-difference) + (defun . ediff-jump-to-difference) + (defun . ediff-jump-to-difference-at-point) + (defun . ediff-diff-at-point) + (defun . ediff-diff-to-diff) + (defun . ediff-copy-A-to-B) + (defun . ediff-copy-B-to-A) + (defun . ediff-copy-A-to-C) + (defun . ediff-copy-B-to-C) + (defun . ediff-copy-C-to-B) + (defun . ediff-copy-C-to-A) + (defun . ediff-copy-diff) + (defun . ediff-save-diff-region) + (defun . ediff-test-save-region) + (defun . ediff-pop-diff) + (defun . ediff-restore-diff) + (defun . ediff-restore-diff-in-merge-buffer) + (defun . ediff-toggle-regexp-match) + (defun . ediff-toggle-skip-similar) + (defun . ediff-focus-on-regexp-matches) + (defun . ediff-hide-regexp-matches) + (defun . ediff-quit) + (defun . ediff-really-quit) + (defun . ediff-good-frame-under-mouse) + (defun . ediff-delete-temp-files) + (defun . ediff-cleanup-mess) + (defun . ediff-janitor) + (defun . ediff-dispose-of-variant-according-to-user) + (defun . ediff-maybe-save-and-delete-merge) + (defun . ediff-write-merge-buffer-and-maybe-kill) + (defun . ediff-default-suspend-function) + (defun . ediff-suspend) + (defun . ediff-status-info) + (defun . ediff-select-difference) + (defun . ediff-unselect-difference) + (defun . ediff-unselect-and-select-difference) + (defun . ediff-highlight-diff-in-one-buffer) + (defun . ediff-unhighlight-diff-in-one-buffer) + (defun . ediff-unhighlight-diffs-totally-in-one-buffer) + (defun . ediff-highlight-diff) + (defun . ediff-unhighlight-diff) + (defun . ediff-unhighlight-diffs-totally) + (defun . ediff-read-file-name) + (defun . ediff-make-temp-file) + (defun . ediff-make-empty-tmp-file) + (defun . ediff-verify-file-buffer) + (defun . ediff-verify-file-merge-buffer) + (defun . ediff-filename-magic-p) + (defun . ediff-save-buffer) + (defun . ediff-clone-buffer-for-region-comparison) + (defun . ediff-clone-buffer-for-window-comparison) + (defun . ediff-clone-buffer-for-current-diff-comparison) + (defun . ediff-make-cloned-buffer) + (defun . ediff-make-indirect-buffer) + (defun . ediff-compute-custom-diffs-maybe) + (defun . ediff-show-diff-output) + (defun . ediff-inferior-compare-regions) + (defun . ediff-remove-flags-from-buffer) + (defun . ediff-place-flags-in-buffer) + (defun . ediff-place-flags-in-buffer1) + (defun . ediff-empty-diff-region-p) + (defun . ediff-whitespace-diff-region-p) + (defun . ediff-get-region-contents) + (defun . ediff-get-diff-posn) + (defun . ediff-restore-highlighting) + (defun . ediff-clear-diff-vector) + (defun . ediff-make-bullet-proof-overlay) + (defun . ediff-make-current-diff-overlay) + (defun . ediff-other-buffer) + (defun . ediff-get-selected-buffers) + (defun . ediff-unique-buffer-name) + (defun . ediff-submit-report) + (defun . ediff-choose-syntax-table) + (defun . ediff-deactivate-mark) + (defun . ediff-activate-mark) + (defun . ediff-nuke-selective-display) + (defun . ediff-save-variables) + (defun . ediff-restore-variables) + (defun . ediff-change-saved-variable) + (defun . ediff-save-protected-variables) + (defun . ediff-restore-protected-variables) + (defun . ediff-save-buffer-in-file) + ediff-command-begin-time + (defun . ediff-calc-command-time) + (defun . ediff-save-time) + (defun . ediff-profile) + (defun . ediff-print-diff-vector) + (defun . ediff-debug-info) + (defun . ediff-member) + (defun . ediff-format-bindings-of) + (defun . ediff-intersection) + (defun . ediff-union) + (defun . ediff-set-difference) + (defun . ediff-add-to-history) + (defun . ediff-copy-list)) + ("/usr/share/emacs/23.0.93/lisp/ediff-merg.elc" + (require . ediff-init) + ediff-quit-merge-hook ediff-default-variant ediff-combination-pattern ediff-show-clashes-only ediff-skip-merge-regions-that-differ-from-default + (defun . ediff-merge-region-is-non-clash) + (defun . ediff-merge-region-is-non-clash-to-skip) + (defun . ediff-skip-merge-region-if-changed-from-default-p) + (defun . ediff-get-combined-region) + (defun . ediff-set-state-of-all-diffs-in-all-buffers) + (defun . ediff-set-state-of-diff-in-all-buffers) + (defun . ediff-set-merge-mode) + (defun . ediff-do-merge) + (defun . ediff-re-merge) + (defun . ediff-shrink-window-C) + (defun . ediff-combine-diffs) + (defun . ediff-looks-like-combined-merge) + (defun . ediff-merge-changed-from-default-p) + (provide . ediff-merg)) + ("/usr/share/emacs/23.0.93/lisp/ediff-diff.elc" + (provide . ediff-diff) + (require . ediff-init) + ediff-diff-program ediff-diff3-program ediff-shell ediff-cmp-program ediff-cmp-options + (defun . ediff-set-diff-options) + ediff-diff-options ediff-ignore-case ediff-ignore-case-option ediff-ignore-case-option3 ediff-actual-diff-options ediff-custom-diff-program ediff-custom-diff-options ediff-match-diff3-line ediff-diff3-options ediff-actual-diff3-options ediff-diff3-ok-lines-regexp ediff-diff-status ediff-auto-refine ediff-ignore-similar-regions ediff-auto-refine-limit ediff-diff-ok-lines-regexp ediff-match-diff-line ediff-setup-diff-regions-function + (defun . ediff-setup-diff-regions) + (defun . ediff-make-diff2-buffer) + (defun . ediff-setup-fine-diff-regions) + (defun . ediff-prepare-error-list) + (defun . ediff-extract-diffs) + (defun . ediff-convert-diffs-to-overlays) + (defun . ediff-set-diff-overlays-in-one-buffer) + (defun . ediff-make-fine-diffs) + (defun . ediff-install-fine-diff-if-necessary) + (defun . ediff-set-fine-diff-properties) + (defun . ediff-set-fine-diff-properties-in-one-buffer) + (defun . ediff-set-fine-overlays-for-combined-merge) + (defun . ediff-set-fine-overlays-in-one-buffer) + (defun . ediff-convert-fine-diffs-to-overlays) + (defun . ediff-get-diff3-group) + (defun . ediff-extract-diffs3) + (defun . ediff-setup-diff-regions3) + (defun . ediff-exec-process) + (defun . ediff-process-filter) + (defun . ediff-process-sentinel) + ediff-forward-word-function ediff-whitespace ediff-word-1 ediff-word-2 ediff-word-3 ediff-word-4 + (defun . ediff-forward-word) + (defun . ediff-wordify) + (defun . ediff-copy-to-buffer) + (defun . ediff-goto-word) + (defun . ediff-same-file-contents) + (defun . ediff-same-contents) + (defun . ediff-same-file-contents-lists) + (defun . ediff-delete-all-matches) + (defun . ediff-set-actual-diff-options) + (defun . ediff-toggle-ignore-case)) + ("/usr/share/emacs/23.0.93/lisp/ediff-wind.elc" + (require . ediff-init) + (defun . ediff-compute-toolbar-width) + (defun . ediff-choose-window-setup-function-automatically) + ediff-window-setup-function ediff-multiframe ediff-merge-window-share ediff-control-window ediff-window-A ediff-window-B ediff-window-C ediff-window-config-saved ediff-window-alist ediff-window-alist ediff-split-window-function ediff-merge-split-window-function ediff-control-frame-parameters ediff-mouse-pixel-position ediff-mouse-pixel-threshold ediff-grab-mouse ediff-control-frame-position-function ediff-control-frame-upward-shift ediff-narrow-control-frame-leftward-shift ediff-wide-control-frame-rightward-shift ediff-wide-display-p ediff-wide-display-orig-parameters ediff-wide-display-frame ediff-make-wide-display-function ediff-control-frame ediff-prefer-iconified-control-frame + (defun . ediff-get-window-by-clicking) + (defun . ediff-select-lowest-window) + (defun . ediff-setup-windows) + (defun . ediff-setup-windows-plain) + (defun . ediff-setup-windows-plain-merge) + (defun . ediff-setup-windows-plain-compare) + (defun . ediff-setup-windows-multiframe) + (defun . ediff-setup-windows-multiframe-merge) + (defun . ediff-setup-windows-multiframe-compare) + (defun . ediff-skip-unsuitable-frames) + (defun . ediff-frame-has-dedicated-windows) + (defun . ediff-window-ok-for-display) + (defun . ediff-setup-control-frame) + (defun . ediff-destroy-control-frame) + (defun . ediff-make-frame-position) + (defun . ediff-xemacs-select-frame-hook) + (defun . ediff-make-wide-display) + (defun . ediff-refresh-mode-lines) + (defun . ediff-refresh-control-frame) + (defun . ediff-make-narrow-control-buffer-id) + (defun . ediff-make-base-title) + (defun . ediff-make-wide-control-buffer-id) + (defun . ediff-get-visible-buffer-window) + (defun . ediff-keep-window-config) + (provide . ediff-wind)) + ("/usr/share/emacs/23.0.93/lisp/ediff-help.elc" + (require . ediff-init) + ediff-long-help-message-head ediff-long-help-message-tail ediff-long-help-message-compare3 ediff-long-help-message-compare2 ediff-long-help-message-narrow2 ediff-long-help-message-word-mode ediff-long-help-message-merge ediff-long-help-message ediff-brief-message-string ediff-brief-help-message ediff-brief-help-message-function ediff-long-help-message-function ediff-use-long-help-message ediff-help-message ediff-help-region-map + (defun . ediff-set-help-overlays) + (defun . ediff-help-for-quick-help) + (defun . ediff-help-message-line-length) + (defun . ediff-indent-help-message) + (defun . ediff-set-help-message) + (t . ediff-customize) + (defun . ediff-customize) + (provide . ediff-help)) + ("/usr/share/emacs/23.0.93/lisp/ediff-mult.elc" + (provide . ediff-mult) + (require . ediff-init) + ediff-meta-buffer ediff-parent-meta-buffer ediff-registry-buffer ediff-meta-buffer-brief-message ediff-meta-buffer-brief-message ediff-meta-buffer-verbose-message ediff-meta-buffer-verbose-message ediff-meta-buffer-map ediff-dir-diffs-buffer-map ediff-meta-action-function ediff-meta-redraw-function ediff-session-action-function ediff-metajob-name ediff-meta-diff-buffer ediff-recurse-to-subdirectories ediff-filtering-regexp-history ediff-default-filtering-regexp ediff-meta-list ediff-meta-session-number ediff-dir-difference-list ediff-dir-diffs-buffer ediff-session-registry ediff-meta-truncate-filenames ediff-meta-mode-hook ediff-registry-setup-hook ediff-before-session-group-setup-hooks ediff-after-session-group-setup-hook ediff-quit-session-group-hook ediff-show-registry-hook ediff-show-session-group-hook ediff-meta-buffer-keymap-setup-hook ediff-meta-patchbufer + (defun . ediff-get-group-buffer) + (defun . ediff-get-group-regexp) + (defun . ediff-get-group-objA) + (defun . ediff-get-group-objB) + (defun . ediff-get-group-objC) + (defun . ediff-get-group-merge-autostore-dir) + (defun . ediff-get-group-comparison-func) + (defun . ediff-get-session-buffer) + (defun . ediff-get-session-status) + (defun . ediff-set-session-status) + (defun . ediff-get-session-objA) + (defun . ediff-get-session-objB) + (defun . ediff-get-session-objC) + (defun . ediff-get-session-objA-name) + (defun . ediff-get-session-objB-name) + (defun . ediff-get-session-objC-name) + (defun . ediff-get-file-eqstatus) + (defun . ediff-set-file-eqstatus) + (defun . ediff-make-new-meta-list-element) + (defun . ediff-make-new-meta-list-header) + (defun . ediff-get-session-activity-marker) + (defun . ediff-meta-session-p) + ediff-verbose-help-enabled + (defun . ediff-toggle-verbose-help-meta-buffer) + (defun . ediff-setup-meta-map) + (defun . ediff-meta-mode) + (defun . ediff-next-meta-item) + (defun . ediff-next-meta-item1) + (defun . ediff-previous-meta-item) + (defun . ediff-previous-meta-item1) + (defun . ediff-add-slash-if-directory) + (defun . ediff-toggle-filename-truncation) + ediff-membership-code1 ediff-membership-code2 ediff-membership-code3 ediff-product-of-memcodes + (defun . ediff-intersect-directories) + (defun . ediff-get-directory-files-under-revision) + (defun . ediff-prepare-meta-buffer) + (defun . ediff-insert-session-activity-marker-in-meta-buffer) + (defun . ediff-insert-session-status-in-meta-buffer) + (defun . ediff-replace-session-activity-marker-in-meta-buffer) + (defun . ediff-replace-session-status-in-meta-buffer) + (defun . ediff-insert-session-info-in-meta-buffer) + (defun . ediff-redraw-directory-group-buffer) + (defun . ediff-update-markers-in-dir-meta-buffer) + (defun . ediff-update-session-marker-in-dir-meta-buffer) + (defun . ediff-problematic-session-p) + (defun . ediff-meta-insert-file-info1) + ediff-months + (defun . ediff-fill-leading-zero) + (defun . ediff-format-date) + (defun . ediff-insert-dirs-in-meta-buffer) + (defun . ediff-draw-dir-diffs) + (defun . ediff-bury-dir-diffs-buffer) + (defun . ediff-show-dir-diffs) + (defun . ediff-dir-diff-copy-file) + (defun . ediff-up-meta-hierarchy) + (defun . ediff-redraw-registry-buffer) + (defun . ediff-set-meta-overlay) + (defun . ediff-mark-for-hiding-at-pos) + (defun . ediff-mark-session-for-hiding) + (defun . ediff-mark-for-operation-at-pos) + (defun . ediff-mark-session-for-operation) + (defun . ediff-hide-marked-sessions) + (defun . ediff-operate-on-marked-sessions) + (defun . ediff-append-custom-diff) + (defun . ediff-collect-custom-diffs) + (defun . ediff-meta-show-patch) + (defun . ediff-filegroup-action) + (defun . ediff-registry-action) + (defun . ediff-show-meta-buffer) + (defun . ediff-show-current-session-meta-buffer) + (defun . ediff-show-meta-buff-from-registry) + (t . ediff-show-registry) + (defun . ediff-show-registry) + (defun . eregistry) + (defun . ediff-update-meta-buffer) + (defun . ediff-update-registry) + (defun . ediff-cleanup-meta-buffer) + (defun . ediff-safe-to-quit) + (defun . ediff-quit-meta-buffer) + (defun . ediff-dispose-of-meta-buffer) + (defun . ediff-get-meta-info) + (defun . ediff-get-meta-overlay-at-pos) + (defun . ediff-get-session-number-at-pos) + (defun . ediff-next-meta-overlay-start) + (defun . ediff-previous-meta-overlay-start) + (defun . ediff-patch-file-form-meta) + (defun . ediff-unmark-all-for-operation) + (defun . ediff-unmark-all-for-hiding) + (defun . ediff-meta-mark-equal-files) + (defun . ediff-mark-if-equal)) + ("/usr/share/emacs/23.0.93/lisp/ediff-init.elc" ediff-force-faces + (defun . ediff-device-type) + (defun . ediff-window-display-p) + (defun . ediff-has-face-support-p) + (defun . ediff-has-toolbar-support-p) + (defun . ediff-has-gutter-support-p) + (defun . ediff-use-toolbar-p) + (defun . ediff-defvar-local) + ediff-buffer-A ediff-buffer-B ediff-buffer-C ediff-ancestor-buffer ediff-control-buffer ediff-temp-indirect-buffer ediff-buffer-alist ediff-buffer-alist + (defun . ediff-odd-p) + (defun . ediff-buffer-live-p) + (defun . ediff-get-buffer) + (defun . ediff-get-value-according-to-buffer-type) + (defun . ediff-char-to-buftype) + (defun . ediff-get-symbol-from-alist) + ediff-difference-vector-alist ediff-difference-vector-alist + (defun . ediff-get-difference) + (defun . ediff-no-fine-diffs-p) + (defun . ediff-get-diff-overlay-from-diff-record) + (defun . ediff-get-diff-overlay) + (defun . ediff-get-fine-diff-vector-from-diff-record) + (defun . ediff-set-fine-diff-vector) + (defun . ediff-get-state-of-diff) + (defun . ediff-set-state-of-diff) + (defun . ediff-get-state-of-merge) + (defun . ediff-set-state-of-merge) + (defun . ediff-get-state-of-ancestor) + (defun . ediff-mark-diff-as-space-only) + (defun . ediff-get-fine-diff-vector) + (defun . ediff-with-current-buffer) + (defun . ediff-multiframe-setup-p) + (defun . ediff-narrow-control-frame-p) + (defun . ediff-3way-comparison-job) + ediff-3way-comparison-job + (defun . ediff-merge-job) + ediff-merge-job + (defun . ediff-patch-job) + (defun . ediff-merge-with-ancestor-job) + ediff-merge-with-ancestor-job + (defun . ediff-3way-job) + ediff-3way-job + (defun . ediff-diff3-job) + ediff-diff3-job + (defun . ediff-windows-job) + ediff-windows-job + (defun . ediff-word-mode-job) + ediff-word-mode-job + (defun . ediff-narrow-job) + ediff-narrow-job + (defun . ediff-ancestor-metajob) + (defun . ediff-revision-metajob) + (defun . ediff-patch-metajob) + (defun . ediff-one-filegroup-metajob) + (defun . ediff-collect-diffs-metajob) + (defun . ediff-merge-metajob) + (defun . ediff-metajob3) + (defun . ediff-comparison-metajob3) + (defun . ediff-in-control-buffer-p) + (defun . ediff-barf-if-not-control-buffer) + ediff-before-setup-hook ediff-before-setup-windows-hook ediff-after-setup-windows-hook ediff-before-setup-control-frame-hook ediff-after-setup-control-frame-hook ediff-startup-hook ediff-select-hook ediff-unselect-hook ediff-prepare-buffer-hook ediff-load-hook ediff-mode-hook ediff-keymap-setup-hook ediff-display-help-hook ediff-suspend-hook ediff-quit-hook ediff-cleanup-hook ediff-KILLED-VITAL-BUFFER ediff-KILLED-VITAL-BUFFER ediff-NO-DIFFERENCES ediff-NO-DIFFERENCES ediff-BAD-DIFF-NUMBER ediff-BAD-DIFF-NUMBER ediff-BAD-INFO ediff-BAD-INFO ediff-skip-diff-region-function ediff-hide-regexp-matches-function ediff-focus-on-regexp-matches-function ediff-regexp-focus-A ediff-regexp-focus-B ediff-regexp-focus-C ediff-focus-regexp-connective ediff-regexp-hide-A ediff-regexp-hide-B ediff-regexp-hide-C ediff-hide-regexp-connective ediff-killed-diffs-alist ediff-syntax-table ediff-before-flag-bol ediff-after-flag-eol ediff-before-flag-mol ediff-after-flag-mol ediff-use-faces ediff-use-faces ediff-word-mode ediff-job-name ediff-narrow-bounds ediff-wide-bounds ediff-visible-bounds ediff-start-narrowed ediff-quit-widened ediff-keep-variants ediff-highlight-all-diffs ediff-highlight-all-diffs ediff-control-buffer-suffix ediff-control-buffer-number ediff-buffer-values-orig-A ediff-buffer-values-orig-B ediff-buffer-values-orig-C ediff-buffer-values-orig-Ancestor ediff-buffer-values-orig-alist ediff-buffer-values-orig-alist ediff-protected-variables ediff-protected-variables ediff-difference-vector-A ediff-difference-vector-B ediff-difference-vector-C ediff-difference-vector-Ancestor ediff-difference-vector-alist ediff-difference-vector-alist ediff-state-of-merge ediff-current-difference ediff-number-of-differences ediff-diff-buffer ediff-custom-diff-buffer ediff-fine-diff-buffer ediff-tmp-buffer ediff-msg-buffer ediff-error-buffer ediff-debug-buffer ediff-this-buffer-ediff-sessions ediff-disturbed-overlays ediff-shadow-overlay-priority ediff-version-control-package ediff-coding-system-for-read ediff-coding-system-for-write + (defun . ediff-read-event) + (defun . ediff-overlayp) + (defun . ediff-make-overlay) + (defun . ediff-delete-overlay) + (defun . ediff-check-version) + (defun . ediff-color-display-p) + ediff-highlighting-style + (defun . ediff-valid-color-p) + (defun . ediff-get-face) + (defun . ediff-display-pixel-width) + (defun . ediff-display-pixel-height) + ediff-current-diff-overlay-alist ediff-current-diff-overlay-alist ediff-current-diff-face-alist ediff-current-diff-face-alist + (defun . ediff-set-overlay-face) + (defun . ediff-region-help-echo) + (defun . ediff-set-face-pixmap) + (defun . ediff-hide-face) + (defface . ediff-current-diff-A) + ediff-current-diff-face-A + (defface . ediff-current-diff-B) + ediff-current-diff-face-B + (defface . ediff-current-diff-C) + ediff-current-diff-face-C + (defface . ediff-current-diff-Ancestor) + ediff-current-diff-face-Ancestor + (defface . ediff-fine-diff-A) + ediff-fine-diff-face-A + (defface . ediff-fine-diff-B) + ediff-fine-diff-face-B + (defface . ediff-fine-diff-C) + ediff-fine-diff-face-C + (defface . ediff-fine-diff-Ancestor) + ediff-fine-diff-face-Ancestor stipple-pixmap + (defface . ediff-even-diff-A) + ediff-even-diff-face-A + (defface . ediff-even-diff-B) + ediff-even-diff-face-B + (defface . ediff-even-diff-C) + ediff-even-diff-face-C + (defface . ediff-even-diff-Ancestor) + ediff-even-diff-face-Ancestor ediff-even-diff-face-alist ediff-even-diff-face-alist + (defface . ediff-odd-diff-A) + ediff-odd-diff-face-A + (defface . ediff-odd-diff-B) + ediff-odd-diff-face-B + (defface . ediff-odd-diff-C) + ediff-odd-diff-face-C + (defface . ediff-odd-diff-Ancestor) + ediff-odd-diff-face-Ancestor ediff-odd-diff-face-alist ediff-odd-diff-face-alist ediff-fine-diff-face-alist ediff-fine-diff-face-alist ediff-current-diff-overlay-A ediff-current-diff-overlay-B ediff-current-diff-overlay-C ediff-current-diff-overlay-Ancestor + (defun . ediff-highest-priority) + ediff-toggle-read-only-function ediff-make-buffers-readonly-at-startup ediff-verbose-p ediff-autostore-merges ediff-merge-store-file ediff-merge-filename-prefix ediff-no-emacs-help-in-control-buffer ediff-temp-file-prefix ediff-temp-file-mode ediff-metachars ediff-H-glyph ediff-temp-file-A ediff-temp-file-B ediff-temp-file-C + (defun . ediff-file-remote-p) + (defun . ediff-listable-file) + (defun . ediff-frame-unsplittable-p) + (defun . ediff-get-next-window) + (defun . ediff-kill-buffer-carefully) + (defun . ediff-background-face) + (defun . ediff-paint-background-regions-in-one-buffer) + (defun . ediff-paint-background-regions) + (defun . ediff-clear-fine-diff-vector) + (defun . ediff-clear-fine-differences-in-one-buffer) + (defun . ediff-clear-fine-differences) + (defun . ediff-mouse-event-p) + (defun . ediff-key-press-event-p) + (defun . ediff-event-point) + (defun . ediff-event-buffer) + (defun . ediff-event-key) + (defun . ediff-frame-iconified-p) + (defun . ediff-window-visible-p) + (defun . ediff-frame-char-width) + (defun . ediff-reset-mouse) + (defun . ediff-spy-after-mouse) + (defun . ediff-user-grabbed-mouse) + (defun . ediff-frame-char-height) + (defun . ediff-overlay-start) + (defun . ediff-overlay-end) + (defun . ediff-empty-overlay-p) + (defun . ediff-overlay-buffer) + (defun . ediff-overlay-get) + (defun . ediff-move-overlay) + (defun . ediff-overlay-put) + (defun . ediff-abbreviate-file-name) + (defun . ediff-strip-last-dir) + (defun . ediff-truncate-string-left) + (defun . ediff-nonempty-string-p) + (defun . ediff-abbrev-jobname) + (defun . ediff-strip-mode-line-format) + (defun . ediff-valid-difference-p) + (defun . ediff-show-all-diffs) + (defun . ediff-message-if-verbose) + (defun . ediff-file-attributes) + (defun . ediff-file-size) + (defun . ediff-file-modtime) + (defun . ediff-convert-standard-filename) + (defun . ediff-with-syntax-table) + (provide . ediff-init)) + ("/home/hobbes/nxhtml/nxhtml/html-imenu.el" html-imenu:version + (require . imenu) + html-imenu-title html-imenu-regexp + (defun . html-imenu-index) + (defun . html-imenu-setup) + (defun . html-imenu-update-menubar) + (defun . html-imenu-update-menubar-1) + (provide . html-imenu)) + ("/usr/share/emacs/23.0.93/lisp/imenu.elc" imenu-use-markers imenu-max-item-length imenu-auto-rescan imenu-auto-rescan-maxout imenu-always-use-completion-buffer-p imenu-use-popup-menu imenu-eager-completion-buffer imenu-after-jump-hook imenu-sort-function imenu-max-items imenu-space-replacement imenu-level-separator imenu-generic-expression imenu-create-index-function imenu-prev-index-position-function imenu-extract-index-name-function imenu-name-lookup-function imenu-default-goto-function + (defun . imenu--subalist-p) + (defun . imenu-progress-message) + (defun . imenu-example--name-and-position) + (defun . imenu-example--lisp-extract-index-name) + (defun . imenu-example--create-lisp-index) + imenu-example--function-name-regexp-c + (defun . imenu-example--create-c-index) + imenu--rescan-item imenu--rescan-item imenu--index-alist imenu--last-menubar-index-alist imenu--history-list + (defun . imenu--sort-by-name) + (defun . imenu--sort-by-position) + (defun . imenu--relative-position) + (defun . imenu--split) + (defun . imenu--split-menu) + (defun . imenu--split-submenus) + (defun . imenu--truncate-items) + (defun . imenu--make-index-alist) + (defun . imenu--cleanup) + (defun . imenu--create-keymap) + (defun . imenu--in-alist) + imenu-syntax-alist + (defun . imenu-default-create-index-function) + imenu-case-fold-search + (defun . imenu--generic-function) + (defun . imenu-find-default) + (defun . imenu--completion-buffer) + (defun . imenu--mouse-menu) + (defun . imenu-choose-buffer-index) + (t . imenu-add-to-menubar) + (defun . imenu-add-to-menubar) + (t . imenu-add-menubar-index) + (defun . imenu-add-menubar-index) + imenu-buffer-menubar imenu-menubar-modified-tick + (defun . imenu-update-menubar) + (defun . imenu--menubar-select) + (defun . imenu-default-goto-function) + (t . imenu) + (defun . imenu) + (provide . imenu)) + ("/home/hobbes/nxhtml/util/popcmp.el" + (require . ourcomments-util) + popcmp-popup-completion + (defun . popcmp-popup-completion-toggle) + popcmp-short-help-beside-alts + (defun . popcmp-short-help-beside-alts-toggle) + popcmp-group-alternatives + (defun . popcmp-group-alternatives-toggle) + (defun . popcmp-getsets) + (defun . popcmp-getset-alts) + popcmp-completing-with-help + (defun . popcmp-add-help) + (defun . popcmp-remove-help) + (defun . popcmp-completing-read-nopop) + (defun . popcmp-completing-read-pop) + (defun . popcmp-completing-read) + popcmp-mark-completing-ovl + (defun . popcmp-mark-completing) + (defun . popcmp-unmark-completing) + (provide . popcmp)) + ("/home/hobbes/nxhtml/nxhtml/rngalt.el" rngalt:version + (require . rng-valid) + (require . rng-nxml) + rngalt-complete-first-try rngalt-complete-last-try rngalt-completing-read-tag rngalt-completing-read-attribute-name rngalt-completing-read-attribute-value + (defun . rngalt-finish-element) + (defun . rngalt-finish-element-1) + (defun . rngalt-complete) + (defun . rngalt-validate) + rngalt-region-ovl rngalt-region-prepared + (defun . rngalt-complete-tag-region-prepare) + (defun . rngalt-complete-tag-region-cleanup) + (defun . rngalt-complete-tag-region-finish) + (defun . rngalt-complete-tag) + rngalt-complete-tag-hooks + (defun . rngalt-complete-attribute-name) + (defun . rngalt-complete-attribute-value) + (defun . rngalt-complete-before-point) + (defun . rngalt-get-missing-required-attr) + rngalt-validation-header rngalt-current-schema-file-name rngalt-validation-header-overlay rngalt-major-mode + (defun . rngalt-after-change-major) + rngalt-validation-header-keymap + (defun . rngalt-update-validation-header-overlay) + (defun . rngalt-update-validation-header-overlay-everywhere) + rngalt-display-validation-header + (defun . rngalt-display-validation-header-toggle) + rngalt-minimal-validation-header + (defun . rngalt-minimal-validation-header-toggle) + (defface . rngalt-validation-header-top) + (defface . rngalt-validation-header-bottom) + (require . bytecomp) + (defun . advice-compilation) + (t . rngalt-set-validation-header) + (defun . rngalt-set-validation-header) + (defun . rngalt-reapply-validation-header) + (defun . rngalt-get-validation-header-buffer) + (defun . rngalt-get-state-after) + (defun . rngalt-show-validation-header) + (defun . rngalt-update-validation-header-buffer) + (provide . rngalt)) + ("/usr/share/emacs/23.0.93/lisp/nxml/rng-nxml.elc" + (require . easymenu) + (require . xmltok) + (require . nxml-util) + (require . nxml-ns) + (require . rng-match) + (require . rng-util) + (require . rng-valid) + (require . nxml-mode) + (require . rng-loc) + rng-nxml-auto-validate-flag rng-preferred-prefix-alist rng-complete-end-tags-after-< rng-nxml-easy-menu + (t . rng-nxml-mode-init) + (defun . rng-nxml-mode-init) + rng-tag-history rng-attribute-name-history rng-attribute-value-history rng-complete-target-names rng-complete-name-attribute-flag rng-complete-extra-strings + (defun . rng-complete) + rng-in-start-tag-name-regex rng-in-start-tag-name-regex + (defun . rng-complete-tag) + rng-in-end-tag-name-regex rng-in-end-tag-name-regex + (defun . rng-complete-end-tag) + rng-in-attribute-regex rng-in-attribute-regex rng-undeclared-prefixes + (defun . rng-complete-attribute-name) + rng-in-attribute-value-regex rng-in-attribute-value-regex + (defun . rng-complete-attribute-value) + (defun . rng-possible-namespace-uris) + rng-qname-regexp rng-qname-regexp + (defun . rng-qname-p) + (defun . rng-expand-qname) + (defun . rng-start-tag-expand-recover) + (defun . rng-split-qname) + (defun . rng-in-mixed-content-p) + (defun . rng-set-state-after) + (defun . rng-adjust-state-for-attribute) + (defun . rng-find-undeclared-prefixes) + (defun . rng-prune-attribute-at) + (defun . rng-adjust-state-for-attribute-value) + (defun . rng-complete-qname-function) + (defun . rng-generate-qname-list) + (defun . rng-get-preferred-unused-prefix) + (defun . rng-strings-to-completion-alist) + (provide . rng-nxml)) + ("/usr/share/emacs/23.0.93/lisp/loadhist.elc" + (defun . feature-symbols) + (defun . feature-file) + (defun . file-loadhist-lookup) + (defun . file-provides) + (defun . file-requires) + (defun . file-set-intersect) + (defun . file-dependents) + (defun . read-feature) + loadhist-hook-functions unload-feature-special-hooks unload-function-defs-list unload-hook-features-list + (t . unload-feature) + (defun . unload-feature) + (provide . loadhist)) + ("/home/hobbes/nxhtml/util/appmenu-fold.el" appmenu-fold:version + (require . fold-dwim) + (require . appmenu) + (defun . appmenu-fold-no-hs-minor-mode) + (defun . appmenu-fold-no-outline-minor-mode) + (defun . appmenu-fold-setup) + (provide . appmenu-fold)) + ("/home/hobbes/nxhtml/related/fold-dwim.el" fold-dwim:version + (require . outline) + (require . hideshow) + fold-dwim-outline-style-default fold-dwim-toggle-selective-display + (defun . fold-dwim-maybe-recenter) + (defun . fold-dwim-toggle-selective-display) + (defun . fold-dwim-hide-all) + (defun . fold-dwim-show-all) + (defun . fold-dwim-hide) + (defun . fold-dwim-show) + (defun . fold-dwim-toggle) + (defun . fold-dwim-auctex-env-or-macro) + (defun . fold-dwim-outline-invisible-p) + (defun . fold-dwim-outline-nested-p) + (provide . fold-dwim)) + ("/usr/share/emacs/23.0.93/lisp/progmodes/hideshow.elc" hs-hide-comments-when-hiding-all hs-minor-mode-hook hs-isearch-open hs-special-modes-alist hs-hide-all-non-comment-function hs-allow-nesting hs-hide-hook hs-show-hook hs-set-up-overlay hs-minor-mode hs-minor-mode-map hs-minor-mode-menu + (defun . hs-minor-mode-menu) + hs-c-start-regexp hs-block-start-regexp hs-block-start-mdata-select hs-block-end-regexp hs-forward-sexp-func hs-adjust-block-beginning hs-headline + (defun . hs-discard-overlays) + (defun . hs-make-overlay) + (defun . hs-isearch-show) + (defun . hs-isearch-show-temporary) + (defun . hs-forward-sexp) + (defun . hs-hide-comment-region) + (defun . hs-hide-block-at-point) + (defun . hs-inside-comment-p) + (defun . hs-grok-mode-type) + (defun . hs-find-block-beginning) + (defun . hs-hide-level-recursive) + (defun . hs-life-goes-on) + (defun . hs-overlay-at) + (defun . hs-already-hidden-p) + (defun . hs-c-like-adjust-block-beginning) + (defun . hs-hide-all) + (defun . hs-show-all) + (defun . hs-hide-block) + (defun . hs-show-block) + (defun . hs-hide-level) + (defun . hs-toggle-hiding) + (defun . hs-mouse-toggle-hiding) + (defun . hs-hide-initial-comment-block) + hs-minor-mode + (t . hs-minor-mode) + (defun . hs-minor-mode) + (t . turn-off-hideshow) + (defun . turn-off-hideshow) + (provide . hideshow)) + ("/usr/share/emacs/23.0.93/lisp/outline.elc" outline-regexp outline-heading-end-regexp outline-mode-prefix-map outline-mode-menu-bar-map outline-minor-mode-menu-bar-map outline-mode-map outline-font-lock-keywords + (defface . outline-1) + (defface . outline-2) + (defface . outline-3) + (defface . outline-4) + (defface . outline-5) + (defface . outline-6) + (defface . outline-7) + (defface . outline-8) + outline-font-lock-faces + (defun . outline-font-lock-face) + outline-view-change-hook outline-mode-hook outline-blank-line outline-mode-map outline-mode-syntax-table outline-mode-abbrev-table outline-mode-abbrev-table + (t . outline-mode) + (defun . outline-mode) + outline-minor-mode-prefix outline-minor-mode + (t . outline-minor-mode) + (defun . outline-minor-mode) + outline-minor-mode-map outline-level outline-heading-alist + (defun . outline-level) + (defun . outline-next-preface) + (defun . outline-next-heading) + (defun . outline-previous-heading) + (defun . outline-invisible-p) + (defun . outline-visible) + (defun . outline-back-to-heading) + (defun . outline-on-heading-p) + (defun . outline-insert-heading) + (defun . outline-invent-heading) + (defun . outline-promote) + (defun . outline-demote) + (defun . outline-head-from-level) + (defun . outline-map-region) + (defun . outline-move-subtree-up) + (defun . outline-move-subtree-down) + (defun . outline-end-of-heading) + (defun . outline-next-visible-heading) + (defun . outline-previous-visible-heading) + (defun . outline-mark-subtree) + outline-isearch-open-invisible-function + (defun . outline-flag-region) + (defun . outline-reveal-toggle-invisible) + (defun . outline-isearch-open-invisible) + (defun . hide-entry) + (defun . show-entry) + (defun . hide-body) + (defun . hide-region-body) + (defun . show-all) + (defun . hide-subtree) + (defun . hide-leaves) + (defun . show-subtree) + (defun . outline-show-heading) + (defun . hide-sublevels) + (defun . hide-other) + (defun . outline-toggle-children) + (defun . outline-flag-subtree) + (defun . outline-end-of-subtree) + (defun . show-branches) + (defun . show-children) + (defun . outline-up-heading) + (defun . outline-forward-same-level) + (defun . outline-get-next-sibling) + (defun . outline-backward-same-level) + (defun . outline-get-last-sibling) + (defun . outline-headers-as-kill) + (provide . outline) + (provide . noutline)) + ("/home/hobbes/nxhtml/util/mumamo.el" mumamo:version + (require . cl) + (require . flyspell) + (require . mlinks) + (require . nxml-mode) + (require . rng-valid) + (require . sgml-mode) + msgtrc-buffer + (defun . msgtrc) + mumamo-message-file-buffer + (defun . mumamo-msgtrc-to-file) + (defun . mumamo-msgfntfy) + (defun . mumamo-msgindent) + mumamo-display-error-lwarn mumamo-display-error-stop + (defun . mumamo-message-with-face) + (defun . mumamo-show-report-message) + (defun . mumamo-display-error) + (defun . mumamo-debug-to-backtrace) + mumamo-use-condition-case mumamo-debugger + (defun . mumamo-condition-case) + mumamo-warned-once + (defun . mumamo-warn-once) + (defun . mumamo-add-help-tabs) + (defun . mumamo-insert-describe-button) + (defface . mumamo-border-face-in) + (defface . mumamo-border-face-out) + mumamo-set-major-mode-delay + (defface . mumamo-background-chunk-submode) + mumamo-background-chunk-major + (defface . mumamo-background-chunk-major) + mumamo-background-chunk-submode mumamo-background-colors + (defun . mumamo-background-color) + mumamo-chunk-coloring mumamo-submode-indent-offset mumamo-submode-indent-offset-0 mumamo-major-mode-indent-specials mumamo-check-chunk-major-same mumamo-major-modes + (defun . mumamo-jit-lock-function) + (defun . mumamo-jit-lock-register) + (defun . mumamo-jit-with-buffer-unmodified) + (defun . mumamo-with-buffer-prepared-for-jit-lock) + mumamo-find-chunks-timer mumamo-find-chunk-delay + (defun . mumamo-stop-find-chunks-timer) + (defun . mumamo-start-find-chunks-timer) + (defun . mumamo-find-chunks-in-timer) + mumamo-last-chunk mumamo-last-new-chunk mumamo-last-chunk-change-pos mumamo-old-chunks mumamo-find-chunk-is-active mumamo-use-new-chunks + (defun . mumamo-toggle-use-new-chunks) + mumamo-use-both-chunks + (defun . mumamo-toggle-use-both-chunks) + (defun . mumamo-make-old-chunks) + (defun . mumamo-make-new-chunks) + (defun . mumamo-toggle-and-normal-mode-and-what-at-cursor) + mumamo-find-chunks-level + (defun . mumamo-find-chunks) + (defun . mumamo-find-chunk-after-change) + (defun . mumamo-after-change) + (defun . mumamo-jit-lock-after-change) + (defun . mumamo-jit-lock-after-change-1) + (defun . mumamo-mark-chunk) + (defun . mumamo-save-buffer-state) + (t . mumamo-mark-for-refontification) + (defun . mumamo-mark-for-refontification) + mumamo-internal-major-modes-alist mumamo-ppss-last-chunk mumamo-ppss-last-major mumamo-major-mode-substitute + (defun . mumamo-get-major-mode-substitute) + (defun . mumamo-with-major-mode-setup) + (defun . mumamo-with-major-mode-fontification) + (defun . mumamo-with-major-mode-indentation) + (defun . mumamo-assert-fontified-t) + (defun . mumamo-do-fontify) + (defun . mumamo-do-unfontify) + (defun . mumamo-fontify-region-with) + (defun . mumamo-unfontify-region-with) + (defun . mumamo-unfontify-buffer) + (defun . mumamo-fontify-buffer) + (defun . mumamo-unfontify-chunk) + mumamo-just-changed-major + (defun . mumamo-fontify-region) + mumamo-dbg-pretend-fontified + (defun . mumamo-exc-mode) + (defun . mumamo-chunk-value-set-min) + (defun . mumamo-chunk-value-set-max) + (defun . mumamo-chunk-value-set-syntax-min) + (defun . mumamo-chunk-value-set-syntax-max) + (defun . mumamo-chunk-value-min) + (defun . mumamo-chunk-value-max) + (defun . mumamo-chunk-value-major) + (defun . mumamo-chunk-value-syntax-min) + (defun . mumamo-chunk-value-syntax-max) + (defun . mumamo-chunk-value-parseable-by) + (defun . mumamo-chunk-value-fw-exc-fun) + mumamo-chunks-to-remove + (defun . mumamo-flush-chunk-syntax) + (defun . mumamo-fontify-region-1) + (defun . mumamo-remove-old-overlays) + mumamo-known-buffer-local-fontifications mumamo-irrelevant-buffer-local-vars + (defun . mumamo-get-relevant-buffer-local-vars) + mumamo-major-modes-local-maps + (defun . mumamo-fetch-major-mode-setup) + (defun . mumamo-bad-mode) + (defun . mumamo-get-major-mode-setup) + (defun . mumamo-remove-chunk-overlays) + (defun . mumamo-remove-all-chunk-overlays) + (defun . mumamo-create-chunk-values-at) + (defun . mumamo-define-no-mode) + (defun . mumamo-major-mode-from-modespec) + (defun . mumamo-chunk-equal-chunk-values) + (defun . mumamo-create-chunk-from-chunk-values) + (defun . mumamo-create-chunk-at) + (defun . mumamo-get-existing-chunk-at) + (defun . mumamo-get-existing-new-chunk-at) + (defun . mumamo-get-chunk-save-buffer-state) + (defun . mumamo-chunk-major-mode) + (defun . mumamo-chunk-syntax-min) + (defun . mumamo-chunk-syntax-max) + (defun . mumamo-syntax-maybe-completable) + mumamo-current-chunk-family + (defun . mumamo-main-major-mode) + (defun . mumamo-chunk-start-fw-str) + (defun . mumamo-chunk-start-fw-re) + (defun . mumamo-chunk-start-fw-str-inc) + (defun . mumamo-chunk-start-bw-str) + (defun . mumamo-chunk-start-bw-re) + (defun . mumamo-chunk-start-bw-str-inc) + (defun . mumamo-chunk-end-fw-str) + (defun . mumamo-chunk-end-fw-re) + (defun . mumamo-chunk-end-fw-str-inc) + (defun . mumamo-chunk-end-bw-str) + (defun . mumamo-chunk-end-bw-re) + (defun . mumamo-chunk-end-bw-str-inc) + mumamo-string-syntax-table + (defun . mumamo-guess-in-string) + mumamo-find-possible-chunk-new + (defun . mumamo-find-possible-chunk) + (defun . mumamo-find-possible-chunk-new) + (defun . mumamo-find-possible-chunk-old) + (defun . temp-overlays-here) + (defun . temp-cursor-pos) + (defun . temp-test-new-create-chunk) + (defun . temp-create-last-chunk) + (defun . mumamo-delete-new-chunks) + (defun . mumamo-new-create-chunk) + (defun . mumamo-new-chunk-value-min) + (defun . mumamo-new-chunk-value-max) + (defun . mumamo-new-chunk-equal-chunk-values) + (defun . mumamo-find-next-chunk-values) + (defun . mumamo-valid-nxml-point) + (defun . mumamo-valid-nxml-chunk) + (defun . mumamo-end-chunk-is-valid) + (defun . mumamo-quick-static-chunk) + mumamo-unread-command-events-timer + (defun . mumamo-unread-command-events) + mumamo-idle-set-major-mode-timer + (defun . mumamotemp-pre-command) + (defun . mumamotemp-post-command) + (defun . mumamotemp-start) + (defun . mumamo-idle-set-major-mode) + (defun . mumamo-request-idle-set-major-mode) + mumamo-done-first-set-major mumamo-multi-major-mode mumamo-safe-commands-in-wrong-major + (defun . mumamo-set-major-pre-command) + (defun . mumamo-fetch-local-map) + (defun . mumamo-set-major-post-command) + (defun . mumamo-post-command-1) + (defun . mumamo-post-command) + mumamo-set-major-running + (defun . mumamo-change-major-function) + (defun . mumamo-derived-from-mode) + mumamo-test-add-hook mumamo-survive-hooks mumamo-survive + (defun . mumamo-make-variable-buffer-permanent) + mumamo-survive-done-by-me + (defun . mumamo-hook-p) + mumamo-major-mode mumamo-change-major-mode-no-nos mumamo-after-change-major-mode-no-nos mumamo-removed-from-hook + (defun . mumamo-remove-from-hook) + (defun . mumamo-addback-to-hooks) + (defun . mumamo-addback-to-hook) + mumamo-buffer-locals-dont-set + (defun . mumamo-save-most-buffer-locals) + mumamo-restore-most-buffer-locals-in-hook-major + (defun . mumamo-restore-most-buffer-locals-in-hook) + (defun . mumamo-restore-most-buffer-locals) + mumamo-buffer-locals-per-major + (defun . mumamo-get-hook-value) + (defun . mumamo-set-major) + (defun . mumamo-setup-local-fontification-vars) + (defun . mumamo-set-fontification-functions) + (defun . mumamo-initialize-state) + (defun . mumamo-turn-on-actions) + (defun . mumamo-turn-off-actions) + mumamo-turn-on-hook mumamo-change-major-mode-hook mumamo-after-change-major-mode-hook mumamo-defined-turn-on-functions + (defun . mumamo-describe-chunks) + (defun . mumamo-add-multi-keymap) + mumamo-map + (defun . define-mumamo-multi-major-mode) + (defun . mumamo-indent-line-function) + (defun . mumamo-indent-line-chunks) + (defun . mumamo-indent-line-function-1) + (defun . mumamo-indent-use-widen) + (defun . mumamo-indent-special-or-default) + (defun . mumamo-call-indent-line) + (defun . mumamo-indent-region-function) + (defun . mumamo-fill-forward-paragraph-function) + (defun . mumamo-fill-paragraph-function) + (defun . mumamo-forward-chunk) + (defun . mumamo-backward-chunk) + (defun . mumamo-flyspell-verify) + (defun . flyspell-mumamo-mode) + (require . bytecomp) + (defun . advice-compilation) + mumamo-syntax-chunk-at-pos + (defun . advice-compilation) + mumamo-syntax-ppss-major + (defun . advice-compilation) + rng-get-major-mode-chunk-function rng-valid-nxml-major-mode-chunk-function rng-end-major-mode-chunk-function + (defun . advice-compilation) + (defun . advice-compilation) + (defun . advice-compilation) + (provide . mumamo)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/byte-opt.elc" + (require . bytecomp) + (defun . byte-compile-log-lap-1) + (defun . byte-compile-log-lap) + (defun . byte-optimize-inline-handler) + (defun . byte-inline-lapcode) + (t . byte-compile-inline-expand) + (defun . byte-compile-inline-expand) + (t . byte-compile-unfold-lambda) + (defun . byte-compile-unfold-lambda) + (defun . byte-optimize-form-code-walker) + (defun . byte-optimize-all-constp) + (t . byte-optimize-form) + (defun . byte-optimize-form) + (defun . byte-optimize-body) + (defun . byte-compile-trueconstp) + (defun . byte-compile-nilconstp) + (defun . byte-optimize-associative-math) + (defun . byte-optimize-nonassociative-math) + (defun . byte-optimize-approx-equal) + (defun . byte-optimize-delay-constants-math) + (defun . byte-compile-butlast) + (defun . byte-optimize-plus) + (defun . byte-optimize-minus) + (defun . byte-optimize-multiply) + (defun . byte-optimize-divide) + (defun . byte-optimize-logmumble) + (defun . byte-optimize-binary-predicate) + (defun . byte-optimize-predicate) + (defun . byte-optimize-identity) + (defun . byte-optimize-quote) + (defun . byte-optimize-zerop) + (defun . byte-optimize-and) + (defun . byte-optimize-or) + (defun . byte-optimize-cond) + (defun . byte-optimize-if) + (defun . byte-optimize-while) + (defun . byte-optimize-funcall) + (defun . byte-optimize-apply) + (defun . byte-optimize-letX) + (defun . byte-optimize-nth) + (defun . byte-optimize-nthcdr) + (defun . byte-optimize-featurep) + (defun . byte-optimize-set) + (defun . byte-compile-splice-in-already-compiled-code) + byte-constref-ops byte-constref-ops + (defun . disassemble-offset) + (t . byte-decompile-bytecode) + (defun . byte-decompile-bytecode) + (defun . byte-decompile-bytecode-1) + byte-tagref-ops byte-tagref-ops byte-conditional-ops byte-conditional-ops byte-after-unbind-ops byte-compile-side-effect-and-error-free-ops byte-compile-side-effect-and-error-free-ops byte-compile-side-effect-free-ops byte-compile-side-effect-free-ops + (t . byte-optimize-lapcode) + (defun . byte-optimize-lapcode) + (provide . byte-opt)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/bytecomp.elc" + (require . backquote) + (defun . byte-compile-single-version) + (defun . byte-compile-version-cond) + emacs-lisp-file-regexp + (defun . byte-compiler-base-file-name) + (defun . byte-compile-dest-file) + (autoload . byte-compile-inline-expand) + (autoload . byte-optimize-form) + (autoload . byte-optimize-lapcode) + (autoload . byte-compile-unfold-lambda) + (autoload . byte-decompile-bytecode) + byte-compile-verbose byte-compile-compatibility byte-optimize byte-compile-delete-errors byte-compile-dynamic byte-compile-disable-print-circle byte-compile-dynamic-docstrings byte-optimize-log byte-compile-error-on-warn byte-compile-warning-types byte-compile-warnings + (t . byte-compile-warnings-safe-p) + (defun . byte-compile-warnings-safe-p) + (defun . byte-compile-warning-enabled-p) + (t . byte-compile-disable-warning) + (defun . byte-compile-disable-warning) + (t . byte-compile-enable-warning) + (defun . byte-compile-enable-warning) + byte-compile-interactive-only-functions byte-compile-not-obsolete-var byte-compile-generate-call-tree byte-compile-call-tree byte-compile-call-tree-sort byte-compile-debug byte-compile-constants byte-compile-variables byte-compile-bound-variables byte-compile-const-variables byte-compile-initial-macro-environment byte-compile-macro-environment byte-compile-function-environment byte-compile-unresolved-functions byte-compile-noruntime-functions byte-compile-tag-number byte-compile-output byte-compile-depth byte-compile-maxdepth byte-code-vector byte-stack+-info + (defun . byte-defop) + (defun . byte-extrude-byte-code-vectors) + byte-varref byte-varset byte-varbind byte-call byte-unbind byte-nth byte-nth byte-symbolp byte-symbolp byte-consp byte-consp byte-stringp byte-stringp byte-listp byte-listp byte-eq byte-eq byte-memq byte-memq byte-not byte-not byte-car byte-car byte-cdr byte-cdr byte-cons byte-cons byte-list1 byte-list1 byte-list2 byte-list2 byte-list3 byte-list3 byte-list4 byte-list4 byte-length byte-length byte-aref byte-aref byte-aset byte-aset byte-symbol-value byte-symbol-value byte-symbol-function byte-symbol-function byte-set byte-set byte-fset byte-fset byte-get byte-get byte-substring byte-substring byte-concat2 byte-concat2 byte-concat3 byte-concat3 byte-concat4 byte-concat4 byte-sub1 byte-sub1 byte-add1 byte-add1 byte-eqlsign byte-eqlsign byte-gtr byte-gtr byte-lss byte-lss byte-leq byte-leq byte-geq byte-geq byte-diff byte-diff byte-negate byte-negate byte-plus byte-plus byte-max byte-max byte-min byte-min byte-mult byte-mult byte-point byte-point byte-goto-char byte-goto-char byte-insert byte-insert byte-point-max byte-point-max byte-point-min byte-point-min byte-char-after byte-char-after byte-following-char byte-following-char byte-preceding-char byte-preceding-char byte-current-column byte-current-column byte-indent-to byte-indent-to byte-scan-buffer-OBSOLETE byte-scan-buffer-OBSOLETE byte-eolp byte-eolp byte-eobp byte-eobp byte-bolp byte-bolp byte-bobp byte-bobp byte-current-buffer byte-current-buffer byte-set-buffer byte-set-buffer byte-save-current-buffer byte-set-mark-OBSOLETE byte-set-mark-OBSOLETE byte-interactive-p byte-interactive-p byte-forward-char byte-forward-char byte-forward-word byte-forward-word byte-skip-chars-forward byte-skip-chars-forward byte-skip-chars-backward byte-skip-chars-backward byte-forward-line byte-forward-line byte-char-syntax byte-char-syntax byte-buffer-substring byte-buffer-substring byte-delete-region byte-delete-region byte-narrow-to-region byte-narrow-to-region byte-widen byte-widen byte-end-of-line byte-end-of-line byte-constant2 byte-goto byte-goto-if-nil byte-goto-if-not-nil byte-goto-if-nil-else-pop byte-goto-if-not-nil-else-pop byte-return byte-discard byte-dup byte-save-excursion byte-save-window-excursion byte-save-restriction byte-catch byte-unwind-protect byte-condition-case byte-condition-case byte-temp-output-buffer-setup byte-temp-output-buffer-setup byte-temp-output-buffer-show byte-temp-output-buffer-show byte-unbind-all byte-unbind-all byte-set-marker byte-set-marker byte-match-beginning byte-match-beginning byte-match-end byte-match-end byte-upcase byte-upcase byte-downcase byte-downcase byte-string= byte-string= byte-string< byte-string< byte-equal byte-equal byte-nthcdr byte-nthcdr byte-elt byte-elt byte-member byte-member byte-assq byte-assq byte-nreverse byte-nreverse byte-setcar byte-setcar byte-setcdr byte-setcdr byte-car-safe byte-car-safe byte-cdr-safe byte-cdr-safe byte-nconc byte-nconc byte-quo byte-quo byte-rem byte-rem byte-numberp byte-numberp byte-integerp byte-integerp byte-listN byte-listN byte-concatN byte-concatN byte-insertN byte-insertN byte-constant byte-constant-limit byte-goto-ops byte-goto-always-pop-ops byte-goto-always-pop-ops + (defun . byte-compile-lapcode) + (defun . byte-compile-eval) + (defun . byte-compile-eval-before-compile) + byte-compile-current-form byte-compile-dest-file byte-compile-current-file byte-compile-current-group byte-compile-current-buffer + (defun . byte-compile-log) + (defun . byte-compile-log-1) + byte-compile-read-position byte-compile-last-position + (defun . byte-compile-delete-first) + (defun . byte-compile-set-symbol-position) + byte-compile-last-warned-form byte-compile-last-logged-file + (defun . byte-compile-warning-prefix) + (defun . byte-compile-warning-series) + (defun . byte-compile-log-file) + (defun . byte-compile-log-warning) + (defun . byte-compile-warn) + (defun . byte-compile-warn-obsolete) + (defun . byte-compile-report-error) + (defun . byte-compile-obsolete) + (defun . byte-compile-fdefinition) + (defun . byte-compile-arglist-signature) + (defun . byte-compile-arglist-signatures-congruent-p) + (defun . byte-compile-arglist-signature-string) + (defun . byte-compile-callargs-warn) + (defun . byte-compile-format-warn) + (defun . byte-compile-nogroup-warn) + (defun . byte-compile-arglist-warn) + byte-compile-cl-functions + (defun . byte-compile-find-cl-functions) + (defun . byte-compile-cl-warn) + (defun . byte-compile-print-syms) + (defun . byte-compile-warn-about-unresolved-functions) + (defun . byte-compile-const-symbol-p) + (defun . byte-compile-constp) + (defun . byte-compile-close-variables) + (defun . displaying-byte-compile-warnings) + (t . byte-force-recompile) + (defun . byte-force-recompile) + (t . byte-recompile-directory) + (defun . byte-recompile-directory) + no-byte-compile + (t . byte-compile-file) + (defun . byte-compile-file) + (t . compile-defun) + (defun . compile-defun) + (defun . byte-compile-from-buffer) + (defun . byte-compile-fix-header) + (defun . byte-compile-insert-header) + (defun . byte-compile-output-file-form) + (defun . byte-compile-output-docform) + (defun . byte-compile-keep-pending) + (defun . byte-compile-flush-pending) + (defun . byte-compile-file-form) + (defun . byte-compile-file-form-defsubst) + (defun . byte-compile-file-form-autoload) + (defun . byte-compile-file-form-defvar) + (defun . byte-compile-file-form-define-abbrev-table) + (defun . byte-compile-file-form-custom-declare-variable) + (defun . byte-compile-file-form-require) + (defun . byte-compile-file-form-progn) + (defun . byte-compile-file-form-eval) + (defun . byte-compile-file-form-defun) + (defun . byte-compile-file-form-defmacro) + (defun . byte-compile-file-form-defmumble) + (defun . byte-compile-output-as-comment) + (t . byte-compile) + (defun . byte-compile) + (defun . byte-compile-sexp) + (defun . byte-compile-byte-code-maker) + (defun . byte-compile-byte-code-unmake) + (defun . byte-compile-check-lambda-list) + (defun . byte-compile-lambda) + (defun . byte-compile-constants-vector) + (defun . byte-compile-top-level) + (defun . byte-compile-out-toplevel) + (defun . byte-compile-top-level-body) + (defun . byte-compile-declare-function) + (defun . byte-compile-form) + (defun . byte-compile-normal-call) + (defun . byte-compile-variable-ref) + (defun . byte-compile-get-constant) + (defun . byte-compile-constant) + (defun . byte-compile-push-constant) + (defun . byte-defop-compiler) + (defun . byte-defop-compiler19) + (defun . byte-defop-compiler-1) + (defun . byte-compile-subr-wrong-args) + (defun . byte-compile-no-args) + (defun . byte-compile-one-arg) + (defun . byte-compile-two-args) + (defun . byte-compile-three-args) + (defun . byte-compile-zero-or-one-arg) + (defun . byte-compile-one-or-two-args) + (defun . byte-compile-two-or-three-args) + (defun . byte-compile-noop) + (defun . byte-compile-discard) + (defun . byte-compile-associative) + (defun . byte-compile-char-before) + (defun . byte-compile-backward-char) + (defun . byte-compile-backward-word) + (defun . byte-compile-list) + (defun . byte-compile-concat) + (defun . byte-compile-minus) + (defun . byte-compile-quo) + (defun . byte-compile-nconc) + (defun . byte-compile-fset) + (defun . byte-compile-funarg) + (defun . byte-compile-funarg-2) + (defun . byte-compile-function-form) + (defun . byte-compile-indent-to) + (defun . byte-compile-insert) + (defun . byte-compile-setq) + (defun . byte-compile-setq-default) + (defun . byte-compile-quote) + (defun . byte-compile-quote-form) + (defun . byte-compile-body) + (defun . byte-compile-body-do-effect) + (defun . byte-compile-form-do-effect) + (defun . byte-compile-progn) + (defun . byte-compile-prog1) + (defun . byte-compile-prog2) + (defun . byte-compile-goto-if) + (defun . byte-compile-find-bound-condition) + (defun . byte-compile-maybe-guarded) + (defun . byte-compile-if) + (defun . byte-compile-cond) + (defun . byte-compile-and) + (defun . byte-compile-and-recursion) + (defun . byte-compile-or) + (defun . byte-compile-or-recursion) + (defun . byte-compile-while) + (defun . byte-compile-funcall) + (defun . byte-compile-let) + (defun . byte-compile-let*) + (defun . byte-compile-negated) + (defun . byte-compile-negation-optimizer) + (defun . byte-compile-catch) + (defun . byte-compile-unwind-protect) + (defun . byte-compile-track-mouse) + (defun . byte-compile-condition-case) + (defun . byte-compile-save-excursion) + (defun . byte-compile-save-restriction) + (defun . byte-compile-save-current-buffer) + (defun . byte-compile-save-window-excursion) + (defun . byte-compile-with-output-to-temp-buffer) + (defun . byte-compile-defun) + (defun . byte-compile-defmacro) + (defun . byte-compile-defvar) + (defun . byte-compile-autoload) + (defun . byte-compile-lambda-form) + (defun . byte-compile-file-form-defalias) + (defun . byte-compile-defalias-warn) + (defun . byte-compile-no-warnings) + (defun . byte-compile-make-variable-buffer-local) + (defun . byte-compile-form-make-variable-buffer-local) + (defun . byte-compile-make-tag) + (defun . byte-compile-out-tag) + (defun . byte-compile-goto) + (defun . byte-compile-out) + (defun . byte-compile-annotate-call-tree) + (t . display-call-tree) + (defun . display-call-tree) + (t . batch-byte-compile-if-not-done) + (defun . batch-byte-compile-if-not-done) + (t . batch-byte-compile) + (defun . batch-byte-compile) + (defun . batch-byte-compile-file) + (t . batch-byte-recompile-directory) + (defun . batch-byte-recompile-directory) + (provide . byte-compile) + (provide . bytecomp) + (defun . byte-compile-report-ops)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/cl-macs.elc" + (require . cl) + (defun . cl-pop2) + (require . bytecomp) + cl-old-bc-file-form cl-simple-funcs cl-simple-funcs cl-safe-funcs cl-safe-funcs + (defun . cl-simple-expr-p) + (defun . cl-simple-exprs-p) + (defun . cl-safe-expr-p) + (defun . cl-const-expr-p) + (defun . cl-const-exprs-p) + (defun . cl-const-expr-val) + (defun . cl-expr-access-order) + (defun . cl-expr-contains) + (defun . cl-expr-contains-any) + (defun . cl-expr-depends-p) + (defun . gensym) + (defun . gentemp) + (defun . defun*) + (defun . defmacro*) + (defun . function*) + (defun . cl-transform-function-property) + lambda-list-keywords lambda-list-keywords cl-macro-environment + (defun . cl-transform-lambda) + (defun . cl-do-arglist) + (defun . cl-arglist-args) + (defun . destructuring-bind) + cl-not-toplevel + (defun . eval-when) + (defun . cl-compile-time-too) + (defun . load-time-value) + (defun . case) + (defun . ecase) + (defun . typecase) + (defun . etypecase) + (defun . block) + cl-active-block-names + (defun . cl-byte-compile-block) + (defun . cl-byte-compile-throw) + (defun . return) + (defun . return-from) + (defun . loop) + (defun . cl-parse-loop-clause) + (defun . cl-loop-let) + (defun . cl-loop-handle-accum) + (defun . cl-loop-build-ands) + (defun . do) + (defun . do*) + (defun . cl-expand-do-loop) + (defun . dolist) + (defun . dotimes) + (defun . do-symbols) + (defun . do-all-symbols) + (defun . psetq) + (defun . progv) + (defun . flet) + (defun . labels) + (defun . macrolet) + (defun . symbol-macrolet) + cl-closure-vars + (defun . lexical-let) + (defun . lexical-let*) + (defun . cl-defun-expander) + (defun . multiple-value-bind) + (defun . multiple-value-setq) + (defun . locally) + (defun . the) + cl-proclaim-history cl-declare-stack + (defun . cl-do-proclaim) + (defun . declare) + (defun . define-setf-method) + (defun . define-setf-expander) + (defun . defsetf) + (defun . cl-setf-make-apply) + (defun . get-setf-method) + (defun . cl-setf-do-modify) + (defun . cl-setf-do-store) + (defun . cl-setf-simple-store-p) + (defun . setf) + (defun . psetf) + (defun . cl-do-pop) + (defun . remf) + (defun . shiftf) + (defun . rotatef) + (defun . letf) + (defun . letf*) + (defun . callf) + (defun . callf2) + (defun . define-modify-macro) + (defun . defstruct) + (defun . cl-struct-setf-expander) + (defun . deftype) + (defun . cl-make-type-test) + (defun . typep) + (defun . check-type) + (defun . assert) + (defun . define-compiler-macro) + (defun . compiler-macroexpand) + (defun . cl-byte-compile-compiler-macro) + (defun . defsubst*) + (defun . cl-defsubst-expand)) + ("/usr/share/emacs/23.0.93/lisp/textmodes/sgml-mode.elc" sgml-basic-offset sgml-transformation-function sgml-transformation sgml-mode-hook sgml-specials sgml-quick-keys sgml-mode-map + (defun . sgml-make-syntax-table) + sgml-mode-syntax-table sgml-tag-syntax-table sgml-name-8bit-mode sgml-char-names sgml-char-names-table sgml-validate-command sgml-saved-validate-command sgml-slash-distance sgml-namespace-re sgml-namespace-re sgml-name-re sgml-name-re sgml-tag-name-re sgml-tag-name-re sgml-attrs-re sgml-attrs-re sgml-start-tag-regex + (defface . sgml-namespace) + sgml-namespace-face sgml-font-lock-keywords-1 sgml-font-lock-keywords-1 sgml-font-lock-keywords-2 sgml-font-lock-keywords-2 sgml-font-lock-keywords sgml-font-lock-syntactic-keywords sgml-face-tag-alist sgml-tag-face-alist sgml-display-text sgml-tags-invisible sgml-tag-alist sgml-tag-help sgml-xml-mode sgml-empty-tags sgml-unclosed-tags + (defun . sgml-xml-guess) + (defun . sgml-comment-indent-new-line) + (defun . sgml-mode-facemenu-add-face-function) + (defun . sgml-fill-nobreak) + sgml-mode-map sgml-mode-syntax-table sgml-mode-abbrev-table sgml-mode-abbrev-table + (t . sgml-mode) + (defun . sgml-mode) + (defun . xml-mode) + (defun . sgml-comment-indent) + (defun . sgml-slash) + (defun . sgml-slash-matching) + (defun . sgml-name-char) + (defun . sgml-namify-char) + (defun . sgml-name-self) + (defun . sgml-maybe-name-self) + (defun . sgml-name-8bit-mode) + sgml-tag-last sgml-tag-history + (defun . sgml-tag) + (autoload . skeleton-read) + (defun . sgml-attributes) + (defun . sgml-auto-attributes) + (defun . sgml-tag-help) + (defun . sgml-maybe-end-tag) + (defun . sgml-skip-tag-backward) + sgml-electric-tag-pair-overlays sgml-electric-tag-pair-timer + (defun . sgml-electric-tag-pair-before-change-function) + (defun . sgml-electric-tag-pair-flush-overlays) + sgml-electric-tag-pair-mode + (defun . sgml-electric-tag-pair-mode) + (defun . sgml-skip-tag-forward) + (defun . sgml-delete-tag) + (defun . sgml-tags-invisible) + (defun . sgml-point-entered) + (defun . sgml-validate) + (defun . sgml-at-indentation-p) + (defun . sgml-lexical-context) + (defun . sgml-beginning-of-tag) + (defun . sgml-value) + (defun . sgml-quote) + (defun . sgml-pretty-print) + (defun . sgml-tag-type) + (defun . sgml-tag-start) + (defun . sgml-tag-end) + (defun . sgml-tag-name) + (defun . sgml-tag-p) + (defun . copy-sgml-tag) + (defun . make-sgml-tag) + (defun . sgml-make-tag) + (defun . sgml-parse-tag-name) + (defun . sgml-looking-back-at) + (defun . sgml-tag-text-p) + (defun . sgml-parse-tag-backward) + (defun . sgml-get-context) + (defun . sgml-show-context) + (defun . sgml-close-tag) + (defun . sgml-empty-tag-p) + (defun . sgml-unclosed-tag-p) + (defun . sgml-calculate-indent) + (defun . sgml-indent-line) + (defun . sgml-guess-indent) + (defun . sgml-parse-dtd) + html-mode-hook html-quick-keys html-mode-map html-face-tag-alist html-tag-face-alist html-display-text html-tag-alist html-tag-help html-mode-map html-mode-syntax-table html-mode-abbrev-table html-mode-abbrev-table + (t . html-mode) + (defun . html-mode) + html-imenu-regexp + (defun . html-imenu-index) + html-autoview-mode + (defun . html-autoview-mode) + (defun . html-href-anchor) + (defun . html-name-anchor) + (defun . html-headline-1) + (defun . html-headline-2) + (defun . html-headline-3) + (defun . html-headline-4) + (defun . html-headline-5) + (defun . html-headline-6) + (defun . html-horizontal-rule) + (defun . html-image) + (defun . html-line) + (defun . html-ordered-list) + (defun . html-unordered-list) + (defun . html-list-item) + (defun . html-paragraph) + (defun . html-checkboxes) + (defun . html-radio-buttons) + (provide . sgml-mode)) + ("/usr/share/emacs/23.0.93/lisp/nxml/rng-valid.elc" + (require . xmltok) + (require . nxml-enc) + (require . nxml-util) + (require . nxml-ns) + (require . rng-match) + (require . rng-util) + (require . rng-loc) + (defface . rng-error) + rng-state-cache-distance rng-validate-chunk-size rng-validate-delay rng-validate-quick-delay rng-validate-timer rng-validate-quick-timer rng-error-count rng-message-overlay rng-message-overlay-inhibit-point rng-message-overlay-current rng-open-elements rng-pending-contents rng-collecting-text rng-validate-up-to-date-end rng-conditional-up-to-date-start rng-conditional-up-to-date-end rng-parsing-for-state rng-validate-mode rng-dtd + (t . rng-validate-mode) + (defun . rng-validate-mode) + (defun . rng-set-schema-file-and-validate) + (defun . rng-set-document-type-and-validate) + (defun . rng-auto-set-schema-and-validate) + (defun . rng-after-change-function) + (defun . rng-compute-mode-line-string) + (defun . rng-cancel-timers) + (defun . rng-kill-timers) + (defun . rng-activate-timers) + (defun . rng-validate-clear) + rng-validate-display-point rng-validate-display-modified-p + (defun . rng-validate-while-idle-continue-p) + (defun . rng-validate-while-idle) + (defun . rng-validate-quick-while-idle) + (defun . rng-validate-done) + (defun . rng-do-some-validation) + (defun . rng-validate-prepare) + (defun . rng-do-some-validation-1) + (defun . rng-clear-conditional-region) + (defun . rng-clear-cached-state) + (defun . rng-cache-state) + (defun . rng-state-matches-current) + (defun . rng-get-state) + (defun . rng-restore-state) + (defun . rng-set-initial-state) + (defun . rng-clear-overlays) + (defun . rng-mark-xmltok-dependent-regions) + (defun . rng-mark-xmltok-dependent-region) + (defun . rng-dependent-region-changed) + (defun . rng-mark-xmltok-errors) + (defun . rng-mark-invalid) + (defun . rng-mark-not-well-formed) + (defun . rng-mark-error) + (defun . rng-error-modified) + (defun . rng-echo-area-clear-function) + (defun . rng-maybe-echo-error-at-point) + (defun . rng-error-overlay-after) + (defun . rng-first-error) + (defun . rng-mouse-first-error) + (defun . rng-next-error) + (defun . rng-previous-error) + (defun . rng-next-error-1) + (defun . rng-previous-error-1) + (defun . rng-goto-error-overlay) + (defun . rng-error-overlay-message) + (defun . rng-current-message-from-error-overlay-p) + (defun . rng-find-next-error-overlay) + (defun . rng-find-previous-error-overlay) + (defun . rng-forward) + (defun . rng-process-start-tag) + (defun . rng-process-namespaces) + (defun . rng-process-tag-name) + (defun . rng-process-attributes) + (defun . rng-process-start-tag-close) + (defun . rng-mark-start-tag-close) + (defun . rng-recover-bad-element-prefix) + (defun . rng-recover-bad-attribute-prefix) + (defun . rng-recover-duplicate-attribute-name) + (defun . rng-recover-start-tag-open) + (defun . rng-recover-attribute-value) + (defun . rng-recover-attribute-name) + (defun . rng-missing-attributes-message) + (defun . rng-process-end-tag) + (defun . rng-end-element) + (defun . rng-missing-element-message) + (defun . rng-recover-mismatched-end-tag) + (defun . rng-mark-missing-end-tags) + (defun . rng-mark-mismatched-end-tag) + (defun . rng-push-tag) + (defun . rng-pop-tag) + (defun . rng-contents-string) + (defun . rng-segment-string) + (defun . rng-segment-blank-p) + (defun . rng-contents-region) + (defun . rng-process-text) + (defun . rng-process-unknown-char) + (defun . rng-process-unknown-entity) + (defun . rng-region-blank-p) + (defun . rng-flush-text) + (defun . rng-process-end-document) + (defun . rng-process-encoding-name) + (defun . rng-name-to-string) + (provide . rng-valid)) + ("/usr/share/emacs/23.0.93/lisp/nxml/rng-loc.elc" + (require . nxml-util) + (require . nxml-parse) + (require . rng-parse) + (require . rng-uri) + (require . rng-util) + (require . xmltok) + rng-current-schema-file-name rng-schema-locating-files-default rng-schema-locating-file-schema-file rng-schema-locating-file-schema rng-schema-locating-files rng-schema-loader-alist rng-cached-document-element rng-document-type-history + (defun . rng-set-document-type) + (defun . rng-read-type-id) + (defun . rng-set-schema-file) + (defun . rng-set-vacuous-schema) + (defun . rng-set-schema-file-1) + (defun . rng-load-schema) + (defun . rng-what-schema) + (defun . rng-auto-set-schema) + (defun . rng-locate-schema-file) + (defun . rng-possible-type-ids) + (defun . rng-locate-schema-file-using) + (defun . rng-match-document-element-rule) + (defun . rng-match-namespace-rule) + (defun . rng-document-element) + (defun . rng-get-start-tag-namespace) + (defun . rng-match-transform-uri-rule) + (defun . rng-match-uri-rule) + (defun . rng-file-name-matches-uri-pattern-p) + (defun . rng-match-default-rule) + (defun . rng-possible-type-ids-using) + (defun . rng-locate-schema-file-from-type-id) + rng-schema-locating-file-alist + (defun . rng-get-parsed-schema-locating-file) + rng-locate-namespace-uri rng-locate-namespace-uri + (defun . rng-parse-schema-locating-file) + (defun . rng-save-schema-location) + (defun . rng-save-schema-location-1) + (provide . rng-loc)) + ("/usr/share/emacs/23.0.93/lisp/nxml/rng-uri.elc" + (defun . rng-file-name-uri) + (defun . rng-uri-escape-multibyte) + (defun . rng-percent-encode) + (defun . rng-uri-file-name) + (defun . rng-uri-pattern-file-name-regexp) + (defun . rng-uri-pattern-file-name-replace-match) + (defun . rng-uri-file-name-1) + (defun . rng-uri-error) + (defun . rng-uri-split) + (defun . rng-uri-join) + (defun . rng-uri-resolve) + (defun . rng-resolve-path) + (defun . rng-relative-uri) + (defun . rng-relative-path) + (defun . rng-split-path) + (defun . rng-join-path) + (defun . rng-uri-unescape-multibyte) + (defun . rng-multibyte-percent-decode) + (defun . rng-uri-unescape-unibyte) + (defun . rng-uri-unescape-unibyte-match) + (defun . rng-uri-unescape-unibyte-replace) + (provide . rng-uri)) + ("/usr/share/emacs/23.0.93/lisp/nxml/rng-parse.elc" + (require . nxml-parse) + (require . rng-match) + (require . rng-dt) + rng-parse-prev-was-start-tag + (defun . rng-parse-validate-file) + (defun . rng-parse-do-validate) + (defun . rng-parse-to-match-name) + (provide . rng-parse)) + ("/usr/share/emacs/23.0.93/lisp/nxml/nxml-parse.elc" + (require . nxml-util) + (require . xmltok) + (require . nxml-enc) + (require . nxml-ns) + nxml-parse-file-name nxml-validate-function + (defun . nxml-parse-file) + (defun . nxml-parse-find-file) + (defun . nxml-parse-instance) + (defun . nxml-parse-instance-1) + (defun . nxml-parse-start-tag) + (defun . nxml-validate-tag) + (defun . nxml-validate-error-position) + (defun . nxml-make-name) + (defun . nxml-current-text-string) + (defun . nxml-parse-error) + (defun . nxml-check-xmltok-errors) + (provide . nxml-parse)) + ("/usr/share/emacs/23.0.93/lisp/nxml/rng-match.elc" + (require . rng-pttrn) + (require . rng-util) + (require . rng-dt) + rng-not-allowed-ipattern rng-empty-ipattern rng-text-ipattern rng-compile-table rng-being-compiled rng-ipattern-table rng-last-ipattern-index rng-match-state + (defun . rng-update-match-state) + (defun . rng-ipattern-defslot) + (defun . rng-ipattern-get-type) + (defun . rng-ipattern-set-type) + (defun . rng-ipattern-get-index) + (defun . rng-ipattern-set-index) + (defun . rng-ipattern-get-name-class) + (defun . rng-ipattern-set-name-class) + (defun . rng-ipattern-get-datatype) + (defun . rng-ipattern-set-datatype) + (defun . rng-ipattern-get-after) + (defun . rng-ipattern-set-after) + (defun . rng-ipattern-get-child) + (defun . rng-ipattern-set-child) + (defun . rng-ipattern-get-value-object) + (defun . rng-ipattern-set-value-object) + (defun . rng-ipattern-get-nullable) + (defun . rng-ipattern-set-nullable) + (defun . rng-ipattern-get-memo-text-typed) + (defun . rng-ipattern-set-memo-text-typed) + (defun . rng-ipattern-get-memo-map-start-tag-open-deriv) + (defun . rng-ipattern-set-memo-map-start-tag-open-deriv) + (defun . rng-ipattern-get-memo-map-start-attribute-deriv) + (defun . rng-ipattern-set-memo-map-start-attribute-deriv) + (defun . rng-ipattern-get-memo-start-tag-close-deriv) + (defun . rng-ipattern-set-memo-start-tag-close-deriv) + (defun . rng-ipattern-get-memo-text-only-deriv) + (defun . rng-ipattern-set-memo-text-only-deriv) + (defun . rng-ipattern-get-memo-mixed-text-deriv) + (defun . rng-ipattern-set-memo-mixed-text-deriv) + (defun . rng-ipattern-get-memo-map-data-deriv) + (defun . rng-ipattern-set-memo-map-data-deriv) + (defun . rng-ipattern-get-memo-end-tag-deriv) + (defun . rng-ipattern-set-memo-end-tag-deriv) + rng-memo-map-alist-max rng-memo-map-alist-max + (defun . rng-memo-map-get) + (defun . rng-memo-map-add) + (defun . rng-make-ipattern) + (defun . rng-ipattern-maybe-init) + (defun . rng-ipattern-clear) + (defun . rng-gen-ipattern-index) + (defun . rng-put-ipattern) + (defun . rng-get-ipattern) + rng-const-ipatterns rng-const-ipatterns + (defun . rng-intern-after) + (defun . rng-intern-attribute) + (defun . rng-intern-data) + (defun . rng-intern-data-except) + (defun . rng-intern-value) + (defun . rng-intern-one-or-more) + (defun . rng-intern-one-or-more-shortcut) + (defun . rng-intern-list) + (defun . rng-intern-group) + (defun . rng-intern-group-shortcut) + (defun . rng-normalize-group-list) + (defun . rng-intern-interleave) + (defun . rng-normalize-interleave-list) + (defun . rng-intern-choice) + (defun . rng-intern-optional) + (defun . rng-intern-choice1) + (defun . rng-intern-choice-shortcut) + (defun . rng-normalize-choice-list) + (defun . rng-compare-ipattern) + (defun . rng-name-class-contains) + (defun . rng-name-class-contains1) + (defun . rng-name-class-possible-names) + (defun . rng-ipattern-to-string) + (defun . rng-name-class-to-string) + (defun . rng-compile-maybe-init) + (defun . rng-compile-clear) + (defun . rng-compile) + (defun . rng-compile-not-allowed) + (defun . rng-compile-empty) + (defun . rng-compile-text) + (defun . rng-compile-element) + (defun . rng-element-get-child) + (defun . rng-compile-attribute) + (defun . rng-compile-ref) + (defun . rng-compile-one-or-more) + (defun . rng-compile-zero-or-more) + (defun . rng-compile-optional) + (defun . rng-compile-mixed) + (defun . rng-compile-list) + (defun . rng-compile-choice) + (defun . rng-compile-group) + (defun . rng-compile-interleave) + (defun . rng-compile-dt) + (defun . rng-compile-data) + (defun . rng-compile-data-except) + (defun . rng-compile-value) + (defun . rng-compile-name-class) + (defun . rng-map-element-attribute) + (defun . rng-find-element-content-pattern) + (defun . rng-search-name) + (defun . rng-find-name-class-uris) + (defun . rng-accum-namespace-uri) + (defun . rng-ipattern-text-typed-p) + (defun . rng-ipattern-compute-text-typed-p) + (defun . rng-start-tag-open-deriv) + (defun . rng-ipattern-memo-start-tag-open-deriv) + (defun . rng-compute-start-tag-open-deriv) + (defun . rng-start-attribute-deriv) + (defun . rng-ipattern-memo-start-attribute-deriv) + (defun . rng-compute-start-attribute-deriv) + (defun . rng-cons-group-after) + (defun . rng-subst-group-after) + (defun . rng-subst-interleave-after) + (defun . rng-apply-after) + (defun . rng-start-tag-close-deriv) + rng-transform-map rng-transform-map + (defun . rng-compute-start-tag-close-deriv) + (defun . rng-ignore-attributes-deriv) + (defun . rng-text-only-deriv) + (defun . rng-compute-text-only-deriv) + (defun . rng-mixed-text-deriv) + (defun . rng-compute-mixed-text-deriv) + (defun . rng-end-tag-deriv) + (defun . rng-compute-end-tag-deriv) + (defun . rng-data-deriv) + (defun . rng-namespace-context-tracer) + (defun . rng-namespace-context-get-no-trace) + rng-memo-data-deriv-max-length + (defun . rng-ipattern-memo-data-deriv) + (defun . rng-compute-data-deriv) + (defun . rng-transform-multi) + (defun . rng-transform-choice) + (defun . rng-transform-group) + (defun . rng-transform-interleave) + (defun . rng-transform-one-or-more) + (defun . rng-transform-after-child) + (defun . rng-transform-interleave-single) + (defun . rng-transform-group-nullable) + (defun . rng-transform-group-nullable-gen-choices) + (defun . rng-members-eq) + (defun . rng-ipattern-after) + (defun . rng-unknown-start-tag-open-deriv) + (defun . rng-ipattern-optionalize-elements) + (defun . rng-ipattern-empty-before-p) + (defun . rng-ipattern-possible-start-tags) + (defun . rng-ipattern-start-tag-possible-p) + (defun . rng-ipattern-possible-attributes) + (defun . rng-ipattern-possible-values) + (defun . rng-ipattern-required-element) + (defun . rng-ipattern-required-attributes) + (defun . rng-compile-error) + (defun . rng-match-state) + (defun . rng-set-match-state) + (defun . rng-match-state-equal) + (defun . rng-schema-changed) + (defun . rng-match-init-buffer) + (defun . rng-match-start-document) + (defun . rng-match-start-tag-open) + (defun . rng-match-attribute-name) + (defun . rng-match-attribute-value) + (defun . rng-match-element-value) + (defun . rng-match-start-tag-close) + (defun . rng-match-mixed-text) + (defun . rng-match-end-tag) + (defun . rng-match-after) + (defun . rng-match-out-of-context-start-tag-open) + (defun . rng-match-possible-namespace-uris) + (defun . rng-match-unknown-start-tag-open) + (defun . rng-match-optionalize-elements) + (defun . rng-match-ignore-attributes) + (defun . rng-match-text-typed-p) + (defun . rng-match-empty-content) + (defun . rng-match-empty-before-p) + (defun . rng-match-infer-start-tag-namespace) + (defun . rng-match-nullable-p) + (defun . rng-match-possible-start-tag-names) + (defun . rng-match-start-tag-possible-p) + (defun . rng-match-possible-attribute-names) + (defun . rng-match-possible-value-strings) + (defun . rng-match-required-element-name) + (defun . rng-match-required-attribute-names) + (defun . rng-match-save) + (defun . rng-match-with-schema) + (provide . rng-match)) + ("/usr/share/emacs/23.0.93/lisp/nxml/rng-dt.elc" + (require . rng-util) + rng-dt-error-reporter + (defun . rng-dt-error) + rng-dt-namespace-context-getter + (defun . rng-dt-make-value) + (defun . rng-dt-builtin-compile) + (provide . rng-dt)) + ("/usr/share/emacs/23.0.93/lisp/nxml/rng-util.elc" + (defun . rng-make-datatypes-uri) + rng-xsd-datatypes-uri rng-xsd-datatypes-uri rng-builtin-datatypes-uri rng-builtin-datatypes-uri + (defun . rng-uniquify-eq) + (defun . rng-uniquify-equal) + (defun . rng-blank-p) + (defun . rng-substq) + (defun . rng-complete-before-point) + (defun . rng-completion-exact-p) + (defun . rng-quote-string) + (defun . rng-escape-string) + (defun . rng-collapse-space) + (provide . rng-util)) + ("/usr/share/emacs/23.0.93/lisp/nxml/rng-pttrn.elc" rng-schema-change-hook rng-current-schema + (defun . rng-make-ref) + (defun . rng-ref-set) + (defun . rng-ref-get) + (defun . rng-make-choice) + (defun . rng-make-group) + (defun . rng-make-interleave) + (defun . rng-make-zero-or-more) + (defun . rng-make-one-or-more) + (defun . rng-make-optional) + (defun . rng-make-mixed) + (defun . rng-make-value) + (defun . rng-make-data) + (defun . rng-make-data-except) + (defun . rng-make-list) + (defun . rng-make-element) + (defun . rng-make-attribute) + (defun . rng-make-text) + (defun . rng-make-empty) + (defun . rng-make-not-allowed) + (defun . rng-make-any-name-name-class) + (defun . rng-make-any-name-except-name-class) + (defun . rng-make-ns-name-name-class) + (defun . rng-make-ns-name-except-name-class) + (defun . rng-make-name-name-class) + (defun . rng-make-choice-name-class) + rng-any-content rng-any-element + (defun . rng-make-name) + (defun . rng-make-datatype) + (provide . rng-pttrn)) + ("/usr/share/emacs/23.0.93/lisp/nxml/nxml-ns.elc" + (require . nxml-util) + nxml-ns-state nxml-ns-initial-state + (defun . nxml-ns-state) + (defun . nxml-ns-set-state) + (defun . nxml-ns-state-equal) + (defun . nxml-ns-save) + (defun . nxml-ns-init) + (defun . nxml-ns-push-state) + (defun . nxml-ns-pop-state) + (defun . nxml-ns-get-prefix) + (defun . nxml-ns-set-prefix) + (defun . nxml-ns-get-default) + (defun . nxml-ns-set-default) + (defun . nxml-ns-get-context) + (defun . nxml-ns-prefixes-for) + (defun . nxml-ns-prefix-for) + (defun . nxml-ns-changed-prefixes) + (provide . nxml-ns)) + ("/usr/share/emacs/23.0.93/lisp/nxml/nxml-mode.elc" + (require . xmltok) + (require . nxml-enc) + (require . nxml-glyph) + (require . nxml-util) + (require . nxml-rap) + (require . nxml-outln) + nxml-char-ref-display-glyph-flag nxml-mode-hook nxml-sexp-element-flag nxml-slash-auto-complete-flag nxml-child-indent nxml-attribute-indent nxml-bind-meta-tab-to-complete-flag nxml-prefer-utf-16-to-utf-8-flag nxml-prefer-utf-16-little-to-big-endian-flag nxml-default-buffer-file-coding-system nxml-auto-insert-xml-declaration-flag + (defface . nxml-delimited-data) + (defface . nxml-name) + (defface . nxml-ref) + (defface . nxml-delimiter) + (defface . nxml-text) + (defface . nxml-comment-content) + (defface . nxml-comment-delimiter) + (defface . nxml-processing-instruction-delimiter) + (defface . nxml-processing-instruction-target) + (defface . nxml-processing-instruction-content) + (defface . nxml-cdata-section-delimiter) + (defface . nxml-cdata-section-CDATA) + (defface . nxml-cdata-section-content) + (defface . nxml-char-ref-number) + (defface . nxml-char-ref-delimiter) + (defface . nxml-entity-ref-name) + (defface . nxml-entity-ref-delimiter) + (defface . nxml-tag-delimiter) + (defface . nxml-tag-slash) + (defface . nxml-element-prefix) + (defface . nxml-element-colon) + (defface . nxml-element-local-name) + (defface . nxml-attribute-prefix) + (defface . nxml-attribute-colon) + (defface . nxml-attribute-local-name) + (defface . nxml-namespace-attribute-xmlns) + (defface . nxml-namespace-attribute-colon) + (defface . nxml-namespace-attribute-prefix) + (defface . nxml-attribute-value) + (defface . nxml-attribute-value-delimiter) + (defface . nxml-namespace-attribute-value) + (defface . nxml-namespace-attribute-value-delimiter) + (defface . nxml-prolog-literal-delimiter) + (defface . nxml-prolog-literal-content) + (defface . nxml-prolog-keyword) + (defface . nxml-markup-declaration-delimiter) + (defface . nxml-hash) + (defface . nxml-glyph) + nxml-prolog-regions nxml-last-fontify-end nxml-degraded nxml-completion-hook nxml-in-mixed-content-hook nxml-mixed-scan-distance nxml-end-tag-indent-scan-distance nxml-char-ref-extra-display nxml-mode-map nxml-font-lock-keywords + (defun . nxml-set-face) + (t . nxml-mode) + (defun . nxml-mode) + (defun . nxml-cleanup) + (defun . nxml-degrade) + (defun . nxml-debug-region) + (defun . nxml-after-change) + (defun . nxml-after-change1) + (defun . nxml-insert-xml-declaration) + (defun . nxml-prepare-to-save) + (defun . nxml-select-coding-system) + (defun . nxml-unsuitable-coding-system-message) + nxml-utf-16-coding-systems nxml-utf-16-coding-systems nxml-utf-coding-systems nxml-utf-coding-systems + (defun . nxml-coding-system-unicode-p) + (defun . nxml-coding-system-name) + (defun . nxml-fix-encoding-declaration) + (defun . nxml-choose-suitable-coding-system) + (defun . nxml-choose-utf-coding-system) + (defun . nxml-choose-utf-16-coding-system) + (defun . nxml-coding-system-member) + (defun . nxml-unfontify-region) + (defun . nxml-extend-region) + (defun . nxml-extend-after-change-region) + (defun . nxml-extend-after-change-region1) + (defun . nxml-fontify-matcher) + (defun . nxml-fontify-prolog) + (defun . nxml-apply-fontify-rule) + (defun . nxml-fontify-attributes) + (defun . nxml-fontify-attribute) + (defun . nxml-fontify-qname) + (defun . nxml-electric-slash) + (defun . nxml-balanced-close-start-tag-block) + (defun . nxml-balanced-close-start-tag-inline) + (defun . nxml-balanced-close-start-tag) + (defun . nxml-finish-element) + nxml-last-split-position + (defun . nxml-split-element) + (defun . nxml-finish-element-1) + (defun . nxml-indent-line) + (defun . nxml-compute-indent) + (defun . nxml-compute-indent-from-matching-start-tag) + (defun . nxml-compute-indent-from-previous-line) + (defun . nxml-merge-indent-context-type) + (defun . nxml-compute-indent-in-token) + (defun . nxml-compute-indent-in-start-tag) + (defun . nxml-attribute-value-boundary) + (defun . nxml-compute-indent-in-delimited-token) + (defun . nxml-complete) + (defun . nxml-forward-balanced-item) + (defun . nxml-forward-single-balanced-item) + (defun . nxml-backward-single-balanced-item) + (defun . nxml-scan-forward-within) + (defun . nxml-scan-backward-within) + (defun . nxml-scan-forward-in-attribute-value) + (defun . nxml-scan-backward-in-attribute-value) + (defun . nxml-find-following-attribute) + (defun . nxml-find-preceding-attribute) + (defun . nxml-up-element) + (defun . nxml-backward-up-element) + (defun . nxml-down-element) + (defun . nxml-backward-down-element) + (defun . nxml-forward-element) + (defun . nxml-backward-element) + (defun . nxml-mark-token-after) + (defun . nxml-mark-paragraph) + (defun . nxml-forward-paragraph) + (defun . nxml-backward-paragraph) + (defun . nxml-forward-single-paragraph) + (defun . nxml-backward-single-paragraph) + (defun . nxml-token-contains-data-p) + (defun . nxml-paragraph-end-pos) + (defun . nxml-paragraph-start-pos) + (defun . nxml-token-ends-line-p) + (defun . nxml-token-begins-line-p) + (defun . nxml-in-mixed-content-p) + (defun . nxml-preceding-sibling-data-p) + (defun . nxml-following-sibling-data-p) + (defun . nxml-do-fill-paragraph) + (defun . nxml-newline-and-indent) + nxml-dynamic-markup-prev-pos nxml-dynamic-markup-prev-lengths nxml-dynamic-markup-prev-found-marker nxml-dynamic-markup-prev-start-tags + (defun . nxml-dynamic-markup-word) + (defun . nxml-try-copy-markup) + nxml-char-name-ignore-case nxml-char-name-alist nxml-char-name-table nxml-autoload-char-name-set-list + (defun . nxml-enable-char-name-set) + (defun . nxml-disable-char-name-set) + (defun . nxml-char-name-set-enabled-p) + (defun . nxml-autoload-char-name-set) + (defun . nxml-define-char-name-set) + (defun . nxml-get-char-name) + nxml-named-char-history + (defun . nxml-insert-named-char) + (defun . nxml-maybe-load-char-name-set) + (defun . nxml-toggle-char-ref-extra-display) + (defun . nxml-char-ref-display-extra) + (defun . nxml-clear-char-ref-extra-display) + (defun . nxml-start-delimiter-length) + (defun . nxml-end-delimiter-length) + (defun . nxml-token-type-friendly-name) + (provide . nxml-mode)) + ("/usr/share/emacs/23.0.93/lisp/nxml/nxml-outln.elc" + (require . xmltok) + (require . nxml-util) + (require . nxml-rap) + nxml-section-element-name-regexp nxml-heading-element-name-regexp nxml-outline-child-indent + (defface . nxml-heading) + (defface . nxml-outline-indicator) + (defface . nxml-outline-active-indicator) + (defface . nxml-outline-ellipsis) + nxml-heading-scan-distance nxml-outline-prefix-map + (defun . nxml-show-all) + (defun . nxml-hide-all-text-content) + (defun . nxml-show-direct-text-content) + (defun . nxml-show-direct-subheadings) + (defun . nxml-hide-direct-text-content) + (defun . nxml-hide-subheadings) + (defun . nxml-show) + (defun . nxml-hide-text-content) + (defun . nxml-show-subheadings) + (defun . nxml-hide-other) + nxml-outline-state-transform-exceptions nxml-target-section-pos nxml-depth-in-target-section nxml-outline-state-transform-alist + (defun . nxml-transform-buffer-outline) + (defun . nxml-transform-subtree-outline) + (defun . nxml-outline-pre-adjust-point) + (defun . nxml-outline-adjust-point) + (defun . nxml-transform-outline-state) + (defun . nxml-section-tag-transform-outline-state) + (defun . nxml-get-outline-state) + (defun . nxml-set-outline-state) + (defun . nxml-mouse-show-direct-text-content) + (defun . nxml-mouse-hide-direct-text-content) + (defun . nxml-mouse-hide-subheadings) + (defun . nxml-mouse-show-direct-subheadings) + (defun . nxml-mouse-set-point) + (defun . nxml-token-start-tag-p) + (defun . nxml-token-end-tag-p) + (defun . nxml-refresh-outline) + nxml-outline-display-section-tag-function + (defun . nxml-outline-display-rest) + nxml-highlighted-less-than nxml-highlighted-less-than nxml-highlighted-greater-than nxml-highlighted-greater-than nxml-highlighted-colon nxml-highlighted-colon nxml-highlighted-slash nxml-highlighted-slash nxml-highlighted-ellipsis nxml-highlighted-ellipsis nxml-highlighted-empty-end-tag nxml-highlighted-empty-end-tag nxml-highlighted-inactive-minus nxml-highlighted-inactive-minus nxml-highlighted-active-minus nxml-highlighted-active-minus nxml-highlighted-active-plus nxml-highlighted-active-plus + (defun . nxml-display-section) + (defun . nxml-highlighted-qname) + (defun . nxml-outline-display-single-line-end-tag) + (defun . nxml-outline-display-multi-line-end-tag) + nxml-outline-show-map nxml-outline-show-help nxml-outline-hiding-tag-map nxml-outline-hiding-tag-help nxml-outline-showing-tag-map nxml-outline-showing-tag-help + (defun . nxml-outline-set-overlay) + (defun . nxml-end-of-heading) + (defun . nxml-token-starts-line-p) + nxml-cached-section-tag-regexp nxml-cached-section-element-name-regexp + (defun . nxml-make-section-tag-regexp) + (defun . nxml-make-section-tag-regexp-1) + (defun . nxml-section-tag-forward) + (defun . nxml-section-tag-backward) + (defun . nxml-section-start-position) + (defun . nxml-back-to-section-start) + (defun . nxml-after-section-start-tag) + (defun . nxml-heading-start-position) + (defun . nxml-report-outline-error) + (defun . nxml-outline-error) + (defun . nxml-debug-overlays) + (provide . nxml-outln)) + ("/usr/share/emacs/23.0.93/lisp/nxml/nxml-rap.elc" + (require . xmltok) + (require . nxml-util) + nxml-prolog-end nxml-scan-end + (defun . nxml-get-inside) + (defun . nxml-clear-inside) + (defun . nxml-set-inside) + (defun . nxml-inside-end) + (defun . nxml-inside-start) + (defun . nxml-scan-after-change) + (defun . nxml-scan-prolog) + (defun . nxml-adjust-start-for-dependent-regions) + (defun . nxml-mark-parse-dependent-regions) + (defun . nxml-mark-parse-dependent-region) + (defun . nxml-clear-dependent-regions) + (defun . nxml-token-after) + (defun . nxml-token-before) + (defun . nxml-tokenize-forward) + (defun . nxml-move-tag-backwards) + (defun . nxml-move-outside-backwards) + (defun . nxml-ensure-scan-up-to-date) + (defun . nxml-scan-element-forward) + (defun . nxml-scan-element-backward) + (defun . nxml-scan-error) + (provide . nxml-rap)) + ("/usr/share/emacs/23.0.93/lisp/nxml/nxml-util.elc" nxml-debug + (defun . nxml-debug) + (defun . nxml-debug-change) + (defun . nxml-debug-set-inside) + (defun . nxml-debug-clear-inside) + (defun . nxml-make-namespace) + (defun . nxml-namespace-name) + nxml-xml-namespace-uri nxml-xml-namespace-uri nxml-xmlns-namespace-uri nxml-xmlns-namespace-uri + (defun . nxml-with-degradation-on-error) + (defun . nxml-with-unmodifying-text-property-changes) + (defun . nxml-with-invisible-motion) + (defun . nxml-display-file-parse-error) + (defun . nxml-signal-file-parse-error) + (provide . nxml-util)) + ("/usr/share/emacs/23.0.93/lisp/nxml/nxml-glyph.elc" nxml-ascii-glyph-set nxml-ascii-glyph-set nxml-latin1-glyph-set nxml-latin1-glyph-set nxml-misc-fixed-1-glyph-set nxml-misc-fixed-2-glyph-set nxml-misc-fixed-3-glyph-set nxml-wgl4-glyph-set nxml-glyph-set-hook nxml-glyph-set + (defun . nxml-x-set-glyph-set) + (defun . nxml-w32-set-glyph-set) + (defun . nxml-window-system-set-glyph-set) + (defun . nxml-terminal-set-glyph-set) + (t . nxml-glyph-display-string) + (defun . nxml-glyph-display-string) + (defun . nxml-glyph-set-contains-p) + (provide . nxml-glyph)) + ("/usr/share/emacs/23.0.93/lisp/nxml/nxml-enc.elc" nxml-file-name-ignore-case nxml-cached-file-name-auto-coding-regexp nxml-cached-auto-mode-alist + (defun . nxml-file-name-auto-coding-regexp) + nxml-non-xml-set-auto-coding-function + (defun . nxml-set-auto-coding) + (defun . nxml-set-xml-coding) + (defun . nxml-detect-coding-system) + (defun . nxml-mime-charset-coding-system) + (defun . nxml-start-auto-coding) + (defun . nxml-stop-auto-coding) + (provide . nxml-enc)) + ("/usr/share/emacs/23.0.93/lisp/nxml/xmltok.elc" xmltok-type xmltok-start xmltok-name-colon xmltok-name-end xmltok-replacement xmltok-attributes xmltok-namespace-attributes xmltok-dtd xmltok-dependent-regions xmltok-errors + (defun . xmltok-save) + (defun . xmltok-attribute-name-start) + (defun . xmltok-attribute-name-colon) + (defun . xmltok-attribute-name-end) + (defun . xmltok-attribute-value-start) + (defun . xmltok-attribute-value-end) + (defun . xmltok-attribute-raw-normalized-value) + (defun . xmltok-attribute-refs) + (defun . xmltok-attribute-prefix) + (defun . xmltok-attribute-local-name) + (defun . xmltok-attribute-value) + (defun . xmltok-start-tag-prefix) + (defun . xmltok-start-tag-local-name) + (defun . xmltok-end-tag-prefix) + (defun . xmltok-end-tag-local-name) + (defun . xmltok-start-tag-qname) + (defun . xmltok-end-tag-qname) + (defun . xmltok-make-attribute) + (defun . xmltok-error-message) + (defun . xmltok-error-start) + (defun . xmltok-error-end) + (defun . xmltok-make-error) + (defun . xmltok-add-error) + (defun . xmltok-add-dependent) + (defun . xmltok-forward) + (defun . xmltok-forward-special) + xmltok-ncname-regexp xmltok-ncname-regexp + (defun . xmltok-scan-after-lt) + (defun . xmltok-scan-after-processing-instruction-open) + (defun . xmltok-scan-after-comment-open) + (defun . xmltok-scan-attributes) + (defun . xmltok-add-attribute) + (defun . xmltok-normalize-attribute) + (defun . xmltok-scan-after-amp) + xmltok-entity-error-messages xmltok-entity-error-messages + (defun . xmltok-handle-entity) + (defun . xmltok-scan-char-ref) + (defun . xmltok-char-number) + (defun . xmltok-unclosed-reparse-p) + (defun . xmltok-semi-closed-reparse-p) + (defun . xmltok-valid-char-p) + (defun . xmltok-unicode-to-char) + xmltok-contains-doctype xmltok-doctype-external-subset-flag xmltok-internal-subset-start xmltok-had-param-entity-ref xmltok-prolog-regions xmltok-standalone xmltok-markup-declaration-doctype-flag xmltok-predefined-entity-alist xmltok-predefined-entity-alist + (defun . xmltok-forward-prolog) + xmltok-bad-xml-decl-regexp xmltok-bad-xml-decl-regexp + (t . xmltok-get-declared-encoding-position) + (defun . xmltok-get-declared-encoding-position) + (defun . xmltok-scan-xml-declaration) + xmltok-markup-declaration-alist xmltok-markup-declaration-alist + (defun . xmltok-parse-prolog-item) + (defun . xmltok-parse-doctype) + (defun . xmltok-parse-attlist-declaration) + (defun . xmltok-parse-nmtoken-group) + (defun . xmltok-parse-element-declaration) + (defun . xmltok-parse-model-group) + (defun . xmltok-parse-model-group-member) + (defun . xmltok-parse-entity-declaration) + (defun . xmltok-define-entity) + (defun . xmltok-parse-entity-value) + (defun . xmltok-parse-notation-declaration) + (defun . xmltok-parse-external-id) + (defun . xmltok-require-next-token) + (defun . xmltok-require-token) + (defun . xmltok-current-token-string) + (defun . xmltok-markup-declaration-parse-error) + (defun . xmltok-skip-markup-declaration) + (defun . xmltok-prolog-region-type) + (defun . xmltok-next-prolog-token) + (defun . xmltok-scan-prolog-literal) + (defun . xmltok-scan-prolog-after-processing-instruction-open) + (defun . xmltok-parse-entities) + (defun . xmltok-parse-entity) + (defun . xmltok-parse-entity-replacement) + (defun . xmltok-handle-nested-entity) + (defun . xmltok-append-entity-def) + (defun . xmltok-add-prolog-region) + (defun . xmltok-merge-attributes) + (defun . xmltok-forward-test) + (defun . xmltok-next-prolog-token-test) + (provide . xmltok)) + ("/home/hobbes/nxhtml/util/mlinks.el" mlinks:version + (require . cl) + (require . ourcomments-util) + (require . url-parse) + (require . url-expand) + (require . appmenu) + mlinks-mode-functions mlinks-mode-map + (defun . mlinks-want-marked-links) + (defun . mlinks-after-change-major-mode) + mlinks-hilight-this-buffer mlinks-hilight-point-ovl mlinks-hilighter-timer + (defun . mlinks-toggle-hilight) + (defun . mlinks-stop-hilighter) + (defun . mlinks-start-hilighter) + (defun . mlinks-make-point-ovl) + (defun . mlinks-link-at-point) + (defun . mlinks-hilighter) + mlinks-active-hilight-keymap mlinks-inactive-hilight-keymap + (defun . mlinks-pre-command) + (defun . mlinks-activate-hilight) + (defun . mlinks-deactivate-hilight) + (defun . mlinks-someactivate-hilight) + (defun . mlinks-backward-link) + (defun . mlinks-forward-link) + (defun . mlinks-goto) + (defun . mlinks-goto-other-window) + (defun . mlinks-goto-other-frame) + (defun . mlinks-goto-1) + (defun . mlinks-get-boolean) + (defun . mlinks-get-action) + (defun . mlinks-prev-saved-position) + (defun . mlinks-next-saved-position) + (defun . mlinks-goto-n) + mlinks-places-n mlinks-places mlinks-temp-buffer-where + (defun . mlinks-switch-to-buffer) + (defun . mlinks-switch-to-buffer-1) + (defun . mlinks-custom) + (defun . mlinks-appmenu) + (defun . mlinks-add-appmenu) + (defun . mlinks-remove-overlays) + mlinks-mode + (t . mlinks-mode) + (defun . mlinks-mode) + (defun . mlinks-turn-on-in-buffer) + mlinks-mode-major-mode mlinks-global-mode + (defun . mlinks-global-mode) + mlinks-global-mode-buffers + (defun . mlinks-global-mode-enable-in-buffers) + (defun . mlinks-global-mode-check-buffers) + (defun . mlinks-global-mode-cmhh) + mlinks-active-links + (defun . mlinks-active-links-toggle) + (defface . mlinks-link) + mlinks-link + (defun . mlinks-mark-link) + mlinks-mark-links-timer + (defun . mlinks-mark-next-link) + mlinks-link-update-pos-min mlinks-link-update-pos-max + (defun . mlinks-stop-marking-links) + (defun . mlinks-start-marking-links) + mlinks-after-change-extra + (defun . mlinks-after-change) + (defun . mlinks-html-style-goto) + (defun . mlinks-html-style-hili) + (require . rx) + mlinks-html-link-regex + (defun . mlinks-html-forward-link) + (defun . mlinks-html-backward-link) + (defun . mlinks-html-style-mode-fun) + (defun . mlink-check-file-to-edit) + (defun . mlinks-html-edit-at) + (defun . mlinks-html-mail-to) + (defun . mlinks-html-href-act-on) + (defun . mlinks-html-possible-href-actions) + (defun . mlinks-html-find-base-href) + (defun . mlinks-elisp-custom-goto) + (defun . mlinks-custom-next-mark) + (defun . mlinks-elisp-goto) + (defun . mlinks-elisp-hili) + (defun . mlinks-elisp-mode-fun) + (defun . mlinks-elisp-function) + (defun . mlinks-elisp-mode-symbol) + (defun . mlinks-elisp-mode-require) + (defun . mlinks-hit-test) + (defun . mlinks-handle-reg-fun-list) + (provide . mlinks)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/rx.elc" rx-constituents rx-syntax rx-categories rx-greedy-flag + (defun . rx-info) + (defun . rx-check) + (defun . rx-group-if) + (defun . rx-and) + (defun . rx-or) + (defun . rx-anything) + (defun . rx-any-delete-from-range) + (defun . rx-any-condense-range) + (defun . rx-check-any-string) + (defun . rx-check-any) + (defun . rx-any) + (defun . rx-check-not) + (defun . rx-not) + (defun . rx-not-char) + (defun . rx-not-syntax) + (defun . rx-trans-forms) + (defun . rx-=) + (defun . rx->=) + (defun . rx-**) + (defun . rx-repeat) + (defun . rx-submatch) + (defun . rx-backref) + (defun . rx-check-backref) + (defun . rx-kleene) + (defun . rx-atomic-p) + (defun . rx-syntax) + (defun . rx-check-category) + (defun . rx-category) + (defun . rx-eval) + (defun . rx-greedy) + (defun . rx-regexp) + (defun . rx-form) + (t . rx-to-string) + (defun . rx-to-string) + (t . rx) + (defun . rx) + (provide . rx)) + ("/home/hobbes/nxhtml/util/appmenu.el" appmenu:version + (require . cl) + appmenu-show-help appmenu-show-point-menu appmenu-alist + (defun . appmenu-sort-by-priority) + (t . appmenu-add) + (defun . appmenu-add) + (defun . appmenu-remove) + (defun . appmenu-help) + (defun . appmenu-keymap-len) + appmenu-mouse-only + (defun . appmenu-make-menu-for-point) + (defun . appmenu-map) + (defun . appmenu-popup) + appmenu-mode-map appmenu-mode + (defun . appmenu-mode) + (provide . appmenu)) + ("/usr/share/emacs/23.0.93/lisp/textmodes/flyspell.elc" + (require . ispell) + flyspell-highlight-flag flyspell-mark-duplications-flag flyspell-mark-duplications-exceptions flyspell-sort-corrections flyspell-duplicate-distance flyspell-delay flyspell-persistent-highlight flyspell-highlight-properties flyspell-default-delayed-commands flyspell-delayed-commands flyspell-default-deplacement-commands flyspell-deplacement-commands flyspell-issue-welcome-flag flyspell-issue-message-flag flyspell-incorrect-hook flyspell-default-dictionary flyspell-tex-command-regexp flyspell-check-tex-math-command flyspell-dictionaries-that-consider-dash-as-word-delimiter flyspell-abbrev-p flyspell-use-global-abbrev-table-p flyspell-mode-line-string flyspell-large-region flyspell-insert-function flyspell-before-incorrect-word-string flyspell-after-incorrect-word-string flyspell-use-meta-tab flyspell-auto-correct-binding flyspell-generic-check-word-predicate flyspell-generic-check-word-p + (defun . mail-mode-flyspell-verify) + (defun . texinfo-mode-flyspell-verify) + (defun . tex-mode-flyspell-verify) + (defun . sgml-mode-flyspell-verify) + flyspell-prog-text-faces + (defun . flyspell-generic-progmode-verify) + (t . flyspell-prog-mode) + (defun . flyspell-prog-mode) + flyspell-mouse-map flyspell-mode-map flyspell-consider-dash-as-word-delimiter-flag flyspell-dash-dictionary flyspell-dash-local-dictionary + (defface . flyspell-incorrect) + (defface . flyspell-duplicate) + flyspell-overlay flyspell-mode + (t . flyspell-mode) + (defun . flyspell-mode) + (t . turn-on-flyspell) + (defun . turn-on-flyspell) + (t . turn-off-flyspell) + (defun . turn-off-flyspell) + flyspell-buffers + (defun . flyspell-minibuffer-p) + flyspell-last-buffer + (defun . flyspell-accept-buffer-local-defs) + (defun . flyspell-hack-local-variables-hook) + (defun . flyspell-kill-ispell-hook) + (defun . flyspell-mode-on) + (defun . flyspell-delay-commands) + (defun . flyspell-delay-command) + (defun . flyspell-deplacement-commands) + (defun . flyspell-deplacement-command) + flyspell-word-cache-start flyspell-word-cache-end flyspell-word-cache-word flyspell-word-cache-result flyspell-pre-buffer flyspell-pre-point flyspell-pre-column flyspell-pre-pre-buffer flyspell-pre-pre-point flyspell-previous-command + (defun . flyspell-pre-command-hook) + (t . flyspell-mode-off) + (defun . flyspell-mode-off) + (defun . flyspell-check-pre-word-p) + flyspell-changes + (defun . flyspell-after-change-function) + (defun . flyspell-check-changed-word-p) + (defun . flyspell-check-word-p) + (defun . flyspell-debug-signal-no-check) + (defun . flyspell-debug-signal-pre-word-checked) + (defun . flyspell-debug-signal-word-checked) + (defun . flyspell-debug-signal-changed-checked) + (defun . flyspell-post-command-hook) + (defun . flyspell-notify-misspell) + (defun . flyspell-word-search-backward) + (defun . flyspell-word-search-forward) + (defun . flyspell-word) + (defun . flyspell-math-tex-command-p) + (defun . flyspell-tex-command-p) + flyspell-casechars-cache flyspell-ispell-casechars-cache + (defun . flyspell-get-casechars) + flyspell-not-casechars-cache flyspell-ispell-not-casechars-cache + (defun . flyspell-get-not-casechars) + (defun . flyspell-get-word) + (defun . flyspell-small-region) + flyspell-external-ispell-process flyspell-external-ispell-buffer flyspell-large-region-buffer flyspell-large-region-beg flyspell-large-region-end + (defun . flyspell-external-point-words) + (defun . flyspell-process-localwords) + (defun . flyspell-check-region-doublons) + (defun . flyspell-large-region) + (t . flyspell-region) + (defun . flyspell-region) + (t . flyspell-buffer) + (defun . flyspell-buffer) + flyspell-old-buffer-error flyspell-old-pos-error + (defun . flyspell-goto-next-error) + (defun . flyspell-overlay-p) + (defun . flyspell-delete-region-overlays) + (defun . flyspell-delete-all-overlays) + (defun . flyspell-unhighlight-at) + (defun . flyspell-properties-at-p) + (defun . make-flyspell-overlay) + (defun . flyspell-highlight-incorrect-region) + (defun . flyspell-highlight-duplicate-region) + flyspell-auto-correct-pos flyspell-auto-correct-region flyspell-auto-correct-ring flyspell-auto-correct-word + (defun . flyspell-check-previous-highlighted-word) + (defun . flyspell-display-next-corrections) + (defun . flyspell-abbrev-table) + (defun . flyspell-define-abbrev) + (defun . flyspell-auto-correct-word) + flyspell-auto-correct-previous-pos + (defun . flyspell-auto-correct-previous-hook) + (defun . flyspell-auto-correct-previous-word) + (defun . flyspell-correct-word) + (defun . flyspell-correct-word-before-point) + (defun . flyspell-do-correct) + (defun . flyspell-ajust-cursor-point) + (defun . flyspell-emacs-popup) + (defun . flyspell-xemacs-popup) + (defun . flyspell-maybe-correct-transposition) + (defun . flyspell-maybe-correct-doubling) + (defun . flyspell-already-abbrevp) + (defun . flyspell-change-abbrev) + (provide . flyspell)) + ("/usr/share/emacs/23.0.93/lisp/textmodes/ispell.elc" + (defun . ispell-check-minver) + (defun . check-ispell-version) + ispell-highlight-p ispell-lazy-highlight ispell-highlight-face ispell-check-comments ispell-query-replace-choices ispell-skip-tib ispell-tib-ref-beginning ispell-tib-ref-end ispell-keep-choices-win ispell-choices-win-default-height ispell-program-name ispell-alternate-dictionary ispell-complete-word-dict ispell-message-dictionary-alist ispell-message-fcc-skip ispell-grep-command ispell-grep-options ispell-look-command ispell-look-p ispell-have-new-look ispell-look-options ispell-use-ptys-p ispell-following-word ispell-help-in-bufferp ispell-quietly ispell-format-word-function ispell-format-word ispell-use-framepop-p ispell-personal-dictionary ispell-silently-savep ispell-local-dictionary-overridden ispell-local-dictionary ispell-extra-args ispell-skip-html ispell-local-dictionary-alist ispell-dictionary-base-alist ispell-dictionary-alist ispell-really-aspell ispell-really-hunspell ispell-encoding8-command ispell-aspell-supports-utf8 ispell-required-version ispell-offset ispell-version ispell-version + (defun . ispell-check-version) + (defun . ispell-call-process) + (defun . ispell-call-process-region) + ispell-menu-map ispell-menu-xemacs ispell-menu-map-needed ispell-library-directory ispell-process ispell-async-processp ispell-aspell-dictionary-alist + (defun . ispell-find-aspell-dictionaries) + ispell-aspell-data-dir ispell-aspell-dict-dir + (defun . ispell-get-aspell-config-value) + (defun . ispell-aspell-find-dictionary) + (defun . ispell-aspell-add-aliases) + ispell-last-program-name ispell-initialize-spellchecker-hook + (defun . ispell-set-spellchecker-params) + (defun . ispell-valid-dictionary-list) + (defun . ispell-int-char) + ispell-current-dictionary ispell-current-personal-dictionary ispell-dictionary + (defun . ispell-decode-string) + (defun . ispell-get-decoded-string) + (defun . ispell-get-casechars) + (defun . ispell-get-not-casechars) + (defun . ispell-get-otherchars) + (defun . ispell-get-many-otherchars-p) + (defun . ispell-get-ispell-args) + (defun . ispell-get-extended-character-mode) + (defun . ispell-get-coding-system) + ispell-pdict-modified-p ispell-quit ispell-process-directory ispell-filter ispell-filter-continue ispell-output-buffer ispell-session-buffer ispell-cmd-args ispell-query-replace-marker ispell-recursive-edit-marker ispell-checking-message ispell-choices-buffer ispell-choices-buffer ispell-overlay ispell-words-keyword ispell-dictionary-keyword ispell-pdict-keyword ispell-parsing-keyword ispell-skip-region-alist ispell-tex-skip-alists ispell-html-skip-alists ispell-local-pdict ispell-buffer-local-name ispell-parser ispell-region-end ispell-check-only + (defun . ispell-accept-output) + (defun . ispell-send-replacement) + (defun . ispell-send-string) + (defun . ispell-insert-word) + (t . ispell-word) + (defun . ispell-word) + (defun . ispell-get-word) + (t . ispell-pdict-save) + (defun . ispell-pdict-save) + (defun . ispell-command-loop) + (defun . ispell-show-choices) + (t . ispell-help) + (defun . ispell-help) + (defun . lookup-words) + (defun . ispell-filter) + (defun . ispell-highlight-spelling-error-generic) + (defun . ispell-highlight-spelling-error-xemacs) + (defun . ispell-highlight-spelling-error-overlay) + (defun . ispell-highlight-spelling-error) + (defun . ispell-adjusted-window-height) + (defun . ispell-overlay-window) + (defun . ispell-parse-output) + (defun . ispell-process-status) + (defun . ispell-start-process) + (defun . ispell-init-process) + (t . ispell-kill-ispell) + (defun . ispell-kill-ispell) + (t . ispell-change-dictionary) + (defun . ispell-change-dictionary) + (defun . ispell-internal-change-dictionary) + (t . ispell-region) + (defun . ispell-region) + (defun . ispell-begin-skip-region-regexp) + (defun . ispell-begin-skip-region) + (defun . ispell-begin-tex-skip-regexp) + (defun . ispell-skip-region-list) + (defun . ispell-tex-arg-end) + (defun . ispell-ignore-fcc) + (defun . ispell-skip-region) + (defun . ispell-get-line) + (defun . ispell-looking-at) + (defun . ispell-process-line) + (t . ispell-comments-and-strings) + (defun . ispell-comments-and-strings) + (t . ispell-buffer) + (defun . ispell-buffer) + (t . ispell-continue) + (defun . ispell-continue) + (defun . ispell-horiz-scroll) + (t . ispell-complete-word) + (defun . ispell-complete-word) + (t . ispell-complete-word-interior-frag) + (defun . ispell-complete-word-interior-frag) + (t . ispell) + (defun . ispell) + ispell-minor-mode ispell-minor-keymap + (t . ispell-minor-mode) + (defun . ispell-minor-mode) + (defun . ispell-minor-check) + ispell-message-text-end + (defun . ispell-mime-multipartp) + (defun . ispell-mime-skip-part) + (t . ispell-message) + (defun . ispell-message) + (defun . ispell-non-empty-string) + (defun . ispell-accept-buffer-local-defs) + (defun . ispell-buffer-local-parsing) + (defun . ispell-buffer-local-dict) + (defun . ispell-buffer-local-words) + (defun . ispell-add-per-file-word-list) + (provide . ispell)) + ("/home/hobbes/nxhtml/nxhtml/html-site.el" html-site:version + (require . ourcomments-util) + (require . cl) + (require . dired) + (require . ffip) + (require . grep) + (defun . html-site-looks-like-local-url) + (require . url-parse) + (require . url-http) + (defun . html-site-dir-contains) + (defun . html-site-lwarn) + (defun . html-site-chk-wtocdir) + (t . html-site-buffer-or-dired-file-name) + (defun . html-site-buffer-or-dired-file-name) + (t . html-site-set-site) + (defun . html-site-set-site) + (t . html-site-dired-current) + (defun . html-site-dired-current) + (t . html-site-find-file) + (defun . html-site-find-file) + (t . html-site-rgrep) + (defun . html-site-rgrep) + (t . html-site-query-replace) + (defun . html-site-query-replace) + (defun . html-site-ensure-site-defined) + (defun . html-site-current-ensure-site-defined) + (defun . html-site-remote-contains) + (defun . html-site-current-remote-contains) + (defun . html-site-ensure-file-in-site) + (defun . html-site-current-ensure-file-in-site) + (defun . html-site-ensure-buffer-in-site) + (defun . html-site-current-ensure-buffer-in-site) + (defun . html-site-site-dir) + (defun . html-site-current-site-dir) + (defun . html-site-contains) + (defun . html-site-current-contains) + (defun . html-site-page-list) + (defun . html-site-current-page-list) + (defun . html-site-frames-file) + (defun . html-site-current-frames-file) + (defun . html-site-toc-file) + (defun . html-site-current-toc-file) + (defun . html-site-merge-dir) + (defun . html-site-current-merge-dir) + (defun . html-site-merge-template) + (defun . html-site-current-merge-template) + (defun . html-site-extra-fun) + (defun . html-site-current-extra-fun) + (defun . html-site-ftp-host) + (defun . html-site-current-ftp-host) + (defun . html-site-ftp-user) + (defun . html-site-current-ftp-user) + (defun . html-site-ftp-password) + (defun . html-site-current-ftp-password) + (defun . html-site-ftp-dir) + (defun . html-site-current-ftp-dir) + (defun . html-site-ftp-wtoc-dir) + (defun . html-site-current-ftp-wtoc-dir) + (defun . html-site-web-host) + (defun . html-site-current-web-host) + (defun . html-site-web-dir) + (defun . html-site-current-web-dir) + (defun . html-site-web-wtoc-dir) + (defun . html-site-current-web-wtoc-dir) + (defun . html-site-web-full) + (defun . html-site-current-web-full) + html-site-ftp-temporary-passwords + (defun . html-site-get-ftp-pw) + (defun . html-site-path-in-mirror) + (defun . html-site-local-to-web) + (defun . html-site-current-local-to-web) + (defun . html-site-remote-root) + (defun . html-site-current-remote-root) + (defun . html-site-local-to-remote) + (defun . html-site-current-local-to-remote) + (defun . html-site-remote-to-local) + (defun . html-site-current-remote-to-local) + html-site-files-re + (defun . html-site-edit-pages-file) + (defun . html-site-get-sub-files) + (defun . html-site-file-is-local) + html-site-list html-site-current noshell-procbuf-name noshell-proc-name + (defun . noshell-procbuf-setup) + (defun . noshell-procbuf-teardown) + (defun . noshell-procbuf-run) + (defun . noshell-sentinel) + (defun . noshell-procbuf-syncrun) + noshell-process-mode-map noshell-process-mode-syntax-table noshell-process-mode-abbrev-table noshell-process-mode-abbrev-table + (defun . noshell-process-mode) + (defun . noshell-quit) + (defun . noshell-kill-subprocess) + (provide . html-site) + (require . html-upl) + html-site-mode-menu-map html-site-mode-map html-site-mode + (defun . html-site-mode) + html-site-mode-off-list html-site-mode-major-mode html-site-global-mode + (defun . html-site-global-mode) + html-site-global-mode-buffers + (defun . html-site-global-mode-enable-in-buffers) + (defun . html-site-global-mode-check-buffers) + (defun . html-site-global-mode-cmhh)) + ("/home/hobbes/nxhtml/nxhtml/html-upl.el" html-upl:version + (require . html-site) + html-upl-dir + (defun . html-upl-browse-remote) + (defun . html-upl-browse-remote-with-toc) + (defun . html-upl-browse-remote-frames) + (defun . html-upl-upload-site-with-toc) + (defun . html-upl-upload-site) + (defun . html-upl-upload-site1) + (defun . html-upl-ensure-site-has-host) + (defun . html-upl-remote-dired) + (defun . html-upl-upload-file) + (defun . html-upl-edit-remote-file) + (defun . html-upl-edit-remote-file-with-toc) + (defun . html-upl-edit-remote-file1) + (defun . html-upl-ediff-file) + (provide . html-upl)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/derived.elc" + (defun . derived-mode-hook-name) + (defun . derived-mode-map-name) + (defun . derived-mode-syntax-table-name) + (defun . derived-mode-abbrev-table-name) + (t . define-derived-mode) + (defun . define-derived-mode) + (defun . derived-mode-class) + (defun . derived-mode-make-docstring) + (defun . derived-mode-setup-function-name) + (t . derived-mode-init-mode-variables) + (defun . derived-mode-init-mode-variables) + (defun . derived-mode-set-keymap) + (defun . derived-mode-set-syntax-table) + (defun . derived-mode-set-abbrev-table) + (defun . derived-mode-run-hooks) + (defun . derived-mode-merge-keymaps) + (defun . derived-mode-merge-syntax-tables) + (defun . derived-mode-merge-abbrev-tables) + (provide . derived)) + ("/usr/share/emacs/23.0.93/lisp/url/url-http.elc" + (require . url-gw) + (require . url-util) + (require . url-parse) + (require . url-cookie) + (require . mail-parse) + (require . url-auth) + (require . url) + (autoload . url-cache-create-filename) + url-http-default-port url-http-asynchronous-p + (defun . url-http-expand-file-name) + url-http-real-basic-auth-storage url-http-proxy-basic-auth-storage url-http-open-connections url-http-version url-http-attempt-keepalives + (defun . url-http-debug) + (defun . url-http-mark-connection-as-busy) + (defun . url-http-mark-connection-as-free) + (defun . url-http-find-free-connection) + (defun . url-http-user-agent-string) + (defun . url-http-create-request) + (defun . url-http-clean-headers) + (defun . url-http-handle-authentication) + (defun . url-http-parse-response) + (defun . url-http-handle-cookies) + (defun . url-http-parse-headers) + (defun . url-http-activate-callback) + (defun . url-http-idle-sentinel) + (defun . url-http-end-of-document-sentinel) + (defun . url-http-simple-after-change-function) + (defun . url-http-content-length-after-change-function) + (defun . url-http-chunked-encoding-after-change-function) + (defun . url-http-wait-for-headers-change-function) + (t . url-http) + (defun . url-http) + (defun . url-http-async-sentinel) + (defun . url-http-generic-filter) + (defun . url-http-symbol-value-in-buffer) + (defun . url-http-head) + (t . url-http-file-exists-p) + (defun . url-http-file-exists-p) + (defun . url-http-file-readable-p) + (defun . url-http-head-file-attributes) + (t . url-http-file-attributes) + (defun . url-http-file-attributes) + (t . url-http-options) + (defun . url-http-options) + (require . tls) + url-https-default-port url-https-asynchronous-p + (defun . url-https-expand-file-name) + (defun . url-https-create-secure-wrapper) + (t . url-https) + (defun . url-https) + (t . url-https-file-exists-p) + (defun . url-https-file-exists-p) + (t . url-https-file-readable-p) + (defun . url-https-file-readable-p) + (t . url-https-file-attributes) + (defun . url-https-file-attributes) + (provide . url-http)) + ("/usr/share/emacs/23.0.93/lisp/net/tls.elc" + (autoload . format-spec) + (autoload . format-spec-make) + tls-end-of-info tls-program tls-process-connection-type tls-success tls-checktrust tls-untrusted tls-hostmismatch tls-certtool-program + (defun . tls-certificate-information) + (t . open-tls-stream) + (defun . open-tls-stream) + (provide . tls)) + ("/usr/share/emacs/23.0.93/lisp/url/url.elc" + (require . mailcap) + (require . url-vars) + (require . url-cookie) + (require . url-history) + (require . url-expand) + (require . url-privacy) + (require . url-methods) + (require . url-proxy) + (require . url-parse) + (require . url-util) + url-configuration-directory + (t . url-do-setup) + (defun . url-do-setup) + url-redirect-buffer + (t . url-retrieve) + (defun . url-retrieve) + (defun . url-retrieve-internal) + (t . url-retrieve-synchronously) + (defun . url-retrieve-synchronously) + (defun . url-mm-callback) + (defun . url-mm-url) + url-dead-buffer-list + (defun . url-mark-buffer-as-dead) + (defun . url-gc-dead-buffers) + (t . url-warn) + (defun . url-warn) + (provide . url)) + ("/usr/share/emacs/23.0.93/lisp/url/url-proxy.elc" + (require . url-parse) + (autoload . url-warn) + (defun . url-default-find-proxy-for-url) + url-proxy-locator + (defun . url-find-proxy-for-url) + (defun . url-proxy) + (provide . url-proxy)) + ("/usr/share/emacs/23.0.93/lisp/url/url-privacy.elc" + (require . url-vars) + (defun . url-device-type) + (t . url-setup-privacy-info) + (defun . url-setup-privacy-info) + (provide . url-privacy)) + ("/usr/share/emacs/23.0.93/lisp/url/url-expand.elc" + (require . url-methods) + (require . url-util) + (require . url-parse) + (defun . url-expander-remove-relative-links) + (defun . url-expand-file-name) + (defun . url-identity-expander) + (t . url-default-expander) + (defun . url-default-expander) + (provide . url-expand)) + ("/usr/share/emacs/23.0.93/lisp/url/url-history.elc" + (require . url-parse) + (autoload . url-do-setup) + url-history-track url-history-file url-history-save-interval url-history-timer url-history-changed-since-last-save url-history-hash-table + (defun . url-history-setup-save-timer) + (defun . url-history-parse-history) + (defun . url-history-update-url) + (defun . url-history-save-history) + (defun . url-have-visited-url) + (defun . url-completion-function) + (provide . url-history)) + ("/usr/share/emacs/23.0.93/lisp/gnus/mailcap.elc" + (defun . mailcap-delete-duplicates) + (defun . mailcap-replace-in-string) + mailcap-parse-args-syntax-table mailcap-print-command mailcap-mime-data mailcap-download-directory mailcap-poor-system-types + (defun . mailcap-save-binary-file) + mailcap-maybe-eval-warning + (defun . mailcap-maybe-eval) + (defun . mailcap-replace-regexp) + mailcap-parsed-p + (defun . mailcap-parse-mailcaps) + (defun . mailcap-parse-mailcap) + (defun . mailcap-parse-mailcap-extras) + (defun . mailcap-mailcap-entry-passes-test) + (defun . mailcap-possible-viewers) + (defun . mailcap-unescape-mime-test) + mailcap-viewer-test-cache + (defun . mailcap-viewer-passes-test) + (defun . mailcap-add-mailcap-entry) + (defun . mailcap-add) + (defun . mailcap-viewer-lessp) + (defun . mailcap-mime-info) + mailcap-mime-extensions mailcap-mimetypes-parsed-p + (defun . mailcap-parse-mimetypes) + (defun . mailcap-parse-mimetype-file) + (defun . mailcap-extension-to-mime) + (defun . mailcap-command-p) + (defun . mailcap-mime-types) + (defun . mailcap-file-default-commands) + (provide . mailcap)) + ("/usr/share/emacs/23.0.93/lisp/url/url-auth.elc" + (require . url-vars) + (require . url-parse) + (autoload . url-warn) + (autoload . auth-source-user-or-password) + (defun . url-auth-user-prompt) + url-basic-auth-storage + (defun . url-basic-auth) + url-digest-auth-storage + (defun . url-digest-auth-create-key) + (defun . url-digest-auth) + url-registered-auth-schemes + (t . url-get-authentication) + (defun . url-get-authentication) + (t . url-register-auth-scheme) + (defun . url-register-auth-scheme) + (defun . url-auth-registered) + (provide . url-auth)) + ("/usr/share/emacs/23.0.93/lisp/gnus/mail-parse.elc" + (require . mail-prsvr) + (require . ietf-drums) + (require . rfc2231) + (require . rfc2047) + (require . rfc2045) + (defun . mail-header-parse-content-type) + (defun . mail-header-parse-content-disposition) + (defun . mail-content-type-get) + (defun . mail-header-encode-parameter) + (t . mail-header-remove-comments) + (defun . mail-header-remove-comments) + (t . mail-header-remove-whitespace) + (defun . mail-header-remove-whitespace) + (defun . mail-header-strip) + (defun . mail-header-get-comment) + (defun . mail-header-parse-address) + (defun . mail-header-parse-addresses) + (defun . mail-header-parse-date) + (defun . mail-narrow-to-head) + (defun . mail-quote-string) + (defun . mail-header-make-address) + (defun . mail-header-fold-field) + (defun . mail-header-unfold-field) + (defun . mail-header-narrow-to-field) + (defun . mail-header-field-value) + (defun . mail-encode-encoded-word-region) + (defun . mail-encode-encoded-word-buffer) + (defun . mail-encode-encoded-word-string) + (defun . mail-decode-encoded-word-region) + (defun . mail-decode-encoded-word-string) + (defun . mail-decode-encoded-address-region) + (defun . mail-decode-encoded-address-string) + (provide . mail-parse)) + ("/usr/share/emacs/23.0.93/lisp/gnus/rfc2231.elc" + (require . ietf-drums) + (require . rfc2047) + (autoload . mm-encode-body) + (autoload . mail-header-remove-whitespace) + (autoload . mail-header-remove-comments) + (defun . rfc2231-get-value) + (defun . rfc2231-parse-qp-string) + (defun . rfc2231-parse-string) + (defun . rfc2231-decode-encoded-string) + (defun . rfc2231-encode-string) + (provide . rfc2231)) + ("/usr/share/emacs/23.0.93/lisp/gnus/rfc2047.elc" + (require . qp) + (require . mm-util) + (require . ietf-drums) + (require . mail-prsvr) + (require . rfc2045) + (autoload . mm-body-7-or-8) + rfc2047-header-encoding-alist rfc2047-charset-encoding-alist rfc2047-encode-function-alist rfc2047-encode-encoded-words rfc2047-allow-irregular-q-encoded-words rfc2047-encoded-word-regexp rfc2047-encoded-word-regexp-loose + (defun . rfc2047-qp-or-base64) + (defun . rfc2047-narrow-to-field) + (defun . rfc2047-field-value) + (defun . rfc2047-quote-special-characters-in-quoted-strings) + rfc2047-encoding-type + (defun . rfc2047-encode-message-header) + (defun . rfc2047-encodable-p) + rfc2047-syntax-table rfc2047-syntax-table + (defun . rfc2047-encode-region) + (defun . rfc2047-encode-string) + rfc2047-encode-max-chars + (defun . rfc2047-encode-1) + (defun . rfc2047-encode) + (defun . rfc2047-fold-field) + (defun . rfc2047-fold-region) + (defun . rfc2047-unfold-field) + (defun . rfc2047-unfold-region) + (defun . rfc2047-b-encode-string) + (defun . rfc2047-q-encode-string) + (defun . rfc2047-encode-parameter) + rfc2047-quote-decoded-words-containing-tspecials rfc2047-allow-incomplete-encoded-text + (defun . rfc2047-strip-backslashes-in-quoted-strings) + (defun . rfc2047-charset-to-coding-system) + (defun . rfc2047-decode-encoded-words) + (defun . rfc2047-decode-region) + (defun . rfc2047-decode-address-region) + (defun . rfc2047-decode-string) + (defun . rfc2047-decode-address-string) + (defun . rfc2047-pad-base64) + (provide . rfc2047)) + ("/usr/share/emacs/23.0.93/lisp/gnus/rfc2045.elc" + (require . ietf-drums) + (defun . rfc2045-encode-string) + (provide . rfc2045)) + ("/usr/share/emacs/23.0.93/lisp/gnus/qp.elc" + (require . mm-util) + (t . quoted-printable-decode-region) + (defun . quoted-printable-decode-region) + (defun . quoted-printable-decode-string) + (defun . quoted-printable-encode-region) + (defun . quoted-printable-encode-string) + (provide . qp)) + ("/usr/share/emacs/23.0.93/lisp/gnus/ietf-drums.elc" + (require . time-date) + (require . mm-util) + ietf-drums-no-ws-ctl-token ietf-drums-text-token ietf-drums-specials-token ietf-drums-quote-token ietf-drums-wsp-token ietf-drums-fws-regexp ietf-drums-atext-token ietf-drums-dot-atext-token ietf-drums-qtext-token ietf-drums-tspecials ietf-drums-syntax-table + (defun . ietf-drums-token-to-list) + (defun . ietf-drums-init) + (defun . ietf-drums-remove-comments) + (defun . ietf-drums-remove-whitespace) + (defun . ietf-drums-get-comment) + (defun . ietf-drums-strip) + (defun . ietf-drums-parse-address) + (defun . ietf-drums-parse-addresses) + (defun . ietf-drums-unfold-fws) + (defun . ietf-drums-parse-date) + (defun . ietf-drums-narrow-to-header) + (defun . ietf-drums-quote-string) + (defun . ietf-drums-make-address) + (provide . ietf-drums)) + ("/usr/share/emacs/23.0.93/lisp/calendar/time-date.elc" + (defun . with-decoded-time-value) + (defun . encode-time-value) + (autoload . parse-time-string) + (t . date-to-time) + (defun . date-to-time) + (t . time-to-seconds) + (defun . time-to-seconds) + (t . seconds-to-time) + (defun . seconds-to-time) + (t . time-less-p) + (defun . time-less-p) + (t . days-to-time) + (defun . days-to-time) + (t . time-since) + (defun . time-since) + (defun . subtract-time) + (t . time-subtract) + (defun . time-subtract) + (t . time-add) + (defun . time-add) + (t . date-to-day) + (defun . date-to-day) + (t . days-between) + (defun . days-between) + (t . date-leap-year-p) + (defun . date-leap-year-p) + (t . time-to-day-in-year) + (defun . time-to-day-in-year) + (t . time-to-days) + (defun . time-to-days) + (defun . time-to-number-of-days) + (t . safe-date-to-time) + (defun . safe-date-to-time) + (t . format-seconds) + (defun . format-seconds) + (provide . time-date)) + ("/usr/share/emacs/23.0.93/lisp/url/url-cookie.elc" + (require . timezone) + (require . url-util) + (require . url-parse) + (defun . url-cookie-tag) + (defun . url-cookie-name) + (defun . url-cookie-value) + (defun . url-cookie-expires) + (defun . url-cookie-localpart) + (defun . url-cookie-domain) + (defun . url-cookie-secure) + (defun . url-cookie-create) + url-cookie-storage url-cookie-secure-storage url-cookie-file url-cookie-confirmation url-cookie-multiple-line url-cookies-changed-since-last-save + (defun . url-cookie-parse-file) + (defun . url-cookie-clean-up) + (defun . url-cookie-write-file) + (defun . url-cookie-store) + (defun . url-cookie-expired-p) + (defun . url-cookie-retrieve) + (defun . url-cookie-generate-header-lines) + url-cookie-two-dot-domains url-cookie-trusted-urls url-cookie-untrusted-urls + (defun . url-cookie-host-can-set-p) + (defun . url-cookie-handle-set-cookie) + url-cookie-timer url-cookie-save-interval + (defun . url-cookie-setup-save-timer) + (provide . url-cookie)) + ("/usr/share/emacs/23.0.93/lisp/timezone.elc" timezone-world-timezones timezone-months-assoc + (t . timezone-make-date-arpa-standard) + (defun . timezone-make-date-arpa-standard) + (defun . timezone-make-date-sortable) + (defun . timezone-make-arpa-date) + (defun . timezone-make-sortable-date) + (defun . timezone-make-time-string) + (t . timezone-parse-date) + (defun . timezone-parse-date) + (defun . timezone-parse-time) + (defun . timezone-zone-to-minute) + (defun . timezone-time-from-absolute) + (defun . timezone-time-zone-from-absolute) + (defun . timezone-fix-time) + (defun . timezone-last-day-of-month) + (defun . timezone-leap-year-p) + (defun . timezone-day-number) + (defun . timezone-absolute-from-gregorian) + (provide . timezone)) + ("/usr/share/emacs/23.0.93/lisp/url/url-util.elc" + (require . url-parse) + (autoload . timezone-parse-date) + (autoload . timezone-make-date-arpa-standard) + (autoload . mail-header-extract) + url-parse-args-syntax-table url-debug + (t . url-debug) + (defun . url-debug) + (t . url-parse-args) + (defun . url-parse-args) + (t . url-insert-entities-in-string) + (defun . url-insert-entities-in-string) + (t . url-normalize-url) + (defun . url-normalize-url) + (t . url-lazy-message) + (defun . url-lazy-message) + (t . url-get-normalized-date) + (defun . url-get-normalized-date) + (t . url-eat-trailing-space) + (defun . url-eat-trailing-space) + (t . url-strip-leading-spaces) + (defun . url-strip-leading-spaces) + (t . url-pretty-length) + (defun . url-pretty-length) + (t . url-display-percentage) + (defun . url-display-percentage) + (t . url-percentage) + (defun . url-percentage) + (defun . url-basepath) + (t . url-file-directory) + (defun . url-file-directory) + (t . url-file-nondirectory) + (defun . url-file-nondirectory) + (t . url-parse-query-string) + (defun . url-parse-query-string) + (defun . url-unhex) + (t . url-unhex-string) + (defun . url-unhex-string) + url-unreserved-chars + (t . url-hexify-string) + (defun . url-hexify-string) + (t . url-file-extension) + (defun . url-file-extension) + (t . url-truncate-url-for-viewing) + (defun . url-truncate-url-for-viewing) + (t . url-view-url) + (defun . url-view-url) + url-get-url-filename-chars + (defun . url-get-url-at-point) + (defun . url-generate-unique-filename) + (defun . url-extract-mime-headers) + (defun . url-make-private-file) + (provide . url-util)) + ("/usr/share/emacs/23.0.93/lisp/url/url-gw.elc" + (require . url-vars) + (autoload . socks-open-network-stream) + (autoload . open-ssl-stream) + (autoload . open-tls-stream) + url-gateway-local-host-regexp url-gateway-prompt-pattern url-gateway-rlogin-host url-gateway-rlogin-user-name url-gateway-rlogin-parameters url-gateway-telnet-host url-gateway-telnet-parameters url-gateway-telnet-login-prompt url-gateway-telnet-password-prompt url-gateway-telnet-user-name url-gateway-telnet-password url-gateway-broken-resolution url-gateway-nslookup-program + (t . url-gateway-nslookup-host) + (defun . url-gateway-nslookup-host) + (defun . url-wait-for-string) + (defun . url-open-rlogin) + (defun . url-open-telnet) + (t . url-open-stream) + (defun . url-open-stream) + (provide . url-gw)) + ("/usr/share/emacs/23.0.93/lisp/url/url-methods.elc" + (require . url-parse) + url-scheme-registry url-scheme-methods url-scheme-default-properties url-scheme-default-properties + (defun . url-scheme-default-loader) + (defun . url-scheme-register-proxy) + (t . url-scheme-get-property) + (defun . url-scheme-get-property) + (provide . url-methods)) + ("/usr/share/emacs/23.0.93/lisp/url/url-parse.elc" + (require . url-vars) + (autoload . url-scheme-get-property) + (defun . url-type) + (defun . url-user) + (defun . url-password) + (defun . url-host) + (defun . url-portspec) + (defun . url-filename) + (defun . url-target) + (defun . url-attributes) + (defun . url-fullness) + (defun . url-p) + (defun . url-parse-make-urlobj) + (defun . url-port) + (t . url-recreate-url) + (defun . url-recreate-url) + (defun . url-recreate-url-attributes) + (t . url-generic-parse-url) + (defun . url-generic-parse-url) + (provide . url-parse)) + ("/usr/share/emacs/23.0.93/lisp/url/url-vars.elc" + (require . mm-util) + url-version url-current-object url-current-mime-headers url-honor-refresh-requests url-automatic-caching url-cache-expired url-bug-address url-personal-mail-address url-directory-index-file url-privacy-level url-inhibit-uncompression url-uncompressor-alist url-mail-command url-proxy-services url-standalone-mode url-mime-separator-chars url-bad-port-list url-mime-content-type-charset-regexp url-request-data url-request-extra-headers url-request-method url-mime-encoding-string + (defun . url-mime-charset-string) + url-mime-charset-string + (defun . url-set-mime-charset-string) + url-mime-language-string url-mime-accept-string url-package-version url-package-name url-system-type url-os-type url-max-password-attempts url-temporary-directory url-show-status url-using-proxy url-news-server url-nonrelative-link url-max-redirections url-confirmation-func url-gateway-method url-setup-done url-weekday-alist url-weekday-alist url-monthabbrev-alist url-monthabbrev-alist url-lazy-message-time url-extensions-header url-parse-syntax-table url-load-hook url-working-buffer url-working-buffer url-gateway-unplugged + (provide . url-vars)) + ("/usr/share/emacs/23.0.93/lisp/gnus/mm-util.elc" + (require . mail-prsvr) + (require . timer) + (defun . mm-coding-system-list) + (defun . mm-char-int) + (defun . mm-coding-system-equal) + (defun . mm-annotationp) + (defun . mm-set-buffer-file-coding-system) + (defun . mm-read-charset) + (defun . mm-subst-char-in-string) + (defun . mm-replace-in-string) + (defun . mm-string-as-unibyte) + (defun . mm-string-make-unibyte) + (defun . mm-string-as-multibyte) + (defun . mm-multibyte-string-p) + (defun . mm-insert-byte) + (defun . mm-multibyte-char-to-unibyte) + (defun . mm-set-buffer-multibyte) + (defun . mm-special-display-p) + (defun . mm-substring-no-properties) + (defun . mm-line-number-at-pos) + (defun . mm-decode-coding-string) + (defun . mm-encode-coding-string) + (defun . mm-decode-coding-region) + (defun . mm-encode-coding-region) + (defun . mm-string-to-multibyte) + (defun . mm-char-or-char-int-p) + (defun . mm-ucs-to-char) + (defun . mm-read-coding-system) + mm-coding-system-list + (defun . mm-get-coding-system-list) + (defun . mm-coding-system-p) + (defun . mm-codepage-setup) + mm-charset-synonym-alist mm-codepage-iso-8859-list mm-codepage-ibm-list + (defun . mm-setup-codepage-iso-8859) + (defun . mm-setup-codepage-ibm) + mm-charset-eval-alist + (defun . mm-charset-to-coding-system) + mm-charset-override-alist mm-binary-coding-system mm-text-coding-system mm-text-coding-system-for-write mm-auto-save-coding-system mm-universal-coding-system mm-mime-mule-charset-alist + (defun . mm-enrich-utf-8-by-mule-ucs) + mm-hack-charsets mm-iso-8859-15-compatible mm-iso-8859-x-to-15-table mm-coding-system-priorities mm-use-find-coding-systems-region + (defun . mm-mule-charset-to-mime-charset) + mm-emacs-mule + (defun . mm-enable-multibyte) + (defun . mm-disable-multibyte) + (defun . mm-preferred-coding-system) + (defun . mm-guess-charset) + (defun . mm-charset-after) + (defun . mm-mime-charset) + (defun . mm-delete-duplicates) + (defun . mm-multibyte-p) + (defun . mm-default-multibyte-p) + (defun . mm-iso-8859-x-to-15-region) + (defun . mm-sort-coding-systems-predicate) + (defun . mm-xemacs-find-mime-charset-1) + (defun . mm-xemacs-find-mime-charset) + (defun . mm-find-mime-charset-region) + (defun . mm-with-unibyte-buffer) + (defun . mm-with-multibyte-buffer) + (defun . mm-with-unibyte-current-buffer) + (defun . mm-find-charset-region) + (defun . mm-auto-mode-alist) + mm-inhibit-file-name-handlers + (defun . mm-insert-file-contents) + (defun . mm-append-to-file) + (defun . mm-write-region) + (autoload . gmm-write-region) + (defun . mm-make-temp-file) + (defun . mm-image-load-path) + (defun . mm-detect-coding-region) + (defun . mm-detect-mime-charset-region) + (defun . mm-coding-system-to-mime-charset) + (defun . mm-decompress-buffer) + (defun . mm-find-buffer-file-coding-system) + (provide . mm-util)) + ("/usr/share/emacs/23.0.93/lisp/gnus/mail-prsvr.elc" mail-parse-charset mail-parse-mule-charset mail-parse-ignored-charsets + (provide . mail-prsvr)) + ("/home/hobbes/nxhtml/util/ffip.el" + (require . cl) + ffip-project-name ffip-project-roots ffip-project-type ffip-project-file-types ffip-project-file-matcher ffip-project-files-table + (defun . ffip-reset-project) + (defun . ffip-is-current) + (defun . ffip-set-current-project) + (defun . ffip-cache-project-files) + (defun . ffip-file-matcher) + (defun . ffip-project-files) + (defun . ffip-project-root) + (defun . ffip-populate-files-table) + (defun . ffip-get-unique-directory-names) + (defun . ffip-file-is-in-project) + (defun . ffip-add-file-if-in-project) + (defun . ffip-after-save) + (defun . ffip-find-file-in-dirtree) + (defun . ffip-find-file-in-project) + (provide . ffip)) + ("/home/hobbes/nxhtml/util/ourcomments-util.el" ourcomments-util:version + (require . apropos) + (require . cl) + (require . grep) + (require . ido) + (require . recentf) + (defun . point-to-coord) + (t . popup-menu-at-point) + (defun . popup-menu-at-point) + (t . define-toggle) + (defun . define-toggle) + (t . unfill-paragraph) + (defun . unfill-paragraph) + (t . unfill-region) + (defun . unfill-region) + (t . unfill-individual-paragraphs) + (defun . unfill-individual-paragraphs) + (defun . with-unfilling) + (t . major-or-multi-majorp) + (defun . major-or-multi-majorp) + (t . multi-major-modep) + (defun . multi-major-modep) + (t . major-modep) + (defun . major-modep) + (t . ourcomments-move-beginning-of-line) + (defun . ourcomments-move-beginning-of-line) + (t . ourcomments-move-end-of-line) + (defun . ourcomments-move-end-of-line) + (defun . ourcomments-find-keymap-variables) + (defun . key-bindings) + (defun . describe-keymap-placement) + (t . describe-key-and-map-briefly) + (defun . describe-key-and-map-briefly) + wrap-to-fill-left-marg wrap-to-fill-left-marg-use wrap-to-fill-left-marg-modes + (defun . wrap-to-fill-set-prefix) + (defun . wrap-to-fill-after-change) + (defun . wrap-to-fill-scroll-fun) + (defun . wrap-to-fill-wider) + (defun . wrap-to-fill-narrower) + wrap-to-fill-column-mode-map wrap-to-fill-column-mode + (t . wrap-to-fill-column-mode) + (defun . wrap-to-fill-column-mode) + (defun . wrap-to-fill-set-values) + (defun . wrap-to-fill-set-values-1) + better-bottom-angles-defaults + (defun . better-fringes-bottom-angles) + (defun . better-fringes-faces) + (defface . better-fringes-bitmap) + (defface . better-fringes-important-bitmap) + better-fringes-mode + (t . better-fringes-mode) + (defun . better-fringes-mode) + (t . find-emacs-other-file) + (defun . find-emacs-other-file) + (t . ourcomments-ediff-files) + (defun . ourcomments-ediff-files) + (defun . ourcomments-latest-changelog) + (defun . ourcomments-read-symbol) + (defun . ourcomments-command-at-point) + (t . describe-command) + (defun . describe-command) + (defun . buffer-narrowed-p) + describe-symbol-alist + (defun . describe-symbol-add-known) + (defun . property-list-keys) + (defun . ourcomments-symbol-type) + (defun . ourcomments-defstruct-p) + (defun . ourcomments-defstruct-slots) + (defun . ourcomments-defstruct-file) + (defun . ourcomments-member-defstruct) + (defun . ourcomments-custom-group-p) + (t . describe-custom-group) + (defun . describe-custom-group) + (t . describe-defstruct) + (defun . describe-defstruct) + (t . describe-symbol) + (defun . describe-symbol) + (defun . ourcomments-format-plist) + ourcomments-ido-visit-method + (t . ourcomments-ido-buffer-other-window) + (defun . ourcomments-ido-buffer-other-window) + (t . ourcomments-ido-buffer-other-frame) + (defun . ourcomments-ido-buffer-other-frame) + (t . ourcomments-ido-buffer-raise-frame) + (defun . ourcomments-ido-buffer-raise-frame) + (defun . ourcomments-ido-mode-advice) + ourcomments-ido-adviced ourcomments-ido-old-state + (defun . ourcomments-ido-ctrl-tab-activate) + ourcomments-ido-ctrl-tab + (defun . ourcomments-find-emacs) + (t . emacs) + (defun . emacs) + (t . emacs-buffer-file) + (defun . emacs-buffer-file) + (t . emacs--debug-init) + (defun . emacs--debug-init) + (t . emacs-Q) + (defun . emacs-Q) + (t . emacs-Q-nxhtml) + (defun . emacs-Q-nxhtml) + (defun . grep-get-buffer-files) + grep-query-replace-defaults + (t . grep-query-replace) + (defun . grep-query-replace) + (defun . ldir-query-replace) + (defun . rdir-query-replace) + (defun . rdir-get-files) + (defun . dir-replace-read-parameters) + replace-read-files-history + (defun . replace-read-files) + (t . info-open-file) + (defun . info-open-file) + (provide . ourcomments-util)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/advice.elc" + (provide . advice-preload) + (require . advice-preload) + ad-version ad-version ad-redefinition-action ad-default-compilation-action + (defun . ad-substitute-tree) + (defun . ad-copy-tree) + (defun . ad-dolist) + (defun . ad-do-return) + (defun . ad-save-real-definition) + (defun . ad-save-real-definitions) + ad-advised-functions + (defun . ad-pushnew-advised-function) + (defun . ad-pop-advised-function) + (defun . ad-do-advised-functions) + (defun . ad-get-advice-info) + (defun . ad-get-advice-info-macro) + (defun . ad-set-advice-info) + (defun . ad-copy-advice-info) + (defun . ad-is-advised) + (defun . ad-initialize-advice-info) + (defun . ad-get-advice-info-field) + (defun . ad-set-advice-info-field) + (defun . ad-is-active) + (defun . ad-make-advice) + (defun . ad-advice-name) + (defun . ad-advice-protected) + (defun . ad-advice-enabled) + (defun . ad-advice-definition) + (defun . ad-advice-set-enabled) + (defun . ad-class-p) + (defun . ad-name-p) + (defun . ad-position-p) + ad-advice-classes + (defun . ad-has-enabled-advice) + (defun . ad-has-redefining-advice) + (defun . ad-has-any-advice) + (defun . ad-get-enabled-advices) + (defun . ad-activate-internal) + (defun . ad-activate-internal-off) + ad-activate-on-top-level + (defun . ad-with-auto-activation-disabled) + (defun . ad-safe-fset) + (defun . ad-make-origname) + (defun . ad-get-orig-definition) + (defun . ad-set-orig-definition) + (defun . ad-clear-orig-definition) + (defun . ad-read-advised-function) + ad-advice-class-completion-table + (defun . ad-read-advice-class) + (defun . ad-read-advice-name) + (defun . ad-read-advice-specification) + ad-last-regexp + (defun . ad-read-regexp) + (defun . ad-find-advice) + (defun . ad-advice-position) + (defun . ad-find-some-advice) + (defun . ad-enable-advice-internal) + (t . ad-enable-advice) + (defun . ad-enable-advice) + (t . ad-disable-advice) + (defun . ad-disable-advice) + (defun . ad-enable-regexp-internal) + (defun . ad-enable-regexp) + (defun . ad-disable-regexp) + (defun . ad-remove-advice) + (t . ad-add-advice) + (defun . ad-add-advice) + (defun . ad-macrofy) + (defun . ad-lambdafy) + (defun . ad-special-form-p) + (defun . ad-subr-p) + (defun . ad-macro-p) + (defun . ad-lambda-p) + (defun . ad-advice-p) + (defun . ad-compiled-p) + (defun . ad-compiled-code) + (defun . ad-lambda-expression) + (defun . ad-arglist) + (defun . ad-define-subr-args) + (defun . ad-undefine-subr-args) + (defun . ad-subr-args-defined-p) + (defun . ad-get-subr-args) + (defun . ad-subr-arglist) + (defun . ad-docstring) + (defun . ad-interactive-form) + (defun . ad-body-forms) + (defun . ad-make-advised-definition-docstring) + (defun . ad-advised-definition-p) + (defun . ad-definition-type) + (defun . ad-has-proper-definition) + (defun . ad-real-definition) + (defun . ad-real-orig-definition) + (defun . ad-is-compilable) + (defun . ad-compile-function) + (defun . ad-prognify) + (defun . ad-parse-arglist) + (defun . ad-retrieve-args-form) + (defun . ad-arg-binding-field) + (defun . ad-list-access) + (defun . ad-element-access) + (defun . ad-access-argument) + (defun . ad-get-argument) + (defun . ad-set-argument) + (defun . ad-get-arguments) + (defun . ad-set-arguments) + (defun . ad-insert-argument-access-forms) + (defun . ad-map-arglists) + (defun . ad-make-mapped-call) + (defun . ad-make-single-advice-docstring) + (require . help-fns) + (defun . ad-make-advised-docstring) + (defun . ad-make-plain-docstring) + (defun . ad-make-freeze-docstring) + (defun . ad-advised-arglist) + (defun . ad-advised-interactive-form) + (defun . ad-make-advised-definition) + (defun . ad-assemble-advised-definition) + (defun . ad-make-hook-form) + (defun . ad-get-cache-definition) + (defun . ad-get-cache-id) + (defun . ad-set-cache) + (defun . ad-clear-cache) + (defun . ad-make-cache-id) + (defun . ad-get-cache-class-id) + (defun . ad-verify-cache-class-id) + (defun . ad-cache-id-verification-code) + (defun . ad-verify-cache-id) + (defun . ad-preactivate-advice) + (defun . ad-make-freeze-definition) + (defun . ad-should-compile) + (defun . ad-activate-advised-definition) + (defun . ad-handle-definition) + (t . ad-activate) + (defun . ad-activate) + (defun . ad-activate-on) + (defun . ad-deactivate) + (defun . ad-update) + (defun . ad-unadvise) + (defun . ad-recover) + (defun . ad-activate-regexp) + (defun . ad-deactivate-regexp) + (defun . ad-update-regexp) + (defun . ad-activate-all) + (defun . ad-deactivate-all) + (defun . ad-update-all) + (defun . ad-unadvise-all) + (defun . ad-recover-all) + ad-defadvice-flags + (t . defadvice) + (defun . defadvice) + (defun . ad-with-originals) + (defun . ad-start-advice) + (defun . ad-stop-advice) + (defun . ad-recover-normality) + (provide . advice)) + ("/usr/share/emacs/23.0.93/lisp/help-fns.elc" + (require . help-mode) + (t . describe-function) + (defun . describe-function) + (defun . help-split-fundoc) + (defun . help-add-fundoc-usage) + (defun . help-function-arglist) + (defun . help-make-usage) + (t . help-C-file-name) + (defun . help-C-file-name) + (defface . help-argument-name) + (defun . help-default-arg-highlight) + (defun . help-do-arg-highlight) + (defun . help-highlight-arguments) + (t . find-lisp-object-file-name) + (defun . find-lisp-object-file-name) + (t . describe-function-1) + (defun . describe-function-1) + (t . variable-at-point) + (defun . variable-at-point) + (defun . describe-variable-custom-version-info) + (t . describe-variable) + (defun . describe-variable) + (t . describe-syntax) + (defun . describe-syntax) + (defun . help-describe-category-set) + (t . describe-categories) + (defun . describe-categories) + (provide . help-fns)) + ("/usr/share/emacs/23.0.93/lisp/help-mode.elc" + (require . button) + (require . view) + help-mode-map help-mode-menu + (defun . help-mode-menu) + help-xref-stack help-xref-forward-stack help-xref-stack-item help-xref-stack-forward-item help-mode-hook + (defun . help-button-action) + (t . help-mode) + (defun . help-mode) + (t . help-mode-setup) + (defun . help-mode-setup) + (t . help-mode-finish) + (defun . help-mode-finish) + help-back-label help-forward-label help-xref-symbol-regexp help-xref-mule-regexp help-xref-info-regexp help-xref-url-regexp + (t . help-setup-xref) + (defun . help-setup-xref) + help-xref-following + (t . help-buffer) + (defun . help-buffer) + help-xref-override-view-map + (t . help-make-xrefs) + (defun . help-make-xrefs) + (t . help-xref-button) + (defun . help-xref-button) + (t . help-insert-xref-button) + (defun . help-insert-xref-button) + (t . help-xref-on-pp) + (defun . help-xref-on-pp) + (defun . help-xref-interned) + (defun . help-xref-go-back) + (defun . help-xref-go-forward) + (defun . help-go-back) + (defun . help-go-forward) + (defun . help-do-xref) + (defun . help-follow-mouse) + (defun . help-follow) + (defun . help-follow-symbol) + (defun . help-insert-string) + (provide . help-mode)) + ("/usr/share/emacs/23.0.93/lisp/view.elc" view-highlight-face view-scroll-auto-exit view-try-extend-at-buffer-end view-remove-frame-by-deleting view-exits-all-viewing-windows view-inhibit-help-message view-mode view-mode-hook view-old-buffer-read-only view-page-size view-half-page-size view-last-regexp view-return-to-alist view-exit-action view-no-disable-on-exit view-overlay view-mode-map + (t . kill-buffer-if-not-modified) + (defun . kill-buffer-if-not-modified) + (t . view-file) + (defun . view-file) + (t . view-file-other-window) + (defun . view-file-other-window) + (t . view-file-other-frame) + (defun . view-file-other-frame) + (t . view-buffer) + (defun . view-buffer) + (t . view-buffer-other-window) + (defun . view-buffer-other-window) + (t . view-buffer-other-frame) + (defun . view-buffer-other-frame) + (t . view-mode) + (defun . view-mode) + (defun . view-mode-enable) + (defun . view-mode-disable) + (t . view-return-to-alist-update) + (defun . view-return-to-alist-update) + (t . view-mode-enter) + (defun . view-mode-enter) + (defun . view-mode-exit) + (defun . View-exit) + (t . View-exit-and-edit) + (defun . View-exit-and-edit) + (defun . View-leave) + (defun . View-quit) + (defun . View-quit-all) + (defun . View-kill-and-leave) + (defun . view-window-size) + (defun . view-recenter) + (defun . view-page-size-default) + (defun . view-set-half-page-size-default) + (defun . View-goto-percent) + (defun . View-goto-line) + (defun . View-back-to-mark) + (defun . view-scroll-lines) + (defun . view-really-at-end) + (defun . view-end-message) + (defun . View-scroll-to-buffer-end) + (defun . View-scroll-page-forward) + (defun . View-scroll-page-backward) + (defun . View-scroll-page-forward-set-page-size) + (defun . View-scroll-page-backward-set-page-size) + (defun . View-scroll-line-forward) + (defun . View-scroll-line-backward) + (defun . View-scroll-half-page-forward) + (defun . View-scroll-half-page-backward) + (defun . View-revert-buffer-scroll-page-forward) + (defun . View-search-regexp-forward) + (defun . View-search-regexp-backward) + (defun . View-search-last-regexp-forward) + (defun . View-search-last-regexp-backward) + (defun . view-search) + (defun . view-search-no-match-lines) + (provide . view)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/easy-mmode.elc" + (defun . easy-mmode-pretty-mode-name) + (defun . easy-mmode-define-minor-mode) + (t . define-minor-mode) + (defun . define-minor-mode) + (defun . easy-mmode-define-global-mode) + (defun . define-global-minor-mode) + (t . define-globalized-minor-mode) + (defun . define-globalized-minor-mode) + (defun . easy-mmode-set-keymap-parents) + (t . easy-mmode-define-keymap) + (defun . easy-mmode-define-keymap) + (t . easy-mmode-defmap) + (defun . easy-mmode-defmap) + (defun . easy-mmode-define-syntax) + (t . easy-mmode-defsyntax) + (defun . easy-mmode-defsyntax) + (defun . easy-mmode-define-navigation) + (provide . easy-mmode)) + ("/usr/share/emacs/23.0.93/lisp/recentf.elc" + (require . easymenu) + (require . tree-widget) + (require . timer) + recentf-list + (defun . recentf-enabled-p) + recentf-max-saved-items recentf-save-file recentf-save-file-modes recentf-exclude + (defun . recentf-keep-default-predicate) + recentf-keep + (defun . recentf-menu-customization-changed) + recentf-menu-title recentf-menu-path recentf-menu-before recentf-menu-action recentf-max-menu-items recentf-menu-filter recentf-menu-open-all-flag recentf-menu-append-commands-p recentf-menu-append-commands-flag recentf-auto-cleanup recentf-initialize-file-name-history recentf-load-hook recentf-filename-handlers recentf-show-file-shortcuts-flag recentf-case-fold-search + (defun . recentf-string-equal) + (defun . recentf-string-lessp) + (defun . recentf-string-member) + (defun . recentf-trunc-list) + (defun . recentf-dump-variable) + recentf-auto-cleanup-timer + (defun . recentf-auto-cleanup) + (defun . recentf-push) + (defun . recentf-apply-filename-handlers) + (defun . recentf-expand-file-name) + (defun . recentf-include-p) + (defun . recentf-keep-p) + (defun . recentf-add-file) + (defun . recentf-remove-if-non-kept) + (defun . recentf-directory-compare) + (defun . recentf-digit-shortcut-command-name) + (defun . recentf-open-most-recent-file-0) + (defun . recentf-open-most-recent-file-9) + (defun . recentf-open-most-recent-file-8) + (defun . recentf-open-most-recent-file-7) + (defun . recentf-open-most-recent-file-6) + (defun . recentf-open-most-recent-file-5) + (defun . recentf-open-most-recent-file-4) + (defun . recentf-open-most-recent-file-3) + (defun . recentf-open-most-recent-file-2) + (defun . recentf-open-most-recent-file-1) + recentf--shortcuts-keymap recentf-menu-items-for-commands recentf-menu-filter-commands + (defun . recentf-elements) + (defun . recentf-make-menu-element) + (defun . recentf-menu-element-item) + (defun . recentf-menu-element-value) + (defun . recentf-set-menu-element-item) + (defun . recentf-set-menu-element-value) + (defun . recentf-sub-menu-element-p) + (defun . recentf-make-default-menu-element) + (defun . recentf-menu-elements) + (defun . recentf-apply-menu-filter) + (defun . recentf-make-menu-items) + (defun . recentf-menu-value-shortcut) + (defun . recentf-make-menu-item) + (defun . recentf-menu-bar) + (defun . recentf-show-menu) + (defun . recentf-hide-menu) + (defun . recentf-sort-ascending) + (defun . recentf-sort-descending) + (defun . recentf-sort-basenames-ascending) + (defun . recentf-sort-basenames-descending) + (defun . recentf-sort-directories-ascending) + (defun . recentf-sort-directories-descending) + (defun . recentf-show-basenames) + (defun . recentf-show-basenames-ascending) + (defun . recentf-show-basenames-descending) + (defun . recentf-relative-filter) + recentf-arrange-rules recentf-arrange-by-rule-others recentf-arrange-by-rules-min-items recentf-arrange-by-rule-subfilter + (defun . recentf-match-rule) + (defun . recentf-arrange-by-rule) + (defun . recentf-indirect-mode-rule) + (defun . recentf-build-mode-rules) + (defun . recentf-arrange-by-mode) + (defun . recentf-file-name-nondir) + (defun . recentf-dir-rule) + (defun . recentf-arrange-by-dir) + recentf-filter-changer-current recentf-filter-changer-alist + (defun . recentf-filter-changer-select) + (defun . recentf-filter-changer) + (defun . recentf-track-opened-file) + (defun . recentf-track-closed-file) + recentf-used-hooks + (defun . recentf-cancel-dialog) + (defun . recentf-dialog-goto-first) + recentf-dialog-mode-map recentf-dialog-mode-map + (defun . recentf-dialog-mode) + (defun . recentf-dialog) + recentf-edit-list + (defun . recentf-edit-list-select) + (defun . recentf-edit-list-validate) + (defun . recentf-edit-list) + (defun . recentf-open-files-action) + recentf--files-with-key + (defun . recentf-show-digit-shortcut-filter) + (defun . recentf-open-files-item) + (defun . recentf-open-files-items) + (defun . recentf-open-files) + (defun . recentf-open-more-files) + (defun . recentf-open-most-recent-file) + recentf-save-file-header recentf-save-file-coding-system + (defun . recentf-save-list) + (defun . recentf-load-list) + (defun . recentf-cleanup) + recentf-mode-map recentf-mode + (t . recentf-mode) + (defun . recentf-mode) + (provide . recentf)) + ("/usr/share/emacs/23.0.93/lisp/tree-widget.elc" + (require . wid-edit) + tree-widget-image-enable tree-widget-themes-load-path tree-widget-themes-directory tree-widget-theme tree-widget-image-properties-emacs tree-widget-image-properties-xemacs tree-widget-space-width + (defun . tree-widget-use-image-p) + (defun . tree-widget-create-image) + (defun . tree-widget-image-formats) + tree-widget--theme + (defun . tree-widget-theme-name) + (defun . tree-widget-set-parent-theme) + (defun . tree-widget-set-theme) + (defun . tree-widget--locate-sub-directory) + (defun . tree-widget-themes-path) + tree-widget--cursors tree-widget--cursors + (defun . tree-widget-set-image-properties) + (defun . tree-widget-image-properties) + (defun . tree-widget-lookup-image) + (defun . tree-widget-find-image) + (defun . tree-widget-button-click) + tree-widget-button-keymap + (defun . tree-widget-p) + (defun . tree-widget-node) + (defun . tree-widget-keep) + (defun . tree-widget-children-value-save) + tree-widget-before-create-icon-functions + (defun . tree-widget-icon-create) + (defun . tree-widget-convert-widget) + (defun . tree-widget-value-create) + (defun . tree-widget-leaf-node-icon-p) + (defun . tree-widget-icon-action) + (defun . tree-widget-icon-help-echo) + tree-widget-after-toggle-functions + (defun . tree-widget-action) + (defun . tree-widget-help-echo) + (defun . tree-widget-expander-p) + (provide . tree-widget)) + ("/usr/share/emacs/23.0.93/lisp/ido.elc" + (defun . ido-fractionp) + ido-mode ido-everywhere ido-case-fold ido-ignore-buffers ido-ignore-files ido-ignore-extensions ido-show-dot-for-dired ido-file-extensions-order ido-ignore-directories ido-ignore-directories-merge ido-default-file-method ido-default-buffer-method ido-enable-flex-matching ido-enable-regexp ido-enable-prefix ido-enable-dot-prefix ido-confirm-unique-completion ido-cannot-complete-command ido-record-commands ido-max-prospects ido-max-file-prompt-width ido-max-window-height ido-enable-last-directory-history ido-max-work-directory-list ido-work-directory-list-ignore-regexps ido-use-filename-at-point ido-use-url-at-point ido-enable-tramp-completion ido-record-ftp-work-directories ido-merge-ftp-work-directories ido-cache-ftp-work-directory-time ido-slow-ftp-hosts ido-slow-ftp-host-regexps ido-unc-hosts-cache ido-unc-hosts ido-downcase-unc-hosts ido-ignore-unc-host-regexps ido-cache-unc-host-shares-time ido-max-work-file-list ido-work-directory-match-only ido-auto-merge-work-directories-length ido-auto-merge-delay-time ido-auto-merge-inhibit-characters-regexp ido-merged-indicator ido-max-dir-file-cache ido-max-directory-size ido-rotate-file-list-default ido-enter-matching-directory ido-create-new-buffer ido-setup-hook ido-separator ido-decorations ido-use-faces + (defface . ido-first-match) + (defface . ido-only-match) + (defface . ido-subdir) + (defface . ido-indicator) + (defface . ido-incomplete-regexp) + ido-make-file-list-hook ido-make-dir-list-hook ido-make-buffer-list-hook ido-rewrite-file-prompt-functions ido-rewrite-file-prompt-rules ido-completion-buffer ido-completion-buffer-all-completions ido-all-frames ido-minibuffer-setup-hook ido-save-directory-list-file ido-read-file-name-as-directory-commands ido-read-file-name-non-ido ido-before-fallback-functions ido-completion-map ido-common-completion-map ido-file-completion-map ido-file-dir-completion-map ido-buffer-completion-map ido-file-history ido-buffer-history ido-last-directory-list ido-work-directory-list ido-work-file-list ido-dir-file-cache ido-ignore-item-temp-list ido-eoinput ido-common-match-string ido-rescan ido-rotate ido-text ido-text-init ido-input-stack ido-matches ido-report-no-match ido-exit ido-current-directory ido-auto-merge-timer ido-use-mycompletion-depth ido-incomplete-regexp ido-initial-position + (defun . ido-active) + ido-trace-enable + (defun . ido-trace) + (defun . ido-toggle-trace) + (defun . ido-local-file-exists-p) + (defun . ido-unc-hosts) + (defun . ido-unc-hosts-net-view) + (defun . ido-is-tramp-root) + (defun . ido-is-unc-root) + (defun . ido-is-unc-host) + (defun . ido-is-root-directory) + (defun . ido-is-ftp-directory) + (defun . ido-is-slow-ftp-host) + (defun . ido-time-stamp) + (defun . ido-cache-ftp-valid) + (defun . ido-cache-unc-valid) + (defun . ido-may-cache-directory) + (defun . ido-pp) + (defun . ido-save-history) + (defun . ido-load-history) + (defun . ido-wash-history) + (defun . ido-kill-emacs-hook) + ido-minor-mode-map-entry + (t . ido-mode) + (defun . ido-mode) + (defun . ido-everywhere) + (defun . ido-init-completion-maps) + (defun . ido-setup-completion-map) + (defun . ido-final-slash) + (defun . ido-no-final-slash) + (defun . ido-nonreadable-directory-p) + (defun . ido-directory-too-big-p) + (defun . ido-set-current-directory) + (defun . ido-set-current-home) + (defun . ido-record-command) + (defun . ido-make-prompt) + (defun . ido-read-internal) + (defun . ido-edit-input) + (defun . ido-buffer-internal) + (defun . ido-record-work-directory) + (defun . ido-forget-work-directory) + (defun . ido-record-work-file) + (defun . ido-expand-directory) + (defun . ido-file-internal) + (defun . ido-existing-item-p) + (defun . ido-set-common-completion) + (defun . ido-complete) + (defun . ido-complete-space) + (defun . ido-undo-merge-work-directory) + (defun . ido-magic-forward-char) + (defun . ido-magic-backward-char) + (defun . ido-magic-delete-char) + (defun . ido-toggle-case) + (defun . ido-toggle-regexp) + (defun . ido-toggle-prefix) + (defun . ido-toggle-ignore) + (defun . ido-toggle-vc) + (defun . ido-toggle-literal) + (defun . ido-reread-directory) + (defun . ido-exit-minibuffer) + (defun . ido-select-text) + (defun . ido-fallback-command) + (defun . ido-enter-find-file) + (defun . ido-enter-switch-buffer) + (defun . ido-enter-dired) + (defun . ido-enter-insert-buffer) + (defun . ido-enter-insert-file) + (defun . ido-up-directory) + (defun . ido-delete-backward-updir) + (defun . ido-delete-backward-word-updir) + (defun . ido-get-work-directory) + (defun . ido-prev-work-directory) + (defun . ido-next-work-directory) + (defun . ido-merge-work-directories) + (defun . ido-wide-find-file) + (defun . ido-wide-find-dir) + (defun . ido-wide-find-dir-or-delete-dir) + (defun . ido-take-first-match) + (defun . ido-push-dir) + (defun . ido-push-dir-first) + (defun . ido-pop-dir) + (defun . ido-wide-find-file-or-pop-dir) + (defun . ido-make-directory) + (defun . ido-get-work-file) + (defun . ido-prev-work-file) + (defun . ido-next-work-file) + (defun . ido-copy-current-file-name) + (defun . ido-copy-current-word) + (defun . ido-next-match) + (defun . ido-prev-match) + (defun . ido-next-match-dir) + (defun . ido-prev-match-dir) + (defun . ido-restrict-to-matches) + (defun . ido-chop) + (defun . ido-name) + (defun . ido-all-completions) + (defun . ido-file-lessp) + (defun . ido-file-extension-lessp) + (defun . ido-file-extension-aux) + (defun . ido-file-extension-order) + (defun . ido-sort-merged-list) + (defun . ido-wide-find-dirs-or-files) + (defun . ido-flatten-merged-list) + (defun . ido-make-merged-file-list-1) + (defun . ido-make-merged-file-list) + (defun . ido-make-buffer-list-1) + (defun . ido-make-buffer-list) + (defun . ido-make-choice-list) + (defun . ido-to-end) + (defun . ido-file-name-all-completions-1) + (defun . ido-file-name-all-completions) + (defun . ido-remove-cached-dir) + (defun . ido-make-file-list-1) + (defun . ido-make-file-list) + (defun . ido-make-dir-list-1) + (defun . ido-make-dir-list) + (defun . ido-get-buffers-in-frames) + (defun . ido-get-bufname) + (defun . ido-set-matches-1) + (defun . ido-set-matches) + (defun . ido-ignore-item-p) + (defun . ido-find-common-substring) + (defun . ido-word-matching-substring) + (defun . ido-makealist) + (defun . ido-choose-completion-string) + (defun . ido-completion-help) + (defun . ido-kill-buffer-at-head) + (defun . ido-delete-file-at-head) + (defun . ido-visit-buffer) + (defun . ido-buffer-window-other-frame) + (t . ido-switch-buffer) + (defun . ido-switch-buffer) + (t . ido-switch-buffer-other-window) + (defun . ido-switch-buffer-other-window) + (t . ido-display-buffer) + (defun . ido-display-buffer) + (t . ido-kill-buffer) + (defun . ido-kill-buffer) + (t . ido-insert-buffer) + (defun . ido-insert-buffer) + (t . ido-switch-buffer-other-frame) + (defun . ido-switch-buffer-other-frame) + (t . ido-find-file-in-dir) + (defun . ido-find-file-in-dir) + (t . ido-find-file) + (defun . ido-find-file) + (t . ido-find-file-other-window) + (defun . ido-find-file-other-window) + (t . ido-find-alternate-file) + (defun . ido-find-alternate-file) + (t . ido-find-file-read-only) + (defun . ido-find-file-read-only) + (t . ido-find-file-read-only-other-window) + (defun . ido-find-file-read-only-other-window) + (t . ido-find-file-read-only-other-frame) + (defun . ido-find-file-read-only-other-frame) + (t . ido-display-file) + (defun . ido-display-file) + (t . ido-find-file-other-frame) + (defun . ido-find-file-other-frame) + (t . ido-write-file) + (defun . ido-write-file) + (t . ido-insert-file) + (defun . ido-insert-file) + (t . ido-dired) + (defun . ido-dired) + (defun . ido-list-directory) + (defun . ido-initiate-auto-merge) + (defun . ido-exhibit) + (defun . ido-completions) + (defun . ido-minibuffer-setup) + (defun . ido-tidy) + (defun . ido-summary-buffers-to-end) + (t . ido-read-buffer) + (defun . ido-read-buffer) + (t . ido-read-file-name) + (defun . ido-read-file-name) + (t . ido-read-directory-name) + (defun . ido-read-directory-name) + (t . ido-completing-read) + (defun . ido-completing-read) + (defun . ido-unload-function) + (provide . ido)) + ("/usr/share/emacs/23.0.93/lisp/progmodes/grep.elc" + (require . compile) + grep-window-height grep-highlight-matches grep-scroll-output grep-command grep-template grep-use-null-device grep-find-command grep-find-template grep-files-aliases grep-find-ignored-directories grep-error-screen-columns grep-setup-hook grep-mode-map grep-mode-tool-bar-map + (defun . kill-grep) + grep-last-buffer grep-regexp-alist grep-error grep-hit-face grep-error-face grep-match-face grep-context-face grep-mode-font-lock-keywords grep-program find-program xargs-program grep-find-use-xargs grep-history grep-find-history grep-regexp-history grep-files-history grep-host-defaults-alist + (t . grep-process-setup) + (defun . grep-process-setup) + (defun . grep-probe) + (t . grep-compute-defaults) + (defun . grep-compute-defaults) + (defun . grep-tag-default) + (defun . grep-default-command) + grep-mode-map grep-mode-syntax-table grep-mode-abbrev-table grep-mode-abbrev-table + (t . grep-mode) + (defun . grep-mode) + (t . grep) + (defun . grep) + (t . grep-find) + (defun . grep-find) + (defun . find-grep) + grep-expand-keywords + (defun . grep-expand-template) + (defun . grep-read-regexp) + (defun . grep-read-files) + (t . lgrep) + (defun . lgrep) + (t . rgrep) + (defun . rgrep) + (provide . grep)) + ("/usr/share/emacs/23.0.93/lisp/progmodes/compile.elc" + (require . tool-bar) + (require . comint) + compilation-mode-hook compilation-start-hook compilation-window-height compilation-first-column compilation-parse-errors-filename-function compilation-process-setup-function compilation-buffer-name-function compilation-finish-function compilation-finish-functions compilation-in-progress compilation-error compilation-arguments compilation-error-regexp-alist-alist compilation-error-regexp-alist compilation-directory compilation-directory-matcher compilation-page-delimiter compilation-mode-font-lock-keywords compilation-highlight-regexp compilation-highlight-overlay compilation-error-screen-columns compilation-read-command compilation-ask-about-save compilation-search-path compile-command compilation-disable-input compilation-locs compilation-debug compilation-exit-message-function compilation-environment compile-history + (defface . compilation-error) + (defface . compilation-warning) + (defface . compilation-info) + (defface . compilation-line-number) + (defface . compilation-column-number) + compilation-message-face compilation-error-face compilation-warning-face compilation-info-face compilation-line-face compilation-column-face compilation-enter-directory-face compilation-leave-directory-face compilation-last-buffer compilation-parsing-end compilation-parse-errors-function compilation-error-list compilation-old-error-list compilation-auto-jump-to-first-error compilation-auto-jump-to-next compilation-skip-to-next-location compilation-skip-threshold compilation-skip-visited + (defun . compilation-face) + (defun . compilation-directory-properties) + (defun . compilation-auto-jump) + (defun . compilation-error-properties) + (defun . compilation-move-to-column) + (defun . compilation-internal-error-properties) + (defun . compilation-mode-font-lock-keywords) + (defun . compilation-read-command) + (t . compile) + (defun . compile) + (defun . recompile) + compilation-scroll-output + (defun . compilation-buffer-name) + (defun . compile-internal) + (t . compilation-start) + (defun . compilation-start) + (defun . compilation-set-window-height) + compilation-menu-map compilation-minor-mode-map compilation-shell-minor-mode-map compilation-button-map compilation-mode-map compilation-mode-tool-bar-map + (t . compilation-mode) + (defun . compilation-mode) + (defun . define-compilation-mode) + (defun . compilation-revert-buffer) + compilation-current-error compilation-messages-start compilation-turn-on-font-lock compilation-turn-on-font-lock + (defun . compilation-setup) + compilation-shell-minor-mode + (t . compilation-shell-minor-mode) + (defun . compilation-shell-minor-mode) + compilation-minor-mode + (t . compilation-minor-mode) + (defun . compilation-minor-mode) + (defun . compilation-handle-exit) + (defun . compilation-sentinel) + (defun . compilation-filter) + (defun . compilation-buffer-internal-p) + (defun . compilation-buffer-p) + (defun . compilation-loop) + (defun . compilation-next-error) + (defun . compilation-previous-error) + (defun . compilation-next-file) + (defun . compilation-previous-file) + (defun . kill-compilation) + (defun . compile-mouse-goto-error) + (defun . compile-goto-error) + (defun . compilation-find-buffer) + (t . compilation-next-error-function) + (defun . compilation-next-error-function) + compilation-gcpro + (defun . compilation-fake-loc) + compilation-context-lines + (defun . compilation-set-window) + (defun . compilation-goto-locus) + (defun . compilation-goto-locus-delete-o) + (defun . compilation-find-file) + (defun . compilation-get-file-structure) + (defun . compile-buffer-substring) + (defun . compilation-compat-error-properties) + (defun . compilation-compat-parse-errors) + (defun . compilation-forget-errors) + (provide . compile)) + ("/usr/share/emacs/23.0.93/lisp/comint.elc" + (require . ring) + comint-prompt-regexp comint-prompt-read-only comint-delimiter-argument-list comint-input-autoexpand + (defface . comint-highlight-input) + (defface . comint-highlight-prompt) + comint-input-ignoredups comint-input-ring-file-name comint-scroll-to-bottom-on-input comint-move-point-for-output comint-scroll-to-bottom-on-output comint-scroll-show-maximum-output comint-buffer-maximum-size comint-input-ring-size comint-input-ring-separator comint-input-history-ignore comint-process-echoes comint-password-prompt-regexp comint-get-old-input comint-dynamic-complete-functions comint-input-filter comint-input-filter-functions comint-output-filter-functions comint-input-sender-no-newline comint-input-sender comint-eol-on-send comint-use-prompt-regexp comint-use-prompt-regexp-instead-of-fields comint-mode-hook comint-exec-hook comint-mode-map comint-ptyp comint-input-ring comint-last-input-start comint-last-input-end comint-last-output-start comint-input-ring-index comint-matching-input-from-input-string comint-save-input-ring-index comint-accum-marker comint-stored-incomplete-input comint-mode-map comint-mode-syntax-table comint-mode-abbrev-table comint-mode-abbrev-table + (defun . comint-mode) + (defun . comint-check-proc) + (t . make-comint-in-buffer) + (defun . make-comint-in-buffer) + (t . make-comint) + (defun . make-comint) + (t . comint-run) + (defun . comint-run) + (defun . comint-exec) + (defun . comint-exec-1) + (defun . comint-insert-input) + (defun . comint-read-input-ring) + (defun . comint-write-input-ring) + (defun . comint-dynamic-list-input-ring-select) + (defun . comint-dynamic-list-input-ring) + (defun . comint-regexp-arg) + (defun . comint-search-arg) + (defun . comint-restore-input) + (defun . comint-search-start) + (defun . comint-previous-input-string) + (defun . comint-previous-input) + (defun . comint-next-input) + (defun . comint-previous-matching-input-string) + (defun . comint-previous-matching-input-string-position) + (defun . comint-delete-input) + (defun . comint-previous-matching-input) + (defun . comint-next-matching-input) + (defun . comint-previous-matching-input-from-input) + (defun . comint-next-matching-input-from-input) + (defun . comint-replace-by-expanded-history) + (defun . comint-replace-by-expanded-history-before-point) + (defun . comint-magic-space) + (defun . comint-within-quotes) + (defun . comint-how-many-region) + (defun . comint-args) + (defun . comint-delim-arg) + (defun . comint-arguments) + (defun . comint-add-to-input-history) + (defun . comint-send-input) + comint-preoutput-filter-functions comint-inhibit-carriage-motion comint-last-prompt-overlay + (defun . comint-snapshot-last-prompt) + (defun . comint-carriage-motion) + (defun . comint-output-filter) + (defun . comint-preinput-scroll-to-bottom) + (defun . comint-postoutput-scroll-to-bottom) + (defun . comint-truncate-buffer) + (defun . comint-strip-ctrl-m) + (defun . shell-strip-ctrl-m) + (defun . comint-show-maximum-output) + (defun . comint-get-old-input-default) + (defun . comint-copy-old-input) + (defun . comint-skip-prompt) + (defun . comint-after-pmark-p) + (defun . comint-simple-send) + (defun . comint-line-beginning-position) + (defun . comint-bol) + (defun . comint-read-noecho) + (defun . send-invisible) + (defun . comint-watch-for-password-prompt) + (defun . comint-send-string) + (defun . comint-send-region) + (defun . comint-delete-output) + (defun . comint-kill-output) + (defun . comint-write-output) + (defun . comint-append-output-to-file) + (defun . comint-show-output) + (defun . comint-interrupt-subjob) + (defun . comint-kill-subjob) + (defun . comint-quit-subjob) + (defun . comint-stop-subjob) + (defun . comint-continue-subjob) + (defun . comint-skip-input) + (defun . comint-kill-input) + (defun . comint-delchar-or-maybe-eof) + (defun . comint-send-eof) + (defun . comint-backward-matching-input) + (defun . comint-forward-matching-input) + (defun . comint-next-prompt) + (defun . comint-previous-prompt) + comint-insert-previous-argument-last-start-pos comint-insert-previous-argument-last-index + (defun . comint-insert-previous-argument) + (defun . comint-update-fence) + (defun . comint-kill-whole-line) + (defun . comint-kill-region) + (defun . comint-source-default) + (defun . comint-check-source) + (defun . comint-extract-string) + (defun . comint-get-source) + (defun . comint-proc-query) + comint-completion-autolist comint-completion-addsuffix comint-completion-recexact comint-completion-fignore comint-file-name-prefix comint-file-name-chars comint-file-name-quote-list + (defun . comint-directory) + (defun . comint-word) + (defun . comint-substitute-in-file-name) + (defun . comint-match-partial-filename) + (defun . comint-quote-filename) + (defun . comint-unquote-filename) + (defun . comint-dynamic-complete) + (defun . comint-dynamic-complete-filename) + (defun . comint-dynamic-complete-as-filename) + (defun . comint-replace-by-expanded-filename) + (defun . comint-dynamic-simple-complete) + (defun . comint-dynamic-list-filename-completions) + comint-displayed-dynamic-completions comint-dynamic-list-completions-config + (defun . comint-dynamic-list-completions) + (defun . comint-get-next-from-history) + (defun . comint-accumulate) + (defun . comint-goto-process-mark) + (defun . comint-bol-or-process-mark) + (defun . comint-set-process-mark) + comint-redirect-verbose comint-redirect-filter-functions comint-redirect-output-buffer comint-redirect-finished-regexp comint-redirect-insert-matching-regexp comint-redirect-echo-input comint-redirect-completed comint-redirect-original-mode-line-process comint-redirect-perform-sanity-check comint-redirect-original-filter-function comint-redirect-subvert-readonly + (defun . comint-redirect-setup) + (defun . comint-redirect-cleanup) + (defun . comint-redirect-remove-redirection) + (defun . comint-redirect-filter) + (defun . comint-redirect-preoutput-filter) + (t . comint-redirect-send-command) + (defun . comint-redirect-send-command) + (t . comint-redirect-send-command-to-process) + (defun . comint-redirect-send-command-to-process) + (t . comint-redirect-results-list) + (defun . comint-redirect-results-list) + (t . comint-redirect-results-list-from-process) + (defun . comint-redirect-results-list-from-process) + (provide . comint)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/ring.elc" + (t . ring-p) + (defun . ring-p) + (t . make-ring) + (defun . make-ring) + (defun . ring-insert-at-beginning) + (defun . ring-plus1) + (defun . ring-minus1) + (defun . ring-length) + (defun . ring-index) + (defun . ring-empty-p) + (defun . ring-size) + (defun . ring-copy) + (defun . ring-insert) + (defun . ring-remove) + (defun . ring-ref) + (defun . ring-elements) + (defun . ring-member) + (defun . ring-next) + (defun . ring-previous) + (defun . ring-insert+extend) + (defun . ring-remove+insert+extend) + (defun . ring-convert-sequence-to-ring) + (provide . ring)) + ("/usr/share/emacs/23.0.93/lisp/apropos.elc" + (require . button) + apropos-do-all apropos-symbol-face apropos-keybinding-face apropos-label-face apropos-property-face apropos-match-face apropos-sort-by-scores apropos-documentation-sort-by-scores apropos-mode-map apropos-mode-hook apropos-pattern apropos-pattern-quoted apropos-words apropos-all-words apropos-regexp apropos-all-words-regexp apropos-files-scanned apropos-accumulator apropos-item apropos-synonyms + (defun . apropos-symbol-button-display-help) + (defun . apropos-next-label-button) + (defun . apropos-words-to-regexp) + (t . apropos-read-pattern) + (defun . apropos-read-pattern) + (defun . apropos-parse-pattern) + (defun . apropos-calc-scores) + (defun . apropos-score-str) + (defun . apropos-score-doc) + (defun . apropos-score-symbol) + (defun . apropos-true-hit) + (defun . apropos-false-hit-symbol) + (defun . apropos-false-hit-str) + (defun . apropos-true-hit-doc) + apropos-mode-map apropos-mode-syntax-table apropos-mode-abbrev-table apropos-mode-abbrev-table + (defun . apropos-mode) + apropos-multi-type + (t . apropos-variable) + (defun . apropos-variable) + (defun . command-apropos) + (t . apropos-command) + (defun . apropos-command) + (t . apropos-documentation-property) + (defun . apropos-documentation-property) + (t . apropos) + (defun . apropos) + (defun . apropos-library-button) + (t . apropos-library) + (defun . apropos-library) + (defun . apropos-symbols-internal) + (t . apropos-value) + (defun . apropos-value) + (t . apropos-documentation) + (defun . apropos-documentation) + (defun . apropos-value-internal) + (defun . apropos-documentation-internal) + (defun . apropos-format-plist) + (defun . apropos-documentation-check-doc-file) + (defun . apropos-documentation-check-elc-file) + (defun . apropos-safe-documentation) + apropos-compact-layout + (defun . apropos-print) + (defun . apropos-macrop) + (defun . apropos-print-doc) + (defun . apropos-follow) + (defun . apropos-describe-plist) + (provide . apropos)) + ("/home/hobbes/nxhtml/util/gimp.el" gimp:version + (require . w32-regdat) + (defun . gimp-get-remote-command) + gimp-remote-command + (defun . gimp-get-gimp-exe) + gimp-exe gimp-remote-command-list + (t . gimp-edit-file) + (defun . gimp-edit-file) + (t . gimp-edit-buffer) + (defun . gimp-edit-buffer) + (t . gimp-can-edit) + (defun . gimp-can-edit) + gimp-point-key-bindings + (defun . gimp-add-point-bindings) + (provide . gimp)) + ("/usr/share/emacs/23.0.93/lisp/dired.elc" dired-listing-switches dired-subdir-switches dired-chown-program dired-use-ls-dired dired-chmod-program dired-touch-program dired-ls-F-marks-symlinks dired-trivial-filenames dired-keep-marker-rename dired-keep-marker-copy dired-keep-marker-hardlink dired-keep-marker-symlink dired-dwim-target dired-copy-preserve-time dired-free-space-program dired-free-space-args dired-load-hook dired-mode-hook dired-before-readin-hook dired-after-readin-hook dired-dnd-protocol-alist dired-marker-char dired-del-marker dired-shrink-to-fit dired-flagging-regexp dired-directory dired-actual-switches dired-re-inode-size dired-re-mark dired-re-maybe-mark dired-re-dir dired-re-sym dired-re-exe dired-re-perms dired-re-dot dired-subdir-alist dired-switches-alist dired-move-to-filename-regexp dired-subdir-regexp + (defface . dired-header) + dired-header-face + (defface . dired-mark) + dired-mark-face + (defface . dired-marked) + dired-marked-face + (defface . dired-flagged) + dired-flagged-face + (defface . dired-warning) + dired-warning-face + (defface . dired-perm-write) + dired-perm-write-face + (defface . dired-directory) + dired-directory-face + (defface . dired-symlink) + dired-symlink-face + (defface . dired-ignored) + dired-ignored-face dired-font-lock-keywords + (defun . dired-mark-if) + (defun . dired-map-over-marks) + (defun . dired-get-marked-files) + (defun . dired-read-dir-and-switches) + (t . dired) + (defun . dired) + (t . dired-other-window) + (defun . dired-other-window) + (t . dired-other-frame) + (defun . dired-other-frame) + (t . dired-noselect) + (defun . dired-noselect) + (defun . dired-directory-changed-p) + (defun . dired-buffer-stale-p) + (defun . dired-internal-noselect) + dired-buffers + (defun . dired-find-buffer-nocreate) + (defun . dired-readin) + (defun . dired-readin-insert) + (defun . dired-align-file) + (defun . dired-insert-directory) + (defun . dired-insert-set-properties) + (defun . dired-revert) + (defun . dired-remember-marks) + (defun . dired-mark-remembered) + (defun . dired-remember-hidden) + (defun . dired-insert-old-subdirs) + (defun . dired-uncache) + dired-mode-map + (t . dired-mode) + (defun . dired-mode) + (defun . dired-summary) + (defun . dired-undo) + (defun . dired-toggle-read-only) + (defun . dired-next-line) + (defun . dired-previous-line) + (defun . dired-next-dirline) + (defun . dired-prev-dirline) + (defun . dired-up-directory) + (defun . dired-get-file-for-visit) + (defun . dired-advertised-find-file) + (defun . dired-find-file) + (defun . dired-find-alternate-file) + (defun . dired-mouse-find-file-other-window) + (defun . dired-view-file) + (defun . dired-find-file-other-window) + (defun . dired-display-file) + (defun . dired-get-filename) + (defun . dired-string-replace-match) + (defun . dired-make-absolute) + (defun . dired-make-relative) + dired-permission-flags-regexp + (defun . dired-move-to-filename) + (defun . dired-move-to-end-of-filename) + (defun . dired-copy-filename-as-kill) + (defun . dired-buffers-for-dir) + (defun . dired-glob-regexp) + (defun . dired-advertise) + (defun . dired-unadvertise) + (defun . dired-in-this-tree) + (defun . dired-normalize-subdir) + (defun . dired-get-subdir) + (defun . dired-get-subdir-min) + (defun . dired-get-subdir-max) + (defun . dired-clear-alist) + (defun . dired-subdir-index) + (defun . dired-next-subdir) + (defun . dired-build-subdir-alist) + (defun . dired-alist-add-1) + (defun . dired-goto-next-nontrivial-file) + (defun . dired-goto-next-file) + (defun . dired-goto-file) + (defun . dired-initial-position) + (defun . dired-current-directory) + (defun . dired-subdir-max) + dired-recursive-deletes dired-re-no-dot + (defun . dired-delete-file) + (defun . dired-do-flagged-delete) + (defun . dired-do-delete) + dired-deletion-confirmer + (defun . dired-internal-do-deletions) + (defun . dired-fun-in-all-buffers) + (defun . dired-delete-entry) + (defun . dired-clean-up-after-deletion) + (defun . dired-marker-regexp) + (defun . dired-plural-s) + (defun . dired-mark-prompt) + (defun . dired-pop-to-buffer) + dired-no-confirm + (defun . dired-mark-pop-up) + (defun . dired-format-columns-of-files) + (defun . dired-repeat-over-lines) + (defun . dired-between-files) + (defun . dired-next-marked-file) + (defun . dired-prev-marked-file) + (defun . dired-file-marker) + (defun . dired-mark-files-in-region) + (defun . dired-mark) + (defun . dired-unmark) + (defun . dired-flag-file-deletion) + (defun . dired-unmark-backward) + (defun . dired-toggle-marks) + dired-regexp-history + (defun . dired-read-regexp) + (defun . dired-mark-files-regexp) + (defun . dired-mark-files-containing-regexp) + (defun . dired-flag-files-regexp) + (defun . dired-mark-symlinks) + (defun . dired-mark-directories) + (defun . dired-mark-executables) + (defun . dired-flag-auto-save-files) + dired-garbage-files-regexp + (defun . dired-flag-garbage-files) + (defun . dired-flag-backup-files) + (defun . dired-change-marks) + (defun . dired-unmark-all-marks) + (defun . dired-unmark-all-files) + dired-log-buffer + (defun . dired-why) + (defun . dired-log) + (defun . dired-log-summary) + dired-ls-sorting-switches dired-sort-by-date-regexp dired-sort-by-name-regexp dired-sort-inhibit + (defun . dired-sort-set-modeline) + (defun . dired-sort-toggle-or-edit) + (defun . dired-sort-toggle) + (defun . dired-replace-in-string) + (defun . dired-sort-other) + dired-subdir-alist-pre-R + (defun . dired-sort-R-check) + dired-recursive-copies + (defun . dired-dnd-popup-notice) + (defun . dired-dnd-do-ask-action) + (defun . dired-dnd-handle-local-file) + (defun . dired-dnd-handle-file) + (defun . dired-desktop-buffer-misc-data) + (defun . dired-restore-desktop-buffer) + (provide . dired)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/regexp-opt.elc" + (t . regexp-opt) + (defun . regexp-opt) + (t . regexp-opt-depth) + (defun . regexp-opt-depth) + (defun . regexp-opt-group) + (defun . regexp-opt-charset) + (provide . regexp-opt)) + ("/usr/share/emacs/23.0.93/lisp/cus-edit.elc" + (require . cus-face) + (require . wid-edit) + (require . cus-load) + (require . cus-start) + custom-mode-map custom-mode-link-map custom-field-keymap + (defun . custom-split-regexp-maybe) + (defun . custom-variable-prompt) + (defun . custom-menu-filter) + custom-prefix-list custom-unlispify-menu-entries custom-unlispify-remove-prefixes + (defun . custom-unlispify-menu-entry) + custom-unlispify-tag-names + (defun . custom-unlispify-tag-name) + (defun . custom-prefix-add) + custom-guess-name-alist custom-guess-doc-alist + (defun . custom-guess-type) + custom-browse-sort-alphabetically custom-browse-order-groups custom-browse-only-groups custom-buffer-sort-alphabetically custom-buffer-order-groups custom-menu-sort-alphabetically custom-menu-order-groups + (defun . custom-sort-items) + custom-commands + (defun . Custom-help) + custom-reset-menu custom-options + (defun . custom-command-apply) + (defun . Custom-set) + (defun . Custom-save) + (defun . custom-reset) + (defun . Custom-reset-current) + (defun . Custom-reset-saved) + custom-reset-standard-variables-list custom-reset-standard-faces-list + (defun . custom-reset-standard-save-and-update) + (defun . Custom-reset-standard) + (defun . custom-prompt-variable) + (t . customize-set-value) + (defun . customize-set-value) + (t . customize-set-variable) + (defun . customize-set-variable) + (t . customize-save-variable) + (defun . customize-save-variable) + (t . customize) + (defun . customize) + (t . customize-mode) + (defun . customize-mode) + (defun . customize-read-group) + (t . customize-group) + (defun . customize-group) + (t . customize-group-other-window) + (defun . customize-group-other-window) + (defun . customize-variable) + (t . customize-option) + (defun . customize-option) + (defun . customize-variable-other-window) + (t . customize-option-other-window) + (defun . customize-option-other-window) + customize-changed-options-previous-release customize-package-emacs-version-alist + (defun . customize-changed) + (t . customize-changed-options) + (defun . customize-changed-options) + (defun . customize-package-emacs-version) + (defun . customize-version-lessp) + (t . customize-face) + (defun . customize-face) + (t . customize-face-other-window) + (defun . customize-face-other-window) + (defun . customize-customized) + (t . customize-unsaved) + (defun . customize-unsaved) + (t . customize-rogue) + (defun . customize-rogue) + (t . customize-saved) + (defun . customize-saved) + (t . customize-apropos) + (defun . customize-apropos) + (t . customize-apropos-options) + (defun . customize-apropos-options) + (t . customize-apropos-faces) + (defun . customize-apropos-faces) + (t . customize-apropos-groups) + (defun . customize-apropos-groups) + custom-buffer-style custom-buffer-done-kill custom-buffer-indent + (defun . custom-get-fresh-buffer) + (t . custom-buffer-create) + (defun . custom-buffer-create) + (t . custom-buffer-create-other-window) + (defun . custom-buffer-create-other-window) + custom-reset-button-menu custom-buffer-verbose-help + (defun . Custom-buffer-done) + custom-button custom-button-mouse custom-button-pressed custom-raised-buttons + (defun . custom-buffer-create-internal) + (t . customize-browse) + (defun . customize-browse) + (defun . custom-browse-visibility-action) + (defun . custom-browse-group-tag-action) + (defun . custom-browse-variable-tag-action) + (defun . custom-browse-face-tag-action) + custom-browse-alist custom-browse-alist + (defun . custom-browse-insert-prefix) + (defface . custom-invalid) + (defface . custom-rogue) + (defface . custom-modified) + (defface . custom-set) + (defface . custom-changed) + (defface . custom-themed) + (defface . custom-saved) + custom-magic-alist custom-magic-show custom-magic-show-hidden custom-magic-show-button + (defun . widget-magic-mouse-down-action) + (defun . custom-magic-value-create) + (defun . custom-magic-reset) + (defface . custom-button) + (defface . custom-button-mouse) + (defface . custom-button-unraised) + (defface . custom-button-pressed) + (defface . custom-button-pressed-unraised) + (defface . custom-documentation) + (defface . custom-state) + (defface . custom-link) + (defun . custom-convert-widget) + (defun . custom-notify) + (defun . custom-redraw) + (defun . custom-redraw-magic) + (defun . custom-show) + (defun . custom-load-widget) + (defun . custom-unloaded-symbol-p) + (defun . custom-unloaded-widget-p) + (defun . custom-toggle-hide) + (defun . custom-toggle-parent) + (defun . custom-add-see-also) + (defun . custom-add-parent-links) + (defface . custom-comment) + (defface . custom-comment-tag) + (defun . custom-comment-create) + (defun . custom-comment-hide) + (defun . custom-comment-show) + (defun . custom-comment-invisible-p) + (defface . custom-variable-tag) + (defface . custom-variable-button) + custom-variable-default-form + (defun . custom-variable-documentation) + (defun . custom-variable-type) + (defun . custom-variable-value-create) + (defun . custom-tag-action) + (defun . custom-tag-mouse-down-action) + (defun . custom-variable-state-set) + (defun . custom-variable-standard-value) + custom-variable-menu + (defun . custom-variable-action) + (defun . custom-variable-edit) + (defun . custom-variable-edit-lisp) + (defun . custom-variable-set) + (defun . custom-variable-mark-to-save) + (defun . custom-variable-state-set-and-redraw) + (defun . custom-variable-save) + (defun . custom-variable-reset-saved) + (defun . custom-variable-mark-to-reset-standard) + (defun . custom-variable-reset-standard) + (defun . custom-variable-backup-value) + (defun . custom-variable-reset-backup) + (defface . custom-visibility) + (defun . custom-face-edit-fix-value) + (defun . custom-face-edit-convert-widget) + (defun . custom-face-edit-deactivate) + (defun . custom-face-edit-activate) + (defun . custom-face-edit-delete) + (defun . custom-face-edit-attribute-tag) + (defface . custom-face-tag) + custom-face-default-form custom-face-all + (defun . custom-display-unselected-match) + custom-face-selected + (defun . custom-filter-face-spec) + (defun . custom-pre-filter-face-spec) + (defun . custom-post-filter-face-spec) + (defun . custom-face-value-create) + custom-face-menu + (defun . custom-face-edit-selected) + (defun . custom-face-edit-all) + (defun . custom-face-edit-lisp) + (defun . custom-face-state-set) + (defun . custom-face-action) + (defun . custom-face-set) + (defun . custom-face-mark-to-save) + (defun . custom-face-state-set-and-redraw) + (defun . custom-face-save) + (defun . custom-face-save-command) + (defun . custom-face-reset-saved) + (defun . custom-face-standard-value) + (defun . custom-face-mark-to-reset-standard) + (defun . custom-face-reset-standard) + widget-face-prompt-value-history + (defun . widget-face-sample-face-get) + (defun . widget-face-notify) + (defun . custom-hook-convert-widget) + (defun . custom-group-link-action) + custom-group-tag-faces + (defface . custom-group-tag-1) + (defface . custom-group-tag) + (defun . custom-group-sample-face-get) + (defun . custom-group-visibility-create) + (defun . custom-group-members) + (defun . custom-group-value-create) + custom-group-menu + (defun . custom-group-action) + (defun . custom-group-set) + (defun . custom-group-mark-to-save) + (defun . custom-group-state-set-and-redraw) + (defun . custom-group-save) + (defun . custom-group-reset-current) + (defun . custom-group-reset-saved) + (defun . custom-group-reset-standard) + (defun . custom-group-mark-to-reset-standard) + (defun . custom-group-state-update) + custom-file + (defun . custom-file) + (t . custom-save-all) + (defun . custom-save-all) + (t . customize-save-customized) + (defun . customize-save-customized) + (defun . custom-save-delete) + (defun . custom-save-variables) + (defun . custom-save-faces) + custom-menu-nesting + (defun . custom-face-menu-create) + (defun . custom-variable-menu-create) + (defun . custom-group-menu-create) + (t . custom-menu-create) + (defun . custom-menu-create) + (t . customize-menu-create) + (defun . customize-menu-create) + Custom-mode-menu + (defun . Custom-mode-menu) + custom-tool-bar-map + (defun . Custom-no-edit) + (defun . Custom-newline) + (defun . Custom-goto-parent) + Custom-mode-hook + (defun . custom-state-buffer-message) + Custom-mode-map Custom-mode-syntax-table Custom-mode-abbrev-table Custom-mode-abbrev-table + (defun . Custom-mode) + (defun . custom-mode) + custom-mode-hook + (provide . cus-edit)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/easymenu.elc" easy-menu-precalculate-equivalent-keybindings + (defun . easy-menu-intern) + (t . easy-menu-define) + (defun . easy-menu-define) + (defun . easy-menu-binding) + (t . easy-menu-do-define) + (defun . easy-menu-do-define) + (defun . easy-menu-filter-return) + easy-menu-avoid-duplicate-keys + (t . easy-menu-create-menu) + (defun . easy-menu-create-menu) + easy-menu-button-prefix easy-menu-converted-items-table + (defun . easy-menu-convert-item) + (defun . easy-menu-convert-item-1) + (defun . easy-menu-define-key) + (defun . easy-menu-name-match) + (defun . easy-menu-always-true-p) + easy-menu-item-count + (defun . easy-menu-make-symbol) + (t . easy-menu-change) + (defun . easy-menu-change) + (defun . easy-menu-remove) + (defun . easy-menu-add) + (defun . add-submenu) + (defun . easy-menu-add-item) + (defun . easy-menu-item-present-p) + (defun . easy-menu-remove-item) + (defun . easy-menu-return-item) + (defun . easy-menu-lookup-name) + (defun . easy-menu-get-map) + (provide . easymenu)) + ("/usr/share/emacs/23.0.93/lisp/cus-start.elc" + (provide . cus-start)) + ("/usr/share/emacs/23.0.93/lisp/cus-load.el" + (defun . custom-put-if-not) + custom-versions-load-alist + (provide . cus-load)) + ("/usr/share/emacs/23.0.93/lisp/wid-edit.elc" + (defun . widget-event-point) + (defun . widget-button-release-event-p) + widget-documentation-face + (defface . widget-documentation) + widget-button-face + (defface . widget-button) + widget-mouse-face + (defface . widget-field) + (defface . widget-single-line-field) + (defun . widget-princ-to-string) + (defun . widget-clear-undo) + widget-menu-max-size widget-menu-max-shortcuts widget-menu-minibuffer-flag + (defun . widget-choose) + (defun . widget-remove-if) + widget-field-add-space widget-field-use-before-change + (defun . widget-specify-field) + (defun . widget-specify-secret) + (defun . widget-specify-button) + (defun . widget-mouse-help) + (defun . widget-specify-sample) + (defun . widget-specify-doc) + (defun . widget-specify-insert) + (defface . widget-inactive) + (defun . widget-specify-inactive) + (defun . widget-overlay-inactive) + (defun . widget-specify-active) + (defun . widget-type) + (t . widgetp) + (defun . widgetp) + (defun . widget-get-indirect) + (defun . widget-member) + (t . widget-value) + (defun . widget-value) + (defun . widget-value-set) + (defun . widget-default-get) + (defun . widget-match-inline) + (defun . widget-apply-action) + (t . widget-prompt-value) + (defun . widget-prompt-value) + (defun . widget-get-sibling) + (defun . widget-map-buttons) + widget-image-directory widget-image-enable widget-image-conversion + (defun . widget-image-find) + widget-button-pressed-face + (defun . widget-image-insert) + (defun . widget-move-and-invoke) + widget-button-prefix widget-button-suffix + (t . widget-create) + (defun . widget-create) + (defun . widget-create-child-and-convert) + (defun . widget-create-child) + (defun . widget-create-child-value) + (t . widget-delete) + (defun . widget-delete) + (defun . widget-copy) + (defun . widget-convert) + (t . widget-insert) + (defun . widget-insert) + (defun . widget-convert-text) + (defun . widget-convert-button) + (defun . widget-leave-text) + (defun . advertised-widget-backward) + widget-keymap widget-global-map widget-field-keymap widget-text-keymap + (defun . widget-field-activate) + (defface . widget-button-pressed) + widget-button-click-moves-point + (defun . widget-button-click) + (defun . widget-button-press) + (defun . widget-tabable-at) + widget-use-overlay-change + (defun . widget-move) + (defun . widget-forward) + (defun . widget-backward) + (defun . widget-beginning-of-line) + (defun . widget-end-of-line) + (defun . widget-kill-line) + widget-complete-field + (defun . widget-narrow-to-field) + (defun . widget-complete) + widget-field-new widget-field-list + (defun . widget-at) + (t . widget-setup) + (defun . widget-setup) + widget-field-last widget-field-was + (defun . widget-field-at) + (defun . widget-field-buffer) + (defun . widget-field-start) + (defun . widget-field-end) + (defun . widget-field-find) + (defun . widget-before-change) + (defun . widget-add-change) + (defun . widget-after-change) + (defun . widget-parent-action) + (defun . widget-children-value-delete) + (defun . widget-children-validate) + (defun . widget-child-value-get) + (defun . widget-child-value-inline) + (defun . widget-child-validate) + (defun . widget-type-value-create) + (defun . widget-type-default-get) + (defun . widget-type-match) + (defun . widget-types-copy) + (defun . widget-types-convert-widget) + (defun . widget-value-convert-widget) + (defun . widget-value-value-get) + (defun . widget-default-complete) + (defun . widget-default-create) + (defun . widget-default-format-handler) + (defun . widget-default-button-face-get) + (defun . widget-default-mouse-face-get) + (defun . widget-default-sample-face-get) + (defun . widget-default-delete) + (defun . widget-default-value-set) + (defun . widget-default-value-inline) + (defun . widget-default-default-get) + (defun . widget-default-menu-tag-get) + (defun . widget-default-active) + (defun . widget-default-deactivate) + (defun . widget-default-action) + (defun . widget-default-notify) + (defun . widget-default-prompt-value) + (defun . widget-docstring) + (defun . widget-item-value-create) + (defun . widget-item-match) + (defun . widget-item-match-inline) + (defun . widget-sublist) + (defun . widget-item-action) + widget-push-button-prefix widget-push-button-suffix + (defun . widget-push-button-value-create) + widget-link-prefix widget-link-suffix + (defun . widget-info-link-action) + (defun . widget-url-link-action) + (defun . widget-function-link-action) + (defun . widget-variable-link-action) + (defun . widget-file-link-action) + (defun . widget-emacs-library-link-action) + (defun . widget-emacs-commentary-link-action) + widget-field-history + (defun . widget-field-prompt-internal) + (defun . widget-field-prompt-value) + widget-edit-functions + (defun . widget-field-action) + (defun . widget-field-validate) + (defun . widget-field-value-create) + (defun . widget-field-value-delete) + (defun . widget-field-value-get) + (defun . widget-field-match) + (defun . widget-choice-value-create) + (defun . widget-choice-default-get) + widget-choice-toggle + (defun . widget-choice-mouse-down-action) + (defun . widget-choice-action) + (defun . widget-choice-validate) + (defun . widget-choice-match) + (defun . widget-choice-match-inline) + (defun . widget-toggle-value-create) + (defun . widget-toggle-action) + (defun . widget-checkbox-action) + (defun . widget-checklist-value-create) + (defun . widget-checklist-add-item) + (defun . widget-checklist-match) + (defun . widget-checklist-match-inline) + (defun . widget-checklist-match-find) + (defun . widget-checklist-match-up) + (defun . widget-checklist-value-get) + (defun . widget-checklist-validate) + (defun . widget-radio-button-notify) + (defun . widget-radio-value-create) + (defun . widget-radio-add-item) + (defun . widget-radio-value-get) + (defun . widget-radio-chosen) + (defun . widget-radio-value-inline) + (defun . widget-radio-value-set) + (defun . widget-radio-validate) + (defun . widget-radio-action) + (defun . widget-insert-button-action) + (defun . widget-delete-button-action) + (defun . widget-editable-list-format-handler) + (defun . widget-editable-list-value-create) + (defun . widget-editable-list-value-get) + (defun . widget-editable-list-match) + (defun . widget-editable-list-match-inline) + (defun . widget-editable-list-insert-before) + (defun . widget-editable-list-delete-at) + (defun . widget-editable-list-entry-create) + (defun . widget-group-value-create) + (defun . widget-group-default-get) + (defun . widget-group-match) + (defun . widget-group-match-inline) + (defun . widget-visibility-value-create) + (defun . widget-documentation-link-action) + widget-documentation-links widget-documentation-link-regexp widget-documentation-link-p widget-documentation-link-type + (defun . widget-documentation-link-add) + (defun . widget-documentation-string-value-create) + (defun . widget-documentation-string-action) + (defun . widget-add-documentation-string-button) + (defun . widget-const-prompt-value) + widget-string-prompt-value-history + (defun . widget-string-complete) + (defun . widget-regexp-match) + (defun . widget-regexp-validate) + (defun . widget-file-complete) + (defun . widget-file-prompt-value) + widget-symbol-prompt-value-history + (defun . widget-symbol-prompt-internal) + widget-function-prompt-value-history widget-variable-prompt-value-history + (defun . widget-coding-system-prompt-value) + (defun . widget-coding-system-action) + widget-key-sequence-prompt-value-history widget-key-sequence-default-value widget-key-sequence-map + (defun . widget-key-sequence-read-event) + (defun . widget-key-sequence-validate) + (defun . widget-key-sequence-value-to-internal) + (defun . widget-key-sequence-value-to-external) + (defun . widget-sexp-value-to-internal) + (defun . widget-sexp-validate) + widget-sexp-prompt-value-history + (defun . widget-sexp-prompt-value) + (defun . widget-restricted-sexp-match) + (defun . widget-vector-match) + (defun . widget-cons-match) + (defun . widget-plist-convert-widget) + (defun . widget-plist-convert-option) + (defun . widget-alist-convert-widget) + (defun . widget-alist-convert-option) + (defun . widget-choice-prompt-value) + (defun . widget-boolean-prompt-value) + (defun . widget-color-complete) + (defun . widget-color-sample-face-get) + (defun . widget-color-action) + (defun . widget-color-notify) + (defun . widget-echo-help) + (provide . wid-edit)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/cl.elc" cl-optimize-speed cl-optimize-safety custom-print-functions + (defun . cl-unload-function) + (defun . incf) + (defun . decf) + (defun . pop) + (defun . push) + (defun . pushnew) + (defun . cl-set-elt) + (defun . cl-set-nthcdr) + (defun . cl-set-buffer-substring) + (defun . cl-set-substring) + (defun . cl-map-extents) + (defun . cl-block-wrapper) + (defun . cl-block-throw) + (defun . values) + (defun . values-list) + (defun . multiple-value-list) + (defun . multiple-value-apply) + (defun . multiple-value-call) + (defun . nth-value) + cl-macro-environment cl-old-macroexpand + (defun . macroexpand) + (defun . cl-macroexpand) + cl-compiling-file + (defun . cl-compiling-file) + cl-proclaims-deferred + (defun . proclaim) + (defun . declaim) + (defun . cl-random-time) + *gensym-counter* + (defun . floatp-safe) + (defun . plusp) + (defun . minusp) + (defun . oddp) + (defun . evenp) + *random-state* most-positive-float most-positive-float most-negative-float most-negative-float least-positive-float least-positive-float least-negative-float least-negative-float least-positive-normalized-float least-positive-normalized-float least-negative-normalized-float least-negative-normalized-float float-epsilon float-epsilon float-negative-epsilon float-negative-epsilon + (defun . copy-seq) + (defun . mapcar*) + (defun . svref) + (defun . first) + (defun . second) + (defun . rest) + (defun . endp) + (defun . third) + (defun . fourth) + (defun . fifth) + (defun . sixth) + (defun . seventh) + (defun . eighth) + (defun . ninth) + (defun . tenth) + (defun . caaar) + (defun . caadr) + (defun . cadar) + (defun . caddr) + (defun . cdaar) + (defun . cdadr) + (defun . cddar) + (defun . cdddr) + (defun . caaaar) + (defun . caaadr) + (defun . caadar) + (defun . caaddr) + (defun . cadaar) + (defun . cadadr) + (defun . caddar) + (defun . cadddr) + (defun . cdaaar) + (defun . cdaadr) + (defun . cdadar) + (defun . cdaddr) + (defun . cddaar) + (defun . cddadr) + (defun . cdddar) + (defun . cddddr) + (defun . list*) + (defun . ldiff) + (defun . copy-list) + (defun . cl-maclisp-member) + (defun . cl-member) + (defun . cl-floor) + (defun . cl-ceiling) + (defun . cl-truncate) + (defun . cl-round) + (defun . cl-mod) + (defun . adjoin) + (defun . subst) + (defun . cl-do-subst) + (defun . acons) + (defun . pairlis) + (provide . cl-19) + (provide . cl) + cl-hacked-flag + (defun . cl-hack-byte-compiler) + (provide . cl)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/cl-loaddefs.el" + (autoload . coerce) + (autoload . equalp) + (autoload . cl-mapcar-many) + (autoload . map) + (autoload . maplist) + (autoload . mapl) + (autoload . mapcan) + (autoload . mapcon) + (autoload . some) + (autoload . every) + (autoload . notany) + (autoload . notevery) + (defun . cl-map-keymap) + (autoload . cl-map-keymap-recursively) + (autoload . cl-map-intervals) + (autoload . cl-map-overlays) + (autoload . cl-set-frame-visible-p) + (autoload . cl-progv-before) + (autoload . gcd) + (autoload . lcm) + (autoload . isqrt) + (autoload . floor*) + (autoload . ceiling*) + (autoload . truncate*) + (autoload . round*) + (autoload . mod*) + (autoload . rem*) + (autoload . signum) + (autoload . random*) + (autoload . make-random-state) + (autoload . random-state-p) + (autoload . cl-float-limits) + (autoload . subseq) + (autoload . concatenate) + (autoload . revappend) + (autoload . nreconc) + (autoload . list-length) + (autoload . tailp) + (autoload . get*) + (autoload . getf) + (autoload . cl-set-getf) + (autoload . cl-do-remf) + (autoload . cl-remprop) + (defun . remprop) + (defun . cl-gethash) + (defun . cl-puthash) + (defun . cl-remhash) + (defun . cl-clrhash) + (defun . cl-maphash) + (defun . cl-make-hash-table) + (defun . cl-hash-table-p) + (defun . cl-hash-table-count) + (autoload . cl-macroexpand-all) + (autoload . cl-prettyexpand) + (autoload . gensym) + (autoload . gentemp) + (autoload . defun*) + (autoload . defmacro*) + (autoload . function*) + (autoload . destructuring-bind) + (autoload . eval-when) + (autoload . load-time-value) + (autoload . case) + (autoload . ecase) + (autoload . typecase) + (autoload . etypecase) + (autoload . block) + (autoload . return) + (autoload . return-from) + (autoload . loop) + (autoload . do) + (autoload . do*) + (autoload . dolist) + (autoload . dotimes) + (autoload . do-symbols) + (autoload . do-all-symbols) + (autoload . psetq) + (autoload . progv) + (autoload . flet) + (autoload . labels) + (autoload . macrolet) + (autoload . symbol-macrolet) + (autoload . lexical-let) + (autoload . lexical-let*) + (autoload . multiple-value-bind) + (autoload . multiple-value-setq) + (autoload . locally) + (autoload . the) + (autoload . declare) + (autoload . define-setf-method) + (autoload . defsetf) + (autoload . get-setf-method) + (autoload . setf) + (autoload . psetf) + (autoload . cl-do-pop) + (autoload . remf) + (autoload . shiftf) + (autoload . rotatef) + (autoload . letf) + (autoload . letf*) + (autoload . callf) + (autoload . callf2) + (autoload . define-modify-macro) + (autoload . defstruct) + (autoload . cl-struct-setf-expander) + (autoload . typep) + (autoload . check-type) + (autoload . assert) + (autoload . define-compiler-macro) + (autoload . compiler-macroexpand) + (autoload . reduce) + (autoload . fill) + (autoload . replace) + (autoload . remove*) + (autoload . remove-if) + (autoload . remove-if-not) + (autoload . delete*) + (autoload . delete-if) + (autoload . delete-if-not) + (autoload . remove-duplicates) + (autoload . delete-duplicates) + (autoload . substitute) + (autoload . substitute-if) + (autoload . substitute-if-not) + (autoload . nsubstitute) + (autoload . nsubstitute-if) + (autoload . nsubstitute-if-not) + (autoload . find) + (autoload . find-if) + (autoload . find-if-not) + (autoload . position) + (autoload . position-if) + (autoload . position-if-not) + (autoload . count) + (autoload . count-if) + (autoload . count-if-not) + (autoload . mismatch) + (autoload . search) + (autoload . sort*) + (autoload . stable-sort) + (autoload . merge) + (autoload . member*) + (autoload . member-if) + (autoload . member-if-not) + (autoload . cl-adjoin) + (autoload . assoc*) + (autoload . assoc-if) + (autoload . assoc-if-not) + (autoload . rassoc*) + (autoload . rassoc-if) + (autoload . rassoc-if-not) + (autoload . union) + (autoload . nunion) + (autoload . intersection) + (autoload . nintersection) + (autoload . set-difference) + (autoload . nset-difference) + (autoload . set-exclusive-or) + (autoload . nset-exclusive-or) + (autoload . subsetp) + (autoload . subst-if) + (autoload . subst-if-not) + (autoload . nsubst) + (autoload . nsubst-if) + (autoload . nsubst-if-not) + (autoload . sublis) + (autoload . nsublis) + (autoload . tree-equal)) + ("/home/hobbes/nxhtml/nxhtml-loaddefs.el" + (autoload . html-site-buffer-or-dired-file-name) + (autoload . html-site-set-site) + (autoload . html-site-dired-current) + (autoload . html-site-find-file) + (autoload . html-site-rgrep) + (autoload . html-site-query-replace) + (autoload . inlimg-mode) + (autoload . inlimg-toggle-img-display) + (autoload . nxhtml-report-bug) + (autoload . nxhtml-edit-with-gimp) + (autoload . nxhtml-browse-file) + (autoload . nxhtml-browse-region) + nxhtml-global-minor-mode + (autoload . nxhtml-global-minor-mode) + (autoload . nxhtml-mode) + (autoload . nxhtml-short-tag-help) + (autoload . nxhtml-validation-header-mode) + (autoload . nxhtml-mumamo-mode) + (autoload . embperl-nxhtml-mumamo-mode) + (autoload . django-nxhtml-mumamo-mode) + (autoload . genshi-nxhtml-mumamo-mode) + (autoload . mjt-nxhtml-mumamo-mode) + (autoload . smarty-nxhtml-mumamo-mode) + (autoload . jsp-nxhtml-mumamo-mode) + (autoload . eruby-nxhtml-mumamo-mode) + (autoload . asp-nxhtml-mumamo-mode) + (autoload . mako-nxhtml-mumamo-mode) + nxml-where-global-mode + (autoload . nxml-where-global-mode) + (autoload . rngalt-set-validation-header) + (autoload . tidy-build-menu) + (autoload . xhtml-help-show-css-ref) + (autoload . xhtml-help-show-tag-ref) + (autoload . csharp-mode) + (autoload . django-mode) + (autoload . javascript-mode) + (autoload . moz-minor-mode) + (autoload . inferior-moz-mode) + php-file-patterns + (autoload . php-mode) + (autoload . smarty-mode) + (autoload . tt-mode) + (autoload . wikipedia-mode) + (autoload . wikipedia-draft) + (autoload . wikipedia-draft-page) + (autoload . wikipedia-draft-buffer) + wikipedia-draft-send-archive + (autoload . ert-deftest) + (autoload . ert-run-tests-interactively) + (autoload . nxhtmltest-run-Q) + (autoload . nxhtmltest-run-indent) + (autoload . nxhtmltest-run) + (autoload . appmenu-add) + (autoload . as-external-for-xhtml) + (autoload . as-external-for-mail) + (autoload . as-external-for-wiki) + as-external-mode + (autoload . as-external-mode) + (autoload . chart-complete) + (autoload . chart-make-chart) + css-color-global-mode + (autoload . css-color-global-mode) + (autoload . css-color-mode) + (autoload . css-palette-mode) + css-palette-global-mode + (autoload . css-palette-global-mode) + (autoload . freemind-show) + (autoload . freemind-from-org-mode-node) + (autoload . freemind-from-org-mode) + (autoload . freemind-from-org-sparse-tree) + (autoload . freemind-to-org-mode) + (autoload . gimp-edit-file) + (autoload . gimp-edit-buffer) + (autoload . gimp-can-edit) + (autoload . gpl-mode) + (autoload . html-write-mode) + (autoload . htmlfontify-buffer) + (autoload . majmodpri-sort-lists) + (autoload . majmodpri-apply) + (autoload . majmodpri-apply-priorities) + (autoload . mlinks-mode) + (autoload . mumamo-mark-for-refontification) + (autoload . html-mumamo-mode) + (autoload . nxml-mumamo-mode) + (autoload . embperl-html-mumamo-mode) + (autoload . django-html-mumamo-mode) + (autoload . genshi-html-mumamo-mode) + (autoload . mjt-html-mumamo-mode) + (autoload . smarty-html-mumamo-mode) + (autoload . jsp-html-mumamo-mode) + (autoload . eruby-mumamo-mode) + (autoload . eruby-html-mumamo-mode) + (autoload . perl-mumamo-mode) + (autoload . cperl-mumamo-mode) + (autoload . metapost-mumamo-mode) + (autoload . laszlo-nxml-mumamo-mode) + (autoload . csound-sgml-mumamo-mode) + (autoload . noweb2-mumamo-mode) + (autoload . asp-html-mumamo-mode) + (autoload . org-mumamo-mode) + (autoload . mako-html-mumamo-mode) + (autoload . popup-menu-at-point) + (autoload . define-toggle) + (autoload . unfill-paragraph) + (autoload . unfill-region) + (autoload . unfill-individual-paragraphs) + (autoload . major-or-multi-majorp) + (autoload . multi-major-modep) + (autoload . major-modep) + (autoload . ourcomments-move-beginning-of-line) + (autoload . ourcomments-move-end-of-line) + (autoload . describe-key-and-map-briefly) + wrap-to-fill-left-marg wrap-to-fill-left-marg-modes + (autoload . wrap-to-fill-column-mode) + better-fringes-mode + (autoload . better-fringes-mode) + (autoload . find-emacs-other-file) + (autoload . ourcomments-ediff-files) + (autoload . describe-command) + (autoload . describe-custom-group) + (autoload . describe-defstruct) + (autoload . describe-symbol) + (autoload . ourcomments-ido-buffer-other-window) + (autoload . ourcomments-ido-buffer-other-frame) + (autoload . ourcomments-ido-buffer-raise-frame) + ourcomments-ido-ctrl-tab + (autoload . emacs) + (autoload . emacs-buffer-file) + (autoload . emacs--debug-init) + (autoload . emacs-Q) + (autoload . emacs-Q-nxhtml) + (autoload . grep-query-replace) + (autoload . info-open-file) + (autoload . rnc-mode) + (autoload . search-form) + sex-mode + (autoload . sex-mode) + tabkey2-mode + (autoload . tabkey2-mode) + (autoload . tyda-lookup-word) + (autoload . udev-cedet-update) + (autoload . udev-ecb-update) + (autoload . udev-rinari-update) + (autoload . viper-tutorial) + (autoload . winsav-put-window-tree) + winsav-save-mode + (autoload . winsav-save-mode) + (autoload . winsav-save-named-config) + (autoload . winsav-switch-config) + (autoload . resize-windows) + (autoload . winsize-balance-siblings) + (autoload . winsize-save-window-configuration) + (autoload . nxhtmlmaint-start-byte-compilation) + (autoload . nxhtmlmaint-byte-uncompile-all)) + ("/usr/share/emacs/23.0.93/lisp/international/encoded-kb.elc" encoded-kbd-mode-map encoded-kbd-iso2022-esc-map encoded-kbd-iso2022-esc-dollar-map encoded-kbd-iso2022-designation-map encoded-kbd-iso2022-designations encoded-kbd-iso2022-invocations + (defun . encoded-kbd-last-key) + (defun . encoded-kbd-iso2022-designation) + (defun . encoded-kbd-iso2022-single-shift) + (defun . encoded-kbd-self-insert-iso2022-7bit) + (defun . encoded-kbd-self-insert-iso2022-8bit) + (defun . encoded-kbd-self-insert-sjis) + (defun . encoded-kbd-self-insert-big5) + (defun . encoded-kbd-self-insert-ccl) + (defun . encoded-kbd-decode-code-list) + (defun . encoded-kbd-self-insert-charset) + (defun . encoded-kbd-self-insert-utf-8) + (defun . encoded-kbd-setup-keymap) + (t . encoded-kbd-setup-display) + (defun . encoded-kbd-setup-display) + (provide . encoded-kb)) + ("/usr/share/emacs/23.0.93/leim/leim-list.el" + (autoload . ucs-input-activate) + (autoload . hangul-input-method-activate)) + ("/usr/share/emacs/23.0.93/lisp/subdirs.el") + ("/usr/share/emacs-snapshot/site-lisp/subdirs.el") + ("/usr/share/emacs/23.0.93/lisp/site-init.elc") + ("/usr/share/emacs/23.0.93/lisp/tooltip.elc" tooltip-mode + (defun . tooltip-mode) + tooltip-delay tooltip-short-delay tooltip-recent-seconds tooltip-hide-delay tooltip-x-offset tooltip-y-offset tooltip-frame-parameters + (defface . tooltip) + tooltip-use-echo-area tooltip-functions tooltip-hook tooltip-timeout-id tooltip-last-mouse-motion-event tooltip-hide-time + (defun . tooltip-event-buffer) + (defun . tooltip-delay) + (defun . tooltip-cancel-delayed-tip) + (defun . tooltip-start-delayed-tip) + (defun . tooltip-timeout) + (defun . tooltip-set-param) + (defun . tooltip-show) + (defun . tooltip-hide) + (defun . tooltip-identifier-from-point) + (defun . tooltip-region-active-p) + (defun . tooltip-expr-to-print) + (defun . tooltip-process-prompt-regexp) + (defun . tooltip-strip-prompt) + tooltip-help-message tooltip-previous-message + (defun . tooltip-show-help-non-mode) + (defun . tooltip-show-help) + (defun . tooltip-help-tips) + (provide . tooltip)) + ("/usr/share/emacs/23.0.93/lisp/ediff-hook.elc" menu-bar-ediff-misc-menu menu-bar-epatch-menu menu-bar-ediff-merge-menu menu-bar-ediff-menu + (provide . ediff-hook)) + ("/usr/share/emacs/23.0.93/lisp/vc-hooks.elc" vc-ignore-vc-files vc-master-templates vc-header-alist vc-ignore-dir-regexp vc-handled-backends vc-directory-exclusion-list vc-path vc-make-backup-files vc-follow-symlinks vc-display-status vc-consult-headers vc-keep-workfiles vc-mistrust-permissions + (defun . vc-mistrust-permissions) + vc-stay-local + (defun . vc-stay-local-p) + (defun . vc-mode) + (defun . vc-error-occurred) + vc-file-prop-obarray vc-touched-properties + (defun . vc-file-setprop) + (defun . vc-file-getprop) + (defun . vc-file-clearprops) + (defun . vc-make-backend-sym) + (defun . vc-find-backend-function) + (defun . vc-call-backend) + (defun . vc-call) + (defun . vc-parse-buffer) + (defun . vc-insert-file) + (defun . vc-find-root) + (defun . vc-registered) + (defun . vc-backend) + (defun . vc-backend-subdirectory-name) + (defun . vc-name) + (defun . vc-checkout-model) + (defun . vc-user-login-name) + (defun . vc-state) + (defun . vc-up-to-date-p) + (defun . vc-default-state-heuristic) + (defun . vc-workfile-unchanged-p) + (defun . vc-default-workfile-unchanged-p) + (defun . vc-working-revision) + (defun . vc-workfile-version) + (defun . vc-default-working-revision) + (defun . vc-default-registered) + (defun . vc-possible-master) + (defun . vc-check-master-templates) + (defun . vc-toggle-read-only) + (defun . vc-default-make-version-backups-p) + (defun . vc-version-backup-file-name) + (defun . vc-delete-automatic-version-backups) + (defun . vc-make-version-backup) + (defun . vc-before-save) + (defun . vc-after-save) + vc-menu-entry vc-mode-line-map vc-mode-line-map + (defun . vc-mode-line) + (defun . vc-default-mode-line-string) + (defun . vc-follow-link) + (defun . vc-default-find-file-hook) + (defun . vc-find-file-hook) + (defun . vc-file-not-found-hook) + (defun . vc-default-find-file-not-found-hook) + (defun . vc-kill-buffer-hook) + vc-prefix-map vc-menu-map + (defun . vc-menu-map) + (defun . vc-menu-map-filter) + (defun . vc-default-extra-menu) + (provide . vc-hooks)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/float-sup.elc" pi e degrees-to-radians radians-to-degrees + (defun . degrees-to-radians) + (defun . radians-to-degrees) + (provide . lisp-float-type)) + ("/usr/share/emacs/23.0.93/lisp/term/x-win.elc" + (require . frame) + (require . mouse) + (require . scroll-bar) + (require . faces) + (require . select) + (require . menu-bar) + (require . fontset) + (require . x-dnd) + (defun . x-handle-no-bitmap-icon) + (defun . x-handle-parent-id) + (defun . x-handle-smid) + emacs-save-session-functions + (defun . emacs-session-filename) + (defun . emacs-session-save) + (defun . emacs-session-restore) + x-pointer-X-cursor x-pointer-X-cursor x-pointer-arrow x-pointer-arrow x-pointer-based-arrow-down x-pointer-based-arrow-down x-pointer-based-arrow-up x-pointer-based-arrow-up x-pointer-boat x-pointer-boat x-pointer-bogosity x-pointer-bogosity x-pointer-bottom-left-corner x-pointer-bottom-left-corner x-pointer-bottom-right-corner x-pointer-bottom-right-corner x-pointer-bottom-side x-pointer-bottom-side x-pointer-bottom-tee x-pointer-bottom-tee x-pointer-box-spiral x-pointer-box-spiral x-pointer-center-ptr x-pointer-center-ptr x-pointer-circle x-pointer-circle x-pointer-clock x-pointer-clock x-pointer-coffee-mug x-pointer-coffee-mug x-pointer-cross x-pointer-cross x-pointer-cross-reverse x-pointer-cross-reverse x-pointer-crosshair x-pointer-crosshair x-pointer-diamond-cross x-pointer-diamond-cross x-pointer-dot x-pointer-dot x-pointer-dotbox x-pointer-dotbox x-pointer-double-arrow x-pointer-double-arrow x-pointer-draft-large x-pointer-draft-large x-pointer-draft-small x-pointer-draft-small x-pointer-draped-box x-pointer-draped-box x-pointer-exchange x-pointer-exchange x-pointer-fleur x-pointer-fleur x-pointer-gobbler x-pointer-gobbler x-pointer-gumby x-pointer-gumby x-pointer-hand1 x-pointer-hand1 x-pointer-hand2 x-pointer-hand2 x-pointer-heart x-pointer-heart x-pointer-icon x-pointer-icon x-pointer-iron-cross x-pointer-iron-cross x-pointer-left-ptr x-pointer-left-ptr x-pointer-left-side x-pointer-left-side x-pointer-left-tee x-pointer-left-tee x-pointer-leftbutton x-pointer-leftbutton x-pointer-ll-angle x-pointer-ll-angle x-pointer-lr-angle x-pointer-lr-angle x-pointer-man x-pointer-man x-pointer-middlebutton x-pointer-middlebutton x-pointer-mouse x-pointer-mouse x-pointer-pencil x-pointer-pencil x-pointer-pirate x-pointer-pirate x-pointer-plus x-pointer-plus x-pointer-question-arrow x-pointer-question-arrow x-pointer-right-ptr x-pointer-right-ptr x-pointer-right-side x-pointer-right-side x-pointer-right-tee x-pointer-right-tee x-pointer-rightbutton x-pointer-rightbutton x-pointer-rtl-logo x-pointer-rtl-logo x-pointer-sailboat x-pointer-sailboat x-pointer-sb-down-arrow x-pointer-sb-down-arrow x-pointer-sb-h-double-arrow x-pointer-sb-h-double-arrow x-pointer-sb-left-arrow x-pointer-sb-left-arrow x-pointer-sb-right-arrow x-pointer-sb-right-arrow x-pointer-sb-up-arrow x-pointer-sb-up-arrow x-pointer-sb-v-double-arrow x-pointer-sb-v-double-arrow x-pointer-shuttle x-pointer-shuttle x-pointer-sizing x-pointer-sizing x-pointer-spider x-pointer-spider x-pointer-spraycan x-pointer-spraycan x-pointer-star x-pointer-star x-pointer-target x-pointer-target x-pointer-tcross x-pointer-tcross x-pointer-top-left-arrow x-pointer-top-left-arrow x-pointer-top-left-corner x-pointer-top-left-corner x-pointer-top-right-corner x-pointer-top-right-corner x-pointer-top-side x-pointer-top-side x-pointer-top-tee x-pointer-top-tee x-pointer-trek x-pointer-trek x-pointer-ul-angle x-pointer-ul-angle x-pointer-umbrella x-pointer-umbrella x-pointer-ur-angle x-pointer-ur-angle x-pointer-watch x-pointer-watch x-pointer-xterm x-pointer-xterm x-pointer-invisible x-pointer-invisible + (defun . xw-defined-colors) + x-alternatives-map + (defun . x-setup-function-keys) + (defun . vendor-specific-keysyms) + x-last-selected-text-clipboard x-last-selected-text-primary x-last-selected-text-cut x-last-selected-text-cut-encoded x-last-cut-buffer-coding x-cut-buffer-max x-select-enable-clipboard x-select-enable-primary + (defun . x-select-text) + x-select-request-type + (defun . x-selection-value) + (defun . x-cut-buffer-or-selection-value) + (defun . x-clipboard-yank) + (defun . x-menu-bar-open) + (defun . x-win-suspend-error) + x-initialized + (defun . x-initialize-window-system) + x-gtk-stock-map icon-map-list x-gtk-stock-cache x-gtk-stock-cache + (defun . x-gtk-map-stock) + (provide . x-win)) + ("/usr/share/emacs/23.0.93/lisp/term/common-win.elc" x-command-line-resources + (defun . x-handle-switch) + (defun . x-handle-numeric-switch) + (defun . x-handle-initial-switch) + (defun . x-handle-iconic) + (defun . x-handle-xrm-switch) + (defun . x-handle-geometry) + (defun . x-handle-name-switch) + x-display-name + (defun . x-handle-display) + (defun . x-handle-args) + x-colors) + ("/usr/share/emacs/23.0.93/lisp/x-dnd.elc" + (require . dnd) + x-dnd-test-function x-dnd-types-alist x-dnd-known-types x-dnd-current-state x-dnd-empty-state + (defun . x-dnd-init-frame) + (defun . x-dnd-get-state-cons-for-frame) + (defun . x-dnd-get-state-for-frame) + (defun . x-dnd-default-test-function) + (defun . x-dnd-current-type) + (defun . x-dnd-forget-drop) + (defun . x-dnd-maybe-call-test-function) + (defun . x-dnd-save-state) + (defun . x-dnd-handle-moz-url) + (defun . x-dnd-insert-utf8-text) + (defun . x-dnd-insert-utf16-text) + (defun . x-dnd-insert-ctext) + (defun . x-dnd-handle-uri-list) + (defun . x-dnd-handle-file-name) + (defun . x-dnd-choose-type) + (defun . x-dnd-drop-data) + (defun . x-dnd-handle-drag-n-drop-event) + (defun . x-dnd-handle-old-kde) + x-dnd-xdnd-to-action + (defun . x-dnd-init-xdnd-for-frame) + (defun . x-dnd-get-drop-width-height) + (defun . x-dnd-get-drop-x-y) + (defun . x-dnd-handle-xdnd) + (defun . x-dnd-init-motif-for-frame) + (defun . x-dnd-get-motif-value) + (defun . x-dnd-motif-value-to-list) + x-dnd-motif-message-types x-dnd-motif-to-action + (defun . x-dnd-handle-motif) + (provide . x-dnd)) + ("/usr/share/emacs/23.0.93/lisp/tool-bar.elc" tool-bar-mode + (defun . tool-bar-mode) + (t . toggle-tool-bar-mode-from-frame) + (defun . toggle-tool-bar-mode-from-frame) + tool-bar-map tool-bar-keymap-cache tool-bar-keymap-cache + (defun . tool-bar-make-keymap) + (defun . tool-bar-make-keymap-1) + (t . tool-bar-add-item) + (defun . tool-bar-add-item) + (t . tool-bar-local-item) + (defun . tool-bar-local-item) + (t . tool-bar-add-item-from-menu) + (defun . tool-bar-add-item-from-menu) + (t . tool-bar-local-item-from-menu) + (defun . tool-bar-local-item-from-menu) + (defun . tool-bar-setup) + (provide . tool-bar)) + ("/usr/share/emacs/23.0.93/lisp/mwheel.elc" + (require . custom) + (require . timer) + (defun . mouse-wheel-change-button) + mouse-wheel-down-button mouse-wheel-down-event mouse-wheel-up-button mouse-wheel-up-event mouse-wheel-click-button mouse-wheel-click-event mouse-wheel-inhibit-click-time mouse-wheel-scroll-amount mouse-wheel-progressive-speed mouse-wheel-follow-mouse + (defun . mwheel-event-button) + (defun . mwheel-event-window) + mwheel-inhibit-click-event-timer + (defun . mwheel-inhibit-click-timeout) + (defun . mwheel-filter-click-events) + (defun . mwheel-scroll) + mouse-wheel-mode + (t . mouse-wheel-mode) + (defun . mouse-wheel-mode) + (t . mwheel-install) + (defun . mwheel-install) + (provide . mwheel)) + ("/usr/share/emacs/23.0.93/lisp/dnd.elc" dnd-protocol-alist dnd-open-remote-file-function dnd-open-file-other-window + (defun . dnd-handle-one-url) + (defun . dnd-get-local-file-uri) + (defun . dnd-get-local-file-name) + (defun . dnd-open-local-file) + (defun . dnd-open-remote-url) + (defun . dnd-open-file) + (defun . dnd-insert-text) + (provide . dnd)) + ("/usr/share/emacs/23.0.93/lisp/international/fontset.elc" + (defun . setup-default-fontset) + (defun . create-default-fontset) + (defun . set-font-encoding) + x-font-name-charset-alist xlfd-regexp-family-subnum xlfd-regexp-family-subnum xlfd-regexp-weight-subnum xlfd-regexp-weight-subnum xlfd-regexp-slant-subnum xlfd-regexp-slant-subnum xlfd-regexp-swidth-subnum xlfd-regexp-swidth-subnum xlfd-regexp-adstyle-subnum xlfd-regexp-adstyle-subnum xlfd-regexp-pixelsize-subnum xlfd-regexp-pixelsize-subnum xlfd-regexp-pointsize-subnum xlfd-regexp-pointsize-subnum xlfd-regexp-resx-subnum xlfd-regexp-resx-subnum xlfd-regexp-resy-subnum xlfd-regexp-resy-subnum xlfd-regexp-spacing-subnum xlfd-regexp-spacing-subnum xlfd-regexp-avgwidth-subnum xlfd-regexp-avgwidth-subnum xlfd-regexp-registry-subnum xlfd-regexp-registry-subnum xlfd-tight-regexp xlfd-tight-regexp xlfd-style-regexp xlfd-style-regexp xlfd-regexp-numeric-subnums xlfd-regexp-numeric-subnums + (defun . x-decompose-font-name) + (defun . x-compose-font-name) + (defun . x-must-resolve-font-name) + (defun . x-complement-fontset-spec) + (defun . fontset-name-p) + (defun . generate-fontset-menu) + (defun . fontset-plain-name) + charset-script-alist + (defun . create-fontset-from-fontset-spec) + (defun . create-fontset-from-ascii-font) + standard-fontset-spec + (defun . create-fontset-from-x-resource) + (provide . fontset)) + ("/usr/share/emacs/23.0.93/lisp/image.elc" image-type-header-regexps image-type-file-name-regexps image-type-auto-detectable image-load-path + (defun . image-load-path-for-library) + (defun . image-jpeg-p) + (t . image-type-from-data) + (defun . image-type-from-data) + (t . image-type-from-buffer) + (defun . image-type-from-buffer) + (t . image-type-from-file-header) + (defun . image-type-from-file-header) + (t . image-type-from-file-name) + (defun . image-type-from-file-name) + (t . image-type) + (defun . image-type) + (t . image-type-available-p) + (defun . image-type-available-p) + (t . image-type-auto-detected-p) + (defun . image-type-auto-detected-p) + (t . create-image) + (defun . create-image) + (t . put-image) + (defun . put-image) + (t . insert-image) + (defun . insert-image) + (t . insert-sliced-image) + (defun . insert-sliced-image) + (t . remove-images) + (defun . remove-images) + (defun . image-search-load-path) + (t . find-image) + (defun . find-image) + (t . defimage) + (defun . defimage) + (provide . image)) + ("/usr/share/emacs/23.0.93/lisp/fringe.elc" + (defun . fringe-bitmap-p) + fringe-mode-explicit + (defun . set-fringe-mode-1) + (defun . set-fringe-mode) + (defun . fringe-mode-initialize) + fringe-mode + (defun . fringe-query-style) + (defun . fringe-mode) + (defun . set-fringe-style) + (defun . fringe-columns) + (provide . fringe)) + ("/usr/share/emacs/23.0.93/lisp/buff-menu.elc" Buffer-menu-use-header-line + (defface . buffer-menu-buffer) + Buffer-menu-buffer+size-width Buffer-menu-mode-width Buffer-menu-use-frame-buffer-list Buffer-menu-sort-column Buffer-menu-buffer-column Buffer-menu-buffer-column Buffer-menu-files-only Buffer-menu-mode-map Buffer-menu-mode-map Buffer-menu-mode-syntax-table Buffer-menu-mode-abbrev-table Buffer-menu-mode-abbrev-table + (defun . Buffer-menu-mode) + buffer-menu-mode-hook + (defun . Buffer-menu-revert-function) + (defun . Buffer-menu-toggle-files-only) + (defun . Buffer-menu-buffer) + (defun . buffer-menu) + (defun . buffer-menu-other-window) + (defun . Buffer-menu-no-header) + (defun . Buffer-menu-mark) + (defun . Buffer-menu-unmark) + (defun . Buffer-menu-backup-unmark) + (defun . Buffer-menu-delete) + (defun . Buffer-menu-delete-backwards) + (defun . Buffer-menu-save) + (defun . Buffer-menu-not-modified) + (defun . Buffer-menu-beginning) + (defun . Buffer-menu-execute) + (defun . Buffer-menu-select) + (defun . Buffer-menu-marked-buffers) + (defun . Buffer-menu-isearch-buffers) + (defun . Buffer-menu-isearch-buffers-regexp) + (defun . Buffer-menu-visit-tags-table) + (defun . Buffer-menu-1-window) + (defun . Buffer-menu-mouse-select) + (defun . Buffer-menu-this-window) + (defun . Buffer-menu-other-window) + (defun . Buffer-menu-switch-other-window) + (defun . Buffer-menu-2-window) + (defun . Buffer-menu-toggle-read-only) + (defun . Buffer-menu-bury) + (defun . Buffer-menu-view) + (defun . Buffer-menu-view-other-window) + (defun . list-buffers) + Buffer-menu-short-ellipsis Buffer-menu-short-ellipsis + (defun . Buffer-menu-buffer+size) + (defun . Buffer-menu-sort) + (defun . Buffer-menu-sort-by-column) + Buffer-menu-sort-button-map + (defun . Buffer-menu-make-sort-button) + (defun . list-buffers-noselect)) + ("/usr/share/emacs/23.0.93/lisp/replace.elc" case-replace query-replace-history query-replace-defaults query-replace-interactive query-replace-from-history-variable query-replace-to-history-variable query-replace-skip-read-only query-replace-show-replacement query-replace-highlight query-replace-lazy-highlight + (defface . query-replace) + (defun . query-replace-descr) + (defun . query-replace-read-from) + (defun . query-replace-compile-replacement) + (defun . query-replace-read-to) + (defun . query-replace-read-args) + (defun . query-replace) + (defun . query-replace-regexp) + (defun . query-replace-regexp-eval) + (defun . map-query-replace-regexp) + (defun . replace-string) + (defun . replace-regexp) + regexp-history + (defun . read-regexp) + (defun . delete-non-matching-lines) + (defun . delete-matching-lines) + (defun . count-matches) + (defun . keep-lines-read-args) + (defun . keep-lines) + (defun . flush-lines) + (defun . how-many) + occur-mode-map occur-revert-arguments occur-mode-hook occur-hook occur-mode-find-occurrence-hook + (defun . occur-mode) + (defun . occur-revert-function) + (defun . occur-mode-find-occurrence) + (defun . occur-mode-mouse-goto) + (defun . occur-mode-goto-occurrence) + (defun . occur-mode-goto-occurrence-other-window) + (defun . occur-mode-display-occurrence) + (defun . occur-find-match) + (defun . occur-next) + (defun . occur-prev) + (defun . occur-next-error) + (defface . match) + list-matching-lines-default-context-lines + (defun . list-matching-lines) + list-matching-lines-face list-matching-lines-buffer-name-face occur-excluded-properties + (defun . occur-accumulate-lines) + (defun . occur-read-primary-args) + (defun . occur-rename-buffer) + (defun . occur) + (defun . multi-occur) + (defun . multi-occur-in-matching-buffers) + (defun . occur-1) + (defun . occur-engine-add-prefix) + (defun . occur-engine) + (defun . occur-context-lines) + query-replace-help query-replace-map multi-query-replace-map + (defun . replace-match-string-symbols) + (defun . replace-eval-replacement) + (defun . replace-quote) + (defun . replace-loop-through-replacements) + (defun . replace-match-data) + (defun . replace-match-maybe-edit) + replace-search-function replace-re-search-function + (defun . perform-replace) + replace-overlay + (defun . replace-highlight) + (defun . replace-dehighlight)) + ("/usr/share/emacs/23.0.93/lisp/textmodes/fill.elc" fill-individual-varying-indent colon-double-space fill-paragraph-function fill-paragraph-handle-comment enable-kinsoku + (defun . set-fill-prefix) + adaptive-fill-mode adaptive-fill-regexp adaptive-fill-first-line-regexp adaptive-fill-function fill-indent-according-to-mode + (defun . current-fill-column) + (defun . canonically-space-region) + (defun . fill-common-string-prefix) + (defun . fill-match-adaptive-prefix) + (defun . fill-context-prefix) + (defun . fill-single-word-nobreak-p) + (defun . fill-french-nobreak-p) + fill-nobreak-predicate fill-nobreak-invisible + (defun . fill-nobreak-p) + fill-find-break-point-function-table fill-nospace-between-words-table + (defun . fill-find-break-point) + (defun . fill-delete-prefix) + (defun . fill-delete-newlines) + (defun . fill-move-to-break-point) + (defun . fill-text-properties-at) + (defun . fill-newline) + (defun . fill-indent-to-left-margin) + (defun . fill-region-as-paragraph) + (defun . skip-line-prefix) + (defun . fill-minibuffer-function) + fill-forward-paragraph-function + (defun . fill-forward-paragraph) + (defun . fill-paragraph) + (defun . fill-comment-paragraph) + (defun . fill-region) + default-justification + (defun . current-justification) + (defun . set-justification) + (defun . set-justification-none) + (defun . set-justification-left) + (defun . set-justification-right) + (defun . set-justification-full) + (defun . set-justification-center) + (defun . justify-current-line) + (defun . unjustify-current-line) + (defun . unjustify-region) + (defun . fill-nonuniform-paragraphs) + (defun . fill-individual-paragraphs) + (defun . fill-individual-paragraphs-prefix) + (defun . fill-individual-paragraphs-citation)) + ("/usr/share/emacs/23.0.93/lisp/textmodes/text-mode.elc" text-mode-hook text-mode-variant text-mode-syntax-table text-mode-map text-mode-map text-mode-syntax-table text-mode-abbrev-table text-mode-abbrev-table + (defun . text-mode) + paragraph-indent-text-mode-map + (defun . paragraph-indent-text-mode) + (defun . paragraph-indent-minor-mode) + (defun . indented-text-mode) + (defun . text-mode-hook-identify) + (defun . toggle-text-mode-auto-fill) + (defun . center-paragraph) + (defun . center-region) + (defun . center-line)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/lisp-mode.elc" lisp-mode-abbrev-table lisp-mode-abbrev-table emacs-lisp-mode-syntax-table lisp-mode-syntax-table lisp-imenu-generic-expression lisp-doc-string-elt-property + (defun . lisp-font-lock-syntactic-face-function) + (defun . lisp-mode-variables) + (defun . lisp-outline-level) + lisp-mode-shared-map emacs-lisp-mode-map + (defun . emacs-lisp-byte-compile) + (defun . emacs-lisp-byte-compile-and-load) + emacs-lisp-mode-hook lisp-mode-hook lisp-interaction-mode-hook + (defun . emacs-lisp-mode) + lisp-mode-map + (defun . lisp-mode) + (defun . lisp-find-tag-default) + (defun . common-lisp-mode) + (defun . lisp-eval-defun) + lisp-interaction-mode-map lisp-interaction-mode-abbrev-table lisp-interaction-mode-map lisp-interaction-mode-syntax-table lisp-interaction-mode-abbrev-table + (defun . lisp-interaction-mode) + (defun . eval-print-last-sexp) + (defun . last-sexp-setup-props) + (defun . last-sexp-toggle-display) + (defun . prin1-char) + (defun . preceding-sexp) + (defun . eval-last-sexp-1) + (defun . eval-last-sexp-print-value) + eval-last-sexp-fake-value + (defun . eval-last-sexp) + (defun . eval-defun-1) + (defun . eval-defun-2) + (defun . eval-defun) + (defun . lisp-comment-indent) + (defun . lisp-mode-auto-fill) + lisp-indent-offset lisp-indent-function + (defun . lisp-indent-line) + (defun . calculate-lisp-indent) + (defun . lisp-indent-function) + lisp-body-indent + (defun . lisp-indent-specform) + (defun . lisp-indent-defform) + (defun . indent-sexp) + (defun . lisp-indent-region) + (defun . indent-pp-sexp) + emacs-lisp-docstring-fill-column + (defun . lisp-fill-paragraph) + (defun . indent-code-rigidly) + (provide . lisp-mode)) + ("/usr/share/emacs/23.0.93/lisp/textmodes/paragraphs.elc" use-hard-newlines + (defun . use-hard-newlines) + paragraph-start paragraph-separate sentence-end-double-space sentence-end-without-period sentence-end-without-space sentence-end sentence-end-base + (defun . sentence-end) + page-delimiter paragraph-ignore-fill-prefix + (defun . forward-paragraph) + (defun . backward-paragraph) + (defun . mark-paragraph) + (defun . kill-paragraph) + (defun . backward-kill-paragraph) + (defun . transpose-paragraphs) + (defun . start-of-paragraph-text) + (defun . end-of-paragraph-text) + (defun . forward-sentence) + (defun . repunctuate-sentences) + (defun . backward-sentence) + (defun . kill-sentence) + (defun . backward-kill-sentence) + (defun . mark-end-of-sentence) + (defun . transpose-sentences)) + ("/usr/share/emacs/23.0.93/lisp/register.elc" register-alist + (defun . get-register) + (defun . set-register) + (defun . point-to-register) + (defun . window-configuration-to-register) + (defun . frame-configuration-to-register) + (defun . register-to-point) + (defun . jump-to-register) + (defun . register-swap-out) + (defun . number-to-register) + (defun . increment-register) + (defun . view-register) + (defun . list-registers) + (defun . describe-register-1) + (defun . insert-register) + (defun . copy-to-register) + (defun . append-to-register) + (defun . prepend-to-register) + (defun . copy-rectangle-to-register) + (provide . register)) + ("/usr/share/emacs/23.0.93/lisp/textmodes/page.elc" + (defun . forward-page) + (defun . backward-page) + (defun . mark-page) + (defun . narrow-to-page) + (defun . count-lines-page) + (defun . what-page) + (provide . page)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/lisp.elc" defun-prompt-regexp parens-require-spaces forward-sexp-function + (defun . forward-sexp) + (defun . backward-sexp) + (defun . mark-sexp) + (defun . forward-list) + (defun . backward-list) + (defun . down-list) + (defun . backward-up-list) + (defun . up-list) + (defun . kill-sexp) + (defun . backward-kill-sexp) + (defun . kill-backward-up-list) + beginning-of-defun-function + (defun . beginning-of-defun) + (defun . beginning-of-defun-raw) + end-of-defun-function + (defun . buffer-end) + (defun . end-of-defun) + (defun . mark-defun) + (defun . narrow-to-defun) + insert-pair-alist + (defun . insert-pair) + (defun . insert-parentheses) + (defun . delete-pair) + (defun . raise-sexp) + (defun . move-past-close-and-reindent) + (defun . check-parens) + (defun . field-complete) + (defun . lisp-complete-symbol)) + ("/usr/share/emacs/23.0.93/lisp/paths.el" + (defun . prune-directory-list) + Info-default-directory-list news-directory news-path news-inews-program gnus-default-nntp-server gnus-nntp-service gnus-local-organization rmail-file-name rmail-spool-directory remote-shell-program term-file-prefix abbrev-file-name) + ("/usr/share/emacs/23.0.93/lisp/menu-bar.elc" menu-bar-help-menu menu-bar-tools-menu global-buffers-menu-map menu-bar-options-menu menu-bar-edit-menu menu-bar-file-menu menu-bar-files-menu + (defun . menu-find-file-existing) + menu-bar-last-search-type + (defun . nonincremental-repeat-search-forward) + (defun . nonincremental-repeat-search-backward) + (defun . nonincremental-search-forward) + (defun . nonincremental-search-backward) + (defun . nonincremental-re-search-forward) + (defun . nonincremental-re-search-backward) + menu-bar-search-menu menu-bar-i-search-menu menu-bar-replace-menu menu-bar-goto-menu + (defun . menu-bar-next-tag-other-window) + (defun . menu-bar-next-tag) + yank-menu + (defun . menu-bar-kill-ring-save) + (defun . clipboard-yank) + (defun . clipboard-kill-ring-save) + (defun . clipboard-kill-region) + (defun . menu-bar-enable-clipboard) + menu-bar-custom-menu + (defun . menu-bar-make-mm-toggle) + (defun . menu-bar-make-toggle) + (defun . menu-set-font) + (defun . menu-bar-options-save) + menu-bar-showhide-menu menu-bar-showhide-fringe-menu menu-bar-showhide-fringe-ind-menu + (defun . menu-bar-showhide-fringe-ind-customize) + (defun . menu-bar-showhide-fringe-ind-mixed) + (defun . menu-bar-showhide-fringe-ind-box) + (defun . menu-bar-showhide-fringe-ind-right) + (defun . menu-bar-showhide-fringe-ind-left) + (defun . menu-bar-showhide-fringe-ind-none) + (defun . toggle-indicate-empty-lines) + (defun . menu-bar-showhide-fringe-menu-customize) + (defun . menu-bar-showhide-fringe-menu-customize-reset) + (defun . menu-bar-showhide-fringe-menu-customize-right) + (defun . menu-bar-showhide-fringe-menu-customize-left) + (defun . menu-bar-showhide-fringe-menu-customize-disable) + menu-bar-showhide-scroll-bar-menu + (defun . menu-bar-right-scroll-bar) + (defun . menu-bar-left-scroll-bar) + (defun . menu-bar-no-scroll-bar) + (defun . toggle-debug-on-quit) + (defun . toggle-debug-on-error) + (defun . toggle-save-place-globally) + (defun . toggle-uniquify-buffer-names) + (defun . toggle-case-fold-search) + (defun . menu-bar-text-mode-auto-fill) + menu-bar-line-wrapping-menu + (defun . send-mail-item-name) + (defun . read-mail-item-name) + menu-bar-games-menu menu-bar-encryption-decryption-menu + (defun . menu-bar-read-mail) + menu-bar-describe-menu menu-bar-search-documentation-menu + (defun . menu-bar-read-lispref) + (defun . menu-bar-read-lispintro) + (defun . search-emacs-glossary) + (defun . emacs-index-search) + (defun . elisp-index-search) + (defun . debian-emacs-changelog) + (defun . debian-emacs-news) + (defun . debian-emacs-readme) + menu-bar-manuals-menu + (defun . menu-bar-help-extra-packages) + (defun . help-with-tutorial-spec-language) + (defun . menu-bar-menu-frame-live-and-visible-p) + (defun . menu-bar-non-minibuffer-window-p) + (defun . kill-this-buffer) + (defun . kill-this-buffer-enabled-p) + (defun . delete-frame-enabled-p) + yank-menu-length + (defun . menu-bar-update-yank-menu) + (defun . menu-bar-select-yank) + buffers-menu-max-size buffers-menu-buffer-name-length buffers-menu-show-directories buffers-menu-show-status list-buffers-directory + (defun . menu-bar-select-buffer) + (defun . menu-bar-select-frame) + (defun . menu-bar-update-buffers-1) + menu-bar-buffers-menu-command-entries + (defun . menu-bar-update-buffers) + menu-bar-mode + (defun . menu-bar-mode) + (defun . toggle-menu-bar-mode-from-frame) + (defun . menu-bar-open) + (provide . menu-bar)) + ("/usr/share/emacs/23.0.93/lisp/rfn-eshadow.elc" file-name-shadow-properties-custom-type file-name-shadow-properties-custom-type file-name-shadow-properties file-name-shadow-tty-properties + (defface . file-name-shadow) + rfn-eshadow-setup-minibuffer-hook rfn-eshadow-update-overlay-hook rfn-eshadow-frobbed-minibufs + (defun . rfn-eshadow-setup-minibuffer) + (defun . rfn-eshadow-sifn-equal) + (defun . rfn-eshadow-update-overlay) + file-name-shadow-mode + (defun . file-name-shadow-mode) + (provide . rfn-eshadow)) + ("/usr/share/emacs/23.0.93/lisp/isearch.elc" search-exit-option search-slow-window-lines search-slow-speed search-upper-case search-nonincremental-instead search-whitespace-regexp search-invisible isearch-hide-immediately isearch-resume-in-command-history isearch-mode-hook isearch-mode-end-hook isearch-mode-end-hook-quit isearch-message-function isearch-wrap-function isearch-push-state-function isearch-filter-predicate search-ring regexp-search-ring search-ring-max regexp-search-ring-max search-ring-yank-pointer regexp-search-ring-yank-pointer search-ring-update search-highlight + (defface . isearch) + isearch + (defface . isearch-fail) + isearch-lazy-highlight lazy-highlight-cleanup isearch-lazy-highlight-cleanup lazy-highlight-initial-delay isearch-lazy-highlight-initial-delay lazy-highlight-interval isearch-lazy-highlight-interval lazy-highlight-max-at-a-time isearch-lazy-highlight-max-at-a-time + (defface . lazy-highlight) + lazy-highlight-face isearch-lazy-highlight-face isearch-help-map + (defun . isearch-help-for-help-internal-doc) + (defun . isearch-help-for-help-internal) + (defun . isearch-help-for-help) + (defun . isearch-describe-bindings) + (defun . isearch-describe-key) + (defun . isearch-describe-mode) + (defun . isearch-mode-help) + isearch-mode-map minibuffer-local-isearch-map isearch-forward isearch-regexp isearch-word isearch-hidden isearch-cmds isearch-string isearch-message isearch-message-prefix-add isearch-message-suffix-add isearch-success isearch-error isearch-other-end isearch-wrapped isearch-barrier isearch-just-started isearch-start-hscroll isearch-case-fold-search isearch-last-case-fold-search isearch-original-minibuffer-message-timeout isearch-adjusted isearch-slow-terminal-mode isearch-small-window isearch-opoint isearch-window-configuration isearch-yank-flag isearch-op-fun isearch-recursive-edit isearch-nonincremental isearch-new-forward isearch-opened-overlays isearch-input-method-function isearch-input-method-local-p isearch-mode + (defun . isearch-forward) + (defun . isearch-forward-regexp) + (defun . isearch-forward-word) + (defun . isearch-backward) + (defun . isearch-backward-regexp) + (defun . isearch-mode) + (defun . isearch-update) + (defun . isearch-done) + (defun . isearch-update-ring) + (defun . isearch-string-state) + (defun . isearch-message-state) + (defun . isearch-point-state) + (defun . isearch-success-state) + (defun . isearch-forward-state) + (defun . isearch-other-end-state) + (defun . isearch-word-state) + (defun . isearch-error-state) + (defun . isearch-wrapped-state) + (defun . isearch-barrier-state) + (defun . isearch-case-fold-search-state) + (defun . isearch-pop-fun-state) + (defun . isearch-top-state) + (defun . isearch-pop-state) + (defun . isearch-push-state) + (defun . isearch-exit) + (defun . isearch-edit-string) + (defun . isearch-nonincremental-exit-minibuffer) + (defun . isearch-forward-exit-minibuffer) + (defun . isearch-reverse-exit-minibuffer) + (defun . isearch-cancel) + (defun . isearch-abort) + (defun . isearch-repeat) + (defun . isearch-repeat-forward) + (defun . isearch-repeat-backward) + (defun . isearch-toggle-regexp) + (defun . isearch-toggle-word) + (defun . isearch-toggle-case-fold) + (defun . isearch-query-replace) + (defun . isearch-query-replace-regexp) + (defun . isearch-occur) + (defun . isearch-highlight-regexp) + (defun . isearch-delete-char) + (defun . isearch-del-char) + (defun . isearch-yank-string) + (defun . isearch-yank-kill) + (defun . isearch-yank-x-selection) + (defun . isearch-mouse-2) + (defun . isearch-yank-internal) + (defun . isearch-yank-char-in-minibuffer) + (defun . isearch-yank-char) + (defun . isearch-yank-word-or-char) + (defun . isearch-yank-word) + (defun . isearch-yank-line) + (defun . isearch-search-and-update) + (defun . isearch-backslash) + (defun . isearch-fallback) + (defun . isearch-unread-key-sequence) + isearch-allow-scroll + (defun . isearch-string-out-of-window) + (defun . isearch-back-into-window) + (defun . isearch-reread-key-sequence-naturally) + (defun . isearch-lookup-scroll-key) + (defun . isearch-other-control-char) + (defun . isearch-other-meta-char) + (defun . isearch-quote-char) + (defun . isearch-return-char) + (defun . isearch-printing-char) + (defun . isearch-process-search-char) + (defun . isearch-process-search-string) + (defun . isearch-ring-adjust1) + (defun . isearch-ring-adjust) + (defun . isearch-ring-advance) + (defun . isearch-ring-retreat) + (defun . isearch-complete1) + (defun . isearch-complete) + (defun . isearch-complete-edit) + (defun . isearch-message) + (defun . isearch-message-prefix) + (defun . isearch-message-suffix) + isearch-search-fun-function + (defun . isearch-search-fun) + (defun . isearch-search-string) + (defun . isearch-search) + (defun . isearch-open-overlay-temporary) + (defun . isearch-open-necessary-overlays) + (defun . isearch-clean-overlays) + (defun . isearch-intersects-p) + (defun . isearch-close-unnecessary-overlays) + (defun . isearch-range-invisible) + (defun . isearch-filter-visible) + (defun . isearch-no-upper-case-p) + (defun . isearch-text-char-description) + (defun . isearch-unread) + isearch-overlay + (defun . isearch-highlight) + (defun . isearch-dehighlight) + isearch-lazy-highlight-overlays isearch-lazy-highlight-wrapped isearch-lazy-highlight-start-limit isearch-lazy-highlight-end-limit isearch-lazy-highlight-start isearch-lazy-highlight-end isearch-lazy-highlight-timer isearch-lazy-highlight-last-string isearch-lazy-highlight-window isearch-lazy-highlight-window-start isearch-lazy-highlight-window-end isearch-lazy-highlight-case-fold-search isearch-lazy-highlight-regexp isearch-lazy-highlight-space-regexp + (defun . lazy-highlight-cleanup) + (defun . isearch-lazy-highlight-cleanup) + (defun . isearch-lazy-highlight-new-loop) + (defun . isearch-lazy-highlight-search) + (defun . isearch-lazy-highlight-update) + (defun . isearch-resume)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/timer.elc" + (defun . timer--triggered) + (defun . timer--high-seconds) + (defun . timer--low-seconds) + (defun . timer--usecs) + (defun . timer--repeat-delay) + (defun . timer--function) + (defun . timer--args) + (defun . timer--idle-delay) + (defun . timer-create) + (defun . timerp) + (defun . timer--time) + (defun . timer-set-time) + (defun . timer-set-idle-time) + (defun . timer-next-integral-multiple-of-time) + (defun . timer-relative-time) + (defun . timer--time-less-p) + (defun . timer-inc-time) + (defun . timer-set-time-with-usecs) + (defun . timer-set-function) + (defun . timer--activate) + (defun . timer-activate) + (defun . timer-activate-when-idle) + (defun . disable-timeout) + (defun . cancel-timer) + (defun . cancel-timer-internal) + (defun . cancel-function-timers) + timer-event-last timer-event-last-1 timer-event-last-2 timer-max-repeats + (defun . timer-until) + (defun . timer-event-handler) + (defun . timeout-event-p) + (defun . run-at-time) + (defun . run-with-timer) + (defun . add-timeout) + (defun . run-with-idle-timer) + (defun . with-timeout-handler) + with-timeout-timers + (defun . with-timeout) + (defun . with-timeout-suspend) + (defun . with-timeout-unsuspend) + (defun . y-or-n-p-with-timeout) + timer-duration-words + (defun . timer-duration) + (provide . timer)) + ("/usr/share/emacs/23.0.93/lisp/select.elc" selection-coding-system next-selection-coding-system + (defun . x-selection) + (defun . x-get-selection) + (defun . x-get-clipboard) + (defun . x-set-selection) + (defun . x-valid-simple-selection-p) + (defun . x-get-cut-buffer) + (defun . x-set-cut-buffer) + (defun . xselect-convert-to-string) + (defun . xselect-convert-to-length) + (defun . xselect-convert-to-targets) + (defun . xselect-convert-to-delete) + (defun . xselect-convert-to-filename) + (defun . xselect-convert-to-charpos) + (defun . xselect-convert-to-lineno) + (defun . xselect-convert-to-colno) + (defun . xselect-convert-to-os) + (defun . xselect-convert-to-host) + (defun . xselect-convert-to-user) + (defun . xselect-convert-to-class) + (defun . xselect-convert-to-name) + (defun . xselect-convert-to-integer) + (defun . xselect-convert-to-atom) + (defun . xselect-convert-to-identity) + (provide . select)) + ("/usr/share/emacs/23.0.93/lisp/scroll-bar.elc" + (require . mouse) + (defun . scroll-bar-event-ratio) + (defun . scroll-bar-scale) + (defun . scroll-bar-columns) + previous-scroll-bar-mode scroll-bar-mode-explicit + (defun . set-scroll-bar-mode-1) + (defun . set-scroll-bar-mode) + scroll-bar-mode + (defun . scroll-bar-mode) + (defun . toggle-scroll-bar) + (defun . toggle-horizontal-scroll-bar) + (defun . scroll-bar-set-window-start) + (defun . scroll-bar-drag-position) + (defun . scroll-bar-maybe-set-window-start) + (defun . scroll-bar-drag-1) + (defun . scroll-bar-drag) + (defun . scroll-bar-scroll-down) + (defun . scroll-bar-scroll-up) + (defun . scroll-bar-toolkit-scroll) + (provide . scroll-bar)) + ("/usr/share/emacs/23.0.93/lisp/mouse.elc" mouse-yank-at-point mouse-drag-copy-region mouse-1-click-follows-link mouse-1-click-in-non-selected-windows + (defun . popup-menu) + (defun . minor-mode-menu-from-indicator) + (defun . mouse-minor-mode-menu) + (defun . mouse-menu-major-mode-map) + (defun . mouse-menu-non-singleton) + (defun . mouse-menu-bar-map) + (defun . mouse-major-mode-menu) + (defun . mouse-popup-menubar) + (defun . mouse-popup-menubar-stuff) + (defun . mouse-minibuffer-check) + (defun . mouse-delete-window) + (defun . mouse-select-window) + (defun . mouse-tear-off-window) + (defun . mouse-delete-other-windows) + (defun . mouse-split-window-vertically) + (defun . mouse-split-window-horizontally) + (defun . mouse-drag-window-above) + (defun . mouse-drag-move-window-bottom) + (defun . mouse-drag-move-window-top) + (defun . mouse-drag-mode-line-1) + (defun . mouse-drag-mode-line) + (defun . mouse-drag-header-line) + (defun . mouse-drag-vertical-line-rightward-window) + (defun . mouse-drag-vertical-line) + (defun . mouse-set-point) + mouse-last-region-beg mouse-last-region-end mouse-last-region-tick + (defun . mouse-region-match) + (defun . mouse-set-region) + (defun . mouse-set-region-1) + mouse-scroll-delay mouse-scroll-min-lines + (defun . mouse-scroll-subr) + mouse-drag-overlay mouse-drag-overlay mouse-selection-click-count mouse-selection-click-count-buffer + (defun . mouse-drag-region) + (defun . mouse-posn-property) + (defun . mouse-on-link-p) + (defun . mouse-fixup-help-message) + (defun . mouse-move-drag-overlay) + (defun . mouse-drag-track) + (defun . mouse-skip-word) + (defun . mouse-start-end) + (defun . mouse-set-mark-fast) + (defun . mouse-undouble-last-event) + mouse-region-delete-keys + (defun . mouse-show-mark) + (defun . mouse-set-mark) + (defun . mouse-kill) + (defun . mouse-yank-at-click) + (defun . mouse-yank-primary) + (defun . mouse-kill-ring-save) + mouse-save-then-kill-posn + (defun . mouse-save-then-kill-delete-region) + (defun . mouse-save-then-kill) + mouse-secondary-overlay mouse-secondary-click-count mouse-secondary-start + (defun . mouse-start-secondary) + (defun . mouse-set-secondary) + (defun . mouse-drag-secondary) + (defun . mouse-yank-secondary) + (defun . mouse-kill-secondary) + (defun . mouse-secondary-save-then-kill) + mouse-buffer-menu-maxlen mouse-buffer-menu-mode-mult mouse-buffer-menu-mode-groups + (defun . mouse-buffer-menu) + (defun . mouse-buffer-menu-alist) + (defun . mouse-buffer-menu-split) + (defun . mouse-choose-completion) + (defun . font-menu-add-default) + x-fixed-font-alist + (defun . mouse-select-font) + (defun . mouse-set-font) + mouse-appearance-menu-map + (defun . mouse-appearance-menu) + (provide . mouse) + (defun . mldrag-drag-mode-line) + (defun . mldrag-drag-vertical-line) + (provide . mldrag)) + ("/usr/share/emacs/23.0.93/lisp/jit-lock.elc" jit-lock-chunk-size jit-lock-stealth-time jit-lock-stealth-nice jit-lock-stealth-load jit-lock-stealth-verbose jit-lock-defer-contextually jit-lock-contextually jit-lock-context-time jit-lock-defer-time jit-lock-mode jit-lock-functions jit-lock-context-unfontify-pos jit-lock-stealth-timer jit-lock-stealth-repeat-timer jit-lock-context-timer jit-lock-defer-timer jit-lock-defer-buffers jit-lock-stealth-buffers + (defun . jit-lock-mode) + (defun . jit-lock-register) + (defun . jit-lock-unregister) + (defun . jit-lock-refontify) + (defun . jit-lock-function) + (defun . jit-lock-fontify-now) + (defun . jit-lock-force-redisplay) + (defun . jit-lock-stealth-chunk-start) + (defun . jit-lock-stealth-fontify) + (defun . jit-lock-deferred-fontify) + (defun . jit-lock-context-fontify) + jit-lock-after-change-extend-region-functions + (defun . jit-lock-after-change) + (provide . jit-lock)) + ("/usr/share/emacs/23.0.93/lisp/font-lock.elc" + (require . syntax) + font-lock-maximum-size font-lock-maximum-decoration font-lock-verbose font-lock-comment-face font-lock-comment-delimiter-face font-lock-string-face font-lock-doc-face font-lock-keyword-face font-lock-builtin-face font-lock-function-name-face font-lock-variable-name-face font-lock-type-face font-lock-constant-face font-lock-warning-face font-lock-negation-char-face font-lock-preprocessor-face font-lock-reference-face font-lock-keywords font-lock-keywords-alist font-lock-removed-keywords-alist font-lock-keywords-only font-lock-keywords-case-fold-search font-lock-syntactically-fontified font-lock-syntactic-face-function font-lock-syntactic-keywords font-lock-syntax-table font-lock-beginning-of-syntax-function font-lock-mark-block-function font-lock-fontify-buffer-function font-lock-unfontify-buffer-function font-lock-fontify-region-function font-lock-unfontify-region-function font-lock-inhibit-thing-lock font-lock-multiline font-lock-fontified + (defun . font-lock-mode-internal) + (defun . font-lock-add-keywords) + (defun . font-lock-update-removed-keyword-alist) + (defun . font-lock-remove-keywords) + font-lock-support-mode + (defun . font-lock-turn-on-thing-lock) + (defun . font-lock-turn-off-thing-lock) + (defun . font-lock-after-fontify-buffer) + (defun . font-lock-after-unfontify-buffer) + font-lock-extend-after-change-region-function + (defun . font-lock-fontify-buffer) + (defun . font-lock-unfontify-buffer) + (defun . font-lock-fontify-region) + (defun . font-lock-unfontify-region) + (defun . font-lock-default-fontify-buffer) + (defun . font-lock-default-unfontify-buffer) + font-lock-dont-widen font-lock-extend-region-functions + (defun . font-lock-extend-region-multiline) + (defun . font-lock-extend-region-wholelines) + (defun . font-lock-default-fontify-region) + font-lock-extra-managed-props + (defun . font-lock-default-unfontify-region) + (defun . font-lock-after-change-function) + (defun . font-lock-extend-jit-lock-region-after-change) + (defun . font-lock-fontify-block) + (defun . font-lock-prepend-text-property) + (defun . font-lock-append-text-property) + (defun . font-lock-fillin-text-property) + (defun . font-lock-apply-syntactic-highlight) + (defun . font-lock-fontify-syntactic-anchored-keywords) + (defun . font-lock-fontify-syntactic-keywords-region) + font-lock-comment-start-skip font-lock-comment-end-skip + (defun . font-lock-fontify-syntactically-region) + (defun . font-lock-apply-highlight) + (defun . font-lock-fontify-anchored-keywords) + (defun . font-lock-fontify-keywords-region) + (defun . font-lock-compile-keywords) + (defun . font-lock-compile-keyword) + (defun . font-lock-eval-keywords) + (defun . font-lock-value-in-major-mode) + (defun . font-lock-choose-keywords) + font-lock-set-defaults + (defun . font-lock-set-defaults) + (defface . font-lock-comment-face) + (defface . font-lock-comment-delimiter-face) + (defface . font-lock-string-face) + (defface . font-lock-doc-face) + (defface . font-lock-keyword-face) + (defface . font-lock-builtin-face) + (defface . font-lock-function-name-face) + (defface . font-lock-variable-name-face) + (defface . font-lock-type-face) + (defface . font-lock-constant-face) + (defface . font-lock-warning-face) + (defface . font-lock-negation-char-face) + (defface . font-lock-preprocessor-face) + (defface . font-lock-regexp-grouping-backslash) + (defface . font-lock-regexp-grouping-construct) + (defun . font-lock-match-c-style-declaration-item-and-skip-to-next) + cpp-font-lock-keywords-source-directives cpp-font-lock-keywords-source-depth cpp-font-lock-keywords lisp-font-lock-keywords-1 lisp-font-lock-keywords-2 lisp-font-lock-keywords + (provide . font-lock)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/syntax.elc" + (defun . syntax-ppss-depth) + (defun . syntax-ppss-toplevel-pos) + (defun . syntax-ppss-context) + syntax-ppss-max-span syntax-begin-function syntax-ppss-cache syntax-ppss-last + (defun . syntax-ppss-after-change-function) + (defun . syntax-ppss-flush-cache) + syntax-ppss-stats + (defun . syntax-ppss-stats) + (defun . syntax-ppss) + (defun . syntax-ppss-debug) + (provide . syntax)) + ("/usr/share/emacs/23.0.93/lisp/facemenu.elc" facemenu-keybindings facemenu-new-faces-at-end facemenu-unlisted-faces facemenu-listed-faces facemenu-face-menu + (defun . facemenu-face-menu) + facemenu-foreground-menu + (defun . facemenu-foreground-menu) + facemenu-background-menu + (defun . facemenu-background-menu) + (defun . facemenu-enable-faces-p) + facemenu-special-menu + (defun . facemenu-special-menu) + facemenu-justification-menu + (defun . facemenu-justification-menu) + facemenu-indentation-menu + (defun . facemenu-indentation-menu) + facemenu-menu + (defun . facemenu-menu) + facemenu-keymap + (defun . facemenu-keymap) + facemenu-add-face-function facemenu-end-add-face facemenu-remove-face-function facemenu-color-alist + (defun . facemenu-update) + (defun . facemenu-set-face) + (defun . facemenu-set-foreground) + (defun . facemenu-set-background) + (defun . facemenu-set-face-from-menu) + (defun . facemenu-set-invisible) + (defun . facemenu-set-intangible) + (defun . facemenu-set-read-only) + (defun . facemenu-remove-face-props) + (defun . facemenu-remove-all) + (defun . facemenu-remove-special) + (defun . facemenu-read-color) + (defun . list-colors-display) + (defun . list-colors-print) + (defun . list-colors-duplicates) + (defun . facemenu-color-equal) + (defun . facemenu-add-face) + (defun . facemenu-active-faces) + (defun . facemenu-add-new-face) + (defun . facemenu-add-new-color) + (defun . facemenu-complete-face-list) + (defun . facemenu-iterate) + (provide . facemenu)) + ("/usr/share/emacs/23.0.93/lisp/font-core.elc" font-lock-defaults font-lock-defaults-alist font-lock-function font-lock-mode + (defun . font-lock-mode) + (defun . font-lock-change-mode) + (defun . font-lock-defontify) + (defun . font-lock-default-function) + (defun . turn-on-font-lock) + font-lock-global-modes + (defun . turn-on-font-lock-if-desired) + font-lock-mode-major-mode global-font-lock-mode + (defun . global-font-lock-mode) + global-font-lock-mode-buffers + (defun . global-font-lock-mode-enable-in-buffers) + (defun . global-font-lock-mode-check-buffers) + (defun . global-font-lock-mode-cmhh) + (provide . font-core)) + ("/usr/share/emacs/23.0.93/lisp/term/tty-colors.elc" color-name-rgb-alist tty-standard-colors tty-color-mode-alist tty-defined-color-alist + (defun . tty-color-alist) + (defun . tty-modify-color-alist) + (defun . tty-register-default-colors) + (defun . tty-color-canonicalize) + (defun . tty-color-define) + (defun . tty-color-clear) + (defun . tty-color-off-gray-diag) + (defun . tty-color-approximate) + (defun . tty-color-standard-values) + (defun . tty-color-translate) + (defun . tty-color-by-index) + (defun . tty-color-values) + (defun . tty-color-desc) + (defun . tty-color-gray-shades)) + ("/usr/share/emacs/23.0.93/lisp/frame.elc" frame-creation-function-alist window-system-default-frame-alist initial-frame-alist minibuffer-frame-alist pop-up-frame-alist pop-up-frame-function special-display-frame-alist + (defun . special-display-popup-frame) + (defun . handle-delete-frame) + frame-initial-frame frame-initial-geometry-arguments + (defun . frame-initialize) + frame-notice-user-settings + (defun . frame-notice-user-settings) + (defun . make-initial-minibuffer-frame) + (defun . modify-all-frames-parameters) + (defun . get-other-frame) + (defun . next-multiframe-window) + (defun . previous-multiframe-window) + (defun . make-frame-on-display) + (defun . close-display-connection) + (defun . make-frame-command) + before-make-frame-hook after-make-frame-functions after-setting-font-hook + (defun . new-frame) + frame-inherited-parameters + (defun . make-frame) + (defun . filtered-frame-list) + (defun . minibuffer-frame-list) + (defun . get-device-terminal) + (defun . frames-on-display-list) + (defun . framep-on-display) + (defun . frame-remove-geometry-params) + (defun . select-frame-set-input-focus) + (defun . other-frame) + (defun . iconify-or-deiconify-frame) + (defun . suspend-frame) + (defun . make-frame-names-alist) + frame-name-history + (defun . select-frame-by-name) + (defun . current-frame-configuration) + (defun . set-frame-configuration) + (defun . frame-height) + (defun . frame-width) + (defun . set-default-font) + (defun . set-frame-font) + (defun . set-frame-parameter) + (defun . set-background-color) + (defun . set-foreground-color) + (defun . set-cursor-color) + (defun . set-mouse-color) + (defun . set-border-color) + (defun . auto-raise-mode) + (defun . auto-lower-mode) + (defun . set-frame-name) + (defun . frame-current-scroll-bars) + (defun . selected-terminal) + (defun . display-mouse-p) + (defun . display-popup-menus-p) + (defun . display-graphic-p) + (defun . display-images-p) + (defun . display-multi-frame-p) + (defun . display-multi-font-p) + (defun . display-selections-p) + (defun . display-screens) + (defun . display-pixel-height) + (defun . display-pixel-width) + display-mm-dimensions-alist + (defun . display-mm-height) + (defun . display-mm-width) + (defun . display-backing-store) + (defun . display-save-under) + (defun . display-planes) + (defun . display-color-cells) + (defun . display-visual-class) + (defun . frame-geom-value-cons) + (defun . frame-geom-spec-cons) + (defun . screen-height) + (defun . screen-width) + (defun . set-screen-width) + (defun . set-screen-height) + (defun . delete-other-frames) + delete-frame-hook show-trailing-whitespace auto-hscroll-mode automatic-hscrolling blink-cursor-delay blink-cursor-interval blink-cursor-idle-timer blink-cursor-timer + (defun . blink-cursor-start) + (defun . blink-cursor-timer-function) + (defun . blink-cursor-end) + blink-cursor-mode + (defun . blink-cursor-mode) + blink-cursor display-hourglass hourglass-delay cursor-in-non-selected-windows + (provide . frame)) + ("/usr/share/emacs/23.0.93/lisp/window.elc" window-size-fixed + (defun . save-selected-window) + (defun . window-body-height) + (defun . one-window-p) + (defun . window-current-scroll-bars) + (defun . walk-windows) + (defun . get-window-with-predicate) + (defun . some-window) + (defun . get-buffer-window-list) + (defun . minibuffer-window-active-p) + (defun . count-windows) + (defun . bw-get-tree) + (defun . bw-get-tree-1) + (defun . bw-find-tree-sub) + (defun . bw-find-tree-sub-1) + (defun . bw-l) + (defun . bw-t) + (defun . bw-r) + (defun . bw-b) + (defun . bw-dir) + (defun . bw-eqdir) + (defun . bw-refresh-edges) + (defun . balance-windows) + (defun . bw-adjust-window) + (defun . bw-balance-sub) + (defun . window-fixed-size-p) + window-area-factor + (defun . balance-windows-area) + display-buffer-function special-display-buffer-names special-display-regexps + (defun . special-display-p) + special-display-function same-window-buffer-names same-window-regexps + (defun . same-window-p) + pop-up-frames display-buffer-reuse-frames pop-up-windows split-height-threshold split-width-threshold split-window-preferred-function + (defun . window--splittable-p) + (defun . window--try-to-split-window) + (defun . window--frame-usable-p) + even-window-heights + (defun . window--even-window-heights) + (defun . window--display-buffer-1) + (defun . window--display-buffer-2) + (defun . display-buffer) + (defun . pop-to-buffer) + split-window-keep-point + (defun . split-window-vertically) + (defun . split-window-save-restore-data) + (defun . split-window-horizontally) + (defun . set-window-text-height) + (defun . enlarge-window-horizontally) + (defun . shrink-window-horizontally) + (defun . window-buffer-height) + (defun . count-screen-lines) + (defun . fit-window-to-buffer) + (defun . window-safely-shrinkable-p) + (defun . shrink-window-if-larger-than-buffer) + (defun . kill-buffer-and-window) + (defun . quit-window) + recenter-last-op + (defun . recenter-top-bottom) + mouse-autoselect-window-timer mouse-autoselect-window-position mouse-autoselect-window-window mouse-autoselect-window-state + (defun . mouse-autoselect-window-cancel) + (defun . mouse-autoselect-window-start) + (defun . mouse-autoselect-window-select) + (defun . handle-select-window) + (defun . delete-other-windows-vertically) + (defun . truncated-partial-width-window-p)) + ("/usr/share/emacs/23.0.93/lisp/indent.elc" standard-indent indent-line-function tab-always-indent + (defun . indent-according-to-mode) + (defun . indent-for-tab-command) + (defun . insert-tab) + (defun . indent-rigidly) + (defun . indent-line-to) + (defun . current-left-margin) + (defun . move-to-left-margin) + (defun . indent-to-left-margin) + (defun . delete-to-left-margin) + (defun . set-left-margin) + (defun . set-right-margin) + (defun . alter-text-property) + (defun . increase-left-margin) + (defun . decrease-left-margin) + (defun . increase-right-margin) + (defun . decrease-right-margin) + (defun . beginning-of-line-text) + indent-region-function + (defun . indent-region) + (defun . indent-relative-maybe) + (defun . indent-relative) + tab-stop-list edit-tab-stops-map edit-tab-stops-buffer + (defun . edit-tab-stops) + (defun . edit-tab-stops-note-changes) + (defun . tab-to-tab-stop) + (defun . move-to-tab-stop)) + ("/usr/share/emacs/23.0.93/lisp/language/cham.el" + (provide . cham)) + ("/usr/share/emacs/23.0.93/lisp/language/burmese.el") + ("/usr/share/emacs/23.0.93/lisp/language/khmer.el") + ("/usr/share/emacs/23.0.93/lisp/language/georgian.el" + (provide . georgian)) + ("/usr/share/emacs/23.0.93/lisp/language/utf-8-lang.el" + (provide . utf-8-lang)) + ("/usr/share/emacs/23.0.93/lisp/language/misc-lang.el" + (provide . misc-lang)) + ("/usr/share/emacs/23.0.93/lisp/language/vietnamese.elc" + (provide . vietnamese)) + ("/usr/share/emacs/23.0.93/lisp/language/tibetan.elc" tibetan-composable-pattern tibetan-consonant-transcription-alist tibetan-consonant-transcription-alist tibetan-vowel-transcription-alist tibetan-vowel-transcription-alist tibetan-modifier-transcription-alist tibetan-modifier-transcription-alist tibetan-precomposed-transcription-alist tibetan-precomposed-transcription-alist tibetan-subjoined-transcription-alist tibetan-subjoined-transcription-alist tibetan-base-to-subjoined-alist tibetan-base-to-subjoined-alist tibetan-composite-vowel-alist tibetan-composite-vowel-alist tibetan-precomposition-rule-alist tibetan-precomposition-rule-alist tibetan-regexp tibetan-precomposed-regexp tibetan-precomposition-rule-regexp tibetan-decomposed tibetan-decomposed-temp + (provide . tibetan)) + ("/usr/share/emacs/23.0.93/lisp/language/thai.el" + (provide . thai)) + ("/usr/share/emacs/23.0.93/lisp/language/tai-viet.el" + (provide . tai-viet)) + ("/usr/share/emacs/23.0.93/lisp/language/lao.el" + (provide . lao)) + ("/usr/share/emacs/23.0.93/lisp/language/korean.el" + (provide . korean)) + ("/usr/share/emacs/23.0.93/lisp/language/japanese.el" + (defun . compose-gstring-for-variation-glyph) + (provide . japanese)) + ("/usr/share/emacs/23.0.93/lisp/international/eucjp-ms.el") + ("/usr/share/emacs/23.0.93/lisp/international/cp51932.el") + ("/usr/share/emacs/23.0.93/lisp/language/hebrew.el" + (provide . hebrew)) + ("/usr/share/emacs/23.0.93/lisp/language/greek.el" + (provide . greek)) + ("/usr/share/emacs/23.0.93/lisp/language/romanian.el" + (provide . romanian)) + ("/usr/share/emacs/23.0.93/lisp/language/slovak.el" + (provide . slovak)) + ("/usr/share/emacs/23.0.93/lisp/language/czech.el" + (provide . czech)) + ("/usr/share/emacs/23.0.93/lisp/language/european.elc" + (defun . turkish-case-conversion-enable) + (defun . turkish-case-conversion-disable) + (provide . european)) + ("/usr/share/emacs/23.0.93/lisp/language/ethiopic.elc" ccl-encode-ethio-font ccl-encode-ethio-font + (provide . ethiopic)) + ("/usr/share/emacs/23.0.93/lisp/language/english.el") + ("/usr/share/emacs/23.0.93/lisp/language/sinhala.el") + ("/usr/share/emacs/23.0.93/lisp/language/indian.elc" devanagari-composable-pattern tamil-composable-pattern kannada-composable-pattern malayalam-composable-pattern + (provide . indian)) + ("/usr/share/emacs/23.0.93/lisp/language/cyrillic.elc" + (provide . cyrillic)) + ("/usr/share/emacs/23.0.93/lisp/language/chinese.elc" + (provide . chinese)) + ("/usr/share/emacs/23.0.93/lisp/international/charprop.el") + ("/usr/share/emacs/23.0.93/lisp/composite.elc" reference-point-alist + (t . encode-composition-rule) + (defun . encode-composition-rule) + (defun . decode-composition-rule) + (defun . encode-composition-components) + (defun . decode-composition-components) + (defun . compose-region) + (defun . decompose-region) + (defun . compose-string) + (defun . decompose-string) + (defun . compose-chars) + (defun . find-composition) + (defun . compose-chars-after) + (defun . compose-last-chars) + (defun . lgstring-header) + (defun . lgstring-set-header) + (defun . lgstring-font) + (defun . lgstring-char) + (defun . lgstring-char-len) + (defun . lgstring-shaped-p) + (defun . lgstring-set-id) + (defun . lgstring-glyph) + (defun . lgstring-glyph-len) + (defun . lgstring-set-glyph) + (defun . lglyph-from) + (defun . lglyph-to) + (defun . lglyph-char) + (defun . lglyph-code) + (defun . lglyph-width) + (defun . lglyph-lbearing) + (defun . lglyph-rbearing) + (defun . lglyph-ascent) + (defun . lglyph-descent) + (defun . lglyph-adjustment) + (defun . lglyph-set-from-to) + (defun . lglyph-set-char) + (defun . lglyph-set-code) + (defun . lglyph-set-width) + (defun . lglyph-set-adjustment) + (defun . lglyph-copy) + (defun . lgstring-insert-glyph) + (defun . compose-glyph-string) + (defun . compose-glyph-string-relative) + (defun . compose-gstring-for-graphic) + (defun . compose-gstring-for-terminal) + (defun . auto-compose-chars) + auto-composition-mode + (t . auto-composition-mode) + (defun . auto-composition-mode) + (defun . turn-on-auto-composition-if-enabled) + auto-composition-mode-major-mode global-auto-composition-mode + (t . global-auto-composition-mode) + (defun . global-auto-composition-mode) + global-auto-composition-mode-buffers + (defun . global-auto-composition-mode-enable-in-buffers) + (defun . global-auto-composition-mode-check-buffers) + (defun . global-auto-composition-mode-cmhh) + (defun . toggle-auto-composition) + (defun . decompose-composite-char)) + ("/usr/share/emacs/23.0.93/lisp/international/characters.elc" cjk-char-width-table + (defun . use-cjk-char-width-table) + (defun . use-default-char-width-table) + (defun . build-unicode-category-table)) + ("/usr/share/emacs/23.0.93/lisp/case-table.elc" + (defun . describe-buffer-case-table) + (defun . get-upcase-table) + (defun . copy-case-table) + (defun . set-case-syntax-delims) + (defun . set-case-syntax-pair) + (defun . set-upcase-syntax) + (defun . set-downcase-syntax) + (defun . set-case-syntax) + (provide . case-table)) + ("/usr/share/emacs/23.0.93/lisp/international/mule-cmds.elc" mule-keymap mule-menu-keymap describe-language-environment-map setup-language-environment-map set-coding-system-map help-xref-mule-regexp-template help-xref-mule-regexp-template + (defun . coding-system-change-eol-conversion) + (defun . coding-system-change-text-conversion) + (defun . canonicalize-coding-system-name) + (defun . coding-system-from-name) + (defun . toggle-enable-multibyte-characters) + (defun . view-hello-file) + (defun . universal-coding-system-argument) + (defun . set-default-coding-systems) + (defun . prefer-coding-system) + sort-coding-systems-predicate + (defun . sort-coding-systems) + (defun . find-coding-systems-region) + (defun . find-coding-systems-string) + (defun . find-coding-systems-for-charsets) + (defun . find-multibyte-characters) + (defun . search-unencodable-char) + last-coding-system-specified select-safe-coding-system-accept-default-p + (defun . select-safe-coding-system-interactively) + (defun . select-safe-coding-system) + (defun . select-message-coding-system) + language-info-alist + (defun . get-language-info) + (defun . set-language-info) + (defun . set-language-info-internal) + (defun . set-language-info-alist) + (defun . read-language-name) + leim-list-file-name leim-list-header leim-list-entry-regexp update-leim-list-functions + (defun . update-leim-list-file) + current-input-method current-input-method-title default-input-method input-method-history inactivate-current-input-method-function describe-current-input-method-function input-method-alist + (defun . register-input-method) + (defun . read-input-method-name) + (defun . activate-input-method) + (defun . inactivate-input-method) + (defun . set-input-method) + toggle-input-method-active + (defun . toggle-input-method) + (defun . describe-input-method) + (defun . describe-current-input-method) + (defun . read-multilingual-string) + input-method-verbose-flag input-method-highlight-flag input-method-activate-hook input-method-inactivate-hook input-method-after-insert-chunk-hook input-method-exit-on-first-char input-method-use-echo-area input-method-exit-on-invalid-key set-language-environment-hook exit-language-environment-hook + (defun . setup-specified-language-environment) + current-language-environment + (defun . reset-language-environment) + (defun . set-display-table-and-terminal-coding-system) + (defun . set-language-environment) + language-info-custom-alist + (defun . standard-display-european-internal) + (defun . set-language-environment-coding-systems) + (defun . set-language-environment-input-method) + (defun . set-language-environment-nonascii-translation) + (defun . set-language-environment-charset) + (defun . set-language-environment-unibyte) + (defun . princ-list) + (defun . describe-specified-language-support) + (defun . describe-language-environment) + locale-translation-file-name locale-language-names locale-charset-language-names locale-preferred-coding-systems + (defun . locale-name-match) + (defun . locale-charset-match-p) + locale-charset-alist + (defun . locale-charset-to-coding-system) + (defun . locale-translate) + (defun . set-locale-environment) + char-code-property-alist + (defun . define-char-code-property) + char-code-property-table + (defun . get-char-code-property) + (defun . put-char-code-property) + (defun . char-code-property-description) + iso-2022-control-alist + (defun . encoded-string-description) + (defun . encode-coding-char) + unify-8859-on-encoding-mode + (defun . unify-8859-on-encoding-mode) + unify-8859-on-decoding-mode + (defun . unify-8859-on-decoding-mode) + nonascii-insert-offset nonascii-translation-table ucs-names + (defun . ucs-names) + ucs-completions + (defun . read-char-by-name) + (defun . ucs-insert)) + ("/usr/share/emacs/23.0.93/lisp/epa-hook.elc" + (defun . epa-file--file-name-regexp-set) + epa-file-name-regexp epa-file-inhibit-auto-save epa-file-encrypt-to epa-file-handler epa-file-auto-mode-alist-entry + (defun . epa-file-name-regexp-update) + (defun . epa-file-find-file-hook) + auto-encryption-mode + (defun . auto-encryption-mode) + (provide . epa-hook)) + ("/usr/share/emacs/23.0.93/lisp/jka-cmpr-hook.elc" jka-compr-added-to-file-coding-system-alist jka-compr-file-name-handler-entry jka-compr-compression-info-list--internal jka-compr-mode-alist-additions--internal jka-compr-load-suffixes--internal + (defun . jka-compr-build-file-regexp) + (defun . jka-compr-info-regexp) + (defun . jka-compr-info-compress-message) + (defun . jka-compr-info-compress-program) + (defun . jka-compr-info-compress-args) + (defun . jka-compr-info-uncompress-message) + (defun . jka-compr-info-uncompress-program) + (defun . jka-compr-info-uncompress-args) + (defun . jka-compr-info-can-append) + (defun . jka-compr-info-strip-extension) + (defun . jka-compr-info-file-magic-bytes) + (defun . jka-compr-get-compression-info) + (defun . jka-compr-install) + (defun . jka-compr-installed-p) + (defun . jka-compr-update) + (defun . jka-compr-set) + jka-compr-compression-info-list jka-compr-mode-alist-additions jka-compr-load-suffixes auto-compression-mode + (defun . auto-compression-mode) + (defun . with-auto-compression-mode) + (provide . jka-cmpr-hook)) + ("/usr/share/emacs/23.0.93/lisp/help.elc" help-window help-window-point-marker help-map help-button-cache + (defun . help-quit) + help-return-method + (defun . print-help-return-message) + (defun . help) + (defun . help-for-help) + (defun . help-for-help-internal-doc) + (defun . help-for-help-internal) + (defun . function-called-at-point) + (defun . view-help-file) + (defun . describe-distribution) + (defun . describe-copying) + (defun . describe-gnu-project) + (defun . describe-project) + (defun . describe-no-warranty) + (defun . describe-prefix-bindings) + (defun . view-emacs-news) + (defun . view-emacs-todo) + (defun . view-todo) + (defun . view-echo-area-messages) + (defun . view-order-manuals) + (defun . view-emacs-FAQ) + (defun . view-emacs-problems) + (defun . view-emacs-debugging) + (defun . view-external-packages) + (defun . view-lossage) + (defun . describe-bindings) + (defun . describe-bindings-internal) + (defun . where-is) + (defun . help-key-description) + (defun . describe-key-briefly) + (defun . describe-key) + (defun . describe-mode) + (defun . describe-minor-mode) + (defun . describe-minor-mode-completion-table-for-symbol) + (defun . describe-minor-mode-from-symbol) + (defun . describe-minor-mode-completion-table-for-indicator) + (defun . describe-minor-mode-from-indicator) + (defun . lookup-minor-mode-from-indicator) + temp-buffer-max-height temp-buffer-resize-mode + (defun . temp-buffer-resize-mode) + (defun . resize-temp-buffer-window) + help-window-select + (defun . help-window-display-message) + (defun . help-window-setup-finish) + (defun . help-window-setup) + (defun . with-help-window) + (provide . help)) + ("/usr/share/emacs/23.0.93/lisp/simple.elc" idle-update-delay + (defun . get-next-valid-buffer) + (defun . last-buffer) + (defun . next-buffer) + (defun . previous-buffer) + (defface . next-error) + next-error-highlight next-error-highlight-no-select next-error-recenter next-error-hook next-error-highlight-timer next-error-overlay-arrow-position next-error-last-buffer next-error-function + (defun . next-error-buffer-p) + (defun . next-error-find-buffer) + (defun . next-error) + (defun . next-error-internal) + (defun . goto-next-locus) + (defun . next-match) + (defun . previous-error) + (defun . first-error) + (defun . next-error-no-select) + (defun . previous-error-no-select) + next-error-follow-last-line next-error-follow-minor-mode + (defun . next-error-follow-minor-mode) + (defun . next-error-follow-mode-post-command-hook) + (defun . fundamental-mode) + special-mode-map special-mode-map special-mode-syntax-table special-mode-abbrev-table special-mode-abbrev-table + (defun . special-mode) + hard-newline + (defun . newline) + (defun . set-hard-newline-properties) + (defun . open-line) + (defun . split-line) + (defun . delete-indentation) + (defun . join-line) + (defun . delete-blank-lines) + (defun . delete-trailing-whitespace) + (defun . newline-and-indent) + (defun . reindent-then-newline-and-indent) + (defun . quoted-insert) + (defun . forward-to-indentation) + (defun . backward-to-indentation) + (defun . back-to-indentation) + (defun . fixup-whitespace) + (defun . delete-horizontal-space) + (defun . just-one-space) + (defun . beginning-of-buffer) + (defun . end-of-buffer) + (defun . mark-whole-buffer) + (defun . goto-line) + (defun . count-lines-region) + (defun . what-line) + (defun . count-lines) + (defun . line-number-at-pos) + (defun . what-cursor-position) + read-expression-history minibuffer-completing-symbol minibuffer-default eval-expression-print-level eval-expression-print-length eval-expression-debug-on-error + (defun . eval-expression-print-format) + (defun . eval-expression) + (defun . edit-and-eval-command) + (defun . repeat-complex-command) + minibuffer-history minibuffer-history-sexp-flag minibuffer-history-search-history minibuffer-text-before-history + (defun . minibuffer-history-initialize) + (defun . minibuffer-avoid-prompt) + minibuffer-history-case-insensitive-variables + (defun . previous-matching-history-element) + (defun . next-matching-history-element) + minibuffer-temporary-goal-position minibuffer-default-add-function minibuffer-default-add-done + (defun . minibuffer-default-add-completions) + (defun . goto-history-element) + (defun . next-history-element) + (defun . previous-history-element) + (defun . next-complete-history-element) + (defun . previous-complete-history-element) + (defun . minibuffer-prompt-width) + (defun . minibuffer-history-isearch-setup) + (defun . minibuffer-history-isearch-end) + (defun . minibuffer-history-isearch-search) + (defun . minibuffer-history-isearch-message) + (defun . minibuffer-history-isearch-wrap) + (defun . minibuffer-history-isearch-push-state) + (defun . minibuffer-history-isearch-pop-state) + (defun . advertised-undo) + undo-equiv-table undo-in-region undo-no-redo pending-undo-list + (defun . undo) + (defun . buffer-disable-undo) + (defun . undo-only) + undo-in-progress + (defun . undo-more) + (defun . undo-copy-list) + (defun . undo-copy-list-1) + (defun . undo-start) + (defun . undo-make-selective-list) + (defun . undo-elt-in-region) + (defun . undo-elt-crosses-region) + (defun . undo-delta) + undo-ask-before-discard undo-extra-outer-limit + (defun . undo-outer-limit-truncate) + shell-command-history shell-command-switch shell-command-default-error-buffer + (defun . minibuffer-default-add-shell-commands) + (defun . minibuffer-complete-shell-command) + minibuffer-local-shell-command-map + (defun . read-shell-command) + (defun . shell-command) + (defun . display-message-or-buffer) + (defun . shell-command-sentinel) + (defun . shell-command-on-region) + (defun . shell-command-to-string) + (defun . process-file) + (defun . start-file-process) + universal-argument-map universal-argument-num-events overriding-map-is-bound saved-overriding-map + (defun . ensure-overriding-map-is-bound) + (defun . restore-overriding-map) + (defun . universal-argument) + (defun . universal-argument-more) + (defun . negative-argument) + (defun . digit-argument) + (defun . universal-argument-minus) + (defun . universal-argument-other-key) + buffer-substring-filters + (defun . filter-buffer-substring) + interprogram-cut-function interprogram-paste-function kill-ring kill-ring-max kill-ring-yank-pointer + (defun . kill-new) + (defun . kill-append) + yank-pop-change-selection + (defun . current-kill) + kill-read-only-ok + (defun . kill-region) + (defun . copy-region-as-kill) + (defun . kill-ring-save) + (defun . append-next-kill) + yank-excluded-properties yank-window-start yank-undo-function + (defun . yank-pop) + (defun . yank) + (defun . rotate-yank-pointer) + (defun . kill-forward-chars) + (defun . kill-backward-chars) + backward-delete-char-untabify-method + (defun . backward-delete-char-untabify) + (defun . zap-to-char) + kill-whole-line + (defun . kill-line) + (defun . kill-whole-line) + (defun . forward-visible-line) + (defun . end-of-visible-line) + (defun . insert-buffer) + (defun . append-to-buffer) + (defun . prepend-to-buffer) + (defun . copy-to-buffer) + activate-mark-hook deactivate-mark-hook + (defun . mark) + (defun . deactivate-mark) + (defun . activate-mark) + select-active-regions + (defun . set-mark) + use-empty-active-region + (defun . use-region-p) + (defun . region-active-p) + mark-ring mark-ring-max global-mark-ring global-mark-ring-max + (defun . pop-to-mark-command) + (defun . push-mark-command) + set-mark-command-repeat-pop set-mark-default-inactive + (defun . set-mark-command) + (defun . push-mark) + (defun . pop-mark) + (defun . exchange-dot-and-mark) + (defun . exchange-point-and-mark) + shift-select-mode + (defun . handle-shift-selection) + transient-mark-mode + (defun . transient-mark-mode) + transient-mark-mode widen-automatically + (defun . pop-global-mark) + next-line-add-newlines + (defun . next-line) + (defun . previous-line) + track-eol goal-column temporary-goal-column line-move-ignore-invisible line-move-visual + (defun . line-move-partial) + (defun . line-move) + (defun . line-move-visual) + (defun . line-move-1) + (defun . line-move-finish) + (defun . line-move-to-column) + (defun . move-end-of-line) + (defun . move-beginning-of-line) + (defun . set-goal-column) + (defun . end-of-visual-line) + (defun . beginning-of-visual-line) + (defun . kill-visual-line) + (defun . next-logical-line) + (defun . previous-logical-line) + visual-line-mode-map visual-line-fringe-indicators visual-line--saved-state visual-line-mode + (defun . visual-line-mode) + (defun . turn-on-visual-line-mode) + visual-line-mode-major-mode global-visual-line-mode + (defun . global-visual-line-mode) + global-visual-line-mode-buffers + (defun . global-visual-line-mode-enable-in-buffers) + (defun . global-visual-line-mode-check-buffers) + (defun . global-visual-line-mode-cmhh) + (defun . scroll-other-window-down) + (defun . beginning-of-buffer-other-window) + (defun . end-of-buffer-other-window) + (defun . transpose-chars) + (defun . transpose-words) + (defun . transpose-sexps) + (defun . transpose-lines) + (defun . transpose-subr) + (defun . transpose-subr-1) + (defun . backward-word) + (defun . mark-word) + (defun . kill-word) + (defun . backward-kill-word) + (defun . current-word) + fill-prefix auto-fill-inhibit-regexp + (defun . do-auto-fill) + comment-line-break-function + (defun . default-indent-new-line) + normal-auto-fill-function + (defun . auto-fill-mode) + (defun . auto-fill-function) + (defun . turn-on-auto-fill) + (defun . turn-off-auto-fill) + (defun . set-fill-column) + (defun . set-selective-display) + indicate-unused-lines + (defun . toggle-truncate-lines) + (defun . toggle-word-wrap) + overwrite-mode-textual overwrite-mode-binary + (defun . overwrite-mode) + (defun . binary-overwrite-mode) + line-number-mode + (defun . line-number-mode) + column-number-mode + (defun . column-number-mode) + size-indication-mode + (defun . size-indication-mode) + blink-matching-paren blink-matching-paren-on-screen blink-matching-paren-distance blink-matching-delay blink-matching-paren-dont-ignore-comments + (defun . blink-matching-open) + (defun . keyboard-quit) + buffer-quit-function + (defun . keyboard-escape-quit) + (defun . play-sound-file) + read-mail-command mail-user-agent + (defun . rfc822-goto-eoh) + (defun . sendmail-user-agent-compose) + (defun . compose-mail) + (defun . compose-mail-other-window) + (defun . compose-mail-other-frame) + set-variable-value-history + (defun . set-variable) + completion-list-mode-map completion-reference-buffer completion-no-auto-exit completion-base-size + (defun . delete-completion-window) + (defun . previous-completion) + (defun . next-completion) + (defun . choose-completion) + (defun . choose-completion-delete-max-match) + choose-completion-string-functions + (defun . choose-completion-string) + completion-list-mode-map completion-list-mode-syntax-table completion-list-mode-abbrev-table completion-list-mode-abbrev-table + (defun . completion-list-mode) + (defun . completion-list-mode-finish) + completion-show-help completion-root-regexp + (defun . completion-setup-function) + (defun . switch-to-completions) + (defun . event-apply-alt-modifier) + (defun . event-apply-super-modifier) + (defun . event-apply-hyper-modifier) + (defun . event-apply-shift-modifier) + (defun . event-apply-control-modifier) + (defun . event-apply-meta-modifier) + (defun . event-apply-modifier) + clone-buffer-hook clone-indirect-buffer-hook + (defun . clone-process) + (defun . clone-buffer) + (defun . clone-indirect-buffer) + (defun . clone-indirect-buffer-other-window) + normal-erase-is-backspace + (defun . normal-erase-is-backspace-setup-frame) + (defun . normal-erase-is-backspace-mode) + vis-mode-saved-buffer-invisibility-spec visible-mode + (defun . visible-mode) + (defun . apply-partially) + bad-packages-alist + (defun . bad-package-check) + (provide . simple)) + ("/usr/share/emacs/23.0.93/lisp/abbrev.elc" only-global-abbrevs abbrev-mode + (defun . abbrev-mode) + abbrev-mode edit-abbrevs-map + (defun . kill-all-abbrevs) + (defun . copy-abbrev-table) + (defun . insert-abbrevs) + (defun . list-abbrevs) + (defun . abbrev-table-name) + (defun . prepare-abbrev-list-buffer) + (defun . edit-abbrevs-mode) + (defun . edit-abbrevs) + (defun . edit-abbrevs-redefine) + (defun . define-abbrevs) + (defun . read-abbrev-file) + (defun . quietly-read-abbrev-file) + (defun . write-abbrev-file) + (defun . add-mode-abbrev) + (defun . add-global-abbrev) + (defun . add-abbrev) + (defun . inverse-add-mode-abbrev) + (defun . inverse-add-global-abbrev) + (defun . inverse-add-abbrev) + (defun . abbrev-prefix-mark) + (defun . expand-region-abbrevs) + (defun . abbrev-table-get) + (defun . abbrev-table-put) + (defun . abbrev-get) + (defun . abbrev-put) + (defun . abbrev-with-wrapper-hook) + abbrev-table-name-list + (defun . make-abbrev-table) + (defun . abbrev-table-p) + global-abbrev-table abbrev-minor-mode-table-alist fundamental-mode-abbrev-table abbrevs-changed abbrev-all-caps abbrev-start-location abbrev-start-location-buffer last-abbrev last-abbrev-text last-abbrev-location pre-abbrev-expand-hook + (defun . clear-abbrev-table) + (defun . define-abbrev) + (defun . abbrev--check-chars) + (defun . define-global-abbrev) + (defun . define-mode-abbrev) + (defun . abbrev--active-tables) + (defun . abbrev-symbol) + (defun . abbrev-expansion) + (defun . abbrev--before-point) + (defun . abbrev-insert) + abbrev-expand-functions + (defun . expand-abbrev) + (defun . unexpand-abbrev) + (defun . abbrev--write) + (defun . abbrev--describe) + (defun . insert-abbrev-table-description) + (defun . define-abbrev-table) + (defun . abbrev-table-menu) + (provide . abbrev)) + ("/usr/share/emacs/23.0.93/lisp/loaddefs.el" add-log-current-defun-function add-log-full-name add-log-mailing-address add-log-lisp-like-modes add-log-c-like-modes add-log-tex-like-modes ad-redefinition-action ad-default-compilation-action + (defun . outlinify-sticky) + (defun . ange-ftp-re-read-dir) + (defun . command-apropos) + autoarg-mode autoarg-kp-mode auto-insert-mode global-auto-revert-mode mouse-avoidance-mode display-battery-mode binhex-begin-line bookmark-map + (defun . bookmark-locate) + (defun . list-bookmarks) + (defun . edit-bookmarks) + menu-bar-bookmark-map + (defun . menu-bar-bookmark-map) + browse-url-browser-function browse-url-firefox-program browse-url-galeon-program + (defun . list-yahrzeit-dates) + calc-settings-file c-mode-syntax-table c++-mode-syntax-table objc-mode-syntax-table java-mode-syntax-table idl-mode-syntax-table pike-mode-syntax-table custom-print-functions comint-output-filter-functions comint-use-prompt-regexp-instead-of-fields comint-file-name-prefix compilation-mode-hook compilation-start-hook compilation-window-height compilation-process-setup-function compilation-buffer-name-function compilation-finish-function compilation-finish-functions compilation-ask-about-save compilation-search-path compile-command compilation-disable-input partial-completion-mode dynamic-completion-mode global-auto-composition-mode crisp-mode + (defun . brief-mode) + cua-mode custom-browse-sort-alphabetically custom-buffer-sort-alphabetically custom-menu-sort-alphabetically + (defun . customize-variable) + (defun . customize-variable-other-window) + customize-package-emacs-version-alist + (defun . customize-changed) + custom-file global-cwarn-mode + (defun . pending-delete-mode) + delete-selection-mode desktop-save-mode desktop-locals-to-save desktop-save-buffer desktop-buffer-mode-handlers desktop-minor-mode-handlers diff-switches diff-command dired-listing-switches dired-chown-program dired-ls-F-marks-symlinks dired-trivial-filenames dired-keep-marker-rename dired-keep-marker-copy dired-keep-marker-hardlink dired-keep-marker-symlink dired-dwim-target dired-copy-preserve-time dired-directory dnd-protocol-alist + (defun . zone-mode) + (defun . easy-mmode-define-minor-mode) + (defun . easy-mmode-define-global-mode) + (defun . define-global-minor-mode) + (defun . ebnf-despool) + edebug-all-defs edebug-all-forms + (defun . edebug-defun) + (defun . ediff3) + (defun . ediff) + (defun . ebuffers) + (defun . ebuffers3) + (defun . edirs) + (defun . edir-revisions) + (defun . edirs3) + (defun . edirs-merge) + (defun . edir-merge-revisions) + (defun . edir-merge-revisions-with-ancestor) + (defun . edirs-merge-with-ancestor) + (defun . ediff-merge) + (defun . ediff-merge-with-ancestor) + (defun . epatch) + (defun . epatch-buffer) + (defun . erevision) + menu-bar-ediff-misc-menu menu-bar-epatch-menu menu-bar-ediff-merge-menu menu-bar-ediff-menu + (defun . eregistry) + edmacro-eight-bits eldoc-minor-mode-string eldoc-documentation-function menu-bar-emerge-menu epa-global-mail-mode + (defun . epg-import-keys-from-server) + (defun . erc-select) + erc-ctcp-query-DCC-hook erc-track-minor-mode + (defun . eshell-report-bug) + tags-file-name tags-case-fold-search tags-table-list tags-compression-info-list tags-add-tables find-tag-hook find-tag-default-function eudc-tools-menu + (defun . ffap) + find-ls-option find-ls-subdir-switches find-grep-options find-name-arg ff-special-constructs + (defun . ff-find-related-file) + flyspell-mode + (defun . gdba) + gdb-enable-debug generic-mode-list + (defun . gnus-batch-kill) + (defun . gnus-set-sorted-intersection) + (defun . goto-address-at-mouse) + grep-window-height grep-command grep-find-command grep-setup-hook grep-regexp-alist grep-program find-program xargs-program grep-find-use-xargs grep-history grep-find-history + (defun . find-grep) + help-at-pt-display-when-idle three-step-help global-hi-lock-mode + (defun . highlight-lines-matching-regexp) + (defun . highlight-regexp) + (defun . highlight-phrase) + (defun . unhighlight-regexp) + hs-special-modes-alist global-highlight-changes-mode hippie-expand-try-functions-list hippie-expand-verbose hippie-expand-dabbrev-skip-space hippie-expand-dabbrev-as-symbol hippie-expand-no-restriction hippie-expand-max-buffers hippie-expand-ignore-buffers hippie-expand-only-buffers global-hl-line-mode holiday-general-holidays general-holidays holiday-oriental-holidays oriental-holidays holiday-local-holidays local-holidays holiday-other-holidays other-holidays hebrew-holidays-1 hebrew-holidays-2 hebrew-holidays-3 hebrew-holidays-4 holiday-hebrew-holidays hebrew-holidays holiday-christian-holidays christian-holidays holiday-islamic-holidays islamic-holidays holiday-bahai-holidays bahai-holidays holiday-solar-holidays solar-holidays + (defun . holiday-list) + icomplete-mode ido-mode + (defun . image-dired) + (defun . tumme) + image-file-name-extensions image-file-name-regexps auto-image-file-mode imenu-sort-function imenu-generic-expression imenu-create-index-function imenu-prev-index-position-function imenu-extract-index-name-function imenu-name-lookup-function imenu-default-goto-function inferior-lisp-filter-regexp inferior-lisp-program inferior-lisp-load-command inferior-lisp-prompt inferior-lisp-mode-hook + (defun . run-lisp) + Info-split-threshold ispell-personal-dictionary ispell-menu-map ispell-menu-xemacs ispell-menu-map-needed ispell-skip-region-alist ispell-tex-skip-alists ispell-html-skip-alists iswitchb-mode jka-compr-inhibit keypad-setup keypad-numlock-setup keypad-shifted-setup keypad-numlock-shifted-setup kkc-after-update-conversion-functions default-korean-keyboard + (defun . landmark-repeat) + (defun . landmark) + latex-inputenc-coding-alist latin1-display latin1-display-ucs-per-lynx ledit-save-files ledit-go-to-lisp-string ledit-go-to-liszt-string linum-format global-linum-mode locate-ls-subdir-switches lpr-windows-system lpr-lp-system printer-name lpr-switches lpr-command ls-lisp-support-shell-wildcards + (defun . phases-of-moon) + mail-hist-keep-history mail-use-rfc822 mail-abbrevs-mode mail-complete-style + (defun . manual-entry) + minibuffer-depth-indicate-mode minibuffer-electric-default-mode multi-isearch-next-buffer-function multi-isearch-next-buffer-current-function multi-isearch-current-buffer mouse-sel-mode msb-mode + (defun . string-to-list) + (defun . string-to-vector) + (defun . nested-alist-p) + mouse-wheel-mode + (defun . ipconfig) + (defun . indent-for-comment) + (defun . set-comment-column) + (defun . kill-comment) + (defun . indent-new-comment-line) + comment-use-syntax comment-column comment-start comment-start-skip comment-end-skip comment-end comment-indent-function comment-insert-comment-function comment-style comment-padding comment-multi-line comment-auto-fill-only-comments disabled-command-function disabled-command-hook + (defun . run-octave) + (defun . org-publish-project) + show-paren-mode pc-selection-mode + (defun . pcomplete/gdb) + (defun . pcomplete/pushd) + (defun . pcomplete/time) + cvs-dired-action cvs-dired-use-hook + (defun . cvs-dired-noselect) + cvs-global-menu + (defun . edit-picture) + (defun . run-prolog) + bdf-directory-list ps-page-dimensions-database ps-paper-type ps-print-color-p quickurl-reread-hook-postfix + (defun . irc) + rcirc-track-minor-mode + (defun . regexp-builder) + recentf-mode + (defun . close-rectangle) + (defun . replace-rectangle) + global-reveal-mode rmail-dont-reply-to-names rmail-default-dont-reply-to-names rmail-ignored-headers rmail-displayed-headers rmail-retry-ignored-headers rmail-highlighted-headers rmail-primary-inbox-list rmail-secondary-file-directory rmail-secondary-file-regexp rmail-mode-hook rmail-show-message-hook rmail-file-coding-system rmail-insert-mime-forwarded-message-function rmail-user-mail-address-regexp savehist-mode scroll-all-mode mail-from-style mail-specify-envelope-from mail-self-blind mail-interactive send-mail-function mail-header-separator mail-archive-file-name mail-default-reply-to mail-alias-file mail-personal-alias-file mail-setup-hook mail-aliases mail-yank-prefix mail-indentation-spaces mail-citation-hook mail-citation-prefix-regexp mail-signature mail-signature-file mail-default-directory mail-default-headers mail-bury-selects-summary mail-send-nonascii mail-mailing-lists sendmail-coding-system default-sendmail-coding-system server-mode + (defun . xml-mode) + (defun . shell-script-mode) + shell-dumb-shell-regexp skeleton-filter-function + (defun . speedbar) + strokes-mode + (defun . t-mouse-mode) + gpm-mouse-mode table-cell-map-hook table-load-hook table-point-entered-cell-hook table-point-left-cell-hook tex-shell-file-name tex-directory tex-first-line-header-regexp tex-main-file tex-offer-save tex-run-command latex-run-command slitex-run-command tex-start-options tex-start-commands latex-block-names tex-bibtex-command tex-dvi-print-command tex-alt-dvi-print-command tex-dvi-view-command tex-show-queue-command tex-default-mode tex-open-quote tex-close-quote + (defun . TeX-mode) + (defun . plain-TeX-mode) + (defun . LaTeX-mode) + texinfo-open-quote texinfo-close-quote + (defun . thumbs) + display-time-day-and-date display-time-mode + (defun . subtract-time) + tpu-edt-mode + (defun . tpu-edt) + trace-buffer tramp-mode tramp-syntax tramp-file-name-regexp-unified tramp-file-name-regexp-separate tramp-file-name-regexp-url tramp-file-name-regexp tramp-root-regexp tramp-completion-file-name-regexp-unified tramp-completion-file-name-regexp-separate tramp-completion-file-name-regexp-url tramp-completion-file-name-regexp tramp-completion-file-name-handler-alist + (defun . tramp-run-real-handler) + (defun . tramp-completion-run-real-handler) + (defun . tramp-completion-file-name-handler) + (defun . tramp-register-file-name-handler) + (defun . tramp-register-completion-file-name-handler) + type-break-mode type-break-interval type-break-good-rest-interval type-break-good-break-interval type-break-keystroke-threshold url-handler-mode + (defun . url-http-file-readable-p) + url-https-default-port url-https-asynchronous-p + (defun . url-https-expand-file-name) + (defun . url-rlogin) + (defun . url-telnet) + (defun . url-tn3270) + url-debug + (defun . url-basepath) + vc-checkout-hook vc-checkin-hook vc-before-checkin-hook + (defun . vc-resolve-conflicts) + (defun . vc-revert-buffer) + (defun . vc-arch-registered) + vc-bzr-admin-dirname vc-bzr-admin-checkout-format-file + (defun . vc-bzr-registered) + (defun . vc-cvs-registered) + (defun . vc-git-registered) + (defun . vc-hg-registered) + vc-mtn-admin-dir vc-mtn-admin-format + (defun . vc-mtn-registered) + vc-rcs-master-templates + (defun . vc-rcs-registered) + vc-sccs-master-templates + (defun . vc-sccs-registered) + (defun . vc-sccs-search-project-dir) + (defun . vc-svn-registered) + view-remove-frame-by-deleting view-mode warning-prefix-function warning-series warning-fill-prefix warning-type-format + (defun . which-func-mode) + which-function-mode global-whitespace-mode global-whitespace-newline-mode widget-keymap winner-mode woman-locale xterm-mouse-mode + (provide . loaddefs)) + ("/usr/share/emacs/23.0.93/lisp/startup.elc" command-line-processed initial-buffer-choice inhibit-startup-screen inhibit-splash-screen inhibit-startup-message startup-screen-inhibit-startup-screen inhibit-startup-echo-area-message inhibit-default-init inhibit-startup-buffer-menu command-switch-alist command-line-args-left argv command-line-functions command-line-default-directory command-line-x-option-alist command-line-ns-option-alist before-init-hook after-init-hook emacs-startup-hook term-setup-hook inhibit-startup-hooks keyboard-type window-setup-hook initial-major-mode init-file-user site-run-file mail-host-address user-mail-address auto-save-list-file-prefix emacs-quick-startup emacs-basic-display init-file-debug init-file-had-error normal-top-level-add-subdirs-inode-list debian-emacs-flavor no-blinking-cursor pure-space-overflow pure-space-overflow-message tutorial-directory + (defun . normal-top-level-add-subdirs-to-load-path) + (defun . normal-top-level-add-to-load-path) + (defun . normal-top-level) + (defun . precompute-menubar-bindings) + tty-long-option-alist tty-long-option-alist tool-bar-images-pixel-height tool-bar-originally-present handle-args-function-alist window-system-initialization-alist + (defun . tty-handle-args) + (defun . command-line) + initial-scratch-message fancy-startup-text fancy-about-text fancy-splash-image splash-screen-keymap + (defun . fancy-splash-insert) + (defun . fancy-splash-head) + (defun . fancy-startup-tail) + (defun . exit-splash-screen) + (defun . fancy-startup-screen) + (defun . fancy-about-screen) + (defun . fancy-splash-frame) + (defun . use-fancy-splash-screens-p) + (defun . normal-splash-screen) + (defun . normal-mouse-startup-screen) + (defun . normal-no-mouse-startup-screen) + (defun . normal-about-screen) + (defun . startup-echo-area-message) + (defun . display-startup-echo-area-message) + (defun . display-startup-screen) + (defun . display-about-screen) + (defun . about-emacs) + (defun . display-splash-screen) + (defun . command-line-1) + (defun . command-line-normalize-file-name)) + ("/usr/share/emacs/23.0.93/lisp/button.elc" + (defface . button) + button-map button-buffer-map + (defun . button-category-symbol) + (defun . define-button-type) + (defun . button-type-put) + (defun . button-type-get) + (defun . button-type-subtype-p) + (defun . button-start) + (defun . button-end) + (defun . button-get) + (defun . button-put) + (defun . button-activate) + (defun . button-label) + (defun . button-type) + (defun . button-has-type-p) + (defun . make-button) + (defun . insert-button) + (defun . make-text-button) + (defun . insert-text-button) + (defun . button-at) + (defun . next-button) + (defun . previous-button) + (defun . push-button) + (defun . forward-button) + (defun . backward-button) + (provide . button)) + ("/usr/share/emacs/23.0.93/lisp/minibuffer.elc" + (defun . completion-boundaries) + (defun . completion--some) + (defun . complete-with-action) + (defun . completion-table-dynamic) + (defun . lazy-completion-table) + (defun . completion-table-with-context) + (defun . completion-table-with-terminator) + (defun . completion-table-with-predicate) + (defun . completion-table-in-turn) + (defun . complete-in-turn) + (defun . dynamic-completion-table) + (defun . minibuffer-message) + (defun . minibuffer-completion-contents) + (defun . delete-minibuffer-contents) + completion-auto-help completion-styles-alist completion-styles + (defun . completion-try-completion) + (defun . completion-all-completions) + (defun . minibuffer--bitset) + (defun . completion--do-completion) + (defun . minibuffer-complete) + completion-all-sorted-completions + (defun . completion--flush-all-sorted-completions) + (defun . completion-all-sorted-completions) + (defun . minibuffer-force-complete) + minibuffer-confirm-exit-commands + (defun . minibuffer-complete-and-exit) + (defun . completion--try-word-completion) + (defun . minibuffer-complete-word) + (defun . completion--insert-strings) + completion-common-substring completion-setup-hook + (defface . completions-first-difference) + (defface . completions-common-part) + (defun . completion-hilit-commonality) + (defun . display-completion-list) + (defun . minibuffer-completion-help) + (defun . exit-minibuffer) + (defun . self-insert-and-exit) + minibuffer-local-must-match-filename-map + (defun . minibuffer--double-dollars) + (defun . completion--make-envvar-table) + completion--embedded-envvar-re completion--embedded-envvar-re + (defun . completion--embedded-envvar-table) + (defun . completion--file-name-table) + (defun . read-file-name-internal) + read-file-name-function read-file-name-predicate read-file-name-completion-ignore-case insert-default-directory + (defun . read-file-name) + (defun . internal-complete-buffer-except) + (defun . completion-emacs21-try-completion) + (defun . completion-emacs21-all-completions) + (defun . completion-emacs22-try-completion) + (defun . completion-emacs22-all-completions) + (defun . completion--merge-suffix) + (defun . completion-basic-try-completion) + (defun . completion-basic-all-completions) + completion-pcm--delim-wild-regex + (defun . completion-pcm--prepare-delim-re) + completion-pcm-word-delimiters + (defun . completion-pcm--pattern-trivial-p) + (defun . completion-pcm--string->pattern) + (defun . completion-pcm--pattern->regex) + (defun . completion-pcm--all-completions) + (defun . completion-pcm--hilit-commonality) + (defun . completion-pcm--find-all-completions) + (defun . completion-pcm-all-completions) + (defun . completion-pcm--merge-completions) + (defun . completion-pcm--pattern->string) + (defun . completion-pcm--filename-try-filter) + (defun . completion-pcm--merge-try) + (defun . completion-pcm-try-completion) + (provide . minibuffer)) + ("/usr/share/emacs/23.0.93/lisp/faces.elc" face-name-history face-font-selection-order face-font-family-alternatives face-font-registry-alternatives + (defun . face-list) + (defun . make-face) + (defun . make-empty-face) + (defun . copy-face) + (defun . internal-find-face) + (defun . internal-get-face) + (defun . facep) + (defun . check-face) + (defun . face-id) + (defun . face-equal) + (defun . face-differs-from-default-p) + (defun . face-nontrivial-p) + face-x-resources + (defun . set-face-attribute-from-resource) + (defun . set-face-attributes-from-resources) + (defun . make-face-x-resource-internal) + (defun . face-name) + (defun . face-all-attributes) + (defun . face-attribute) + (defun . face-attribute-merged-with) + (defun . face-attribute-specified-or) + (defun . face-foreground) + (defun . face-background) + (defun . face-stipple) + (defun . face-background-pixmap) + (defun . face-underline-p) + (defun . face-inverse-video-p) + (defun . face-bold-p) + (defun . face-italic-p) + (defun . face-documentation) + (defun . set-face-documentation) + (defun . face-doc-string) + (defun . set-face-doc-string) + (defun . set-face-attribute) + (defun . make-face-bold) + (defun . make-face-unbold) + (defun . make-face-italic) + (defun . make-face-unitalic) + (defun . make-face-bold-italic) + (defun . set-face-font) + (defun . set-face-background) + (defun . set-face-foreground) + (defun . set-face-stipple) + (defun . set-face-underline-p) + (defun . set-face-underline) + (defun . set-face-inverse-video-p) + (defun . set-face-bold-p) + (defun . set-face-italic-p) + (defun . set-face-background-pixmap) + (defun . invert-face) + (defun . read-face-name) + (defun . face-valid-attribute-values) + face-attribute-name-alist + (defun . face-descriptive-attribute-name) + (defun . face-read-string) + (defun . face-read-integer) + (defun . read-face-attribute) + (defun . read-face-font) + (defun . read-all-face-attributes) + (defun . modify-face) + (defun . read-face-and-attribute) + list-faces-sample-text + (defun . list-faces-display) + (defun . describe-face) + (defun . face-attr-construct) + (defun . face-spec-set-match-display) + (defun . face-spec-choose) + (defun . face-spec-reset-face) + (defun . face-spec-set) + (defun . face-spec-recalc) + (defun . face-spec-set-2) + (defun . face-attr-match-p) + (defun . face-spec-match-p) + (defun . face-default-spec) + (defun . face-user-default-spec) + (defun . defined-colors) + (defun . x-defined-colors) + (defun . color-defined-p) + (defun . x-color-defined-p) + (defun . color-values) + (defun . x-color-values) + (defun . display-color-p) + (defun . x-display-color-p) + (defun . display-grayscale-p) + (defun . read-color) + (defun . face-at-point) + (defun . foreground-color-at-point) + (defun . background-color-at-point) + frame-background-mode inhibit-frame-set-background-mode + (defun . frame-set-background-mode) + (defun . x-handle-named-frame-geometry) + (defun . x-handle-reverse-video) + (defun . x-create-frame-with-faces) + (defun . face-set-after-frame-default) + (defun . tty-handle-reverse-video) + (defun . tty-create-frame-with-faces) + (defun . tty-find-type) + (defun . tty-run-terminal-initialization) + (defun . tty-set-up-initial-frame-faces) + (defun . frame-update-faces) + (defun . frame-update-face-colors) + (defface . default) + (defface . bold) + (defface . italic) + (defface . bold-italic) + (defface . underline) + (defface . fixed-pitch) + (defface . variable-pitch) + (defface . shadow) + (defface . link) + (defface . link-visited) + (defface . highlight) + (defface . region) + (defface . secondary-selection) + (defface . trailing-whitespace) + (defface . escape-glyph) + (defface . nobreak-space) + (defface . mode-line) + (defface . mode-line-inactive) + (defface . mode-line-highlight) + (defface . mode-line-emphasis) + (defface . mode-line-buffer-id) + (defface . header-line) + (defface . vertical-border) + (defface . minibuffer-prompt) + (defface . fringe) + (defface . scroll-bar) + (defface . border) + (defface . cursor) + (defface . mouse) + (defface . tool-bar) + (defface . menu) + x-font-regexp x-font-regexp-head x-font-regexp-weight x-font-regexp-slant x-font-regexp-weight-subnum x-font-regexp-weight-subnum x-font-regexp-slant-subnum x-font-regexp-slant-subnum x-font-regexp-swidth-subnum x-font-regexp-swidth-subnum x-font-regexp-adstyle-subnum x-font-regexp-adstyle-subnum + (defun . x-resolve-font-name) + (defun . x-frob-font-weight) + (defun . x-frob-font-slant) + (defun . internal-frob-font-weight) + (defun . internal-frob-font-slant) + (defun . x-make-font-bold) + (defun . x-make-font-demibold) + (defun . x-make-font-unbold) + (defun . x-make-font-italic) + (defun . x-make-font-oblique) + (defun . x-make-font-unitalic) + (defun . x-make-font-bold-italic) + (provide . faces)) + ("/usr/share/emacs/23.0.93/lisp/cus-face.elc" + (defun . custom-facep) + (defun . custom-declare-face) + custom-face-attributes + (defun . custom-face-attributes-get) + (defun . custom-set-faces) + (defun . custom-theme-set-faces) + (defun . custom-theme-reset-faces) + (defun . custom-reset-faces) + (provide . cus-face)) + ("/usr/share/emacs/23.0.93/lisp/files.elc" delete-auto-save-files directory-abbrev-alist make-backup-files backup-inhibited backup-by-copying backup-by-copying-when-linked backup-by-copying-when-mismatch backup-by-copying-when-privileged-mismatch backup-enable-predicate buffer-offer-save find-file-existing-other-name find-file-visit-truename revert-without-query buffer-file-number buffer-file-numbers-unique buffer-file-read-only temporary-file-directory small-temporary-file-directory null-device file-name-invalid-regexp file-precious-flag break-hardlink-on-save version-control dired-kept-versions delete-old-versions kept-old-versions kept-new-versions require-final-newline mode-require-final-newline auto-save-default auto-save-file-name-transforms save-abbrevs find-file-run-dired find-directory-functions find-file-not-found-functions find-file-not-found-hooks find-file-hooks find-file-hook write-file-functions write-file-hooks local-write-file-hooks write-contents-functions write-contents-hooks enable-local-variables local-enable-local-variables enable-local-eval view-read-only file-name-history + (defun . ange-ftp-completion-hook-function) + (defun . convert-standard-filename) + (defun . read-directory-name) + (defun . pwd) + cd-path + (defun . parse-colon-path) + (defun . cd-absolute) + (defun . cd) + (defun . load-file) + (defun . locate-file) + (defun . locate-file-completion-table) + (defun . locate-file-completion) + locate-dominating-stop-dir-regexp + (defun . locate-dominating-file) + (defun . executable-find) + (defun . load-library) + (defun . file-remote-p) + (defun . file-local-copy) + (defun . file-truename) + (defun . file-chase-links) + (defun . make-temp-file) + (defun . recode-file-name) + confirm-nonexistent-file-or-buffer + (defun . confirm-nonexistent-file-or-buffer) + (defun . read-buffer-to-switch) + (defun . switch-to-buffer-other-window) + (defun . switch-to-buffer-other-frame) + (defun . display-buffer-other-frame) + find-file-default + (defun . minibuffer-with-setup-hook) + (defun . find-file-read-args) + (defun . find-file) + (defun . find-file-other-window) + (defun . find-file-other-frame) + (defun . find-file-existing) + (defun . find-file-read-only) + (defun . find-file-read-only-other-window) + (defun . find-file-read-only-other-frame) + (defun . find-alternate-file-other-window) + (defun . find-alternate-file) + (defun . create-file-buffer) + (defun . generate-new-buffer) + automount-dir-prefix abbreviated-home-dir + (defun . abbreviate-file-name) + find-file-not-true-dirname-list + (defun . find-buffer-visiting) + find-file-wildcards find-file-suppress-same-file-warnings large-file-warning-threshold + (defun . abort-if-file-too-large) + (defun . find-file-noselect) + (defun . find-file-noselect-1) + (defun . insert-file-contents-literally) + (defun . insert-file-1) + (defun . insert-file-literally) + find-file-literally + (defun . find-file-literally) + after-find-file-from-revert-buffer + (defun . after-find-file) + (defun . report-errors) + (defun . normal-mode) + auto-mode-case-fold auto-mode-alist + (defun . conf-mode-maybe) + interpreter-mode-alist inhibit-first-line-modes-regexps inhibit-first-line-modes-suffixes auto-mode-interpreter-regexp magic-mode-alist magic-fallback-mode-alist magic-mode-regexp-match-limit + (defun . set-auto-mode) + (defun . set-auto-mode-0) + (defun . set-auto-mode-1) + ignored-local-variables hack-local-variables-hook safe-local-variable-values safe-local-eval-forms file-local-variables-alist before-hack-local-variables-hook + (defun . hack-local-variables-confirm) + (defun . hack-local-variables-prop-line) + (defun . hack-local-variables-filter) + (defun . hack-local-variables) + (defun . safe-local-variable-p) + (defun . risky-local-variable-p) + (defun . hack-one-local-variable-quotep) + (defun . hack-one-local-variable-constantp) + (defun . hack-one-local-variable-eval-safep) + (defun . hack-one-local-variable) + dir-locals-class-alist dir-locals-directory-cache + (defun . dir-locals-get-class-variables) + (defun . dir-locals-collect-mode-variables) + (defun . dir-locals-collect-variables) + (defun . dir-locals-set-directory-class) + (defun . dir-locals-set-class-variables) + dir-locals-file + (defun . dir-locals-find-file) + (defun . dir-locals-read-from-file) + (defun . hack-dir-local-variables) + change-major-mode-with-file-name + (defun . set-visited-file-name) + (defun . write-file) + (defun . backup-buffer) + (defun . backup-buffer-copy) + (defun . file-name-sans-versions) + (defun . file-ownership-preserved-p) + (defun . file-name-sans-extension) + (defun . file-name-extension) + make-backup-file-name-function backup-directory-alist + (defun . normal-backup-enable-predicate) + (defun . make-backup-file-name) + (defun . make-backup-file-name-1) + (defun . backup-file-name-p) + (defun . backup-extract-version) + (defun . find-backup-file-name) + (defun . file-nlinks) + (defun . file-relative-name) + (defun . save-buffer) + (defun . delete-auto-save-file-if-necessary) + auto-save-hook before-save-hook after-save-hook save-buffer-coding-system + (defun . basic-save-buffer) + (defun . basic-save-buffer-1) + (defun . basic-save-buffer-2) + (defun . diff-buffer-with-file) + save-some-buffers-action-alist buffer-save-without-query + (defun . save-some-buffers) + (defun . not-modified) + (defun . toggle-read-only) + (defun . insert-file) + (defun . append-to-file) + (defun . file-newest-backup) + (defun . rename-uniquely) + (defun . make-directory) + revert-buffer-function revert-buffer-insert-file-contents-function buffer-stale-function before-revert-hook after-revert-hook + (defun . revert-buffer) + (defun . recover-this-file) + (defun . recover-file) + (defun . recover-session) + (defun . recover-session-finish) + (defun . kill-buffer-ask) + (defun . kill-some-buffers) + (defun . kill-matching-buffers) + (defun . auto-save-mode) + (defun . rename-auto-save-file) + (defun . make-auto-save-file-name) + (defun . auto-save-file-name-p) + (defun . wildcard-to-regexp) + list-directory-brief-switches list-directory-verbose-switches + (defun . file-expand-wildcards) + (defun . list-directory) + (defun . shell-quote-wildcard-pattern) + insert-directory-program directory-free-space-program directory-free-space-args + (defun . get-free-disk-space) + directory-listing-before-filename-regexp insert-directory-ls-version + (defun . insert-directory) + (defun . insert-directory-adj-pos) + (defun . insert-directory-safely) + kill-emacs-query-functions confirm-kill-emacs + (defun . save-buffers-kill-emacs) + (defun . save-buffers-kill-terminal) + (defun . file-name-non-special) + (defun . file-modes-char-to-who) + (defun . file-modes-char-to-right) + (defun . file-modes-rights-to-number) + (defun . file-modes-symbolic-to-number) + (defun . read-file-modes) + trash-directory + (defun . move-file-to-trash)) + ("/usr/share/emacs/23.0.93/lisp/bindings.elc" + (defun . make-mode-line-mouse-map) + (defun . mode-line-toggle-read-only) + (defun . mode-line-toggle-modified) + (defun . mode-line-widen) + (defun . mode-line-abbrev-mode) + (defun . mode-line-auto-fill-mode) + mode-line-input-method-map mode-line-coding-system-map + (defun . mode-line-change-eol) + mode-line-eol-desc-cache + (defun . mode-line-eol-desc) + mode-line-client mode-line-mule-info + (defun . mode-line-frame-control) + mode-line-frame-identification mode-line-process mode-line-modified mode-line-remote mode-line-position mode-line-modes mode-line-mode-menu mode-line-major-mode-keymap mode-line-minor-mode-keymap mode-line-column-line-number-mode-map mode-line-buffer-identification-keymap + (defun . propertized-buffer-identification) + mode-line-buffer-identification + (defun . unbury-buffer) + (defun . mode-line-unbury-buffer) + (defun . mode-line-bury-buffer) + (defun . mode-line-other-buffer) + (defun . mode-line-next-buffer) + (defun . mode-line-previous-buffer) + (defun . bound-and-true-p) + (defun . mode-line-minor-mode-help) + minor-mode-alist + (provide . base64) + (provide . md5) + (provide . overlay) + (provide . text-properties) + (defun . complete-symbol) + narrow-map goto-map search-map + (defun . mode-specific-command-prefix) + mode-specific-map ctl-x-r-map abbrev-map) + ("/usr/share/emacs/23.0.93/lisp/format.elc" format-alist + (defun . format-encode-run-method) + (defun . format-decode-run-method) + (defun . format-annotate-function) + (defun . format-decode) + (defun . format-decode-buffer) + (defun . format-decode-region) + (defun . format-encode-buffer) + (defun . format-encode-region) + (defun . format-write-file) + (defun . format-find-file) + (defun . format-insert-file) + (defun . format-read) + (defun . format-replace-strings) + (defun . format-delq-cons) + (defun . format-make-relatively-unique) + (defun . format-common-tail) + (defun . format-proper-list-p) + (defun . format-reorder) + (defun . format-deannotate-region) + (defun . format-subtract-regions) + (defun . format-property-increment-region) + (defun . format-insert-annotations) + (defun . format-annotate-value) + (defun . format-annotate-region) + (defun . format-annotate-location) + (defun . format-annotate-single-property-change) + (defun . format-annotate-atomic-property-change) + (provide . format)) + ("/usr/share/emacs/23.0.93/lisp/env.elc" read-envvar-name-history + (defun . read-envvar-name) + setenv-history + (defun . substitute-env-vars) + (defun . setenv-internal) + (defun . setenv) + (defun . getenv) + (provide . env)) + ("/usr/share/emacs/23.0.93/lisp/international/mule-conf.el" + (defun . define-iso-single-byte-charset) + (provide . code-pages)) + ("/usr/share/emacs/23.0.93/lisp/international/mule.elc" mule-version mule-version-date private-char-area-1-min private-char-area-1-max private-char-area-2-min private-char-area-2-max emacs-mule-charset-table + (defun . convert-define-charset-argument) + (defun . define-charset) + (defun . load-with-code-conversion) + (defun . charset-info) + (defun . charset-id) + (defun . charset-bytes) + (defun . get-charset-property) + (defun . put-charset-property) + (defun . charset-description) + (defun . charset-dimension) + (defun . charset-chars) + (defun . charset-iso-final-char) + (defun . charset-short-name) + (defun . charset-long-name) + (defun . charset-list) + (defun . char-valid-p) + (defun . generic-char-p) + (defun . make-char-internal) + ascii-case-table coding-system-iso-2022-flags + (defun . define-coding-system) + (defun . coding-system-doc-string) + (defun . coding-system-mnemonic) + (defun . coding-system-type) + (defun . coding-system-charset-list) + (defun . coding-system-category) + (defun . coding-system-get) + (defun . coding-system-eol-type-mnemonic) + (defun . coding-system-lessp) + (defun . coding-system-equal) + (defun . add-to-coding-system-list) + (defun . coding-system-list) + char-coding-system-table + (defun . transform-make-coding-system-args) + (defun . make-coding-system) + (defun . merge-coding-systems) + (defun . autoload-coding-system) + buffer-file-coding-system-explicit + (defun . set-buffer-file-coding-system) + (defun . revert-buffer-with-coding-system) + (defun . set-file-name-coding-system) + default-terminal-coding-system + (defun . set-terminal-coding-system) + default-keyboard-coding-system + (defun . set-keyboard-coding-system) + keyboard-coding-system + (defun . set-buffer-process-coding-system) + (defun . set-clipboard-coding-system) + (defun . set-selection-coding-system) + last-next-selection-coding-system + (defun . set-next-selection-coding-system) + (defun . set-coding-priority) + ctext-non-standard-encodings-alist ctext-non-standard-encodings ctext-non-standard-encodings-regexp + (defun . ctext-post-read-conversion) + (defun . ctext-non-standard-encodings-table) + (defun . ctext-pre-write-conversion) + auto-coding-alist auto-coding-regexp-alist + (defun . auto-coding-regexp-alist-lookup) + auto-coding-functions set-auto-coding-for-load + (defun . auto-coding-alist-lookup) + (defun . find-auto-coding) + (defun . set-auto-coding) + (defun . after-insert-file-set-coding) + (defun . find-new-buffer-file-coding-system) + (defun . modify-coding-system-alist) + (defun . decode-coding-inserted-region) + (defun . recode-region) + (defun . make-translation-table) + (defun . make-translation-table-from-vector) + (defun . make-translation-table-from-alist) + (defun . define-translation-table) + (defun . translate-region) + (defun . with-category-table) + (defun . define-translation-hash-table) + (defun . sgml-xml-auto-coding-function) + (defun . sgml-html-meta-auto-coding-function) + (defun . xml-find-file-coding-system) + (provide . mule)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/map-ynp.elc" + (defun . map-y-or-n-p)) + ("/usr/share/emacs/23.0.93/lisp/custom.elc" + (require . widget) + custom-define-hook custom-dont-initialize custom-current-group-alist + (defun . custom-initialize-default) + (defun . custom-initialize-set) + (defun . custom-initialize-safe-set) + (defun . custom-initialize-safe-default) + (defun . custom-initialize-reset) + (defun . custom-initialize-changed) + (defun . custom-declare-variable) + (defun . defcustom) + (defun . defface) + (defun . custom-current-group) + (defun . custom-declare-group) + (defun . defgroup) + (defun . custom-add-to-group) + (defun . custom-group-of-mode) + (defun . custom-handle-all-keywords) + (defun . custom-handle-keyword) + (defun . custom-add-dependencies) + (defun . custom-add-option) + (defun . custom-add-frequent-value) + (defun . custom-add-link) + (defun . custom-add-version) + (defun . custom-add-package-version) + (defun . custom-add-load) + (defun . custom-autoload) + (defun . custom-variable-p) + (defun . custom-note-var-changed) + custom-load-recursion + (defun . custom-load-symbol) + custom-local-buffer + (defun . custom-set-default) + (defun . custom-set-minor-mode) + (defun . custom-quote) + (defun . customize-mark-to-save) + (defun . customize-mark-as-set) + (defun . custom-reevaluate-setting) + custom-known-themes + (defun . custom-theme-p) + (defun . custom-check-theme) + (defun . custom-push-theme) + (defun . custom-set-variables) + (defun . custom-theme-set-variables) + (defun . deftheme) + (defun . custom-declare-theme) + (defun . custom-make-theme-feature) + custom-theme-directory + (defun . provide-theme) + (defun . load-theme) + custom-enabling-themes + (defun . enable-theme) + custom-enabled-themes + (defun . custom-theme-enabled-p) + (defun . disable-theme) + (defun . custom-variable-theme-value) + (defun . custom-theme-recalc-variable) + (defun . custom-theme-recalc-face) + (defun . custom-theme-reset-variables) + (defun . custom-reset-variables) + read-quoted-char-radix + (provide . custom)) + ("/usr/share/emacs/23.0.93/lisp/widget.elc" + (defun . define-widget-keywords) + (defun . define-widget) + (defun . widget-plist-member) + (provide . widget)) + ("/usr/share/emacs/23.0.93/lisp/version.el" emacs-copyright emacs-version emacs-major-version emacs-minor-version emacs-build-time emacs-build-system + (defun . emacs-version) + (defun . version)) + ("/usr/share/emacs/23.0.93/lisp/subr.elc" custom-declare-variable-list + (defun . custom-declare-variable-early) + (defun . declare-function) + (defun . not) + (defun . noreturn) + (defun . 1value) + (defun . def-edebug-spec) + (defun . lambda) + (defun . push) + (defun . pop) + (defun . when) + (defun . unless) + --dolist-tail-- + (defun . dolist) + --dotimes-limit-- + (defun . dotimes) + (defun . declare) + (defun . ignore-errors) + (defun . ignore) + (defun . error) + (defun . frame-configuration-p) + (defun . functionp) + (defun . caar) + (defun . cadr) + (defun . cdar) + (defun . cddr) + (defun . last) + (defun . butlast) + (defun . nbutlast) + (defun . delete-dups) + (defun . number-sequence) + (defun . copy-tree) + (defun . assoc-default) + (defun . assoc-ignore-case) + (defun . assoc-ignore-representation) + (defun . member-ignore-case) + (defun . assq-delete-all) + (defun . rassq-delete-all) + (defun . remove) + (defun . remq) + (defun . kbd) + (defun . undefined) + (defun . suppress-keymap) + (defun . define-key-after) + (defun . map-keymap-sorted) + (defun . keymap-canonicalize) + (defun . keyboard-translate) + (defun . global-set-key) + (defun . local-set-key) + (defun . global-unset-key) + (defun . local-unset-key) + key-substitution-in-progress + (defun . substitute-key-definition) + (defun . substitute-key-definition-key) + global-map esc-map ctl-x-map ctl-x-4-map + (defun . ctl-x-4-prefix) + ctl-x-5-map + (defun . ctl-x-5-prefix) + listify-key-sequence-1 listify-key-sequence-1 + (defun . listify-key-sequence) + (defun . eventp) + (defun . event-modifiers) + (defun . event-basic-type) + (defun . mouse-movement-p) + (defun . mouse-event-p) + (defun . event-start) + (defun . event-end) + (defun . event-click-count) + (defun . posn-window) + (defun . posn-area) + (defun . posn-point) + (defun . posn-set-point) + (defun . posn-x-y) + (defun . posn-col-row) + (defun . posn-actual-col-row) + (defun . posn-timestamp) + (defun . posn-string) + (defun . posn-image) + (defun . posn-object) + (defun . posn-object-x-y) + (defun . posn-object-width-height) + (defun . window-dot) + (defun . set-window-dot) + (defun . read-input) + (defun . show-buffer) + (defun . eval-current-buffer) + (defun . string-to-int) + (defun . insert-string) + (defun . makehash) + (defun . baud-rate) + (defun . focus-frame) + (defun . unfocus-frame) + executing-macro x-lost-selection-hooks x-sent-selection-hooks messages-buffer-max-lines last-input-char last-command-char + (defun . send-string) + (defun . send-region) + (defun . string=) + (defun . string<) + (defun . move-marker) + (defun . rplaca) + (defun . rplacd) + (defun . beep) + (defun . indent-to-column) + (defun . backward-delete-char) + (defun . search-forward-regexp) + (defun . search-backward-regexp) + (defun . int-to-string) + (defun . store-match-data) + (defun . chmod) + (defun . mkdir) + (defun . point-at-eol) + (defun . point-at-bol) + (defun . user-original-login-name) + (defun . make-local-hook) + (defun . add-hook) + (defun . remove-hook) + (defun . add-to-list) + (defun . add-to-ordered-list) + (defun . add-to-history) + delay-mode-hooks delayed-mode-hooks after-change-major-mode-hook + (defun . run-mode-hooks) + (defun . delay-mode-hooks) + (defun . derived-mode-p) + minor-mode-list + (defun . add-minor-mode) + (defun . symbol-file) + (defun . locate-library) + (defun . eval-at-startup) + (defun . load-history-regexp) + (defun . load-history-filename-element) + (defun . eval-after-load) + (defun . do-after-load-evaluation) + (defun . eval-next-after-load) + (defun . process-lines) + (defun . open-network-stream) + (defun . process-kill-without-query) + (defun . process-get) + (defun . process-put) + read-quoted-char-radix + (defun . read-quoted-char) + (defun . read-passwd) + (defun . read-number) + (defun . sit-for) + (defun . atomic-change-group) + (defun . prepare-change-group) + (defun . activate-change-group) + (defun . accept-change-group) + (defun . cancel-change-group) + (defun . redraw-modeline) + (defun . force-mode-line-update) + (defun . momentary-string-display) + (defun . copy-overlay) + (defun . remove-overlays) + suspend-hook suspend-resume-hook temp-buffer-show-hook temp-buffer-setup-hook buffer-file-type user-emacs-directory + (defun . locate-user-emacs-file) + (defun . find-tag-default) + (defun . play-sound) + (defun . shell-quote-argument) + (defun . string-or-null-p) + (defun . booleanp) + (defun . field-at-pos) + (defun . remove-yank-excluded-properties) + (defun . insert-for-yank) + (defun . insert-for-yank-1) + (defun . insert-buffer-substring-no-properties) + (defun . insert-buffer-substring-as-yank) + (defun . start-process-shell-command) + (defun . start-file-process-shell-command) + (defun . call-process-shell-command) + (defun . process-file-shell-command) + (defun . with-current-buffer) + (defun . with-selected-window) + (defun . with-selected-frame) + (defun . with-temp-file) + (defun . with-temp-message) + (defun . with-temp-buffer) + (defun . with-output-to-string) + (defun . with-local-quit) + (defun . while-no-input) + (defun . condition-case-no-debug) + (defun . with-demoted-errors) + (defun . combine-after-change-calls) + (defun . with-case-table) + (defun . save-match-data) + (defun . match-string) + (defun . match-string-no-properties) + (defun . match-substitute-replacement) + (defun . looking-back) + (defun . looking-at-p) + (defun . string-match-p) + (defun . subregexp-context-p) + split-string-default-separators + (defun . split-string) + (defun . combine-and-quote-strings) + (defun . split-string-and-unquote) + (defun . subst-char-in-string) + (defun . replace-regexp-in-string) + (defun . add-to-invisibility-spec) + (defun . remove-from-invisibility-spec) + (defun . with-syntax-table) + (defun . make-syntax-table) + (defun . syntax-after) + (defun . syntax-class) + (defun . text-clone-maintain) + (defun . text-clone-create) + (defun . define-mail-user-agent) + (defun . progress-reporter-update) + (defun . make-progress-reporter) + (defun . progress-reporter-force-update) + (defun . progress-reporter-do-update) + (defun . progress-reporter-done) + (defun . dotimes-with-progress-reporter) + version-separator version-regexp-alist + (defun . version-to-list) + (defun . version-list-<) + (defun . version-list-=) + (defun . version-list-<=) + (defun . version-list-not-zero) + (defun . version<) + (defun . version<=) + (defun . version=)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/backquote.elc" + (provide . backquote) + (defun . backquote-list*-function) + (defun . backquote-list*-macro) + (defun . backquote-list*) + backquote-backquote-symbol backquote-unquote-symbol backquote-splice-symbol + (defun . backquote) + (defun . \`) + (defun . backquote-delay-process) + (defun . backquote-process) + (defun . backquote-listify)) + ("/usr/share/emacs/23.0.93/lisp/emacs-lisp/byte-run.elc" + (defun . macro-declaration-function) + (defun . defsubst) + (defun . make-obsolete) + (defun . define-obsolete-function-alias) + (defun . make-obsolete-variable) + (defun . define-obsolete-variable-alias) + (defun . dont-compile) + (defun . eval-when-compile) + (defun . eval-and-compile) + (defun . with-no-warnings))) diff --git a/elpa-to-submit/nxhtml/tests/in/bug370417.php b/elpa-to-submit/nxhtml/tests/in/bug370417.php new file mode 100644 index 0000000000..b73534de20 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug370417.php @@ -0,0 +1,10 @@ + + +
' . $exception->getMessage() . '
' + . 'Stack Trace:' + . ''; + } + echo '' . $exception->getTraceAsString() . '+ +
+ + diff --git a/elpa-to-submit/nxhtml/tests/in/bug381979-2-bad-traceb.txt b/elpa-to-submit/nxhtml/tests/in/bug381979-2-bad-traceb.txt new file mode 100644 index 0000000000..514b00aad6 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug381979-2-bad-traceb.txt @@ -0,0 +1,24 @@ +Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil) + <(1 nil) + (and mumamo-last-new-chunk first-check-from (< first-check-from (overlay-end mumamo-last-new-chunk))) + (if (and mumamo-last-new-chunk first-check-from (< first-check-from ...)) (progn (setq mumamo-last-new-chunk ...))) + (when (and mumamo-last-new-chunk first-check-from (< first-check-from ...)) (setq mumamo-last-new-chunk (overlay-get mumamo-last-new-chunk ...))) + (progn (setq mumamo-last-new-chunk (overlay-get new-chunk-at-change-min ...)) (when (and mumamo-last-new-chunk first-check-from ...) (setq mumamo-last-new-chunk ...))) + (if new-chunk-at-change-min (progn (setq mumamo-last-new-chunk ...) (when ... ...))) + (when new-chunk-at-change-min (setq mumamo-last-new-chunk (overlay-get new-chunk-at-change-min ...)) (when (and mumamo-last-new-chunk first-check-from ...) (setq mumamo-last-new-chunk ...))) + (progn (when new-chunk-at-change-min (setq mumamo-last-new-chunk ...) (when ... ...))) + (if (mumamo-make-new-chunks) (progn (when new-chunk-at-change-min ... ...))) + (when (mumamo-make-new-chunks) (when new-chunk-at-change-min (setq mumamo-last-new-chunk ...) (when ... ...))) + (progn (when (mumamo-make-new-chunks) (when new-chunk-at-change-min ... ...)) (setq mumamo-last-chunk-change-pos nil)) + (if mumamo-last-chunk-change-pos (progn (when ... ...) (setq mumamo-last-chunk-change-pos nil))) + (when mumamo-last-chunk-change-pos (when (mumamo-make-new-chunks) (when new-chunk-at-change-min ... ...)) (setq mumamo-last-chunk-change-pos nil)) + (let* ((change-min ...) (change-max ...) (new-chunk-at-change-min ...) (new-chunk-at-change-min-start ...) (this-new-syntax-min-max ...) (this-new-syntax-min ...) (in-new-min-border ...) (here ...) (first-check-from ...)) (when mumamo-last-chunk-change-pos (when ... ...) (setq mumamo-last-chunk-change-pos nil)) (let* (... ... ... ... narpos this-new-values this-new-chunk prev-new-chunk first-change-pos interrupted ... ... ... ... ...) (when ... ...) (unless this-new-chunk ...) (setq mumamo-find-chunks-level ...) (when this-new-chunk ... ...) (when end-param ...))) + (save-restriction (widen) (let* (... ... ... ... ... ... ... ... ...) (when mumamo-last-chunk-change-pos ... ...) (let* ... ... ... ... ... ...))) + mumamo-find-chunks(1 "mumamo-set-major-post-command") + (let* ((ovl ...) (major ...) (in-pre-hook ...)) (if (not major) (lwarn ... :error "major=%s" major) (unless ... ...))) + mumamo-set-major-post-command() + (if font-lock-mode (mumamo-set-major-post-command)) + mumamo-post-command-1() + eval((mumamo-post-command-1)) + eval-expression((mumamo-post-command-1) nil) + call-interactively(eval-expression nil nil) diff --git a/elpa-to-submit/nxhtml/tests/in/bug381979-2.php b/elpa-to-submit/nxhtml/tests/in/bug381979-2.php new file mode 100644 index 0000000000..fc543c5de4 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug381979-2.php @@ -0,0 +1,6 @@ + 'bar', + 'gaz' => 'gazonk', +); +?> \ No newline at end of file diff --git a/elpa-to-submit/nxhtml/tests/in/bug381979-svnlib.inc b/elpa-to-submit/nxhtml/tests/in/bug381979-svnlib.inc new file mode 100644 index 0000000000..6fc755bccd --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug381979-svnlib.inc @@ -0,0 +1,744 @@ + $username, 'password' => $password) + ); +} + +/** + * Unset any username and password that was previously passed + * to subversion_set_authentication_info(), so that subsequent repository + * access will happen anonymously again. + */ +function svnlib_unset_authentication_info() { + _svnlib_authentication_info(FALSE); +} + +/** + * Append the option for our custom config dir to a $cmd array, + * and also username and password if those have been set before. + */ +function _svnlib_add_common_options(&$cmd) { + $auth_info = _svnlib_authentication_info(); + if (isset($auth_info)) { + $cmd = array_merge($cmd, array( + '--username', escapeshellarg($auth_info['username']), + '--password', escapeshellarg($auth_info['password']), + )); + } + $cmd[] = '--config-dir '. escapeshellarg(dirname(__FILE__) .'/configdir'); +} + +/** + * Write or retrieve the authentication info state, stored in a static variable. + * + * @param $info + * NULL to retrieve the info, FALSE to unset it, or an array with array keys + * 'username' and 'password' to remember it for later retrieval. + */ +function _svnlib_authentication_info($info = NULL) { + static $auth_info = NULL; + + if (!isset($info)) { + return $auth_info; + } + else { + $auth_info = ($info === FALSE) ? NULL : $info; + return $auth_info; + } +} + +/** + * By default, Subversion will be invoked with the 'svn' binary which is + * alright as long as the binary is in the PATH. If it's not, you can call + * this function to set a different path to the binary (which will be used + * until this process finishes, or until a new path is set). + */ +function svnlib_set_svn_binary($svn_binary) { + _svnlib_svn_binary($svn_binary); +} + +/** + * Write or retrieve the path of the svn binary, stored in a static variable. + * + * @param $svn_binary + * NULL to retrieve the info, or the path to the binary to remember it + * for later retrieval. + */ +function _svnlib_svn_binary($svn_binary = NULL) { + static $binary = 'svn'; + + if (!isset($svn_binary)) { + return $binary; + } + $binary = $svn_binary; + return $binary; +} + +/** + * Retrieve the version of the svn binary, and return an array with the keys + * 'major', 'minor' and 'patch', each containing the integer for the respective + * part of the version number. If invoking the SVN executable fails, an empty + * array is returned. + */ +function svnlib_version() { + static $version; + + if (isset($version)) { + return $version; + } + $return_code = 0; + exec(_svnlib_svn_binary() .' --version', $output, $return_code); + + if ($return_code != 0) { + $version = array(); + return $version; + } + $line = reset($output); // The first line contains the version number. + + if (!preg_match('/\b([\d]+)\.([\d]+)(?:\.([\d]+))?/', $line, $matches)) { + $version = array(); + return $version; + } + $version = array( + 'major' => (int) $matches[1], + 'minor' => (int) $matches[2], + 'patch' => empty($matches[3]) ? 0 : (int) $matches[3], + ); + return $version; +} + +/** + * Append an appropriate output pipe to a $cmd array, which causes STDERR + * to be written to a random file. + * + * @return + * An array with the temporary files that will be created when $cmd + * is executed. In its current form, the return array only contains + * the filename for STDERR output as 'stderr' array element. + */ +function _svnlib_add_output_pipes(&$cmd) { + $tempdir = file_directory_temp(); + $tempfiles = array( + 'stderr' => $tempdir .'/drupal_versioncontrol_svn.stderr.'. mt_rand() .'.txt', + ); + $cmd[] = '2> '. $tempfiles['stderr']; + return $tempfiles; +} + +/** + * Delete temporary files that have been created by a command which included + * output pipes from _svnlib_add_output_pipes(). + */ +function _svnlib_delete_temporary_files($tempfiles) { + @unlink($tempfiles['stderr']); +} + +/** + * Read the STDERR output for a command that was executed. + * The output must have been written to a temporary file which was given + * by _svnlib_add_output_pipes(). The temporary file is deleted after it + * has been read. After calling the function, the error message can be + * retrieved by calling svnlib_last_error_message() or discarded by calling + * svnlib_unset_error_message(). + */ +function _svnlib_set_error_message($tempfiles) { + _svnlib_error_message(file_get_contents($tempfiles['stderr'])); + @unlink($tempfiles['stderr']); +} + +/** + * Retrieve the STDERR output from the last invocation of 'svn' that exited + * with a non-zero status code. After fetching the error message, it will be + * unset again until a subsequent 'svn' invocation fails as well. If no message + * is set, this function returns NULL. + * + * For better security, it is advisable to run the returned error message + * through check_plain() or similar string checker functions. + */ +function svnlib_last_error_message() { + $message = _svnlib_error_message(); + _svnlib_error_message(FALSE); + return $message; +} + +/** + * Write or retrieve an error message, stored in a static variable. + * + * @param $info + * NULL to retrieve the message, FALSE to unset it, or a string containing + * the new message to remember it for later retrieval. + */ +function _svnlib_error_message($message = NULL) { + static $error_message = NULL; + + if (!isset($message)) { + return $error_message; + } + else { + $error_message = ($message === FALSE) ? NULL : $message; + return $error_message; + } +} + +/** + * Return commit log messages of a repository URL. This function is equivalent + * to 'svn log -v -r $revision_range $repository_url'. + * + * @param $repository_url + * The URL of the repository (e.g. 'file:///svnroot/my-repo') or an item + * inside that repository (e.g. 'file:///svnroot/my-repo/subdir/hello.php'). + * @param $revision_range + * The revision specification that will be passed to 'svn log' as the + * '-r' parameter. Examples: '35' for a specific revision, 'HEAD:35' for all + * revisions since (and including) r35, or the default parameter 'HEAD:1' + * for all revisions of the given URL. If you specify the more recent + * revision first (e.g. 'HEAD:1') then it will also be first in the + * result array, whereas if you specify the older revision first ('1:HEAD') + * then you'll get a result array with an ascending sort, the most + * recent revision being the last array element. + * @param $url_revision + * The revision of the URL that should be listed. + * This needs to be a single revision, e.g. '35' or 'HEAD'. + * For example, if a file was deleted in revision 36, you need to pass '35' + * as parameter to get its log, otherwise Subversion won't find the file. + * + * @return + * An array of detailed information about the revisions that exist + * in the given URL at the specified revision or revision range. + * Each revision detail array has the revision number as array key. + * If the 'svn log' invocation exited with an error, this function + * returns NULL and the error message can be retrieved by calling + * svnlib_last_error_message(). + */ +function svnlib_log($repository_url, $revision_range = 'HEAD:1', $url_revision = 'HEAD') { + $cmd = array( + escapeshellarg(escapeshellcmd(_svnlib_svn_binary())), + 'log', + '-r', $revision_range, + '--non-interactive', + '--xml', + '-v', + ); + _svnlib_add_common_options($cmd); + $cmd[] = escapeshellarg($repository_url .'@'. $url_revision); + $tempfiles = _svnlib_add_output_pipes($cmd); + + $return_code = 0; + exec(implode(' ', $cmd), $output, $return_code); + if ($return_code != 0) { + _svnlib_set_error_message($tempfiles); + return NULL; // no such revision(s) found + } + $log = implode("\n", $output); + _svnlib_delete_temporary_files($tempfiles); + + return _svnlib_parse_log($log); +} + +/* + * Parse the output of 'svn log' into an array of log entries. + * The output looks something like this (0 to N possible "logentry" elements): + ++ +*/ +function _svnlib_parse_log($log) { + $revisions = array(); + $xml = new SimpleXMLElement($log); + + foreach ($xml->logentry as $logentry) { + $revision = array(); + $revision['rev'] = intval((string) $logentry['revision']); + $revision['author'] = (string) $logentry->author; + $revision['msg'] = rtrim((string) $logentry->msg); // no trailing linebreaks + $revision['time_t'] = strtotime((string) $logentry->date); + $paths = array(); + + foreach ($logentry->paths->path as $logpath) { + $path = array( + 'path' => (string) $logpath, + 'action' => (string) $logpath['action'], + ); + if (!empty($logpath['copyfrom-path'])) { + $path['copyfrom'] = array( + 'path' => (string) $logpath['copyfrom-path'], + 'rev' => (string) $logpath['copyfrom-rev'], + ); + } + $paths[$path['path']] = $path; + } + $revision['paths'] = $paths; + $revisions[$revision['rev']] = $revision; + } + return $revisions; +} + +/** + * Return the contents of a directory (specified as repository URL, + * optionally at a certain revision) as an array of items. This function + * is equivalent to 'svn ls $repository_url@$revision'. + * + * @param $repository_url + * The URL of the repository (e.g. 'file:///svnroot/my-repo') or an item + * inside that repository (e.g. 'file:///svnroot/my-repo/subdir'). + * @param $url_revision + * The revision of the URL that should be listed. + * This needs to be a single revision, e.g. '35' or 'HEAD'. + * For example, if a file was deleted in revision 36, you need to pass '35' + * as parameter to get its listing, otherwise Subversion won't find the file. + * @param $recursive + * FALSE to retrieve just the direct child items of the current directory, + * or TRUE to descend into each subdirectory and retrieve all descendant + * items recursively. If $recursive is true then each directory item + * in the result array will have an additional array element 'children' + * which contains the list entries below this directory, as array keys + * in the result array. + * + * If @p $repository_url refers to a file then the @p $recursive parameter + * has no effect on the 'svn ls' output and, by consequence, on the + * return value. + * + * @return + * A array of items. If @p $repository_url refers to a file then the array + * contains a single entry with this file, whereas if @p $repository_url + * refers to a directory then the array contains all items inside this + * directory (but not the directory itself). + * If the 'svn ls' invocation exited with an error, this function + * returns NULL and the error message can be retrieved by calling + * svnlib_last_error_message(). + */ +function svnlib_ls($repository_url, $url_revision = 'HEAD', $recursive = FALSE) { + $cmd = array( + escapeshellarg(escapeshellcmd(_svnlib_svn_binary())), + 'ls', + '--non-interactive', + '--xml', + ); + if ($recursive) { + $cmd[] = '-R'; + } + _svnlib_add_common_options($cmd); + $cmd[] = escapeshellarg($repository_url .'@'. $url_revision); + $tempfiles = _svnlib_add_output_pipes($cmd); + + $return_code = 0; + exec(implode(' ', $cmd), $output, $return_code); + if ($return_code != 0) { + _svnlib_set_error_message($tempfiles); + return NULL; // no such item or revision found + } + $lists = implode("\n", $output); + _svnlib_delete_temporary_files($tempfiles); + + return _svnlib_parse_ls($lists, $recursive); +} + +/* + * Parse the output of 'svn ls' into an array of item entries. + * The output looks something like this (0 to N possible "entry" elements): + ++ +jpetso +2007-04-12T15:01:00.247137Z ++ +/trunk/lila/kde/scalable/apps/ktorrent.svg +/trunk/lila/kde/scalable/devices/laptop.svg +/trunk/lila/kde/scalable/devices/pda_blue.svg +/trunk/lila/kde/scalable/devices/ipod_unmount.svg +/trunk/lila/kde/ChangeLog +New laptop icon from the GNOME set, more moderate + colors in ktorrent.svg, and bits of devices stuff. + ++ +*/ +function _svnlib_parse_ls($lists, $recursive) { + $items = array(); + $current_item_stack = array(); // will help us determine hierarchical structures + $xml = new SimpleXMLElement($lists); + + foreach ($xml->list->entry as $entry) { + $item = array(); + $item['created_rev'] = intval((string) $entry->commit['revision']); + $item['last_author'] = (string) $entry->commit->author; + $item['time_t'] = strtotime((string) $entry->commit->date); + $relative_path = (string) $entry->name; + $item['name'] = basename($relative_path); + $item['type'] = (string) $entry['kind']; + + if ($item['type'] == 'file') { + $item['size'] = intval((string) $entry->size); + } + + // When listing recursively, we want to capture the item hierarchy. + if ($recursive) { + if ($item['type'] == 'dir') { + $item['children'] = array(); + } + if (strpos($relative_path, '/') !== FALSE) { // don't regard top-level items + $parent_path = dirname($relative_path); + if (isset($items[$parent_path]) && !in_array($relative_path, $items[$parent_path]['children'])) { + $items[$parent_path]['children'][] = $relative_path; + } + } + } + $items[$relative_path] = $item; + } + return $items; +} + +/** + * Returns detail information about a directory or file item in the repository. + * In most cases, svnlib_info() is the better svnlib_ls(), as it retrieves not + * only item names but also repository root and the path of each item + * inside the repository. + * + * You can also use svnlib_info() to retrieve a former item path if the item + * has been moved or copied: just pass the current URL and revision together + * with a past or future revision number as @p $target_revision, and you get + * the path of the item at that time. + * + * This function is equivalent to + * 'svn info -r $target_revision $repository_url@$url_revision'. + * + * @param $repository_urls + * The URL of the item (e.g. 'file:///svnroot/my-repo/subdir/hello.php') + * or the repository itself (e.g. 'file:///svnroot/my-repo'), as string. + * Alternatively, you can also pass an array of multiple URLs. + * @param $url_revision + * The revision of the URL that should be listed. + * This needs to be a single revision, e.g. '35' or 'HEAD'. + * For example, if a file was deleted in revision 36, you need to pass '35' + * as parameter to get its info, otherwise Subversion won't find the file. + * In case multiple URLs are passed, this revision applies to each of them. + * @param $depth + * Specifies if info for descendant items should be retrieved as well, and + * if so, which of those. The default 'empty' will not retrieve any children, + * 'files' will retrieve all immediate file children, 'immediates' will + * retrieve file and directory children, and 'infinity' will retrieve all + * descendant items there are, recursively. If $depth is 'infinity' then each + * directory item in the result array will have an additional array element + * named 'children' which contains the paths below this directory, the paths + * corresponding to array keys in the result array. + * + * If @p $repository_url refers to a file then the @p $depth parameter + * has no effect on the 'svn info' output and, by consequence, on the + * return value. + * + * @param $target_revision + * The revision specification that will be passed to 'svn info' as the + * '-r' parameter. This needs to be a single revision, e.g. '35' or 'HEAD'. + * This is handy to track item copies and renames, see the general function + * description on how to do that. If you leave this at NULL, the info will be + * retrieved at the state of the $url_revision. + * + * @return + * A array of items that contain information about the items that correspond + * the specified URL(s). If @p $repository_url refers to a directory and + * @p $depth is 'infinity', the array also includes information about all + * descendants of the items that correspond to the specified URL(s). + * If the 'svn info' invocation exited with an error, this function + * returns NULL and the error message can be retrieved by calling + * svnlib_last_error_message(). + */ +function svnlib_info($repository_urls, $url_revision = 'HEAD', $depth = 'empty', $target_revision = NULL) { + if (!is_array($repository_urls)) { // it's a single URL as a string! + $repository_urls = array($repository_urls); + } + + $cmd = array( + escapeshellarg(escapeshellcmd(_svnlib_svn_binary())), + 'info', + '--non-interactive', + '--xml', + ); + + if ($depth == 'infinity') { + $cmd[] = '-R'; // "--depth infinity" is not in 1.4, but '-R' (recursive) is + } + elseif ($depth != 'empty') { + $version = svnlib_version(); + if ($version['major'] >= 1 && $version['minor'] >= 5) { + $cmd[] = '--depth '. $depth; + } + else { // 1.4 and earlier compatibility workaround + foreach ($repository_urls as $repository_url) { + // Make sure the item is a directory, otherwise it has no children + // anyways (and the relative path fetched by ls will lead to incorrect + // results as it duplicates the basename that is already in the URL). + $repository_url_items = svnlib_info($repository_url, $url_revision, 'empty', $target_revision); + $repository_url_item = reset($repository_url_items); + if ($repository_url_item['type'] != 'dir') { + continue; + } + // Fetch child items with svn ls, that's what 1.4 can actually do. + $items = svnlib_ls($repository_url, $url_revision); + foreach ($items as $relative_path => $item) { + if ($depth == 'files' && $item['type'] = 'dir') { + continue; // 'immediates' fetches all children, 'files' only files + } + $repository_urls[] = $repository_url .'/'. $relative_path; + } + } + } + } + // else { + // "--depth empty" is the default, leave it out for svn <= 1.4 compatibility + // } + + if (isset($target_revision)) { + $cmd[] = '-r'; + $cmd[] = $target_revision; + } + _svnlib_add_common_options($cmd); + foreach ($repository_urls as $repository_url) { + $cmd[] = escapeshellarg($repository_url .'@'. $url_revision); + } + $tempfiles = _svnlib_add_output_pipes($cmd); + + $return_code = 0; + exec(implode(' ', $cmd), $output, $return_code); + if ($return_code != 0) { + _svnlib_set_error_message($tempfiles); + return NULL; // no such item or revision found + } + $info = implode("\n", $output); + _svnlib_delete_temporary_files($tempfiles); + + $recursive = ($depth == 'infinity'); + return _svnlib_parse_info($info, $recursive); +} + +/* + * Parse the output of 'svn info' into an array of item entries. + * The output looks something like this (same URL as in the 'svn ls' example, + * also 0 to N possible "entry" elements): + ++
++ +lila ++ +jpetso +2006-11-29T01:27:47.192716Z ++ +lila/lila-blue.xml +918 ++ +dgt84 +2004-05-04T21:32:13.000000Z ++ +*/ +function _svnlib_parse_info($info, $recursive) { + $items = array(); + $xml = new SimpleXMLElement($info); + + foreach ($xml->entry as $entry) { + $item = array(); + $item['url'] = (string) $entry->url; + $item['repository_root'] = (string) $entry->repository->root; + $item['repository_uuid'] = (string) $entry->repository->uuid; + + if ($item['url'] == $item['repository_root']) { + $item['path'] = '/'; + } + else { + $item['path'] = substr($item['url'], strlen($item['repository_root'])); + } + + if (isset($items[$item['path']])) { + // Duplicate item, we had this one before already. Nevertheless, we can + // perhaps make use of it in order to enhance the hierarchical structure. + $item = $items[$item['path']]; + } + else { + $item['type'] = (string) $entry['kind']; + $relative_path = (string) $entry['path']; + $item['rev'] = intval((string) $entry['revision']); // current state of the item + $item['created_rev'] = intval((string) $entry->commit['revision']); // last edit + $item['last_author'] = (string) $entry->commit->author; + $item['time_t'] = strtotime((string) $entry->commit->date); + + if ($recursive && $item['type'] == 'dir') { + $item['children'] = array(); + } + } + + // For "--depth infinity", provide the caller with further hierarchy info. + if ($recursive && $item['path'] != '/') { + $parent_path = dirname($item['path']); + if (isset($items[$parent_path]) && !in_array($item['path'], $items[$parent_path]['children'])) { + $items[$parent_path]['children'][] = $item['path']; + } + } + $items[$item['path']] = $item; + } + return $items; +} + + +/** + * Copy the contents of a file in a repository to a given destination. + * This function is equivalent to + * 'svn cat $repository_url@$url_revision > $destination'. + * + * @param $destination + * The path of the file that should afterwards contain the file contents. + * @param $repository_url + * The URL of the file, e.g. 'file:///svnroot/my-repo/subdir/hello.php'. + * @param $url_revision + * The revision of the URL that should be queried for the property. + * This needs to be a single revision, e.g. '35' or 'HEAD'. + * + * @return + * TRUE if the file was created successfully. If the 'svn cat' invocation + * exited with an error, this function returns FALSE and the error message + * can be retrieved by calling svnlib_last_error_message(). + */ +function svnlib_cat($destination, $repository_url, $url_revision = 'HEAD') { + $cmd = array( + escapeshellarg(escapeshellcmd(_svnlib_svn_binary())), + 'cat', + '--non-interactive', + ); + _svnlib_add_common_options($cmd); + $cmd[] = escapeshellarg($repository_url .'@'. $url_revision); + $cmd[] = '> '. $destination; + $tempfiles = _svnlib_add_output_pipes($cmd); + + $return_code = 0; + exec(implode(' ', $cmd), $output, $return_code); + if ($return_code != 0) { + @unlink($destination); + _svnlib_set_error_message($tempfiles); + return FALSE; // no such item or revision found + } + _svnlib_delete_temporary_files($tempfiles); + return TRUE; +} + +/** + * Return a specific SVN property of the given file or directory in the + * repository. This function is equivalent to + * 'svn propget $property_name $repository_url@$url_revision'. + * + * @param $property_name + * The name of the property, e.g. 'svn:mime-type' or 'svn:executable'. + * @param $repository_url + * The URL of the item (e.g. 'file:///svnroot/my-repo/subdir/hello.php') + * or the repository itself (e.g. 'file:///svnroot/my-repo'), as string. + * @param $url_revision + * The revision of the URL that should be queried for the property. + * This needs to be a single revision, e.g. '35' or 'HEAD'. + * + * @return + * A string containing the specified property for the item in the given + * revision, an empty string if this property is not set. If the + * 'svn propget' invocation exited with an error, this function + * returns NULL and the error message can be retrieved by calling + * svnlib_last_error_message(). + */ +function svnlib_propget($property_name, $repository_url, $url_revision = 'HEAD') { + $cmd = array( + escapeshellarg(escapeshellcmd(_svnlib_svn_binary())), + 'propget', + $property_name, + '--non-interactive', + ); + _svnlib_add_common_options($cmd); + $cmd[] = escapeshellarg($repository_url .'@'. $url_revision); + $tempfiles = _svnlib_add_output_pipes($cmd); + + $return_code = 0; + exec(implode(' ', $cmd), $output, $return_code); + if ($return_code != 0) { + _svnlib_set_error_message($tempfiles); + return NULL; // no such item or revision found + } + $property = trim(implode('', $output)); + _svnlib_delete_temporary_files($tempfiles); + + if (empty($property)) { + return ''; + } + return $property; +} diff --git a/elpa-to-submit/nxhtml/tests/in/bug384115-bt2.txt b/elpa-to-submit/nxhtml/tests/in/bug384115-bt2.txt new file mode 100644 index 0000000000..0fc787d330 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug384115-bt2.txt @@ -0,0 +1,11 @@ +Debugger entered--Lisp error: (file-error "Cannot open load file" "../../../../../../elisp/package.d/nxhtml/nxhtml/nxhtml-menu") + (nxhtml-global-minor-mode 1) + (let* ((util-dir ...) (related-dir ...) (nxhtml-dir ...)) (add-to-list (quote load-path) nxhtml-dir) (add-to-list (quote load-path) related-dir) (add-to-list (quote load-path) util-dir) (add-to-list (quote load-path) nxhtml-install-dir) (message "... nXhtml loading %.1f seconds elapsed ..." (- ... nxhtml-load-time-start)) (load (expand-file-name "nxhtml-loaddefs" nxhtml-install-dir)) (message "... nXhtml loading %.1f seconds elapsed ..." (- ... nxhtml-load-time-start)) (nxhtml-global-minor-mode 1) (message "... nXhtml loading %.1f seconds elapsed ..." (- ... nxhtml-load-time-start)) (when (fboundp ...) (load ...) (rncpp-patch-xhtml-loader)) (message "... nXhtml loading %.1f seconds elapsed ..." (- ... nxhtml-load-time-start)) (load (expand-file-name "nxhtml/nxhtml-autoload" nxhtml-install-dir))) + (if (featurep (quote nxhtml-autostart)) nil (provide (quote nxhtml-autostart)) (if (< emacs-major-version 23) (load ...) (let ... ...)) (let* (... ... ...) (add-to-list ... nxhtml-dir) (add-to-list ... related-dir) (add-to-list ... util-dir) (add-to-list ... nxhtml-install-dir) (message "... nXhtml loading %.1f seconds elapsed ..." ...) (load ...) (message "... nXhtml loading %.1f seconds elapsed ..." ...) (nxhtml-global-minor-mode 1) (message "... nXhtml loading %.1f seconds elapsed ..." ...) (when ... ... ...) (message "... nXhtml loading %.1f seconds elapsed ..." ...) (load ...)) (message "... nXhtml loading %.1f seconds elapsed ..." (- ... nxhtml-load-time-start)) (nxhtml-list-loaded-features) (message "Nxml/Nxhtml Autostart.el loaded in %.1f seconds" (- ... nxhtml-load-time-start))) + (unless (featurep (quote nxhtml-autostart)) (provide (quote nxhtml-autostart)) (if (< emacs-major-version 23) (load ...) (let ... ...)) (let* (... ... ...) (add-to-list ... nxhtml-dir) (add-to-list ... related-dir) (add-to-list ... util-dir) (add-to-list ... nxhtml-install-dir) (message "... nXhtml loading %.1f seconds elapsed ..." ...) (load ...) (message "... nXhtml loading %.1f seconds elapsed ..." ...) (nxhtml-global-minor-mode 1) (message "... nXhtml loading %.1f seconds elapsed ..." ...) (when ... ... ...) (message "... nXhtml loading %.1f seconds elapsed ..." ...) (load ...)) (message "... nXhtml loading %.1f seconds elapsed ..." (- ... nxhtml-load-time-start)) (nxhtml-list-loaded-features) (message "Nxml/Nxhtml Autostart.el loaded in %.1f seconds" (- ... nxhtml-load-time-start))) + eval-buffer(#+ +file:///home/jakob/repos/svn/lila-theme/tags/svg-utils-0-1/utils/svg-utils/svgcolor-xml ++ +file:///home/jakob/repos/svn/lila-theme +fd53868f-e4f1-0310-84ca-8663aff3ef64 ++ +jpetso +2006-11-29T01:27:47.192716Z ++ +file:///home/jakob/repos/svn/lila-theme/tags/svg-utils-0-1/utils/svg-utils/svgcolor-xml/lila ++ +file:///home/jakob/repos/svn/lila-theme +fd53868f-e4f1-0310-84ca-8663aff3ef64 ++ +jpetso +2006-11-29T01:27:47.192716Z ++ +file:///home/jakob/repos/svn/lila-theme/tags/svg-utils-0-1/utils/svg-utils/svgcolor-xml/lila/lila-blue.xml ++ +file:///home/jakob/repos/svn/lila-theme +fd53868f-e4f1-0310-84ca-8663aff3ef64 ++ +dgt84 +2004-05-04T21:32:13.000000Z +nil "/Users/dave/elisp/package.d/nxhtml/autostart.el" nil t) ; Reading at buffer position 7076 + load-with-code-conversion("/Users/dave/elisp/package.d/nxhtml/autostart.el" "/Users/dave/elisp/package.d/nxhtml/autostart.el" nil t) + load("/Users/dave/elisp/package.d/nxhtml/autostart.el" nil t) + command-line-1(("-l" "/Users/dave/elisp/package.d/nxhtml/nxhtmlmaint.el" "-l" "/Users/dave/elisp/package.d/nxhtml/autostart.el" "-f" "nxhtmlmaint-byte-compile-all")) + command-line() + normal-top-level() diff --git a/elpa-to-submit/nxhtml/tests/in/bug388729-messages.txt b/elpa-to-submit/nxhtml/tests/in/bug388729-messages.txt new file mode 100644 index 0000000000..4075487a31 --- /dev/null +++ b/elpa-to-submit/nxhtml/tests/in/bug388729-messages.txt @@ -0,0 +1,292 @@ +("/Applications/Emacs.app/Contents/MacOS/Emacs" "-Q" "--debug-init" "--load" "/Users/isho/.emacs.d/nxhtml/autostart.el") +For information about GNU Emacs and the GNU system, type C-h C-a. +Nxml/Nxhtml Autostart.el loading ... +Loading /Users/isho/.emacs.d/nxhtml/autostart22.el (source)... +Loading /Applications/Emacs.app/Contents/Resources/site-lisp/nxml-mode/rng-auto.el (source)...done +Loading /Users/isho/.emacs.d/nxhtml/autostart22.el (source)...done +... nXhtml loading 0.1 seconds elapsed ... +Loading /Users/isho/.emacs.d/nxhtml/nxhtml-loaddefs.el (source)...done +... nXhtml loading 0.1 seconds elapsed ... +Loading /Users/isho/.emacs.d/nxhtml/nxhtml/nxhtml-menu.el (source)... +Loading regexp-opt...done +Loading easy-mmode...done +Loading advice...done +after advising ido +Loading cl-macs...done +Loading url-methods...done +html-site-current (information): No current site set +Loading derived...done +Loading byte-opt...done + +Finished loading /Users/isho/.emacs.d/nxhtml/util/mumamo.el + +Loading /Users/isho/.emacs.d/nxhtml/nxhtml/nxhtml-menu.el (source)...done +... nXhtml loading 1.3 seconds elapsed ... +Loading /Users/isho/.emacs.d/nxhtml/etc/schema/schema-path-patch.el (source)...done +xhtml-loader.rnc was ok +(No changes need to be saved) +... nXhtml loading 1.4 seconds elapsed ... +Loading /Users/isho/.emacs.d/nxhtml/nxhtml/nxhtml-autoload.el (source)... +nxhtml-autoload starting ... (hm, should maybe be renamed ...) +majmodpri-apply-priorities running... +majmodpri-sort-lists running ... (done) +majmodpri-apply-priorities: No file buffers to change modes in +majmodpri-apply-priorities running ... (done) +majmodpri-sort-lists running ... (done) +nxhtml-autoload finished +majmodpri-sort-lists running ... (done) +Loading /Users/isho/.emacs.d/nxhtml/nxhtml/nxhtml-autoload.el (source)...done +... nXhtml loading 1.7 seconds elapsed ... +=== Loaded at nxhtml/autostart.el end: +(feature 'html-imenu)=t +(feature 'html-quote)=t +(feature 'html-site)=t +(feature 'html-upl)=t +(feature 'mumamo)=t +(feature 'nxhtml-menu)=t +(feature 'nxhtml-mode)=t +(feature 'rngalt)=t +(feature 'tidy-xhtml)=t +Nxml/Nxhtml Autostart.el loaded in 1.9 seconds +nxhtml_test.php has auto save data; consider M-x recover-this-file +Loading /Users/isho/.emacs.d/nxhtml/util/mumamo-fun.el (source)...done +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=1 from mumamo-get-chunk-save-buffer-state, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=nil +MU:(find-next-chunk-values nil nil nil) +MU:find-next-chunk-values:here a, curr-min=1, after-chunk=nil +MU:find-next-chunk-values:(when (>= 45 1) +MU:find-next-chunk-values:here d, curr-min=1, after-chunk=nil +MU:find-next-chunk-values:curr-chunk-funs=(mumamo-chunk-xml-pi mumamo-chunk-inlined-style mumamo-chunk-inlined-script mumamo-chunk-style= mumamo-chunk-onjs=) +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-xml-pi pos=1, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-xml-pi, r=(5 nil php-mode (10 nil) nil mumamo-search-fw-exc-end-xml-pi mumamo-find-borders-xml-pi) +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-inlined-style pos=1, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-inlined-style, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-inlined-script pos=1, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-inlined-script, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-style= pos=1, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-style=, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-onjs= pos=1, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-onjs=, r=nil +MU:find-next-chunk-values:here A, curr-min=1, after-chunk=nil +MU:find-next-chunk-values:here B, curr-min=1, after-chunk=nil +MU:find-next-chunk-values:here E +MU:find-next-chunk-values:curr-is-closed=t +MU:find-next-chunk-values=> current=(1 5 html-mode 10 nil nil (mumamo-chunk-xml-pi mumamo-chunk-inlined-style mumamo-chunk-inlined-script mumamo-chunk-style= mumamo-chunk-onjs=) nil t), next=(php-mode mumamo-search-fw-exc-end-xml-pi mumamo-find-borders-xml-pi none 1) +MU:find-chunks:mumamo-old-tail=nil, major=nil, mumamo-last-chunk=nil +MU: +-------------------- +MU: +-------------------- +MU:find-chunks:Exit.end-param=1, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=1 from mumamo-turn-on-actions, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=1, ok-pos=4, this-new-chunk=# +MU:find-chunks:Exit.end-param=1, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=nil from mumamo-turn-on-actions, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:(find-next-chunk-values # nil nil) +MU:find-next-chunk-values:here a, curr-min=5, after-chunk=# +MU:find-next-chunk-values:(when (>= 45 6) +MU:find-next-chunk-values:Calling (curr-end-fun=mumamo-search-fw-exc-end-xml-pi 4 45)=>44 +MU:find-next-chunk-values:here c, curr-min=5, after-chunk=# +MU:find-next-chunk-values:here c2, curr-min=5, after-chunk=# +MU:find-next-chunk-values:before end-in-code: 5 mumamo-search-fw-exc-end-xml-pi php-mode +Loading /Users/isho/.emacs.d/nxhtml/related/php-mode.el (source)... +majmodpri-sort-lists running ... (done) +Loading /Users/isho/.emacs.d/nxhtml/related/php-mode.el (source)...done +MU: +-------------------- +MU:find-next-chunk-values:curr-end-fun-end after end-in-code=44 +MU:find-next-chunk-values:here d, curr-min=5, after-chunk=# +MU:find-next-chunk-values:curr-chunk-funs=nil +MU:find-next-chunk-values:here A, curr-min=5, after-chunk=# +MU:find-next-chunk-values:here B, curr-min=5, after-chunk=# +MU:find-next-chunk-values:here C, curr-min=5, after-chunk=# +MU:find-next-chunk-values:here D +MU:find-next-chunk-values:here E +MU:find-next-chunk-values:curr-is-closed=t +MU:find-next-chunk-values=> current=(5 44 php-mode nil nil nil nil # t), next=(nil nil nil nil -1) +MU:find-chunks:mumamo-old-tail=nil, major=nil, mumamo-last-chunk=# +MU:(find-next-chunk-values # nil nil) +MU:find-next-chunk-values:here a, curr-min=44, after-chunk=# +MU:find-next-chunk-values:(when (>= 45 45) +MU:find-next-chunk-values:here d, curr-min=44, after-chunk=# +MU:find-next-chunk-values:curr-chunk-funs=(mumamo-chunk-xml-pi mumamo-chunk-inlined-style mumamo-chunk-inlined-script mumamo-chunk-style= mumamo-chunk-onjs=) +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-xml-pi pos=45, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-xml-pi, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-inlined-style pos=45, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-inlined-style, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-inlined-script pos=45, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-inlined-script, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-style= pos=45, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-style=, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-onjs= pos=45, max=45 +MU:find-next-chunk-values:fn=mumamo-chunk-onjs=, r=nil +MU:find-next-chunk-values:here A, curr-min=44, after-chunk=# +MU:find-next-chunk-values:here B, curr-min=44, after-chunk=# +MU:find-next-chunk-values:here C, curr-min=44, after-chunk=# +MU:find-next-chunk-values:here D +MU:find-next-chunk-values:here E +MU:find-next-chunk-values:curr-is-closed=nil +MU:find-next-chunk-values=> current=(44 nil html-mode nil nil nil (mumamo-chunk-xml-pi mumamo-chunk-inlined-style mumamo-chunk-inlined-script mumamo-chunk-style= mumamo-chunk-onjs=) # nil), next=(nil nil nil nil 1) +MU:find-chunks:mumamo-old-tail=nil, major=nil, mumamo-last-chunk=# +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=1 from mumamo-set-major-post-command, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=1, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=1, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=1 from mumamo-fontify-region-1, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=1, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=1, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=1 from mumamo-fontify-region-1 2, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=1, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=1, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=1 from syntax-ppss, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=1, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=1, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=5 from mumamo-fontify-region-1 2, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=5, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=5, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=10 from syntax-ppss, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=10, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=10, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=44 from mumamo-fontify-region-1 2, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=44, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=44, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=2 from mumamo-set-major-post-command, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=2, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=2, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=3 from mumamo-set-major-post-command, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=3, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=3, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=4 from mumamo-set-major-post-command, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=4, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=4, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=5 from mumamo-set-major-post-command, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=5, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=5, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=5 from mumamo-idle-set-major-mode, level=0 +MU:find-chunks:first-check-from=nil, chunk-at-change-min=nil +MU:find-chunks:at start mumamo-old-tail=nil, mumamo-last-chunk=# +MU:find-chunks:using old at end=5, ok-pos=45, this-new-chunk=# +MU:find-chunks:Exit.end-param=5, this-new-chunk=# , point-max=45, last=# +MU:find-chunks=># +MU:c-after-change: major-mode=php-mode c-nonsymbol-token-regexp=!=\|##\|%\(?::%:\|[:=]\)\|&[&=]\|\*[/=]\|\+[+=]\|-[=>-]\|\.\.\.\|/[*/=]\|:[:>]\|<\(?:<=\|[:<=]\)\|==\|>\(?:>=\|[=>]\)\|\?\?\(?:!\?\?!\|=\?\?=\|[!()=-]\)\|\^=\||[=|]\|[]!#%&(-,./:-?[{-~^-] +MU:!!!!!!!!!!!!!!!!!!!find-chunks end=5 from syntax-ppss-flush-cache, level=0 +MU:find-chunks:first-check-from=4, chunk-at-change-min=# +MU:find-chunks:at start mumamo-old-tail=# , mumamo-last-chunk=nil +MU:(find-next-chunk-values nil 4 nil) +MU:find-next-chunk-values:here a, curr-min=1, after-chunk=nil +MU:find-next-chunk-values:(when (>= 6 1) +MU:find-next-chunk-values:here d, curr-min=1, after-chunk=nil +MU:find-next-chunk-values:curr-chunk-funs=(mumamo-chunk-xml-pi mumamo-chunk-inlined-style mumamo-chunk-inlined-script mumamo-chunk-style= mumamo-chunk-onjs=) +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-xml-pi pos=1, max=6 +MU:find-next-chunk-values:fn=mumamo-chunk-xml-pi, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-inlined-style pos=1, max=6 +MU:find-next-chunk-values:fn=mumamo-chunk-inlined-style, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-inlined-script pos=1, max=6 +MU:find-next-chunk-values:fn=mumamo-chunk-inlined-script, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-style= pos=1, max=6 +MU:find-next-chunk-values:fn=mumamo-chunk-style=, r=nil +MU:find-next-chunk-values:before (r (funcall fn pos pos max)), fn=mumamo-chunk-onjs= pos=1, max=6 +MU:find-next-chunk-values:fn=mumamo-chunk-onjs=, r=nil +MU:find-next-chunk-values:here A, curr-min=1, after-chunk=nil +MU:find-next-chunk-values:here B, curr-min=1, after-chunk=nil +MU:find-next-chunk-values:here E +MU:find-next-chunk-values:curr-is-closed=nil +MU:find-next-chunk-values=> current=(1 nil html-mode nil nil nil (mumamo-chunk-xml-pi mumamo-chunk-inlined-style mumamo-chunk-inlined-script mumamo-chunk-style= mumamo-chunk-onjs=) nil nil), next=(nil nil nil nil 1) +MU:find-chunks:mumamo-old-tail=# , major=html-mode, mumamo-last-chunk=nil +MU:find-chunks:Exit.end-param=5, this-new-chunk=# , point-max=6, last=#