unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#33375: 27.0.50; Nested function definitions
@ 2018-11-14  9:39 Andreas Röhler
  2018-11-14 10:06 ` Andreas Röhler
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Röhler @ 2018-11-14  9:39 UTC (permalink / raw)
  To: 33375


In GNU Emacs 27.0.50 (build 2, i686-pc-linux-gnu, GTK+ Version 3.14.5)
  of 2018-11-09



(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"))

;;;;
Results of evaluation:

(foo1) ==> "Foo1"
(foo2) ==> foo3 ?
(foo3) ==> Debugger entered--Lisp error: (void-variable Foo3)
   (message "%s" Foo3)
   foo3()
   eval((foo3) 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)

Also strange: M-x foo2 RET messages the correct "Foo2"

Cheers,
Andreas
GNU Emacs 27.0.50 (build 2, i686-pc-linux-gnu, GTK+ Version 3.14.5) of 
2018-11-09



Repository revision: 4f0e54223a60a34818365475440e023747eab7e9
Windowing system distributor 'The X.Org Foundation', version 11.0.11604000
System Description: Debian GNU/Linux 8 (jessie)

Recent messages:
"Foo1"
Foo2
foo3
Entering debugger...
Mark set
Saved text from "Debugger entered--Lisp error: (void-vari"
Mark set
Saving file /home/speck/foo.el...
Wrote /home/speck/foo.el
Foo2

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: Emacs-Lisp

Minor modes in effect:
   tooltip-mode: t
   global-eldoc-mode: t
   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
   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 dired dired-loaddefs 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 easymenu find-func cl-loaddefs cl-lib
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 158015 10577)
  (symbols 24 34540 1)
  (strings 16 57691 2348)
  (string-bytes 1 1065410)
  (vectors 8 15056)
  (vector-slots 4 522266 19972)
  (floats 8 54 150)
  (intervals 28 437 232)
  (buffers 528 13)
  (heap 1024 41340 869))





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#33375: 27.0.50; Nested function definitions
  2018-11-14  9:39 bug#33375: 27.0.50; Nested function definitions Andreas Röhler
@ 2018-11-14 10:06 ` Andreas Röhler
  2018-11-14 11:46   ` Andreas Röhler
  2018-11-14 15:40   ` Eli Zaretskii
  0 siblings, 2 replies; 10+ messages in thread
From: Andreas Röhler @ 2018-11-14 10:06 UTC (permalink / raw)
  To: 33375

On 14.11.2018 10:39, Andreas Röhler wrote:
> 
> In GNU Emacs 27.0.50 (build 2, i686-pc-linux-gnu, GTK+ Version 3.14.5)
>   of 2018-11-09
> 
> 
> 
> (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"))
> 
> ;;;;
> Results of evaluation:
> 
> (foo1) ==> "Foo1"
> (foo2) ==> foo3 ?
> (foo3) ==> Debugger entered--Lisp error: (void-variable Foo3)
>    (message "%s" Foo3)
>    foo3()
>    eval((foo3) 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)
> 
> Also strange: M-x foo2 RET messages the correct "Foo2"
> 
> Cheers,
> Andreas
> GNU Emacs 27.0.50 (build 2, i686-pc-linux-gnu, GTK+ Version 3.14.5) of 
> 2018-11-09
> 
> 
> 
> Repository revision: 4f0e54223a60a34818365475440e023747eab7e9
> Windowing system distributor 'The X.Org Foundation', version 11.0.11604000
> System Description: Debian GNU/Linux 8 (jessie)
> 
> Recent messages:
> "Foo1"
> Foo2
> foo3
> Entering debugger...
> Mark set
> Saved text from "Debugger entered--Lisp error: (void-vari"
> Mark set
> Saving file /home/speck/foo.el...
> Wrote /home/speck/foo.el
> Foo2
> 
> 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: Emacs-Lisp
> 
> Minor modes in effect:
>    tooltip-mode: t
>    global-eldoc-mode: t
>    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
>    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 dired dired-loaddefs 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 easymenu find-func cl-loaddefs cl-lib
> 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 158015 10577)
>   (symbols 24 34540 1)
>   (strings 16 57691 2348)
>   (string-bytes 1 1065410)
>   (vectors 8 15056)
>   (vector-slots 4 522266 19972)
>   (floats 8 54 150)
>   (intervals 28 437 232)
>   (buffers 528 13)
>   (heap 1024 41340 869))
> 
> 
> 

Update: there where missing string-quotes, error changed:

