]> git.eshelyaron.com Git - emacs.git/commitdiff
*** empty log message ***
authorKim F. Storm <storm@cua.dk>
Sun, 8 Feb 2004 23:32:37 +0000 (23:32 +0000)
committerKim F. Storm <storm@cua.dk>
Sun, 8 Feb 2004 23:32:37 +0000 (23:32 +0000)
lisp/ChangeLog
src/ChangeLog

index e23c6edb6597b91d17778852ec2601c47ce033c8..6f13916f6f9a82ab027dd30550c1a463cfb21a0c 100644 (file)
@@ -1,3 +1,17 @@
+2004-02-09  Kim F. Storm  <storm@cua.dk>
+
+       * fringe.el (no-fringe-bitmap, undef-fringe-bitmap)
+       (left-truncation-fringe-bitmap, right-truncation-fringe-bitmap)
+       (up-arrow-fringe-bitmap, down-arrow-fringe-bitmap)
+       (continued-line-fringe-bitmap, continuation-line-fringe-bitmap)
+       (overlay-arrow-fringe-bitmap, top-left-angle-fringe-bitmap)
+       (top-right-angle-fringe-bitmap, bottom-left-angle-fringe-bitmap)
+       (bottom-right-angle-fringe-bitmap, left-bracket-fringe-bitmap)
+       (right-bracket-fringe-bitmap, filled-box-cursor-fringe-bitmap)
+       (hollow-box-cursor-fringe-bitmap, hollow-square-fringe-bitmap)
+       (bar-cursor-fringe-bitmap, hbar-cursor-fringe-bitmap)
+       (empty-line-fringe-bitmap): Define standard fringe bitmaps id's.
+       
 2004-02-08  Andreas Schwab  <schwab@suse.de>
 
        * textmodes/reftex-toc.el
