*** empty log message ***
[bpt/emacs.git] / lisp / textmodes / underline.el
CommitLineData
d501f516
ER
1;;; underline.el --- insert/remove underlining (done by overstriking) in Emacs.
2
e5167999
ER
3;; Maintainer: FSF
4;; Last-Modified: 30 May 1988
d7b4d18f 5;; Keywords: wp
e5167999 6
a2535589
JA
7;; Copyright (C) 1985 Free Software Foundation, Inc.
8
9;; This file is part of GNU Emacs.
10
11;; GNU Emacs is free software; you can redistribute it and/or modify
12;; it under the terms of the GNU General Public License as published by
e5167999 13;; the Free Software Foundation; either version 2, or (at your option)
a2535589
JA
14;; any later version.
15
16;; GNU Emacs is distributed in the hope that it will be useful,
17;; but WITHOUT ANY WARRANTY; without even the implied warranty of
18;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;; GNU General Public License for more details.
20
21;; You should have received a copy of the GNU General Public License
22;; along with GNU Emacs; see the file COPYING. If not, write to
23;; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
24
e5167999 25;;; Code:
a2535589 26
f9f9507e 27;;;###autoload
a2535589
JA
28(defun underline-region (start end)
29 "Underline all nonblank characters in the region.
30Works by overstriking underscores.
31Called from program, takes two arguments START and END
32which specify the range to operate on."
33 (interactive "r")
34 (save-excursion
35 (let ((end1 (make-marker)))
36 (move-marker end1 (max start end))
37 (goto-char (min start end))
38 (while (< (point) end1)
39 (or (looking-at "[_\^@- ]")
40 (insert "_\b"))
41 (forward-char 1)))))
42
f9f9507e 43;;;###autoload
a2535589
JA
44(defun ununderline-region (start end)
45 "Remove all underlining (overstruck underscores) in the region.
46Called from program, takes two arguments START and END
47which specify the range to operate on."
48 (interactive "r")
49 (save-excursion
50 (let ((end1 (make-marker)))
51 (move-marker end1 (max start end))
52 (goto-char (min start end))
53 (while (re-search-forward "_\b\\|\b_" end1 t)
54 (delete-char -2)))))
d501f516
ER
55
56;;; underline.el ends here