emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Please install


From: Richard Stallman
Subject: Please install
Date: Wed, 17 Oct 2007 16:49:26 -0400

Please install this patch, which doesn't change the default user behavior.


For etc/NEWS

** `interprogram-paste-function' can now return one string or a list
of strings.  In the latter case, Emacs puts the second and following
strings on the kill ring.

*** emacs-22.1/lisp/ChangeLog   Sat Jun  2 00:30:23 2007
--- emacs-22.1lisp/ChangeLog    Mon Oct 15 19:50:53 2007
***************
*** 1,3 ****
--- 1,15 ----
+ 2007-10-15  Tom Horsley  <address@hidden>
+ 
+       * simple.el (current-kill): Accept list of strings as well
+       as single string from `interprogram-paste-function'.
+ 
  2007-06-02  Chong Yidong  <address@hidden>
  
        * Version 22.1 released.
*** emacs-22.1/lisp/simple.el   Sun May 27 10:35:51 2007
--- emacs-22.1lisp/simple.el    Mon Oct 15 17:53:29 2007
***************
*** 2409,2414 ****
--- 2409,2419 ----
  string, then the caller of the function \(usually `current-kill')
  should put this string in the kill ring as the latest kill.
  
+ This function may also return a list of strings if the window
+ system supports multiple selections. The first string will be
+ used as the pasted text, but the other will be placed in the
+ kill ring for easy access via `yank-pop'.
+ 
  Note that the function should return a string only if a program other
  than Emacs has provided a string for pasting; if Emacs provided the
  most recent string, the function should return nil.  If it is
***************
*** 2490,2500 ****
  
  (defun current-kill (n &optional do-not-move)
    "Rotate the yanking point by N places, and then return that kill.
! If N is zero, `interprogram-paste-function' is set, and calling it
! returns a string, then that string is added to the front of the
! kill ring and returned as the latest kill.
! If optional arg DO-NOT-MOVE is non-nil, then don't actually move the
! yanking point; just return the Nth kill forward."
    (let ((interprogram-paste (and (= n 0)
                                 interprogram-paste-function
                                 (funcall interprogram-paste-function))))
--- 2495,2505 ----
  
  (defun current-kill (n &optional do-not-move)
    "Rotate the yanking point by N places, and then return that kill.
! If N is zero, `interprogram-paste-function' is set, and calling it returns a
! string or list of strings, then that string (or list) is added to the front
! of the kill ring and the string (or first string in the list) is returned as
! the latest kill.  If optional arg DO-NOT-MOVE is non-nil, then don't
! actually move the yanking point; just return the Nth kill forward."
    (let ((interprogram-paste (and (= n 0)
                                 interprogram-paste-function
                                 (funcall interprogram-paste-function))))
***************
*** 2504,2511 ****
          ;; text to the kill ring, so Emacs doesn't try to own the
          ;; selection, with identical text.
          (let ((interprogram-cut-function nil))
!           (kill-new interprogram-paste))
!         interprogram-paste)
        (or kill-ring (error "Kill ring is empty"))
        (let ((ARGth-kill-element
             (nthcdr (mod (- n (length kill-ring-yank-pointer))
--- 2509,2518 ----
          ;; text to the kill ring, so Emacs doesn't try to own the
          ;; selection, with identical text.
          (let ((interprogram-cut-function nil))
!           (if (listp interprogram-paste)
!             (mapc 'kill-new (nreverse interprogram-paste))
!             (kill-new interprogram-paste)))
!         (car kill-ring))
        (or kill-ring (error "Kill ring is empty"))
        (let ((ARGth-kill-element
             (nthcdr (mod (- n (length kill-ring-yank-pointer))




reply via email to

[Prev in Thread] Current Thread [Next in Thread]