;;; register.el --- register commands for Emacs
-;; Copyright (C) 1985, 1993-1994, 2001-2012 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1993-1994, 2001-2013 Free Software Foundation,
+;; Inc.
;; Maintainer: FSF
;; Keywords: internal
(eval-when-compile (require 'cl-lib))
-(declare-function semantic-insert-foreign-tag "semantic/tag" (foreign-tag))
-(declare-function semantic-tag-buffer "semantic/tag" (tag))
-(declare-function semantic-tag-start "semantic/tag" (tag))
-
;;; Code:
(cl-defstruct
(defgroup register nil
"Register commands."
:group 'convenience
- :version "24.2.50")
+ :version "24.3")
-(defcustom separator-register nil
- "Use contents of this register to separate collected text.
+(defcustom register-separator nil
+ "Register containing the text to put between collected texts, or nil if none.
When collecting text with
`append-to-register' (resp. `prepend-to-register') contents of
(error "Register access aborted"))
(find-file (nth 1 val))
(goto-char (nth 2 val)))
- ((and (fboundp 'semantic-foreign-tag-p)
- semantic-mode
- (semantic-foreign-tag-p val))
- (switch-to-buffer (semantic-tag-buffer val))
- (goto-char (semantic-tag-start val)))
(t
(error "Register doesn't contain a buffer position or configuration")))))
(princ val (current-buffer)))
((and (markerp val) (marker-position val))
(princ (marker-position val) (current-buffer)))
- ((and (fboundp 'semantic-foreign-tag-p)
- semantic-mode
- (semantic-foreign-tag-p val))
- (semantic-insert-foreign-tag val))
(t
(error "Register does not contain text"))))
(if (not arg) (exchange-point-and-mark)))
(interactive "cAppend to register: \nr\nP")
(let ((reg (get-register register))
(text (filter-buffer-substring start end))
- (separator (and separator-register (get-register separator-register))))
+ (separator (and register-separator (get-register register-separator))))
(set-register
register (cond ((not reg) text)
((stringp reg) (concat reg separator text))
(t (error "Register does not contain text")))))
+ (setq deactivate-mark t)
(cond (delete-flag
(delete-region start end))
((called-interactively-p 'interactive)
(interactive "cPrepend to register: \nr\nP")
(let ((reg (get-register register))
(text (filter-buffer-substring start end))
- (separator (and separator-register (get-register separator-register))))
+ (separator (and register-separator (get-register register-separator))))
(set-register
register (cond ((not reg) text)
((stringp reg) (concat text separator reg))
(t (error "Register does not contain text")))))
+ (setq deactivate-mark t)
(cond (delete-flag
(delete-region start end))
((called-interactively-p 'interactive)