Mercurial > emacs
annotate lisp/textmodes/reftex-index.el @ 49612:407d6516031a
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Version 2.0.29 released.
* net/tramp.el (tramp-send-region): Protect against
tramp-chunksize being nil.
2003-02-04 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-handle-directory-file-name): Handle the case
PATH is "".
(tramp-completion-handle-file-name-all-completions): Define
`tramp-current-user' locally. See `tramp-parse-passwd'.
(tramp-parse-passwd): For su-alike methods it would be desirable
to return "root@localhost" as default. Unfortunately, we have no
information whether any user name has been typed already. So we
(mis-)use tramp-current-user as indication, assuming it is set in
`tramp-completion-handle-file-name-all-completions'.
(tramp-send-region): Handle the case `tramp-chunksize' is equal
0. I did it accidently. Infinite loop ...
* net/tramp-ftp.el (top-level): eval-after-load "ange-ftp"
'(tramp-disable-ange-ftp). Suggested by Kai.
(tramp-ftp-file-name-handler): `tramp-disable-ange-ftp' not needed
any longer.
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Apply
`tramp-handle-directory-file-name' in order to profit from Kai's
yesterday changes.
2003-02-03 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
* net/tramp.el (tramp-chunksize): Set default to 500 as workaround
for some ssh connections.
(tramp-handle-directory-file-name): New implementation. Not sure
if it works.
2003-01-28 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-get-device): `tramp-make-tramp-file-name'
must not be called with NIL path. It fails in case of
multi-method.
2003-01-27 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-file-name-for-operation): Apply
`expand-file-name' for relative file names only. Otherwise there
might be problems if the default directory is another Tramp
directory as the directory the file is based on.
(tramp-find-foreign-file-name-handler): Check whether FILENAME is
a Tramp file name. It isn't if it comes from an expanded file
name (like "/xx:yy//zz").
2003-01-25 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-devices): New variable. Keeps virtual
device numbers. Devices must distinguish physical file systems.
The device numbers provided by "lstat" aren't unique, because we
operate on different hosts. So we use virtual device numbers,
generated by `tramp-get-device'. Both Ange-FTP and EFS use device
number -1. In order to be different, we use device number (-1 x),
whereby "x" is unique for a given (multi-method method user host).
Suggested by Kai.
(tramp-perl-file-attributes): Always return device number -1.
There will be a virtual device number set in
`tramp-handle-file-attributes', which replaces this one.
(tramp-handle-file-attributes): Set virtual device number.
(tramp-get-device): New function. Returns the virtual device
number. If it doesn't exist, generate a new one.
(tramp-handle-file-regular-p): Use Emacs file name primitives
instead of calling tramp-handle-* equivalents directly. Needed
for tramp-smb.
* net/tramp-smb.el (tramp-smb-devices, tramp-smb-get-device): Removed.
Functionality moved to tramp.el.
(tramp-smb-handle-file-attributes): Apply
`tramp-get-device'. ATIME and CTIME are (0 0) now (= "don't
know"), which is more honest.
(tramp-smb-handle-make-directory): Use Emacs file name primitives
instead of calling tramp-smb-handle-* equivalents directly.
(tramp-smb-read-file-entry): Return size as a number but a string.
2003-01-24 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-completion-function-alist-ssh): Add parsing
of "/etc/ssh_config" and "~/.ssh/config". Suggested by Kai.
(tramp-completion-function-alist, tramp-set-completion-function):
Doc string update.
(tramp-parse-sconfig, tramp-parse-sconfig-group): New functions.
Provide parsing of "~/.ssh/config" style files.
2003-01-21 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-completion-handle-expand-file-name): Apply
`tramp-drop-volume-letter'. Otherwise, there are problems on W32
systems.
2003-01-21 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp-smb.el (tramp-smb-get-device, tramp-smb-get-inode): New
functions. Device number and inode number don't exist for SMB
files. Therefore we must generate virtual ones.
(tramp-smb-devices, tramp-smb-inodes): New variables. Keep
generated virtual device numbers and inodes numbers for SMB files.
(tramp-smb-handle-file-attributes): Apply them.
2003-01-14 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
* net/tramp.el (tramp-md5-function): Require md5 before checking
function md5. If using md5-encode, put wrapper around it that
converts vector of bytes to ascii text.
2003-01-13 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-completion-mode): Perform check (integerp
last-input-event) before (event-modifiers last-input-event) -
there might be problems if `last-input-event' is a mouse event.
2003-01-12 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp.el (tramp-parse-rhosts, tramp-parse-shosts)
(tramp-parse-hosts, tramp-parse-passwd, tramp-parse-netrc): Use
`file-readable-p' instead of `file-exists-p'. Otherwise these
functions might block. Reported by <kin@neoscale.com>.
2003-01-02 Michael Albinus <Michael.Albinus@alcatel.de>
* net/tramp-ftp.el (top-level): Defaults for
`tramp-default-method-alist' must be a list.
* net/tramp-smb.el (top-level): Defaults for
`tramp-default-method-alist' must be a list.
2003-01-02 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
* net/tramp.el (top-level): Avoid byte-compiler warnings of unused
variables if the byte-compiler supports this. This is for the
with-parsed-tramp-file-name macro which is wont to produce such
stuff.
author | Kai Großjohann <kgrossjo@eu.uu.net> |
---|---|
date | Wed, 05 Feb 2003 21:03:36 +0000 |
parents | 5ade352e8d1c |
children | 27340819ef07 d7ddb3e565de |
rev | line source |
---|---|
38422
7a94f1c588c4
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
37998
diff
changeset
|
1 ;;; reftex-index.el --- index support with RefTeX |
27192
f70a80cecdd3
New version number.
Carsten Dominik <dominik@science.uva.nl>
parents:
27035
diff
changeset
|
2 ;; Copyright (c) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. |
27035 | 3 |
46612
7522419c4db0
Updated to reftex 4.17
Carsten Dominik <dominik@science.uva.nl>
parents:
41784
diff
changeset
|
4 ;; Author: Carsten Dominik <dominik@science.uva.nl> |
46683
060f433ebf11
Updated to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents:
46612
diff
changeset
|
5 ;; Version: 4.18 |
27035 | 6 |
7 ;; This file is part of GNU Emacs. | |
8 | |
9 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
10 ;; it under the terms of the GNU General Public License as published by | |
11 ;; the Free Software Foundation; either version 2, or (at your option) | |
12 ;; any later version. | |
13 | |
14 ;; GNU Emacs is distributed in the hope that it will be useful, | |
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 ;; GNU General Public License for more details. | |
18 | |
19 ;; You should have received a copy of the GNU General Public License | |
20 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
22 ;; Boston, MA 02111-1307, USA. | |
25280 | 23 |
38422
7a94f1c588c4
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
37998
diff
changeset
|
24 ;;; Commentary: |
7a94f1c588c4
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
37998
diff
changeset
|
25 |
7a94f1c588c4
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
37998
diff
changeset
|
26 ;;; Code: |
7a94f1c588c4
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
37998
diff
changeset
|
27 |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
28 (eval-when-compile (require 'cl)) |
25280 | 29 (provide 'reftex-index) |
30 (require 'reftex) | |
31 ;;; | |
32 | |
47050
904fd28be439
Update to RefTeX 4.19
Carsten Dominik <dominik@science.uva.nl>
parents:
46683
diff
changeset
|
33 ;; START remove for XEmacs release |
25280 | 34 (defvar mark-active) |
35 (defvar zmacs-regions) | |
25802
4c4fabd16782
Version number change
Carsten Dominik <dominik@science.uva.nl>
parents:
25280
diff
changeset
|
36 (defvar transient-mark-mode) |
47050
904fd28be439
Update to RefTeX 4.19
Carsten Dominik <dominik@science.uva.nl>
parents:
46683
diff
changeset
|
37 ;; END remove for XEmacs release |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
38 (defun reftex-index-selection-or-word (&optional arg phrase) |
25280 | 39 "Put selection or the word near point into the default index macro. |
40 This uses the information in `reftex-index-default-macro' to make an index | |
41 entry. The phrase indexed is the current selection or the word near point. | |
42 When called with one `C-u' prefix, let the user have a chance to edit the | |
43 index entry. When called with 2 `C-u' as prefix, also ask for the index | |
44 macro and other stuff. | |
45 When called inside TeX math mode as determined by the `texmathp.el' library | |
46 which is part of AUCTeX, the string is first processed with the | |
47 `reftex-index-math-format', which see." | |
48 (interactive "P") | |
49 (let* ((use-default (not (equal arg '(16)))) ; check for double prefix | |
50 ;; check if we have an active selection | |
51 (active (if (boundp 'zmacs-regions) | |
52 (and zmacs-regions (region-exists-p)) ; XEmacs | |
53 (and transient-mark-mode mark-active))) ; Emacs | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
54 (beg (if active |
25280 | 55 (region-beginning) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
56 (save-excursion |
25280 | 57 (skip-syntax-backward "w\\") (point)))) |
58 (end (if active | |
59 (region-end) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
60 (save-excursion |
25280 | 61 (skip-syntax-forward "w\\") (point)))) |
62 (sel (buffer-substring beg end)) | |
63 (mathp (condition-case nil (texmathp) (error nil))) | |
64 (current-prefix-arg nil) ; we want to call reftex-index without prefix. | |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
65 key def-char def-tag full-entry) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
66 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
67 (if phrase |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
68 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
69 (reftex-index-visit-phrases-buffer) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
70 (reftex-index-new-phrase sel)) |
25280 | 71 |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
72 (if (equal sel "") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
73 ;; Nothing selected, no word, so use full reftex-index command |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
74 (reftex-index) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
75 ;; OK, we have something to index here. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
76 ;; Add the dollars when necessary |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
77 (setq key (if mathp |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
78 (format reftex-index-math-format sel) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
79 sel)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
80 ;; Get info from `reftex-index-default-macro' |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
81 (setq def-char (if use-default (car reftex-index-default-macro))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
82 (setq def-tag (if use-default (nth 1 reftex-index-default-macro))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
83 ;; Does the user want to edit the entry? |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
84 (setq full-entry (if arg |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
85 (reftex-index-complete-key |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
86 def-tag nil (cons key 0)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
87 key)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
88 ;; Delete what is in the buffer and make the index entry |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
89 (delete-region beg end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
90 (reftex-index def-char full-entry def-tag sel))))) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
91 |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
92 (defun reftex-index (&optional char key tag sel no-insert) |
25280 | 93 "Query for an index macro and insert it along with its argments. |
94 The index macros available are those defined in `reftex-index-macro' or | |
95 by a call to `reftex-add-index-macros', typically from an AUCTeX style file. | |
96 RefteX provides completion for the index tag and the index key, and | |
97 will prompt for other arguments." | |
98 | |
99 (interactive) | |
100 | |
101 ;; Ensure access to scanning info | |
102 (reftex-ensure-index-support t) | |
103 (reftex-access-scan-info current-prefix-arg) | |
104 | |
105 ;; Find out which macro we are going to use | |
106 (let* ((char (or char | |
107 (reftex-select-with-char reftex-query-index-macro-prompt | |
108 reftex-query-index-macro-help))) | |
109 (macro (nth 1 (assoc char reftex-key-to-index-macro-alist))) | |
110 (entry (or (assoc macro reftex-index-macro-alist) | |
111 (error "No index macro associated with %c" char))) | |
112 (ntag (nth 1 entry)) | |
113 (tag (or tag (nth 1 entry))) | |
114 (nargs (nth 4 entry)) | |
115 (nindex (nth 5 entry)) | |
116 (opt-args (nth 6 entry)) | |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
117 (repeat (nth 7 entry)) |
25280 | 118 opt tag1 value) |
119 | |
120 ;; Get the supported arguments | |
121 (if (stringp tag) | |
122 (setq tag1 tag) | |
123 (setq tag1 (or (reftex-index-complete-tag tag opt-args) ""))) | |
124 (setq key (or key | |
125 (reftex-index-complete-key | |
126 (if (string= tag1 "") "idx" tag1) | |
127 (member nindex opt-args)))) | |
128 | |
129 ;; Insert the macro and ask for any additional args | |
130 (insert macro) | |
131 (loop for i from 1 to nargs do | |
132 (setq opt (member i opt-args) | |
133 value (cond ((= nindex i) key) | |
134 ((equal ntag i) tag1) | |
135 (t (read-string (concat "Macro arg nr. " | |
136 (int-to-string i) | |
137 (if opt " (optional)" "") | |
138 ": "))))) | |
139 (unless (and opt (string= value "")) | |
140 (insert (if opt "[" "{") value (if opt "]" "}")))) | |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
141 (and repeat (stringp sel) (insert sel)) |
25280 | 142 (and key reftex-plug-into-AUCTeX (fboundp 'LaTeX-add-index-entries) |
143 (LaTeX-add-index-entries key)) | |
144 (reftex-index-update-taglist tag1) | |
145 (reftex-notice-new))) | |
146 | |
147 (defun reftex-default-index () | |
148 (cond ((null reftex-index-default-tag) nil) | |
149 ((stringp reftex-index-default-tag) reftex-index-default-tag) | |
150 (t (or (get reftex-docstruct-symbol 'default-index-tag) | |
151 "idx")))) | |
152 | |
153 (defun reftex-update-default-index (tag &optional tag-list) | |
154 (if (and (not (equal tag "")) | |
155 (stringp tag) | |
156 (eq reftex-index-default-tag 'last) | |
157 (or (null tag-list) | |
158 (member tag tag-list))) | |
159 (put reftex-docstruct-symbol 'default-index-tag tag))) | |
160 | |
161 (defun reftex-index-complete-tag (&optional itag opt-args) | |
162 ;; Ask the user for a tag, completing on known tags. | |
163 ;; ITAG is the argument number which contains the tag. | |
164 ;; OPT-ARGS is a list of optional argument indices, as given by | |
165 ;; `reftex-parse-args'. | |
166 (let* ((opt (and (integerp itag) (member itag opt-args))) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
167 (index-tags (cdr (assq 'index-tags |
25280 | 168 (symbol-value reftex-docstruct-symbol)))) |
169 (default (reftex-default-index)) | |
170 (prompt (concat "Index tag" | |
171 (if default (format " (default: %s)" default) "") | |
172 (if opt " (optional)" "") ": ")) | |
173 (tag (completing-read prompt (mapcar 'list index-tags)))) | |
174 (if (and default (equal tag "")) (setq tag default)) | |
175 (reftex-update-default-index tag) | |
176 tag)) | |
177 | |
178 (defun reftex-index-select-tag () | |
179 ;; Have the user select an index tag. | |
180 ;; FIXME: should we cache tag-alist, prompt and help? | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
181 (let* ((index-tags (cdr (assoc 'index-tags |
25280 | 182 (symbol-value reftex-docstruct-symbol)))) |
183 (default (reftex-default-index))) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
184 (cond |
25280 | 185 ((null index-tags) |
186 (error "No index tags available")) | |
187 | |
188 ((= (length index-tags) 1) | |
189 ;; Just one index, use it | |
190 (car index-tags)) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
191 |
25280 | 192 ((> (length index-tags) 1) |
193 ;; Several indices, ask. | |
194 (let* ((tags (copy-sequence index-tags)) | |
195 (cnt 0) | |
196 tag-alist i val len tag prompt help rpl) | |
197 ;; Move idx and glo up in the list to ensure ?i and ?g shortcuts | |
198 (if (member "glo" tags) | |
199 (setq tags (cons "glo" (delete "glo" tags)))) | |
200 (if (member "idx" tags) | |
201 (setq tags (cons "idx" (delete "idx" tags)))) | |
202 ;; Find unique shortcuts for each index. | |
203 (while (setq tag (pop tags)) | |
204 (setq len (length tag) | |
205 i -1 | |
206 val nil) | |
207 (catch 'exit | |
208 (while (and (< (incf i) len) (null val)) | |
209 (unless (assq (aref tag i) tag-alist) | |
210 (push (list (aref tag i) | |
211 tag | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
212 (concat (substring tag 0 i) |
25280 | 213 "[" (substring tag i (incf i)) "]" |
214 (substring tag i))) | |
215 tag-alist) | |
216 (throw 'exit t))) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
217 (push (list (+ ?0 (incf cnt)) tag |
25280 | 218 (concat "[" (int-to-string cnt) "]:" tag)) |
219 tag-alist))) | |
220 (setq tag-alist (nreverse tag-alist)) | |
221 ;; Compute Prompt and Help strings | |
222 (setq prompt | |
223 (concat | |
224 (format "Select Index%s: " | |
225 (if default (format " (Default <%s>)" default) "")) | |
226 (mapconcat (lambda(x) (nth 2 x)) tag-alist " "))) | |
227 (setq help | |
228 (concat "Select an Index\n===============\n" | |
229 (if default | |
230 (format "[^M] %s (the default)\n" default) | |
231 "") | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
232 (mapconcat (lambda(x) |
25280 | 233 (apply 'format "[%c] %s" x)) |
234 tag-alist "\n"))) | |
235 ;; Query the user for an index-tag | |
236 (setq rpl (reftex-select-with-char prompt help 3 t)) | |
237 (message "") | |
238 (if (and default (equal rpl ?\C-m)) | |
239 default | |
240 (if (assq rpl tag-alist) | |
241 (progn | |
242 (reftex-update-default-index (nth 1 (assq rpl tag-alist))) | |
243 (nth 1 (assq rpl tag-alist))) | |
244 (error "No index tag associated with %c" rpl))))) | |
245 (t (error "This should not happen (reftex-index-select-tag)"))))) | |
246 | |
247 (defun reftex-index-complete-key (&optional tag optional initial) | |
248 ;; Read an index key, with completion. | |
249 ;; Restrict completion table on index tag TAG. | |
250 ;; OPTIONAL indicates if the arg is optional. | |
251 (let* ((table (reftex-sublist-nth | |
252 (symbol-value reftex-docstruct-symbol) 6 | |
253 (lambda(x) (and (eq (car x) 'index) | |
254 (string= (nth 1 x) (or tag "")))) | |
255 t)) | |
256 (prompt (concat "Index key" (if optional " (optional)" "") ": ")) | |
257 (key (completing-read prompt table nil nil initial))) | |
258 key)) | |
259 | |
260 (defun reftex-index-update-taglist (newtag) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
261 ;; add NEWTAG to the list of available index tags. |
25280 | 262 (let ((cell (assoc 'index-tags (symbol-value reftex-docstruct-symbol)))) |
263 (and newtag (cdr cell) (not (member newtag (cdr cell))) | |
264 (push newtag (cdr cell))))) | |
265 | |
266 (defvar reftex-index-map (make-sparse-keymap) | |
267 "Keymap used for *Index* buffers.") | |
268 | |
269 (defvar reftex-index-menu) | |
270 | |
271 (defvar reftex-last-index-file nil | |
272 "Stores the file name from which `reftex-display-index' was called.") | |
273 (defvar reftex-index-tag nil | |
274 "Stores the tag of the index in an index buffer.") | |
275 | |
276 (defvar reftex-index-return-marker (make-marker) | |
277 "Marker which makes it possible to return from index to old position.") | |
278 | |
279 (defvar reftex-index-restriction-indicator nil) | |
280 (defvar reftex-index-restriction-data nil) | |
281 | |
282 (defun reftex-index-mode () | |
283 "Major mode for managing Index buffers for LaTeX files. | |
284 This buffer was created with RefTeX. | |
285 Press `?' for a summary of important key bindings, or check the menu. | |
286 | |
287 Here are all local bindings. | |
288 | |
289 \\{reftex-index-map}" | |
290 (interactive) | |
291 (kill-all-local-variables) | |
292 (setq major-mode 'reftex-index-mode | |
293 mode-name "RefTeX Index") | |
294 (use-local-map reftex-index-map) | |
295 (set (make-local-variable 'revert-buffer-function) 'reftex-index-revert) | |
296 (set (make-local-variable 'reftex-index-restriction-data) nil) | |
297 (set (make-local-variable 'reftex-index-restriction-indicator) nil) | |
298 (setq mode-line-format | |
299 (list "---- " 'mode-line-buffer-identification | |
300 " " 'global-mode-string | |
301 " R<" 'reftex-index-restriction-indicator ">" | |
302 " -%-")) | |
303 (setq truncate-lines t) | |
46683
060f433ebf11
Updated to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents:
46612
diff
changeset
|
304 (when (featurep 'xemacs) |
060f433ebf11
Updated to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents:
46612
diff
changeset
|
305 ;; XEmacs needs the call to make-local-hook |
060f433ebf11
Updated to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents:
46612
diff
changeset
|
306 (make-local-hook 'post-command-hook) |
060f433ebf11
Updated to RefTeX 4.18
Carsten Dominik <dominik@science.uva.nl>
parents:
46612
diff
changeset
|
307 (make-local-hook 'pre-command-hook)) |
25280 | 308 (make-local-variable 'reftex-last-follow-point) |
309 (easy-menu-add reftex-index-menu reftex-index-map) | |
310 (add-hook 'post-command-hook 'reftex-index-post-command-hook nil t) | |
311 (add-hook 'pre-command-hook 'reftex-index-pre-command-hook nil t) | |
312 (run-hooks 'reftex-index-mode-hook)) | |
313 | |
314 (defconst reftex-index-help | |
315 " AVAILABLE KEYS IN INDEX BUFFER | |
316 ============================== | |
317 ! A..Z Goto the section of entries starting with this letter. | |
318 n / p next-entry / previous-entry | |
319 SPC / TAB Show/Goto the corresponding entry in the LaTeX document. | |
320 RET Goto the entry and hide the *Index* window (also on mouse-2). | |
321 q / k Hide/Kill *Index* buffer. | |
322 C-c = Switch to the TOC buffer. | |
323 f / c Toggle follow mode / Toggle display of [c]ontext. | |
324 g Refresh *Index* buffer. | |
325 r / C-u r Reparse the LaTeX document / Reparse entire LaTeX document. | |
326 s Switch to a different index (for documents with multiple indices). | |
327 e / C-k Edit/Kill the entry. | |
328 * | @ Edit specific part of entry: [*]key [|]attribute [@]visual | |
329 With prefix: kill that part. | |
41301 | 330 \( ) Toggle entry's beginning/end of page range property. |
25280 | 331 _ ^ Add/Remove parent key (to make this item a subitem). |
332 } / { Restrict Index to a single document section / Widen. | |
333 < / > When restricted, move restriction to previous/next section.") | |
334 | |
335 (defun reftex-index-show-entry (data &optional no-revisit) | |
336 ;; Find an index entry associated with DATA and display it highlighted | |
337 ;; in another window. NO-REVISIT means we are not allowed to visit | |
338 ;; files for this. | |
339 ;; Note: This function just looks for the nearest match of the | |
340 ;; context string and may fail if the entry moved and an identical | |
341 ;; entry is close to the old position. Frequent rescans make this | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
342 ;; safer. |
25280 | 343 (let* ((file (nth 3 data)) |
344 (literal (nth 2 data)) | |
345 (pos (nth 4 data)) | |
346 (re (regexp-quote literal)) | |
347 (match | |
348 (cond | |
349 ((or (not no-revisit) | |
350 (reftex-get-buffer-visiting file)) | |
351 (switch-to-buffer-other-window | |
352 (reftex-get-file-buffer-force file nil)) | |
353 (goto-char (or pos (point-min))) | |
354 (or (looking-at re) | |
355 (reftex-nearest-match re (length literal)))) | |
356 (t (message reftex-no-follow-message) nil)))) | |
357 (when match | |
358 (goto-char (match-beginning 0)) | |
359 (recenter '(4)) | |
360 (reftex-highlight 0 (match-beginning 0) (match-end 0) (current-buffer))) | |
361 match)) | |
362 | |
363 (defun reftex-display-index (&optional tag overriding-restriction | |
364 &rest locations) | |
365 "Display a buffer with an index compiled from the current document. | |
366 When the document has multiple indices, first prompts for the correct one. | |
367 When index support is turned off, offer to turn it on. | |
368 With one or two `C-u' prefixes, rescan document first. | |
369 With prefix 2, restrict index to current document section. | |
370 With prefix 3, restrict index to region." | |
371 | |
372 (interactive) | |
373 | |
374 ;; Ensure access to scanning info and rescan buffer if prefix are is '(4). | |
375 (let ((current-prefix-arg current-prefix-arg)) | |
376 (reftex-ensure-index-support t) | |
377 (reftex-access-scan-info current-prefix-arg)) | |
378 | |
379 (set-marker reftex-index-return-marker (point)) | |
380 (setq reftex-last-follow-point 1) | |
381 | |
382 ;; Determine the correct index to process | |
383 (let* ((docstruct (symbol-value reftex-docstruct-symbol)) | |
384 (docstruct-symbol reftex-docstruct-symbol) | |
385 (index-tag (or tag (reftex-index-select-tag))) | |
386 (master (reftex-TeX-master-file)) | |
387 (calling-file (buffer-file-name)) | |
388 (restriction | |
389 (or overriding-restriction | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
390 (and (interactive-p) |
25280 | 391 (reftex-get-restriction current-prefix-arg docstruct)))) |
392 (locations | |
393 ;; See if we are on an index macro as initial position | |
394 (or locations | |
395 (let* ((what-macro (reftex-what-macro-safe 1)) | |
396 (macro (car what-macro)) | |
397 (here-I-am (when (member macro reftex-macros-with-index) | |
398 (save-excursion | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
399 (goto-char (+ (cdr what-macro) |
25280 | 400 (length macro))) |
401 (reftex-move-over-touching-args) | |
402 (reftex-where-am-I))))) | |
403 (if (eq (car (car here-I-am)) 'index) | |
404 (list (car here-I-am)))))) | |
405 buffer-name) | |
406 | |
407 (setq buffer-name (reftex-make-index-buffer-name index-tag)) | |
408 | |
409 ;; Goto the buffer and put it into the correct mode | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
410 |
25280 | 411 (when (or restriction current-prefix-arg) |
412 (reftex-kill-buffer buffer-name)) | |
413 | |
414 (if (get-buffer-window buffer-name) | |
415 (select-window (get-buffer-window buffer-name)) | |
416 (let ((default-major-mode 'reftex-index-mode)) | |
417 (switch-to-buffer buffer-name))) | |
418 | |
419 (or (eq major-mode 'reftex-index-mode) (reftex-index-mode)) | |
420 | |
421 ;; If the buffer is currently restricted, empty it to force update. | |
422 (when reftex-index-restriction-data | |
423 (reftex-erase-buffer)) | |
424 (set (make-local-variable 'reftex-last-index-file) calling-file) | |
425 (set (make-local-variable 'reftex-index-tag) index-tag) | |
426 (set (make-local-variable 'reftex-docstruct-symbol) docstruct-symbol) | |
427 (if restriction | |
428 (setq reftex-index-restriction-indicator (car restriction) | |
429 reftex-index-restriction-data (cdr restriction)) | |
430 (if (interactive-p) | |
431 (setq reftex-index-restriction-indicator nil | |
432 reftex-index-restriction-data nil))) | |
433 (when (= (buffer-size) 0) | |
434 ;; buffer is empty - fill it | |
435 (message "Building %s buffer..." buffer-name) | |
436 | |
437 (setq buffer-read-only nil) | |
438 (insert (format | |
439 "INDEX <%s> on %s | |
440 Restriction: <%s> | |
441 SPC=view TAB=goto RET=goto+hide [e]dit [q]uit [r]escan [f]ollow [?]Help | |
442 ------------------------------------------------------------------------------ | |
443 " index-tag (abbreviate-file-name master) | |
444 (if (eq (car (car reftex-index-restriction-data)) 'toc) | |
445 (nth 2 (car reftex-index-restriction-data)) | |
446 reftex-index-restriction-indicator))) | |
447 | |
448 (if (reftex-use-fonts) | |
449 (put-text-property 1 (point) 'face reftex-index-header-face)) | |
450 (put-text-property 1 (point) 'intangible t) | |
451 | |
452 (reftex-insert-index docstruct index-tag) | |
453 (goto-char (point-min)) | |
454 (run-hooks 'reftex-display-copied-context-hook) | |
455 (message "Building %s buffer...done." buffer-name) | |
456 (setq buffer-read-only t)) | |
457 (and locations (apply 'reftex-find-start-point (point) locations)) | |
458 (if reftex-index-restriction-indicator | |
459 (message "Index restricted: <%s>" reftex-index-restriction-indicator)))) | |
460 | |
461 (defun reftex-insert-index (docstruct tag &optional update-one remark) | |
462 ;; Insert an index into the current buffer. Entries are from the | |
463 ;; DOCSTRUCT. | |
464 ;; TAG is the subindex to process. | |
465 ;; UPDATE-ONE: When non-nil, delete the entry at point and replace | |
466 ;; it with whatever the DOCSTRUCT contains. | |
467 ;; REMARK can be a note to add to the entry. | |
468 (let* ((all docstruct) | |
469 (indent " ") | |
470 (context reftex-index-include-context) | |
471 (context-indent (concat indent " ")) | |
472 (section-chars (mapcar 'identity reftex-index-section-letters)) | |
473 (this-section-char 0) | |
474 (font (reftex-use-fonts)) | |
475 (bor (car reftex-index-restriction-data)) | |
476 (eor (nth 1 reftex-index-restriction-data)) | |
477 (mouse-face | |
478 (if (memq reftex-highlight-selection '(mouse both)) | |
479 reftex-mouse-selected-face | |
480 nil)) | |
481 (index-face (reftex-verified-face reftex-label-face | |
482 'font-lock-constant-face | |
483 'font-lock-reference-face)) | |
484 sublist cell from to first-char) | |
485 | |
486 ;; Make the sublist and sort it | |
487 (when bor | |
488 (setq all (or (memq bor all) all))) | |
489 | |
490 (while (setq cell (pop all)) | |
491 (if (eq cell eor) | |
492 (setq all nil) | |
493 (and (eq (car cell) 'index) | |
494 (equal (nth 1 cell) tag) | |
495 (push cell sublist)))) | |
496 (setq sublist (sort (nreverse sublist) | |
497 (lambda (a b) (string< (nth 8 a) (nth 8 b))))) | |
498 | |
499 (when update-one | |
500 ;; Delete the entry at place | |
501 (and (bolp) (forward-char 1)) | |
502 (delete-region (previous-single-property-change (1+ (point)) :data) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
503 (or (next-single-property-change (point) :data) |
25280 | 504 (point-max)))) |
505 | |
506 ;; Walk through the list and insert all entries | |
507 (while (setq cell (pop sublist)) | |
508 (unless update-one | |
509 (setq first-char (upcase (string-to-char (nth 6 cell)))) | |
510 (when (and (not (equal first-char this-section-char)) | |
511 (member first-char section-chars)) | |
512 ;; There is a new initial letter, so start a new section | |
513 (reftex-index-insert-new-letter first-char font) | |
514 (setq section-chars (delete first-char section-chars) | |
515 this-section-char first-char)) | |
516 (when (= this-section-char 0) | |
517 (setq this-section-char ?!) | |
518 (reftex-index-insert-new-letter this-section-char font))) | |
519 | |
520 (setq from (point)) | |
521 (insert indent (nth 7 cell)) | |
522 (when font | |
523 (setq to (point)) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
524 (put-text-property |
25280 | 525 (- (point) (length (nth 7 cell))) to |
526 'face index-face) | |
527 (goto-char to)) | |
528 | |
529 (when (or remark (nth 9 cell)) | |
530 (and (< (current-column) 40) | |
531 ;; FIXME: maybe this is too slow? | |
532 (insert (make-string (max (- 40 (current-column)) 0) ?\ ))) | |
533 (and (nth 9 cell) (insert " " (substring (nth 5 cell) (nth 9 cell)))) | |
534 (and remark (insert " " remark))) | |
535 | |
536 (insert "\n") | |
537 (setq to (point)) | |
538 | |
539 (when context | |
540 (insert context-indent (nth 2 cell) "\n") | |
541 (setq to (point))) | |
542 (put-text-property from to :data cell) | |
543 (when mouse-face | |
544 (put-text-property from (1- to) | |
545 'mouse-face mouse-face)) | |
546 (goto-char to)))) | |
547 | |
548 | |
549 (defun reftex-index-insert-new-letter (letter &optional font) | |
550 ;; Start a new section in the index | |
551 (let ((from (point))) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
552 (insert "\n" letter letter letter |
25280 | 553 "-----------------------------------------------------------------") |
554 (when font | |
555 (put-text-property from (point) 'face reftex-index-section-face)) | |
556 (insert "\n"))) | |
557 | |
558 (defun reftex-get-restriction (arg docstruct) | |
559 ;; Interprete the prefix ARG and derive index restriction specs. | |
560 (let* ((beg (min (point) (or (condition-case nil (mark) (error nil)) | |
561 (point-max)))) | |
562 (end (max (point) (or (condition-case nil (mark) (error nil)) | |
563 (point-min)))) | |
564 bor eor label here-I-am) | |
565 (cond | |
566 ((eq arg 2) | |
567 (setq here-I-am (car (reftex-where-am-I)) | |
568 bor (if (eq (car here-I-am) 'toc) | |
569 here-I-am | |
570 (reftex-last-assoc-before-elt | |
571 'toc here-I-am docstruct)) | |
572 eor (car (memq (assq 'toc (cdr (memq bor docstruct))) docstruct)) | |
573 label (nth 6 bor))) | |
574 ((eq arg 3) | |
575 (save-excursion | |
576 (setq label "region") | |
577 (goto-char beg) | |
578 (setq bor (car (reftex-where-am-I))) | |
579 (setq bor (nth 1 (memq bor docstruct))) | |
580 (goto-char end) | |
581 (setq eor (nth 1 (memq (car (reftex-where-am-I)) docstruct))))) | |
582 (t nil)) | |
583 (if (and label (or bor eor)) | |
584 (list label bor eor) | |
585 nil))) | |
586 | |
587 (defun reftex-index-pre-command-hook () | |
588 ;; Used as pre command hook in *Index* buffer | |
589 (reftex-unhighlight 0) | |
590 (reftex-unhighlight 1)) | |
591 | |
592 (defun reftex-index-post-command-hook () | |
593 ;; Used in the post-command-hook for the *Index* buffer | |
594 (when (get-text-property (point) :data) | |
595 (and (> (point) 1) | |
596 (not (get-text-property (point) 'intangible)) | |
597 (memq reftex-highlight-selection '(cursor both)) | |
598 (reftex-highlight 1 | |
599 (or (previous-single-property-change (1+ (point)) :data) | |
600 (point-min)) | |
601 (or (next-single-property-change (point) :data) | |
602 (point-max))))) | |
603 (if (integerp reftex-index-follow-mode) | |
604 ;; Remove delayed action | |
605 (setq reftex-index-follow-mode t) | |
606 (and reftex-index-follow-mode | |
607 (not (equal reftex-last-follow-point (point))) | |
608 ;; Show context in other window | |
609 (setq reftex-last-follow-point (point)) | |
610 (condition-case nil | |
611 (reftex-index-visit-location nil (not reftex-revisit-to-follow)) | |
612 (error t))))) | |
613 | |
614 (defun reftex-index-show-help () | |
615 "Show a summary of special key bindings." | |
616 (interactive) | |
617 (with-output-to-temp-buffer "*RefTeX Help*" | |
618 (princ reftex-index-help)) | |
619 (reftex-enlarge-to-fit "*RefTeX Help*" t) | |
620 ;; If follow mode is active, arrange to delay it one command | |
621 (if reftex-index-follow-mode | |
622 (setq reftex-index-follow-mode 1))) | |
623 | |
624 (defun reftex-index-next (&optional arg) | |
625 "Move to next selectable item." | |
626 (interactive "p") | |
627 (setq reftex-callback-fwd t) | |
628 (or (eobp) (forward-char 1)) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
629 (goto-char (or (next-single-property-change (point) :data) |
25280 | 630 (point))) |
631 (unless (get-text-property (point) :data) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
632 (goto-char (or (next-single-property-change (point) :data) |
25280 | 633 (point))))) |
634 (defun reftex-index-previous (&optional arg) | |
635 "Move to previous selectable item." | |
636 (interactive "p") | |
637 (setq reftex-callback-fwd nil) | |
638 (goto-char (or (previous-single-property-change (point) :data) | |
639 (point))) | |
640 (unless (get-text-property (point) :data) | |
641 (goto-char (or (previous-single-property-change (point) :data) | |
642 (point))))) | |
643 (defun reftex-index-toggle-follow () | |
644 "Toggle follow (other window follows with context)." | |
645 (interactive) | |
646 (setq reftex-last-follow-point -1) | |
647 (setq reftex-index-follow-mode (not reftex-index-follow-mode))) | |
648 (defun reftex-index-toggle-context () | |
649 "Toggle inclusion of label context in *Index* buffer. | |
650 Label context is only displayed when the labels are there as well." | |
651 (interactive) | |
652 (setq reftex-index-include-context (not reftex-index-include-context)) | |
653 (reftex-index-revert)) | |
654 (defun reftex-index-view-entry () | |
655 "View document location in other window." | |
656 (interactive) | |
657 (reftex-index-visit-location)) | |
658 (defun reftex-index-goto-entry-and-hide () | |
659 "Go to document location in other window. Hide the *Index* window." | |
660 (interactive) | |
661 (reftex-index-visit-location 'hide)) | |
662 (defun reftex-index-goto-entry () | |
663 "Go to document location in other window. *Index* window stays." | |
664 (interactive) | |
665 (reftex-index-visit-location t)) | |
666 (defun reftex-index-mouse-goto-line-and-hide (ev) | |
667 "Go to document location in other window. Hide the *Index* window." | |
668 (interactive "e") | |
669 (mouse-set-point ev) | |
670 (reftex-index-visit-location 'hide)) | |
671 (defun reftex-index-quit () | |
672 "Hide the *Index* window and do not move point." | |
673 (interactive) | |
674 (or (one-window-p) (delete-window)) | |
675 (switch-to-buffer (marker-buffer reftex-index-return-marker)) | |
676 (goto-char (or (marker-position reftex-index-return-marker) (point)))) | |
677 (defun reftex-index-quit-and-kill () | |
678 "Kill the *Index* buffer." | |
679 (interactive) | |
680 (kill-buffer (current-buffer)) | |
681 (or (one-window-p) (delete-window)) | |
682 (switch-to-buffer (marker-buffer reftex-index-return-marker)) | |
683 (goto-char (or (marker-position reftex-index-return-marker) (point)))) | |
684 (defun reftex-index-goto-toc (&rest ignore) | |
685 "Switch to the table of contents of the current document. | |
686 The function will go to the section where the entry at point was defined." | |
687 (interactive) | |
688 (if (get-text-property (point) :data) | |
689 (reftex-index-goto-entry) | |
690 (switch-to-buffer (marker-buffer reftex-index-return-marker))) | |
691 (delete-other-windows) | |
692 (reftex-toc)) | |
693 (defun reftex-index-rescan (&rest ignore) | |
694 "Regenerate the *Index* buffer after reparsing file of section at point." | |
695 (interactive) | |
696 (let ((index-tag reftex-index-tag)) | |
697 (if (and reftex-enable-partial-scans | |
698 (null current-prefix-arg)) | |
699 (let* ((data (get-text-property (point) :data)) | |
700 (file (nth 3 data)) | |
701 (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0)))) | |
702 (if (not file) | |
703 (error "Don't know which file to rescan. Try `C-u r'") | |
704 (switch-to-buffer (reftex-get-file-buffer-force file)) | |
705 (setq current-prefix-arg '(4)) | |
706 (reftex-display-index index-tag nil line))) | |
707 (reftex-index-Rescan)) | |
708 (reftex-kill-temporary-buffers))) | |
709 (defun reftex-index-Rescan (&rest ignore) | |
710 "Regenerate the *Index* buffer after reparsing the entire document." | |
711 (interactive) | |
712 (let ((index-tag reftex-index-tag) | |
713 (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0)))) | |
714 (switch-to-buffer | |
715 (reftex-get-file-buffer-force reftex-last-index-file)) | |
716 (setq current-prefix-arg '(16)) | |
717 (reftex-display-index index-tag nil line))) | |
718 (defun reftex-index-revert (&rest ignore) | |
719 "Regenerate the *Index* from the internal lists. No reparsing os done." | |
720 (interactive) | |
721 (let ((buf (current-buffer)) | |
722 (index-tag reftex-index-tag) | |
723 (data (get-text-property (point) :data)) | |
724 (line (+ (count-lines (point-min) (point)) (if (bolp) 1 0)))) | |
725 (switch-to-buffer | |
726 (reftex-get-file-buffer-force reftex-last-index-file)) | |
727 (reftex-erase-buffer buf) | |
728 (setq current-prefix-arg nil | |
729 reftex-last-follow-point 1) | |
730 (reftex-display-index index-tag nil data line))) | |
731 (defun reftex-index-switch-index-tag (&rest ignore) | |
732 "Switch to a different index of the same document." | |
733 (interactive) | |
734 (switch-to-buffer | |
735 (reftex-get-file-buffer-force reftex-last-index-file)) | |
736 (setq current-prefix-arg nil) | |
737 (reftex-display-index)) | |
738 | |
739 (defun reftex-index-restrict-to-section (&optional force) | |
740 "Restrict index to entries defined in same document sect. as entry at point." | |
741 ;; Optional FORCE means, even if point is not on an index entry. | |
742 (interactive) | |
743 (let* ((data (get-text-property (point) :data)) | |
744 (docstruct (symbol-value reftex-docstruct-symbol)) | |
745 bor eor) | |
746 (if (and (not data) force) | |
747 (setq data (assq 'toc docstruct))) | |
748 (when data | |
749 (setq bor (reftex-last-assoc-before-elt 'toc data docstruct) | |
750 eor (car (memq (assq 'toc (cdr (memq bor docstruct))) | |
751 docstruct)) | |
752 reftex-index-restriction-data (list bor eor) | |
753 reftex-index-restriction-indicator (nth 6 bor) ))) | |
754 (reftex-index-revert)) | |
755 | |
756 (defun reftex-index-widen (&rest ignore) | |
757 "Show the unrestricted index (all entries)." | |
758 (interactive) | |
759 (setq reftex-index-restriction-indicator nil | |
760 reftex-index-restriction-data nil) | |
761 (reftex-index-revert) | |
762 (message "Index widened")) | |
763 (defun reftex-index-restriction-forward (&rest ignore) | |
764 "Restrict to previous section. | |
765 When index is currently unrestricted, restrict it to a section. | |
766 When index is restricted, select the next section as restriction criterion." | |
767 (interactive) | |
768 (let* ((docstruct (symbol-value reftex-docstruct-symbol)) | |
769 (bor (nth 1 reftex-index-restriction-data))) | |
770 (if (or (not bor) | |
771 (not (eq (car bor) 'toc))) | |
772 (reftex-index-restrict-to-section t) | |
773 (setq reftex-index-restriction-indicator (nth 6 bor) | |
774 reftex-index-restriction-data | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
775 (list bor |
25280 | 776 (car (memq (assq 'toc (cdr (memq bor docstruct))) |
777 docstruct)))) | |
778 (reftex-index-revert)))) | |
779 (defun reftex-index-restriction-backward (&rest ignore) | |
780 "Restrict to next section. | |
781 When index is currently unrestricted, restrict it to a section. | |
782 When index is restricted, select the previous section as restriction criterion." | |
783 (interactive) | |
784 (let* ((docstruct (symbol-value reftex-docstruct-symbol)) | |
785 (eor (car reftex-index-restriction-data)) | |
786 (bor (reftex-last-assoc-before-elt 'toc eor docstruct t))) | |
787 (if (or (not bor) | |
788 (not (eq (car bor) 'toc))) | |
789 (reftex-index-restrict-to-section t) | |
790 (setq reftex-index-restriction-indicator (nth 6 bor) | |
791 reftex-index-restriction-data | |
792 (list bor eor)) | |
793 (reftex-index-revert)))) | |
794 | |
795 (defun reftex-index-visit-location (&optional final no-revisit) | |
796 ;; Visit the tex file corresponding to the index entry on the current line. | |
797 ;; If FINAL is t, stay there | |
798 ;; If FINAL is 'hide, hide the *Index* window. | |
799 ;; Otherwise, move cursor back into *Index* window. | |
800 ;; NO-REVISIT means don't visit files, just use live biffers. | |
801 | |
802 (let* ((data (get-text-property (point) :data)) | |
803 (index-window (selected-window)) | |
804 show-window show-buffer match) | |
805 | |
806 (unless data (error "Don't know which index entry to visit")) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
807 |
25280 | 808 (if (eq (car data) 'index) |
809 (setq match (reftex-index-show-entry data no-revisit))) | |
810 | |
811 (setq show-window (selected-window) | |
812 show-buffer (current-buffer)) | |
813 | |
814 (unless match | |
815 (select-window index-window) | |
816 (error "Cannot find location")) | |
817 | |
818 (select-window index-window) | |
819 | |
820 ;; Use the `final' parameter to decide what to do next | |
821 (cond | |
822 ((eq final t) | |
823 (reftex-unhighlight 0) | |
824 (select-window show-window)) | |
825 ((eq final 'hide) | |
826 (reftex-unhighlight 0) | |
827 (or (one-window-p) (delete-window)) | |
828 (switch-to-buffer show-buffer)) | |
829 (t nil)))) | |
830 | |
831 (defun reftex-index-analyze-entry (data) | |
832 ;; This splits the index context so that key, attribute and visual | |
833 ;; values are accessible individually. | |
834 (interactive) | |
835 (let* ((arg (nth 5 data)) | |
836 (context (nth 2 data)) | |
837 (sc reftex-index-special-chars) | |
838 (boa (if (string-match (regexp-quote (concat "{" arg "}")) context) | |
839 (1+ (match-beginning 0)) | |
840 (error "Something is wrong here"))) | |
841 (eoa (1- (match-end 0))) | |
842 (boactual (if (string-match (concat "[^" (nth 3 sc) "]" (nth 2 sc)) | |
843 context boa) | |
844 (1+ (match-beginning 0)) | |
845 eoa)) | |
846 (boattr (if (string-match (concat "[^" (nth 3 sc) "]" (nth 1 sc)) | |
847 context boa) | |
848 (1+ (match-beginning 0)) | |
849 boactual)) | |
850 (pre (substring context 0 boa)) | |
851 (key (substring context boa boattr)) | |
852 (attr (substring context boattr boactual)) | |
853 (actual (substring context boactual eoa)) | |
854 (post (substring context eoa))) | |
855 (list pre key attr actual post))) | |
856 | |
857 (defun reftex-index-edit () | |
858 "Edit the index entry at point." | |
859 (interactive) | |
860 (let* ((data (get-text-property (point) :data)) | |
861 old new) | |
862 (unless data (error "Don't know which index entry to edit")) | |
863 (reftex-index-view-entry) | |
864 (setq old (nth 2 data) new (read-string "Edit: " old)) | |
865 (reftex-index-change-entry new))) | |
866 | |
867 (defun reftex-index-toggle-range-beginning () | |
868 "Toggle the page range start attribute `|('." | |
869 (interactive) | |
870 (let* ((data (get-text-property (point) :data)) | |
871 (bor (concat (nth 1 reftex-index-special-chars) "(")) | |
872 new analyze attr) | |
873 (unless data (error "Don't know which index entry to edit")) | |
874 (setq analyze (reftex-index-analyze-entry data) | |
875 attr (nth 2 analyze)) | |
876 (setf (nth 2 analyze) (if (string= attr bor) "" bor)) | |
877 (setq new (apply 'concat analyze)) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
878 (reftex-index-change-entry |
25280 | 879 new (if (string= (nth 2 analyze) bor) |
880 "Entry is now START-OF-PAGE-RANGE" | |
881 "START-OF-PAGE-RANGE canceled")))) | |
882 | |
883 (defun reftex-index-toggle-range-end () | |
884 "Toggle the page-range-end attribute `|)'." | |
885 (interactive) | |
886 (let* ((data (get-text-property (point) :data)) | |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
887 (eor (concat (nth 1 reftex-index-special-chars) ")")) |
25280 | 888 new analyze attr) |
889 (unless data (error "Don't know which index entry to edit")) | |
890 (setq analyze (reftex-index-analyze-entry data) | |
891 attr (nth 2 analyze)) | |
892 (setf (nth 2 analyze) (if (string= attr eor) "" eor)) | |
893 (setq new (apply 'concat analyze)) | |
894 (reftex-index-change-entry | |
895 new (if (string= (nth 2 analyze) eor) | |
896 "Entry is now END-OF-PAGE-RANGE" | |
897 "END-OF-PAGE-RANGE canceled")))) | |
898 | |
899 (defun reftex-index-edit-key () | |
900 "Edit the KEY part of the index entry." | |
901 (interactive) | |
902 (reftex-index-edit-part nil 1 "" "Key: " t)) | |
903 | |
904 (defun reftex-index-edit-attribute (&optional arg) | |
905 "EDIT the ATTRIBUTE part of the entry. With arg: remove entire ATTRIBUTE." | |
906 (interactive "P") | |
907 (reftex-index-edit-part arg 2 (nth 1 reftex-index-special-chars) | |
908 "Attribute: ")) | |
909 | |
910 (defun reftex-index-edit-visual (&optional arg) | |
911 "EDIT the VISUAL part of the entry. With arg: remove entire VISUAL string." | |
912 (interactive "P") | |
913 (reftex-index-edit-part arg 3 (nth 2 reftex-index-special-chars) "Visual: ")) | |
914 | |
915 (defun reftex-index-edit-part (arg n initial prompt &optional dont-allow-empty) | |
916 ;; This function does the work for all partial editing commands | |
917 (let* ((data (get-text-property (point) :data)) | |
918 new analyze opart npart) | |
919 (unless data (error "Don't know which index entry to edit")) | |
920 ;; Analyze the whole context string | |
921 (setq analyze (reftex-index-analyze-entry data) | |
922 opart (nth n analyze)) | |
923 (and (> (length opart) 0) (setq opart (substring opart 1))) | |
924 ;; Have the user editing the part | |
925 (setq npart (if arg "" (read-string (concat prompt initial) opart))) | |
926 ;; Tests: | |
927 (cond ((string= npart opart) | |
928 (error "Not changed")) | |
929 ((string= npart "") | |
930 (if dont-allow-empty | |
931 (error "Illegal value") | |
932 (setf (nth n analyze) npart))) | |
933 (t (setf (nth n analyze) (concat initial npart)))) | |
934 (setq new (apply 'concat analyze)) | |
935 ;; Change the entry and insert the changed version into the index. | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
936 (reftex-index-change-entry |
25280 | 937 new (if (string= npart "") |
938 (format "Deleted: %s" opart) | |
939 (format "New value is: %s" npart))))) | |
940 | |
941 (defun reftex-index-level-down () | |
942 "Make index entry a subitem of another entry." | |
943 (interactive) | |
944 (let* ((data (get-text-property (point) :data)) | |
945 (docstruct (symbol-value reftex-docstruct-symbol)) | |
946 old new prefix key) | |
947 (unless data (error "Don't know which index entry to change")) | |
948 (setq old (nth 2 data) | |
949 key (nth 6 data) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
950 prefix (completing-read |
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
951 "Prefix: " |
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
952 (reftex-sublist-nth |
25280 | 953 docstruct 6 |
954 (lambda (x) | |
955 (and (eq (car x) 'index) | |
956 (string= (nth 1 x) reftex-index-tag))) t))) | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
957 (unless (string-match |
25280 | 958 (concat (regexp-quote (car reftex-index-special-chars)) "\\'") |
959 prefix) | |
960 (setq prefix (concat prefix (car reftex-index-special-chars)))) | |
961 (if (string-match (regexp-quote key) old) | |
962 (setq new (replace-match (concat prefix key) t t old)) | |
963 (error "Cannot construct new index key")) | |
964 (reftex-index-change-entry new (format "Added prefix: %s" prefix)))) | |
965 | |
966 (defun reftex-index-level-up () | |
967 "Remove the highest level of a hierarchical index entry." | |
968 (interactive) | |
969 (let* ((data (get-text-property (point) :data)) | |
970 old new prefix) | |
971 (unless data (error "Don't know which entry to change")) | |
972 (setq old (nth 2 data)) | |
973 (if (string-match (concat "{\\([^" (nth 0 reftex-index-special-chars) "]*" | |
974 "[^" (nth 3 reftex-index-special-chars) "]" | |
975 (regexp-quote (nth 0 reftex-index-special-chars)) | |
976 "\\)") | |
977 old) | |
978 (setq prefix (substring old (match-beginning 1) (match-end 1)) | |
979 new (concat (substring old 0 (match-beginning 1)) | |
980 (substring old (match-end 1)))) | |
981 (error "Entry is not a subitem")) | |
982 (reftex-index-change-entry new (format "Removed prefix: %s" prefix)))) | |
983 | |
984 (defun reftex-index-kill () | |
985 "FIXME: Not yet implemented" | |
986 (interactive) | |
987 (error "This function is currently not implemented")) | |
988 | |
989 (defun reftex-index-undo () | |
990 "FIXME: Not yet implemented" | |
991 (interactive) | |
992 (error "This function is currently not implemented")) | |
993 | |
994 (defun reftex-index-change-entry (new &optional message) | |
995 ;; Change the full context string of the index entry at point to | |
996 ;; NEW. This actually edits the buffer where the entry is defined. | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
997 |
25280 | 998 (let* ((data (get-text-property (point) :data)) |
999 old beg end info) | |
1000 (unless data (error "Cannot change entry")) | |
1001 (reftex-index-view-entry) | |
1002 (setq beg (match-beginning 0) end (match-end 0)) | |
1003 (setq old (nth 2 data)) | |
1004 (and (equal old new) (error "Entry unchanged")) | |
1005 (save-excursion | |
1006 (set-buffer (get-file-buffer (nth 3 data))) | |
1007 (goto-char beg) | |
1008 (unless (looking-at (regexp-quote old)) | |
1009 (error "This should not happen (reftex-index-change-entry)")) | |
1010 (delete-region beg end) | |
1011 (insert new) | |
1012 (goto-char (1- beg)) | |
1013 (when (and (re-search-forward (reftex-everything-regexp) nil t) | |
1014 (match-end 10) | |
1015 (< (abs (- (match-beginning 10) beg)) (length new)) | |
1016 (setq info (reftex-index-info-safe buffer-file-name))) | |
1017 (setcdr data (cdr info)))) | |
1018 (let ((buffer-read-only nil)) | |
1019 (save-excursion | |
1020 (reftex-insert-index (list data) reftex-index-tag t | |
1021 "EDITED"))) | |
1022 (setq reftex-last-follow-point 1) | |
1023 (and message (message message)))) | |
1024 | |
1025 ;; Index map | |
1026 (define-key reftex-index-map (if (featurep 'xemacs) [(button2)] [(mouse-2)]) | |
1027 'reftex-index-mouse-goto-line-and-hide) | |
1028 | |
1029 (substitute-key-definition | |
1030 'next-line 'reftex-index-next reftex-index-map global-map) | |
1031 (substitute-key-definition | |
1032 'previous-line 'reftex-index-previous reftex-index-map global-map) | |
1033 | |
1034 (loop for x in | |
1035 '(("n" . reftex-index-next) | |
1036 ("p" . reftex-index-previous) | |
1037 ("?" . reftex-index-show-help) | |
1038 (" " . reftex-index-view-entry) | |
1039 ("\C-m" . reftex-index-goto-entry-and-hide) | |
1040 ("\C-i" . reftex-index-goto-entry) | |
1041 ("\C-k" . reftex-index-kill) | |
1042 ("r" . reftex-index-rescan) | |
1043 ("R" . reftex-index-Rescan) | |
1044 ("g" . revert-buffer) | |
1045 ("q" . reftex-index-quit) | |
1046 ("k" . reftex-index-quit-and-kill) | |
1047 ("f" . reftex-index-toggle-follow) | |
1048 ("s" . reftex-index-switch-index-tag) | |
1049 ("e" . reftex-index-edit) | |
1050 ("^" . reftex-index-level-up) | |
1051 ("_" . reftex-index-level-down) | |
1052 ("}" . reftex-index-restrict-to-section) | |
1053 ("{" . reftex-index-widen) | |
1054 (">" . reftex-index-restriction-forward) | |
1055 ("<" . reftex-index-restriction-backward) | |
1056 ("(" . reftex-index-toggle-range-beginning) | |
1057 (")" . reftex-index-toggle-range-end) | |
1058 ("|" . reftex-index-edit-attribute) | |
1059 ("@" . reftex-index-edit-visual) | |
1060 ("*" . reftex-index-edit-key) | |
1061 ("\C-c=". reftex-index-goto-toc) | |
1062 ("c" . reftex-index-toggle-context)) | |
1063 do (define-key reftex-index-map (car x) (cdr x))) | |
1064 | |
1065 (loop for key across "0123456789" do | |
1066 (define-key reftex-index-map (vector (list key)) 'digit-argument)) | |
1067 (define-key reftex-index-map "-" 'negative-argument) | |
1068 | |
1069 ;; The capital letters and the exclamation mark | |
1070 (loop for key across (concat "!" reftex-index-section-letters) do | |
1071 (define-key reftex-index-map (vector (list key)) | |
1072 (list 'lambda '() '(interactive) | |
1073 (list 'reftex-index-goto-letter key)))) | |
1074 | |
1075 (defun reftex-index-goto-letter (char) | |
1076 "Go to the CHAR section in the index." | |
1077 (let ((pos (point)) | |
1078 (case-fold-search nil)) | |
1079 (goto-line 3) | |
1080 (if (re-search-forward (concat "^" (char-to-string char)) nil t) | |
1081 (progn | |
1082 (beginning-of-line) | |
1083 (recenter 0) | |
1084 (reftex-index-next)) | |
1085 (goto-char pos) | |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1086 (if (eq char ?!) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1087 (error "This <%s> index does not contain entries sorted before the letters" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1088 reftex-index-tag) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1089 (error "This <%s> index does not contain entries starting with `%c'" |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1090 reftex-index-tag char))))) |
25280 | 1091 |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1092 (easy-menu-define |
25280 | 1093 reftex-index-menu reftex-index-map |
1094 "Menu for Index buffer" | |
1095 `("Index" | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1096 ["Goto section A-Z" |
25280 | 1097 (message "To go to a section, just press any of: !%s" |
1098 reftex-index-section-letters) t] | |
1099 ["Show Entry" reftex-index-view-entry t] | |
1100 ["Go To Entry" reftex-index-goto-entry t] | |
1101 ["Exit & Go To Entry" reftex-index-goto-entry-and-hide t] | |
1102 ["Table of Contents" reftex-index-goto-toc t] | |
1103 ["Quit" reftex-index-quit t] | |
1104 "--" | |
1105 ("Update" | |
1106 ["Rebuilt *Index* Buffer" revert-buffer t] | |
1107 "--" | |
1108 ["Rescan One File" reftex-index-rescan reftex-enable-partial-scans] | |
1109 ["Rescan Entire Document" reftex-index-Rescan t]) | |
1110 ("Restrict" | |
1111 ["Restrict to section" reftex-index-restrict-to-section t] | |
1112 ["Widen" reftex-index-widen reftex-index-restriction-indicator] | |
1113 ["Next Section" reftex-index-restriction-forward | |
1114 reftex-index-restriction-indicator] | |
1115 ["Previous Section" reftex-index-restriction-backward | |
1116 reftex-index-restriction-indicator]) | |
1117 ("Edit" | |
1118 ["Edit Entry" reftex-index-edit t] | |
1119 ["Edit Key" reftex-index-edit-key t] | |
1120 ["Edit Attribute" reftex-index-edit-attribute t] | |
1121 ["Edit Visual" reftex-index-edit-visual t] | |
1122 "--" | |
1123 ["Add Parentkey" reftex-index-level-down t] | |
1124 ["Remove Parentkey " reftex-index-level-up t] | |
1125 "--" | |
1126 ["Make Start-of-Range" reftex-index-toggle-range-beginning t] | |
1127 ["Make End-of-Range" reftex-index-toggle-range-end t] | |
1128 "--" | |
1129 ["Kill Entry" reftex-index-kill nil] | |
1130 "--" | |
1131 ["Undo" reftex-index-undo nil]) | |
1132 ("Options" | |
1133 ["Context" reftex-index-toggle-context :style toggle | |
1134 :selected reftex-index-include-context] | |
1135 "--" | |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1136 ["Follow Mode" reftex-index-toggle-follow :style toggle |
25280 | 1137 :selected reftex-index-follow-mode]) |
1138 "--" | |
1139 ["Help" reftex-index-show-help t])) | |
1140 | |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1141 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1142 ;;---------------------------------------------------------------------- |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1143 ;; The Index Phrases File |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1144 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1145 ;; Some constants and variables |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1146 (defconst reftex-index-phrases-comment-regexp "^[ \t]*%.*" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1147 "Regular expression to match comment lines in phrases buffer") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1148 (defconst reftex-index-phrases-macrodef-regexp |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1149 "^\\(>>>INDEX_MACRO_DEFINITION:\\)[ \t]+\\(\\S-\\)\\( *\t[ \t]*\\)\\([^\t]*[^ \t]\\)\\( *\t[ \t]*\\)\\(\\S-+\\)" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1150 "Regular expression to match macro definition lines the phrases buffer.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1151 ;(defconst reftex-index-phrases-macrodef-regexp |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1152 ; "^\\(>>>INDEX_MACRO_DEFINITION:\\)[ \t]+\\(\\S-\\)\\([ \t]*\\)\\([^\t]*[^ \t]\\)\\([ \t]*\\)\\(nil\\|t\\)[ \t]*$" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1153 ; "Regular expression to match macro definition lines the phrases buffer. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1154 ;This version would allow just spaces as separators.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1155 (defconst reftex-index-phrases-phrase-regexp1 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1156 "^\\(\\S-?\\)\\(\t\\)\\([^\t\n]*\\S-\\)\\([ \t]*\\)$" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1157 "Regular expression matching phrases which have no separate index key.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1158 (defconst reftex-index-phrases-phrase-regexp2 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1159 "^\\(\\S-?\\)\\(\t\\)\\([^\t]*\\S-\\)\\(\t[ \t]*\\)\\([^\n\t]*\\S-\\)[ \t]*$" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1160 "Regular expression matching phrases which have a separate index key.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1161 (defconst reftex-index-phrases-phrase-regexp12 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1162 "^\\(\\S-?\\)\\(\t\\)\\([^\n\t]*\\S-\\)\\(\\(\t[ \t]*\\)\\([^\n\t]*\\S-\\)\\)?[ \t]*$" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1163 "Regular expression matching all types of phrase lines.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1164 (defvar reftex-index-phrases-macro-data nil |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1165 "Alist containing the information taken from the macro definition lines. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1166 This gets refreshed in every phrases command.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1167 (defvar reftex-index-phrases-files nil |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1168 "List of document files relevant for the phrases file.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1169 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1170 (defvar reftex-index-phrases-font-lock-keywords nil |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1171 "Font lock keywords for reftex-index-phrases-mode.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1172 (defvar reftex-index-phrases-font-lock-defaults nil |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1173 "Font lock defaults for reftex-index-phrases-mode.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1174 (defvar reftex-index-phrases-map (make-sparse-keymap) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1175 "Keymap used for *toc* buffer.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1176 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1177 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1178 (defun reftex-index-phrase-selection-or-word (arg) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1179 "Add current selection or word at point to the phrases buffer. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1180 When you are in transient-mark-mode and the region is active, the |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1181 selection will be used - otherwise the word at point. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1182 You get a chance to edit the entry in the phrases buffer - finish with |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1183 `C-c C-c'." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1184 (interactive "P") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1185 (set-marker reftex-index-return-marker (point)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1186 (reftex-index-selection-or-word arg 'phrase) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1187 (if (eq major-mode 'reftex-index-phrases-mode) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1188 (message |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1189 (substitute-command-keys |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1190 "Return to LaTeX with \\[reftex-index-phrases-save-and-return]")))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1191 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1192 (defun reftex-index-visit-phrases-buffer () |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1193 "Switch to the phrases buffer, initialize if empty." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1194 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1195 (reftex-access-scan-info) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1196 (let* ((master (reftex-TeX-master-file)) |
27192
f70a80cecdd3
New version number.
Carsten Dominik <dominik@science.uva.nl>
parents:
27035
diff
changeset
|
1197 (name (concat (file-name-sans-extension master) |
f70a80cecdd3
New version number.
Carsten Dominik <dominik@science.uva.nl>
parents:
27035
diff
changeset
|
1198 reftex-index-phrase-file-extension))) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1199 (find-file name) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1200 (unless (eq major-mode 'reftex-index-phrases-mode) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1201 (reftex-index-phrases-mode)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1202 (if (= (buffer-size) 0) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1203 (reftex-index-initialize-phrases-buffer master)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1204 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1205 (defun reftex-index-initialize-phrases-buffer (&optional master) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1206 "Initialize the phrases buffer by creating the header. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1207 If the buffer is non-empty, delete the old header first." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1208 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1209 (let* ((case-fold-search t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1210 (default-key (car reftex-index-default-macro)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1211 (default-macro (nth 1 (assoc default-key |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1212 reftex-key-to-index-macro-alist))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1213 (macro-alist |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1214 (sort (copy-sequence reftex-index-macro-alist) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1215 (lambda (a b) (equal (car a) default-macro)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1216 macro entry key repeat) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1217 |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1218 (if master (set (make-local-variable 'TeX-master) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1219 (file-name-nondirectory master))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1220 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1221 (when (> (buffer-size) 0) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1222 (goto-char 1) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1223 (set-mark (point)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1224 (while (re-search-forward reftex-index-phrases-macrodef-regexp nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1225 (end-of-line)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1226 (beginning-of-line 2) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1227 (if (looking-at reftex-index-phrases-comment-regexp) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1228 (beginning-of-line 2)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1229 (while (looking-at "^[ \t]*$") |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1230 (beginning-of-line 2)) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1231 (cond ((fboundp 'zmacs-activate-region) (zmacs-activate-region)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1232 ((boundp 'make-active) (setq mark-active t))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1233 (if (yes-or-no-p "Delete and rebuilt header ") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1234 (delete-region (point-min) (point)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1235 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1236 ;; Insert the mode line |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1237 (insert |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1238 (format "%% -*- mode: reftex-index-phrases; TeX-master: \"%s\" -*-\n" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1239 (file-name-nondirectory (reftex-index-phrase-tex-master)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1240 ;; Insert the macro definitions |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1241 (insert "% Key Macro Format Repeat\n") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1242 (insert "%---------------------------------------------------------------------\n") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1243 (while (setq entry (pop macro-alist)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1244 (setq macro (car entry) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1245 repeat (nth 7 entry) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1246 key (car (delq nil (mapcar (lambda (x) (if (equal (nth 1 x) macro) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1247 (car x) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1248 nil)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1249 reftex-key-to-index-macro-alist)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1250 (insert (format ">>>INDEX_MACRO_DEFINITION:\t%s\t%-20s\t%s\n" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1251 (char-to-string key) (concat macro "{%s}") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1252 (if repeat "t" "nil")))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1253 (insert "%---------------------------------------------------------------------\n\n\n"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1254 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1255 (defvar TeX-master) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1256 (defun reftex-index-phrase-tex-master (&optional dir) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1257 "Return the name of the master file associated with a phrase buffer." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1258 (if (and (boundp 'TeX-master) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1259 (local-variable-p 'TeX-master (current-buffer)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1260 (stringp TeX-master)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1261 ;; We have a local variable which tells us which file to use |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1262 (expand-file-name TeX-master dir) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1263 ;; have to guess |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1264 (concat (file-name-sans-extension (buffer-file-name)) ".tex"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1265 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1266 (defun reftex-index-phrases-save-and-return () |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1267 "Return to where the `reftex-index-phrase-selection-or-word' was called." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1268 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1269 (save-buffer) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1270 (switch-to-buffer (marker-buffer reftex-index-return-marker)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1271 (goto-char (or (marker-position reftex-index-return-marker) (point)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1272 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1273 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1274 (defvar reftex-index-phrases-menu) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1275 (defvar reftex-index-phrases-restrict-file nil) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1276 ;;;###autoload |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1277 (defun reftex-index-phrases-mode () |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1278 "Major mode for managing the Index phrases of a LaTeX document. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1279 This buffer was created with RefTeX. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1280 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1281 To insert new phrases, use |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1282 - `C-c \\' in the LaTeX document to copy selection or word |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1283 - `\\[reftex-index-new-phrase]' in the phrases buffer. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1284 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1285 To index phrases use one of: |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1286 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1287 \\[reftex-index-this-phrase] index current phrase |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1288 \\[reftex-index-next-phrase] index next phrase (or N with prefix arg) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1289 \\[reftex-index-all-phrases] index all phrases |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1290 \\[reftex-index-remaining-phrases] index current and following phrases |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1291 \\[reftex-index-region-phrases] index the phrases in the region |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1292 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1293 You can sort the phrases in this buffer with \\[reftex-index-sort-phrases]. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1294 To display information about the phrase at point, use \\[reftex-index-phrases-info]. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1295 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1296 For more information see the RefTeX User Manual. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1297 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1298 Here are all local bindings. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1299 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1300 \\{reftex-index-phrases-map}" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1301 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1302 (kill-all-local-variables) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1303 (setq major-mode 'reftex-index-phrases-mode |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1304 mode-name "Phrases") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1305 (use-local-map reftex-index-phrases-map) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1306 (set (make-local-variable 'font-lock-defaults) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1307 reftex-index-phrases-font-lock-defaults) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1308 (easy-menu-add reftex-index-phrases-menu reftex-index-phrases-map) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1309 (set (make-local-variable 'reftex-index-phrases-marker) (make-marker)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1310 (run-hooks 'reftex-index-phrases-mode-hook)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1311 (add-hook 'reftex-index-phrases-mode-hook 'turn-on-font-lock) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1312 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1313 ;; Font Locking stuff |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1314 (let ((ss (if (featurep 'xemacs) 'secondary-selection ''secondary-selection))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1315 (setq reftex-index-phrases-font-lock-keywords |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1316 (list |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1317 (cons reftex-index-phrases-comment-regexp 'font-lock-comment-face) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1318 (list reftex-index-phrases-macrodef-regexp |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1319 '(1 font-lock-type-face) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1320 '(2 font-lock-keyword-face) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1321 (list 3 ss) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1322 '(4 font-lock-function-name-face) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1323 (list 5 ss) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1324 '(6 font-lock-string-face)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1325 (list reftex-index-phrases-phrase-regexp1 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1326 '(1 font-lock-keyword-face) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1327 (list 2 ss) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1328 '(3 font-lock-string-face) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1329 (list 4 ss)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1330 (list reftex-index-phrases-phrase-regexp2 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1331 '(1 font-lock-keyword-face) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1332 (list 2 ss) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1333 '(3 font-lock-string-face) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1334 (list 4 ss) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1335 '(5 font-lock-function-name-face)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1336 (cons "^\t$" ss))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1337 (setq reftex-index-phrases-font-lock-defaults |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1338 '((reftex-index-phrases-font-lock-keywords) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1339 nil t nil beginning-of-line)) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1340 (put 'reftex-index-phrases-mode 'font-lock-defaults |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1341 reftex-index-phrases-font-lock-defaults) ; XEmacs |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1342 ) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1343 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1344 (defvar reftex-index-phrases-marker) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1345 (defun reftex-index-next-phrase (&optional arg) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1346 "Index the next ARG phrases in the phrases buffer." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1347 (interactive "p") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1348 (reftex-index-phrases-parse-header t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1349 (while (> arg 0) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1350 (decf arg) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1351 (end-of-line) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1352 (if (re-search-forward reftex-index-phrases-phrase-regexp12 nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1353 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1354 (goto-char (match-beginning 0)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1355 (reftex-index-this-phrase)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1356 (error "No more phrase lines after point")))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1357 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1358 (defun reftex-index-this-phrase () |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1359 "Index the phrase in the current line. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1360 Does a global search and replace in the entire document. At each |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1361 match, the user will be asked to confirm the replacement." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1362 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1363 (if (interactive-p) (reftex-index-phrases-parse-header t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1364 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1365 (beginning-of-line) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1366 (cond ((looking-at reftex-index-phrases-comment-regexp) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1367 (if (interactive-p) (error "Comment line"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1368 ((looking-at "^[ \t]*$") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1369 (if (interactive-p) (error "Empty line"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1370 ((looking-at reftex-index-phrases-macrodef-regexp) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1371 (if (interactive-p) (error "Macro definition line"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1372 ((looking-at reftex-index-phrases-phrase-regexp12) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1373 ;; This is a phrase |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1374 (let* ((char (if (not (equal (match-string 1) "")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1375 (string-to-char (match-string 1)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1376 (phrase (match-string 3)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1377 (index-key (match-string 6)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1378 (macro-data (cdr (if (null char) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1379 (car reftex-index-phrases-macro-data) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1380 (assoc char reftex-index-phrases-macro-data)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1381 (macro-fmt (car macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1382 (repeat (nth 1 macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1383 (files |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1384 (cond ((and (stringp reftex-index-phrases-restrict-file) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1385 (file-regular-p reftex-index-phrases-restrict-file)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1386 (list reftex-index-phrases-restrict-file)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1387 ((stringp reftex-index-phrases-restrict-file) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1388 (error "Illegal restriction file %s" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1389 reftex-index-phrases-restrict-file)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1390 (t reftex-index-phrases-files))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1391 (as-words reftex-index-phrases-search-whole-words)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1392 (unless macro-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1393 (error "No macro associated with key %c" char)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1394 (unwind-protect |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1395 (let ((overlay-arrow-string "=>") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1396 (overlay-arrow-position |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1397 reftex-index-phrases-marker) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1398 (replace-count 0)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1399 ;; Show the overlay arrow |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1400 (move-marker reftex-index-phrases-marker |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1401 (match-beginning 0) (current-buffer)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1402 ;; Start the query-replace |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1403 (reftex-query-index-phrase-globally |
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1404 files phrase macro-fmt |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1405 index-key repeat as-words) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1406 (message "%s replaced" |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1407 (reftex-number replace-count "occurrence")))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1408 (t (error "Cannot parse this line"))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1409 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1410 (defun reftex-index-all-phrases () |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1411 "Index all phrases in the phrases buffer. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1412 Calls `reftex-index-this-phrase' on each line in the buffer." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1413 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1414 (reftex-index-region-phrases (point-min) (point-max))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1415 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1416 (defun reftex-index-remaining-phrases () |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1417 "Index all phrases in the phrases buffer. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1418 Calls `reftex-index-this-phrase' on each line ay and below point in |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1419 the buffer." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1420 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1421 (beginning-of-line) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1422 (reftex-index-region-phrases (point) (point-max))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1423 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1424 (defun reftex-index-region-phrases (beg end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1425 "Index all phrases in the phrases buffer. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1426 Calls `reftex-index-this-phrase' on each line in the region." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1427 (interactive "r") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1428 (reftex-index-phrases-parse-header t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1429 (goto-char beg) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1430 (while (not (or (eobp) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1431 (>= (point) end))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1432 (save-excursion (reftex-index-this-phrase)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1433 (beginning-of-line 2))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1434 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1435 (defun reftex-index-phrases-parse-header (&optional get-files) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1436 "Parse the header of a phrases file to extract the macro definitions. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1437 The definitions get stored in `reftex-index-phrases-macro-data'. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1438 Also switches to the LaTeX document to find out which files belong to |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1439 the document and stores the list in `reftex-index-phrases-files'." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1440 (let* ((master (reftex-index-phrase-tex-master)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1441 buf) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1442 (if get-files |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1443 ;; Get the file list |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1444 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1445 (setq buf (reftex-get-file-buffer-force master)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1446 (unless buf (error "Master file %s not found" master)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1447 (set-buffer buf) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1448 (reftex-access-scan-info) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1449 (setq reftex-index-phrases-files |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1450 (reftex-all-document-files)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1451 ;; Parse the files header for macro definitions |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1452 (setq reftex-index-phrases-macro-data nil) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1453 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1454 (goto-char (point-min)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1455 (while (re-search-forward reftex-index-phrases-macrodef-regexp nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1456 (push (list |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1457 (string-to-char (match-string 2)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1458 (match-string 4) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1459 (equal (match-string 6) "t")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1460 reftex-index-phrases-macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1461 ;; Reverse the list, so that the first macro is first |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1462 (if (null reftex-index-phrases-macro-data) |
27192
f70a80cecdd3
New version number.
Carsten Dominik <dominik@science.uva.nl>
parents:
27035
diff
changeset
|
1463 (error "No valid MACRO DEFINITION line in %s file (make sure to use TAB separators)" reftex-index-phrase-file-extension)) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1464 (setq reftex-index-phrases-macro-data |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1465 (nreverse reftex-index-phrases-macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1466 (goto-char (point-min))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1467 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1468 (defun reftex-index-phrases-apply-to-region (beg end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1469 "Index all index phrases in the current region. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1470 This works exactly like global indexing from the index phrases buffer, |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1471 but operation is restricted to the current region. This is useful if |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1472 you need to add/change text in an already indexed document and want to |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1473 index the new part without having to go over the unchanged parts again." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1474 (interactive "r") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1475 (let ((win-conf (current-window-configuration)) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1476 (reftex-index-phrases-restrict-file (buffer-file-name))) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1477 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1478 (save-restriction |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1479 (narrow-to-region beg end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1480 (unwind-protect |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1481 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1482 ;; Hide the region highlighting |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1483 (cond ((fboundp 'zmacs-deactivate-region) (zmacs-deactivate-region)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1484 ((fboundp 'deactivate-mark) (deactivate-mark))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1485 (delete-other-windows) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1486 (reftex-index-visit-phrases-buffer) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1487 (reftex-index-all-phrases)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1488 (set-window-configuration win-conf)))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1489 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1490 (defun reftex-index-new-phrase (&optional text) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1491 "Open a new line in the phrases buffer, insert TEXT." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1492 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1493 (if (and text (stringp text)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1494 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1495 ;; Check if the phrase is already in the buffer |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1496 (setq text (reftex-index-simplify-phrase text)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1497 (goto-char (point-min)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1498 (if (re-search-forward |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1499 (concat "^\\(\\S-*\\)\t\\(" (regexp-quote text) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1500 "\\) *[\t\n]") nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1501 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1502 (goto-char (match-end 2)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1503 (error "Phrase is already in phrases buffer"))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1504 ;; Add the new phrase line after the last in the buffer |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1505 (goto-char (point-max)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1506 (if (re-search-backward reftex-index-phrases-phrase-regexp12 nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1507 (end-of-line)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1508 (if (not (bolp)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1509 (insert "\n")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1510 (insert "\t") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1511 (if (and text (stringp text)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1512 (insert text))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1513 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1514 (defun reftex-index-find-next-conflict-phrase (&optional arg) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1515 "Find the next a phrase which is has conflicts in the phrase buffer. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1516 The command helps to find possible conflicts in the phrase indexing process. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1517 It searches downward from point for a phrase which is repeated elsewhere |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1518 in the buffer, or which is a subphrase of another phrase. If such a |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1519 phrase is found, the phrase info is displayed. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1520 To check the whole buffer, start at the beginning and continue by calling |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1521 this function repeatedly." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1522 (interactive "P") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1523 (if (catch 'exit |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1524 (while (re-search-forward reftex-index-phrases-phrase-regexp12 nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1525 (goto-char (match-beginning 3)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1526 (let* ((phrase (match-string 3)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1527 (case-fold-search reftex-index-phrases-case-fold-search) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1528 (re (reftex-index-phrases-find-dup-re phrase t))) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1529 (if (save-excursion |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1530 (goto-char (point-min)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1531 (and (re-search-forward re nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1532 (re-search-forward re nil t))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1533 (throw 'exit t))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1534 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1535 (reftex-index-phrases-info) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1536 (message "Phrase with match conflict discovered")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1537 (goto-char (point-max)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1538 (error "No further problematic phrases found"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1539 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1540 (defun reftex-index-phrases-info () |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1541 "Display information about the phrase at point." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1542 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1543 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1544 (beginning-of-line) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1545 (unless (looking-at reftex-index-phrases-phrase-regexp12) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1546 (error "Not a phrase line")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1547 (save-match-data (reftex-index-phrases-parse-header t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1548 (let* ((char (if (not (equal (match-string 1) "")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1549 (string-to-char (match-string 1)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1550 (phrase (match-string 3)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1551 (index-key (match-string 6)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1552 (index-keys (split-string |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1553 (or index-key phrase) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1554 reftex-index-phrases-logical-or-regexp)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1555 (macro-data (cdr (if (null char) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1556 (car reftex-index-phrases-macro-data) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1557 (assoc char reftex-index-phrases-macro-data)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1558 (macro-fmt (car macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1559 (repeat (nth 1 macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1560 (as-words reftex-index-phrases-search-whole-words) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1561 (example (reftex-index-make-replace-string |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1562 macro-fmt (downcase phrase) (car index-keys) repeat)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1563 (re (reftex-index-make-phrase-regexp phrase as-words t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1564 (re1 (reftex-index-phrases-find-dup-re phrase)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1565 (re2 (reftex-index-phrases-find-dup-re phrase 'sub)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1566 superphrases |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1567 (nmatches 0) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1568 (ntimes1 0) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1569 (ntimes2 0) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1570 (case-fold-search reftex-index-phrases-case-fold-search) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1571 file files buf) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1572 (setq files reftex-index-phrases-files) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1573 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1574 (save-restriction |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1575 (widen) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1576 (goto-char (point-min)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1577 (while (re-search-forward re1 nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1578 (incf ntimes1)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1579 (goto-char (point-min)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1580 (while (re-search-forward re2 nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1581 (push (cons (count-lines 1 (point)) (match-string 1)) superphrases) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1582 (incf ntimes2)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1583 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1584 (while (setq file (pop files)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1585 (setq buf (reftex-get-file-buffer-force file)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1586 (when buf |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1587 (set-buffer buf) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1588 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1589 (save-restriction |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1590 (widen) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1591 (goto-char (point-min)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1592 (let ((case-fold-search reftex-index-phrases-case-fold-search)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1593 (while (re-search-forward re nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1594 (or (reftex-in-comment) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1595 (incf nmatches))))))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1596 (with-output-to-temp-buffer "*Help*" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1597 (princ (format " Phrase: %s\n" phrase)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1598 (princ (format " Macro key: %s\n" char)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1599 (princ (format " Macro format: %s\n" macro-fmt)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1600 (princ (format " Repeat: %s\n" repeat)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1601 (cond |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1602 (index-key |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1603 (let ((iks index-keys) (cnt 0) ik) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1604 (while (setq ik (pop iks)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1605 (princ (format "Index entry %d: %s\n" (incf cnt) ik))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1606 (repeat |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1607 (princ (format " Index entry: %s\n" phrase))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1608 (t |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1609 (princ (format " Index key: <<Given by the match>>\n")))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1610 (princ (format " Example: %s\n" example)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1611 (terpri) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1612 (princ (format "Total matches: %s in %s\n" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1613 (reftex-number nmatches "match" "es") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1614 (reftex-number (length reftex-index-phrases-files) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1615 "LaTeX file"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1616 (princ (format " Uniqueness: Phrase occurs %s in phrase buffer\n" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1617 (reftex-number ntimes1 "time"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1618 (if (> ntimes2 1) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1619 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1620 (princ (format " Superphrases: Phrase matches the following %s in the phrase buffer:\n" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1621 (reftex-number ntimes2 "line"))) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1622 (mapcar (lambda(x) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1623 (princ (format " Line %4d: %s\n" (car x) (cdr x)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1624 (nreverse superphrases)))))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1625 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1626 (defun reftex-index-phrases-set-macro-key () |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1627 "Change the macro key for the current line. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1628 Prompts for a macro key and insert is at the beginning of the line. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1629 If you reply with SPACE, the macro keyn will be removed, so that the |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1630 default macro will be used. If you reply with `RET', just prints |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1631 information about the currently selected macro." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1632 (interactive) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1633 (reftex-index-phrases-parse-header) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1634 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1635 (beginning-of-line) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1636 (unless (or (looking-at reftex-index-phrases-phrase-regexp12) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1637 (looking-at "\t")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1638 (error "This is not a phrase line")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1639 (let* ((nc (reftex-index-select-phrases-macro 0)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1640 (macro-data (assoc nc reftex-index-phrases-macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1641 macro-fmt repeat) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1642 (cond (macro-data) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1643 ((equal nc ?\ ) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1644 (setq nc "" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1645 macro-data (car reftex-index-phrases-macro-data))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1646 ((equal nc ?\C-m) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1647 (setq nc (char-after (point))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1648 (if (equal nc ?\t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1649 (setq nc "" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1650 macro-data (car reftex-index-phrases-macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1651 (setq macro-data (assoc nc reftex-index-phrases-macro-data)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1652 (t (error "No macro associated with %c" nc))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1653 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1654 (setq macro-fmt (nth 1 macro-data) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1655 repeat (nth 2 macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1656 (if macro-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1657 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1658 (if (looking-at "[^\t]") (delete-char 1)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1659 (insert nc) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1660 (message "Line will use %s %s repeat" macro-fmt |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1661 (if repeat "with" "without"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1662 (error "Abort"))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1663 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1664 (defun reftex-index-sort-phrases (&optional chars-first) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1665 "Sort the phrases lines in the buffer alphabetically. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1666 Normally, this looks only at the phrases. With a prefix arg CHARS-FIRST, |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1667 it first compares the macro identifying chars and then the phrases." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1668 (interactive "P") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1669 ;; Remember the current line, so that we can return |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1670 (let ((line (buffer-substring (progn (beginning-of-line) (point)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1671 (progn (end-of-line) (point)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1672 beg end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1673 (goto-char (point-min)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1674 ;; Find first and last phrase line in buffer |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1675 (setq beg |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1676 (and (re-search-forward reftex-index-phrases-phrase-regexp12 nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1677 (match-beginning 0))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1678 (goto-char (point-max)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1679 (setq end (re-search-backward reftex-index-phrases-phrase-regexp12 nil t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1680 (if end (setq end (progn (goto-char end) (end-of-line) (point)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1681 ;; Take the lines, sort them and re-insert. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1682 (if (and beg end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1683 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1684 (message "Sorting lines...") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1685 (let* ((lines (split-string (buffer-substring beg end) "\n")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1686 (lines1 (sort lines 'reftex-compare-phrase-lines))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1687 (message "Sorting lines...done") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1688 (let ((inhibit-quit t)) ;; make sure we do not loose lines |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1689 (delete-region beg end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1690 (insert (mapconcat 'identity lines1 "\n")))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1691 (goto-char (point-max)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1692 (re-search-backward (concat "^" (regexp-quote line) "$") nil t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1693 (error "Cannot find phrases lines to sort")))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1694 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1695 (defvar chars-first) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1696 (defun reftex-compare-phrase-lines (a b) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1697 "The comparison function used for sorting." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1698 (let (ca cb pa pb c-p p-p) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1699 (if (string-match reftex-index-phrases-phrase-regexp12 a) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1700 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1701 ;; Extract macro char and phrase-or-key for a |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1702 (setq ca (match-string 1 a) |
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1703 pa (downcase |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1704 (or (and reftex-index-phrases-sort-prefers-entry |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1705 (match-string 6 a)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1706 (match-string 3 a)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1707 (if (string-match reftex-index-phrases-phrase-regexp12 b) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1708 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1709 ;; Extract macro char and phrase-or-key for b |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1710 (setq cb (match-string 1 b) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1711 pb (downcase |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1712 (or (and reftex-index-phrases-sort-prefers-entry |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1713 (match-string 6 b)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1714 (match-string 3 b)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1715 (setq c-p (string< ca cb) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1716 p-p (string< pa pb)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1717 ;; Do the right comparison, based on the value of `chars-first' |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1718 ;; `chars-first' is bound locally in the calling function |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1719 (if chars-first |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1720 (if (string= ca cb) p-p c-p) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1721 (if (string= pa pb) c-p p-p))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1722 ;; If line a does not match, the answer we return determines |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1723 ;; if non-matching lines are collected at the beginning. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1724 ;; When we return t here, non-matching lines form |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1725 ;; block separators for searches. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1726 (not reftex-index-phrases-sort-in-blocks)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1727 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1728 (defvar reftex-index-phrases-menu) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1729 (defun reftex-index-make-phrase-regexp (phrase &optional |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1730 as-words allow-newline) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1731 "Return a regexp matching PHRASE, even if distributed over lines. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1732 With optional arg AS-WORDS, require word boundary at beginning and end. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1733 With optional arg ALLOW-NEWLINE, allow single newline between words." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1734 (let* ((words (split-string phrase)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1735 (space-re (if allow-newline |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1736 "\\([ \t]*\\(\n[ \t]*\\)?\\|[ \t]\\)" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1737 "\\([ \t]+\\)"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1738 (concat (if (and as-words (string-match "\\`\\w" (car words))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1739 "\\<" "") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1740 (mapconcat (lambda (w) (regexp-quote (downcase w))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1741 words space-re) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1742 (if (and as-words |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1743 (string-match "\\w\\'" (nth (1- (length words)) words))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1744 "\\>" "")))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1745 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1746 (defun reftex-index-simplify-phrase (phrase) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1747 "Make phrase single spaces and single line." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1748 (mapconcat 'identity (split-string phrase) " ")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1749 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1750 (defun reftex-index-phrases-find-dup-re (phrase &optional sub) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1751 "Return a regexp which matches variations of PHRASE (with additional space). |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1752 When SUB ins non-nil, the regexp will also match when PHRASE is a subphrase |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1753 of another phrase. The regexp works lonly in the phrase buffer." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1754 (concat (if sub "^\\S-?\t\\([^\t\n]*" "^\\S-?\t") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1755 (mapconcat 'regexp-quote (split-string phrase) " +") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1756 (if sub "[^\t\n]*\\)\\([\t\n]\\|$\\)" " *\\([\t\n]\\|$\\)"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1757 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1758 (defun reftex-index-make-replace-string (macro-fmt match index-key |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1759 &optional repeat mathp) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1760 "Return the string which can be used as replacement. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1761 Treats the logical `and' for index phrases." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1762 (let ((index-keys (split-string (or index-key match) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1763 reftex-index-phrases-logical-and-regexp))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1764 (concat |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1765 (mapconcat (lambda (x) |
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1766 (format macro-fmt |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1767 (format (if mathp reftex-index-math-format "%s") x))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1768 index-keys "") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1769 (if repeat (reftex-index-simplify-phrase match) "")))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1770 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1771 (defun reftex-query-index-phrase-globally (files &rest args) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1772 "Call `reftex-query-index-phrase' for all files in FILES." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1773 (let ((win-conf (current-window-configuration)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1774 (file)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1775 (unless files (error "No files")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1776 (unwind-protect |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1777 (progn |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1778 (switch-to-buffer-other-window (reftex-get-file-buffer-force |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1779 (car files))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1780 (catch 'no-more-files |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1781 (while (setq file (pop files)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1782 (switch-to-buffer (reftex-get-file-buffer-force file)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1783 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1784 (save-restriction |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1785 (unless (stringp reftex-index-phrases-restrict-file) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1786 (widen)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1787 (goto-char (point-min)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1788 (apply 'reftex-query-index-phrase args)))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1789 (reftex-unhighlight 0) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1790 (set-window-configuration win-conf)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1791 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1792 (defconst reftex-index-phrases-help |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1793 " Keys for query-index search |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1794 =========================== |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1795 y Replace this match |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1796 n Skip this match |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1797 ! Replace this and all further matches in this file |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1798 q / Q Skip match, start next file / start next phrase |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1799 o Use a different indexing macro for this match |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1800 1 - 9 Select one of the multiple phrases |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1801 e Edit the replacement text |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1802 C-r Recursive edit. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1803 s / S Save this buffer / Save all document buffers |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1804 C-g Abort" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1805 "The help string for indexing phrases.") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1806 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1807 (defvar replace-count) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1808 (defun reftex-query-index-phrase (phrase macro-fmt &optional |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1809 index-key repeat as-words) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1810 "Search through buffer for PHRASE, and offer to replace it with an indexed |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1811 version. The index version is derived by applying `format' with MACRO-FMT |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1812 to INDEX-KEY or PHRASE. When REPEAT is non-nil, the PHRASE is inserted |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1813 again after the macro. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1814 AS-WORDS means, the search for PHRASE should require word boundaries at |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1815 both ends." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1816 (let* ((re (reftex-index-make-phrase-regexp phrase as-words 'allow-newline)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1817 (case-fold-search reftex-index-phrases-case-fold-search) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1818 (index-keys (split-string |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1819 (or index-key phrase) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1820 reftex-index-phrases-logical-or-regexp)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1821 (nkeys (length index-keys)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1822 (ckey (nth 0 index-keys)) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1823 (all-yes nil) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1824 match rpl char beg end mathp) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1825 (unwind-protect |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1826 (while (re-search-forward re nil t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1827 (catch 'next-match |
46612
7522419c4db0
Updated to reftex 4.17
Carsten Dominik <dominik@science.uva.nl>
parents:
41784
diff
changeset
|
1828 (if (and (fboundp reftex-index-verify-function) |
7522419c4db0
Updated to reftex 4.17
Carsten Dominik <dominik@science.uva.nl>
parents:
41784
diff
changeset
|
1829 (not (funcall reftex-index-verify-function))) |
7522419c4db0
Updated to reftex 4.17
Carsten Dominik <dominik@science.uva.nl>
parents:
41784
diff
changeset
|
1830 (throw 'next-match nil)) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1831 (setq match (match-string 0)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1832 (setq mathp |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1833 (save-match-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1834 (condition-case nil (texmathp) (error nil)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1835 (setq beg (car (match-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1836 end (nth 1 (match-data))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1837 (if (and reftex-index-phrases-skip-indexed-matches |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1838 (save-match-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1839 (reftex-index-phrase-match-is-indexed beg |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1840 end))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1841 (throw 'next-match nil)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1842 (reftex-highlight 0 (match-beginning 0) (match-end 0)) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1843 (setq rpl |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1844 (save-match-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1845 (reftex-index-make-replace-string |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1846 macro-fmt (match-string 0) ckey repeat mathp))) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1847 (while |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1848 (not |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1849 (catch 'loop |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1850 (message "REPLACE: %s? (yn!qoe%s?)" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1851 rpl |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1852 (if (> nkeys 1) |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1853 (concat "1-" (int-to-string nkeys)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1854 "")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1855 (setq char (if all-yes ?y (read-char-exclusive))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1856 (cond ((member char '(?y ?Y ?\ )) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1857 ;; Yes! |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1858 (replace-match rpl t t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1859 (incf replace-count) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1860 ;; See if we should insert newlines to shorten lines |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1861 (and reftex-index-phrases-wrap-long-lines |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1862 (reftex-index-phrases-fixup-line beg end)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1863 (throw 'loop t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1864 ((member char '(?n ?N ?\C-h ?\C-?));; FIXME: DEL |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1865 ;; No |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1866 (throw 'loop t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1867 ((equal char ?!) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1868 ;; Yes for all in this buffer |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1869 (setq all-yes t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1870 ((equal char ?q) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1871 ;; Stop this one in this file |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1872 (goto-char (point-max)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1873 (throw 'loop t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1874 ((equal char ?Q) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1875 ;; Stop this one |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1876 (throw 'no-more-files t)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1877 ((equal char ?s) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1878 (save-buffer)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1879 ((equal char ?S) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1880 (reftex-save-all-document-buffers)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1881 ((equal char ?\C-g) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1882 (keyboard-quit)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1883 ((member char '(?o ?O)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1884 ;; Select a differnt macro |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1885 (let* ((nc (reftex-index-select-phrases-macro 2)) |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1886 (macro-data |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1887 (cdr (assoc nc reftex-index-phrases-macro-data))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1888 (macro-fmt (car macro-data)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1889 (repeat (nth 1 macro-data))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1890 (if macro-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1891 (setq rpl (save-match-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1892 (reftex-index-make-replace-string |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1893 macro-fmt match |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1894 ckey repeat mathp))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1895 (ding)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1896 ((equal char ?\?) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1897 ;; Help |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1898 (with-output-to-temp-buffer "*Help*" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1899 (princ reftex-index-phrases-help))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1900 ((equal char ?\C-r) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1901 ;; Recursive edit |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1902 (save-match-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1903 (save-excursion |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1904 (message |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1905 (substitute-command-keys |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1906 "Recursive edit. Resume with \\[exit-recursive-edit]")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1907 (recursive-edit)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1908 ((equal char ?e) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1909 (setq rpl (read-string "Edit: " rpl))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1910 ((equal char ?0) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1911 (setq ckey (or index-key phrase) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1912 rpl (save-match-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1913 (reftex-index-make-replace-string |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1914 macro-fmt match ckey repeat mathp)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1915 ((and (> char ?0) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1916 (<= char (+ ?0 nkeys))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1917 (setq ckey (nth (1- (- char ?0)) index-keys) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1918 rpl (save-match-data |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1919 (reftex-index-make-replace-string |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1920 macro-fmt match ckey repeat mathp)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1921 (t (ding))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1922 nil))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1923 (message "") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1924 (setq all-yes nil) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1925 (reftex-unhighlight 0)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1926 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1927 (defun reftex-index-phrase-match-is-indexed (beg end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1928 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1929 (goto-char end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1930 (let* ((this-macro (car (reftex-what-macro 1))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1931 (before-char (char-before beg)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1932 (after-char (char-after end)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1933 (before-macro |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1934 (and (> beg 2) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1935 (goto-char (1- beg)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1936 (memq (char-after (point)) '(?\] ?\})) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1937 (car (reftex-what-macro 1)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1938 (after-macro |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1939 (and (goto-char end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1940 (looking-at "\\(\\\\[a-zA-Z]+\\*?\\)[[{]") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1941 (match-string 1)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1942 (or (and this-macro |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1943 (member before-char '(?\{ ?\[)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1944 (member after-char '(?\} ?\])) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1945 (member this-macro reftex-macros-with-index)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1946 (and before-macro |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1947 (member before-macro reftex-macros-with-index)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1948 (and after-macro |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1949 (member after-macro reftex-macros-with-index)))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1950 |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
1951 |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1952 (defun reftex-index-phrases-fixup-line (beg end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1953 "Insert newlines before BEG and/or after END to shorten line." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1954 (let (bol eol space1 space2) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1955 (save-excursion |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1956 ;; Find line boundaries and possible line breaks near BEG and END |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1957 (beginning-of-line) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1958 (setq bol (point)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1959 (end-of-line) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1960 (setq eol (point)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1961 (goto-char beg) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1962 (skip-chars-backward "^ \n") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1963 (if (and (equal (preceding-char) ?\ ) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1964 (string-match "\\S-" (buffer-substring bol (point)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1965 (setq space1 (1- (point)))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1966 (goto-char end) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1967 (skip-chars-forward "^ \n") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1968 (if (and (equal (following-char) ?\ ) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1969 (string-match "\\S-" (buffer-substring (point) eol))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1970 (setq space2 (point))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1971 ;; Now check what we have and insert the newlines |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1972 (if (<= (- eol bol) fill-column) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1973 ;; Line is already short |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1974 nil |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1975 (cond |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1976 ((and (not space1) (not space2))) ; No spaces available |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1977 ((not space2) ; Do space1 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1978 (reftex-index-phrases-replace-space space1)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1979 ((not space1) ; Do space2 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1980 (reftex-index-phrases-replace-space space2)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1981 (t ; We have both spaces |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1982 (let ((l1 (- space1 bol)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1983 (l2 (- space2 space1)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1984 (l3 (- eol space2))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1985 (if (> l2 fill-column) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1986 ;; The central part alone is more than one line |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1987 (progn |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1988 (reftex-index-phrases-replace-space space1) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1989 (reftex-index-phrases-replace-space space2)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1990 (if (> (+ l1 l2) fill-column) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1991 ;; Need to split beginning |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1992 (reftex-index-phrases-replace-space space1)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1993 (if (> (+ l2 l3) fill-column) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1994 ;; Need to split end |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1995 (reftex-index-phrases-replace-space space2)))))))))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1996 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1997 (defun reftex-index-phrases-replace-space (pos) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1998 "If there is a space at POS, replace it with a newline char. |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
1999 Does not do a save-excursion." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2000 (when (equal (char-after pos) ?\ ) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2001 (goto-char pos) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2002 (delete-char 1) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2003 (insert "\n"))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2004 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2005 (defun reftex-index-select-phrases-macro (&optional delay) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2006 "Offer a list of possible index macros and have the user select one." |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2007 (let* ((prompt (concat "Select macro: [" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2008 (mapconcat (lambda (x) (char-to-string (car x))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2009 reftex-index-phrases-macro-data "") |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2010 "] ")) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2011 (help (concat "Select an indexing macro\n========================\n" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2012 (mapconcat (lambda (x) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2013 (format " [%c] %s" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2014 (car x) (nth 1 x))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2015 reftex-index-phrases-macro-data "\n")))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2016 (reftex-select-with-char prompt help delay))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2017 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2018 ;; Keybindings and Menu for phrases buffer |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2019 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2020 (loop for x in |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2021 '(("\C-c\C-c" . reftex-index-phrases-save-and-return) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2022 ("\C-c\C-x" . reftex-index-this-phrase) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2023 ("\C-c\C-f" . reftex-index-next-phrase) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2024 ("\C-c\C-r" . reftex-index-region-phrases) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2025 ("\C-c\C-a" . reftex-index-all-phrases) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2026 ("\C-c\C-d" . reftex-index-remaining-phrases) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2027 ("\C-c\C-s" . reftex-index-sort-phrases) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2028 ("\C-c\C-n" . reftex-index-new-phrase) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2029 ("\C-c\C-m" . reftex-index-phrases-set-macro-key) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2030 ("\C-c\C-i" . reftex-index-phrases-info) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2031 ("\C-c\C-t" . reftex-index-find-next-conflict-phrase) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2032 ("\C-i" . self-insert-command)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2033 do (define-key reftex-index-phrases-map (car x) (cdr x))) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2034 |
49599
5ade352e8d1c
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
47050
diff
changeset
|
2035 (easy-menu-define |
26910
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2036 reftex-index-phrases-menu reftex-index-phrases-map |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2037 "Menu for Phrases buffer" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2038 '("Phrases" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2039 ["New Phrase" reftex-index-new-phrase t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2040 ["Set Phrase Macro" reftex-index-phrases-set-macro-key t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2041 ["Recreate File Header" reftex-index-initialize-phrases-buffer t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2042 "--" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2043 ("Sort Phrases" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2044 ["Sort" reftex-index-sort-phrases t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2045 "--" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2046 "Sort Options" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2047 ["by Search Phrase" (setq reftex-index-phrases-sort-prefers-entry nil) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2048 :style radio :selected (not reftex-index-phrases-sort-prefers-entry)] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2049 ["by Index Entry" (setq reftex-index-phrases-sort-prefers-entry t) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2050 :style radio :selected reftex-index-phrases-sort-prefers-entry] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2051 ["in Blocks" (setq reftex-index-phrases-sort-in-blocks |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2052 (not reftex-index-phrases-sort-in-blocks)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2053 :style toggle :selected reftex-index-phrases-sort-in-blocks]) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2054 ["Describe Phrase" reftex-index-phrases-info t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2055 ["Next Phrase Conflict" reftex-index-find-next-conflict-phrase t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2056 "--" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2057 ("Find and Index in Document" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2058 ["Current Phrase" reftex-index-this-phrase t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2059 ["Next Phrase" reftex-index-next-phrase t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2060 ["Current and Following" reftex-index-remaining-phrases t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2061 ["Region Phrases" reftex-index-region-phrases t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2062 ["All Phrases" reftex-index-all-phrases t] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2063 "--" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2064 "Options" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2065 ["Match Whole Words" (setq reftex-index-phrases-search-whole-words |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2066 (not reftex-index-phrases-search-whole-words)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2067 :style toggle :selected reftex-index-phrases-search-whole-words] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2068 ["Case Sensitive Search" (setq reftex-index-phrases-case-fold-search |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2069 (not reftex-index-phrases-case-fold-search)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2070 :style toggle :selected (not |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2071 reftex-index-phrases-case-fold-search)] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2072 ["Wrap Long Lines" (setq reftex-index-phrases-wrap-long-lines |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2073 (not reftex-index-phrases-wrap-long-lines)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2074 :style toggle :selected reftex-index-phrases-wrap-long-lines] |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2075 ["Skip Indexed Matches" (setq reftex-index-phrases-skip-indexed-matches |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2076 (not reftex-index-phrases-skip-indexed-matches)) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2077 :style toggle :selected reftex-index-phrases-skip-indexed-matches]) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2078 "--" |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2079 ["Save and Return" reftex-index-phrases-save-and-return t])) |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2080 |
489a5439b988
* reftex.el (reftex-compile-variables): respect new structure of
Carsten Dominik <dominik@science.uva.nl>
parents:
25806
diff
changeset
|
2081 |
25280 | 2082 ;;; reftex-index.el ends here |