emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r107061: Fix previous change for Bug#


From: Kenichi Handa
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r107061: Fix previous change for Bug#6988.
Date: Thu, 02 Feb 2012 18:12:42 +0900
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 107061 [merge]
committer: Kenichi Handa <address@hidden>
branch nick: trunk
timestamp: Thu 2012-02-02 18:12:42 +0900
message:
  Fix previous change for Bug#6988.
modified:
  lisp/ChangeLog
  lisp/composite.el
  src/ChangeLog
  src/xdisp.c
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2012-02-02 07:48:39 +0000
+++ b/lisp/ChangeLog    2012-02-02 09:12:08 +0000
@@ -12,6 +12,10 @@
 
 2012-02-02  Kenichi Handa  <address@hidden>
 
+       * (compose-region): Cancel previous change.
+
+2012-02-02  Kenichi Handa  <address@hidden>
+
        * composite.el (compose-region, compose-string): Signal error for
        a null string component (Bug#6988).
 

=== modified file 'lisp/composite.el'
--- a/lisp/composite.el 2012-02-02 00:30:09 +0000
+++ b/lisp/composite.el 2012-02-02 09:07:29 +0000
@@ -211,7 +211,7 @@
 If it is a character, it is an alternate character to display instead
 of the text in the region.
 
-If it is a string, the elements are one or more alternate characters.  In
+If it is a string, the elements are alternate characters.  In
 this case, TAB element has a special meaning.  If the first
 character is TAB, the glyphs are displayed with left padding space
 so that no pixel overlaps with the previous column.  If the last
@@ -234,9 +234,7 @@
   (let ((modified-p (buffer-modified-p))
        (inhibit-read-only t))
     (if (or (vectorp components) (listp components))
-       (setq components (encode-composition-components components))
-      (if (= (length components) 0)
-         (error "Invalid composition component: %s" components)))
+       (setq components (encode-composition-components components)))
     (compose-region-internal start end components modification-func)
     (restore-buffer-modified-p modified-p)))
 
@@ -269,9 +267,7 @@
 adjust the composition when it gets invalid because of a change of
 text in the composition."
   (if (or (vectorp components) (listp components))
-      (setq components (encode-composition-components components))
-    (if (= (length components) 0)
-       (error "Invalid composition component: %s" components)))
+      (setq components (encode-composition-components components)))
   (or start (setq start 0))
   (or end (setq end (length string)))
   (compose-string-internal string start end components modification-func)

=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-02-02 07:21:20 +0000
+++ b/src/ChangeLog     2012-02-02 09:12:08 +0000
@@ -10,6 +10,11 @@
 
 2012-02-02  Kenichi Handa  <address@hidden>
 
+       (x_produce_glyphs): Cancel previous change.  If cmp->glyph_len is
+       0, do not call append_composite_glyph.
+
+2012-02-02  Kenichi Handa  <address@hidden>
+
        * xdisp.c (BUILD_COMPOSITE_GLYPH_STRING): Initialize first_s to
        NULL (Bug#6988).
        (x_produce_glyphs): If the component of a composition is a null

=== modified file 'src/xdisp.c'
--- a/src/xdisp.c       2012-02-02 00:30:09 +0000
+++ b/src/xdisp.c       2012-02-02 09:07:29 +0000
@@ -24595,10 +24595,6 @@
        it->glyph_row->contains_overlapping_glyphs_p = 1;
 
       it->pixel_width = cmp->pixel_width;
-      if (it->pixel_width == 0)
-       /* We assure that all visible glyphs have at least 1-pixel
-          width.  */
-       it->pixel_width = 1;
       it->ascent = it->phys_ascent = cmp->ascent;
       it->descent = it->phys_descent = cmp->descent;
       if (face->box != FACE_NO_BOX)
@@ -24630,7 +24626,7 @@
       if (it->descent < 0)
        it->descent = 0;
 
-      if (it->glyph_row)
+      if (it->glyph_row && cmp->glyph_len > 0)
        append_composite_glyph (it);
     }
   else if (it->what == IT_COMPOSITION)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]