| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
Implement a simple tree structure without using anytree
See merge request GNOME/gtk-doc!56
|
| |
| |
| |
| |
| |
| |
| |
| | |
anytree isn't currently available in Debian or Ubuntu, and seems like
a lot of code just to get a tree data structure. Reimplement just the
bits we need, with a compatible API.
Signed-off-by: Simon McVittie <smcv@debian.org>
|
|\ \
| | |
| | |
| | |
| | | |
mkdb: Make transfer annotation tooltips less ambiguous
See merge request GNOME/gtk-doc!44
|
| | | |
|
| |/ |
|
| |
| |
| |
| |
| |
| | |
We annotate deprecated types, which means we get compiler warnings when
scanning them. This, coupled to -Werror or similar mechanisms, breaks
the build when generating the documentation.
|
| |
| |
| |
| |
| |
| | |
Use char, int, float, double, instead of their
g-prefixed counterparts. This follows the GTK4
api style changes.
|
| |
| |
| |
| |
| |
| | |
GTK 4 added its own variant of G_DECLARE_
under the name of GDK_DECLARE_INTERNAL_TYPE.
Recognize it.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is building on the work in the previous commit. The syntax chosen
for doc comments is Class|action. We also need to allow periods in symbols,
since those are commonly used to separate prefixes in action names.
Here is a typical doc comment for an action:
/**
* GtkColorChooserWidget|color.select:
* @red: the red value, between 0 and 1
* @green: the green value, between 0 and 1
* @blue: the blue value, between 0 and 1
* @alpha: the alpha value, between 0 and 1
*
* Emits the #GtkColorChooser::color-activated signal for
* the given color.
*/
|
| |
| |
| |
| |
| | |
GTK4 can define actions for widget classes.
Write these out to a .actions file.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | | |
scangobj: Don't sort an absence of signals/properties
Closes #125
See merge request GNOME/gtk-doc!53
|
| |/
| |
| |
| |
| |
| |
| |
| | |
qsort (NULL, 0, ...) is formally considered to be undefined behaviour,
and is diagnosed as such by the undefined behaviour sanitizer.
Resolves: #125
Signed-off-by: Simon McVittie <smcv@debian.org>
|
|/
|
|
|
|
|
|
|
|
| |
os.getcwd() would make sense here.
This call isn't actually reached in practice, because the
gtkdoc-mkhtml2 script entry point always passes something for
options.output_dir, even if it's ".".
Signed-off-by: Simon McVittie <smcv@debian.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc allows deprecating members of structs. For example:
struct data {
int x G_GNUC_DEPRECATED_FOR(replacement);
};
However, this currently causes the entire struct to be marked as
deprecated and confuses mkdb because it doesn't understand the
G_GNUC_DEPRECATED_FOR symbol.
Fix this by having the whole struct only be marked as deprecated if the
'_DEPRECATED' is after the closing bracket of the struct, similar to how
it already does for enums, and having scan automatically remove all
G_GNUC_* decorators from struct members, similar to how it already does
for functions.
|
| |
|
|
|
|
|
| |
For some reason, glib has to put empty line before and after each of
these lines otherwise the symbol following it is undeclared.
|
|\
| |
| |
| |
| | |
scangobj: fix -Wdouble-promotion warnings
See merge request GNOME/gtk-doc!41
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a project passes the -Wdouble-promotion CFLAG when compiling the
generated *scan.c file, then it emits some warnings. For example in the
Devhelp project:
```
Building documentation for devhelp-3
devhelp-3-scan.c: In function ‘describe_double_constant’:
devhelp-3-scan.c:595:39: warning: implicit conversion from ‘float’ to
‘gdouble’ {aka ‘double’} to match other operand of binary expression
[-Wdouble-promotion]
595 | #define GTKDOC_COMPARE_FLOAT(x, y) (x <= y && x >= y
| ^~
devhelp-3-scan.c:608:12: note: in expansion of macro ‘GTKDOC_COMPARE_FLOAT’
608 | else if (GTKDOC_COMPARE_FLOAT (value, G_MAXFLOAT))
| ^~~~~~~~~~~~~~~~~~~~
[...]
```
An example where the -Wdouble-promotion CFLAG is used is with the
AX_COMPILER_FLAGS Autotools macro, part of autoconf-archive.
-----
In the diff, the `value` variable is of type gdouble.
|
| | |
|
| |
| |
| |
| |
| | |
This is a workaround for missing dtd caching in libxml2 that turns into
extrem overhead for documents with many xincludes.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Whilst working on the Reproducible Builds effort [0] we noticed that
gtk-doc generates unreproducible output.
There will likely be more issues but this one is at least fairly
simple in that it iterates over a set structure when printing
some .devhelp2 headers, for example:
│ │ │ │ - <sub name="Index of new API in 0.99.5" link="api-index-0-99-5.html"/>
│ │ │ │ - <sub name="Index of new API in 0.9.22" link="api-index-0-9-22.html"/>
│ │ │ │ <sub name="Index of new API in 0.9.0" link="api-index-0-9-0.html"/>
│ │ │ │ - <sub name="Index of new API in 0.9.1" link="api-index-0-9-1.html"/>
│ │ │ │ + <sub name="Index of new API in 0.9.19" link="api-index-0-9-19.html"/>
│ │ │ │ <sub name="Index of new API in 0.99.8" link="api-index-0-99-8.html"/>
│ │ │ │ + <sub name="Index of new API in 0.99.5" link="api-index-0-99-5.html"/>
│ │ │ │ <sub name="Index of new API in 1.0" link="api-index-1-0.html"/>
│ │ │ │ - <sub name="Index of new API in 0.9.19" link="api-index-0-9-19.html"/>
│ │ │ │ <sub name="Index of new API in 0.9.2" link="api-index-0-9-2.html"/>
│ │ │ │ + <sub name="Index of new API in 0.9.1" link="api-index-0-9-1.html"/>
│ │ │ │ + <sub name="Index of new API in 0.9.22" link="api-index-0-9-22.html"/>
This was originally filed in Debian as #946311 [1].
[0] https://reproducible-builds.org/
[1] https://bugs.debian.org/946331
Signed-off-by: Chris Lamb <lamby@debian.org>
|
|
|
|
|
| |
Only output the index if the library provices gobjects. We already do this
for the tree_index.sgml.
|
| |
|
|
|
|
| |
This gives build systems more flexibility.
|
|
|
|
| |
This was not used since we converted to python.
|
|
|
|
|
| |
Replace the '*' import with what we use and correctly reference the fields.
Fixes #101
|
|
|
|
|
| |
This fix getting directories when builddir!=srcdir which is always the
case with Meson.
|
|
|
|
|
| |
This will further change colnames in the generated db a bit, with no visual
impact though.
|
| |
|
|
|
|
| |
Unclutter OutputDB() by extracting xml templates and parametizing them.
|
|
|
|
|
| |
This was so far part of the static file template.
Fixes #96
|
|
|
|
|
| |
Add some tests for it too.
See #95
|
| |
|
| |
|
|
|
|
| |
This way we don't do this for each file.
|
|
|
|
|
| |
Add a bunch of tests for this.
Fixes #90
|
| |
|
| |
|
|
|
|
| |
Fixes #93
|
|
|
|
|
|
|
| |
This version is more generic and simpler too. The previous version did handle
cases where the first '{' was on the same or new lien differnetly.
Fixes #90
|
|
|
|
|
| |
GLib wraps its name in parenthesis to avoid macro expansion. A few other
functions does the same pattern in glib.
|
|
|
|
|
|
|
| |
GLib recently introduced new kind of deprecation macros, to annotate
types and enum values.
For example: `typedef _MyType MyType DEPRECATED_FOR(MyOtherType);`
|
|
|
|
|
|
|
|
|
|
|
|
| |
--ignore-decorator takes a regex such as `DEPRECATED_FOR\(.*\)` but that
leads to escaping nightmares and doesn't work when using Meson. The
ninja backend translates every `\` to `/` otherwise it breaks paths on
Windows, it is a know bug in Meson's ninja backend that cannot (easily)
be fixed.
Workaround this by allowing `DEPRECATED_FOR()` syntax and internally
translate that to the proper regex. That's the only use-case I'm aware
of.
|
|
|
|
|
|
| |
This is essentially a revert of 070acc5.
Fixes #92
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
GNU gettext runtime doesn't always honor the locale controlled by libc.
On non-glibc platforms, if per-thread locale isn't set, it may try to
read environment variables by itself in order to figure out the locale.
Therefore, even if setlocale is never called, gettext may still decide
to translate text based on environment variables, causing the content of
the documentation to be irreproducible because it depends on the
environment on the build machine. Furthermore, since setlocale isn't
called, LC_CTYPE defaults to C and non-ASCII characters coming from
translations get converted to question marks. The result is that the
documentation for GObject properties without gtk-doc comments becomes
unreadable because blurbs of properties are translated in a broken way.
To avoid gettext from doing unnecessary translation during building the
documentation, we should set LC_MESSAGES environment variable to C
before running the main program. LC_ALL is unset because it overrides
LC_MESSAGES. Doing so should be harmless because the program already
operates in C locale on systems using glibc.
|
|
|
|
|
| |
Fixed one test and removed the other one as is was non-sense one. Add code
to handle the exception one level up.
|
|
|
|
| |
Fixes #90.
|
|\
| |
| |
| |
| | |
Show property owners
See merge request GNOME/gtk-doc!29
|
| |
| |
| |
| |
| | |
This helps identify properties on pages with
multiple objects.
|