Suspend tracing and profiling in the Python thread state *tstate*.
- Resume them using the:c:func:`PyThreadState_LeaveTracing` function.
+ Resume them using the :c:func:`PyThreadState_LeaveTracing` function.
.. versionadded:: 3.11
.. c:function:: void PyThreadState_LeaveTracing(PyThreadState *tstate)
Resume tracing and profiling in the Python thread state *tstate* suspended
- by the:c:func:`PyThreadState_EnterTracing` function.
+ by the :c:func:`PyThreadState_EnterTracing` function.
See also :c:func:`PyEval_SetTrace` and :c:func:`PyEval_SetProfile`
functions.
]
roles = [
- ":class:",
- ":func:",
- ":meth:",
- ":mod:",
+ "(?<!py):class:",
+ "(?<!:c|py):func:",
+ "(?<!py):meth:",
+ "(?<!:py):mod:",
":exc:",
":issue:",
":attr:",
":ref:",
":const:",
":term:",
- ":data:",
+ "(?<!:c|py):data:",
":keyword:",
":file:",
":pep:",
# :const:`None`
role_with_no_backticks = re.compile(r"%s[^` ]" % all_roles)
+# Find role glued with another word like:
+# the:c:func:`PyThreadState_LeaveTracing` function.
+# instad of:
+# the :c:func:`PyThreadState_LeaveTracing` function.
+role_glued_with_word = re.compile(r"[a-zA-Z]%s" % all_roles)
default_role_re = re.compile(r"(^| )`\w([^`]*?\w)?`($| )")
leaked_markup_re = re.compile(r"[a-z]::\s|`|\.\.\s*\w+:")
yield lno, "role use a single backtick, double backtick found."
if role_with_no_backticks.search(line):
yield lno, "role use a single backtick, no backtick found."
+ if role_glued_with_word.search(line):
+ yield lno, "missing space before role"
if ".. productionlist::" in line:
inprod = True
elif not inprod and default_role_re.search(line):