Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
98722073
Commit
98722073
authored
Jan 15, 2009
by
Martin Rudalics
Browse files
(special-display-p): Revert 2009-01-14 change.
parent
4cddb209
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
76 additions
and
14 deletions
+76
-14
lisp/ChangeLog
lisp/ChangeLog
+4
-0
lisp/window.el
lisp/window.el
+72
-14
No files found.
lisp/ChangeLog
View file @
98722073
2009-01-15 Martin Rudalics <rudalics@gmx.at>
* window.el (special-display-p): Revert 2009-01-14 change.
2009-01-15 Glenn Morris <rgm@gnu.org>
* emacs-lisp/authors.el (authors-aliases, authors-fixed-case):
...
...
lisp/window.el
View file @
98722073
...
...
@@ -685,20 +685,22 @@ matching BUFFER-NAME. If `special-display-buffer-names' or
`special-display-regexps' contain a list entry whose car equals
or matches BUFFER-NAME, the return value is the cdr of that
entry."
(
cond
((
not
(
stringp
buffer-name
)))
((
member
buffer-name
special-display-buffer-names
)
t
)
((
let
((
temp
(
assoc
buffer-name
special-display-buffer-names
)))
(
cdr
temp
)))
((
catch
'found
(
dolist
(
regexp
special-display-regexps
)
(
cond
((
stringp
regexp
)
(
when
(
string-match-p
regexp
buffer-name
)
(
throw
'found
t
)))
((
and
(
consp
regexp
)
(
stringp
(
car
regexp
))
(
string-match-p
(
car
regexp
)
buffer-name
))
(
throw
'found
(
cdr
regexp
)))))))))
(
let
(
tmp
)
(
cond
((
not
(
stringp
buffer-name
)))
((
member
buffer-name
special-display-buffer-names
)
t
)
((
setq
tmp
(
assoc
buffer-name
special-display-buffer-names
))
(
cdr
tmp
))
((
catch
'found
(
dolist
(
regexp
special-display-regexps
)
(
cond
((
stringp
regexp
)
(
when
(
string-match-p
regexp
buffer-name
)
(
throw
'found
t
)))
((
and
(
consp
regexp
)
(
stringp
(
car
regexp
))
(
string-match-p
(
car
regexp
)
buffer-name
))
(
throw
'found
(
cdr
regexp
))))))))))
(
defcustom
special-display-function
'special-display-popup-frame
"Function to call for displaying special buffers.
...
...
@@ -955,6 +957,59 @@ is higher than WINDOW."
(
enlarge-window
(
/
(
-
(
window-height
window
)
(
window-height
))
2
))
(
error
nil
)))))
(
defun
display-buffer-specially
(
buffer
locus
)
(
cond
((
window-minibuffer-p
(
selected-window
))
nil
)
((
eq
locus
'this
)
(
condition-case
nil
(
switch-to-buffer
buffer
)
(
error
nil
)))
((
memq
locus
'
(
below
below-split
right
right-split
))
(
let
((
edges
(
window-edges
)))
(
cond
((
and
(
eq
locus
'below
)
(
let*
((
other-window
(
next-window
))
(
other-edges
(
window-edges
other-window
)))
(
and
(
=
(
nth
0
edges
)
(
nth
0
other-edges
))
(
<
(
nth
3
edges
)
(
nth
3
other-edges
))
other-window
))))
((
and
(
eq
locus
'right
)
(
let*
((
other-window
(
next-window
))
(
other-edges
(
window-edges
other-window
)))
(
and
(
=
(
nth
1
edges
)
(
nth
1
other-edges
))
(
<
(
nth
2
edges
)
(
nth
2
other-edges
))
other-window
))))
((
and
(
memq
locus
'
(
below
below-split
))
(
let
((
split-height-threshold
0
))
(
and
(
window--splittable-p
(
selected-window
))
(
split-window
)))))
((
and
(
memq
locus
'
(
right
right-split
))
(
let
((
split-width-threshold
0
))
(
window--splittable-p
(
selected-window
)
t
)
(
split-window
nil
nil
t
)))))))
((
memq
locus
'
(
bottom
bottom-split
))
(
let
((
edges
(
window-edges
))
(
other-edges
(
window-edges
(
next-window
)))
(
window
(
selected-window
))
window-to-display
window-to-split
)
;; Wrong -- our window must be better than the last we found.
(
while
(
or
(
>
(
nth
2
other-edges
)
(
nth
2
edges
))
(
>
(
nth
3
other-edges
)
(
nth
3
edges
)))
(
setq
window
(
next-window
window
))
(
when
(
>
(
nth
3
other-edges
)
(
nth
3
edges
))
(
setq
window-to-display
window
)
(
setq
window-to-split
(
and
(
eq
locus
'bottom-split
)
(
let
((
split-height-threshold
0
))
(
and
(
window--splittable-p
window
)
window
)))))
(
setq
other-edges
(
window-edges
(
next-window
window
))))
(
if
(
eq
locus
'bottom
)
window-to-display
(
let
((
split-height-threshold
0
))
(
split-window
window-to-split
)))))))
(
defun
window--display-buffer-1
(
window
)
"Raise the frame containing WINDOW.
Do not raise the selected frame. Return WINDOW."
...
...
@@ -1066,6 +1121,9 @@ consider all visible or iconified frames."
(
when
pars
(
funcall
special-display-function
buffer
(
if
(
listp
pars
)
pars
))))))
((
not
(
memq
not-this-window
'
(
nil
t
)))
(
window--display-buffer-2
buffer
(
display-buffer-specially
buffer
not-this-window
)))
((
or
use-pop-up-frames
(
not
frame-to-use
))
;; We want or need a new frame.
(
window--display-buffer-2
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment