diff options
| author | Miles Bader | 2007-05-30 14:40:46 +0000 |
|---|---|---|
| committer | Miles Bader | 2007-05-30 14:40:46 +0000 |
| commit | 62390cbfc25653003034b812258be9cfb5f3edee (patch) | |
| tree | 7ee220bf44a2e65dd80511bced7b77cfa1233b12 /src | |
| parent | 2d423dd0a720b08c61ee10023554b2a0491f8fae (diff) | |
| parent | 7a781a5480b9a1f55d28a76e1d1f89aaa2421f97 (diff) | |
| download | emacs-62390cbfc25653003034b812258be9cfb5f3edee.tar.gz emacs-62390cbfc25653003034b812258be9cfb5f3edee.zip | |
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 774-780)
- Update from CVS
- Merge from emacs--rel--22, gnus--rel--5.10
- Merge from emacs--rel--22
- Fix tq.el edge case
* emacs--rel--22 (patch 28-32)
- Update from CVS
* gnus--rel--5.10 (patch 224-225)
- Merge from emacs--devo--0, emacs--rel--22
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-213
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 18 | ||||
| -rw-r--r-- | src/ccl.c | 2 | ||||
| -rw-r--r-- | src/data.c | 2 | ||||
| -rw-r--r-- | src/fns.c | 2 | ||||
| -rw-r--r-- | src/frame.c | 7 | ||||
| -rw-r--r-- | src/macterm.c | 4 | ||||
| -rw-r--r-- | src/msdos.c | 4 | ||||
| -rw-r--r-- | src/sysdep.c | 2 | ||||
| -rw-r--r-- | src/term.c | 65 | ||||
| -rw-r--r-- | src/termhooks.h | 1 | ||||
| -rw-r--r-- | src/window.c | 2 | ||||
| -rw-r--r-- | src/xdisp.c | 10 | ||||
| -rw-r--r-- | src/xfaces.c | 2 |
13 files changed, 81 insertions, 40 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index bafb3991d2e..31b8f51bf18 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,21 @@ | |||
| 1 | 2007-05-28 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | ||
| 2 | |||
| 3 | * xdisp.c (redisplay_internal): Bind inhibit-point-motion-hooks to t | ||
| 4 | around current_column call. | ||
| 5 | |||
| 6 | 2007-05-26 Dan Nicolaescu <dann@ics.uci.edu> | ||
| 7 | |||
| 8 | * xfaces.c (syms_of_xfaces): Delete stray semicolon. | ||
| 9 | * xdisp.c (next_element_from_buffer): | ||
| 10 | * window.c (delete_window): | ||
| 11 | * term.c (term_mouse_highlight): | ||
| 12 | * msdos.c (getdefdir): | ||
| 13 | * macterm.c (mac_create_bitmap_from_bitmap_data) | ||
| 14 | (init_font_name_table): | ||
| 15 | * fns.c (Fsxhash): | ||
| 16 | * data.c (Fmake_local_variable): | ||
| 17 | * ccl.c (ccl_driver): Likewise. | ||
| 18 | |||
| 1 | 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> | 19 | 2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> |
| 2 | 20 | ||
| 3 | * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event): | 21 | * macterm.c [USE_CARBON_EVENTS] (mac_handle_window_event): |
| @@ -1222,7 +1222,7 @@ ccl_driver (ccl, source, destination, src_size, dst_size, charset_list) | |||
| 1222 | case CCL_MOD: reg[rrr] = i % j; break; | 1222 | case CCL_MOD: reg[rrr] = i % j; break; |
| 1223 | case CCL_AND: reg[rrr] = i & j; break; | 1223 | case CCL_AND: reg[rrr] = i & j; break; |
| 1224 | case CCL_OR: reg[rrr] = i | j; break; | 1224 | case CCL_OR: reg[rrr] = i | j; break; |
| 1225 | case CCL_XOR: reg[rrr] = i ^ j;; break; | 1225 | case CCL_XOR: reg[rrr] = i ^ j; break; |
| 1226 | case CCL_LSH: reg[rrr] = i << j; break; | 1226 | case CCL_LSH: reg[rrr] = i << j; break; |
| 1227 | case CCL_RSH: reg[rrr] = i >> j; break; | 1227 | case CCL_RSH: reg[rrr] = i >> j; break; |
| 1228 | case CCL_LSH8: reg[rrr] = (i << 8) | j; break; | 1228 | case CCL_LSH8: reg[rrr] = (i << 8) | j; break; |
diff --git a/src/data.c b/src/data.c index af166329f81..32e5a6892aa 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -1575,7 +1575,7 @@ Instead, use `add-hook' and specify t for the LOCAL argument. */) | |||
| 1575 | XBUFFER_LOCAL_VALUE (newval)->found_for_frame = 0; | 1575 | XBUFFER_LOCAL_VALUE (newval)->found_for_frame = 0; |
| 1576 | XBUFFER_LOCAL_VALUE (newval)->check_frame = 0; | 1576 | XBUFFER_LOCAL_VALUE (newval)->check_frame = 0; |
| 1577 | XBUFFER_LOCAL_VALUE (newval)->cdr = tem; | 1577 | XBUFFER_LOCAL_VALUE (newval)->cdr = tem; |
| 1578 | SET_SYMBOL_VALUE (variable, newval);; | 1578 | SET_SYMBOL_VALUE (variable, newval); |
| 1579 | } | 1579 | } |
| 1580 | /* Make sure this buffer has its own value of symbol. */ | 1580 | /* Make sure this buffer has its own value of symbol. */ |
| 1581 | tem = Fassq (variable, current_buffer->local_var_alist); | 1581 | tem = Fassq (variable, current_buffer->local_var_alist); |
| @@ -4585,7 +4585,7 @@ DEFUN ("sxhash", Fsxhash, Ssxhash, 1, 1, 0, | |||
| 4585 | (obj) | 4585 | (obj) |
| 4586 | Lisp_Object obj; | 4586 | Lisp_Object obj; |
| 4587 | { | 4587 | { |
| 4588 | unsigned hash = sxhash (obj, 0);; | 4588 | unsigned hash = sxhash (obj, 0); |
| 4589 | return make_number (hash); | 4589 | return make_number (hash); |
| 4590 | } | 4590 | } |
| 4591 | 4591 | ||
diff --git a/src/frame.c b/src/frame.c index 284b04494a8..4b26e087c85 100644 --- a/src/frame.c +++ b/src/frame.c | |||
| @@ -1549,6 +1549,13 @@ before calling this function on it, like this. | |||
| 1549 | Fselect_frame (frame); | 1549 | Fselect_frame (frame); |
| 1550 | mouse_moveto (XINT (x), XINT (y)); | 1550 | mouse_moveto (XINT (x), XINT (y)); |
| 1551 | } | 1551 | } |
| 1552 | #else | ||
| 1553 | #ifdef HAVE_GPM | ||
| 1554 | { | ||
| 1555 | Fselect_frame (frame); | ||
| 1556 | term_mouse_moveto (XINT (x), XINT (y)); | ||
| 1557 | } | ||
| 1558 | #endif | ||
| 1552 | #endif | 1559 | #endif |
| 1553 | #endif | 1560 | #endif |
| 1554 | 1561 | ||
diff --git a/src/macterm.c b/src/macterm.c index f7b375c22da..64b4e094d14 100644 --- a/src/macterm.c +++ b/src/macterm.c | |||
| @@ -736,7 +736,7 @@ mac_create_bitmap_from_bitmap_data (bitmap, bits, w, h) | |||
| 736 | /* Bitswap XBM bytes to match how Mac does things. */ | 736 | /* Bitswap XBM bytes to match how Mac does things. */ |
| 737 | unsigned char c = *bits++; | 737 | unsigned char c = *bits++; |
| 738 | *p++ = (unsigned char)((swap_nibble[c & 0xf] << 4) | 738 | *p++ = (unsigned char)((swap_nibble[c & 0xf] << 4) |
| 739 | | (swap_nibble[(c>>4) & 0xf]));; | 739 | | (swap_nibble[(c>>4) & 0xf])); |
| 740 | } | 740 | } |
| 741 | } | 741 | } |
| 742 | 742 | ||
| @@ -7577,7 +7577,7 @@ init_font_name_table () | |||
| 7577 | make_hash_table (Qequal, make_number (DEFAULT_HASH_SIZE), | 7577 | make_hash_table (Qequal, make_number (DEFAULT_HASH_SIZE), |
| 7578 | make_float (DEFAULT_REHASH_SIZE), | 7578 | make_float (DEFAULT_REHASH_SIZE), |
| 7579 | make_float (DEFAULT_REHASH_THRESHOLD), | 7579 | make_float (DEFAULT_REHASH_THRESHOLD), |
| 7580 | Qnil, Qnil, Qnil);; | 7580 | Qnil, Qnil, Qnil); |
| 7581 | h = XHASH_TABLE (atsu_font_id_hash); | 7581 | h = XHASH_TABLE (atsu_font_id_hash); |
| 7582 | 7582 | ||
| 7583 | err = ATSUFontCount (&nfonts); | 7583 | err = ATSUFontCount (&nfonts); |
diff --git a/src/msdos.c b/src/msdos.c index d40aafdcb34..151aec5561d 100644 --- a/src/msdos.c +++ b/src/msdos.c | |||
| @@ -1584,7 +1584,7 @@ IT_note_mouse_highlight (struct frame *f, int x, int y) | |||
| 1584 | { | 1584 | { |
| 1585 | extern Lisp_Object Qmouse_face; | 1585 | extern Lisp_Object Qmouse_face; |
| 1586 | Lisp_Object mouse_face, overlay, position, *overlay_vec; | 1586 | Lisp_Object mouse_face, overlay, position, *overlay_vec; |
| 1587 | int noverlays, obegv, ozv;; | 1587 | int noverlays, obegv, ozv; |
| 1588 | struct buffer *obuf; | 1588 | struct buffer *obuf; |
| 1589 | 1589 | ||
| 1590 | /* If we get an out-of-range value, return now; avoid an error. */ | 1590 | /* If we get an out-of-range value, return now; avoid an error. */ |
| @@ -4071,7 +4071,7 @@ getdefdir (drive, dst) | |||
| 4071 | int drive; | 4071 | int drive; |
| 4072 | char *dst; | 4072 | char *dst; |
| 4073 | { | 4073 | { |
| 4074 | char in_path[4], *p = in_path, e = errno;; | 4074 | char in_path[4], *p = in_path, e = errno; |
| 4075 | 4075 | ||
| 4076 | /* Generate "X:." (when drive is X) or "." (when drive is 0). */ | 4076 | /* Generate "X:." (when drive is X) or "." (when drive is 0). */ |
| 4077 | if (drive != 0) | 4077 | if (drive != 0) |
diff --git a/src/sysdep.c b/src/sysdep.c index 202cab4abd2..95ad90c2a1b 100644 --- a/src/sysdep.c +++ b/src/sysdep.c | |||
| @@ -1679,7 +1679,7 @@ init_sys_modes () | |||
| 1679 | if (term_gpm) | 1679 | if (term_gpm) |
| 1680 | { | 1680 | { |
| 1681 | fcntl (gpm_fd, F_SETOWN, getpid ()); | 1681 | fcntl (gpm_fd, F_SETOWN, getpid ()); |
| 1682 | fcntl (gpm_fd, F_SETFL, O_NONBLOCK); | 1682 | fcntl (gpm_fd, F_SETFL, fcntl (gpm_fd, F_GETFL, 0) | O_NONBLOCK); |
| 1683 | init_sigio (gpm_fd); | 1683 | init_sigio (gpm_fd); |
| 1684 | } | 1684 | } |
| 1685 | #endif /* HAVE_GPM */ | 1685 | #endif /* HAVE_GPM */ |
diff --git a/src/term.c b/src/term.c index b8e972043a4..f23963cc39c 100644 --- a/src/term.c +++ b/src/term.c | |||
| @@ -427,7 +427,7 @@ int term_gpm = 0; | |||
| 427 | static int mouse_face_beg_row, mouse_face_beg_col; | 427 | static int mouse_face_beg_row, mouse_face_beg_col; |
| 428 | static int mouse_face_end_row, mouse_face_end_col; | 428 | static int mouse_face_end_row, mouse_face_end_col; |
| 429 | static int mouse_face_past_end; | 429 | static int mouse_face_past_end; |
| 430 | static Lisp_Object mouse_face_window; | 430 | static Lisp_Object Qmouse_face_window; |
| 431 | static int mouse_face_face_id; | 431 | static int mouse_face_face_id; |
| 432 | 432 | ||
| 433 | /* FRAME and X, Y position of mouse when last checked for | 433 | /* FRAME and X, Y position of mouse when last checked for |
| @@ -2494,10 +2494,23 @@ set_tty_color_mode (f, val) | |||
| 2494 | ***********************************************************************/ | 2494 | ***********************************************************************/ |
| 2495 | 2495 | ||
| 2496 | #ifdef HAVE_GPM | 2496 | #ifdef HAVE_GPM |
| 2497 | void term_mouse_moveto (int x, int y) | ||
| 2498 | { | ||
| 2499 | const char *name; | ||
| 2500 | int fd; | ||
| 2501 | name = (const char *) ttyname (0); | ||
| 2502 | fd = open (name, O_WRONLY); | ||
| 2503 | /* TODO: how to set mouse position? | ||
| 2504 | SOME_FUNCTION (x, y, fd); */ | ||
| 2505 | close (fd); | ||
| 2506 | last_mouse_x = x; | ||
| 2507 | last_mouse_y = y; | ||
| 2508 | } | ||
| 2509 | |||
| 2497 | static void | 2510 | static void |
| 2498 | term_show_mouse_face (enum draw_glyphs_face draw) | 2511 | term_show_mouse_face (enum draw_glyphs_face draw) |
| 2499 | { | 2512 | { |
| 2500 | struct window *w = XWINDOW (mouse_face_window); | 2513 | struct window *w = XWINDOW (Qmouse_face_window); |
| 2501 | int save_x, save_y; | 2514 | int save_x, save_y; |
| 2502 | int i, j; | 2515 | int i, j; |
| 2503 | 2516 | ||
| @@ -2573,12 +2586,12 @@ term_show_mouse_face (enum draw_glyphs_face draw) | |||
| 2573 | static void | 2586 | static void |
| 2574 | term_clear_mouse_face () | 2587 | term_clear_mouse_face () |
| 2575 | { | 2588 | { |
| 2576 | if (!NILP (mouse_face_window)) | 2589 | if (!NILP (Qmouse_face_window)) |
| 2577 | term_show_mouse_face (DRAW_NORMAL_TEXT); | 2590 | term_show_mouse_face (DRAW_NORMAL_TEXT); |
| 2578 | 2591 | ||
| 2579 | mouse_face_beg_row = mouse_face_beg_col = -1; | 2592 | mouse_face_beg_row = mouse_face_beg_col = -1; |
| 2580 | mouse_face_end_row = mouse_face_end_col = -1; | 2593 | mouse_face_end_row = mouse_face_end_col = -1; |
| 2581 | mouse_face_window = Qnil; | 2594 | Qmouse_face_window = Qnil; |
| 2582 | } | 2595 | } |
| 2583 | 2596 | ||
| 2584 | /* Find the glyph matrix position of buffer position POS in window W. | 2597 | /* Find the glyph matrix position of buffer position POS in window W. |
| @@ -2679,7 +2692,7 @@ term_mouse_highlight (struct frame *f, int x, int y) | |||
| 2679 | if (!WINDOWP (window)) | 2692 | if (!WINDOWP (window)) |
| 2680 | return; | 2693 | return; |
| 2681 | 2694 | ||
| 2682 | if (!EQ (window, mouse_face_window)) | 2695 | if (!EQ (window, Qmouse_face_window)) |
| 2683 | term_clear_mouse_face (); | 2696 | term_clear_mouse_face (); |
| 2684 | 2697 | ||
| 2685 | w = XWINDOW (window); | 2698 | w = XWINDOW (window); |
| @@ -2737,7 +2750,7 @@ term_mouse_highlight (struct frame *f, int x, int y) | |||
| 2737 | { | 2750 | { |
| 2738 | extern Lisp_Object Qmouse_face; | 2751 | extern Lisp_Object Qmouse_face; |
| 2739 | Lisp_Object mouse_face, overlay, position, *overlay_vec; | 2752 | Lisp_Object mouse_face, overlay, position, *overlay_vec; |
| 2740 | int noverlays, obegv, ozv;; | 2753 | int noverlays, obegv, ozv; |
| 2741 | struct buffer *obuf; | 2754 | struct buffer *obuf; |
| 2742 | 2755 | ||
| 2743 | /* If we get an out-of-range value, return now; avoid an error. */ | 2756 | /* If we get an out-of-range value, return now; avoid an error. */ |
| @@ -2762,7 +2775,7 @@ term_mouse_highlight (struct frame *f, int x, int y) | |||
| 2762 | noverlays = sort_overlays (overlay_vec, noverlays, w); | 2775 | noverlays = sort_overlays (overlay_vec, noverlays, w); |
| 2763 | 2776 | ||
| 2764 | /* Check mouse-face highlighting. */ | 2777 | /* Check mouse-face highlighting. */ |
| 2765 | if (!(EQ (window, mouse_face_window) | 2778 | if (!(EQ (window, Qmouse_face_window) |
| 2766 | && y >= mouse_face_beg_row | 2779 | && y >= mouse_face_beg_row |
| 2767 | && y <= mouse_face_end_row | 2780 | && y <= mouse_face_end_row |
| 2768 | && (y > mouse_face_beg_row | 2781 | && (y > mouse_face_beg_row |
| @@ -2812,7 +2825,7 @@ term_mouse_highlight (struct frame *f, int x, int y) | |||
| 2812 | = !fast_find_position (w, XFASTINT (after), | 2825 | = !fast_find_position (w, XFASTINT (after), |
| 2813 | &mouse_face_end_col, | 2826 | &mouse_face_end_col, |
| 2814 | &mouse_face_end_row); | 2827 | &mouse_face_end_row); |
| 2815 | mouse_face_window = window; | 2828 | Qmouse_face_window = window; |
| 2816 | 2829 | ||
| 2817 | mouse_face_face_id | 2830 | mouse_face_face_id |
| 2818 | = face_at_buffer_position (w, pos, 0, 0, | 2831 | = face_at_buffer_position (w, pos, 0, 0, |
| @@ -2847,7 +2860,7 @@ term_mouse_highlight (struct frame *f, int x, int y) | |||
| 2847 | = !fast_find_position (w, XFASTINT (after), | 2860 | = !fast_find_position (w, XFASTINT (after), |
| 2848 | &mouse_face_end_col, | 2861 | &mouse_face_end_col, |
| 2849 | &mouse_face_end_row); | 2862 | &mouse_face_end_row); |
| 2850 | mouse_face_window = window; | 2863 | Qmouse_face_window = window; |
| 2851 | 2864 | ||
| 2852 | mouse_face_face_id | 2865 | mouse_face_face_id |
| 2853 | = face_at_buffer_position (w, pos, 0, 0, | 2866 | = face_at_buffer_position (w, pos, 0, 0, |
| @@ -2934,33 +2947,31 @@ term_mouse_movement (FRAME_PTR frame, Gpm_Event *event) | |||
| 2934 | Set *time to the time the mouse was at the returned position. | 2947 | Set *time to the time the mouse was at the returned position. |
| 2935 | 2948 | ||
| 2936 | This should clear mouse_moved until the next motion | 2949 | This should clear mouse_moved until the next motion |
| 2937 | event arrives. | 2950 | event arrives. */ |
| 2938 | |||
| 2939 | NOT CURRENTLY INVOKED: see mouse_position_hook below. */ | ||
| 2940 | static void | 2951 | static void |
| 2941 | term_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, | 2952 | term_mouse_position (FRAME_PTR *fp, int insist, Lisp_Object *bar_window, |
| 2942 | enum scroll_bar_part *part, Lisp_Object *x, | 2953 | enum scroll_bar_part *part, Lisp_Object *x, |
| 2943 | Lisp_Object *y, unsigned long *time) | 2954 | Lisp_Object *y, unsigned long *time) |
| 2944 | { | 2955 | { |
| 2945 | Gpm_Event event; | ||
| 2946 | struct timeval now; | 2956 | struct timeval now; |
| 2947 | int i; | 2957 | Lisp_Object frame, window; |
| 2948 | 2958 | struct window *w; | |
| 2949 | BLOCK_INPUT; | ||
| 2950 | 2959 | ||
| 2951 | *fp = SELECTED_FRAME (); | 2960 | *fp = SELECTED_FRAME (); |
| 2961 | (*fp)->mouse_moved = 0; | ||
| 2952 | 2962 | ||
| 2953 | *bar_window = Qnil; | 2963 | *bar_window = Qnil; |
| 2954 | *part = 0; | 2964 | *part = 0; |
| 2955 | 2965 | ||
| 2956 | i = Gpm_GetSnapshot (&event); | 2966 | XSETINT (*x, last_mouse_x); |
| 2967 | XSETINT (*y, last_mouse_y); | ||
| 2968 | XSETFRAME (frame, *fp); | ||
| 2969 | window = Fwindow_at (*x, *y, frame); | ||
| 2957 | 2970 | ||
| 2958 | XSETINT (*x, event.x); | 2971 | XSETINT (*x, last_mouse_x - WINDOW_LEFT_EDGE_COL (XWINDOW (window))); |
| 2959 | XSETINT (*y, event.y); | 2972 | XSETINT (*y, last_mouse_y - WINDOW_TOP_EDGE_LINE (XWINDOW (window))); |
| 2960 | gettimeofday(&now, 0); | 2973 | gettimeofday(&now, 0); |
| 2961 | *time = (now.tv_sec * 1000) + (now.tv_usec / 1000); | 2974 | *time = (now.tv_sec * 1000) + (now.tv_usec / 1000); |
| 2962 | |||
| 2963 | UNBLOCK_INPUT; | ||
| 2964 | } | 2975 | } |
| 2965 | 2976 | ||
| 2966 | /* Prepare a mouse-event in *RESULT for placement in the input queue. | 2977 | /* Prepare a mouse-event in *RESULT for placement in the input queue. |
| @@ -3059,7 +3070,7 @@ handle_one_term_event (Gpm_Event *event, struct input_event* hold_quit) | |||
| 3059 | name = (const char *) ttyname (0); | 3070 | name = (const char *) ttyname (0); |
| 3060 | fd = open (name, O_WRONLY); | 3071 | fd = open (name, O_WRONLY); |
| 3061 | ioctl (fd, TIOCLINUX, buf + sizeof (short) - 1); | 3072 | ioctl (fd, TIOCLINUX, buf + sizeof (short) - 1); |
| 3062 | close(fd); | 3073 | close (fd); |
| 3063 | 3074 | ||
| 3064 | term_mouse_movement (f, event); | 3075 | term_mouse_movement (f, event); |
| 3065 | 3076 | ||
| @@ -3074,7 +3085,6 @@ handle_one_term_event (Gpm_Event *event, struct input_event* hold_quit) | |||
| 3074 | else { | 3085 | else { |
| 3075 | f->mouse_moved = 0; | 3086 | f->mouse_moved = 0; |
| 3076 | term_mouse_click (&ie, event, f); | 3087 | term_mouse_click (&ie, event, f); |
| 3077 | //kbd_buffer_store_event_hold (&ie, hold_quit); | ||
| 3078 | } | 3088 | } |
| 3079 | 3089 | ||
| 3080 | done: | 3090 | done: |
| @@ -3159,11 +3169,8 @@ term_init (terminal_type) | |||
| 3159 | encode_terminal_dst_size = 0; | 3169 | encode_terminal_dst_size = 0; |
| 3160 | 3170 | ||
| 3161 | #ifdef HAVE_GPM | 3171 | #ifdef HAVE_GPM |
| 3162 | /* TODO: Can't get Gpm_Snapshot in term_mouse_position to work: test with | 3172 | mouse_position_hook = term_mouse_position; |
| 3163 | (mouse-position). Also set-mouse-position won't work as is. */ | 3173 | Qmouse_face_window = Qnil; |
| 3164 | /* mouse_position_hook = term_mouse_position; */ | ||
| 3165 | |||
| 3166 | mouse_face_window = Qnil; | ||
| 3167 | #endif | 3174 | #endif |
| 3168 | 3175 | ||
| 3169 | #ifdef WINDOWSNT | 3176 | #ifdef WINDOWSNT |
| @@ -3616,6 +3623,8 @@ bigger, or it may make it blink, or it may do nothing at all. */); | |||
| 3616 | #ifdef HAVE_GPM | 3623 | #ifdef HAVE_GPM |
| 3617 | defsubr (&Sterm_open_connection); | 3624 | defsubr (&Sterm_open_connection); |
| 3618 | defsubr (&Sterm_close_connection); | 3625 | defsubr (&Sterm_close_connection); |
| 3626 | |||
| 3627 | staticpro (&Qmouse_face_window); | ||
| 3619 | #endif /* HAVE_GPM */ | 3628 | #endif /* HAVE_GPM */ |
| 3620 | 3629 | ||
| 3621 | fullscreen_hook = NULL; | 3630 | fullscreen_hook = NULL; |
diff --git a/src/termhooks.h b/src/termhooks.h index 1e9968530e8..ee6e707e6b5 100644 --- a/src/termhooks.h +++ b/src/termhooks.h | |||
| @@ -453,6 +453,7 @@ enum { | |||
| 453 | #ifdef HAVE_GPM | 453 | #ifdef HAVE_GPM |
| 454 | #include <gpm.h> | 454 | #include <gpm.h> |
| 455 | extern int handle_one_term_event (Gpm_Event *, struct input_event *); | 455 | extern int handle_one_term_event (Gpm_Event *, struct input_event *); |
| 456 | extern void term_mouse_moveto (int, int); | ||
| 456 | 457 | ||
| 457 | /* Nonzero means mouse is enabled on Linux console */ | 458 | /* Nonzero means mouse is enabled on Linux console */ |
| 458 | extern int term_gpm; | 459 | extern int term_gpm; |
diff --git a/src/window.c b/src/window.c index 3fb558d637a..f417c7458d4 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -1532,7 +1532,7 @@ delete_window (window) | |||
| 1532 | if (!EQ (window, pwindow)) | 1532 | if (!EQ (window, pwindow)) |
| 1533 | break; | 1533 | break; |
| 1534 | /* Otherwise, try another window for SWINDOW. */ | 1534 | /* Otherwise, try another window for SWINDOW. */ |
| 1535 | swindow = Fnext_window (swindow, Qlambda, Qnil);; | 1535 | swindow = Fnext_window (swindow, Qlambda, Qnil); |
| 1536 | 1536 | ||
| 1537 | /* If we get back to the frame's selected window, | 1537 | /* If we get back to the frame's selected window, |
| 1538 | it means there was no acceptable alternative, | 1538 | it means there was no acceptable alternative, |
diff --git a/src/xdisp.c b/src/xdisp.c index 48e894afcec..1cc8cf10611 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -6417,7 +6417,7 @@ next_element_from_buffer (it) | |||
| 6417 | it->c = *p, it->len = 1; | 6417 | it->c = *p, it->len = 1; |
| 6418 | 6418 | ||
| 6419 | /* Record what we have and where it came from. */ | 6419 | /* Record what we have and where it came from. */ |
| 6420 | it->what = IT_CHARACTER;; | 6420 | it->what = IT_CHARACTER; |
| 6421 | it->object = it->w->buffer; | 6421 | it->object = it->w->buffer; |
| 6422 | it->position = it->current.pos; | 6422 | it->position = it->current.pos; |
| 6423 | 6423 | ||
| @@ -10996,7 +10996,7 @@ redisplay_internal (preserve_echo_area) | |||
| 10996 | int must_finish = 0; | 10996 | int must_finish = 0; |
| 10997 | struct text_pos tlbufpos, tlendpos; | 10997 | struct text_pos tlbufpos, tlendpos; |
| 10998 | int number_of_visible_frames; | 10998 | int number_of_visible_frames; |
| 10999 | int count; | 10999 | int count, count1; |
| 11000 | struct frame *sf; | 11000 | struct frame *sf; |
| 11001 | int polling_stopped_here = 0; | 11001 | int polling_stopped_here = 0; |
| 11002 | 11002 | ||
| @@ -11134,6 +11134,10 @@ redisplay_internal (preserve_echo_area) | |||
| 11134 | update_mode_lines++; | 11134 | update_mode_lines++; |
| 11135 | } | 11135 | } |
| 11136 | 11136 | ||
| 11137 | /* Avoid invocation of point motion hooks by `current_column' below. */ | ||
| 11138 | count1 = SPECPDL_INDEX (); | ||
| 11139 | specbind (Qinhibit_point_motion_hooks, Qt); | ||
| 11140 | |||
| 11137 | /* If %c is in the mode line, update it if needed. */ | 11141 | /* If %c is in the mode line, update it if needed. */ |
| 11138 | if (!NILP (w->column_number_displayed) | 11142 | if (!NILP (w->column_number_displayed) |
| 11139 | /* This alternative quickly identifies a common case | 11143 | /* This alternative quickly identifies a common case |
| @@ -11145,6 +11149,8 @@ redisplay_internal (preserve_echo_area) | |||
| 11145 | != (int) current_column ())) /* iftc */ | 11149 | != (int) current_column ())) /* iftc */ |
| 11146 | w->update_mode_line = Qt; | 11150 | w->update_mode_line = Qt; |
| 11147 | 11151 | ||
| 11152 | unbind_to (count1, Qnil); | ||
| 11153 | |||
| 11148 | FRAME_SCROLL_BOTTOM_VPOS (XFRAME (w->frame)) = -1; | 11154 | FRAME_SCROLL_BOTTOM_VPOS (XFRAME (w->frame)) = -1; |
| 11149 | 11155 | ||
| 11150 | /* The variable buffer_shared is set in redisplay_window and | 11156 | /* The variable buffer_shared is set in redisplay_window and |
diff --git a/src/xfaces.c b/src/xfaces.c index 660fa34d5cf..1b314a6fa13 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -8477,7 +8477,7 @@ syms_of_xfaces () | |||
| 8477 | staticpro (&QCforeground); | 8477 | staticpro (&QCforeground); |
| 8478 | QCbackground = intern (":background"); | 8478 | QCbackground = intern (":background"); |
| 8479 | staticpro (&QCbackground); | 8479 | staticpro (&QCbackground); |
| 8480 | QCstipple = intern (":stipple");; | 8480 | QCstipple = intern (":stipple"); |
| 8481 | staticpro (&QCstipple); | 8481 | staticpro (&QCstipple); |
| 8482 | QCwidth = intern (":width"); | 8482 | QCwidth = intern (":width"); |
| 8483 | staticpro (&QCwidth); | 8483 | staticpro (&QCwidth); |