Subject: CEDET merge bug

From: [email-masked] (Charles A. Roelli)
Date: Tue, 17 Oct 2017 20:43:25 +0200

After some discussions both on- and off-list, starting here:

https://lists.gnu.org/archive/html/emacs-devel/2017-09/msg00826.html

we'd like to continue the process of merging changes to CEDET into the
Emacs core.  Following is a list of commits made to cedet.git since
the last merge.  I've divided the commits into batches for clarity.
Some of the commits already have equivalents in Emacs (particularly
bugfixes), or they touch files that were not yet added to Emacs, so
they can be skipped (we will mark them as we go through the process).

We'll push a branch based off master when we start.

Batch  22
*  (HEAD -> master, origin/master, origin/HEAD)2af698d..: Eric Ludlam 2016-09-13 (NS::TestEnum, func_ns_arg): New - test namespace symbols in
* 76ffcdd..: Eric Ludlam 2016-09-13 (unaryexpression): Use namespace-symbol instead of symbol.
* 95aab0c..: Eric Ludlam 2016-08-31 Ignore patches
* d2b1cbd..: Eric Ludlam 2016-08-31 (ede-arduino-Arduino-Version): Update version expression for
* 4a48013..: Eric Ludlam 2016-03-18 (semantic-calculate-scope-for-tag): Also save-excursion in case the internal jump is local and moves point.

* 4b41ea6..: Eric Ludlam 2016-03-13 Patch from Edward Steere (ede--detect-ldf-root-predicate): Make sure updir is not nill before trying to detect it.
* 42bdcfd..: Eric Ludlam 2016-03-13 Patch from Edward Steere (ede-auto-detect-in-dir): Make sure f is not nil before checking for existence.
* bec4656..: Eric Ludlam 2016-02-16 (ede-arduino-guess-libs): Only scan libs where #include is at the beginning of the line.
Batch  21
*   0d54d87..: Eric Ludlam 2016-02-16 Merge branch 'master' of ssh://git.code.sf.net/p/cedet/git
|\  
| * f6639c6..: Alastair Rankine 2015-11-02 compdb: Improve scanning of Ninja build files
| * 868e3a4..: Alastair Rankine 2015-11-01 compdb: Improve parsing of include file paths
| * eef2a9f..: Alastair Rankine 2015-11-01 compdb: Add ability to scan Ninja build files for matching build rules

