Mercurial > emacs
view lisp/language/cyrillic.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 | cd3f51128c38 |
children | 376148b31b5e |
line wrap: on
line source
;;; cyrillic.el --- support for Cyrillic -*- coding: iso-2022-7bit; -*- ;; Copyright (C) 1997, 1998, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 ;; Free Software Foundation, Inc. ;; Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, ;; 2005, 2006, 2007, 2008, 2009, 2010 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H14PRO021 ;; Copyright (C) 2003 ;; National Institute of Advanced Industrial Science and Technology (AIST) ;; Registration Number H13PRO009 ;; Author: Kenichi Handa <handa@etl.go.jp> ;; Keywords: multilingual, Cyrillic, i18n ;; 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: ;; The character set ISO8859-5 is supported. KOI-8 and ALTERNATIVNYJ ;; are converted to Unicode internally. See ;; <URL:http://www.ecma.ch/ecma1/STAND/ECMA-113.HTM>. For more info ;; on Cyrillic charsets, see ;; <URL:http://czyborra.com/charsets/cyrillic.html>. The KOI and ;; Alternativnyj coding systems should live in code-pages.el, but ;; they've always been preloaded and the coding system autoload ;; mechanism didn't get accepted, so they have to stay here and ;; duplicate code-pages stuff. ;; Note that 8859-5 maps directly onto the Unicode Cyrillic block, ;; apart from codepoints 160 (NBSP, c.f. U+0400), 173 (soft hyphen, ;; c.f. U+04OD) and 253 (section sign, c.f U+045D). The KOI-8 and ;; Alternativnyj coding systems encode both 8859-5 and Unicode. ;; ucs-tables.el provides unification for cyrillic-iso-8bit. ;; Customizing `utf-fragment-on-decoding' allows decoding characters ;; from KOI and Alternativnyj into 8859-5 where that's possible. ;; cyrillic-iso8859-5 characters take half as much space in the buffer ;; as the mule-unicode-0100-24ff equivalents, though that's probably ;; not normally a big deal. ;;; Code: ;; Cyrillic (general) ;; ISO-8859-5 stuff (define-coding-system 'cyrillic-iso-8bit "ISO 2022 based 8-bit encoding for Cyrillic script (MIME:ISO-8859-5)." :coding-type 'charset :mnemonic ?5 :charset-list '(iso-8859-5) :mime-charset 'iso-8859-5) (define-coding-system-alias 'iso-8859-5 'cyrillic-iso-8bit) (set-language-info-alist "Cyrillic-ISO" '((charset iso-8859-5) (coding-system cyrillic-iso-8bit) (coding-priority cyrillic-iso-8bit) (input-method . "cyrillic-yawerty") ; fixme (nonascii-translation . iso-8859-5) (unibyte-display . cyrillic-iso-8bit) (features cyril-util) (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") (documentation . "Support for Cyrillic ISO-8859-5.")) '("Cyrillic")) ;; KOI-8R stuff (define-coding-system 'cyrillic-koi8 "KOI8 8-bit encoding for Cyrillic (MIME: KOI8-R)." :coding-type 'charset ;; We used to use ?K. It is true that ?K is more strictly correct, ;; but it is also used for Korean. So people who use koi8 for ;; languages other than Russian will have to forgive us. :mnemonic ?R :charset-list '(koi8) :mime-charset 'koi8-r) (define-coding-system-alias 'koi8-r 'cyrillic-koi8) (define-coding-system-alias 'koi8 'cyrillic-koi8) (define-coding-system-alias 'cp878 'cyrillic-koi8) (set-language-info-alist "Cyrillic-KOI8" `((charset koi8) (coding-system cyrillic-koi8) (coding-priority cyrillic-koi8 cyrillic-iso-8bit) (ctext-non-standard-encodings "koi8-r") (nonascii-translation . koi8) (input-method . "russian-typewriter") (features cyril-util) (unibyte-display . cyrillic-koi8) (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") (documentation . "Support for Cyrillic KOI8-R.")) '("Cyrillic")) (set-language-info-alist "Russian" `((charset cyrillic-iso8859-5) (nonascii-translation . ,(get 'cyrillic-koi8-r-nonascii-translation-table 'translation-table)) (coding-system cyrillic-koi8) (coding-priority cyrillic-koi8 cyrillic-iso-8bit) (input-method . "russian-computer") (features cyril-util) (unibyte-display . cyrillic-koi8) (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") (documentation . "\ Support for Russian using koi8-r and the russian-computer input method.") (tutorial . "TUTORIAL.ru")) '("Cyrillic")) (define-coding-system 'koi8-u "KOI8-U 8-bit encoding for Cyrillic (MIME: KOI8-U)" :coding-type 'charset :mnemonic ?U :charset-list '(koi8-u) :mime-charset 'koi8-u) (set-language-info-alist "Ukrainian" `((charset koi8-u) (coding-system koi8-u) (coding-priority koi8-u) (nonascii-translation . koi8-u) (input-method . "ukrainian-computer") (documentation . "Support for Ukrainian with KOI8-U character set.")) '("Cyrillic")) ;;; ALTERNATIVNYJ stuff (define-coding-system 'cyrillic-alternativnyj "ALTERNATIVNYJ 8-bit encoding for Cyrillic." :coding-type 'charset :mnemonic ?A :charset-list '(alternativnyj)) (define-coding-system-alias 'alternativnyj 'cyrillic-alternativnyj) (set-language-info-alist "Cyrillic-ALT" `((charset alternativnyj) (coding-system cyrillic-alternativnyj) (coding-priority cyrillic-alternativnyj) (nonascii-translation . alternativnyj) (input-method . "russian-typewriter") (features cyril-util) (unibyte-display . cyrillic-alternativnyj) (sample-text . "Russian (,L@caaZXY(B) ,L7T`PRabRcYbU(B!") (documentation . "Support for Cyrillic ALTERNATIVNYJ.")) '("Cyrillic")) (define-coding-system 'cp866 "CP866 encoding for Cyrillic." :coding-type 'charset :mnemonic ?* :charset-list '(ibm866) :mime-charset 'cp866) (define-coding-system 'koi8-u "KOI8-U 8-bit encoding for Cyrillic (MIME: KOI8-U)" :coding-type 'charset :mnemonic ?U :charset-list '(koi8-u) :mime-charset 'koi8-u) (define-coding-system 'koi8-t "KOI8-T 8-bit encoding for Cyrillic" :coding-type 'charset :mnemonic ?* :charset-list '(koi8-t) :mime-charset 'koi8-t) (define-coding-system 'windows-1251 "windows-1251 8-bit encoding for Cyrillic (MIME: WINDOWS-1251)" :coding-type 'charset :mnemonic ?b :charset-list '(windows-1251) :mime-charset 'windows-1251) (define-coding-system-alias 'cp1251 'windows-1251) (define-coding-system 'cp1125 "cp1125 8-bit encoding for Cyrillic" :coding-type 'charset :mnemonic ?* :charset-list '(cp1125)) (define-coding-system-alias 'ruscii 'cp1125) ;; Original name for cp1125, says Serhii Hlodin <hlodin@lutsk.bank.gov.ua> (define-coding-system-alias 'cp866u 'cp1125) (define-coding-system 'cp855 "DOS codepage 855 (Russian)" :coding-type 'charset :mnemonic ?D :charset-list '(cp855) :mime-charset 'cp855) (define-coding-system-alias 'ibm855 'cp855) (define-coding-system 'mik "Bulgarian DOS codepage" :coding-type 'charset :mnemonic ?D :charset-list '(mik)) (define-coding-system 'pt154 "Parattype Asian Cyrillic codepage" :coding-type 'charset :mnemonic ?D :charset-list '(pt154)) ;; (set-language-info-alist ;; "Windows-1251" `((coding-system windows-1251) ;; (coding-priority windows-1251) ;; (input-method . "russian-typewriter") ; fixme? ;; (features code-pages) ;; (documentation . "Support for windows-1251 character set.")) ;; '("Cyrillic")) (set-language-info-alist "Tajik" `((coding-system koi8-t) (coding-priority koi8-t) (nonascii-translation . cyrillic-koi8-t) (charset koi8-t) (input-method . "russian-typewriter") ; fixme? (features code-pages) (documentation . "Support for Tajik using KOI8-T.")) '("Cyrillic")) (set-language-info-alist "Bulgarian" `((coding-system windows-1251) (coding-priority windows-1251) (nonascii-translation . windows-1251) (charset windows-1251) (ctext-non-standard-encodings "microsoft-cp1251") (input-method . "bulgarian-bds") (documentation . "Support for Bulgrian with windows-1251 character set.")) '("Cyrillic")) (set-language-info-alist "Belarusian" `((coding-system windows-1251) (coding-priority windows-1251) (nonascii-translation . windows-1251) (charset windows-1251) (ctext-non-standard-encodings "microsoft-cp1251") (input-method . "belarusian") (documentation . "Support for Belarusian with windows-1251 character set. \(The name Belarusian replaced Byelorussian in the early 1990s.)")) '("Cyrillic")) (set-language-info-alist "Ukrainian" `((coding-system koi8-u) (coding-priority koi8-u) (input-method . "ukrainian-computer") (documentation . "Support for Ukrainian with koi8-u character set.")) '("Cyrillic")) (provide 'cyrillic) ;; arch-tag: bda71ae0-ba41-4cb6-a6e0-1dff542313d3 ;;; cyrillic.el ends here