Community
Participate
Working Groups
Build Identifier: 201012031515 For this code: #define where(parameter, constraint) where_(#parameter, constraint) Constraint *where_(const char *parameter, Constraint *constraint); Renaming where_() doesn't change the usage of where_() in the macro definition. (It's also worth mentioning that I can't even rename where_() inside the macro definition, but that's a different bug.) Reproducible: Always Steps to Reproduce: -unpack the attached source tarball -add the directory to a C++ project -open the file mocks.h -select the where_ on the second line -press alt+shift+R -change name to when_, and press Enter result: it doesn't rename the instance of where_ in the macro definition on the first line expected result: should rename instances of that function name in macro definitions, as well as elsewhere.
Created attachment 184908 [details] tarball of the source tree that reprocued this bug, from the open source project "cgreen"
Created attachment 230050 [details] Minimal project to verify the problem On eclipse-SDK-4.3M5a-win32-x86_64 With this minimal test case: #define test(a,b) foo(#a, b) void foo(const char *s,int b) {} Running the Rename refactoring from the dialog box, with the "Macro definitions" checkbox checked, it works (i.e. I am unable to reproduce the bug). I suggest this be closed as FIXED (or WORKSFORME).
Matt, please reopen if you can reproduce the problem with "Macro definitions" checkbox checked.