]> git.eshelyaron.com Git - emacs.git/commitdiff
* calc/calc.el (calc-context-sensitive-enter): New variable.
authorJay Belanger <jay.p.belanger@gmail.com>
Sun, 17 Nov 2013 04:22:24 +0000 (22:22 -0600)
committerJay Belanger <jay.p.belanger@gmail.com>
Sun, 17 Nov 2013 04:22:24 +0000 (22:22 -0600)
  (calc-enter): Use `calc-context-sensitive-enter'.

* doc/misc/calc.texi (Customizing Calc): Mention the new variable
  `calc-context-sensitive-enter'.

doc/misc/ChangeLog
doc/misc/calc.texi
lisp/ChangeLog
lisp/calc/calc.el

index 976922a3978f00248cf688e606d7bd93534bf0ca..ca4169316c5e2d35eaea414bc0c2de652145c15f 100644 (file)
@@ -1,3 +1,8 @@
+2013-11-17  Jay Belanger  <jay.p.belanger@gmail.com>
+
+       * calc.texi (Customizing Calc): Mention new variable
+       `calc-context-sensitive-enter'.
+
 2013-11-12  Aaron Ecay  <aaronecay@gmail.com>
 
        * org.texi (Exporting code blocks): Document the 'inline-only
index 04160eafad051ee0461230f138a8182a32ebd52e..0154c82750a56e3f7ef4d484efe58ba67db47f5f 100644 (file)
@@ -35696,6 +35696,14 @@ have different dimensions. The default value of @code{calc-ensure-consistent-uni
 is @code{nil}.
 @end defvar
 
+@defvar calc-context-sensitive-enter
+The command @code{calc-enter} will typically duplicate the top of the
+stack.  If @code{calc-context-sensitive-enter} is non-@code{nil},
+then the @code{calc-enter} will copy the element at the cursor to the
+top of the stack.  The default value of
+@code{calc-context-sensitive-enter} is @code{nil}.
+@end defvar
+
 @defvar calc-undo-length
 The variable @code{calc-undo-length} determines the number of undo
 steps that Calc will keep track of when @code{calc-quit} is called.
index 2b4f941048c6218e806c9c8755daceaa30cba97d..faa2243ca3b5c1364ce2d34cf509b629ced63066 100644 (file)
@@ -1,3 +1,8 @@
+2013-11-17  Jay Belanger  <jay.p.belanger@gmail.com>
+
+       * calc/calc.el (calc-context-sensitive-enter): New variable.
+       (calc-enter): Use `calc-context-sensitive-enter'.
+
 2013-11-16  Teodor Zlatanov  <tzz@lifelogs.com>
 
        * progmodes/cfengine.el: Version bump.
index 2795a177a414b8b928c4b9bb38d6e08a7480b930..72d456957c7cf6f981c21be44e14b564e0b691c5 100644 (file)
 (declare-function calc-set-language "calc-lang" (lang &optional option no-refresh))
 (declare-function calc-edit-finish "calc-yank" (&optional keep))
 (declare-function calc-edit-cancel "calc-yank" ())
+(declare-function calc-locate-cursor-element "calc-yank" (pt))
 (declare-function calc-do-quick-calc "calc-aent" ())
 (declare-function calc-do-calc-eval "calc-aent" (str separator args))
 (declare-function calc-do-keypad "calc-keypd" (&optional full-display interactive))
@@ -426,6 +427,13 @@ when converting units."
   :version "24.3"
   :type 'boolean)
 
+(defcustom calc-context-sensitive-enter
+  nil
+  "If non-nil, the stack element under the cursor will be copied by `calc-enter'."
+  :group 'calc
+  :version "24.4"
+  :type 'boolean)
+
 (defcustom calc-undo-length
   100
   "The number of undo steps that will be preserved when Calc is quit."
@@ -2257,8 +2265,10 @@ the United States."
         ((= n 0)
          (calc-push-list (calc-top-list (calc-stack-size))))
         (t
-         (calc-push-list (calc-top-list n))))))
-
+          (if (not calc-context-sensitive-enter)
+              (calc-push-list (calc-top-list n))
+            (let ((num (max 1 (calc-locate-cursor-element (point)))))
+              (calc-push-list (calc-top-list n num))))))))
 
 (defun calc-pop (n)
   (interactive "P")