12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- (defun underline-region (start end)
- "Underline all nonblank characters in the region.
- Works by overstriking underscores.
- Called from program, takes two arguments START and END
- which specify the range to operate on."
- (interactive "*r")
- (save-excursion
- (let ((end1 (make-marker)))
- (move-marker end1 (max start end))
- (goto-char (min start end))
- (while (< (point) end1)
- (or (looking-at "[_\^@- ]")
- (insert "_\b"))
- (forward-char 1)))))
- (defun ununderline-region (start end)
- "Remove all underlining (overstruck underscores) in the region.
- Called from program, takes two arguments START and END
- which specify the range to operate on."
- (interactive "*r")
- (save-excursion
- (let ((end1 (make-marker)))
- (move-marker end1 (max start end))
- (goto-char (min start end))
- (while (re-search-forward "_\b\\|\b_" end1 t)
- (delete-char -2)))))
- (provide 'underline)
|