aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/calc/calc-misc.el67
1 files changed, 0 insertions, 67 deletions
diff --git a/lisp/calc/calc-misc.el b/lisp/calc/calc-misc.el
index ad5258d17a7..78dd8630621 100644
--- a/lisp/calc/calc-misc.el
+++ b/lisp/calc/calc-misc.el
@@ -153,73 +153,6 @@ Calc user interface as before (either M-# C or M-# K; initially M-# C)."
153 (pop-to-buffer (current-buffer)) 153 (pop-to-buffer (current-buffer))
154 (calc-mode)) 154 (calc-mode))
155 155
156
157;;; Make an attempt to preserve the window configuration, while deleting
158;;; windows on "bufs". Emacs 19's delete-window function will probably
159;;; make this kludgery unnecessary, but Emacs 18's tendency to grow all
160;;; windows on the screen to take up the slack from the deleted windows
161;;; can be annoying when Calc was called during another multi-window
162;;; application, such as GNUS.
163
164(defun calc-delete-windows-keep (&rest bufs)
165 (if (one-window-p)
166 (mapcar 'delete-windows-on bufs)
167 (let* ((w (car calc-was-split))
168 (e (window-edges w))
169 (wins nil)
170 w2 e2)
171 (while (progn
172 (setq w2 (previous-window w)
173 e2 (window-edges w2))
174 (and (= (car e2) (car e))
175 (= (nth 2 e2) (nth 2 e))
176 (< (nth 1 e2) (nth 1 e))))
177 (setq w w2 e e2))
178 (setq w2 w e2 e)
179 (while (progn
180 (setq wins (cons (list w (nth 1 e) (window-buffer w)
181 (window-point w) (window-start w))
182 wins)
183 w (next-window w)
184 e (window-edges w))
185 (and (not (eq w w2))
186 (= (car e2) (car e))
187 (= (nth 2 e2) (nth 2 e)))))
188 (setq wins (nreverse wins))
189 (mapcar 'delete-windows-on bufs)
190 (or (one-window-p)
191 (let ((w wins)
192 (main nil)
193 (mainpos 0)
194 (sel (if (window-point (nth 2 calc-was-split))
195 (nth 2 calc-was-split)
196 (selected-window))))
197 (while w
198 (if (window-point (car (car w)))
199 (if main
200 (delete-window (car (car w)))
201 (setq main (car (car w))
202 mainpos (nth 1 (car w))
203 wins (cdr wins)))
204 (setq wins (delq (car w) wins)))
205 (setq w (cdr w)))
206 (while wins
207 (setq w (split-window main
208 (if (eq main (car calc-was-split))
209 (nth 1 calc-was-split)
210 (- (nth 1 (car wins)) mainpos))))
211 (set-window-buffer w (nth 2 (car wins)))
212 (set-window-point w (nth 3 (car wins)))
213 (set-window-start w (nth 4 (car wins)))
214 (if (eq sel (car (car wins)))
215 (select-window w))
216 (setq main w
217 mainpos (nth 1 (car wins))
218 wins (cdr wins)))
219 (if (window-point sel)
220 (select-window sel)))))))
221
222
223(defun calc-info () 156(defun calc-info ()
224 "Run the Emacs Info system on the Calculator documentation." 157 "Run the Emacs Info system on the Calculator documentation."
225 (interactive) 158 (interactive)