diff --git a/.emacs.d/elpa/auto-complete-1.4/COPYING.FDL b/.emacs.d/elpa/auto-complete-1.4/COPYING.FDL
new file mode 100644
index 0000000..2f7e03c
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/COPYING.FDL
@@ -0,0 +1,451 @@
+
+ GNU Free Documentation License
+ Version 1.3, 3 November 2008
+
+
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+0. PREAMBLE
+
+The purpose of this License is to make a manual, textbook, or other
+functional and useful document "free" in the sense of freedom: to
+assure everyone the effective freedom to copy and redistribute it,
+with or without modifying it, either commercially or noncommercially.
+Secondarily, this License preserves for the author and publisher a way
+to get credit for their work, while not being considered responsible
+for modifications made by others.
+
+This License is a kind of "copyleft", which means that derivative
+works of the document must themselves be free in the same sense. It
+complements the GNU General Public License, which is a copyleft
+license designed for free software.
+
+We have designed this License in order to use it for manuals for free
+software, because free software needs free documentation: a free
+program should come with manuals providing the same freedoms that the
+software does. But this License is not limited to software manuals;
+it can be used for any textual work, regardless of subject matter or
+whether it is published as a printed book. We recommend this License
+principally for works whose purpose is instruction or reference.
+
+
+1. APPLICABILITY AND DEFINITIONS
+
+This License applies to any manual or other work, in any medium, that
+contains a notice placed by the copyright holder saying it can be
+distributed under the terms of this License. Such a notice grants a
+world-wide, royalty-free license, unlimited in duration, to use that
+work under the conditions stated herein. The "Document", below,
+refers to any such manual or work. Any member of the public is a
+licensee, and is addressed as "you". You accept the license if you
+copy, modify or distribute the work in a way requiring permission
+under copyright law.
+
+A "Modified Version" of the Document means any work containing the
+Document or a portion of it, either copied verbatim, or with
+modifications and/or translated into another language.
+
+A "Secondary Section" is a named appendix or a front-matter section of
+the Document that deals exclusively with the relationship of the
+publishers or authors of the Document to the Document's overall
+subject (or to related matters) and contains nothing that could fall
+directly within that overall subject. (Thus, if the Document is in
+part a textbook of mathematics, a Secondary Section may not explain
+any mathematics.) The relationship could be a matter of historical
+connection with the subject or with related matters, or of legal,
+commercial, philosophical, ethical or political position regarding
+them.
+
+The "Invariant Sections" are certain Secondary Sections whose titles
+are designated, as being those of Invariant Sections, in the notice
+that says that the Document is released under this License. If a
+section does not fit the above definition of Secondary then it is not
+allowed to be designated as Invariant. The Document may contain zero
+Invariant Sections. If the Document does not identify any Invariant
+Sections then there are none.
+
+The "Cover Texts" are certain short passages of text that are listed,
+as Front-Cover Texts or Back-Cover Texts, in the notice that says that
+the Document is released under this License. A Front-Cover Text may
+be at most 5 words, and a Back-Cover Text may be at most 25 words.
+
+A "Transparent" copy of the Document means a machine-readable copy,
+represented in a format whose specification is available to the
+general public, that is suitable for revising the document
+straightforwardly with generic text editors or (for images composed of
+pixels) generic paint programs or (for drawings) some widely available
+drawing editor, and that is suitable for input to text formatters or
+for automatic translation to a variety of formats suitable for input
+to text formatters. A copy made in an otherwise Transparent file
+format whose markup, or absence of markup, has been arranged to thwart
+or discourage subsequent modification by readers is not Transparent.
+An image format is not Transparent if used for any substantial amount
+of text. A copy that is not "Transparent" is called "Opaque".
+
+Examples of suitable formats for Transparent copies include plain
+ASCII without markup, Texinfo input format, LaTeX input format, SGML
+or XML using a publicly available DTD, and standard-conforming simple
+HTML, PostScript or PDF designed for human modification. Examples of
+transparent image formats include PNG, XCF and JPG. Opaque formats
+include proprietary formats that can be read and edited only by
+proprietary word processors, SGML or XML for which the DTD and/or
+processing tools are not generally available, and the
+machine-generated HTML, PostScript or PDF produced by some word
+processors for output purposes only.
+
+The "Title Page" means, for a printed book, the title page itself,
+plus such following pages as are needed to hold, legibly, the material
+this License requires to appear in the title page. For works in
+formats which do not have any title page as such, "Title Page" means
+the text near the most prominent appearance of the work's title,
+preceding the beginning of the body of the text.
+
+The "publisher" means any person or entity that distributes copies of
+the Document to the public.
+
+A section "Entitled XYZ" means a named subunit of the Document whose
+title either is precisely XYZ or contains XYZ in parentheses following
+text that translates XYZ in another language. (Here XYZ stands for a
+specific section name mentioned below, such as "Acknowledgements",
+"Dedications", "Endorsements", or "History".) To "Preserve the Title"
+of such a section when you modify the Document means that it remains a
+section "Entitled XYZ" according to this definition.
+
+The Document may include Warranty Disclaimers next to the notice which
+states that this License applies to the Document. These Warranty
+Disclaimers are considered to be included by reference in this
+License, but only as regards disclaiming warranties: any other
+implication that these Warranty Disclaimers may have is void and has
+no effect on the meaning of this License.
+
+2. VERBATIM COPYING
+
+You may copy and distribute the Document in any medium, either
+commercially or noncommercially, provided that this License, the
+copyright notices, and the license notice saying this License applies
+to the Document are reproduced in all copies, and that you add no
+other conditions whatsoever to those of this License. You may not use
+technical measures to obstruct or control the reading or further
+copying of the copies you make or distribute. However, you may accept
+compensation in exchange for copies. If you distribute a large enough
+number of copies you must also follow the conditions in section 3.
+
+You may also lend copies, under the same conditions stated above, and
+you may publicly display copies.
+
+
+3. COPYING IN QUANTITY
+
+If you publish printed copies (or copies in media that commonly have
+printed covers) of the Document, numbering more than 100, and the
+Document's license notice requires Cover Texts, you must enclose the
+copies in covers that carry, clearly and legibly, all these Cover
+Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
+the back cover. Both covers must also clearly and legibly identify
+you as the publisher of these copies. The front cover must present
+the full title with all words of the title equally prominent and
+visible. You may add other material on the covers in addition.
+Copying with changes limited to the covers, as long as they preserve
+the title of the Document and satisfy these conditions, can be treated
+as verbatim copying in other respects.
+
+If the required texts for either cover are too voluminous to fit
+legibly, you should put the first ones listed (as many as fit
+reasonably) on the actual cover, and continue the rest onto adjacent
+pages.
+
+If you publish or distribute Opaque copies of the Document numbering
+more than 100, you must either include a machine-readable Transparent
+copy along with each Opaque copy, or state in or with each Opaque copy
+a computer-network location from which the general network-using
+public has access to download using public-standard network protocols
+a complete Transparent copy of the Document, free of added material.
+If you use the latter option, you must take reasonably prudent steps,
+when you begin distribution of Opaque copies in quantity, to ensure
+that this Transparent copy will remain thus accessible at the stated
+location until at least one year after the last time you distribute an
+Opaque copy (directly or through your agents or retailers) of that
+edition to the public.
+
+It is requested, but not required, that you contact the authors of the
+Document well before redistributing any large number of copies, to
+give them a chance to provide you with an updated version of the
+Document.
+
+
+4. MODIFICATIONS
+
+You may copy and distribute a Modified Version of the Document under
+the conditions of sections 2 and 3 above, provided that you release
+the Modified Version under precisely this License, with the Modified
+Version filling the role of the Document, thus licensing distribution
+and modification of the Modified Version to whoever possesses a copy
+of it. In addition, you must do these things in the Modified Version:
+
+A. Use in the Title Page (and on the covers, if any) a title distinct
+ from that of the Document, and from those of previous versions
+ (which should, if there were any, be listed in the History section
+ of the Document). You may use the same title as a previous version
+ if the original publisher of that version gives permission.
+B. List on the Title Page, as authors, one or more persons or entities
+ responsible for authorship of the modifications in the Modified
+ Version, together with at least five of the principal authors of the
+ Document (all of its principal authors, if it has fewer than five),
+ unless they release you from this requirement.
+C. State on the Title page the name of the publisher of the
+ Modified Version, as the publisher.
+D. Preserve all the copyright notices of the Document.
+E. Add an appropriate copyright notice for your modifications
+ adjacent to the other copyright notices.
+F. Include, immediately after the copyright notices, a license notice
+ giving the public permission to use the Modified Version under the
+ terms of this License, in the form shown in the Addendum below.
+G. Preserve in that license notice the full lists of Invariant Sections
+ and required Cover Texts given in the Document's license notice.
+H. Include an unaltered copy of this License.
+I. Preserve the section Entitled "History", Preserve its Title, and add
+ to it an item stating at least the title, year, new authors, and
+ publisher of the Modified Version as given on the Title Page. If
+ there is no section Entitled "History" in the Document, create one
+ stating the title, year, authors, and publisher of the Document as
+ given on its Title Page, then add an item describing the Modified
+ Version as stated in the previous sentence.
+J. Preserve the network location, if any, given in the Document for
+ public access to a Transparent copy of the Document, and likewise
+ the network locations given in the Document for previous versions
+ it was based on. These may be placed in the "History" section.
+ You may omit a network location for a work that was published at
+ least four years before the Document itself, or if the original
+ publisher of the version it refers to gives permission.
+K. For any section Entitled "Acknowledgements" or "Dedications",
+ Preserve the Title of the section, and preserve in the section all
+ the substance and tone of each of the contributor acknowledgements
+ and/or dedications given therein.
+L. Preserve all the Invariant Sections of the Document,
+ unaltered in their text and in their titles. Section numbers
+ or the equivalent are not considered part of the section titles.
+M. Delete any section Entitled "Endorsements". Such a section
+ may not be included in the Modified Version.
+N. Do not retitle any existing section to be Entitled "Endorsements"
+ or to conflict in title with any Invariant Section.
+O. Preserve any Warranty Disclaimers.
+
+If the Modified Version includes new front-matter sections or
+appendices that qualify as Secondary Sections and contain no material
+copied from the Document, you may at your option designate some or all
+of these sections as invariant. To do this, add their titles to the
+list of Invariant Sections in the Modified Version's license notice.
+These titles must be distinct from any other section titles.
+
+You may add a section Entitled "Endorsements", provided it contains
+nothing but endorsements of your Modified Version by various
+parties--for example, statements of peer review or that the text has
+been approved by an organization as the authoritative definition of a
+standard.
+
+You may add a passage of up to five words as a Front-Cover Text, and a
+passage of up to 25 words as a Back-Cover Text, to the end of the list
+of Cover Texts in the Modified Version. Only one passage of
+Front-Cover Text and one of Back-Cover Text may be added by (or
+through arrangements made by) any one entity. If the Document already
+includes a cover text for the same cover, previously added by you or
+by arrangement made by the same entity you are acting on behalf of,
+you may not add another; but you may replace the old one, on explicit
+permission from the previous publisher that added the old one.
+
+The author(s) and publisher(s) of the Document do not by this License
+give permission to use their names for publicity for or to assert or
+imply endorsement of any Modified Version.
+
+
+5. COMBINING DOCUMENTS
+
+You may combine the Document with other documents released under this
+License, under the terms defined in section 4 above for modified
+versions, provided that you include in the combination all of the
+Invariant Sections of all of the original documents, unmodified, and
+list them all as Invariant Sections of your combined work in its
+license notice, and that you preserve all their Warranty Disclaimers.
+
+The combined work need only contain one copy of this License, and
+multiple identical Invariant Sections may be replaced with a single
+copy. If there are multiple Invariant Sections with the same name but
+different contents, make the title of each such section unique by
+adding at the end of it, in parentheses, the name of the original
+author or publisher of that section if known, or else a unique number.
+Make the same adjustment to the section titles in the list of
+Invariant Sections in the license notice of the combined work.
+
+In the combination, you must combine any sections Entitled "History"
+in the various original documents, forming one section Entitled
+"History"; likewise combine any sections Entitled "Acknowledgements",
+and any sections Entitled "Dedications". You must delete all sections
+Entitled "Endorsements".
+
+
+6. COLLECTIONS OF DOCUMENTS
+
+You may make a collection consisting of the Document and other
+documents released under this License, and replace the individual
+copies of this License in the various documents with a single copy
+that is included in the collection, provided that you follow the rules
+of this License for verbatim copying of each of the documents in all
+other respects.
+
+You may extract a single document from such a collection, and
+distribute it individually under this License, provided you insert a
+copy of this License into the extracted document, and follow this
+License in all other respects regarding verbatim copying of that
+document.
+
+
+7. AGGREGATION WITH INDEPENDENT WORKS
+
+A compilation of the Document or its derivatives with other separate
+and independent documents or works, in or on a volume of a storage or
+distribution medium, is called an "aggregate" if the copyright
+resulting from the compilation is not used to limit the legal rights
+of the compilation's users beyond what the individual works permit.
+When the Document is included in an aggregate, this License does not
+apply to the other works in the aggregate which are not themselves
+derivative works of the Document.
+
+If the Cover Text requirement of section 3 is applicable to these
+copies of the Document, then if the Document is less than one half of
+the entire aggregate, the Document's Cover Texts may be placed on
+covers that bracket the Document within the aggregate, or the
+electronic equivalent of covers if the Document is in electronic form.
+Otherwise they must appear on printed covers that bracket the whole
+aggregate.
+
+
+8. TRANSLATION
+
+Translation is considered a kind of modification, so you may
+distribute translations of the Document under the terms of section 4.
+Replacing Invariant Sections with translations requires special
+permission from their copyright holders, but you may include
+translations of some or all Invariant Sections in addition to the
+original versions of these Invariant Sections. You may include a
+translation of this License, and all the license notices in the
+Document, and any Warranty Disclaimers, provided that you also include
+the original English version of this License and the original versions
+of those notices and disclaimers. In case of a disagreement between
+the translation and the original version of this License or a notice
+or disclaimer, the original version will prevail.
+
+If a section in the Document is Entitled "Acknowledgements",
+"Dedications", or "History", the requirement (section 4) to Preserve
+its Title (section 1) will typically require changing the actual
+title.
+
+
+9. TERMINATION
+
+You may not copy, modify, sublicense, or distribute the Document
+except as expressly provided under this License. Any attempt
+otherwise to copy, modify, sublicense, or distribute it is void, and
+will automatically terminate your rights under this License.
+
+However, if you cease all violation of this License, then your license
+from a particular copyright holder is reinstated (a) provisionally,
+unless and until the copyright holder explicitly and finally
+terminates your license, and (b) permanently, if the copyright holder
+fails to notify you of the violation by some reasonable means prior to
+60 days after the cessation.
+
+Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, receipt of a copy of some or all of the same material does
+not give you any rights to use it.
+
+
+10. FUTURE REVISIONS OF THIS LICENSE
+
+The Free Software Foundation may publish new, revised versions of the
+GNU Free Documentation 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. See
+http://www.gnu.org/copyleft/.
+
+Each version of the License is given a distinguishing version number.
+If the Document specifies that a particular numbered version of this
+License "or any later version" applies to it, you have the option of
+following the terms and conditions either of that specified version or
+of any later version that has been published (not as a draft) by the
+Free Software Foundation. If the Document does not specify a version
+number of this License, you may choose any version ever published (not
+as a draft) by the Free Software Foundation. If the Document
+specifies that a proxy can decide which future versions of this
+License can be used, that proxy's public statement of acceptance of a
+version permanently authorizes you to choose that version for the
+Document.
+
+11. RELICENSING
+
+"Massive Multiauthor Collaboration Site" (or "MMC Site") means any
+World Wide Web server that publishes copyrightable works and also
+provides prominent facilities for anybody to edit those works. A
+public wiki that anybody can edit is an example of such a server. A
+"Massive Multiauthor Collaboration" (or "MMC") contained in the site
+means any set of copyrightable works thus published on the MMC site.
+
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
+published by that same organization.
+
+"Incorporate" means to publish or republish a Document, in whole or in
+part, as part of another Document.
+
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole or
+in part into the MMC, (1) had no cover texts or invariant sections, and
+(2) were thus incorporated prior to November 1, 2008.
+
+The operator of an MMC Site may republish an MMC contained in the site
+under CC-BY-SA on the same site at any time before August 1, 2009,
+provided the MMC is eligible for relicensing.
+
+
+ADDENDUM: How to use this License for your documents
+
+To use this License in a document you have written, include a copy of
+the License in the document and put the following copyright and
+license notices just after the title page:
+
+ Copyright (c) YEAR YOUR NAME.
+ Permission is granted to copy, distribute and/or modify this document
+ under the terms of the GNU Free Documentation License, Version 1.3
+ or any later version published by the Free Software Foundation;
+ with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
+ A copy of the license is included in the section entitled "GNU
+ Free Documentation License".
+
+If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
+replace the "with...Texts." line with this:
+
+ with the Invariant Sections being LIST THEIR TITLES, with the
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
+
+If you have Invariant Sections without Cover Texts, or some other
+combination of the three, merge those two alternatives to suit the
+situation.
+
+If your document contains nontrivial examples of program code, we
+recommend releasing these examples in parallel under your choice of
+free software license, such as the GNU General Public License,
+to permit their use in free software.
diff --git a/.emacs.d/elpa/auto-complete-1.4/COPYING.GPLv3 b/.emacs.d/elpa/auto-complete-1.4/COPYING.GPLv3
new file mode 100644
index 0000000..94a9ed0
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/COPYING.GPLv3
@@ -0,0 +1,674 @@
+ GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+ The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works. By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users. We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors. 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
+them 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 prevent others from denying you
+these rights or asking you to surrender the rights. Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+ For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received. 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.
+
+ Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+ Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so. This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software. The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable. Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products. If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+ Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary. To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ TERMS AND CONDITIONS
+
+ 0. Definitions.
+
+ "This License" refers to version 3 of the GNU General Public License.
+
+ "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+ "The Program" refers to any copyrightable work licensed under this
+License. Each licensee is addressed as "you". "Licensees" and
+"recipients" may be individuals or organizations.
+
+ To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy. The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+ A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+ To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy. Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+ To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies. Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+ An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License. If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+ 1. Source Code.
+
+ The "source code" for a work means the preferred form of the work
+for making modifications to it. "Object code" means any non-source
+form of a work.
+
+ A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+ The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form. A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+ The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities. However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work. For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+ The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+ The Corresponding Source for a work in source code form is that
+same work.
+
+ 2. Basic Permissions.
+
+ All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met. This License explicitly affirms your unlimited
+permission to run the unmodified Program. The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work. This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+ You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force. You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright. Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+ Conveying under any other circumstances is permitted solely under
+the conditions stated below. Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+ No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+ When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+ 4. Conveying Verbatim Copies.
+
+ You may convey 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;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+ You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+ 5. Conveying Modified Source Versions.
+
+ You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+ a) The work must carry prominent notices stating that you modified
+ it, and giving a relevant date.
+
+ b) The work must carry prominent notices stating that it is
+ released under this License and any conditions added under section
+ 7. This requirement modifies the requirement in section 4 to
+ "keep intact all notices".
+
+ c) You must license the entire work, as a whole, under this
+ License to anyone who comes into possession of a copy. This
+ License will therefore apply, along with any applicable section 7
+ additional terms, to the whole of the work, and all its parts,
+ regardless of how they are packaged. This License gives no
+ permission to license the work in any other way, but it does not
+ invalidate such permission if you have separately received it.
+
+ d) If the work has interactive user interfaces, each must display
+ Appropriate Legal Notices; however, if the Program has interactive
+ interfaces that do not display Appropriate Legal Notices, your
+ work need not make them do so.
+
+ A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit. Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+ 6. Conveying Non-Source Forms.
+
+ You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+ a) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by the
+ Corresponding Source fixed on a durable physical medium
+ customarily used for software interchange.
+
+ b) Convey the object code in, or embodied in, a physical product
+ (including a physical distribution medium), accompanied by a
+ written offer, valid for at least three years and valid for as
+ long as you offer spare parts or customer support for that product
+ model, to give anyone who possesses the object code either (1) a
+ copy of the Corresponding Source for all the software in the
+ product that is covered by this License, on a durable physical
+ medium customarily used for software interchange, for a price no
+ more than your reasonable cost of physically performing this
+ conveying of source, or (2) access to copy the
+ Corresponding Source from a network server at no charge.
+
+ c) Convey individual copies of the object code with a copy of the
+ written offer to provide the Corresponding Source. This
+ alternative is allowed only occasionally and noncommercially, and
+ only if you received the object code with such an offer, in accord
+ with subsection 6b.
+
+ d) Convey the object code by offering access from a designated
+ place (gratis or for a charge), and offer equivalent access to the
+ Corresponding Source in the same way through the same place at no
+ further charge. You need not require recipients to copy the
+ Corresponding Source along with the object code. If the place to
+ copy the object code is a network server, the Corresponding Source
+ may be on a different server (operated by you or a third party)
+ that supports equivalent copying facilities, provided you maintain
+ clear directions next to the object code saying where to find the
+ Corresponding Source. Regardless of what server hosts the
+ Corresponding Source, you remain obligated to ensure that it is
+ available for as long as needed to satisfy these requirements.
+
+ e) Convey the object code using peer-to-peer transmission, provided
+ you inform other peers where the object code and Corresponding
+ Source of the work are being offered to the general public at no
+ charge under subsection 6d.
+
+ A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+ A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling. In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage. For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product. A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+ "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source. The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+ If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information. But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+ The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed. Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+ Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+ 7. Additional Terms.
+
+ "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law. If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+ When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it. (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.) You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+ Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+ a) Disclaiming warranty or limiting liability differently from the
+ terms of sections 15 and 16 of this License; or
+
+ b) Requiring preservation of specified reasonable legal notices or
+ author attributions in that material or in the Appropriate Legal
+ Notices displayed by works containing it; or
+
+ c) Prohibiting misrepresentation of the origin of that material, or
+ requiring that modified versions of such material be marked in
+ reasonable ways as different from the original version; or
+
+ d) Limiting the use for publicity purposes of names of licensors or
+ authors of the material; or
+
+ e) Declining to grant rights under trademark law for use of some
+ trade names, trademarks, or service marks; or
+
+ f) Requiring indemnification of licensors and authors of that
+ material by anyone who conveys the material (or modified versions of
+ it) with contractual assumptions of liability to the recipient, for
+ any liability that these contractual assumptions directly impose on
+ those licensors and authors.
+
+ All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10. If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term. If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+ If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+ Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+ 8. Termination.
+
+ You may not propagate or modify a covered work except as expressly
+provided under this License. Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+ However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+ Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+ Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License. If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+ 9. Acceptance Not Required for Having Copies.
+
+ You are not required to accept this License in order to receive or
+run a copy of the Program. Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance. However,
+nothing other than this License grants you permission to propagate or
+modify any covered work. These actions infringe copyright if you do
+not accept this License. Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+ 10. Automatic Licensing of Downstream Recipients.
+
+ Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License. You are not responsible
+for enforcing compliance by third parties with this License.
+
+ An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations. If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+ You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License. For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+ 11. Patents.
+
+ A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based. The
+work thus licensed is called the contributor's "contributor version".
+
+ A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version. For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+ Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+ In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement). To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+ If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients. "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+ If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+ A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License. You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+ Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+ 12. No Surrender of Others' Freedom.
+
+ If 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 convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all. For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+ 13. Use with the GNU Affero General Public License.
+
+ Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work. The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+ 14. Revised Versions of this License.
+
+ The Free Software Foundation may publish revised and/or new versions of
+the GNU 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 that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation. If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+ If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+ Later license versions may give you additional or different
+permissions. However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+ 15. Disclaimer of Warranty.
+
+ 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.
+
+ 16. Limitation of Liability.
+
+ IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+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.
+
+ 17. Interpretation of Sections 15 and 16.
+
+ If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+ 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
+state 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 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 .
+
+Also add information on how to contact you by electronic and paper mail.
+
+ If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+ Copyright (C)
+ This program 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, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+ You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+.
+
+ The GNU 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 Lesser General
+Public License instead of this License. But first, please read
+.
diff --git a/.emacs.d/elpa/auto-complete-1.4/Makefile b/.emacs.d/elpa/auto-complete-1.4/Makefile
new file mode 100644
index 0000000..e65514c
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/Makefile
@@ -0,0 +1,27 @@
+VERSION=`perl -ne 'print $$1 if /;; Version: (.*)/' auto-complete.el`
+PACKAGE=auto-complete-${VERSION}
+
+byte-compile:
+ emacs -Q -L . -batch -f batch-byte-compile auto-complete.el auto-complete-config.el
+
+install:
+ emacs -Q -L . -batch -l etc/install ${DIR}
+
+clean:
+ rm -f *.elc
+ rm -f doc/*.html
+ rm -rf ${PACKAGE}
+ rm -f ${PACKAGE}.zip ${PACKAGE}.tar ${PACKAGE}.tar.bz2
+
+package: clean
+ mkdir ${PACKAGE}
+ cp -r *.el Makefile *.md COPYING.* doc dict ${PACKAGE}
+
+package.tar: package
+ tar cf ${PACKAGE}.tar ${PACKAGE}
+
+package.tar.bz2: tar
+ bzip2 ${PACKAGE}.tar
+
+package.zip: package
+ zip -r ${PACKAGE}.zip ${PACKAGE}
diff --git a/.emacs.d/elpa/auto-complete-1.4/README.md b/.emacs.d/elpa/auto-complete-1.4/README.md
new file mode 100644
index 0000000..c6ff110
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/README.md
@@ -0,0 +1,13 @@
+Auto Complete Mode
+==================
+
+Documentation
+-------------
+
+* http://cx4a.org/software/auto-complete/
+* doc/index.txt
+
+License
+-------
+
+Auto Complete Mode is distributed under the term of GPLv3. And its documentations under doc directory is distributed under the term of GFDL.
diff --git a/.emacs.d/elpa/auto-complete-1.4/TODO.md b/.emacs.d/elpa/auto-complete-1.4/TODO.md
new file mode 100644
index 0000000..3dd2c89
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/TODO.md
@@ -0,0 +1,11 @@
+- etags, ctags
+- emacswiki
+- test facility
+- support composed chars
+- minibuffer completion
+- performance issue (cache issue)
+- asynchronous processing
+- kanji henkan support
+- create menu if needed
+- quick help positioning on tabs (bug)
+- skip short completion
diff --git a/.emacs.d/elpa/auto-complete-1.4/auto-complete-autoloads.el b/.emacs.d/elpa/auto-complete-1.4/auto-complete-autoloads.el
new file mode 100644
index 0000000..a472e66
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/auto-complete-autoloads.el
@@ -0,0 +1,18 @@
+;;; auto-complete-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+
+;;;### (autoloads nil nil ("auto-complete-config.el" "auto-complete-pkg.el"
+;;;;;; "auto-complete.el") (21125 3848 113000))
+
+;;;***
+
+(provide 'auto-complete-autoloads)
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; auto-complete-autoloads.el ends here
diff --git a/.emacs.d/elpa/auto-complete-1.4/auto-complete-config.el b/.emacs.d/elpa/auto-complete-1.4/auto-complete-config.el
new file mode 100644
index 0000000..13f3057
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/auto-complete-config.el
@@ -0,0 +1,497 @@
+;;; auto-complete-config.el --- auto-complete additional configuations
+
+;; Copyright (C) 2009, 2010 Tomohiro Matsuyama
+
+;; Author: Tomohiro Matsuyama
+;; Keywords: convenience
+;; Version: 1.4
+
+;; 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 .
+
+;;; Commentary:
+
+;;
+
+;;; Code:
+
+(eval-when-compile
+ (require 'cl))
+
+(require 'auto-complete)
+
+
+
+;;;; Additional sources
+
+;; imenu
+
+(defvar ac-imenu-index nil)
+
+(ac-clear-variable-every-10-minutes 'ac-imenu-index)
+
+(defun ac-imenu-candidates ()
+ (loop with i = 0
+ with stack = (progn
+ (unless (local-variable-p 'ac-imenu-index)
+ (make-local-variable 'ac-imenu-index))
+ (or ac-imenu-index
+ (setq ac-imenu-index
+ (ignore-errors
+ (with-no-warnings
+ (imenu--make-index-alist))))))
+ with result
+ while (and stack (or (not (integerp ac-limit))
+ (< i ac-limit)))
+ for node = (pop stack)
+ if (consp node)
+ do
+ (let ((car (car node))
+ (cdr (cdr node)))
+ (if (consp cdr)
+ (mapc (lambda (child)
+ (push child stack))
+ cdr)
+ (when (and (stringp car)
+ (string-match (concat "^" (regexp-quote ac-prefix)) car))
+ ;; Remove extra characters
+ (if (string-match "^.*\\(()\\|=\\|<>\\)$" car)
+ (setq car (substring car 0 (match-beginning 1))))
+ (push car result)
+ (incf i))))
+ finally return (nreverse result)))
+
+(ac-define-source imenu
+ '((depends imenu)
+ (candidates . ac-imenu-candidates)
+ (symbol . "s")))
+
+;; gtags
+
+(defface ac-gtags-candidate-face
+ '((t (:background "lightgray" :foreground "navy")))
+ "Face for gtags candidate"
+ :group 'auto-complete)
+
+(defface ac-gtags-selection-face
+ '((t (:background "navy" :foreground "white")))
+ "Face for the gtags selected candidate."
+ :group 'auto-complete)
+
+(defun ac-gtags-candidate ()
+ (ignore-errors
+ (split-string (shell-command-to-string (format "global -ciq %s" ac-prefix)) "\n")))
+
+(ac-define-source gtags
+ '((candidates . ac-gtags-candidate)
+ (candidate-face . ac-gtags-candidate-face)
+ (selection-face . ac-gtags-selection-face)
+ (requires . 3)
+ (symbol . "s")))
+
+;; yasnippet
+
+(defface ac-yasnippet-candidate-face
+ '((t (:background "sandybrown" :foreground "black")))
+ "Face for yasnippet candidate."
+ :group 'auto-complete)
+
+(defface ac-yasnippet-selection-face
+ '((t (:background "coral3" :foreground "white")))
+ "Face for the yasnippet selected candidate."
+ :group 'auto-complete)
+
+(defun ac-yasnippet-table-hash (table)
+ (cond
+ ((fboundp 'yas/snippet-table-hash)
+ (yas/snippet-table-hash table))
+ ((fboundp 'yas/table-hash)
+ (yas/table-hash table))))
+
+(defun ac-yasnippet-table-parent (table)
+ (cond
+ ((fboundp 'yas/snippet-table-parent)
+ (yas/snippet-table-parent table))
+ ((fboundp 'yas/table-parent)
+ (yas/table-parent table))))
+
+(defun ac-yasnippet-candidate-1 (table)
+ (with-no-warnings
+ (let ((hashtab (ac-yasnippet-table-hash table))
+ (parent (ac-yasnippet-table-parent table))
+ candidates)
+ (maphash (lambda (key value)
+ (push key candidates))
+ hashtab)
+ (setq candidates (all-completions ac-prefix (nreverse candidates)))
+ (if parent
+ (setq candidates
+ (append candidates (ac-yasnippet-candidate-1 parent))))
+ candidates)))
+
+(defun ac-yasnippet-candidates ()
+ (with-no-warnings
+ (if (fboundp 'yas/get-snippet-tables)
+ ;; >0.6.0
+ (apply 'append (mapcar 'ac-yasnippet-candidate-1 (yas/get-snippet-tables major-mode)))
+ (let ((table
+ (if (fboundp 'yas/snippet-table)
+ ;; <0.6.0
+ (yas/snippet-table major-mode)
+ ;; 0.6.0
+ (yas/current-snippet-table))))
+ (if table
+ (ac-yasnippet-candidate-1 table))))))
+
+(ac-define-source yasnippet
+ '((depends yasnippet)
+ (candidates . ac-yasnippet-candidates)
+ (action . yas/expand)
+ (candidate-face . ac-yasnippet-candidate-face)
+ (selection-face . ac-yasnippet-selection-face)
+ (symbol . "a")))
+
+;; semantic
+
+(defun ac-semantic-candidates (prefix)
+ (with-no-warnings
+ (delete "" ; semantic sometimes returns an empty string
+ (mapcar 'semantic-tag-name
+ (ignore-errors
+ (or (semantic-analyze-possible-completions
+ (semantic-analyze-current-context))
+ (senator-find-tag-for-completion prefix)))))))
+
+(ac-define-source semantic
+ '((available . (or (require 'semantic-ia nil t)
+ (require 'semantic/ia nil t)))
+ (candidates . (ac-semantic-candidates ac-prefix))
+ (prefix . c-dot-ref)
+ (requires . 0)
+ (symbol . "m")))
+
+(ac-define-source semantic-raw
+ '((available . (or (require 'semantic-ia nil t)
+ (require 'semantic/ia nil t)))
+ (candidates . (ac-semantic-candidates ac-prefix))
+ (symbol . "s")))
+
+;; eclim
+
+(defun ac-eclim-candidates ()
+ (with-no-warnings
+ (loop for c in (eclim/java-complete)
+ collect (nth 1 c))))
+
+(ac-define-source eclim
+ '((candidates . ac-eclim-candidates)
+ (prefix . c-dot)
+ (requires . 0)
+ (symbol . "f")))
+
+;; css
+
+;; Copied from company-css.el
+(defconst ac-css-property-alist
+ ;; see http://www.w3.org/TR/CSS21/propidx.html
+ '(("azimuth" angle "left-side" "far-left" "left" "center-left" "center"
+ "center-right" "right" "far-right" "right-side" "behind" "leftwards"
+ "rightwards")
+ ("background" background-color background-image background-repeat
+ background-attachment background-position)
+ ("background-attachment" "scroll" "fixed")
+ ("background-color" color "transparent")
+ ("background-image" uri "none")
+ ("background-position" percentage length "left" "center" "right" percentage
+ length "top" "center" "bottom" "left" "center" "right" "top" "center"
+ "bottom")
+ ("background-repeat" "repeat" "repeat-x" "repeat-y" "no-repeat")
+ ("border" border-width border-style border-color)
+ ("border-bottom" border)
+ ("border-bottom-color" border-color)
+ ("border-bottom-style" border-style)
+ ("border-bottom-width" border-width)
+ ("border-collapse" "collapse" "separate")
+ ("border-color" color "transparent")
+ ("border-left" border)
+ ("border-left-color" border-color)
+ ("border-left-style" border-style)
+ ("border-left-width" border-width)
+ ("border-right" border)
+ ("border-right-color" border-color)
+ ("border-right-style" border-style)
+ ("border-right-width" border-width)
+ ("border-spacing" length length)
+ ("border-style" border-style)
+ ("border-top" border)
+ ("border-top-color" border-color)
+ ("border-top-style" border-style)
+ ("border-top-width" border-width)
+ ("border-width" border-width)
+ ("bottom" length percentage "auto")
+ ("caption-side" "top" "bottom")
+ ("clear" "none" "left" "right" "both")
+ ("clip" shape "auto")
+ ("color" color)
+ ("content" "normal" "none" string uri counter "attr()" "open-quote"
+ "close-quote" "no-open-quote" "no-close-quote")
+ ("counter-increment" identifier integer "none")
+ ("counter-reset" identifier integer "none")
+ ("cue" cue-before cue-after)
+ ("cue-after" uri "none")
+ ("cue-before" uri "none")
+ ("cursor" uri "*" "auto" "crosshair" "default" "pointer" "move" "e-resize"
+ "ne-resize" "nw-resize" "n-resize" "se-resize" "sw-resize" "s-resize"
+ "w-resize" "text" "wait" "help" "progress")
+ ("direction" "ltr" "rtl")
+ ("display" "inline" "block" "list-item" "run-in" "inline-block" "table"
+ "inline-table" "table-row-group" "table-header-group" "table-footer-group"
+ "table-row" "table-column-group" "table-column" "table-cell"
+ "table-caption" "none")
+ ("elevation" angle "below" "level" "above" "higher" "lower")
+ ("empty-cells" "show" "hide")
+ ("float" "left" "right" "none")
+ ("font" font-style font-variant font-weight font-size "/" line-height
+ font-family "caption" "icon" "menu" "message-box" "small-caption"
+ "status-bar")
+ ("font-family" family-name generic-family)
+ ("font-size" absolute-size relative-size length percentage)
+ ("font-style" "normal" "italic" "oblique")
+ ("font-variant" "normal" "small-caps")
+ ("font-weight" "normal" "bold" "bolder" "lighter" "100" "200" "300" "400"
+ "500" "600" "700" "800" "900")
+ ("height" length percentage "auto")
+ ("left" length percentage "auto")
+ ("letter-spacing" "normal" length)
+ ("line-height" "normal" number length percentage)
+ ("list-style" list-style-type list-style-position list-style-image)
+ ("list-style-image" uri "none")
+ ("list-style-position" "inside" "outside")
+ ("list-style-type" "disc" "circle" "square" "decimal" "decimal-leading-zero"
+ "lower-roman" "upper-roman" "lower-greek" "lower-latin" "upper-latin"
+ "armenian" "georgian" "lower-alpha" "upper-alpha" "none")
+ ("margin" margin-width)
+ ("margin-bottom" margin-width)
+ ("margin-left" margin-width)
+ ("margin-right" margin-width)
+ ("margin-top" margin-width)
+ ("max-height" length percentage "none")
+ ("max-width" length percentage "none")
+ ("min-height" length percentage)
+ ("min-width" length percentage)
+ ("orphans" integer)
+ ("outline" outline-color outline-style outline-width)
+ ("outline-color" color "invert")
+ ("outline-style" border-style)
+ ("outline-width" border-width)
+ ("overflow" "visible" "hidden" "scroll" "auto")
+ ("padding" padding-width)
+ ("padding-bottom" padding-width)
+ ("padding-left" padding-width)
+ ("padding-right" padding-width)
+ ("padding-top" padding-width)
+ ("page-break-after" "auto" "always" "avoid" "left" "right")
+ ("page-break-before" "auto" "always" "avoid" "left" "right")
+ ("page-break-inside" "avoid" "auto")
+ ("pause" time percentage)
+ ("pause-after" time percentage)
+ ("pause-before" time percentage)
+ ("pitch" frequency "x-low" "low" "medium" "high" "x-high")
+ ("pitch-range" number)
+ ("play-during" uri "mix" "repeat" "auto" "none")
+ ("position" "static" "relative" "absolute" "fixed")
+ ("quotes" string string "none")
+ ("richness" number)
+ ("right" length percentage "auto")
+ ("speak" "normal" "none" "spell-out")
+ ("speak-header" "once" "always")
+ ("speak-numeral" "digits" "continuous")
+ ("speak-punctuation" "code" "none")
+ ("speech-rate" number "x-slow" "slow" "medium" "fast" "x-fast" "faster"
+ "slower")
+ ("stress" number)
+ ("table-layout" "auto" "fixed")
+ ("text-align" "left" "right" "center" "justify")
+ ("text-decoration" "none" "underline" "overline" "line-through" "blink")
+ ("text-indent" length percentage)
+ ("text-transform" "capitalize" "uppercase" "lowercase" "none")
+ ("top" length percentage "auto")
+ ("unicode-bidi" "normal" "embed" "bidi-override")
+ ("vertical-align" "baseline" "sub" "super" "top" "text-top" "middle"
+ "bottom" "text-bottom" percentage length)
+ ("visibility" "visible" "hidden" "collapse")
+ ("voice-family" specific-voice generic-voice "*" specific-voice
+ generic-voice)
+ ("volume" number percentage "silent" "x-soft" "soft" "medium" "loud"
+ "x-loud")
+ ("white-space" "normal" "pre" "nowrap" "pre-wrap" "pre-line")
+ ("widows" integer)
+ ("width" length percentage "auto")
+ ("word-spacing" "normal" length)
+ ("z-index" "auto" integer))
+ "A list of CSS properties and their possible values.")
+
+(defconst ac-css-value-classes
+ '((absolute-size "xx-small" "x-small" "small" "medium" "large" "x-large"
+ "xx-large")
+ (border-style "none" "hidden" "dotted" "dashed" "solid" "double" "groove"
+ "ridge" "inset" "outset")
+ (color "aqua" "black" "blue" "fuchsia" "gray" "green" "lime" "maroon" "navy"
+ "olive" "orange" "purple" "red" "silver" "teal" "white" "yellow"
+ "rgb")
+ (counter "counter")
+ (family-name "Courier" "Helvetica" "Times")
+ (generic-family "serif" "sans-serif" "cursive" "fantasy" "monospace")
+ (generic-voice "male" "female" "child")
+ (margin-width "auto") ;; length percentage
+ (relative-size "larger" "smaller")
+ (shape "rect")
+ (uri "url"))
+ "A list of CSS property value classes and their contents.")
+
+(defconst ac-css-pseudo-classes
+ '("active" "after" "before" "first" "first-child" "first-letter" "first-line"
+ "focus" "hover" "lang" "left" "link" "right" "visited")
+ "Identifiers for CSS pseudo-elements and pseudo-classes.")
+
+(defvar ac-css-property nil
+ "Current editing property.")
+
+(defun ac-css-prefix ()
+ (when (save-excursion (re-search-backward "\\_<\\(.+?\\)\\_>\\s *:[^;]*\\=" nil t))
+ (setq ac-css-property (match-string 1))
+ (or (ac-prefix-symbol) (point))))
+
+(defun ac-css-property-candidates ()
+ (let ((list (assoc-default ac-css-property ac-css-property-alist)))
+ (if list
+ (loop with seen
+ with value
+ while (setq value (pop list))
+ if (symbolp value)
+ do (unless (memq value seen)
+ (push value seen)
+ (setq list
+ (append list
+ (or (assoc-default value ac-css-value-classes)
+ (assoc-default (symbol-name value) ac-css-property-alist)))))
+ else collect value)
+ ac-css-pseudo-classes)))
+
+(ac-define-source css-property
+ '((candidates . ac-css-property-candidates)
+ (prefix . ac-css-prefix)
+ (requires . 0)))
+
+;; slime
+(ac-define-source slime
+ '((depends slime)
+ (candidates . (car (slime-simple-completions ac-prefix)))
+ (symbol . "s")
+ (cache)))
+
+;; ghc-mod
+(ac-define-source ghc-mod
+ '((depends ghc)
+ (candidates . (ghc-select-completion-symbol))
+ (symbol . "s")
+ (cache)))
+
+
+
+;;;; Not maintained sources
+
+;; ropemacs
+
+(defvar ac-ropemacs-loaded nil)
+(defun ac-ropemacs-require ()
+ (with-no-warnings
+ (unless ac-ropemacs-loaded
+ (pymacs-load "ropemacs" "rope-")
+ (if (boundp 'ropemacs-enable-autoimport)
+ (setq ropemacs-enable-autoimport t))
+ (setq ac-ropemacs-loaded t))))
+
+(defun ac-ropemacs-setup ()
+ (ac-ropemacs-require)
+ ;(setq ac-sources (append (list 'ac-source-ropemacs) ac-sources))
+ (setq ac-omni-completion-sources '(("\\." ac-source-ropemacs))))
+
+(defun ac-ropemacs-initialize ()
+ (autoload 'pymacs-apply "pymacs")
+ (autoload 'pymacs-call "pymacs")
+ (autoload 'pymacs-eval "pymacs" nil t)
+ (autoload 'pymacs-exec "pymacs" nil t)
+ (autoload 'pymacs-load "pymacs" nil t)
+ (add-hook 'python-mode-hook 'ac-ropemacs-setup)
+ t)
+
+(defvar ac-ropemacs-completions-cache nil)
+(defvar ac-source-ropemacs
+ '((init
+ . (lambda ()
+ (setq ac-ropemacs-completions-cache
+ (mapcar
+ (lambda (completion)
+ (concat ac-prefix completion))
+ (ignore-errors
+ (rope-completions))))))
+ (candidates . ac-ropemacs-completions-cache)))
+
+;; rcodetools
+
+(defvar ac-source-rcodetools
+ '((init . (lambda ()
+ (require 'rcodetools)
+ (condition-case x
+ (save-excursion
+ (rct-exec-and-eval rct-complete-command-name "--completion-emacs-icicles"))
+ (error) (setq rct-method-completion-table nil))))
+ (candidates . (lambda ()
+ (all-completions
+ ac-prefix
+ (mapcar
+ (lambda (completion)
+ (replace-regexp-in-string "\t.*$" "" (car completion)))
+ rct-method-completion-table))))))
+
+
+
+;;;; Default settings
+
+(defun ac-common-setup ()
+ ;(add-to-list 'ac-sources 'ac-source-filename)
+ )
+
+(defun ac-emacs-lisp-mode-setup ()
+ (setq ac-sources (append '(ac-source-features ac-source-functions ac-source-yasnippet ac-source-variables ac-source-symbols) ac-sources)))
+
+(defun ac-cc-mode-setup ()
+ (setq ac-sources (append '(ac-source-yasnippet ac-source-gtags) ac-sources)))
+
+(defun ac-ruby-mode-setup ())
+
+(defun ac-css-mode-setup ()
+ (setq ac-sources (append '(ac-source-css-property) ac-sources)))
+
+(defun ac-config-default ()
+ (setq-default ac-sources '(ac-source-abbrev ac-source-dictionary ac-source-words-in-same-mode-buffers))
+ (add-hook 'emacs-lisp-mode-hook 'ac-emacs-lisp-mode-setup)
+ (add-hook 'c-mode-common-hook 'ac-cc-mode-setup)
+ (add-hook 'ruby-mode-hook 'ac-ruby-mode-setup)
+ (add-hook 'css-mode-hook 'ac-css-mode-setup)
+ (add-hook 'auto-complete-mode-hook 'ac-common-setup)
+ (global-auto-complete-mode t))
+
+(provide 'auto-complete-config)
+;;; auto-complete-config.el ends here
diff --git a/.emacs.d/elpa/auto-complete-1.4/auto-complete-pkg.el b/.emacs.d/elpa/auto-complete-1.4/auto-complete-pkg.el
new file mode 100644
index 0000000..d7ee903
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/auto-complete-pkg.el
@@ -0,0 +1,4 @@
+(define-package "auto-complete"
+ "1.4"
+ "Auto Completion for GNU Emacs"
+ '((popup "0.5")))
diff --git a/.emacs.d/elpa/auto-complete-1.4/auto-complete.el b/.emacs.d/elpa/auto-complete-1.4/auto-complete.el
new file mode 100644
index 0000000..3a2e652
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/auto-complete.el
@@ -0,0 +1,1985 @@
+;;; auto-complete.el --- Auto Completion for GNU Emacs
+
+;; Copyright (C) 2008, 2009, 2010, 2011, 2012 Tomohiro Matsuyama
+
+;; Author: Tomohiro Matsuyama
+;; URL: http://cx4a.org/software/auto-complete
+;; Keywords: completion, convenience
+;; Version: 1.4
+
+;; 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 .
+
+;;; Commentary:
+;;
+;; This extension provides a way to complete with popup menu like:
+;;
+;; def-!-
+;; +-----------------+
+;; |defun::::::::::::|
+;; |defvar |
+;; |defmacro |
+;; | ... |
+;; +-----------------+
+;;
+;; You can complete by typing and selecting menu.
+;;
+;; Entire documents are located in doc/ directory.
+;; Take a look for information.
+;;
+;; Enjoy!
+
+;;; Code:
+
+
+
+(eval-when-compile
+ (require 'cl))
+
+(require 'popup)
+
+;;;; Global stuff
+
+(defun ac-error (&optional var)
+ "Report an error and disable `auto-complete-mode'."
+ (ignore-errors
+ (message "auto-complete error: %s" var)
+ (auto-complete-mode -1)
+ var))
+
+
+
+;;;; Customization
+
+(defgroup auto-complete nil
+ "Auto completion."
+ :group 'completion
+ :prefix "ac-")
+
+(defcustom ac-delay 0.1
+ "Delay to completions will be available."
+ :type 'float
+ :group 'auto-complete)
+
+(defcustom ac-auto-show-menu 0.8
+ "Non-nil means completion menu will be automatically shown."
+ :type '(choice (const :tag "Yes" t)
+ (const :tag "Never" nil)
+ (float :tag "Timer"))
+ :group 'auto-complete)
+
+(defcustom ac-show-menu-immediately-on-auto-complete t
+ "Non-nil means menu will be showed immediately on `auto-complete'."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defcustom ac-expand-on-auto-complete t
+ "Non-nil means expand whole common part on first time `auto-complete'."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defcustom ac-disable-faces '(font-lock-comment-face font-lock-string-face font-lock-doc-face)
+ "Non-nil means disable automatic completion on specified faces."
+ :type '(repeat symbol)
+ :group 'auto-complete)
+
+(defcustom ac-stop-flymake-on-completing t
+ "Non-nil means disble flymake temporarily on completing."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defcustom ac-use-fuzzy t
+ "Non-nil means use fuzzy matching."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defcustom ac-fuzzy-cursor-color "red"
+ "Cursor color in fuzzy mode."
+ :type 'string
+ :group 'auto-complete)
+
+(defcustom ac-use-comphist t
+ "Non-nil means use intelligent completion history."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defcustom ac-comphist-threshold 0.7
+ "Percentage of ignoring low scored candidates."
+ :type 'float
+ :group 'auto-complete)
+
+(defcustom ac-comphist-file
+ (expand-file-name (concat (if (boundp 'user-emacs-directory)
+ user-emacs-directory
+ "~/.emacs.d/")
+ "/ac-comphist.dat"))
+ "Completion history file name."
+ :type 'string
+ :group 'auto-complete)
+
+(defcustom ac-user-dictionary nil
+ "User defined dictionary"
+ :type '(repeat string)
+ :group 'auto-complete)
+
+(defcustom ac-dictionary-files '("~/.dict")
+ "Dictionary files."
+ :type '(repeat string)
+ :group 'auto-complete)
+(defvaralias 'ac-user-dictionary-files 'ac-dictionary-files)
+
+(defcustom ac-dictionary-directories
+ (ignore-errors
+ (when load-file-name
+ (let ((installed-dir (file-name-directory load-file-name)))
+ (loop for name in '("ac-dict" "dict")
+ for dir = (concat installed-dir name)
+ if (file-directory-p dir)
+ collect dir))))
+ "Dictionary directories."
+ :type '(repeat string)
+ :group 'auto-complete)
+
+(defcustom ac-use-quick-help t
+ "Non-nil means use quick help."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defcustom ac-quick-help-delay 1.5
+ "Delay to show quick help."
+ :type 'float
+ :group 'auto-complete)
+
+(defcustom ac-menu-height 10
+ "Max height of candidate menu."
+ :type 'integer
+ :group 'auto-complete)
+(defvaralias 'ac-candidate-menu-height 'ac-menu-height)
+
+(defcustom ac-quick-help-height 20
+ "Max height of quick help."
+ :type 'integer
+ :group 'auto-complete)
+
+(defcustom ac-quick-help-prefer-pos-tip t
+ "Prefer native tooltip with pos-tip than overlay popup for displaying quick help."
+ :type 'boolean
+ :group 'auto-complete)
+(defvaralias 'ac-quick-help-prefer-x 'ac-quick-help-prefer-pos-tip)
+
+(defcustom ac-candidate-limit nil
+ "Limit number of candidates. Non-integer means no limit."
+ :type 'integer
+ :group 'auto-complete)
+(defvaralias 'ac-candidate-max 'ac-candidate-limit)
+
+(defcustom ac-modes
+ '(emacs-lisp-mode lisp-mode lisp-interaction-mode
+ slime-repl-mode
+ c-mode cc-mode c++-mode
+ java-mode malabar-mode clojure-mode clojurescript-mode scala-mode
+ scheme-mode
+ ocaml-mode tuareg-mode coq-mode haskell-mode agda-mode agda2-mode
+ perl-mode cperl-mode python-mode ruby-mode lua-mode
+ ecmascript-mode javascript-mode js-mode js2-mode php-mode css-mode
+ makefile-mode sh-mode fortran-mode f90-mode ada-mode
+ xml-mode sgml-mode
+ ts-mode)
+ "Major modes `auto-complete-mode' can run on."
+ :type '(repeat symbol)
+ :group 'auto-complete)
+
+(defcustom ac-compatible-packages-regexp
+ "^ac-"
+ "Regexp to indicate what packages can work with auto-complete."
+ :type 'string
+ :group 'auto-complete)
+
+(defcustom ac-non-trigger-commands
+ '(*table--cell-self-insert-command)
+ "Commands that can't be used as triggers of `auto-complete'."
+ :type '(repeat symbol)
+ :group 'auto-complete)
+
+(defcustom ac-trigger-commands
+ '(self-insert-command)
+ "Trigger commands that specify whether `auto-complete' should start or not."
+ :type '(repeat symbol)
+ :group 'auto-complete)
+
+(defcustom ac-trigger-commands-on-completing
+ '(delete-backward-char
+ backward-delete-char
+ backward-delete-char-untabify)
+ "Trigger commands that specify whether `auto-complete' should continue or not."
+ :type '(repeat symbol)
+ :group 'auto-complete)
+
+(defcustom ac-trigger-key nil
+ "Non-nil means `auto-complete' will start by typing this key.
+If you specify this TAB, for example, `auto-complete' will start by typing TAB,
+and if there is no completions, an original command will be fallbacked."
+ :type 'string
+ :group 'auto-complete
+ :set (lambda (symbol value)
+ (set-default symbol value)
+ (when (and value
+ (fboundp 'ac-set-trigger-key))
+ (ac-set-trigger-key value))))
+
+(defcustom ac-auto-start 2
+ "Non-nil means completion will be started automatically.
+Positive integer means if a length of a word you entered is larger than the value,
+completion will be started automatically.
+If you specify `nil', never be started automatically."
+ :type '(choice (const :tag "Yes" t)
+ (const :tag "Never" nil)
+ (integer :tag "Require"))
+ :group 'auto-complete)
+
+(defcustom ac-stop-words nil
+ "List of string to stop completion."
+ :type '(repeat string)
+ :group 'auto-complete)
+(defvaralias 'ac-ignores 'ac-stop-words)
+
+(defcustom ac-use-dictionary-as-stop-words t
+ "Non-nil means a buffer related dictionary will be thought of as stop words."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defcustom ac-ignore-case 'smart
+ "Non-nil means auto-complete ignores case.
+If this value is `smart', auto-complete ignores case only when
+a prefix doen't contain any upper case letters."
+ :type '(choice (const :tag "Yes" t)
+ (const :tag "Smart" smart)
+ (const :tag "No" nil))
+ :group 'auto-complete)
+
+(defcustom ac-dwim t
+ "Non-nil means `auto-complete' works based on Do What I Mean."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defcustom ac-use-menu-map nil
+ "Non-nil means a special keymap `ac-menu-map' on completing menu will be used."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defcustom ac-use-overriding-local-map nil
+ "Non-nil means `overriding-local-map' will be used to hack for overriding key events on auto-copletion."
+ :type 'boolean
+ :group 'auto-complete)
+
+(defface ac-completion-face
+ '((t (:foreground "darkgray" :underline t)))
+ "Face for inline completion"
+ :group 'auto-complete)
+
+(defface ac-candidate-face
+ '((t (:background "lightgray" :foreground "black")))
+ "Face for candidate."
+ :group 'auto-complete)
+
+(defface ac-candidate-mouse-face
+ '((t (:background "blue" :foreground "white")))
+ "Mouse face for candidate."
+ :group 'auto-complete)
+
+(defface ac-selection-face
+ '((t (:background "steelblue" :foreground "white")))
+ "Face for selected candidate."
+ :group 'auto-complete)
+
+(defvar auto-complete-mode-hook nil
+ "Hook for `auto-complete-mode'.")
+
+
+
+;;;; Internal variables
+
+(defvar auto-complete-mode nil
+ "Dummy variable to suppress compiler warnings.")
+
+(defvar ac-cursor-color nil
+ "Old cursor color.")
+
+(defvar ac-inline nil
+ "Inline completion instance.")
+
+(defvar ac-menu nil
+ "Menu instance.")
+
+(defvar ac-show-menu nil
+ "Flag to show menu on timer tick.")
+
+(defvar ac-last-completion nil
+ "Cons of prefix marker and selected item of last completion.")
+
+(defvar ac-quick-help nil
+ "Quick help instance")
+
+(defvar ac-completing nil
+ "Non-nil means `auto-complete-mode' is now working on completion.")
+
+(defvar ac-buffer nil
+ "Buffer where auto-complete is started.")
+
+(defvar ac-point nil
+ "Start point of prefix.")
+
+(defvar ac-last-point nil
+ "Last point of updating pattern.")
+
+(defvar ac-prefix nil
+ "Prefix string.")
+(defvaralias 'ac-target 'ac-prefix)
+
+(defvar ac-selected-candidate nil
+ "Last selected candidate.")
+
+(defvar ac-common-part nil
+ "Common part string of meaningful candidates.
+If there is no common part, this will be nil.")
+
+(defvar ac-whole-common-part nil
+ "Common part string of whole candidates.
+If there is no common part, this will be nil.")
+
+(defvar ac-prefix-overlay nil
+ "Overlay for prefix string.")
+
+(defvar ac-timer nil
+ "Completion idle timer.")
+
+(defvar ac-show-menu-timer nil
+ "Show menu idle timer.")
+
+(defvar ac-quick-help-timer nil
+ "Quick help idle timer.")
+
+(defvar ac-triggered nil
+ "Flag to update.")
+
+(defvar ac-limit nil
+ "Limit number of candidates for each sources.")
+
+(defvar ac-candidates nil
+ "Current candidates.")
+
+(defvar ac-candidates-cache nil
+ "Candidates cache for individual sources.")
+
+(defvar ac-fuzzy-enable nil
+ "Non-nil means fuzzy matching is enabled.")
+
+(defvar ac-dwim-enable nil
+ "Non-nil means DWIM completion will be allowed.")
+
+(defvar ac-mode-map (make-sparse-keymap)
+ "Auto-complete mode map. It is also used for trigger key command. See also `ac-trigger-key'.")
+
+(defvar ac-completing-map
+ (let ((map (make-sparse-keymap)))
+ (define-key map "\t" 'ac-expand)
+ (define-key map [tab] 'ac-expand)
+ (define-key map "\r" 'ac-complete)
+ (define-key map [return] 'ac-complete)
+ (define-key map (kbd "M-TAB") 'auto-complete)
+ (define-key map "\C-s" 'ac-isearch)
+
+ (define-key map "\M-n" 'ac-next)
+ (define-key map "\M-p" 'ac-previous)
+ (define-key map [down] 'ac-next)
+ (define-key map [up] 'ac-previous)
+
+ (define-key map [f1] 'ac-help)
+ (define-key map [M-f1] 'ac-persist-help)
+ (define-key map (kbd "C-?") 'ac-help)
+ (define-key map (kbd "C-M-?") 'ac-persist-help)
+
+ (define-key map [C-down] 'ac-quick-help-scroll-down)
+ (define-key map [C-up] 'ac-quick-help-scroll-up)
+ (define-key map "\C-\M-n" 'ac-quick-help-scroll-down)
+ (define-key map "\C-\M-p" 'ac-quick-help-scroll-up)
+
+ (dotimes (i 9)
+ (let ((symbol (intern (format "ac-complete-%d" (1+ i)))))
+ (fset symbol
+ `(lambda ()
+ (interactive)
+ (when (and (ac-menu-live-p) (popup-select ac-menu ,i))
+ (ac-complete))))
+ (define-key map (read-kbd-macro (format "M-%s" (1+ i))) symbol)))
+
+ map)
+ "Keymap for completion.")
+(defvaralias 'ac-complete-mode-map 'ac-completing-map)
+
+(defvar ac-menu-map
+ (let ((map (make-sparse-keymap)))
+ (set-keymap-parent map ac-completing-map)
+ (define-key map "\C-n" 'ac-next)
+ (define-key map "\C-p" 'ac-previous)
+ (define-key map [mouse-1] 'ac-mouse-1)
+ (define-key map [down-mouse-1] 'ac-ignore)
+ (define-key map [mouse-4] 'ac-mouse-4)
+ (define-key map [mouse-5] 'ac-mouse-5)
+ map)
+ "Keymap for completion on completing menu.")
+
+(defvar ac-current-map
+ (let ((map (make-sparse-keymap)))
+ (set-keymap-parent map ac-completing-map)
+ map))
+
+(defvar ac-match-function 'all-completions
+ "Default match function.")
+
+(defvar ac-prefix-definitions
+ '((symbol . ac-prefix-symbol)
+ (file . ac-prefix-file)
+ (valid-file . ac-prefix-valid-file)
+ (c-dot . ac-prefix-c-dot)
+ (c-dot-ref . ac-prefix-c-dot-ref))
+ "Prefix definitions for common use.")
+
+(defvar ac-sources '(ac-source-words-in-same-mode-buffers)
+ "Sources for completion.")
+(make-variable-buffer-local 'ac-sources)
+
+(defvar ac-compiled-sources nil
+ "Compiled source of `ac-sources'.")
+
+(defvar ac-current-sources nil
+ "Current working sources. This is sublist of `ac-compiled-sources'.")
+
+(defvar ac-omni-completion-sources nil
+ "Do not use this anymore.")
+
+(defvar ac-current-prefix-def nil)
+
+(defvar ac-ignoring-prefix-def nil)
+
+
+
+;;;; Intelligent completion history
+
+(defvar ac-comphist nil
+ "Database of completion history.")
+
+(defsubst ac-comphist-make-tab ()
+ (make-hash-table :test 'equal))
+
+(defsubst ac-comphist-tab (db)
+ (nth 0 db))
+
+(defsubst ac-comphist-cache (db)
+ (nth 1 db))
+
+(defun ac-comphist-make (&optional tab)
+ (list (or tab (ac-comphist-make-tab)) (make-hash-table :test 'equal :weakness t)))
+
+(defun ac-comphist-get (db string &optional create)
+ (let* ((tab (ac-comphist-tab db))
+ (index (gethash string tab)))
+ (when (and create (null index))
+ (setq index (make-vector (length string) 0))
+ (puthash string index tab))
+ index))
+
+(defun ac-comphist-add (db string prefix)
+ (setq prefix (min prefix (1- (length string))))
+ (when (<= 0 prefix)
+ (setq string (substring-no-properties string))
+ (let ((stat (ac-comphist-get db string t)))
+ (incf (aref stat prefix))
+ (remhash string (ac-comphist-cache db)))))
+
+(defun ac-comphist-score (db string prefix)
+ (setq prefix (min prefix (1- (length string))))
+ (if (<= 0 prefix)
+ (let ((cache (gethash string (ac-comphist-cache db))))
+ (or (and cache (aref cache prefix))
+ (let ((stat (ac-comphist-get db string))
+ (score 0.0))
+ (when stat
+ (loop for p from 0 below (length string)
+ ;; sigmoid function
+ with a = 5
+ with b = (/ 700.0 a) ; bounds for avoiding range error in `exp'
+ with d = (/ 6.0 a)
+ for x = (max (- b) (min b (- d (abs (- prefix p)))))
+ for r = (/ 1.0 (1+ (exp (* (- a) x))))
+ do
+ (incf score (* (aref stat p) r))))
+ ;; Weight by distance
+ (incf score (max 0.0 (- 0.3 (/ (- (length string) prefix) 100.0))))
+ (unless cache
+ (setq cache (make-vector (length string) nil))
+ (puthash string cache (ac-comphist-cache db)))
+ (aset cache prefix score)
+ score)))
+ 0.0))
+
+(defun ac-comphist-sort (db collection prefix &optional threshold)
+ (let (result
+ (n 0)
+ (total 0)
+ (cur 0))
+ (setq result (mapcar (lambda (a)
+ (when (and cur threshold)
+ (if (>= cur (* total threshold))
+ (setq cur nil)
+ (incf n)
+ (incf cur (cdr a))))
+ (car a))
+ (sort (mapcar (lambda (string)
+ (let ((score (ac-comphist-score db string prefix)))
+ (incf total score)
+ (cons string score)))
+ collection)
+ (lambda (a b) (< (cdr b) (cdr a))))))
+ (if threshold
+ (cons n result)
+ result)))
+
+(defun ac-comphist-serialize (db)
+ (let (alist)
+ (maphash (lambda (k v)
+ (push (cons k v) alist))
+ (ac-comphist-tab db))
+ (list alist)))
+
+(defun ac-comphist-deserialize (sexp)
+ (condition-case nil
+ (ac-comphist-make (let ((tab (ac-comphist-make-tab)))
+ (mapc (lambda (cons)
+ (puthash (car cons) (cdr cons) tab))
+ (nth 0 sexp))
+ tab))
+ (error (message "Invalid comphist db.") nil)))
+
+(defun ac-comphist-init ()
+ (ac-comphist-load)
+ (add-hook 'kill-emacs-hook 'ac-comphist-save))
+
+(defun ac-comphist-load ()
+ (interactive)
+ (let ((db (if (file-exists-p ac-comphist-file)
+ (ignore-errors
+ (with-temp-buffer
+ (insert-file-contents ac-comphist-file)
+ (goto-char (point-min))
+ (ac-comphist-deserialize (read (current-buffer))))))))
+ (setq ac-comphist (or db (ac-comphist-make)))))
+
+(defun ac-comphist-save ()
+ (interactive)
+ (require 'pp)
+ (ignore-errors
+ (with-temp-buffer
+ (pp (ac-comphist-serialize ac-comphist) (current-buffer))
+ (write-region (point-min) (point-max) ac-comphist-file))))
+
+
+
+;;;; Dictionary
+(defvar ac-buffer-dictionary nil)
+(defvar ac-file-dictionary (make-hash-table :test 'equal))
+
+(defun ac-clear-dictionary-cache ()
+ (interactive)
+ (dolist (buffer (buffer-list))
+ (with-current-buffer buffer
+ (if (local-variable-p 'ac-buffer-dictionary)
+ (kill-local-variable 'ac-buffer-dictionary))))
+ (clrhash ac-file-dictionary))
+
+(defun ac-file-dictionary (filename)
+ (let ((cache (gethash filename ac-file-dictionary 'none)))
+ (if (and cache (not (eq cache 'none)))
+ cache
+ (let (result)
+ (ignore-errors
+ (with-temp-buffer
+ (insert-file-contents filename)
+ (setq result (split-string (buffer-string) "\n" t))))
+ (puthash filename result ac-file-dictionary)
+ result))))
+
+(defun ac-mode-dictionary (mode)
+ (loop for name in (cons (symbol-name mode)
+ (ignore-errors (list (file-name-extension (buffer-file-name)))))
+ for dir in ac-dictionary-directories
+ for file = (concat dir "/" name)
+ if (file-exists-p file)
+ append (ac-file-dictionary file)))
+
+(defun ac-buffer-dictionary (&optional buffer)
+ (with-current-buffer (or buffer (current-buffer))
+ (if (local-variable-p 'ac-buffer-dictionary)
+ ac-buffer-dictionary
+ (make-local-variable 'ac-buffer-dictionary)
+ (setq ac-buffer-dictionary
+ (apply 'append
+ ac-user-dictionary
+ (ac-mode-dictionary major-mode)
+ (mapcar 'ac-file-dictionary ac-dictionary-files))))))
+
+
+
+;;;; Auto completion internals
+
+(defun ac-menu-at-wrapper-line-p ()
+ "Return non-nil if current line is long and wrapped to next visual line."
+ (and (not truncate-lines)
+ (eq (line-beginning-position)
+ (save-excursion
+ (vertical-motion 1)
+ (line-beginning-position)))))
+
+(defun ac-stop-word-p (word)
+ (or (member word ac-stop-words)
+ (if ac-use-dictionary-as-stop-words
+ (member word (ac-buffer-dictionary)))))
+
+(defun ac-prefix-symbol ()
+ "Default prefix definition function."
+ (require 'thingatpt)
+ (car-safe (bounds-of-thing-at-point 'symbol)))
+(defalias 'ac-prefix-default 'ac-prefix-symbol)
+
+(defun ac-prefix-file ()
+ "File prefix."
+ (let ((point (re-search-backward "[\"<>' \t\r\n]" nil t)))
+ (if point (1+ point))))
+
+(defun ac-prefix-valid-file ()
+ "Existed (or to be existed) file prefix."
+ (let* ((line-beg (line-beginning-position))
+ (end (point))
+ (start (or (let ((point (re-search-backward "[\"<>'= \t\r\n]" line-beg t)))
+ (if point (1+ point)))
+ line-beg))
+ (file (buffer-substring start end)))
+ (if (and file (or (string-match "^/" file)
+ (and (setq file (and (string-match "^[^/]*/" file)
+ (match-string 0 file)))
+ (file-directory-p file))))
+ start)))
+
+(defun ac-prefix-c-dot ()
+ "C-like languages dot(.) prefix."
+ (if (re-search-backward "\\.\\(\\(?:[a-zA-Z0-9][_a-zA-Z0-9]*\\)?\\)\\=" nil t)
+ (match-beginning 1)))
+
+(defun ac-prefix-c-dot-ref ()
+ "C-like languages dot(.) and reference(->) prefix."
+ (if (re-search-backward "\\(?:\\.\\|->\\)\\(\\(?:[a-zA-Z0-9][_a-zA-Z0-9]*\\)?\\)\\=" nil t)
+ (match-beginning 1)))
+
+(defun ac-define-prefix (name prefix)
+ "Define new prefix definition.
+You can not use it in source definition like (prefix . `NAME')."
+ (push (cons name prefix) ac-prefix-definitions))
+
+(defun ac-match-substring (prefix candidates)
+ (loop with regexp = (regexp-quote prefix)
+ for candidate in candidates
+ if (string-match regexp candidate)
+ collect candidate))
+
+(defsubst ac-source-entity (source)
+ (if (symbolp source)
+ (symbol-value source)
+ source))
+
+(defun ac-source-available-p (source)
+ (if (and (symbolp source)
+ (get source 'available))
+ (eq (get source 'available) t)
+ (let* ((src (ac-source-entity source))
+ (avail-pair (assq 'available src))
+ (avail-cond (cdr avail-pair))
+ (available (and (if avail-pair
+ (cond
+ ((symbolp avail-cond)
+ (funcall avail-cond))
+ ((listp avail-cond)
+ (eval avail-cond)))
+ t)
+ (loop for feature in (assoc-default 'depends src)
+ unless (require feature nil t) return nil
+ finally return t))))
+ (if (symbolp source)
+ (put source 'available (if available t 'no)))
+ available)))
+
+(defun ac-compile-sources (sources)
+ "Compiled `SOURCES' into expanded sources style."
+ (loop for source in sources
+ if (ac-source-available-p source)
+ do
+ (setq source (ac-source-entity source))
+ (flet ((add-attribute (name value &optional append) (add-to-list 'source (cons name value) append)))
+ ;; prefix
+ (let* ((prefix (assoc 'prefix source))
+ (real (assoc-default (cdr prefix) ac-prefix-definitions)))
+ (cond
+ (real
+ (add-attribute 'prefix real))
+ ((null prefix)
+ (add-attribute 'prefix 'ac-prefix-default))))
+ ;; match
+ (let ((match (assq 'match source)))
+ (cond
+ ((eq (cdr match) 'substring)
+ (setcdr match 'ac-match-substring)))))
+ and collect source))
+
+(defun ac-compiled-sources ()
+ (or ac-compiled-sources
+ (setq ac-compiled-sources
+ (ac-compile-sources ac-sources))))
+
+(defsubst ac-menu-live-p ()
+ (popup-live-p ac-menu))
+
+(defun ac-menu-create (point width height)
+ (setq ac-menu
+ (popup-create point width height
+ :around t
+ :face 'ac-candidate-face
+ :mouse-face 'ac-candidate-mouse-face
+ :selection-face 'ac-selection-face
+ :symbol t
+ :scroll-bar t
+ :margin-left 1
+ :keymap ac-menu-map ; for mouse bindings
+ )))
+
+(defun ac-menu-delete ()
+ (when ac-menu
+ (popup-delete ac-menu)
+ (setq ac-menu)))
+
+(defsubst ac-inline-overlay ()
+ (nth 0 ac-inline))
+
+(defsubst ac-inline-live-p ()
+ (and ac-inline (ac-inline-overlay) t))
+
+(defun ac-inline-show (point string)
+ (unless ac-inline
+ (setq ac-inline (list nil)))
+ (save-excursion
+ (let ((overlay (ac-inline-overlay))
+ (width 0)
+ (string-width (string-width string))
+ (length 0)
+ (original-string string))
+ ;; Calculate string space to show completion
+ (goto-char point)
+ (let (c)
+ (while (and (not (eolp))
+ (< width string-width)
+ (setq c (char-after))
+ (not (eq c ?\t))) ; special case for tab
+ (incf width (char-width c))
+ (incf length)
+ (forward-char)))
+
+ ;; Show completion
+ (goto-char point)
+ (cond
+ ((= width 0)
+ ;; End-of-line
+ ;; Do nothing
+ )
+ ((<= width string-width)
+ ;; No space to show
+ ;; Do nothing
+ )
+ ((> width string-width)
+ ;; Need to fill space
+ (setq string (concat string (make-string (- width string-width) ? )))))
+ (setq string (propertize string 'face 'ac-completion-face))
+ (if overlay
+ (progn
+ (move-overlay overlay point (+ point length))
+ (overlay-put overlay 'invisible nil))
+ (setq overlay (make-overlay point (+ point length)))
+ (setf (nth 0 ac-inline) overlay)
+ (overlay-put overlay 'priority 9999)
+ ;; Help prefix-overlay in some cases
+ (overlay-put overlay 'keymap ac-current-map))
+ ;; TODO no width but char
+ (if (eq length 0)
+ ;; Case: End-of-line
+ (progn
+ (put-text-property 0 1 'cursor t string)
+ (overlay-put overlay 'after-string string))
+ (let ((display (substring string 0 1))
+ (after-string (substring string 1)))
+ (overlay-put overlay 'display display)
+ (overlay-put overlay 'after-string after-string)))
+ (overlay-put overlay 'string original-string))))
+
+(defun ac-inline-delete ()
+ (when (ac-inline-live-p)
+ (ac-inline-hide)
+ (delete-overlay (ac-inline-overlay))
+ (setq ac-inline nil)))
+
+(defun ac-inline-hide ()
+ (when (ac-inline-live-p)
+ (let ((overlay (ac-inline-overlay))
+ (buffer-undo-list t))
+ (when overlay
+ (move-overlay overlay (point-min) (point-min))
+ (overlay-put overlay 'invisible t)
+ (overlay-put overlay 'display nil)
+ (overlay-put overlay 'after-string nil)))))
+
+(defun ac-inline-update ()
+ (if (and ac-completing ac-prefix (stringp ac-common-part))
+ (let ((common-part-length (length ac-common-part))
+ (prefix-length (length ac-prefix)))
+ (if (> common-part-length prefix-length)
+ (progn
+ (ac-inline-hide)
+ (ac-inline-show (point) (substring ac-common-part prefix-length)))
+ (ac-inline-delete)))
+ (ac-inline-delete)))
+
+(defun ac-put-prefix-overlay ()
+ (unless ac-prefix-overlay
+ (let (newline)
+ ;; Insert newline to make sure that cursor always on the overlay
+ (when (and (eq ac-point (point-max))
+ (eq ac-point (point)))
+ (popup-save-buffer-state
+ (insert "\n"))
+ (setq newline t))
+ (setq ac-prefix-overlay (make-overlay ac-point (1+ (point)) nil t t))
+ (overlay-put ac-prefix-overlay 'priority 9999)
+ (overlay-put ac-prefix-overlay 'keymap (make-sparse-keymap))
+ (overlay-put ac-prefix-overlay 'newline newline))))
+
+(defun ac-remove-prefix-overlay ()
+ (when ac-prefix-overlay
+ (when (overlay-get ac-prefix-overlay 'newline)
+ ;; Remove inserted newline
+ (popup-save-buffer-state
+ (goto-char (point-max))
+ (if (eq (char-before) ?\n)
+ (delete-char -1))))
+ (delete-overlay ac-prefix-overlay)))
+
+(defun ac-activate-completing-map ()
+ (if (and ac-show-menu ac-use-menu-map)
+ (set-keymap-parent ac-current-map ac-menu-map))
+ (when (and ac-use-overriding-local-map
+ (null overriding-terminal-local-map))
+ (setq overriding-terminal-local-map ac-current-map))
+ (when ac-prefix-overlay
+ (set-keymap-parent (overlay-get ac-prefix-overlay 'keymap) ac-current-map)))
+
+(defun ac-deactivate-completing-map ()
+ (set-keymap-parent ac-current-map ac-completing-map)
+ (when (and ac-use-overriding-local-map
+ (eq overriding-terminal-local-map ac-current-map))
+ (setq overriding-terminal-local-map nil))
+ (when ac-prefix-overlay
+ (set-keymap-parent (overlay-get ac-prefix-overlay 'keymap) nil)))
+
+(defsubst ac-selected-candidate ()
+ (if ac-menu
+ (popup-selected-item ac-menu)))
+
+(defun ac-prefix (requires ignore-list)
+ (loop with current = (point)
+ with point
+ with prefix-def
+ with sources
+ for source in (ac-compiled-sources)
+ for prefix = (assoc-default 'prefix source)
+ for req = (or (assoc-default 'requires source) requires 1)
+
+ if (null prefix-def)
+ do
+ (unless (member prefix ignore-list)
+ (save-excursion
+ (setq point (cond
+ ((symbolp prefix)
+ (funcall prefix))
+ ((stringp prefix)
+ (and (re-search-backward (concat prefix "\\=") nil t)
+ (or (match-beginning 1) (match-beginning 0))))
+ ((stringp (car-safe prefix))
+ (let ((regexp (nth 0 prefix))
+ (end (nth 1 prefix))
+ (group (nth 2 prefix)))
+ (and (re-search-backward (concat regexp "\\=") nil t)
+ (funcall (if end 'match-end 'match-beginning)
+ (or group 0)))))
+ (t
+ (eval prefix))))
+ (if (and point
+ (integerp req)
+ (< (- current point) req))
+ (setq point nil))
+ (if point
+ (setq prefix-def prefix))))
+
+ if (equal prefix prefix-def) do (push source sources)
+
+ finally return
+ (and point (list prefix-def point (nreverse sources)))))
+
+(defun ac-init ()
+ "Initialize current sources to start completion."
+ (setq ac-candidates-cache nil)
+ (loop for source in ac-current-sources
+ for function = (assoc-default 'init source)
+ if function do
+ (save-excursion
+ (cond
+ ((functionp function)
+ (funcall function))
+ (t
+ (eval function))))))
+
+(defun ac-candidates-1 (source)
+ (let* ((do-cache (assq 'cache source))
+ (function (assoc-default 'candidates source))
+ (action (assoc-default 'action source))
+ (document (assoc-default 'document source))
+ (symbol (assoc-default 'symbol source))
+ (ac-limit (or (assoc-default 'limit source) ac-limit))
+ (face (or (assoc-default 'face source) (assoc-default 'candidate-face source)))
+ (selection-face (assoc-default 'selection-face source))
+ (cache (and do-cache (assq source ac-candidates-cache)))
+ (candidates (cdr cache)))
+ (unless cache
+ (setq candidates (save-excursion
+ (cond
+ ((functionp function)
+ (funcall function))
+ (t
+ (eval function)))))
+ ;; Convert (name value) format candidates into name with text properties.
+ (setq candidates (mapcar (lambda (candidate)
+ (if (consp candidate)
+ (propertize (car candidate) 'value (cdr candidate))
+ candidate))
+ candidates))
+ (when do-cache
+ (push (cons source candidates) ac-candidates-cache)))
+ (setq candidates (funcall (or (assoc-default 'match source)
+ ac-match-function)
+ ac-prefix candidates))
+ ;; Remove extra items regarding to ac-limit
+ (if (and (integerp ac-limit) (> ac-limit 1) (> (length candidates) ac-limit))
+ (setcdr (nthcdr (1- ac-limit) candidates) nil))
+ ;; Put candidate properties
+ (setq candidates (mapcar (lambda (candidate)
+ (popup-item-propertize candidate
+ 'action action
+ 'symbol symbol
+ 'document document
+ 'popup-face face
+ 'selection-face selection-face))
+ candidates))
+ candidates))
+
+(defun ac-candidates ()
+ "Produce candidates for current sources."
+ (loop with completion-ignore-case = (or (eq ac-ignore-case t)
+ (and (eq ac-ignore-case 'smart)
+ (let ((case-fold-search nil)) (not (string-match "[[:upper:]]" ac-prefix)))))
+ with case-fold-search = completion-ignore-case
+ with prefix-len = (length ac-prefix)
+ for source in ac-current-sources
+ append (ac-candidates-1 source) into candidates
+ finally return
+ (progn
+ (delete-dups candidates)
+ (if (and ac-use-comphist ac-comphist)
+ (if ac-show-menu
+ (let* ((pair (ac-comphist-sort ac-comphist candidates prefix-len ac-comphist-threshold))
+ (n (car pair))
+ (result (cdr pair))
+ (cons (if (> n 0) (nthcdr (1- n) result)))
+ (cdr (cdr cons)))
+ (if cons (setcdr cons nil))
+ (setq ac-common-part (try-completion ac-prefix result))
+ (setq ac-whole-common-part (try-completion ac-prefix candidates))
+ (if cons (setcdr cons cdr))
+ result)
+ (setq candidates (ac-comphist-sort ac-comphist candidates prefix-len))
+ (setq ac-common-part (if candidates (popup-x-to-string (car candidates))))
+ (setq ac-whole-common-part (try-completion ac-prefix candidates))
+ candidates)
+ (setq ac-common-part (try-completion ac-prefix candidates))
+ (setq ac-whole-common-part ac-common-part)
+ candidates))))
+
+(defun ac-update-candidates (cursor scroll-top)
+ "Update candidates of menu to `ac-candidates' and redraw it."
+ (setf (popup-cursor ac-menu) cursor
+ (popup-scroll-top ac-menu) scroll-top)
+ (setq ac-dwim-enable (= (length ac-candidates) 1))
+ (if ac-candidates
+ (progn
+ (setq ac-completing t)
+ (ac-activate-completing-map))
+ (setq ac-completing nil)
+ (ac-deactivate-completing-map))
+ (ac-inline-update)
+ (popup-set-list ac-menu ac-candidates)
+ (if (and (not ac-fuzzy-enable)
+ (<= (length ac-candidates) 1))
+ (popup-hide ac-menu)
+ (if ac-show-menu
+ (popup-draw ac-menu))))
+
+(defun ac-reposition ()
+ "Force to redraw candidate menu with current `ac-candidates'."
+ (let ((cursor (popup-cursor ac-menu))
+ (scroll-top (popup-scroll-top ac-menu))
+ (height (popup-height ac-menu)))
+ (ac-menu-delete)
+ (ac-menu-create ac-point (popup-preferred-width ac-candidates) height)
+ (ac-update-candidates cursor scroll-top)))
+
+(defun ac-cleanup ()
+ "Cleanup auto completion."
+ (if ac-cursor-color
+ (set-cursor-color ac-cursor-color))
+ (when (and ac-use-comphist ac-comphist)
+ (when (and (null ac-selected-candidate)
+ (member ac-prefix ac-candidates))
+ ;; Assume candidate is selected by just typing
+ (setq ac-selected-candidate ac-prefix)
+ (setq ac-last-point ac-point))
+ (when ac-selected-candidate
+ (ac-comphist-add ac-comphist
+ ac-selected-candidate
+ (if ac-last-point
+ (- ac-last-point ac-point)
+ (length ac-prefix)))))
+ (ac-deactivate-completing-map)
+ (ac-remove-prefix-overlay)
+ (ac-remove-quick-help)
+ (ac-inline-delete)
+ (ac-menu-delete)
+ (ac-cancel-timer)
+ (ac-cancel-show-menu-timer)
+ (ac-cancel-quick-help-timer)
+ (setq ac-cursor-color nil
+ ac-inline nil
+ ac-show-menu nil
+ ac-menu nil
+ ac-completing nil
+ ac-point nil
+ ac-last-point nil
+ ac-prefix nil
+ ac-prefix-overlay nil
+ ac-selected-candidate nil
+ ac-common-part nil
+ ac-whole-common-part nil
+ ac-triggered nil
+ ac-limit nil
+ ac-candidates nil
+ ac-candidates-cache nil
+ ac-fuzzy-enable nil
+ ac-dwim-enable nil
+ ac-compiled-sources nil
+ ac-current-sources nil
+ ac-current-prefix-def nil
+ ac-ignoring-prefix-def nil))
+
+(defsubst ac-abort ()
+ "Abort completion."
+ (ac-cleanup))
+
+(defun ac-expand-string (string &optional remove-undo-boundary)
+ "Expand `STRING' into the buffer and update `ac-prefix' to `STRING'.
+This function records deletion and insertion sequences by `undo-boundary'.
+If `remove-undo-boundary' is non-nil, this function also removes `undo-boundary'
+that have been made before in this function."
+ (when (not (equal string (buffer-substring ac-point (point))))
+ (undo-boundary)
+ ;; We can't use primitive-undo since it undoes by
+ ;; groups, divided by boundaries.
+ ;; We don't want boundary between deletion and insertion.
+ ;; So do it manually.
+ ;; Delete region silently for undo:
+ (if remove-undo-boundary
+ (progn
+ (let (buffer-undo-list)
+ (save-excursion
+ (delete-region ac-point (point))))
+ (setq buffer-undo-list
+ (nthcdr 2 buffer-undo-list)))
+ (delete-region ac-point (point)))
+ (insert string)
+ ;; Sometimes, possible when omni-completion used, (insert) added
+ ;; to buffer-undo-list strange record about position changes.
+ ;; Delete it here:
+ (when (and remove-undo-boundary
+ (integerp (cadr buffer-undo-list)))
+ (setcdr buffer-undo-list (nthcdr 2 buffer-undo-list)))
+ (undo-boundary)
+ (setq ac-selected-candidate string)
+ (setq ac-prefix string)))
+
+(defun ac-set-trigger-key (key)
+ "Set `ac-trigger-key' to `KEY'. It is recommemded to use this function instead of calling `setq'."
+ ;; Remove old mapping
+ (when ac-trigger-key
+ (define-key ac-mode-map (read-kbd-macro ac-trigger-key) nil))
+
+ ;; Make new mapping
+ (setq ac-trigger-key key)
+ (when key
+ (define-key ac-mode-map (read-kbd-macro key) 'ac-trigger-key-command)))
+
+(defun ac-set-timer ()
+ (unless ac-timer
+ (setq ac-timer (run-with-idle-timer ac-delay ac-delay 'ac-update-greedy))))
+
+(defun ac-cancel-timer ()
+ (when (timerp ac-timer)
+ (cancel-timer ac-timer)
+ (setq ac-timer nil)))
+
+(defun ac-update (&optional force)
+ (when (and auto-complete-mode
+ ac-prefix
+ (or ac-triggered
+ force)
+ (not isearch-mode))
+ (ac-put-prefix-overlay)
+ (setq ac-candidates (ac-candidates))
+ (let ((preferred-width (popup-preferred-width ac-candidates)))
+ ;; Reposition if needed
+ (when (or (null ac-menu)
+ (>= (popup-width ac-menu) preferred-width)
+ (<= (popup-width ac-menu) (- preferred-width 10))
+ (and (> (popup-direction ac-menu) 0)
+ (ac-menu-at-wrapper-line-p)))
+ (ac-inline-hide) ; Hide overlay to calculate correct column
+ (ac-menu-delete)
+ (ac-menu-create ac-point preferred-width ac-menu-height)))
+ (ac-update-candidates 0 0)
+ t))
+
+(defun ac-update-greedy (&optional force)
+ (let (result)
+ (while (when (and (setq result (ac-update force))
+ (null ac-candidates))
+ (add-to-list 'ac-ignoring-prefix-def ac-current-prefix-def)
+ (ac-start :force-init t)
+ ac-current-prefix-def))
+ result))
+
+(defun ac-set-show-menu-timer ()
+ (when (and (or (integerp ac-auto-show-menu) (floatp ac-auto-show-menu))
+ (null ac-show-menu-timer))
+ (setq ac-show-menu-timer (run-with-idle-timer ac-auto-show-menu ac-auto-show-menu 'ac-show-menu))))
+
+(defun ac-cancel-show-menu-timer ()
+ (when (timerp ac-show-menu-timer)
+ (cancel-timer ac-show-menu-timer)
+ (setq ac-show-menu-timer nil)))
+
+(defun ac-show-menu ()
+ (when (not (eq ac-show-menu t))
+ (setq ac-show-menu t)
+ (ac-inline-hide)
+ (ac-remove-quick-help)
+ (ac-update t)))
+
+(defun ac-help (&optional persist)
+ (interactive "P")
+ (when ac-menu
+ (popup-menu-show-help ac-menu persist)))
+
+(defun ac-persist-help ()
+ (interactive)
+ (ac-help t))
+
+(defun ac-last-help (&optional persist)
+ (interactive "P")
+ (when ac-last-completion
+ (popup-item-show-help (cdr ac-last-completion) persist)))
+
+(defun ac-last-persist-help ()
+ (interactive)
+ (ac-last-help t))
+
+(defun ac-set-quick-help-timer ()
+ (when (and ac-use-quick-help
+ (null ac-quick-help-timer))
+ (setq ac-quick-help-timer (run-with-idle-timer ac-quick-help-delay ac-quick-help-delay 'ac-quick-help))))
+
+(defun ac-cancel-quick-help-timer ()
+ (when (timerp ac-quick-help-timer)
+ (cancel-timer ac-quick-help-timer)
+ (setq ac-quick-help-timer nil)))
+
+(defun ac-pos-tip-show-quick-help (menu &optional item &rest args)
+ (let* ((point (plist-get args :point))
+ (around nil)
+ (parent-offset (popup-offset menu))
+ (doc (popup-menu-documentation menu item)))
+ (when (stringp doc)
+ (if (popup-hidden-p menu)
+ (setq around t)
+ (setq point nil))
+ (with-no-warnings
+ (pos-tip-show doc
+ 'popup-tip-face
+ (or point
+ (and menu
+ (popup-child-point menu parent-offset))
+ (point))
+ nil 0
+ popup-tip-max-width
+ nil nil
+ (and (not around) 0))
+ (unless (plist-get args :nowait)
+ (clear-this-command-keys)
+ (unwind-protect
+ (push (read-event (plist-get args :prompt)) unread-command-events)
+ (pos-tip-hide))
+ t)))))
+
+(defun ac-quick-help-use-pos-tip-p ()
+ (and ac-quick-help-prefer-pos-tip
+ window-system
+ (featurep 'pos-tip)))
+
+(defun ac-quick-help (&optional force)
+ (interactive)
+ ;; TODO don't use FORCE
+ (when (and (or force
+ (called-interactively-p)
+ ;; ac-isearch'ing
+ (null this-command))
+ (ac-menu-live-p)
+ (null ac-quick-help))
+ (setq ac-quick-help
+ (funcall (if (ac-quick-help-use-pos-tip-p)
+ 'ac-pos-tip-show-quick-help
+ 'popup-menu-show-quick-help)
+ ac-menu nil
+ :point ac-point
+ :height ac-quick-help-height
+ :nowait t))))
+
+(defun ac-remove-quick-help ()
+ (when (ac-quick-help-use-pos-tip-p)
+ (with-no-warnings
+ (pos-tip-hide)))
+ (when ac-quick-help
+ (popup-delete ac-quick-help)
+ (setq ac-quick-help nil)))
+
+(defun ac-last-quick-help ()
+ (interactive)
+ (when (and ac-last-completion
+ (eq (marker-buffer (car ac-last-completion))
+ (current-buffer)))
+ (let ((doc (popup-item-documentation (cdr ac-last-completion)))
+ (point (marker-position (car ac-last-completion))))
+ (when (stringp doc)
+ (if (ac-quick-help-use-pos-tip-p)
+ (with-no-warnings (pos-tip-show doc nil point nil 0))
+ (popup-tip doc
+ :point point
+ :around t
+ :scroll-bar t
+ :margin t))))))
+
+(defmacro ac-define-quick-help-command (name arglist &rest body)
+ (declare (indent 2))
+ `(progn
+ (defun ,name ,arglist ,@body)
+ (put ',name 'ac-quick-help-command t)))
+
+(ac-define-quick-help-command ac-quick-help-scroll-down ()
+ (interactive)
+ (when ac-quick-help
+ (popup-scroll-down ac-quick-help)))
+
+(ac-define-quick-help-command ac-quick-help-scroll-up ()
+ (interactive)
+ (when ac-quick-help
+ (popup-scroll-up ac-quick-help)))
+
+
+
+;;;; Auto completion isearch
+
+(defun ac-isearch-callback (list)
+ (setq ac-dwim-enable (eq (length list) 1)))
+
+(defun ac-isearch ()
+ (interactive)
+ (when (ac-menu-live-p)
+ (ac-cancel-show-menu-timer)
+ (ac-cancel-quick-help-timer)
+ (ac-show-menu)
+ (popup-isearch ac-menu :callback 'ac-isearch-callback)))
+
+
+
+;;;; Auto completion commands
+
+(defun auto-complete (&optional sources)
+ "Start auto-completion at current point."
+ (interactive)
+ (let ((menu-live (ac-menu-live-p))
+ (inline-live (ac-inline-live-p)))
+ (ac-abort)
+ (let ((ac-sources (or sources ac-sources)))
+ (if (or ac-show-menu-immediately-on-auto-complete
+ inline-live)
+ (setq ac-show-menu t))
+ (ac-start))
+ (when (ac-update-greedy t)
+ ;; TODO Not to cause inline completion to be disrupted.
+ (if (ac-inline-live-p)
+ (ac-inline-hide))
+ ;; Not to expand when it is first time to complete
+ (when (and (or (and (not ac-expand-on-auto-complete)
+ (> (length ac-candidates) 1)
+ (not menu-live))
+ (not (let ((ac-common-part ac-whole-common-part))
+ (ac-expand-common))))
+ ac-use-fuzzy
+ (null ac-candidates))
+ (ac-fuzzy-complete)))))
+
+(defun ac-fuzzy-complete ()
+ "Start fuzzy completion at current point."
+ (interactive)
+ (when (require 'fuzzy nil)
+ (unless (ac-menu-live-p)
+ (ac-start))
+ (let ((ac-match-function 'fuzzy-all-completions))
+ (unless ac-cursor-color
+ (setq ac-cursor-color (frame-parameter (selected-frame) 'cursor-color)))
+ (if ac-fuzzy-cursor-color
+ (set-cursor-color ac-fuzzy-cursor-color))
+ (setq ac-show-menu t)
+ (setq ac-fuzzy-enable t)
+ (setq ac-triggered nil)
+ (ac-update t)))
+ t)
+
+(defun ac-next ()
+ "Select next candidate."
+ (interactive)
+ (when (ac-menu-live-p)
+ (popup-next ac-menu)
+ (setq ac-show-menu t)
+ (if (eq this-command 'ac-next)
+ (setq ac-dwim-enable t))))
+
+(defun ac-previous ()
+ "Select previous candidate."
+ (interactive)
+ (when (ac-menu-live-p)
+ (popup-previous ac-menu)
+ (setq ac-show-menu t)
+ (if (eq this-command 'ac-previous)
+ (setq ac-dwim-enable t))))
+
+(defun ac-expand ()
+ "Try expand, and if expanded twice, select next candidate."
+ (interactive)
+ (unless (ac-expand-common)
+ (let ((string (ac-selected-candidate)))
+ (when string
+ (when (equal ac-prefix string)
+ (ac-next)
+ (setq string (ac-selected-candidate)))
+ (ac-expand-string string (eq last-command this-command))
+ ;; Do reposition if menu at long line
+ (if (and (> (popup-direction ac-menu) 0)
+ (ac-menu-at-wrapper-line-p))
+ (ac-reposition))
+ (setq ac-show-menu t)
+ string))))
+
+(defun ac-expand-common ()
+ "Try to expand meaningful common part."
+ (interactive)
+ (if (and ac-dwim ac-dwim-enable)
+ (ac-complete)
+ (when (and (ac-inline-live-p)
+ ac-common-part)
+ (ac-inline-hide)
+ (ac-expand-string ac-common-part (eq last-command this-command))
+ (setq ac-common-part nil)
+ t)))
+
+(defun ac-complete-1 (candidate)
+ (let ((action (popup-item-property candidate 'action))
+ (fallback nil))
+ (when candidate
+ (unless (ac-expand-string candidate)
+ (setq fallback t))
+ ;; Remember to show help later
+ (when (and ac-point candidate)
+ (unless ac-last-completion
+ (setq ac-last-completion (cons (make-marker) nil)))
+ (set-marker (car ac-last-completion) ac-point ac-buffer)
+ (setcdr ac-last-completion candidate)))
+ (ac-abort)
+ (cond
+ (action
+ (funcall action))
+ (fallback
+ (ac-fallback-command)))
+ candidate))
+
+(defun ac-complete ()
+ "Try complete."
+ (interactive)
+ (ac-complete-1 (ac-selected-candidate)))
+
+(defun* ac-start (&key
+ requires
+ force-init)
+ "Start completion."
+ (interactive)
+ (if (not auto-complete-mode)
+ (message "auto-complete-mode is not enabled")
+ (let* ((info (ac-prefix requires ac-ignoring-prefix-def))
+ (prefix-def (nth 0 info))
+ (point (nth 1 info))
+ (sources (nth 2 info))
+ prefix
+ (init (or force-init (not (eq ac-point point)))))
+ (if (or (null point)
+ (progn
+ (setq prefix (buffer-substring-no-properties point (point)))
+ (ac-stop-word-p prefix)))
+ (prog1 nil
+ (ac-abort))
+ (unless ac-cursor-color
+ (setq ac-cursor-color (frame-parameter (selected-frame) 'cursor-color)))
+ (setq ac-show-menu (or ac-show-menu (if (eq ac-auto-show-menu t) t))
+ ac-current-sources sources
+ ac-buffer (current-buffer)
+ ac-point point
+ ac-prefix prefix
+ ac-limit ac-candidate-limit
+ ac-triggered t
+ ac-current-prefix-def prefix-def)
+ (when (or init (null ac-prefix-overlay))
+ (ac-init))
+ (ac-set-timer)
+ (ac-set-show-menu-timer)
+ (ac-set-quick-help-timer)
+ (ac-put-prefix-overlay)))))
+
+(defun ac-stop ()
+ "Stop completiong."
+ (interactive)
+ (setq ac-selected-candidate nil)
+ (ac-abort))
+
+(defun ac-ignore (&rest ignore)
+ "Same as `ignore'."
+ (interactive))
+
+(defun ac-mouse-1 (event)
+ (interactive "e")
+ (popup-awhen (popup-menu-item-of-mouse-event event)
+ (ac-complete-1 it)))
+
+(defun ac-mouse-4 (event)
+ (interactive "e")
+ (ac-previous))
+
+(defun ac-mouse-5 (event)
+ (interactive "e")
+ (ac-next))
+
+(defun ac-trigger-key-command (&optional force)
+ (interactive "P")
+ (if (or force (ac-trigger-command-p last-command))
+ (auto-complete)
+ (ac-fallback-command 'ac-trigger-key-command)))
+
+
+
+;;;; Basic cache facility
+
+(defvar ac-clear-variables-every-minute-timer nil)
+(defvar ac-clear-variables-after-save nil)
+(defvar ac-clear-variables-every-minute nil)
+(defvar ac-minutes-counter 0)
+
+(defun ac-clear-variable-after-save (variable &optional pred)
+ (add-to-list 'ac-clear-variables-after-save (cons variable pred)))
+
+(defun ac-clear-variables-after-save ()
+ (dolist (pair ac-clear-variables-after-save)
+ (if (or (null (cdr pair))
+ (funcall (cdr pair)))
+ (set (car pair) nil))))
+
+(defun ac-clear-variable-every-minutes (variable minutes)
+ (add-to-list 'ac-clear-variables-every-minute (cons variable minutes)))
+
+(defun ac-clear-variable-every-minute (variable)
+ (ac-clear-variable-every-minutes variable 1))
+
+(defun ac-clear-variable-every-10-minutes (variable)
+ (ac-clear-variable-every-minutes variable 10))
+
+(defun ac-clear-variables-every-minute ()
+ (incf ac-minutes-counter)
+ (dolist (pair ac-clear-variables-every-minute)
+ (if (eq (% ac-minutes-counter (cdr pair)) 0)
+ (set (car pair) nil))))
+
+
+
+;;;; Auto complete mode
+
+(defun ac-cursor-on-diable-face-p (&optional point)
+ (memq (get-text-property (or point (point)) 'face) ac-disable-faces))
+
+(defun ac-trigger-command-p (command)
+ "Return non-nil if `COMMAND' is a trigger command."
+ (and (symbolp command)
+ (not (memq command ac-non-trigger-commands))
+ (or (memq command ac-trigger-commands)
+ (string-match "self-insert-command" (symbol-name command))
+ (string-match "electric" (symbol-name command)))))
+
+(defun ac-fallback-command (&optional except-command)
+ (let* ((auto-complete-mode nil)
+ (keys (this-command-keys-vector))
+ (command (if keys (key-binding keys))))
+ (when (and (commandp command)
+ (not (eq command except-command)))
+ (setq this-command command)
+ (call-interactively command))))
+
+(defun ac-compatible-package-command-p (command)
+ "Return non-nil if `COMMAND' is compatible with auto-complete."
+ (and (symbolp command)
+ (string-match ac-compatible-packages-regexp (symbol-name command))))
+
+(defun ac-handle-pre-command ()
+ (condition-case var
+ (if (or (setq ac-triggered (and (not ac-fuzzy-enable) ; ignore key storkes in fuzzy mode
+ (or (eq this-command 'auto-complete) ; special case
+ (ac-trigger-command-p this-command)
+ (and ac-completing
+ (memq this-command ac-trigger-commands-on-completing)))
+ (not (ac-cursor-on-diable-face-p))))
+ (ac-compatible-package-command-p this-command))
+ (progn
+ (if (or (not (symbolp this-command))
+ (not (get this-command 'ac-quick-help-command)))
+ (ac-remove-quick-help))
+ ;; Not to cause inline completion to be disrupted.
+ (ac-inline-hide))
+ (ac-abort))
+ (error (ac-error var))))
+
+(defun ac-handle-post-command ()
+ (condition-case var
+ (when (and ac-triggered
+ (or ac-auto-start
+ ac-completing)
+ (not isearch-mode))
+ (setq ac-last-point (point))
+ (ac-start :requires (unless ac-completing ac-auto-start))
+ (ac-inline-update))
+ (error (ac-error var))))
+
+(defun ac-setup ()
+ (if ac-trigger-key
+ (ac-set-trigger-key ac-trigger-key))
+ (if ac-use-comphist
+ (ac-comphist-init))
+ (unless ac-clear-variables-every-minute-timer
+ (setq ac-clear-variables-every-minute-timer (run-with-timer 60 60 'ac-clear-variables-every-minute)))
+ (if ac-stop-flymake-on-completing
+ (defadvice flymake-on-timer-event (around ac-flymake-stop-advice activate)
+ (unless ac-completing
+ ad-do-it))
+ (ad-disable-advice 'flymake-on-timer-event 'around 'ac-flymake-stop-advice)))
+
+(define-minor-mode auto-complete-mode
+ "AutoComplete mode"
+ :lighter " AC"
+ :keymap ac-mode-map
+ :group 'auto-complete
+ (if auto-complete-mode
+ (progn
+ (ac-setup)
+ (add-hook 'pre-command-hook 'ac-handle-pre-command nil t)
+ (add-hook 'post-command-hook 'ac-handle-post-command nil t)
+ (add-hook 'after-save-hook 'ac-clear-variables-after-save nil t)
+ (run-hooks 'auto-complete-mode-hook))
+ (remove-hook 'pre-command-hook 'ac-handle-pre-command t)
+ (remove-hook 'post-command-hook 'ac-handle-post-command t)
+ (remove-hook 'after-save-hook 'ac-clear-variables-after-save t)
+ (ac-abort)))
+
+(defun auto-complete-mode-maybe ()
+ "What buffer `auto-complete-mode' prefers."
+ (if (and (not (minibufferp (current-buffer)))
+ (memq major-mode ac-modes))
+ (auto-complete-mode 1)))
+
+(define-global-minor-mode global-auto-complete-mode
+ auto-complete-mode auto-complete-mode-maybe
+ :group 'auto-complete)
+
+
+
+;;;; Compatibilities with other extensions
+
+(defun ac-flyspell-workaround ()
+ "Flyspell uses `sit-for' for delaying its process. Unfortunatelly,
+it stops auto completion which is trigger with `run-with-idle-timer'.
+This workaround avoid flyspell processes when auto completion is being started."
+ (interactive)
+ (defadvice flyspell-post-command-hook (around ac-flyspell-workaround activate)
+ (unless ac-triggered
+ ad-do-it)))
+
+(defun ac-linum-workaround ()
+ "linum-mode tries to display the line numbers even for the
+completion menu. This workaround stops that annoying behavior."
+ (interactive)
+ (defadvice linum-update (around ac-linum-update-workaround activate)
+ (unless ac-completing
+ ad-do-it)))
+
+
+
+;;;; Standard sources
+
+(defmacro ac-define-source (name source)
+ "Source definition macro. It defines a complete command also."
+ (declare (indent 1))
+ `(progn
+ (defvar ,(intern (format "ac-source-%s" name))
+ ,source)
+ (defun ,(intern (format "ac-complete-%s" name)) ()
+ (interactive)
+ (auto-complete '(,(intern (format "ac-source-%s" name)))))))
+
+;; Words in buffer source
+(defvar ac-word-index nil)
+
+(defun ac-candidate-words-in-buffer (point prefix limit)
+ (let ((i 0)
+ candidate
+ candidates
+ (regexp (concat "\\_<" (regexp-quote prefix) "\\(\\sw\\|\\s_\\)+\\_>")))
+ (save-excursion
+ ;; Search backward
+ (goto-char point)
+ (while (and (or (not (integerp limit)) (< i limit))
+ (re-search-backward regexp nil t))
+ (setq candidate (match-string-no-properties 0))
+ (unless (member candidate candidates)
+ (push candidate candidates)
+ (incf i)))
+ ;; Search backward
+ (goto-char (+ point (length prefix)))
+ (while (and (or (not (integerp limit)) (< i limit))
+ (re-search-forward regexp nil t))
+ (setq candidate (match-string-no-properties 0))
+ (unless (member candidate candidates)
+ (push candidate candidates)
+ (incf i)))
+ (nreverse candidates))))
+
+(defun ac-incremental-update-word-index ()
+ (unless (local-variable-p 'ac-word-index)
+ (make-local-variable 'ac-word-index))
+ (if (null ac-word-index)
+ (setq ac-word-index (cons nil nil)))
+ ;; Mark incomplete
+ (if (car ac-word-index)
+ (setcar ac-word-index nil))
+ (let ((index (cdr ac-word-index))
+ (words (ac-candidate-words-in-buffer ac-point ac-prefix (or (and (integerp ac-limit) ac-limit) 10))))
+ (dolist (word words)
+ (unless (member word index)
+ (push word index)
+ (setcdr ac-word-index index)))))
+
+(defun ac-update-word-index-1 ()
+ (unless (local-variable-p 'ac-word-index)
+ (make-local-variable 'ac-word-index))
+ (when (and (not (car ac-word-index))
+ (< (buffer-size) 1048576))
+ ;; Complete index
+ (setq ac-word-index
+ (cons t
+ (split-string (buffer-substring-no-properties (point-min) (point-max))
+ "\\(?:^\\|\\_>\\).*?\\(?:\\_<\\|$\\)")))))
+
+(defun ac-update-word-index ()
+ (dolist (buffer (buffer-list))
+ (when (or ac-fuzzy-enable
+ (not (eq buffer (current-buffer))))
+ (with-current-buffer buffer
+ (ac-update-word-index-1)))))
+
+(defun ac-word-candidates (&optional buffer-pred)
+ (loop initially (unless ac-fuzzy-enable (ac-incremental-update-word-index))
+ for buffer in (buffer-list)
+ if (and (or (not (integerp ac-limit)) (< (length candidates) ac-limit))
+ (if buffer-pred (funcall buffer-pred buffer) t))
+ append (funcall ac-match-function
+ ac-prefix
+ (and (local-variable-p 'ac-word-index buffer)
+ (cdr (buffer-local-value 'ac-word-index buffer))))
+ into candidates
+ finally return candidates))
+
+(ac-define-source words-in-buffer
+ '((candidates . ac-word-candidates)))
+
+(ac-define-source words-in-all-buffer
+ '((init . ac-update-word-index)
+ (candidates . ac-word-candidates)))
+
+(ac-define-source words-in-same-mode-buffers
+ '((init . ac-update-word-index)
+ (candidates . (ac-word-candidates
+ (lambda (buffer)
+ (derived-mode-p (buffer-local-value 'major-mode buffer)))))))
+
+;; Lisp symbols source
+(defvar ac-symbols-cache nil)
+(ac-clear-variable-every-10-minutes 'ac-symbols-cache)
+
+(defun ac-symbol-file (symbol type)
+ (if (fboundp 'find-lisp-object-file-name)
+ (find-lisp-object-file-name symbol type)
+ (let ((file-name (with-no-warnings
+ (describe-simplify-lib-file-name
+ (symbol-file symbol type)))))
+ (when (equal file-name "loaddefs.el")
+ ;; Find the real def site of the preloaded object.
+ (let ((location (condition-case nil
+ (if (eq type 'defun)
+ (find-function-search-for-symbol symbol nil
+ "loaddefs.el")
+ (find-variable-noselect symbol file-name))
+ (error nil))))
+ (when location
+ (with-current-buffer (car location)
+ (when (cdr location)
+ (goto-char (cdr location)))
+ (when (re-search-backward
+ "^;;; Generated autoloads from \\(.*\\)" nil t)
+ (setq file-name (match-string 1)))))))
+ (if (and (null file-name)
+ (or (eq type 'defun)
+ (integerp (get symbol 'variable-documentation))))
+ ;; It's a object not defined in Elisp but in C.
+ (if (get-buffer " *DOC*")
+ (if (eq type 'defun)
+ (help-C-file-name (symbol-function symbol) 'subr)
+ (help-C-file-name symbol 'var))
+ 'C-source)
+ file-name))))
+
+(defun ac-symbol-documentation (symbol)
+ (if (stringp symbol)
+ (setq symbol (intern-soft symbol)))
+ (ignore-errors
+ (with-temp-buffer
+ (let ((standard-output (current-buffer)))
+ (prin1 symbol)
+ (princ " is ")
+ (cond
+ ((fboundp symbol)
+ ;; import help-xref-following
+ (require 'help-mode)
+ (let ((help-xref-following t)
+ (major-mode 'help-mode)) ; avoid error in Emacs 24
+ (describe-function-1 symbol))
+ (buffer-string))
+ ((boundp symbol)
+ (let ((file-name (ac-symbol-file symbol 'defvar)))
+ (princ "a variable")
+ (when file-name
+ (princ " defined in `")
+ (princ (if (eq file-name 'C-source)
+ "C source code"
+ (file-name-nondirectory file-name))))
+ (princ "'.\n\n")
+ (princ (or (documentation-property symbol 'variable-documentation t)
+ "Not documented."))
+ (buffer-string)))
+ ((facep symbol)
+ (let ((file-name (ac-symbol-file symbol 'defface)))
+ (princ "a face")
+ (when file-name
+ (princ " defined in `")
+ (princ (if (eq file-name 'C-source)
+ "C source code"
+ (file-name-nondirectory file-name))))
+ (princ "'.\n\n")
+ (princ (or (documentation-property symbol 'face-documentation t)
+ "Not documented."))
+ (buffer-string)))
+ (t
+ (let ((doc (documentation-property symbol 'group-documentation t)))
+ (when doc
+ (princ "a group.\n\n")
+ (princ doc)
+ (buffer-string)))))))))
+
+(defun ac-symbol-candidates ()
+ (or ac-symbols-cache
+ (setq ac-symbols-cache
+ (loop for x being the symbols
+ if (or (fboundp x)
+ (boundp x)
+ (symbol-plist x))
+ collect (symbol-name x)))))
+
+(ac-define-source symbols
+ '((candidates . ac-symbol-candidates)
+ (document . ac-symbol-documentation)
+ (symbol . "s")
+ (cache)))
+
+;; Lisp functions source
+(defvar ac-functions-cache nil)
+(ac-clear-variable-every-10-minutes 'ac-functions-cache)
+
+(defun ac-function-candidates ()
+ (or ac-functions-cache
+ (setq ac-functions-cache
+ (loop for x being the symbols
+ if (fboundp x)
+ collect (symbol-name x)))))
+
+(ac-define-source functions
+ '((candidates . ac-function-candidates)
+ (document . ac-symbol-documentation)
+ (symbol . "f")
+ (prefix . "(\\(\\(?:\\sw\\|\\s_\\)+\\)")
+ (cache)))
+
+;; Lisp variables source
+(defvar ac-variables-cache nil)
+(ac-clear-variable-every-10-minutes 'ac-variables-cache)
+
+(defun ac-variable-candidates ()
+ (or ac-variables-cache
+ (setq ac-variables-cache
+ (loop for x being the symbols
+ if (boundp x)
+ collect (symbol-name x)))))
+
+(ac-define-source variables
+ '((candidates . ac-variable-candidates)
+ (document . ac-symbol-documentation)
+ (symbol . "v")
+ (cache)))
+
+;; Lisp features source
+(defvar ac-emacs-lisp-features nil)
+(ac-clear-variable-every-10-minutes 'ac-emacs-lisp-features)
+
+(defun ac-emacs-lisp-feature-candidates ()
+ (or ac-emacs-lisp-features
+ (if (fboundp 'find-library-suffixes)
+ (let ((suffix (concat (regexp-opt (find-library-suffixes) t) "\\'")))
+ (setq ac-emacs-lisp-features
+ (append (mapcar 'prin1-to-string features)
+ (loop for dir in load-path
+ if (file-directory-p dir)
+ append (loop for file in (directory-files dir)
+ if (string-match suffix file)
+ collect (substring file 0 (match-beginning 0))))))))))
+
+(ac-define-source features
+ '((depends find-func)
+ (candidates . ac-emacs-lisp-feature-candidates)
+ (prefix . "require +'\\(\\(?:\\sw\\|\\s_\\)*\\)")
+ (requires . 0)))
+
+(defvaralias 'ac-source-emacs-lisp-features 'ac-source-features)
+
+;; Abbrev source
+(ac-define-source abbrev
+ '((candidates . (mapcar 'popup-x-to-string (append (vconcat local-abbrev-table global-abbrev-table) nil)))
+ (action . expand-abbrev)
+ (symbol . "a")
+ (cache)))
+
+;; Files in current directory source
+(ac-define-source files-in-current-dir
+ '((candidates . (directory-files default-directory))
+ (cache)))
+
+;; Filename source
+(defvar ac-filename-cache nil)
+
+(defun ac-filename-candidate ()
+ (let (file-name-handler-alist)
+ (unless (file-regular-p ac-prefix)
+ (ignore-errors
+ (loop with dir = (file-name-directory ac-prefix)
+ with files = (or (assoc-default dir ac-filename-cache)
+ (let ((files (directory-files dir nil "^[^.]")))
+ (push (cons dir files) ac-filename-cache)
+ files))
+ for file in files
+ for path = (concat dir file)
+ collect (if (file-directory-p path)
+ (concat path "/")
+ path))))))
+
+(ac-define-source filename
+ '((init . (setq ac-filename-cache nil))
+ (candidates . ac-filename-candidate)
+ (prefix . valid-file)
+ (requires . 0)
+ (action . ac-start)
+ (limit . nil)))
+
+;; Dictionary source
+(ac-define-source dictionary
+ '((candidates . ac-buffer-dictionary)
+ (symbol . "d")))
+
+(provide 'auto-complete)
+;;; auto-complete.el ends here
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/ada-mode b/.emacs.d/elpa/auto-complete-1.4/dict/ada-mode
new file mode 100644
index 0000000..bea538f
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/ada-mode
@@ -0,0 +1,72 @@
+abort
+abs
+abstract
+accept
+access
+aliased
+all
+and
+array
+at
+begin
+body
+case
+constant
+declare
+delay
+delta
+digits
+do
+else
+elsif
+end
+entry
+exception
+exit
+for
+function
+generic
+goto
+if
+in
+interface
+is
+limited
+loop
+mod
+new
+not
+null
+of
+or
+others
+out
+overriding
+package
+pragma
+private
+procedure
+protected
+raise
+range
+record
+rem
+renames
+requeue
+return
+reverse
+select
+separate
+subtype
+synchronized
+tagged
+task
+terminate
+then
+type
+until
+use
+when
+while
+with
+xor
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/c++-mode b/.emacs.d/elpa/auto-complete-1.4/dict/c++-mode
new file mode 100644
index 0000000..e3cd8ae
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/c++-mode
@@ -0,0 +1,74 @@
+and
+and_eq
+asm
+auto
+bitand
+bitor
+bool
+break
+case
+catch
+char
+class
+compl
+const
+const_cast
+continue
+default
+delete
+do
+double
+dynamic_cast
+else
+enum
+explicit
+export
+extern
+false
+float
+for
+friend
+goto
+if
+inline
+int
+long
+mutable
+namespace
+new
+not
+not_eq
+operator
+or
+or_eq
+private
+protected
+public
+register
+reinterpret_cast
+return
+short
+signed
+sizeof
+static
+static_cast
+struct
+switch
+template
+this
+throw
+true
+try
+typedef
+typeid
+typename
+union
+unsigned
+using
+virtual
+void
+volatile
+wchar_t
+while
+xor
+xor_eq
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/c-mode b/.emacs.d/elpa/auto-complete-1.4/dict/c-mode
new file mode 100644
index 0000000..496f904
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/c-mode
@@ -0,0 +1,37 @@
+auto
+_Bool
+break
+case
+char
+_Complex
+const
+continue
+default
+do
+double
+else
+enum
+extern
+float
+for
+goto
+if
+_Imaginary
+inline
+int
+long
+register
+restrict
+return
+short
+signed
+sizeof
+static
+struct
+switch
+typedef
+union
+unsigned
+void
+volatile
+while
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/caml-mode b/.emacs.d/elpa/auto-complete-1.4/dict/caml-mode
new file mode 100644
index 0000000..e709f9f
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/caml-mode
@@ -0,0 +1,231 @@
+# OCaml 3.12.1
+
+# Keywords
+and
+as
+assert
+begin
+class
+constraint
+do
+done
+downto
+else
+end
+exception
+external
+false
+for
+fun
+function
+functor
+if
+in
+include
+inherit
+initializer
+lazy
+let
+match
+method
+module
+mutable
+new
+object
+of
+open
+or
+private
+rec
+sig
+struct
+then
+to
+true
+try
+type
+val
+virtual
+when
+while
+with
+
+# Pervasives
+!
+!=
+&
+&&
+*
+**
+*.
++
++.
+-
+-.
+/
+/.
+:=
+<
+<=
+<>
+=
+==
+>
+>=
+@
+FP_infinite
+FP_nan
+FP_normal
+FP_subnormal
+FP_zero
+LargeFile
+Open_append
+Open_binary
+Open_creat
+Open_nonblock
+Open_rdonly
+Open_text
+Open_trunc
+Open_wronly
+Oupen_excl
+^
+^^
+abs
+abs_float
+acos
+asin
+asr
+at_exit
+atan
+atan2
+bool_of_string
+ceil
+char_of_int
+classify_float
+close_in
+close_in_noerr
+close_out
+close_out_noerr
+compare
+cos
+cosh
+decr
+do_at_exit
+epsilon_float
+exit
+exp
+expm1
+failwith
+float
+float_of_int
+float_of_string
+floor
+flush
+flush_all
+format
+format4
+format_of_string
+fpclass
+frexp
+fst
+ignore
+in_channel
+in_channel_length
+incr
+infinity
+input
+input_binary_int
+input_byte
+input_char
+input_line
+input_value
+int_of_char
+int_of_float
+int_of_string
+invalid_arg
+land
+ldexp
+lnot
+log
+log10
+log1p
+lor
+lsl
+lsr
+lxor
+max
+max_float
+max_int
+min
+min_float
+min_int
+mod
+mod_float
+modf
+nan
+neg_infinity
+not
+open_flag
+open_in
+open_in_bin
+open_in_gen
+open_out
+open_out_bin
+open_out_gen
+or
+out_channel
+out_channel_length
+output
+output_binary_int
+output_byte
+output_char
+output_string
+output_value
+pos_in
+pos_out
+pred
+prerr_char
+prerr_endline
+prerr_float
+prerr_int
+prerr_newline
+prerr_string
+print_char
+print_endline
+print_float
+print_int
+print_newline
+print_string
+raise
+read_float
+read_int
+read_line
+really_input
+ref
+seek_in
+seek_out
+set_binary_mode_in
+set_binary_mode_out
+sin
+sinh
+snd
+sqrt
+stderr
+stdin
+stdout
+string_of_bool
+string_of_float
+string_of_format
+string_of_int
+succ
+tan
+tanh
+truncate
+unsafe_really_input
+valid_float_lexem
+||
+~
+~+
+~+.
+~-
+~-.
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/clojure-mode b/.emacs.d/elpa/auto-complete-1.4/dict/clojure-mode
new file mode 100644
index 0000000..16348ed
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/clojure-mode
@@ -0,0 +1,475 @@
+*agent*
+*clojure-version*
+*command-line-args*
+*compile-files*
+*compile-path*
+*err*
+*file*
+*flush-on-newline*
+*in*
+*ns*
+*out*
+*print-dup*
+*print-length*
+*print-level*
+*print-meta*
+*print-readably*
+*read-eval*
+*warn-on-reflection*
+accessor
+aclone
+add-classpath
+add-watch
+agent
+agent-error
+agent-errors
+aget
+alength
+alias
+all-ns
+alter
+alter-meta!
+alter-var-root
+amap
+ancestors
+and
+apply
+areduce
+array-map
+aset
+aset-boolean
+aset-byte
+aset-char
+aset-double
+aset-float
+aset-int
+aset-long
+aset-short
+assert
+assoc
+assoc!
+assoc-in
+associative?
+atom
+await
+await-for
+bases
+bean
+bigdec
+bigint
+binding
+bit-and
+bit-and-not
+bit-clear
+bit-flip
+bit-not
+bit-or
+bit-set
+bit-shift-left
+bit-shift-right
+bit-test
+bit-xor
+boolean
+boolean-array
+booleans
+bound-fn
+bound-fn*
+butlast
+byte
+byte-array
+bytes
+case
+cast
+char
+char-array
+char-escape-string
+char-name-string
+char?
+chars
+class
+class?
+clear-agent-errors
+clojure-version
+coll?
+comment
+commute
+comp
+comparator
+compare
+compare-and-set!
+compile
+complement
+concat
+cond
+condp
+conj
+conj!
+cons
+constantly
+construct-proxy
+contains?
+count
+counted?
+create-ns
+create-struct
+cycle
+dec
+decimal?
+declare
+definline
+defmacro
+defmethod
+defmulti
+defn
+defn-
+defonce
+defprotocol
+defstruct
+deftype
+delay
+delay?
+deliver
+deref
+derive
+descendants
+disj
+disj!
+dissoc
+dissoc!
+distinct
+distinct?
+doall
+doc
+dorun
+doseq
+dosync
+dotimes
+doto
+double
+double-array
+doubles
+drop
+drop-last
+drop-while
+dtype
+empty
+empty?
+ensure
+enumeration-seq
+error-handler
+error-mode
+eval
+even?
+every?
+extend
+extend-class
+extend-protocol
+extend-type
+extenders
+extends?
+false?
+ffirst
+file-seq
+filter
+find
+find-doc
+find-ns
+find-var
+first
+float
+float-array
+float?
+floats
+flush
+fn
+fn?
+fnext
+for
+force
+format
+future
+future-call
+future-cancel
+future-cancelled?
+future-done?
+future?
+gen-class
+gen-interface
+gensym
+get
+get-in
+get-method
+get-proxy-class
+get-thread-bindings
+get-validator
+hash
+hash-map
+hash-set
+identical?
+identity
+if-let
+if-not
+ifn?
+import
+in-ns
+inc
+init-proxy
+instance?
+int
+int-array
+integer?
+interleave
+intern
+interpose
+into
+into-array
+ints
+io!
+isa?
+iterate
+iterator-seq
+juxt
+key
+keys
+keyword
+keyword?
+last
+lazy-cat
+lazy-seq
+let
+letfn
+line-seq
+list
+list*
+list?
+load
+load-file
+load-reader
+load-string
+loaded-libs
+locking
+long
+long-array
+longs
+loop
+macroexpand
+macroexpand-1
+make-array
+make-hierarchy
+map
+map?
+mapcat
+max
+max-key
+memfn
+memoize
+merge
+merge-with
+meta
+methods
+min
+min-key
+mod
+name
+namespace
+neg?
+newline
+next
+nfirst
+nil?
+nnext
+not
+not-any?
+not-empty
+not-every?
+not=
+ns
+ns-aliases
+ns-imports
+ns-interns
+ns-map
+ns-name
+ns-publics
+ns-refers
+ns-resolve
+ns-unalias
+ns-unmap
+nth
+nthnext
+num
+number?
+object-array
+odd?
+or
+parents
+partial
+partition
+pcalls
+peek
+persistent!
+pmap
+pop
+pop!
+pop-thread-bindings
+pos?
+pr
+pr-str
+prefer-method
+prefers
+print
+print-namespace-doc
+print-str
+printf
+println
+println-str
+prn
+prn-str
+promise
+proxy
+proxy-mappings
+proxy-super
+push-thread-bindings
+pvalues
+quot
+rand
+rand-int
+range
+ratio?
+rationalize
+re-find
+re-groups
+re-matcher
+re-matches
+re-pattern
+re-seq
+read
+read-line
+read-string
+reduce
+ref
+ref-history-count
+ref-max-history
+ref-min-history
+ref-set
+refer
+refer-clojure
+reify
+release-pending-sends
+rem
+remove
+remove-method
+remove-ns
+remove-watch
+repeat
+repeatedly
+replace
+replicate
+require
+reset!
+reset-meta!
+resolve
+rest
+restart-agent
+resultset-seq
+reverse
+reversible?
+rseq
+rsubseq
+satisfies?
+second
+select-keys
+send
+send-off
+seq
+seq?
+seque
+sequence
+sequential?
+set
+set-error-handler!
+set-error-mode!
+set-validator!
+set?
+short
+short-array
+shorts
+shutdown-agents
+slurp
+some
+sort
+sort-by
+sorted-map
+sorted-map-by
+sorted-set
+sorted-set-by
+sorted?
+special-form-anchor
+special-symbol?
+split-at
+split-with
+str
+stream?
+string?
+struct
+struct-map
+subs
+subseq
+subvec
+supers
+swap!
+symbol
+symbol?
+sync
+syntax-symbol-anchor
+take
+take-last
+take-nth
+take-while
+test
+the-ns
+time
+to-array
+to-array-2d
+trampoline
+transient
+tree-seq
+true?
+type
+unchecked-add
+unchecked-dec
+unchecked-divide
+unchecked-inc
+unchecked-multiply
+unchecked-negate
+unchecked-remainder
+unchecked-subtract
+underive
+update-in
+update-proxy
+use
+val
+vals
+var-get
+var-set
+var?
+vary-meta
+vec
+vector
+vector-of
+vector?
+when
+when-first
+when-let
+when-not
+while
+with-bindings
+with-bindings*
+with-in-str
+with-local-vars
+with-meta
+with-open
+with-out-str
+with-precision
+xml-seq
+zero?
+zipmap
\ No newline at end of file
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/clojurescript-mode b/.emacs.d/elpa/auto-complete-1.4/dict/clojurescript-mode
new file mode 100644
index 0000000..16348ed
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/clojurescript-mode
@@ -0,0 +1,475 @@
+*agent*
+*clojure-version*
+*command-line-args*
+*compile-files*
+*compile-path*
+*err*
+*file*
+*flush-on-newline*
+*in*
+*ns*
+*out*
+*print-dup*
+*print-length*
+*print-level*
+*print-meta*
+*print-readably*
+*read-eval*
+*warn-on-reflection*
+accessor
+aclone
+add-classpath
+add-watch
+agent
+agent-error
+agent-errors
+aget
+alength
+alias
+all-ns
+alter
+alter-meta!
+alter-var-root
+amap
+ancestors
+and
+apply
+areduce
+array-map
+aset
+aset-boolean
+aset-byte
+aset-char
+aset-double
+aset-float
+aset-int
+aset-long
+aset-short
+assert
+assoc
+assoc!
+assoc-in
+associative?
+atom
+await
+await-for
+bases
+bean
+bigdec
+bigint
+binding
+bit-and
+bit-and-not
+bit-clear
+bit-flip
+bit-not
+bit-or
+bit-set
+bit-shift-left
+bit-shift-right
+bit-test
+bit-xor
+boolean
+boolean-array
+booleans
+bound-fn
+bound-fn*
+butlast
+byte
+byte-array
+bytes
+case
+cast
+char
+char-array
+char-escape-string
+char-name-string
+char?
+chars
+class
+class?
+clear-agent-errors
+clojure-version
+coll?
+comment
+commute
+comp
+comparator
+compare
+compare-and-set!
+compile
+complement
+concat
+cond
+condp
+conj
+conj!
+cons
+constantly
+construct-proxy
+contains?
+count
+counted?
+create-ns
+create-struct
+cycle
+dec
+decimal?
+declare
+definline
+defmacro
+defmethod
+defmulti
+defn
+defn-
+defonce
+defprotocol
+defstruct
+deftype
+delay
+delay?
+deliver
+deref
+derive
+descendants
+disj
+disj!
+dissoc
+dissoc!
+distinct
+distinct?
+doall
+doc
+dorun
+doseq
+dosync
+dotimes
+doto
+double
+double-array
+doubles
+drop
+drop-last
+drop-while
+dtype
+empty
+empty?
+ensure
+enumeration-seq
+error-handler
+error-mode
+eval
+even?
+every?
+extend
+extend-class
+extend-protocol
+extend-type
+extenders
+extends?
+false?
+ffirst
+file-seq
+filter
+find
+find-doc
+find-ns
+find-var
+first
+float
+float-array
+float?
+floats
+flush
+fn
+fn?
+fnext
+for
+force
+format
+future
+future-call
+future-cancel
+future-cancelled?
+future-done?
+future?
+gen-class
+gen-interface
+gensym
+get
+get-in
+get-method
+get-proxy-class
+get-thread-bindings
+get-validator
+hash
+hash-map
+hash-set
+identical?
+identity
+if-let
+if-not
+ifn?
+import
+in-ns
+inc
+init-proxy
+instance?
+int
+int-array
+integer?
+interleave
+intern
+interpose
+into
+into-array
+ints
+io!
+isa?
+iterate
+iterator-seq
+juxt
+key
+keys
+keyword
+keyword?
+last
+lazy-cat
+lazy-seq
+let
+letfn
+line-seq
+list
+list*
+list?
+load
+load-file
+load-reader
+load-string
+loaded-libs
+locking
+long
+long-array
+longs
+loop
+macroexpand
+macroexpand-1
+make-array
+make-hierarchy
+map
+map?
+mapcat
+max
+max-key
+memfn
+memoize
+merge
+merge-with
+meta
+methods
+min
+min-key
+mod
+name
+namespace
+neg?
+newline
+next
+nfirst
+nil?
+nnext
+not
+not-any?
+not-empty
+not-every?
+not=
+ns
+ns-aliases
+ns-imports
+ns-interns
+ns-map
+ns-name
+ns-publics
+ns-refers
+ns-resolve
+ns-unalias
+ns-unmap
+nth
+nthnext
+num
+number?
+object-array
+odd?
+or
+parents
+partial
+partition
+pcalls
+peek
+persistent!
+pmap
+pop
+pop!
+pop-thread-bindings
+pos?
+pr
+pr-str
+prefer-method
+prefers
+print
+print-namespace-doc
+print-str
+printf
+println
+println-str
+prn
+prn-str
+promise
+proxy
+proxy-mappings
+proxy-super
+push-thread-bindings
+pvalues
+quot
+rand
+rand-int
+range
+ratio?
+rationalize
+re-find
+re-groups
+re-matcher
+re-matches
+re-pattern
+re-seq
+read
+read-line
+read-string
+reduce
+ref
+ref-history-count
+ref-max-history
+ref-min-history
+ref-set
+refer
+refer-clojure
+reify
+release-pending-sends
+rem
+remove
+remove-method
+remove-ns
+remove-watch
+repeat
+repeatedly
+replace
+replicate
+require
+reset!
+reset-meta!
+resolve
+rest
+restart-agent
+resultset-seq
+reverse
+reversible?
+rseq
+rsubseq
+satisfies?
+second
+select-keys
+send
+send-off
+seq
+seq?
+seque
+sequence
+sequential?
+set
+set-error-handler!
+set-error-mode!
+set-validator!
+set?
+short
+short-array
+shorts
+shutdown-agents
+slurp
+some
+sort
+sort-by
+sorted-map
+sorted-map-by
+sorted-set
+sorted-set-by
+sorted?
+special-form-anchor
+special-symbol?
+split-at
+split-with
+str
+stream?
+string?
+struct
+struct-map
+subs
+subseq
+subvec
+supers
+swap!
+symbol
+symbol?
+sync
+syntax-symbol-anchor
+take
+take-last
+take-nth
+take-while
+test
+the-ns
+time
+to-array
+to-array-2d
+trampoline
+transient
+tree-seq
+true?
+type
+unchecked-add
+unchecked-dec
+unchecked-divide
+unchecked-inc
+unchecked-multiply
+unchecked-negate
+unchecked-remainder
+unchecked-subtract
+underive
+update-in
+update-proxy
+use
+val
+vals
+var-get
+var-set
+var?
+vary-meta
+vec
+vector
+vector-of
+vector?
+when
+when-first
+when-let
+when-not
+while
+with-bindings
+with-bindings*
+with-in-str
+with-local-vars
+with-meta
+with-open
+with-out-str
+with-precision
+xml-seq
+zero?
+zipmap
\ No newline at end of file
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/coq-mode b/.emacs.d/elpa/auto-complete-1.4/dict/coq-mode
new file mode 100644
index 0000000..219448f
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/coq-mode
@@ -0,0 +1,278 @@
+# Generated by the following form.
+# (loop for regexp in (append
+# coq-solve-tactics
+# coq-keywords
+# coq-reserved
+# coq-tactics
+# coq-tacticals
+# (list "Set" "Type" "Prop"))
+# append (split-string regexp (regexp-quote "\\s-+")) into words
+# finally (loop initially (goto-char (point-max))
+# for word in (delete-dups (sort words 'string<))
+# do (insert word) (newline)))
+
+Abort
+About
+Abstract
+Add
+Admit
+Admitted
+All
+Arguments
+AutoInline
+Axiom
+Bind
+Canonical
+Cd
+Chapter
+Check
+Close
+CoFixpoint
+CoInductive
+Coercion
+Coercions
+Comments
+Conjecture
+Constant
+Constructors
+Corollary
+Declare
+Defined
+Definition
+Delimit
+Dependent
+Depth
+Derive
+End
+Eval
+Export
+Extern
+Extract
+Extraction
+Fact
+False
+Field
+File
+Fixpoint
+Focus
+Function
+Functional
+Goal
+Hint
+Hypotheses
+Hypothesis
+Hyps
+Identity
+If
+Immediate
+Implicit
+Import
+Inductive
+Infix
+Inline
+Inlined
+Inspect
+Inversion
+Language
+Lemma
+Let
+Library
+Limit
+LoadPath
+Local
+Locate
+Ltac
+ML
+Module
+Morphism
+Next Obligation
+NoInline
+Notation
+Notations
+Obligation
+Obligations
+Off
+On
+Opaque
+Open
+Optimize
+Parameter
+Parameters
+Path
+Print
+Printing
+Program
+Proof
+Prop
+Pwd
+Qed
+Rec
+Record
+Recursive
+Remark
+Remove
+Require
+Reserved
+Reset
+Resolve
+Rewrite
+Ring
+Save
+Scheme
+Scope
+Search
+SearchAbout
+SearchPattern
+SearchRewrite
+Section
+Semi
+Set
+Setoid
+Show
+Solve
+Sort
+Strict
+Structure
+Synth
+Tactic
+Test
+Theorem
+Time
+Transparent
+True
+Type
+Undo
+Unfocus
+Unfold
+Unset
+Variable
+Variables
+Width
+Wildcard
+abstract
+absurd
+after
+apply
+as
+assert
+assumption
+at
+auto
+autorewrite
+beta
+by
+case
+cbv
+change
+clear
+clearbody
+cofix
+coinduction
+compare
+compute
+congruence
+constructor
+contradiction
+cut
+cutrewrite
+decide
+decompose
+delta
+dependent
+dest
+destruct
+discrR
+discriminate
+do
+double
+eapply
+eauto
+econstructor
+eexists
+eleft
+elim
+else
+end
+equality
+esplit
+exact
+exists
+fail
+field
+first
+firstorder
+fix
+fold
+forall
+fourier
+fun
+functional
+generalize
+hnf
+idtac
+if
+in
+induction
+info
+injection
+instantiate
+into
+intro
+intros
+intuition
+inversion
+inversion_clear
+iota
+lapply
+lazy
+left
+let
+linear
+load
+match
+move
+omega
+pattern
+pose
+progress
+prolog
+quote
+record
+red
+refine
+reflexivity
+rename
+repeat
+replace
+return
+rewrite
+right
+ring
+set
+setoid
+setoid_replace
+setoid_rewrite
+simpl
+simple
+simplify_eq
+solve
+specialize
+split
+split_Rabs
+split_Rmult
+stepl
+stepr
+struct
+subst
+sum
+symmetry
+tauto
+then
+transitivity
+trivial
+try
+unfold
+until
+using
+with
+zeta
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/css-mode b/.emacs.d/elpa/auto-complete-1.4/dict/css-mode
new file mode 100644
index 0000000..4ec8f7d
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/css-mode
@@ -0,0 +1,747 @@
+!important
+ActiveBorder
+ActiveCaption
+Alpha
+AppWorkspace
+Background
+Barn
+BasicImage
+Blinds
+Blur
+ButtonFace
+ButtonHighlight
+ButtonShadow
+ButtonText
+CaptionText
+CheckerBoard
+Chroma
+Compositor
+CradientWipe
+DXImageTransform
+DropShadow
+Emboss
+Engrave
+Fade
+FlipH
+FlipV
+Glow
+Gray
+GrayText
+Highlight
+HighlightText
+Hz
+ICMFilter
+InactiveBorder
+InactiveCaption
+InactiveCaptionText
+InfoBackground
+InfoText
+Inset
+Invert
+Iris
+Light
+MaskFilter
+Matrix
+Menu
+MenuText
+Microsoft
+MotionBlur
+Pixelate
+RadialWipe
+RandomBars
+RandomDissolve
+RevealTrans
+Scrollbar
+Shadow
+Slide
+Spiral
+Stretch
+Strips
+ThreeDDarkShadow
+ThreeDFace
+ThreeDHighlight
+ThreeDLightShadow
+ThreeDShadow
+Wave
+Wheel
+Window
+WindowFrame
+WindowText
+Xray
+Zigzag
+_azimuth
+_background
+_background-position-x
+_background-position-y
+_border
+_bottom
+_caption
+_clear
+_clip
+_color
+_content
+_counter
+_cue
+_cursor
+_direction
+_display
+_elevation
+_empty
+_filter
+_filter:progid:DXImageTransform.Microsoft
+_float
+_font
+_height
+_ime
+_ime-mode
+_layout
+_layout-flow
+_layout-grid
+_layout-grid-char
+_layout-grid-line
+_layout-grid-mode
+_layout-grid-type
+_left
+_letter
+_line
+_line-break
+_list
+_margin
+_orphans
+_outline
+_overflow
+_overflow-x
+_overflow-y
+_padding
+_page
+_pause
+_pitch
+_play
+_position
+_quotes
+_richness
+_right
+_ruby
+_ruby-align
+_ruby-overhang
+_ruby-position
+_scrollbar
+_scrollbar-3dlight-color
+_scrollbar-arrow-color
+_scrollbar-base-color
+_scrollbar-darkshadow-color
+_scrollbar-face-color
+_scrollbar-highlight-color
+_scrollbar-track-color
+_speak
+_speech
+_stress
+_table
+_text
+_text-align-last
+_text-autospace
+_text-justify
+_text-kashida-space
+_text-overflow
+_text-underline-position
+_top
+_unicode
+_vertical
+_visibility
+_voice
+_volume
+_white
+_widows
+_width
+_word
+_word-break
+_word-wrap
+_writing
+_writing-mode
+_z
+_zoom
+above
+active
+adjust
+after
+aliceblue
+align
+always
+antiquewhite
+aqua
+aquamarine
+armenian
+arrow
+attachment
+auto
+autospace
+avoid
+azimuth
+azure
+background
+background-attachment
+background-color
+background-image
+background-position
+background-repeat
+bar
+base
+baseline
+before
+behind
+beige
+below
+bidi
+bidi-override
+bisque
+black
+blanchedalmond
+blink
+block
+blue
+blueviolet
+bold
+bolder
+border
+border-bottom
+border-bottom-color
+border-bottom-style
+border-bottom-width
+border-collapse
+border-color
+border-left
+border-left-color
+border-left-style
+border-left-width
+border-right
+border-right-color
+border-right-style
+border-right-width
+border-spacing
+border-style
+border-top
+border-top-color
+border-top-style
+border-top-width
+border-width
+both
+bottom
+box
+break
+brown
+burlwood
+cadetblue
+capitalize
+caps
+caption
+caption-side
+cell
+cells
+center
+center-left
+center-right
+char
+chartreuse
+chocolate
+circle
+cjk
+cjk-ideographic
+clear
+clip
+close
+close-quote
+cm
+code
+collapse
+color
+column
+compact
+condensed
+content
+continuous
+coral
+cornflowerblue
+cornsilk
+counter
+counter-increment
+counter-reset
+crimson
+crop
+cross
+crosshair
+cue
+cue-after
+cue-before
+cursive
+cursor
+cyan
+darkblue
+darkcyan
+darkgoldenrod
+darkgray
+darkgreen
+darkkhaki
+darkmagenta
+darkolivegreen
+darkorange
+darkorchid
+darkred
+darksalmon
+darkseagreen
+darkshadow
+darkslateblue
+darkslategray
+darkturquoise
+darkviolet
+dashed
+decimal
+decimal-leading-zero
+decoration
+deeppink
+deepskyblue
+default
+deg
+digits
+dimgray
+direction
+disc
+display
+dodgerblue
+dotted
+double
+during
+e
+e-resize
+elevation
+em
+embed
+empty
+empty-cells
+ex
+expanded
+extra
+extra-condensed
+extra-expanded
+face
+family
+fantasy
+far
+far-left
+far-right
+fast
+faster
+firebrick
+first
+first-child
+first-letter
+first-line
+fixed
+float
+floralwhite
+flow
+focus
+font
+font-family
+font-size
+font-size-adjust
+font-stretch
+font-style
+font-variant
+font-weight
+footer
+forestgreen
+fuchsia
+gainsboro
+georgian
+ghostwhite
+gold
+goldenrod
+gray
+greek
+green
+greenyellow
+grid
+groove
+group
+header
+hebrew
+height
+help
+hidden
+hide
+high
+higher
+hiragana
+hiragana-iroha
+honeydew
+hotpink
+hover
+icon
+ideographic
+image
+in
+increment
+indent
+index
+indianred
+indigo
+inherit
+inline
+inline-block
+inline-table
+inset
+inside
+iroha
+italic
+item
+ivory
+justify
+kHz
+kashida
+katakana
+katakana-iroha
+khaki
+landscape
+lang()
+large
+larger
+last
+latin
+lavender
+lavenderblush
+lawngreen
+layout
+leading
+left
+left-side
+leftwards
+lenonchiffon
+letter
+letter-spacing
+level
+lightblue
+lightcoral
+lightcyan
+lighter
+lightgoldenrodyellow
+lightgray
+lightgreen
+lightgrey
+lightpink
+lightsalmon
+lightseagreen
+lightskyblue
+lightslategray
+lightsteelblue
+lightyellow
+lime
+limegreen
+line
+line-height
+line-through
+linen
+link
+list
+list-item
+list-style
+list-style-image
+list-style-position
+list-style-type
+loud
+low
+lower
+lower-alpha
+lower-greek
+lower-latin
+lower-roman
+lowercase
+ltr
+magenta
+margin
+margin-bottom
+margin-left
+margin-right
+margin-top
+marker
+marker-offset
+marks
+maroon
+max
+max-height
+max-width
+medium
+mediumaquamarine
+mediumblue
+mediumorchid
+mediumpurple
+mediumseagreen
+mediumslateblue
+mediumspringgreen
+mediumturquoise
+mediumvioletred
+menu
+message
+message-box
+middle
+midnightblue
+min
+min-height
+min-width
+mintcream
+mistyrose
+mix
+mm
+moccasin
+mode
+monospace
+move
+ms
+n
+n-resize
+naby
+narrower
+navajowhite
+ne
+ne-resize
+no
+no-close-quote
+no-open-quote
+no-repeat
+none
+normal
+nowrap
+number
+numeral
+nw
+nw-resize
+oblique
+offset
+oldlace
+olive
+olivedrab
+once
+open
+open-quote
+orange
+orangered
+orchid
+orphans
+out
+outline
+outline-color
+outline-style
+outline-width
+outset
+outside
+overflow
+overhang
+overline
+override
+padding
+padding-bottom
+padding-left
+padding-right
+padding-top
+page
+page-break-after
+page-break-before
+page-break-inside
+palegoldenrod
+palegreen
+paleturquoise
+palevioletred
+papayawhip
+pause
+pause-after
+pause-before
+pc
+peachpuff
+peru
+pink
+pitch
+pitch-range
+play
+play-during
+plum
+pointer
+portarait
+position
+powderblue
+pre
+pre-line
+pre-wrap
+progid
+progress
+pt
+punctuation
+purple
+px
+quote
+quotes
+rad
+range
+rate
+red
+relative
+repeat
+repeat-x
+repeat-y
+reset
+resize
+richness
+ridge
+right
+right-side
+rightwards
+roman
+rosybrown
+row
+royalblue
+rtl
+run
+run-in
+s
+s-resize
+saddlebrown
+salmon
+sandybrown
+sans-serif
+scroll
+se
+se-resize
+seagreen
+seashell
+semi
+semi-condensed
+semi-expanded
+separate
+serif
+shadow
+show
+side
+sienna
+silent
+silever
+silver
+size
+skyblue
+slateblue
+slategray
+slow
+slower
+small
+small-caps
+small-caption
+smaller
+snow
+soft
+solid
+space
+spacing
+speak
+speak-header
+speak-numeral
+speak-punctuation
+specific
+specific-voice
+speech
+speech-rate
+spell
+spell-out
+springgreen
+square
+static
+status
+status-bar
+steelblue
+stress
+stretch
+style
+sub
+super
+sw
+sw-resize
+table
+table-caption
+table-cell
+table-column
+table-column-group
+table-footer-group
+table-header-group
+table-layout
+table-row
+table-row-group
+tan
+teal
+text
+text-align
+text-bottom
+text-decoration
+text-indent
+text-shadow
+text-top
+text-transform
+thick
+thin
+thistle
+through
+tomato
+top
+track
+transform
+transparent
+turquoise
+type
+ultra
+ultra-condensed
+ultra-expanded
+underline
+unicode
+unicode-bidi
+upper
+upper-alpha
+upper-latin
+upper-roman
+uppercase
+variant
+vertical
+vertical-align
+violet
+visibility
+visible
+visited
+voice
+voice-family
+volume
+w
+w-resize
+wait
+weight
+wheat
+white
+white-space
+whitesmoke
+wider
+widows
+width
+word
+word-spacing
+wrap
+x
+x-fast
+x-high
+x-large
+x-loud
+x-low
+x-slow
+x-small
+x-soft
+xx
+xx-large
+xx-small
+y
+yellow
+yellowgreen
+z
+z-index
+zero
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/erlang-mode b/.emacs.d/elpa/auto-complete-1.4/dict/erlang-mode
new file mode 100644
index 0000000..960f2b8
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/erlang-mode
@@ -0,0 +1,216 @@
+after
+begin
+catch
+case
+cond
+end
+fun
+if
+let
+of
+query
+receive
+try
+when
+and
+andalso
+band
+bnot
+bor
+bsl
+bsr
+bxor
+div
+not
+or
+orelse
+rem
+xor
+is_atom
+is_binary
+is_bitstring
+is_boolean
+is_float
+is_function
+is_integer
+is_list
+is_number
+is_pid
+is_port
+is_record
+is_reference
+is_tuple
+atom
+binary
+bitstring
+boolean
+function
+integer
+list
+number
+pid
+port
+record
+reference
+tuple
+abs
+adler32
+adler32_combine
+alive
+apply
+atom_to_binary
+atom_to_list
+binary_to_atom
+binary_to_existing_atom
+binary_to_list
+binary_to_term
+bit_size
+bitstring_to_list
+byte_size
+check_process_code
+contact_binary
+crc32
+crc32_combine
+date
+decode_packet
+delete_module
+disconnect_node
+element
+erase
+exit
+float
+float_to_list
+garbage_collect
+get
+get_keys
+group_leader
+halt
+hd
+integer_to_list
+internal_bif
+iolist_size
+iolist_to_binary
+is_alive
+is_atom
+is_binary
+is_bitstring
+is_boolean
+is_float
+is_function
+is_integer
+is_list
+is_number
+is_pid
+is_port
+is_process_alive
+is_record
+is_reference
+is_tuple
+length
+link
+list_to_atom
+list_to_binary
+list_to_bitstring
+list_to_existing_atom
+list_to_float
+list_to_integer
+list_to_pid
+list_to_tuple
+load_module
+make_ref
+module_loaded
+monitor_node
+node
+node_link
+node_unlink
+nodes
+notalive
+now
+open_port
+pid_to_list
+port_close
+port_command
+port_connect
+port_control
+pre_loaded
+process_flag
+process_info
+processes
+purge_module
+put
+register
+registered
+round
+self
+setelement
+size
+spawn
+spawn_link
+spawn_monitor
+spawn_opt
+split_binary
+statistics
+term_to_binary
+time
+throw
+tl
+trunc
+tuple_size
+tuple_to_list
+unlink
+unregister
+whereis
+append_element
+bump_reductions
+cancel_timer
+demonitor
+display
+fun_info
+fun_to_list
+function_exported
+get_cookie
+get_stacktrace
+hash
+integer_to_list
+is_builtin
+list_to_integer
+loaded
+localtime
+localtime_to_universaltime
+make_tuple
+max
+md5
+md5_final
+md5_init
+md5_update
+memory
+min
+monitor
+monitor_node
+phash
+phash2
+port_call
+port_info
+port_to_list
+ports
+process_display
+read_timer
+ref_to_list
+resume_process
+send
+send_after
+send_nosuspend
+set_cookie
+start_timer
+suspend_process
+system_flag
+system_info
+system_monitor
+system_profile
+trace
+trace_delivered
+trace_info
+trace_pattern
+universaltime
+universaltime_to_localtime
+yield
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/java-mode b/.emacs.d/elpa/auto-complete-1.4/dict/java-mode
new file mode 100644
index 0000000..8ed3d04
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/java-mode
@@ -0,0 +1,50 @@
+abstract
+assert
+boolean
+break
+byte
+case
+catch
+char
+class
+const
+continue
+default
+do
+double
+else
+enum
+extends
+final
+finally
+float
+for
+goto
+if
+implements
+import
+instanceof
+int
+interface
+long
+native
+new
+package
+private
+protected
+public
+return
+short
+static
+strictfp
+super
+switch
+synchronized
+this
+throw
+throws
+transient
+try
+void
+volatile
+while
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/javascript-mode b/.emacs.d/elpa/auto-complete-1.4/dict/javascript-mode
new file mode 100644
index 0000000..3d83f84
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/javascript-mode
@@ -0,0 +1,148 @@
+Anchor
+Area
+Array
+Boolean
+Button
+Checkbox
+Date
+Document
+Element
+FileUpload
+Form
+Frame
+Function
+Hidden
+History
+Image
+Infinity
+JavaArray
+JavaClass
+JavaObject
+JavaPackage
+Link
+Location
+Math
+MimeType
+NaN
+Navigator
+Number
+Object
+Option
+Packages
+Password
+Plugin
+Radio
+RegExp
+Reset
+Select
+String
+Submit
+Text
+Textarea
+Window
+alert
+arguments
+assign
+blur
+break
+callee
+caller
+captureEvents
+case
+clearInterval
+clearTimeout
+close
+closed
+comment
+confirm
+constructor
+continue
+default
+defaultStatus
+delete
+do
+document
+else
+escape
+eval
+export
+find
+focus
+for
+frames
+function
+getClass
+history
+home
+if
+import
+in
+innerHeight
+innerWidth
+isFinite
+isNan
+java
+label
+length
+location
+locationbar
+menubar
+moveBy
+moveTo
+name
+navigate
+navigator
+netscape
+new
+onBlur
+onError
+onFocus
+onLoad
+onUnload
+open
+opener
+outerHeight
+outerWidth
+pageXoffset
+pageYoffset
+parent
+parseFloat
+parseInt
+personalbar
+print
+prompt
+prototype
+ref
+releaseEvents
+resizeBy
+resizeTo
+return
+routeEvent
+scroll
+scrollBy
+scrollTo
+scrollbars
+self
+setInterval
+setTimeout
+status
+statusbar
+stop
+sun
+switch
+taint
+this
+toString
+toolbar
+top
+typeof
+unescape
+untaint
+unwatch
+valueOf
+var
+void
+watch
+while
+window
+with
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/lua-mode b/.emacs.d/elpa/auto-complete-1.4/dict/lua-mode
new file mode 100644
index 0000000..d0de6a4
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/lua-mode
@@ -0,0 +1,21 @@
+and
+break
+do
+else
+elseif
+end
+false
+for
+function
+if
+in
+local
+nil
+not
+or
+repeat
+return
+then
+true
+until
+while
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/php-mode b/.emacs.d/elpa/auto-complete-1.4/dict/php-mode
new file mode 100644
index 0000000..5a27b71
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/php-mode
@@ -0,0 +1,5983 @@
+abs
+acos
+acosh
+addcslashes
+addslashes
+aggregate
+aggregate_info
+aggregate_methods
+aggregate_methods_by_list
+aggregate_methods_by_regexp
+aggregate_properties
+aggregate_properties_by_list
+aggregate_properties_by_regexp
+aggregation_info
+amqpconnection
+amqpexchange
+amqpqueue
+and
+apache_child_terminate
+apache_getenv
+apache_get_modules
+apache_get_version
+apache_lookup_uri
+apache_note
+apache_request_headers
+apache_reset_timeout
+apache_response_headers
+apache_setenv
+apc_add
+apc_bin_dump
+apc_bin_dumpfile
+apc_bin_load
+apc_bin_loadfile
+apc_cache_info
+apc_cas
+apc_clear_cache
+apc_compile_file
+apc_dec
+apc_define_constants
+apc_delete
+apc_delete_file
+apc_exists
+apc_fetch
+apc_inc
+apciterator
+apc_load_constants
+apc_sma_info
+apc_store
+apd_breakpoint
+apd_callstack
+apd_clunk
+apd_continue
+apd_croak
+apd_dump_function_table
+apd_dump_persistent_resources
+apd_dump_regular_resources
+apd_echo
+apd_get_active_symbols
+apd_set_pprof_trace
+apd_set_session
+apd_set_session_trace
+apd_set_session_trace_socket
+appenditerator
+array
+arrayaccess
+array_change_key_case
+array_chunk
+array_combine
+array_count_values
+array_diff
+array_diff_assoc
+array_diff_key
+array_diff_uassoc
+array_diff_ukey
+array_fill
+array_fill_keys
+array_filter
+array_flip
+array_intersect
+array_intersect_assoc
+array_intersect_key
+array_intersect_uassoc
+array_intersect_ukey
+arrayiterator
+array_key_exists
+array_keys
+array_map
+array_merge
+array_merge_recursive
+array_multisort
+arrayobject
+array_pad
+array_pop
+array_product
+array_push
+array_rand
+array_reduce
+array_replace
+array_replace_recursive
+array_reverse
+array_search
+array_shift
+array_slice
+array_splice
+array_sum
+array_udiff
+array_udiff_assoc
+array_udiff_uassoc
+array_uintersect
+array_uintersect_assoc
+array_uintersect_uassoc
+array_unique
+array_unshift
+array_values
+array_walk
+array_walk_recursive
+arsort
+as
+asin
+asinh
+asort
+assert
+assert_options
+atan
+atan2
+atanh
+badfunctioncallexception
+badmethodcallexception
+base64_decode
+base64_encode
+base_convert
+basename
+bbcode_add_element
+bbcode_add_smiley
+bbcode_create
+bbcode_destroy
+bbcode_parse
+bbcode_set_arg_parser
+bbcode_set_flags
+bcadd
+bccomp
+bcdiv
+bcmod
+bcmul
+bcompiler_load
+bcompiler_load_exe
+bcompiler_parse_class
+bcompiler_read
+bcompiler_write_class
+bcompiler_write_constant
+bcompiler_write_exe_footer
+bcompiler_write_file
+bcompiler_write_footer
+bcompiler_write_function
+bcompiler_write_functions_from_file
+bcompiler_write_header
+bcompiler_write_included_filename
+bcpow
+bcpowmod
+bcscale
+bcsqrt
+bcsub
+bin2hex
+bindec
+bindtextdomain
+bind_textdomain_codeset
+break
+bson_decode
+bson_encode
+bumpValue
+bzclose
+bzcompress
+bzdecompress
+bzerrno
+bzerror
+bzerrstr
+bzflush
+bzopen
+bzread
+bzwrite
+cachingiterator
+cairo
+cairoantialias
+cairocontent
+cairocontext
+cairo_create
+cairoexception
+cairoextend
+cairofillrule
+cairofilter
+cairofontface
+cairo_font_face_get_type
+cairo_font_face_status
+cairofontoptions
+cairo_font_options_create
+cairo_font_options_equal
+cairo_font_options_get_antialias
+cairo_font_options_get_hint_metrics
+cairo_font_options_get_hint_style
+cairo_font_options_get_subpixel_order
+cairo_font_options_hash
+cairo_font_options_merge
+cairo_font_options_set_antialias
+cairo_font_options_set_hint_metrics
+cairo_font_options_set_hint_style
+cairo_font_options_set_subpixel_order
+cairo_font_options_status
+cairofontslant
+cairofonttype
+cairofontweight
+cairoformat
+cairo_format_stride_for_width
+cairogradientpattern
+cairohintmetrics
+cairohintstyle
+cairoimagesurface
+cairo_image_surface_create
+cairo_image_surface_create_for_data
+cairo_image_surface_create_from_png
+cairo_image_surface_get_data
+cairo_image_surface_get_format
+cairo_image_surface_get_height
+cairo_image_surface_get_stride
+cairo_image_surface_get_width
+cairolineargradient
+cairolinecap
+cairolinejoin
+cairomatrix
+cairo_matrix_create_scale
+cairo_matrix_create_translate
+cairo_matrix_invert
+cairo_matrix_multiply
+cairo_matrix_rotate
+cairo_matrix_transform_distance
+cairo_matrix_transform_point
+cairo_matrix_translate
+cairooperator
+cairopath
+cairopattern
+cairo_pattern_add_color_stop_rgb
+cairo_pattern_add_color_stop_rgba
+cairo_pattern_create_for_surface
+cairo_pattern_create_linear
+cairo_pattern_create_radial
+cairo_pattern_create_rgb
+cairo_pattern_create_rgba
+cairo_pattern_get_color_stop_count
+cairo_pattern_get_color_stop_rgba
+cairo_pattern_get_extend
+cairo_pattern_get_filter
+cairo_pattern_get_linear_points
+cairo_pattern_get_matrix
+cairo_pattern_get_radial_circles
+cairo_pattern_get_rgba
+cairo_pattern_get_surface
+cairo_pattern_get_type
+cairo_pattern_set_extend
+cairo_pattern_set_filter
+cairo_pattern_set_matrix
+cairo_pattern_status
+cairopatterntype
+cairopdfsurface
+cairo_pdf_surface_create
+cairo_pdf_surface_set_size
+cairo_ps_get_levels
+cairopslevel
+cairo_ps_level_to_string
+cairopssurface
+cairo_ps_surface_create
+cairo_ps_surface_dsc_begin_page_setup
+cairo_ps_surface_dsc_begin_setup
+cairo_ps_surface_dsc_comment
+cairo_ps_surface_get_eps
+cairo_ps_surface_restrict_to_level
+cairo_ps_surface_set_eps
+cairo_ps_surface_set_size
+cairoradialgradient
+cairoscaledfont
+cairo_scaled_font_create
+cairo_scaled_font_extents
+cairo_scaled_font_get_ctm
+cairo_scaled_font_get_font_face
+cairo_scaled_font_get_font_matrix
+cairo_scaled_font_get_font_options
+cairo_scaled_font_get_scale_matrix
+cairo_scaled_font_get_type
+cairo_scaled_font_glyph_extents
+cairo_scaled_font_status
+cairo_scaled_font_text_extents
+cairosolidpattern
+cairostatus
+cairosubpixelorder
+cairosurface
+cairo_surface_copy_page
+cairo_surface_create_similar
+cairo_surface_finish
+cairo_surface_flush
+cairo_surface_get_content
+cairo_surface_get_device_offset
+cairo_surface_get_font_options
+cairo_surface_get_type
+cairo_surface_mark_dirty
+cairo_surface_mark_dirty_rectangle
+cairosurfacepattern
+cairo_surface_set_device_offset
+cairo_surface_set_fallback_resolution
+cairo_surface_show_page
+cairo_surface_status
+cairosurfacetype
+cairo_surface_write_to_png
+cairosvgsurface
+cairo_svg_surface_create
+cairo_svg_surface_restrict_to_version
+cairosvgversion
+cairo_svg_version_to_string
+cairotoyfontface
+calculhmac
+calcul_hmac
+cal_days_in_month
+cal_from_jd
+cal_info
+__call()
+callbackfilteriterator
+__callStatic()
+call_user_func
+call_user_func_array
+call_user_method
+call_user_method_array
+cal_to_jd
+case
+catch
+ceil
+cfunction
+chdb
+chdb_create
+chdir
+checkdate
+checkdnsrr
+chgrp
+chmod
+chop
+chown
+chr
+chroot
+chunk_split
+class
+__CLASS__
+class_alias
+class_exists
+class_implements
+classkit_import
+classkit_method_add
+classkit_method_copy
+classkit_method_redefine
+classkit_method_remove
+classkit_method_rename
+class_parents
+clearstatcache
+clone
+__clone()
+closedir
+closelog
+collator
+com
+com_addref
+com_create_guid
+com_event_sink
+com_get
+com_get_active_object
+com_invoke
+com_isenum
+com_load
+com_load_typelib
+com_message_pump
+compact
+com_print_typeinfo
+com_propget
+com_propput
+com_propset
+com_release
+com_set
+connection_aborted
+connection_status
+connection_timeout
+const
+constant
+construct
+__construct()
+continue
+convert_cyr_string
+convert_uudecode
+convert_uuencode
+copy
+cos
+cosh
+count
+countable
+count_chars
+counter_bump
+counter_bump_value
+counter_create
+counter_get
+counter_get_meta
+counter_get_named
+counter_get_value
+counter_reset
+counter_reset_value
+crack_check
+crack_closedict
+crack_getlastmessage
+crack_opendict
+crc32
+create_function
+crypt
+ctype_alnum
+ctype_alpha
+ctype_cntrl
+ctype_digit
+ctype_graph
+ctype_lower
+ctype_print
+ctype_punct
+ctype_space
+ctype_upper
+ctype_xdigit
+cubrid_affected_rows
+cubrid_bind
+cubrid_client_encoding
+cubrid_close
+cubrid_close_prepare
+cubrid_close_request
+cubrid_col_get
+cubrid_col_size
+cubrid_column_names
+cubrid_column_types
+cubrid_commit
+cubrid_connect
+cubrid_connect_with_url
+cubrid_current_oid
+cubrid_data_seek
+cubrid_db_name
+cubrid_disconnect
+cubrid_drop
+cubrid_errno
+cubrid_error
+cubrid_error_code
+cubrid_error_code_facility
+cubrid_error_msg
+cubrid_execute
+cubrid_fetch
+cubrid_fetch_array
+cubrid_fetch_assoc
+cubrid_fetch_field
+cubrid_fetch_lengths
+cubrid_fetch_object
+cubrid_fetch_row
+cubrid_field_flags
+cubrid_field_len
+cubrid_field_name
+cubrid_field_seek
+cubrid_field_table
+cubrid_field_type
+cubrid_free_result
+cubrid_get
+cubrid_get_autocommit
+cubrid_get_charset
+cubrid_get_class_name
+cubrid_get_client_info
+cubrid_get_db_parameter
+cubrid_get_server_info
+cubrid_insert_id
+cubrid_is_instance
+cubrid_list_dbs
+cubrid_load_from_glo
+cubrid_lob_close
+cubrid_lob_export
+cubrid_lob_get
+cubrid_lob_send
+cubrid_lob_size
+cubrid_lock_read
+cubrid_lock_write
+cubrid_move_cursor
+cubrid_new_glo
+cubrid_next_result
+cubrid_num_cols
+cubrid_num_fields
+cubrid_num_rows
+cubrid_ping
+cubrid_prepare
+cubrid_put
+cubrid_query
+cubrid_real_escape_string
+cubrid_result
+cubrid_rollback
+cubrid_save_to_glo
+cubrid_schema
+cubrid_send_glo
+cubrid_seq_drop
+cubrid_seq_insert
+cubrid_seq_put
+cubrid_set_add
+cubrid_set_autocommit
+cubrid_set_db_parameter
+cubrid_set_drop
+cubrid_unbuffered_query
+cubrid_version
+curl_close
+curl_copy_handle
+curl_errno
+curl_error
+curl_exec
+curl_getinfo
+curl_init
+curl_multi_add_handle
+curl_multi_close
+curl_multi_exec
+curl_multi_getcontent
+curl_multi_info_read
+curl_multi_init
+curl_multi_remove_handle
+curl_multi_select
+curl_setopt
+curl_setopt_array
+curl_version
+current
+cyrus_authenticate
+cyrus_bind
+cyrus_close
+cyrus_connect
+cyrus_query
+cyrus_unbind
+date
+date_add
+date_create
+date_create_from_format
+date_date_set
+date_default_timezone_get
+date_default_timezone_set
+date_diff
+date_format
+date_get_last_errors
+dateinterval
+date_interval_create_from_date_string
+date_interval_format
+date_isodate_set
+date_modify
+date_offset_get
+date_parse
+date_parse_from_format
+dateperiod
+date_sub
+date_sun_info
+date_sunrise
+date_sunset
+datetime
+date_time_set
+date_timestamp_get
+date_timestamp_set
+datetimezone
+date_timezone_get
+date_timezone_set
+db2_autocommit
+db2_bind_param
+db2_client_info
+db2_close
+db2_column_privileges
+db2_columns
+db2_commit
+db2_connect
+db2_conn_error
+db2_conn_errormsg
+db2_cursor_type
+db2_escape_string
+db2_exec
+db2_execute
+db2_fetch_array
+db2_fetch_assoc
+db2_fetch_both
+db2_fetch_object
+db2_fetch_row
+db2_field_display_size
+db2_field_name
+db2_field_num
+db2_field_precision
+db2_field_scale
+db2_field_type
+db2_field_width
+db2_foreign_keys
+db2_free_result
+db2_free_stmt
+db2_get_option
+db2_last_insert_id
+db2_lob_read
+db2_next_result
+db2_num_fields
+db2_num_rows
+db2_pclose
+db2_pconnect
+db2_prepare
+db2_primary_keys
+db2_procedure_columns
+db2_procedures
+db2_result
+db2_rollback
+db2_server_info
+db2_set_option
+db2_special_columns
+db2_statistics
+db2_stmt_error
+db2_stmt_errormsg
+db2_table_privileges
+db2_tables
+dba_close
+dba_delete
+dba_exists
+dba_fetch
+dba_firstkey
+dba_handlers
+dba_insert
+dba_key_split
+dba_list
+dba_nextkey
+dba_open
+dba_optimize
+dba_popen
+dba_replace
+dbase_add_record
+dbase_close
+dbase_create
+dbase_delete_record
+dbase_get_header_info
+dbase_get_record
+dbase_get_record_with_names
+dbase_numfields
+dbase_numrecords
+dbase_open
+dbase_pack
+dbase_replace_record
+dba_sync
+dbplus_add
+dbplus_aql
+dbplus_chdir
+dbplus_close
+dbplus_curr
+dbplus_errcode
+dbplus_errno
+dbplus_find
+dbplus_first
+dbplus_flush
+dbplus_freealllocks
+dbplus_freelock
+dbplus_freerlocks
+dbplus_getlock
+dbplus_getunique
+dbplus_info
+dbplus_last
+dbplus_lockrel
+dbplus_next
+dbplus_open
+dbplus_prev
+dbplus_rchperm
+dbplus_rcreate
+dbplus_rcrtexact
+dbplus_rcrtlike
+dbplus_resolve
+dbplus_restorepos
+dbplus_rkeys
+dbplus_ropen
+dbplus_rquery
+dbplus_rrename
+dbplus_rsecindex
+dbplus_runlink
+dbplus_rzap
+dbplus_savepos
+dbplus_setindex
+dbplus_setindexbynumber
+dbplus_sql
+dbplus_tcl
+dbplus_tremove
+dbplus_undo
+dbplus_undoprepare
+dbplus_unlockrel
+dbplus_unselect
+dbplus_update
+dbplus_xlockrel
+dbplus_xunlockrel
+dbx_close
+dbx_compare
+dbx_connect
+dbx_error
+dbx_escape_string
+dbx_fetch_row
+dbx_query
+dbx_sort
+dcgettext
+dcngettext
+deaggregate
+debug_backtrace
+debug_print_backtrace
+debug_zval_dump
+decbin
+dechex
+declare
+decoct
+default
+define
+defined
+define_syslog_variables
+deg2rad
+delete
+__destruct()
+dgettext
+die
+dio_close
+dio_fcntl
+dio_open
+dio_read
+dio_seek
+dio_stat
+dio_tcsetattr
+dio_truncate
+dio_write
+dir
+__DIR__
+directoryiterator
+dirname
+diskfreespace
+disk_free_space
+disk_total_space
+dl
+dngettext
+dns_check_record
+dns_get_mx
+dns_get_record
+do
+domainexception
+domattr
+domattribute_name
+domattribute_set_value
+domattribute_specified
+domattribute_value
+domcharacterdata
+domcomment
+domdocument
+domdocument_add_root
+domdocument_create_attribute
+domdocument_create_cdata_section
+domdocument_create_comment
+domdocument_create_element
+domdocument_create_element_ns
+domdocument_create_entity_reference
+domdocument_create_processing_instruction
+domdocument_create_text_node
+domdocument_doctype
+domdocument_document_element
+domdocument_dump_file
+domdocument_dump_mem
+domdocumentfragment
+domdocument_get_element_by_id
+domdocument_get_elements_by_tagname
+domdocument_html_dump_mem
+domdocumenttype
+domdocumenttype_entities
+domdocumenttype_internal_subset
+domdocumenttype_name
+domdocumenttype_notations
+domdocumenttype_public_id
+domdocumenttype_system_id
+domdocument_xinclude
+domelement
+domelement_get_attribute
+domelement_get_attribute_node
+domelement_get_elements_by_tagname
+domelement_has_attribute
+domelement_remove_attribute
+domelement_set_attribute
+domelement_set_attribute_node
+domelement_tagname
+domentity
+domentityreference
+domexception
+domimplementation
+dom_import_simplexml
+domnamednodemap
+domnode
+domnode_add_namespace
+domnode_append_child
+domnode_append_sibling
+domnode_attributes
+domnode_child_nodes
+domnode_clone_node
+domnode_dump_node
+domnode_first_child
+domnode_get_content
+domnode_has_attributes
+domnode_has_child_nodes
+domnode_insert_before
+domnode_is_blank_node
+domnode_last_child
+domnodelist
+domnode_next_sibling
+domnode_node_name
+domnode_node_type
+domnode_node_value
+domnode_owner_document
+domnode_parent_node
+domnode_prefix
+domnode_previous_sibling
+domnode_remove_child
+domnode_replace_child
+domnode_replace_node
+domnode_set_content
+domnode_set_name
+domnode_set_namespace
+domnode_unlink_node
+domnotation
+domprocessinginstruction
+domprocessinginstruction_data
+domprocessinginstruction_target
+domtext
+domxml_new_doc
+domxml_open_file
+domxml_open_mem
+domxml_version
+domxml_xmltree
+domxml_xslt_stylesheet
+domxml_xslt_stylesheet_doc
+domxml_xslt_stylesheet_file
+domxml_xslt_version
+domxpath
+domxsltstylesheet_process
+domxsltstylesheet_result_dump_file
+domxsltstylesheet_result_dump_mem
+dotnet
+dotnet_load
+doubleval
+each
+easter_date
+easter_days
+echo
+else
+elseif
+empty
+emptyiterator
+enchant_broker_describe
+enchant_broker_dict_exists
+enchant_broker_free
+enchant_broker_free_dict
+enchant_broker_get_error
+enchant_broker_init
+enchant_broker_list_dicts
+enchant_broker_request_dict
+enchant_broker_request_pwl_dict
+enchant_broker_set_ordering
+enchant_dict_add_to_personal
+enchant_dict_add_to_session
+enchant_dict_check
+enchant_dict_describe
+enchant_dict_get_error
+enchant_dict_is_in_session
+enchant_dict_quick_check
+enchant_dict_store_replacement
+enchant_dict_suggest
+end
+enddeclare
+endfor
+endforeach
+endif
+endswitch
+endwhile
+ereg
+eregi
+eregi_replace
+ereg_replace
+errorexception
+error_get_last
+error_log
+error_reporting
+escapeshellarg
+escapeshellcmd
+eval
+event_add
+event_base_free
+event_base_loop
+event_base_loopbreak
+event_base_loopexit
+event_base_new
+event_base_priority_init
+event_base_set
+event_buffer_base_set
+event_buffer_disable
+event_buffer_enable
+event_buffer_fd_set
+event_buffer_free
+event_buffer_new
+event_buffer_priority_set
+event_buffer_read
+event_buffer_set_callback
+event_buffer_timeout_set
+event_buffer_watermark_set
+event_buffer_write
+event_del
+event_free
+event_new
+event_set
+exception
+exec
+exif_imagetype
+exif_read_data
+exif_tagname
+exif_thumbnail
+exit
+exp
+expect_expectl
+expect_popen
+explode
+expm1
+export
+extends
+extension_loaded
+extract
+ezmlm_hash
+fam_cancel_monitor
+fam_close
+fam_monitor_collection
+fam_monitor_directory
+fam_monitor_file
+fam_next_event
+fam_open
+fam_pending
+fam_resume_monitor
+fam_suspend_monitor
+fbsql_affected_rows
+fbsql_autocommit
+fbsql_blob_size
+fbsql_change_user
+fbsql_clob_size
+fbsql_close
+fbsql_commit
+fbsql_connect
+fbsql_create_blob
+fbsql_create_clob
+fbsql_create_db
+fbsql_database
+fbsql_database_password
+fbsql_data_seek
+fbsql_db_query
+fbsql_db_status
+fbsql_drop_db
+fbsql_errno
+fbsql_error
+fbsql_fetch_array
+fbsql_fetch_assoc
+fbsql_fetch_field
+fbsql_fetch_lengths
+fbsql_fetch_object
+fbsql_fetch_row
+fbsql_field_flags
+fbsql_field_len
+fbsql_field_name
+fbsql_field_seek
+fbsql_field_table
+fbsql_field_type
+fbsql_free_result
+fbsql_get_autostart_info
+fbsql_hostname
+fbsql_insert_id
+fbsql_list_dbs
+fbsql_list_fields
+fbsql_list_tables
+fbsql_next_result
+fbsql_num_fields
+fbsql_num_rows
+fbsql_password
+fbsql_pconnect
+fbsql_query
+fbsql_read_blob
+fbsql_read_clob
+fbsql_result
+fbsql_rollback
+fbsql_rows_fetched
+fbsql_select_db
+fbsql_set_characterset
+fbsql_set_lob_mode
+fbsql_set_password
+fbsql_set_transaction
+fbsql_start_db
+fbsql_stop_db
+fbsql_tablename
+fbsql_table_name
+fbsql_username
+fbsql_warnings
+fclose
+fdf_add_doc_javascript
+fdf_add_template
+fdf_close
+fdf_create
+fdf_enum_values
+fdf_errno
+fdf_error
+fdf_get_ap
+fdf_get_attachment
+fdf_get_encoding
+fdf_get_file
+fdf_get_flags
+fdf_get_opt
+fdf_get_status
+fdf_get_value
+fdf_get_version
+fdf_header
+fdf_next_field_name
+fdf_open
+fdf_open_string
+fdf_remove_item
+fdf_save
+fdf_save_string
+fdf_set_ap
+fdf_set_encoding
+fdf_set_file
+fdf_set_flags
+fdf_set_javascript_action
+fdf_set_on_import_javascript
+fdf_set_opt
+fdf_set_status
+fdf_set_submit_form_action
+fdf_set_target_frame
+fdf_set_value
+fdf_set_version
+feof
+fflush
+fgetc
+fgetcsv
+fgets
+fgetss
+file
+__FILE__
+fileatime
+filectime
+file_exists
+file_get_contents
+filegroup
+fileinode
+filemtime
+fileowner
+fileperms
+filepro
+filepro_fieldcount
+filepro_fieldname
+filepro_fieldtype
+filepro_fieldwidth
+filepro_retrieve
+filepro_rowcount
+file_put_contents
+filesize
+filesystemiterator
+filetype
+filter_has_var
+filter_id
+filter_input
+filter_input_array
+filteriterator
+filter_list
+filter_var
+filter_var_array
+final
+finfo_buffer
+finfo_close
+finfo_file
+finfo_open
+finfo_set_flags
+floatval
+flock
+floor
+flush
+fmod
+fnmatch
+fopen
+for
+foreach
+forward_static_call
+forward_static_call_array
+fpassthru
+fprintf
+fputcsv
+fputs
+fread
+frenchtojd
+fribidi_log2vis
+fscanf
+fseek
+fsockopen
+fstat
+ftell
+ftok
+ftp_alloc
+ftp_cdup
+ftp_chdir
+ftp_chmod
+ftp_close
+ftp_connect
+ftp_delete
+ftp_exec
+ftp_fget
+ftp_fput
+ftp_get
+ftp_get_option
+ftp_login
+ftp_mdtm
+ftp_mkdir
+ftp_nb_continue
+ftp_nb_fget
+ftp_nb_fput
+ftp_nb_get
+ftp_nb_put
+ftp_nlist
+ftp_pasv
+ftp_put
+ftp_pwd
+ftp_quit
+ftp_raw
+ftp_rawlist
+ftp_rename
+ftp_rmdir
+ftp_set_option
+ftp_site
+ftp_size
+ftp_ssl_connect
+ftp_systype
+ftruncate
+func_get_arg
+func_get_args
+func_num_args
+function
+__FUNCTION__
+function_exists
+fwrite
+gc_collect_cycles
+gc_disable
+gc_enable
+gc_enabled
+gd_info
+gearmanclient
+gearmanjob
+gearmantask
+gearmanworker
+geoip_continent_code_by_name
+geoip_country_code3_by_name
+geoip_country_code_by_name
+geoip_country_name_by_name
+geoip_database_info
+geoip_db_avail
+geoip_db_filename
+geoip_db_get_all_info
+geoip_id_by_name
+geoip_isp_by_name
+geoip_org_by_name
+geoip_record_by_name
+geoip_region_by_name
+geoip_region_name_by_code
+geoip_time_zone_by_country_and_region
+__get()
+getallheaders
+get_browser
+get_called_class
+get_cfg_var
+get_class
+get_class_methods
+get_class_vars
+getclosure
+getconstant
+getconstants
+getconstructor
+get_current_user
+getcwd
+getdate
+get_declared_classes
+get_declared_interfaces
+getdefaultproperties
+get_defined_constants
+get_defined_functions
+get_defined_vars
+getdoccomment
+getendline
+getenv
+getextension
+get_extension_funcs
+getextensionname
+getfilename
+get_headers
+gethostbyaddr
+gethostbyname
+gethostbynamel
+gethostname
+get_html_translation_table
+getimagesize
+get_included_files
+get_include_path
+getinterfacenames
+getinterfaces
+getlastmod
+get_loaded_extensions
+get_magic_quotes_gpc
+get_magic_quotes_runtime
+getMeta
+get_meta_tags
+getmethod
+getmethods
+getmodifiers
+getmxrr
+getmygid
+getmyinode
+getmypid
+getmyuid
+getname
+getNamed
+getnamespacename
+get_object_vars
+getopt
+getparentclass
+get_parent_class
+getproperties
+getproperty
+getprotobyname
+getprotobynumber
+getrandmax
+get_required_files
+get_resource_type
+getrusage
+getservbyname
+getservbyport
+getshortname
+getstartline
+getstaticproperties
+getstaticpropertyvalue
+gettext
+gettimeofday
+gettraitaliases
+gettraitnames
+gettraits
+gettype
+getValue
+glob
+global
+globiterator
+gmagick
+gmagickdraw
+gmagickpixel
+gmdate
+gmmktime
+gmp_abs
+gmp_add
+gmp_and
+gmp_clrbit
+gmp_cmp
+gmp_com
+gmp_div
+gmp_divexact
+gmp_div_q
+gmp_div_qr
+gmp_div_r
+gmp_fact
+gmp_gcd
+gmp_gcdext
+gmp_hamdist
+gmp_init
+gmp_intval
+gmp_invert
+gmp_jacobi
+gmp_legendre
+gmp_mod
+gmp_mul
+gmp_neg
+gmp_nextprime
+gmp_or
+gmp_perfect_square
+gmp_popcount
+gmp_pow
+gmp_powm
+gmp_prob_prime
+gmp_random
+gmp_scan0
+gmp_scan1
+gmp_setbit
+gmp_sign
+gmp_sqrt
+gmp_sqrtrem
+gmp_strval
+gmp_sub
+gmp_testbit
+gmp_xor
+gmstrftime
+gnupg_adddecryptkey
+gnupg_addencryptkey
+gnupg_addsignkey
+gnupg_cleardecryptkeys
+gnupg_clearencryptkeys
+gnupg_clearsignkeys
+gnupg_decrypt
+gnupg_decryptverify
+gnupg_encrypt
+gnupg_encryptsign
+gnupg_export
+gnupg_geterror
+gnupg_getprotocol
+gnupg_import
+gnupg_init
+gnupg_keyinfo
+gnupg_setarmor
+gnupg_seterrormode
+gnupg_setsignmode
+gnupg_sign
+gnupg_verify
+gopher_parsedir
+goto
+grapheme_extract
+grapheme_stripos
+grapheme_stristr
+grapheme_strlen
+grapheme_strpos
+grapheme_strripos
+grapheme_strrpos
+grapheme_strstr
+grapheme_substr
+gregoriantojd
+gupnp_context_get_host_ip
+gupnp_context_get_port
+gupnp_context_get_subscription_timeout
+gupnp_context_host_path
+gupnp_context_new
+gupnp_context_set_subscription_timeout
+gupnp_context_timeout_add
+gupnp_context_unhost_path
+gupnp_control_point_browse_start
+gupnp_control_point_browse_stop
+gupnp_control_point_callback_set
+gupnp_control_point_new
+gupnp_device_action_callback_set
+gupnp_device_info_get
+gupnp_device_info_get_service
+gupnp_root_device_get_available
+gupnp_root_device_get_relative_location
+gupnp_root_device_new
+gupnp_root_device_set_available
+gupnp_root_device_start
+gupnp_root_device_stop
+gupnp_service_action_get
+gupnp_service_action_return
+gupnp_service_action_return_error
+gupnp_service_action_set
+gupnp_service_freeze_notify
+gupnp_service_info_get
+gupnp_service_info_get_introspection
+gupnp_service_introspection_get_state_variable
+gupnp_service_notify
+gupnp_service_proxy_action_get
+gupnp_service_proxy_action_set
+gupnp_service_proxy_add_notify
+gupnp_service_proxy_callback_set
+gupnp_service_proxy_get_subscribed
+gupnp_service_proxy_remove_notify
+gupnp_service_proxy_set_subscribed
+gupnp_service_thaw_notify
+gzclose
+gzcompress
+gzdecode
+gzdeflate
+gzencode
+gzeof
+gzfile
+gzgetc
+gzgets
+gzgetss
+gzinflate
+gzopen
+gzpassthru
+gzputs
+gzread
+gzrewind
+gzseek
+gztell
+gzuncompress
+gzwrite
+halt_compiler
+haruannotation
+haruannotation_setborderstyle
+haruannotation_sethighlightmode
+haruannotation_seticon
+haruannotation_setopened
+harudestination
+harudestination_setfit
+harudestination_setfitb
+harudestination_setfitbh
+harudestination_setfitbv
+harudestination_setfith
+harudestination_setfitr
+harudestination_setfitv
+harudestination_setxyz
+harudoc
+harudoc_addpage
+harudoc_addpagelabel
+harudoc_construct
+harudoc_createoutline
+harudoc_getcurrentencoder
+harudoc_getcurrentpage
+harudoc_getencoder
+harudoc_getfont
+harudoc_getinfoattr
+harudoc_getpagelayout
+harudoc_getpagemode
+harudoc_getstreamsize
+harudoc_insertpage
+harudoc_loadjpeg
+harudoc_loadpng
+harudoc_loadraw
+harudoc_loadttc
+harudoc_loadttf
+harudoc_loadtype1
+harudoc_output
+harudoc_readfromstream
+harudoc_reseterror
+harudoc_resetstream
+harudoc_save
+harudoc_savetostream
+harudoc_setcompressionmode
+harudoc_setcurrentencoder
+harudoc_setencryptionmode
+harudoc_setinfoattr
+harudoc_setinfodateattr
+harudoc_setopenaction
+harudoc_setpagelayout
+harudoc_setpagemode
+harudoc_setpagesconfiguration
+harudoc_setpassword
+harudoc_setpermission
+harudoc_usecnsencodings
+harudoc_usecnsfonts
+harudoc_usecntencodings
+harudoc_usecntfonts
+harudoc_usejpencodings
+harudoc_usejpfonts
+harudoc_usekrencodings
+harudoc_usekrfonts
+haruencoder
+haruencoder_getbytetype
+haruencoder_gettype
+haruencoder_getunicode
+haruencoder_getwritingmode
+haruexception
+harufont
+harufont_getascent
+harufont_getcapheight
+harufont_getdescent
+harufont_getencodingname
+harufont_getfontname
+harufont_gettextwidth
+harufont_getunicodewidth
+harufont_getxheight
+harufont_measuretext
+haruimage
+haruimage_getbitspercomponent
+haruimage_getcolorspace
+haruimage_getheight
+haruimage_getsize
+haruimage_getwidth
+haruimage_setcolormask
+haruimage_setmaskimage
+haruoutline
+haruoutline_setdestination
+haruoutline_setopened
+harupage
+harupage_arc
+harupage_begintext
+harupage_circle
+harupage_closepath
+harupage_concat
+harupage_createdestination
+harupage_createlinkannotation
+harupage_createtextannotation
+harupage_createurlannotation
+harupage_curveto
+harupage_curveto2
+harupage_curveto3
+harupage_drawimage
+harupage_ellipse
+harupage_endpath
+harupage_endtext
+harupage_eofill
+harupage_eofillstroke
+harupage_fill
+harupage_fillstroke
+harupage_getcharspace
+harupage_getcmykfill
+harupage_getcmykstroke
+harupage_getcurrentfont
+harupage_getcurrentfontsize
+harupage_getcurrentpos
+harupage_getcurrenttextpos
+harupage_getdash
+harupage_getfillingcolorspace
+harupage_getflatness
+harupage_getgmode
+harupage_getgrayfill
+harupage_getgraystroke
+harupage_getheight
+harupage_gethorizontalscaling
+harupage_getlinecap
+harupage_getlinejoin
+harupage_getlinewidth
+harupage_getmiterlimit
+harupage_getrgbfill
+harupage_getrgbstroke
+harupage_getstrokingcolorspace
+harupage_gettextleading
+harupage_gettextmatrix
+harupage_gettextrenderingmode
+harupage_gettextrise
+harupage_gettextwidth
+harupage_gettransmatrix
+harupage_getwidth
+harupage_getwordspace
+harupage_lineto
+harupage_measuretext
+harupage_movetextpos
+harupage_moveto
+harupage_movetonextline
+harupage_rectangle
+harupage_setcharspace
+harupage_setcmykfill
+harupage_setcmykstroke
+harupage_setdash
+harupage_setflatness
+harupage_setfontandsize
+harupage_setgrayfill
+harupage_setgraystroke
+harupage_setheight
+harupage_sethorizontalscaling
+harupage_setlinecap
+harupage_setlinejoin
+harupage_setlinewidth
+harupage_setmiterlimit
+harupage_setrgbfill
+harupage_setrgbstroke
+harupage_setrotate
+harupage_setsize
+harupage_setslideshow
+harupage_settextleading
+harupage_settextmatrix
+harupage_settextrenderingmode
+harupage_settextrise
+harupage_setwidth
+harupage_setwordspace
+harupage_showtext
+harupage_showtextnextline
+harupage_stroke
+harupage_textout
+harupage_textrect
+hasconstant
+hash
+hash_algos
+hash_copy
+hash_file
+hash_final
+hash_hmac
+hash_hmac_file
+hash_init
+hash_update
+hash_update_file
+hash_update_stream
+hasmethod
+hasproperty
+header
+header_register_callback
+header_remove
+headers_list
+headers_sent
+hebrev
+hebrevc
+hex2bin
+hexdec
+highlight_file
+highlight_string
+htmlentities
+html_entity_decode
+htmlspecialchars
+htmlspecialchars_decode
+http_build_cookie
+http_build_query
+http_build_str
+http_build_url
+http_cache_etag
+http_cache_last_modified
+http_chunked_decode
+http_date
+http_deflate
+httpdeflatestream
+httpdeflatestream_construct
+httpdeflatestream_factory
+httpdeflatestream_finish
+httpdeflatestream_flush
+httpdeflatestream_update
+http_get
+http_get_request_body
+http_get_request_body_stream
+http_get_request_headers
+http_head
+http_inflate
+httpinflatestream
+httpinflatestream_construct
+httpinflatestream_factory
+httpinflatestream_finish
+httpinflatestream_flush
+httpinflatestream_update
+http_match_etag
+http_match_modified
+http_match_request_header
+httpmessage
+httpmessage_addheaders
+httpmessage_construct
+httpmessage_detach
+httpmessage_factory
+httpmessage_fromenv
+httpmessage_fromstring
+httpmessage_getbody
+httpmessage_getheader
+httpmessage_getheaders
+httpmessage_gethttpversion
+httpmessage_getparentmessage
+httpmessage_getrequestmethod
+httpmessage_getrequesturl
+httpmessage_getresponsecode
+httpmessage_getresponsestatus
+httpmessage_gettype
+httpmessage_guesscontenttype
+httpmessage_prepend
+httpmessage_reverse
+httpmessage_send
+httpmessage_setbody
+httpmessage_setheaders
+httpmessage_sethttpversion
+httpmessage_setrequestmethod
+httpmessage_setrequesturl
+httpmessage_setresponsecode
+httpmessage_setresponsestatus
+httpmessage_settype
+httpmessage_tomessagetypeobject
+httpmessage_tostring
+http_negotiate_charset
+http_negotiate_content_type
+http_negotiate_language
+http_parse_cookie
+http_parse_headers
+http_parse_message
+http_parse_params
+http_persistent_handles_clean
+http_persistent_handles_count
+http_persistent_handles_ident
+http_post_data
+http_post_fields
+http_put_data
+http_put_file
+http_put_stream
+httpquerystring
+httpquerystring_construct
+httpquerystring_get
+httpquerystring_mod
+httpquerystring_set
+httpquerystring_singleton
+httpquerystring_toarray
+httpquerystring_tostring
+httpquerystring_xlate
+http_redirect
+httprequest
+http_request
+httprequest_addcookies
+httprequest_addheaders
+httprequest_addpostfields
+httprequest_addpostfile
+httprequest_addputdata
+httprequest_addquerydata
+httprequest_addrawpostdata
+httprequest_addssloptions
+http_request_body_encode
+httprequest_clearhistory
+httprequest_construct
+httprequest_enablecookies
+httprequest_getcontenttype
+httprequest_getcookies
+httprequest_getheaders
+httprequest_gethistory
+httprequest_getmethod
+httprequest_getoptions
+httprequest_getpostfields
+httprequest_getpostfiles
+httprequest_getputdata
+httprequest_getputfile
+httprequest_getquerydata
+httprequest_getrawpostdata
+httprequest_getrawrequestmessage
+httprequest_getrawresponsemessage
+httprequest_getrequestmessage
+httprequest_getresponsebody
+httprequest_getresponsecode
+httprequest_getresponsecookies
+httprequest_getresponsedata
+httprequest_getresponseheader
+httprequest_getresponseinfo
+httprequest_getresponsemessage
+httprequest_getresponsestatus
+httprequest_getssloptions
+httprequest_geturl
+http_request_method_exists
+http_request_method_name
+http_request_method_register
+http_request_method_unregister
+httprequestpool
+httprequestpool_attach
+httprequestpool_construct
+httprequestpool_destruct
+httprequestpool_detach
+httprequestpool_getattachedrequests
+httprequestpool_getfinishedrequests
+httprequestpool_reset
+httprequestpool_send
+httprequestpool_socketperform
+httprequestpool_socketselect
+httprequest_resetcookies
+httprequest_send
+httprequest_setcontenttype
+httprequest_setcookies
+httprequest_setheaders
+httprequest_setmethod
+httprequest_setoptions
+httprequest_setpostfields
+httprequest_setpostfiles
+httprequest_setputdata
+httprequest_setputfile
+httprequest_setquerydata
+httprequest_setrawpostdata
+httprequest_setssloptions
+httprequest_seturl
+httpresponse
+httpresponse_capture
+http_response_code
+httpresponse_getbuffersize
+httpresponse_getcache
+httpresponse_getcachecontrol
+httpresponse_getcontentdisposition
+httpresponse_getcontenttype
+httpresponse_getdata
+httpresponse_getetag
+httpresponse_getfile
+httpresponse_getgzip
+httpresponse_getheader
+httpresponse_getlastmodified
+httpresponse_getrequestbody
+httpresponse_getrequestbodystream
+httpresponse_getrequestheaders
+httpresponse_getstream
+httpresponse_getthrottledelay
+httpresponse_guesscontenttype
+httpresponse_redirect
+httpresponse_send
+httpresponse_setbuffersize
+httpresponse_setcache
+httpresponse_setcachecontrol
+httpresponse_setcontentdisposition
+httpresponse_setcontenttype
+httpresponse_setdata
+httpresponse_setetag
+httpresponse_setfile
+httpresponse_setgzip
+httpresponse_setheader
+httpresponse_setlastmodified
+httpresponse_setstream
+httpresponse_setthrottledelay
+httpresponse_status
+http_send_content_disposition
+http_send_content_type
+http_send_data
+http_send_file
+http_send_last_modified
+http_send_status
+http_send_stream
+http_support
+http_throttle
+hwapi_attribute
+hwapi_attribute_key
+hwapi_attribute_langdepvalue
+hwapi_attribute_value
+hwapi_attribute_values
+hwapi_checkin
+hwapi_checkout
+hwapi_children
+hwapi_content
+hwapi_content_mimetype
+hwapi_content_read
+hwapi_copy
+hwapi_dbstat
+hwapi_dcstat
+hwapi_dstanchors
+hwapi_dstofsrcanchor
+hwapi_error_count
+hwapi_error_reason
+hwapi_find
+hwapi_ftstat
+hwapi_hgcsp
+hwapi_hwstat
+hwapi_identify
+hwapi_info
+hwapi_insert
+hwapi_insertanchor
+hwapi_insertcollection
+hwapi_insertdocument
+hwapi_link
+hwapi_lock
+hwapi_move
+hwapi_new_content
+hwapi_object
+hwapi_object_assign
+hwapi_object_attreditable
+hwapi_objectbyanchor
+hwapi_object_count
+hwapi_object_insert
+hwapi_object_new
+hwapi_object_remove
+hwapi_object_title
+hwapi_object_value
+hwapi_parents
+hwapi_reason_description
+hwapi_reason_type
+hwapi_remove
+hwapi_replace
+hwapi_setcommittedversion
+hwapi_srcanchors
+hwapi_srcsofdst
+hwapi_unlock
+hwapi_user
+hwapi_userlist
+hw_array2objrec
+hw_changeobject
+hw_children
+hw_childrenobj
+hw_close
+hw_connect
+hw_connection_info
+hw_cp
+hw_deleteobject
+hw_docbyanchor
+hw_docbyanchorobj
+hw_document_attributes
+hw_document_bodytag
+hw_document_content
+hw_document_setcontent
+hw_document_size
+hw_dummy
+hw_edittext
+hw_error
+hw_errormsg
+hw_free_document
+hw_getanchors
+hw_getanchorsobj
+hw_getandlock
+hw_getchildcoll
+hw_getchildcollobj
+hw_getchilddoccoll
+hw_getchilddoccollobj
+hw_getobject
+hw_getobjectbyquery
+hw_getobjectbyquerycoll
+hw_getobjectbyquerycollobj
+hw_getobjectbyqueryobj
+hw_getparents
+hw_getparentsobj
+hw_getrellink
+hw_getremote
+hw_getremotechildren
+hw_getsrcbydestobj
+hw_gettext
+hw_getusername
+hw_identify
+hw_incollections
+hw_info
+hw_inscoll
+hw_insdoc
+hw_insertanchors
+hw_insertdocument
+hw_insertobject
+hw_mapid
+hw_modifyobject
+hw_mv
+hw_new_document
+hw_objrec2array
+hw_output_document
+hw_pconnect
+hw_pipedocument
+hw_root
+hw_setlinkroot
+hw_stat
+hw_unlock
+hw_who
+hypot
+ibase_add_user
+ibase_affected_rows
+ibase_backup
+ibase_blob_add
+ibase_blob_cancel
+ibase_blob_close
+ibase_blob_create
+ibase_blob_echo
+ibase_blob_get
+ibase_blob_import
+ibase_blob_info
+ibase_blob_open
+ibase_close
+ibase_commit
+ibase_commit_ret
+ibase_connect
+ibase_db_info
+ibase_delete_user
+ibase_drop_db
+ibase_errcode
+ibase_errmsg
+ibase_execute
+ibase_fetch_assoc
+ibase_fetch_object
+ibase_fetch_row
+ibase_field_info
+ibase_free_event_handler
+ibase_free_query
+ibase_free_result
+ibase_gen_id
+ibase_maintain_db
+ibase_modify_user
+ibase_name_result
+ibase_num_fields
+ibase_num_params
+ibase_param_info
+ibase_pconnect
+ibase_prepare
+ibase_query
+ibase_restore
+ibase_rollback
+ibase_rollback_ret
+ibase_server_info
+ibase_service_attach
+ibase_service_detach
+ibase_set_event_handler
+ibase_timefmt
+ibase_trans
+ibase_wait_event
+iconv
+iconv_get_encoding
+iconv_mime_decode
+iconv_mime_decode_headers
+iconv_mime_encode
+iconv_set_encoding
+iconv_strlen
+iconv_strpos
+iconv_strrpos
+iconv_substr
+id3_get_frame_long_name
+id3_get_frame_short_name
+id3_get_genre_id
+id3_get_genre_list
+id3_get_genre_name
+id3_get_tag
+id3_get_version
+id3_remove_tag
+id3_set_tag
+idate
+idn_to_ascii
+idn_to_unicode
+idn_to_utf8
+if
+ifx_affected_rows
+ifx_blobinfile_mode
+ifx_byteasvarchar
+ifx_close
+ifx_connect
+ifx_copy_blob
+ifx_create_blob
+ifx_create_char
+ifx_do
+ifx_error
+ifx_errormsg
+ifx_fetch_row
+ifx_fieldproperties
+ifx_fieldtypes
+ifx_free_blob
+ifx_free_char
+ifx_free_result
+ifx_get_blob
+ifx_get_char
+ifx_getsqlca
+ifx_htmltbl_result
+ifx_nullformat
+ifx_num_fields
+ifx_num_rows
+ifx_pconnect
+ifx_prepare
+ifx_query
+ifx_textasvarchar
+ifx_update_blob
+ifx_update_char
+ifxus_close_slob
+ifxus_create_slob
+ifxus_free_slob
+ifxus_open_slob
+ifxus_read_slob
+ifxus_seek_slob
+ifxus_tell_slob
+ifxus_write_slob
+ignore_user_abort
+iis_add_server
+iis_get_dir_security
+iis_get_script_map
+iis_get_server_by_comment
+iis_get_server_by_path
+iis_get_server_rights
+iis_get_service_state
+iis_remove_server
+iis_set_app_settings
+iis_set_dir_security
+iis_set_script_map
+iis_set_server_rights
+iis_start_server
+iis_start_service
+iis_stop_server
+iis_stop_service
+image2wbmp
+imagealphablending
+imageantialias
+imagearc
+imagechar
+imagecharup
+imagecolorallocate
+imagecolorallocatealpha
+imagecolorat
+imagecolorclosest
+imagecolorclosestalpha
+imagecolorclosesthwb
+imagecolordeallocate
+imagecolorexact
+imagecolorexactalpha
+imagecolormatch
+imagecolorresolve
+imagecolorresolvealpha
+imagecolorset
+imagecolorsforindex
+imagecolorstotal
+imagecolortransparent
+imageconvolution
+imagecopy
+imagecopymerge
+imagecopymergegray
+imagecopyresampled
+imagecopyresized
+imagecreate
+imagecreatefromgd
+imagecreatefromgd2
+imagecreatefromgd2part
+imagecreatefromgif
+imagecreatefromjpeg
+imagecreatefrompng
+imagecreatefromstring
+imagecreatefromwbmp
+imagecreatefromxbm
+imagecreatefromxpm
+imagecreatetruecolor
+imagedashedline
+imagedestroy
+imageellipse
+imagefill
+imagefilledarc
+imagefilledellipse
+imagefilledpolygon
+imagefilledrectangle
+imagefilltoborder
+imagefilter
+imagefontheight
+imagefontwidth
+imageftbbox
+imagefttext
+imagegammacorrect
+imagegd
+imagegd2
+imagegif
+imagegrabscreen
+imagegrabwindow
+imageinterlace
+imageistruecolor
+imagejpeg
+imagelayereffect
+imageline
+imageloadfont
+imagepalettecopy
+imagepng
+imagepolygon
+imagepsbbox
+imagepsencodefont
+imagepsextendfont
+imagepsfreefont
+imagepsloadfont
+imagepsslantfont
+imagepstext
+imagerectangle
+imagerotate
+imagesavealpha
+imagesetbrush
+imagesetpixel
+imagesetstyle
+imagesetthickness
+imagesettile
+imagestring
+imagestringup
+imagesx
+imagesy
+imagetruecolortopalette
+imagettfbbox
+imagettftext
+imagetypes
+image_type_to_extension
+image_type_to_mime_type
+imagewbmp
+imagexbm
+imagick
+imagick_adaptiveblurimage
+imagick_adaptiveresizeimage
+imagick_adaptivesharpenimage
+imagick_adaptivethresholdimage
+imagick_addimage
+imagick_addnoiseimage
+imagick_affinetransformimage
+imagick_animateimages
+imagick_annotateimage
+imagick_appendimages
+imagick_averageimages
+imagick_blackthresholdimage
+imagick_blurimage
+imagick_borderimage
+imagick_charcoalimage
+imagick_chopimage
+imagick_clear
+imagick_clipimage
+imagick_clippathimage
+imagick_clone
+imagick_clutimage
+imagick_coalesceimages
+imagick_colorfloodfillimage
+imagick_colorizeimage
+imagick_combineimages
+imagick_commentimage
+imagick_compareimagechannels
+imagick_compareimagelayers
+imagick_compareimages
+imagick_compositeimage
+imagick_construct
+imagick_contrastimage
+imagick_contraststretchimage
+imagick_convolveimage
+imagick_cropimage
+imagick_cropthumbnailimage
+imagick_current
+imagick_cyclecolormapimage
+imagick_decipherimage
+imagick_deconstructimages
+imagick_deleteimageartifact
+imagick_despeckleimage
+imagick_destroy
+imagick_displayimage
+imagick_displayimages
+imagick_distortimage
+imagickdraw
+imagickdraw_affine
+imagickdraw_annotation
+imagickdraw_arc
+imagickdraw_bezier
+imagickdraw_circle
+imagickdraw_clear
+imagickdraw_clone
+imagickdraw_color
+imagickdraw_comment
+imagickdraw_composite
+imagickdraw_construct
+imagickdraw_destroy
+imagickdraw_ellipse
+imagickdraw_getclippath
+imagickdraw_getcliprule
+imagickdraw_getclipunits
+imagickdraw_getfillcolor
+imagickdraw_getfillopacity
+imagickdraw_getfillrule
+imagickdraw_getfont
+imagickdraw_getfontfamily
+imagickdraw_getfontsize
+imagickdraw_getfontstyle
+imagickdraw_getfontweight
+imagickdraw_getgravity
+imagickdraw_getstrokeantialias
+imagickdraw_getstrokecolor
+imagickdraw_getstrokedasharray
+imagickdraw_getstrokedashoffset
+imagickdraw_getstrokelinecap
+imagickdraw_getstrokelinejoin
+imagickdraw_getstrokemiterlimit
+imagickdraw_getstrokeopacity
+imagickdraw_getstrokewidth
+imagickdraw_gettextalignment
+imagickdraw_gettextantialias
+imagickdraw_gettextdecoration
+imagickdraw_gettextencoding
+imagickdraw_gettextundercolor
+imagickdraw_getvectorgraphics
+imagick_drawimage
+imagickdraw_line
+imagickdraw_matte
+imagickdraw_pathclose
+imagickdraw_pathcurvetoabsolute
+imagickdraw_pathcurvetoquadraticbezierabsolute
+imagickdraw_pathcurvetoquadraticbezierrelative
+imagickdraw_pathcurvetoquadraticbeziersmoothabsolute
+imagickdraw_pathcurvetoquadraticbeziersmoothrelative
+imagickdraw_pathcurvetorelative
+imagickdraw_pathcurvetosmoothabsolute
+imagickdraw_pathcurvetosmoothrelative
+imagickdraw_pathellipticarcabsolute
+imagickdraw_pathellipticarcrelative
+imagickdraw_pathfinish
+imagickdraw_pathlinetoabsolute
+imagickdraw_pathlinetohorizontalabsolute
+imagickdraw_pathlinetohorizontalrelative
+imagickdraw_pathlinetorelative
+imagickdraw_pathlinetoverticalabsolute
+imagickdraw_pathlinetoverticalrelative
+imagickdraw_pathmovetoabsolute
+imagickdraw_pathmovetorelative
+imagickdraw_pathstart
+imagickdraw_point
+imagickdraw_polygon
+imagickdraw_polyline
+imagickdraw_pop
+imagickdraw_popclippath
+imagickdraw_popdefs
+imagickdraw_poppattern
+imagickdraw_push
+imagickdraw_pushclippath
+imagickdraw_pushdefs
+imagickdraw_pushpattern
+imagickdraw_rectangle
+imagickdraw_render
+imagickdraw_rotate
+imagickdraw_roundrectangle
+imagickdraw_scale
+imagickdraw_setclippath
+imagickdraw_setcliprule
+imagickdraw_setclipunits
+imagickdraw_setfillalpha
+imagickdraw_setfillcolor
+imagickdraw_setfillopacity
+imagickdraw_setfillpatternurl
+imagickdraw_setfillrule
+imagickdraw_setfont
+imagickdraw_setfontfamily
+imagickdraw_setfontsize
+imagickdraw_setfontstretch
+imagickdraw_setfontstyle
+imagickdraw_setfontweight
+imagickdraw_setgravity
+imagickdraw_setstrokealpha
+imagickdraw_setstrokeantialias
+imagickdraw_setstrokecolor
+imagickdraw_setstrokedasharray
+imagickdraw_setstrokedashoffset
+imagickdraw_setstrokelinecap
+imagickdraw_setstrokelinejoin
+imagickdraw_setstrokemiterlimit
+imagickdraw_setstrokeopacity
+imagickdraw_setstrokepatternurl
+imagickdraw_setstrokewidth
+imagickdraw_settextalignment
+imagickdraw_settextantialias
+imagickdraw_settextdecoration
+imagickdraw_settextencoding
+imagickdraw_settextundercolor
+imagickdraw_setvectorgraphics
+imagickdraw_setviewbox
+imagickdraw_skewx
+imagickdraw_skewy
+imagickdraw_translate
+imagick_edgeimage
+imagick_embossimage
+imagick_encipherimage
+imagick_enhanceimage
+imagick_equalizeimage
+imagick_evaluateimage
+imagick_extentimage
+imagick_flattenimages
+imagick_flipimage
+imagick_floodfillpaintimage
+imagick_flopimage
+imagick_frameimage
+imagick_fximage
+imagick_gammaimage
+imagick_gaussianblurimage
+imagick_getcolorspace
+imagick_getcompression
+imagick_getcompressionquality
+imagick_getcopyright
+imagick_getfilename
+imagick_getfont
+imagick_getformat
+imagick_getgravity
+imagick_gethomeurl
+imagick_getimage
+imagick_getimagealphachannel
+imagick_getimageartifact
+imagick_getimagebackgroundcolor
+imagick_getimageblob
+imagick_getimageblueprimary
+imagick_getimagebordercolor
+imagick_getimagechanneldepth
+imagick_getimagechanneldistortion
+imagick_getimagechanneldistortions
+imagick_getimagechannelextrema
+imagick_getimagechannelmean
+imagick_getimagechannelrange
+imagick_getimagechannelstatistics
+imagick_getimageclipmask
+imagick_getimagecolormapcolor
+imagick_getimagecolors
+imagick_getimagecolorspace
+imagick_getimagecompose
+imagick_getimagecompression
+imagick_getimagecompressionquality
+imagick_getimagedelay
+imagick_getimagedepth
+imagick_getimagedispose
+imagick_getimagedistortion
+imagick_getimageextrema
+imagick_getimagefilename
+imagick_getimageformat
+imagick_getimagegamma
+imagick_getimagegeometry
+imagick_getimagegravity
+imagick_getimagegreenprimary
+imagick_getimageheight
+imagick_getimagehistogram
+imagick_getimageindex
+imagick_getimageinterlacescheme
+imagick_getimageinterpolatemethod
+imagick_getimageiterations
+imagick_getimagelength
+imagick_getimagemagicklicense
+imagick_getimagematte
+imagick_getimagemattecolor
+imagick_getimageorientation
+imagick_getimagepage
+imagick_getimagepixelcolor
+imagick_getimageprofile
+imagick_getimageprofiles
+imagick_getimageproperties
+imagick_getimageproperty
+imagick_getimageredprimary
+imagick_getimageregion
+imagick_getimagerenderingintent
+imagick_getimageresolution
+imagick_getimagesblob
+imagick_getimagescene
+imagick_getimagesignature
+imagick_getimagesize
+imagick_getimagetickspersecond
+imagick_getimagetotalinkdensity
+imagick_getimagetype
+imagick_getimageunits
+imagick_getimagevirtualpixelmethod
+imagick_getimagewhitepoint
+imagick_getimagewidth
+imagick_getinterlacescheme
+imagick_getiteratorindex
+imagick_getnumberimages
+imagick_getoption
+imagick_getpackagename
+imagick_getpage
+imagick_getpixeliterator
+imagick_getpixelregioniterator
+imagick_getpointsize
+imagick_getquantumdepth
+imagick_getquantumrange
+imagick_getreleasedate
+imagick_getresource
+imagick_getresourcelimit
+imagick_getsamplingfactors
+imagick_getsize
+imagick_getsizeoffset
+imagick_getversion
+imagick_hasnextimage
+imagick_haspreviousimage
+imagick_identifyimage
+imagick_implodeimage
+imagick_labelimage
+imagick_levelimage
+imagick_linearstretchimage
+imagick_liquidrescaleimage
+imagick_magnifyimage
+imagick_mapimage
+imagick_mattefloodfillimage
+imagick_medianfilterimage
+imagick_mergeimagelayers
+imagick_minifyimage
+imagick_modulateimage
+imagick_montageimage
+imagick_morphimages
+imagick_mosaicimages
+imagick_motionblurimage
+imagick_negateimage
+imagick_newimage
+imagick_newpseudoimage
+imagick_nextimage
+imagick_normalizeimage
+imagick_oilpaintimage
+imagick_opaquepaintimage
+imagick_optimizeimagelayers
+imagick_orderedposterizeimage
+imagick_paintfloodfillimage
+imagick_paintopaqueimage
+imagick_painttransparentimage
+imagick_pingimage
+imagick_pingimageblob
+imagick_pingimagefile
+imagickpixel
+imagickpixel_clear
+imagickpixel_construct
+imagickpixel_destroy
+imagickpixel_getcolor
+imagickpixel_getcolorasstring
+imagickpixel_getcolorcount
+imagickpixel_getcolorvalue
+imagickpixel_gethsl
+imagickpixel_issimilar
+imagickpixeliterator
+imagickpixeliterator_clear
+imagickpixeliterator_construct
+imagickpixeliterator_destroy
+imagickpixeliterator_getcurrentiteratorrow
+imagickpixeliterator_getiteratorrow
+imagickpixeliterator_getnextiteratorrow
+imagickpixeliterator_getpreviousiteratorrow
+imagickpixeliterator_newpixeliterator
+imagickpixeliterator_newpixelregioniterator
+imagickpixeliterator_resetiterator
+imagickpixeliterator_setiteratorfirstrow
+imagickpixeliterator_setiteratorlastrow
+imagickpixeliterator_setiteratorrow
+imagickpixeliterator_synciterator
+imagickpixel_setcolor
+imagickpixel_setcolorvalue
+imagickpixel_sethsl
+imagick_polaroidimage
+imagick_posterizeimage
+imagick_previewimages
+imagick_previousimage
+imagick_profileimage
+imagick_quantizeimage
+imagick_quantizeimages
+imagick_queryfontmetrics
+imagick_queryfonts
+imagick_queryformats
+imagick_radialblurimage
+imagick_raiseimage
+imagick_randomthresholdimage
+imagick_readimage
+imagick_readimageblob
+imagick_readimagefile
+imagick_recolorimage
+imagick_reducenoiseimage
+imagick_removeimage
+imagick_removeimageprofile
+imagick_render
+imagick_resampleimage
+imagick_resetimagepage
+imagick_resizeimage
+imagick_rollimage
+imagick_rotateimage
+imagick_roundcorners
+imagick_sampleimage
+imagick_scaleimage
+imagick_separateimagechannel
+imagick_sepiatoneimage
+imagick_setbackgroundcolor
+imagick_setcolorspace
+imagick_setcompression
+imagick_setcompressionquality
+imagick_setfilename
+imagick_setfirstiterator
+imagick_setfont
+imagick_setformat
+imagick_setgravity
+imagick_setimage
+imagick_setimagealphachannel
+imagick_setimageartifact
+imagick_setimagebackgroundcolor
+imagick_setimagebias
+imagick_setimageblueprimary
+imagick_setimagebordercolor
+imagick_setimagechanneldepth
+imagick_setimageclipmask
+imagick_setimagecolormapcolor
+imagick_setimagecolorspace
+imagick_setimagecompose
+imagick_setimagecompression
+imagick_setimagecompressionquality
+imagick_setimagedelay
+imagick_setimagedepth
+imagick_setimagedispose
+imagick_setimageextent
+imagick_setimagefilename
+imagick_setimageformat
+imagick_setimagegamma
+imagick_setimagegravity
+imagick_setimagegreenprimary
+imagick_setimageindex
+imagick_setimageinterlacescheme
+imagick_setimageinterpolatemethod
+imagick_setimageiterations
+imagick_setimagematte
+imagick_setimagemattecolor
+imagick_setimageopacity
+imagick_setimageorientation
+imagick_setimagepage
+imagick_setimageprofile
+imagick_setimageproperty
+imagick_setimageredprimary
+imagick_setimagerenderingintent
+imagick_setimageresolution
+imagick_setimagescene
+imagick_setimagetickspersecond
+imagick_setimagetype
+imagick_setimageunits
+imagick_setimagevirtualpixelmethod
+imagick_setimagewhitepoint
+imagick_setinterlacescheme
+imagick_setiteratorindex
+imagick_setlastiterator
+imagick_setoption
+imagick_setpage
+imagick_setpointsize
+imagick_setresolution
+imagick_setresourcelimit
+imagick_setsamplingfactors
+imagick_setsize
+imagick_setsizeoffset
+imagick_settype
+imagick_shadeimage
+imagick_shadowimage
+imagick_sharpenimage
+imagick_shaveimage
+imagick_shearimage
+imagick_sigmoidalcontrastimage
+imagick_sketchimage
+imagick_solarizeimage
+imagick_spliceimage
+imagick_spreadimage
+imagick_steganoimage
+imagick_stereoimage
+imagick_stripimage
+imagick_swirlimage
+imagick_textureimage
+imagick_thresholdimage
+imagick_thumbnailimage
+imagick_tintimage
+imagick_transformimage
+imagick_transparentpaintimage
+imagick_transposeimage
+imagick_transverseimage
+imagick_trimimage
+imagick_uniqueimagecolors
+imagick_unsharpmaskimage
+imagick_valid
+imagick_vignetteimage
+imagick_waveimage
+imagick_whitethresholdimage
+imagick_writeimage
+imagick_writeimagefile
+imagick_writeimages
+imagick_writeimagesfile
+imap_8bit
+imap_alerts
+imap_append
+imap_base64
+imap_binary
+imap_body
+imap_bodystruct
+imap_check
+imap_clearflag_full
+imap_close
+imap_create
+imap_createmailbox
+imap_delete
+imap_deletemailbox
+imap_errors
+imap_expunge
+imap_fetchbody
+imap_fetchheader
+imap_fetchmime
+imap_fetch_overview
+imap_fetchstructure
+imap_fetchtext
+imap_gc
+imap_getacl
+imap_getmailboxes
+imap_get_quota
+imap_get_quotaroot
+imap_getsubscribed
+imap_header
+imap_headerinfo
+imap_headers
+imap_last_error
+imap_list
+imap_listmailbox
+imap_listscan
+imap_listsubscribed
+imap_lsub
+imap_mail
+imap_mailboxmsginfo
+imap_mail_compose
+imap_mail_copy
+imap_mail_move
+imap_mime_header_decode
+imap_msgno
+imap_num_msg
+imap_num_recent
+imap_open
+imap_ping
+imap_qprint
+imap_rename
+imap_renamemailbox
+imap_reopen
+imap_rfc822_parse_adrlist
+imap_rfc822_parse_headers
+imap_rfc822_write_address
+imap_savebody
+imap_scan
+imap_scanmailbox
+imap_search
+imap_setacl
+imap_setflag_full
+imap_set_quota
+imap_sort
+imap_status
+imap_subscribe
+imap_thread
+imap_timeout
+imap_uid
+imap_undelete
+imap_unsubscribe
+imap_utf7_decode
+imap_utf7_encode
+imap_utf8
+implements
+implementsinterface
+implode
+import_request_variables
+in_array
+include
+include_once
+inclued_get_data
+inet_ntop
+inet_pton
+infiniteiterator
+ingres_autocommit
+ingres_autocommit_state
+ingres_charset
+ingres_close
+ingres_commit
+ingres_connect
+ingres_cursor
+ingres_errno
+ingres_error
+ingres_errsqlstate
+ingres_escape_string
+ingres_execute
+ingres_fetch_array
+ingres_fetch_assoc
+ingres_fetch_object
+ingres_fetch_proc_return
+ingres_fetch_row
+ingres_field_length
+ingres_field_name
+ingres_field_nullable
+ingres_field_precision
+ingres_field_scale
+ingres_field_type
+ingres_free_result
+ingres_next_error
+ingres_num_fields
+ingres_num_rows
+ingres_pconnect
+ingres_prepare
+ingres_query
+ingres_result_seek
+ingres_rollback
+ingres_set_environment
+ingres_unbuffered_query
+ini_alter
+ini_get
+ini_get_all
+ini_restore
+ini_set
+innamespace
+inotify_add_watch
+inotify_init
+inotify_queue_len
+inotify_read
+inotify_rm_watch
+instanceof
+interface
+interface_exists
+intldateformatter
+intl_error_name
+intl_get_error_code
+intl_get_error_message
+intl_is_failure
+intval
+invalidargumentexception
+invoke
+__invoke()
+invokeargs
+ip2long
+iptcembed
+iptcparse
+is_a
+isabstract
+is_array
+is_bool
+is_callable
+iscloneable
+is_dir
+isdisabled
+is_double
+is_executable
+is_file
+isfinal
+is_finite
+is_float
+is_infinite
+isinstance
+isinstantiable
+is_int
+is_integer
+isinterface
+isinternal
+isiterateable
+is_link
+is_long
+is_nan
+is_null
+is_numeric
+is_object
+is_readable
+is_real
+is_resource
+is_scalar
+isset
+__isset()
+is_soap_fault
+is_string
+issubclassof
+is_subclass_of
+istrait
+is_uploaded_file
+isuserdefined
+is_writable
+is_writeable
+iterator
+iteratoraggregate
+iterator_apply
+iterator_count
+iteratoriterator
+iterator_to_array
+java_last_exception_clear
+java_last_exception_get
+jddayofweek
+jdmonthname
+jdtofrench
+jdtogregorian
+jdtojewish
+jdtojulian
+jdtounix
+jewishtojd
+join
+jpeg2wbmp
+json_decode
+json_encode
+json_last_error
+jsonserializable
+judy
+judy_type
+judy_version
+juliantojd
+kadm5_chpass_principal
+kadm5_create_principal
+kadm5_delete_principal
+kadm5_destroy
+kadm5_flush
+kadm5_get_policies
+kadm5_get_principal
+kadm5_get_principals
+kadm5_init_with_password
+kadm5_modify_principal
+key
+krsort
+ksort
+ktaglib_id3v2_attachedpictureframe
+ktaglib_id3v2_frame
+ktaglib_id3v2_tag
+ktaglib_mpeg_audioproperties
+ktaglib_mpeg_file
+ktaglib_tag
+lcfirst
+lcg_value
+lchgrp
+lchown
+ldap_8859_to_t61
+ldap_add
+ldap_bind
+ldap_close
+ldap_compare
+ldap_connect
+ldap_count_entries
+ldap_delete
+ldap_dn2ufn
+ldap_err2str
+ldap_errno
+ldap_error
+ldap_explode_dn
+ldap_first_attribute
+ldap_first_entry
+ldap_first_reference
+ldap_free_result
+ldap_get_attributes
+ldap_get_dn
+ldap_get_entries
+ldap_get_option
+ldap_get_values
+ldap_get_values_len
+ldap_list
+ldap_mod_add
+ldap_mod_del
+ldap_modify
+ldap_mod_replace
+ldap_next_attribute
+ldap_next_entry
+ldap_next_reference
+ldap_parse_reference
+ldap_parse_result
+ldap_read
+ldap_rename
+ldap_sasl_bind
+ldap_search
+ldap_set_option
+ldap_set_rebind_proc
+ldap_sort
+ldap_start_tls
+ldap_t61_to_8859
+ldap_unbind
+lengthexception
+levenshtein
+libxml_clear_errors
+libxml_disable_entity_loader
+libxmlerror
+libxml_get_errors
+libxml_get_last_error
+libxml_set_streams_context
+libxml_use_internal_errors
+limititerator
+__LINE__
+link
+linkinfo
+list
+locale
+localeconv
+localtime
+log
+log10
+log1p
+logicexception
+long2ip
+lstat
+ltrim
+lua
+luaclosure
+lzf_compress
+lzf_decompress
+lzf_optimized_for
+magic_quotes_runtime
+mail
+mailparse_determine_best_xfer_encoding
+mailparse_msg_create
+mailparse_msg_extract_part
+mailparse_msg_extract_part_file
+mailparse_msg_extract_whole_part_file
+mailparse_msg_free
+mailparse_msg_get_part
+mailparse_msg_get_part_data
+mailparse_msg_get_structure
+mailparse_msg_parse
+mailparse_msg_parse_file
+mailparse_rfc822_parse_addresses
+mailparse_stream_encode
+mailparse_uudecode_all
+main
+max
+maxdb_affected_rows
+maxdb_autocommit
+maxdb_bind_param
+maxdb_bind_result
+maxdb_change_user
+maxdb_character_set_name
+maxdb_client_encoding
+maxdb_close
+maxdb_close_long_data
+maxdb_commit
+maxdb_connect
+maxdb_connect_errno
+maxdb_connect_error
+maxdb_data_seek
+maxdb_debug
+maxdb_disable_reads_from_master
+maxdb_disable_rpl_parse
+maxdb_dump_debug_info
+maxdb_embedded_connect
+maxdb_enable_reads_from_master
+maxdb_enable_rpl_parse
+maxdb_errno
+maxdb_error
+maxdb_escape_string
+maxdb_execute
+maxdb_fetch
+maxdb_fetch_array
+maxdb_fetch_assoc
+maxdb_fetch_field
+maxdb_fetch_field_direct
+maxdb_fetch_fields
+maxdb_fetch_lengths
+maxdb_fetch_object
+maxdb_fetch_row
+maxdb_field_count
+maxdb_field_seek
+maxdb_field_tell
+maxdb_free_result
+maxdb_get_client_info
+maxdb_get_client_version
+maxdb_get_host_info
+maxdb_get_metadata
+maxdb_get_proto_info
+maxdb_get_server_info
+maxdb_get_server_version
+maxdb_info
+maxdb_init
+maxdb_insert_id
+maxdb_kill
+maxdb_master_query
+maxdb_more_results
+maxdb_multi_query
+maxdb_next_result
+maxdb_num_fields
+maxdb_num_rows
+maxdb_options
+maxdb_param_count
+maxdb_ping
+maxdb_prepare
+maxdb_query
+maxdb_real_connect
+maxdb_real_escape_string
+maxdb_real_query
+maxdb_report
+maxdb_rollback
+maxdb_rpl_parse_enabled
+maxdb_rpl_probe
+maxdb_rpl_query_type
+maxdb_select_db
+maxdb_send_long_data
+maxdb_send_query
+maxdb_server_end
+maxdb_server_init
+maxdb_set_opt
+maxdb_sqlstate
+maxdb_ssl_set
+maxdb_stat
+maxdb_stmt_affected_rows
+maxdb_stmt_bind_param
+maxdb_stmt_bind_result
+maxdb_stmt_close
+maxdb_stmt_close_long_data
+maxdb_stmt_data_seek
+maxdb_stmt_errno
+maxdb_stmt_error
+maxdb_stmt_execute
+maxdb_stmt_fetch
+maxdb_stmt_free_result
+maxdb_stmt_init
+maxdb_stmt_num_rows
+maxdb_stmt_param_count
+maxdb_stmt_prepare
+maxdb_stmt_reset
+maxdb_stmt_result_metadata
+maxdb_stmt_send_long_data
+maxdb_stmt_sqlstate
+maxdb_stmt_store_result
+maxdb_store_result
+maxdb_thread_id
+maxdb_thread_safe
+maxdb_use_result
+maxdb_warning_count
+mb_check_encoding
+mb_convert_case
+mb_convert_encoding
+mb_convert_kana
+mb_convert_variables
+mb_decode_mimeheader
+mb_decode_numericentity
+mb_detect_encoding
+mb_detect_order
+mb_encode_mimeheader
+mb_encode_numericentity
+mb_encoding_aliases
+mb_ereg
+mb_eregi
+mb_eregi_replace
+mb_ereg_match
+mb_ereg_replace
+mb_ereg_search
+mb_ereg_search_getpos
+mb_ereg_search_getregs
+mb_ereg_search_init
+mb_ereg_search_pos
+mb_ereg_search_regs
+mb_ereg_search_setpos
+mb_get_info
+mb_http_input
+mb_http_output
+mb_internal_encoding
+mb_language
+mb_list_encodings
+mb_output_handler
+mb_parse_str
+mb_preferred_mime_name
+mb_regex_encoding
+mb_regex_set_options
+mb_send_mail
+mb_split
+mb_strcut
+mb_strimwidth
+mb_stripos
+mb_stristr
+mb_strlen
+mb_strpos
+mb_strrchr
+mb_strrichr
+mb_strripos
+mb_strrpos
+mb_strstr
+mb_strtolower
+mb_strtoupper
+mb_strwidth
+mb_substitute_character
+mb_substr
+mb_substr_count
+m_checkstatus
+m_completeauthorizations
+m_connect
+m_connectionerror
+mcrypt_cbc
+mcrypt_cfb
+mcrypt_create_iv
+mcrypt_decrypt
+mcrypt_ecb
+mcrypt_enc_get_algorithms_name
+mcrypt_enc_get_block_size
+mcrypt_enc_get_iv_size
+mcrypt_enc_get_key_size
+mcrypt_enc_get_modes_name
+mcrypt_enc_get_supported_key_sizes
+mcrypt_enc_is_block_algorithm
+mcrypt_enc_is_block_algorithm_mode
+mcrypt_enc_is_block_mode
+mcrypt_encrypt
+mcrypt_enc_self_test
+mcrypt_generic
+mcrypt_generic_deinit
+mcrypt_generic_end
+mcrypt_generic_init
+mcrypt_get_block_size
+mcrypt_get_cipher_name
+mcrypt_get_iv_size
+mcrypt_get_key_size
+mcrypt_list_algorithms
+mcrypt_list_modes
+mcrypt_module_close
+mcrypt_module_get_algo_block_size
+mcrypt_module_get_algo_key_size
+mcrypt_module_get_supported_key_sizes
+mcrypt_module_is_block_algorithm
+mcrypt_module_is_block_algorithm_mode
+mcrypt_module_is_block_mode
+mcrypt_module_open
+mcrypt_module_self_test
+mcrypt_ofb
+md5
+md5_file
+mdecrypt_generic
+m_deletetrans
+m_destroyconn
+m_destroyengine
+memcache
+memcached
+memcache_debug
+memory_get_peak_usage
+memory_get_usage
+messageformatter
+metaphone
+__METHOD__
+method_exists
+m_getcell
+m_getcellbynum
+m_getcommadelimited
+m_getheader
+mhash
+mhash_count
+mhash_get_block_size
+mhash_get_hash_name
+mhash_keygen_s2k
+microtime
+mime_content_type
+min
+ming_keypress
+ming_setcubicthreshold
+ming_setscale
+ming_setswfcompression
+ming_useconstants
+ming_useswfversion
+m_initconn
+m_initengine
+m_iscommadelimited
+mkdir
+mktime
+m_maxconntimeout
+m_monitor
+m_numcolumns
+m_numrows
+money_format
+mongo
+mongobindata
+mongocode
+mongocollection
+mongoconnectionexception
+mongocursor
+mongocursorexception
+mongocursortimeoutexception
+mongodate
+mongodb
+mongodbref
+mongoexception
+mongogridfs
+mongogridfscursor
+mongogridfsexception
+mongogridfsfile
+mongoid
+mongoint32
+mongoint64
+mongolog
+mongomaxkey
+mongominkey
+mongopool
+mongoregex
+mongotimestamp
+move_uploaded_file
+m_parsecommadelimited
+mqseries_back
+mqseries_begin
+mqseries_close
+mqseries_cmit
+mqseries_conn
+mqseries_connx
+mqseries_disc
+mqseries_get
+mqseries_inq
+mqseries_open
+mqseries_put
+mqseries_put1
+mqseries_set
+mqseries_strerror
+m_responsekeys
+m_responseparam
+m_returnstatus
+msession_connect
+msession_count
+msession_create
+msession_destroy
+msession_disconnect
+msession_find
+msession_get
+msession_get_array
+msession_get_data
+msession_inc
+msession_list
+msession_listvar
+msession_lock
+msession_plugin
+msession_randstr
+msession_set
+msession_set_array
+msession_set_data
+msession_timeout
+msession_uniq
+msession_unlock
+m_setblocking
+m_setdropfile
+m_setip
+m_setssl
+m_setssl_cafile
+m_setssl_files
+m_settimeout
+msg_get_queue
+msg_queue_exists
+msg_receive
+msg_remove_queue
+msg_send
+msg_set_queue
+msg_stat_queue
+msql
+msql_affected_rows
+msql_close
+msql_connect
+msql_createdb
+msql_create_db
+msql_data_seek
+msql_dbname
+msql_db_query
+msql_drop_db
+msql_error
+msql_fetch_array
+msql_fetch_field
+msql_fetch_object
+msql_fetch_row
+msql_fieldflags
+msql_field_flags
+msql_fieldlen
+msql_field_len
+msql_fieldname
+msql_field_name
+msql_field_seek
+msql_fieldtable
+msql_field_table
+msql_fieldtype
+msql_field_type
+msql_free_result
+msql_list_dbs
+msql_list_fields
+msql_list_tables
+msql_numfields
+msql_num_fields
+msql_numrows
+msql_num_rows
+msql_pconnect
+msql_query
+msql_regcase
+msql_result
+msql_select_db
+msql_tablename
+m_sslcert_gen_hash
+mssql_bind
+mssql_close
+mssql_connect
+mssql_data_seek
+mssql_execute
+mssql_fetch_array
+mssql_fetch_assoc
+mssql_fetch_batch
+mssql_fetch_field
+mssql_fetch_object
+mssql_fetch_row
+mssql_field_length
+mssql_field_name
+mssql_field_seek
+mssql_field_type
+mssql_free_result
+mssql_free_statement
+mssql_get_last_message
+mssql_guid_string
+mssql_init
+mssql_min_error_severity
+mssql_min_message_severity
+mssql_next_result
+mssql_num_fields
+mssql_num_rows
+mssql_pconnect
+mssql_query
+mssql_result
+mssql_rows_affected
+mssql_select_db
+mt_getrandmax
+mt_rand
+m_transactionssent
+m_transinqueue
+m_transkeyval
+m_transnew
+m_transsend
+mt_srand
+multipleiterator
+m_uwait
+m_validateidentifier
+m_verifyconnection
+m_verifysslcert
+mysql_affected_rows
+mysql_client_encoding
+mysql_close
+mysql_connect
+mysql_create_db
+mysql_data_seek
+mysql_db_name
+mysql_db_query
+mysql_drop_db
+mysql_errno
+mysql_error
+mysql_escape_string
+mysql_fetch_array
+mysql_fetch_assoc
+mysql_fetch_field
+mysql_fetch_lengths
+mysql_fetch_object
+mysql_fetch_row
+mysql_field_flags
+mysql_field_len
+mysql_field_name
+mysql_field_seek
+mysql_field_table
+mysql_field_type
+mysql_free_result
+mysql_get_client_info
+mysql_get_host_info
+mysql_get_proto_info
+mysql_get_server_info
+mysqli
+mysqli_bind_param
+mysqli_bind_result
+mysqli_client_encoding
+mysqli_connect
+mysqli_disable_reads_from_master
+mysqli_disable_rpl_parse
+mysqli_driver
+mysqli_enable_reads_from_master
+mysqli_enable_rpl_parse
+mysqli_escape_string
+mysqli_execute
+mysqli_fetch
+mysqli_get_metadata
+mysqli_master_query
+mysql_info
+mysql_insert_id
+mysqli_param_count
+mysqli_report
+mysqli_result
+mysqli_rpl_parse_enabled
+mysqli_rpl_probe
+mysqli_rpl_query_type
+mysqli_send_long_data
+mysqli_send_query
+mysqli_set_opt
+mysqli_slave_query
+mysqli_stmt
+mysqli_warning
+mysql_list_dbs
+mysql_list_fields
+mysql_list_processes
+mysql_list_tables
+mysqlnd_ms_get_stats
+mysqlnd_ms_query_is_select
+mysqlnd_ms_set_user_pick_server
+mysqlnd_qc_change_handler
+mysqlnd_qc_clear_cache
+mysqlnd_qc_get_cache_info
+mysqlnd_qc_get_core_stats
+mysqlnd_qc_get_handler
+mysqlnd_qc_get_query_trace_log
+mysqlnd_qc_set_user_handlers
+mysql_num_fields
+mysql_num_rows
+mysql_pconnect
+mysql_ping
+mysql_query
+mysql_real_escape_string
+mysql_result
+mysql_select_db
+mysql_set_charset
+mysql_stat
+mysql_tablename
+mysql_thread_id
+mysql_unbuffered_query
+namespace
+__NAMESPACE__
+natcasesort
+natsort
+ncurses_addch
+ncurses_addchnstr
+ncurses_addchstr
+ncurses_addnstr
+ncurses_addstr
+ncurses_assume_default_colors
+ncurses_attroff
+ncurses_attron
+ncurses_attrset
+ncurses_baudrate
+ncurses_beep
+ncurses_bkgd
+ncurses_bkgdset
+ncurses_border
+ncurses_bottom_panel
+ncurses_can_change_color
+ncurses_cbreak
+ncurses_clear
+ncurses_clrtobot
+ncurses_clrtoeol
+ncurses_color_content
+ncurses_color_set
+ncurses_curs_set
+ncurses_define_key
+ncurses_def_prog_mode
+ncurses_def_shell_mode
+ncurses_delay_output
+ncurses_delch
+ncurses_deleteln
+ncurses_del_panel
+ncurses_delwin
+ncurses_doupdate
+ncurses_echo
+ncurses_echochar
+ncurses_end
+ncurses_erase
+ncurses_erasechar
+ncurses_filter
+ncurses_flash
+ncurses_flushinp
+ncurses_getch
+ncurses_getmaxyx
+ncurses_getmouse
+ncurses_getyx
+ncurses_halfdelay
+ncurses_has_colors
+ncurses_has_ic
+ncurses_has_il
+ncurses_has_key
+ncurses_hide_panel
+ncurses_hline
+ncurses_inch
+ncurses_init
+ncurses_init_color
+ncurses_init_pair
+ncurses_insch
+ncurses_insdelln
+ncurses_insertln
+ncurses_insstr
+ncurses_instr
+ncurses_isendwin
+ncurses_keyok
+ncurses_keypad
+ncurses_killchar
+ncurses_longname
+ncurses_meta
+ncurses_mouseinterval
+ncurses_mousemask
+ncurses_mouse_trafo
+ncurses_move
+ncurses_move_panel
+ncurses_mvaddch
+ncurses_mvaddchnstr
+ncurses_mvaddchstr
+ncurses_mvaddnstr
+ncurses_mvaddstr
+ncurses_mvcur
+ncurses_mvdelch
+ncurses_mvgetch
+ncurses_mvhline
+ncurses_mvinch
+ncurses_mvvline
+ncurses_mvwaddstr
+ncurses_napms
+ncurses_newpad
+ncurses_new_panel
+ncurses_newwin
+ncurses_nl
+ncurses_nocbreak
+ncurses_noecho
+ncurses_nonl
+ncurses_noqiflush
+ncurses_noraw
+ncurses_pair_content
+ncurses_panel_above
+ncurses_panel_below
+ncurses_panel_window
+ncurses_pnoutrefresh
+ncurses_prefresh
+ncurses_putp
+ncurses_qiflush
+ncurses_raw
+ncurses_refresh
+ncurses_replace_panel
+ncurses_reset_prog_mode
+ncurses_reset_shell_mode
+ncurses_resetty
+ncurses_savetty
+ncurses_scr_dump
+ncurses_scr_init
+ncurses_scrl
+ncurses_scr_restore
+ncurses_scr_set
+ncurses_show_panel
+ncurses_slk_attr
+ncurses_slk_attroff
+ncurses_slk_attron
+ncurses_slk_attrset
+ncurses_slk_clear
+ncurses_slk_color
+ncurses_slk_init
+ncurses_slk_noutrefresh
+ncurses_slk_refresh
+ncurses_slk_restore
+ncurses_slk_set
+ncurses_slk_touch
+ncurses_standend
+ncurses_standout
+ncurses_start_color
+ncurses_termattrs
+ncurses_termname
+ncurses_timeout
+ncurses_top_panel
+ncurses_typeahead
+ncurses_ungetch
+ncurses_ungetmouse
+ncurses_update_panels
+ncurses_use_default_colors
+ncurses_use_env
+ncurses_use_extended_names
+ncurses_vidattr
+ncurses_vline
+ncurses_waddch
+ncurses_waddstr
+ncurses_wattroff
+ncurses_wattron
+ncurses_wattrset
+ncurses_wborder
+ncurses_wclear
+ncurses_wcolor_set
+ncurses_werase
+ncurses_wgetch
+ncurses_whline
+ncurses_wmouse_trafo
+ncurses_wmove
+ncurses_wnoutrefresh
+ncurses_wrefresh
+ncurses_wstandend
+ncurses_wstandout
+ncurses_wvline
+new
+newinstance
+newinstanceargs
+newinstancewithoutconstructor
+newt_bell
+newt_button
+newt_button_bar
+newt_centered_window
+newt_checkbox
+newt_checkbox_get_value
+newt_checkbox_set_flags
+newt_checkbox_set_value
+newt_checkbox_tree
+newt_checkbox_tree_add_item
+newt_checkbox_tree_find_item
+newt_checkbox_tree_get_current
+newt_checkbox_tree_get_entry_value
+newt_checkbox_tree_get_multi_selection
+newt_checkbox_tree_get_selection
+newt_checkbox_tree_multi
+newt_checkbox_tree_set_current
+newt_checkbox_tree_set_entry
+newt_checkbox_tree_set_entry_value
+newt_checkbox_tree_set_width
+newt_clear_key_buffer
+newt_cls
+newt_compact_button
+newt_component_add_callback
+newt_component_takes_focus
+newt_create_grid
+newt_cursor_off
+newt_cursor_on
+newt_delay
+newt_draw_form
+newt_draw_root_text
+newt_entry
+newt_entry_get_value
+newt_entry_set
+newt_entry_set_filter
+newt_entry_set_flags
+newt_finished
+newt_form
+newt_form_add_component
+newt_form_add_components
+newt_form_add_hot_key
+newt_form_destroy
+newt_form_get_current
+newt_form_run
+newt_form_set_background
+newt_form_set_height
+newt_form_set_size
+newt_form_set_timer
+newt_form_set_width
+newt_form_watch_fd
+newt_get_screen_size
+newt_grid_add_components_to_form
+newt_grid_basic_window
+newt_grid_free
+newt_grid_get_size
+newt_grid_h_close_stacked
+newt_grid_h_stacked
+newt_grid_place
+newt_grid_set_field
+newt_grid_simple_window
+newt_grid_v_close_stacked
+newt_grid_v_stacked
+newt_grid_wrapped_window
+newt_grid_wrapped_window_at
+newt_init
+newt_label
+newt_label_set_text
+newt_listbox
+newt_listbox_append_entry
+newt_listbox_clear
+newt_listbox_clear_selection
+newt_listbox_delete_entry
+newt_listbox_get_current
+newt_listbox_get_selection
+newt_listbox_insert_entry
+newt_listbox_item_count
+newt_listbox_select_item
+newt_listbox_set_current
+newt_listbox_set_current_by_key
+newt_listbox_set_data
+newt_listbox_set_entry
+newt_listbox_set_width
+newt_listitem
+newt_listitem_get_data
+newt_listitem_set
+newt_open_window
+newt_pop_help_line
+newt_pop_window
+newt_push_help_line
+newt_radiobutton
+newt_radio_get_current
+newt_redraw_help_line
+newt_reflow_text
+newt_refresh
+newt_resize_screen
+newt_resume
+newt_run_form
+newt_scale
+newt_scale_set
+newt_scrollbar_set
+newt_set_help_callback
+newt_set_suspend_callback
+newt_suspend
+newt_textbox
+newt_textbox_get_num_lines
+newt_textbox_reflowed
+newt_textbox_set_height
+newt_textbox_set_text
+newt_vertical_scrollbar
+newt_wait_for_key
+newt_win_choice
+newt_win_entries
+newt_win_menu
+newt_win_message
+newt_win_messagev
+newt_win_ternary
+next
+ngettext
+nl2br
+nl_langinfo
+norewinditerator
+normalizer
+notes_body
+notes_copy_db
+notes_create_db
+notes_create_note
+notes_drop_db
+notes_find_note
+notes_header_info
+notes_list_msgs
+notes_mark_read
+notes_mark_unread
+notes_nav_create
+notes_search
+notes_unread
+notes_version
+nsapi_request_headers
+nsapi_response_headers
+nsapi_virtual
+nthmac
+number_format
+numberformatter
+oauth
+oauthexception
+oauth_get_sbs
+oauthprovider
+oauth_urlencode
+ob_clean
+ob_deflatehandler
+ob_end_clean
+ob_end_flush
+ob_etaghandler
+ob_flush
+ob_get_clean
+ob_get_contents
+ob_get_flush
+ob_get_length
+ob_get_level
+ob_get_status
+ob_gzhandler
+ob_iconv_handler
+ob_implicit_flush
+ob_inflatehandler
+ob_list_handlers
+ob_start
+ob_tidyhandler
+oci_bind_array_by_name
+ocibindbyname
+oci_bind_by_name
+ocicancel
+oci_cancel
+oci_client_version
+oci_close
+ocicloselob
+ocicollappend
+ocicollassign
+ocicollassignelem
+oci_collection_append
+oci_collection_assign
+oci_collection_element_assign
+oci_collection_element_get
+oci_collection_free
+oci_collection_max
+oci_collection_size
+oci_collection_trim
+ocicollgetelem
+ocicollmax
+ocicollsize
+ocicolltrim
+ocicolumnisnull
+ocicolumnname
+ocicolumnprecision
+ocicolumnscale
+ocicolumnsize
+ocicolumntype
+ocicolumntyperaw
+ocicommit
+oci_commit
+oci_connect
+ocidefinebyname
+oci_define_by_name
+ocierror
+oci_error
+ociexecute
+oci_execute
+ocifetch
+oci_fetch
+oci_fetch_all
+oci_fetch_array
+oci_fetch_assoc
+ocifetchinto
+oci_fetch_object
+oci_fetch_row
+ocifetchstatement
+oci_field_is_null
+oci_field_name
+oci_field_precision
+oci_field_scale
+oci_field_size
+oci_field_type
+oci_field_type_raw
+ocifreecollection
+ocifreecursor
+ocifreedesc
+ocifreestatement
+oci_free_statement
+ociinternaldebug
+oci_internal_debug
+ociloadlob
+oci_lob_append
+oci_lob_close
+oci_lob_copy
+oci_lob_eof
+oci_lob_erase
+oci_lob_export
+oci_lob_flush
+oci_lob_free
+oci_lob_getbuffering
+oci_lob_import
+oci_lob_is_equal
+oci_lob_load
+oci_lob_read
+oci_lob_rewind
+oci_lob_save
+oci_lob_savefile
+oci_lob_seek
+oci_lob_setbuffering
+oci_lob_size
+oci_lob_tell
+oci_lob_truncate
+oci_lob_write
+oci_lob_writetemporary
+oci_lob_writetofile
+ocilogoff
+ocilogon
+ocinewcollection
+oci_new_collection
+oci_new_connect
+ocinewcursor
+oci_new_cursor
+ocinewdescriptor
+oci_new_descriptor
+ocinlogon
+ocinumcols
+oci_num_fields
+oci_num_rows
+ociparse
+oci_parse
+oci_password_change
+oci_pconnect
+ociplogon
+ociresult
+oci_result
+ocirollback
+oci_rollback
+ocirowcount
+ocisavelob
+ocisavelobfile
+ociserverversion
+oci_server_version
+oci_set_action
+oci_set_client_identifier
+oci_set_client_info
+oci_set_edition
+oci_set_module_name
+ocisetprefetch
+oci_set_prefetch
+ocistatementtype
+oci_statement_type
+ociwritelobtofile
+ociwritetemporarylob
+octdec
+odbc_autocommit
+odbc_binmode
+odbc_close
+odbc_close_all
+odbc_columnprivileges
+odbc_columns
+odbc_commit
+odbc_connect
+odbc_cursor
+odbc_data_source
+odbc_do
+odbc_error
+odbc_errormsg
+odbc_exec
+odbc_execute
+odbc_fetch_array
+odbc_fetch_into
+odbc_fetch_object
+odbc_fetch_row
+odbc_field_len
+odbc_field_name
+odbc_field_num
+odbc_field_precision
+odbc_field_scale
+odbc_field_type
+odbc_foreignkeys
+odbc_free_result
+odbc_gettypeinfo
+odbc_longreadlen
+odbc_next_result
+odbc_num_fields
+odbc_num_rows
+odbc_pconnect
+odbc_prepare
+odbc_primarykeys
+odbc_procedurecolumns
+odbc_procedures
+odbc_result
+odbc_result_all
+odbc_rollback
+odbc_setoption
+odbc_specialcolumns
+odbc_statistics
+odbc_tableprivileges
+odbc_tables
+old_function
+openal_buffer_create
+openal_buffer_data
+openal_buffer_destroy
+openal_buffer_get
+openal_buffer_loadwav
+openal_context_create
+openal_context_current
+openal_context_destroy
+openal_context_process
+openal_context_suspend
+openal_device_close
+openal_device_open
+openal_listener_get
+openal_listener_set
+openal_source_create
+openal_source_destroy
+openal_source_get
+openal_source_pause
+openal_source_play
+openal_source_rewind
+openal_source_set
+openal_source_stop
+openal_stream
+opendir
+openlog
+openssl_cipher_iv_length
+openssl_csr_export
+openssl_csr_export_to_file
+openssl_csr_get_public_key
+openssl_csr_get_subject
+openssl_csr_new
+openssl_csr_sign
+openssl_decrypt
+openssl_dh_compute_key
+openssl_digest
+openssl_encrypt
+openssl_error_string
+openssl_free_key
+openssl_get_cipher_methods
+openssl_get_md_methods
+openssl_get_privatekey
+openssl_get_publickey
+openssl_open
+openssl_pkcs12_export
+openssl_pkcs12_export_to_file
+openssl_pkcs12_read
+openssl_pkcs7_decrypt
+openssl_pkcs7_encrypt
+openssl_pkcs7_sign
+openssl_pkcs7_verify
+openssl_pkey_export
+openssl_pkey_export_to_file
+openssl_pkey_free
+openssl_pkey_get_details
+openssl_pkey_get_private
+openssl_pkey_get_public
+openssl_pkey_new
+openssl_private_decrypt
+openssl_private_encrypt
+openssl_public_decrypt
+openssl_public_encrypt
+openssl_random_pseudo_bytes
+openssl_seal
+openssl_sign
+openssl_verify
+openssl_x509_check_private_key
+openssl_x509_checkpurpose
+openssl_x509_export
+openssl_x509_export_to_file
+openssl_x509_free
+openssl_x509_parse
+openssl_x509_read
+or
+ord
+outeriterator
+outofboundsexception
+outofrangeexception
+output_add_rewrite_var
+output_reset_rewrite_vars
+overflowexception
+overload
+override_function
+ovrimos_close
+ovrimos_commit
+ovrimos_connect
+ovrimos_cursor
+ovrimos_exec
+ovrimos_execute
+ovrimos_fetch_into
+ovrimos_fetch_row
+ovrimos_field_len
+ovrimos_field_name
+ovrimos_field_num
+ovrimos_field_type
+ovrimos_free_result
+ovrimos_longreadlen
+ovrimos_num_fields
+ovrimos_num_rows
+ovrimos_prepare
+ovrimos_result
+ovrimos_result_all
+ovrimos_rollback
+pack
+parentiterator
+parse_ini_file
+parse_ini_string
+parsekit_compile_file
+parsekit_compile_string
+parsekit_func_arginfo
+parse_str
+parse_url
+passthru
+pathinfo
+pclose
+pcntl_alarm
+pcntl_exec
+pcntl_fork
+pcntl_getpriority
+pcntl_setpriority
+pcntl_signal
+pcntl_signal_dispatch
+pcntl_sigprocmask
+pcntl_sigtimedwait
+pcntl_sigwaitinfo
+pcntl_wait
+pcntl_waitpid
+pcntl_wexitstatus
+pcntl_wifexited
+pcntl_wifsignaled
+pcntl_wifstopped
+pcntl_wstopsig
+pcntl_wtermsig
+pdf_activate_item
+pdf_add_annotation
+pdf_add_bookmark
+pdf_add_launchlink
+pdf_add_locallink
+pdf_add_nameddest
+pdf_add_note
+pdf_add_outline
+pdf_add_pdflink
+pdf_add_table_cell
+pdf_add_textflow
+pdf_add_thumbnail
+pdf_add_weblink
+pdf_arc
+pdf_arcn
+pdf_attach_file
+pdf_begin_document
+pdf_begin_font
+pdf_begin_glyph
+pdf_begin_item
+pdf_begin_layer
+pdf_begin_page
+pdf_begin_page_ext
+pdf_begin_pattern
+pdf_begin_template
+pdf_begin_template_ext
+pdf_circle
+pdf_clip
+pdf_close
+pdf_close_image
+pdf_closepath
+pdf_closepath_fill_stroke
+pdf_closepath_stroke
+pdf_close_pdi
+pdf_close_pdi_page
+pdf_concat
+pdf_continue_text
+pdf_create_3dview
+pdf_create_action
+pdf_create_annotation
+pdf_create_bookmark
+pdf_create_field
+pdf_create_fieldgroup
+pdf_create_gstate
+pdf_create_pvf
+pdf_create_textflow
+pdf_curveto
+pdf_define_layer
+pdf_delete
+pdf_delete_pvf
+pdf_delete_table
+pdf_delete_textflow
+pdf_encoding_set_char
+pdf_end_document
+pdf_end_font
+pdf_end_glyph
+pdf_end_item
+pdf_end_layer
+pdf_end_page
+pdf_end_page_ext
+pdf_endpath
+pdf_end_pattern
+pdf_end_template
+pdf_fill
+pdf_fill_imageblock
+pdf_fill_pdfblock
+pdf_fill_stroke
+pdf_fill_textblock
+pdf_findfont
+pdf_fit_image
+pdf_fit_pdi_page
+pdf_fit_table
+pdf_fit_textflow
+pdf_fit_textline
+pdf_get_apiname
+pdf_get_buffer
+pdf_get_errmsg
+pdf_get_errnum
+pdf_get_font
+pdf_get_fontname
+pdf_get_fontsize
+pdf_get_image_height
+pdf_get_image_width
+pdf_get_majorversion
+pdf_get_minorversion
+pdf_get_parameter
+pdf_get_pdi_parameter
+pdf_get_pdi_value
+pdf_get_value
+pdf_info_font
+pdf_info_matchbox
+pdf_info_table
+pdf_info_textflow
+pdf_info_textline
+pdf_initgraphics
+pdf_lineto
+pdf_load_3ddata
+pdf_load_font
+pdf_load_iccprofile
+pdf_load_image
+pdf_makespotcolor
+pdf_moveto
+pdf_new
+pdf_open_ccitt
+pdf_open_file
+pdf_open_gif
+pdf_open_image
+pdf_open_image_file
+pdf_open_jpeg
+pdf_open_memory_image
+pdf_open_pdi
+pdf_open_pdi_document
+pdf_open_pdi_page
+pdf_open_tiff
+pdf_pcos_get_number
+pdf_pcos_get_stream
+pdf_pcos_get_string
+pdf_place_image
+pdf_place_pdi_page
+pdf_process_pdi
+pdf_rect
+pdf_restore
+pdf_resume_page
+pdf_rotate
+pdf_save
+pdf_scale
+pdf_set_border_color
+pdf_set_border_dash
+pdf_set_border_style
+pdf_set_char_spacing
+pdf_setcolor
+pdf_setdash
+pdf_setdashpattern
+pdf_set_duration
+pdf_setflat
+pdf_setfont
+pdf_setgray
+pdf_setgray_fill
+pdf_setgray_stroke
+pdf_set_gstate
+pdf_set_horiz_scaling
+pdf_set_info
+pdf_set_info_author
+pdf_set_info_creator
+pdf_set_info_keywords
+pdf_set_info_subject
+pdf_set_info_title
+pdf_set_layer_dependency
+pdf_set_leading
+pdf_setlinecap
+pdf_setlinejoin
+pdf_setlinewidth
+pdf_setmatrix
+pdf_setmiterlimit
+pdf_set_parameter
+pdf_setpolydash
+pdf_setrgbcolor
+pdf_setrgbcolor_fill
+pdf_setrgbcolor_stroke
+pdf_set_text_matrix
+pdf_set_text_pos
+pdf_set_text_rendering
+pdf_set_text_rise
+pdf_set_value
+pdf_set_word_spacing
+pdf_shading
+pdf_shading_pattern
+pdf_shfill
+pdf_show
+pdf_show_boxed
+pdf_show_xy
+pdf_skew
+pdf_stringwidth
+pdf_stroke
+pdf_suspend_page
+pdf_translate
+pdf_utf16_to_utf8
+pdf_utf32_to_utf16
+pdf_utf8_to_utf16
+pdo
+pdo_cubrid_schema
+pdoexception
+pdo_pgsqllobcreate
+pdo_pgsqllobopen
+pdo_pgsqllobunlink
+pdo_sqlitecreateaggregate
+pdo_sqlitecreatefunction
+pdostatement
+pfsockopen
+pg_affected_rows
+pg_cancel_query
+pg_client_encoding
+pg_close
+pg_connect
+pg_connection_busy
+pg_connection_reset
+pg_connection_status
+pg_convert
+pg_copy_from
+pg_copy_to
+pg_dbname
+pg_delete
+pg_end_copy
+pg_escape_bytea
+pg_escape_string
+pg_execute
+pg_fetch_all
+pg_fetch_all_columns
+pg_fetch_array
+pg_fetch_assoc
+pg_fetch_object
+pg_fetch_result
+pg_fetch_row
+pg_field_is_null
+pg_field_name
+pg_field_num
+pg_field_prtlen
+pg_field_size
+pg_field_table
+pg_field_type
+pg_field_type_oid
+pg_free_result
+pg_get_notify
+pg_get_pid
+pg_get_result
+pg_host
+pg_insert
+pg_last_error
+pg_last_notice
+pg_last_oid
+pg_lo_close
+pg_lo_create
+pg_lo_export
+pg_lo_import
+pg_lo_open
+pg_lo_read
+pg_lo_read_all
+pg_lo_seek
+pg_lo_tell
+pg_lo_unlink
+pg_lo_write
+pg_meta_data
+pg_num_fields
+pg_num_rows
+pg_options
+pg_parameter_status
+pg_pconnect
+pg_ping
+pg_port
+pg_prepare
+pg_put_line
+pg_query
+pg_query_params
+pg_result_error
+pg_result_error_field
+pg_result_seek
+pg_result_status
+pg_select
+pg_send_execute
+pg_send_prepare
+pg_send_query
+pg_send_query_params
+pg_set_client_encoding
+pg_set_error_verbosity
+pg_trace
+pg_transaction_status
+pg_tty
+pg_unescape_bytea
+pg_untrace
+pg_update
+pg_version
+Phar
+PharData
+PharException
+PharFileInfo
+php_check_syntax
+phpcredits
+phpinfo
+php_ini_loaded_file
+php_ini_scanned_files
+php_logo_guid
+php_sapi_name
+php_strip_whitespace
+php_uname
+phpversion
+pi
+png2wbmp
+popen
+pos
+posix_access
+posix_ctermid
+posix_errno
+posix_getcwd
+posix_getegid
+posix_geteuid
+posix_getgid
+posix_getgrgid
+posix_getgrnam
+posix_getgroups
+posix_get_last_error
+posix_getlogin
+posix_getpgid
+posix_getpgrp
+posix_getpid
+posix_getppid
+posix_getpwnam
+posix_getpwuid
+posix_getrlimit
+posix_getsid
+posix_getuid
+posix_initgroups
+posix_isatty
+posix_kill
+posix_mkfifo
+posix_mknod
+posix_setegid
+posix_seteuid
+posix_setgid
+posix_setpgid
+posix_setsid
+posix_setuid
+posix_strerror
+posix_times
+posix_ttyname
+posix_uname
+pow
+preg_filter
+preg_grep
+preg_last_error
+preg_match
+preg_match_all
+preg_quote
+preg_replace
+preg_replace_callback
+preg_split
+prev
+print
+printer_abort
+printer_close
+printer_create_brush
+printer_create_dc
+printer_create_font
+printer_create_pen
+printer_delete_brush
+printer_delete_dc
+printer_delete_font
+printer_delete_pen
+printer_draw_bmp
+printer_draw_chord
+printer_draw_elipse
+printer_draw_line
+printer_draw_pie
+printer_draw_rectangle
+printer_draw_roundrect
+printer_draw_text
+printer_end_doc
+printer_end_page
+printer_get_option
+printer_list
+printer_logical_fontheight
+printer_open
+printer_select_brush
+printer_select_font
+printer_select_pen
+printer_set_option
+printer_start_doc
+printer_start_page
+printer_write
+printf
+print_r
+private
+proc_close
+proc_get_status
+proc_nice
+proc_open
+proc_terminate
+property_exists
+protected
+ps_add_bookmark
+ps_add_launchlink
+ps_add_locallink
+ps_add_note
+ps_add_pdflink
+ps_add_weblink
+ps_arc
+ps_arcn
+ps_begin_page
+ps_begin_pattern
+ps_begin_template
+ps_circle
+ps_clip
+ps_close
+ps_close_image
+ps_closepath
+ps_closepath_stroke
+ps_continue_text
+ps_curveto
+ps_delete
+ps_end_page
+ps_end_pattern
+ps_end_template
+ps_fill
+ps_fill_stroke
+ps_findfont
+ps_get_buffer
+ps_get_parameter
+ps_get_value
+ps_hyphenate
+ps_include_file
+ps_lineto
+ps_makespotcolor
+ps_moveto
+ps_new
+ps_open_file
+ps_open_image
+ps_open_image_file
+ps_open_memory_image
+pspell_add_to_personal
+pspell_add_to_session
+pspell_check
+pspell_clear_session
+pspell_config_create
+pspell_config_data_dir
+pspell_config_dict_dir
+pspell_config_ignore
+pspell_config_mode
+pspell_config_personal
+pspell_config_repl
+pspell_config_runtogether
+pspell_config_save_repl
+pspell_new
+pspell_new_config
+pspell_new_personal
+pspell_save_wordlist
+pspell_store_replacement
+pspell_suggest
+ps_place_image
+ps_rect
+ps_restore
+ps_rotate
+ps_save
+ps_scale
+ps_set_border_color
+ps_set_border_dash
+ps_set_border_style
+ps_setcolor
+ps_setdash
+ps_setflat
+ps_setfont
+ps_setgray
+ps_set_info
+ps_setlinecap
+ps_setlinejoin
+ps_setlinewidth
+ps_setmiterlimit
+ps_setoverprintmode
+ps_set_parameter
+ps_setpolydash
+ps_set_text_pos
+ps_set_value
+ps_shading
+ps_shading_pattern
+ps_shfill
+ps_show
+ps_show2
+ps_show_boxed
+ps_show_xy
+ps_show_xy2
+ps_string_geometry
+ps_stringwidth
+ps_stroke
+ps_symbol
+ps_symbol_name
+ps_symbol_width
+ps_translate
+public
+putenv
+px_close
+px_create_fp
+px_date2string
+px_delete
+px_delete_record
+px_get_field
+px_get_info
+px_get_parameter
+px_get_record
+px_get_schema
+px_get_value
+px_insert_record
+px_new
+px_numfields
+px_numrecords
+px_open_fp
+px_put_record
+px_retrieve_record
+px_set_blob_file
+px_set_parameter
+px_set_tablename
+px_set_targetencoding
+px_set_value
+px_timestamp2string
+px_update_record
+qdom_error
+qdom_tree
+quickhashinthash
+quickhashintset
+quickhashintstringhash
+quickhashstringinthash
+quoted_printable_decode
+quoted_printable_encode
+quotemeta
+rad2deg
+radius_acct_open
+radius_add_server
+radius_auth_open
+radius_close
+radius_config
+radius_create_request
+radius_cvt_addr
+radius_cvt_int
+radius_cvt_string
+radius_demangle
+radius_demangle_mppe_key
+radius_get_attr
+radius_get_vendor_attr
+radius_put_addr
+radius_put_attr
+radius_put_int
+radius_put_string
+radius_put_vendor_addr
+radius_put_vendor_attr
+radius_put_vendor_int
+radius_put_vendor_string
+radius_request_authenticator
+radius_send_request
+radius_server_secret
+radius_strerror
+rand
+range
+rangeexception
+rararchive
+rarentry
+rarexception
+rar_wrapper_cache_stats
+rawurldecode
+rawurlencode
+readdir
+read_exif_data
+readfile
+readgzfile
+readline
+readline_add_history
+readline_callback_handler_install
+readline_callback_handler_remove
+readline_callback_read_char
+readline_clear_history
+readline_completion_function
+readline_info
+readline_list_history
+readline_on_new_line
+readline_read_history
+readline_redisplay
+readline_write_history
+readlink
+realpath
+realpath_cache_get
+realpath_cache_size
+recode
+recode_file
+recode_string
+recursivearrayiterator
+recursivecachingiterator
+recursivecallbackfilteriterator
+recursivedirectoryiterator
+recursivefilteriterator
+recursiveiterator
+recursiveiteratoriterator
+recursiveregexiterator
+recursivetreeiterator
+reflection
+reflectionclass
+reflectionexception
+reflectionextension
+reflectionfunction
+reflectionfunctionabstract
+reflectionmethod
+reflectionobject
+reflectionparameter
+reflectionproperty
+reflector
+regexiterator
+register_shutdown_function
+register_tick_function
+rename
+rename_function
+require
+require_once
+reset
+resetValue
+resourcebundle
+restore_error_handler
+restore_exception_handler
+restore_include_path
+return
+rewind
+rewinddir
+rmdir
+round
+rpm_close
+rpm_get_tag
+rpm_is_valid
+rpm_open
+rpm_version
+rrd_create
+rrdcreator
+rrd_error
+rrd_fetch
+rrd_first
+rrdgraph
+rrd_graph
+rrd_info
+rrd_last
+rrd_lastupdate
+rrd_restore
+rrd_tune
+rrd_update
+rrdupdater
+rrd_version
+rrd_xport
+rsort
+rtrim
+runkit_class_adopt
+runkit_class_emancipate
+runkit_constant_add
+runkit_constant_redefine
+runkit_constant_remove
+runkit_function_add
+runkit_function_copy
+runkit_function_redefine
+runkit_function_remove
+runkit_function_rename
+runkit_import
+runkit_lint
+runkit_lint_file
+runkit_method_add
+runkit_method_copy
+runkit_method_redefine
+runkit_method_remove
+runkit_method_rename
+runkit_return_value_used
+runkit_sandbox_output_handler
+runkit_superglobals
+runtimeexception
+samconnection_commit
+samconnection_connect
+samconnection_constructor
+samconnection_disconnect
+samconnection_errno
+samconnection_error
+samconnection_isconnected
+samconnection_peek
+samconnection_peekall
+samconnection_receive
+samconnection_remove
+samconnection_rollback
+samconnection_send
+samconnection_setDebug
+samconnection_subscribe
+samconnection_unsubscribe
+sammessage_body
+sammessage_constructor
+sammessage_header
+sca_createdataobject
+sca_getservice
+sca_localproxy_createdataobject
+scandir
+sca_soapproxy_createdataobject
+sdo_das_changesummary_beginlogging
+sdo_das_changesummary_endlogging
+sdo_das_changesummary_getchangeddataobjects
+sdo_das_changesummary_getchangetype
+sdo_das_changesummary_getoldcontainer
+sdo_das_changesummary_getoldvalues
+sdo_das_changesummary_islogging
+sdo_das_datafactory_addpropertytotype
+sdo_das_datafactory_addtype
+sdo_das_datafactory_getdatafactory
+sdo_das_dataobject_getchangesummary
+sdo_das_relational_applychanges
+sdo_das_relational_construct
+sdo_das_relational_createrootdataobject
+sdo_das_relational_executepreparedquery
+sdo_das_relational_executequery
+sdo_das_setting_getlistindex
+sdo_das_setting_getpropertyindex
+sdo_das_setting_getpropertyname
+sdo_das_setting_getvalue
+sdo_das_setting_isset
+sdo_das_xml_addtypes
+sdo_das_xml_create
+sdo_das_xml_createdataobject
+sdo_das_xml_createdocument
+sdo_das_xml_document_getrootdataobject
+sdo_das_xml_document_getrootelementname
+sdo_das_xml_document_getrootelementuri
+sdo_das_xml_document_setencoding
+sdo_das_xml_document_setxmldeclaration
+sdo_das_xml_document_setxmlversion
+sdo_das_xml_loadfile
+sdo_das_xml_loadstring
+sdo_das_xml_savefile
+sdo_das_xml_savestring
+sdo_datafactory_create
+sdo_dataobject_clear
+sdo_dataobject_createdataobject
+sdo_dataobject_getcontainer
+sdo_dataobject_getsequence
+sdo_dataobject_gettypename
+sdo_dataobject_gettypenamespaceuri
+sdo_exception_getcause
+sdo_list_insert
+sdo_model_property_getcontainingtype
+sdo_model_property_getdefault
+sdo_model_property_getname
+sdo_model_property_gettype
+sdo_model_property_iscontainment
+sdo_model_property_ismany
+sdo_model_reflectiondataobject_construct
+sdo_model_reflectiondataobject_export
+sdo_model_reflectiondataobject_getcontainmentproperty
+sdo_model_reflectiondataobject_getinstanceproperties
+sdo_model_reflectiondataobject_gettype
+sdo_model_type_getbasetype
+sdo_model_type_getname
+sdo_model_type_getnamespaceuri
+sdo_model_type_getproperties
+sdo_model_type_getproperty
+sdo_model_type_isabstracttype
+sdo_model_type_isdatatype
+sdo_model_type_isinstance
+sdo_model_type_isopentype
+sdo_model_type_issequencedtype
+sdo_sequence_getproperty
+sdo_sequence_insert
+sdo_sequence_move
+seekableiterator
+sem_acquire
+sem_get
+sem_release
+sem_remove
+serializable
+serialize
+session_cache_expire
+session_cache_limiter
+session_commit
+session_decode
+session_destroy
+session_encode
+session_get_cookie_params
+session_id
+session_is_registered
+session_module_name
+session_name
+session_pgsql_add_error
+session_pgsql_get_error
+session_pgsql_get_field
+session_pgsql_reset
+session_pgsql_set_field
+session_pgsql_status
+session_regenerate_id
+session_register
+session_save_path
+session_set_cookie_params
+session_set_save_handler
+session_start
+session_unregister
+session_unset
+session_write_close
+__set()
+setcookie
+setCounterClass
+set_error_handler
+set_exception_handler
+set_file_buffer
+set_include_path
+setlocale
+set_magic_quotes_runtime
+setproctitle
+setrawcookie
+set_socket_blocking
+__set_state()
+setstaticpropertyvalue
+setthreadtitle
+set_time_limit
+settype
+sha1
+sha1_file
+shell_exec
+shm_attach
+shm_detach
+shm_get_var
+shm_has_var
+shmop_close
+shmop_delete
+shmop_open
+shmop_read
+shmop_size
+shmop_write
+shm_put_var
+shm_remove
+shm_remove_var
+show_source
+shuffle
+signeurlpaiement
+similar_text
+simplexmlelement
+simplexml_import_dom
+simplexmliterator
+simplexml_load_file
+simplexml_load_string
+sin
+sinh
+sizeof
+sleep
+__sleep()
+snmp
+snmp2_get
+snmp2_getnext
+snmp2_real_walk
+snmp2_set
+snmp2_walk
+snmp3_get
+snmp3_getnext
+snmp3_real_walk
+snmp3_set
+snmp3_walk
+snmpexception
+snmpget
+snmpgetnext
+snmp_get_quick_print
+snmp_get_valueretrieval
+snmp_read_mib
+snmprealwalk
+snmpset
+snmp_set_enum_print
+snmp_set_oid_numeric_print
+snmp_set_oid_output_format
+snmp_set_quick_print
+snmp_set_valueretrieval
+snmpwalk
+snmpwalkoid
+soapclient
+soapfault
+soapheader
+soapparam
+soapserver
+soapvar
+socket_accept
+socket_bind
+socket_clear_error
+socket_close
+socket_connect
+socket_create
+socket_create_listen
+socket_create_pair
+socket_get_option
+socket_getpeername
+socket_getsockname
+socket_get_status
+socket_last_error
+socket_listen
+socket_read
+socket_recv
+socket_recvfrom
+socket_select
+socket_send
+socket_sendto
+socket_set_block
+socket_set_blocking
+socket_set_nonblock
+socket_set_option
+socket_set_timeout
+socket_shutdown
+socket_strerror
+socket_write
+solrclient
+solrclientexception
+solrdocument
+solrdocumentfield
+solrexception
+solrgenericresponse
+solr_get_version
+solrillegalargumentexception
+solrillegaloperationexception
+solrinputdocument
+solrmodifiableparams
+solrobject
+solrparams
+solrpingresponse
+solrquery
+solrqueryresponse
+solrresponse
+solrupdateresponse
+solrutils
+sort
+soundex
+sphinxclient
+spl_autoload
+spl_autoload_call
+spl_autoload_extensions
+spl_autoload_functions
+spl_autoload_register
+spl_autoload_unregister
+splbool
+spl_classes
+spldoublylinkedlist
+splenum
+splfileinfo
+splfileobject
+splfixedarray
+splfloat
+splheap
+splint
+split
+spliti
+splmaxheap
+splminheap
+spl_object_hash
+splobjectstorage
+splobserver
+splpriorityqueue
+splqueue
+splstack
+splstring
+splsubject
+spltempfileobject
+spltype
+spoofchecker
+sprintf
+sqlite3
+sqlite3result
+sqlite3stmt
+sqlite_array_query
+sqlite_busy_timeout
+sqlite_changes
+sqlite_close
+sqlite_column
+sqlite_create_aggregate
+sqlite_create_function
+sqlite_current
+sqlite_error_string
+sqlite_escape_string
+sqlite_exec
+sqlite_factory
+sqlite_fetch_all
+sqlite_fetch_array
+sqlite_fetch_column_types
+sqlite_fetch_object
+sqlite_fetch_single
+sqlite_fetch_string
+sqlite_field_name
+sqlite_has_more
+sqlite_has_prev
+sqlite_key
+sqlite_last_error
+sqlite_last_insert_rowid
+sqlite_libencoding
+sqlite_libversion
+sqlite_next
+sqlite_num_fields
+sqlite_num_rows
+sqlite_open
+sqlite_popen
+sqlite_prev
+sqlite_query
+sqlite_rewind
+sqlite_seek
+sqlite_single_query
+sqlite_udf_decode_binary
+sqlite_udf_encode_binary
+sqlite_unbuffered_query
+sqlite_valid
+sql_regcase
+sqlsrv_begin_transaction
+sqlsrv_cancel
+sqlsrv_client_info
+sqlsrv_close
+sqlsrv_commit
+sqlsrv_configure
+sqlsrv_connect
+sqlsrv_errors
+sqlsrv_execute
+sqlsrv_fetch
+sqlsrv_fetch_array
+sqlsrv_fetch_object
+sqlsrv_field_metadata
+sqlsrv_free_stmt
+sqlsrv_get_config
+sqlsrv_get_field
+sqlsrv_has_rows
+sqlsrv_next_result
+sqlsrv_num_fields
+sqlsrv_num_rows
+sqlsrv_prepare
+sqlsrv_query
+sqlsrv_rollback
+sqlsrv_rows_affected
+sqlsrv_send_stream_data
+sqlsrv_server_info
+sqrt
+srand
+sscanf
+ssdeep_fuzzy_compare
+ssdeep_fuzzy_hash
+ssdeep_fuzzy_hash_filename
+ssh2_auth_hostbased_file
+ssh2_auth_none
+ssh2_auth_password
+ssh2_auth_pubkey_file
+ssh2_connect
+ssh2_exec
+ssh2_fetch_stream
+ssh2_fingerprint
+ssh2_methods_negotiated
+ssh2_publickey_add
+ssh2_publickey_init
+ssh2_publickey_list
+ssh2_publickey_remove
+ssh2_scp_recv
+ssh2_scp_send
+ssh2_sftp
+ssh2_sftp_lstat
+ssh2_sftp_mkdir
+ssh2_sftp_readlink
+ssh2_sftp_realpath
+ssh2_sftp_rename
+ssh2_sftp_rmdir
+ssh2_sftp_stat
+ssh2_sftp_symlink
+ssh2_sftp_unlink
+ssh2_shell
+ssh2_tunnel
+stat
+static
+stats_absolute_deviation
+stats_cdf_beta
+stats_cdf_binomial
+stats_cdf_cauchy
+stats_cdf_chisquare
+stats_cdf_exponential
+stats_cdf_f
+stats_cdf_gamma
+stats_cdf_laplace
+stats_cdf_logistic
+stats_cdf_negative_binomial
+stats_cdf_noncentral_chisquare
+stats_cdf_noncentral_f
+stats_cdf_poisson
+stats_cdf_t
+stats_cdf_uniform
+stats_cdf_weibull
+stats_covariance
+stats_dens_beta
+stats_dens_cauchy
+stats_dens_chisquare
+stats_dens_exponential
+stats_dens_f
+stats_dens_gamma
+stats_dens_laplace
+stats_dens_logistic
+stats_dens_negative_binomial
+stats_dens_normal
+stats_dens_pmf_binomial
+stats_dens_pmf_hypergeometric
+stats_dens_pmf_poisson
+stats_dens_t
+stats_dens_weibull
+stats_den_uniform
+stats_harmonic_mean
+stats_kurtosis
+stats_rand_gen_beta
+stats_rand_gen_chisquare
+stats_rand_gen_exponential
+stats_rand_gen_f
+stats_rand_gen_funiform
+stats_rand_gen_gamma
+stats_rand_gen_ibinomial
+stats_rand_gen_ibinomial_negative
+stats_rand_gen_int
+stats_rand_gen_ipoisson
+stats_rand_gen_iuniform
+stats_rand_gen_noncenral_chisquare
+stats_rand_gen_noncentral_f
+stats_rand_gen_noncentral_t
+stats_rand_gen_normal
+stats_rand_gen_t
+stats_rand_get_seeds
+stats_rand_phrase_to_seeds
+stats_rand_ranf
+stats_rand_setall
+stats_skew
+stats_standard_deviation
+stats_stat_binomial_coef
+stats_stat_correlation
+stats_stat_gennch
+stats_stat_independent_t
+stats_stat_innerproduct
+stats_stat_noncentral_t
+stats_stat_paired_t
+stats_stat_percentile
+stats_stat_powersum
+stats_variance
+stomp
+stomp_connect_error
+stompexception
+stompframe
+stomp_version
+strcasecmp
+strchr
+strcmp
+strcoll
+strcspn
+stream_bucket_append
+stream_bucket_make_writeable
+stream_bucket_new
+stream_bucket_prepend
+stream_context_create
+stream_context_get_default
+stream_context_get_options
+stream_context_get_params
+stream_context_set_default
+stream_context_set_option
+stream_context_set_params
+stream_copy_to_stream
+stream_encoding
+stream_filter_append
+stream_filter_prepend
+stream_filter_register
+stream_filter_remove
+stream_get_contents
+stream_get_filters
+stream_get_line
+stream_get_meta_data
+stream_get_transports
+stream_get_wrappers
+stream_is_local
+stream_notification_callback
+stream_register_wrapper
+stream_resolve_include_path
+stream_select
+stream_set_blocking
+stream_set_read_buffer
+stream_set_timeout
+stream_set_write_buffer
+stream_socket_accept
+stream_socket_client
+stream_socket_enable_crypto
+stream_socket_get_name
+stream_socket_pair
+stream_socket_recvfrom
+stream_socket_sendto
+stream_socket_server
+stream_socket_shutdown
+stream_supports_lock
+streamwrapper
+stream_wrapper_register
+stream_wrapper_restore
+stream_wrapper_unregister
+strftime
+str_getcsv
+stripcslashes
+stripos
+stripslashes
+strip_tags
+str_ireplace
+stristr
+strlen
+strnatcasecmp
+strnatcmp
+strncasecmp
+strncmp
+str_pad
+strpbrk
+strpos
+strptime
+strrchr
+str_repeat
+str_replace
+strrev
+strripos
+str_rot13
+strrpos
+str_shuffle
+str_split
+strspn
+strstr
+strtok
+strtolower
+strtotime
+strtoupper
+strtr
+strval
+str_word_count
+substr
+substr_compare
+substr_count
+substr_replace
+svm
+svmmodel
+svn_add
+svn_auth_get_parameter
+svn_auth_set_parameter
+svn_blame
+svn_cat
+svn_checkout
+svn_cleanup
+svn_client_version
+svn_commit
+svn_delete
+svn_diff
+svn_export
+svn_fs_abort_txn
+svn_fs_apply_text
+svn_fs_begin_txn2
+svn_fs_change_node_prop
+svn_fs_check_path
+svn_fs_contents_changed
+svn_fs_copy
+svn_fs_delete
+svn_fs_dir_entries
+svn_fs_file_contents
+svn_fs_file_length
+svn_fs_is_dir
+svn_fs_is_file
+svn_fs_make_dir
+svn_fs_make_file
+svn_fs_node_created_rev
+svn_fs_node_prop
+svn_fs_props_changed
+svn_fs_revision_prop
+svn_fs_revision_root
+svn_fs_txn_root
+svn_fs_youngest_rev
+svn_import
+svn_log
+svn_ls
+svn_mkdir
+svn_repos_create
+svn_repos_fs
+svn_repos_fs_begin_txn_for_commit
+svn_repos_fs_commit_txn
+svn_repos_hotcopy
+svn_repos_open
+svn_repos_recover
+svn_revert
+svn_status
+svn_update
+swfaction
+swfaction.construct
+swf_actiongeturl
+swf_actiongotoframe
+swf_actiongotolabel
+swf_actionnextframe
+swf_actionplay
+swf_actionprevframe
+swf_actionsettarget
+swf_actionstop
+swf_actiontogglequality
+swf_actionwaitforframe
+swf_addbuttonrecord
+swf_addcolor
+swfbitmap
+swfbitmap.construct
+swfbitmap.getheight
+swfbitmap.getwidth
+swfbutton
+swfbutton.addaction
+swfbutton.addasound
+swfbutton.addshape
+swfbutton.construct
+swfbutton.setaction
+swfbutton.setdown
+swfbutton.sethit
+swfbutton.setmenu
+swfbutton.setover
+swfbutton.setup
+swf_closefile
+swf_definebitmap
+swf_definefont
+swf_defineline
+swf_definepoly
+swf_definerect
+swf_definetext
+swfdisplayitem
+swfdisplayitem.addaction
+swfdisplayitem.addcolor
+swfdisplayitem.endmask
+swfdisplayitem.getrot
+swfdisplayitem.getx
+swfdisplayitem.getxscale
+swfdisplayitem.getxskew
+swfdisplayitem.gety
+swfdisplayitem.getyscale
+swfdisplayitem.getyskew
+swfdisplayitem.move
+swfdisplayitem.moveto
+swfdisplayitem.multcolor
+swfdisplayitem.remove
+swfdisplayitem.rotate
+swfdisplayitem.rotateto
+swfdisplayitem.scale
+swfdisplayitem.scaleto
+swfdisplayitem.setdepth
+swfdisplayitem.setmasklevel
+swfdisplayitem.setmatrix
+swfdisplayitem.setname
+swfdisplayitem.setratio
+swfdisplayitem.skewx
+swfdisplayitem.skewxto
+swfdisplayitem.skewy
+swfdisplayitem.skewyto
+swf_endbutton
+swf_enddoaction
+swf_endshape
+swf_endsymbol
+swffill
+swffill.moveto
+swffill.rotateto
+swffill.scaleto
+swffill.skewxto
+swffill.skewyto
+swffont
+swffontchar
+swffontchar.addchars
+swffontchar.addutf8chars
+swffont.construct
+swffont.getascent
+swffont.getdescent
+swffont.getleading
+swffont.getshape
+swffont.getutf8width
+swffont.getwidth
+swf_fontsize
+swf_fontslant
+swf_fonttracking
+swf_getbitmapinfo
+swf_getfontinfo
+swf_getframe
+swfgradient
+swfgradient.addentry
+swfgradient.construct
+swf_labelframe
+swf_lookat
+swf_modifyobject
+swfmorph
+swfmorph.construct
+swfmorph.getshape1
+swfmorph.getshape2
+swfmovie
+swfmovie.add
+swfmovie.addexport
+swfmovie.addfont
+swfmovie.construct
+swfmovie.importchar
+swfmovie.importfont
+swfmovie.labelframe
+swfmovie.nextframe
+swfmovie.output
+swfmovie.remove
+swfmovie.save
+swfmovie.savetofile
+swfmovie.setbackground
+swfmovie.setdimension
+swfmovie.setframes
+swfmovie.setrate
+swfmovie.startsound
+swfmovie.stopsound
+swfmovie.streammp3
+swfmovie.writeexports
+swf_mulcolor
+swf_nextid
+swf_oncondition
+swf_openfile
+swf_ortho
+swf_ortho2
+swf_perspective
+swf_placeobject
+swf_polarview
+swf_popmatrix
+swf_posround
+swfprebuiltclip
+swfprebuiltclip.construct
+swf_pushmatrix
+swf_removeobject
+swf_rotate
+swf_scale
+swf_setfont
+swf_setframe
+swfshape
+swfshape.addfill
+swf_shapearc
+swfshape.construct
+swf_shapecurveto
+swf_shapecurveto3
+swfshape.drawarc
+swfshape.drawcircle
+swfshape.drawcubic
+swfshape.drawcubicto
+swfshape.drawcurve
+swfshape.drawcurveto
+swfshape.drawglyph
+swfshape.drawline
+swfshape.drawlineto
+swf_shapefillbitmapclip
+swf_shapefillbitmaptile
+swf_shapefilloff
+swf_shapefillsolid
+swf_shapelinesolid
+swf_shapelineto
+swfshape.movepen
+swfshape.movepento
+swf_shapemoveto
+swfshape.setleftfill
+swfshape.setline
+swfshape.setrightfill
+swf_showframe
+swfsound
+swfsound.construct
+swfsoundinstance
+swfsoundinstance.loopcount
+swfsoundinstance.loopinpoint
+swfsoundinstance.loopoutpoint
+swfsoundinstance.nomultiple
+swfsprite
+swfsprite.add
+swfsprite.construct
+swfsprite.labelframe
+swfsprite.nextframe
+swfsprite.remove
+swfsprite.setframes
+swfsprite.startsound
+swfsprite.stopsound
+swf_startbutton
+swf_startdoaction
+swf_startshape
+swf_startsymbol
+swftext
+swftext.addstring
+swftext.addutf8string
+swftext.construct
+swftextfield
+swftextfield.addchars
+swftextfield.addstring
+swftextfield.align
+swftextfield.construct
+swftextfield.setbounds
+swftextfield.setcolor
+swftextfield.setfont
+swftextfield.setheight
+swftextfield.setindentation
+swftextfield.setleftmargin
+swftextfield.setlinespacing
+swftextfield.setmargins
+swftextfield.setname
+swftextfield.setpadding
+swftextfield.setrightmargin
+swftext.getascent
+swftext.getdescent
+swftext.getleading
+swftext.getutf8width
+swftext.getwidth
+swftext.moveto
+swftext.setcolor
+swftext.setfont
+swftext.setheight
+swftext.setspacing
+swf_textwidth
+swf_translate
+swfvideostream
+swfvideostream.construct
+swfvideostream.getnumframes
+swfvideostream.setdimension
+swf_viewport
+swish_construct
+swish_getmetalist
+swish_getpropertylist
+swish_prepare
+swish_query
+swishresult_getmetalist
+swishresults_getparsedwords
+swishresults_getremovedstopwords
+swishresults_nextresult
+swishresults_seekresult
+swishresult_stem
+swishsearch_execute
+swishsearch_resetlimit
+swishsearch_setlimit
+swishsearch_setphrasedelimiter
+swishsearch_setsort
+swishsearch_setstructure
+switch
+sybase_affected_rows
+sybase_close
+sybase_connect
+sybase_data_seek
+sybase_deadlock_retry_count
+sybase_fetch_array
+sybase_fetch_assoc
+sybase_fetch_field
+sybase_fetch_object
+sybase_fetch_row
+sybase_field_seek
+sybase_free_result
+sybase_get_last_message
+sybase_min_client_severity
+sybase_min_error_severity
+sybase_min_message_severity
+sybase_min_server_severity
+sybase_num_fields
+sybase_num_rows
+sybase_pconnect
+sybase_query
+sybase_result
+sybase_select_db
+sybase_set_message_handler
+sybase_unbuffered_query
+symlink
+sys_getloadavg
+sys_get_temp_dir
+syslog
+system
+tan
+tanh
+tcpwrap_check
+tempnam
+textdomain
+throw
+tidy
+tidy_access_count
+tidy_config_count
+tidy_diagnose
+tidy_error_count
+tidy_get_error_buffer
+tidy_get_output
+tidy_load_config
+tidynode
+tidy_reset_config
+tidy_save_config
+tidy_set_encoding
+tidy_setopt
+tidy_warning_count
+time
+time_nanosleep
+time_sleep_until
+timezone_abbreviations_list
+timezone_identifiers_list
+timezone_location_get
+timezone_name_from_abbr
+timezone_name_get
+timezone_offset_get
+timezone_open
+timezone_transitions_get
+timezone_version_get
+tmpfile
+token_get_all
+token_name
+tokyotyrant
+tokyotyrantquery
+tokyotyranttable
+tostring
+__toString()
+touch
+transliterator
+traversable
+trigger_error
+trim
+try
+uasort
+ucfirst
+ucwords
+udm_add_search_limit
+udm_alloc_agent
+udm_alloc_agent_array
+udm_api_version
+udm_cat_list
+udm_cat_path
+udm_check_charset
+udm_check_stored
+udm_clear_search_limits
+udm_close_stored
+udm_crc32
+udm_errno
+udm_error
+udm_find
+udm_free_agent
+udm_free_ispell_data
+udm_free_res
+udm_get_doc_count
+udm_get_res_field
+udm_get_res_param
+udm_hash32
+udm_load_ispell_data
+udm_open_stored
+udm_set_agent_param
+uksort
+umask
+underflowexception
+unexpectedvalueexception
+uniqid
+unixtojd
+unlink
+unpack
+unregister_tick_function
+unserialize
+unset
+__unset()
+urldecode
+urlencode
+use
+user_error
+use_soap_error_handler
+usleep
+usort
+utf8_decode
+utf8_encode
+v8js
+v8jsexception
+var
+var_dump
+var_export
+variant
+variant_abs
+variant_add
+variant_and
+variant_cast
+variant_cat
+variant_cmp
+variant_date_from_timestamp
+variant_date_to_timestamp
+variant_div
+variant_eqv
+variant_fix
+variant_get_type
+variant_idiv
+variant_imp
+variant_int
+variant_mod
+variant_mul
+variant_neg
+variant_not
+variant_or
+variant_pow
+variant_round
+variant_set
+variant_set_type
+variant_sub
+variant_xor
+version_compare
+vfprintf
+virtual
+vpopmail_add_alias_domain
+vpopmail_add_alias_domain_ex
+vpopmail_add_domain
+vpopmail_add_domain_ex
+vpopmail_add_user
+vpopmail_alias_add
+vpopmail_alias_del
+vpopmail_alias_del_domain
+vpopmail_alias_get
+vpopmail_alias_get_all
+vpopmail_auth_user
+vpopmail_del_domain
+vpopmail_del_domain_ex
+vpopmail_del_user
+vpopmail_error
+vpopmail_passwd
+vpopmail_set_user_quota
+vprintf
+vsprintf
+w32api_deftype
+w32api_init_dtype
+w32api_invoke_function
+w32api_register_function
+w32api_set_call_method
+__wakeup()
+wddx_add_vars
+wddx_deserialize
+wddx_packet_end
+wddx_packet_start
+wddx_serialize_value
+wddx_serialize_vars
+weakref
+while
+win32_continue_service
+win32_create_service
+win32_delete_service
+win32_get_last_control_message
+win32_pause_service
+win32_ps_list_procs
+win32_ps_stat_mem
+win32_ps_stat_proc
+win32_query_service_status
+win32_set_service_status
+win32_start_service
+win32_start_service_ctrl_dispatcher
+win32_stop_service
+wincache_fcache_fileinfo
+wincache_fcache_meminfo
+wincache_lock
+wincache_ocache_fileinfo
+wincache_ocache_meminfo
+wincache_refresh_if_changed
+wincache_rplist_fileinfo
+wincache_rplist_meminfo
+wincache_scache_info
+wincache_scache_meminfo
+wincache_ucache_add
+wincache_ucache_cas
+wincache_ucache_clear
+wincache_ucache_dec
+wincache_ucache_delete
+wincache_ucache_exists
+wincache_ucache_get
+wincache_ucache_inc
+wincache_ucache_info
+wincache_ucache_meminfo
+wincache_ucache_set
+wincache_unlock
+wordwrap
+xattr_get
+xattr_list
+xattr_remove
+xattr_set
+xattr_supported
+xdiff_file_bdiff
+xdiff_file_bdiff_size
+xdiff_file_bpatch
+xdiff_file_diff
+xdiff_file_diff_binary
+xdiff_file_merge3
+xdiff_file_patch
+xdiff_file_patch_binary
+xdiff_file_rabdiff
+xdiff_string_bdiff
+xdiff_string_bdiff_size
+xdiff_string_bpatch
+xdiff_string_diff
+xdiff_string_diff_binary
+xdiff_string_merge3
+xdiff_string_patch
+xdiff_string_patch_binary
+xdiff_string_rabdiff
+xhprof_disable
+xhprof_enable
+xhprof_sample_disable
+xhprof_sample_enable
+xml_error_string
+xml_get_current_byte_index
+xml_get_current_column_number
+xml_get_current_line_number
+xml_get_error_code
+xml_parse
+xml_parse_into_struct
+xml_parser_create
+xml_parser_create_ns
+xml_parser_free
+xml_parser_get_option
+xml_parser_set_option
+xmlreader
+xmlrpc_decode
+xmlrpc_decode_request
+xmlrpc_encode
+xmlrpc_encode_request
+xmlrpc_get_type
+xmlrpc_is_fault
+xmlrpc_parse_method_descriptions
+xmlrpc_server_add_introspection_data
+xmlrpc_server_call_method
+xmlrpc_server_create
+xmlrpc_server_destroy
+xmlrpc_server_register_introspection_callback
+xmlrpc_server_register_method
+xmlrpc_set_type
+xml_set_character_data_handler
+xml_set_default_handler
+xml_set_element_handler
+xml_set_end_namespace_decl_handler
+xml_set_external_entity_ref_handler
+xml_set_notation_decl_handler
+xml_set_object
+xml_set_processing_instruction_handler
+xml_set_start_namespace_decl_handler
+xml_set_unparsed_entity_decl_handler
+xmlwriter_end_attribute
+xmlwriter_end_cdata
+xmlwriter_end_comment
+xmlwriter_end_document
+xmlwriter_end_dtd
+xmlwriter_end_dtd_attlist
+xmlwriter_end_dtd_element
+xmlwriter_end_dtd_entity
+xmlwriter_end_element
+xmlwriter_end_pi
+xmlwriter_flush
+xmlwriter_full_end_element
+xmlwriter_open_memory
+xmlwriter_open_uri
+xmlwriter_output_memory
+xmlwriter_set_indent
+xmlwriter_set_indent_string
+xmlwriter_start_attribute
+xmlwriter_start_attribute_ns
+xmlwriter_start_cdata
+xmlwriter_start_comment
+xmlwriter_start_document
+xmlwriter_start_dtd
+xmlwriter_start_dtd_attlist
+xmlwriter_start_dtd_element
+xmlwriter_start_dtd_entity
+xmlwriter_start_element
+xmlwriter_start_element_ns
+xmlwriter_start_pi
+xmlwriter_text
+xmlwriter_write_attribute
+xmlwriter_write_attribute_ns
+xmlwriter_write_cdata
+xmlwriter_write_comment
+xmlwriter_write_dtd
+xmlwriter_write_dtd_attlist
+xmlwriter_write_dtd_element
+xmlwriter_write_dtd_entity
+xmlwriter_write_element
+xmlwriter_write_element_ns
+xmlwriter_write_pi
+xmlwriter_write_raw
+xor
+xpath_eval
+xpath_eval_expression
+xpath_new_context
+xpath_register_ns
+xpath_register_ns_auto
+xptr_eval
+xptr_new_context
+xslt_backend_info
+xslt_backend_name
+xslt_backend_version
+xslt_create
+xslt_errno
+xslt_error
+xslt_free
+xslt_getopt
+xslt_process
+xsltprocessor
+xslt_set_base
+xslt_set_encoding
+xslt_set_error_handler
+xslt_set_log
+xslt_set_object
+xslt_setopt
+xslt_set_sax_handler
+xslt_set_sax_handlers
+xslt_set_scheme_handler
+xslt_set_scheme_handlers
+yaml_emit
+yaml_emit_file
+yaml_parse
+yaml_parse_file
+yaml_parse_url
+yaz_addinfo
+yaz_ccl_conf
+yaz_ccl_parse
+yaz_close
+yaz_connect
+yaz_database
+yaz_element
+yaz_errno
+yaz_error
+yaz_es
+yaz_es_result
+yaz_get_option
+yaz_hits
+yaz_itemorder
+yaz_present
+yaz_range
+yaz_record
+yaz_scan
+yaz_scan_result
+yaz_schema
+yaz_search
+yaz_set_option
+yaz_sort
+yaz_syntax
+yaz_wait
+yp_all
+yp_cat
+yp_errno
+yp_err_string
+yp_first
+yp_get_default_domain
+yp_master
+yp_match
+yp_next
+yp_order
+zend_logo_guid
+zend_thread_id
+zend_version
+ziparchive
+ziparchive_addemptydir
+ziparchive_addfile
+ziparchive_addfromstring
+ziparchive_close
+ziparchive_deleteindex
+ziparchive_deletename
+ziparchive_extractto
+ziparchive_getarchivecomment
+ziparchive_getcommentindex
+ziparchive_getcommentname
+ziparchive_getfromindex
+ziparchive_getfromname
+ziparchive_getnameindex
+ziparchive_getstatusstring
+ziparchive_getstream
+ziparchive_locatename
+ziparchive_open
+ziparchive_renameindex
+ziparchive_renamename
+ziparchive_setarchivecomment
+ziparchive_setcommentindex
+ziparchive_setCommentName
+ziparchive_statindex
+ziparchive_statname
+ziparchive_unchangeall
+ziparchive_unchangearchive
+ziparchive_unchangeindex
+ziparchive_unchangename
+zip_close
+zip_entry_close
+zip_entry_compressedsize
+zip_entry_compressionmethod
+zip_entry_filesize
+zip_entry_name
+zip_entry_open
+zip_entry_read
+zip_open
+zip_read
+zlib_get_coding_type
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/python-mode b/.emacs.d/elpa/auto-complete-1.4/dict/python-mode
new file mode 100644
index 0000000..0ef6489
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/python-mode
@@ -0,0 +1,175 @@
+ArithmeticError
+AssertionError
+AttributeError
+BaseException
+BufferError
+BytesWarning
+DeprecationWarning
+EOFError
+Ellipsis
+EnvironmentError
+Exception
+False
+FloatingPointError
+FutureWarning
+GeneratorExit
+IOError
+ImportError
+ImportWarning
+IndentationError
+IndexError
+KeyError
+KeyboardInterrupt
+LookupError
+MemoryError
+NameError
+None
+NotImplemented
+NotImplementedError
+OSError
+OverflowError
+PendingDeprecationWarning
+ReferenceError
+RuntimeError
+RuntimeWarning
+StandardError
+StopIteration
+SyntaxError
+SyntaxWarning
+SystemError
+SystemExit
+TabError
+True
+TypeError
+UnboundLocalError
+UnicodeDecodeError
+UnicodeEncodeError
+UnicodeError
+UnicodeTranslateError
+UnicodeWarning
+UserWarning
+ValueError
+Warning
+ZeroDivisionError
+__builtins__
+__debug__
+__doc__
+__file__
+__import__
+__name__
+__package__
+abs
+all
+and
+any
+apply
+as
+assert
+basestring
+bin
+bool
+break
+buffer
+bytearray
+bytes
+callable
+chr
+class
+classmethod
+cmp
+coerce
+compile
+complex
+continue
+copyright
+credits
+def
+del
+delattr
+dict
+dir
+divmod
+elif
+else
+enumerate
+eval
+except
+exec
+execfile
+exit
+file
+filter
+finally
+float
+for
+format
+from
+frozenset
+getattr
+global
+globals
+hasattr
+hash
+help
+hex
+id
+if
+import
+in
+input
+int
+intern
+is
+isinstance
+issubclass
+iter
+lambda
+len
+license
+list
+locals
+long
+map
+max
+memoryview
+min
+next
+not
+object
+oct
+open
+or
+ord
+pass
+pow
+print
+property
+quit
+raise
+range
+raw_input
+reduce
+reload
+repr
+return
+reversed
+round
+set
+setattr
+slice
+sorted
+staticmethod
+str
+sum
+super
+try
+tuple
+type
+unichr
+unicode
+vars
+while
+with
+xrange
+yield
+zip
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/ruby-mode b/.emacs.d/elpa/auto-complete-1.4/dict/ruby-mode
new file mode 100644
index 0000000..90b4fc9
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/ruby-mode
@@ -0,0 +1,181 @@
+$!
+$"
+$$
+$&
+$'
+$*
+$+
+$,
+$-0
+$-F
+$-I
+$-K
+$-a
+$-d
+$-i
+$-l
+$-p
+$-v
+$-w
+$.
+$/
+$0
+$1
+$10
+$11
+$2
+$3
+$4
+$5
+$6
+$7
+$8
+$9
+$:
+$;
+$<
+$=
+$>
+$?
+$@
+$DEBUG
+$FILENAME
+$KCODE
+$LOADED_FEATURES
+$LOAD_PATH
+$PROGRAM_NAME
+$SAFE
+$VERBOSE
+$\
+$_
+$`
+$deferr
+$defout
+$stderr
+$stdin
+$stdout
+$~
+ARGF
+ARGV
+Array
+BEGIN
+DATA
+END
+ENV
+FALSE
+Float
+Integer
+NIL
+PLATFORM
+RELEASE_DATE
+RUBY_COPYRIGHT
+RUBY_DESCRIPTION
+RUBY_PATCHLEVEL
+RUBY_PLATFORM
+RUBY_RELEASE_DATE
+RUBY_VERSION
+SCRIPT_LINES__
+STDERR
+STDIN
+STDOUT
+String
+TOPLEVEL_BINDING
+TRUE
+VERSION
+__method__
+`
+abort
+alias
+and
+at_exit
+autoload
+autoload?
+begin
+binding
+block_given
+break
+callcc
+caller
+case
+catch
+chomp
+chomp!
+chop
+chop
+class
+def
+defined?
+do
+else
+elsif
+end
+ensure
+eval
+exec
+exit
+exit!
+fail
+false
+for
+fork
+format
+getc
+gets
+global_variables
+gsub
+gsub!
+if
+in
+iterator?
+lambda
+load
+local_varaibles
+loop
+module
+next
+nil
+not
+open
+or
+p
+printf
+proc
+putc
+puts
+raise
+rand
+readline
+readlines
+redo
+require
+require_relative
+rescue
+retry
+return
+scan
+select
+self
+set_trace_func
+sleep
+split
+sprintf
+srand
+sub
+sub!
+super
+syscall
+system
+test
+then
+throw
+trace_var
+trap
+true
+undef
+unless
+until
+untrace_var
+warn
+when
+while
+yield
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/scheme-mode b/.emacs.d/elpa/auto-complete-1.4/dict/scheme-mode
new file mode 100644
index 0000000..e5cca61
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/scheme-mode
@@ -0,0 +1,216 @@
+case-lambda
+call/cc
+class
+define-class
+exit-handler
+field
+import
+inherit
+init-field
+interface
+let*-values
+let-values
+let/ec
+mixin
+opt-lambda
+override
+protect
+provide
+public
+rename
+require
+require-for-syntax
+syntax
+syntax-case
+syntax-error
+unit/sig
+unless
+when
+with-syntax
+and
+begin
+call-with-current-continuation
+call-with-input-file
+call-with-output-file
+case
+cond
+define
+define-syntax
+delay
+do
+dynamic-wind
+else
+for-each
+if
+lambda
+let
+let*
+let-syntax
+letrec
+letrec-syntax
+map
+or
+syntax-rules
+abs
+acos
+angle
+append
+apply
+asin
+assoc
+assq
+assv
+atan
+boolean?
+caar
+cadr
+call-with-input-file
+call-with-output-file
+call-with-values
+car
+cdddar
+cddddr
+cdr
+ceiling
+char->integer
+char-alphabetic?
+char-ci<=?
+char-ci
+char-ci=?
+char-ci>=?
+char-ci>?
+char-downcase
+char-lower-case?
+char-numeric?
+char-ready?
+char-upcase
+char-upper-case?
+char-whitespace?
+char<=?
+char
+char=?
+char>=?
+char>?
+char?
+close-input-port
+close-output-port
+complex?
+cons
+cos
+current-input-port
+current-output-port
+denominator
+display
+eof-object?
+eq?
+equal?
+eqv?
+eval
+even?
+exact->inexact
+exact?
+exp
+expt
+#f
+floor
+force
+gcd
+imag-part
+inexact->exact
+inexact?
+input-port?
+integer->char
+integer?
+interaction-environment
+lcm
+length
+list
+list->string
+list->vector
+list-ref
+list-tail
+list?
+load
+log
+magnitude
+make-polar
+make-rectangular
+make-string
+make-vector
+max
+member
+memq
+memv
+min
+modulo
+negative?
+newline
+not
+null-environment
+null?
+number->string
+number?
+numerator
+odd?
+open-input-file
+open-output-file
+output-port?
+pair?
+peek-char
+port?
+positive?
+procedure?
+quasiquote
+quote
+quotient
+rational?
+rationalize
+read
+read-char
+real-part
+real?
+remainder
+reverse
+round
+scheme-report-environment
+set!
+set-car!
+set-cdr!
+sin
+sqrt
+string
+string->list
+string->number
+string->symbol
+string-append
+string-ci<=?
+string-ci
+string-ci=?
+string-ci>=?
+string-ci>?
+string-copy
+string-fill!
+string-length
+string-ref
+string-set!
+string<=?
+string
+string=?
+string>=?
+string>?
+string?
+substring
+symbol->string
+symbol?
+#t
+tan
+transcript-off
+transcript-on
+truncate
+values
+vector
+vector->list
+vector-fill!
+vector-length
+vector-ref
+vector-set!
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/sh-mode b/.emacs.d/elpa/auto-complete-1.4/dict/sh-mode
new file mode 100644
index 0000000..df66ae3
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/sh-mode
@@ -0,0 +1,182 @@
+# Bash Family Shell Dictionary
+# http://www.gnu.org/software/bash/manual/bash.html
+
+.
+:
+[
+alias
+bg
+bind
+break
+builtin
+caller
+cd
+command
+compgen
+complete
+compopt
+continue
+declare
+dirs
+disown
+echo
+enable
+eval
+exec
+exit
+export
+fc
+fg
+getopts
+hash
+help
+history
+jobs
+kill
+let
+local
+logout
+mapfile
+popd
+printf
+pushd
+pwd
+read
+readarray
+readonly
+return
+set
+shift
+shopt
+source
+suspend
+test
+times
+trap
+type
+typeset
+ulimit
+umask
+unalias
+unset
+wait
+!
+[[
+]]
+case
+do
+done
+elif
+else
+esac
+fi
+for
+function
+if
+in
+select
+then
+time
+until
+while
+{
+}
+!
+#
+$
+*
+-
+0
+?
+@
+_
+BASH
+BASH_ALIASES
+BASH_ARGC
+BASH_ARGV
+BASH_CMDS
+BASH_COMMAND
+BASH_ENV
+BASH_EXECUTION_STRING
+BASH_LINENO
+BASH_REMATCH
+BASH_SOURCE
+BASH_SUBSHELL
+BASH_VERSINFO
+BASH_VERSION
+BASH_XTRACEFD
+BASHOPTS
+BASHPID
+CDPATH
+COLUMNS
+COMP_CWORD
+COMP_KEY
+COMP_LINE
+COMP_POINT
+COMP_TYPE
+COMP_WORDBREAKS
+COMP_WORDS
+COMPREPLY
+DIRSTACK
+EMACS
+EUID
+FCEDIT
+FIGNORE
+FUNCNAME
+GLOBIGNORE
+GROUPS
+HISTCMD
+HISTCONTROL
+HISTFILE
+HISTFILESIZE
+HISTIGNORE
+HISTSIZE
+HISTTIMEFORMAT
+HOME
+HOSTFILE
+HOSTNAME
+HOSTTYPE
+IFS
+IGNOREEOF
+INPUTRC
+LANG
+LC_ALL
+LC_COLLATE
+LC_CTYPE
+LC_MESSAGES
+LC_MESSAGES
+LC_NUMERIC
+LINENO
+LINES
+MACHTYPE
+MAIL
+MAILCHECK
+MAILPATH
+OLDPWD
+OPTARG
+OPTERR
+OPTIND
+OSTYPE
+PATH
+PIPESTATUS
+POSIXLY_CORRECT
+PPID
+PROMPT_COMMAND
+PROMPT_DIRTRIM
+PS1
+PS2
+PS3
+PS4
+PWD
+RANDOM
+REPLY
+SECONDS
+SHELL
+SHELLOPTS
+SHLVL
+TEXTDOMAIN
+TEXTDOMAINDIR
+TIMEFORMAT
+TMOUT
+TMPDIR
+UID
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/tcl-mode b/.emacs.d/elpa/auto-complete-1.4/dict/tcl-mode
new file mode 100644
index 0000000..58c0255
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/tcl-mode
@@ -0,0 +1,172 @@
+after
+append
+apply
+array
+auto_execok
+auto_import
+auto_load
+auto_load_index
+auto_mkindex
+auto_mkindex_old
+auto_qualify
+auto_reset
+bell
+binary
+bind
+bindtags
+break
+button
+canvas
+case
+catch
+cd
+chan
+checkbutton
+clipboard
+clock
+close
+concat
+continue
+destroy
+dict
+encoding
+entry
+eof
+error
+eval
+event
+exec
+exit
+expr
+fblocked
+fconfigure
+fcopy
+file
+fileevent
+flush
+focus
+font
+for
+foreach
+format
+frame
+gets
+glob
+global
+grab
+grid
+if
+image
+incr
+info
+interp
+join
+label
+labelframe
+lappend
+lassign
+lindex
+linsert
+list
+listbox
+llength
+load
+lower
+lrange
+lrepeat
+lreplace
+lreverse
+lsearch
+lset
+lsort
+menu
+menubutton
+message
+namespace
+open
+option
+pack
+package
+panedwindow
+pid
+pkg_mkIndex
+place
+proc
+puts
+pwd
+radiobutton
+raise
+read
+regexp
+registry
+regsub
+rename
+return
+scale
+scan
+scrollbar
+seek
+selection
+set
+socket
+source
+spinbox
+split
+string
+subst
+switch
+tclLog
+tclPkgSetup
+tclPkgUnknown
+tcl_findLibrary
+tell
+text
+time
+tk
+tk_chooseColor
+tk_chooseDirectory
+tk_getOpenFile
+tk_getSaveFile
+tk_menuSetFocus
+tk_messageBox
+tk_popup
+tk_textCopy
+tk_textCut
+tk_textPaste
+tkwait
+toplevel
+ttk::button
+ttk::checkbutton
+ttk::combobox
+ttk::entry
+ttk::focusFirst
+ttk::frame
+ttk::label
+ttk::labelframe
+ttk::menubutton
+ttk::notebook
+ttk::paned
+ttk::panedwindow
+ttk::progressbar
+ttk::radiobutton
+ttk::scale
+ttk::scrollbar
+ttk::separator
+ttk::setTheme
+ttk::sizegrip
+ttk::style
+ttk::takefocus
+ttk::themes
+ttk::treeview
+trace
+unknown
+unload
+unset
+update
+uplevel
+upvar
+variable
+vwait
+while
+winfo
+wm
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/ts-mode b/.emacs.d/elpa/auto-complete-1.4/dict/ts-mode
new file mode 100644
index 0000000..ffe377f
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/ts-mode
@@ -0,0 +1,797 @@
+absRefPrefix
+accessibility
+accessibilityWrap
+accessKey
+ACT
+ACTIFSUB
+ACTIVSUBRO
+ACTRO
+addAttributes
+addExtUrlsAndShortCuts
+additionalHeaders
+additionalParams
+addParams
+addQueryString
+addQueryString
+adjustItemsH
+adjustSubItemsH
+adminPanelStyles
+after
+age
+align
+align.field
+all
+allowedAttribs
+allowedGroups
+allowEdit
+allowNew
+allowTags
+allStdWrap
+allWrap
+alternativeSortingField
+alternativeTempPath
+altImgResource
+altTarget
+altText
+alwaysActivePIDlist
+alwaysLink
+andWhere
+angle
+antiAlias
+append
+applyTotalH
+applyTotalW
+arrayReturnMode
+arrowACT
+arrowImgParams
+arrowNO
+ATagBeforeWrap
+ATagParams
+ATagTitle
+atLeast
+atMost
+authcodeFields
+autoInsertPID
+autostart
+backColor
+badMess
+base64
+baseURL
+beforeImg
+beforeImgLink
+beforeImgTagParams
+beforeROImg
+beforeWrap
+begin
+begin
+beginAtLevel
+beLoginLinkIPList
+beLoginLinkIPList_login
+beLoginLinkIPList_logout
+beUserLogin
+bgImg
+blankStrEqFalse
+blur
+bm
+bodyTag
+bodyTag
+bodyTagAdd
+bodyTagCObject
+bodyTagMargins
+border
+border
+borderCol
+bordersWithin
+borderThick
+bottomContent
+bottomHeight
+br
+breakSpace
+breakWidth
+brTag
+bytes
+c
+cache_clearAtMidnight
+cached
+cache_period
+caption
+captionAlign
+captionSplit
+case
+case
+CASE
+casesensitiveComp
+cellpadding
+cellspacing
+char
+charcoal
+clearCacheOfPages
+cMargins
+COA
+COA_INT
+cObject
+cObjNum
+code
+collapse
+color
+color1
+color2
+color3
+color.default
+color.field
+colRelations
+cols
+cols
+colSpace
+COLUMNS
+COMMENT
+commentWrap
+compensateFieldWidth
+compX
+compY
+concatenateJsAndCss
+conf
+config
+config
+CONFIG
+constants
+CONTENT
+content_fallback
+content_from_pid_allowOutsideDomain
+controllerActionName
+controllerExtensionName
+controllerName
+crop
+cropHTML
+csConv
+cssInline
+CSS_inlineStyle
+CTABLE
+CUR
+CURIFSUB
+CURIFSUBRO
+current
+CURRO
+cWidth
+data
+dataArray
+dataWrap
+date
+debug
+debugData
+debugFunc
+debugItemConf
+debugRenumberedObject
+decimals
+dec_point
+default
+defaultAlign
+defaultCmd
+defaultCode
+defaultGetVars
+delete
+denyTags
+depth
+dimensions
+directImageLink
+directionLeft
+directionUp
+directReturn
+disableAllHeaderCode
+disableAltText
+disableCharsetHeader
+disableImgBorderAttr
+disablePageExternalUrl
+disablePrefixComment
+disablePreviewNotification
+displayActiveOnLoad
+displayActiveOnLoad
+displayrecord
+distributeX
+distributeY
+doctype
+doctypeSwitch
+doNotLinkIt
+doNotShowLink
+doNotStripHTML
+dontCheckPid
+dontFollowMouse
+dontHideOnMouseUp
+dontLinkIfSubmenu
+dontMd5FieldNames
+dontWrapInTable
+doubleBrTag
+doublePostCheck
+dWorkArea
+edge
+edit
+editIcons
+editIcons
+editPanel
+EDITPANEL
+EDITPANEL
+effects
+email
+emailMess
+emboss
+emptyTitleHandling
+emptyTitleHandling
+emptyTitleHandling
+enable
+enableContentLengthHeader
+encapsLines
+encapsLinesStdWrap
+encapsTagList
+entryLevel
+equalH
+equals
+evalErrors
+evalFunc
+excludeDoktypes
+excludeNoSearchPages
+excludeUidList
+expAll
+explode
+ext
+extbase
+externalBlocks
+extOnReady
+extTarget
+face.default
+face.field
+FEData
+fe_userEditSelf
+fe_userOwnSelf
+field
+fieldPrefix
+fieldRequired
+fieldWrap
+file
+FILE
+filelink
+fileList
+fileTarget
+firstLabel
+firstLabelGeneral
+flip
+flop
+foldSpeed
+foldTimer
+fontFile
+fontSize
+fontSizeMultiplicator
+fontTag
+footerData
+forceAbsoluteUrl
+forceTypeValue
+FORM
+format
+formName
+formurl
+frame
+frameReloadIfNotInFrameset
+frameSet
+freezeMouseover
+ftu
+gamma
+gapBgCol
+gapLineCol
+gapLineThickness
+gapWidth
+gif
+GIFBUILDER
+globalNesting
+GMENU
+goodMess
+gray
+gr_list
+groupBy
+headerComment
+headerData
+headTag
+height
+hiddenFields
+hide
+hideButCreateMap
+hideMenuTimer
+hideMenuWhenNotOver
+hideNonTranslated
+highColor
+HMENU
+hover
+hoverStyle
+HRULER
+HTML
+html5
+htmlmail
+HTMLparser
+htmlSpecialChars
+htmlTag_dir
+htmlTag_langKey
+htmlTag_setParams
+http
+icon
+iconCObject
+icon_image_ext_list
+icon_link
+icon_thumbSize
+if
+ifBlank
+ifEmpty
+IFSUB
+IFSUBRO
+ignore
+IMAGE
+image_compression
+image_effects
+image_frames
+imgList
+imgMap
+imgMapExtras
+imgMax
+imgNameNotRandom
+imgNamePrefix
+imgObjNum
+imgParams
+imgPath
+imgStart
+IMGTEXT
+import
+inBranch
+includeCSS
+includeJS
+includeJSFooter
+includeJSFooterlibs
+includeJSlibs
+includeLibrary
+includeLibs
+includeNotInMenu
+incT3Lib_htmlmail
+index_descrLgd
+index_enable
+index_externals
+index_metatags
+infomail
+inlineJS
+inlineLanguageLabel
+inlineSettings
+inlineStyle2TempFile
+innerStdWrap_all
+innerWrap
+innerWrap2
+inputLevels
+insertClassesFromRTE
+insertData
+intensity
+intTarget
+intval
+invert
+IProcFunc
+isFalse
+isGreaterThan
+isInList
+isLessThan
+isPositive
+isTrue
+itemArrayProcFunc
+items
+iterations
+javascriptLibs
+join
+jpg
+jsFooterInline
+jsInline
+JSMENU
+JSwindow
+JSwindow.altUrl
+JSwindow.altUrl_noDefaultParams
+JSwindow.expand
+JSwindow.newWindow
+JSwindow_params
+jumpurl
+jumpurl_enable
+jumpurl_mailto_disable
+keep
+keepNonMatchedTags
+keywords
+keywordsField
+labelStdWrap
+labelWrap
+lang
+language
+language_alt
+languageField
+layer_menu_id
+layerStyle
+layout
+layoutRootPath
+leftjoin
+leftOffset
+levels
+limit
+lineColor
+lineThickness
+linkAccessRestrictedPages
+linkParams
+linkVars
+linkWrap
+list
+listNum
+lm
+LOAD_REGISTER
+locale_all
+localNesting
+locationData
+lockFilePath
+lockPosition
+lockPosition_addSelf
+lockPosition_adjust
+loginUser
+longdescURL
+loop
+lowColor
+lower
+mailto
+main
+mainScript
+makelinks
+markers
+markerWrap
+mask
+max
+maxAge
+maxH
+maxHeight
+maxItems
+maxW
+maxWidth
+maxWInText
+m.bgImg
+m.bottomImg
+m.bottomImg_mask
+md5
+meaningfulTempFilePrefix
+menuBackColor
+menuHeight
+menuOffset
+menuWidth
+message_page_is_being_generated
+message_preview
+message_preview_workspace
+meta
+metaCharset
+method
+minH
+minifyCSS
+minifyJS
+minItems
+minItems
+minW
+m.mask
+moveJsFromHeaderToFooter
+MP_defaults
+MP_disableTypolinkClosestMPvalue
+MP_mapRootPoints
+MULTIMEDIA
+name
+namespaces
+negate
+newRecordFromTable
+newRecordInPid
+next
+niceText
+NO
+noAttrib
+noBlur
+no_cache
+noCols
+noLink
+noLinkUnderline
+nonCachedSubst
+none
+nonTypoTagStdWrap
+nonTypoTagUserFunc
+nonWrappedTag
+noOrderBy
+noPageTitle
+noResultObj
+normalWhenNoLanguage
+noRows
+noScale
+noScaleUp
+noscript
+noStretchAndMarginCells
+notification_email_charset
+notification_email_encoding
+notification_email_urlmode
+noTrimWrap
+noValueInsert
+noWrapAttr
+numberFormat
+numRows
+obj
+offset
+offset
+_offset
+offsetWrap
+onlyCurrentPid
+opacity
+options
+orderBy
+OTABLE
+outerWrap
+outline
+output
+outputLevels
+override
+overrideAttribs
+overrideEdit
+overrideId
+PAGE
+pageGenScript
+pageRendererTemplateFile
+pageTitleFirst
+parameter
+params
+parseFunc
+parseFunc
+parseValues
+partialRootPath
+path
+pidInList
+pixelSpaceFontSizeRef
+plainTextStdWrap
+pluginNames
+png
+postCObject
+postUserFunc
+postUserFunkInt
+preCObject
+prefixComment
+prefixLocalAnchors
+prefixLocalAnchors
+prefixRelPathWith
+preIfEmptyListNum
+prepend
+preUserFunc
+prev
+previewBorder
+printBeforeContent
+prioriCalc
+processScript
+properties
+protect
+protectLvar
+quality
+quality
+radioInputWrap
+radioWrap
+range
+range
+rawUrlEncode
+recipient
+RECORDS
+recursive
+redirect
+reduceColors
+relativeToParentLayer
+relativeToTriggerItem
+relPathPrefix
+remap
+remapTag
+removeBadHTML
+removeDefaultJS
+removeIfEquals
+removeIfFalse
+removeObjectsOfDummy
+removePrependedNumbers
+removeTags
+removeWrapping
+renderCharset
+renderObj
+renderWrap
+REQ
+required
+required
+resources
+resultObj
+returnKey
+returnLast
+reverseOrder
+rightjoin
+rm
+rmTagIfNoAttrib
+RO_chBgColor
+rootline
+rotate
+rows
+rowSpace
+sample
+sample
+section
+sectionIndex
+select
+sendCacheHeaders
+sendCacheHeaders_onlyWhenLoginDeniedInBranch
+separator
+setContentToCurrent
+setCurrent
+setfixed
+setFixedHeight
+setFixedWidth
+setJS_mouseOver
+setJS_openPic
+setKeywords
+shadow
+sharpen
+shear
+short
+shortcutIcon
+showAccessRestrictedPages
+showActive
+showFirst
+simulateStaticDocuments
+simulateStaticDocuments_addTitle
+simulateStaticDocuments_dontRedirectPathInfoError
+simulateStaticDocuments_noTypeIfNoTitle
+simulateStaticDocuments_pEnc
+simulateStaticDocuments_pEnc_onlyP
+simulateStaticDocuments_replacementChar
+sitetitle
+size
+size.default
+size.field
+slide
+smallFormFields
+solarize
+source
+space
+spaceAfter
+spaceBefore
+spaceBelowAbove
+spaceLeft
+spaceRight
+spacing
+spamProtectEmailAddresses
+spamProtectEmailAddresses_atSubst
+spamProtectEmailAddresses_lastDotSubst
+SPC
+special
+split
+splitRendering
+src
+stat
+stat_apache
+stat_apache_logfile
+stat_apache_niceTitle
+stat_apache_noHost
+stat_apache_noRoot
+stat_apache_notExtended
+stat_apache_pagenames
+stat_excludeBEuserHits
+stat_excludeIPList
+stat_mysql
+stat_pageLen
+stat_titleLen
+stat_typeNumList
+stayFolded
+stdWrap
+stdWrap2
+strftime
+stripHtml
+stripProfile
+stylesheet
+submenuObjSuffixes
+subMenuOffset
+subparts
+subst_elementUid
+subst_elementUid
+substMarksSeparately
+substring
+swirl
+sword
+sword_noMixedCase
+sword_standAlone
+sys_language_mode
+sys_language_overlay
+sys_language_softExclude
+sys_language_softMergeIfNotBlank
+sys_language_uid
+sys_page
+table
+tableParams
+tables
+tableStdWrap
+tableStyle
+tags
+target
+TCAselectItem
+TDparams
+template
+TEMPLATE
+templateFile
+text
+TEXT
+textMargin
+textMargin_outOfText
+textMaxLength
+textObjNum
+textPos
+textStyle
+thickness
+thousands_sep
+title
+titleTagFunction
+titleText
+titleText
+tm
+TMENU
+token
+topOffset
+totalWidth
+transparentBackground
+transparentColor
+trim
+twice
+typeNum
+types
+typolink
+typolinkCheckRootline
+typolinkEnableLinksAcrossDomains
+typolinkLinkAccessRestrictedPages
+typolinkLinkAccessRestrictedPages_addParams
+uid
+uidInList
+uniqueGlobal
+uniqueLinkVars
+uniqueLocal
+unset
+unsetEmpty
+upper
+url
+useCacheHash
+useLargestItemX
+useLargestItemY
+USER
+USERDEF1
+USERDEF1RO
+USERDEF2RO
+USERFEF2
+userFunc
+userFunc_updateArray
+userIdColumn
+USER_INT
+USERNAME_substToken
+USERUID_substToken
+USR
+USRRO
+value
+variables
+wave
+where
+width
+wordSpacing
+workArea
+workOnSubpart
+wrap
+wrap2
+wrap3
+wrapAlign
+wrapFieldName
+wrapItemAndSub
+wrapNoWrappedLines
+wraps
+xhtml_11
+xhtml_2
+xhtml_basic
+xhtml_cleaning
+xhtmlDoctype
+xhtml_frames
+xhtml+rdfa_10
+xhtml_strict
+xhtml_trans
+xml_10
+xml_11
+xmlprologue
+xPosOffset
+yPosOffset
diff --git a/.emacs.d/elpa/auto-complete-1.4/dict/tuareg-mode b/.emacs.d/elpa/auto-complete-1.4/dict/tuareg-mode
new file mode 100644
index 0000000..e709f9f
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/dict/tuareg-mode
@@ -0,0 +1,231 @@
+# OCaml 3.12.1
+
+# Keywords
+and
+as
+assert
+begin
+class
+constraint
+do
+done
+downto
+else
+end
+exception
+external
+false
+for
+fun
+function
+functor
+if
+in
+include
+inherit
+initializer
+lazy
+let
+match
+method
+module
+mutable
+new
+object
+of
+open
+or
+private
+rec
+sig
+struct
+then
+to
+true
+try
+type
+val
+virtual
+when
+while
+with
+
+# Pervasives
+!
+!=
+&
+&&
+*
+**
+*.
++
++.
+-
+-.
+/
+/.
+:=
+<
+<=
+<>
+=
+==
+>
+>=
+@
+FP_infinite
+FP_nan
+FP_normal
+FP_subnormal
+FP_zero
+LargeFile
+Open_append
+Open_binary
+Open_creat
+Open_nonblock
+Open_rdonly
+Open_text
+Open_trunc
+Open_wronly
+Oupen_excl
+^
+^^
+abs
+abs_float
+acos
+asin
+asr
+at_exit
+atan
+atan2
+bool_of_string
+ceil
+char_of_int
+classify_float
+close_in
+close_in_noerr
+close_out
+close_out_noerr
+compare
+cos
+cosh
+decr
+do_at_exit
+epsilon_float
+exit
+exp
+expm1
+failwith
+float
+float_of_int
+float_of_string
+floor
+flush
+flush_all
+format
+format4
+format_of_string
+fpclass
+frexp
+fst
+ignore
+in_channel
+in_channel_length
+incr
+infinity
+input
+input_binary_int
+input_byte
+input_char
+input_line
+input_value
+int_of_char
+int_of_float
+int_of_string
+invalid_arg
+land
+ldexp
+lnot
+log
+log10
+log1p
+lor
+lsl
+lsr
+lxor
+max
+max_float
+max_int
+min
+min_float
+min_int
+mod
+mod_float
+modf
+nan
+neg_infinity
+not
+open_flag
+open_in
+open_in_bin
+open_in_gen
+open_out
+open_out_bin
+open_out_gen
+or
+out_channel
+out_channel_length
+output
+output_binary_int
+output_byte
+output_char
+output_string
+output_value
+pos_in
+pos_out
+pred
+prerr_char
+prerr_endline
+prerr_float
+prerr_int
+prerr_newline
+prerr_string
+print_char
+print_endline
+print_float
+print_int
+print_newline
+print_string
+raise
+read_float
+read_int
+read_line
+really_input
+ref
+seek_in
+seek_out
+set_binary_mode_in
+set_binary_mode_out
+sin
+sinh
+snd
+sqrt
+stderr
+stdin
+stdout
+string_of_bool
+string_of_float
+string_of_format
+string_of_int
+succ
+tan
+tanh
+truncate
+unsafe_really_input
+valid_float_lexem
+||
+~
+~+
+~+.
+~-
+~-.
diff --git a/.emacs.d/elpa/auto-complete-1.4/doc/ac-fuzzy.png b/.emacs.d/elpa/auto-complete-1.4/doc/ac-fuzzy.png
new file mode 100644
index 0000000..9940fa7
Binary files /dev/null and b/.emacs.d/elpa/auto-complete-1.4/doc/ac-fuzzy.png differ
diff --git a/.emacs.d/elpa/auto-complete-1.4/doc/ac-isearch.png b/.emacs.d/elpa/auto-complete-1.4/doc/ac-isearch.png
new file mode 100644
index 0000000..e2ce709
Binary files /dev/null and b/.emacs.d/elpa/auto-complete-1.4/doc/ac-isearch.png differ
diff --git a/.emacs.d/elpa/auto-complete-1.4/doc/ac.png b/.emacs.d/elpa/auto-complete-1.4/doc/ac.png
new file mode 100644
index 0000000..f304e09
Binary files /dev/null and b/.emacs.d/elpa/auto-complete-1.4/doc/ac.png differ
diff --git a/.emacs.d/elpa/auto-complete-1.4/doc/style.css b/.emacs.d/elpa/auto-complete-1.4/doc/style.css
new file mode 100644
index 0000000..3867312
--- /dev/null
+++ b/.emacs.d/elpa/auto-complete-1.4/doc/style.css
@@ -0,0 +1,27 @@
+body {
+ margin: 1em;
+}
+
+h1, h2, h3 {
+ margin-top: 1em;
+}
+
+pre {
+ margin: 0.5em 2em;
+ padding: 0.5em;
+ background-color: #eee;
+ border: 1px solid #ddd;
+}
+
+table {
+ margin-left: 1em;
+ background-color: lightgray;
+}
+
+td, th {
+ padding: 0.3em;
+}
+
+td {
+ background-color: white;
+}
diff --git a/.emacs.d/elpa/popup-0.5/popup-autoloads.el b/.emacs.d/elpa/popup-0.5/popup-autoloads.el
new file mode 100644
index 0000000..7c343c2
--- /dev/null
+++ b/.emacs.d/elpa/popup-0.5/popup-autoloads.el
@@ -0,0 +1,18 @@
+;;; popup-autoloads.el --- automatically extracted autoloads
+;;
+;;; Code:
+
+
+;;;### (autoloads nil nil ("popup-pkg.el" "popup.el") (21124 7749
+;;;;;; 736000))
+
+;;;***
+
+(provide 'popup-autoloads)
+;; Local Variables:
+;; version-control: never
+;; no-byte-compile: t
+;; no-update-autoloads: t
+;; coding: utf-8
+;; End:
+;;; popup-autoloads.el ends here
diff --git a/.emacs.d/elpa/popup-0.5/popup-pkg.el b/.emacs.d/elpa/popup-0.5/popup-pkg.el
new file mode 100644
index 0000000..bcb89b0
--- /dev/null
+++ b/.emacs.d/elpa/popup-0.5/popup-pkg.el
@@ -0,0 +1 @@
+(define-package "popup" "0.5" "Visual Popup User Interface" (quote nil))
diff --git a/.emacs.d/elpa/popup-0.5/popup.el b/.emacs.d/elpa/popup-0.5/popup.el
new file mode 100644
index 0000000..8a50293
--- /dev/null
+++ b/.emacs.d/elpa/popup-0.5/popup.el
@@ -0,0 +1,1295 @@
+;;; popup.el --- Visual Popup User Interface
+
+;; Copyright (C) 2009, 2010, 2011, 2012 Tomohiro Matsuyama
+
+;; Author: Tomohiro Matsuyama
+;; Keywords: lisp
+;; Version: 0.5
+
+;; 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 .
+
+;;; Commentary:
+
+;; popup.el is a visual popup user interface library for Emacs. This
+;; provides a basic API and common UI widgets such as popup tooltips
+;; and popup menus.
+;; See README.markdown for more information.
+
+;;; Code:
+
+(require 'cl)
+
+
+
+;;; Utilities
+
+(defvar popup-use-optimized-column-computation t
+ "Use the optimized column computation routine.
+If there is a problem, please set it nil.")
+
+(defmacro popup-aif (test then &rest else)
+ "Anaphoric if."
+ (declare (indent 2))
+ `(let ((it ,test))
+ (if it ,then ,@else)))
+
+(defmacro popup-awhen (test &rest body)
+ "Anaphoric when."
+ (declare (indent 1))
+ `(let ((it ,test))
+ (when it ,@body)))
+
+(defun popup-x-to-string (x)
+ "Convert any object to string effeciently.
+This is faster than `prin1-to-string' in many cases."
+ (typecase x
+ (string x)
+ (symbol (symbol-name x))
+ (integer (number-to-string x))
+ (float (number-to-string x))
+ (t (format "%s" x))))
+
+(defun popup-substring-by-width (string width)
+ "Return a cons cell of substring and remaining string by
+splitting with WIDTH."
+ ;; Expand tabs into 4 spaces
+ (setq string (replace-regexp-in-string "\t" " " string))
+ (loop with len = (length string)
+ with w = 0
+ for l from 0
+ for c in (append string nil)
+ while (<= (incf w (char-width c)) width)
+ finally return
+ (if (< l len)
+ (cons (substring string 0 l) (substring string l))
+ (list string))))
+
+(defun popup-fill-string (string &optional width max-width justify squeeze)
+ "Split STRING into fixed width strings and return a cons cell
+like \(WIDTH . ROWS). Here, the car WIDTH indicates the actual
+maxim width of ROWS.
+
+The argument WIDTH specifies the width of filling each
+paragraph. WIDTH nil means don't perform any justification and
+word wrap. Note that this function doesn't add any padding
+characters at the end of each row.
+
+MAX-WIDTH, if WIDTH is nil, specifies the maximum number of
+columns.
+
+The optional fourth argument JUSTIFY specifies which kind of
+justification to do: `full', `left', `right', `center', or
+`none' (equivalent to nil). A value of t means handle each
+paragraph as specified by its text properties.
+
+SQUEEZE nil means leave whitespaces other than line breaks
+untouched."
+ (if (eq width 0)
+ (error "Can't fill string with 0 width"))
+ (if width
+ (setq max-width width))
+ (with-temp-buffer
+ (let ((tab-width 4)
+ (fill-column width)
+ (left-margin 0)
+ (kinsoku-limit 1)
+ indent-tabs-mode
+ row rows)
+ (insert string)
+ (untabify (point-min) (point-max))
+ (if width
+ (fill-region (point-min) (point-max) justify (not squeeze)))
+ (goto-char (point-min))
+ (setq width 0)
+ (while (prog2
+ (let ((line (buffer-substring
+ (point) (progn (end-of-line) (point)))))
+ (if max-width
+ (while (progn
+ (setq row (truncate-string-to-width line max-width)
+ width (max width (string-width row)))
+ (push row rows)
+ (if (not (= (length row) (length line)))
+ (setq line (substring line (length row))))))
+ (setq width (max width (string-width line)))
+ (push line rows)))
+ (< (point) (point-max))
+ (beginning-of-line 2)))
+ (cons width (nreverse rows)))))
+
+(defmacro popup-save-buffer-state (&rest body)
+ (declare (indent 0))
+ `(save-excursion
+ (let ((buffer-undo-list t)
+ (buffer-read-only nil)
+ (modified (buffer-modified-p)))
+ (unwind-protect
+ (progn ,@body)
+ (set-buffer-modified-p modified)))))
+
+(defun popup-preferred-width (list)
+ "Return the preferred width to show LIST beautifully."
+ (loop with tab-width = 4
+ for item in list
+ for summary = (popup-item-summary item)
+ maximize (string-width (popup-x-to-string item)) into width
+ if (stringp summary)
+ maximize (+ (string-width summary) 2) into summary-width
+ finally return
+ (let ((total (+ (or width 0) (or summary-width 0))))
+ (* (ceiling (/ total 10.0)) 10))))
+
+(defun popup-window-full-width-p (&optional window)
+ "A portable version of `window-full-width-p'."
+ (if (fboundp 'window-full-width-p)
+ (window-full-width-p window)
+ (= (window-width window) (frame-width (window-frame (or window (selected-window)))))))
+
+(defun popup-truncated-partial-width-window-p (&optional window)
+ "A portable version of `truncated-partial-width-window-p'."
+ (unless window
+ (setq window (selected-window)))
+ (unless (popup-window-full-width-p window)
+ (let ((t-p-w-w (buffer-local-value 'truncate-partial-width-windows
+ (window-buffer window))))
+ (if (integerp t-p-w-w)
+ (< (window-width window) t-p-w-w)
+ t-p-w-w))))
+
+(defun popup-current-physical-column ()
+ "Return the current physical column."
+ (or (when (and popup-use-optimized-column-computation
+ (eq (window-hscroll) 0))
+ (let ((current-column (current-column)))
+ (if (or (popup-truncated-partial-width-window-p)
+ truncate-lines
+ (< current-column (window-width)))
+ current-column)))
+ (car (posn-col-row (posn-at-point)))))
+
+(defun popup-vertical-motion (column direction)
+ "A portable version of `vertical-motion'."
+ (if (>= emacs-major-version 23)
+ (vertical-motion (cons column direction))
+ (vertical-motion direction)
+ (move-to-column (+ (current-column) column))))
+
+(defun popup-last-line-of-buffer-p ()
+ "Return non-nil if the cursor is at the last line of the
+buffer."
+ (save-excursion (end-of-line) (/= (forward-line) 0)))
+
+(defun popup-lookup-key-by-event (function event)
+ (or (funcall function (vector event))
+ (if (symbolp event)
+ (popup-aif (get event 'event-symbol-element-mask)
+ (funcall function
+ (vector (logior (or (get (car it) 'ascii-character)
+ 0)
+ (cadr it))))))))
+
+
+
+;;; Core
+
+(defgroup popup nil
+ "Visual Popup User Interface"
+ :group 'lisp
+ :prefix "popup-")
+
+(defface popup-face
+ '((t (:background "lightgray" :foreground "black")))
+ "Face for popup."
+ :group 'popup)
+
+(defface popup-scroll-bar-foreground-face
+ '((t (:background "black")))
+ "Foreground face for scroll-bar."
+ :group 'popup)
+
+(defface popup-scroll-bar-background-face
+ '((t (:background "gray")))
+ "Background face for scroll-bar."
+ :group 'popup)
+
+(defvar popup-instances nil
+ "Popup instances.")
+
+(defvar popup-scroll-bar-foreground-char
+ (propertize " " 'face 'popup-scroll-bar-foreground-face)
+ "Foreground character for scroll-bar.")
+
+(defvar popup-scroll-bar-background-char
+ (propertize " " 'face 'popup-scroll-bar-background-face)
+ "Background character for scroll-bar.")
+
+(defstruct popup
+ point row column width height min-height direction overlays keymap
+ parent depth
+ face mouse-face selection-face
+ margin-left margin-right margin-left-cancel scroll-bar symbol
+ cursor offset scroll-top current-height list newlines
+ pattern original-list)
+
+(defun popup-item-propertize (item &rest properties)
+ "Same as `propertize' except that this avoids overriding
+existed value with `nil' property."
+ (loop for (k v) on properties by 'cddr
+ if v append (list k v) into props
+ finally return
+ (apply 'propertize
+ (popup-x-to-string item)
+ props)))
+
+(defun popup-item-property (item property)
+ "Same as `get-text-property' except that this returns nil if
+ITEM is not string."
+ (if (stringp item)
+ (get-text-property 0 property item)))
+
+(defun* popup-make-item (name
+ &key
+ value
+ face
+ mouse-face
+ selection-face
+ sublist
+ document
+ symbol
+ summary)
+ "Utility function to make popup item. See also
+`popup-item-propertize'."
+ (popup-item-propertize name
+ 'value value
+ 'popup-face face
+ 'popup-mouse-face mouse-face
+ 'selection-face selection-face
+ 'document document
+ 'symbol symbol
+ 'summary summary
+ 'sublist sublist))
+
+(defsubst popup-item-value (item) (popup-item-property item 'value))
+(defsubst popup-item-value-or-self (item) (or (popup-item-value item) item))
+(defsubst popup-item-face (item) (popup-item-property item 'popup-face))
+(defsubst popup-item-mouse-face (item) (popup-item-property item 'popup-mouse-face))
+(defsubst popup-item-selection-face (item) (popup-item-property item 'selection-face))
+(defsubst popup-item-document (item) (popup-item-property item 'document))
+(defsubst popup-item-summary (item) (popup-item-property item 'summary))
+(defsubst popup-item-symbol (item) (popup-item-property item 'symbol))
+(defsubst popup-item-sublist (item) (popup-item-property item 'sublist))
+
+(defun popup-item-documentation (item)
+ (let ((doc (popup-item-document item)))
+ (if (functionp doc)
+ (setq doc (funcall doc (popup-item-value-or-self item))))
+ doc))
+
+(defun popup-item-show-help-1 (item)
+ (let ((doc (popup-item-documentation item)))
+ (when doc
+ (with-current-buffer (get-buffer-create " *Popup Help*")
+ (erase-buffer)
+ (insert doc)
+ (goto-char (point-min))
+ (display-buffer (current-buffer)))
+ t)))
+
+(defun popup-item-show-help-with-event-loop (item)
+ (save-window-excursion
+ (when (popup-item-show-help-1 item)
+ (loop do (clear-this-command-keys)
+ for key = (read-key-sequence-vector nil)
+ do
+ (case (key-binding key)
+ ('scroll-other-window
+ (scroll-other-window))
+ ('scroll-other-window-down
+ (scroll-other-window-down nil))
+ (t
+ (setq unread-command-events (append key unread-command-events))
+ (return)))))))
+
+(defun popup-item-show-help (item &optional persist)
+ "Display the documentation of ITEM with `display-buffer'. If
+PERSIST is nil, the documentation buffer will be closed
+automatically, meaning interal event loop ensures the buffer to
+be closed. Otherwise, the buffer will be just displayed as
+usual."
+ (when item
+ (if (not persist)
+ (popup-item-show-help-with-event-loop item)
+ (popup-item-show-help-1 item))))
+
+(defun popup-set-list (popup list)
+ (popup-set-filtered-list popup list)
+ (setf (popup-pattern popup) nil)
+ (setf (popup-original-list popup) list))
+
+(defun popup-set-filtered-list (popup list)
+ (let ((offset
+ (if (> (popup-direction popup) 0)
+ 0
+ (max (- (popup-height popup) (length list)) 0))))
+ (setf (popup-list popup) list
+ (popup-offset popup) offset)))
+
+(defun popup-selected-item (popup)
+ (nth (popup-cursor popup) (popup-list popup)))
+
+(defun popup-selected-line (popup)
+ (- (popup-cursor popup) (popup-scroll-top popup)))
+
+(defun popup-line-overlay (popup line)
+ (aref (popup-overlays popup) line))
+
+(defun popup-selected-line-overlay (popup)
+ (popup-line-overlay popup (popup-selected-line popup)))
+
+(defun popup-hide-line (popup line)
+ (let ((overlay (popup-line-overlay popup line)))
+ (overlay-put overlay 'display nil)
+ (overlay-put overlay 'after-string nil)))
+
+(defun popup-line-hidden-p (popup line)
+ (let ((overlay (popup-line-overlay popup line)))
+ (and (eq (overlay-get overlay 'display) nil)
+ (eq (overlay-get overlay 'after-string) nil))))
+
+(defun* popup-set-line-item (popup line &key item face mouse-face margin-left margin-right scroll-bar-char symbol summary keymap)
+ (let* ((overlay (popup-line-overlay popup line))
+ (content (popup-create-line-string popup (popup-x-to-string item)
+ :margin-left margin-left
+ :margin-right margin-right
+ :symbol symbol
+ :summary summary))
+ (start 0)
+ (prefix (overlay-get overlay 'prefix))
+ (postfix (overlay-get overlay 'postfix))
+ end)
+ (put-text-property 0 (length content) 'popup-item item content)
+ (put-text-property 0 (length content) 'keymap keymap content)
+ ;; Overlap face properties
+ (when (get-text-property start 'face content)
+ (setq start (next-single-property-change start 'face content)))
+ (while (and start (setq end (next-single-property-change start 'face content)))
+ (put-text-property start end 'face face content)
+ (setq start (next-single-property-change end 'face content)))
+ (when start
+ (put-text-property start (length content) 'face face content))
+ (when mouse-face
+ (put-text-property 0 (length content) 'mouse-face mouse-face content))
+ (unless (overlay-get overlay 'dangle)
+ (overlay-put overlay 'display (concat prefix (substring content 0 1)))
+ (setq prefix nil
+ content (concat (substring content 1))))
+ (overlay-put overlay
+ 'after-string
+ (concat prefix
+ content
+ scroll-bar-char
+ postfix))))
+
+(defun* popup-create-line-string (popup string &key margin-left margin-right symbol summary)
+ (let* ((popup-width (popup-width popup))
+ (summary-width (string-width summary))
+ (content-width (- popup-width
+ (if (> summary-width 0)
+ (+ summary-width 2)
+ 0)))
+ (string (car (popup-substring-by-width string content-width)))
+ (string-width (string-width string))
+ (spacing (max (- popup-width string-width summary-width) 0)))
+ (concat margin-left
+ string
+ (make-string spacing ? )
+ summary
+ symbol
+ margin-right)))
+
+(defun popup-live-p (popup)
+ "Return non-nil if POPUP is alive."
+ (and popup (popup-overlays popup) t))
+
+(defun popup-child-point (popup &optional offset)
+ (overlay-end
+ (popup-line-overlay
+ popup
+ (or offset
+ (popup-selected-line popup)))))
+
+(defun popup-calculate-direction (height row)
+ "Return a proper direction when displaying a popup on this
+window. HEIGHT is the a height of the popup, and ROW is a line
+number at the point."
+ (let* ((remaining-rows (- (max 1 (- (window-height)
+ (if mode-line-format 1 0)
+ (if header-line-format 1 0)))
+ (count-lines (window-start) (point))))
+ (enough-space-above (> row height))
+ (enough-space-below (<= height remaining-rows)))
+ (if (and enough-space-above
+ (not enough-space-below))
+ -1
+ 1)))
+
+(defun* popup-create (point
+ width
+ height
+ &key
+ min-height
+ around
+ (face 'popup-face)
+ mouse-face
+ (selection-face face)
+ scroll-bar
+ margin-left
+ margin-right
+ symbol
+ parent
+ parent-offset
+ keymap)
+ "Create a popup instance at POINT with WIDTH and HEIGHT.
+
+MIN-HEIGHT is a minimal height of the popup. The default value is
+0.
+
+If AROUND is non-nil, the popup will be displayed around the
+point but not at the point.
+
+FACE is a background face of the popup. The default value is POPUP-FACE.
+
+SELECTION-FACE is a foreground (selection) face of the popup The
+default value is POPUP-FACE.
+
+If SCROLL-BAR is non-nil, the popup will have a scroll bar at the
+right.
+
+If MARGIN-LEFT is non-nil, the popup will have a margin at the
+left.
+
+If MARGIN-RIGHT is non-nil, the popup will have a margin at the
+right.
+
+SYMBOL is a single character which indicates a kind of the item.
+
+PARENT is a parent popup instance. If PARENT is omitted, the
+popup will be a root instance.
+
+PARENT-OFFSET is a row offset from the parent popup.
+
+KEYMAP is a keymap that will be put on the popup contents."
+ (or margin-left (setq margin-left 0))
+ (or margin-right (setq margin-right 0))
+ (unless point
+ (setq point
+ (if parent (popup-child-point parent parent-offset) (point))))
+
+ (save-excursion
+ (goto-char point)
+ (let* ((row (line-number-at-pos))
+ (column (popup-current-physical-column))
+ (overlays (make-vector height nil))
+ (popup-width (+ width
+ (if scroll-bar 1 0)
+ margin-left
+ margin-right
+ (if symbol 2 0)))
+ margin-left-cancel
+ (window (selected-window))
+ (window-start (window-start))
+ (window-hscroll (window-hscroll))
+ (window-width (window-width))
+ (right (+ column popup-width))
+ (overflow (and (> right window-width)
+ (>= right popup-width)))
+ (foldable (and (null parent)
+ (>= column popup-width)))
+ (direction (or
+ ;; Currently the direction of cascade popup won't be changed
+ (and parent (popup-direction parent))
+
+ ;; Calculate direction
+ (popup-calculate-direction height row)))
+ (depth (if parent (1+ (popup-depth parent)) 0))
+ (newlines (max 0 (+ (- height (count-lines point (point-max))) (if around 1 0))))
+ current-column)
+ ;; Case: no newlines at the end of the buffer
+ (when (> newlines 0)
+ (popup-save-buffer-state
+ (goto-char (point-max))
+ (insert (make-string newlines ?\n))))
+
+ ;; Case: the popup overflows
+ (if overflow
+ (if foldable
+ (progn
+ (decf column (- popup-width margin-left margin-right))
+ (unless around (move-to-column column)))
+ (when (not truncate-lines)
+ ;; Truncate.
+ (let ((d (1+ (- popup-width (- window-width column)))))
+ (decf popup-width d)
+ (decf width d)))
+ (decf column margin-left))
+ (decf column margin-left))
+
+ ;; Case: no space at the left
+ (when (and (null parent)
+ (< column 0))
+ ;; Cancel margin left
+ (setq column 0)
+ (decf popup-width margin-left)
+ (setq margin-left-cancel t))
+
+ (dotimes (i height)
+ (let (overlay begin w (dangle t) (prefix "") (postfix ""))
+ (when around
+ (popup-vertical-motion column direction))
+ (setq around t
+ current-column (popup-current-physical-column))
+
+ (when (> current-column column)
+ (backward-char)
+ (setq current-column (popup-current-physical-column)))
+ (when (< current-column column)
+ ;; Extend short buffer lines by popup prefix (line of spaces)
+ (setq prefix (make-string
+ (+ (if (= current-column 0)
+ (- window-hscroll (current-column))
+ 0)
+ (- column current-column))
+ ? )))
+
+ (setq begin (point))
+ (setq w (+ popup-width (length prefix)))
+ (while (and (not (eolp)) (> w 0))
+ (setq dangle nil)
+ (decf w (char-width (char-after)))
+ (forward-char))
+ (if (< w 0)
+ (setq postfix (make-string (- w) ? )))
+
+ (setq overlay (make-overlay begin (point)))
+ (overlay-put overlay 'window window)
+ (overlay-put overlay 'dangle dangle)
+ (overlay-put overlay 'prefix prefix)
+ (overlay-put overlay 'postfix postfix)
+ (overlay-put overlay 'width width)
+ (aset overlays
+ (if (> direction 0) i (- height i 1))
+ overlay)))
+ (loop for p from (- 10000 (* depth 1000))
+ for overlay in (nreverse (append overlays nil))
+ do (overlay-put overlay 'priority p))
+ (let ((it (make-popup :point point
+ :row row
+ :column column
+ :width width
+ :height height
+ :min-height min-height
+ :direction direction
+ :parent parent
+ :depth depth
+ :face face
+ :mouse-face mouse-face
+ :selection-face selection-face
+ :margin-left margin-left
+ :margin-right margin-right
+ :margin-left-cancel margin-left-cancel
+ :scroll-bar scroll-bar
+ :symbol symbol
+ :cursor 0
+ :offset 0
+ :scroll-top 0
+ :current-height 0
+ :list nil
+ :newlines newlines
+ :overlays overlays
+ :keymap keymap)))
+ (push it popup-instances)
+ it))))
+
+(defun popup-delete (popup)
+ "Delete POPUP instance."
+ (when (popup-live-p popup)
+ (popup-hide popup)
+ (mapc 'delete-overlay (popup-overlays popup))
+ (setf (popup-overlays popup) nil)
+ (setq popup-instances (delq popup popup-instances))
+ ;; Restore newlines state
+ (let ((newlines (popup-newlines popup)))
+ (when (> newlines 0)
+ (popup-save-buffer-state
+ (goto-char (point-max))
+ (dotimes (i newlines)
+ (if (= (char-before) ?\n)
+ (delete-char -1)))))))
+ nil)
+
+(defun popup-draw (popup)
+ "Draw POPUP."
+ (loop with height = (popup-height popup)
+ with min-height = (popup-min-height popup)
+ with popup-face = (popup-face popup)
+ with mouse-face = (popup-mouse-face popup)
+ with selection-face = (popup-selection-face popup)
+ with list = (popup-list popup)
+ with length = (length list)
+ with thum-size = (max (/ (* height height) (max length 1)) 1)
+ with page-size = (/ (+ 0.0 (max length 1)) height)
+ with scroll-bar = (popup-scroll-bar popup)
+ with margin-left = (make-string (if (popup-margin-left-cancel popup) 0 (popup-margin-left popup)) ? )
+ with margin-right = (make-string (popup-margin-right popup) ? )
+ with symbol = (popup-symbol popup)
+ with cursor = (popup-cursor popup)
+ with scroll-top = (popup-scroll-top popup)
+ with offset = (popup-offset popup)
+ with keymap = (popup-keymap popup)
+ for o from offset
+ for i from scroll-top
+ while (< o height)
+ for item in (nthcdr scroll-top list)
+ for page-index = (* thum-size (/ o thum-size))
+ for face = (if (= i cursor)
+ (or (popup-item-selection-face item) selection-face)
+ (or (popup-item-face item) popup-face))
+ for empty-char = (propertize " " 'face face)
+ for scroll-bar-char = (if scroll-bar
+ (cond
+ ((and (not (eq scroll-bar :always))
+ (<= page-size 1))
+ empty-char)
+ ((and (> page-size 1)
+ (>= cursor (* page-index page-size))
+ (< cursor (* (+ page-index thum-size) page-size)))
+ popup-scroll-bar-foreground-char)
+ (t
+ popup-scroll-bar-background-char))
+ "")
+ for sym = (if symbol
+ (concat " " (or (popup-item-symbol item) " "))
+ "")
+ for summary = (or (popup-item-summary item) "")
+
+ do
+ ;; Show line and set item to the line
+ (popup-set-line-item popup o
+ :item item
+ :face face
+ :mouse-face mouse-face
+ :margin-left margin-left
+ :margin-right margin-right
+ :scroll-bar-char scroll-bar-char
+ :symbol sym
+ :summary summary
+ :keymap keymap)
+
+ finally
+ ;; Remember current height
+ (setf (popup-current-height popup) (- o offset))
+
+ ;; Hide remaining lines
+ (let ((scroll-bar-char (if scroll-bar (propertize " " 'face popup-face) ""))
+ (symbol (if symbol " " "")))
+ (if (> (popup-direction popup) 0)
+ (progn
+ (when min-height
+ (while (< o min-height)
+ (popup-set-line-item popup o
+ :item ""
+ :face popup-face
+ :margin-left margin-left
+ :margin-right margin-right
+ :scroll-bar-char scroll-bar-char
+ :symbol symbol
+ :summary "")
+ (incf o)))
+ (while (< o height)
+ (popup-hide-line popup o)
+ (incf o)))
+ (loop with h = (if min-height (- height min-height) offset)
+ for o from 0 below offset
+ if (< o h)
+ do (popup-hide-line popup o)
+ if (>= o h)
+ do (popup-set-line-item popup o
+ :item ""
+ :face popup-face
+ :margin-left margin-left
+ :margin-right margin-right
+ :scroll-bar-char scroll-bar-char
+ :symbol symbol
+ :summary ""))))))
+
+(defun popup-hide (popup)
+ "Hide POPUP."
+ (dotimes (i (popup-height popup))
+ (popup-hide-line popup i)))
+
+(defun popup-hidden-p (popup)
+ "Return non-nil if POPUP is hidden."
+ (let ((hidden t))
+ (when (popup-live-p popup)
+ (dotimes (i (popup-height popup))
+ (unless (popup-line-hidden-p popup i)
+ (setq hidden nil))))
+ hidden))
+
+(defun popup-select (popup i)
+ "Select the item at I of POPUP and draw."
+ (setq i (+ i (popup-offset popup)))
+ (when (and (<= 0 i) (< i (popup-height popup)))
+ (setf (popup-cursor popup) i)
+ (popup-draw popup)
+ t))
+
+(defun popup-next (popup)
+ "Select the next item of POPUP and draw."
+ (let ((height (popup-height popup))
+ (cursor (1+ (popup-cursor popup)))
+ (scroll-top (popup-scroll-top popup))
+ (length (length (popup-list popup))))
+ (cond
+ ((>= cursor length)
+ ;; Back to first page
+ (setq cursor 0
+ scroll-top 0))
+ ((= cursor (+ scroll-top height))
+ ;; Go to next page
+ (setq scroll-top (min (1+ scroll-top) (max (- length height) 0)))))
+ (setf (popup-cursor popup) cursor
+ (popup-scroll-top popup) scroll-top)
+ (popup-draw popup)))
+
+(defun popup-previous (popup)
+ "Select the previous item of POPUP and draw."
+ (let ((height (popup-height popup))
+ (cursor (1- (popup-cursor popup)))
+ (scroll-top (popup-scroll-top popup))
+ (length (length (popup-list popup))))
+ (cond
+ ((< cursor 0)
+ ;; Go to last page
+ (setq cursor (1- length)
+ scroll-top (max (- length height) 0)))
+ ((= cursor (1- scroll-top))
+ ;; Go to previous page
+ (decf scroll-top)))
+ (setf (popup-cursor popup) cursor
+ (popup-scroll-top popup) scroll-top)
+ (popup-draw popup)))
+
+(defun popup-scroll-down (popup &optional n)
+ "Scroll down N of POPUP and draw."
+ (let ((scroll-top (min (+ (popup-scroll-top popup) (or n 1))
+ (- (length (popup-list popup)) (popup-height popup)))))
+ (setf (popup-cursor popup) scroll-top
+ (popup-scroll-top popup) scroll-top)
+ (popup-draw popup)))
+
+(defun popup-scroll-up (popup &optional n)
+ "Scroll up N of POPUP and draw."
+ (let ((scroll-top (max (- (popup-scroll-top popup) (or n 1))
+ 0)))
+ (setf (popup-cursor popup) scroll-top
+ (popup-scroll-top popup) scroll-top)
+ (popup-draw popup)))
+
+
+
+;;; Popup Incremental Search
+
+(defface popup-isearch-match
+ '((t (:background "sky blue")))
+ "Popup isearch match face."
+ :group 'popup)
+
+(defvar popup-isearch-cursor-color "blue")
+
+(defvar popup-isearch-keymap
+ (let ((map (make-sparse-keymap)))
+ ;(define-key map "\r" 'popup-isearch-done)
+ (define-key map "\C-g" 'popup-isearch-cancel)
+ (define-key map "\C-h" 'popup-isearch-delete)
+ (define-key map (kbd "DEL") 'popup-isearch-delete)
+ map))
+
+(defsubst popup-isearch-char-p (char)
+ (and (integerp char)
+ (<= 32 char)
+ (<= char 126)))
+
+(defun popup-isearch-filter-list (pattern list)
+ (loop with regexp = (regexp-quote pattern)
+ for item in list
+ do
+ (unless (stringp item)
+ (setq item (popup-item-propertize (popup-x-to-string item)
+ 'value item)))
+ if (string-match regexp item)
+ collect
+ (let ((beg (match-beginning 0))
+ (end (match-end 0)))
+ (alter-text-property 0 (length item) 'face
+ (lambda (prop)
+ (unless (eq prop 'popup-isearch-match)
+ prop))
+ item)
+ (put-text-property beg end
+ 'face 'popup-isearch-match
+ item)
+ item)))
+
+(defun popup-isearch-prompt (popup pattern)
+ (format "Pattern: %s" (if (= (length (popup-list popup)) 0)
+ (propertize pattern 'face 'isearch-fail)
+ pattern)))
+
+(defun popup-isearch-update (popup pattern &optional callback)
+ (setf (popup-cursor popup) 0
+ (popup-scroll-top popup) 0
+ (popup-pattern popup) pattern)
+ (let ((list (popup-isearch-filter-list pattern (popup-original-list popup))))
+ (popup-set-filtered-list popup list)
+ (if callback
+ (funcall callback list)))
+ (popup-draw popup))
+
+(defun* popup-isearch (popup
+ &key
+ (cursor-color popup-isearch-cursor-color)
+ (keymap popup-isearch-keymap)
+ callback
+ help-delay)
+ "Start isearch on POPUP. This function is synchronized, meaning
+event loop waits for quiting of isearch.
+
+CURSOR-COLOR is a cursor color during isearch. The default value
+is `popup-isearch-cursor-color'.
+
+KEYMAP is a keymap which is used when processing events during
+event loop. The default value is `popup-isearch-keymap'.
+
+CALLBACK is a function taking one argument. `popup-isearch' calls
+CALLBACK, if specified, after isearch finished or isearch
+canceled. The arguments is whole filtered list of items.
+
+HELP-DELAY is a delay of displaying helps."
+ (let ((list (popup-original-list popup))
+ (pattern (or (popup-pattern popup) ""))
+ (old-cursor-color (frame-parameter (selected-frame) 'cursor-color))
+ prompt key binding)
+ (unwind-protect
+ (block nil
+ (if cursor-color
+ (set-cursor-color cursor-color))
+ (while t
+ (setq prompt (popup-isearch-prompt popup pattern))
+ (setq key (popup-menu-read-key-sequence keymap prompt help-delay))
+ (if (null key)
+ (unless (funcall popup-menu-show-quick-help-function popup nil :prompt prompt)
+ (clear-this-command-keys)
+ (push (read-event prompt) unread-command-events))
+ (setq binding (lookup-key keymap key))
+ (cond
+ ((and (stringp key)
+ (popup-isearch-char-p (aref key 0)))
+ (setq pattern (concat pattern key)))
+ ((eq binding 'popup-isearch-done)
+ (return nil))
+ ((eq binding 'popup-isearch-cancel)
+ (popup-isearch-update popup "" callback)
+ (return t))
+ ((eq binding 'popup-isearch-delete)
+ (if (> (length pattern) 0)
+ (setq pattern (substring pattern 0 (1- (length pattern))))))
+ (t
+ (setq unread-command-events
+ (append (listify-key-sequence key) unread-command-events))
+ (return nil)))
+ (popup-isearch-update popup pattern callback))))
+ (if old-cursor-color
+ (set-cursor-color old-cursor-color)))))
+
+
+
+;;; Popup Tip
+
+(defface popup-tip-face
+ '((t (:background "khaki1" :foreground "black")))
+ "Face for popup tip."
+ :group 'popup)
+
+(defvar popup-tip-max-width 80)
+
+(defun* popup-tip (string
+ &key
+ point
+ (around t)
+ width
+ (height 15)
+ min-height
+ truncate
+ margin
+ margin-left
+ margin-right
+ scroll-bar
+ parent
+ parent-offset
+ nowait
+ prompt
+ &aux tip lines)
+ "Show a tooltip of STRING at POINT. This function is
+synchronized unless NOWAIT specified. Almost arguments are same
+as `popup-create' except for TRUNCATE, NOWAIT, and PROMPT.
+
+If TRUNCATE is non-nil, the tooltip can be truncated.
+
+If NOWAIT is non-nil, this function immediately returns the
+tooltip instance without entering event loop.
+
+PROMPT is a prompt string when reading events during event loop."
+ (if (bufferp string)
+ (setq string (with-current-buffer string (buffer-string))))
+ ;; TODO strip text (mainly face) properties
+ (setq string (substring-no-properties string))
+
+ (and (eq margin t) (setq margin 1))
+ (or margin-left (setq margin-left margin))
+ (or margin-right (setq margin-right margin))
+
+ (let ((it (popup-fill-string string width popup-tip-max-width)))
+ (setq width (car it)
+ lines (cdr it)))
+
+ (setq tip (popup-create point width height
+ :min-height min-height
+ :around around
+ :margin-left margin-left
+ :margin-right margin-right
+ :scroll-bar scroll-bar
+ :face 'popup-tip-face
+ :parent parent
+ :parent-offset parent-offset))
+
+ (unwind-protect
+ (when (> (popup-width tip) 0) ; not to be corrupted
+ (when (and (not (eq width (popup-width tip))) ; truncated
+ (not truncate))
+ ;; Refill once again to lines be fitted to popup width
+ (setq width (popup-width tip))
+ (setq lines (cdr (popup-fill-string string width width))))
+
+ (popup-set-list tip lines)
+ (popup-draw tip)
+ (if nowait
+ tip
+ (clear-this-command-keys)
+ (push (read-event prompt) unread-command-events)
+ t))
+ (unless nowait
+ (popup-delete tip))))
+
+
+
+;;; Popup Menu
+
+(defface popup-menu-face
+ '((t (:background "lightgray" :foreground "black")))
+ "Face for popup menu."
+ :group 'popup)
+
+(defface popup-menu-mouse-face
+ '((t (:background "blue" :foreground "white")))
+ "Face for popup menu."
+ :group 'popup)
+
+(defface popup-menu-selection-face
+ '((t (:background "steelblue" :foreground "white")))
+ "Face for popup menu selection."
+ :group 'popup)
+
+(defvar popup-menu-show-tip-function 'popup-tip
+ "Function used for showing tooltip by `popup-menu-show-quick-help'.")
+
+(defvar popup-menu-show-quick-help-function 'popup-menu-show-quick-help
+ "Function used for showing quick help by `popup-menu*'.")
+
+(defun popup-menu-show-help (menu &optional persist item)
+ (popup-item-show-help (or item (popup-selected-item menu)) persist))
+
+(defun popup-menu-documentation (menu &optional item)
+ (popup-item-documentation (or item (popup-selected-item menu))))
+
+(defun popup-menu-show-quick-help (menu &optional item &rest args)
+ (let* ((point (plist-get args :point))
+ (height (or (plist-get args :height) (popup-height menu)))
+ (min-height (min height (popup-current-height menu)))
+ (around nil)
+ (parent-offset (popup-offset menu))
+ (doc (popup-menu-documentation menu item)))
+ (when (stringp doc)
+ (if (popup-hidden-p menu)
+ (setq around t
+ menu nil
+ parent-offset nil)
+ (setq point nil))
+ (let ((popup-use-optimized-column-computation nil)) ; To avoid wrong positioning
+ (apply popup-menu-show-tip-function
+ doc
+ :point point
+ :height height
+ :min-height min-height
+ :around around
+ :parent menu
+ :parent-offset parent-offset
+ args)))))
+
+(defun popup-menu-item-of-mouse-event (event)
+ (when (and (consp event)
+ (memq (first event) '(mouse-1 mouse-2 mouse-3 mouse-4 mouse-5)))
+ (let* ((position (second event))
+ (object (elt position 4)))
+ (when (consp object)
+ (get-text-property (cdr object) 'popup-item (car object))))))
+
+(defun popup-menu-read-key-sequence (keymap &optional prompt timeout)
+ (catch 'timeout
+ (let ((timer (and timeout
+ (run-with-timer timeout nil
+ (lambda ()
+ (if (zerop (length (this-command-keys)))
+ (throw 'timeout nil))))))
+ (old-global-map (current-global-map))
+ (temp-global-map (make-sparse-keymap))
+ (overriding-terminal-local-map (make-sparse-keymap)))
+ (substitute-key-definition 'keyboard-quit 'keyboard-quit
+ temp-global-map old-global-map)
+ (define-key temp-global-map [menu-bar] (lookup-key old-global-map [menu-bar]))
+ (define-key temp-global-map [tool-bar] (lookup-key old-global-map [tool-bar]))
+ (set-keymap-parent overriding-terminal-local-map keymap)
+ (if (current-local-map)
+ (define-key overriding-terminal-local-map [menu-bar]
+ (lookup-key (current-local-map) [menu-bar])))
+ (unwind-protect
+ (progn
+ (use-global-map temp-global-map)
+ (clear-this-command-keys)
+ (with-temp-message prompt
+ (read-key-sequence nil)))
+ (use-global-map old-global-map)
+ (if timer (cancel-timer timer))))))
+
+(defun popup-menu-fallback (event default))
+
+(defun* popup-menu-event-loop (menu
+ keymap
+ fallback
+ &key
+ prompt
+ help-delay
+ isearch
+ isearch-cursor-color
+ isearch-keymap
+ isearch-callback
+ &aux key binding)
+ (block nil
+ (while (popup-live-p menu)
+ (and isearch
+ (popup-isearch menu
+ :cursor-color isearch-cursor-color
+ :keymap isearch-keymap
+ :callback isearch-callback
+ :help-delay help-delay)
+ (keyboard-quit))
+ (setq key (popup-menu-read-key-sequence keymap prompt help-delay))
+ (setq binding (lookup-key keymap key))
+ (cond
+ ((or (null key) (zerop (length key)))
+ (unless (funcall popup-menu-show-quick-help-function menu nil :prompt prompt)
+ (clear-this-command-keys)
+ (push (read-event prompt) unread-command-events)))
+ ((eq (lookup-key (current-global-map) key) 'keyboard-quit)
+ (keyboard-quit)
+ (return))
+ ((eq binding 'popup-close)
+ (if (popup-parent menu)
+ (return)))
+ ((memq binding '(popup-select popup-open))
+ (let* ((item (or (popup-menu-item-of-mouse-event (elt key 0))
+ (popup-selected-item menu)))
+ (index (position item (popup-list menu)))
+ (sublist (popup-item-sublist item)))
+ (unless index (return))
+ (if sublist
+ (popup-aif (popup-cascade-menu sublist
+ :around nil
+ :margin-left (popup-margin-left menu)
+ :margin-right (popup-margin-right menu)
+ :scroll-bar (popup-scroll-bar menu)
+ :parent menu
+ :parent-offset index)
+ (and it (return it)))
+ (if (eq binding 'popup-select)
+ (return (popup-item-value-or-self item))))))
+ ((eq binding 'popup-next)
+ (popup-next menu))
+ ((eq binding 'popup-previous)
+ (popup-previous menu))
+ ((eq binding 'popup-help)
+ (popup-menu-show-help menu))
+ ((eq binding 'popup-isearch)
+ (popup-isearch menu
+ :cursor-color isearch-cursor-color
+ :keymap isearch-keymap
+ :callback isearch-callback
+ :help-delay help-delay))
+ ((commandp binding)
+ (call-interactively binding))
+ (t
+ (funcall fallback key (key-binding key)))))))
+
+(defun* popup-menu* (list
+ &key
+ point
+ (around t)
+ (width (popup-preferred-width list))
+ (height 15)
+ margin
+ margin-left
+ margin-right
+ scroll-bar
+ symbol
+ parent
+ parent-offset
+ (keymap popup-menu-keymap)
+ (fallback 'popup-menu-fallback)
+ help-delay
+ nowait
+ prompt
+ isearch
+ (isearch-cursor-color popup-isearch-cursor-color)
+ (isearch-keymap popup-isearch-keymap)
+ isearch-callback
+ &aux menu event)
+ "Show a popup menu of LIST at POINT. This function returns a
+value of the selected item. Almost arguments are same as
+`popup-create' except for KEYMAP, FALLBACK, HELP-DELAY, PROMPT,
+ISEARCH, ISEARCH-CURSOR-COLOR, ISEARCH-KEYMAP, and
+ISEARCH-CALLBACK.
+
+If KEYMAP is a keymap which is used when processing events during
+event loop.
+
+If FALLBACK is a function taking two arguments; a key and a
+command. FALLBACK is called when no special operation is found on
+the key. The default value is `popup-menu-fallback', which does
+nothing.
+
+HELP-DELAY is a delay of displaying helps.
+
+If NOWAIT is non-nil, this function immediately returns the menu
+instance without entering event loop.
+
+PROMPT is a prompt string when reading events during event loop.
+
+If ISEARCH is non-nil, do isearch as soon as displaying the popup
+menu.
+
+ISEARCH-CURSOR-COLOR is a cursor color during isearch. The
+default value is `popup-isearch-cursor-color'.
+
+ISEARCH-KEYMAP is a keymap which is used when processing events
+during event loop. The default value is `popup-isearch-keymap'.
+
+ISEARCH-CALLBACK is a function taking one argument. `popup-menu'
+calls ISEARCH-CALLBACK, if specified, after isearch finished or
+isearch canceled. The arguments is whole filtered list of items."
+ (and (eq margin t) (setq margin 1))
+ (or margin-left (setq margin-left margin))
+ (or margin-right (setq margin-right margin))
+ (if (and scroll-bar
+ (integerp margin-right)
+ (> margin-right 0))
+ ;; Make scroll-bar space as margin-right
+ (decf margin-right))
+ (setq menu (popup-create point width height
+ :around around
+ :face 'popup-menu-face
+ :mouse-face 'popup-menu-mouse-face
+ :selection-face 'popup-menu-selection-face
+ :margin-left margin-left
+ :margin-right margin-right
+ :scroll-bar scroll-bar
+ :symbol symbol
+ :parent parent
+ :parent-offset parent-offset))
+ (unwind-protect
+ (progn
+ (popup-set-list menu list)
+ (popup-draw menu)
+ (if nowait
+ menu
+ (popup-menu-event-loop menu keymap fallback
+ :prompt prompt
+ :help-delay help-delay
+ :isearch isearch
+ :isearch-cursor-color isearch-cursor-color
+ :isearch-keymap isearch-keymap
+ :isearch-callback isearch-callback)))
+ (unless nowait
+ (popup-delete menu))))
+
+(defun popup-cascade-menu (list &rest args)
+ "Same as `popup-menu' except that an element of LIST can be
+also a sub-menu if the element is a cons cell formed (ITEM
+. SUBLIST) where ITEM is an usual item and SUBLIST is a list of
+the sub menu."
+ (apply 'popup-menu*
+ (mapcar (lambda (item)
+ (if (consp item)
+ (popup-make-item (car item)
+ :sublist (cdr item)
+ :symbol ">")
+ item))
+ list)
+ :symbol t
+ args))
+
+(defvar popup-menu-keymap
+ (let ((map (make-sparse-keymap)))
+ (define-key map "\r" 'popup-select)
+ (define-key map "\C-f" 'popup-open)
+ (define-key map [right] 'popup-open)
+ (define-key map "\C-b" 'popup-close)
+ (define-key map [left] 'popup-close)
+
+ (define-key map "\C-n" 'popup-next)
+ (define-key map [down] 'popup-next)
+ (define-key map "\C-p" 'popup-previous)
+ (define-key map [up] 'popup-previous)
+
+ (define-key map [f1] 'popup-help)
+ (define-key map (kbd "\C-?") 'popup-help)
+
+ (define-key map "\C-s" 'popup-isearch)
+
+ (define-key map [mouse-1] 'popup-select)
+ (define-key map [mouse-4] 'popup-previous)
+ (define-key map [mouse-5] 'popup-next)
+ map))
+
+(provide 'popup)
+;;; popup.el ends here