all messages for Emacs-related lists mirrored at yhetil.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 external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.