[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: |
Juanma Barranquero |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/textmodes/reftex-index.el |
Date: |
Wed, 31 Aug 2005 06:34:07 -0400 |
Index: emacs/lisp/textmodes/reftex-index.el
diff -c emacs/lisp/textmodes/reftex-index.el:1.25
emacs/lisp/textmodes/reftex-index.el:1.26
*** emacs/lisp/textmodes/reftex-index.el:1.25 Sat Aug 6 17:41:15 2005
--- emacs/lisp/textmodes/reftex-index.el Wed Aug 31 10:34:07 2005
***************
*** 32,37 ****
--- 32,40 ----
(require 'reftex)
;;;
+ (defvar reftex-index-phrases-marker)
+ (defvar TeX-master)
+
;; START remove for XEmacs release
(defvar mark-active)
(defvar zmacs-regions)
***************
*** 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)))
--- 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)))
***************
*** 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
--- 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
***************
*** 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"
--- 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"
***************
*** 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))
--- 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))
***************
*** 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))
--- 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))
***************
*** 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
--- 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
***************
*** 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)))))
--- 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)))))
***************
*** 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))
--- 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))
***************
*** 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
--- 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
***************
*** 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)))))
--- 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)))))
***************
*** 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))
--- 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))
***************
*** 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
--- 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
***************
*** 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))
--- 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))
***************
*** 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))
--- 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))
***************
*** 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."
--- 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."
***************
*** 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))))
--- 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))))
***************
*** 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)))
--- 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)))
***************
*** 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"))))
--- 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"))))
***************
*** 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)))))
--- 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)))))
***************
*** 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))))
--- 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))))
***************
*** 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"))
--- 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"))
***************
*** 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]
--- 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]
***************
*** 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]))
--- 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]))
***************
*** 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]"))))
--- 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]"))))
***************
*** 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)))
--- 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)))
***************
*** 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 ")
--- 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 ")
***************
*** 1305,1311 ****
(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))
--- 1308,1314 ----
(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))
***************
*** 1315,1321 ****
;; 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)
--- 1318,1324 ----
;; 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)
***************
*** 1339,1349 ****
(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
)
- (defvar reftex-index-phrases-marker)
(defun reftex-index-next-phrase (&optional arg)
"Index the next ARG phrases in the phrases buffer."
(interactive "p")
--- 1342,1351 ----
(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
)
(defun reftex-index-next-phrase (&optional arg)
"Index the next ARG phrases in the phrases buffer."
(interactive "p")
***************
*** 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")))))
--- 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")))))
***************
*** 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)
--- 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)
***************
*** 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)))))
--- 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)))))
***************
*** 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)
--- 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)
***************
*** 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))
--- 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))
***************
*** 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)))
--- 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)))
***************
*** 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))))))))
--- 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))))))))
***************
*** 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))
--- 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))
***************
*** 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))
--- 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))
***************
*** 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)))))
--- 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)))))
***************
*** 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.
--- 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.
***************
*** 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)))
"\\(\\>\\|'\\)" ""))))
--- 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)))
"\\(\\>\\|'\\)" ""))))
***************
*** 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) ""))))
--- 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) ""))))
***************
*** 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))
--- 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))
***************
*** 1820,1831 ****
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)
--- 1822,1833 ----
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)
***************
*** 1847,1862 ****
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)))
--- 1849,1864 ----
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)))
***************
*** 1890,1896 ****
((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)))
***************
*** 1908,1914 ****
;; 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))))
***************
*** 2041,2047 ****
("\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"
--- 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"