| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
(copy_rope, copy_part_of_rope): Access *f as Lisp_Object.
|
|
|
|
| |
window isn't starting at the beginning of the line.
|
|
|
|
|
| |
continuation character but we never actually displayed any buffer
text (due to minibuffer prompt).
|
| |
|
| |
|
|
|
|
| |
(display_text_line): Obey it.
|
| |
|
|
|
|
| |
(display_text_line): Highlight only in selected window.
|
|
|
|
| |
computation.
|
|
|
|
| |
properly.
|
|
|
|
|
| |
selective-display) has a non-default face, apply that face to the
remainder of the line, so that the fill occupies the entire line.
|
|
|
|
| |
extent of the visible region, not the whole buffer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
|
| |
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 *.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
| |
cursor_in_echo_area, don't print a newline at end of message.
|
| |
|
|
|
|
|
|
| |
(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_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.
|
|
|
|
|
| |
Fill out line with spaces.
Put explicit spaces between items.
|
|
|
|
| |
(redisplay_window): Call display_menu_bar.
|
|
|
|
|
| |
(copy_part_of_rope): New function.
(display_string): Expect display table elts to be vectors.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
tab-width to display the string, instead of the current buffer's,
which could be anything.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
previous_echo_glyphs, so that the minibuffer shows through.
|
|
|
|
|
| |
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 (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.
|
|
|
|
|
|
| |
Renamed these to FRAME_TERMCAP_P, FRAME_X_P, and
FRAME_HAS_MINIBUF_P, for consistency with the rest of the
frame macros.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|