| * 1be69d7..: Alastair Rankine 2015-11-01 compdb: Document usage of Projectile library to locate "other" files
Batch  20
* | e82b39a..: Eric Ludlam 2016-02-14 (constexpr, noexcept): New (cvdeclmod, metadeclmod, post-fcn-modifiers): Add ocurences of above. (expr-start): Allow to be empty. (expression): Delete - simplify to just find unaryexpression followed by more. (opt-more-expression): New - has specifics originally in expression. (unaryexpression): simplified a couple bits around lists and unary expressions.
|/  
* ee7a97e..: Eric Ludlam 2015-10-18 Patch from Dmitry Cherkassov: (semantic-analyze-completion-at-point-function) (semantic-analyze-notc-completion-at-point-function) (semantic-analyze-nolongprefix-completion-at-point-function): Check that semantic is active before running smart completion code.
Batch  19
*   a3759c1..: Eric Ludlam 2015-10-18 Merge branch 'master' of ssh://git.code.sf.net/p/cedet/git
|\  
| * cf21fa7..: Alastair Rankine 2015-09-20 compdb: Add expected failure for ninja test case
* | 2d09af2..: Eric Ludlam 2015-10-18 (ede-system-include-path): If the user sketchbook includes some nice libraries, use those too.
* | 0a2d2f9..: Eric Ludlam 2015-10-18 (semantic-complete-read-tag-engine): Don't allow buffer switching. (semantic-collector-calculate-completions): Protect against cases where the context being completed with isn't a smart completion case.
* | 16bfc8b..: Eric Ludlam 2015-10-18 Tests for polymorphism with a couple examples where we could try to disambiguate.
* | b0b1107..: Eric Ludlam 2015-10-18 (semantic-ia-utest-file-list): Add commented out poly test. (semantic-ia-utest-buffer): Improve visibility of failed lines.
* | a811bfb..: Eric Ludlam 2015-10-18 (isFooLike, A, B, main2): New test tweaked from example by Liang Wang
Batch  18
* | e57f459..: Eric Ludlam 2015-10-18 (typeformbase): Replace two rules that could match teh same with one. Replace special namespace-symbol-for-typeformbase with just namespace-symbol. (namespace-symbol): Force that a symbol @ end can never have a template specifier. (opt-namespace-symbol-more): This must now always be :: namespace-symbol (namespace-symbol-for-typeformbase): Deleted.
* | 299baa8..: Eric Ludlam 2015-10-16 (semantic-utest-C-buffer-contents): Add examples of multiple declmods. Add extern "C" around funp1. (semantic-utest-C-name-contents): Update to match changed code.
* | 04a2174..: Eric Ludlam 2015-10-16 (extern-c, c-or-cpp, opt-extern-c-contents): Optmize out all the extra EXTERN matches.
* | e05abe0..: Eric Ludlam 2015-10-16 (declmods): Optimize out 2nd match to DECLMOD (varnamelist, opt-varnamelist-more): Optimize out 2nd match for a variable name into opt-varnamelist-more (namespace-symbol, opt-nmespace-symbol-more): Optimize out 2nd match for the template specifier.
* | 8dcc7c4..: Eric Ludlam 2015-10-16 Update so includes C typedef.
* | 1866314..: Eric Ludlam 2015-10-16 (typesimple): optimize out one rule by making optional subparts. (typdef-symbol-list,typedef-symbol-list-opt-comma): Optimize symbol list so only parses typedefname once. (type, type-namespace): Optimize so only parses 'namespace' word once.
|/
Batch  17
* 26cd107..: Eric Ludlam 2015-08-12 (python-mode-hook): Removed.  Obsoleted when semantic-new-buffer-setup-functions was introduced.
* cec6fee..: Eric Ludlam 2015-08-12 Remove java-mode-hook - obsoleted when semantic-new-buffer-setup-functions was introduced.
* 606d9ac..: Eric Ludlam 2015-08-09 (ede-emacs-target-texi): New. (ede-find-target): Add texi support. (ede-emacs-project::project-compile-project) (ede-emacs-target-texi::ede-compile-target) (ede-emacs-target-el::ede-compile-target) (ede-emacs-target-c::ede-compile-target): New
* a4aeee5..: Eric Ludlam 2015-08-09 (ede-calc-fromconfig): Expand the found file name. (ede-show-supported-projects): New.
* 4ec99cf..: Eric Ludlam 2015-08-09 (Top): ede-minor-mode -> global-ede-mode Add Automake node (Wrapper Projects::Automake, Wrapper Projects::Java): New. (Arduino projects): Add code snippet for windows.
Batch  16
* 79277e8..: Eric Ludlam 2015-08-09 (Managed Projects): Add a bit of motivation and guidance. (Creating a project): Clean up some of the ede-new discussion.  Add notation about Name.
* 06c5fb7..: Eric Ludlam 2015-08-08 (semantic-default-scheme-setup): Add lex syntax modifications for / and @.
* 03ae3d6..: Eric Ludlam 2015-08-08 (Editing grammars): Update keybindings for macro-expander and insert keyword to conform to standards.
* 88f14c2..: Eric Ludlam 2015-08-08 (semantic-grammar-mode-map): Update keybindings for macro-expander and insert keyword to conform to standards. (semantic--grammar-find-macro-symbol-library): New
* 3a25dfb..: Eric Ludlam 2015-08-08 (ede-doc): Add ede-compdb.texi, ede-extend.texi, ede-texi.
* bd8a8f6..: Eric Ludlam 2015-08-08 (Top): Completely revamed doc and menu. (Quick Start - wrapper, Wrapper Projects, Root Projects, Generic Projects): New top level nodes. (Quick Start - from scratch): New top level node. (Managed Projects, Compilation Database projects, Extending EDE): Copied to included .texi files, and deleted from this file.
* 30fab2e..: Eric Ludlam 2015-08-08 EDE Managed project support doc.  Copied from ede.texi.
* a52e760..: Eric Ludlam 2015-08-08 EDE Extension support doc.  Copied from ede.texi.
Batch  15
* b80c008..: Eric Ludlam 2015-08-08 EDE CompDB support doc.  Copied from ede.texi.
* 45e9545..: Alastair Rankine 2015-06-13 compdb: add documentation to ede.texi
* c764683..: Eric Ludlam 2015-04-22 (semantic-ia-utest-file-list): Add testunion.cpp.
* 906be27..: Eric Ludlam 2015-04-22 New test file for unions.
* 9274959..: Eric Ludlam 2015-04-22 (c-mode::semantic-analyze-tag-type-members): New override.
* aedbcd1..: Eric Ludlam 2015-04-22 (semantic-analyzer-debug-missing-innertype): Use semantic-analyze-tag-type-members.
* 5f30114..: Eric Ludlam 2015-04-22 (semantic-analyze-possible-completions-default): Use semantic-analyze-tag-type-members.
* 417ff02..: Eric Ludlam 2015-04-22 (semantic-completable-tags-from-type) (semantic-scope-find): Use `semantic-analyze-tag-type-members' to get members of a type tag.
Batch  14
* 6808427..: Eric Ludlam 2015-04-22 (semanticdb-typecache-find-method): Use `semantic-analyze-tag-type-members'.
* 94ccb6b..: Eric Ludlam 2015-04-22 (semantic-analyze-tag-type-members) (semantic-analyze-tag-type-members-default): New (semantic-analyze-find-tag-sequence-default) (semantic-analyze-current-context-default): Use above.
* 95ca28b..: Eric Ludlam 2015-04-11 (semantic-utest-c-ede): New (semantic-utest-c): Add call to below. (semantic-utest-c-with-ede): New test function (semantic-utest-c-setup-ede): New.
* 999c86e..: Eric Ludlam 2015-04-11 New test files combining macros and EDE
* 7451f10..: Eric Ludlam 2015-04-11 (semantic-ia-utest-file-list): Add tests/test.texi, test.mk, and test.srt (semantic-ia-utest-buffer, semantic-ia-utest-buffer-refs) (semantic-sr-utest-buffer-refs, semantic-src-utest-buffer-refs): When scanning for comments, wrap comment-start-skip to handle modes that have an unbound or in them. Skip back over whitespace from in front of found test point comments.
* 1f6343a..: Eric Ludlam 2015-04-11 New tests.
* b8b4c0c..: Eric Ludlam 2015-04-11 (semantic-analyze-possible-completions): Add support for FLAGS arg.
* be5b630..: Eric Ludlam 2015-04-11 (semantic-analyze-possible-completions): Add support for FLAGS arg.
Batch  13
* 7a80dda..: Eric Ludlam 2015-04-11 (semantic-analyze-possible-completions): Add support for FLAGS.
* fec7d98..: Eric Ludlam 2015-04-07 (srecode/map): Fix eval-after-load name to match new convention.
* d0d7e16..: Eric Ludlam 2015-04-07 Uniquafy names from last example from Martin to include ms_ prefix.
* 6513f47..: Alastair Rankine 2015-04-03 compdb: add project detection tests
* 2985ce0..: Alastair Rankine 2015-03-22 compdb: Minor cleanups, using #' syntax for lambdas, update Makefile
* cab556f..: Alastair Rankine 2015-03-22 compdb: Split build-command into build-exe and compile-args, mainly for when we are invoking ninja in different ways
* 77ff231..: Alastair Rankine 2015-03-16 compdb: Allow ninja executable to be determined/specified at runtime
* 50af3bb..: Eric Ludlam 2015-03-22 (ms_structs, fun): New test example from Marting Stein.
Batch  12
* bcd826b..: Eric Ludlam 2015-03-22 (semantic-analyze-tag-type): When first search fails, calc scope from the originating tag, and try again.
* 1a68ab5..: Eric Ludlam 2015-03-22 (semantic-calculate-scope-for-tag): New.
* 62fb6d2..: Eric Ludlam 2015-03-22 Remove references to EIEIO
* e5a3afe..: Eric Ludlam 2015-03-22 (semantic-throw-on-input): Wrap moving pt and accepting process output in `save-excursion' to prevent point from moving during lexing.
* 8c0ec38..: Eric Ludlam 2015-03-22 (ede-detect-utest-init-dirmatch): Force the dirmatch configdatastash to be unbound to force arduino to flush any cached values.
* 580415a..: Eric Ludlam 2015-03-22 (ede-project-autoload): convert :fromconfig to a lambda expression.
* 66b4305..: Eric Ludlam 2015-03-22 (ede-calc-fromconfig): New fcn, can convert string or a function to a string.
* f983d6a..: Alastair Rankine 2015-03-12 compdb: minor tweaks and test updates
Batch  11
* ad787fe..: Alastair Rankine 2015-03-08 Add expected failures when required compdb-utest executables are not available
* 9c663db..: Alastair Rankine 2015-03-08 Add cl-lib fallback library for emacs < 24.3
* 20fbcde..: Alastair Rankine 2015-03-08 Add compdb EDE project
* 57a0ec6..: Eric Ludlam 2015-03-01 (semantic-c-reconstitute-token): Do not strip a fcnpoint * off the name of an operator.
* 496501b..: David Engster 2015-02-18 semantic: Use with-current-buffer instead of save-excursion+set-buffer
* 87f8e15..: Eric Ludlam 2015-02-16 (srecode-macro-help): Replace eieio--class-children call with eieio-class-children.
* a638b4b..: Eric Ludlam 2015-02-16 (semanticd/find): New require
* edf1e6a..: Eric Ludlam 2015-02-16 (ede/shell): New rquire (semanticdb-file-table-object, semanticdb-needs-refresh-p, semanticdb-refresh-table): Declare these functions.
Batch  10
* 910023a..: Eric Ludlam 2015-02-16 (ede-global-list-sanity-check): Moved from ede.el to here.
* 41dad3d..: Eric Ludlam 2015-02-16 (ede-directory-project-cons): Declare this fcn in the header. (ede-global-list-sanity-check): Delete (moved to files.el)
* 00dae7c..: Eric Ludlam 2015-02-16 (wisent-parse): The semantic action might be an EXPAND, EXPANDFULL or some similar action calling the parser recursively. If the last token of the recursively called parsing step failed to match it ends up in wisent-lookahead, and function wisent-parse-stream pushs it back onto wisent-lex-istream. From there on it simply ends up occuring twice on the unmatched-syntax-cache, or worse might even lead to parse errors in rare cases. Patch from Martin Stein
* 312cc98..: Eric Ludlam 2015-02-16 (semantic-ia-complete-symbol): Protect against a nil prefix. (semantic-ia-complete-symbol-menu): If bounds are empty (no prefix), don't delete region.
* 2909576..: Eric Ludlam 2015-02-16 (ede-enable-generic-projects): Change :name of each autoloader to prefix with "Generic" to avoid conflicts with other types of projects that might have the same name.
* a735bee..: David Engster 2015-02-15 ede/auto: Fix incomplete patch
* 588860a..: David Engster 2015-02-15 tests: Fix typo in ede/detect-utest
* 73242a5..: David Engster 2015-02-15 ede/auto: Do not use `eieio-object-name-string'
Batch  9
* 90857cf..: David Engster 2015-02-15 cedet-build: Adapt to move of eieio into subdirectory
* 715ffdb..: David Engster 2015-02-15 Move fallback libraries to subdirectory
* 1ad5b9b..: Eric Ludlam 2015-02-15 (semantic-ctxt-current-argument-default): Add comment about a bug in arg indexing.
* 03e2e1a..: Eric Ludlam 2015-02-15 (semanticdb-elisp-sym->tag): When getting slots for a class tag, get them from sym, not semanticdb-project-database (fix typo). When getting the slots, support older and newer versions of eieio.
* f8feae6..: David Engster 2015-02-13 semantic/idle: make-obsolete-variable compatibility fix
* 0c8c249..: David Engster 2015-02-13 cedet-compat: Do not shadow locate-dominating-file
* 2844b43..: David Engster 2015-02-13 cedet-build: Use EIEIO fallback if necessary
* 8aa9203..: David Engster 2015-01-31 eieio: Move to obsolete and use the one that ships with Emacs
Batch  8
* 6b8584f..: David Engster 2015-02-04 Makefile: Move touching of makefiles before clean-autoloads
* 91b4599..: David Engster 2015-02-04 Makefile: Touch makefiles before generating autoloads
* d48fcb1..: Eric Ludlam 2015-01-26 (c-mode::semantic-idle-summary-current-symbol-info): The macro symbol value might be a string, so support that.
* c874307..: Eric Ludlam 2015-01-26 (cedet-utest-test-alist): Add ede-detect-linux-utest.
* a68fa4d..: Eric Ludlam 2015-01-26 (ede-detect-utest-linux-extra-project-entries): New extra test options. (ede-detet-utest): Add FLAG input.  Accept 'linux option. (ede-detect-linux-utest): New. (ede-detect-utest-loop): Add FLAG input.  Accept a 'linux flag.
* 4aaa217..: Eric Ludlam 2015-01-26 (ede-linux--get-build-directory): Use variable `project-linux-build-directory-default' of option options not available.
* ff08daa..: Eric Ludlam 2015-01-26 (data-debug-insert-tag-list): Use `data-debug-insert-thing' instead of custom thing that had trouble with the read only buffer.
* 557784f..: Eric Ludlam 2015-01-26 (ede-proj-target-makefile:rules, ede-proj-target-makefile:inference-rules): Set type to ede-makefile-rule-list.
Batch  7
* d0ba859..: David Engster 2015-01-25 semantic/bovine/c: Add support for typedef references
* 79c3270..: David Engster 2015-01-25 Tests: Add ERT test for the C Bovinator
* 6b6fd62..: David Engster 2015-01-25 semantic/bovine/c: Apply enum-type to all members
* 1f69aff..: David Engster 2015-01-24 Semantic: Do not add enum-type for every type
* b31eda6..: Ramkumar Ramachandra 2015-01-21 semantic/bovine/c: Parse C++11 strongly typed enum
* 6a5701d..: Joris Steyn 2015-01-16 Make semanticdb-default-find-index-class buffer-local
* 265fa65..: Ramkumar Ramachandra 2015-01-17 semantic/bovine/c: Parse C++ override/final correctly
* 81a9aba..: Ramkumar Ramachandra 2015-01-11 gitignore: Ignore all backup files
Batch  6
* b5cd376..: Ramkumar Ramachandra 2015-01-06 tests/Makefile: fix LOADPATH to the extent possible
* f310c9e..: Alastair Rankine 2015-01-08 Convert .bzrignore -> .gitignore
* d31cdaf..: Steven Rémot 2014-08-23 PHP: Implement namespaced names (un)splitting
* 7443138..: Steven Rémot 2014-08-23 PHP: Declare "\" as a punctuation
* 8890d90..: Steven Rémot 2014-08-23 PHP: Declare "\" as a type separator
* c0c8dab..: Steven Rémot 2014-08-23 PHP: Set member protection to public by default
* b8913ea..: Steven Rémot 2014-08-20 PHP: Parse interface constant declarations
* e80aaaf..: Steven Rémot 2014-08-20 PHP: Made class constants tags be public
Batch  5
* e298565..: [email-masked] 2014-08-19 PHP: Fix constant declaration tag
* 3dc9578..: Steven Rémot 2014-08-17 PHP: Remove injection of arguments in local variables
* 7c1492e..: [email-masked] 2014-08-14 PHP: Start implementing "static" and "self"
* a4ef0b9..: [email-masked] 2014-08-13 PHP: Improve attributes completion
* a7171f5..: [email-masked] 2014-08-13 PHP: Fix const attribute tag creation
* d798e69..: [email-masked] 2014-08-13 PHP: Fix alias tag creation
* 956ec75..: [email-masked] 2014-08-08 PHP: Move alias merging code outside of grammar
* 46202f0..: [email-masked] 2014-08-08 PHP: Split expand function
Batch  4
* e9b51bd..: [email-masked] 2014-08-06 PHP: Implement multiple aliases in one USE
* fa25182..: Steven Rémot 2014-08-02 PHP: Improve support of class fields and constants declaration
* bde7419..: [email-masked] 2014-08-01 Add support for optionnal type on arguments
* 5d69bbb..: Steven Rémot 2014-07-23 PHP: Basic support for use statement
* 9823989..: Steven Rémot 2014-07-23 PHP: Implement basic namespace support using TYPE-TAG
* 318d628..: [email-masked] 2014-07-22 Support use of namespaced identifiers
* 325c6d4..: Steven Rémot 2014-07-19 PHP: Support for top-file "namespace" directive
* 306b13d..: David Engster 2014-12-29 Replace bzr with git in INSTALL and cedet-devel-load
Batch  3
* 302ddb6..: David Engster 2014-12-29 Replace USING_CEDET_FROM_BZR with GIT_WORKFLOW
* ab907db..: Eric Ludlam 2014-12-02 (eieio-describe-class): Fix doc string.
* e06d92f..: Eric Ludlam 2014-11-26 (Af): Add a friend of C w/out the CLASS token. (C): New. (scA, scB, scC, scD): New test classes. (main): New (scA::PublicMethod, scB::b_pub_method, scC::c_pub_method) (scD::d_pub_method): New.
* 126c2e0..: Eric Ludlam 2014-11-26 (classsubparts): Add a FRIEND for a class that doesn't specify the token CLASS. Add SEMICOLON to end of friend statements.
* 6a2b044..: Eric Ludlam 2014-11-26 (ede-proj-makefile-insert-variables): Request the grammar name come from the file name, not the %package token.
* 32d5915..: Eric Ludlam 2014-11-26 (semantic-grammar-package): Add optional 'fromfile' option. This indicates we want to make a filename from the originating file name.
Batch  2
*   5b720bf..: Eric Ludlam 2014-11-26 Merge from trunk
|\  
| * 06c2b85..: Eric Ludlam 2014-11-26 Fix previous checkin msg: (semantic-analyze-scoped-tags-default): Add "enum" as pulling contents into parent scope similar to namespace.
| * 4684aa3..: Eric Ludlam 2014-11-26 (semantic-analyze-debug-assist): Add autoload cookie.
* | b1bcdcf..: Eric Ludlam 2014-11-26 (semantic-ia-utest-file-list): add testwisent.wy
* | 415f944..: Eric Ludlam 2014-11-26 Tests for completiong symbols in wisent grammars.
* | 5249e29..: Eric Ludlam 2014-11-26 (wisent-python-default-setup): Add syntax mod for . as punctuation.
* | 58c4e48..: Eric Ludlam 2014-11-26 (semantic-type-relation-separator-character): New, and empty.
* | 4a297f2..: Eric Ludlam 2014-11-26 (semantic-grammar-create-package): Get the setupfcn and mode before switching to other buffers. Don't special eval defvar, we generate defconst now. Be more aggressive reparsing open buffers of the mode being updated. (semantic-grammar-mode-map): Don't bind M-TAB (semantic-grammar-menu): Use completion-at-point instead of grammar version. (semantic-grammar-mode): Remove type relation character. (semantic-grammar-complete): Delete. (semantic-ctxt-current-class-list): Also support 'token' class. (semantic-analyze-possible-completions): Support the optional FLAGS that are passed in for other languages. Reverse the found prefix.
* | 3a2b292..: Eric Ludlam 2014-11-26 (semantic-ctxt-current-symbol-default): Allow the type relation separator to be empty for languages that don't have symbol sequences, such as grammars and Lisp.
* | 5b004b3..: Eric Ludlam 2014-11-26 (semantic-analyze-show): Protect against unbound error slot.
|/
Batch  1
* 8d58f6f..: Eric Ludlam 2014-11-25 (ede-android-project-data): Make robust to more whitespace around the specification of :name.
* 940af1c..: Eric Ludlam 2014-11-24 (NS2::Myclass, MyClassHandle, dixon): New test w/ a typedef that has keyword "class" included, instead of omitted as with other tests.
* 19cebe7..: Eric Ludlam 2014-11-24 (semantic-format-tag-canonical-name): Add part for a type with :parent. Merge parent names together. (semantic-c-dereference-typedef): If type is tag, use cononical name.
* b4c9855..: Eric Ludlam 2014-11-24 (semanticdb-enable-gnu-global-in-buffer): Don't try if file doesn't exist.
* 04f4244..: Eric Ludlam 2014-11-24 (semanticdb-enable-cscope-in-buffer): Don't try if file doesn't exist.
* f36f29b..: Eric Ludlam 2014-11-22 (ede-project-with-config-java): Add :classpath slot. This was missed when copying from generic.el.