(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"))

;;;;
Results of evaluation:

(foo1) ==> "Foo1"
(foo2) ==> foo3 ?
(foo3) ==> "Foo3"







^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#33375: 27.0.50; Nested function definitions
  2018-11-14 10:06 ` Andreas Röhler
@ 2018-11-14 11:46   ` Andreas Röhler
  2018-11-14 15:40   ` Eli Zaretskii
  1 sibling, 0 replies; 10+ messages in thread
From: Andreas Röhler @ 2018-11-14 11:46 UTC (permalink / raw)
  To: 33375

On 14.11.2018 11:06, Andreas Röhler wrote:
> On 14.11.2018 10:39, Andreas Röhler wrote:
>> 
>> In GNU Emacs 27.0.50 (build 2, i686-pc-linux-gnu, GTK+ Version
>> 3.14.5) of 2018-11-09

Some test which should display the issue:

(ert-deftest ar-backward-defun-test-1977mjB ()
   (with-temp-buffer
     (insert "(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\"))")
     (emacs-lisp-mode)
     (switch-to-buffer (current-buffer))
     (goto-char (point-max))
     (back-to-indentation)
     (if (functionp 'ar-backward-defun)
	(ar-backward-defun)
       (beginning-of-defun))
     (should (looking-at "(defun foo1"))))

(ert-deftest ar-backward-defun-test-1977ztH ()
   (with-temp-buffer
     (insert "(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\"))")
     (emacs-lisp-mode)
     (switch-to-buffer (current-buffer))
     (goto-char (point-max))
     (search-backward "foo2")
     (if (functionp 'ar-backward-defun)
	(ar-backward-defun)
       (beginning-of-defun))
     (should (looking-at " +(defun foo2"))))

(ert-deftest ar-backward-defun-test-1977A4N ()
   (with-temp-buffer
     (insert "(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\"))")
     (emacs-lisp-mode)
     (switch-to-buffer (current-buffer))
     (goto-char (point-max))
     (search-backward "Foo3")
     (forward-line 1)
     (if (functionp 'ar-backward-defun)
	(ar-backward-defun)
       (beginning-of-defun))
     (should (looking-at "(defun foo2"))))






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#33375: 27.0.50; Nested function definitions
  2018-11-14 10:06 ` Andreas Röhler
  2018-11-14 11:46   ` Andreas Röhler
@ 2018-11-14 15:40   ` Eli Zaretskii
  2018-11-15  7:01     ` Andreas Röhler
  1 sibling, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2018-11-14 15:40 UTC (permalink / raw)
  To: Andreas Röhler; +Cc: 33375

> From: Andreas Röhler <andreas.roehler@easy-emacs.de>
> Date: Wed, 14 Nov 2018 11:06:52 +0100
> 
> (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"))
> 
> ;;;;
> Results of evaluation:
> 
> (foo1) ==> "Foo1"
> (foo2) ==> foo3 ?
> (foo3) ==> "Foo3"

Why do you think there's anything wrong here?  AFAICT, each evaluation
returns the last sexp evaluated in the respective function.  foo1 and
foo3 have a call to 'message' as the last sexp, so they return the
message string, but foo2's last sexp evaluates a defun form, so you
get the result of that, which is the function foo3.  IMO, this is
expected and correct behavior.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#33375: 27.0.50; Nested function definitions
  2018-11-14 15:40   ` Eli Zaretskii
@ 2018-11-15  7:01     ` Andreas Röhler
  2018-11-15 12:36       ` Noam Postavsky
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Röhler @ 2018-11-15  7:01 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 33375

On 14.11.2018 16:40, Eli Zaretskii wrote:
>> From: Andreas Röhler <andreas.roehler@easy-emacs.de>
>> Date: Wed, 14 Nov 2018 11:06:52 +0100
>>
>> (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"))
>>
>> ;;;;
>> Results of evaluation:
>>
>> (foo1) ==> "Foo1"
>> (foo2) ==> foo3 ?
>> (foo3) ==> "Foo3"
> 
> Why do you think there's anything wrong here?  AFAICT, each evaluation
> returns the last sexp evaluated in the respective function.  foo1 and
> foo3 have a call to 'message' as the last sexp, so they return the
> message string, but foo2's last sexp evaluates a defun form, so you
> get the result of that, which is the function foo3.  IMO, this is
> expected and correct behavior.
> 

Basically these forms were made to display a beginning-of-defun bug.

See tests in previous posts.

What puzzles me when evaluating:


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

But M-x foo2 RET messages "Foo2"







^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#33375: 27.0.50; Nested function definitions
  2018-11-15  7:01     ` Andreas Röhler
@ 2018-11-15 12:36       ` Noam Postavsky
  2018-11-15 15:04         ` Andreas Röhler
  0 siblings, 1 reply; 10+ messages in thread
From: Noam Postavsky @ 2018-11-15 12:36 UTC (permalink / raw)
  To: Andreas Röhler; +Cc: 33375

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.






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#33375: 27.0.50; Nested function definitions
  2018-11-15 12:36       ` Noam Postavsky
@ 2018-11-15 15:04         ` Andreas Röhler
  2018-11-15 15:05           ` Eli Zaretskii
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Röhler @ 2018-11-15 15:04 UTC (permalink / raw)
  To: Noam Postavsky; +Cc: 33375

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))







