annotate lib/emacs/misc.el @ 113:1d6fde73789d

debugging
author Henry S. Thompson <ht@inf.ed.ac.uk>
date Mon, 26 Apr 2021 17:17:58 +0000
parents a7e72a254790
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
96
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
1 ;; various hacks
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
2 ;; a compiled version exists!
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
3 ;; Last edited: Thu Oct 2 16:47:40 1986
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
4
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
5 (provide 'misc)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
6
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
7 (defun
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
8 insert-time ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
9 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
10 (insert-string (current-time-string)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
11
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
12 (global-set-key "\et" 'insert-time)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
13
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
14 (defun
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
15 note-edit ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
16 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
17 (beginning-of-buffer)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
18 (if
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
19 (not (search-forward "Last edited: " nil t))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
20 (progn (insert-string ";; Last edited: ")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
21 (newline)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
22 (forward-char -1))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
23 (if (not (looking-at "\n"))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
24 (kill-line)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
25 (insert-time))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
26
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
27 (global-set-key "\em" 'note-edit)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
28
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
29 (defun save-and-pause()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
30 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
31 (save-some-buffers t)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
32 (suspend-emacs))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
33
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
34 (global-set-key "\C-x." 'save-and-pause)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
35
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
36 (defun fix-comment-line ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
37 "split comment onto enough lines to avoid overflow"
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
38 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
39 (indent-for-comment)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
40 (end-of-line)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
41 (if (> (current-column) 79)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
42 (progn
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
43 (while (> (current-column) 79)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
44 (re-search-backward "[ ]"))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
45 (indent-new-comment-line)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
46 (end-of-line))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
47
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
48 (defun fix-all-comments ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
49 "iterate over file with fix-comment-line"
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
50 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
51 (while (search-forward ";" nil t)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
52 (fix-comment-line)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
53
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
54 (global-set-key "\e:" 'fix-comment-line)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
55
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
56 (defun grind-file ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
57 "grind all forms in a lisp file"
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
58 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
59 (beginning-of-buffer)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
60 (while (re-search-forward "^(" nil t)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
61 (beginning-of-line)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
62 (indent-sexp)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
63 (end-of-line)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
64
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
65 (defun suggest-breaks ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
66 "suggest line breaks to improve indentation"
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
67 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
68 (set-mark (point))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
69 (message "Trying to add line breaks to over-long lines . . .")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
70 (let (finished)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
71 (while (not (or finished
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
72 (= (point)(point-max))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
73 (end-of-line)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
74 (if (> (current-column) 79)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
75 (let* ((left (progn (beginning-of-line)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
76 (re-search-forward "[ ]*")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
77 (current-column)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
78 (min-pt (point))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
79 (target (min 69 (/ (+ 79 left) 2))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
80 (end-of-line)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
81 (while (and (> (current-column) target)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
82 (> (point) min-pt)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
83 (search-backward " " nil t)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
84 (if (<= (point) min-pt)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
85 (progn (goto-char min-pt)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
86 (if (search-forward " " nil t)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
87 (backward-char 1)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
88 (message "losing %d %d %d" min-pt left target))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
89 (let ((help-form (quote
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
90 "y or <space> to break here,n or . or ! to stop, others interpreted"))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
91 (re-probe t)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
92 (char nil))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
93 (while re-probe
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
94 (setq re-probe nil)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
95 (setq char (read-char))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
96 (cond ((or (= char ??)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
97 (= char help-char))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
98 (message help-form))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
99 ((or (= char ?\ )
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
100 (= char ?y))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
101 (while (looking-at " ")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
102 (delete-char 1))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
103 (newline-and-indent)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
104 (message
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
105 "Trying to add line breaks to over-long lines . . ."))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
106 ((or (= char ?n)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
107 (= char ?\.)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
108 (= char ?\!))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
109 nil)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
110 ((= char ?f)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
111 (forward-char 1)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
112 (search-forward " ")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
113 (backward-char 1)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
114 (setq re-probe t))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
115 ((= char ?b)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
116 (search-backward " ")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
117 (setq re-probe t))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
118 (t (setq unread-command-char char)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
119 (setq finished t))))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
120 (forward-line)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
121 (message "Trying to add line breaks to over-long lines . . . done.")))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
122
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
123 (defun set-left-margin ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
124 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
125 (if (and margin-stack
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
126 (< (current-column)(car margin-stack)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
127 (setq margin-stack nil)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
128 (if (> (current-column) left-margin)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
129 (setq margin-stack (cons left-margin margin-stack))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
130 (setq left-margin (current-column))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
131 (set-fill-prefix))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
132
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
133 (defun pop-left-margin ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
134 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
135 (if margin-stack
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
136 (progn (setq left-margin (car margin-stack))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
137 (setq margin-stack (cdr margin-stack)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
138 (setq left-margin 0))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
139 (move-to-column left-margin)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
140 (set-fill-prefix))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
141
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
142 (add-hook 'text-mode-hook
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
143 (lambda nil
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
144 (turn-on-auto-fill)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
145 (abbrev-mode 1)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
146 (local-set-key "\C-cl" 'set-left-margin)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
147 (local-set-key "\C-cs" 'submerge-region)) t)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
148
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
149 (global-set-key "\C-cp" 'pop-left-margin)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
150
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
151 (setq margin-stack nil)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
152
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
153 (global-set-key "\^Xn" 'other-window) ; as per emacs - used to be narrow
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
154 (global-set-key "\^Xp" 'other-window-up) ; "
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
155
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
156 (defun other-window-up (n)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
157 (interactive "p")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
158 (other-window (- (or n 1))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
159
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
160 (defun minibuffer-electric-tilde ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
161 ;; by Stig@hackvan.com
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
162 (interactive)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
163 (and (eq ?/ (preceding-char))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
164 (delete-region (point-min) (point)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
165 (insert ?~))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
166
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
167
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
168
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
169 ;; Created by: Joe Wells, jbw@cs.bu.edu
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
170 ;; Created on: Fri May 15 13:16:01 1992
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
171 ;; Last modified by: Joe Wells, jbw@csd
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
172 ;; Last modified on: Fri May 15 17:03:28 1992
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
173 ;; Filename: backtrace-fix.el
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
174 ;; Purpose: make backtrace useful when circular structures are on the stack
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
175
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
176 (or (fboundp 'original-backtrace)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
177 (fset 'original-backtrace
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
178 (symbol-function 'backtrace)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
179
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
180 (defconst backtrace-junk "\
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
181 original-backtrace()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
182 (condition-case ...)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
183 (let ...)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
184 (save-excursion ...)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
185 (let ...)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
186 ")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
187
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
188 (defun circ-backtrace ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
189 "Print a trace of Lisp function calls currently active.
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
190 Output stream used is value of standard-output."
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
191 (let (err-flag)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
192 (save-excursion
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
193 (set-buffer (get-buffer-create " backtrace-temp"))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
194 (buffer-flush-undo (current-buffer))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
195 (erase-buffer)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
196 (let ((standard-output (current-buffer)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
197 (condition-case err
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
198 (original-backtrace)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
199 (error
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
200 (setq error-flag err))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
201 (cond (err-flag
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
202 (goto-char (point-max))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
203 (beginning-of-line 1)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
204 ;; don't leave any unbalanced parens lying around
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
205 (delete-region (point) (point-max))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
206 (goto-char (point-min))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
207 (search-forward backtrace-junk nil t)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
208 (delete-region (point-min) (point))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
209 (princ (buffer-substring (point-min) (point-max)))))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
210 nil)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
211
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
212 (defun install-circ-bt ()
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
213 (fset 'backtrace
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
214 (symbol-function 'circ-backtrace)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
215
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
216 (defvar submerge-prefix "> "
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
217 "prefix to submerge quoted text with")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
218
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
219 (defun submerge-region (&optional start end)
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
220 "submerge the current region"
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
221 (interactive "r")
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
222 (let ((fill-prefix submerge-prefix))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
223 (indent-region start end nil)))
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
224
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
225
Henry S. Thompson <ht@inf.ed.ac.uk>
parents:
diff changeset
226