comparison lisp/window-xemacs.el @ 442:abe6d1db359e r21-2-36

Import from CVS: tag r21-2-36
author cvs
date Mon, 13 Aug 2007 11:35:02 +0200
parents 3ecd8885ac67
children 576fb035e263
comparison
equal deleted inserted replaced
441:72a7cfa4a488 442:abe6d1db359e
188 (trunc-stack-bottom 188 (trunc-stack-bottom
189 (error "Top of window config stack"))))) 189 (error "Top of window config stack")))))
190 190
191 191
192 ;;;;;;;;;;;;; display-buffer, moved here from C. Hallelujah. 192 ;;;;;;;;;;;;; display-buffer, moved here from C. Hallelujah.
193
194 (make-variable-buffer-local '__buffer-dedicated-frame)
195
196 (defun buffer-dedicated-frame (&optional buffer)
197 "Return the frame dedicated to this BUFFER, or nil if there is none.
198 No argument or nil as argument means use current buffer as BUFFER."
199 (let ((buffer (decode-buffer buffer)))
200 (let ((frame (symbol-value-in-buffer '__buffer-dedicated-frame buffer)))
201 ;; XEmacs addition: if the frame is dead, silently make it go away.
202 (when (and (framep frame) (not (frame-live-p frame)))
203 (with-current-buffer buffer
204 (setq __buffer-dedicated-frame nil))
205 (setq frame nil))
206 frame)))
207
208 (defun set-buffer-dedicated-frame (buffer frame)
209 "For this BUFFER, set the FRAME dedicated to it.
210 FRAME must be a frame or nil."
211 (let ((buffer (decode-buffer buffer)))
212 (and frame
213 (check-argument-type #'frame-live-p frame))
214 (with-current-buffer buffer
215 (setq __buffer-dedicated-frame frame))))
193 216
194 (defvar display-buffer-function nil 217 (defvar display-buffer-function nil
195 "If non-nil, function to call to handle `display-buffer'. 218 "If non-nil, function to call to handle `display-buffer'.
196 It will receive three args: the same as those to `display-buffer'.") 219 It will receive three args: the same as those to `display-buffer'.")
197 220