changeset 17018:f13a67b3ec8d

(struct position): New member tab_offset to accumulate tab offset.
author Karl Heuer <kwzh@gnu.org>
date Thu, 20 Feb 1997 06:41:36 +0000
parents 667a3686a447
children 481772010c86
files src/indent.h
diffstat 1 files changed, 18 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/indent.h	Thu Feb 20 06:40:53 1997 +0000
+++ b/src/indent.h	Thu Feb 20 06:41:36 1997 +0000
@@ -18,6 +18,23 @@
 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 Boston, MA 02111-1307, USA.  */
 
+/* We introduce new member `tab_offset'.  We need it because of the
+   existence of wide-column characters.  There is a case that the
+   line-break occurs at a wide-column character and the number of
+   colums of the line gets less than width.
+
+   Example (where W_ stands for a wide-column character):
+	     ----------
+	     abcdefgh\\
+	     W_      
+	     ----------
+
+   To handle this case, we should not calculate the tab offset by 
+  	tab_offset += width;
+
+   Instead, we must remember tab_offset of the line. 
+
+ */
 
 struct position
   {
@@ -29,6 +46,7 @@
     /* Number of characters we have already handled
        from the before and after strings at this position.  */
     int ovstring_chars_done;
+    int tab_offset;
   };
 
 struct position *compute_motion ();