Merge from CEDET upstream (8564).
commit890f78904a8eb787cf1559c6e9ddac395b49a09e
authorDavid Engster <dengste@eml.cc>
Sun, 2 Jun 2013 13:33:09 +0000 (2 15:33 +0200)
committerDavid Engster <dengste@eml.cc>
Sun, 2 Jun 2013 13:33:09 +0000 (2 15:33 +0200)
treed009118a8ca081486f3cafa892918f79f0753375
parent336d7284648810ce48a88d22515809f84415b5c1
Merge from CEDET upstream (8564).

* lisp/emacs-lisp:

* emacs-lisp/eieio.el (eieio--defalias, eieio-hook)
(eieio-error-unsupported-class-tags, eieio-skip-typecheck)
(eieio-optimize-primary-methods-flag, eieio-initializing-object)
(eieio-unbound, eieio-default-superclass)
(eieio--define-field-accessors, method-static, method-before)
(method-primary, method-after, method-num-lists)
(method-generic-before, method-generic-primary)
(method-generic-after, method-num-slots)
(eieio-specialized-key-to-generic-key)
(eieio--check-type, class-v, class-p)
(eieio-class-name, define-obsolete-function-alias)
(eieio-class-parents-fast, eieio-class-children-fast)
(same-class-fast-p, class-constructor, generic-p)
(generic-primary-only-p, generic-primary-only-one-p)
(class-option-assoc, class-option, eieio-object-p)
(class-abstract-p, class-method-invocation-order)
(eieio-defclass-autoload-map, eieio-defclass-autoload)
(eieio-class-un-autoload, eieio-defclass)
(eieio-eval-default-p, eieio-perform-slot-validation-for-default)
(eieio-add-new-slot, eieio-copy-parents-into-subclass)
(eieio--defgeneric-init-form, eieio-defgeneric-form)
(eieio-defgeneric-reset-generic-form)
(eieio-defgeneric-form-primary-only)
(eieio-defgeneric-reset-generic-form-primary-only)
(eieio-defgeneric-form-primary-only-one)
(eieio-defgeneric-reset-generic-form-primary-only-one)
(eieio-unbind-method-implementations)
(eieio--defmethod, eieio--typep)
(eieio-perform-slot-validation, eieio-validate-slot-value)
(eieio-validate-class-slot-value, eieio-barf-if-slot-unbound)
(eieio-oref, eieio-oref-default, eieio-default-eval-maybe)
(eieio-oset, eieio-oset-default, eieio-slot-originating-class-p)
(eieio-slot-name-index, eieio-class-slot-name-index)
(eieio-set-defaults, eieio-initarg-to-attribute)
(eieio-attribute-to-initarg, eieio-c3-candidate)
(eieio-c3-merge-lists, eieio-class-precedence-c3)
(eieio-class-precedence-dfs, eieio-class-precedence-bfs)
(eieio-class-precedence-list, eieio-generic-call-methodname)
(eieio-generic-call-arglst, eieio-generic-call-key)
(eieio-generic-call-next-method-list)
(eieio-pre-method-execution-functions, eieio-generic-call)
(eieio-generic-call-primary-only, eieiomt-method-list)
(eieiomt-optimizing-obarray, eieiomt-install)
(eieiomt-add, eieiomt-next, eieiomt-sym-optimize)
(eieio-generic-form, eieio-defmethod, make-obsolete)
(eieio-defgeneric, make-obsolete): Moved to eieio-core.el
(defclass): Remove `eval-and-compile' from macro.
(call-next-method, shared-initialize): Instead of using
`scoped-class' variable, use new eieio--scoped-class, and
eieio--with-scoped-class.
(initialize-instance): Rename local variable 'scoped-class' to
'this-class' to remove ambiguitity from old global.

* emacs-lisp/eieio-core.el: New file.  Derived from key parts of
eieio.el.
(eieio--scoped-class-stack): New variable
(eieio--scoped-class): New fcn
(eieio--with-scoped-class): New scoping macro.
(eieio-defclass): Use pushnew instead of add-to-list.
(eieio-defgeneric-form-primary-only-one, eieio-oset-default)
(eieio-slot-name-index, eieio-set-defaults, eieio-generic-call)
(eieio-generic-call-primary-only, eieiomt-add): Instead of using
`scoped-class' variable, use new eieio--scoped-class, and
eieio--with-scoped-class.

* emacs-lisp/eieio-base.el (cl-lib): Require during compile.

* admin/grammars:

* grammars/srecode-template.wy (variable): Accept a single number
as a variable value.  Allows the 'priority' to be set to a number.
(wisent-srecode-template-lexer): Move number up so it can be
created.

* etc/srecode:

* srecode/c.srt (header_guard): Add :c parameter so it works
standalone

* lisp/cedet:

* semantic/edit.el (semantic-change-function): Use
`save-match-data' around running hooks.

