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

1195 commits

Author SHA1 Message Date
Richard M. Stallman
cd9565badb (child_setup): Omit duplicates from new env array. 1993-05-13 00:21:47 +00:00
Richard M. Stallman
1a40d27fa2 (make_lispy_event): Don't set shift modifier for C-^. 1993-05-13 00:21:23 +00:00
Richard M. Stallman
992984b287 (current_minor_maps): Call Findirect_function, so symbols
can be used in place of actual maps.
1993-05-13 00:20:51 +00:00
Richard M. Stallman
68a37fa8c7 (display_text_line): Use break; to exit loop at eol.
Duplicate the short MAKE_GLYPH loop after the main loop.
If no display table, do obey selective_display_ellipses.
(copy_part_of_rope): Arg FROM is now Lisp_Object *.
1993-05-13 00:19:20 +00:00
Richard M. Stallman
db6f9d952e (Faccessible_keymaps): Use whatever size the vector has.
(Fwhere_is_internal): Likewise.
(describe_vector): Likewise.
1993-05-12 21:58:16 +00:00
Richard M. Stallman
819012f055 (Fx_popup_menu): Add a vector of prefix keys for the panes.
(keymap_panes): Allocate that vector.
(single_keymap_panes): Fill in that vector.
(xmenu_show): Return a list of events, not just one event.
1993-05-12 05:17:47 +00:00
Jim Meyering
9d330ad06a Initial revision 1993-05-11 23:23:34 +00:00
Jim Blandy
18004d2b7f * xdisp.c (display_text_line): We can't use the FRAME_DEFAULT_FACE
macro here; that's x-specific.  Just don't pass the second
	argument.
	* xfaces.c (compute_glyph_face): Remove the BASIC_FACE argument;
	use F's default face.
1993-05-11 02:48:07 +00:00
Jim Blandy
9dbd4b48c5 * xdisp.c (display_text_line): Make face-handling code conditional
on HAVE_X_WINDOWS macro.  Perhaps this isn't the best approach,
	but it'll do for now.

	* xdisp.c (display_text_line): We can't use the FRAME_DEFAULT_FACE
	macro here; that's x-specific.  Just don't pass the second
	argument.
	* xfaces.c (compute_glyph_face): Remove the BASIC_FACE argument;
	use F's default face.
1993-05-11 02:47:46 +00:00
Jim Blandy
a253bab22d * fileio.c (ro_fsys) [SOLARIS_BROKEN_ACCESS]: Check for the
filesystem being ro, since Solaris 2.1 doesn't.
        (file-writable-p): Call ro_fsys.
	* s/sol2.h (SOLARIS_BROKEN_ACCESS): Define this.
1993-05-11 01:39:42 +00:00
Jim Blandy
5cbdb35688 * systime.h: Use the strategy from getdate.y to include the proper
combination of <time.h> and <sys/time.h>.
1993-05-11 00:07:51 +00:00
Jim Blandy
ee8f40ccfc * xfns.c (Fx_create_frame): Use an XLFD name for the default font,
instead of "9x15" or whatever it was.
1993-05-10 23:31:01 +00:00
Jim Blandy
32de648411 * s/template.h: Explain the relative significance of the SIGIO and
INTERRUPT_INPUT macros.
1993-05-10 00:35:06 +00:00
Jim Blandy
16f7413a03 * s/sunos4shr.h: Apply changes from David J. Mackenzie; this isn't
used by any configuration right now, but he's trying to make it
	work.
	#include "sunos4-1.h" instead of "bsd4-2.h".
	(O_NDELAY): Don't define this.
	(SYSTEM_MALLOC): Don't define this, either.
	(LD_SWITCH_SYSTEM): Remove the definition for this.
