From: Sean Whitton Date: Tue, 26 Apr 2022 18:39:38 +0000 (-0700) Subject: New user option 'calc-kill-line-numbering' X-Git-Tag: emacs-29.0.90~1931^2~257 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=134f4ff38b323af8892520200307e9d54ae90200;p=emacs.git New user option 'calc-kill-line-numbering' * lisp/calc/calc.el (calc-kill-line-numbering): New defcustom. * lisp/calc/calc-yank.el (calc-kill): Unless calc-kill-line-numbering is non-nil, do not include line numbering in copied text (bug#55133). * etc/NEWS: * doc/misc/calc.texi (Killing from the Stack): Document the change. --- diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index d83edc15f30..9bda6af1c5b 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -29877,6 +29877,12 @@ with no argument copies only the number itself into the kill ring, whereas @kbd{C-k} with a prefix argument of 1 copies the number with its trailing newline. +You can customize @code{calc-kill-line-numbering} to nil to exclude +line numbering from kills and copies made by @code{calc-kill} and +@code{calc-copy-as-kill}. This option does not affect calc kill and +copy commands which operate on the region, as that would not make +sense. + @node Yanking Into Stack @section Yanking into the Stack diff --git a/etc/NEWS b/etc/NEWS index e7502b1f169..70087f2629e 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -1311,6 +1311,12 @@ Lisp function. This frees you from having to keep track of whether commands are Lisp function or external when supplying absolute file name arguments. See "Electric forward slash" in the Eshell manual. +** Calc + ++++ +*** New user option 'calc-kill-line-numbering'. +This can be set to nil to exclude line numbering from kills and copies. + ** Miscellaneous +++ diff --git a/lisp/calc/calc-yank.el b/lisp/calc/calc-yank.el index 8c6d3f51e5d..172ccf1adcd 100644 --- a/lisp/calc/calc-yank.el +++ b/lisp/calc/calc-yank.el @@ -47,6 +47,8 @@ (calc-check-stack num) (let ((stuff (calc-top-list n (- num n -1)))) (calc-cursor-stack-index num) + (unless calc-kill-line-numbering + (re-search-forward "\\=[0-9]+:\\s-+" (point-at-eol) t)) (let ((first (point))) (calc-cursor-stack-index (- num n)) (if (null nn) diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el index 523f51533a1..b03dcfeb5b7 100644 --- a/lisp/calc/calc.el +++ b/lisp/calc/calc.el @@ -439,6 +439,14 @@ to be identified as that note." :version "24.1" :type 'string) +(defcustom calc-kill-line-numbering t + "If non-nil, calculator kills include any line numbering. + +This option does not affect calc kill and copy commands which +operate on the region, such as `calc-copy-region-as-kill'." + :version "29.1" + :type 'boolean) + (defvar math-format-date-cache) ; calc-forms.el (defface calc-nonselected-face