^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#33375: 27.0.50; Nested function definitions
  2018-11-15 15:04         ` Andreas Röhler
@ 2018-11-15 15:05           ` Eli Zaretskii
  2018-11-15 15:14             ` Andreas Röhler
  0 siblings, 1 reply; 10+ messages in thread
From: Eli Zaretskii @ 2018-11-15 15:05 UTC (permalink / raw)
  To: Andreas Röhler; +Cc: 33375, npostavs

> Cc: Eli Zaretskii <eliz@gnu.org>, 33375@debbugs.gnu.org
> From: Andreas Röhler <andreas.roehler@easy-emacs.de>
> Date: Thu, 15 Nov 2018 16:04:30 +0100
> 
> Still another observation. Open the test below, evaluations tells
> "foo1" as expected but than inner foo2 is not known.

You need to _invoke_ foo1 to get foo2 known.  Evaluating foo1 is not
enough.





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#33375: 27.0.50; Nested function definitions
  2018-11-15 15:05           ` Eli Zaretskii
@ 2018-11-15 15:14             ` Andreas Röhler
  2018-11-15 15:21               ` Andreas Röhler
  0 siblings, 1 reply; 10+ messages in thread
From: Andreas Röhler @ 2018-11-15 15:14 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 33375, npostavs

On 15.11.2018 16:05, Eli Zaretskii wrote:
>> Cc: Eli Zaretskii <eliz@gnu.org>, 33375@debbugs.gnu.org
>> From: Andreas Röhler <andreas.roehler@easy-emacs.de>
>> Date: Thu, 15 Nov 2018 16:04:30 +0100
>>
>> Still another observation. Open the test below, evaluations tells
>> "foo1" as expected but than inner foo2 is not known.
> 
> You need to _invoke_ foo1 to get foo2 known.  Evaluating foo1 is not
> enough.
> 

Hmm, shouldn't evaluating function definitions make them known? Is that 
told somewhere?





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#33375: 27.0.50; Nested function definitions
  2018-11-15 15:14             ` Andreas Röhler
@ 2018-11-15 15:21               ` Andreas Röhler
  0 siblings, 0 replies; 10+ messages in thread
From: Andreas Röhler @ 2018-11-15 15:21 UTC (permalink / raw)
  To: 33375

On 15.11.2018 16:14, Andreas Röhler wrote:
> On 15.11.2018 16:05, Eli Zaretskii wrote:
>>> Cc: Eli Zaretskii <eliz@gnu.org>, 33375@debbugs.gnu.org
>>> From: Andreas Röhler <andreas.roehler@easy-emacs.de>
>>> Date: Thu, 15 Nov 2018 16:04:30 +0100
>>>
>>> Still another observation. Open the test below, evaluations tells
>>> "foo1" as expected but than inner foo2 is not known.
>>
>> You need to _invoke_ foo1 to get foo2 known.  Evaluating foo1 is not
>> enough.
>>
> 
> Hmm, shouldn't evaluating function definitions make them known? Is that 
> told somewhere?
> 
> 
> 


Ahh, okay, sorry, got it: it's just the body of a function so far.





^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2018-11-15 15:21 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-11-14  9:39 bug#33375: 27.0.50; Nested function definitions Andreas Röhler
2018-11-14 10:06 ` Andreas Röhler
2018-11-14 11:46   ` Andreas Röhler
2018-11-14 15:40   ` Eli Zaretskii
2018-11-15  7:01     ` Andreas Röhler
2018-11-15 12:36       ` Noam Postavsky
2018-11-15 15:04         ` Andreas Röhler
2018-11-15 15:05           ` Eli Zaretskii
2018-11-15 15:14             ` Andreas Röhler
2018-11-15 15:21               ` Andreas Röhler

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).