]> git.eshelyaron.com Git - emacs.git/commitdiff
(next_element_from_composition): Set it->object to
authorYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fri, 2 Jun 2006 09:39:54 +0000 (09:39 +0000)
committerYAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
Fri, 2 Jun 2006 09:39:54 +0000 (09:39 +0000)
it->string if composition is coming from string.
(set_cursor_from_row): Don't return 0 unless row displays a
continued line.
(dump_glyph): Dump composite glyph.

src/ChangeLog
src/xdisp.c

index a3c92e6f1a1970b0077f40cbdefed886a7f31ec1..dccebac3ec56cd3522b828303fc4f6b9fc115c16 100644 (file)
@@ -1,3 +1,11 @@
+2006-06-02  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
+
+       * xdisp.c (next_element_from_composition): Set it->object to
+       it->string if composition is coming from string.
+       (set_cursor_from_row): Don't return 0 unless row displays a
+       continued line.
+       (dump_glyph): Dump composite glyph.
+       
 2006-06-02  Jan Dj\e,Ad\e(Brv  <jan.h.d@swipnet.se>
 
        * gtkutil.c (menu_nav_ended): Check that menubar_widget is not NULL.
index aa0625532ab70a43088516ba5c86d2901358f62e..80237e89fa1b60c4ebd3093542b1517f066cd3d0 100644 (file)
@@ -6238,6 +6238,8 @@ next_element_from_composition (it)
   it->position = (STRINGP (it->string)
                  ? it->current.string_pos
                  : it->current.pos);
+  if (STRINGP (it->string))
+    it->object = it->string;
   return 1;
 }
 
@@ -11777,7 +11779,7 @@ set_cursor_from_row (w, row, matrix, delta, delta_bytes, dy, dvpos)
 
       /* If we reached the end of the line, and end was from a string,
         cursor is not on this line.  */
-      if (glyph == end)
+      if (glyph == end && row->continued_p)
        return 0;
     }
 
@@ -14961,6 +14963,25 @@ dump_glyph (row, glyph, area)
               glyph->left_box_line_p,
               glyph->right_box_line_p);
     }
+  else if (glyph->type == COMPOSITE_GLYPH)
+    {
+      fprintf (stderr,
+              "  %5d %4c %6d %c %3d 0x%05x %c %4d %1.1d%1.1d\n",
+              glyph - row->glyphs[TEXT_AREA],
+              '+',
+              glyph->charpos,
+              (BUFFERP (glyph->object)
+               ? 'B'
+               : (STRINGP (glyph->object)
+                  ? 'S'
+                  : '-')),
+              glyph->pixel_width,
+              glyph->u.cmp_id,
+              '.',
+              glyph->face_id,
+              glyph->left_box_line_p,
+              glyph->right_box_line_p);
+    }
 }