1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-06 03:40:56 -08:00
Commit graph

9874 commits

Author SHA1 Message Date
Eli Zaretskii
ab39b7a5d5 (msdos_stdcolor_name, msdos_stdcolor_idx): Declare. 1999-07-30 08:11:41 +00:00
Eli Zaretskii
236027c963 Remove redundant declarations (most of them are now in
dispextern.h).
1999-07-30 08:08:43 +00:00
Eli Zaretskii
c77f6f1b96 (IT_set_face): Rewritten for the new redisplay engine.
Use default frame colors if the face doesn't specify them; invert
the colors if highlight is ON.
(IT_write_glyphs): Rewritten for the new redisplay engine.
(IT_change_line_highlight): Add (unused) parameter Y, since that's
how the hook is called by term.c.
(IT_copy_glyphs): New function, copies an area of the display in
video RAM.
(IT_insert_glyphs): Rewritten to DTRT instead of aborting, since
redisplay now calls it even if char_ins_del_ok is zero.
(IT_set_frame_parameters): Prototype changed.  Calls the new
load_color.  Puts the new fore/background colors into the default
face on current frame.
(IT_menu_display): Rewritten to handle the new struct glyph
instead of a char array.
(XMenuActivate): Call lookup_derived_face to create and use
special faces for the pop-up and drop-down menus.
1999-07-30 08:05:13 +00:00
Gerd Moellmann
eb3935300f (x_set_toolkit_scroll_bar_thumb): Fix previous change. 1999-07-29 15:09:42 +00:00
Eli Zaretskii
e2ee551e3b (getdefdir): Don't return failure indication when
_fixpath sets errno to ENOSYS.
1999-07-29 11:01:50 +00:00
Gerd Moellmann
7a5b8a934b (string_char_and_length): Fix previous change. 1999-07-28 19:46:05 +00:00
Gerd Moellmann
4fdb80f2a2 (string_char_and_length): New. Use it everywhere
instead of STRING_CHAR_AND_LENGTH in xdisp.c.
1999-07-28 18:05:44 +00:00
Kenichi Handa
87f0532f11 (concat): Fix previous change. 1999-07-28 02:37:17 +00:00
Kenichi Handa
2d6115c835 (count_combining): New function.
(struct textproc_rec): New structure.
(concat): Copy text properties correctly when byte combining
occurs.
1999-07-28 02:10:51 +00:00
Gerd Moellmann
be8a72f424 (prepare_face_for_display): Use FillOpaqueStippled instead of
FillStippled.
1999-07-27 23:55:58 +00:00
Gerd Moellmann
dcd08bfb64 (x_set_toolkit_scroll_bar_thumb): Don't call
XawScrollbarSetThumb if thumb parameters haven't changed because
that function apparently isn't optimized for this case.
1999-07-27 23:55:28 +00:00
Kenichi Handa
d27f8ca73b (x_find_ccl_program): Add casting. 1999-07-27 01:32:50 +00:00
Kenichi Handa
17eedd00d9 (w32_find_ccl_program): Add casting. 1999-07-27 01:32:10 +00:00
Gerd Moellmann
b9432a852b (x_setup_relief_color): Don't try smart color allocation
if display is mono.
(x_draw_row_bitmaps): If face has stipple, don't switch
to foreground color for clearing areas, and set the fill style.
1999-07-27 00:02:50 +00:00
Gerd Moellmann
d7bf0342f2 (x_create_tip_frame): Don't set bitmapIcon resource. 1999-07-27 00:02:17 +00:00
Gerd Moellmann
2891cf7aaa (struct glyph_row): Flag internal_border_p removed. 1999-07-27 00:01:46 +00:00
Markus Rost
1fffe87013 (Fgethash): Fix order of variables (patch by gerd).
(Fputhash): Ditto.
(Fremhash): Ditto.
1999-07-26 22:20:21 +00:00
Gerd Moellmann
1da3fd719e (x_get_glyph_string_clip_rect): Take internal border
into account for full-width windows.  Don't add scroll bar width
to width of clip rect.
(x_draw_glyph_string_box): Add 1 to right x of full width lines.
(x_set_glyph_string_background_width): Add 1 to background width.
(x_draw_glyphs): Take internal border into account for full-width
lines.
1999-07-26 21:23:07 +00:00
Gerd Moellmann
203ae5607e (EmacsFrameSetCharSize): Don't add XtNborderWidth
value to frame width and height.
1999-07-26 21:22:23 +00:00
Karl Heuer
51a1d2d86b (x_set_mouse_color): Always unload the old color.
Don't allow nil as color value.
(x_set_cursor_color, x_set_background_color, x_set_foreground_color):
Always unload the old color.
1999-07-26 19:09:56 +00:00
Karl Heuer
de4075cff3 (Fmove_to_column): Extend end of line only if FORCE is t. 1999-07-26 19:05:40 +00:00
Karl Heuer
2b8503eae9 (Fy_or_n_p): Doc fix. 1999-07-26 16:42:38 +00:00
Kenichi Handa
3545439c0b (w32_find_ccl_program): Get compiled CCL code by just
calling setup_coding_system.
1999-07-26 11:58:24 +00:00
Kenichi Handa
a42f54e697 (x_find_ccl_program): Get compiled CCL code by just
calling setup_coding_system.
1999-07-26 11:57:35 +00:00
Kenichi Handa
ef4ced281f (setup_coding_system): Get compiled CCL code by just
calling setup_coding_system.
1999-07-26 11:56:56 +00:00
Kenichi Handa
5232fa7b78 (ccl_driver) <CCL_Call>: Now CCL program ID to call may be
stored in the following CCL code.  Adjusted for the change of
Vccl_program_table.
(resolve_symbol_ccl_program): Adjusted for the new style of
embedded symbols (SYMBOL . PROP) in CCL compiled code.   Return Qt
is resolving failed.
(ccl_get_compiled_code): New function.
(setup_ccl_program): Function type changed from `void' to `int'.
Resolve symbols in CCL_PROG.
(Fccl_program_p): New function.
(Fccl_execute): Get compiled CCL code by just calling
setup_ccl_program.
(Fccl_execute_on_string): Likewise.
(Fregister_ccl_program): Adjusted for the change of
Vccl_program_table.
1999-07-26 11:56:28 +00:00
Kenichi Handa
e5e6d6fbaf (setup_ccl_program): The type is changed to `int'. 1999-07-26 11:55:53 +00:00
Gerd Moellmann
54c85a234b (get_next_display_element): Display DEL as `^?'. 1999-07-26 11:50:17 +00:00
Gerd Moellmann
d6fc0a2255 (load_face_colors): Load background color if setting
stipple, too.
1999-07-26 11:49:43 +00:00
Karl Heuer
25b332443f (Fsplit_window): For default size, round up for left window. 1999-07-23 08:37:26 +00:00
Karl Heuer
5df0b2faaf (lock_if_free): Return -1 if check_lock_owner()
has returned -1 (lockfile exists but is not a symlink?)
1999-07-22 00:41:21 +00:00
Gerd Moellmann
2327e4a0bc (NARROWPROTO): New. 1999-07-21 21:43:52 +00:00
Gerd Moellmann
e18f992255 (FONT_INFO_ID): Build an ID from a font_info pointer.
(FONT_INFO_FROM_ID): Get a font_info pointer from an ID.
(toplevel): Add extern declarations for Vfontset_alias_alist
and Vglobal_fontset_alist.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
18082e2d15 (make_frame): Set n_current_toolbar_items to 0.
(syms_of_frame_1): Add Qtoolbar_lines.
(make_frame): Initialize toolbar members.
(make_frame): Initialize toolbar_window.
(frame-initialize): Set frame-creation-function to
tty-create-frame-with-faces.
(make_terminal_frame): Call init_frame_faces
unconditionally.
(make_frame): Call set_window_buffer instead of
Fset_window_buffer.
(make_frame): Initialze face cache with null.
(make_frame): Initialize face_cache.
(Fdelete_frame): Free it.
(Fdelete_frame): Use xfree instead of free.
(set_menu_bar_lines): Ditto.
(Fmake_terminal_frame): Ditto.
(make_frame): Initialize menu_bar_window to nil.
(make_frame): Remove CURSOR_X/Y.
(set_menu_bar_lines): Adjust matrices.
(make_frame): Initialize pools.
(make_frame): initialize DECODE_MODE_SPEC_BUFFER.
(Fmake_terminal_frame): Adjust glyphs.
(Fdelete_frame): Free glyphs.
(make_frame): Initialize matrix fields in frame.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
3b83d6312c (FRAME_TOOLBAR_LINES): New.
(FRAME_TOP_MARGIN): New.
(struct frame): Add toolbar-related members.
(FRAME_WINDOW_WIDTH_ARG): Add bitmap area widths.
(CHECK_FRAME): Give this macro a C-statement form!
(CHECK_LIVE_FRAME): Ditto.
(FRAME_FACE_CACHE): New.
(struct frame): Add member face_cache.
(FRAME_FLAGS_AREA_COLS): New.
(FRAME_FLAGS_AREA_WIDTH): New.
(struct frame): New member menu_bar_window.
(struct frame): Add trunc_area_pixel_width, and _cols.
(struct frame): Cursor-related stuff removed.
(FRAME_SCROLL_BAR_WIDTH): Removed.
(FRAME_WINDOW_WIDTH_ARG): Don't add scroll bar width.
(FRAME_CURSOR_X): Removed.
(FRAME_CURSOR_Y): Ditto.
(struct frame): Remove old glyphs, add new.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
8720a429d9 (Fvertical_motion): Rewritten. 1999-07-21 21:43:52 +00:00
Gerd Moellmann
04e209dc56 (ctagsfiles): Split so that files starting
with an `x' are found before files starting with `w32'.
(ctagsfiles1): New.
(ctagsfiles2): New.
(TAGS): Use ctagsfiles[12] instead of ctagsfiles.
Add PNG library.
(obj): Add sound.o.
(LIBW): Use Xaw3d if present.
(LIBTIFF): Added.
(LIBJPEG): Added.
(LIBXPM): If not already defined, define to -lXpm.
(LIBX)[HAVE_X11]: Add LIBXPM.
(term.o): Add dependency on dispextern.h.
(alloc.o): Add dependency to dispextern.h.
(window.o): Depends on dispextern.h.
(alloc.o): Add dependency dispextern.h.
(window.o): Add dependency window.c -> dispextern.h
(term.o): term.c depends on dispextern.h
1999-07-21 21:43:52 +00:00
Gerd Moellmann
d3c92eee39 (toplevel): Add function prototypes. 1999-07-21 21:43:52 +00:00
Gerd Moellmann
2e9f55fde2 (prepare_to_modify_buffer): Set windows_or_buffers_changed,
(del_range_1) [PROMPT_IN_BUFFER]: If start position
is less than mini-buffer prompt width, use prompt width as start.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
41c28a3753 (gc_sweep): Call sweep_weak_hash_tables.
(survives_gc_p): New.
(mark_object): Mark objects referenced from glyphs, hash tables,
toolbar date, toolbar window, face caches, menu bar window.
Mark windows specially.
(Fgarbage_collect): Use message3_nolog.
(mark_face_cache): New.
(NSTATICS): Increased to 1024.
(mark_glyph_matrix): New.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
ecfd95532d Add function prototypes. 1999-07-21 21:43:52 +00:00
Gerd Moellmann
7ee32cda42 (read_char): Use message3_nolog to show help-echo.
(make_lispy_event) <TOOLBAR_EVENT>: Apply modifiers.
(kbd_store_ptr): Declare it as a volatile pointer
instead of a pointer to a volatile input_event.
(kbd_buffer_store_event): Remove volatile modifier from
declaration of local variable `sp'.
(Fdiscard_input): Don't cast when assigning kbd_store_ptr
to kbd_fetch_ptr.
(make_lispy_event): Handle mouse on top lines.
(make_lispy_movement): Ditto.
(read_char): Rename local variable echo_area_message
because it shadows the global one.
(cmd_error_internal): Set echo_areA_message.
(command_loop_1): Test echo_areA_message.
(read_char): Ditto.
(record_menu_key): Set echo_area_message to nil.
(Fexecute_extended_command): Test echo_area_message.
(Fexecute_extended_command): Handle echo_area_message.
(toolbar_items): Call access_keymap with third
parameter 1, so that we don't get inherited toolbar item
definitions.
 Ditto.
(kbd_buffer_get_event): Set flag to prevent recording
TOOLBAR_EVENT events in last_nonmenu_event.
(timer_check): Inhibit busy cursor around calls to
timer-event-handler.  This busy cursor tends to be anoying if
fontifying stealthily.
(command_loop_1): Display busy cursor.
(Vshow_help_function): New.
(read_char): Use it.
(make_lispy_event): Add string and string position
info to mouse-click events.
(read_key_sequence): Handle `local-map' property of mode line
strings.
(Qend_scroll): New.
(scroll_bar_parts): Add it.
(scroll_bar_parts): Add Qtop and Qbottom.
(syms_of_keyboard): Add Qbottom.
(make_lispy_event): Handle scroll_bar_click
differently when using toolkit scroll bars.
(cmd_error_internal): Bug fix.
(syms_of_keyboard): Staticpro toolbar_item_properties
and toolbar_items_vectors.
(Qhelp_echo): New symbol.
(read_char): Handle `toolbar' and `help_echo' events.
(kbd_buffer_get_event): Handle HELP_ECHO input event.
(make_lispy_event): Handle TOOLBAR_EVENT.
(toolbar_items): New.
(process_toolbar_item): New.
(PROP): New.
(init_toolbar_items): New.
(append_toolbar_item): New.
(read_char_x_menu_prompt): Handle `toolbar' event.
(read_key_sequence): Ditto.
(syms_of_keyboard): Intern `:help'.
(toolbar_items): New.
(process_toolbar_item): New.
(parse_toolbar_item): New.
(init_toolbar_items): New.
(append_toolbar_item): New.
(detect_input_pending_run_timers): Likewise.
(detect_input_pending_run_timers): Call gobble_input
after redisplaying.
(clear_waiting_for_input): Return void.
(record_asynch_buffer_change): Return void.
(stop_polling): Return void.
(start_polling): Ditto.
(cmd_error_internal): Write to stderr if selected
frame is Vterminal_frame under X.  This is the case when a font
cannot be loaded when Emacs starts.  Replace test for
FRAME_MESSAGE_BUF with test for glyphs_initialized_p.
(quit_throw_to_read_char): Ditto.
(make_lispy_event): mouse clicks; don't do frame
glyph position calculations.
(make_lispy_movement): Use buffer_posn_from_coords and window
relative coordinates.
(make_lispy_event): For mouse clicks, use
x_y_to_hpos_vpos.
(make_lispy_event): Use BUFFER_POSN_FROM_COORDS
with window relative pixel coordinates.  Use GLYPH_TO_PIXEL_-
COORDS mit new arguments.
(make_lispy_event): WINDOW_FROM_COORDINATES with
pixel coords.
(make_lispy_movement): Same.
(interrupt_signal): Cursor_to with 4 params.
(command_loop_1): Call DIRECT_OUTPUT_FOR_INSERT
for any character.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
0552666bc1 (init_buffer_once): Init top_line_format.
(default-top-line-format): New.
(top-line-format): New buffer-local variable.
(init_buffer_once): Set buffer_local_flags for
scroll_*_aggressively.
(syms_of_buffer): Add DEFVAR_PER_BUFFER for scroll-*-aggressively.
(init_buffer_once): Set defaults for these variables.
(syms_of_buffer): Add default-scroll-*-aggressively.
(indicate-empty-lines): New.
(default-indicate-zv-lines): Likewise.
(init_buffer_once): Add default for `indicate-zv-lines'.
(init_buffer_once): New variable `default-indicate-zv-lines'.
(syms_of_buffer): New buffer-local varianle `indicate-zv-lines'.
(init_buffer_once): Add left_margin_width and
right_margin_width to buffer_local_flags.
(syms_of_buffer): Add buffer-local variables
left-margin-width and right-margin-width.  Add defaults
default-left-margin-width and default-right-margin-width.
(record_buffer): Return void.
(record_asynch_buffer_change): Return void.
(Fget_buffer_create): Initialize minibuffer_prompt_length.
(Fmake_indirect_buffer): Ditto.
(Fkill_buffer): Ditto.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
6e0adcfa04 (POSN_STRING): New. 1999-07-21 21:43:52 +00:00
Gerd Moellmann
2d8c80b12e Add top_line_format.
(scroll_up_aggressively): New.
(scroll_down_aggressively):  New.
(struct buffer): indicate_empty_lines renamed from
indicate_zv_lines.
(struct buffer): New member indicate_zv_lines.
(struct buffer): New members left_margin_width
and right_margin_width.
(struct buffer): Add member minibuffer_prompt_length
if PROMPT_IN_BUFFER.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
5e6d549314 (Fmessage): Use message3.
(Fcurrent_message): If echo_area_message is set,
return a substring of that string.
(Fformat): Add text properties to the result string
from properties of the format string and properties of string
arguments.
(make_buffer_string_both) [PROMPT_IN_BUFFER]: Prevent start > end.
(make_buffer_string) [PROMPT_IN_BUFFER]: If start
position is less than mini-buffer prompt width, use the prompt
width as start.
(make_buffer_string) [PROMPT_IN_BUFFER): Add prompt
length to start position.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
5010d3b802 (P_): Moved to top of file.
(struct Lisp_Hash_Table): New.
(GC_HASH_TABLE_P): New.
(PVEC_HASH_TABLE): New.
(struct Lisp_Hash_Table): New.
(XHASH_TABLE): New.
(XSET_HASH_TABLE): New.
(HASH_TABLE_P): New.
(CHECK_HASH_TABLE): New.
(DEFAULT_HASH_SIZE): New.
(DEFAULT_REHASH_THRESHOLD): New.
(DEFAULT_REHASH_SIZE): New.
(HAVE_FACES): Removed.
(MAKE_GLYPH): Remove test for frame type.
(GLYPH_CHAR): Ditto.
(GLYPH_FACE): Ditto.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
3dc9587ac1 (CHAR_LEN): Moved here from dispextern.h. 1999-07-21 21:43:52 +00:00
Gerd Moellmann
f69f3ee03b (Fbeginning_of_line) [PROMPT_IN_BUFFER]: Set point to
end of prompt if applied to a mini-buffer and BEG reached.
1999-07-21 21:43:52 +00:00
Gerd Moellmann
279cf52c7f (read_minibuf): Reset echo message strings to nil.
(Fminibuffer_completion_help): Ditto.
(Fminibuffer_complete_word): Fix computation of
i_byte when prompts are inserted into minibuffers.
(read_minibuf): Use minibuf_prompt instead of prompt.
(read_minibuf): Add front-sticky text property for prompt.
(read_minibuf_unwind): Return Lisp_Object.
(read_minibuf): Put access to minibuffer_prompt_length
in #if PROMPT_IN_BUFFER.
(minibuffer-prompt-in-buffer): Bound if
PROMPT_IN_BUFFER.
(read_minibuf): Save the value of
minibuffer_prompt_length in minibuf_save_list.
(read_minibuf_unwind): Restore minibuffer_prompt_length.
(Fminibuffer_prompt_width): Return value from
current_buffer if PROMPT_IN_BUFFER.
(read_minibuf): If PROMPT_IN_BUFFER, insert prompt into
mini-buffer and make it read-only.
(Fminibuffer_complete_and_exit): If PROMPT_IN_BUFFER, use
minibuffer_prompt_length instead of BEGV.
(Fminibuffer_complete_word): Ditto.
(Fminibuffer_complete_word): Ditto.
(read_minibuf): Conditionally insert prompt into
buffer instead of handling prompts specially.  Change other
functions accordingly.  All such code is in #if PROMPT_IN_BUFFER.
(read_minibuf): Set MUST_BE_UPDATED_P instead of
building frame matrix.
(read_minibuf): FRAME_LEFT_SCROLL_BAR_WIDTH removed.
(read_minibuf): Build frame matrix.
1999-07-21 21:43:52 +00:00