diff options
| author | Karoly Lorentey | 2004-10-10 16:41:56 +0000 |
|---|---|---|
| committer | Karoly Lorentey | 2004-10-10 16:41:56 +0000 |
| commit | d914383aad4756cd3ec36589363702ab8d7a0245 (patch) | |
| tree | 134c3012495f6d8816353e4cd2407de94229d7ac /src | |
| parent | 6d3a46f77949e0b230b32f4b3d7f2681b934985e (diff) | |
| parent | 9f4b6e738feccb3ca6b9e65e0a3745fe5767af19 (diff) | |
| download | emacs-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/ChangeLog | 26 | ||||
| -rw-r--r-- | src/config.in | 9 | ||||
| -rw-r--r-- | src/dispextern.h | 2 | ||||
| -rw-r--r-- | src/fringe.c | 33 | ||||
| -rw-r--r-- | src/mac.c | 1 | ||||
| -rw-r--r-- | src/macterm.c | 13 | ||||
| -rw-r--r-- | src/unexmacosx.c | 5 | ||||
| -rw-r--r-- | src/w32term.c | 5 | ||||
| -rw-r--r-- | src/xdisp.c | 3 | ||||
| -rw-r--r-- | src/xterm.c | 5 |
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 @@ | |||
| 1 | 2004-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 | |||
| 10 | 2004-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 | |||
| 1 | 2004-10-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 25 | 2004-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 *, | |||
| 2633 | int lookup_fringe_bitmap (Lisp_Object); | 2633 | int lookup_fringe_bitmap (Lisp_Object); |
| 2634 | void draw_fringe_bitmap P_ ((struct window *, struct glyph_row *, int)); | 2634 | void draw_fringe_bitmap P_ ((struct window *, struct glyph_row *, int)); |
| 2635 | void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *)); | 2635 | void draw_row_fringe_bitmaps P_ ((struct window *, struct glyph_row *)); |
| 2636 | void draw_window_fringes P_ ((struct window *)); | 2636 | int draw_window_fringes P_ ((struct window *, int)); |
| 2637 | int update_window_fringes P_ ((struct window *, int)); | 2637 | int update_window_fringes P_ ((struct window *, int)); |
| 2638 | void compute_fringe_widths P_ ((struct frame *, int)); | 2638 | void 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 | ||
| 728 | void | 728 | Return >0 if left or right fringe was redrawn in any way. |
| 729 | draw_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 | |||
| 736 | int | ||
| 737 | draw_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 | ||
| 961 | void | 976 | void |
| @@ -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 | } |