1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-29 08:31:35 -08:00
Commit graph

358 commits

Author SHA1 Message Date
Gerd Moellmann
7442878f82 (enum window_part): New enumeration.
(Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
Qright_bitmap_area.
(coordinates_in_window): Return an enumerator from enum
window_part.  Fix handling of right scroll bar.
(Fcoordinates_in_window_p): Doc fix.  Return `left-fringe' and
`right-fringe' instead of `left-bitmap-area' and
`right-bitmap-area'.  Use enumerators from enum window_part
instead of hard-coded integers.
(check_window_containing, window_from_coordinates): Use
enumerators from enum window_part instead of hard-coded integers.
(syms_of_window): Replace Qleft_bitmap_area and
Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2001-01-31 20:28:13 +00:00
Gerd Moellmann
f5686fbd5a (Fscroll_right, Fscroll_left): Use interactive_p
instead of Finteractive_p.
2001-01-31 14:47:44 +00:00
Gerd Moellmann
0130fe1af3 (size_window): Set the window's orig_top to nil when
changing heights, so that a future shrink_mini_window won't
restore a bogus height.
2001-01-26 20:02:19 +00:00
Eli Zaretskii
2afb2f41d0 (syms_of_window) <scroll-preserve-screen-position>: Doc fix. 2001-01-23 11:32:56 +00:00
Gerd Moellmann
9e571f494c * window.c (Fwindow_live_p): Use WINDOW_LIVE_P. 2001-01-18 14:09:17 +00:00
Gerd Moellmann
b0b7ed0e41 (window_size_fixed): New variable.
(syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
the doc string.
2001-01-18 13:46:46 +00:00
Gerd Moellmann
c67fa41033 (Fset_window_hscroll): Don't set window's min_hscroll
here.
(Fscroll_right, Fscroll_left): Set it here instead, if called
interactively.
2001-01-16 14:59:37 +00:00
Gerd Moellmann
a74eca5000 (window_scroll_pixel_based): Adjust glyph matrices
when increasing window's vscroll.
2001-01-08 14:37:40 +00:00
Gerd Moellmann
85fe3b5e15 (Fdelete_other_windows): Set window's window_end_valid
to nil when changing the window's start.  Don't change the
window's start when its top position hasn't changed.  If we do,
this will set the window's optional_new_start, which act's like a
force_start during redisplay with C-x 1 M-> under particular
circumstances (see report from Per Starback to emacs-pretest-bug
from 2000-12-13.).
(Fdelete_other_windows): Set window's window_end_valid
to nil when changing the window's start.
2001-01-04 12:53:51 +00:00
Gerd Moellmann
2f3cad6ccb (Frecenter): When changing the window start, set the
window's window_end_valid to nil.
(Fwindow_end): Fix window-end computation when UPDATE is non-nil.
2001-01-03 13:50:01 +00:00
Gerd Moellmann
dffde83fdb (Fwindow_end): Doc fix. 2001-01-03 12:52:06 +00:00
Richard M. Stallman
04212fcbbd (Frecenter): Doc fix. 2001-01-03 00:31:18 +00:00
Gerd Moellmann
6df47b592a (Frecenter): Handle centering in graphical frames
specially.  Centering on the basis of line counts doesn't work
reliably with variable-height lines.
2001-01-02 15:32:31 +00:00
Eli Zaretskii
57328c1f51 (size_window): Remove block-local variable `min_size'. 2001-01-02 14:23:43 +00:00
Gerd Moellmann
12c8b416be (Frecenter): Use displayed_window_lines instead
of window_internal_height.
2000-12-27 15:46:54 +00:00
Gerd Moellmann
f18625cd58 (size_window): When setting the window's too_small_ok
flag, compare old size with minimum size depending on WIDTH_P,
don't compare with window_min_width.
2000-12-22 13:48:19 +00:00
Gerd Moellmann
951f9df517 (delete_window): Simplify somewhat.
(Fset_window_configuration): Don't SET_FRAME_GARBAGED after
freeing window matrices.  The flag windows_or_buffers_changed is
set, so the next redisplay will consider all windows; this should
suffice.
2000-12-22 10:51:42 +00:00
Gerd Moellmann
a2d8ce7900 (delete_window, Fsplit_window)
(Fset_window_configuration): Calls to ensure_frame_matrix removed.
2000-12-21 15:38:38 +00:00
Gerd Moellmann
ea68264b3a (make_window): Initialize window's min_hscroll.
(Fset_window_hscroll): Set window's hscroll and min_hscroll.
(set_window_buffer, temp_output_buffer_show): Set min_hscroll
to zero.
(struct saved_window): New member min_hscroll.
(SAVED_WINDOW_VECTOR_SIZE): Set to 17.
(Fset_window_configuration): Set window's min_hscroll.
(save_window_save): Save window's min_hscroll.
(compare_window_configurations): Compare min_hscroll values.
2000-12-20 15:36:29 +00:00
Gerd Moellmann
aa35ba9e18 (delete_window, Fsplit_window)
(Fset_window_configuration): Call ensure_frame_matrix.
2000-12-20 12:00:24 +00:00
Gerd Moellmann
d72340d43f (window_scroll_pixel_based): Don't use
move_it_vertically.
2000-12-19 14:20:11 +00:00
Gerd Moellmann
b0228ace9e (coordinates_in_window): Fix computation for
position on vertical line between mode lines.
2000-12-17 15:11:56 +00:00
Gerd Moellmann
0685cb3c07 (Fset_window_point): Remove test for
cursor_in_non_selected_windows.
2000-12-15 15:06:35 +00:00
Dave Love
e9ce2497b9 (Fdisplay_buffer): Doc fix.
(Fwindow_list): Remove unused var.
2000-12-12 19:00:34 +00:00
Gerd Moellmann
799417bd94 (Fset_window_point): If displaying cursors in windows
other than the selected window, make sure redisplay updates
other windows to show the new value of point in the window.
2000-12-12 16:14:01 +00:00
Miles Bader
d80aeee83d (displayed_window_lines): Fix off-by-one error. 2000-12-11 07:28:51 +00:00
Miles Bader
81fe083615 (displayed_window_lines): Handle non-newline-terminated final lines properly.
(Fwindow_text_height): New function (used to be in lisp).
(syms_of_window): Initialize it.
2000-12-11 07:22:38 +00:00
Miles Bader
59ec59ae7a (displayed_window_lines): Don't round up when converting empty space at
bottom to lines.
2000-12-11 02:20:55 +00:00
Miles Bader
163784df97 (Fmove_to_window_line): Skip past any partially visible first line. 2000-12-08 18:56:35 +00:00
Miles Bader
5cdb3cf38f (Fpos_visible_in_window_p): Replace FULLY parameter with PARTIALLY,
inverting the sense.
(window_scroll_pixel_based): Scroll partially visible lines into place
if we hit the beginning or end of the buffer.
(displayed_window_lines): Don't include partially visible line at bottom.
2000-12-08 18:12:48 +00:00
Gerd Moellmann
e1d0538761 (coordinates_in_window): Check mouse on mode-line or
header-line first.
2000-12-06 15:19:50 +00:00
Gerd Moellmann
85d19b32b2 (syms_of_window): Doc fix. 2000-12-06 13:54:21 +00:00
Gerd Moellmann
6529ed8706 (Veven_window_heights): New variable.
(syms_of_window): DEFVAR_LISP it.
(Fdisplay_buffer): Check Veven_window_heights before evening the
window heights.
2000-12-06 13:44:34 +00:00
Gerd Moellmann
447e9da0fa (coordinates_in_window): Handle computations for
positions on the vertical bar and fringes differently for
window-system frames.  Consider some pixels near the vertical bar
as on the bar if the frame doesn't have vertical scroll bars.
Associate positions between mode or header lines with the
right window, the left one.
2000-12-01 20:45:45 +00:00
Gerd Moellmann
a1d58e5b6d (struct saved_window): Add members orig_top and
orig_height.
(SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
(save_window_save, Fset_window_configuration): Save/restore
window's orig_top and orig_height.
2000-12-01 19:32:27 +00:00
Gerd Moellmann
1cb794ba1f (coordinates_in_window): If on a mode or header line,
but sufficiently close to its start, return ``on vertical
border''.  This gives us a way to drag windows horizontally when
using toolkit scroll bars.
2000-11-28 13:45:21 +00:00
Gerd Moellmann
cd2904bd2c (Fwindow_list): Change parameter list to be XEmacs
compatible.
(window_list_1): New function.
(window_loop): Use it instead of Fwindow_list.
2000-11-19 15:20:27 +00:00
Gerd Moellmann
5f0c971db7 (Fpos_visible_in_window_p): Call pos_visible with
extra argument.
2000-11-14 05:44:18 +00:00
Gerd Moellmann
c428070566 (Fset_window_configuration): Don't try to preserve
point in the current buffer, if that buffer is displayed in more
than one window.
2000-11-07 16:39:24 +00:00
Gerd Moellmann
cdb1fe495d (displayed_window_lines): Detect partially
visible lines at the bottom correctly.
2000-11-06 15:48:27 +00:00
Gerd Moellmann
ad4a9a79d2 (displayed_window_lines): Change buffers if necessary.
Fix computation of displayed lines.
2000-10-30 12:51:17 +00:00
Miles Bader
f28b75a9b9 (Fpos_visible_in_window_p):
Make POS default to WINDOW's point, not the current buffer's point.
2000-10-27 01:16:47 +00:00
Gerd Moellmann
8b6d9dc974 (size_window): Compute size difference from sum of old
child window sizes instead of from parent's size.
2000-10-26 20:38:06 +00:00
Gerd Moellmann
53bb6b996b (pos_fully_visible_p): Removed.
(Fpos_visible_in_window_p): Use pos_visible_p to determine
if position is visible and/or fully visible.
2000-10-25 11:53:54 +00:00
Gerd Moellmann
7ae2f10f73 (size_window): Prevent setting window's width or
height to a negative value (esp. with XSETFASTINT).
2000-10-24 14:05:50 +00:00
Kenichi Handa
32cf3ee07d (Fdisplay_buffer): Fix doc. 2000-10-24 04:39:01 +00:00
Miles Bader
6ffdb53952 (window_scroll_pixel_based, window_scroll_line_based):
Pass nil for FULLY argument to Fpos_visible_in_window_p to
  maintain old behavior.
2000-10-23 13:48:52 +00:00
Andrew Choi
1a578e9be2 Initial check-in: changes for building Emacs under Mac OS.
2000-10-23  Andrew Choi  <akochoi@i-cable.com>

	* dispextern.h [macintosh]: Include macgui.h instead of macterm.h.

	* dispnew.c [macintosh]: Include macterm.h.
	(init_display) [macintosh]: initialization for window system.

	* emacs.c (main) [macintosh]: Call syms_of_textprop,
	syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
	syms_of_search, x_term_init, and init_keyboard before calling
	init_window_once.  Also, call syms_of_xmenu.

	* fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
	default fontset to Monaco.

	* frame.c [macintosh]: Include macterm.h.  Remove declarations of
	NewMacWindow and DisposeMacWindow.
	(make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
	instead of calling NewMacWindow and setting fields of
	f->output_data.mac directly.  Call init_frame_faces.
	(Fdelete_frame) [macintosh]: Remove unused code.
	(Fmodify_frame_parameters) [macintosh]: Call
	x_set_frame_parameters instead of mac_set_frame_parameters.

	* frame.h [macintosh]: Define menu_bar_lines field in struct
	frame.  Define FRAME_EXTERNAL_MENU_BAR macro.

	* keyboard.c [macintosh]: Include macterm.h.
	(kbd_buffer_get_event) [macintosh]: Generate delete_window_event
	and menu_bar_activate_event type events as for X and NT.
	(make_lispy_event) [macintosh]: Construct lisp events of type
	MENU_BAR_EVENT as for X and NT.

	* sysdep.c [macintosh]: Remove declaration for sys_signal.
	Include stdlib.h.  Remove definition of Vx_bitmap_file_path.
	(sys_subshell) [macintosh]: Remove definition entirely.
	(init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
	Vwindow_system_version here.  Remove initialization of
	Vx_bitmap_file_path.
	(read_input_waiting): Correct the number of parameters passed to
	read_socket_hook.
	Move all Macintosh functions to mac/mac.c.

	* term.c [macintosh]: Include macterm.h.

	* window.c [macintosh]: Include macterm.h.

	* xdisp.c [macintosh]: Include macterm.h.  Declare
	set_frame_menubar and pending_menu_activation.
	(echo_area_display) [macintosh]: Do not return if terminal frame
	is the selected frame.
	(update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
	Allow only the selected frame to set menu bar.
	(redisplay_window) [macintosh]: Obtain menu bar to redisplay by
	calling FRAME_EXTERNAL_MENU_BAR (f).
	(display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).

	* xfaces.c [macintosh]: Include macterm.h.  Define x_display_info
	and check_x.  Declare XCreateGC.  Define x_create_gc and
	x_free_gc.  Initialize font_sort_order.
	(x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
	but call x_list_fonts instead of w32_list_fonts.
	(Finternal_face_x_get_resource) [macintosh]: Do not call
	display_x_get_resource.
	(prepare_face_for_display) [macintosh]: Set xgcv.font.
	(realize_x_face) [macintosh]: Load the font if it is specified in
	ATTRS.
	(syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
	to Qt.

	* cus-edit.el (custom-button-face): Use 3D look for mac.
	(custom-button-pressed-face): Likewise.

	* faces.el (set-face-attributes-from-resources): Handle mac frames
	in the same way as x and w32 frames.
	(face-valid-attribute-values): Likewise.
	(read-face-attribute): Likewise.
	(defined-colors): Likewise.
	(color-defined-p): Likewise.
	(color-values): Likewise.
	(display-grayscale-p): Likewise.
	(face-set-after-frame-default): Likewise.
	(mode-line): Same default face as for x and w32.
	(tool-bar): Likewise.

	* frame.el: Remove call to frame-notice-user-settings at end of
	the file.

	* info.el (Info-fontify-node): make underlines invisible for mac
	as for x, pc, and w32 frame types.

	* term/mac-win.el: New file.
2000-10-22 16:50:16 +00:00
Miles Bader
81e4d4652c (pos_fully_visible_in_window_p):
New function.
(Fpos_visible_in_window_p):
  Add FULLY argument.
  Use pos_fully_visible_in_window_p.
(window_scroll_pixel_based, window_scroll_line_based):
  Update calls to Fpos_visible_in_window_p.
2000-10-21 07:57:20 +00:00
Eli Zaretskii
768324397d (coordinates_in_window): Fix detection of vertical line
on character terminals.
2000-10-12 15:40:53 +00:00