-/* Definitions for interface to indent.c
- Copyright (C) 1985, 1986, 2001, 2002, 2003, 2004,
- 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
-
-/* 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
- {
- EMACS_INT bufpos;
- EMACS_INT bytepos;
- EMACS_INT hpos;
- EMACS_INT vpos;
- EMACS_INT prevhpos;
- EMACS_INT contin;
- /* Number of characters we have already handled
- from the before and after strings at this position. */
- EMACS_INT ovstring_chars_done;
- EMACS_INT tab_offset;
- };
-
-struct position *compute_motion P_ ((EMACS_INT from, EMACS_INT fromvpos,
- EMACS_INT fromhpos, int did_motion,
- EMACS_INT to, EMACS_INT tovpos,
- EMACS_INT tohpos,
- EMACS_INT width, EMACS_INT hscroll,
- EMACS_INT tab_offset, struct window *));
-struct position *vmotion P_ ((EMACS_INT from, EMACS_INT vtarget,
- struct window *));
-EMACS_INT skip_invisible P_ ((EMACS_INT pos, EMACS_INT *next_boundary_p,
- EMACS_INT to, Lisp_Object window));
-
-/* Value of point when current_column was called */
-extern EMACS_INT last_known_column_point;
-
-/* Functions for dealing with the column cache. */
-
-/* Return true if the display table DISPTAB specifies the same widths
- for characters as WIDTHTAB. We use this to decide when to
- invalidate the buffer's column_cache. */
-int disptab_matches_widthtab P_ ((struct Lisp_Char_Table *disptab,
- struct Lisp_Vector *widthtab));
-
-/* Recompute BUF's width table, using the display table DISPTAB. */
-void recompute_width_table P_ ((struct buffer *buf,
- struct Lisp_Char_Table *disptab));
-
-
-/* arch-tag: f9feb373-5bff-4f4f-9198-94805d00cfd7
- (do not change this comment) */
+/* Definitions for interface to indent.c
+ Copyright (C) 1985-1986, 2001-2011 Free Software Foundation, Inc.
+
+This file is part of GNU Emacs.
+
+GNU Emacs is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
+
+struct position
+ {
+ ptrdiff_t bufpos;
+ ptrdiff_t bytepos;
+ EMACS_INT hpos;
+ EMACS_INT vpos;
+ EMACS_INT prevhpos;
+ int contin;
+ };
+
+struct position *compute_motion (ptrdiff_t from, EMACS_INT fromvpos,
+ EMACS_INT fromhpos, int did_motion,
+ ptrdiff_t to, EMACS_INT tovpos,
+ EMACS_INT tohpos,
+ EMACS_INT width, ptrdiff_t hscroll,
+ int tab_offset, struct window *);
+struct position *vmotion (ptrdiff_t from, EMACS_INT vtarget,
+ struct window *);
+ptrdiff_t skip_invisible (ptrdiff_t pos, ptrdiff_t *next_boundary_p,
+ ptrdiff_t to, Lisp_Object window);
+
+/* Value of point when current_column was called */
+extern ptrdiff_t last_known_column_point;
+
+/* Functions for dealing with the column cache. */
+
+/* Return true if the display table DISPTAB specifies the same widths
+ for characters as WIDTHTAB. We use this to decide when to
+ invalidate the buffer's column_cache. */
+int disptab_matches_widthtab (struct Lisp_Char_Table *disptab,
+ struct Lisp_Vector *widthtab);
+
+/* Recompute BUF's width table, using the display table DISPTAB. */
+void recompute_width_table (struct buffer *buf,
+ struct Lisp_Char_Table *disptab);