Mercurial > emacs
comparison lisp/electric.el @ 90072:cb67264d6096
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-2
Merge from emacs--cvs-trunk--0
Patches applied:
* miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-83
- miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-84
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-3
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-4
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-5
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-6
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-11
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-12
Remove "-face" suffix from lazy-highlight face name
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-13
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-16
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-17
Merge from gnus--rel--5.10
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-18
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-21
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-22
<no summary provided>
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-23
- miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-39
Update from CVS
* miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-40
Fix regressions from latest reftex update
* miles@gnu.org--gnu-2005/gnus--rel--5.10--base-0
tag of miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-82
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-1
Merge from emacs--cvs-trunk--0
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-2
Merge from miles@gnu.org--gnu-2004
* miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-3
Merge from emacs--cvs-trunk--0
author | Miles Bader <miles@gnu.org> |
---|---|
date | Sun, 16 Jan 2005 03:40:12 +0000 |
parents | 68c22ea6027c c5ee87e89147 |
children | f9a65d7ebd29 |
comparison
equal
deleted
inserted
replaced
90071:f6b4d0ebf147 | 90072:cb67264d6096 |
---|---|
142 (defun Electric-pop-up-window (buffer &optional max-height) | 142 (defun Electric-pop-up-window (buffer &optional max-height) |
143 (let* ((win (or (get-buffer-window buffer) (selected-window))) | 143 (let* ((win (or (get-buffer-window buffer) (selected-window))) |
144 (buf (get-buffer buffer)) | 144 (buf (get-buffer buffer)) |
145 (one-window (one-window-p t)) | 145 (one-window (one-window-p t)) |
146 (pop-up-windows t) | 146 (pop-up-windows t) |
147 (pop-up-frames nil) | 147 (pop-up-frames nil)) |
148 (target-height) | |
149 (lines)) | |
150 (if (not buf) | 148 (if (not buf) |
151 (error "Buffer %s does not exist" buffer) | 149 (error "Buffer %s does not exist" buffer) |
152 (with-current-buffer buf | |
153 (setq lines (count-lines (point-min) (point-max))) | |
154 (setq target-height | |
155 (min (max (if max-height (min max-height (1+ lines)) (1+ lines)) | |
156 window-min-height) | |
157 (save-window-excursion | |
158 (delete-other-windows) | |
159 (1- (window-height (selected-window))))))) | |
160 (cond ((and (eq (window-buffer win) buf)) | 150 (cond ((and (eq (window-buffer win) buf)) |
161 (select-window win)) | 151 (select-window win)) |
162 (one-window | 152 (one-window |
163 (pop-to-buffer buffer) | 153 (pop-to-buffer buffer) |
164 (setq win (selected-window)) | 154 (setq win (selected-window))) |
165 (enlarge-window (- target-height (window-height win)))) | |
166 (t | 155 (t |
167 (switch-to-buffer buf))) | 156 (switch-to-buffer buf))) |
168 (if (and (not max-height) | 157 (fit-window-to-buffer win max-height) |
169 (> target-height (window-height (selected-window)))) | |
170 (progn (goto-char (window-start win)) | |
171 (enlarge-window (- target-height (window-height win))))) | |
172 (goto-char (point-min)) | 158 (goto-char (point-min)) |
173 win))) | 159 win))) |
174 | 160 |
175 (provide 'electric) | 161 (provide 'electric) |
176 | 162 |