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

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

Re: Using indent program as filter to automatically view read-only C f


From: Kevin Rodgers
Subject: Re: Using indent program as filter to automatically view read-only C files
Date: Fri, 03 Feb 2006 11:46:46 -0700
User-agent: Mozilla Thunderbird 0.9 (X11/20041105)

juanleon1@gmail.com wrote:
I have to work with C/C++ files with a very ugly and inconsistent
indentation (many developers adding things with no style guide). This
is very distracting, and since I cannot change them (to avoid conflicts
when taking/carryng changes from/to other branches), I had think that
for read-only files (those that I have not opened in the revision
control system), it would be nice if emacs could run automagically the
"indent" program so I can see the code "beatyfully" indented.

I didn't find anything obvious on the net for that. I do not wanna
modify files in disk, only to make emacs to put the indent output in
the buffer without changing variables like `buffer-file-name' and so. I
would like this to be done in a transparent way when opening a C/C++
file (via find-file, find-tag or whatever).

Before trying to code something like that myself (and most probably
reinvent the wheel), I would like to know if anybody knows if this (or
something similar enough I could reuse/modify) is already available.

Any ideas welcome.

(add-hook 'find-file-hooks
          (lambda ()
            (when (and buffer-read-only
                       (memq major-mode '(c-mode c++-mode)))
              (let ((buffer-modified-p (buffer-modified-p))
                    (inhibit-read-only t))
                (shell-command-on-region (point-min) (point-max) "indent"
                                         nil t nil)
                (set-buffer-modified-p buffer-modified-p)
                ;; (set-visited-file-modtime)
                ))))

--
Kevin Rodgers





reply via email to

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