Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: line continuation with sed
On Fri, Oct 14, 2022 at 12:19:01PM +0100, Peter Stephenson wrote:
> You can configure a number of editors to show this up. In emacs,
> for example, I use:
>
> (setq-default show-trailing-whitespace t)
>
> to show it for all modes, since it's often useful and at worst
> a minor distraction.
Decades ago Paul D. Smith posted the attached script
"rm-tspaces.el" to the fvwm-workers mailing list: When you try to
save a buffer with trailing whitespace, it asks you whether you
want to remove them before saving. Very handy. (Can also be
configured to do this automatically.)
My configuration:
-- ~/.emacs --
;; Removes all trailing whitespace at the end of all lines--this setting
;; makes it ask you by default.
;;
(require 'rm-tspaces)
(setq-default rm-trailing-spaces 1)
;; Turn it on unconditionally for various programming modes
;;
(add-hook 'emacs-lisp-mode-hook 'rm-trailing-spaces-always)
(add-hook 'cperl-mode-hook 'rm-trailing-spaces-always)
(add-hook 'c-mode-common-hook 'rm-trailing-spaces-always)
(add-hook 'makefile-mode-hook 'rm-trailing-spaces-always)
;; Turn it off unconditionally in other places
;;
(add-hook 'message-mode-hook 'rm-trailing-spaces-never)
(add-hook 'nnfolder-save-buffer-hook 'rm-trailing-spaces-never)
-- snip --
Ciao
Dominik ^_^ ^_^
--
Dominik Vogt
;; rm-tspaces.el: Automatically clean trailing whitespace from buffers.
;;
;; Copyright (C) 1995 Paul D. Smith <psmith@xxxxxxxxxxxxxxx>
;;
;; This file requires Emacs 19 or above. It should work with both Emacs
;; and XEmacs. Use (require 'rm-tspaces) to load this file (don't
;; autoload it).
;;
;; For user-invoked whitespace cleanup, the function rm-trailing-spaces
;; can be bound to a key or invoked via M-x.
;;
;; The variable rm-trailing-spaces controls behavior when the buffer is
;; saved. By default nothing is done. See the documentation of this
;; variable for details.
;;
;; The variable rm-trailing-spaces is buffer-local. Use setq-default to
;; set the default value for all buffers. Use setq to override the
;; default value for a particular buffer. If you're going to put the
;; setq in a hook, use the handy hook functions at the end of this file
;; to avoid having to write your own.
;;
;; For example, to be asked about removal for all buffers, except
;; automatically remove spaces in C files, try something like this:
;;
;; (require 'rm-tspaces)
;; (setq-default rm-trailing-spaces 1) ; any non-nil, non-t value
;;
;; (add-hook 'c-mode-hook 'rm-trailing-spaces-always)
;;
;; Note the user is only queried when there is actually trailing
;; whitespace in the buffer (e.g., the buffer would be modified).
;;
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 2, or (at your option)
;; any later version.
;;
;; Changes:
;; 1.2 - Add version info.
;; Add simple functions to make installing in hooks simpler.
(defvar rm-trailing-spaces nil
"*Value of t says silently remove all trailing spaces when a file is saved.
Non-nil but not t says ask user whether to remove trailing spaces or not.
nil means don't remove trailing spaces.")
(make-variable-buffer-local 'rm-trailing-spaces)
;; What are we?
;;
;(defconst rm-tspaces-version (substring "$Revision$" 11 -2)
; "$Id$")
(defun rm-trailing-spaces-internal ()
"Deletes trailing whitespace from all lines in the current buffer."
(if (and (not buffer-read-only) rm-trailing-spaces)
(save-excursion
(goto-char (point-min))
(if (or (eq rm-trailing-spaces t)
(and (re-search-forward "[ \t]$" nil 1)
(y-or-n-p
(format "Remove trailing spaces in buffer %s? "
(buffer-name)))))
(list
(while (< (point) (point-max))
(end-of-line nil)
(delete-horizontal-space)
(forward-line 1))
(end-of-line nil)
(delete-horizontal-space))
)))
nil) ; indicates buffer-not-saved for write-file-hooks
(defun rm-trailing-spaces ()
"Deletes trailing whitespace from all lines in the current buffer."
(interactive "*")
(message "Deleting trailing spaces... ")
(let ((rm-trailing-spaces t))
(rm-trailing-spaces-internal))
(message "Deleting trailing spaces... done"))
;; Apply this function automatically to all buffers before they're saved.
;;
(add-hook 'write-file-hooks 'rm-trailing-spaces-internal)
;; Provide some simple functions for inclusion in hooks variables
;;
(defun rm-trailing-spaces-never ()
"Don't automatically delete trailing whitespace in this buffer."
(setq rm-trailing-spaces nil))
(defun rm-trailing-spaces-ask ()
"Ask before deleting trailing whitespace in this buffer."
(setq rm-trailing-spaces 1))
(defun rm-trailing-spaces-always ()
"Always automatically delete trailing whitespace in this buffer."
(setq rm-trailing-spaces t))
(provide 'rm-tspaces)
;; rm-tspaces.el ends here
Messages sorted by:
Reverse Date,
Date,
Thread,
Author