Mercurial > emacs
changeset 44668:52222efc9d4d
(insert-for-yank): New function.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 19 Apr 2002 00:06:54 +0000 |
parents | 6374552100a2 |
children | c94319aaffb8 |
files | lisp/subr.el |
diffstat | 1 files changed, 25 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/subr.el Fri Apr 19 00:05:22 2002 +0000 +++ b/lisp/subr.el Fri Apr 19 00:06:54 2002 +0000 @@ -1023,6 +1023,8 @@ (message nil) (or pass default "")))) +;;; Atomic change groups. + (defmacro atomic-change-group (&rest body) "Perform BODY as an atomic change group. This means that if BODY exits abnormally, @@ -1269,6 +1271,25 @@ (defalias 'user-original-login-name 'user-login-name) +(defvar yank-excluded-properties) + +(defun insert-for-yank (&rest strings) + "Insert STRINGS at point, stripping some text properties. +Strip text properties from the inserted text +according to `yank-excluded-properties'. +Otherwise just like (insert STRINGS...)." + (let ((opoint (point))) + + (apply 'insert strings) + + (let ((inhibit-read-only t)) + (if (eq yank-excluded-properties t) + (set-text-properties opoint (point) nil) + (remove-list-of-text-properties opoint (point) + yank-excluded-properties))))) + +;; Synchronous shell commands. + (defun start-process-shell-command (name buffer &rest args) "Start a program in a subprocess. Return the process object for it. Args are NAME BUFFER COMMAND &rest COMMAND-ARGS. @@ -1473,6 +1494,8 @@ (set-buffer ,old-buffer) (set-syntax-table ,old-table)))))) +;;; Matching and substitution + (defvar save-match-data-internal) ;; We use save-match-data-internal as the local variable because @@ -1875,7 +1898,7 @@ (nconc found (list (cons toggle keymap)) rest)) (setq minor-mode-map-alist (cons (cons toggle keymap) minor-mode-map-alist)))))))) - + ;; Clones ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defun text-clone-maintain (ol1 after beg end &optional len) @@ -1970,7 +1993,7 @@ ;;(overlay-put ol2 'face 'underline) (overlay-put ol2 'evaporate t) (overlay-put ol2 'text-clones dups))) - + (defun play-sound (sound) "SOUND is a list of the form `(sound KEYWORD VALUE...)'. The following keywords are recognized: