aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKaroly Lorentey2004-10-10 16:41:56 +0000
committerKaroly Lorentey2004-10-10 16:41:56 +0000
commitd914383aad4756cd3ec36589363702ab8d7a0245 (patch)
tree134c3012495f6d8816353e4cd2407de94229d7ac /src
parent6d3a46f77949e0b230b32f4b3d7f2681b934985e (diff)
parent9f4b6e738feccb3ca6b9e65e0a3745fe5767af19 (diff)
downloademacs-d914383aad4756cd3ec36589363702ab8d7a0245.tar.gz
emacs-d914383aad4756cd3ec36589363702ab8d7a0245.zip
Merged in changes from CVS trunk.
Patches applied: * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-604 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-605 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-606 Update from CVS * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-607 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-256
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog26
-rw-r--r--src/config.in9
-rw-r--r--src/dispextern.h2
-rw-r--r--src/fringe.c33
-rw-r--r--src/mac.c1
-rw-r--r--src/macterm.c13
-rw-r--r--src/unexmacosx.c5
-rw-r--r--src/w32term.c5
-rw-r--r--src/xdisp.c3
-rw-r--r--src/xterm.c5
10 files changed, 74 insertions, 28 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 99be23b4df8..131586c4e8d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,27 @@
12004-10-08 Steven Tamm <steventamm@mac.com>
2
3 * config.in (HAVE_MALLOC_MALLOC_H): Regenerate
4 * macterm.c (mac_check_for_quit_char): Remove warning for using
5 NULL where 0 should be used
6 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
7 objc/malloc.h
8 * mac.c: Include time.h for Tiger compatibility
9
102004-10-07 Kim F. Storm <storm@cua.dk>
11
12 * xdisp.c (redisplay_window): Fix flicker on vertical line between
13 windows. Update vertical line after drawing window fringes, but
14 only if actually drawing any bitmaps--or there is no fringe.
15
16 * xterm.c (x_update_window_end): Likewise.
17 * macterm.c (x_update_window_end): Likewise.
18 * w32term.c (x_update_window_end): Likewise.
19
20 * fringe.c (draw_window_fringes): Return value now indicates if
21 any fringe bitmaps were redrawn (or there are no fringes).
22
23 * dispextern.h (draw_window_fringes): Update prototype.
24
12004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> 252004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2 26
3 * macfns.c (mac_get_window_bounds): Add extern. 27 * macfns.c (mac_get_window_bounds): Add extern.
@@ -5,7 +29,7 @@
5 29
6 * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for 30 * macmenu.c (update_submenu_strings): Apply 2004-09-07 change for
7 xmenu.c (YAILOM). 31 xmenu.c (YAILOM).
8 32
9 * macterm.c [!MAC_OSX]: Include Windows.h. 33 * macterm.c [!MAC_OSX]: Include Windows.h.
10 (front_emacs_window): Rename from mac_front_window. All uses 34 (front_emacs_window): Rename from mac_front_window. All uses
11 changed. Return the frontmost non-tooltip emacs window. 35 changed. Return the frontmost non-tooltip emacs window.
diff --git a/src/config.in b/src/config.in
index 6e6d61b4e02..f2cf822b6ff 100644
--- a/src/config.in
+++ b/src/config.in
@@ -352,6 +352,9 @@ Boston, MA 02111-1307, USA. */
352/* Define to 1 if you have the <maillock.h> header file. */ 352/* Define to 1 if you have the <maillock.h> header file. */
353#undef HAVE_MAILLOCK_H 353#undef HAVE_MAILLOCK_H
354 354
355/* Define to 1 if you have the <malloc/malloc.h> header file. */
356#undef HAVE_MALLOC_MALLOC_H
357
355/* Define to 1 if you have the `mblen' function. */ 358/* Define to 1 if you have the `mblen' function. */
356#undef HAVE_MBLEN 359#undef HAVE_MBLEN
357 360
@@ -754,9 +757,9 @@ Boston, MA 02111-1307, USA. */
754/* If using the C implementation of alloca, define if you know the 757/* If using the C implementation of alloca, define if you know the
755 direction of stack growth for your system; otherwise it will be 758 direction of stack growth for your system; otherwise it will be
756 automatically deduced at run-time. 759 automatically deduced at run-time.
757 STACK_DIRECTION > 0 => grows toward higher addresses 760 STACK_DIRECTION > 0 => grows toward higher addresses
758 STACK_DIRECTION < 0 => grows toward lower addresses 761 STACK_DIRECTION < 0 => grows toward lower addresses
759 STACK_DIRECTION = 0 => direction of growth unknown */ 762 STACK_DIRECTION = 0 => direction of growth unknown */
760#undef STACK_DIRECTION 763#undef STACK_DIRECTION
761 764
762/* Define to 1 if you have the ANSI C header files. */ 765/* Define to 1 if you have the ANSI C header files. */
diff --git a/src/dispextern.h b/src/dispextern.h
index 7bf3149e1b9..ecdb760e302 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -2633,7 +2633,7 @@ extern int x_intersect_rectangles P_ ((XRectangle *, XRectangle *,
2633int lookup_fringe_bitmap (Lisp_Object); 2633int lookup_fringe_bitmap (Lisp_Object);
2634void draw_fringe_bitmap P_ ((struct window *, struct glyph_row *, int)); 2634void draw_fringe_bitmap P_ ((struct window *, struct glyph_row *, int));
2635void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *)); 2635void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *));
2636void draw_window_fringes P_ ((struct window *)); 2636int draw_window_fringes P_ ((struct window *, int));
2637int update_window_fringes P_ ((struct window *, int)); 2637int update_window_fringes P_ ((struct window *, int));
2638void compute_fringe_widths P_ ((struct frame *, int)); 2638void compute_fringe_widths P_ ((struct frame *, int));
2639 2639
diff --git a/src/fringe.c b/src/fringe.c
index 03af487c095..e66fa4adecc 100644
--- a/src/fringe.c
+++ b/src/fringe.c
@@ -723,19 +723,35 @@ draw_row_fringe_bitmaps (w, row)
723} 723}
724 724
725/* Draw the fringes of window W. Only fringes for rows marked for 725/* Draw the fringes of window W. Only fringes for rows marked for
726 update in redraw_fringe_bitmaps_p are drawn. */ 726 update in redraw_fringe_bitmaps_p are drawn.
727 727
728void 728 Return >0 if left or right fringe was redrawn in any way.
729draw_window_fringes (w) 729
730 If NO_FRINGE is non-zero, also return >0 if either fringe has zero width.
731
732 A return value >0 indicates that the vertical line between windows
733 needs update (as it may be drawn in the fringe).
734*/
735
736int
737draw_window_fringes (w, no_fringe)
730 struct window *w; 738 struct window *w;
739 int no_fringe;
731{ 740{
732 struct glyph_row *row; 741 struct glyph_row *row;
733 int yb = window_text_bottom_y (w); 742 int yb = window_text_bottom_y (w);
734 int nrows = w->current_matrix->nrows; 743 int nrows = w->current_matrix->nrows;
735 int y = 0, rn; 744 int y = 0, rn;
745 int updated = 0;
736 746
737 if (w->pseudo_window_p) 747 if (w->pseudo_window_p)
738 return; 748 return 0;
749
750 /* Must draw line if no fringe */
751 if (no_fringe
752 && (WINDOW_LEFT_FRINGE_WIDTH (w) == 0
753 || WINDOW_RIGHT_FRINGE_WIDTH (w) == 0))
754 updated++;
739 755
740 for (y = 0, rn = 0, row = w->current_matrix->rows; 756 for (y = 0, rn = 0, row = w->current_matrix->rows;
741 y < yb && rn < nrows; 757 y < yb && rn < nrows;
@@ -745,7 +761,10 @@ draw_window_fringes (w)
745 continue; 761 continue;
746 draw_row_fringe_bitmaps (w, row); 762 draw_row_fringe_bitmaps (w, row);
747 row->redraw_fringe_bitmaps_p = 0; 763 row->redraw_fringe_bitmaps_p = 0;
764 updated++;
748 } 765 }
766
767 return updated;
749} 768}
750 769
751 770
@@ -951,11 +970,7 @@ update_window_fringes (w, force_p)
951 Typically, we add an equal amount (+/- 1 pixel) to each fringe, 970 Typically, we add an equal amount (+/- 1 pixel) to each fringe,
952 but a negative width value is taken literally (after negating it). 971 but a negative width value is taken literally (after negating it).
953 972
954 We never make the fringes narrower than specified. It is planned 973 We never make the fringes narrower than specified.
955 to make fringe bitmaps customizable and expandable, and at that
956 time, the user will typically specify the minimum number of pixels
957 needed for his bitmaps, so we shouldn't select anything less than
958 what is specified.
959*/ 974*/
960 975
961void 976void
diff --git a/src/mac.c b/src/mac.c
index 9740b3bf3f4..f7e96b9c146 100644
--- a/src/mac.c
+++ b/src/mac.c
@@ -24,6 +24,7 @@ Boston, MA 02111-1307, USA. */
24 24
25#include <stdio.h> 25#include <stdio.h>
26#include <errno.h> 26#include <errno.h>
27#include <time.h>
27#include <utime.h> 28#include <utime.h>
28#include <dirent.h> 29#include <dirent.h>
29#include <sys/types.h> 30#include <sys/types.h>
diff --git a/src/macterm.c b/src/macterm.c
index 56c4653bf43..b7ebaea0990 100644
--- a/src/macterm.c
+++ b/src/macterm.c
@@ -1291,9 +1291,8 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p)
1291 output_cursor.vpos, 1291 output_cursor.vpos,
1292 output_cursor.x, output_cursor.y); 1292 output_cursor.x, output_cursor.y);
1293 1293
1294 x_draw_vertical_border (w); 1294 if (draw_window_fringes (w, 1))
1295 1295 x_draw_vertical_border (w);
1296 draw_window_fringes (w);
1297 1296
1298 UNBLOCK_INPUT; 1297 UNBLOCK_INPUT;
1299 } 1298 }
@@ -5050,7 +5049,7 @@ mac_get_window_bounds (f, inner, outer)
5050 GetWindowBounds (FRAME_MAC_WINDOW (f), kWindowStructureRgn, outer); 5049 GetWindowBounds (FRAME_MAC_WINDOW (f), kWindowStructureRgn, outer);
5051#else /* not TARGET_API_MAC_CARBON */ 5050#else /* not TARGET_API_MAC_CARBON */
5052 RgnHandle region = NewRgn (); 5051 RgnHandle region = NewRgn ();
5053 5052
5054 GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowContentRgn, region); 5053 GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowContentRgn, region);
5055 *inner = (*region)->rgnBBox; 5054 *inner = (*region)->rgnBBox;
5056 GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowStructureRgn, region); 5055 GetWindowRegion (FRAME_MAC_WINDOW (f), kWindowStructureRgn, region);
@@ -5143,7 +5142,7 @@ x_set_offset (f, xoff, yoff, change_gravity)
5143 { 5142 {
5144 Rect inner, outer, screen_rect, dummy; 5143 Rect inner, outer, screen_rect, dummy;
5145 RgnHandle region = NewRgn (); 5144 RgnHandle region = NewRgn ();
5146 5145
5147 mac_get_window_bounds (f, &inner, &outer); 5146 mac_get_window_bounds (f, &inner, &outer);
5148 f->x_pixels_diff = inner.left - outer.left; 5147 f->x_pixels_diff = inner.left - outer.left;
5149 f->y_pixels_diff = inner.top - outer.top; 5148 f->y_pixels_diff = inner.top - outer.top;
@@ -8114,7 +8113,7 @@ XTread_socket (sd, expected, hold_quit)
8114 switch (GetEventClass (eventRef)) 8113 switch (GetEventClass (eventRef))
8115 { 8114 {
8116 case kEventClassWindow: 8115 case kEventClassWindow:
8117 if (GetEventKind (eventRef) == kEventWindowBoundsChanged) 8116 if (GetEventKind (eventRef) == kEventWindowBoundsChanged)
8118 { 8117 {
8119 WindowPtr window_ptr; 8118 WindowPtr window_ptr;
8120 GetEventParameter(eventRef, kEventParamDirectObject, 8119 GetEventParameter(eventRef, kEventParamDirectObject,
@@ -8431,7 +8430,7 @@ XTread_socket (sd, expected, hold_quit)
8431 8430
8432 if (!is_emacs_window (window_ptr)) 8431 if (!is_emacs_window (window_ptr))
8433 break; 8432 break;
8434 8433
8435 f = mac_window_to_frame (window_ptr); 8434 f = mac_window_to_frame (window_ptr);
8436 8435
8437 if ((er.modifiers & activeFlag) != 0) 8436 if ((er.modifiers & activeFlag) != 0)
diff --git a/src/unexmacosx.c b/src/unexmacosx.c
index b41c586d2e0..1f2b4c96620 100644
--- a/src/unexmacosx.c
+++ b/src/unexmacosx.c
@@ -99,7 +99,12 @@ Boston, MA 02111-1307, USA. */
99#if defined (__ppc__) 99#if defined (__ppc__)
100#include <mach-o/ppc/reloc.h> 100#include <mach-o/ppc/reloc.h>
101#endif 101#endif
102#if defined (HAVE_MALLOC_MALLOC_H)
103#include <malloc/malloc.h>
104#else
102#include <objc/malloc.h> 105#include <objc/malloc.h>
106#endif
107
103 108
104#define VERBOSE 1 109#define VERBOSE 1
105 110
diff --git a/src/w32term.c b/src/w32term.c
index 7e36845eaf3..3d50e93b761 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -540,9 +540,8 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p)
540 output_cursor.vpos, 540 output_cursor.vpos,
541 output_cursor.x, output_cursor.y); 541 output_cursor.x, output_cursor.y);
542 542
543 x_draw_vertical_border (w); 543 if (draw_window_fringes (w, 1))
544 544 x_draw_vertical_border (w);
545 draw_window_fringes (w);
546 545
547 UNBLOCK_INPUT; 546 UNBLOCK_INPUT;
548 } 547 }
diff --git a/src/xdisp.c b/src/xdisp.c
index 0e25b0a3de3..191e0427c66 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -12218,7 +12218,8 @@ redisplay_window (window, just_this_one_p)
12218 { 12218 {
12219 update_begin (f); 12219 update_begin (f);
12220 BLOCK_INPUT; 12220 BLOCK_INPUT;
12221 draw_window_fringes (w); 12221 if (draw_window_fringes (w, 1))
12222 x_draw_vertical_border (w);
12222 UNBLOCK_INPUT; 12223 UNBLOCK_INPUT;
12223 update_end (f); 12224 update_end (f);
12224 } 12225 }
diff --git a/src/xterm.c b/src/xterm.c
index 69e04de2eb8..db4914bc165 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -572,9 +572,8 @@ x_update_window_end (w, cursor_on_p, mouse_face_overwritten_p)
572 output_cursor.vpos, 572 output_cursor.vpos,
573 output_cursor.x, output_cursor.y); 573 output_cursor.x, output_cursor.y);
574 574
575 x_draw_vertical_border (w); 575 if (draw_window_fringes (w, 1))
576 576 x_draw_vertical_border (w);
577 draw_window_fringes (w);
578 577
579 UNBLOCK_INPUT; 578 UNBLOCK_INPUT;
580 } 579 }