view src/indent.h @ 22991:313091cd2751

(reftex-reparse-document): Renamed from `reftex-parse-document'. (reftex-string-to-label): Splitting string on "\W+" now (better for other languages). (reftex-expand-path, reftex-find-file-on-path, reftex-access-search-path, reftex-find-tex-file, reftex-find-bib-file): Function rewritten. (reftex-toc-show-insertion-point, reftex-plug-into-AUCTeX-now, reftex-toggle-auto-view-crossref): New commands. (reftex-abbreviate-title, reftex-view-crossref-when-idle, reftex-echo-ref, reftex-echo-cite, reftex-make-cite-echo-string, reftex-verified-face, reftex-new-section-callback, reftex-change-hook, reftex-figure-out-cite-format, reftex-restrict-bib-matches, reftex-ensure-compiled-variables, reftex-select-with-char): New functions. (reftex-delete-list): Function removed (reftex-cache-variables): New constant. (reftex-bibfile-ignore-regexps): Renamed from `reftex-bibfile-ignore-list'. (reftex-locate-bibliography-files): Use changed option `reftex-bibfile-ignore-regexps'. (reftex-reset-mode): Also remove parse file. (reftex-view-crossref): No longer displays when inside comments. (reftex-show-entry): Adapted for new outline mode. (reftex-select-label-mode): set syntax table. (reftex-compile-variables): renamed from reftex-compute-ref-cite-tables. Now caches computed values for different documents. (reftex-label-alist-external-add-ons): Variable removed. Functionality went into a property of the `reftex-docstruct-symbol'. (reftex-add-to-label-alist): Use property `reftex-label-alist-style'. (reftex-set-cite-format, reftex-get-cite-format, (reftex-query-label-type, reftex-select-external-document, reftex-citation): Use `reftex-select-with-char'. (reftex-arg-label,reftex-arg-cite): Now actually works :-). (reftex-parse-bibtex-entry): buffer "*RefTeX-scratch*" renamed to " *RefTeX-scratch*", to make is a hidden buffer. (reftex-make-and-insert-label-list): Checking if note is a string. (reftex-access-parse-file): Catch exceptions while loading the file. (reftex-keep-temporary-buffers, reftex-initialize-temporary-buffers): Customization group changed. (reftex-auto-view-crossref): New option. (reftex-auto-view-crossref-timer): New variable. (reftex-refontify): Adapted for future versions of x-symbol. (reftex-make-and-insert-label-list): Set modification flag when updating an entry. Add face property to toc line. (reftex-do-parse): Set modification flag, do not write parse file. (reftex-label): Set the modification flag when adding to docstruct list. (reftex-access-parse-file): Clear the modification flag. (reftex-kill-buffer-hook, reftex-kill-emacs-hook): New hooks. Installed in `kill-buffer-hook' and `kill-emacs-hook'. (reftex-toc): Add face property to section heading. (reftex-section-info): No longer add face property. (reftex-pop-to-bibtex-entry): Can use echo area for display. (reftex-view-crossref): Additional argument ECHO. (reftex-format-citation): %T and %B for abbreviated titles. (reftex-what-macro): WHICH can also be 1 to get just one enclosing macro. (reftex-customize): Removed check for old custom versions. (reftex-do-citation): cleaned up.
author Carsten Dominik <dominik@science.uva.nl>
date Mon, 10 Aug 1998 13:53:02 +0000
parents 64b4e34d34c2
children 488e6b8dc9ae
line wrap: on
line source

/* Definitions for interface to indent.c
   Copyright (C) 1985, 1986 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 2, 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; see the file COPYING.  If not, write to
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
  {
    int bufpos;
    int bytepos;
    int hpos;
    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 ();
struct position *vmotion ();

/* Value of point when current_column was called */
extern int last_known_column_point;

/* Functions for dealing with the column cache.  */

/* Return true iff 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.  */
extern int disptab_matches_widthtab ( /* struct Lisp_Vector *disptab,
                                         struct Lisp_Vector *widthtab */ );

/* Recompute BUF's width table, using the display table DISPTAB.  */
extern void recompute_width_table ( /* struct buffer *buf,
                                       struct Lisp_Vector *disptab */ );