1 |
;;; reftex-sel.el --- the selection modes for RefTeX |
;;; reftex-sel.el --- the selection modes for RefTeX |
2 |
;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2004 Free Software Foundation, Inc. |
;; Copyright (c) 1997, 1998, 1999, 2000, 2003, 2440, 2005 |
3 |
|
;; Free Software Foundation, Inc. |
4 |
|
|
5 |
;; Author: Carsten Dominik <dominik@science.uva.nl> |
;; Author: Carsten Dominik <dominik@science.uva.nl> |
6 |
;; Version: 4.26 |
;; Version: 4.28 |
7 |
|
|
8 |
;; This file is part of GNU Emacs. |
;; This file is part of GNU Emacs. |
9 |
|
|
419 |
(remove-hook 'post-command-hook |
(remove-hook 'post-command-hook |
420 |
'reftex-select-post-command-hook t)) |
'reftex-select-post-command-hook t)) |
421 |
;; Kill the mark overlays |
;; Kill the mark overlays |
422 |
(mapcar (lambda (c) (delete-overlay (nth 1 c))) |
(mapcar (lambda (c) (reftex-delete-overlay (nth 1 c))) |
423 |
reftex-select-marked))))) |
reftex-select-marked))))) |
424 |
|
|
425 |
(set (make-local-variable 'reftex-last-line) |
(set (make-local-variable 'reftex-last-line) |
605 |
(setq boe (or (previous-single-property-change (1+ (point)) :data) |
(setq boe (or (previous-single-property-change (1+ (point)) :data) |
606 |
(point-min)) |
(point-min)) |
607 |
eoe (or (next-single-property-change (point) :data) (point-max))) |
eoe (or (next-single-property-change (point) :data) (point-max))) |
608 |
(setq ovl (make-overlay boe eoe)) |
(setq ovl (reftex-make-overlay boe eoe)) |
609 |
(push (list data ovl separator) reftex-select-marked) |
(push (list data ovl separator) reftex-select-marked) |
610 |
(overlay-put ovl 'face reftex-select-mark-face) |
(reftex-overlay-put ovl 'face reftex-select-mark-face) |
611 |
(overlay-put ovl 'before-string |
(reftex-overlay-put ovl 'before-string |
612 |
(if separator |
(if separator |
613 |
(format "*%c%d* " separator |
(format "*%c%d* " separator |
614 |
(length reftex-select-marked)) |
(length reftex-select-marked)) |
615 |
(format "*%d* " (length reftex-select-marked)))) |
(format "*%d* " (length reftex-select-marked)))) |
616 |
(message "Entry has mark no. %d" (length reftex-select-marked)))) |
(message "Entry has mark no. %d" (length reftex-select-marked)))) |
617 |
|
|
618 |
(defun reftex-select-mark-comma () |
(defun reftex-select-mark-comma () |
638 |
sep) |
sep) |
639 |
(unless cell |
(unless cell |
640 |
(error "No marked entry at point")) |
(error "No marked entry at point")) |
641 |
(and ovl (delete-overlay ovl)) |
(and ovl (reftex-delete-overlay ovl)) |
642 |
(setq reftex-select-marked (delq cell reftex-select-marked)) |
(setq reftex-select-marked (delq cell reftex-select-marked)) |
643 |
(if (featurep 'xemacs) |
(setq cnt (1+ (length reftex-select-marked))) |
644 |
;; before-string property is broken in Emacs |
(mapcar (lambda (c) |
645 |
(progn |
(setq sep (nth 2 c)) |
646 |
(setq cnt (1+ (length reftex-select-marked))) |
(reftex-overlay-put (nth 1 c) 'before-string |
647 |
(mapcar (lambda (c) |
(if sep |
648 |
(setq sep (nth 2 c)) |
(format "*%c%d* " sep (decf cnt)) |
649 |
(overlay-put (nth 1 c) 'before-string |
(format "*%d* " (decf cnt))))) |
650 |
(if sep |
reftex-select-marked) |
|
(format "*%c%d* " sep (decf cnt)) |
|
|
(format "*%d* " (decf cnt))))) |
|
|
reftex-select-marked))) |
|
651 |
(message "Entry no longer marked"))) |
(message "Entry no longer marked"))) |
652 |
|
|
653 |
(defun reftex-select-help () |
(defun reftex-select-help () |