sphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget(/translations/zh_CN/tools/kdoc_ancillarymodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/zh_TW/tools/kdoc_ancillarymodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/it_IT/tools/kdoc_ancillarymodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ja_JP/tools/kdoc_ancillarymodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/ko_KR/tools/kdoc_ancillarymodnameN classnameN refexplicituh1hhh ubh)}(hhh]hPortuguese (Brazilian)}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/pt_BR/tools/kdoc_ancillarymodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget(/translations/sp_SP/tools/kdoc_ancillarymodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhcomment)}(h SPDX-License-Identifier: GPL-2.0h]h SPDX-License-Identifier: GPL-2.0}hhsbah}(h]h ]h"]h$]h&] xml:spacepreserveuh1hhhhhhB/var/lib/git/docbuild/linux/Documentation/tools/kdoc_ancillary.rsthKubhsection)}(hhh](htitle)}(hAncillary classesh]hAncillary classes}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(hArgparse formatter classh]hArgparse formatter class}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhhhhKubhindex)}(hhh]h}(h]h ]h"]h$]h&]entries](pair(module; lib.python.kdoc.enrich_formatter'module-lib.python.kdoc.enrich_formatterhNtauh1hhhhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/enrich_formatter.py:docstring of lib.python.kdoc.enrich_formatterhNubh paragraph)}(hXAncillary argparse HelpFormatter class that works on a similar way as argparse.RawDescriptionHelpFormatter, e.g. description maintains line breaks, but it also implement transformations to the help text. The actual transformations ar given by enrich_text(), if the output is tty.h]hXAncillary argparse HelpFormatter class that works on a similar way as argparse.RawDescriptionHelpFormatter, e.g. description maintains line breaks, but it also implement transformations to the help text. The actual transformations ar given by enrich_text(), if the output is tty.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhhhhubj)}(h/Currently, the follow transformations are done:h]h/Currently, the follow transformations are done:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhhhhubh block_quote)}(hX- Positional arguments are shown in upper cases; - if output is TTY, ``var`` and positional arguments are shown prepended by an ANSI SGR code. This is usually translated to bold. On some terminals, like, konsole, this is translated into a colored bold text.h]h bullet_list)}(hhh](h list_item)}(h.Positional arguments are shown in upper cases;h]j)}(hj-h]h.Positional arguments are shown in upper cases;}(hj/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhhhKhj+ubah}(h]h ]h"]h$]h&]uh1j)hj&ubj*)}(hif output is TTY, ``var`` and positional arguments are shown prepended by an ANSI SGR code. This is usually translated to bold. On some terminals, like, konsole, this is translated into a colored bold text.h]j)}(hif output is TTY, ``var`` and positional arguments are shown prepended by an ANSI SGR code. This is usually translated to bold. On some terminals, like, konsole, this is translated into a colored bold text.h](hif output is TTY, }(hjFhhhNhNubhliteral)}(h``var``h]hvar}(hjPhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjFubh and positional arguments are shown prepended by an ANSI SGR code. This is usually translated to bold. On some terminals, like, konsole, this is translated into a colored bold text.}(hjFhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhhhK hjBubah}(h]h ]h"]h$]h&]uh1j)hj&ubeh}(h]h ]h"]h$]h&]bullet-uh1j$hhhKhj ubah}(h]h ]h"]h$]h&]uh1jhhhKhhhhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](single;EnrichFormatter (class in lib.python.kdoc.enrich_formatter)0lib.python.kdoc.enrich_formatter.EnrichFormatterhNtauh1hhhhhhNhNubhdesc)}(hhh](hdesc_signature)}(h EnrichFormatter(*args, **kwargs)h](hdesc_annotation)}(h2[<#text: 'class'>, >]h](hclass}(hjhhhNhNubhdesc_sig_space)}(h h]h }(hjhhhNhNubah}(h]h ]wah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/enrich_formatter.py:docstring of lib.python.kdoc.enrich_formatter.EnrichFormatterhKubh desc_addname)}(h!lib.python.kdoc.enrich_formatter.h]h!lib.python.kdoc.enrich_formatter.}(hjhhhNhNubah}(h]h ]( sig-prename descclassnameeh"]h$]h&]hhuh1jhjhhhjhKubh desc_name)}(hEnrichFormatterh]hEnrichFormatter}(hjhhhNhNubah}(h]h ](sig-namedescnameeh"]h$]h&]hhuh1jhjhhhjhKubhdesc_parameterlist)}(h*args, **kwargsh](hdesc_parameter)}(h*argsh](hdesc_sig_operator)}(h*h]h*}(hjhhhNhNubah}(h]h ]oah"]h$]h&]uh1jhjubh desc_sig_name)}(hargsh]hargs}(hjhhhNhNubah}(h]h ]nah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjubj)}(h**kwargsh](j)}(h**h]h**}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(hkwargsh]hkwargs}(hj"hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](sig sig-objecteh"]h$]h&]module lib.python.kdoc.enrich_formatterclasshfullnamej _toc_partsjEj _toc_namejuh1jhjhKhjhhubh desc_content)}(hhh](j)}(h*Bases: :py:class:`~argparse.HelpFormatter`h](hBases: }(hjPhhhNhNubh)}(h#:py:class:`~argparse.HelpFormatter`h]jO)}(hjZh]h HelpFormatter}(hj\hhhNhNubah}(h]h ](xrefpypy-classeh"]h$]h&]uh1jNhjXubah}(h]h ]h"]h$]h&]refdoctools/kdoc_ancillary refdomainjgreftypeclass refexplicitrefwarn py:modulejEpy:classj reftargetargparse.HelpFormatteruh1hh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/enrich_formatter.py:docstring of lib.python.kdoc.enrich_formatterhKhjPubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/enrich_formatter.py:docstring of lib.python.kdoc.enrich_formatter.EnrichFormatterhKhjMhhubj)}(hxBetter format the output, making easier to identify the positional args and how they're used at the __doc__ description.h]hzBetter format the output, making easier to identify the positional args and how they’re used at the __doc__ description.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/enrich_formatter.py:docstring of lib.python.kdoc.enrich_formatter.EnrichFormatterhKhjMhhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jGenrich_text() (lib.python.kdoc.enrich_formatter.EnrichFormatter method), >]h](hclass}(hjshhhNhNubj)}(h h]h }(hj{hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjsubeh}(h]h ]h"]h$]h&]hhuh1jhjohhhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRehKubj)}(hlib.python.kdoc.kdoc_re.h]hlib.python.kdoc.kdoc_re.}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjohhhjhKubj)}(hKernReh]hKernRe}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjohhhjhKubj)}(hstring, cache=True, flags=0h](j)}(hstringh]j)}(hstringh]hstring}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubj)}(h cache=Trueh](j)}(hcacheh]hcache}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h=h]h=}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubhinline)}(hTrueh]hTrue}(hjhhhNhNubah}(h]h ] default_valueah"]h$]h&]support_smartquotesuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjubj)}(hflags=0h](j)}(hflagsh]hflags}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h=h]h=}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h0h]h0}(hj hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjohhhjhKubeh}(h]jjah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_rejFhjGjjHjAjjJjuh1jhjhKhjlhhubjL)}(hhh](j)}(hBases: :py:class:`object`h](hBases: }(hjFhhhNhNubh)}(h:py:class:`object`h]jO)}(hjPh]hobject}(hjRhhhNhNubah}(h]h ](jfpypy-classeh"]h$]h&]uh1jNhjNubah}(h]h ]h"]h$]h&]refdocjs refdomainj\reftypeclass refexplicitrefwarnjyjAjzjj{objectuh1hhr/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_rehKhjFubeh}(h]h ]h"]h$]h&]uh1jhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRehKhjChhubj)}(h5Helper class to simplify regex declaration and usage.h]h5Helper class to simplify regex declaration and usage.}(hjvhhhNhNubah}(h]h ]h"]h$]h&]uh1jhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRehKhjChhubj)}(huIt calls re.compile for a given pattern. It also allows adding regular expressions and define sub at class init time.h]huIt calls re.compile for a given pattern. It also allows adding regular expressions and define sub at class init time.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjChhubj)}(hORegular expressions can be cached via an argument, helping to speedup searches.h]hORegular expressions can be cached via an argument, helping to speedup searches.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjChhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j1findall() (lib.python.kdoc.kdoc_re.KernRe method)&lib.python.kdoc.kdoc_re.KernRe.findallhNtauh1hhjChhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.findallhNubj)}(hhh](j)}(hKernRe.findall(string)h](j)}(hfindallh]hfindall}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.findallhKubj)}(hstringh]j)}(hstringh]j)}(hstringh]hstring}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_rejFjjGKernRe.findalljHjKernRefindalljJKernRe.findall()uh1jhjhKhjhhubjL)}(hhh]j)}(hAlias to re.findall.h]hAlias to re.findall.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pymethodeh"]h$]h&]jjjjjjj j j uh1jhhhjChjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j2finditer() (lib.python.kdoc.kdoc_re.KernRe method)'lib.python.kdoc.kdoc_re.KernRe.finditerhNtauh1hhjChhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.finditerhNubj)}(hhh](j)}(hKernRe.finditer(string)h](j)}(hfinditerh]hfinditer}(hj)hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj%hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.finditerhKubj)}(hstringh]j)}(hstringh]j)}(hstringh]hstring}(hj@hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]hhuh1jhj8ubah}(h]h ]h"]h$]h&]hhuh1jhj%hhhj7hKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_rejFjjGKernRe.finditerjHj`KernRefinditerjJKernRe.finditer()uh1jhj7hKhj"hhubjL)}(hhh]j)}(hAlias to re.finditer.h]hAlias to re.finditer.}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1jhj!hKhjfhhubah}(h]h ]h"]h$]h&]uh1jKhj"hhhj7hKubeh}(h]h ](pymethodeh"]h$]h&]jjjjjjj j j uh1jhhhjChj!hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j/group() (lib.python.kdoc.kdoc_re.KernRe method)$lib.python.kdoc.kdoc_re.KernRe.grouphNtauh1hhjChhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.grouphNubj)}(hhh](j)}(hKernRe.group(num)h](j)}(hgrouph]hgroup}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.grouphKubj)}(hnumh]j)}(hnumh]j)}(hnumh]hnum}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_rejFjjG KernRe.groupjHjKernRegroupjJKernRe.group()uh1jhjhKhjhhubjL)}(hhh]j)}(h,Returns the group results of the last match.h]h,Returns the group results of the last match.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pymethodeh"]h$]h&]jjjjjjj j j uh1jhhhjChjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j0groups() (lib.python.kdoc.kdoc_re.KernRe method)%lib.python.kdoc.kdoc_re.KernRe.groupshNtauh1hhjChhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.groupshNubj)}(hhh](j)}(hKernRe.groups()h](j)}(hgroupsh]hgroups}(hj hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.groupshKubj)}(h()h]h}(h]h ]h"]h$]h&]hhuh1jhj hhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_rejFjjG KernRe.groupsjHj,KernRegroupsjJKernRe.groups()uh1jhjhKhjhhubjL)}(hhh]j)}(h+Returns the group results of the last matchh]h+Returns the group results of the last match}(hj5hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhj2hhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pymethodeh"]h$]h&]jjLjjMjjMj j j uh1jhhhjChjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j/match() (lib.python.kdoc.kdoc_re.KernRe method)$lib.python.kdoc.kdoc_re.KernRe.matchhNtauh1hhjChhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.matchhNubj)}(hhh](j)}(hKernRe.match(string)h](j)}(hmatchh]hmatch}(hjghhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjchhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.matchhKubj)}(hstringh]j)}(hstringh]j)}(hstringh]hstring}(hj~hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjzubah}(h]h ]h"]h$]h&]hhuh1jhjvubah}(h]h ]h"]h$]h&]hhuh1jhjchhhjuhKubeh}(h]j]ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_rejFjjG KernRe.matchjHjKernRematchjJKernRe.match()uh1jhjuhKhj`hhubjL)}(hhh]j)}(h'Handles a re.match storing its results.h]h'Handles a re.match storing its results.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj_hKhjhhubah}(h]h ]h"]h$]h&]uh1jKhj`hhhjuhKubeh}(h]h ](pymethodeh"]h$]h&]jjjjjjj j j uh1jhhhjChj_hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j0search() (lib.python.kdoc.kdoc_re.KernRe method)%lib.python.kdoc.kdoc_re.KernRe.searchhNtauh1hhjChhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.searchhNubj)}(hhh](j)}(hKernRe.search(string)h](j)}(hsearchh]hsearch}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.searchhKubj)}(hstringh]j)}(hstringh]j)}(hstringh]hstring}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_rejFjjG KernRe.searchjHjKernResearchjJKernRe.search()uh1jhjhKhjhhubjL)}(hhh]j)}(h(Handles a re.search storing its results.h]h(Handles a re.search storing its results.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pymethodeh"]h$]h&]jj0jj1jj1j j j uh1jhhhjChjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j/split() (lib.python.kdoc.kdoc_re.KernRe method)$lib.python.kdoc.kdoc_re.KernRe.splithNtauh1hhjChhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.splithNubj)}(hhh](j)}(hKernRe.split(string)h](j)}(hsplith]hsplit}(hjKhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjGhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.splithKubj)}(hstringh]j)}(hstringh]j)}(hstringh]hstring}(hjbhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj^ubah}(h]h ]h"]h$]h&]hhuh1jhjZubah}(h]h ]h"]h$]h&]hhuh1jhjGhhhjYhKubeh}(h]jAah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_rejFjjG KernRe.splitjHjKernResplitjJKernRe.split()uh1jhjYhKhjDhhubjL)}(hhh]j)}(hAlias to re.split.h]hAlias to re.split.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjChKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjDhhhjYhKubeh}(h]h ](pymethodeh"]h$]h&]jjjjjjj j j uh1jhhhjChjChNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j-sub() (lib.python.kdoc.kdoc_re.KernRe method)"lib.python.kdoc.kdoc_re.KernRe.subhNtauh1hhjChhh}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.subhNubj)}(hhh](j)}(h KernRe.sub(sub, string, count=0)h](j)}(hsubh]hsub}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_re.KernRe.subhKubj)}(hsub, string, count=0h](j)}(hsubh]j)}(hsubh]hsub}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubj)}(hstringh]j)}(hstringh]hstring}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubj)}(hcount=0h](j)}(hcounth]hcount}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h=h]h=}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h0h]h0}(hj hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_rejFjjG KernRe.subjHjAKernResubjJ KernRe.sub()uh1jhjhKhjhhubjL)}(hhh]j)}(hAlias to re.sub.h]hAlias to re.sub.}(hjJhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjGhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pymethodeh"]h$]h&]jjajjbjjbj j j uh1jhhhjChjhNubeh}(h]h ]h"]h$]h&]uh1jKhjlhhhjhKubeh}(h]h ](pyclasseh"]h$]h&]jjojjpjjpj j j uh1jhhhj"hNhNubeh}(h](j? regular-expression-class-handlereh ]h"] regular expression class handlerah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h C tokenizerh]h C tokenizer}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhj|hhhhhKubh)}(hhh]h}(h]h ]h"]h$]h&]entries](hmodule; lib.python.kdoc.c_lexmodule-lib.python.kdoc.c_lexhNtauh1hhj|hhhn/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lexhNubj)}(h%Regular expression ancillary classes.h]h%Regular expression ancillary classes.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhj|hhubj)}(hFThose help caching regular expressions and do matching for kernel-doc.h]hFThose help caching regular expressions and do matching for kernel-doc.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhj|hhubj)}(hPlease notice that the code here may rise exceptions to indicate bad usage inside kdoc to indicate problems at the replace pattern.h]hPlease notice that the code here may rise exceptions to indicate bad usage inside kdoc to indicate problems at the replace pattern.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhj|hhubj)}(h)Other errors are logged via log instance.h]h)Other errors are logged via log instance.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhj|hhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j'CMatch (class in lib.python.kdoc.c_lex)lib.python.kdoc.c_lex.CMatchhNtauh1hhj|hhhNhNubj)}(hhh](j)}(hCMatch(regex, delim='(')h](j)}(h2[<#text: 'class'>, >]h](hclass}(hjhhhNhNubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhu/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CMatchhKubj)}(hlib.python.kdoc.c_lex.h]hlib.python.kdoc.c_lex.}(hj hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhj hKubj)}(hCMatchh]hCMatch}(hj hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhj hKubj)}(hregex, delim='('h](j)}(hregexh]j)}(hregexh]hregex}(hj* hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj& ubah}(h]h ]h"]h$]h&]hhuh1jhj" ubj)}(h delim='('h](j)}(hdelimh]hdelim}(hjB hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj> ubj)}(h=h]h=}(hjP hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj> ubj)}(h'('h]h'('}(hj^ hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj> ubeh}(h]h ]h"]h$]h&]hhuh1jhj" ubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhj hKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFhjGj jHj j jJj uh1jhj hKhjhhubjL)}(hhh](j)}(hBases: :py:class:`object`h](hBases: }(hj hhhNhNubh)}(h:py:class:`object`h]jO)}(hj h]hobject}(hj hhhNhNubah}(h]h ](jfpypy-classeh"]h$]h&]uh1jNhj ubah}(h]h ]h"]h$]h&]refdocjs refdomainj reftypeclass refexplicitrefwarnjyj jzj j{objectuh1hhn/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lexhKhj ubeh}(h]h ]h"]h$]h&]uh1jhu/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CMatchhKhj hhubj)}(hFinding nested delimiters is hard with regular expressions. It is even harder on Python with its normal re module, as there are several advanced regular expressions that are missing.h]hFinding nested delimiters is hard with regular expressions. It is even harder on Python with its normal re module, as there are several advanced regular expressions that are missing.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhu/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CMatchhKhj hhubj)}(h"This is the case of this pattern::h]h!This is the case of this pattern:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKhj hhubh literal_block)}(h2'\bSTRUCT_GROUP(\(((?:(?>[^)(]+)|(?1))*)\))[^;]*;'h]h2'\bSTRUCT_GROUP(\(((?:(?>[^)(]+)|(?1))*)\))[^;]*;'}hj sbah}(h]h ]h"]h$]h&]hhuh1j hj hKhj hhubj)}(h[which is used to properly match open/close parentheses of the string search STRUCT_GROUP(),h]h[which is used to properly match open/close parentheses of the string search STRUCT_GROUP(),}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hK hj hhubj)}(h^Add a class that counts pairs of delimiters, using it to match and replace nested expressions.h]h^Add a class that counts pairs of delimiters, using it to match and replace nested expressions.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hK hj hhubj)}(h'The original approach was suggested by:h]h'The original approach was suggested by:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKhj hhubj)}(h^https://stackoverflow.com/questions/5454322/python-how-to-match-nested-parentheses-with-regex h]j)}(h]https://stackoverflow.com/questions/5454322/python-how-to-match-nested-parentheses-with-regexh]h reference)}(hj h]h]https://stackoverflow.com/questions/5454322/python-how-to-match-nested-parentheses-with-regex}(hj hhhNhNubah}(h]h ]h"]h$]h&]refurij uh1j hj ubah}(h]h ]h"]h$]h&]uh1jhj hKhj ubah}(h]h ]h"]h$]h&]uh1jhj hKhj hhubj)}(hAlthough I re-implemented it to make it more generic and match 3 types of delimiters. The logic checks if delimiters are paired. If not, it will ignore the search string.h]hAlthough I re-implemented it to make it more generic and match 3 types of delimiters. The logic checks if delimiters are paired. If not, it will ignore the search string.}(hj/ hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKhj hhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j.search() (lib.python.kdoc.c_lex.CMatch method)#lib.python.kdoc.c_lex.CMatch.searchhNtauh1hhj hhh|/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CMatch.searchhNubj)}(hhh](j)}(hCMatch.search(source)h](j)}(hsearchh]hsearch}(hjS hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjO hhh|/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CMatch.searchhKubj)}(hsourceh]j)}(hsourceh]j)}(hsourceh]hsource}(hjj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjf ubah}(h]h ]h"]h$]h&]hhuh1jhjb ubah}(h]h ]h"]h$]h&]hhuh1jhjO hhhja hKubeh}(h]jI ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CMatch.searchjHj CMatchsearchjJCMatch.search()uh1jhja hKhjL hhubjL)}(hhh](j)}(hThis is similar to re.search:h]hThis is similar to re.search:}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjK hKhj hhubj)}(hoIt matches a regex that it is followed by a delimiter, returning occurrences only if all delimiters are paired.h]hoIt matches a regex that it is followed by a delimiter, returning occurrences only if all delimiters are paired.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjK hKhj hhubeh}(h]h ]h"]h$]h&]uh1jKhjL hhhja hKubeh}(h]h ](pymethodeh"]h$]h&]jj jj jj j j j uh1jhhhj hjK hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j+sub() (lib.python.kdoc.c_lex.CMatch method) lib.python.kdoc.c_lex.CMatch.subhNtauh1hhj hhhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CMatch.subhNubj)}(hhh](j)}(h$CMatch.sub(sub_str, source, count=0)h](j)}(hsubh]hsub}(hj hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj hhhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CMatch.subhKubj)}(hsub_str, source, count=0h](j)}(hsub_strh]j)}(hsub_strh]hsub_str}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]hhuh1jhj ubj)}(hsourceh]j)}(hsourceh]hsource}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubah}(h]h ]h"]h$]h&]hhuh1jhj ubj)}(hcount=0h](j)}(hcounth]hcount}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h=h]h=}(hj( hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h0h]h0}(hj6 hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj ubeh}(h]h ]h"]h$]h&]hhuh1jhj ubeh}(h]h ]h"]h$]h&]hhuh1jhj hhhj hKubeh}(h]j ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CMatch.subjHjW CMatchsubjJ CMatch.sub()uh1jhj hKhj hhubjL)}(hhh](j)}(hThis is similar to re.sub:h]hThis is similar to re.sub:}(hj` hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKhj] hhubj)}(hoIt matches a regex that it is followed by a delimiter, replacing occurrences only if all delimiters are paired.h]hoIt matches a regex that it is followed by a delimiter, replacing occurrences only if all delimiters are paired.}(hjn hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKhj] hhubj)}(hif the sub argument contains::h]hif the sub argument contains:}(hj| hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKhj] hhubj )}(hr''h]hr''}hj sbah}(h]h ]h"]h$]h&]hhuh1j hj hKhj] hhubj)}(h_it will work just like re: it places there the matched paired data with the delimiter stripped.h]h_it will work just like re: it places there the matched paired data with the delimiter stripped.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hK hj] hhubj)}(hEIf count is different than zero, it will replace at most count items.h]hEIf count is different than zero, it will replace at most count items.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hK hj] hhubeh}(h]h ]h"]h$]h&]uh1jKhj hhhj hKubeh}(h]h ](pymethodeh"]h$]h&]jj jj jj j j j uh1jhhhj hj hNubeh}(h]h ]h"]h$]h&]uh1jKhjhhhj hKubeh}(h]h ](pyclasseh"]h$]h&]jj jj jj j j j uh1jhhhj|hNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j'CToken (class in lib.python.kdoc.c_lex)lib.python.kdoc.c_lex.CTokenhNtauh1hhj|hhhNhNubj)}(hhh](j)}(hNCToken(kind, value=None, pos=0, brace_level=0, paren_level=0, bracket_level=0)h](j)}(h2[<#text: 'class'>, >]h](hclass}(hj hhhNhNubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]hhuh1jhj hhhu/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenhKubj)}(hlib.python.kdoc.c_lex.h]hlib.python.kdoc.c_lex.}(hj hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj hhhj hKubj)}(hCTokenh]hCToken}(hj hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj hhhj hKubj)}(hFkind, value=None, pos=0, brace_level=0, paren_level=0, bracket_level=0h](j)}(hkindh]j)}(hkindh]hkind}(hj& hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj" ubah}(h]h ]h"]h$]h&]hhuh1jhj ubj)}(h value=Noneh](j)}(hvalueh]hvalue}(hj> hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj: ubj)}(h=h]h=}(hjL hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj: ubj)}(hNoneh]hNone}(hjZ hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj: ubeh}(h]h ]h"]h$]h&]hhuh1jhj ubj)}(hpos=0h](j)}(hposh]hpos}(hjs hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjo ubj)}(h=h]h=}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjo ubj)}(h0h]h0}(hj hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhjo ubeh}(h]h ]h"]h$]h&]hhuh1jhj ubj)}(h brace_level=0h](j)}(h brace_levelh]h brace_level}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h=h]h=}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h0h]h0}(hj hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj ubeh}(h]h ]h"]h$]h&]hhuh1jhj ubj)}(h paren_level=0h](j)}(h paren_levelh]h paren_level}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h=h]h=}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h0h]h0}(hj hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj ubeh}(h]h ]h"]h$]h&]hhuh1jhj ubj)}(hbracket_level=0h](j)}(h bracket_levelh]h bracket_level}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h=h]h=}(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj)}(h0h]h0}(hj. hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj ubeh}(h]h ]h"]h$]h&]hhuh1jhj ubeh}(h]h ]h"]h$]h&]hhuh1jhj hhhj hKubeh}(h]j ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFhjGj jHjO j jJj uh1jhj hKhj hhubjL)}(hhh](j)}(hBases: :py:class:`object`h](hBases: }(hjT hhhNhNubh)}(h:py:class:`object`h]jO)}(hj^ h]hobject}(hj` hhhNhNubah}(h]h ](jfpypy-classeh"]h$]h&]uh1jNhj\ ubah}(h]h ]h"]h$]h&]refdocjs refdomainjj reftypeclass refexplicitrefwarnjyjO jzj j{objectuh1hhj hKhjT ubeh}(h]h ]h"]h$]h&]uh1jhu/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenhKhjQ hhubj)}(hData class to define a C token.h]hData class to define a C token.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhu/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenhKhjQ hhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j0BACKREF (lib.python.kdoc.c_lex.CToken attribute)$lib.python.kdoc.c_lex.CToken.BACKREFhNtauh1hhjQ hhh1docstring of lib.python.kdoc.c_lex.CToken.BACKREFhNubj)}(hhh](j)}(hCToken.BACKREFh](j)}(hBACKREFh]hBACKREF}(hj hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj hhh}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.BACKREFhKubj)}(h17h](j)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubhdesc_sig_punctuation)}(h=h]h=}(hj hhhNhNubah}(h]h ]pah"]h$]h&]uh1j hj ubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubh17}(hj hhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhj hhhj hKubeh}(h]j ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jGCToken.BACKREFjHj CTokenBACKREFjJj uh1jhj hKhj hhubjL)}(hhh]j)}(h7Not a valid C sequence, but used at sub regex patterns.h]h7Not a valid C sequence, but used at sub regex patterns.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj hKhj hhubah}(h]h ]h"]h$]h&]uh1jKhj hhhj hKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hj hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j.BEGIN (lib.python.kdoc.c_lex.CToken attribute)"lib.python.kdoc.c_lex.CToken.BEGINhNtauh1hhjQ hhh/docstring of lib.python.kdoc.c_lex.CToken.BEGINhNubj)}(hhh](j)}(h CToken.BEGINh](j)}(hBEGINh]hBEGIN}(hj2hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj.hhh{/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.BEGINhKubj)}(h5h](j)}(h h]h }(hjEhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjAubj )}(h=h]h=}(hjShhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjAubj)}(h h]h }(hjahhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjAubh5}(hjAhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhj.hhhj@hKubeh}(h]j(ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.BEGINjHjCTokenBEGINjJjuh1jhj@hKhj+hhubjL)}(hhh]j)}(h)A begin character: ``{`` / ``[`` / ``(``.h](hA begin character: }(hjhhhNhNubjO)}(h``{``h]h{}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh / }(hjhhhNhNubjO)}(h``[``h]h[}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh / }hjsbjO)}(h``(``h]h(}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj*hKhjhhubah}(h]h ]h"]h$]h&]uh1jKhj+hhhj@hKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hj*hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j-CHAR (lib.python.kdoc.c_lex.CToken attribute)!lib.python.kdoc.c_lex.CToken.CHARhNtauh1hhjQ hhh.docstring of lib.python.kdoc.c_lex.CToken.CHARhNubj)}(hhh](j)}(h CToken.CHARh](j)}(hCHARh]hCHAR}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhz/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.CHARhKubj)}(h2h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh2}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.CHARjHj<CTokenCHARjJj=uh1jhjhKhjhhubjL)}(hhh]j)}(h"A character, including apostophes.h]h"A character, including apostophes.}(hjDhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjAhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jj[jj\jj\j j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j0COMMENT (lib.python.kdoc.c_lex.CToken attribute)$lib.python.kdoc.c_lex.CToken.COMMENThNtauh1hhjQ hhh1docstring of lib.python.kdoc.c_lex.CToken.COMMENThNubj)}(hhh](j)}(hCToken.COMMENTh](j)}(hCOMMENTh]hCOMMENT}(hjvhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjrhhh}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.COMMENThKubj)}(h0h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh0}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjrhhhjhKubeh}(h]jlah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jGCToken.COMMENTjHjCTokenCOMMENTjJjuh1jhjhKhjohhubjL)}(hhh]j)}(h1A standard C or C99 comment, including delimiter.h]h1A standard C or C99 comment, including delimiter.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjnhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjohhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hjnhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j,CPP (lib.python.kdoc.c_lex.CToken attribute) lib.python.kdoc.c_lex.CToken.CPPhNtauh1hhjQ hhh-docstring of lib.python.kdoc.c_lex.CToken.CPPhNubj)}(hhh](j)}(h CToken.CPPh](j)}(hCPPh]hCPP}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.CPPhKubj)}(h7h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj ubj)}(h h]h }(hj,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubh7}(hj hhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhj hKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.CPPjHjJCTokenCPPjJjKuh1jhj hKhjhhubjL)}(hhh]j)}(hA preprocessor macro.h]hA preprocessor macro.}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjOhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhj hKubeh}(h]h ](py attributeeh"]h$]h&]jjijjjjjjj j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j,END (lib.python.kdoc.c_lex.CToken attribute) lib.python.kdoc.c_lex.CToken.ENDhNtauh1hhjQ hhh-docstring of lib.python.kdoc.c_lex.CToken.ENDhNubj)}(hhh](j)}(h CToken.ENDh](j)}(hENDh]hEND}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.ENDhKubj)}(h6h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh6}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jzah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.ENDjHjCTokenENDjJjuh1jhjhKhj}hhubjL)}(hhh]j)}(h'A end character: ``}`` / ``]`` / ``)``.h](hA end character: }(hjhhhNhNubjO)}(h``}``h]h}}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh / }(hjhhhNhNubjO)}(h``]``h]h]}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh / }hjsbjO)}(h``)``h]h)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj|hKhjhhubah}(h]h ]h"]h$]h&]uh1jKhj}hhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jj&jj'jj'j j j uh1jhhhjQ hj|hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j0ENDSTMT (lib.python.kdoc.c_lex.CToken attribute)$lib.python.kdoc.c_lex.CToken.ENDSTMThNtauh1hhjQ hhh1docstring of lib.python.kdoc.c_lex.CToken.ENDSTMThNubj)}(hhh](j)}(hCToken.ENDSTMTh](j)}(hENDSTMTh]hENDSTMT}(hjAhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj=hhh}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.ENDSTMThKubj)}(h16h](j)}(h h]h }(hjThhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPubj )}(h=h]h=}(hjbhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjPubj)}(h h]h }(hjphhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjPubh16}(hjPhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhj=hhhjOhKubeh}(h]j7ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jGCToken.ENDSTMTjHjCTokenENDSTMTjJjuh1jhjOhKhj:hhubjL)}(hhh]j)}(hEnd of an statement (``;``).h](hEnd of an statement (}(hjhhhNhNubjO)}(h``;``h]h;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh).}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj9hKhjhhubah}(h]h ]h"]h$]h&]uh1jKhj:hhhjOhKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hj9hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j-ENUM (lib.python.kdoc.c_lex.CToken attribute)!lib.python.kdoc.c_lex.CToken.ENUMhNtauh1hhjQ hhh.docstring of lib.python.kdoc.c_lex.CToken.ENUMhNubj)}(hhh](j)}(h CToken.ENUMh](j)}(hENUMh]hENUM}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhz/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.ENUMhKubj)}(h12h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh12}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.ENUMjHj'CTokenENUMjJj(uh1jhjhKhjhhubjL)}(hhh]j)}(hA ``struct`` keyword.h](hA }(hj/hhhNhNubjO)}(h ``struct``h]hstruct}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj/ubh keyword.}(hj/hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjhKhj,hhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jjXjjYjjYj j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j-HASH (lib.python.kdoc.c_lex.CToken attribute)!lib.python.kdoc.c_lex.CToken.HASHhNtauh1hhjQ hhh.docstring of lib.python.kdoc.c_lex.CToken.HASHhNubj)}(hhh](j)}(h CToken.HASHh](j)}(hHASHh]hHASH}(hjshhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjohhhz/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.HASHhKubj)}(h8h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh8}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjohhhjhKubeh}(h]jiah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.HASHjHjCTokenHASHjJjuh1jhjhKhjlhhubjL)}(hhh]j)}(h3The hash character - useful to handle other macros.h]h3The hash character - useful to handle other macros.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjkhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjlhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hjkhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j1MISMATCH (lib.python.kdoc.c_lex.CToken attribute)%lib.python.kdoc.c_lex.CToken.MISMATCHhNtauh1hhjQ hhh2docstring of lib.python.kdoc.c_lex.CToken.MISMATCHhNubj)}(hhh](j)}(hCToken.MISMATCHh](j)}(hMISMATCHh]hMISMATCH}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh~/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.MISMATCHhKubj)}(h255h](j)}(h h]h }(hj hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj ubj)}(h h]h }(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj ubh255}(hj hhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jGCToken.MISMATCHjHjGCTokenMISMATCHjJjHuh1jhjhKhjhhubjL)}(hhh]j)}(h4an error indicator: should never happen in practice.h]h4an error indicator: should never happen in practice.}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjLhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jjfjjgjjgj j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j-NAME (lib.python.kdoc.c_lex.CToken attribute)!lib.python.kdoc.c_lex.CToken.NAMEhNtauh1hhjQ hhh.docstring of lib.python.kdoc.c_lex.CToken.NAMEhNubj)}(hhh](j)}(h CToken.NAMEh](j)}(hNAMEh]hNAME}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj}hhhz/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.NAMEhKubj)}(h14h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh14}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhj}hhhjhKubeh}(h]jwah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.NAMEjHjCTokenNAMEjJjuh1jhjhKhjzhhubjL)}(hhh]j)}(hA name. Can be an ID or a type.h]hA name. Can be an ID or a type.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjyhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjzhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hjyhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j/NUMBER (lib.python.kdoc.c_lex.CToken attribute)#lib.python.kdoc.c_lex.CToken.NUMBERhNtauh1hhjQ hhh0docstring of lib.python.kdoc.c_lex.CToken.NUMBERhNubj)}(hhh](j)}(h CToken.NUMBERh](j)}(hNUMBERh]hNUMBER}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh|/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.NUMBERhKubj)}(h3h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hj)hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh3}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.NUMBERjHjUCTokenNUMBERjJjVuh1jhjhKhjhhubjL)}(hhh]j)}(h A number.h]h A number.}(hj]hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjZhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jjtjjujjuj j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j+OP (lib.python.kdoc.c_lex.CToken attribute)lib.python.kdoc.c_lex.CToken.OPhNtauh1hhjQ hhh,docstring of lib.python.kdoc.c_lex.CToken.OPhNubj)}(hhh](j)}(h CToken.OPh](j)}(hOPh]hOP}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhx/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.OPhKubj)}(h9h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh9}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.OPjHjCTokenOPjJjuh1jhjhKhjhhubjL)}(hhh]j)}(h"A C operator (add, subtract, ...).h]h"A C operator (add, subtract, ...).}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j-PUNC (lib.python.kdoc.c_lex.CToken attribute)!lib.python.kdoc.c_lex.CToken.PUNChNtauh1hhjQ hhh.docstring of lib.python.kdoc.c_lex.CToken.PUNChNubj)}(hhh](j)}(h CToken.PUNCh](j)}(hPUNCh]hPUNC}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhz/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.PUNChKubj)}(h4h](j)}(h h]h }(hj)hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%ubj )}(h=h]h=}(hj7hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj%ubj)}(h h]h }(hjEhhhNhNubah}(h]h ]ja/h"]h$]h&]uh1jhj%ubh4}(hj%hhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhj$hKubeh}(h]j ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.PUNCjHjcCTokenPUNCjJjduh1jhj$hKhjhhubjL)}(hhh]j)}(h#A puntuation mark: / ``,`` / ``.``.h](hA puntuation mark: / }(hjkhhhNhNubjO)}(h``,``h]h,}(hjshhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjkubh / }(hjkhhhNhNubjO)}(h``.``h]h.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjkubh.}(hjkhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjhKhjhhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhj$hKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j.SPACE (lib.python.kdoc.c_lex.CToken attribute)"lib.python.kdoc.c_lex.CToken.SPACEhNtauh1hhjQ hhh/docstring of lib.python.kdoc.c_lex.CToken.SPACEhNubj)}(hhh](j)}(h CToken.SPACEh](j)}(hSPACEh]hSPACE}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh{/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.SPACEhKubj)}(h15h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh15}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.SPACEjHjCTokenSPACEjJjuh1jhjhKhjhhubjL)}(hhh]j)}(h)Any space characters, including new linesh]h)Any space characters, including new lines}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jj-jj.jj.j j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j/STRING (lib.python.kdoc.c_lex.CToken attribute)#lib.python.kdoc.c_lex.CToken.STRINGhNtauh1hhjQ hhh0docstring of lib.python.kdoc.c_lex.CToken.STRINGhNubj)}(hhh](j)}(h CToken.STRINGh](j)}(hSTRINGh]hSTRING}(hjHhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjDhhh|/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.STRINGhKubj)}(h1h](j)}(h h]h }(hj[hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjWubj )}(h=h]h=}(hjihhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjWubj)}(h h]h }(hjwhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjWubh1}(hjWhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjDhhhjVhKubeh}(h]j>ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.STRINGjHjCTokenSTRINGjJjuh1jhjVhKhjAhhubjL)}(hhh]j)}(h$A string, including quotation marks.h]h$A string, including quotation marks.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj@hKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjAhhhjVhKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hj@hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j/STRUCT (lib.python.kdoc.c_lex.CToken attribute)#lib.python.kdoc.c_lex.CToken.STRUCThNtauh1hhjQ hhh0docstring of lib.python.kdoc.c_lex.CToken.STRUCThNubj)}(hhh](j)}(h CToken.STRUCTh](j)}(hSTRUCTh]hSTRUCT}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh|/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.STRUCThKubj)}(h10h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh10}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.STRUCTjHjCTokenSTRUCTjJjuh1jhjhKhjhhubjL)}(hhh]j)}(hA ``struct`` keyword.h](hA }(hj$hhhNhNubjO)}(h ``struct``h]hstruct}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj$ubh keyword.}(hj$hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjhKhj!hhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jjMjjNjjNj j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j0TYPEDEF (lib.python.kdoc.c_lex.CToken attribute)$lib.python.kdoc.c_lex.CToken.TYPEDEFhNtauh1hhjQ hhh1docstring of lib.python.kdoc.c_lex.CToken.TYPEDEFhNubj)}(hhh](j)}(hCToken.TYPEDEFh](j)}(hTYPEDEFh]hTYPEDEF}(hjhhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjdhhh}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.TYPEDEFhKubj)}(h13h](j)}(h h]h }(hj{hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjwubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjwubh13}(hjwhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjdhhhjvhKubeh}(h]j^ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jGCToken.TYPEDEFjHjCTokenTYPEDEFjJjuh1jhjvhKhjahhubjL)}(hhh]j)}(hA ``typedef`` keyword.h](hA }(hjhhhNhNubjO)}(h ``typedef``h]htypedef}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh keyword.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj`hKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjahhhjvhKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hj`hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j.UNION (lib.python.kdoc.c_lex.CToken attribute)"lib.python.kdoc.c_lex.CToken.UNIONhNtauh1hhjQ hhh/docstring of lib.python.kdoc.c_lex.CToken.UNIONhNubj)}(hhh](j)}(h CToken.UNIONh](j)}(hUNIONh]hUNION}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh{/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.UNIONhKubj)}(h11h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hj"hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubh11}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jG CToken.UNIONjHjNCTokenUNIONjJjOuh1jhjhKhjhhubjL)}(hhh]j)}(hAn ``union`` keyword.h](hAn }(hjVhhhNhNubjO)}(h ``union``h]hunion}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjVubh keyword.}(hjVhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjhKhjShhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](py attributeeh"]h$]h&]jjjjjjj j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j8from_name() (lib.python.kdoc.c_lex.CToken static method)&lib.python.kdoc.c_lex.CToken.from_namehNtauh1hhjQ hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.from_namehNubj)}(hhh](j)}(hCToken.from_name(name)h](j)}(h3[<#text: 'static'>, >]h](hstatic}(hjhhhNhNubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.from_namehKubj)}(h from_nameh]h from_name}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhKubj)}(hnameh]j)}(hnameh]j)}(hnameh]hname}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jGCToken.from_namejHjCToken from_namejJCToken.from_name()uh1jhjhKhjhhubjL)}(hhh]j)}(h)Convert a string into a CToken enum valueh]h)Convert a string into a CToken enum value}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pymethodeh"]h$]h&]jj jjjjj j j uh1jhhhjQ hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j6to_name() (lib.python.kdoc.c_lex.CToken static method)$lib.python.kdoc.c_lex.CToken.to_namehNtauh1hhjQ hhh}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.to_namehNubj)}(hhh](j)}(hCToken.to_name(val)h](j)}(h3[<#text: 'static'>, >]h](hstatic}(hj(hhhNhNubj)}(h h]h }(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj(ubeh}(h]h ]h"]h$]h&]hhuh1jhj$hhh}/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CToken.to_namehKubj)}(hto_nameh]hto_name}(hjEhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj$hhhjDhKubj)}(hvalh]j)}(hvalh]j)}(hvalh]hval}(hj[hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjWubah}(h]h ]h"]h$]h&]hhuh1jhjSubah}(h]h ]h"]h$]h&]hhuh1jhj$hhhjDhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFj jGCToken.to_namejHj{CTokento_namejJCToken.to_name()uh1jhjDhKhj!hhubjL)}(hhh]j)}(h, >]h](hclass}(hjhhhNhNubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenArgshKubj)}(hlib.python.kdoc.c_lex.h]hlib.python.kdoc.c_lex.}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhKubj)}(h CTokenArgsh]h CTokenArgs}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhKubj)}(hsub_strh]j)}(hsub_strh]j)}(hsub_strh]hsub_str}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFhjGjjHj$jjJjuh1jhjhKhjhhubjL)}(hhh](j)}(hBases: :py:class:`object`h](hBases: }(hj)hhhNhNubh)}(h:py:class:`object`h]jO)}(hj3h]hobject}(hj5hhhNhNubah}(h]h ](jfpypy-classeh"]h$]h&]uh1jNhj1ubah}(h]h ]h"]h$]h&]refdocjs refdomainj?reftypeclass refexplicitrefwarnjyj$jzjj{objectuh1hhj hKhj)ubeh}(h]h ]h"]h$]h&]uh1jhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenArgshKhj&hhubj)}(h8Ancillary class to help using backrefs from sub matches.h]h8Ancillary class to help using backrefs from sub matches.}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1jhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenArgshKhj&hhubj)}(hmIf the highest backref contain a "+" at the last element, the logic will be greedy, picking all other delims.h]hqIf the highest backref contain a “+” at the last element, the logic will be greedy, picking all other delims.}(hjghhhNhNubah}(h]h ]h"]h$]h&]uh1jhjfhKhj&hhubj)}(hIThis is needed to parse struct_group macros with end with ``MEMBERS...``.h](h:This is needed to parse struct_group macros with end with }(hjuhhhNhNubjO)}(h``MEMBERS...``h]h MEMBERS...}(hj}hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjuubh.}(hjuhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjfhKhj&hhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j2groups() (lib.python.kdoc.c_lex.CTokenArgs method)'lib.python.kdoc.c_lex.CTokenArgs.groupshNtauh1hhj&hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenArgs.groupshNubj)}(hhh](j)}(h CTokenArgs.groups(new_tokenizer)h](j)}(hgroupsh]hgroups}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenArgs.groupshKubj)}(h new_tokenizerh]j)}(h new_tokenizerh]j)}(h new_tokenizerh]h new_tokenizer}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFjjGCTokenArgs.groupsjHj CTokenArgsgroupsjJCTokenArgs.groups()uh1jhjhKhjhhubjL)}(hhh](j)}(h/Create replacement arguments for backrefs like:h]h/Create replacement arguments for backrefs like:}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubj)}(h)``\0``, ``\1``, ``\2``, ... ``\{number}``h](jO)}(h``\0``h]h\0}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh, }(hjhhhNhNubjO)}(h``\1``h]h\1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh, }hjsbjO)}(h``\2``h]h\2}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh, ... }(hjhhhNhNubjO)}(h ``\{number}``h]h \{number}}(hj3hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubeh}(h]h ]h"]h$]h&]uh1jhjhKhjhhubj)}(hIt also accepts a ``+`` character to the highest backref, like ``\4+``. When used, the backref will be greedy, picking all other arguments afterwards.h](hIt also accepts a }(hjGhhhNhNubjO)}(h``+``h]h+}(hjOhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjGubh( character to the highest backref, like }(hjGhhhNhNubjO)}(h``\4+``h]h\4+}(hjahhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjGubhP. When used, the backref will be greedy, picking all other arguments afterwards.}(hjGhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjhKhjhhubj)}(haThe logic is smart enough to only go up to the maximum required argument, even if there are more.h]haThe logic is smart enough to only go up to the maximum required argument, even if there are more.}(hjyhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhK hjhhubj)}(hIf there is a backref for an argument above the limit, it will raise an exception. Please notice that, on C, square brackets don't have any separator on it. Trying to use ``\1``..``\n`` for brackets also raise an exception.h](hIf there is a backref for an argument above the limit, it will raise an exception. Please notice that, on C, square brackets don’t have any separator on it. Trying to use }(hjhhhNhNubjO)}(h``\1``h]h\1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjubh...``n`` for brackets also raise an exception.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjhK hjhhubeh}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pymethodeh"]h$]h&]jjjjjjj j j uh1jhhhj&hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j2tokens() (lib.python.kdoc.c_lex.CTokenArgs method)'lib.python.kdoc.c_lex.CTokenArgs.tokenshNtauh1hhj&hhhNhNubj)}(hhh](j)}(h CTokenArgs.tokens(new_tokenizer)h](j)}(htokensh]htokens}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenArgs.tokenshKubj)}(h new_tokenizerh]j)}(h new_tokenizerh]j)}(h new_tokenizerh]h new_tokenizer}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFjjGCTokenArgs.tokensjHj CTokenArgstokensjJCTokenArgs.tokens()uh1jhjhKhjhhubjL)}(hhh]h}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pymethodeh"]h$]h&]jjjjjjj j j uh1jhhhj&hNhNubeh}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pyclasseh"]h$]h&]jj!jj"jj"j j j uh1jhhhj|hNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j+CTokenizer (class in lib.python.kdoc.c_lex) lib.python.kdoc.c_lex.CTokenizerhNtauh1hhj|hhhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenizerhNubj)}(hhh](j)}(hCTokenizer(source=None)h](j)}(h2[<#text: 'class'>, >]h](hclass}(hj<hhhNhNubj)}(h h]h }(hjDhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubeh}(h]h ]h"]h$]h&]hhuh1jhj8hhhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenizerhKubj)}(hlib.python.kdoc.c_lex.h]hlib.python.kdoc.c_lex.}(hjYhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj8hhhjXhKubj)}(h CTokenizerh]h CTokenizer}(hjghhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj8hhhjXhKubj)}(h source=Noneh]j)}(h source=Noneh](j)}(hsourceh]hsource}(hj}hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjyubj)}(h=h]h=}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjyubj)}(hNoneh]hNone}(hjhhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhjyubeh}(h]h ]h"]h$]h&]hhuh1jhjuubah}(h]h ]h"]h$]h&]hhuh1jhj8hhhjXhKubeh}(h]j2ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFhjGjijHjjijJjiuh1jhjXhKhj5hhubjL)}(hhh](j)}(hBases: :py:class:`object`h](hBases: }(hjhhhNhNubh)}(h:py:class:`object`h]jO)}(hjh]hobject}(hjhhhNhNubah}(h]h ](jfpypy-classeh"]h$]h&]uh1jNhjubah}(h]h ]h"]h$]h&]refdocjs refdomainjreftypeclass refexplicitrefwarnjyjjzjij{objectuh1hhj hKhjubeh}(h]h ]h"]h$]h&]uh1jhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.CTokenizerhKhjhhubj)}(h5Scan C statements and definitions and produce tokens.h]h5Scan C statements and definitions and produce tokens.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4hKhjhhubj)}(h_When converted to string, it drops comments and handle public/private values, respecting depth.h]h_When converted to string, it drops comments and handle public/private values, respecting depth.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj4hKhjhhubeh}(h]h ]h"]h$]h&]uh1jKhj5hhhjXhKubeh}(h]h ](pyclasseh"]h$]h&]jjjjjjj j j uh1jhhhj|hj4hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j)RE_CONT (in module lib.python.kdoc.c_lex)lib.python.kdoc.c_lex.RE_CONThNtauh1hhj|hhh*docstring of lib.python.kdoc.c_lex.RE_CONThNubj)}(hhh](j)}(hRE_CONTh](j)}(hlib.python.kdoc.c_lex.h]hlib.python.kdoc.c_lex.}(hj.hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj*hhhv/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.RE_CONThKubj)}(hj,h]hRE_CONT}(hj=hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj*hhhj<hKubj)}(hKernRe("\\\n" )h](j)}(h h]h }(hjNhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubj )}(h=h]h=}(hj\hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjJubj)}(h h]h }(hjjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjJubhKernRe("\\\n" )}(hjJhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhj*hhhj<hKubeh}(h]j$ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFhjGj,jHjj,jJj,uh1jhj<hKhj'hhubjL)}(hhh]j)}(hHandle C continuation lines.h]hHandle C continuation lines.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhj&hKhjhhubah}(h]h ]h"]h$]h&]uh1jKhj'hhhj<hKubeh}(h]h ](pydataeh"]h$]h&]jjjjjjj j j uh1jhhhj|hj&hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j,RE_SCANNER (in module lib.python.kdoc.c_lex) lib.python.kdoc.c_lex.RE_SCANNERhNtauh1hhj|hhh-docstring of lib.python.kdoc.c_lex.RE_SCANNERhNubj)}(hhh](j)}(h RE_SCANNERh](j)}(hlib.python.kdoc.c_lex.h]hlib.python.kdoc.c_lex.}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhy/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.RE_SCANNERhKubj)}(hjh]h RE_SCANNER}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhKubj)}(hXKernRe("(?P//[^\n]*|/\*[\s\S]*?\*/)|(?P"(?:\\.|[^"\" "\])*")|(?P'(?:\\.|[^'\\])')|(?P0[xX][\da-fA-F]" "+[uUlL]*|0[0-7]+[uUlL]*|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?[fFlL]" "*)|(?P(?:\s+;|;))|(?P[,\.])|(?P[\[\(\{" "])|(?P[\]\)\}])|(?P#\s*(?:define|include|ifdef|ifn" "def|if|else|elif|endif|undef|pragma)\b)|(?P#)|(?P\" "+\+|\-\-|\->|==|\!=|<=|>=|&&|\|\||<<|>>|\+=|\-=|\*=|/=|%=|&=" "|\|=|\^=|[=\+\-\*/%<>&\|\^~!\?\:])|(?P\bstruct\b)|(?" "P\bunion\b)|(?P\benum\b)|(?P\btypedef\" "b)|(?P[A-Za-z_]\w*)|(?P\s+)|(?P\\\d+)|" "(?P.)" )h](j)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj )}(h=h]h=}(hjhhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubhXKernRe("(?P//[^\n]*|/\*[\s\S]*?\*/)|(?P"(?:\\.|[^"\" "\])*")|(?P'(?:\\.|[^'\\])')|(?P0[xX][\da-fA-F]" "+[uUlL]*|0[0-7]+[uUlL]*|\d+(?:\.\d*)?(?:[eE][+-]?\d+)?[fFlL]" "*)|(?P(?:\s+;|;))|(?P[,\.])|(?P[\[\(\{" "])|(?P[\]\)\}])|(?P#\s*(?:define|include|ifdef|ifn" "def|if|else|elif|endif|undef|pragma)\b)|(?P#)|(?P\" "+\+|\-\-|\->|==|\!=|<=|>=|&&|\|\||<<|>>|\+=|\-=|\*=|/=|%=|&=" "|\|=|\^=|[=\+\-\*/%<>&\|\^~!\?\:])|(?P\bstruct\b)|(?" "P\bunion\b)|(?P\benum\b)|(?P\btypedef\" "b)|(?P[A-Za-z_]\w*)|(?P\s+)|(?P\\\d+)|" "(?P.)" )}(hjhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFhjGjjHjjjJjuh1jhjhKhjhhubjL)}(hhh]j)}(h>tokenizer regex. Will be filled at the first CTokenizer usage.h]h>tokenizer regex. Will be filled at the first CTokenizer usage.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pydataeh"]h$]h&]jj5jj6jj6j j j uh1jhhhj|hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j1RE_SCANNER_LIST (in module lib.python.kdoc.c_lex)%lib.python.kdoc.c_lex.RE_SCANNER_LISThNtauh1hhj|hhh2docstring of lib.python.kdoc.c_lex.RE_SCANNER_LISThNubj)}(hhh](j)}(hRE_SCANNER_LISTh](j)}(hlib.python.kdoc.c_lex.h]hlib.python.kdoc.c_lex.}(hjPhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjLhhh~/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.RE_SCANNER_LISThKubj)}(hjNh]hRE_SCANNER_LIST}(hj_hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjLhhhj^hKubj)}(hXt[(0, '//[^\\n]*|/\\*[\\s\\S]*?\\*/'), (1, '"(?:\\\\.|[^"\\\\])*"'), (2, "'(?:\\\\.|[^'\\\\])'"), (3, '0[xX][\\da-fA-F]+[uUlL]*|0[0-7]+[uUlL]*|\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?[fFlL]*'), (16, '(?:\\s+;|;)'), (4, '[,\\.]'), (5, '[\\[\\(\\{]'), (6, '[\\]\\)\\}]'), (7, '#\\s*(?:define|include|ifdef|ifndef|if|else|elif|endif|undef|pragma)\\b'), (8, '#'), (9, '\\+\\+|\\-\\-|\\->|==|\\!=|<=|>=|&&|\\|\\||<<|>>|\\+=|\\-=|\\*=|/=|%=|&=|\\|=|\\^=|[=\\+\\-\\*/%<>&\\|\\^~!\\?\\:]'), (10, '\\bstruct\\b'), (11, '\\bunion\\b'), (12, '\\benum\\b'), (13, '\\btypedef\\b'), (14, '[A-Za-z_]\\w*'), (15, '\\s+'), (17, '\\\\\\d+'), (255, '.')]h](j)}(h h]h }(hjphhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjlubj )}(h=h]h=}(hj~hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjlubj)}(h h]h }(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjlubhXt[(0, '//[^\\n]*|/\\*[\\s\\S]*?\\*/'), (1, '"(?:\\\\.|[^"\\\\])*"'), (2, "'(?:\\\\.|[^'\\\\])'"), (3, '0[xX][\\da-fA-F]+[uUlL]*|0[0-7]+[uUlL]*|\\d+(?:\\.\\d*)?(?:[eE][+-]?\\d+)?[fFlL]*'), (16, '(?:\\s+;|;)'), (4, '[,\\.]'), (5, '[\\[\\(\\{]'), (6, '[\\]\\)\\}]'), (7, '#\\s*(?:define|include|ifdef|ifndef|if|else|elif|endif|undef|pragma)\\b'), (8, '#'), (9, '\\+\\+|\\-\\-|\\->|==|\\!=|<=|>=|&&|\\|\\||<<|>>|\\+=|\\-=|\\*=|/=|%=|&=|\\|=|\\^=|[=\\+\\-\\*/%<>&\\|\\^~!\\?\\:]'), (10, '\\bstruct\\b'), (11, '\\bunion\\b'), (12, '\\benum\\b'), (13, '\\btypedef\\b'), (14, '[A-Za-z_]\\w*'), (15, '\\s+'), (17, '\\\\\\d+'), (255, '.')]}(hjlhhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhjLhhhj^hKubeh}(h]jFah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFhjGjNjHjjNjJjNuh1jhj^hKhjIhhubjL)}(hhh]j)}(h5Regexes to parse C code, transforming it into tokens.h]h5Regexes to parse C code, transforming it into tokens.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjHhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjIhhhj^hKubeh}(h]h ](pydataeh"]h$]h&]jjjjjjj j j uh1jhhhj|hjHhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j3fill_re_scanner() (in module lib.python.kdoc.c_lex)%lib.python.kdoc.c_lex.fill_re_scannerhNtauh1hhj|hhh~/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.fill_re_scannerhNubj)}(hhh](j)}(hfill_re_scanner(token_list)h](j)}(hlib.python.kdoc.c_lex.h]hlib.python.kdoc.c_lex.}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhh~/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.fill_re_scannerhKubj)}(hfill_re_scannerh]hfill_re_scanner}(hjhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjhhhjhKubj)}(h token_listh]j)}(h token_listh]j)}(h token_listh]h token_list}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhjhhhjhKubeh}(h]jah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFhjGjjHj&jjJfill_re_scanner()uh1jhjhKhjhhubjL)}(hhh]j)}(hBAncillary routine to convert RE_SCANNER_LIST into a finditer regexh]hBAncillary routine to convert RE_SCANNER_LIST into a finditer regex}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjhKhj)hhubah}(h]h ]h"]h$]h&]uh1jKhjhhhjhKubeh}(h]h ](pyfunctioneh"]h$]h&]jjCjjDjjDj j j uh1jhhhj|hjhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j5tokenizer_set_log() (in module lib.python.kdoc.c_lex)'lib.python.kdoc.c_lex.tokenizer_set_loghNtauh1hhj|hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.tokenizer_set_loghNubj)}(hhh](j)}(h$tokenizer_set_log(logger, prefix='')h](j)}(hlib.python.kdoc.c_lex.h]hlib.python.kdoc.c_lex.}(hj^hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjZhhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lex.tokenizer_set_loghKubj)}(htokenizer_set_logh]htokenizer_set_log}(hjmhhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjZhhhjlhKubj)}(hlogger, prefix=''h](j)}(hloggerh]j)}(hloggerh]hlogger}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubah}(h]h ]h"]h$]h&]hhuh1jhj{ubj)}(h prefix=''h](j)}(hprefixh]hprefix}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h=h]h=}(hjhhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjubj)}(h''h]h''}(hjhhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhjubeh}(h]h ]h"]h$]h&]hhuh1jhj{ubeh}(h]h ]h"]h$]h&]hhuh1jhjZhhhjlhKubeh}(h]jTah ](j?j@eh"]h$]h&]jDlib.python.kdoc.c_lexjFhjGjojHjjojJtokenizer_set_log()uh1jhjlhKhjWhhubjL)}(hhh]j)}(h_Replace the module‑level logger with a LoggerAdapter that prepends *prefix* to every message.h](hEReplace the module‑level logger with a LoggerAdapter that prepends }(hjhhhNhNubhemphasis)}(h*prefix*h]hprefix}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1jhjubh to every message.}(hjhhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjVhKhjhhubah}(h]h ]h"]h$]h&]uh1jKhjWhhhjlhKubeh}(h]h ](pyfunctioneh"]h$]h&]jj jj jj j j j uh1jhhhj|hjVhNubeh}(h](j c-tokenizereh ]h"] c tokenizerah$]h&]uh1hhhhhhhhKubh)}(hhh](h)}(h3Chinese, Japanese and Korean variable fonts handlerh]h3Chinese, Japanese and Korean variable fonts handler}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj hhhhhK"ubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h#module; lib.python.kdoc.latex_fonts"module-lib.python.kdoc.latex_fontshNtauh1hhj hhhNhNubh)}(hhh](h)}(h*Detect problematic Noto CJK variable fontsh]h*Detect problematic Noto CJK variable fonts}(hj8 hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj5 hhhz/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fontshKubj)}(hXFor ``make pdfdocs``, reports of build errors of translations.pdf started arriving early 2024 [1]_ [2]_. It turned out that Fedora and openSUSE tumbleweed have started deploying variable-font [3]_ format of "Noto CJK" fonts [4]_ [5]_. For PDF, a LaTeX package named xeCJK is used for CJK (Chinese, Japanese, Korean) pages. xeCJK requires XeLaTeX/XeTeX, which does not (and likely never will) understand variable fonts for historical reasons.h](hFor }(hjG hhhNhNubjO)}(h``make pdfdocs``h]h make pdfdocs}(hjO hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjG ubhJ, reports of build errors of translations.pdf started arriving early 2024 }(hjG hhhNhNubhfootnote_reference)}(h[1]_h]h1}(hjc hhhNhNubah}(h]id1ah ]h"]h$]h&]refidid6docnamejsuh1ja hjG resolvedKubh }(hjG hhhNhNubjb )}(h[2]_h]h2}(hjz hhhNhNubah}(h]id2ah ]h"]h$]h&]jr id7jt jsuh1ja hjG ju KubhZ. It turned out that Fedora and openSUSE tumbleweed have started deploying variable-font }(hjG hhhNhNubjb )}(h[3]_h]h3}(hj hhhNhNubah}(h]id3ah ]h"]h$]h&]jr id8jt jsuh1ja hjG ju Kubh format of “Noto CJK” fonts }(hjG hhhNhNubjb )}(h[4]_h]h4}(hj hhhNhNubah}(h]id4ah ]h"]h$]h&]jr id9jt jsuh1ja hjG ju Kubh }hjG sbjb )}(h[5]_h]h5}(hj hhhNhNubah}(h]id5ah ]h"]h$]h&]jr id10jt jsuh1ja hjG ju Kubh. For PDF, a LaTeX package named xeCJK is used for CJK (Chinese, Japanese, Korean) pages. xeCJK requires XeLaTeX/XeTeX, which does not (and likely never will) understand variable fonts for historical reasons.}(hjG hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjF hKhj5 hhubj)}(hXPThe build error happens even when both of variable- and non-variable-format fonts are found on the build system. To make matters worse, Fedora enlists variable "Noto CJK" fonts in the requirements of langpacks-ja, -ko, -zh_CN, -zh_TW, etc. Hence developers who have interest in CJK pages are more likely to encounter the build errors.h]hXTThe build error happens even when both of variable- and non-variable-format fonts are found on the build system. To make matters worse, Fedora enlists variable “Noto CJK” fonts in the requirements of langpacks-ja, -ko, -zh_CN, -zh_TW, etc. Hence developers who have interest in CJK pages are more likely to encounter the build errors.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hK hj5 hhubj)}(hThis script is invoked from the error path of "make pdfdocs" and emits suggestions if variable-font files of "Noto CJK" fonts are in the list of fonts accessible from XeTeX.h]hThis script is invoked from the error path of “make pdfdocs” and emits suggestions if variable-font files of “Noto CJK” fonts are in the list of fonts accessible from XeTeX.}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKhj5 hhubhfootnote)}(h6https://lore.kernel.org/r/8734tqsrt7.fsf@meer.lwn.net/h](hlabel)}(h1h]h1}(hj hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj ubj)}(hj h]j )}(hj h]h6https://lore.kernel.org/r/8734tqsrt7.fsf@meer.lwn.net/}(hj!hhhNhNubah}(h]h ]h"]h$]h&]refurij uh1j hj!ubah}(h]h ]h"]h$]h&]uh1jhjF hKhj ubeh}(h]js ah ]h"]1ah$]h&]jm ajt jsuh1j hjF hKhj5 hhju Kubj )}(h>https://lore.kernel.org/r/1708585803.600323099@f111.i.mail.ru/h](j )}(h2h]h2}(hj$!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj !ubj)}(hj"!h]j )}(hj"!h]h>https://lore.kernel.org/r/1708585803.600323099@f111.i.mail.ru/}(hj5!hhhNhNubah}(h]h ]h"]h$]h&]refurij"!uh1j hj2!ubah}(h]h ]h"]h$]h&]uh1jhjF hKhj !ubeh}(h]j ah ]h"]2ah$]h&]j ajt jsuh1j hjF hKhj5 hhju Kubj )}(h+https://en.wikipedia.org/wiki/Variable_fonth](j )}(h3h]h3}(hjT!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hjP!ubj)}(hjR!h]j )}(hjR!h]h+https://en.wikipedia.org/wiki/Variable_font}(hje!hhhNhNubah}(h]h ]h"]h$]h&]refurijR!uh1j hjb!ubah}(h]h ]h"]h$]h&]uh1jhjF hKhjP!ubeh}(h]j ah ]h"]3ah$]h&]j ajt jsuh1j hjF hKhj5 hhju Kubj )}(h>https://fedoraproject.org/wiki/Changes/Noto_CJK_Variable_Fontsh](j )}(h4h]h4}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj!ubj)}(hj!h]j )}(hj!h]h>https://fedoraproject.org/wiki/Changes/Noto_CJK_Variable_Fonts}(hj!hhhNhNubah}(h]h ]h"]h$]h&]refurij!uh1j hj!ubah}(h]h ]h"]h$]h&]uh1jhjF hKhj!ubeh}(h]j ah ]h"]4ah$]h&]j ajt jsuh1j hjF hKhj5 hhju Kubj )}(h0https://build.opensuse.org/request/show/1157217 h](j )}(h5h]h5}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1j hj!ubj)}(h/https://build.opensuse.org/request/show/1157217h]j )}(hj!h]h/https://build.opensuse.org/request/show/1157217}(hj!hhhNhNubah}(h]h ]h"]h$]h&]refurij!uh1j hj!ubah}(h]h ]h"]h$]h&]uh1jhjF hKhj!ubeh}(h]j ah ]h"]5ah$]h&]j ajt jsuh1j hjF hKhj5 hhju Kubh)}(hhh](h)}(h)Workarounds for building translations.pdfh]h)Workarounds for building translations.pdf}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj!hhhjF hKubj%)}(hhh](j*)}(hXDenylist "variable font" Noto CJK fonts. - Create $HOME/deny-vf/fontconfig/fonts.conf from template below, with tweaks if necessary. Remove leading "". - Path of fontconfig/fonts.conf can be overridden by setting an env variable FONTS_CONF_DENY_VF. * Template:: /usr/share/fonts/google-noto-*-cjk-vf-fonts /usr/share/fonts/truetype/Noto*CJK*-VF.otf The denylisting is activated for "make pdfdocs". h](j)}(h(Denylist "variable font" Noto CJK fonts.h]h,Denylist “variable font” Noto CJK fonts.}(hj!hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKhj!ubj%)}(hhh](j*)}(hnCreate $HOME/deny-vf/fontconfig/fonts.conf from template below, with tweaks if necessary. Remove leading "". h]j)}(hmCreate $HOME/deny-vf/fontconfig/fonts.conf from template below, with tweaks if necessary. Remove leading "".h]hqCreate $HOME/deny-vf/fontconfig/fonts.conf from template below, with tweaks if necessary. Remove leading “”.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hK!hj "ubah}(h]h ]h"]h$]h&]uh1j)hj"ubj*)}(hXPath of fontconfig/fonts.conf can be overridden by setting an env variable FONTS_CONF_DENY_VF. * Template:: /usr/share/fonts/google-noto-*-cjk-vf-fonts /usr/share/fonts/truetype/Noto*CJK*-VF.otf The denylisting is activated for "make pdfdocs". h](j)}(h^Path of fontconfig/fonts.conf can be overridden by setting an env variable FONTS_CONF_DENY_VF.h]h^Path of fontconfig/fonts.conf can be overridden by setting an env variable FONTS_CONF_DENY_VF.}(hj&"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hK$hj""ubj%)}(hhh]j*)}(hX/Template:: /usr/share/fonts/google-noto-*-cjk-vf-fonts /usr/share/fonts/truetype/Noto*CJK*-VF.otf h](j)}(h Template::h]h Template:}(hj;"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hK'hj7"ubj )}(hX /usr/share/fonts/google-noto-*-cjk-vf-fonts /usr/share/fonts/truetype/Noto*CJK*-VF.otf h]hX /usr/share/fonts/google-noto-*-cjk-vf-fonts /usr/share/fonts/truetype/Noto*CJK*-VF.otf }hjI"sbah}(h]h ]h"]h$]h&]hhuh1j hjF hK)hj7"ubeh}(h]h ]h"]h$]h&]uh1j)hj4"ubah}(h]h ]h"]h$]h&]jt*uh1j$hjF hK'hj""ubj)}(h0The denylisting is activated for "make pdfdocs".h]h4The denylisting is activated for “make pdfdocs”.}(hjd"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hK=hj""ubeh}(h]h ]h"]h$]h&]uh1j)hj"ubeh}(h]h ]h"]h$]h&]jtjuuh1j$hjF hK!hj!ubeh}(h]h ]h"]h$]h&]uh1j)hj!hhhNhNubj*)}(hdFor skipping CJK pages in PDF - Uninstall texlive-xecjk. Denylisting is not needed in this case. h](j)}(hFor skipping CJK pages in PDFh]hFor skipping CJK pages in PDF}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hK?hj"ubj%)}(hhh]j*)}(hAUninstall texlive-xecjk. Denylisting is not needed in this case. h]j)}(h@Uninstall texlive-xecjk. Denylisting is not needed in this case.h]h@Uninstall texlive-xecjk. Denylisting is not needed in this case.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKAhj"ubah}(h]h ]h"]h$]h&]uh1j)hj"ubah}(h]h ]h"]h$]h&]jtjuuh1j$hjF hKAhj"ubeh}(h]h ]h"]h$]h&]uh1j)hj!hhhNhNubj*)}(hXbFor printing CJK pages in PDF - Need non-variable "Noto CJK" fonts. * Fedora - google-noto-sans-cjk-fonts - google-noto-serif-cjk-fonts * openSUSE tumbleweed - Non-variable "Noto CJK" fonts are not available as distro packages as of April, 2024. Fetch a set of font files from upstream Noto CJK Font released at: https://github.com/notofonts/noto-cjk/tree/main/Sans#super-otc and at: https://github.com/notofonts/noto-cjk/tree/main/Serif#super-otc then uncompress and deploy them. - Remember to update fontconfig cache by running fc-cache. h](j)}(hFor printing CJK pages in PDFh]hFor printing CJK pages in PDF}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKDhj"ubj%)}(hhh]j*)}(hX)Need non-variable "Noto CJK" fonts. * Fedora - google-noto-sans-cjk-fonts - google-noto-serif-cjk-fonts * openSUSE tumbleweed - Non-variable "Noto CJK" fonts are not available as distro packages as of April, 2024. Fetch a set of font files from upstream Noto CJK Font released at: https://github.com/notofonts/noto-cjk/tree/main/Sans#super-otc and at: https://github.com/notofonts/noto-cjk/tree/main/Serif#super-otc then uncompress and deploy them. - Remember to update fontconfig cache by running fc-cache. h](j)}(h#Need non-variable "Noto CJK" fonts.h]h'Need non-variable “Noto CJK” fonts.}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKFhj"ubj%)}(hhh](j*)}(hCFedora - google-noto-sans-cjk-fonts - google-noto-serif-cjk-fonts h](j)}(hFedorah]hFedora}(hj"hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKHhj"ubj%)}(hhh](j*)}(hgoogle-noto-sans-cjk-fontsh]j)}(hj"h]hgoogle-noto-sans-cjk-fonts}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKJhj"ubah}(h]h ]h"]h$]h&]uh1j)hj"ubj*)}(hgoogle-noto-serif-cjk-fonts h]j)}(hgoogle-noto-serif-cjk-fontsh]hgoogle-noto-serif-cjk-fonts}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKKhj#ubah}(h]h ]h"]h$]h&]uh1j)hj"ubeh}(h]h ]h"]h$]h&]jtjuuh1j$hjF hKJhj"ubeh}(h]h ]h"]h$]h&]uh1j)hj"ubj*)}(hXopenSUSE tumbleweed - Non-variable "Noto CJK" fonts are not available as distro packages as of April, 2024. Fetch a set of font files from upstream Noto CJK Font released at: https://github.com/notofonts/noto-cjk/tree/main/Sans#super-otc and at: https://github.com/notofonts/noto-cjk/tree/main/Serif#super-otc then uncompress and deploy them. - Remember to update fontconfig cache by running fc-cache. h](j)}(hopenSUSE tumbleweedh]hopenSUSE tumbleweed}(hj;#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKMhj7#ubj%)}(hhh](j*)}(hXINon-variable "Noto CJK" fonts are not available as distro packages as of April, 2024. Fetch a set of font files from upstream Noto CJK Font released at: https://github.com/notofonts/noto-cjk/tree/main/Sans#super-otc and at: https://github.com/notofonts/noto-cjk/tree/main/Serif#super-otc then uncompress and deploy them.h](j)}(hNon-variable "Noto CJK" fonts are not available as distro packages as of April, 2024. Fetch a set of font files from upstream Noto CJK Font released at:h]hNon-variable “Noto CJK” fonts are not available as distro packages as of April, 2024. Fetch a set of font files from upstream Noto CJK Font released at:}(hjP#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKOhjL#ubj)}(h?https://github.com/notofonts/noto-cjk/tree/main/Sans#super-otc h]j)}(h>https://github.com/notofonts/noto-cjk/tree/main/Sans#super-otch]j )}(hjd#h]h>https://github.com/notofonts/noto-cjk/tree/main/Sans#super-otc}(hjf#hhhNhNubah}(h]h ]h"]h$]h&]refurijd#uh1j hjb#ubah}(h]h ]h"]h$]h&]uh1jhjF hKShj^#ubah}(h]h ]h"]h$]h&]uh1jhjF hKShjL#ubj)}(hand at:h]hand at:}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKUhjL#ubj)}(h@https://github.com/notofonts/noto-cjk/tree/main/Serif#super-otc h]j)}(h?https://github.com/notofonts/noto-cjk/tree/main/Serif#super-otch]j )}(hj#h]h?https://github.com/notofonts/noto-cjk/tree/main/Serif#super-otc}(hj#hhhNhNubah}(h]h ]h"]h$]h&]refurij#uh1j hj#ubah}(h]h ]h"]h$]h&]uh1jhjF hKWhj#ubah}(h]h ]h"]h$]h&]uh1jhjF hKWhjL#ubj)}(h then uncompress and deploy them.h]h then uncompress and deploy them.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKYhjL#ubeh}(h]h ]h"]h$]h&]uh1j)hjI#ubj*)}(h9Remember to update fontconfig cache by running fc-cache. h]j)}(h8Remember to update fontconfig cache by running fc-cache.h]h8Remember to update fontconfig cache by running fc-cache.}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hKZhj#ubah}(h]h ]h"]h$]h&]uh1j)hjI#ubeh}(h]h ]h"]h$]h&]jtjuuh1j$hjF hKOhj7#ubeh}(h]h ]h"]h$]h&]uh1j)hj"ubeh}(h]h ]h"]h$]h&]jtjc"uh1j$hjF hKHhj"ubeh}(h]h ]h"]h$]h&]uh1j)hj"ubah}(h]h ]h"]h$]h&]jtjuuh1j$hjF hKFhj"ubeh}(h]h ]h"]h$]h&]uh1j)hj!hhhNhNubeh}(h]h ]h"]h$]h&]jtjc"uh1j$hjF hKhj!hhubhcaution)}(hUninstalling "variable font" packages can be dangerous. They might be depended upon by other packages important for your work. Denylisting should be less invasive, as it is effective only while XeLaTeX runs in "make pdfdocs".h]j)}(hUninstalling "variable font" packages can be dangerous. They might be depended upon by other packages important for your work. Denylisting should be less invasive, as it is effective only while XeLaTeX runs in "make pdfdocs".h]hUninstalling “variable font” packages can be dangerous. They might be depended upon by other packages important for your work. Denylisting should be less invasive, as it is effective only while XeLaTeX runs in “make pdfdocs”.}(hj $hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjF hK]hj$ubah}(h]h ]h"]h$]h&]uh1j$hj!hhhjF hNubeh}(h])workarounds-for-building-translations-pdfah ]h"])workarounds for building translations.pdfah$]h&]uh1hhj5 hhhjF hKubeh}(h]*detect-problematic-noto-cjk-variable-fontsah ]h"]*detect problematic noto cjk variable fontsah$]h&]uh1hhj hhhjF hKubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j7LatexFontChecker (class in lib.python.kdoc.latex_fonts),lib.python.kdoc.latex_fonts.LatexFontCheckerhNtauh1hhj hhhNhNubj)}(hhh](j)}(hLatexFontChecker(deny_vf=None)h](j)}(h2[<#text: 'class'>, >]h](hclass}(hjE$hhhNhNubj)}(h h]h }(hjM$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjE$ubeh}(h]h ]h"]h$]h&]hhuh1jhjA$hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fonts.LatexFontCheckerhKubj)}(hlib.python.kdoc.latex_fonts.h]hlib.python.kdoc.latex_fonts.}(hjb$hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjA$hhhja$hKubj)}(hLatexFontCheckerh]hLatexFontChecker}(hjp$hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjA$hhhja$hKubj)}(h deny_vf=Noneh]j)}(h deny_vf=Noneh](j)}(hdeny_vfh]hdeny_vf}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubj)}(h=h]h=}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$ubj)}(hNoneh]hNone}(hj$hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj$ubeh}(h]h ]h"]h$]h&]hhuh1jhj~$ubah}(h]h ]h"]h$]h&]hhuh1jhjA$hhhja$hKubeh}(h]j<$ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.latex_fontsjFhjGjr$jHj$jr$jJjr$uh1jhja$hKhj>$hhubjL)}(hhh](j)}(hBases: :py:class:`object`h](hBases: }(hj$hhhNhNubh)}(h:py:class:`object`h]jO)}(hj$h]hobject}(hj$hhhNhNubah}(h]h ](jfpypy-classeh"]h$]h&]uh1jNhj$ubah}(h]h ]h"]h$]h&]refdocjs refdomainj$reftypeclass refexplicitrefwarnjyj$jzjr$j{objectuh1hhz/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fontshKhj$ubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fonts.LatexFontCheckerhKhj$hhubj)}(hPDetect problems with CJK variable fonts that affect PDF builds for translations.h]hPDetect problems with CJK variable fonts that affect PDF builds for translations.}(hj$hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fonts.LatexFontCheckerhKhj$hhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j=check() (lib.python.kdoc.latex_fonts.LatexFontChecker method)2lib.python.kdoc.latex_fonts.LatexFontChecker.checkhNtauh1hhj$hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fonts.LatexFontChecker.checkhNubj)}(hhh](j)}(hLatexFontChecker.check()h](j)}(hcheckh]hcheck}(hj%hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj%hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fonts.LatexFontChecker.checkhKubj)}(h()h]h}(h]h ]h"]h$]h&]hhuh1jhj%hhhj+%hKubeh}(h]j%ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.latex_fontsjFjr$jGLatexFontChecker.checkjHj<%LatexFontCheckercheckjJLatexFontChecker.check()uh1jhj+%hKhj%hhubjL)}(hhh]j)}(h"Check for problems with CJK fonts.h]h"Check for problems with CJK fonts.}(hjE%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%hKhjB%hhubah}(h]h ]h"]h$]h&]uh1jKhj%hhhj+%hKubeh}(h]h ](pymethodeh"]h$]h&]jj\%jj]%jj]%j j j uh1jhhhj$hj%hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jCdescription() (lib.python.kdoc.latex_fonts.LatexFontChecker method)8lib.python.kdoc.latex_fonts.LatexFontChecker.descriptionhNtauh1hhj$hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fonts.LatexFontChecker.descriptionhNubj)}(hhh](j)}(hLatexFontChecker.description()h](j)}(h descriptionh]h description}(hjw%hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjs%hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fonts.LatexFontChecker.descriptionhKubj)}(h()h]h}(h]h ]h"]h$]h&]hhuh1jhjs%hhhj%hKubeh}(h]jm%ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.latex_fontsjFjr$jGLatexFontChecker.descriptionjHj%LatexFontChecker descriptionjJLatexFontChecker.description()uh1jhj%hKhjp%hhubjL)}(hhh]j)}(hReturns module description.h]hReturns module description.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjo%hKhj%hhubah}(h]h ]h"]h$]h&]uh1jKhjp%hhhj%hKubeh}(h]h ](pymethodeh"]h$]h&]jj%jj%jj%j j j uh1jhhhj$hjo%hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jMget_noto_cjk_vf_fonts() (lib.python.kdoc.latex_fonts.LatexFontChecker method)Blib.python.kdoc.latex_fonts.LatexFontChecker.get_noto_cjk_vf_fontshNtauh1hhj$hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fonts.LatexFontChecker.get_noto_cjk_vf_fontshNubj)}(hhh](j)}(h(LatexFontChecker.get_noto_cjk_vf_fonts()h](j)}(hget_noto_cjk_vf_fontsh]hget_noto_cjk_vf_fonts}(hj%hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj%hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fonts.LatexFontChecker.get_noto_cjk_vf_fontshKubj)}(h()h]h}(h]h ]h"]h$]h&]hhuh1jhj%hhhj%hKubeh}(h]j%ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.latex_fontsjFjr$jG&LatexFontChecker.get_noto_cjk_vf_fontsjHj%LatexFontCheckerget_noto_cjk_vf_fontsjJ(LatexFontChecker.get_noto_cjk_vf_fonts()uh1jhj%hKhj%hhubjL)}(hhh]j)}(hGet Noto CJK fonts.h]hGet Noto CJK fonts.}(hj%hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj%hKhj%hhubah}(h]h ]h"]h$]h&]uh1jKhj%hhhj%hKubeh}(h]h ](pymethodeh"]h$]h&]jj&jj&jj&j j j uh1jhhhj$hj%hNubeh}(h]h ]h"]h$]h&]uh1jKhj>$hhhja$hKubeh}(h]h ](pyclasseh"]h$]h&]jj&jj&jj&j j j uh1jhhhj hNhNubeh}(h](j3 2chinese-japanese-and-korean-variable-fonts-handlereh ]h"]3chinese, japanese and korean variable fonts handlerah$]h&]uh1hhhhhhhhK"ubh)}(hhh](h)}(hKernel C file include logich]hKernel C file include logic}(hj.&hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj+&hhhhhK*ubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h*module; lib.python.kdoc.parse_data_structs)module-lib.python.kdoc.parse_data_structshNtauh1hhj+&hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structshNubj)}(hKParse a source file or header, creating ReStructured Text cross references.h]hKParse a source file or header, creating ReStructured Text cross references.}(hjK&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJ&hKhj+&hhubj)}(hjIt accepts an optional file to change the default symbol reference or to suppress symbols from the output.h]hjIt accepts an optional file to change the default symbol reference or to suppress symbols from the output.}(hjY&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJ&hKhj+&hhubj)}(hIt is capable of identifying ``define``, function, ``struct``, ``typedef``, ``enum`` and ``enum`` symbols and create cross-references for all of them. It is also capable of distinguish #define used for specifying a Linux ioctl.h](hIt is capable of identifying }(hjg&hhhNhNubjO)}(h ``define``h]hdefine}(hjo&hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjg&ubh , function, }(hjg&hhhNhNubjO)}(h ``struct``h]hstruct}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjg&ubh, }(hjg&hhhNhNubjO)}(h ``typedef``h]htypedef}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjg&ubh, }(hjg&hhhNhNubjO)}(h``enum``h]henum}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjg&ubh and }(hjg&hhhNhNubjO)}(h``enum``h]henum}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjg&ubh symbols and create cross-references for all of them. It is also capable of distinguish #define used for specifying a Linux ioctl.}(hjg&hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhjJ&hKhj+&hhubj)}(h6The optional rules file contains a set of rules like::h]h5The optional rules file contains a set of rules like:}(hj&hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjJ&hK hj+&hhubj )}(hignore ioctl VIDIOC_ENUM_FMT replace ioctl VIDIOC_DQBUF vidioc_qbuf replace define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ :c:type:`v4l2_event_motion_det`h]hignore ioctl VIDIOC_ENUM_FMT replace ioctl VIDIOC_DQBUF vidioc_qbuf replace define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ :c:type:`v4l2_event_motion_det`}hj&sbah}(h]h ]h"]h$]h&]hhuh1j hjJ&hK hj+&hhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j>ParseDataStructs (class in lib.python.kdoc.parse_data_structs)3lib.python.kdoc.parse_data_structs.ParseDataStructshNtauh1hhj+&hhhNhNubj)}(hhh](j)}(h%ParseDataStructs(debug: bool = False)h](j)}(h2[<#text: 'class'>, >]h](hclass}(hj'hhhNhNubj)}(h h]h }(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj'ubeh}(h]h ]h"]h$]h&]hhuh1jhj&hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructshKubj)}(h#lib.python.kdoc.parse_data_structs.h]h#lib.python.kdoc.parse_data_structs.}(hj'hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj&hhhj'hKubj)}(hParseDataStructsh]hParseDataStructs}(hj+'hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj&hhhj'hKubj)}(hdebug: bool = Falseh]j)}(hdebug: bool = Falseh](j)}(hdebugh]hdebug}(hjA'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj='ubj )}(h:h]h:}(hjO'hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj='ubj)}(h h]h }(hj]'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj='ubj)}(hboolh]h)}(hhh]hbool}(hjo'hhhNhNubah}(h]h ]h"]h$]h&] refdomainpyreftypejF reftargetbool refspecific py:module"lib.python.kdoc.parse_data_structspy:classNuh1hhjk'ubah}(h]h ]jah"]h$]h&]uh1jhj='ubj)}(h h]h }(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj='ubj)}(h=h]h=}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj='ubj)}(h h]h }(hj'hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj='ubj)}(hFalseh]hFalse}(hj'hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj='ubeh}(h]h ]h"]h$]h&]hhuh1jhj9'ubah}(h]h ]h"]h$]h&]hhuh1jhj&hhhj'hKubeh}(h]j&ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFhjGj-'jHj'j-'jJj-'uh1jhj'hKhj&hhubjL)}(hhh](j)}(hBases: :py:class:`object`h](hBases: }(hj'hhhNhNubh)}(h:py:class:`object`h]jO)}(hj'h]hobject}(hj'hhhNhNubah}(h]h ](jfpypy-classeh"]h$]h&]uh1jNhj'ubah}(h]h ]h"]h$]h&]refdocjs refdomainj'reftypeclass refexplicitrefwarnjyj'jzj-'j{objectuh1hh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structshKhj'ubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructshKhj'hhubj)}(hcCreates an enriched version of a Kernel header file with cross-links to each C data structure type.h]hcCreates an enriched version of a Kernel header file with cross-links to each C data structure type.}(hj (hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructshKhj'hhubj)}(hIt is meant to allow having a more comprehensive documentation, where uAPI headers will create cross-reference links to the code.h]hIt is meant to allow having a more comprehensive documentation, where uAPI headers will create cross-reference links to the code.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hKhj'hhubj)}(hIt is capable of identifying ``define``, function, ``struct``, ``typedef``, ``enum`` and ``enum`` symbols and create cross-references for all of them. It is also capable of distinguish #define used for specifying a Linux ioctl.h](hIt is capable of identifying }(hj((hhhNhNubjO)}(h ``define``h]hdefine}(hj0(hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj((ubh , function, }(hj((hhhNhNubjO)}(h ``struct``h]hstruct}(hjB(hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj((ubh, }(hj((hhhNhNubjO)}(h ``typedef``h]htypedef}(hjT(hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj((ubh, }(hj((hhhNhNubjO)}(h``enum``h]henum}(hjf(hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj((ubh and }(hj((hhhNhNubjO)}(h``enum``h]henum}(hjx(hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj((ubh symbols and create cross-references for all of them. It is also capable of distinguish #define used for specifying a Linux ioctl.}(hj((hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj(hKhj'hhubj)}(hBy default, it create rules for all symbols and defines, but it also allows parsing an exception file. Such file contains a set of rules using the syntax below:h]hBy default, it create rules for all symbols and defines, but it also allows parsing an exception file. Such file contains a set of rules using the syntax below:}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hK hj'hhubhenumerated_list)}(hhh]j*)}(h)Ignore rules:: ignore ` h](j)}(hIgnore rules::h]h Ignore rules:}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hKhj(ubj )}(hignore `h]hignore `}hj(sbah}(h]h ]h"]h$]h&]hhuh1j hj(hKhj(ubeh}(h]h ]h"]h$]h&]uh1j)hj(hhhj(hNubah}(h]h ]h"]h$]h&]enumtypearabicprefixhsuffix.uh1j(hj'hhhj(hKubj)}(h-Removes the symbol from reference generation.h]h-Removes the symbol from reference generation.}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hKhj'hhubj()}(hhh](j*)}(hReplace rules:: replace Replaces how old_symbol with a new reference. The new_reference can be: - A simple symbol name; - A full Sphinx reference. h](j)}(hReplace rules::h]hReplace rules:}(hj(hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hKhj(ubj )}(h+replace h]h+replace }hj(sbah}(h]h ]h"]h$]h&]hhuh1j hj(hKhj(ubj)}(hGReplaces how old_symbol with a new reference. The new_reference can be:h]hGReplaces how old_symbol with a new reference. The new_reference can be:}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hKhj(ubj)}(h3- A simple symbol name; - A full Sphinx reference. h]j%)}(hhh](j*)}(hA simple symbol name;h]j)}(hj)h]hA simple symbol name;}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hKhj)ubah}(h]h ]h"]h$]h&]uh1j)hj)ubj*)}(hA full Sphinx reference. h]j)}(hA full Sphinx reference.h]hA full Sphinx reference.}(hj5)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hKhj1)ubah}(h]h ]h"]h$]h&]uh1j)hj)ubeh}(h]h ]h"]h$]h&]jtjuuh1j$hj(hKhj)ubah}(h]h ]h"]h$]h&]uh1jhj(hKhj(ubeh}(h]h ]h"]h$]h&]uh1j)hj(hhhj(hNubj*)}(hNamespace rules:: namespace Sets C namespace to be used during cross-reference generation. Can be overridden by replace rules. h](j)}(hNamespace rules::h]hNamespace rules:}(hj_)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hKhj[)ubj )}(hnamespace h]hnamespace }hjm)sbah}(h]h ]h"]h$]h&]hhuh1j hj(hK!hj[)ubj)}(hbSets C namespace to be used during cross-reference generation. Can be overridden by replace rules.h]hbSets C namespace to be used during cross-reference generation. Can be overridden by replace rules.}(hj{)hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hK#hj[)ubeh}(h]h ]h"]h$]h&]uh1j)hj(hhhj(hNubeh}(h]h ]h"]h$]h&]j(j(j(hj(j(startKuh1j(hj'hhhj(hKubhdefinition_list)}(hhh]hdefinition_list_item)}(hX2On ignore and replace rules, ```` can be: - ``ioctl``: for defines that end with ``_IO*``, e.g. ioctl definitions - ``define``: for other defines - ``symbol``: for symbols defined within enums; - ``typedef``: for typedefs; - ``enum``: for the name of a non-anonymous enum; - ``struct``: for structs. h](hterm)}(h/On ignore and replace rules, ```` can be:h](hOn ignore and replace rules, }(hj)hhhNhNubjO)}(h ````h]h}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj)ubh can be:}(hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1j)hj(hK,hj)ubh definition)}(hhh]j%)}(hhh](j*)}(hE``ioctl``: for defines that end with ``_IO*``, e.g. ioctl definitionsh]j)}(hj)h](jO)}(h ``ioctl``h]hioctl}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj)ubh: for defines that end with }(hj)hhhNhNubjO)}(h``_IO*``h]h_IO*}(hj)hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj)ubh, e.g. ioctl definitions}(hj)hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj(hK'hj)ubah}(h]h ]h"]h$]h&]uh1j)hj)ubj*)}(h``define``: for other definesh]j)}(hj*h](jO)}(h ``define``h]hdefine}(hj *hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj*ubh: for other defines}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj(hK(hj*ubah}(h]h ]h"]h$]h&]uh1j)hj)ubj*)}(h-``symbol``: for symbols defined within enums;h]j)}(hj)*h](jO)}(h ``symbol``h]hsymbol}(hj.*hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj+*ubh#: for symbols defined within enums;}(hj+*hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj(hK)hj'*ubah}(h]h ]h"]h$]h&]uh1j)hj)ubj*)}(h``typedef``: for typedefs;h]j)}(hjN*h](jO)}(h ``typedef``h]htypedef}(hjS*hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhjP*ubh: for typedefs;}(hjP*hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj(hK*hjL*ubah}(h]h ]h"]h$]h&]uh1j)hj)ubj*)}(h/``enum``: for the name of a non-anonymous enum;h]j)}(hjs*h](jO)}(h``enum``h]henum}(hjx*hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhju*ubh': for the name of a non-anonymous enum;}(hju*hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj(hK+hjq*ubah}(h]h ]h"]h$]h&]uh1j)hj)ubj*)}(h``struct``: for structs. h]j)}(h``struct``: for structs.h](jO)}(h ``struct``h]hstruct}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj*ubh: for structs.}(hj*hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj(hK,hj*ubah}(h]h ]h"]h$]h&]uh1j)hj)ubeh}(h]h ]h"]h$]h&]jtjuuh1j$hj(hK'hj)ubah}(h]h ]h"]h$]h&]uh1j)hj)ubeh}(h]h ]h"]h$]h&]uh1j)hj(hK,hj)ubah}(h]h ]h"]h$]h&]uh1j)hj'hhhNhNubj)}(h Examples::h]h Examples:}(hj*hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj(hK.hj'hhubj )}(hignore define __LINUX_MEDIA_H ignore ioctl VIDIOC_ENUM_FMT replace ioctl VIDIOC_DQBUF vidioc_qbuf replace define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ :c:type:`v4l2_event_motion_det` namespace MCh]hignore define __LINUX_MEDIA_H ignore ioctl VIDIOC_ENUM_FMT replace ioctl VIDIOC_DQBUF vidioc_qbuf replace define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ :c:type:`v4l2_event_motion_det` namespace MC}hj*sbah}(h]h ]h"]h$]h&]hhuh1j hj(hK0hj'hhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jPDEF_SYMBOL_TYPES (lib.python.kdoc.parse_data_structs.ParseDataStructs attribute)Dlib.python.kdoc.parse_data_structs.ParseDataStructs.DEF_SYMBOL_TYPEShNtauh1hhj'hhhQdocstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.DEF_SYMBOL_TYPEShNubj)}(hhh](j)}(h!ParseDataStructs.DEF_SYMBOL_TYPESh](j)}(hDEF_SYMBOL_TYPESh]hDEF_SYMBOL_TYPES}(hj+hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj+hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.DEF_SYMBOL_TYPEShKubj)}(hXa{'define': {'description': 'Macros and Definitions', 'prefix': '\\ ', 'ref_type': ':ref', 'suffix': '\\ '}, 'enum': {'description': 'Enumerations', 'prefix': '\\ ', 'ref_type': ':c:type', 'suffix': '\\ '}, 'ioctl': {'description': 'IOCTL Commands', 'prefix': '\\ ', 'ref_type': ':ref', 'suffix': '\\ '}, 'struct': {'description': 'Structures', 'prefix': '\\ ', 'ref_type': ':c:type', 'suffix': '\\ '}, 'symbol': {'description': 'Enumeration values', 'prefix': '\\ ', 'ref_type': ':ref', 'suffix': '\\ '}, 'typedef': {'description': 'Type Definitions', 'prefix': '\\ ', 'ref_type': ':c:type', 'suffix': '\\ '}}h](j)}(h h]h }(hj+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj+ubj )}(h=h]h=}(hj'+hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj+ubj)}(h h]h }(hj5+hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj+ubhXa{'define': {'description': 'Macros and Definitions', 'prefix': '\\ ', 'ref_type': ':ref', 'suffix': '\\ '}, 'enum': {'description': 'Enumerations', 'prefix': '\\ ', 'ref_type': ':c:type', 'suffix': '\\ '}, 'ioctl': {'description': 'IOCTL Commands', 'prefix': '\\ ', 'ref_type': ':ref', 'suffix': '\\ '}, 'struct': {'description': 'Structures', 'prefix': '\\ ', 'ref_type': ':c:type', 'suffix': '\\ '}, 'symbol': {'description': 'Enumeration values', 'prefix': '\\ ', 'ref_type': ':ref', 'suffix': '\\ '}, 'typedef': {'description': 'Type Definitions', 'prefix': '\\ ', 'ref_type': ':c:type', 'suffix': '\\ '}}}(hj+hhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhj+hhhj+hKubeh}(h]j*ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jG!ParseDataStructs.DEF_SYMBOL_TYPESjHjS+ParseDataStructsDEF_SYMBOL_TYPESjJjT+uh1jhj+hKhj*hhubjL)}(hhh]j)}(h;Dictionary containing C type identifiers to be transformed.h]h;Dictionary containing C type identifiers to be transformed.}(hj[+hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj*hKhjX+hhubah}(h]h ]h"]h$]h&]uh1jKhj*hhhj+hKubeh}(h]h ](py attributeeh"]h$]h&]jjr+jjs+jjs+j j j uh1jhhhj'hj*hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jHRE_ENUMS (lib.python.kdoc.parse_data_structs.ParseDataStructs attribute)lib.python.kdoc.parse_data_structs.ParseDataStructs.RE_STRUCTShNtauh1hhj'hhhKdocstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.RE_STRUCTShNubj)}(hhh](j)}(hParseDataStructs.RE_STRUCTSh](j)}(h RE_STRUCTSh]h RE_STRUCTS}(hj,hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj,hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.RE_STRUCTShKubj)}(h[re.compile('^\\s*struct\\s+([_\\w][\\w\\d_]+)\\s*\\{'), re.compile('^\\s*struct\\s+([_\\w][\\w\\d_]+)$'), re.compile('^\\s*typedef\\s*struct\\s+([_\\w][\\w\\d_]+)\\s*\\{'), re.compile('^\\s*typedef\\s*struct\\s+([_\\w][\\w\\d_]+)$')]h](j)}(h h]h }(hj',hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#,ubj )}(h=h]h=}(hj5,hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj#,ubj)}(h h]h }(hjC,hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj#,ubh[re.compile('^\\s*struct\\s+([_\\w][\\w\\d_]+)\\s*\\{'), re.compile('^\\s*struct\\s+([_\\w][\\w\\d_]+)$'), re.compile('^\\s*typedef\\s*struct\\s+([_\\w][\\w\\d_]+)\\s*\\{'), re.compile('^\\s*typedef\\s*struct\\s+([_\\w][\\w\\d_]+)$')]}(hj#,hhhNhNubeh}(h]h ]h"]h$]h&]hhuh1jhj,hhhj",hKubeh}(h]j ,ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jGParseDataStructs.RE_STRUCTSjHja,ParseDataStructs RE_STRUCTSjJjb,uh1jhj",hKhj ,hhubjL)}(hhh]j)}(h3Parser regex with multiple ways to capture structs.h]h3Parser regex with multiple ways to capture structs.}(hji,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj ,hKhjf,hhubah}(h]h ]h"]h$]h&]uh1jKhj ,hhhj",hKubeh}(h]h ](py attributeeh"]h$]h&]jj,jj,jj,j j j uh1jhhhj'hj ,hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jOapply_exceptions() (lib.python.kdoc.parse_data_structs.ParseDataStructs method)Dlib.python.kdoc.parse_data_structs.ParseDataStructs.apply_exceptionshNtauh1hhj'hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.apply_exceptionshNubj)}(hhh](j)}(h#ParseDataStructs.apply_exceptions()h](j)}(happly_exceptionsh]happly_exceptions}(hj,hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj,hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.apply_exceptionshKubj)}(h()h]h}(h]h ]h"]h$]h&]hhuh1jhj,hhhj,hKubeh}(h]j,ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jG!ParseDataStructs.apply_exceptionsjHj,ParseDataStructsapply_exceptionsjJ#ParseDataStructs.apply_exceptions()uh1jhj,hKhj,hhubjL)}(hhh]j)}(hCProcess exceptions file with rules to ignore or replace references.h]hCProcess exceptions file with rules to ignore or replace references.}(hj,hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,hKhj,hhubah}(h]h ]h"]h$]h&]uh1jKhj,hhhj,hKubeh}(h]h ](pymethodeh"]h$]h&]jj,jj,jj,j j j uh1jhhhj'hj,hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jJdebug_print() (lib.python.kdoc.parse_data_structs.ParseDataStructs method)?lib.python.kdoc.parse_data_structs.ParseDataStructs.debug_printhNtauh1hhj'hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.debug_printhNubj)}(hhh](j)}(hParseDataStructs.debug_print()h](j)}(h debug_printh]h debug_print}(hj,hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj,hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.debug_printhKubj)}(h()h]h}(h]h ]h"]h$]h&]hhuh1jhj,hhhj-hKubeh}(h]j,ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jGParseDataStructs.debug_printjHj-ParseDataStructs debug_printjJParseDataStructs.debug_print()uh1jhj-hKhj,hhubjL)}(hhh]j)}(hrPrint debug information containing the replacement rules per symbol. To make easier to check, group them per type.h]hrPrint debug information containing the replacement rules per symbol. To make easier to check, group them per type.}(hj-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj,hKhj-hhubah}(h]h ]h"]h$]h&]uh1jKhj,hhhj-hKubeh}(h]h ](pymethodeh"]h$]h&]jj4-jj5-jj5-j j j uh1jhhhj'hj,hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jIgen_output() (lib.python.kdoc.parse_data_structs.ParseDataStructs method)>lib.python.kdoc.parse_data_structs.ParseDataStructs.gen_outputhNtauh1hhj'hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.gen_outputhNubj)}(hhh](j)}(hParseDataStructs.gen_output()h](j)}(h gen_outputh]h gen_output}(hjO-hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjK-hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.gen_outputhKubj)}(h()h]h}(h]h ]h"]h$]h&]hhuh1jhjK-hhhj]-hKubeh}(h]jE-ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jGParseDataStructs.gen_outputjHjn-ParseDataStructs gen_outputjJParseDataStructs.gen_output()uh1jhj]-hKhjH-hhubjL)}(hhh]j)}(h%Write the formatted output to a file.h]h%Write the formatted output to a file.}(hjw-hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjG-hKhjt-hhubah}(h]h ]h"]h$]h&]uh1jKhjH-hhhj]-hKubeh}(h]h ](pymethodeh"]h$]h&]jj-jj-jj-j j j uh1jhhhj'hjG-hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jFgen_toc() (lib.python.kdoc.parse_data_structs.ParseDataStructs method);lib.python.kdoc.parse_data_structs.ParseDataStructs.gen_tochNtauh1hhj'hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.gen_tochNubj)}(hhh](j)}(hParseDataStructs.gen_toc()h](j)}(hgen_toch]hgen_toc}(hj-hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj-hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.gen_tochKubj)}(h()h]h}(h]h ]h"]h$]h&]hhuh1jhj-hhhj-hKubeh}(h]j-ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jGParseDataStructs.gen_tocjHj-ParseDataStructsgen_tocjJParseDataStructs.gen_toc()uh1jhj-hKhj-hhubjL)}(hhh]j)}(hlib.python.kdoc.parse_data_structs.ParseDataStructs.parse_filehNtauh1hhj'hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.parse_filehNubj)}(hhh](j)}(hSParseDataStructs.parse_file(file_in: str, exceptions: ~typing.Optional[str] = None)h](j)}(h parse_fileh]h parse_file}(hj.hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj-hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.parse_filehKubj)}(h6file_in: str, exceptions: ~typing.Optional[str] = Noneh](j)}(h file_in: strh](j)}(hfile_inh]hfile_in}(hj.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.ubj )}(h:h]h:}(hj(.hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj.ubj)}(h h]h }(hj6.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.ubj)}(hstrh]h)}(hhh]hstr}(hjH.hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetstr refspecific py:modulej'py:classj-'uh1hhjD.ubah}(h]h ]jah"]h$]h&]uh1jhj.ubeh}(h]h ]h"]h$]h&]hhuh1jhj.ubj)}(h exceptions: Optional[str] = Noneh](j)}(h exceptionsh]h exceptions}(hjl.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjh.ubj )}(h:h]h:}(hjz.hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjh.ubj)}(h h]h }(hj.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjh.ubj)}(h Optional[str]h](h)}(hhh]hOptional}(hj.hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypeobj reftargettyping.Optional refspecific py:modulej'py:classj-'uh1hhj.ubj )}(h[h]h[}(hj.hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj.ubh)}(hhh]hstr}(hj.hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetstr refspecific py:modulej'py:classj-'uh1hhj.ubj )}(h]h]h]}(hj.hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj.ubeh}(h]h ]jah"]h$]h&]uh1jhjh.ubj)}(h h]h }(hj.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjh.ubj)}(h=h]h=}(hj.hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjh.ubj)}(h h]h }(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjh.ubj)}(hNoneh]hNone}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhjh.ubeh}(h]h ]h"]h$]h&]hhuh1jhj.ubeh}(h]h ]h"]h$]h&]hhuh1jhj-hhhj.hKubeh}(h]j-ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jGParseDataStructs.parse_filejHj0/ParseDataStructs parse_filejJParseDataStructs.parse_file()uh1jhj.hKhj-hhubjL)}(hhh]j)}(h)Read a C source file and get identifiers.h]h)Read a C source file and get identifiers.}(hj9/hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj-hKhj6/hhubah}(h]h ]h"]h$]h&]uh1jKhj-hhhj.hKubeh}(h]h ](pymethodeh"]h$]h&]jjP/jjQ/jjQ/j j j uh1jhhhj'hj-hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jNread_exceptions() (lib.python.kdoc.parse_data_structs.ParseDataStructs method)Clib.python.kdoc.parse_data_structs.ParseDataStructs.read_exceptionshNtauh1hhj'hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.read_exceptionshNubj)}(hhh](j)}(h,ParseDataStructs.read_exceptions(fname: str)h](j)}(hread_exceptionsh]hread_exceptions}(hjk/hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjg/hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.read_exceptionshKubj)}(h fname: strh]j)}(h fname: strh](j)}(hfnameh]hfname}(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~/ubj )}(h:h]h:}(hj/hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj~/ubj)}(h h]h }(hj/hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~/ubj)}(hstrh]h)}(hhh]hstr}(hj/hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetstr refspecific py:modulej'py:classj-'uh1hhj/ubah}(h]h ]jah"]h$]h&]uh1jhj~/ubeh}(h]h ]h"]h$]h&]hhuh1jhjz/ubah}(h]h ]h"]h$]h&]hhuh1jhjg/hhhjy/hKubeh}(h]ja/ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jG ParseDataStructs.read_exceptionsjHj/ParseDataStructsread_exceptionsjJ"ParseDataStructs.read_exceptions()uh1jhjy/hKhjd/hhubjL)}(hhh]j)}(hlib.python.kdoc.parse_data_structs.ParseDataStructs.store_linehNtauh1hhj'hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.store_linehNubj)}(hhh](j)}(h!ParseDataStructs.store_line(line)h](j)}(h store_lineh]h store_line}(hj0hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj0hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.store_linehKubj)}(hlineh]j)}(hlineh]j)}(hlineh]hline}(hj.0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj*0ubah}(h]h ]h"]h$]h&]hhuh1jhj&0ubah}(h]h ]h"]h$]h&]hhuh1jhj0hhhj%0hKubeh}(h]j 0ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jGParseDataStructs.store_linejHjN0ParseDataStructs store_linejJParseDataStructs.store_line()uh1jhj%0hKhj0hhubjL)}(hhh]j)}(h-Store a line at self.data, properly indented.h]h-Store a line at self.data, properly indented.}(hjW0hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0hKhjT0hhubah}(h]h ]h"]h$]h&]uh1jKhj0hhhj%0hKubeh}(h]h ](pymethodeh"]h$]h&]jjn0jjo0jjo0j j j uh1jhhhj'hj0hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jIstore_type() (lib.python.kdoc.parse_data_structs.ParseDataStructs method)>lib.python.kdoc.parse_data_structs.ParseDataStructs.store_typehNtauh1hhj'hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.store_typehNubj)}(hhh](j)}(hParseDataStructs.store_type(ln, symbol_type: str, symbol: str, ref_name: ~typing.Optional[str] = None, replace_underscores: bool = True)h](j)}(h store_typeh]h store_type}(hj0hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj0hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.store_typehKubj)}(hkln, symbol_type: str, symbol: str, ref_name: ~typing.Optional[str] = None, replace_underscores: bool = Trueh](j)}(hlnh]j)}(hlnh]hln}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0ubah}(h]h ]h"]h$]h&]hhuh1jhj0ubj)}(hsymbol_type: strh](j)}(h symbol_typeh]h symbol_type}(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0ubj )}(h:h]h:}(hj0hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj0ubj)}(h h]h }(hj0hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj0ubj)}(hstrh]h)}(hhh]hstr}(hj0hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetstr refspecific py:modulej'py:classj-'uh1hhj0ubah}(h]h ]jah"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]hhuh1jhj0ubj)}(h symbol: strh](j)}(hsymbolh]hsymbol}(hj 1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubj )}(h:h]h:}(hj1hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj1ubj)}(h h]h }(hj&1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj1ubj)}(hstrh]h)}(hhh]hstr}(hj81hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetstr refspecific py:modulej'py:classj-'uh1hhj41ubah}(h]h ]jah"]h$]h&]uh1jhj1ubeh}(h]h ]h"]h$]h&]hhuh1jhj0ubj)}(href_name: Optional[str] = Noneh](j)}(href_nameh]href_name}(hj\1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjX1ubj )}(h:h]h:}(hjj1hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjX1ubj)}(h h]h }(hjx1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjX1ubj)}(h Optional[str]h](h)}(hhh]hOptional}(hj1hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypej. reftargettyping.Optional refspecific py:modulej'py:classj-'uh1hhj1ubj )}(h[h]h[}(hj1hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj1ubh)}(hhh]hstr}(hj1hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetstr refspecific py:modulej'py:classj-'uh1hhj1ubj )}(h]h]h]}(hj1hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj1ubeh}(h]h ]jah"]h$]h&]uh1jhjX1ubj)}(h h]h }(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjX1ubj)}(h=h]h=}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjX1ubj)}(h h]h }(hj1hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjX1ubj)}(hNoneh]hNone}(hj1hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhjX1ubeh}(h]h ]h"]h$]h&]hhuh1jhj0ubj)}(h replace_underscores: bool = Trueh](j)}(hreplace_underscoresh]hreplace_underscores}(hj2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2ubj )}(h:h]h:}(hj%2hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj2ubj)}(h h]h }(hj32hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2ubj)}(hboolh]h)}(hhh]hbool}(hjE2hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetbool refspecific py:modulej'py:classj-'uh1hhjA2ubah}(h]h ]jah"]h$]h&]uh1jhj2ubj)}(h h]h }(hj_2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2ubj)}(h=h]h=}(hjm2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2ubj)}(h h]h }(hj{2hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj2ubj)}(hTrueh]hTrue}(hj2hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj2ubeh}(h]h ]h"]h$]h&]hhuh1jhj0ubeh}(h]h ]h"]h$]h&]hhuh1jhj0hhhj0hKubeh}(h]j0ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jGParseDataStructs.store_typejHj2ParseDataStructs store_typejJParseDataStructs.store_type()uh1jhj0hKhj0hhubjL)}(hhh](j)}(h5Store a new symbol at self.symbols under symbol_type.h]h5Store a new symbol at self.symbols under symbol_type.}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj0hKhj2hhubj)}(h.By default, underscores are replaced by ``-``.h](h(By default, underscores are replaced by }(hj2hhhNhNubjO)}(h``-``h]h-}(hj2hhhNhNubah}(h]h ]h"]h$]h&]uh1jNhj2ubh.}(hj2hhhNhNubeh}(h]h ]h"]h$]h&]uh1jhj0hKhj2hhubeh}(h]h ]h"]h$]h&]uh1jKhj0hhhj0hKubeh}(h]h ](pymethodeh"]h$]h&]jj2jj2jj2j j j uh1jhhhj'hj0hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jKwrite_output() (lib.python.kdoc.parse_data_structs.ParseDataStructs method)@lib.python.kdoc.parse_data_structs.ParseDataStructs.write_outputhNtauh1hhj'hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.write_outputhNubj)}(hhh](j)}(hEParseDataStructs.write_output(file_in: str, file_out: str, toc: bool)h](j)}(h write_outputh]h write_output}(hj3hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj3hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structs.ParseDataStructs.write_outputhKubj)}(h&file_in: str, file_out: str, toc: boolh](j)}(h file_in: strh](j)}(hfile_inh]hfile_in}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubj )}(h:h]h:}(hj*3hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj3ubj)}(h h]h }(hj83hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubj)}(hstrh]h)}(hhh]hstr}(hjJ3hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetstr refspecific py:modulej'py:classj-'uh1hhjF3ubah}(h]h ]jah"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]hhuh1jhj3ubj)}(h file_out: strh](j)}(hfile_outh]hfile_out}(hjn3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjj3ubj )}(h:h]h:}(hj|3hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hjj3ubj)}(h h]h }(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjj3ubj)}(hstrh]h)}(hhh]hstr}(hj3hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetstr refspecific py:modulej'py:classj-'uh1hhj3ubah}(h]h ]jah"]h$]h&]uh1jhjj3ubeh}(h]h ]h"]h$]h&]hhuh1jhj3ubj)}(h toc: boolh](j)}(htoch]htoc}(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubj )}(h:h]h:}(hj3hhhNhNubah}(h]h ]j ah"]h$]h&]uh1j hj3ubj)}(h h]h }(hj3hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj3ubj)}(hboolh]h)}(hhh]hbool}(hj3hhhNhNubah}(h]h ]h"]h$]h&] refdomainj}'reftypejF reftargetbool refspecific py:modulej'py:classj-'uh1hhj3ubah}(h]h ]jah"]h$]h&]uh1jhj3ubeh}(h]h ]h"]h$]h&]hhuh1jhj3ubeh}(h]h ]h"]h$]h&]hhuh1jhj3hhhj3hKubeh}(h]j2ah ](j?j@eh"]h$]h&]jD"lib.python.kdoc.parse_data_structsjFj-'jGParseDataStructs.write_outputjHj4ParseDataStructs write_outputjJParseDataStructs.write_output()uh1jhj3hKhj2hhubjL)}(hhh]j)}(hWrite a ReST output file.h]hWrite a ReST output file.}(hj#4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj2hKhj 4hhubah}(h]h ]h"]h$]h&]uh1jKhj2hhhj3hKubeh}(h]h ](pymethodeh"]h$]h&]jj:4jj;4jj;4j j j uh1jhhhj'hj2hNubeh}(h]h ]h"]h$]h&]uh1jKhj&hhhj'hKubeh}(h]h ](pyclasseh"]h$]h&]jjH4jjI4jjI4j j j uh1jhhhj+&hNhNubeh}(h](jH&kernel-c-file-include-logiceh ]h"]kernel c file include logicah$]h&]uh1hhhhhhhhK*ubh)}(hhh](h)}(h Python version ancillary methodsh]h Python version ancillary methods}(hjX4hhhNhNubah}(h]h ]h"]h$]h&]uh1hhjU4hhhhhK2ubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h&module; lib.python.kdoc.python_version%module-lib.python.kdoc.python_versionhNtauh1hhjU4hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_versionhNubj)}(h"Handle Python version check logic.h]h"Handle Python version check logic.}(hju4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjt4hKhjU4hhubj)}(hNot all Python versions are supported by scripts. Yet, on some cases, like during documentation build, a newer version of python could be available.h]hNot all Python versions are supported by scripts. Yet, on some cases, like during documentation build, a newer version of python could be available.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjt4hKhjU4hhubj)}(hDThis class allows checking if the minimal requirements are followed.h]hDThis class allows checking if the minimal requirements are followed.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjt4hKhjU4hhubj)}(hBetter than that, PythonVersion.check_python() not only checks the minimal requirements, but it automatically switches to a the newest available Python version if present.h]hBetter than that, PythonVersion.check_python() not only checks the minimal requirements, but it automatically switches to a the newest available Python version if present.}(hj4hhhNhNubah}(h]h ]h"]h$]h&]uh1jhjt4hK hjU4hhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j7PythonVersion (class in lib.python.kdoc.python_version),lib.python.kdoc.python_version.PythonVersionhNtauh1hhjU4hhhNhNubj)}(hhh](j)}(hPythonVersion(version)h](j)}(h2[<#text: 'class'>, >]h](hclass}(hj4hhhNhNubj)}(h h]h }(hj4hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubeh}(h]h ]h"]h$]h&]hhuh1jhj4hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersionhKubj)}(hlib.python.kdoc.python_version.h]hlib.python.kdoc.python_version.}(hj4hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj4hhhj4hKubj)}(h PythonVersionh]h PythonVersion}(hj4hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj4hhhj4hKubj)}(hversionh]j)}(hversionh]j)}(hversionh]hversion}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj4ubah}(h]h ]h"]h$]h&]hhuh1jhj4ubah}(h]h ]h"]h$]h&]hhuh1jhj4hhhj4hKubeh}(h]j4ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.python_versionjFhjGj4jHj#5j4jJj4uh1jhj4hKhj4hhubjL)}(hhh](j)}(hBases: :py:class:`object`h](hBases: }(hj(5hhhNhNubh)}(h:py:class:`object`h]jO)}(hj25h]hobject}(hj45hhhNhNubah}(h]h ](jfpypy-classeh"]h$]h&]uh1jNhj05ubah}(h]h ]h"]h$]h&]refdocjs refdomainj>5reftypeclass refexplicitrefwarnjyj#5jzj4j{objectuh1hh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_versionhKhj(5ubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersionhKhj%5hhubj)}(hAncillary methods that checks for missing dependencies for different types of types, like binaries, python modules, rpm deps, etc.h]hAncillary methods that checks for missing dependencies for different types of types, like binaries, python modules, rpm deps, etc.}(hjX5hhhNhNubah}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersionhKhj%5hhubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jKcheck_python() (lib.python.kdoc.python_version.PythonVersion static method)9lib.python.kdoc.python_version.PythonVersion.check_pythonhNtauh1hhj%5hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.check_pythonhNubj)}(hhh](j)}(hhPythonVersion.check_python(min_version, show_alternatives=False, bail_out=False, success_on_error=False)h](j)}(h3[<#text: 'static'>, >]h](hstatic}(hj}5hhhNhNubj)}(h h]h }(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj}5ubeh}(h]h ]h"]h$]h&]hhuh1jhjy5hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.check_pythonhKubj)}(h check_pythonh]h check_python}(hj5hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhjy5hhhj5hKubj)}(hLmin_version, show_alternatives=False, bail_out=False, success_on_error=Falseh](j)}(h min_versionh]j)}(h min_versionh]h min_version}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5ubah}(h]h ]h"]h$]h&]hhuh1jhj5ubj)}(hshow_alternatives=Falseh](j)}(hshow_alternativesh]hshow_alternatives}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5ubj)}(h=h]h=}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5ubj)}(hFalseh]hFalse}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj5ubeh}(h]h ]h"]h$]h&]hhuh1jhj5ubj)}(hbail_out=Falseh](j)}(hbail_outh]hbail_out}(hj5hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5ubj)}(h=h]h=}(hj 6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj5ubj)}(hFalseh]hFalse}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj5ubeh}(h]h ]h"]h$]h&]hhuh1jhj5ubj)}(hsuccess_on_error=Falseh](j)}(hsuccess_on_errorh]hsuccess_on_error}(hj26hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.6ubj)}(h=h]h=}(hj@6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj.6ubj)}(hFalseh]hFalse}(hjN6hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj.6ubeh}(h]h ]h"]h$]h&]hhuh1jhj5ubeh}(h]h ]h"]h$]h&]hhuh1jhjy5hhhj5hKubeh}(h]js5ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.python_versionjFj4jGPythonVersion.check_pythonjHjo6 PythonVersion check_pythonjJPythonVersion.check_python()uh1jhj5hKhjv5hhubjL)}(hhh]j)}(hCheck if the current python binary satisfies our minimal requirement for Sphinx build. If not, re-run with a newer version if found.h]hCheck if the current python binary satisfies our minimal requirement for Sphinx build. If not, re-run with a newer version if found.}(hjx6hhhNhNubah}(h]h ]h"]h$]h&]uh1jhju5hKhju6hhubah}(h]h ]h"]h$]h&]uh1jKhjv5hhhj5hKubeh}(h]h ](pymethodeh"]h$]h&]jj6jj6jj6j j j uh1jhhhj%5hju5hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jHcmd_print() (lib.python.kdoc.python_version.PythonVersion static method)6lib.python.kdoc.python_version.PythonVersion.cmd_printhNtauh1hhj%5hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.cmd_printhNubj)}(hhh](j)}(h(PythonVersion.cmd_print(cmd, max_len=80)h](j)}(h3[<#text: 'static'>, >]h](hstatic}(hj6hhhNhNubj)}(h h]h }(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubeh}(h]h ]h"]h$]h&]hhuh1jhj6hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.cmd_printhKubj)}(h cmd_printh]h cmd_print}(hj6hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj6hhhj6hKubj)}(hcmd, max_len=80h](j)}(hcmdh]j)}(hcmdh]hcmd}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubah}(h]h ]h"]h$]h&]hhuh1jhj6ubj)}(h max_len=80h](j)}(hmax_lenh]hmax_len}(hj6hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubj)}(h=h]h=}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj6ubj)}(h80h]h80}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhj6ubeh}(h]h ]h"]h$]h&]hhuh1jhj6ubeh}(h]h ]h"]h$]h&]hhuh1jhj6hhhj6hKubeh}(h]j6ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.python_versionjFj4jGPythonVersion.cmd_printjHj27 PythonVersion cmd_printjJPythonVersion.cmd_print()uh1jhj6hKhj6hhubjL)}(hhh]j)}(h0Outputs a command line, repecting maximum width.h]h0Outputs a command line, repecting maximum width.}(hj;7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj6hKhj87hhubah}(h]h ]h"]h$]h&]uh1jKhj6hhhj6hKubeh}(h]h ](pymethodeh"]h$]h&]jjR7jjS7jjS7j j j uh1jhhhj%5hj6hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jJfind_python() (lib.python.kdoc.python_version.PythonVersion static method)8lib.python.kdoc.python_version.PythonVersion.find_pythonhNtauh1hhj%5hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.find_pythonhNubj)}(hhh](j)}(h&PythonVersion.find_python(min_version)h](j)}(h3[<#text: 'static'>, >]h](hstatic}(hjm7hhhNhNubj)}(h h]h }(hju7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjm7ubeh}(h]h ]h"]h$]h&]hhuh1jhji7hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.find_pythonhKubj)}(h find_pythonh]h find_python}(hj7hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhji7hhhj7hKubj)}(h min_versionh]j)}(h min_versionh]j)}(h min_versionh]h min_version}(hj7hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj7ubah}(h]h ]h"]h$]h&]hhuh1jhj7ubah}(h]h ]h"]h$]h&]hhuh1jhji7hhhj7hKubeh}(h]jc7ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.python_versionjFj4jGPythonVersion.find_pythonjHj7 PythonVersion find_pythonjJPythonVersion.find_python()uh1jhj7hKhjf7hhubjL)}(hhh](j)}(hKDetect if are out there any python 3.xy version newer than the current one.h]hKDetect if are out there any python 3.xy version newer than the current one.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhje7hKhj7hhubj)}(h}Note: this routine is limited to up to 2 digits for python3. We may need to update it one day, hopefully on a distant future.h]h}Note: this routine is limited to up to 2 digits for python3. We may need to update it one day, hopefully on a distant future.}(hj7hhhNhNubah}(h]h ]h"]h$]h&]uh1jhje7hKhj7hhubeh}(h]h ]h"]h$]h&]uh1jKhjf7hhhj7hKubeh}(h]h ](pymethodeh"]h$]h&]jj7jj7jj7j j j uh1jhhhj%5hje7hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jQget_python_version() (lib.python.kdoc.python_version.PythonVersion static method)?lib.python.kdoc.python_version.PythonVersion.get_python_versionhNtauh1hhj%5hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.get_python_versionhNubj)}(hhh](j)}(h%PythonVersion.get_python_version(cmd)h](j)}(h3[<#text: 'static'>, >]h](hstatic}(hj 8hhhNhNubj)}(h h]h }(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj 8ubeh}(h]h ]h"]h$]h&]hhuh1jhj8hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.get_python_versionhKubj)}(hget_python_versionh]hget_python_version}(hj&8hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj8hhhj%8hKubj)}(hcmdh]j)}(hcmdh]j)}(hcmdh]hcmd}(hj<8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj88ubah}(h]h ]h"]h$]h&]hhuh1jhj48ubah}(h]h ]h"]h$]h&]hhuh1jhj8hhhj%8hKubeh}(h]j7ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.python_versionjFj4jG PythonVersion.get_python_versionjHj\8 PythonVersionget_python_versionjJ"PythonVersion.get_python_version()uh1jhj%8hKhj8hhubjL)}(hhh]j)}(hGet python version from a Python binary. As we need to detect if are out there newer python binaries, we can't rely on sys.release here.h]hGet python version from a Python binary. As we need to detect if are out there newer python binaries, we can’t rely on sys.release here.}(hje8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8hKhjb8hhubah}(h]h ]h"]h$]h&]uh1jKhj8hhhj%8hKubeh}(h]h ](pymethodeh"]h$]h&]jj|8jj}8jj}8j j j uh1jhhhj%5hj8hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jLparse_version() (lib.python.kdoc.python_version.PythonVersion static method):lib.python.kdoc.python_version.PythonVersion.parse_versionhNtauh1hhj%5hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.parse_versionhNubj)}(hhh](j)}(h$PythonVersion.parse_version(version)h](j)}(h3[<#text: 'static'>, >]h](hstatic}(hj8hhhNhNubj)}(h h]h }(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8ubeh}(h]h ]h"]h$]h&]hhuh1jhj8hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.parse_versionhKubj)}(h parse_versionh]h parse_version}(hj8hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj8hhhj8hKubj)}(hversionh]j)}(hversionh]j)}(hversionh]hversion}(hj8hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj8ubah}(h]h ]h"]h$]h&]hhuh1jhj8ubah}(h]h ]h"]h$]h&]hhuh1jhj8hhhj8hKubeh}(h]j8ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.python_versionjFj4jGPythonVersion.parse_versionjHj8 PythonVersion parse_versionjJPythonVersion.parse_version()uh1jhj8hKhj8hhubjL)}(hhh]j)}(h1Convert a major.minor.patch version into a tuple.h]h1Convert a major.minor.patch version into a tuple.}(hj8hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj8hKhj8hhubah}(h]h ]h"]h$]h&]uh1jKhj8hhhj8hKubeh}(h]h ](pymethodeh"]h$]h&]jj 9jj 9jj 9j j j uh1jhhhj%5hj8hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jFver_str() (lib.python.kdoc.python_version.PythonVersion static method)4lib.python.kdoc.python_version.PythonVersion.ver_strhNtauh1hhj%5hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.ver_strhNubj)}(hhh](j)}(hPythonVersion.ver_str(version)h](j)}(h3[<#text: 'static'>, >]h](hstatic}(hj%9hhhNhNubj)}(h h]h }(hj-9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj%9ubeh}(h]h ]h"]h$]h&]hhuh1jhj!9hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_version.PythonVersion.ver_strhKubj)}(hver_strh]hver_str}(hjB9hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj!9hhhjA9hKubj)}(hversionh]j)}(hversionh]j)}(hversionh]hversion}(hjX9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjT9ubah}(h]h ]h"]h$]h&]hhuh1jhjP9ubah}(h]h ]h"]h$]h&]hhuh1jhj!9hhhjA9hKubeh}(h]j9ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.python_versionjFj4jGPythonVersion.ver_strjHjx9 PythonVersionver_strjJPythonVersion.ver_str()uh1jhjA9hKhj9hhubjL)}(hhh]j)}(h-Returns a version tuple as major.minor.patch.h]h-Returns a version tuple as major.minor.patch.}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj9hKhj~9hhubah}(h]h ]h"]h$]h&]uh1jKhj9hhhjA9hKubeh}(h]h ](pymethodeh"]h$]h&]jj9jj9jj9j j j uh1jhhhj%5hj9hNubeh}(h]h ]h"]h$]h&]uh1jKhj4hhhj4hKubeh}(h]h ](pyclasseh"]h$]h&]jj9jj9jj9j j j uh1jhhhjU4hNhNubeh}(h](jr4 python-version-ancillary-methodseh ]h"] python version ancillary methodsah$]h&]uh1hhhhhhhhK2ubh)}(hhh](h)}(hWrite output on YAML fileh]hWrite output on YAML file}(hj9hhhNhNubah}(h]h ]h"]h$]h&]uh1hhj9hhhhhK:ubh)}(hhh]h}(h]h ]h"]h$]h&]entries](h&module; lib.python.kdoc.kdoc_yaml_file%module-lib.python.kdoc.kdoc_yaml_filehNtauh1hhj9hhhNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](j6KDocTestFile (class in lib.python.kdoc.kdoc_yaml_file)+lib.python.kdoc.kdoc_yaml_file.KDocTestFilehNtauh1hhj9hhhNhNubj)}(hhh](j)}(h-KDocTestFile(config, yaml_file, yaml_content)h](j)}(h2[<#text: 'class'>, >]h](hclass}(hj9hhhNhNubj)}(h h]h }(hj9hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj9ubeh}(h]h ]h"]h$]h&]hhuh1jhj9hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_file.KDocTestFilehKubj)}(hlib.python.kdoc.kdoc_yaml_file.h]hlib.python.kdoc.kdoc_yaml_file.}(hj:hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj9hhhj:hKubj)}(h KDocTestFileh]h KDocTestFile}(hj:hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj9hhhj:hKubj)}(hconfig, yaml_file, yaml_contenth](j)}(hconfigh]j)}(hconfigh]hconfig}(hj(:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj$:ubah}(h]h ]h"]h$]h&]hhuh1jhj :ubj)}(h yaml_fileh]j)}(h yaml_fileh]h yaml_file}(hj@:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<:ubah}(h]h ]h"]h$]h&]hhuh1jhj :ubj)}(h yaml_contenth]j)}(h yaml_contenth]h yaml_content}(hjX:hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjT:ubah}(h]h ]h"]h$]h&]hhuh1jhj :ubeh}(h]h ]h"]h$]h&]hhuh1jhj9hhhj:hKubeh}(h]j9ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_yaml_filejFhjGj:jHjx:j:jJj:uh1jhj:hKhj9hhubjL)}(hhh](j)}(hBases: :py:class:`object`h](hBases: }(hj}:hhhNhNubh)}(h:py:class:`object`h]jO)}(hj:h]hobject}(hj:hhhNhNubah}(h]h ](jfpypy-classeh"]h$]h&]uh1jNhj:ubah}(h]h ]h"]h$]h&]refdocjs; refdomainj:reftypeclass refexplicitrefwarnjyjx:jzj:j{objectuh1hh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_filehKhj}:ubeh}(h]h ]h"]h$]h&]uh1jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_file.KDocTestFilehKhjz:hhubj))}(hhh]j))}(hwHandles the logic needed to store kernel‑doc output inside a YAML file. Useful for unit tests and regression tests. h](j))}(hIHandles the logic needed to store kernel‑doc output inside a YAML file.h]hIHandles the logic needed to store kernel‑doc output inside a YAML file.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1j)h/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_file.KDocTestFilehKhj:ubj))}(hhh]j)}(h+Useful for unit tests and regression tests.h]h+Useful for unit tests and regression tests.}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj:hKhj:ubah}(h]h ]h"]h$]h&]uh1j)hj:ubeh}(h]h ]h"]h$]h&]uh1j)hj:hKhj:ubah}(h]h ]h"]h$]h&]uh1j)hjz:hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_file.KDocTestFile.get_kdoc_itemhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jKget_kdoc_item() (lib.python.kdoc.kdoc_yaml_file.KDocTestFile static method)9lib.python.kdoc.kdoc_yaml_file.KDocTestFile.get_kdoc_itemhNtauh1hhjz:hhhNhNubj)}(hhh](j)}(h-KDocTestFile.get_kdoc_item(arg, start_line=1)h](j)}(h3[<#text: 'static'>, >]h](hstatic}(hj:hhhNhNubj)}(h h]h }(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj:ubeh}(h]h ]h"]h$]h&]hhuh1jhj:hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_file.KDocTestFile.get_kdoc_itemhKubj)}(h get_kdoc_itemh]h get_kdoc_item}(hj;hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj:hhhj;hKubj)}(harg, start_line=1h](j)}(hargh]j)}(hargh]harg}(hj/;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj+;ubah}(h]h ]h"]h$]h&]hhuh1jhj';ubj)}(h start_line=1h](j)}(h start_lineh]h start_line}(hjG;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjC;ubj)}(h=h]h=}(hjU;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjC;ubj)}(h1h]h1}(hjc;hhhNhNubah}(h]h ]jah"]h$]h&]support_smartquotesuh1jhjC;ubeh}(h]h ]h"]h$]h&]hhuh1jhj';ubeh}(h]h ]h"]h$]h&]hhuh1jhj:hhhj;hKubeh}(h]j:ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_yaml_filejFj:jGKDocTestFile.get_kdoc_itemjHj; KDocTestFile get_kdoc_itemjJKDocTestFile.get_kdoc_item()uh1jhj;hKhj:hhubjL)}(hhh]h}(h]h ]h"]h$]h&]uh1jKhj:hhhj;hKubeh}(h]h ](pymethodeh"]h$]h&]jj;jj;jj;j j j uh1jhhhjz:hNhNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jEoutput_symbols() (lib.python.kdoc.kdoc_yaml_file.KDocTestFile method):lib.python.kdoc.kdoc_yaml_file.KDocTestFile.output_symbolshNtauh1hhjz:hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_file.KDocTestFile.output_symbolshNubj)}(hhh](j)}(h+KDocTestFile.output_symbols(fname, symbols)h](j)}(houtput_symbolsh]houtput_symbols}(hj;hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj;hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_file.KDocTestFile.output_symbolshKubj)}(hfname, symbolsh](j)}(hfnameh]j)}(hfnameh]hfname}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]hhuh1jhj;ubj)}(hsymbolsh]j)}(hsymbolsh]hsymbols}(hj;hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj;ubah}(h]h ]h"]h$]h&]hhuh1jhj;ubeh}(h]h ]h"]h$]h&]hhuh1jhj;hhhj;hKubeh}(h]j;ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_yaml_filejFj:jGKDocTestFile.output_symbolsjHj< KDocTestFileoutput_symbolsjJKDocTestFile.output_symbols()uh1jhj;hKhj;hhubjL)}(hhh]j)}(h7Store source, symbols and output strings at self.tests.h]h7Store source, symbols and output strings at self.tests.}(hj <hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj;hKhj<hhubah}(h]h ]h"]h$]h&]uh1jKhj;hhhj;hKubeh}(h]h ](pymethodeh"]h$]h&]jj <jj!<jj!<j j j uh1jhhhjz:hj;hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jAset_filter() (lib.python.kdoc.kdoc_yaml_file.KDocTestFile method)6lib.python.kdoc.kdoc_yaml_file.KDocTestFile.set_filterhNtauh1hhjz:hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_file.KDocTestFile.set_filterhNubj)}(hhh](j)}(hkKDocTestFile.set_filter(export, internal, symbol, nosymbol, function_table, enable_lineno, no_doc_sections)h](j)}(h set_filterh]h set_filter}(hj;<hhhNhNubah}(h]h ](jjeh"]h$]h&]hhuh1jhj7<hhh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_file.KDocTestFile.set_filterhKubj)}(hRexport, internal, symbol, nosymbol, function_table, enable_lineno, no_doc_sectionsh](j)}(hexporth]j)}(hexporth]hexport}(hjR<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjN<ubah}(h]h ]h"]h$]h&]hhuh1jhjJ<ubj)}(hinternalh]j)}(hinternalh]hinternal}(hjj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhjf<ubah}(h]h ]h"]h$]h&]hhuh1jhjJ<ubj)}(hsymbolh]j)}(hsymbolh]hsymbol}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj~<ubah}(h]h ]h"]h$]h&]hhuh1jhjJ<ubj)}(hnosymbolh]j)}(hnosymbolh]hnosymbol}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]hhuh1jhjJ<ubj)}(hfunction_tableh]j)}(hfunction_tableh]hfunction_table}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]hhuh1jhjJ<ubj)}(h enable_linenoh]j)}(h enable_linenoh]h enable_lineno}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]hhuh1jhjJ<ubj)}(hno_doc_sectionsh]j)}(hno_doc_sectionsh]hno_doc_sections}(hj<hhhNhNubah}(h]h ]jah"]h$]h&]uh1jhj<ubah}(h]h ]h"]h$]h&]hhuh1jhjJ<ubeh}(h]h ]h"]h$]h&]hhuh1jhj7<hhhjI<hKubeh}(h]j1<ah ](j?j@eh"]h$]h&]jDlib.python.kdoc.kdoc_yaml_filejFj:jGKDocTestFile.set_filterjHj= KDocTestFile set_filterjJKDocTestFile.set_filter()uh1jhjI<hKhj4<hhubjL)}(hhh]j)}(h"Set filters at the output classes.h]h"Set filters at the output classes.}(hj =hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj3<hKhj=hhubah}(h]h ]h"]h$]h&]uh1jKhj4<hhhjI<hKubeh}(h]h ](pymethodeh"]h$]h&]jj"=jj#=jj#=j j j uh1jhhhjz:hj3<hNubh)}(hhh]h}(h]h ]h"]h$]h&]entries](jh/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/enrich_formatter.py:docstring of lib.python.kdoc.enrich_formatterhKhhhhubjjjjjvj"j?j>)}(hhh]h}(h]j?ah ]h"]h$]h&]ismoduh1j>hr/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_re.py:docstring of lib.python.kdoc.kdoc_rehKhj"hhubjjjojjjj%jjjj j]jcjjjAjGjjj j|jj>)}(hhh]h}(h]jah ]h"]h$]h&]ismoduh1j>hn/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/c_lex.py:docstring of lib.python.kdoc.c_lexhKhj|hhubjjjI jO j j j j j j j(j.jjjljrjjjzjj7j=jjjijojjjwj}jjjjj jjjj>jDjjj^jdjjjjjj$jjjjjjj2j8j$j*jjjFjLjjjTjZj%&j j*$j5 jm jc j jz j j j j j j js j j j !j jP!j j!j j!j"$j!j3 j>)}(hhh]h}(h]j3 ah ]h"]h$]h&]ismoduh1j>hz/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/latex_fonts.py:docstring of lib.python.kdoc.latex_fontshKhj hhubj<$jA$j%j%jm%js%j%j%jO4j+&jH&j>)}(hhh]h}(h]jH&ah ]h"]h$]h&]ismoduh1j>h/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/parse_data_structs.py:docstring of lib.python.kdoc.parse_data_structshKhj+&hhubj&j&j*j+j+j+j ,j,j,j,j,j,jE-jK-j-j-j-j-ja/jg/j 0j0j0j0j2j3j9jU4jr4j>)}(hhh]h}(h]jr4ah ]h"]h$]h&]ismoduh1j>h/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/python_version.py:docstring of lib.python.kdoc.python_versionhKhjU4hhubj4j4js5jy5j6j6jc7ji7j7j8j8j8j9j!9j=j9j9j>)}(hhh]h}(h]j9ah ]h"]h$]h&]ismoduh1j>h/var/lib/git/docbuild/linux/Documentation/../tools/lib/python/kdoc/kdoc_yaml_file.py:docstring of lib.python.kdoc.kdoc_yaml_filehKhj9hhubj9j9j:j:j;j;j1<j7<j3=j9=u footnote_refs}(j>]jc aj>]jz aj>]j aj>]j aj >]j au citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes](j j !jP!j!j!e citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}j=K sRparse_messages]hsystem_message)}(hhh]j)}(h:Enumerated list start value not ordinal-1: "2" (ordinal 2)h]h>Enumerated list start value not ordinal-1: “2” (ordinal 2)}(hj>hhhNhNubah}(h]h ]h"]h$]h&]uh1jhj>ubah}(h]h ]h"]h$]h&]levelKtypeINFOsourcej2lineKuh1j>hj'hhhj(hKubatransform_messages] transformerN include_log] decorationNhhub.