Disallow calling window-inside-edges and related functions on internal windows.
* src/window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges) (Fwindow_inside_absolute_pixel_edges): Only allow live windows.
This commit is contained in:
parent
1dce71935c
commit
2fbdc249e6
2 changed files with 14 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
|||
2011-11-09 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* window.c (Fwindow_inside_edges, Fwindow_inside_pixel_edges)
|
||||
(Fwindow_inside_absolute_pixel_edges): Only allow live windows.
|
||||
|
||||
2011-11-08 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
* s/gnu.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS (Bug#9926).
|
||||
|
|
18
src/window.c
18
src/window.c
|
@ -859,7 +859,7 @@ The inside edges do not include the space used by the WINDOW's scroll
|
|||
bar, display margins, fringes, header line, and/or mode line. */)
|
||||
(Lisp_Object window)
|
||||
{
|
||||
register struct window *w = decode_any_window (window);
|
||||
register struct window *w = decode_window (window);
|
||||
|
||||
return list4 (make_number (WINDOW_BOX_LEFT_EDGE_COL (w)
|
||||
+ WINDOW_LEFT_MARGIN_COLS (w)
|
||||
|
@ -874,9 +874,9 @@ bar, display margins, fringes, header line, and/or mode line. */)
|
|||
}
|
||||
|
||||
DEFUN ("window-inside-pixel-edges", Fwindow_inside_pixel_edges, Swindow_inside_pixel_edges, 0, 1, 0,
|
||||
doc: /* Return a list of the edge pixel coordinates of WINDOW.
|
||||
The list has the form (LEFT TOP RIGHT BOTTOM), all relative to 0, 0 at
|
||||
the top left corner of the frame.
|
||||
doc: /* Return a list of the edge pixel coordinates of WINDOW's text area.
|
||||
The list has the form (LEFT TOP RIGHT BOTTOM), all relative to (0,0)
|
||||
at the top left corner of the frame's window area.
|
||||
|
||||
RIGHT is one more than the rightmost x position of WINDOW's text area.
|
||||
BOTTOM is one more than the bottommost y position of WINDOW's text area.
|
||||
|
@ -884,7 +884,7 @@ The inside edges do not include the space used by WINDOW's scroll bar,
|
|||
display margins, fringes, header line, and/or mode line. */)
|
||||
(Lisp_Object window)
|
||||
{
|
||||
register struct window *w = decode_any_window (window);
|
||||
register struct window *w = decode_window (window);
|
||||
|
||||
return list4 (make_number (WINDOW_BOX_LEFT_EDGE_X (w)
|
||||
+ WINDOW_LEFT_MARGIN_WIDTH (w)
|
||||
|
@ -901,9 +901,9 @@ display margins, fringes, header line, and/or mode line. */)
|
|||
DEFUN ("window-inside-absolute-pixel-edges",
|
||||
Fwindow_inside_absolute_pixel_edges,
|
||||
Swindow_inside_absolute_pixel_edges, 0, 1, 0,
|
||||
doc: /* Return a list of the edge pixel coordinates of WINDOW.
|
||||
The list has the form (LEFT TOP RIGHT BOTTOM), all relative to 0, 0 at
|
||||
the top left corner of the display.
|
||||
doc: /* Return a list of the edge pixel coordinates of WINDOW's text area.
|
||||
The list has the form (LEFT TOP RIGHT BOTTOM), all relative to (0,0)
|
||||
at the top left corner of the frame's window area.
|
||||
|
||||
RIGHT is one more than the rightmost x position of WINDOW's text area.
|
||||
BOTTOM is one more than the bottommost y position of WINDOW's text area.
|
||||
|
@ -911,7 +911,7 @@ The inside edges do not include the space used by WINDOW's scroll bar,
|
|||
display margins, fringes, header line, and/or mode line. */)
|
||||
(Lisp_Object window)
|
||||
{
|
||||
register struct window *w = decode_any_window (window);
|
||||
register struct window *w = decode_window (window);
|
||||
int add_x, add_y;
|
||||
calc_absolute_offset (w, &add_x, &add_y);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue