Am Dienstag, 07. Oktober 2008 14:44:13 schrieb Dirk Meyer:
> > I am using some emacs code that makes sure that there is no trailing
> > whitespace in my source code; occasionally this will remove trailing
> > whitespace existing in SVN
>
> Can you give me that snippet? I once had a hook that stripped
> whitespaces on every safe which was a bad idea when editing signature
> files. :) I would like to have it only active for Python mode.
Here it is:
;---------------------------------------------------------------------
(defun hlm-clean-trailing-space (&optional only-non-empty)
"Removes spaces at ends of lines, useful in find-file-hooks.
If optional parameter only-non-empty is non-nil, removes only trailing
whitespace of non-empty lines."
(interactive)
(save-excursion
(goto-char (point-min))
(let ((count 0)
(bmp (buffer-modified-p))
(unwanted-whitespace-re (if only-non-empty
"[^\n\t ]\\([\t ]+\\)$"
"\\([\t
]+\\)$")))
(while (re-search-forward unwanted-whitespace-re nil t)
(replace-match "" t t nil 1)
(setq count (1+ count)))
(and (> count 0)
(progn
(set-buffer-modified-p bmp)
(message "Cleaned trailing space from %d lines"
count))))))
(add-hook 'find-file-hooks
'(lambda ()
;; don't do this in LyX, TeX or diff files, or if the buffer is
read-only:
(or
(string-match "\\.\\(lyx\\|tex\\)$" (buffer-file-name))
(eq major-mode 'diff-mode)
buffer-read-only
(hlm-clean-trailing-space (eq major-mode 'python-mode)))))
;---------------------------------------------------------------------
Probably, only-non-empty should be set to true for all programming language
modes (due to indentation of blocks which may contain "empty" lines).
The LyX part is for LyX versions < 1.4 IIRC, where spaces at EOL very really
significant, but that was "fixed" upstream.
Ciao, / /
/--/
/ / ANS
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Freevo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freevo-devel