1. 24 Dec, 1992 5 commits
    • Jim Blandy's avatar
      * frame.h (struct frame): New fields `can_have_scrollbars' and · 46a5c487
      Jim Blandy authored
      	`has_vertical_scrollbars'.
      	(FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
      	accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
      	(VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
      	WINDOW_VERTICAL_SCROLLBAR_COLUMN,
      	WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
      	* window.h (struct window): New field `vertical_scrollbar'.
      	* xterm.h (struct x_display): vertical_scrollbars,
      	judge_timestamp, vertical_scrollbar_extra: New fields.
      	(struct scrollbar): New struct.
      	(VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
      	VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
      	VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
      	CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
      	PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
      	* frame.c (make_frame): Initialize the `can_have_scrollbars' and
      	`has_vertical_scrollbars' fields of the frame.
      	* term.c (term_init): Note that TERMCAP terminals don't support
      	scrollbars.
      	(mouse_position_hook): Document new args.
      	(set_vertical_scrollbar_hook, condemn_scrollbars_hook,
      	redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
      	* termhooks.h: Declare and document them.
      	(enum scrollbar_part): New type.
      	(struct input_event): Describe the new form of the scrollbar_click
      	event type.  Change `part' from a Lisp_Object to an enum
      	scrollbar_part.  Add a new field `scrollbar'.
      	* keyboard.c (kbd_buffer_get_event): Pass appropriate new
      	parameters to *mouse_position_hook, and make_lispy_movement.
      	* xfns.c (x_set_vertical_scrollbar): New function.
      	(x_figure_window_size): Use new macros to calculate frame size.
      	(Fx_create_frame): Note that X Windows frames do support scroll
      	bars.  Default to "yes".
      	* xterm.c: #include <X11/cursorfont.h> and "window.h".
      	(x_vertical_scrollbar_cursor): New variable.
      	(x_term_init): Initialize it.
      	(last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
      	last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
      	variables.
      	(XTmouse_position): Use them to return scrollbar movement events.
      	Take new arguments, for that purpose.
      	(x_window_to_scrollbar, x_scrollbar_create,
      	x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
      	XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
      	XTjudge_scrollbars, x_scrollbar_expose,
      	x_scrollbar_background_expose, x_scrollbar_handle_click,
      	x_scrollbar_handle_motion): New functions to implement scrollbars.
      	(x_term_init): Set the termhooks.h hooks to point to them.
      	(x_set_window_size): Use new macros to calculate frame size.  Set
      	vertical_scrollbar_extra field.
      	(x_make_frame_visible): Use the frame accessor
      	FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
      	frame's subwindows as well.
      	(XTread_socket): Use new size-calculation macros from xterm.h when
      	processing ConfigureNotify events.
      	(x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
      	PIXEL_TO_CHAR_HEIGHT macros.
      	* ymakefile (xdisp.o): This now depends on termhooks.h.
      	(xterm.o): This now depends on window.h.
      
      	Change the meaning of focus redirection to make switching windows
      	work properly.  Fredirect_frame_focus has the details.
      	* frame.h (focus_frame): Doc fix.
      	[not MULTI_FRAME] (FRAME_FOCUS_FRAME): Make this Qnil, which
      	indicates no focus redirection, instead of zero, which is
      	selected_frame.
      	* frame.c (make_frame): Initialize f->focus_frame to Qnil, rather
      	than making it point to frame itself.
      	(Fselect_frame): If changing the selected frame from FOO to BAR,
      	make all redirections to FOO shift to BAR as well.  Doc fix.
      	(Fredirect_frame_focus): Doc fix.  Accept nil as a valid
      	redirection, not just as a default for FRAME.
      	(Fframe_focus): Doc fix.
      	* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event): Deal
      	with focus redirections being nil.
      	* xterm.c (XTframe_rehighlight): Doc fix.  Deal with focus
      	redirections being nil.
      
      	It's a pain to remember that you can't assign to FRAME->visible.
      	Let's change all references to the `visible' member of struct
      	frame to use the accessor macros, and then write a setter for the
      	`visible' field that does the right thing.
      	* frame.h (FRAME_VISIBLE_P): Make this not an l-value.
      	(FRAME_SET_VISIBLE): New macro.
      	* frame.c (make_terminal_frame, Fdelete_frame): Use FRAME_SET_VISIBLE.
      	(Fframe_visible_p, Fvisible_frame_list): Use FRAME_VISIBLE_P and
      	FRAME_ICONIFIED_P.
      	* dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
      	FRAME_GARBAGED_P accessors.
      	* xdisp.c (redisplay): Use the FRAME_VISIBLE_P accessor.
      	* xfns.c (x_set_foreground_color, x_set_background_color,
      	x_set_cursor_color, x_set_border_pixel, x_set_icon_type): Use the
      	FRAME_VISIBLE_P accessor.
      	(Fx_create_frame): Use FRAME_SET_VISIBILITY.
      	* xterm.c (clear_cursor, x_display_bar_cursor,
      	x_display_box_cursor): Use FRAME_SET_VISIBILITY.
      46a5c487
    • Jim Blandy's avatar
      * frame.h (struct frame): New fields `can_have_scrollbars' and · a42e9724
      Jim Blandy authored
      	`has_vertical_scrollbars'.
      	(FRAME_CAN_HAVE_SCROLLBARS, FRAME_HAS_VERTICAL_SCROLLBARS): New
      	accessors, for both the MULTI_FRAME and non-MULTI_FRAME.
      	(VERTICAL_SCROLLBAR_WIDTH, WINDOW_VERTICAL_SCROLLBAR,
      	WINDOW_VERTICAL_SCROLLBAR_COLUMN,
      	WINDOW_VERTICAL_SCROLLBAR_HEIGHT): New macros.
      	* window.h (struct window): New field `vertical_scrollbar'.
      	* xterm.h (struct x_display): vertical_scrollbars,
      	judge_timestamp, vertical_scrollbar_extra: New fields.
      	(struct scrollbar): New struct.
      	(VERTICAL_SCROLLBAR_PIXEL_WIDTH, VERTICAL_SCROLLBAR_PIXEL_HEIGHT,
      	VERTICAL_SCROLLBAR_LEFT_BORDER, VERTICAL_SCROLLBAR_RIGHT_BORDER,
      	VERTICAL_SCROLLBAR_TOP_BORDER, VERTICAL_SCROLLBAR_BOTTOM_BORDER,
      	CHAR_TO_PIXEL_WIDTH, CHAR_TO_PIXEL_HEIGHT, PIXEL_TO_CHAR_WIDTH,
      	PIXEL_TO_CHAR_HEIGHT): New accessors and macros.
      	* frame.c (make_frame): Initialize the `can_have_scrollbars' and
      	`has_vertical_scrollbars' fields of the frame.
      	* term.c (term_init): Note that TERMCAP terminals don't support
      	scrollbars.
      	(mouse_position_hook): Document new args.
      	(set_vertical_scrollbar_hook, condemn_scrollbars_hook,
      	redeem_scrollbar_hook, judge_scrollbars_hook): New hooks.
      	* termhooks.h: Declare and document them.
      	(enum scrollbar_part): New type.
      	(struct input_event): Describe the new form of the scrollbar_click
      	event type.  Change `part' from a Lisp_Object to an enum
      	scrollbar_part.  Add a new field `scrollbar'.
      	* keyboard.c (kbd_buffer_get_event): Pass appropriate new
      	parameters to *mouse_position_hook, and make_lispy_movement.
      	* xfns.c (x_set_vertical_scrollbar): New function.
      	(x_figure_window_size): Use new macros to calculate frame size.
      	(Fx_create_frame): Note that X Windows frames do support scroll
      	bars.  Default to "yes".
      	* xterm.c: #include <X11/cursorfont.h> and "window.h".
      	(x_vertical_scrollbar_cursor): New variable.
      	(x_term_init): Initialize it.
      	(last_mouse_bar, last_mouse_bar_frame, last_mouse_part,
      	last_mouse_scroll_range_start, last_mouse_scroll_range_end): New
      	variables.
      	(XTmouse_position): Use them to return scrollbar movement events.
      	Take new arguments, for that purpose.
      	(x_window_to_scrollbar, x_scrollbar_create,
      	x_scrollbar_set_handle, x_scrollbar_remove, x_scrollbar_move,
      	XTset_scrollbar, XTcondemn_scrollbars, XTredeem_scrollbar,
      	XTjudge_scrollbars, x_scrollbar_expose,
      	x_scrollbar_background_expose, x_scrollbar_handle_click,
      	x_scrollbar_handle_motion): New functions to implement scrollbars.
      	(x_term_init): Set the termhooks.h hooks to point to them.
      	(x_set_window_size): Use new macros to calculate frame size.  Set
      	vertical_scrollbar_extra field.
      	(x_make_frame_visible): Use the frame accessor
      	FRAME_HAS_VERTICAL_SCROLLBARS to decide if we need to map the
      	frame's subwindows as well.
      	(XTread_socket): Use new size-calculation macros from xterm.h when
      	processing ConfigureNotify events.
      	(x_wm_set_size_hint): Use PIXEL_TO_CHAR_WIDTH and
      	PIXEL_TO_CHAR_HEIGHT macros.
      	* ymakefile (xdisp.o): This now depends on termhooks.h.
      	(xterm.o): This now depends on window.h.
      
      	* floatfns.c (Flog): Fix unescaped newline in string.
      	* frame.c (Fnext_frame): Same.
      	* textprop.c (Fprevious_single_property_change): Same.
      	(syms_of_textprop): Same, for DEFVAR for
      	`interval_balance_threshold'.
      
      	Change the meaning of focus redirection to make switching windows
      	work properly.  Fredirect_frame_focus has the details.
      	* frame.h (focus_frame): Doc fix.
      	[not MULTI_FRAME] (FRAME_FOCUS_FRAME): Make this Qnil, which
      	indicates no focus redirection, instead of zero, which is
      	selected_frame.
      	* frame.c (make_frame): Initialize f->focus_frame to Qnil, rather
      	than making it point to frame itself.
      	(Fselect_frame): If changing the selected frame from FOO to BAR,
      	make all redirections to FOO shift to BAR as well.  Doc fix.
      	(Fredirect_frame_focus): Doc fix.  Accept nil as a valid
      	redirection, not just as a default for FRAME.
      	(Fframe_focus): Doc fix.
      	* keyboard.c (kbd_buffer_store_event, kbd_buffer_get_event): Deal
      	with focus redirections being nil.
      	* xterm.c (XTframe_rehighlight): Doc fix.  Deal with focus
      	redirections being nil.
      
      	It's a pain to remember that you can't assign to FRAME->visible.
      	Let's change all references to the `visible' member of struct
      	frame to use the accessor macros, and then write a setter for the
      	`visible' field that does the right thing.
      	* frame.h (FRAME_VISIBLE_P): Make this not an l-value.
      	(FRAME_SET_VISIBLE): New macro.
      	* frame.c (make_terminal_frame, Fdelete_frame): Use FRAME_SET_VISIBLE.
      	(Fframe_visible_p, Fvisible_frame_list): Use FRAME_VISIBLE_P and
      	FRAME_ICONIFIED_P.
      	* dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
      	FRAME_GARBAGED_P accessors.
      	* xdisp.c (redisplay): Use the FRAME_VISIBLE_P accessor.
      	* xfns.c (x_set_foreground_color, x_set_background_color,
      	x_set_cursor_color, x_set_border_pixel, x_set_icon_type): Use the
      	FRAME_VISIBLE_P accessor.
      	(Fx_create_frame): Use FRAME_SET_VISIBILITY.
      	* xterm.c (clear_cursor, x_display_bar_cursor,
      	x_display_box_cursor): Use FRAME_SET_VISIBILITY.
      a42e9724
    • Jim Blandy's avatar
      * dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and · 950c2628
      Jim Blandy authored
      	FRAME_GARBAGED_P accessors.
      	* dispnew.c (Fredraw_display): Use the FRAME_VISIBLE_P and
      	FRAME_GARBAGED_P accessors.
      950c2628
    • Jim Blandy's avatar
      76f590d7
    • Jim Blandy's avatar
      * ymakefile (all, xemacs): We build an executable called `emacs' now, · 307436bb
      Jim Blandy authored
      	not `xemacs'.
      	* Makefile.in (distclean, xemacs, doxemacs): Same.
      307436bb
  2. 21 Dec, 1992 2 commits
  3. 18 Dec, 1992 1 commit
  4. 15 Dec, 1992 1 commit
  5. 14 Dec, 1992 1 commit
  6. 12 Dec, 1992 11 commits
    • Jim Blandy's avatar
      * window.c (Fset_window_configuration): If we're restoring the · fd482be5
      Jim Blandy authored
      	configuration of a dead frame, don't bother rebuilding its window
      	tree, restoring its focus redirection, or temporarily resizing it
      	to fit the saved window configuration.  If the frame which was
      	selected when the configuration was captured is now dead, don't
      	try to select it.
      
      	* frame.c (Fdelete_frame): Delete all the windows in the frame's
      	window tree, using delete_all_subwindows.
      	* window.c (delete_all_subwindows): Don't make this static
      	anymore.
      fd482be5
    • Jim Blandy's avatar
      * search.c (Fskip_chars_forward, Fskip_chars_backward): Return the · c1dc99a1
      Jim Blandy authored
      	distance traveled.
      	(skip_chars): Return the distance traveled, as a Lisp_Object.
      c1dc99a1
    • Jim Blandy's avatar
      Give subprocess creation a way to find a valid current directory · 1e30af70
      Jim Blandy authored
      	for subprocesses when the buffer's default-directory is a handled
      	name.
      	* fileio.c (Funhandled_file_name_directory): New function.
      	(Qunhandled_file_name_directory): New file-name-handler operation.
      	(syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
      	initialize and staticpro Qunhandled_file_name_directory.
      	* callproc.c (Fcall_process): Call Funhandled_file_name_directory
      	on the buffer's default directory.  Do it earlier in the function
      	so there's less to GCPRO.
      	* process.c (create_process): Don't check the validity of the
      	buffer's default directory here...
      	(Fstart_process): Instead, do it here; if we call
      	Funhandled_file_name_directory here, there's less GCPROing to do.
      1e30af70
    • Jim Blandy's avatar
      * macros.c (Fend_kbd_macro): Don't use XFASTINT to check if arg is · e86f81cc
      Jim Blandy authored
      	negative; XFASTINT only works on values known to be positive.
      	(Fexecute_kbd_macro): Check QUIT in the repetition loop.  If the
      	macro is null, no characters are actually being read, so this
      	matters.
      e86f81cc
    • Jim Blandy's avatar
      * fileio.c (find_file_handler): Rename this to · 997bf68d
      Jim Blandy authored
      	Ffind_file_name_handler, and make it visible to lisp.  Add a QUIT
      	to the loop which scans file-name-handler-alist.  All uses
      	changed.
      	(syms_of_fileio): Mention this new function in the docstring for
      	Vfile_name_handler_alist.  defsubr Sfind_file_name_handler.
      	* lisp.h (Ffind_file_name_handler): Added extern declaration.
      	* dired.c: All uses of find_file_handler changed here too.
      997bf68d
    • Jim Blandy's avatar
      * frame.c (Fdelete_frame): Delete all the windows in the frame's · 4a88b3b0
      Jim Blandy authored
      	window tree, using delete_all_subwindows.
      	* window.c (delete_all_subwindows): Don't make this static
      	anymore.
      4a88b3b0
    • Jim Blandy's avatar
      Give subprocess creation a way to find a valid current directory · 642ef245
      Jim Blandy authored
      	for subprocesses when the buffer's default-directory is a handled
      	name.
      	* fileio.c (Funhandled_file_name_directory): New function.
      	(Qunhandled_file_name_directory): New file-name-handler operation.
      	(syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
      	initialize and staticpro Qunhandled_file_name_directory.
      	* callproc.c (Fcall_process): Call Funhandled_file_name_directory
      	on the buffer's default directory.  Do it earlier in the function
      	so there's less to GCPRO.
      	* process.c (create_process): Don't check the validity of the
      	buffer's default directory here...
      	(Fstart_process): Instead, do it here; if we call
      	Funhandled_file_name_directory here, there's less GCPROing to do.
      
      	* fileio.c (find_file_handler): Rename this to
      	Ffind_file_name_handler, and make it visible to lisp.  Add a QUIT
      	to the loop which scans file-name-handler-alist.  All uses
      	changed.
      	(syms_of_fileio): Mention this new function in the docstring for
      	Vfile_name_handler_alist.  defsubr Sfind_file_name_handler.
      	* lisp.h (Ffind_file_name_handler): Added extern declaration.
      	* dired.c: All uses of find_file_handler changed here too.
      
      	* fileio.c (syms_of_fileio): Add staticpros for Qexpand_file_name,
      	Qdirectory_file_name, Qfile_name_directory,
      	Qfile_name_nondirectory, Qfile_name_as_directory.
      642ef245
    • Jim Blandy's avatar
      Give subprocess creation a way to find a valid current directory · 58616e67
      Jim Blandy authored
      	for subprocesses when the buffer's default-directory is a handled
      	name.
      	* fileio.c (Funhandled_file_name_directory): New function.
      	(Qunhandled_file_name_directory): New file-name-handler operation.
      	(syms_of_fileio): Defsubr Sunhandled_file_name_directory, and
      	initialize and staticpro Qunhandled_file_name_directory.
      	* callproc.c (Fcall_process): Call Funhandled_file_name_directory
      	on the buffer's default directory.  Do it earlier in the function
      	so there's less to GCPRO.
      	* process.c (create_process): Don't check the validity of the
      	buffer's default directory here...
      	(Fstart_process): Instead, do it here; if we call
      	Funhandled_file_name_directory here, there's less GCPROing to do.
      
      	* callproc.c (Fcall_process_region): Return the value returned by
      	Fcall_process.
      58616e67
    • Jim Blandy's avatar
      * Makefile.in (distclean): Don't delete machine.h or system.h; · 9e012fc3
      Jim Blandy authored
      	they don't exist anymore.
      
      	* Makefile.in (distclean): Don't delete autosave or backup files.
      	(extraclean): New target; like distclean, but delete autosave
      	and backup files too.
      
      	* Makefile.in (srcdir): New variable, not fully implemented.
      	(xmakefile): Turn -g and -O in CFLAGS into C_DEBUG_SWITCH and
      	C_OPTIMIZE_SWITCH in C_SWITCH_SITE's definition.  Delete junk.cpp
      	when done.
      	* ymakefile (archlib): Variable definition deleted.  Run programs
      	from ../lib-src directly, or use ${archlibdir}.
      	(${etc}DOC): Run make-docfile from ${libsrc}, not ${archlib}.
      	(${archlib}make-docfile, ${archlib}emacstool): Use ${libsrc}, not
      	${archlib}.
      9e012fc3
    • Jim Blandy's avatar
      *** empty log message *** · 71715da9
      Jim Blandy authored
      71715da9
    • Jim Meyering's avatar
      *** empty log message *** · c6b40788
      Jim Meyering authored
      c6b40788
  7. 08 Dec, 1992 1 commit
  8. 06 Dec, 1992 12 commits
  9. 01 Dec, 1992 1 commit
  10. 26 Nov, 1992 2 commits
    • Richard M. Stallman's avatar
      Copy changes from 18.59: · a22b5340
      Richard M. Stallman authored
      (NeXT): Defined.
      (BIG_ENDIAN): Define only if __BIG_ENDIAN__.
      (m68000, COMPILER_REGISTER_BUG): Defs deleted.
      (SIGN_EXTEND_CHAR, LIB_X11_LIB, NO_T_CHARS_DEFINES, UNEXEC): Defined.
      (LIBS_DEBUG, LIB_GCC, C_SWITCH_MACHINE, ORDINARY_LINK): Defined.
      (TEXT_START, TEXT_END, DATA_END, LD_SWITCH_MACHINE): Defined.
      (KERNEL_FILE): #undef it.
      (environ): Define as _environ.
      a22b5340
    • David J. MacKenzie's avatar
      *** empty log message *** · d9088577
      David J. MacKenzie authored
      d9088577
  11. 24 Nov, 1992 2 commits
  12. 21 Nov, 1992 1 commit