annotate lisp/textmodes/page.el @ 71710:dbbc0b93cfeb

(Forcing Redisplay, Displaying Messages, Temporary Displays, Font Selection, Auto Faces, Font Lookup, Fringe Indicators, Display Margins, Image Descriptors, Showing Images, Image Cache, Button Types, Making Buttons, Manipulating Buttons, Button Buffer Commands, Display Table Format, Glyphs): Remove @tindex.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 08 Jul 2006 18:11:49 +0000
parents 067115a6e738
children f7702c5f335d c5406394f567
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
38412
253f761ad37b Some fixes to follow coding conventions in files maintained by FSF.
Pavel Janík <Pavel@Janik.cz>
parents: 20068
diff changeset
1 ;;; page.el --- page motion commands for Emacs
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 236
diff changeset
2
68648
067115a6e738 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 65435
diff changeset
3 ;; Copyright (C) 1985, 2002, 2003, 2004, 2005,
067115a6e738 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 65435
diff changeset
4 ;; 2006 Free Software Foundation, Inc.
846
20674ae6bf52 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 807
diff changeset
5
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
6 ;; Maintainer: FSF
38697
a19197c6442f Keyword added and FSF specified as Maintainer.
Pavel Janík <Pavel@Janik.cz>
parents: 38412
diff changeset
7 ;; Keywords: wp convenience
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
8
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
9 ;; This file is part of GNU Emacs.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
10
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
11 ;; GNU Emacs is free software; you can redistribute it and/or modify
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
13 ;; the Free Software Foundation; either version 2, or (at your option)
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
14 ;; any later version.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
15
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
19 ;; GNU General Public License for more details.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
20
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
21 ;; You should have received a copy of the GNU General Public License
14169
83f275dcd93a Update FSF's address.
Erik Naggum <erik@naggum.no>
parents: 14160
diff changeset
22 ;; along with GNU Emacs; see the file COPYING. If not, write to the
64084
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
23 ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
a8fa7c632ee4 Update FSF's address.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
24 ;; Boston, MA 02110-1301, USA.
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
25
2308
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1080
diff changeset
26 ;;; Commentary:
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1080
diff changeset
27
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1080
diff changeset
28 ;; This code provides the page-oriented movement and selection commands
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1080
diff changeset
29 ;; documented in the Emacs manual.
f287613dfc28 Added or corrected Commentary sections
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 1080
diff changeset
30
807
4f28bd14272c *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 659
diff changeset
31 ;;; Code:
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
32
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
33 (defun forward-page (&optional count)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
34 "Move forward to page boundary. With arg, repeat, or go back if negative.
236
25644943fb13 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 36
diff changeset
35 A page boundary is any line whose beginning matches the regexp
25644943fb13 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 36
diff changeset
36 `page-delimiter'."
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
37 (interactive "p")
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
38 (or count (setq count 1))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
39 (while (and (> count 0) (not (eobp)))
1080
8f64d3122435 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 846
diff changeset
40 ;; In case the page-delimiter matches the null string,
8f64d3122435 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 846
diff changeset
41 ;; don't find a match without moving.
8f64d3122435 entered into RCS
Richard M. Stallman <rms@gnu.org>
parents: 846
diff changeset
42 (if (bolp) (forward-char 1))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
43 (if (re-search-forward page-delimiter nil t)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
44 nil
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
45 (goto-char (point-max)))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
46 (setq count (1- count)))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
47 (while (and (< count 0) (not (bobp)))
14160
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
48 ;; In case the page-delimiter matches the null string,
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
49 ;; don't find a match without moving.
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
50 (and (save-excursion (re-search-backward page-delimiter nil t))
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
51 (= (match-end 0) (point))
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
52 (goto-char (match-beginning 0)))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
53 (forward-char -1)
14160
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
54 (if (re-search-backward page-delimiter nil t)
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
55 ;; We found one--move to the end of it.
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
56 (goto-char (match-end 0))
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
57 ;; We found nothing--go to beg of buffer.
d85151c5699d (forward-page): Simplify how we avoid getting stuck when moving backwards.
Richard M. Stallman <rms@gnu.org>
parents: 8751
diff changeset
58 (goto-char (point-min)))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
59 (setq count (1+ count))))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
60
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
61 (defun backward-page (&optional count)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
62 "Move backward to page boundary. With arg, repeat, or go fwd if negative.
236
25644943fb13 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 36
diff changeset
63 A page boundary is any line whose beginning matches the regexp
25644943fb13 *** empty log message ***
Jim Blandy <jimb@redhat.com>
parents: 36
diff changeset
64 `page-delimiter'."
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
65 (interactive "p")
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
66 (or count (setq count 1))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
67 (forward-page (- count)))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
68
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
69 (defun mark-page (&optional arg)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
70 "Put mark at end of page, point at beginning.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
71 A numeric arg specifies to move forward or backward by that many pages,
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
72 thus marking a page other than the one point was originally in."
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
73 (interactive "P")
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
74 (setq arg (if arg (prefix-numeric-value arg) 0))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
75 (if (> arg 0)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
76 (forward-page arg)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
77 (if (< arg 0)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
78 (forward-page (1- arg))))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
79 (forward-page)
2825
bddd28afcc26 (mark-page): Activate the mark.
Richard M. Stallman <rms@gnu.org>
parents: 2308
diff changeset
80 (push-mark nil t t)
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
81 (forward-page -1))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
82
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
83 (defun narrow-to-page (&optional arg)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
84 "Make text outside current page invisible.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
85 A numeric arg specifies to move forward or backward by that many pages,
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
86 thus showing a page other than the one point was originally in."
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
87 (interactive "P")
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
88 (setq arg (if arg (prefix-numeric-value arg) 0))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
89 (save-excursion
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
90 (widen)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
91 (if (> arg 0)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
92 (forward-page arg)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
93 (if (< arg 0)
16525
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
94 (let ((adjust 0)
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
95 (opoint (point)))
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
96 ;; If we are not now at the beginning of a page,
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
97 ;; move back one extra time, to get to the start of this page.
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
98 (save-excursion
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
99 (beginning-of-line)
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
100 (or (and (looking-at page-delimiter)
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
101 (eq (match-end 0) opoint))
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
102 (setq adjust 1)))
521d5794ac2b (narrow-to-page): With negative arg, move back one extra
Richard M. Stallman <rms@gnu.org>
parents: 14169
diff changeset
103 (forward-page (- arg adjust)))))
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
104 ;; Find the end of the page.
20068
9c4fd611c3ec (narrow-to-page): Check whether forward-page
Karl Heuer <kwzh@gnu.org>
parents: 16525
diff changeset
105 (set-match-data nil)
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
106 (forward-page)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
107 ;; If we stopped due to end of buffer, stay there.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
108 ;; If we stopped after a page delimiter, put end of restriction
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
109 ;; at the beginning of that line.
20068
9c4fd611c3ec (narrow-to-page): Check whether forward-page
Karl Heuer <kwzh@gnu.org>
parents: 16525
diff changeset
110 ;; Before checking the match that was found,
9c4fd611c3ec (narrow-to-page): Check whether forward-page
Karl Heuer <kwzh@gnu.org>
parents: 16525
diff changeset
111 ;; verify that forward-page actually set the match data.
9c4fd611c3ec (narrow-to-page): Check whether forward-page
Karl Heuer <kwzh@gnu.org>
parents: 16525
diff changeset
112 (if (and (match-beginning 0)
9c4fd611c3ec (narrow-to-page): Check whether forward-page
Karl Heuer <kwzh@gnu.org>
parents: 16525
diff changeset
113 (save-excursion
9c4fd611c3ec (narrow-to-page): Check whether forward-page
Karl Heuer <kwzh@gnu.org>
parents: 16525
diff changeset
114 (goto-char (match-beginning 0)) ; was (beginning-of-line)
9c4fd611c3ec (narrow-to-page): Check whether forward-page
Karl Heuer <kwzh@gnu.org>
parents: 16525
diff changeset
115 (looking-at page-delimiter)))
65435
f869318329b5 (narrow-to-page): Exclude _entire_ multi-line delimiter from the region
Eli Zaretskii <eliz@gnu.org>
parents: 64751
diff changeset
116 (goto-char (match-beginning 0))) ; was (beginning-of-line)
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
117 (narrow-to-region (point)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
118 (progn
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
119 ;; Find the top of the page.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
120 (forward-page -1)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
121 ;; If we found beginning of buffer, stay there.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
122 ;; If extra text follows page delimiter on same line,
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
123 ;; include it.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
124 ;; Otherwise, show text starting with following line.
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
125 (if (and (eolp) (not (bobp)))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
126 (forward-line 1))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
127 (point)))))
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 236
diff changeset
128 (put 'narrow-to-page 'disabled t)
36
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
129
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
130 (defun count-lines-page ()
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
131 "Report number of lines on current page, and how many are before or after point."
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
132 (interactive)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
133 (save-excursion
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
134 (let ((opoint (point)) beg end
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
135 total before after)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
136 (forward-page)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
137 (beginning-of-line)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
138 (or (looking-at page-delimiter)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
139 (end-of-line))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
140 (setq end (point))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
141 (backward-page)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
142 (setq beg (point))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
143 (setq total (count-lines beg end)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
144 before (count-lines beg opoint)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
145 after (count-lines opoint end))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
146 (message "Page has %d lines (%d + %d)" total before after))))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
147
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
148 (defun what-page ()
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
149 "Print page and line number of point."
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
150 (interactive)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
151 (save-restriction
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
152 (widen)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
153 (save-excursion
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
154 (beginning-of-line)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
155 (let ((count 1)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
156 (opoint (point)))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
157 (goto-char 1)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
158 (while (re-search-forward page-delimiter opoint t)
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
159 (setq count (1+ count)))
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
160 (message "Page %d, line %d"
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
161 count
9697c13298e5 Initial revision
Joseph Arceneaux <jla@gnu.org>
parents:
diff changeset
162 (1+ (count-lines (point) opoint)))))))
5022
61203f0197e8 Add `provide'.
Richard M. Stallman <rms@gnu.org>
parents: 2825
diff changeset
163
61203f0197e8 Add `provide'.
Richard M. Stallman <rms@gnu.org>
parents: 2825
diff changeset
164 ;;; Place `provide' at end of file.
61203f0197e8 Add `provide'.
Richard M. Stallman <rms@gnu.org>
parents: 2825
diff changeset
165 (provide 'page)
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 236
diff changeset
166
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 38697
diff changeset
167 ;;; arch-tag: e8d7a0bd-8655-4b6e-b852-f2ee25316a1d
659
505130d1ddf8 *** empty log message ***
Eric S. Raymond <esr@snark.thyrsus.com>
parents: 236
diff changeset
168 ;;; page.el ends here