help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Making code more Emacs Lisp-like


From: Sarir Khamsi
Subject: Making code more Emacs Lisp-like
Date: Mon, 02 Nov 2009 08:19:33 -0700
User-agent: Gnus/5.101 (Gnus v5.10.10) Emacs/22.2 (windows-nt)

I wrote this function

(defun sk-convert-to-ctor-init-list ()
  "Convert a C++ member variable declaration to a ctor init list line.
To use this, copy all member variable declarations into the constructor's 
member initialization list area and execute this command on each line. At the 
end of this command, it moves you to the next line setting it up for a key 
binding."
  (interactive)
  (save-excursion
    (end-of-line)
    (delete-horizontal-space)           ; delete whitespace at end of line
    (backward-delete-char-untabify 1)   ; delete the ";"
    (insert "(),")
    (search-backward-regexp "[\t *]")     ; look for whitespace or "*"
    (set-mark (+ (point) 1))              ; save the current position
    (beginning-of-line)
    (kill-region (point) (mark))
    (c-indent-command))
  (next-line 1))

to take a region that containers C++ code for member variable
declarations and convert it to a constructor's member init list. Is
there a better (or a more ELisp) way than this approach? Thanks.

Sarir

-- 
Sarir Khamsi
software guy
sarir.khamsi@raytheon.com


reply via email to

[Prev in Thread] Current Thread [Next in Thread]