unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* byte-compile-call-tree
@ 2014-01-15 15:59 Michael Heerdegen
  2014-01-15 17:31 ` byte-compile-call-tree Stefan Monnier
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Heerdegen @ 2014-01-15 15:59 UTC (permalink / raw)
  To: emacs-devel

Hello,

`byte-compile-call-tree' is a great source of information about a
library created as side effect when compiling.  The information is more
complete and reliable that one could reach easily with other means.


1.  Currently, AFAIK the only mean to get the call tree is to bind
`byte-compile-generate-call-tree' and compile.  The problem is that view
people know that, I think.  It would be better if there was a command
available that one can find.

2.  There's even no mean to get the call tree as an expression without
hacking bytecomp.el.  The tree is destroyed by `display-call-tree' that
prints the output to a buffer.

3.  To the programmer, the current output is not so useful as such.
Programmers have questions like "do I use cl stuff in my lib, or can I
avoid to require cl-lib?".  Or "I want to get rid of using lib-foo in my
package - which of my functions call its function and which?".  It is
quite easy to extract this information from the call tree and sort stuff
by library (in a ~30 lines).


I first wanted to write a library for this kind of stuff, but I wonder
if we should better do this in Emacs.


Regards,

Michael.




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

* Re: byte-compile-call-tree
  2014-01-15 15:59 byte-compile-call-tree Michael Heerdegen
@ 2014-01-15 17:31 ` Stefan Monnier
  2014-01-15 18:24   ` byte-compile-call-tree Michael Heerdegen
  0 siblings, 1 reply; 5+ messages in thread
From: Stefan Monnier @ 2014-01-15 17:31 UTC (permalink / raw)
  To: Michael Heerdegen; +Cc: emacs-devel

> 1.  Currently, AFAIK the only mean to get the call tree is to bind
> `byte-compile-generate-call-tree' and compile.  The problem is that view
> people know that, I think.  It would be better if there was a command
> available that one can find.

Yes, it's a feature that hasn't gotten much love, if any.
We'd welcome patches which provide:
- a function that returns a call tree.
- a command on top of that which displays the call-tree.


        Stefan



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

* Re: byte-compile-call-tree
  2014-01-15 17:31 ` byte-compile-call-tree Stefan Monnier
@ 2014-01-15 18:24   ` Michael Heerdegen
  2014-01-15 19:27     ` byte-compile-call-tree Michael Heerdegen
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Heerdegen @ 2014-01-15 18:24 UTC (permalink / raw)
  To: emacs-devel

Stefan Monnier <monnier@iro.umontreal.ca> writes:

> - a command on top of that which displays the call-tree.

Seems like `display-call-tree' is/was intended for that.  It is
interactive and even noted under "Entry points:" in the header.  But it
doesn't work as a command, with neither setting of
`byte-compile-generate-call-tree'.




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

* Re: byte-compile-call-tree
  2014-01-15 18:24   ` byte-compile-call-tree Michael Heerdegen
@ 2014-01-15 19:27     ` Michael Heerdegen
  2014-01-18 15:38       ` byte-compile-call-tree Michael Heerdegen
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Heerdegen @ 2014-01-15 19:27 UTC (permalink / raw)
  To: emacs-devel

Michael Heerdegen <michael_heerdegen@web.de> writes:

> Seems like `display-call-tree' is/was intended for that.  It is
> interactive and even noted under "Entry points:" in the header.  But it
> doesn't work as a command, with neither setting of
> `byte-compile-generate-call-tree'.

Oops, I'm sorry, that was nonsense.  `display-call-tree' works as
expected, and `byte-compile-call-tree' is never destroyed.  There was
just an error in my own setup.

So, please forget (1) and (2); but (3) would still be useful (and isn't
nonsense, I think).  We could provide a command
`display-call-tree-by-lib' for that purpose.


Michael.




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

* Re: byte-compile-call-tree
  2014-01-15 19:27     ` byte-compile-call-tree Michael Heerdegen
@ 2014-01-18 15:38       ` Michael Heerdegen
  0 siblings, 0 replies; 5+ messages in thread
From: Michael Heerdegen @ 2014-01-18 15:38 UTC (permalink / raw)
  To: emacs-devel

Michael Heerdegen <michael_heerdegen@web.de> writes:

> We could provide a command `display-call-tree-by-lib' for that
> purpose.

This is probably not the right way to get a complete list of stuff from
foreign libraries.  The call tree doesn't include macros used, as well
as interactive functions.

Michael.




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

end of thread, other threads:[~2014-01-18 15:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-01-15 15:59 byte-compile-call-tree Michael Heerdegen
2014-01-15 17:31 ` byte-compile-call-tree Stefan Monnier
2014-01-15 18:24   ` byte-compile-call-tree Michael Heerdegen
2014-01-15 19:27     ` byte-compile-call-tree Michael Heerdegen
2014-01-18 15:38       ` byte-compile-call-tree Michael Heerdegen

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