Ed wrote: > On 19 Juni, 07:14, Harry George >> I've used emacs since the 1980's. > ... >> -- >> Harry George >> PLM Engineering Architecture > > I've asked this question on an emacs forum and got no response, so I > presume the answer is no, but I see, Harry, that you're a veteran, so > maybe you've seen things few others have. > > Have you ever seen an, "Extract method," function for emacs? Whereby > you highlight some lines of code, press a key, and the code is whisked > into its own method, with the appropriate method invocation left in > its place. If you could post a link, that'd be just champion.
I googled about a bit and came up with <http://bicyclerepair.sourceforge.net/> linked from <http://en.wikipedia.org/wiki/Refactoring> I also looked at emacs's own "Info" pages and found this tidbit: > `M-x c-beginning-of-defun' > `M-x c-end-of-defun' > Move point to the beginning or end of the current function or > top-level definition. These are found by searching for the least > enclosing braces. (By contrast, `beginning-of-defun' and > `end-of-defun' search for braces in column zero.) If you are > editing code where the opening brace of a function isn't placed in > column zero, you may wish to bind `C-M-a' and `C-M-e' to these > commands. *Note Moving by Defuns::. > > `M-a' > Move point to the beginning of the innermost C statement > (`c-beginning-of-statement'). If point is already at the beginning > of a statement, move to the beginning of the preceding statement. > With prefix argument N, move back N - 1 statements. > > In comments or in strings which span more than one line, this > command moves by sentences instead of statements. > > `M-e' > Move point to the end of the innermost C statement or sentence; > like `M-a' except that it moves in the other direction > (`c-end-of-statement'). You could, and I believe others have, create a macro to encapsulate these actions with setting the mark and copying the region. Here is a very promising-looking one that I found for C(**) and Java: <http://xref-tech.com/speller/main.html> GWMF. -- Lew -- http://mail.python.org/mailman/listinfo/python-list