GNU bug report logs -
#78156
31.0.50; 3.2 Install a Function Definition
Previous Next
Full log
Message #8 received at 78156 <at> debbugs.gnu.org (full text, mbox):
> From: badli al rashid <theothernighttheotherday <at> gmail.com>
> Date: Wed, 30 Apr 2025 14:01:30 +0800
>
> From the elisp intro book, 3.2 Install a Function Definition.
> An error occur when installing / running (C-x C-e) the function below
>
> (defun multiply-by-seven (number)
> "Multiply NUMBER by seven."
> (* 7 number))
>
> Debugger entered--Lisp error: (void-variable number)
> (* 7 number)
> (progn (* 7 number))
> eval((progn (* 7 number)) t)
> elisp--eval-last-sexp(nil)
> #f(compiled-function () #<bytecode 0x18675df5af7f>)()
> handler-bind-1(#f(compiled-function () #<bytecode 0x18675df5af7f>) (error) eval-expression--debug)
> eval-last-sexp(nil)
> funcall-interactively(eval-last-sexp nil)
> call-interactively(eval-last-sexp nil nil)
> command-execute(eval-last-sexp)
> recursive-edit()
> debug(error (void-variable definition.) :backtrace-base eval-expression--debug)
> eval-expression--debug((void-variable definition.))
> (progn definition.)
> eval((progn definition.) t)
> elisp--eval-last-sexp(nil)
> #f(compiled-function () #<bytecode 0x18675df5af7f>)()
> handler-bind-1(#f(compiled-function () #<bytecode 0x18675df5af7f>) (error) eval-expression--debug)
> eval-last-sexp(nil)
> funcall-interactively(eval-last-sexp nil)
> call-interactively(eval-last-sexp nil nil)
> command-execute(eval-last-sexp)
> recursive-edit()
> debug(error (void-variable number) :backtrace-base eval-expression--debug)
> eval-expression--debug((void-variable number))
> (* 7 number)
> (progn (* 7 number))
> eval((progn (* 7 number)) t)
> elisp--eval-last-sexp(nil)
> #f(compiled-function () #<bytecode 0x18675df5af7f>)()
> handler-bind-1(#f(compiled-function () #<bytecode 0x18675df5af7f>) (error) eval-expression--debug)
> eval-last-sexp(nil)
> funcall-interactively(eval-last-sexp nil)
> call-interactively(eval-last-sexp nil nil)
> command-execute(eval-last-sexp)
Please describe what you did, because I cannot reproduce the problem.
My steps were:
. emacs -Q
. insert the function's definition into the *scratch* buffer
. C-x C-e on the closing parenthesis of the function to install the
function in Emacs
. type (multiply-by-seven 10) into *scratch* buffer
. type C-x C-e after that
. the result (70) is shown in the echo area, as expected
So I see no bug here.
From the backtrace you show, I'm guessing that you evaluated something
like
(multiply-by-seven number)
without making 'number' a variable with some numerical value.
This bug report was last modified 104 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.