Because such refactoring is not really needed. You can do easily with sed.
What's so difficult about using Elisp to configure your editor? If you know how to turn on a light switch, you already know how to configure Emacs at its basic level!!! Most of Emacs lisp configuration is like this:
(semantic-mode 1) ;; 1 means turn the feature on
If you want to turn it off:
(semantic-mode 0) ;; 0 means turn the feature off
Most of Emacs plugins work this way, with a few more Elisp code for setting key bindings and other things. Anyway, the package maintainers always give you config Elisp code. Your only work is to copy/paste into your config file and it's done.
Your IDEs appears nice at first since they hide most of the complexity in a menu item called "Options". But when you need to adjust something, and when you click the "Options" menu, things are not so nice anymore. For example, try Eclipse.
How do you refactor complex C code with myriad of macros? I think we should avoid writing code that having to seriously change its structure later. If we want to refactor, it should be minimal and manageable.
And if you mean seriously refactoring as in this article from Qt Creator: http://qt-project.org/doc/qtcreator-2.6/creator-editor-refac... that includes reformatting code, generating getter/setter or automatically detect and fix mistake for you, then no. I have never write such code in the first place that having to back later and I believe we should not fall into the use cases listed in that article.
My only use case for refactoring is to rename variable/function names.
Refactorings are used to adapt your code to newly acquired knowledge and/or changed requirements. That are things that CAN'T BE PLANNED because you simply don't know them yet. Therefore you can't plan how minimal you'll have to refactor.
Let's take the "rename function" refactoring. You claimed sed was sufficient. What about functions with the same name in different namespaces or different visibilities?
The same goes for move parameter. Sometimes you want to move a parameter so the order adheres to a guideline that you've accidentially forgotten or that newly emerged. Again: What about ambiguos function names?
Refactorings such as pull method up (e.g. to create an interface)/ push method down are probably not even possible with sed.
Those are small and manageable refactorings. But even a small refactoring such as rename function can mess up your code if not done correctly.
What's so difficult about using Elisp to configure your editor? If you know how to turn on a light switch, you already know how to configure Emacs at its basic level!!! Most of Emacs lisp configuration is like this:
(semantic-mode 1) ;; 1 means turn the feature on
If you want to turn it off:
(semantic-mode 0) ;; 0 means turn the feature off
Most of Emacs plugins work this way, with a few more Elisp code for setting key bindings and other things. Anyway, the package maintainers always give you config Elisp code. Your only work is to copy/paste into your config file and it's done.
Your IDEs appears nice at first since they hide most of the complexity in a menu item called "Options". But when you need to adjust something, and when you click the "Options" menu, things are not so nice anymore. For example, try Eclipse.