* semantic/decorate/mode.el
(semantic-decorate-style-predicate-default)
(semantic-decorate-style-highlighter-default): New.
(semantic-decoration-mode): Do not require
`semantic/decorate/include' anymore.
(semantic-toggle-decoration-style): Error if an unknown decoration
style is toggled.
(define-semantic-decoration-style): Add new :load option.  When
:load is specified, add autoload tokens for the definition
functions so that code is loaded when the mode is used.
(semantic-decoration-on-includes): New autoload definition for
highlighting includes.

* semantic/bovine/c.el (semantic-lex-c-ifdef): Allow some misc
characters to appear after the tested variable.

* semantic/ede-grammar.el (project-compile-target): Calculate full
src name via ede-expand-filename instead of the crutch of the
current buffer.  Enables this target to compile in batch mode.

* semantic/idle.el
(semantic-idle-symbol-maybe-highlight): Wrap highlighting of
remote symbol with `save-excursion'.
(semantic-idle-scheduler-work-parse-neighboring-files): Instead of
using directory-files on each found mode pattern, collect all the
patterns for the current mode, and then for each file, see if it
matches any of them.  If it does, parse the file.  (Patch
inspiration from Tomasz Gajewski.)

* semantic/ctxt.el (semantic-ctxt-end-of-symbol): New.
(semantic-ctxt-current-symbol-default): New.

* semantic/bovine/el.el (semantic-default-elisp-setup): Add
autoload cookie.  Explain existence.
(footer): Add local variable for loaddefs.

* semantic/db.el (semanticdb-file-table-object): Add new filter,
only checking for regular files too.

* semantic/wisent/python.el
(semantic-format-tag-abbreviate): New override.  Cuts back on size
of code tags.

* srecode/compile.el (srecode-compile-templates): Fix warning
punctuation.  Remove status messages to clean up testing output

* ede/base.el (ede-project-placeholder-cache-file): Update doc to
mention 'nil' value.
(ede-save-cache): Disable cache save if file is nil.

* ede.el (ede-initialize-state-current-buffer): Flush deleted
projects.
(global-ede-mode): Always append our find-file-hook to the end.
(ede-flush-deleted-projects): New command.

* ede/cpp-root.el (ede-preprocessor-map): Protect against init
problems.

* ede/proj.el (ede-proj-target): Added a new "custom" option for
custom symbols representing a compiler or linker instead of
restricting things to only the predefined compilers and linkers.

* semantic.el (semantic-mode-map): To avoid showing showing
Development menu twice, only disable menu item if menu-bar is
actually enabled, otherwise the popup 'global menu' might display
a disabled Development menu.

* semantic/complete.el
(semantic-displayor-show-request): Fix which slot in obj is set to
the max tags.
25 files changed:
admin/ChangeLog
admin/grammars/srecode-template.wy
etc/ChangeLog
etc/srecode/c.srt
lisp/ChangeLog
lisp/cedet/ChangeLog
lisp/cedet/ede.el
lisp/cedet/ede/base.el
lisp/cedet/ede/cpp-root.el
lisp/cedet/ede/proj.el
lisp/cedet/semantic.el
lisp/cedet/semantic/bovine/c.el
lisp/cedet/semantic/bovine/el.el
lisp/cedet/semantic/complete.el
lisp/cedet/semantic/ctxt.el
lisp/cedet/semantic/db.el
lisp/cedet/semantic/decorate/mode.el
lisp/cedet/semantic/ede-grammar.el
lisp/cedet/semantic/edit.el
lisp/cedet/semantic/idle.el
lisp/cedet/semantic/wisent/python.el
lisp/cedet/srecode/compile.el
lisp/emacs-lisp/eieio-base.el
lisp/emacs-lisp/eieio-core.el [copied from lisp/emacs-lisp/eieio.el with 67% similarity]
lisp/emacs-lisp/eieio.el