Open rdzman opened 4 months ago
My workaround at the moment is to continue to prefix the autoclass
name with the name of the module, even though I am including a currentmodule
directive. In general, this works just fine.
But it results in another issue in the case where the module name has dashes in it, e.g. my-target
instead of just target
, which happens to be the case for one of my modules.
In this case, if I use something like ..
classfolder
-----------
.. currentmodule:: my-target
.. autoclass:: my-target.@ClassFolder.ClassFolder
:show-inheritance:
:members:
... it results in the following warnings and does not process the documentation for the class. (FWIW, the presence or absence of the currentmodule
directive here doesn't seem to have any effect.)
WARNING: [sphinxcontrib-matlabdomain] Invalid signature for mat:autoclass ('my-target.@ClassFolder.ClassFolder')
WARNING: [sphinxcontrib-matlabdomain] don't know which module to import for autodocumenting 'my-target.@ClassFolder.ClassFolder' (try placing a "module" or "currentmodule" directive in the document, or giving an explicit module name)
In general, module names with dashes do not appear to cause problems, except if you try to use them explicitly in an autoclass
or autofunc
directive.
My workaround for this was to rename my module and replace the dash with an underscore, e.g. my_target
.
I just wanted to document this here in the hopes that, when this issue gets fixed, it be done in way that allows module names with dashes to work just fine.
Hi. Just confirming, this is bug. I tried some initial debugging, without any good results.
I believe this is a bug.
With
matlab_short_links = True
I would expect to be able to change this (from this test file) ...... to this ...
... but it results in the following fatal error.