Mercurial > emacs
view lisp/nxml/nxml-uchnm.el @ 110523:a5ad4f188e19
Synch Semantic to CEDET 1.0.
Move CEDET ChangeLog entries to new file lisp/cedet/ChangeLog.
* semantic.el (semantic-version): Update to 2.0.
(semantic-mode-map): Add "," and "m" bindings.
(navigate-menu): Update.
* semantic/symref.el (semantic-symref-calculate-rootdir):
New function.
(semantic-symref-detect-symref-tool): Use it.
* semantic/symref/grep.el (semantic-symref-grep-shell): New var.
(semantic-symref-perform-search): Use it. Calculate root dir with
semantic-symref-calculate-rootdir.
(semantic-symref-derive-find-filepatterns): Improve error message.
* semantic/symref/list.el
(semantic-symref-results-mode-map): New bindings.
(semantic-symref-auto-expand-results): New option.
(semantic-symref-results-dump): Obey auto-expand.
(semantic-symref-list-expand-all, semantic-symref-regexp)
(semantic-symref-list-contract-all)
(semantic-symref-list-map-open-hits)
(semantic-symref-list-update-open-hits)
(semantic-symref-list-create-macro-on-open-hit)
(semantic-symref-list-call-macro-on-open-hits): New functions.
(semantic-symref-list-menu-entries)
(semantic-symref-list-menu): New vars.
(semantic-symref-list-map-open-hits): Move cursor to beginning of
match before calling the mapped function.
* semantic/doc.el
(semantic-documentation-comment-preceeding-tag): Do nothing if the
mode doesn't provide comment-start-skip.
* semantic/scope.el
(semantic-analyze-scope-nested-tags-default): Strip duplicates.
(semantic-analyze-scoped-inherited-tag-map): Take the tag we are
looking for as part of the scoped tags list.
* semantic/html.el (semantic-default-html-setup): Add
senator-step-at-tag-classes.
* semantic/decorate/include.el
(semantic-decoration-on-unknown-includes): Change light bgcolor.
(semantic-decoration-on-includes-highlight-default): Check that
the include tag has a postion.
* semantic/complete.el (semantic-collector-local-members):
(semantic-complete-read-tag-local-members)
(semantic-complete-jump-local-members): New class and functions.
(semantic-complete-self-insert): Save excursion before completing.
* semantic/analyze/complete.el
(semantic-analyze-possible-completions-default): If no completions
are found, return the raw by-name-only completion list. Add FLAGS
arguments. Add support for 'no-tc (type constraint) and
'no-unique, or no stripping duplicates.
(semantic-analyze-possible-completions-default): Add FLAGS arg.
* semantic/util-modes.el
(semantic-stickyfunc-show-only-functions-p): New option.
(semantic-stickyfunc-fetch-stickyline): Don't show stickytext for
the very first line in a buffer.
* semantic/util.el (semantic-hack-search)
(semantic-recursive-find-nonterminal-by-name)
(semantic-current-tag-interactive): Deleted.
(semantic-describe-buffer): Fix expand-nonterminal. Add
lex-syntax-mods, type relation separator char, and command
separation char.
(semantic-sanity-check): Only message if called interactively.
* semantic/tag.el (semantic-tag-deep-copy-one-tag): Copy the
:filename property and the tag position.
* semantic/lex-spp.el (semantic-lex-spp-lex-text-string):
Add recursion limit.
* semantic/imenu.el (semantic-imenu-bucketize-type-members):
Make this buffer local, not the obsoleted variable.
* semantic/idle.el: Add breadcrumbs support.
(semantic-idle-summary-current-symbol-info-default)
(semantic-idle-tag-highlight)
(semantic-idle-completion-list-default): Use
semanticdb-without-unloaded-file-searches for speed, and to
conform to the controls that specify if the idle timer is supposed
to be parsing unparsed includes.
(semantic-idle-symbol-highlight-face)
(semantic-idle-symbol-maybe-highlight): Rename from *-summary-*.
Callers changed.
(semantic-idle-work-parse-neighboring-files-flag): Default to nil.
(semantic-idle-work-update-headers-flag): New var.
(semantic-idle-work-for-one-buffer): Use it.
(semantic-idle-local-symbol-highlight): Rename from
semantic-idle-tag-highlight.
(semantic-idle-truncate-long-summaries): New option.
* semantic/ia.el (semantic-ia-cache)
(semantic-ia-get-completions): Deleted. Callers changed.
(semantic-ia-show-variants): New command.
(semantic-ia-show-doc): If doc is empty, don't make a temp buffer.
(semantic-ia-show-summary): If there isn't anything to show, say so.
* semantic/grammar.el (semantic-grammar-create-package):
Save the buffer even in batch mode.
* semantic/fw.el
(semanticdb-without-unloaded-file-searches): New macro.
* semantic/dep.el (semantic-dependency-find-file-on-path):
Fix case dereferencing ede-object when it is a list.
* semantic/db-typecache.el (semanticdb-expand-nested-tag)
(semanticdb-typecache-faux-namespace): New functions.
(semanticdb-typecache-file-tags)
(semanticdb-typecache-merge-streams): Use them.
(semanticdb-typecache-file-tags): When deriving tags from a file,
give the mode a chance to monkey with the tag copy.
(semanticdb-typecache-find-default): Wrap find in save-excursion.
(semanticdb-typecache-find-by-name-helper): Merge found names down.
* semantic/db-global.el
(semanticdb-enable-gnu-global-in-buffer): Don't show messages if
GNU Global is not available and we don't want to throw an error.
* semantic/db-find.el (semanticdb-find-result-nth-in-buffer):
When trying to normalize the tag to a buffer, don't error if
set-buffer method doesn't exist.
* semantic/db-file.el (semanticdb-save-db): Simplify msg.
* semantic/db.el (semanticdb-refresh-table): If forcing a
refresh on a file not in a buffer, use semantic-find-file-noselect
and delete the buffer after use.
(semanticdb-current-database-list): When calculating root via
hooks, force it through true-filename and skip the list of
possible roots.
* semantic/ctxt.el (semantic-ctxt-imported-packages): New.
* semantic/analyze/debug.el
(semantic-analyzer-debug-insert-tag): Reset standard output to
current buffer.
(semantic-analyzer-debug-global-symbol)
(semantic-analyzer-debug-missing-innertype): Change "prefix" to
"symbol" in messages.
* semantic/analyze/refs.el: (semantic-analyze-refs-impl)
(semantic-analyze-refs-proto): When calculating value, make sure
the found tag is 'similar' to the originating tag.
(semantic--analyze-refs-find-tags-with-parent): Attempt to
identify matches via imported symbols of parents.
(semantic--analyze-refs-full-lookup-with-parents): Do a deep
search during the brute search.
* semantic/analyze.el
(semantic-analyze-find-tag-sequence-default): Be robust to
calculated scopes being nil.
* semantic/bovine/c.el (semantic-c-describe-environment): Add
project macro symbol array.
(semantic-c-parse-lexical-token): Add recursion limit.
(semantic-ctxt-imported-packages, semanticdb-expand-nested-tag):
New overrides.
(semantic-expand-c-tag-namelist): Split a full type from a typedef
out to its own tag.
(semantic-expand-c-tag-namelist): Do not split out a typedef'd
inline type if it is an anonymous type.
(semantic-c-reconstitute-token): Use the optional initializers as
a clue that some function is probably a constructor. When
defining the type of these constructors, split the parent name,
and use only the class part, if applicable.
* semantic/bovine/c-by.el:
* semantic/wisent/python-wy.el: Regenerate.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Sat, 18 Sep 2010 22:49:54 -0400 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
line wrap: on
line source
;;; nxml-uchnm.el --- support for Unicode standard cha names in nxml-mode ;; Copyright (C) 2003, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. ;; Author: James Clark ;; Keywords: XML ;; This file is part of GNU Emacs. ;; GNU Emacs is free software: you can redistribute it and/or modify ;; 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. ;; GNU Emacs is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. ;;; 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. ;;; 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 official name of the block, FIRST is the first code-point and LAST is the last code-point. Blocks containing only characters with algorithmic names or no names are omitted.") (defun nxml-unicode-block-char-name-set (name) "Return a symbol for a block whose official Unicode name is NAME. The symbol is generated by downcasing and replacing each space by a hyphen." (intern (replace-regexp-in-string " " "-" (downcase name)))) ;; 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'.") (mapc (lambda (block) (nxml-autoload-char-name-set (nxml-unicode-block-char-name-set (car block)) (expand-file-name (format "nxml/%05X-%05X" (nth 1 block) (nth 2 block)) data-directory))) nxml-unicode-blocks) ;; Internal flag to control whether customize reloads the character tables. ;; Should be set the first time the (defvar nxml-internal-unicode-char-name-sets-enabled nil) (defcustom nxml-enabled-unicode-blocks nxml-enabled-unicode-blocks-default "List of Unicode blocks for which Unicode character names are enabled. Each block is identified by a symbol derived from the name of the block by downcasing and replacing each space by a hyphen." :group 'nxml :set (lambda (sym value) (set-default 'nxml-enabled-unicode-blocks value) (when nxml-internal-unicode-char-name-sets-enabled (nxml-enable-unicode-char-name-sets))) :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-internal-unicode-char-name-sets-enabled t) (mapc (lambda (block) (nxml-disable-char-name-set (nxml-unicode-block-char-name-set (car block)))) nxml-unicode-blocks) (mapc (lambda (nameset) (nxml-enable-char-name-set nameset)) nxml-enabled-unicode-blocks)) (provide 'nxml-uchnm) ;; arch-tag: 440248c3-b604-467c-8b50-e83662c659a3 ;;; nxml-uchnm.el ends here