diff options
-rw-r--r-- | doc/emacs/custom.texi | 2 | ||||
-rw-r--r-- | doc/emacs/killing.texi | 2 | ||||
-rw-r--r-- | doc/lispintro/emacs-lisp-intro.texi | 2 | ||||
-rw-r--r-- | doc/lispref/text.texi | 2 | ||||
-rw-r--r-- | etc/NEWS | 8 | ||||
-rw-r--r-- | lisp/menu-bar.el | 13 | ||||
-rw-r--r-- | lisp/simple.el | 5 |
7 files changed, 25 insertions, 9 deletions
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 73dfe03898e..eb30a6acc53 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -195,7 +195,7 @@ the customization buffer: The first line shows that the variable is named @code{kill-ring-max}, formatted as @samp{Kill Ring Max} for easier -viewing. Its value is @samp{60}. The button labeled @samp{[Hide]}, +viewing. Its value is @samp{120}. The button labeled @samp{[Hide]}, if activated, hides the variable's value and state; this is useful to avoid cluttering up the customization buffer with very long values (for this reason, variables that have very long values may start out diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index 6e4fd77e8b9..76fccdbdfec 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi @@ -353,7 +353,7 @@ other ways to move text around.) @vindex kill-ring-max The maximum number of entries in the kill ring is controlled by the -variable @code{kill-ring-max}. The default is 60. If you make a new +variable @code{kill-ring-max}. The default is 120. If you make a new kill when this limit has been reached, Emacs makes room by deleting the oldest entry in the kill ring. diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 6ecd552ebb0..81ae2536339 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -8767,7 +8767,7 @@ keeps the kill ring from growing too long. It looks like this: The code checks whether the length of the kill ring is greater than the maximum permitted length. This is the value of -@code{kill-ring-max} (which is 60, by default). If the length of the +@code{kill-ring-max} (which is 120, by default). If the length of the kill ring is too long, then this code sets the last element of the kill ring to @code{nil}. It does this by using two functions, @code{nthcdr} and @code{setcdr}. diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 1e062be2c64..163ac9038b9 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -1342,7 +1342,7 @@ that @kbd{C-y} should yank. @defopt kill-ring-max The value of this variable is the maximum length to which the kill ring can grow, before elements are thrown away at the end. The default -value for @code{kill-ring-max} is 60. +value for @code{kill-ring-max} is 120. @end defopt @node Undo @@ -78,6 +78,14 @@ the point is now moved only when releasing the mouse button. This no longer results in a bogus selection, unless the mouse has been effectively dragged. ++++ +** 'kill-ring-max' now defaults to 120. + +--- +** New user option 'yank-menu-max-items'. +Customize this option to limit the amount of entries in the menu +"Edit->Paste from Kill Menu". The default is 60. + * Changes in Specialized Modes and Packages in Emacs 29.1 diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 7c9fc1aeba0..1c3b8014e96 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -2169,10 +2169,16 @@ otherwise it could decide to silently do nothing." (> count 1))) (defcustom yank-menu-length 20 - "Maximum length to display in the `yank-menu'." + "Items in `yank-menu' longer than this will be truncated." :type 'integer :group 'menu) +(defcustom yank-menu-max-items 60 + "Maximum number of entries to display in the `yank-menu'." + :type 'integer + :group 'menu + :version "29.1") + (defun menu-bar-update-yank-menu (string old) (let ((front (car (cdr yank-menu))) (menu-string (if (<= (length string) yank-menu-length) @@ -2196,8 +2202,9 @@ otherwise it could decide to silently do nothing." (cons (cons string (cons menu-string 'menu-bar-select-yank)) (cdr yank-menu))))) - (if (> (length (cdr yank-menu)) kill-ring-max) - (setcdr (nthcdr kill-ring-max yank-menu) nil))) + (let ((max-items (min yank-menu-max-items kill-ring-max))) + (if (> (length (cdr yank-menu)) max-items) + (setcdr (nthcdr max-items yank-menu) nil)))) (put 'menu-bar-select-yank 'apropos-inhibit t) (defun menu-bar-select-yank () diff --git a/lisp/simple.el b/lisp/simple.el index 7b6c52a3898..c7bb928cd73 100644 --- a/lisp/simple.el +++ b/lisp/simple.el @@ -5076,10 +5076,11 @@ interact nicely with `interprogram-cut-function' and interaction; you may want to use them instead of manipulating the kill ring directly.") -(defcustom kill-ring-max 60 +(defcustom kill-ring-max 120 "Maximum length of kill ring before oldest elements are thrown away." :type 'integer - :group 'killing) + :group 'killing + :version "29.1") (defvar kill-ring-yank-pointer nil "The tail of the kill ring whose car is the last thing yanked.") |