summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kangas <stefan@marxist.se>2021-10-12 18:23:46 +0200
committerStefan Kangas <stefan@marxist.se>2021-10-14 00:23:34 +0200
commit97c4f84cbce4fef3dddebdae29df590bbb7fd516 (patch)
tree28a6ba3e0a235e937197690aa36282793c1eb99c
parent845640538ecec167bbda8abeb98fcee70d68fd0a (diff)
downloademacs-97c4f84cbce4fef3dddebdae29df590bbb7fd516.tar.gz
Double the default value of kill-ring-max
* lisp/simple.el (kill-ring-max): Double the default to 120. * lisp/menu-bar.el (yank-menu-length): Doc fix. (yank-menu-max-items): New variable. (menu-bar-update-yank-menu): Don't display more than 'yank-menu-max-items' in the yank menu. * doc/emacs/custom.texi (Changing a Variable): * doc/emacs/killing.texi (Kill Ring): * doc/lispintro/emacs-lisp-intro.texi (kill-new function): * doc/lispref/text.texi (Internals of Kill Ring): Doc fix to use the new value.
-rw-r--r--doc/emacs/custom.texi2
-rw-r--r--doc/emacs/killing.texi2
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi2
-rw-r--r--doc/lispref/text.texi2
-rw-r--r--etc/NEWS8
-rw-r--r--lisp/menu-bar.el13
-rw-r--r--lisp/simple.el5
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
diff --git a/etc/NEWS b/etc/NEWS
index 9daf958b07e..82847cf9b99 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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.")