Mercurial > hg > xemacs-beta
comparison lisp/ediff/ediff-wind.el @ 181:bfd6434d15b3 r20-3b17
Import from CVS: tag r20-3b17
author | cvs |
---|---|
date | Mon, 13 Aug 2007 09:53:19 +0200 |
parents | 2d532a89d707 |
children |
comparison
equal
deleted
inserted
replaced
180:add28d59e586 | 181:bfd6434d15b3 |
---|---|
107 ;; Official window for buffer C | 107 ;; Official window for buffer C |
108 (ediff-defvar-local ediff-window-C nil "") | 108 (ediff-defvar-local ediff-window-C nil "") |
109 ;; Ediff's window configuration. | 109 ;; Ediff's window configuration. |
110 ;; Used to minimize the need to rearrange windows. | 110 ;; Used to minimize the need to rearrange windows. |
111 (ediff-defvar-local ediff-window-config-saved "" "") | 111 (ediff-defvar-local ediff-window-config-saved "" "") |
112 | |
113 ;; Association between buff-type and ediff-window-* | |
114 (defconst ediff-window-alist | |
115 '((A . ediff-window-A) | |
116 (?A . ediff-window-A) | |
117 (B . ediff-window-B) | |
118 (?B . ediff-window-B) | |
119 (C . ediff-window-C) | |
120 (?C . ediff-window-C))) | |
112 | 121 |
113 | 122 |
114 (defcustom ediff-split-window-function 'split-window-vertically | 123 (defcustom ediff-split-window-function 'split-window-vertically |
115 "*The function used to split the main window between buffer-A and buffer-B. | 124 "*The function used to split the main window between buffer-A and buffer-B. |
116 You can set it to a horizontal split instead of the default vertical split | 125 You can set it to a horizontal split instead of the default vertical split |
302 (or (ediff-window-display-p) | 311 (or (ediff-window-display-p) |
303 (setq ediff-window-setup-function 'ediff-setup-windows-plain)) | 312 (setq ediff-window-setup-function 'ediff-setup-windows-plain)) |
304 | 313 |
305 (or (ediff-keep-window-config control-buffer) | 314 (or (ediff-keep-window-config control-buffer) |
306 (funcall | 315 (funcall |
307 (ediff-eval-in-buffer control-buffer ediff-window-setup-function) | 316 (ediff-with-current-buffer control-buffer ediff-window-setup-function) |
308 buffer-A buffer-B buffer-C control-buffer)) | 317 buffer-A buffer-B buffer-C control-buffer)) |
309 (run-hooks 'ediff-after-setup-windows-hook)) | 318 (run-hooks 'ediff-after-setup-windows-hook)) |
310 | 319 |
311 ;; Just set up 3 windows. | 320 ;; Just set up 3 windows. |
312 ;; Usually used without windowing systems | 321 ;; Usually used without windowing systems |
313 ;; With windowing, we want to use dedicated frames. | 322 ;; With windowing, we want to use dedicated frames. |
314 (defun ediff-setup-windows-plain (buffer-A buffer-B buffer-C control-buffer) | 323 (defun ediff-setup-windows-plain (buffer-A buffer-B buffer-C control-buffer) |
315 (ediff-eval-in-buffer control-buffer | 324 (ediff-with-current-buffer control-buffer |
316 (setq ediff-multiframe nil)) | 325 (setq ediff-multiframe nil)) |
317 (if ediff-merge-job | 326 (if ediff-merge-job |
318 (ediff-setup-windows-plain-merge | 327 (ediff-setup-windows-plain-merge |
319 buffer-A buffer-B buffer-C control-buffer) | 328 buffer-A buffer-B buffer-C control-buffer) |
320 (ediff-setup-windows-plain-compare | 329 (ediff-setup-windows-plain-compare |
325 (ediff-destroy-control-frame control-buffer) | 334 (ediff-destroy-control-frame control-buffer) |
326 (let ((window-min-height 1) | 335 (let ((window-min-height 1) |
327 split-window-function | 336 split-window-function |
328 merge-window-share merge-window-lines | 337 merge-window-share merge-window-lines |
329 wind-A wind-B wind-C) | 338 wind-A wind-B wind-C) |
330 (ediff-eval-in-buffer control-buffer | 339 (ediff-with-current-buffer control-buffer |
331 (setq merge-window-share ediff-merge-window-share | 340 (setq merge-window-share ediff-merge-window-share |
332 ;; this lets us have local versions of ediff-split-window-function | 341 ;; this lets us have local versions of ediff-split-window-function |
333 split-window-function ediff-split-window-function)) | 342 split-window-function ediff-split-window-function)) |
334 (delete-other-windows) | 343 (delete-other-windows) |
335 (split-window-vertically) | 344 (split-window-vertically) |
360 (if (eq (selected-window) wind-A) | 369 (if (eq (selected-window) wind-A) |
361 (other-window 1)) | 370 (other-window 1)) |
362 (switch-to-buffer buf-B) | 371 (switch-to-buffer buf-B) |
363 (setq wind-B (selected-window)) | 372 (setq wind-B (selected-window)) |
364 | 373 |
365 (ediff-eval-in-buffer control-buffer | 374 (ediff-with-current-buffer control-buffer |
366 (setq ediff-window-A wind-A | 375 (setq ediff-window-A wind-A |
367 ediff-window-B wind-B | 376 ediff-window-B wind-B |
368 ediff-window-C wind-C)) | 377 ediff-window-C wind-C)) |
369 | 378 |
370 (ediff-select-lowest-window) | 379 (ediff-select-lowest-window) |
378 (ediff-destroy-control-frame control-buffer) | 387 (ediff-destroy-control-frame control-buffer) |
379 (let ((window-min-height 1) | 388 (let ((window-min-height 1) |
380 split-window-function wind-width-or-height | 389 split-window-function wind-width-or-height |
381 three-way-comparison | 390 three-way-comparison |
382 wind-A-start wind-B-start wind-A wind-B wind-C) | 391 wind-A-start wind-B-start wind-A wind-B wind-C) |
383 (ediff-eval-in-buffer control-buffer | 392 (ediff-with-current-buffer control-buffer |
384 (setq wind-A-start (ediff-overlay-start | 393 (setq wind-A-start (ediff-overlay-start |
385 (ediff-get-value-according-to-buffer-type | 394 (ediff-get-value-according-to-buffer-type |
386 'A ediff-narrow-bounds)) | 395 'A ediff-narrow-bounds)) |
387 wind-B-start (ediff-overlay-start | 396 wind-B-start (ediff-overlay-start |
388 (ediff-get-value-according-to-buffer-type | 397 (ediff-get-value-according-to-buffer-type |
424 (if (eq (selected-window) wind-B) | 433 (if (eq (selected-window) wind-B) |
425 (other-window 1)) | 434 (other-window 1)) |
426 (switch-to-buffer buf-C) | 435 (switch-to-buffer buf-C) |
427 (setq wind-C (selected-window)))) | 436 (setq wind-C (selected-window)))) |
428 | 437 |
429 (ediff-eval-in-buffer control-buffer | 438 (ediff-with-current-buffer control-buffer |
430 (setq ediff-window-A wind-A | 439 (setq ediff-window-A wind-A |
431 ediff-window-B wind-B | 440 ediff-window-B wind-B |
432 ediff-window-C wind-C)) | 441 ediff-window-C wind-C)) |
433 | 442 |
434 ;; It is unlikely that we will want to implement 3way window comparison. | 443 ;; It is unlikely that we will want to implement 3way window comparison. |
443 )) | 452 )) |
444 | 453 |
445 | 454 |
446 ;; dispatch an appropriate window setup function | 455 ;; dispatch an appropriate window setup function |
447 (defun ediff-setup-windows-multiframe (buf-A buf-B buf-C control-buf) | 456 (defun ediff-setup-windows-multiframe (buf-A buf-B buf-C control-buf) |
448 (ediff-eval-in-buffer control-buf | 457 (ediff-with-current-buffer control-buf |
449 (setq ediff-multiframe t)) | 458 (setq ediff-multiframe t)) |
450 (if ediff-merge-job | 459 (if ediff-merge-job |
451 (ediff-setup-windows-multiframe-merge buf-A buf-B buf-C control-buf) | 460 (ediff-setup-windows-multiframe-merge buf-A buf-B buf-C control-buf) |
452 (ediff-setup-windows-multiframe-compare buf-A buf-B buf-C control-buf))) | 461 (ediff-setup-windows-multiframe-compare buf-A buf-B buf-C control-buf))) |
453 | 462 |
474 (frame-A (if wind-A (window-frame wind-A))) | 483 (frame-A (if wind-A (window-frame wind-A))) |
475 (frame-B (if wind-B (window-frame wind-B))) | 484 (frame-B (if wind-B (window-frame wind-B))) |
476 (frame-C (if wind-C (window-frame wind-C))) | 485 (frame-C (if wind-C (window-frame wind-C))) |
477 ;; on wide display, do things in one frame | 486 ;; on wide display, do things in one frame |
478 (force-one-frame | 487 (force-one-frame |
479 (ediff-eval-in-buffer control-buf ediff-wide-display-p)) | 488 (ediff-with-current-buffer control-buf ediff-wide-display-p)) |
480 ;; this lets us have local versions of ediff-split-window-function | 489 ;; this lets us have local versions of ediff-split-window-function |
481 (split-window-function | 490 (split-window-function |
482 (ediff-eval-in-buffer control-buf ediff-split-window-function)) | 491 (ediff-with-current-buffer control-buf ediff-split-window-function)) |
483 (orig-wind (selected-window)) | 492 (orig-wind (selected-window)) |
484 (orig-frame (selected-frame)) | 493 (orig-frame (selected-frame)) |
485 (use-same-frame (or force-one-frame | 494 (use-same-frame (or force-one-frame |
486 ;; A and C must be in one frame | 495 ;; A and C must be in one frame |
487 (eq frame-A (or frame-C orig-frame)) | 496 (eq frame-A (or frame-C orig-frame)) |
499 (not (frame-live-p frame-C))) | 508 (not (frame-live-p frame-C))) |
500 )) | 509 )) |
501 ;; use-same-frame-for-AB implies wind A and B are ok for display | 510 ;; use-same-frame-for-AB implies wind A and B are ok for display |
502 (use-same-frame-for-AB (and (not use-same-frame) | 511 (use-same-frame-for-AB (and (not use-same-frame) |
503 (eq frame-A frame-B))) | 512 (eq frame-A frame-B))) |
504 (merge-window-share (ediff-eval-in-buffer control-buf | 513 (merge-window-share (ediff-with-current-buffer control-buf |
505 ediff-merge-window-share)) | 514 ediff-merge-window-share)) |
506 merge-window-lines | 515 merge-window-lines |
507 designated-minibuffer-frame | 516 designated-minibuffer-frame |
508 done-A done-B done-C) | 517 done-A done-B done-C) |
509 | 518 |
621 (delete-other-windows) | 630 (delete-other-windows) |
622 (switch-to-buffer buf-C) | 631 (switch-to-buffer buf-C) |
623 (setq wind-C (selected-window)) | 632 (setq wind-C (selected-window)) |
624 )) | 633 )) |
625 | 634 |
626 (ediff-eval-in-buffer control-buf | 635 (ediff-with-current-buffer control-buf |
627 (setq ediff-window-A wind-A | 636 (setq ediff-window-A wind-A |
628 ediff-window-B wind-B | 637 ediff-window-B wind-B |
629 ediff-window-C wind-C) | 638 ediff-window-C wind-C) |
630 (setq frame-A (window-frame ediff-window-A) | 639 (setq frame-A (window-frame ediff-window-A) |
631 designated-minibuffer-frame | 640 designated-minibuffer-frame |
658 (wind-B (ediff-get-visible-buffer-window buf-B)) | 667 (wind-B (ediff-get-visible-buffer-window buf-B)) |
659 (wind-C (ediff-get-visible-buffer-window buf-C)) | 668 (wind-C (ediff-get-visible-buffer-window buf-C)) |
660 (frame-A (if wind-A (window-frame wind-A))) | 669 (frame-A (if wind-A (window-frame wind-A))) |
661 (frame-B (if wind-B (window-frame wind-B))) | 670 (frame-B (if wind-B (window-frame wind-B))) |
662 (frame-C (if wind-C (window-frame wind-C))) | 671 (frame-C (if wind-C (window-frame wind-C))) |
663 (ctl-frame-exists-p (ediff-eval-in-buffer control-buf | 672 (ctl-frame-exists-p (ediff-with-current-buffer control-buf |
664 (frame-live-p ediff-control-frame))) | 673 (frame-live-p ediff-control-frame))) |
665 ;; on wide display, do things in one frame | 674 ;; on wide display, do things in one frame |
666 (force-one-frame | 675 (force-one-frame |
667 (ediff-eval-in-buffer control-buf ediff-wide-display-p)) | 676 (ediff-with-current-buffer control-buf ediff-wide-display-p)) |
668 ;; this lets us have local versions of ediff-split-window-function | 677 ;; this lets us have local versions of ediff-split-window-function |
669 (split-window-function | 678 (split-window-function |
670 (ediff-eval-in-buffer control-buf ediff-split-window-function)) | 679 (ediff-with-current-buffer control-buf ediff-split-window-function)) |
671 (three-way-comparison | 680 (three-way-comparison |
672 (ediff-eval-in-buffer control-buf ediff-3way-comparison-job)) | 681 (ediff-with-current-buffer control-buf ediff-3way-comparison-job)) |
673 (orig-wind (selected-window)) | 682 (orig-wind (selected-window)) |
674 (use-same-frame (or force-one-frame | 683 (use-same-frame (or force-one-frame |
675 (eq frame-A frame-B) | 684 (eq frame-A frame-B) |
676 (not (ediff-window-ok-for-display wind-A)) | 685 (not (ediff-window-ok-for-display wind-A)) |
677 (not (ediff-window-ok-for-display wind-B)) | 686 (not (ediff-window-ok-for-display wind-B)) |
690 (eq frame-B (selected-frame)))))) | 699 (eq frame-B (selected-frame)))))) |
691 wind-A-start wind-B-start | 700 wind-A-start wind-B-start |
692 designated-minibuffer-frame | 701 designated-minibuffer-frame |
693 done-A done-B done-C) | 702 done-A done-B done-C) |
694 | 703 |
695 (ediff-eval-in-buffer control-buf | 704 (ediff-with-current-buffer control-buf |
696 (setq wind-A-start (ediff-overlay-start | 705 (setq wind-A-start (ediff-overlay-start |
697 (ediff-get-value-according-to-buffer-type | 706 (ediff-get-value-according-to-buffer-type |
698 'A ediff-narrow-bounds)) | 707 'A ediff-narrow-bounds)) |
699 wind-B-start (ediff-overlay-start | 708 wind-B-start (ediff-overlay-start |
700 (ediff-get-value-according-to-buffer-type | 709 (ediff-get-value-according-to-buffer-type |
791 (delete-other-windows) | 800 (delete-other-windows) |
792 (switch-to-buffer buf-C) | 801 (switch-to-buffer buf-C) |
793 (setq wind-C (selected-window)) | 802 (setq wind-C (selected-window)) |
794 ))) | 803 ))) |
795 | 804 |
796 (ediff-eval-in-buffer control-buf | 805 (ediff-with-current-buffer control-buf |
797 (setq ediff-window-A wind-A | 806 (setq ediff-window-A wind-A |
798 ediff-window-B wind-B | 807 ediff-window-B wind-B |
799 ediff-window-C wind-C) | 808 ediff-window-C wind-C) |
800 | 809 |
801 (setq frame-A (window-frame ediff-window-A) | 810 (setq frame-A (window-frame ediff-window-A) |
868 ctl-frame-iconified-p dont-iconify-ctl-frame deiconify-ctl-frame | 877 ctl-frame-iconified-p dont-iconify-ctl-frame deiconify-ctl-frame |
869 ctl-frame old-ctl-frame lines | 878 ctl-frame old-ctl-frame lines |
870 ;; user-grabbed-mouse | 879 ;; user-grabbed-mouse |
871 fheight fwidth adjusted-parameters) | 880 fheight fwidth adjusted-parameters) |
872 | 881 |
873 (ediff-eval-in-buffer ctl-buffer | 882 (ediff-with-current-buffer ctl-buffer |
874 (if ediff-xemacs-p (set-buffer-menubar nil)) | 883 (if ediff-xemacs-p (set-buffer-menubar nil)) |
875 ;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse)) | 884 ;;(setq user-grabbed-mouse (ediff-user-grabbed-mouse)) |
876 (run-hooks 'ediff-before-setup-control-frame-hook)) | 885 (run-hooks 'ediff-before-setup-control-frame-hook)) |
877 | 886 |
878 (setq old-ctl-frame (ediff-eval-in-buffer ctl-buffer ediff-control-frame)) | 887 (setq old-ctl-frame (ediff-with-current-buffer ctl-buffer ediff-control-frame)) |
879 (ediff-eval-in-buffer ctl-buffer | 888 (ediff-with-current-buffer ctl-buffer |
880 (setq ctl-frame (if (frame-live-p old-ctl-frame) | 889 (setq ctl-frame (if (frame-live-p old-ctl-frame) |
881 old-ctl-frame | 890 old-ctl-frame |
882 (make-frame ediff-control-frame-parameters)) | 891 (make-frame ediff-control-frame-parameters)) |
883 ediff-control-frame ctl-frame)) | 892 ediff-control-frame ctl-frame)) |
884 | 893 |
889 (delete-other-windows) | 898 (delete-other-windows) |
890 (switch-to-buffer ctl-buffer)) | 899 (switch-to-buffer ctl-buffer)) |
891 | 900 |
892 ;; must be before ediff-setup-control-buffer | 901 ;; must be before ediff-setup-control-buffer |
893 ;; just a precaution--we should be in ctl-buffer already | 902 ;; just a precaution--we should be in ctl-buffer already |
894 (ediff-eval-in-buffer ctl-buffer | 903 (ediff-with-current-buffer ctl-buffer |
895 (make-local-variable 'frame-title-format) | 904 (make-local-variable 'frame-title-format) |
896 (make-local-variable 'frame-icon-title-format) ; XEmacs | 905 (make-local-variable 'frame-icon-title-format) ; XEmacs |
897 (make-local-variable 'icon-title-format)) ; Emacs | 906 (make-local-variable 'icon-title-format)) ; Emacs |
898 | 907 |
899 (ediff-setup-control-buffer ctl-buffer) | 908 (ediff-setup-control-buffer ctl-buffer) |
984 (ediff-reset-mouse ctl-frame | 993 (ediff-reset-mouse ctl-frame |
985 (or (eq this-command 'ediff-quit) | 994 (or (eq this-command 'ediff-quit) |
986 (not (eq ediff-grab-mouse t))))) | 995 (not (eq ediff-grab-mouse t))))) |
987 | 996 |
988 (if ediff-xemacs-p | 997 (if ediff-xemacs-p |
989 (ediff-eval-in-buffer ctl-buffer | 998 (ediff-with-current-buffer ctl-buffer |
990 (make-local-hook 'select-frame-hook) | 999 (make-local-hook 'select-frame-hook) |
991 (add-hook 'select-frame-hook 'ediff-xemacs-select-frame-hook nil t) | 1000 (add-hook 'select-frame-hook 'ediff-xemacs-select-frame-hook nil t) |
992 )) | 1001 )) |
993 | 1002 |
994 (ediff-eval-in-buffer ctl-buffer | 1003 (ediff-with-current-buffer ctl-buffer |
995 (run-hooks 'ediff-after-setup-control-frame-hook)) | 1004 (run-hooks 'ediff-after-setup-control-frame-hook)) |
996 )) | 1005 )) |
997 | 1006 |
998 | 1007 |
999 (defun ediff-destroy-control-frame (ctl-buffer) | 1008 (defun ediff-destroy-control-frame (ctl-buffer) |
1000 (ediff-eval-in-buffer ctl-buffer | 1009 (ediff-with-current-buffer ctl-buffer |
1001 (if (and (ediff-window-display-p) (frame-live-p ediff-control-frame)) | 1010 (if (and (ediff-window-display-p) (frame-live-p ediff-control-frame)) |
1002 (let ((ctl-frame ediff-control-frame)) | 1011 (let ((ctl-frame ediff-control-frame)) |
1003 (if ediff-xemacs-p | 1012 (if ediff-xemacs-p |
1004 (set-buffer-menubar default-menubar)) | 1013 (set-buffer-menubar default-menubar)) |
1005 (setq ediff-control-frame nil) | 1014 (setq ediff-control-frame nil) |
1010 ) | 1019 ) |
1011 | 1020 |
1012 | 1021 |
1013 ;; finds a good place to clip control frame | 1022 ;; finds a good place to clip control frame |
1014 (defun ediff-make-frame-position (ctl-buffer ctl-frame-width ctl-frame-height) | 1023 (defun ediff-make-frame-position (ctl-buffer ctl-frame-width ctl-frame-height) |
1015 (ediff-eval-in-buffer ctl-buffer | 1024 (ediff-with-current-buffer ctl-buffer |
1016 (let* ((frame-A (window-frame ediff-window-A)) | 1025 (let* ((frame-A (window-frame ediff-window-A)) |
1017 (frame-A-parameters (frame-parameters frame-A)) | 1026 (frame-A-parameters (frame-parameters frame-A)) |
1018 (frame-A-top (eval (cdr (assoc 'top frame-A-parameters)))) | 1027 (frame-A-top (eval (cdr (assoc 'top frame-A-parameters)))) |
1019 (frame-A-left (eval (cdr (assoc 'left frame-A-parameters)))) | 1028 (frame-A-left (eval (cdr (assoc 'left frame-A-parameters)))) |
1020 (frame-A-width (frame-width frame-A)) | 1029 (frame-A-width (frame-width frame-A)) |
1133 (force-mode-line-update) | 1142 (force-mode-line-update) |
1134 | 1143 |
1135 (if (and (ediff-window-display-p) (frame-live-p ediff-control-frame)) | 1144 (if (and (ediff-window-display-p) (frame-live-p ediff-control-frame)) |
1136 (ediff-refresh-control-frame)) | 1145 (ediff-refresh-control-frame)) |
1137 | 1146 |
1138 (ediff-eval-in-buffer ediff-buffer-A | 1147 (ediff-with-current-buffer ediff-buffer-A |
1139 (setq ediff-diff-status buf-A-state-diff) | 1148 (setq ediff-diff-status buf-A-state-diff) |
1140 (ediff-strip-mode-line-format) | 1149 (ediff-strip-mode-line-format) |
1141 (setq mode-line-format | 1150 (setq mode-line-format |
1142 (list " A: " 'ediff-diff-status mode-line-format)) | 1151 (list " A: " 'ediff-diff-status mode-line-format)) |
1143 (force-mode-line-update)) | 1152 (force-mode-line-update)) |
1144 (ediff-eval-in-buffer ediff-buffer-B | 1153 (ediff-with-current-buffer ediff-buffer-B |
1145 (setq ediff-diff-status buf-B-state-diff) | 1154 (setq ediff-diff-status buf-B-state-diff) |
1146 (ediff-strip-mode-line-format) | 1155 (ediff-strip-mode-line-format) |
1147 (setq mode-line-format | 1156 (setq mode-line-format |
1148 (list " B: " 'ediff-diff-status mode-line-format)) | 1157 (list " B: " 'ediff-diff-status mode-line-format)) |
1149 (force-mode-line-update)) | 1158 (force-mode-line-update)) |
1150 (if ediff-3way-job | 1159 (if ediff-3way-job |
1151 (ediff-eval-in-buffer ediff-buffer-C | 1160 (ediff-with-current-buffer ediff-buffer-C |
1152 (setq ediff-diff-status buf-C-state-diff) | 1161 (setq ediff-diff-status buf-C-state-diff) |
1153 (ediff-strip-mode-line-format) | 1162 (ediff-strip-mode-line-format) |
1154 (setq mode-line-format | 1163 (setq mode-line-format |
1155 (list " C: " 'ediff-diff-status mode-line-format)) | 1164 (list " C: " 'ediff-diff-status mode-line-format)) |
1156 (force-mode-line-update))) | 1165 (force-mode-line-update))) |
1157 (if (ediff-buffer-live-p ediff-ancestor-buffer) | 1166 (if (ediff-buffer-live-p ediff-ancestor-buffer) |
1158 (ediff-eval-in-buffer ediff-ancestor-buffer | 1167 (ediff-with-current-buffer ediff-ancestor-buffer |
1159 (ediff-strip-mode-line-format) | 1168 (ediff-strip-mode-line-format) |
1160 ;; we keep the second dummy string in the mode line format of the | 1169 ;; we keep the second dummy string in the mode line format of the |
1161 ;; ancestor, since for other buffers Ediff prepends 2 strings and | 1170 ;; ancestor, since for other buffers Ediff prepends 2 strings and |
1162 ;; ediff-strip-mode-line-format expects that. | 1171 ;; ediff-strip-mode-line-format expects that. |
1163 (setq mode-line-format | 1172 (setq mode-line-format |
1232 ;;; Functions to decide when to redraw windows | 1241 ;;; Functions to decide when to redraw windows |
1233 | 1242 |
1234 (defun ediff-keep-window-config (control-buf) | 1243 (defun ediff-keep-window-config (control-buf) |
1235 (and (eq control-buf (current-buffer)) | 1244 (and (eq control-buf (current-buffer)) |
1236 (/= (buffer-size) 0) | 1245 (/= (buffer-size) 0) |
1237 (ediff-eval-in-buffer control-buf | 1246 (ediff-with-current-buffer control-buf |
1238 (let ((ctl-wind ediff-control-window) | 1247 (let ((ctl-wind ediff-control-window) |
1239 (A-wind ediff-window-A) | 1248 (A-wind ediff-window-A) |
1240 (B-wind ediff-window-B) | 1249 (B-wind ediff-window-B) |
1241 (C-wind ediff-window-C)) | 1250 (C-wind ediff-window-C)) |
1242 | 1251 |
1258 ediff-wide-display-p))))))) | 1267 ediff-wide-display-p))))))) |
1259 | 1268 |
1260 | 1269 |
1261 ;;; Local Variables: | 1270 ;;; Local Variables: |
1262 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun) | 1271 ;;; eval: (put 'ediff-defvar-local 'lisp-indent-hook 'defun) |
1263 ;;; eval: (put 'ediff-eval-in-buffer 'lisp-indent-hook 1) | 1272 ;;; eval: (put 'ediff-with-current-buffer 'lisp-indent-hook 1) |
1264 ;;; eval: (put 'ediff-eval-in-buffer 'edebug-form-spec '(form body)) | 1273 ;;; eval: (put 'ediff-with-current-buffer 'edebug-form-spec '(form body)) |
1265 ;;; End: | 1274 ;;; End: |
1266 | 1275 |
1267 ;;; ediff-wind.el ends here | 1276 ;;; ediff-wind.el ends here |