spolsky-joel@CS.Yale.EDU (Joel Spolsky) (04/21/89)
Here is a slightly modified version of Barry Warsaw's yankorig.el. It allows you to insert any user-selected character (or string) at the beginning of each quoted line, when using C-c C-y to reply to email. I use it to insert a "|" in the left of all quoted text. ">" is another favorite. Just modify the line (setq yank-character "| ") to set your favorite quote character. This version is an improvement on Barry's version in that it doesn't redefine indent-rigidly, it simply uses a replace-regexp. Also, it also quotes blank lines. You will need: (setq mail-setup-hook '(lambda () (load "yankorig"))) in your .emacs file. +----------------+----------------------------------------------------------+ | Joel Spolsky | bitnet: spolsky@yalecs.bitnet uucp: ...!yale!spolsky | | | internet: spolsky@cs.yale.edu voicenet: 203-436-1483 | +----------------+----------------------------------------------------------+ #include <disclaimer.h> ;; yankorig.el ;; ;; inserts a user-selected character at the beginning of a reply line ;; ;; You will need: ;; ;; (setq mail-setup-hook ;; '(lambda () (load "yankorig"))) ;; ;; in your .emacs file. ;; ;; This file is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY. No author or distributor ;; accepts responsibility to anyone for the consequences of using it ;; or for whether it serves any particular purpose or works at all, ;; unless he says so in writing. Refer to the GNU Emacs General Public ;; License for full details. ;; Everyone is granted permission to copy, modify and redistribute ;; this file, but only under the conditions described in the ;; GNU Emacs General Public License. A copy of this license is ;; supposed to have been given to you along with GNU Emacs so you ;; can know your rights and responsibilities. It should be in a ;; file named COPYING. Among other things, the copyright notice ;; and this notice must be preserved on all copies. ;; NAME: Barry A. Warsaw USMAIL: National Institute of Standards ;; TELE: (301) 975-3460 and Technology (formerly NBS) ;; UUCP: {...}!uunet!cme-durer!warsaw Rm. B-124, Bldg. 220 ;; ARPA: warsaw@cme.nbs.gov Gaithersburg, MD 20899 ;; or: warsaw@cme-durer.arpa ;; ;; Modified by ;;+----------------+----------------------------------------------------------+ ;;| Joel Spolsky | bitnet: spolsky@yalecs.bitnet uucp: ...!yale!spolsky | ;;| | internet: spolsky@cs.yale.edu voicenet: 203-436-1483 | ;;+----------------+----------------------------------------------------------+ ;; Modification history: ;; ;; 16-Feb-1989 by baw: modified funcs "indent-rigidly", "mail-yank-original" ;; 20-Apr-1989 by js: rearranged to use replace-regexp instead ;; of indent-rigidly and thus quote blank lines as well. ;; (setq yank-character "| ") (defun mail-yank-original (arg) "Insert the message being replied to, if any (in rmail). Puts point before the text and mark after. Inserts the value yank-character before each line. Just \\[universal-argument] as argument means don't indent and don't delete any header fields." (interactive "P") (if mail-reply-buffer (let ((start (point))) (delete-windows-on mail-reply-buffer) (insert-buffer mail-reply-buffer) (if (consp arg) nil (mail-yank-clear-headers start (mark)) (replace-regexp "^" yank-character nil) ) (exchange-point-and-mark) (if (not (eolp)) (insert ?\n)) (exchange-point-and-mark) (insert ?\n))))