1993-05-10 00:34:31 +00:00
Jim Blandy
07e34cb0a9 * xdisp.c (display_text_line): Apply faces to characters
according to overlays and text properties; use
	compute_char_face and compute_glyph_face to figure out what
	face to use, and where a new face starts.
	* xterm.c (dumpglyphs): Use the upper bits of the glyphs to decide
	which frame face to use.  Call GLYPH_FOLLOW_ALIASES to make sure
	we're implementing the glyph table properly.  If we're not using
	the default or mode line face, call intern_face to find a display
	face for the frame face selected by the glyph code.  Implement
	underlining.  Remove the `font' argument; we have to derive this
	from the frame and face anyway.  Change all callers.
	* disptab.h (GLYPH_FOLLOW_ALIASES): New macro.

	* xterm.c (x_destroy_window): Call free_frame_faces.
1993-05-10 00:26:32 +00:00
Jim Blandy
9c7bb45ff3 * xfns.c (x_make_gc): After building the GC's for the frame, call
init_frame_faces to set up the first two faces.
	* xfaces.c (init_frame_faces): Don't just try to copy the default
	and mode line faces from some other random frame; instead, consult
	the normal_gc and reverse_gc members of the frame, and build the
	faces based on their parameters.
1993-05-10 00:25:40 +00:00
Jim Blandy
cb63767871 * xfaces.c (Fmake_face_internal): Do nothing for non-X frames.
* dispextern.h (struct face): Add cached_index member.
	* xfaces.c (get_cached_face): Use it to avoid unnecessary
	searches of face_vector.

	* xfaces.c (intern_face): Renamed from get_display_face.

	* xfns.c (x_make_gc): After building the GC's for the frame, call
	init_frame_faces to set up the first two faces.
	* xfaces.c (init_frame_faces): Don't just try to copy the default
	and mode line faces from some other random frame; instead, consult
	the normal_gc and reverse_gc members of the frame, and build the
	faces based on their parameters.

	Adjust the face computation functions to return frame face ID's,
	not pointers to display faces; since we call these functions
	during display construction, we don't want the display faces yet.
	* xfaces.c (intern_frame_face): New function.
	(compute_char_face, compute_glyph_face): Apply intern_frame_face
	to the computed face, and return the frame face's ID, instead of
	calling intern_face and returning a pointer to a display frame.

	* xfaces.c: Describe the facial data structures.  It took me a
	while to figure them out; perhaps this will save someone else the
	trouble.

	* xfaces.c (get_display_face): Use face_eql instead of writing it out.
1993-05-10 00:25:17 +00:00
Jim Blandy
31b2455197 Arrange to tell redisplay about changes in overlays.
* xdisp.c (redisplay_region): New function.
	* buffer.c (Fmove_overlay): Call redisplay_region on the areas the
	overlay has enclosed or left.
	(Fdelete_overlay): Call redisplay_region on the area the overlay
	used to occupy.
	(Foverlay_put): Call redisplay_region on the area the overlay now
	occupies; we may have put a face property on it.

	* xdisp.c (redisplay): If we're doing a thorough redisplay (all
	windows on all frames involved), go ahead and flush the GC cache -
	call clear_face_vector.

	* xdisp.c (display_text_line): Apply faces to characters
	according to overlays and text properties; use
	compute_char_face and compute_glyph_face to figure out what
	face to use, and where a new face starts.
	* xterm.c (dumpglyphs): Use the upper bits of the glyphs to decide
	which frame face to use.  Call GLYPH_FOLLOW_ALIASES to make sure
	we're implementing the glyph table properly.  If we're not using
	the default or mode line face, call intern_face to find a display
	face for the frame face selected by the glyph code.  Implement
	underlining.  Remove the `font' argument; we have to derive this
	from the frame and face anyway.  Change all callers.
	* disptab.h (GLYPH_FOLLOW_ALIASES): New macro.
1993-05-10 00:23:47 +00:00
Jim Blandy
703f280806 * config.h.in: Remove mention of GLYPH datatype; that shouldn't be
a user option.
	* lisp.h (GLYPH, MAKE_GLYPH, GLYPH_CHAR, GLYPH_FACE): New macros.
1993-05-10 00:17:55 +00:00
Jim Blandy
2fc6697323 * keymap.c (Fwhere_is_internal): If FIRSTONLY is non-nil, avoid
returning a non-ascii key sequence unless FIRSTONLY is the symbol
	`non-ascii'.
1993-05-10 00:17:31 +00:00
Jim Blandy
ad163903cc * blockinput.h (UNBLOCK_INPUT): We cannot assume that SIGIO is
defined everywhere this file is #included; merge the two
	definitions for defined (SIGIO) and ! defined (SIGIO) into one,
	which calls reinvoke_input_signal if interrupt_input_pending is
	set.
	* keyboard.c (reinvoke_input_signal): New function.

	* keyboard.c (syms_of_keyboard): Doc fix for
	extra-keyboard-modifiers.
1993-05-10 00:17:08 +00:00
Jim Blandy
be269961dc * xdisp.c (display_text_line): Apply faces to characters according
to overlays and text properties; use compute_char_face to figure out
	what face to use, and where a new face starts.
	* xterm.c (dumpglyphs): Use the upper bits of the glyphs to decide
	which frame face to use.  Call GLYPH_FOLLOW_ALIASES to make sure
	we're implementing the glyph table properly.  If we're not using
	the default or mode line face, call intern_face to find a display
	face for the frame face selected by the glyph code.  Implement
	underlining.  Remove the `font' argument; we have to derive this
	from the frame and face anyway.  Change all callers.
	* disptab.h (GLYPH_FOLLOW_ALIASES): New macro.
