]> git.eshelyaron.com Git - emacs.git/commit
Fix parsing of default values and display them in default formatter
authorDavid Engster <dengste@eml.cc>
Fri, 20 Sep 2013 19:54:31 +0000 (21:54 +0200)
committerEdward John Steere <edward.steere@gmail.com>
Wed, 25 Jan 2017 16:30:13 +0000 (18:30 +0200)
commit8d32d3ae786770d1ff00c5b2c05ed355514a9ee7
tree12a212ddaa98a019f30682a5416e6af2eeac0f99
parentef840dae5ed2fc0ca9e114e21e35b88858549359
Fix parsing of default values and display them in default formatter

* semantic/bovine/c.by (variablearg, varnamelist): Add default values
  so that it can be later expanded into the tag.
  (opt-stuff-after-symbol): Rename to 'brackets-after-symbol' and
  remove empty match.
  (multi-stage-dereference): Adapt to above rename.
  (unaryexpression): Use 'symbol' instead of 'namespace-symbol', since
  the latter also leads to an empty match at the end which would make
  this too greedy.

* semantic/format.el (semantic-format-tag-prototype-default):
  Display default values if available.

* semantic/test/manual/cedet/test-fmt.cpp: Add default values.

Parsing of default values for variables and function arguments was
broken with the refactoring done in rev. 7622.  While fixing this, it
turned out that our parser for expressions like

  char *foo = NULL;

was too greedy and also covered the semicolon because of empty matches
in rules 'opt-stuff-after-symbol' and 'opt-template-specifier',
leading to a variable with a default-value of "NULL;". This was fixed
by removing the empty match in 'opt-stuff-after-symbol' and using
'symbol' instead of 'namespace-symbol'.
test/manual/cedet/cedet/semantic/tests/test-fmt.cpp [new file with mode: 0644]