emacs-diffs
[Top][All Lists]
Advanced

[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"




reply via email to

[Prev in Thread] Current Thread [Next in Thread]