1993-05-10 00:16:34 +00:00
Jim Blandy
88fd275e69 * dispextern.h (struct face): Add cached_index member.
* xfaces.c (get_cached_face): Use it to avoid unnecessary
	searches of face_vector.
1993-05-10 00:15:58 +00:00
Jim Blandy
783f85c7ae * config.h.in: Adjust this for use by autoconf's AC_CONFIG_HEADER,
instead of AC_OUTPUT.

	* config.h.in: Remove mention of GLYPH datatype; that shouldn't be
	a user option.
	* lisp.h (GLYPH, MAKE_GLYPH, GLYPH_CHAR, GLYPH_FACE): New macros.
1993-05-10 00:15:35 +00:00
Jim Blandy
b61982dd6e Arrange to tell redisplay about changes in overlays.
* xdisp.c (redisplay_region): New function.
	* buffer.c (Fmove_overlay): Call redisplay_region on the areas the
	overlay has enclosed or left.
	(Fdelete_overlay): Call redisplay_region on the area the overlay
	used to occupy.
	(Foverlay_put): Call redisplay_region on the area the overlay now
	occupies; we may have put a face property on it.

	* buffer.c (Fmove_overlay): Doc fix.
1993-05-10 00:15:02 +00:00
Jim Blandy
40a4095a69 * blockinput.h (UNBLOCK_INPUT): We cannot assume that SIGIO is
defined everywhere this file is #included; merge the two
	definitions for defined (SIGIO) and ! defined (SIGIO) into one,
	which calls reinvoke_input_signal if interrupt_input_pending is
	set.
	* keyboard.c (reinvoke_input_signal): New function.
1993-05-10 00:14:09 +00:00
Jim Blandy
d70fd7d6ee * Makefile.in (DEFS): Remove this; we have configure build a
config.h file directly, instead of having lots of -D flags.

	* Makefile.in (CFLAGS): Don't make this carry DEFS from the
	configure script; the coding standards say that CFLAGS should be
	left for the user to tweak.

	* Makefile.in (LN_S): New variable, edited by top Makefile.
	(SUBMAKEFILE): New variable, containing all flags to pass to
	recursive makes.
1993-05-10 00:13:32 +00:00
Jim Blandy
663258f2ff * keyboard.c (read_char): Exit kbd macro if Vexecuting_macro is t.
* keyboard.c (do_mouse_tracking): Now static.

	* keyboard.c (read_char_menu_prompt): Expect Fx_popup_menu
	to return a list of events.  Don't lose any of them.
1993-05-10 00:10:08 +00:00
Richard M. Stallman
1a6847b5bc [SCO]: Include time.h. 1993-05-09 04:26:46 +00:00
Richard M. Stallman
99e2d9a915 (Fx_get_mouse_event, Fx_mouse_events): Code deleted. 1993-05-08 16:29:04 +00:00
Richard M. Stallman
3a68f530fe (Vmouse_event): Var deleted.
(syms_of_window): Don't make it  Lisp var.
1993-05-08 16:28:36 +00:00
Richard M. Stallman
b04904fb2e (read_avail_input): If meta_key is 2, let 8 bits thru.
(Fset_input_mode): Set meta_key to 2 if META arg isn't t or nil.
1993-05-08 14:55:39 +00:00
Richard M. Stallman
8903221548 (x_get_arg): Call Fintern, not intern. 1993-05-07 02:55:22 +00:00
Jim Blandy
c3bd85dd5f *** empty log message *** 1993-05-06 19:02:36 +00:00
Jim Blandy
1c71e0ff95 Initial revision 1993-05-06 18:43:12 +00:00
Richard M. Stallman
56ad32e118 Comment change. 1993-05-06 18:41:14 +00:00
Richard M. Stallman
92381c7cc8 (main): Handle -display like -d. 1993-05-06 17:04:56 +00:00
Richard M. Stallman
6648f23a73 (Fdisplay_buffer): Add space to prompt. 1993-05-04 22:13:52 +00:00
Jim Blandy
d03f79ef75 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER, CHAR_SHIFT, CHAR_CTL,
CHAR_META): Shift these all up one bit, back to where they were.
1993-05-04 13:02:26 +00:00
Jim Blandy
dfeccd2d13 Implement extra_keyboard_modifiers properly.
* keyboard.c (syms_of_keyboard): Doc fix for
	extra-keyboard-modifiers; use the same modifier bits as we do for
	characters.
	(read_char): Apply all the modifiers in extra_keyboard_modifiers
	to the input characters, so you can get hyper, super, and the rest
	of the gang.
	* xterm.c (x_emacs_to_x_modifiers): New function.
	(x_convert_modifiers): Renamed to x_x_to_emacs_modifiers, for
	consistency.  Callers changed.
	(XTread_socket): Apply x_emacs_to_x_modifiers to
	extra_keyboard_modifiers before setting the state member of the
	event; this will get all the modifiers on ASCII characters.

	* xterm.c (x_text_icon): Don't call XSetIconName; it should be
	unnecessary, and perhaps it's killing the icon pixmap.