index 3cd8ce0f6547e7c682928879bfcb682b296eb587..8dc207be8ce218890fc012da06f9af2cef16c3a4 100644 (file)
@@ -1,3 +1,108 @@
+2004-02-09  Kim F. Storm  <storm@cua.dk>
+
+       * fringe.c: New file.  Move original fringe related declarations
+       and code from dispextern.h and xdisp.c here.
+       Rework code to support user defined fringe bitmaps, redefining
+       standard bitmaps, ability to overlay user defined bitmap with
+       overlay arrow bitmap, and add faces to bitmaps.
+       (Voverflow_newline_into_fringe): Declare here.
+       (enum fringe_bitmap_align): New enum.
+       (..._bits): All bitmaps are now defined without bitswapping; that
+       is now done in init_fringe_once (if necessary).
+       (standard_bitmaps): New array with specifications for the
+       standard fringe bitmaps.
+       (fringe_faces): New array.
+       (valid_fringe_bitmap_id_p): New function.
+       (draw_fringe_bitmap_1): Rename from draw_fringe_bitmap.
+       (draw_fringe_bitmap): New function which draws fringe bitmap,
+       possibly overlaying bitmap with cursor in right fringe or the
+       overlay arrow in the left fringe.
+       (update_window_fringes): Do not handle overlay arrow here.
+       Compare and copy fringe bitmap faces.
+       (init_fringe_bitmap): New function.
+       (Fdefine_fringe_bitmap, Fdestroy_fringe_bitmap): New DEFUNs to
+       define and destroy user defined fringe bitmaps.
+       (Fset_fringe_bitmap_face): New DEFUN to set face for a fringe bitmap.
+       (Ffringe_bitmaps_at_pos): New DEFUN to read current fringe bitmaps.
+       (syms_of_fringe): New function.  Defsubr new DEFUNs.
+       DEFVAR_LISP Voverflow_newline_into_fringe.
+       (init_fringe_once, init_fringe): New functions.
+       (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: New functions.
+       
+       * Makefile.in (obj): Add fringe.o.
+       (fringe.o): New dependencies.
+
+       * dispextern.h (FRINGE_ID_BITS): New definition for number of
+       bits allocated to hold a fringe number.  Increase number of bits
+       from 4 to 8 to allow user defined fringe bitmaps.
+       (struct glyph_row, struct it): New members left_user_fringe_bitmap,
+       left_user_fringe_face_id, right_user_fringe_bitmap,
+       right_user_fringe_face_id.
+       (enum fringe_bitmap_type, struct fringe_bitmap, fringe_bitmaps):
+       Move to new file fringe.c.
+       (MAX_FRINGE_BITMAPS): Define here.
+       (struct draw_fringe_bitmap_params): New members bits, cursor_p,
+       and overlay_p.  Change member which to int.
+       (struct redisplay_interface): New members define_fringe_bitmap
+       and destroy_fringe_bitmap.
+       (valid_fringe_bitmap_id_p): Add prototype.
+       (w32_init_fringe, w32_reset_fringes) [WINDOWS_NT]: Add prototypes.
+
+       * dispnew.c (row_equal_p): Compare fringe bitmap faces and overlay
+       arrows.
+       (update_frame): Do flush_display if force_flush_display_p to
+       ensure display (specifically fringes) are updated in a timely
+       manner when resizing the frame by dragging the mouse.
+       (update_window_line): Update row if overlay arrow changed.
+       (scrolling_window): Redraw fringe bitmaps if fringe bitmap faces
+       or overlay arrow changed.
+
+       * emacs.c (main) [HAVE_WINDOW_SYSTEM]: Call init_fringe_once,
+       syms_of_fringe, and init_fringe.
+
+       * frame.h (struct frame): New member force_flush_display_p.
+
+       * lisp.h (syms_of_fringe, init_fringe, init_fringe_once):
+       Add prototypes.
+
+       * macterm.c (x_draw_fringe_bitmap):  Copy unadapted code from
+       xterm.c to handle overlayed fringe bitmaps and to use cursor color
+       for displaying cursor in fringe.
+       (x_redisplay_interface): Add null handlers for
+       define_fringe_bitmap and destroy_fringe_bitmap functions.
+
+       * w32term.c (w32_draw_fringe_bitmap): Copy unadapted code from
+       xterm.c to handle overlayed fringe bitmaps and to use cursor color
+       for displaying cursor in fringe.
+       (w32_define_fringe_bitmap, w32_destroy_fringe_bitmap): New W32
+       specific functions to define and destroy fringe bitmaps in fringe_bmp.
+       (w32_redisplay_interface): Add them to redisplay_interface.
+       (w32_term_init): Call w32_init_fringe instead of explicitly
+       defining fringe bitmaps in fringe_bmp array.
+       (x_delete_display): Call w32_reset_fringes instead of explicitly
+       destroying fringe bitmaps in fringe_bmp array.
+
+       * xdisp.c (Voverflow_newline_into_fringe, syms_of_xdisp)
+       (left_bits, right_bits, up_arrow_bits, down_arrow_bits)
+       (continued_bits, continuation_bits, ov_bits, first_line_bits)
+       (last_line_bits, filled_box_cursor_bits, hollow_box_cursor_bits)
+       (bar_cursor_bits, hbar_cursor_bits, zv_bits, hollow_square_bits)
+       (fringe_bitmaps, draw_fringe_bitmap, draw_row_fringe_bitmaps)
+       (draw_window_fringes, compute_fringe_widths, update_window_fringes):
+       Move fringe handling vars and code to new file fringe.c.
+       (handle_display_prop): Handle left-fringe and right-fringe
+       display properties; store user fringe bitmaps in iterator.
+       (move_it_in_display_line_to): Handle cursor in fringe at eob.
+       (clear_garbaged_frames): Set force_flush_display_p if resized.
+       (redisplay_window): Redraw fringe bitmaps if not just_this_one_p.
+       (display_line): Handle cursor in fringe at eob.
+       (display_line): Set row user fringe bitmaps from iterator.
+
+       * xterm.c (x_draw_fringe_bitmap): Handle overlayed fringe bitmaps.
+       Use cursor color for displaying cursor in fringe.
+       (x_redisplay_interface): Add null handlers for
+       define_fringe_bitmap and destroy_fringe_bitmap functions.
+
 2004-02-07  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
        * macfns.c (Fx_change_window_property): Make doc string and