mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-24 07:20:37 +00:00
(calc-delete-windows-keep): Function deleted.
This commit is contained in:
parent
1cc6997c38
commit
59f4b0804d
@ -153,73 +153,6 @@ Calc user interface as before (either M-# C or M-# K; initially M-# C)."
|
||||
(pop-to-buffer (current-buffer))
|
||||
(calc-mode))
|
||||
|
||||
|
||||
;;; Make an attempt to preserve the window configuration, while deleting
|
||||
;;; windows on "bufs". Emacs 19's delete-window function will probably
|
||||
;;; make this kludgery unnecessary, but Emacs 18's tendency to grow all
|
||||
;;; windows on the screen to take up the slack from the deleted windows
|
||||
;;; can be annoying when Calc was called during another multi-window
|
||||
;;; application, such as GNUS.
|
||||
|
||||
(defun calc-delete-windows-keep (&rest bufs)
|
||||
(if (one-window-p)
|
||||
(mapcar 'delete-windows-on bufs)
|
||||
(let* ((w (car calc-was-split))
|
||||
(e (window-edges w))
|
||||
(wins nil)
|
||||
w2 e2)
|
||||
(while (progn
|
||||
(setq w2 (previous-window w)
|
||||
e2 (window-edges w2))
|
||||
(and (= (car e2) (car e))
|
||||
(= (nth 2 e2) (nth 2 e))
|
||||
(< (nth 1 e2) (nth 1 e))))
|
||||
(setq w w2 e e2))
|
||||
(setq w2 w e2 e)
|
||||
(while (progn
|
||||
(setq wins (cons (list w (nth 1 e) (window-buffer w)
|
||||
(window-point w) (window-start w))
|
||||
wins)
|
||||
w (next-window w)
|
||||
e (window-edges w))
|
||||
(and (not (eq w w2))
|
||||
(= (car e2) (car e))
|
||||
(= (nth 2 e2) (nth 2 e)))))
|
||||
(setq wins (nreverse wins))
|
||||
(mapcar 'delete-windows-on bufs)
|
||||
(or (one-window-p)
|
||||
(let ((w wins)
|
||||
(main nil)
|
||||
(mainpos 0)
|
||||
(sel (if (window-point (nth 2 calc-was-split))
|
||||
(nth 2 calc-was-split)
|
||||
(selected-window))))
|
||||
(while w
|
||||
(if (window-point (car (car w)))
|
||||
(if main
|
||||
(delete-window (car (car w)))
|
||||
(setq main (car (car w))
|
||||
mainpos (nth 1 (car w))
|
||||
wins (cdr wins)))
|
||||
(setq wins (delq (car w) wins)))
|
||||
(setq w (cdr w)))
|
||||
(while wins
|
||||
(setq w (split-window main
|
||||
(if (eq main (car calc-was-split))
|
||||
(nth 1 calc-was-split)
|
||||
(- (nth 1 (car wins)) mainpos))))
|
||||
(set-window-buffer w (nth 2 (car wins)))
|
||||
(set-window-point w (nth 3 (car wins)))
|
||||
(set-window-start w (nth 4 (car wins)))
|
||||
(if (eq sel (car (car wins)))
|
||||
(select-window w))
|
||||
(setq main w
|
||||
mainpos (nth 1 (car wins))
|
||||
wins (cdr wins)))
|
||||
(if (window-point sel)
|
||||
(select-window sel)))))))
|
||||
|
||||
|
||||
(defun calc-info ()
|
||||
"Run the Emacs Info system on the Calculator documentation."
|
||||
(interactive)
|
||||
|
Loading…
Reference in New Issue
Block a user