diff options
| -rw-r--r-- | lisp/calc/calc-misc.el | 67 |
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) |