bug#46710: 27.1; `calc' sub-menu item invokes non-existent `calc-mult' function.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

bug#46710: 27.1; `calc' sub-menu item invokes non-existent `calc-mult' function.

Emacs - Bugs mailing list
Emacs Maintainers,

  It appears that a menu item in the ‘calc’ package attempts
  to invoke a function that does not exist.

  Recipe for producing the error, starting with "emacs -Q"
  (Emacs version 27.1)

  1. Start the ‘calc’ programmable calculator in Emacs with
  the keystrokes: C-x * c

  2. Enter two three-element vectors onto calc’s stack with
  the following keystrokes, separating each character with a
  space or comma:
  [ 1 2 3 ]
  [ 4 5 6 ]

  3. Attempting to calculate the dot product of the two
  vectors using the Calc menu item: Calc -> Matrices/Vectors
  -> Vectors -> (2:) dot (:1)

    Emacs responds with the following error message in the
  echo area: "Wrong type argument: commandp, calc-mult".

    Note that the menu item also documents the keystroke
  alternative, ‘*’.  C-h k * reports that ‘*’ invokes the
  function ‘calc-times’.  Likewise, the alternative menu
  item Calc -> Matrices/Vectors -> Matrices -> (2:) dot (:1)
  also invokes the function ‘calc-times’.  This menu item
  and ‘*’ produce the same result.

  The Calc -> Matrices/Vectors -> Vectors sub-menu is
  defined in the file calc-menu.el (in the lisp/calc
  sub-directory): (defvar calc-vectors-menu ...).

  The entry that lists the non-existent ‘calc-mult’ function
  reads:

              ["(2:) dot (1:)"
              calc-mult
              :keys "*"
              :active (>= (calc-stack-size) 2)
              :help "The dot product"]

-- 


Reply | Threaded
Open this post in threaded view
|

bug#46710: 27.1; `calc' sub-menu item invokes non-existent `calc-mult' function.

Lars Ingebrigtsen
Mark Harig <[hidden email]> writes:

>     Note that the menu item also documents the keystroke
>   alternative, ‘*’.  C-h k * reports that ‘*’ invokes the
>   function ‘calc-times’.  Likewise, the alternative menu
>   item Calc -> Matrices/Vectors -> Matrices -> (2:) dot (:1)
>   also invokes the function ‘calc-times’.  This menu item
>   and ‘*’ produce the same result.
>
>   The Calc -> Matrices/Vectors -> Vectors sub-menu is
>   defined in the file calc-menu.el (in the lisp/calc
>   sub-directory): (defvar calc-vectors-menu ...).
>
>   The entry that lists the non-existent ‘calc-mult’ function
>   reads:
>
>               ["(2:) dot (1:)"
>               calc-mult
>               :keys "*"
>               :active (>= (calc-stack-size) 2)
>               :help "The dot product"]

Thanks for the thorough analysis here.  I've now changed this to use
calc-times in Emacs 28, and that does indeed seem to produce the correct
results here (i.e., the same as the `*' command).

--
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no