X-Git-Url: http://git.hcoop.net/bpt/emacs.git/blobdiff_plain/a974cdce9b9121158e623a3fab6ad731ff5d48ec..1ff87d470b1c960988ba054eb108f1c50d591336:/src/region-cache.h diff --git a/src/region-cache.h b/src/region-cache.h index 8e1be71677..4b9d519fcb 100644 --- a/src/region-cache.h +++ b/src/region-cache.h @@ -1,7 +1,7 @@ /* Header file: Caching facts about regions of the buffer, for optimization. -Copyright (C) 1985-1986, 1993, 1995, 2001-2011 - Free Software Foundation, Inc. +Copyright (C) 1985-1986, 1993, 1995, 2001-2014 Free Software Foundation, +Inc. This file is part of GNU Emacs. @@ -40,7 +40,7 @@ along with GNU Emacs. If not, see . */ existing data structure, and disturb as little of the existing code as possible. - So here's the tack. We add some caching to the scan_buffer + So here's the tack. We add some caching to the find_newline function, so that when it searches for a newline, it notes that the region between the start and end of the search contained no newlines; then, the next time around, it consults this cache to see @@ -89,24 +89,19 @@ extern void invalidate_region_cache (struct buffer *BUF, /* The scanning functions. Basically, if you're scanning forward/backward from position POS, - and region_cache_forward/backward returns true, you can skip all - the text between POS and *NEXT. And if the function returns false, + and region_cache_forward/backward returns nonzero, you can skip all + the text between POS and *NEXT. And if the function returns zero, you should examine all the text from POS to *NEXT, and call know_region_cache depending on what you find there; this way, you might be able to avoid scanning it again. */ -/* Return true if the text immediately after POS in BUF is known, for - the purposes of CACHE. If NEXT is non-zero, set *NEXT to the nearest - position after POS where the knownness changes. */ -extern int region_cache_forward (struct buffer *BUF, - struct region_cache *CACHE, - ptrdiff_t POS, - ptrdiff_t *NEXT); - -/* Return true if the text immediately before POS in BUF is known, for - the purposes of CACHE. If NEXT is non-zero, set *NEXT to the nearest - position before POS where the knownness changes. */ -extern int region_cache_backward (struct buffer *BUF, - struct region_cache *CACHE, - ptrdiff_t POS, - ptrdiff_t *NEXT); +/* Return the value for the text immediately after POS in BUF if the value + is known, for the purposes of CACHE, and return zero otherwise. + If NEXT is non-zero, set *NEXT to the nearest + position after POS where the knowledge changes. */ +extern int region_cache_forward (struct buffer *buf, struct region_cache *c, + ptrdiff_t pos, ptrdiff_t *next); + +/* Likewise, except before POS rather than after POS. */ +extern int region_cache_backward (struct buffer *buf, struct region_cache *c, + ptrdiff_t pos, ptrdiff_t *next);