Sarcasm/irony-mode — pull request #78 by ap4y (2013-12-30 12:31:39+00:00)
Title: Objective-C compatibility

This PR improves compatibility with obj-c mode. Main problem that I tried to tackle is a multi-parameter methods from objc. For example, currently `initWithNibName:bundle:` method expands incorrectly to `initWithNibName::`. Apparently, clang treats `bundle:` as `TypedText` chunk which is currently doesn't convert to any node. I changed that to be `t` node in elisp.

I also tried to improve candidates text for `ac` list. Same example, currently `initWithNibName:bundle:` method presents in ac completion list as `initWithNibName` which is incomplete method signature. I tried to fix that by accumulating `t` nodes, but this introduced another issue: after selecting with `RET` completion from the list, `initWithNibName:bundle:` will be appended automatically and completion with placeholders will be appended after that text. Correct behaviour will be insert placeholders after each `:`. It feels like `ac` problem/limitation. Only solution I can imagine is to change appended with `RET` text. Maybe someone knows a possible solution for this problem. To avoid this issue I'm using only first `t` node in the candidate list.

Hope I didn't make much mistakes, my elisp knowledge is quite limited. It should not introduce breaking changes for c/c++, but I unfortunately didn't test it, I currently don't have any c++ projects. Thanks!