A little useful elisp
Mar 5, 2005I get a lot of email at work and at home and I’m always deleting
sections and
inlining responses so I decided that I needed a key binding in XEmacs to
do
that work for me. Thanks to my growing familiarity with Scheme, writing
elisp doesn’t seem so bad (well, as long as I have the [XEmacs Lisp
Reference
Manual](http://xemacs.org/Documentation/21.5/html/lispref.html) handy).
It’s ugly but it works and it’s my first useful creation in Lisp/Scheme:
(defun region-is-active () ;; stolen from eparker's dot file
(if (string-match "XEmacs" emacs-version)
(region-exists-p) mark-active) )
(defun whack () "text killer, region, to sig, or next paragraph"
(interactive)
(let ((start (point)))
(cond
((region-is-active) (delete-region (point) (mark)))
((re-search-forward "^--" nil t)
(forward-line -1) (delete-region start (point)))
(t (forward-paragraph) (delete-region start (point)))))
(insert " [snip]nnn")
(forward-line -1))
(global-set-key (kbd "C-x !") 'whack)