]> git.eshelyaron.com Git - emacs.git/commitdiff
(insert-for-yank): New function.
authorRichard M. Stallman <rms@gnu.org>
Fri, 19 Apr 2002 00:06:54 +0000 (00:06 +0000)
committerRichard M. Stallman <rms@gnu.org>
Fri, 19 Apr 2002 00:06:54 +0000 (00:06 +0000)
lisp/subr.el

index 16359fa87bbc44ba5662fd8edddfec91cd7a9736..c4e4d3a73ae852d84a74defe218374f99b322053 100644 (file)
@@ -1023,6 +1023,8 @@ Optional DEFAULT is a default password to use instead of empty input."
       (message nil)
       (or pass default ""))))
 \f
+;;; 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 @@ for the sake of consistency."
 
 (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)))))
+\f
+;; 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 @@ Value is what BODY returns."
           (set-buffer ,old-buffer)
           (set-syntax-table ,old-table))))))
 \f
+;;; Matching and substitution
+
 (defvar save-match-data-internal)
 
 ;; We use save-match-data-internal as the local variable because
@@ -1875,7 +1898,7 @@ If TOGGLE has a `:menu-tag', that is used for the menu item's label."
                (nconc found (list (cons toggle keymap)) rest))
            (setq minor-mode-map-alist (cons (cons toggle keymap)
                                             minor-mode-map-alist))))))))
-
+\f
 ;; Clones ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 (defun text-clone-maintain (ol1 after beg end &optional len)
@@ -1970,7 +1993,7 @@ clone should be incorporated in the clone."
     ;;(overlay-put ol2 'face 'underline)
     (overlay-put ol2 'evaporate t)
     (overlay-put ol2 'text-clones dups)))
-
+\f
 (defun play-sound (sound)
   "SOUND is a list of the form `(sound KEYWORD VALUE...)'.
 The following keywords are recognized: