]> code.delx.au - gnu-emacs/blobdiff - src/indent.h
(syms_of_buffer): Doc fix.
[gnu-emacs] / src / indent.h
index 04fae3d036ce894a74b623ba9638fc0ceaf25b46..9e6a6f03821498db25133f0146a841417b5937bc 100644 (file)
@@ -15,8 +15,26 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+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
   {
@@ -25,6 +43,10 @@ struct position
     int vpos;
     int prevhpos;
     int contin;
+    /* 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 ();