summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDimitri van Heesch <doxygen@gmail.com>2021-04-29 18:15:20 (GMT)
committerDimitri van Heesch <doxygen@gmail.com>2021-04-29 18:15:20 (GMT)
commit3735693b80b6785f9cc16c4e559ca54be8cfbffe (patch)
tree0b7ebd39be2a63a17318a22c0ab192b377580f5a
parent8f4363909baa0fada9eb2e447b458f2242426f7f (diff)
parentc6d77227efaf332a5d24bc12d32f4b1fec6b13b9 (diff)
downloadDoxygen-3735693b80b6785f9cc16c4e559ca54be8cfbffe.zip
Doxygen-3735693b80b6785f9cc16c4e559ca54be8cfbffe.tar.gz
Doxygen-3735693b80b6785f9cc16c4e559ca54be8cfbffe.tar.bz2
Merge branch 'master' of github.com:doxygen/doxygen
-rw-r--r--doc/faq.doc8
-rw-r--r--src/doxygen.cpp4
-rw-r--r--src/doxygen.h1
-rw-r--r--src/pycode.l8
-rw-r--r--src/pyscanner.l10
5 files changed, 26 insertions, 5 deletions
diff --git a/doc/faq.doc b/doc/faq.doc
index 23c523b..16765ce 100644
--- a/doc/faq.doc
+++ b/doc/faq.doc
@@ -304,6 +304,14 @@ Doc++ but that just wasn't good enough (it didn't support signals and
slots and did not have the Qt look and feel I had grown to like),
so I started to write my own tool...
+\section faq_bin How to prevent interleaved output
+
+When redirecting all the console output of doxygen, i.e. messages and warnings, this can be interleaved or
+in a non-expected order.
+The, technical, reason for this is that the `stdout` can be buffered.
+It is possible to overcome this by means of the `-b` of doxygen, like e.g `doxygen -b > out.txt 2>&1`.
+Note this might cost a little more time though.
+
\htmlonly
Go to the <a href="trouble.html">next</a> section or return to the
<a href="index.html">index</a>.
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 3850448..f003e8b 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -152,7 +152,6 @@ bool Doxygen::parseSourcesNeeded = FALSE;
SearchIndexIntf *Doxygen::searchIndex=0;
SymbolMap<Definition> Doxygen::symbolMap;
ClangUsrMap *Doxygen::clangUsrMap = 0;
-bool Doxygen::outputToWizard=FALSE;
Cache<std::string,LookupInfo> *Doxygen::lookupCache;
DirLinkedMap *Doxygen::dirLinkedMap;
DirRelationLinkedMap Doxygen::dirRelations;
@@ -10137,7 +10136,7 @@ static void devUsage()
{
msg("Developer parameters:\n");
msg(" -m dump symbol map\n");
- msg(" -b output to wizard\n");
+ msg(" -b making messages output unbuffered\n");
msg(" -T activates output generation via Django like template\n");
msg(" -d <level> enable a debug level, such as (multiple invocations of -d are possible):\n");
Debug::printFlags();
@@ -10668,7 +10667,6 @@ void readConfiguration(int argc, char **argv)
break;
case 'b':
setvbuf(stdout,NULL,_IONBF,0);
- Doxygen::outputToWizard=TRUE;
break;
case 'T':
msg("Warning: this option activates output generation via Django like template files. "
diff --git a/src/doxygen.h b/src/doxygen.h
index 3cc6934..f090f1f 100644
--- a/src/doxygen.h
+++ b/src/doxygen.h
@@ -105,7 +105,6 @@ class Doxygen
static SearchIndexIntf *searchIndex;
static SymbolMap<Definition> symbolMap;
static ClangUsrMap *clangUsrMap;
- static bool outputToWizard;
static Cache<std::string,LookupInfo> *lookupCache;
static DirLinkedMap *dirLinkedMap;
static DirRelationLinkedMap dirRelations;
diff --git a/src/pycode.l b/src/pycode.l
index 6625300..6acf333 100644
--- a/src/pycode.l
+++ b/src/pycode.l
@@ -190,7 +190,7 @@ SHORTSTRINGITEM ({SHORTSTRINGCHAR}|{ESCAPESEQ})
SHORTSTRINGCHAR [^\\\n"]
STRINGLITERAL {STRINGPREFIX}?( {SHORTSTRING} | {LONGSTRING})
STRINGPREFIX ("r"|"u"|"ur"|"R"|"U"|"UR"|"Ur"|"uR")
-KEYWORD ("lambda"|"import"|"class"|"assert"|"with"|"as"|"from"|"global"|"def"|"True"|"False")
+KEYWORD ("lambda"|"import"|"class"|"assert"|"with"|"as"|"from"|"global"|"async"|"def"|"True"|"False")
FLOWKW ("or"|"and"|"is"|"not"|"print"|"for"|"in"|"if"|"try"|"except"|"yield"|"raise"|"break"|"continue"|"pass"|"if"|"return"|"while"|"elif"|"else"|"finally")
QUOTES ("\""[^"]*"\"")
SINGLEQUOTES ("'"[^']*"'")
@@ -302,6 +302,12 @@ TARGET ({IDENTIFIER}|"("{TARGET_LIST}")"|"["{TARGET_LIST}"]"|{ATTRIBU
endFontClass(yyscanner);
BEGIN( FunctionDec );
}
+ "async"{BB}"def"{BB} {
+ startFontClass(yyscanner,"keyword");
+ codify(yyscanner,yytext);
+ endFontClass(yyscanner);
+ BEGIN( FunctionDec );
+ }
"class"{BB} {
startFontClass(yyscanner,"keyword");
diff --git a/src/pyscanner.l b/src/pyscanner.l
index 47e00a3..4f331c9 100644
--- a/src/pyscanner.l
+++ b/src/pyscanner.l
@@ -254,10 +254,20 @@ STARTDOCSYMS "##"
searchFoundDef(yyscanner);
BEGIN( FunctionDec );
}
+ ^{B}"async"{BB}"def"{BB} { // start of an async function/method definition with indent
+ DBG_CTX((stderr,"Found async def at %d\n",yyextra->yyLineNr));
+ yyextra->indent=computeIndent(yytext);
+ searchFoundDef(yyscanner);
+ BEGIN( FunctionDec );
+ }
"def"{BB} { // start of a function/method definition
searchFoundDef(yyscanner);
BEGIN( FunctionDec );
}
+ "async"{BB}"def"{BB} { // start of a function/method definition
+ searchFoundDef(yyscanner);
+ BEGIN( FunctionDec );
+ }
^{B}"class"{BB} { // start of a class definition with indent
DBG_CTX((stderr,"Found class at %d\n",yyextra->yyLineNr));