bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#33375: 27.0.50; Nested function definitions


From: Andreas Röhler
Subject: bug#33375: 27.0.50; Nested function definitions
Date: Thu, 15 Nov 2018 16:04:30 +0100
User-agent: Mozilla/5.0 (X11; Linux i686; rv:52.0) Gecko/20100101 Thunderbird/52.9.1

On 15.11.2018 13:36, Noam Postavsky wrote:
Andreas Röhler <andreas.roehler@easy-emacs.de> writes:

What puzzles me when evaluating:


(setq a (foo2))
a ==> foo3
(call-interactively 'foo2) ==> foo3

But M-x foo2 RET messages "Foo2"

The last value form in `foo2' returns `foo3'.  The last `message' call
displays "Foo2".  Calling a command via M-x doesn't use the return
value, so you see only the last message.  Note that evaluating (foo2)
also messages "Foo2" (you can see it in *Messages*), it's just covered
by the subsequent message showing the return value

Okay, thanks, that makes sense.

Still another observation. Open the test below, evaluations tells
"foo1" as expected but than inner foo2 is not known.

Debugger entered--Lisp error: (wrong-type-argument commandp foo2)
  call-interactively(foo2)
  eval((call-interactively 'foo2) nil)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)

---

(defun foo1 ()
  "[Some docu]

(defun other-foo "
  (interactive)
  ;; defining another function inside
  (defun foo2 ()
    (interactive)
    (message "%s"   "Foo2")
;; another syntactically correct function just badly indented
(defun foo3 ()
  (interactive)
  (message "%s" "Foo3"))
)
  (message "%s" "Foo1"))


;; (call-interactively 'foo2) ==> Error ...

---

In GNU Emacs 27.0.50 (build 2, i686-pc-linux-gnu, GTK+ Version 3.14.5)
 of 2018-11-09 built
Repository revision: 4f0e54223a60a34818365475440e023747eab7e9
Windowing system distributor 'The X.Org Foundation', version 11.0.11604000
System Description: Debian GNU/Linux 8 (jessie)

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
foo1
Entering debugger...

Configured using:
 'configure --with-modules --enable-checking
 --enable-check-lisp-object-type --with-mailutils'

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY INOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM MODULES THREADS GMP

Important settings:
  value of $LANG: de_DE.utf8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Debugger

Minor modes in effect:
  diff-auto-refine-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  buffer-read-only: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv format-spec rfc822 mml mml-sec
password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs
time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
mail-prsvr mail-utils help-fns radix-tree cl-print debug backtrace
help-mode find-func cl-loaddefs cl-lib vc-git diff-mode easymenu
easy-mmode dired dired-loaddefs elec-pair mule-util tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win
x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify dynamic-setting system-font-setting
font-render-setting move-toolbar gtk x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 8 160231 10300)
 (symbols 24 35005 2)
 (strings 16 59254 1919)
 (string-bytes 1 1109200)
 (vectors 8 16469)
 (vector-slots 4 534758 16220)
 (floats 8 56 113)
 (intervals 28 366 8)
 (buffers 528 14)
 (heap 1024 42785 1036))







reply via email to

[Prev in Thread] Current Thread [Next in Thread]