[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r105820: Merge changes from emacs-23
From: |
Chong Yidong |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r105820: Merge changes from emacs-23 branch |
Date: |
Sun, 18 Sep 2011 11:21:57 -0400 |
User-agent: |
Bazaar (2.3.1) |
------------------------------------------------------------
revno: 105820 [merge]
committer: Chong Yidong <address@hidden>
branch nick: trunk
timestamp: Sun 2011-09-18 11:21:57 -0400
message:
Merge changes from emacs-23 branch
modified:
src/ChangeLog
src/search.c
src/xdisp.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2011-09-18 15:16:47 +0000
+++ b/src/ChangeLog 2011-09-18 15:21:57 +0000
@@ -1,3 +1,13 @@
+2011-09-18 YAMAMOTO Mitsuharu <address@hidden>
+
+ * xdisp.c (expose_window): Save original value of phys_cursor_on_p
+ and turn window cursor on if cleared (Bug#9415).
+
+2011-09-18 Andreas Schwab <address@hidden>
+
+ * search.c (boyer_moore): Take unibyte characters from pattern
+ literally. (Bug#9458)
+
2011-09-18 Eli Zaretskii <address@hidden>
* xdisp.c (reseat_at_next_visible_line_start): Fix last change.
=== modified file 'src/search.c'
--- a/src/search.c 2011-09-04 17:27:38 +0000
+++ b/src/search.c 2011-09-18 15:20:30 +0000
@@ -1760,7 +1760,7 @@
ch = -1;
}
- if (ch >= 0200)
+ if (ch >= 0200 && multibyte)
j = (ch & 0x3F) | 0200;
else
j = *ptr;
@@ -1779,7 +1779,7 @@
while (1)
{
TRANSLATE (ch, inverse_trt, ch);
- if (ch >= 0200)
+ if (ch >= 0200 && multibyte)
j = (ch & 0x3F) | 0200;
else
j = ch;
=== modified file 'src/xdisp.c'
--- a/src/xdisp.c 2011-09-18 15:16:47 +0000
+++ b/src/xdisp.c 2011-09-18 15:21:57 +0000
@@ -27261,7 +27261,7 @@
{
int yb = window_text_bottom_y (w);
struct glyph_row *row;
- int cursor_cleared_p;
+ int cursor_cleared_p, phys_cursor_on_p;
struct glyph_row *first_overlapping_row, *last_overlapping_row;
TRACE ((stderr, "expose_window (%d, %d, %d, %d)\n",
@@ -27281,6 +27281,13 @@
else
cursor_cleared_p = 0;
+ /* If the row containing the cursor extends face to end of line,
+ then expose_area might overwrite the cursor outside the
+ rectangle and thus notice_overwritten_cursor might clear
+ w->phys_cursor_on_p. We remember the original value and
+ check later if it is changed. */
+ phys_cursor_on_p = w->phys_cursor_on_p;
+
/* Update lines intersecting rectangle R. */
first_overlapping_row = last_overlapping_row = NULL;
for (row = w->current_matrix->rows;
@@ -27347,7 +27354,8 @@
x_draw_vertical_border (w);
/* Turn the cursor on again. */
- if (cursor_cleared_p)
+ if (cursor_cleared_p
+ || (phys_cursor_on_p && !w->phys_cursor_on_p))
update_window_cursor (w, 1);
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r105820: Merge changes from emacs-23 branch,
Chong Yidong <=