1993-05-04 02:44:42 +00:00
Jim Blandy
f80dc88865 Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>:
* s/mach2.h: copied from the Emacs 18.59 distribution.
	Don't define NO_REMAP, define START_FILES as
	`pre-crt0.o' instead.  Define LIB_MATH as `-lm', to override the
	default `-lm -lc' (there is no libc on the NeXT).
	* ymakefile (STARTFILES): Allow config.h to set this value even if
	ORDINARY_LINK is defined.
	* unexnext.c: Fix subdirectories for the machine dependent include
	files for NeXTStep 3.0; #include <mach/mach.h> and
	<mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
	(getsectbyname): Remove prototype for this; the system #include
	files take care of that.
	(malloc_cookie): New variable.
	(unexec_doit): Set malloc_cookie to the result returned by
	malloc_freezedry.
	* emacs.c (main): Declare malloc_cookie to be extern, so that we can
	get the value set when we dumped and pass it to malloc_jumpstart.
	* systime.h: The NeXT has a timezone function.
1993-05-04 02:44:16 +00:00
Jim Blandy
d82222e114 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
case we need them.
	* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
	shift_modifier, ctrl_modifier, meta_modifier): Define these in
	terms of the CHAR_mumble macros, to avoid having the same thing
	defined in two places.

	Make the modifier manipulation functions more robust.  The old way
	caused a bug once, and probably would again.
	* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
	shift_modifier, ctrl_modifier, meta_modifier): Shift these all
	down one bit in value, to avoid sign extension problems.
	* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
	* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
	what our table of modifier names can handle.
	(apply_modifiers): Don't abort if you see extra modifier bits,
	just remove them.
1993-05-04 02:39:39 +00:00
Jim Blandy
c2e4f49a68 * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
functions in sysdep.c.
	* sysdep.c (emacs_get_tty, emacs_set_tty): Here they are.
1993-05-04 02:39:05 +00:00
Jim Blandy
7f86bdacd5 * systime.h: Doc fix.
(EMACS_SET_USECS): Remember that a `usec' is a microsecond, not a
	millisecond.  What's three orders of magnitude between friends?
	* dispnew.c (Fsit_for, Fsleep_for): Remember to multiply the
	`milliseconds' argument by 1000 to get microseconds.

	Changes for Emacs 19 from Thorsten Ohl <ohl@chico.harvard.edu>:
	* s/mach2.h: copied from the Emacs 18.59 distribution.
	Don't define NO_REMAP, define START_FILES as
	`pre-crt0.o' instead.  Define LIB_MATH as `-lm', to override the
	default `-lm -lc' (there is no libc on the NeXT).
	* ymakefile (STARTFILES): Allow config.h to set this value even if
	ORDINARY_LINK is defined.
	* unexnext.c: Fix subdirectories for the machine dependent include
	files for NeXTStep 3.0; #include <mach/mach.h> and
	<mach-o/loader.h> instead of <mach.h> and <sys/loader.h>.
	(getsectbyname): Remove prototype for this; the system #include
	files take care of that.
	(malloc_cookie): New variable.
	(unexec_doit): Set malloc_cookie to the result returned by
	malloc_freezedry.
	* emacs.c (main): Declare malloc_cookie to be extern, so that we can
	get the value set when we dumped and pass it to malloc_jumpstart.
	* systime.h: The NeXT has a timezone function.
1993-05-04 02:36:45 +00:00
Jim Blandy
68936329c2 * systty.h (EMACS_GET_TTY, EMACS_SET_TTY): Move these into
functions in sysdep.c.
	* sysdep.c (emacs_get_tty, emacs_set_tty): Here they are.

	* sysdep.c (emacs_set_tty): Call tcsetattr over and over again
	until it does all of what we ask it to, or returns an error.
1993-05-04 02:36:03 +00:00
Jim Blandy
9a76659df2 * search.c (Freplace_match): Arrange for markers sitting at the
beginning or end of the original text to float to the
	corresponding position in the replacement text.
1993-05-04 02:35:38 +00:00
Jim Blandy
f42be754b2 Arrange for Fy_or_n_p to put off switch-frame events.
* lread.c (read_filtered_char): New function, which contains the
	code which used to be in Fread_char, Fread_event, and
	Fread_char_exclusive; there was a lot of common code.
	(Fread_char, Fread_event, Fread_char_exclusive): Rewrite in terms
	of read_filtered_char.
	* lisp.h (read_filtered_char): Declare this extern here.
	* fns.c (Fy_or_n_p): Call read_filtered_char, arranging to delay
	switch-frame events.
1993-05-04 02:35:01 +00:00
Jim Blandy
59b4254d59 * lisp.h (CHAR_ALT, CHAR_SUPER, CHAR_HYPER): New constants, in
case we need them.
	* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
	shift_modifier, ctrl_modifier, meta_modifier): Define these in
	terms of the CHAR_mumble macros, to avoid having the same thing
	defined in two places.

	Arrange for Fy_or_n_p to put off switch-frame events.
	* lread.c (read_filtered_char): New function, which contains the
	code which used to be in Fread_char, Fread_event, and
	Fread_char_exclusive; there was a lot of common code.
	(Fread_char, Fread_event, Fread_char_exclusive): Rewrite in terms
	of read_filtered_char.
	* lisp.h (read_filtered_char): Declare this extern here.
	* fns.c (Fy_or_n_p): Call read_filtered_char, arranging to delay
	switch-frame events.

	Make the modifier manipulation functions more robust.  The old way
	caused a bug once, and probably would again.
	* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
	shift_modifier, ctrl_modifier, meta_modifier): Shift these all
	down one bit in value, to avoid sign extension problems.
	* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
	* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
	what our table of modifier names can handle.
	(apply_modifiers): Don't abort if you see extra modifier bits,
	just remove them.

	* lisp.h (Qrange_error, Qdomain_error, Qsingularity_error,
	Qoverflow_error, Qunderflow_error): Add extern to these declarations.
1993-05-04 02:34:26 +00:00
Jim Blandy
cd8520b9d5 * keymap.c (Fdefine_prefix_command): Doc fix. 1993-05-04 02:33:19 +00:00
Jim Blandy
806451194b Implement extra_keyboard_modifiers properly.
* keyboard.c (syms_of_keyboard): Doc fix for
	extra-keyboard-modifiers; use the same modifier bits as we do for
	characters.
	(read_char): Apply all the modifiers in extra_keyboard_modifiers
	to the input characters, so you can get hyper, super, and the rest
	of the gang.
	* xterm.c (x_emacs_to_x_modifiers): New function.
	(x_convert_modifiers): Renamed to x_x_to_emacs_modifiers, for
	consistency.  Callers changed.
	(XTread_socket): Apply x_emacs_to_x_modifiers to
	extra_keyboard_modifiers before setting the state member of the
	event; this will get all the modifiers on ASCII characters.

	* keyboard.c (kbd_buffer_get_event): Don't generate switch-frame
	events if they'd only switch to the frame already selected.  This
	avoids lots of extra switch-frame events when using a separate
	minibuffer.

	* keyboard.c (Fcurrent_input_mode): New function.

	* keyboard.c (read_key_sequence): Let the `modifiers' variable in
	the code which deals with KEY being unbound be an int, not a
	Lisp_Object.

	Make the modifier manipulation functions more robust.  The old way
	caused a bug once, and probably would again.
	* termhooks.h (alt_modifier, super_modifier, hyper_modifier,
	shift_modifier, ctrl_modifier, meta_modifier): Shift these all
	down one bit in value, to avoid sign extension problems.
	* lisp.h (CHAR_META, CHAR_CTL, CHAR_SHIFT): Fix these definitions too.
	* keyboard.c (lispy_modifier_list): Ignore modifier bits beyond
	what our table of modifier names can handle.
	(apply_modifiers): Don't abort if you see extra modifier bits,
	just remove them.
1993-05-04 02:32:22 +00:00