unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* pcase documentation missing
@ 2019-02-20 13:18 Andy Moreton
  2019-02-21  1:36 ` Stefan Monnier
  0 siblings, 1 reply; 9+ messages in thread
From: Andy Moreton @ 2019-02-20 13:18 UTC (permalink / raw)
  To: emacs-devel


Using "C-h f pcase" in the master branch only displays the docstring
from the pcase macro, but omits the documentation of the pcase
extensions defined with pcase-defmacro.

Evaluating this shows the extension docs can still be computed:
  (require 'pcase)
  (pcase--make-docstring)

Is this expected ?

    AndyM





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

* Re: pcase documentation missing
  2019-02-20 13:18 pcase documentation missing Andy Moreton
@ 2019-02-21  1:36 ` Stefan Monnier
  2019-02-21  9:11   ` Michael Heerdegen
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2019-02-21  1:36 UTC (permalink / raw)
  To: emacs-devel

> Using "C-h f pcase" in the master branch only displays the docstring
> from the pcase macro, but omits the documentation of the pcase
> extensions defined with pcase-defmacro.
>
> Evaluating this shows the extension docs can still be computed:
>   (require 'pcase)
>   (pcase--make-docstring)
>
> Is this expected ?

No, sounds like a bug


        Stefan




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

* Re: pcase documentation missing
  2019-02-21  1:36 ` Stefan Monnier
@ 2019-02-21  9:11   ` Michael Heerdegen
  2019-02-21 14:02     ` Stefan Monnier
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Heerdegen @ 2019-02-21  9:11 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

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

> > Using "C-h f pcase" in the master branch only displays the docstring
> > from the pcase macro, but omits the documentation of the pcase
> > extensions defined with pcase-defmacro.
> >
> > Evaluating this shows the extension docs can still be computed:
> >   (require 'pcase)
> >   (pcase--make-docstring)
> >
> > Is this expected ?
>
> No, sounds like a bug

pcase.el is not loaded after starting emacs -Q, so what you see is the
(static part of the) docstring from the autoload until you load the
library, right?

Michael.



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

* Re: pcase documentation missing
  2019-02-21  9:11   ` Michael Heerdegen
@ 2019-02-21 14:02     ` Stefan Monnier
  2019-02-21 14:21       ` Andy Moreton
  2019-02-22  0:48       ` Michael Heerdegen
  0 siblings, 2 replies; 9+ messages in thread
From: Stefan Monnier @ 2019-02-21 14:02 UTC (permalink / raw)
  To: emacs-devel

> pcase.el is not loaded after starting emacs -Q, so what you see is the
> (static part of the) docstring from the autoload until you load the
> library, right?

Hmm... I thought `C-h f` loaded the file nowadays when displaying the
docstring of an autoloaded function (at least I seem to remember that
we had to do it in order for \\{foo-mode-map} references to work).


        Stefan




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

* Re: pcase documentation missing
  2019-02-21 14:02     ` Stefan Monnier
@ 2019-02-21 14:21       ` Andy Moreton
  2019-02-22  0:48       ` Michael Heerdegen
  1 sibling, 0 replies; 9+ messages in thread
From: Andy Moreton @ 2019-02-21 14:21 UTC (permalink / raw)
  To: emacs-devel

On Thu 21 Feb 2019, Stefan Monnier wrote:

>> pcase.el is not loaded after starting emacs -Q, so what you see is the
>> (static part of the) docstring from the autoload until you load the
>> library, right?
>
> Hmm... I thought `C-h f` loaded the file nowadays when displaying the
> docstring of an autoloaded function (at least I seem to remember that
> we had to do it in order for \\{foo-mode-map} references to work).
>
>
>         Stefan

That seems to be the problem. On the emacs-26 branch and master, from
"emacs -Q" only the static docstring is shown. The dynamically generated
part is only shown after (load-library "pcase") or (require 'pcase) or
evaluating a pcase form.

    AndyM




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

* Re: pcase documentation missing
  2019-02-21 14:02     ` Stefan Monnier
  2019-02-21 14:21       ` Andy Moreton
@ 2019-02-22  0:48       ` Michael Heerdegen
  2019-02-28 12:46         ` Michael Heerdegen
  1 sibling, 1 reply; 9+ messages in thread
From: Michael Heerdegen @ 2019-02-22  0:48 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

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

> Hmm... I thought `C-h f` loaded the file nowadays when displaying the
> docstring of an autoloaded function (at least I seem to remember that
> we had to do it in order for \\{foo-mode-map} references to work).

Seems that this magic is restricted to functions whose docstring
contains a key substitution construct - see `help-enable-auto-load'.


Michael.



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

* Re: pcase documentation missing
  2019-02-22  0:48       ` Michael Heerdegen
@ 2019-02-28 12:46         ` Michael Heerdegen
  2019-02-28 13:14           ` Stefan Monnier
  0 siblings, 1 reply; 9+ messages in thread
From: Michael Heerdegen @ 2019-02-28 12:46 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Michael Heerdegen <michael_heerdegen@web.de> writes:

> Seems that this magic is restricted to functions whose docstring
> contains a key substitution construct - see `help-enable-auto-load'.

I see Stefan has fixed it.

There is a little part that I don't understand, however: why does C-h f
pcase load radix-tree?

Michael.



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

* Re: pcase documentation missing
  2019-02-28 12:46         ` Michael Heerdegen
@ 2019-02-28 13:14           ` Stefan Monnier
  2019-03-01 15:09             ` Michael Heerdegen
  0 siblings, 1 reply; 9+ messages in thread
From: Stefan Monnier @ 2019-02-28 13:14 UTC (permalink / raw)
  To: Michael Heerdegen; +Cc: emacs-devel

> There is a little part that I don't understand, however: why does C-h f
> pcase load radix-tree?

Probably for the same reason `C-h f car RET` loads radix-tree?

I know why radix-tree is involved: it's used by describe-function to be
able to complete&find function names of packages that aren't yet loaded.
With some careful coding it should be possible to avoid loading it in
cases where there's no need for completion and where the function is
already defined.

Apparently I wasn't careful enough when I wrote that.


        Stefan



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

* Re: pcase documentation missing
  2019-02-28 13:14           ` Stefan Monnier
@ 2019-03-01 15:09             ` Michael Heerdegen
  0 siblings, 0 replies; 9+ messages in thread
From: Michael Heerdegen @ 2019-03-01 15:09 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

Stefan Monnier <monnier@IRO.UMontreal.CA> writes:

> I know why radix-tree is involved: it's used by describe-function to be
> able to complete&find function names of packages that aren't yet
> loaded.

Ah - ok.  I thought it was somehow because of the radix-tree-leaf
pattern.

> With some careful coding it should be possible to avoid loading it in
> cases where there's no need for completion and where the function is
> already defined.

Doesn't sound like a good investment of your time.


Thanks,

Michael.



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

end of thread, other threads:[~2019-03-01 15:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-02-20 13:18 pcase documentation missing Andy Moreton
2019-02-21  1:36 ` Stefan Monnier
2019-02-21  9:11   ` Michael Heerdegen
2019-02-21 14:02     ` Stefan Monnier
2019-02-21 14:21       ` Andy Moreton
2019-02-22  0:48       ` Michael Heerdegen
2019-02-28 12:46         ` Michael Heerdegen
2019-02-28 13:14           ` Stefan Monnier
2019-03-01 15:09             ` 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).