Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IGNORE_PREFIX works also on names of functions/methods (Origin: bugzilla #568820) #3244

Closed
doxygen opened this issue Jul 2, 2018 · 5 comments
Labels
bug documentation bug in the documentation

Comments

@doxygen
Copy link
Owner

doxygen commented Jul 2, 2018

status NEW severity normal in component build for ---
Reported in version 1.5.8 on platform Other
Assigned to: Dimitri van Heesch

Original attachment names and IDs:

On 2009-01-23 09:28:43 +0000, Carl R. Werth wrote:

Please describe the problem:
IGNORE_PREFIX is intended to work on class names, so that "CArchive",
"CBlock", "CClock", "CDump", ... will not be put under the same header in
the alphabetical index.
By setting IGNORE_PREFIX to 'C' not only the class names will be stripped
off the leading 'C', but also

Steps to reproduce:
1. Create C++ file with enough functions or enough class member, so that
different sections will be generated in the alphabetical index.
2. All names of the functions/methods must start with the same letter 'C'.
3. Set IGNORE_PREFIX to 'C' and start generation of the HTML documentation.


Actual results:
All the functions/methods in the alphabetical index will be sorted by their
second letter.

Expected results:
Only the classes in the alphabetical index should be sorted be their second
letter. Functions and methods should be sorted by their first letter.

Does this happen every time?
Yes.

Other information:

On 2009-01-23 09:34:07 +0000, Carl R. Werth wrote:

"Please describe the problem" was broken:
IGNORE_PREFIX is intended to work on class names, so that "CArchive",
"CBlock",
"CClock", "CDump", ... will not be put under the same header in the
alphabetical index.
By setting IGNORE_PREFIX to 'C' not only the class names will be stripped
off
the leading 'C', but also the names of functions/methods.
IGNORE_PREFIX should not work on names of functions/methods.

On 2009-01-23 09:47:24 +0000, Carl R. Werth wrote:

Created attachment 127076
C++ file to produce the bug

The C++ file has about 40 function and 5 classes with about 40 methods.
This is enough to generate an alphabetical index which has several sections,
spilt by the leading character of the names of the functions/methods.

On 2009-01-23 09:51:39 +0000, Carl R. Werth wrote:

Created attachment 127077
Configuration file

Doxygen configuration file with IGNORE_PREFIX set to 'C'.
Will work together with the file "DemoSource.cpp", but the "INPUT" has to be
adjusted for meet your particular environment.
@albert-github
Copy link
Collaborator

When running the example with doxygen 1.9.5 we see in globals.html:

image

so under al also an and as are are listed.
We also see:
image

and here the al, an and as refer all to globals_func.html#index_a.

It looks like that not on all places just the first character is taken (from e.g. al, an and as) or should the second (and with longer strings a longer name!) be taken?

Regarding the original problem probably we need to extend the documentation so it not only mentions classes but also functions, variables, ...
(It has to be investigated whether e.g. namespaces also obey to the IGNORE_PREFIX).

@doxygen what do you think?

albert-github added a commit to albert-github/doxygen that referenced this issue Nov 22, 2022
This is a regression on doxygen#8375, the `substr` function requires a length and not an end position.
Problem was found when looking at doxygen#3244
@albert-github
Copy link
Collaborator

albert-github commented Nov 22, 2022

Regarding the al, an, as problem, I've just pushed a proposed patch, pull request #9688

@albert-github albert-github added bug documentation bug in the documentation labels Nov 22, 2022
@albert-github
Copy link
Collaborator

In the release notes of doxygen version 1.5.2 it is explicitly mentioned as new feature:

IGNORE_PREFIX now also works for function/members names when shown in the various indices.

I've just pushed a proposed patch, pull request #9689

@albert-github albert-github added the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Nov 24, 2022
@albert-github
Copy link
Collaborator

Code has been integrated in master on GitHub (please don't close the issue as this will be done at the moment of an official release).

@doxygen
Copy link
Owner Author

doxygen commented Dec 27, 2022

This issue was previously marked 'fixed but not released',
which means it should be fixed in doxygen version 1.9.6.
Please verify if this is indeed the case. Reopen the
issue if you think it is not fixed and please include any additional information
that you think can be relevant (preferably in the form of a self-contained example).

@doxygen doxygen removed the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Dec 27, 2022
@doxygen doxygen closed this as completed Dec 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug documentation bug in the documentation
Projects
None yet
Development

No branches or pull requests

2 participants