aboutsummaryrefslogtreecommitdiffstats
path: root/src/xdisp.c
Commit message (Collapse)AuthorAgeFilesLines
* (echo_area_display): Use XFASTINT on ->height.Richard M. Stallman1993-06-121-7/+12
| | | | (copy_rope, copy_part_of_rope): Access *f as Lisp_Object.
* * xdisp.c (redisplay_window): Don't call try_window_id if theJim Blandy1993-06-111-0/+2
| | | | window isn't starting at the beginning of the line.
* * xdisp.c (display_text_line): Handle case where line ends in aJim Blandy1993-06-091-5/+11
| | | | | continuation character but we never actually displayed any buffer text (due to minibuffer prompt).
* (redisplay, echo_area_display): Use redraw_garbaged_frames.Richard M. Stallman1993-06-061-2/+2
|
* (display_text_line): Really check for just the selected window.Richard M. Stallman1993-05-291-1/+1
|
* (syms_of_xdisp): Make highlight-nonselected-windows Lisp var.Richard M. Stallman1993-05-291-2/+10
| | | | (display_text_line): Obey it.
* (display_text_line): Don't call compute_char_face for a non-X frame.Richard M. Stallman1993-05-271-1/+1
|
* (display_text_line): Highlight in any frame's sel window.Richard M. Stallman1993-05-221-1/+3
| | | | (display_text_line): Highlight only in selected window.
* Fix the fix to scrollbar computaaFix the fix to the fix for scrollbar ↵Jim Blandy1993-05-201-3/+3
| | | | computation.
* * xdisp.c (redisplay_window): Compute the scrollbar start and endJim Blandy1993-05-191-2/+2
| | | | properly.
* * xdisp.c (display_text_line): If the newline (or C-m, inJim Blandy1993-05-191-0/+14
| | | | | selective-display) has a non-default face, apply that face to the remainder of the line, so that the fill occupies the entire line.
* * xdisp.c (redisplay_window): Make the scrollbar reflect theJim Blandy1993-05-181-1/+9
| | | | extent of the visible region, not the whole buffer.
* (mark_window_display_accurate): Set region_showing fields.Richard M. Stallman1993-05-171-6/+78
| | | | | | | | | | | | | | | | | (redisplay_window): Update region_showing field. (display_text_line): Set region_showing to t if will show one. (mark_window_display_accurate): Set region_showing fields. (redisplay_window): Update region_showing field. (display_text_line): Set region_showing to t if will show one. (redisplay, redisplay_window): Don't use the cursor-motion special-case code if the region is or was highlighted. (display_text_line): Pass those args, describing the region if the mark is transient and active. (display_menu_bar): Update FRAME_MENU_BAR_ITEMS here.
* * xdisp.c (copy_rope, copy_part_of_rope): Add face argument.Jim Blandy1993-05-131-65/+40
| | | | | | | | | (display_text_line): Initialize current_face to zero. Apply it to characters as we write them to the display matrix. (display_string): Pass the new argument to copy_rope. * xdisp.c (display_text_line): Handle the locations of face changes properly.
* (display_text_line): Use break; to exit loop at eol.Richard M. Stallman1993-05-131-22/+46
| | | | | | 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 *.
* * xdisp.c (display_text_line): Make face-handling code conditionalJim Blandy1993-05-111-2/+5
| | | | | | | | | | | 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.
* Arrange to tell redisplay about changes in overlays.Jim Blandy1993-05-101-15/+134
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* (message, message1): If noninteractive andRichard M. Stallman1993-04-131-2/+6
| | | | cursor_in_echo_area, don't print a newline at end of message.
* (display_string, display_text_line): Allow tab_width up to 1000.Richard M. Stallman1993-03-231-2/+2
|
* (decode_mode_spec): Handle `%l'.Richard M. Stallman1993-03-211-6/+159
| | | | | | (display_count_lines): New function. (redisplay_window): Update base_line_number and base_line_pos fields. Always update mode line if it's an integer.
* * frame.h (FOR_EACH_FRAME): Change the definition so thatJim Blandy1993-03-181-7/+7
| | | | | | | | | | | FRAME_VAR is a lisp object. * dispnew.c (WINDOW_CHANGE_SIGNAL, do_pending_window_change): Adjusted appropriately. * xdisp.c (redisplay): Adjusted appropriately. * dispnew.c (Fredraw_frame): Give this appropriate definitions for MULTI_FRAME and non-MULTI_FRAME configurations. (Fredraw_display): Give this a non-MULTI_FRAME-dependent definition.
* (display_menu_bar): Assume FRAME_MENU_BAR_ITEMS already set.Richard M. Stallman1993-03-151-5/+14
| | | | | Fill out line with spaces. Put explicit spaces between items.
* (display_menu_bar): New function.Richard M. Stallman1993-03-121-0/+45
| | | | (redisplay_window): Call display_menu_bar.
* (copy_rope): Expect FROM to be a vector.Richard M. Stallman1993-03-081-21/+44
| | | | | (copy_part_of_rope): New function. (display_string): Expect display table elts to be vectors.
* * xdisp.c (redisplay): Protect calls to request_sigio andJim Blandy1993-03-021-20/+20
| | | | | | | | | unrequest_sigio in "#ifdef SIGIO" clauses; these are not defined Use the term `scroll bar', instead of `scrollbar'. * alloc.c, frame.c, frame.h, indent.c, keyboard.c, keyboard.h, lisp.h, term.c, termhooks.h, window.c, window.h, xdisp.c, xfns.c, xterm.c, xterm.h: Terminology changed.
* * xdisp.c (message): Set echo_frame to the frame whose message bufJim Blandy1993-02-141-23/+37
| | | | | | | | we want to use, not to the message buf itself. * xdisp.c (message): Use the message buffer of the frame we're going to display the message on to format the message, not that of the selected frame.
* * window.c (window_internal_width): New function, which accountsJim Blandy1993-01-141-39/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for scrollbars if present. * lisp.h (window_internal_height, window_internal_width): Add extern declarations for these. * dispnew.c (direct_output_for_insert, direct_output_forward_char, buffer_posn_from_coords): Use window_internal_width instead of writing out its definition. * indent.c (compute_motion): Doc fix; mention scrollbars and window_internal_width. (pos_tab_offset, Fvertical_motion): Use window_internal_width instead of writing it out. * window.c (Fpos_visible_in_window_p, Fwindow_width, Fscroll_left, Fscroll_right): Same. * xdisp.c (redisplay, try_window, try_window_id, display_text_line): Same. * xdisp.c (display_string): Add new variable `f', to be W's frame. Use it to set desired_glyphs, and to get the frame's width to decide whether or not to draw vertical bars. * xdisp.c (display_text_line): If we're using vertical scrollbars, don't draw the vertical bars separating side-by-side windows. (display_string): Same thing. Draw spaces to fill in the part of the mode line that is under the scrollbar in partial-width windows. * xdisp.c (display_text_line): Use the usable internal width of the window, as calculated above, as the limit on the length of the overlay arrow's image, rather than using the window's width field, less one. * xdisp.c (redisplay): Call condemn_scrollbars_hook and judge_scrollbars_hook whenever they are set, not just when the frame has vertical scrollbars. * termhooks.h (mouse_position_hook): Doc fix. (set_vertical_scrollbar_hook): This doesn't return anything any more, and doesn't take a struct scrollbar * argument any more. (condemn_scrollbars_hook, redeem_scrollbar_hook, judge_scrollbars_hook): Doc fixes. * term.c (mouse_position_hook): Doc fix. (set_vertical_scrollbar_hook): This doesn't return anything any more. Doc fixes. * keyboard.c (kbd_buffer_get_event): Receive the scrollbar's window from *mouse_position_hook and pass it to make_lispy_movement, instead of working with a pointer to a struct scrollbar. (make_lispy_event): We don't need a window_from_scrollbar function anymore; we are given the window directly in *EVENT. Unify the code which generates text-area mouse clicks and scrollbar clicks; use the same code to distinguish clicks from drags on the scrollbar as in the text area. Distinguish clicks from drags by storing a copy of the lispy position list returned as part of the event. (button_down_location): Make this a lisp vector, rather than an array of random structures. (struct mouse_position): Remove this; it's been replaced by a lisp list. (make_lispy_movement): Accept the scrollbar's window as a parameter, rather than the scrollbar itself. If FRAME is zero, assume that the other arguments are garbage. (syms_of_keyboard): No need to staticpro each window of button_down_location now; just initialize and staticpro it. * window.c (window_from_scrollbar): Function deleted; no longer needed. * xdisp.c (redisplay_window): Just pass the window to set_vertical_scrollbar hook; don't pass the scrollbar object too. * xterm.c (XTmouse_position): Don't return a pointer to the scrollbar for scrollbar motion; instead, return the scrollbar's window. * xdisp.c (echo_area_display): Move the assignment of f and the check for visibility out of the "#ifdef MULTI_FRAME" clause; they should work under any circumstances. * xdisp.c (redisplay_window): If we're not going to redisplay this window because it's a minibuffer whose contents have already been updated, go ahead and jump to the scrollbar refreshing code anyway; they still need to be updated. Initialize opoint, so it's known to be valid when we jump. Calculate the scrollbar settings properly for minibuffers, no matter what they are displaying at the time. * xdisp.c (redisplay_windows): Don't restore the current buffer and its point before refreshing the scrollbars; we need the buffer accurate.
* * xdisp.c: #include "termhooks.h".Jim Blandy1992-12-241-6/+37
| | | | | | | | | | | | | | | | | | | | | | | | | (redisplay, redisplay_window): Use set_vertical_scrollbar_hook, condemn_scrollbars_hook, redeem_scrollbar_hook, and judge_scrollbars_hook to make scrollbars redisplay properly. 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.
* * xdisp.c (redisplay): Call FRAME_SAMPLE_VISIBILITY to set theJim Blandy1992-12-061-18/+18
| | | | | | | | | | | | | | | | | visible and iconified flags appropriately for each frame. (message1): Call FRAME_SAMPLE_VISIBILITY to set the visible and iconified flags for the minibuffer frame. * xdisp.c (redisplay): Use FOR_EACH_FRAME to apply redisplay_windows to the root window of each frame. This makes a #ifdef MULTI_FRAME unneeded, but it also means we recompute buffer_shared from scratch even on non-MULTI_FRAME configurations. Don't skip elements of Vframe_list that aren't frames; go ahead and crash here. * xdisp.c (redisplay): Remove #ifdef MULTI_FRAME around the code which updates separate minibuffer frames specially; there's nothing there that won't work on a single-frame configuration.
* * xdisp.c (display_string): Use w's buffer's value ofJim Blandy1992-11-161-1/+1
| | | | | tab-width to display the string, instead of the current buffer's, which could be anything.
* * xdisp.c (redisplay): Use ! EQ to compare the old and new arrowJim Blandy1992-10-311-57/+48
| | | | | | | | | | | | | | positions, not !=. (mark_window_display_accurate): Barf if WINDOW isn't a window. (display_string): Test buffer_defaults.ctl_arrow using NILP, instead of comparing it with zero. * xdisp.c (last_arrow_position, last_arrow_string): Make these static. * xdisp.c (message): Re-write this in terms of message1. (message1): Move code to clear out echo_area_glyphs and previous_echo_glyphs from message to here.
* * xdisp.c (message): If M is zero, clear echo_area_glyphs andJim Blandy1992-10-191-19/+27
| | | | previous_echo_glyphs, so that the minibuffer shows through.
* * xdisp.c (display_mode_line): If the only other frames areJim Blandy1992-09-131-4/+11
| | | | | minibuffer frames, don't name the frame after the in the selected window. We can use Fnext_frame to do this test easily.
* * xdisp.c (display_mode_line): Use x_implicitly_set_name here.Jim Blandy1992-08-191-7/+9
| | | | | | | | * xdisp.c (redisplay, init_xdisp): Use FRAME_ROOT_WINDOW instead of minibuf_window->prev. * xdisp.c (decode_mode_spec): Move lots_of_dashes outside of the function; Emacs can't use static initialized arrays inside functions.
* * xdisp.c (FRAME_IS_TERMCAP, FRAME_IS_X, FRAME_HAS_MINIBUF):Jim Blandy1992-08-121-1/+1
| | | | | | Renamed these to FRAME_TERMCAP_P, FRAME_X_P, and FRAME_HAS_MINIBUF_P, for consistency with the rest of the frame macros.
* entered into RCSJim Blandy1992-07-211-4/+5
|
* *** empty log message ***Jim Blandy1992-07-211-2/+13
|
* *** empty log message ***Richard M. Stallman1992-07-151-1/+1
|
* *** empty log message ***Jim Blandy1992-07-141-176/+176
|
* *** empty log message ***Jim Blandy1992-06-301-31/+3
|
* *** empty log message ***Jim Blandy1992-06-241-0/+12
|
* *** empty log message ***Jim Blandy1992-03-181-4/+0
|
* *** empty log message ***Jim Blandy1992-03-121-2/+3
|
* *** empty log message ***Jim Blandy1992-02-031-1/+13
|
* *** empty log message ***Jim Blandy1992-01-131-36/+38
|
* *** empty log message ***Jim Blandy1991-11-161-57/+66
|
* *** empty log message ***Jim Blandy1991-08-021-1/+4
|
* *** empty log message ***Jim Blandy1991-07-311-19/+57
|
* *** empty log message ***Jim Blandy1991-07-151-3/+10
|
* *** empty log message ***Jim Blandy1991-06-261-2/+2
|