Previously something like SDL_GetCurrentDisplayMode() would have this output:
```
RETURN VALUE
*) Returns a pointer to the desktop display mode or NULL on failure; call SDL_GetError() for more information.
```
Now it doesn't have the junk at the start of the text:
```
RETURN VALUE
Returns a pointer to the desktop display mode or NULL on failure; call SDL_GetError() for more information.
```
Now other projects can use it with their headers, if they provide an options
file with specifics and are willing to follow some SDLish header conventions.
This shouldn't affect SDL satellite projects, etc, since they literally use
the SDL symbols, like `SDLCALL` and such, which are the defaults in the script
if a .wikiheaders-options file doesn't override them.
Otherwise, groff will interpret it as a macro, causing the man page
for SDL_GetPrefPath() to be mis-rendered. Escape unescaped backslashes
as `\(rs` ("reverse solidus") before escaping other characters with
macros that, themselves, contain backslashes.
Resolves: https://github.com/libsdl-org/SDL/issues/13039
Signed-off-by: Simon McVittie <smcv@collabora.com>
This is a dirty hack, but it currently works for our purposes. We just refuse
to link an eligible string (like, say...`SDL_shadercross`), if there's a '['
character right before it.
This WILL NOT WORK if the string is in the middle of a link! For example, if
you had `[please refer to SDL_shadercross](https://example.com/)`, this will
still fail in the usual ways, but we're not building out a robust parser here
at the moment, and this catches the most common problem.
Fixes#13160.
Fixes https://github.com/libsdl-org/sdlwiki/issues/752
Closes https://github.com/libsdl-org/sdlwiki/pull/725
Before, it was treating `typedef struct x x;` as a struct typedef instead of
a datatype typedef. Worse, it was treating `typedef struct x *x` the same!
This might require us to manually clean out some incorrect CategoryAPIStruct
tags that have accumulated in various pages.
- Lowercase the first letter of \param and \returns data; in the former case,
it looks better in the table and Doxyggen (imho), in the latter it's because
it's inserted after the word "Returns" to make an english sentence on the
wiki. This is disabled in this commit, but it was useful to turn it on to
fix up the headers manually.
- Make sure everything ends with punctuation. Inserts a period if there's
no existing period or exclamation point at the end of the text. This is
enabled going forward, so we won't have to manage it ourselves.