[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/textmodes/reftex-index.el
From: |
Carsten Dominik |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/textmodes/reftex-index.el |
Date: |
Fri, 16 Sep 2005 06:01:36 -0400 |
Index: emacs/lisp/textmodes/reftex-index.el
diff -c emacs/lisp/textmodes/reftex-index.el:1.26
emacs/lisp/textmodes/reftex-index.el:1.27
*** emacs/lisp/textmodes/reftex-index.el:1.26 Wed Aug 31 10:34:07 2005
--- emacs/lisp/textmodes/reftex-index.el Fri Sep 16 10:01:33 2005
***************
*** 1,10 ****
;;; reftex-index.el --- index support with RefTeX
!
! ;; Copyright (C) 1997, 1998, 1999, 2000, 2002, 2003, 2004,
! ;; 2005 Free Software Foundation, Inc.
;; Author: Carsten Dominik <address@hidden>
! ;; Version: 4.28
;; This file is part of GNU Emacs.
--- 1,9 ----
;;; reftex-index.el --- index support with RefTeX
! ;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004, 2005
! ;; Free Software Foundation, Inc.
;; Author: Carsten Dominik <address@hidden>
! ;; Version: VERSIONTAG
;; This file is part of GNU Emacs.
***************
*** 20,27 ****
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
! ;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
! ;; Boston, MA 02110-1301, USA.
;;; Commentary:
--- 19,26 ----
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
! ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
! ;; Boston, MA 02111-1307, USA.
;;; Commentary:
***************
*** 32,44 ****
(require 'reftex)
;;;
- (defvar reftex-index-phrases-marker)
- (defvar TeX-master)
-
;; START remove for XEmacs release
(defvar mark-active)
(defvar zmacs-regions)
(defvar transient-mark-mode)
;; END remove for XEmacs release
(defun reftex-index-selection-or-word (&optional arg phrase)
"Put selection or the word near point into the default index macro.
--- 31,41 ----
(require 'reftex)
;;;
;; START remove for XEmacs release
(defvar mark-active)
(defvar zmacs-regions)
(defvar transient-mark-mode)
+ (defvar TeX-master)
;; END remove for XEmacs release
(defun reftex-index-selection-or-word (&optional arg phrase)
"Put selection or the word near point into the default index macro.
***************
*** 56,68 ****
(active (if (boundp 'zmacs-regions)
(and zmacs-regions (region-exists-p)) ; XEmacs
(and transient-mark-mode mark-active))) ; Emacs
! (beg (if active
(region-beginning)
! (save-excursion
(skip-syntax-backward "w\\") (point))))
(end (if active
(region-end)
! (save-excursion
(skip-syntax-forward "w\\") (point))))
(sel (buffer-substring beg end))
(mathp (condition-case nil (texmathp) (error nil)))
--- 53,65 ----
(active (if (boundp 'zmacs-regions)
(and zmacs-regions (region-exists-p)) ; XEmacs
(and transient-mark-mode mark-active))) ; Emacs
! (beg (if active
(region-beginning)
! (save-excursion
(skip-syntax-backward "w\\") (point))))
(end (if active
(region-end)
! (save-excursion
(skip-syntax-forward "w\\") (point))))
(sel (buffer-substring beg end))
(mathp (condition-case nil (texmathp) (error nil)))
***************
*** 93,99 ****
;; Delete what is in the buffer and make the index entry
(delete-region beg end)
(reftex-index def-char full-entry def-tag sel)))))
!
(defun reftex-index (&optional char key tag sel no-insert)
"Query for an index macro and insert it along with its argments.
The index macros available are those defined in `reftex-index-macro' or
--- 90,96 ----
;; Delete what is in the buffer and make the index entry
(delete-region beg end)
(reftex-index def-char full-entry def-tag sel)))))
!
(defun reftex-index (&optional char key tag sel no-insert)
"Query for an index macro and insert it along with its argments.
The index macros available are those defined in `reftex-index-macro' or
***************
*** 169,175 ****
;; OPT-ARGS is a list of optional argument indices, as given by
;; `reftex-parse-args'.
(let* ((opt (and (integerp itag) (member itag opt-args)))
! (index-tags (cdr (assq 'index-tags
(symbol-value reftex-docstruct-symbol))))
(default (reftex-default-index))
(prompt (concat "Index tag"
--- 166,172 ----
;; OPT-ARGS is a list of optional argument indices, as given by
;; `reftex-parse-args'.
(let* ((opt (and (integerp itag) (member itag opt-args)))
! (index-tags (cdr (assq 'index-tags
(symbol-value reftex-docstruct-symbol))))
(default (reftex-default-index))
(prompt (concat "Index tag"
***************
*** 183,199 ****
(defun reftex-index-select-tag ()
;; Have the user select an index tag.
;; FIXME: should we cache tag-alist, prompt and help?
! (let* ((index-tags (cdr (assoc 'index-tags
(symbol-value reftex-docstruct-symbol))))
(default (reftex-default-index)))
! (cond
((null index-tags)
(error "No index tags available"))
((= (length index-tags) 1)
;; Just one index, use it
(car index-tags))
!
((> (length index-tags) 1)
;; Several indices, ask.
(let* ((tags (copy-sequence index-tags))
--- 180,196 ----
(defun reftex-index-select-tag ()
;; Have the user select an index tag.
;; FIXME: should we cache tag-alist, prompt and help?
! (let* ((index-tags (cdr (assoc 'index-tags
(symbol-value reftex-docstruct-symbol))))
(default (reftex-default-index)))
! (cond
((null index-tags)
(error "No index tags available"))
((= (length index-tags) 1)
;; Just one index, use it
(car index-tags))
!
((> (length index-tags) 1)
;; Several indices, ask.
(let* ((tags (copy-sequence index-tags))
***************
*** 214,225 ****
(unless (assq (aref tag i) tag-alist)
(push (list (aref tag i)
tag
! (concat (substring tag 0 i)
"[" (substring tag i (incf i)) "]"
(substring tag i)))
tag-alist)
(throw 'exit t)))
! (push (list (+ ?0 (incf cnt)) tag
(concat "[" (int-to-string cnt) "]:" tag))
tag-alist)))
(setq tag-alist (nreverse tag-alist))
--- 211,222 ----
(unless (assq (aref tag i) tag-alist)
(push (list (aref tag i)
tag
! (concat (substring tag 0 i)
"[" (substring tag i (incf i)) "]"
(substring tag i)))
tag-alist)
(throw 'exit t)))
! (push (list (+ ?0 (incf cnt)) tag
(concat "[" (int-to-string cnt) "]:" tag))
tag-alist)))
(setq tag-alist (nreverse tag-alist))
***************
*** 234,240 ****
(if default
(format "[^M] %s (the default)\n" default)
"")
! (mapconcat (lambda(x)
(apply 'format "[%c] %s" x))
tag-alist "\n")))
;; Query the user for an index-tag
--- 231,237 ----
(if default
(format "[^M] %s (the default)\n" default)
"")
! (mapconcat (lambda(x)
(apply 'format "[%c] %s" x))
tag-alist "\n")))
;; Query the user for an index-tag
***************
*** 263,269 ****
key))
(defun reftex-index-update-taglist (newtag)
! ;; add NEWTAG to the list of available index tags.
(let ((cell (assoc 'index-tags (symbol-value reftex-docstruct-symbol))))
(and newtag (cdr cell) (not (member newtag (cdr cell)))
(push newtag (cdr cell)))))
--- 260,266 ----
key))
(defun reftex-index-update-taglist (newtag)
! ;; add NEWTAG to the list of available index tags.
(let ((cell (assoc 'index-tags (symbol-value reftex-docstruct-symbol))))
(and newtag (cdr cell) (not (member newtag (cdr cell)))
(push newtag (cdr cell)))))
***************
*** 314,320 ****
(easy-menu-add reftex-index-menu reftex-index-map)
(add-hook 'post-command-hook 'reftex-index-post-command-hook nil t)
(add-hook 'pre-command-hook 'reftex-index-pre-command-hook nil t)
! (run-mode-hooks 'reftex-index-mode-hook))
(defconst reftex-index-help
" AVAILABLE KEYS IN INDEX BUFFER
--- 311,317 ----
(easy-menu-add reftex-index-menu reftex-index-map)
(add-hook 'post-command-hook 'reftex-index-post-command-hook nil t)
(add-hook 'pre-command-hook 'reftex-index-pre-command-hook nil t)
! (run-hooks 'reftex-index-mode-hook))
(defconst reftex-index-help
" AVAILABLE KEYS IN INDEX BUFFER
***************
*** 344,350 ****
;; Note: This function just looks for the nearest match of the
;; context string and may fail if the entry moved and an identical
;; entry is close to the old position. Frequent rescans make this
! ;; safer.
(let* ((file (nth 3 data))
(literal (nth 2 data))
(pos (nth 4 data))
--- 341,347 ----
;; Note: This function just looks for the nearest match of the
;; context string and may fail if the entry moved and an identical
;; entry is close to the old position. Frequent rescans make this
! ;; safer.
(let* ((file (nth 3 data))
(literal (nth 2 data))
(pos (nth 4 data))
***************
*** 392,398 ****
(calling-file (buffer-file-name))
(restriction
(or overriding-restriction
! (and (not redo)
(reftex-get-restriction current-prefix-arg docstruct))))
(locations
;; See if we are on an index macro as initial position
--- 389,395 ----
(calling-file (buffer-file-name))
(restriction
(or overriding-restriction
! (and (not redo)
(reftex-get-restriction current-prefix-arg docstruct))))
(locations
;; See if we are on an index macro as initial position
***************
*** 401,407 ****
(macro (car what-macro))
(here-I-am (when (member macro reftex-macros-with-index)
(save-excursion
! (goto-char (+ (cdr what-macro)
(length macro)))
(reftex-move-over-touching-args)
(reftex-where-am-I)))))
--- 398,404 ----
(macro (car what-macro))
(here-I-am (when (member macro reftex-macros-with-index)
(save-excursion
! (goto-char (+ (cdr what-macro)
(length macro)))
(reftex-move-over-touching-args)
(reftex-where-am-I)))))
***************
*** 412,418 ****
(setq buffer-name (reftex-make-index-buffer-name index-tag))
;; Goto the buffer and put it into the correct mode
!
(when (or restriction current-prefix-arg)
(reftex-kill-buffer buffer-name))
--- 409,415 ----
(setq buffer-name (reftex-make-index-buffer-name index-tag))
;; Goto the buffer and put it into the correct mode
!
(when (or restriction current-prefix-arg)
(reftex-kill-buffer buffer-name))
***************
*** 505,511 ****
;; Delete the entry at place
(and (bolp) (forward-char 1))
(delete-region (previous-single-property-change (1+ (point)) :data)
! (or (next-single-property-change (point) :data)
(point-max))))
;; Walk through the list and insert all entries
--- 502,508 ----
;; Delete the entry at place
(and (bolp) (forward-char 1))
(delete-region (previous-single-property-change (1+ (point)) :data)
! (or (next-single-property-change (point) :data)
(point-max))))
;; Walk through the list and insert all entries
***************
*** 526,532 ****
(insert indent (nth 7 cell))
(when font
(setq to (point))
! (put-text-property
(- (point) (length (nth 7 cell))) to
'face index-face)
(goto-char to))
--- 523,529 ----
(insert indent (nth 7 cell))
(when font
(setq to (point))
! (put-text-property
(- (point) (length (nth 7 cell))) to
'face index-face)
(goto-char to))
***************
*** 554,560 ****
(defun reftex-index-insert-new-letter (letter &optional font)
;; Start a new section in the index
(let ((from (point)))
! (insert "\n" letter letter letter
"-----------------------------------------------------------------")
(when font
(put-text-property from (point) 'face reftex-index-section-face))
--- 551,557 ----
(defun reftex-index-insert-new-letter (letter &optional font)
;; Start a new section in the index
(let ((from (point)))
! (insert "\n" letter letter letter
"-----------------------------------------------------------------")
(when font
(put-text-property from (point) 'face reftex-index-section-face))
***************
*** 631,640 ****
(interactive "p")
(setq reftex-callback-fwd t)
(or (eobp) (forward-char 1))
! (goto-char (or (next-single-property-change (point) :data)
(point)))
(unless (get-text-property (point) :data)
! (goto-char (or (next-single-property-change (point) :data)
(point)))))
(defun reftex-index-previous (&optional arg)
"Move to previous selectable item."
--- 628,637 ----
(interactive "p")
(setq reftex-callback-fwd t)
(or (eobp) (forward-char 1))
! (goto-char (or (next-single-property-change (point) :data)
(point)))
(unless (get-text-property (point) :data)
! (goto-char (or (next-single-property-change (point) :data)
(point)))))
(defun reftex-index-previous (&optional arg)
"Move to previous selectable item."
***************
*** 777,783 ****
(reftex-index-restrict-to-section t)
(setq reftex-index-restriction-indicator (nth 6 bor)
reftex-index-restriction-data
! (list bor
(car (memq (assq 'toc (cdr (memq bor docstruct)))
docstruct))))
(reftex-index-revert))))
--- 774,780 ----
(reftex-index-restrict-to-section t)
(setq reftex-index-restriction-indicator (nth 6 bor)
reftex-index-restriction-data
! (list bor
(car (memq (assq 'toc (cdr (memq bor docstruct)))
docstruct))))
(reftex-index-revert))))
***************
*** 809,815 ****
show-window show-buffer match)
(unless data (error "Don't know which index entry to visit"))
!
(if (eq (car data) 'index)
(setq match (reftex-index-show-entry data no-revisit)))
--- 806,812 ----
show-window show-buffer match)
(unless data (error "Don't know which index entry to visit"))
!
(if (eq (car data) 'index)
(setq match (reftex-index-show-entry data no-revisit)))
***************
*** 880,886 ****
attr (nth 2 analyze))
(setf (nth 2 analyze) (if (string= attr bor) "" bor))
(setq new (apply 'concat analyze))
! (reftex-index-change-entry
new (if (string= (nth 2 analyze) bor)
"Entry is now START-OF-PAGE-RANGE"
"START-OF-PAGE-RANGE canceled"))))
--- 877,883 ----
attr (nth 2 analyze))
(setf (nth 2 analyze) (if (string= attr bor) "" bor))
(setq new (apply 'concat analyze))
! (reftex-index-change-entry
new (if (string= (nth 2 analyze) bor)
"Entry is now START-OF-PAGE-RANGE"
"START-OF-PAGE-RANGE canceled"))))
***************
*** 938,944 ****
(t (setf (nth n analyze) (concat initial npart))))
(setq new (apply 'concat analyze))
;; Change the entry and insert the changed version into the index.
! (reftex-index-change-entry
new (if (string= npart "")
(format "Deleted: %s" opart)
(format "New value is: %s" npart)))))
--- 935,941 ----
(t (setf (nth n analyze) (concat initial npart))))
(setq new (apply 'concat analyze))
;; Change the entry and insert the changed version into the index.
! (reftex-index-change-entry
new (if (string= npart "")
(format "Deleted: %s" opart)
(format "New value is: %s" npart)))))
***************
*** 952,965 ****
(unless data (error "Don't know which index entry to change"))
(setq old (nth 2 data)
key (nth 6 data)
! prefix (completing-read
! "Prefix: "
! (reftex-sublist-nth
docstruct 6
(lambda (x)
(and (eq (car x) 'index)
(string= (nth 1 x) reftex-index-tag))) t)))
! (unless (string-match
(concat (regexp-quote (car reftex-index-special-chars)) "\\'")
prefix)
(setq prefix (concat prefix (car reftex-index-special-chars))))
--- 949,962 ----
(unless data (error "Don't know which index entry to change"))
(setq old (nth 2 data)
key (nth 6 data)
! prefix (completing-read
! "Prefix: "
! (reftex-sublist-nth
docstruct 6
(lambda (x)
(and (eq (car x) 'index)
(string= (nth 1 x) reftex-index-tag))) t)))
! (unless (string-match
(concat (regexp-quote (car reftex-index-special-chars)) "\\'")
prefix)
(setq prefix (concat prefix (car reftex-index-special-chars))))
***************
*** 999,1005 ****
(defun reftex-index-change-entry (new &optional message)
;; Change the full context string of the index entry at point to
;; NEW. This actually edits the buffer where the entry is defined.
!
(let* ((data (get-text-property (point) :data))
old beg end info)
(unless data (error "Cannot change entry"))
--- 996,1002 ----
(defun reftex-index-change-entry (new &optional message)
;; Change the full context string of the index entry at point to
;; NEW. This actually edits the buffer where the entry is defined.
!
(let* ((data (get-text-property (point) :data))
old beg end info)
(unless data (error "Cannot change entry"))
***************
*** 1091,1104 ****
(if (eq char ?!)
(error "This <%s> index does not contain entries sorted before the
letters"
reftex-index-tag)
! (error "This <%s> index does not contain entries starting with `%c'"
reftex-index-tag char)))))
! (easy-menu-define
reftex-index-menu reftex-index-map
"Menu for Index buffer"
`("Index"
! ["Goto section A-Z"
(message "To go to a section, just press any of: !%s"
reftex-index-section-letters) t]
["Show Entry" reftex-index-view-entry t]
--- 1088,1101 ----
(if (eq char ?!)
(error "This <%s> index does not contain entries sorted before the
letters"
reftex-index-tag)
! (error "This <%s> index does not contain entries starting with `%c'"
reftex-index-tag char)))))
! (easy-menu-define
reftex-index-menu reftex-index-map
"Menu for Index buffer"
`("Index"
! ["Goto section A-Z"
(message "To go to a section, just press any of: !%s"
reftex-index-section-letters) t]
["Show Entry" reftex-index-view-entry t]
***************
*** 1138,1144 ****
["Context" reftex-index-toggle-context :style toggle
:selected reftex-index-include-context]
"--"
! ["Follow Mode" reftex-index-toggle-follow :style toggle
:selected reftex-index-follow-mode])
"--"
["Help" reftex-index-show-help t]))
--- 1135,1141 ----
["Context" reftex-index-toggle-context :style toggle
:selected reftex-index-include-context]
"--"
! ["Follow Mode" reftex-index-toggle-follow :style toggle
:selected reftex-index-follow-mode])
"--"
["Help" reftex-index-show-help t]))
***************
*** 1190,1196 ****
(set-marker reftex-index-return-marker (point))
(reftex-index-selection-or-word arg 'phrase)
(if (eq major-mode 'reftex-index-phrases-mode)
! (message
(substitute-command-keys
"Return to LaTeX with \\[reftex-index-phrases-save-and-return]"))))
--- 1187,1193 ----
(set-marker reftex-index-return-marker (point))
(reftex-index-selection-or-word arg 'phrase)
(if (eq major-mode 'reftex-index-phrases-mode)
! (message
(substitute-command-keys
"Return to LaTeX with \\[reftex-index-phrases-save-and-return]"))))
***************
*** 1219,1225 ****
(sort (copy-sequence reftex-index-macro-alist)
(lambda (a b) (equal (car a) default-macro))))
macro entry key repeat)
!
(if master (set (make-local-variable 'TeX-master)
(file-name-nondirectory master)))
--- 1216,1222 ----
(sort (copy-sequence reftex-index-macro-alist)
(lambda (a b) (equal (car a) default-macro))))
macro entry key repeat)
!
(if master (set (make-local-variable 'TeX-master)
(file-name-nondirectory master)))
***************
*** 1232,1238 ****
(if (looking-at reftex-index-phrases-comment-regexp)
(beginning-of-line 2))
(while (looking-at "^[ \t]*$")
! (beginning-of-line 2))
(cond ((fboundp 'zmacs-activate-region) (zmacs-activate-region))
((boundp 'make-active) (setq mark-active t)))
(if (yes-or-no-p "Delete and rebuilt header ")
--- 1229,1235 ----
(if (looking-at reftex-index-phrases-comment-regexp)
(beginning-of-line 2))
(while (looking-at "^[ \t]*$")
! (beginning-of-line 2))
(cond ((fboundp 'zmacs-activate-region) (zmacs-activate-region))
((boundp 'make-active) (setq mark-active t)))
(if (yes-or-no-p "Delete and rebuilt header ")
***************
*** 1277,1282 ****
--- 1274,1280 ----
(defvar reftex-index-phrases-menu)
+ (defvar reftex-index-phrases-marker)
(defvar reftex-index-phrases-restrict-file nil)
;;;###autoload
(defun reftex-index-phrases-mode ()
***************
*** 1308,1324 ****
(setq major-mode 'reftex-index-phrases-mode
mode-name "Phrases")
(use-local-map reftex-index-phrases-map)
! (set (make-local-variable 'font-lock-defaults)
reftex-index-phrases-font-lock-defaults)
(easy-menu-add reftex-index-phrases-menu reftex-index-phrases-map)
(set (make-local-variable 'reftex-index-phrases-marker) (make-marker))
! (run-mode-hooks 'reftex-index-phrases-mode-hook))
(add-hook 'reftex-index-phrases-mode-hook 'turn-on-font-lock)
;; Font Locking stuff
(let ((ss (if (featurep 'xemacs) 'secondary-selection ''secondary-selection)))
(setq reftex-index-phrases-font-lock-keywords
! (list
(cons reftex-index-phrases-comment-regexp 'font-lock-comment-face)
(list reftex-index-phrases-macrodef-regexp
'(1 font-lock-type-face)
--- 1306,1322 ----
(setq major-mode 'reftex-index-phrases-mode
mode-name "Phrases")
(use-local-map reftex-index-phrases-map)
! (set (make-local-variable 'font-lock-defaults)
reftex-index-phrases-font-lock-defaults)
(easy-menu-add reftex-index-phrases-menu reftex-index-phrases-map)
(set (make-local-variable 'reftex-index-phrases-marker) (make-marker))
! (run-hooks 'reftex-index-phrases-mode-hook))
(add-hook 'reftex-index-phrases-mode-hook 'turn-on-font-lock)
;; Font Locking stuff
(let ((ss (if (featurep 'xemacs) 'secondary-selection ''secondary-selection)))
(setq reftex-index-phrases-font-lock-keywords
! (list
(cons reftex-index-phrases-comment-regexp 'font-lock-comment-face)
(list reftex-index-phrases-macrodef-regexp
'(1 font-lock-type-face)
***************
*** 1342,1348 ****
(setq reftex-index-phrases-font-lock-defaults
'((reftex-index-phrases-font-lock-keywords)
nil t nil beginning-of-line))
! (put 'reftex-index-phrases-mode 'font-lock-defaults
reftex-index-phrases-font-lock-defaults) ; XEmacs
)
--- 1340,1346 ----
(setq reftex-index-phrases-font-lock-defaults
'((reftex-index-phrases-font-lock-keywords)
nil t nil beginning-of-line))
! (put 'reftex-index-phrases-mode 'font-lock-defaults
reftex-index-phrases-font-lock-defaults) ; XEmacs
)
***************
*** 1404,1413 ****
(move-marker reftex-index-phrases-marker
(match-beginning 0) (current-buffer))
;; Start the query-replace
! (reftex-query-index-phrase-globally
! files phrase macro-fmt
index-key repeat as-words)
! (message "%s replaced"
(reftex-number replace-count "occurrence"))))))
(t (error "Cannot parse this line")))))
--- 1402,1411 ----
(move-marker reftex-index-phrases-marker
(match-beginning 0) (current-buffer))
;; Start the query-replace
! (reftex-query-index-phrase-globally
! files phrase macro-fmt
index-key repeat as-words)
! (message "%s replaced"
(reftex-number replace-count "occurrence"))))))
(t (error "Cannot parse this line")))))
***************
*** 1450,1456 ****
(unless buf (error "Master file %s not found" master))
(set-buffer buf)
(reftex-access-scan-info)
! (setq reftex-index-phrases-files
(reftex-all-document-files))))
;; Parse the files header for macro definitions
(setq reftex-index-phrases-macro-data nil)
--- 1448,1454 ----
(unless buf (error "Master file %s not found" master))
(set-buffer buf)
(reftex-access-scan-info)
! (setq reftex-index-phrases-files
(reftex-all-document-files))))
;; Parse the files header for macro definitions
(setq reftex-index-phrases-macro-data nil)
***************
*** 1465,1471 ****
;; Reverse the list, so that the first macro is first
(if (null reftex-index-phrases-macro-data)
(error "No valid MACRO DEFINITION line in %s file (make sure to use
TAB separators)" reftex-index-phrase-file-extension))
! (setq reftex-index-phrases-macro-data
(nreverse reftex-index-phrases-macro-data))
(goto-char (point-min)))))
--- 1463,1469 ----
;; Reverse the list, so that the first macro is first
(if (null reftex-index-phrases-macro-data)
(error "No valid MACRO DEFINITION line in %s file (make sure to use
TAB separators)" reftex-index-phrase-file-extension))
! (setq reftex-index-phrases-macro-data
(nreverse reftex-index-phrases-macro-data))
(goto-char (point-min)))))
***************
*** 1477,1483 ****
index the new part without having to go over the unchanged parts again."
(interactive "r")
(let ((win-conf (current-window-configuration))
! (reftex-index-phrases-restrict-file (buffer-file-name)))
(save-excursion
(save-restriction
(narrow-to-region beg end)
--- 1475,1481 ----
index the new part without having to go over the unchanged parts again."
(interactive "r")
(let ((win-conf (current-window-configuration))
! (reftex-index-phrases-restrict-file (buffer-file-name)))
(save-excursion
(save-restriction
(narrow-to-region beg end)
***************
*** 1500,1506 ****
(setq text (reftex-index-simplify-phrase text))
(goto-char (point-min))
(if (re-search-forward
! (concat "^\\(\\S-*\\)\t\\(" (regexp-quote text)
"\\) *[\t\n]") nil t)
(progn
(goto-char (match-end 2))
--- 1498,1504 ----
(setq text (reftex-index-simplify-phrase text))
(goto-char (point-min))
(if (re-search-forward
! (concat "^\\(\\S-*\\)\t\\(" (regexp-quote text)
"\\) *[\t\n]") nil t)
(progn
(goto-char (match-end 2))
***************
*** 1530,1536 ****
(let* ((phrase (match-string 3))
(case-fold-search reftex-index-phrases-case-fold-search)
(re (reftex-index-phrases-find-dup-re phrase t)))
! (if (save-excursion
(goto-char (point-min))
(and (re-search-forward re nil t)
(re-search-forward re nil t)))
--- 1528,1534 ----
(let* ((phrase (match-string 3))
(case-fold-search reftex-index-phrases-case-fold-search)
(re (reftex-index-phrases-find-dup-re phrase t)))
! (if (save-excursion
(goto-char (point-min))
(and (re-search-forward re nil t)
(re-search-forward re nil t)))
***************
*** 1623,1629 ****
(progn
(princ (format " Superphrases: Phrase matches the following %s
in the phrase buffer:\n"
(reftex-number ntimes2 "line")))
! (mapcar (lambda(x)
(princ (format " Line %4d: %s\n" (car
x) (cdr x))))
(nreverse superphrases))))))))
--- 1621,1627 ----
(progn
(princ (format " Superphrases: Phrase matches the following %s
in the phrase buffer:\n"
(reftex-number ntimes2 "line")))
! (mapcar (lambda(x)
(princ (format " Line %4d: %s\n" (car
x) (cdr x))))
(nreverse superphrases))))))))
***************
*** 1676,1682 ****
beg end)
(goto-char (point-min))
;; Find first and last phrase line in buffer
! (setq beg
(and (re-search-forward reftex-index-phrases-phrase-regexp12 nil t)
(match-beginning 0)))
(goto-char (point-max))
--- 1674,1680 ----
beg end)
(goto-char (point-min))
;; Find first and last phrase line in buffer
! (setq beg
(and (re-search-forward reftex-index-phrases-phrase-regexp12 nil t)
(match-beginning 0)))
(goto-char (point-max))
***************
*** 1703,1717 ****
(if (string-match reftex-index-phrases-phrase-regexp12 a)
(progn
;; Extract macro char and phrase-or-key for a
! (setq ca (match-string 1 a)
! pa (downcase
(or (and reftex-index-phrases-sort-prefers-entry
(match-string 6 a))
(match-string 3 a))))
(if (string-match reftex-index-phrases-phrase-regexp12 b)
(progn
;; Extract macro char and phrase-or-key for b
! (setq cb (match-string 1 b)
pb (downcase
(or (and reftex-index-phrases-sort-prefers-entry
(match-string 6 b))
--- 1701,1715 ----
(if (string-match reftex-index-phrases-phrase-regexp12 a)
(progn
;; Extract macro char and phrase-or-key for a
! (setq ca (match-string 1 a)
! pa (downcase
(or (and reftex-index-phrases-sort-prefers-entry
(match-string 6 a))
(match-string 3 a))))
(if (string-match reftex-index-phrases-phrase-regexp12 b)
(progn
;; Extract macro char and phrase-or-key for b
! (setq cb (match-string 1 b)
pb (downcase
(or (and reftex-index-phrases-sort-prefers-entry
(match-string 6 b))
***************
*** 1719,1725 ****
(setq c-p (string< ca cb)
p-p (string< pa pb))
;; Do the right comparison, based on the value of
`chars-first'
! ;; `chars-first' is bound locally in the calling function
(if chars-first
(if (string= ca cb) p-p c-p)
(if (string= pa pb) c-p p-p)))))
--- 1717,1723 ----
(setq c-p (string< ca cb)
p-p (string< pa pb))
;; Do the right comparison, based on the value of
`chars-first'
! ;; `chars-first' is bound locally in the calling function
(if chars-first
(if (string= ca cb) p-p c-p)
(if (string= pa pb) c-p p-p)))))
***************
*** 1730,1736 ****
(not reftex-index-phrases-sort-in-blocks))))
(defvar reftex-index-phrases-menu)
! (defun reftex-index-make-phrase-regexp (phrase &optional
as-words allow-newline)
"Return a regexp matching PHRASE, even if distributed over lines.
With optional arg AS-WORDS, require word boundary at beginning and end.
--- 1728,1734 ----
(not reftex-index-phrases-sort-in-blocks))))
(defvar reftex-index-phrases-menu)
! (defun reftex-index-make-phrase-regexp (phrase &optional
as-words allow-newline)
"Return a regexp matching PHRASE, even if distributed over lines.
With optional arg AS-WORDS, require word boundary at beginning and end.
***************
*** 1741,1752 ****
"\\([ \t]+\\)")))
(concat (if (and as-words (string-match "\\`\\w" (car words)))
"\\(\\<\\|[`']\\)" "")
! (mapconcat (lambda (w) (regexp-quote
(if reftex-index-phrases-case-fold-search
(downcase w)
w)))
words space-re)
! (if (and as-words
(string-match "\\w\\'" (nth (1- (length words)) words)))
"\\(\\>\\|'\\)" ""))))
--- 1739,1750 ----
"\\([ \t]+\\)")))
(concat (if (and as-words (string-match "\\`\\w" (car words)))
"\\(\\<\\|[`']\\)" "")
! (mapconcat (lambda (w) (regexp-quote
(if reftex-index-phrases-case-fold-search
(downcase w)
w)))
words space-re)
! (if (and as-words
(string-match "\\w\\'" (nth (1- (length words)) words)))
"\\(\\>\\|'\\)" ""))))
***************
*** 1769,1776 ****
(let ((index-keys (split-string (or index-key match)
reftex-index-phrases-logical-and-regexp)))
(concat
! (mapconcat (lambda (x)
! (format macro-fmt
(format (if mathp reftex-index-math-format "%s")
x)))
index-keys "")
(if repeat (reftex-index-simplify-phrase match) ""))))
--- 1767,1774 ----
(let ((index-keys (split-string (or index-key match)
reftex-index-phrases-logical-and-regexp)))
(concat
! (mapconcat (lambda (x)
! (format macro-fmt
(format (if mathp reftex-index-math-format "%s")
x)))
index-keys "")
(if repeat (reftex-index-simplify-phrase match) ""))))
***************
*** 1782,1788 ****
(unless files (error "No files"))
(unwind-protect
(progn
! (switch-to-buffer-other-window (reftex-get-file-buffer-force
(car files)))
(catch 'no-more-files
(while (setq file (pop files))
--- 1780,1786 ----
(unless files (error "No files"))
(unwind-protect
(progn
! (switch-to-buffer-other-window (reftex-get-file-buffer-force
(car files)))
(catch 'no-more-files
(while (setq file (pop files))
***************
*** 1822,1834 ****
both ends."
(let* ((re (reftex-index-make-phrase-regexp phrase as-words 'allow-newline))
(case-fold-search reftex-index-phrases-case-fold-search)
! (index-keys (split-string
(or index-key phrase)
reftex-index-phrases-logical-or-regexp))
(nkeys (length index-keys))
(ckey (nth 0 index-keys))
! (all-yes nil)
! match rpl char beg end mathp)
(unwind-protect
(while (re-search-forward re nil t)
(catch 'next-match
--- 1820,1834 ----
both ends."
(let* ((re (reftex-index-make-phrase-regexp phrase as-words 'allow-newline))
(case-fold-search reftex-index-phrases-case-fold-search)
! (index-keys (split-string
(or index-key phrase)
reftex-index-phrases-logical-or-regexp))
(nkeys (length index-keys))
(ckey (nth 0 index-keys))
! (all-yes nil)
! match rpl char (beg (make-marker)) (end (make-marker)) mathp)
! (move-marker beg 1)
! (move-marker end 1)
(unwind-protect
(while (re-search-forward re nil t)
(catch 'next-match
***************
*** 1841,1864 ****
(setq mathp
(save-match-data
(condition-case nil (texmathp) (error nil))))
! (setq beg (car (match-data))
! end (nth 1 (match-data)))
(if (and reftex-index-phrases-skip-indexed-matches
(save-match-data
(reftex-index-phrase-match-is-indexed beg
end)))
(throw 'next-match nil))
(reftex-highlight 0 (match-beginning 0) (match-end 0))
! (setq rpl
(save-match-data
(reftex-index-make-replace-string
macro-fmt (match-string 0) ckey repeat mathp)))
! (while
(not
(catch 'loop
(message "REPLACE: %s? (yn!qoe%s?)"
rpl
! (if (> nkeys 1)
(concat "1-" (int-to-string nkeys))
""))
(setq char (if all-yes ?y (read-char-exclusive)))
--- 1841,1864 ----
(setq mathp
(save-match-data
(condition-case nil (texmathp) (error nil))))
! (setq beg (move-marker beg (match-beginning 0))
! end (move-marker end (match-end 0)))
(if (and reftex-index-phrases-skip-indexed-matches
(save-match-data
(reftex-index-phrase-match-is-indexed beg
end)))
(throw 'next-match nil))
(reftex-highlight 0 (match-beginning 0) (match-end 0))
! (setq rpl
(save-match-data
(reftex-index-make-replace-string
macro-fmt (match-string 0) ckey repeat mathp)))
! (while
(not
(catch 'loop
(message "REPLACE: %s? (yn!qoe%s?)"
rpl
! (if (> nkeys 1)
(concat "1-" (int-to-string nkeys))
""))
(setq char (if all-yes ?y (read-char-exclusive)))
***************
*** 1892,1898 ****
((member char '(?o ?O))
;; Select a differnt macro
(let* ((nc (reftex-index-select-phrases-macro 2))
! (macro-data
(cdr (assoc nc
reftex-index-phrases-macro-data)))
(macro-fmt (car macro-data))
(repeat (nth 1 macro-data)))
--- 1892,1898 ----
((member char '(?o ?O))
;; Select a differnt macro
(let* ((nc (reftex-index-select-phrases-macro 2))
! (macro-data
(cdr (assoc nc
reftex-index-phrases-macro-data)))
(macro-fmt (car macro-data))
(repeat (nth 1 macro-data)))
***************
*** 1910,1916 ****
;; Recursive edit
(save-match-data
(save-excursion
! (message
(substitute-command-keys
"Recursive edit. Resume with
\\[exit-recursive-edit]"))
(recursive-edit))))
--- 1910,1916 ----
;; Recursive edit
(save-match-data
(save-excursion
! (message
(substitute-command-keys
"Recursive edit. Resume with
\\[exit-recursive-edit]"))
(recursive-edit))))
***************
*** 1930,1935 ****
--- 1930,1937 ----
(t (ding)))
nil)))))
(message "")
+ (move-marker beg nil)
+ (move-marker end nil)
(setq all-yes nil)
(reftex-unhighlight 0))))
***************
*** 1939,1945 ****
(save-excursion
(goto-char end)
(let* ((all-macros (reftex-what-macro t))
! (this-macro (car (car all-macros)))
(before-macro
(and (> beg 2)
(goto-char (1- beg))
--- 1941,1947 ----
(save-excursion
(goto-char end)
(let* ((all-macros (reftex-what-macro t))
! ; (this-macro (car (car all-macros)))
(before-macro
(and (> beg 2)
(goto-char (1- beg))
***************
*** 2043,2049 ****
("\C-i" . self-insert-command))
do (define-key reftex-index-phrases-map (car x) (cdr x)))
! (easy-menu-define
reftex-index-phrases-menu reftex-index-phrases-map
"Menu for Phrases buffer"
'("Phrases"
--- 2045,2051 ----
("\C-i" . self-insert-command))
do (define-key reftex-index-phrases-map (car x) (cdr x)))
! (easy-menu-define
reftex-index-phrases-menu reftex-index-phrases-map
"Menu for Phrases buffer"
'("Phrases"
- [Emacs-diffs] Changes to emacs/lisp/textmodes/reftex-index.el,
Carsten Dominik <=