Function: reftex-index-change-entry
reftex-index-change-entry is a byte-compiled function defined in
reftex-index.el.gz.
Signature
(reftex-index-change-entry NEW &optional MESSAGE)
Source Code
;; Defined in /usr/src/emacs/lisp/textmodes/reftex-index.el.gz
(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"))
(reftex-index-view-entry)
(setq beg (match-beginning 0) end (match-end 0))
(setq old (nth 2 data))
(and (equal old new) (error "Entry unchanged"))
(with-current-buffer (get-file-buffer (nth 3 data))
(goto-char beg)
(unless (looking-at (regexp-quote old))
(error "This should not happen (reftex-index-change-entry)"))
(delete-region beg end)
(insert new)
(goto-char (1- beg))
(when (and (re-search-forward (reftex-everything-regexp) nil t)
(match-end 10)
(< (abs (- (match-beginning 10) beg)) (length new))
(setq info (reftex-index-info-safe
(reftex--get-buffer-identifier))))
(setcdr data (cdr info))))
(let ((buffer-read-only nil))
(save-excursion
(reftex-insert-index (list data) reftex-index-tag t
"EDITED")))
(setq reftex-last-follow-point 1)
(and message (message "%s" message))))