1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-28 08:11:05 -08:00
Commit graph

331 commits

Author SHA1 Message Date
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
Gerd Moellmann
cbccabec65 (freeze_window_starts): Construct last argument for
foreach_window differently.
2000-09-26 12:36:55 +00:00
Gerd Moellmann
6bbd7a2959 Avoid some more compiler warnings. 2000-09-21 20:54:57 +00:00
Gerd Moellmann
c930dfab96 (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
get-largest-window always return nil.
2000-09-05 10:51:59 +00:00
Andrew Innes
3e4731a35a Include keyboard.h before frame.h. 2000-08-22 23:45:16 +00:00
Dave Love
5372262fdc Fix embedded comment.
(syms_of_window): Fix doc string.
2000-08-14 10:52:50 +00:00
Gerd Moellmann
cbc099e584 (Fwindow_end): Rewritten to not use Fvertical_motion,
because that function doesn't cope with variable-height lines.
2000-08-10 19:14:59 +00:00
Gerd Moellmann
9c3da604d1 (display_buffer_reuse_frames): New variable.
(Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
frames displaying BUFFER.
(syms_of_window): Define Lisp variable
display-buffer-reuse-frames.
2000-08-02 20:17:01 +00:00
Gerd Moellmann
c756cdbeb3 (window_display_table): Cleaned up. 2000-07-25 12:05:45 +00:00
Gerd Moellmann
0f532a9a24 (foreach_window_1): Fix typo reversing an if-condition. 2000-07-21 14:59:18 +00:00
Gerd Moellmann
f95464e470 (foreach_window): Instead of a fake variable argument
list, take one USER_DATA argument.
(foreach_window_1): Likewise, and call callback functions with two
args, the window and USER_DATA.
(struct check_window_data): New struct.
(check_window_containing): Use it.
(window_from_coordinates): Set up a struct check_window_data for
foreach_window.
(add_window_to_list, freeze_window_start): Change parameters
according to new calling convention.
2000-07-21 14:34:08 +00:00
Dave Love
069f59503d (Fwindow_list): Declare arg `window'. 2000-07-18 11:07:57 +00:00
Gerd Moellmann
ffdc852d60 (window_loop): Add missing gcpro1 local variable. 2000-07-06 20:57:43 +00:00
Gerd Moellmann
118ea24263 (Fwindow_list): Reverse list at the end.
(candidate_window_p): Add parameter OWINDOW.  ALL_FRAMES nil
means allow windows on OWINDOW's frame, only.
(window_loop): Simplified; use Fwindow_list.
2000-07-06 14:18:36 +00:00
Gerd Moellmann
acf7084012 (delete_all_subwindows): Reset Vwindow_list. 2000-07-05 11:53:35 +00:00
Gerd Moellmann
212116d675 (add_window_to_list): Add parameter LIST.
(window_list): Order list so that, for each frame, windows are
in canonical order, and so that frames appear in the list in
the order given by Vframe_list.
(next_window): Reverse the handling of NEXT_P.
2000-07-05 11:38:42 +00:00
Gerd Moellmann
6749220013 (Vwindow_list): New variable.
(make_window, delete_window): Set Vwindow_list to nil.
(check_window_containing): New function.
(window_from_coordinates): Rewritten.
(add_window_to_list, window_list, candidate_window_p)
(decode_next_window_args, next_window): New functions.
(Fnext_window, Fprevious_window): Rewritten in terms of
next_window.
(Fwindow_list): New function.
(Fother_window): Cleaned up.
(foreach_window): Add a longer "variable argument list".  Let
callback function return 0 to indicate that cycling over windows
should stop.
(foreach_window_1): Likewise.
(freeze_window_start): Return int.
(init_window): New function.
(syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
2000-07-04 18:58:02 +00:00
Gerd Moellmann
3091c2a652 (displayed_window_lines): Take empty lines at
the bottom of a window into account.
2000-06-07 12:42:30 +00:00
Gerd Moellmann
b7617575cd (displayed_window_lines): New function.
(Fmove_to_window_line): Use displayed_window_lines to determine
the number of lines to move, instead of using the window's height.
2000-06-07 12:30:22 +00:00
Eli Zaretskii
466539bc8a (coordinates_in_window): Subtract 1 when computing right_x. 2000-05-15 14:51:32 +00:00
Ken Raeburn
24d744ac9c (freeze_window_start): Check that minibuffer scroll window isn't nil before
extracting the window structure pointer from it.
2000-04-26 18:41:05 +00:00
Gerd Moellmann
4d3edcb4c7 (compare_window_configurations): Signal an error
if parameters C1 or C2 aren't window configurations.
2000-04-04 21:07:45 +00:00
Ken Raeburn
3578db3c16 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
with int lvalues via casts; instead, just yield lisp object
lvalues.
(enlarge_window): Variable sizep now points to Lisp_Object.  Use
proper accessor macros.
(shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
(grow_mini_window): Fix typo getting int value of root->height.
2000-04-01 12:39:03 +00:00
Ken Raeburn
8801a864d2 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW, XSUBR, XBUFFER):
Verify correct object type before returning pointer, using eassert.
* frame.h (XFRAME): Likewise.

* buffer.c (Frename_buffer, Fset_buffer_multibyte,
swap_out_buffer_local_variables, Fmove_overlay): Don't apply XSYMBOL, XBUFFER,
etc, to values that may be nil or of the wrong type.
* data.c (set_internal): Likewise.
* dispextern.h (WINDOW_WANTS_MODELINE_P, WINDOW_WANTS_HEADER_LINE_P): Likewise.
* fileio.c (auto_save_1): Likewise.
* insdel.c (check_markers): Likewise.
* marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
* undo.c (record_insert): Likewise.
* vmsproc.c (child_sig): Likewise.
* window.c (unshow_buffer, window_loop): Likewise.
* xterm.c (x_erase_phys_cursor): Likewise.
2000-03-30 09:56:31 +00:00
Gerd Moellmann
8ed92cf0f2 (Fsave_window_excursion): Doc fix. 2000-03-12 15:19:21 +00:00
Gerd Moellmann
50df5e5a03 (coordinates_in_window): Use
FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
FRAME_INTERNAL_BORDER_WIDTH.
2000-03-05 20:22:48 +00:00
Eli Zaretskii
1e3c88855b [MSDOS]: Include msdos.h (for the definition of FRAME_INTERNAL_BORDER_WIDTH). 2000-03-02 12:22:49 +00:00
Gerd Moellmann
719eaeb1b6 (select_window_1): If selected_window is nil,
don't "swap out" the buffer's point.
(Fset_window_configuration): Set selected_window to nil
before calling Fselect_window.
(unshow_buffer): Don't set point in buffer from window's point
if another more recently selected window also shows the buffer.
2000-02-25 15:41:43 +00:00