aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKim F. Storm2004-01-16 18:39:56 +0000
committerKim F. Storm2004-01-16 18:39:56 +0000
commit77a9cf6944630e8b45d48431f9bd3fb17311cdc7 (patch)
treec1c1912767b00619bb3a2a42574416ebf198977f /src
parent557be0363496d5ab9aa546da9b409e6b90ecab6a (diff)
downloademacs-77a9cf6944630e8b45d48431f9bd3fb17311cdc7.tar.gz
emacs-77a9cf6944630e8b45d48431f9bd3fb17311cdc7.zip
Add cursor in fringe support.
Add buffer boundary and scrolling indications.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog82
1 files changed, 82 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 147ba58dd69..199a7271039 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,85 @@
12004-01-16 Kim F. Storm <storm@cua.dk>
2
3 * buffer.h (struct buffer): New member indicate_buffer_boundaries.
4
5 * buffer.c (init_buffer_once): Set buffer_defaults and
6 buffer_local_flags for indicate_buffer_boundaries.
7 (syms_of_buffer): Defvar_per_buffer it, and defvar_lisp_nopro
8 default- variable for it.
9
10 * dispextern.h (struct glyph_row): New members left_fringe_bitmap,
11 right_fringe_bitmap, redraw_fringe_bitmaps_p for new fringe handling.
12 New members exact_window_width_line_p and cursor_in_fringe_p for
13 overflowing newlines into right fringe.
14 New members indicate_bob_p, indicate_top_line_p, indicate_eob_p,
15 and indicate_bottom_line_p for buffer boundaries and scrolling.
16 (enum fringe_bitmap_type): Add UP_ARROW_BITMAP, DOWN_ARROW_BITMAP,
17 FIRST_LINE_BITMAP, LAST_LINE_BITMAP, FILLED_BOX_CURSOR_BITMAP,
18 HOLLOW_BOX_CURSOR_BITMAP, BAR_CURSOR_BITMAP, HBAR_CURSOR_BITMAP,
19 and HOLLOW_SQUARE_BITMAP.
20 (draw_fringe_bitmap, draw_window_fringes, update_window_fringes):
21 Add prototypes.
22
23 * dispnew.c (row_equal_p, update_window_line): Compare fringe bitmaps
24 instead of related indicator fields.
25 Compare exact_window_width_line_p and cursor_in_mouse_face_p indicators.
26 (direct_output_for_insert): Handle exact width lines like
27 contined lines. Call update_window_fringes.
28 (update_window): Call update_window_fringes.
29 (scrolling_window): Don't skip desired rows with changed bitmaps.
30 Check if fringe bitmaps changes when assigning scrolled rows.
31
32 * xdisp.c (Voverflow_newline_into_fringe): New variable.
33 (IT_OVERFLOW_NEWLINE_INTO_FRINGE): New macro.
34 (move_it_in_display_line_to): Overflow newline into fringe for
35 rows that are exactly as wide as the window.
36 (up_arrow_bits, down_arrow_bits, first_line_bits, last_line_bits)
37 (filled_box_cursor_bits, hollow_box_cursor_bits, bar_cursor_bits)
38 (hbar_cursor_bits, hollow_square_bits): New fringe bitmaps.
39 (fringe_bitmaps): Add new bitmaps.
40 (draw_fringe_bitmap): Make extern. Remove WHICH arg.
41 Select proper bitmap for cursor in fringe when appropriate.
42 Handle alignment of bitmap to top or bottom of row.
43 (draw_row_fringe_bitmaps): Don't select bitmaps here; that is now
44 done by update_window_fringes.
45 (update_window_fringes, draw_window_fringes): New functions.
46 (redisplay_internal): Call update_window_fringes in case only
47 cursor row is updated.
48 (redisplay_window): Call update_window_fringes.
49 Explicitly call draw_window_fringes if redisplay was done using
50 the current matrix or the overlay arrow is in the window.
51 (try_window_reusing_current_matrix): Mark scrolled rows for
52 fringe update (to update buffer-boundaries / scrolling icons).
53 (find_last_unchanged_at_beg_row): Handle exact width lines line
54 continued lines.
55 (display_line): Overflow newline into fringe for rows that are
56 exactly as wide as the window. Don't append space for newline
57 in this case.
58 (notice_overwritten_cursor): Explicitly clear cursor bitmap
59 in fringe as if it had been overwritten.
60 (erase_phys_cursor): Erase cursor bitmap in fringe.
61 (syms_of_xdisp): Mark show-trailing-whitespace and
62 void-text-area-pointer as user options.
63 DEFVAR_LISP Voverflow_newline_into_fringe. Enable by default.
64
65 * xterm.c (x_update_window_end): Call draw_window_fringes.
66 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
67 in row instead of actually drawing fringe bitmaps.
68 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
69 (x_draw_window_cursor): Draw cursor in fringe.
70
71 * w32term.c (x_update_window_end): Call draw_window_fringes.
72 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
73 in row instead of actually drawing fringe bitmaps.
74 (w32_draw_fringe_bitmap): Handle bottom aligned bitmaps.
75 (w32_draw_window_cursor): Draw cursor in fringe.
76
77 * macterm.c (x_update_window_end): Call draw_window_fringes.
78 (x_after_update_window_line): Just set redraw_fringe_bitmaps_p
79 in row instead of actually drawing fringe bitmaps.
80 (x_draw_fringe_bitmap): Handle bottom aligned bitmaps.
81 (mac_draw_window_cursor): Draw cursor in fringe.
82
12004-01-16 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 832004-01-16 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2 84
3 * xterm.c (handle_one_xevent): Don't handle characters that are part 85 * xterm.c (handle_one_xevent): Don't handle characters that are part