documenting bash function with dots and dashes inside

<[email protected]> Wed, 27 May 2015 20:12:13 +0200
Newsgroups gmane.text.doxygen.devel
Message-ID <DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58@HE113566.emea1.cds.t-internal.com>
--_005_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_
Content-Type: multipart/alternative;
	boundary="_000_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_"

--_000_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

Hello,



I asked this question on the doxygen users list, but without any luck.

It would be nice if this little feature could be added to the doxygen code =
to parse bash functions correctly.

Besides of this little parser problem it works like a charm!



I found a little doxygen filter for bash functions:



http://www.cbica.upenn.edu/sbia/software/basis/apidoc/v1.0/doxyfilter-bash_=
8py_source.html



After a few changes, it works really fine for my sources (60_000 loc).

(Attached, plus Example file)



But there is a thing, which is really annoying, there are tons of bash-func=
tions, which uses a dot or a minus in the function name (which is allowed i=
n bash), for example:



function e.() {

      echo "hello"

}



function e-e() {

      echo "foo"

}



Is there a chance to add the dot and the minus for function names, so that =
doxygen is able to parse these names correctly?

It would be very helpful.



Thank you.



Best regards,

Alexander Elgert


--_000_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV=3D"Content-Type" CONTENT=
=3D"text/html; charset=3Dus-ascii"><meta name=3DGenerator content=3D"Micros=
oft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
p.MsoPlainText, li.MsoPlainText, div.MsoPlainText
	{mso-style-priority:99;
	mso-style-link:"Nur Text Zchn";
	margin:0cm;
	margin-bottom:.0001pt;
	font-size:10.5pt;
	font-family:Consolas;}
span.E-MailFormatvorlage17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
span.NurTextZchn
	{mso-style-name:"Nur Text Zchn";
	mso-style-priority:99;
	mso-style-link:"Nur Text";
	font-family:Consolas;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]--></head><body lang=3DDE link=3Dblue vlink=
=3Dpurple><div class=3DWordSection1><p class=3DMsoPlainText><span lang=3DEN=
-US>Hello,<o:p></o:p></span></p><p class=3DMsoPlainText><span lang=3DEN-US>=
<o:p>&nbsp;</o:p></span></p><p class=3DMsoPlainText><span lang=3DEN-US>I as=
ked this question on the doxygen users list, but without any luck.<o:p></o:=
p></span></p><p class=3DMsoPlainText><span lang=3DEN-US>It would be nice if=
 this little feature could be added to the doxygen code to parse bash funct=
ions correctly.<o:p></o:p></span></p><p class=3DMsoPlainText><span lang=3DE=
N-US>Besides of this little parser problem it works like a charm!<o:p></o:p=
></span></p><p class=3DMsoPlainText><span lang=3DEN-US><o:p>&nbsp;</o:p></s=
pan></p><p class=3DMsoPlainText><span lang=3DEN-US>I found a little doxygen=
 filter for bash functions:<o:p></o:p></span></p><p class=3DMsoPlainText><s=
pan lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoPlainText><a hre=
f=3D"http://www.cbica.upenn.edu/sbia/software/basis/apidoc/v1.0/doxyfilter-=
bash_8py_source.html"><span lang=3DEN-US>http://www.cbica.upenn.edu/sbia/so=
ftware/basis/apidoc/v1.0/doxyfilter-bash_8py_source.html</span></a><span la=
ng=3DEN-US><o:p></o:p></span></p><p class=3DMsoPlainText><span lang=3DEN-US=
><o:p>&nbsp;</o:p></span></p><p class=3DMsoPlainText><span lang=3DEN-US>Aft=
er a few changes, it works really fine for my sources (60_000 loc).<o:p></o=
:p></span></p><p class=3DMsoPlainText><span lang=3DEN-US>(Attached, plus Ex=
ample file)<o:p></o:p></span></p><p class=3DMsoPlainText><span lang=3DEN-US=
><o:p>&nbsp;</o:p></span></p><p class=3DMsoPlainText><span lang=3DEN-US>But=
 there is a thing, which is really annoying, there are tons of bash-functio=
ns, which uses a dot or a minus in the function name (which is allowed in b=
ash), for example:<o:p></o:p></span></p><p class=3DMsoPlainText><span lang=
=3DEN-US><o:p>&nbsp;</o:p></span></p><p class=3DMsoPlainText><span lang=3DE=
N-US>function e.() {<o:p></o:p></span></p><p class=3DMsoPlainText><span lan=
g=3DEN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; echo &quot;hello&quot;<o:p></o:p><=
/span></p><p class=3DMsoPlainText><span lang=3DEN-US>}<o:p></o:p></span></p=
><p class=3DMsoPlainText><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p><p =
class=3DMsoPlainText><span lang=3DEN-US>function e-e() {<o:p></o:p></span><=
/p><p class=3DMsoPlainText><span lang=3DEN-US>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp=
; echo &quot;foo&quot;<o:p></o:p></span></p><p class=3DMsoPlainText><span l=
ang=3DEN-US>}<o:p></o:p></span></p><p class=3DMsoPlainText><span lang=3DEN-=
US><o:p>&nbsp;</o:p></span></p><p class=3DMsoPlainText><span lang=3DEN-US>I=
s there a chance to add the dot and the minus for function names, so that d=
oxygen is able to parse these names correctly?<o:p></o:p></span></p><p clas=
s=3DMsoPlainText><span lang=3DEN-US>It would be very helpful.<o:p></o:p></s=
pan></p><p class=3DMsoPlainText><span lang=3DEN-US><o:p>&nbsp;</o:p></span>=
</p><p class=3DMsoPlainText><span lang=3DEN-US>Thank you.<o:p></o:p></span>=
</p><p class=3DMsoPlainText><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p>=
<p class=3DMsoPlainText><span lang=3DEN-US>Best regards,<o:p></o:p></span><=
/p><p class=3DMsoPlainText><span lang=3DEN-US>Alexander Elgert<o:p></o:p></=
span></p><p class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></=
p></div></body></html>=

--_000_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_--

--_005_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_
Content-Type: application/octet-stream; name="zbashrc2_test"
Content-Description: zbashrc2_test
Content-Disposition: attachment; filename="zbashrc2_test"; size=719;
	creation-date="Wed, 27 May 2015 18:10:01 GMT";
	modification-date="Wed, 27 May 2015 18:11:37 GMT"
Content-Transfer-Encoding: base64

IyMgb3BlbnMgYW4gZXhwbG9yZXIgd2luZG93CiMjIFxwYXJhbSBkaXIgICB0aGUgZGlyZWN0b3J5
IHRvIGJlIG9wZW5lZCwgdGhlIGFjdHVhbCBkaXIgaXMgdXNlZCwgaWYgbm9uZSBpcyBnaXZlbgpm
dW5jdGlvbiBlLiAoKSB7CiAgICBsb2NhbCBkaWZpOwogICAgY2FzZSAiJDEiIGluCiAgICAgICAg
Jy0nKiB8ICctLScqKQogICAgICAgICAgICBlY2hvICJVc2FnZTogJEZVTkNOQU1FIDxkaXJfb3Jf
ZmlsZT4iOwogICAgICAgICAgICByZXR1cm4gMQogICAgICAgIDs7CiAgICBlc2FjOwogICAgZm9y
IGRpZmkgaW4gIiR7QDotLn0iOwogICAgZG8KICAgICAgICBpZiBbICEgLWUgIiRkaWZpIiBdOyB0
aGVuCiAgICAgICAgICAgIGVjaG8gIiRGVU5DTkFNRTogRXJyb3IsIG5vIHN1Y2ggZmlsZSBvciBk
aXJlY3Rvcnk6ICRkaWZpIjsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgZmk7CiAgICAg
ICAgaWYgWyAtZiAiJGRpZmkiIF07IHRoZW4KICAgICAgICAgICAgZXhwbG9yZXIgIi9zZWxlY3Qs
JChjeWdwYXRoIC13ICRkaWZpKSI7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIGZpOwog
ICAgICAgIFsgIi4iICE9ICIkZGlmaSIgXSAmJiBkaWZpPSIkKGN5Z3BhdGggLXcgJGRpZmkpIjsK
ICAgICAgICBleHBsb3JlciAiJGRpZmkiOwogICAgZG9uZQp9CgpmdW5jdGlvbiBlZSgpIHsKICAg
IGVfRE9UXwp9CgpmdW5jdGlvbiBmZigpIHsKICAgIGVlCn0=

--_005_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_
Content-Type: application/octet-stream; name="doxyfilter-bash.py"
Content-Description: doxyfilter-bash.py
Content-Disposition: attachment; filename="doxyfilter-bash.py"; size=7018;
	creation-date="Wed, 27 May 2015 18:10:03 GMT";
	modification-date="Wed, 27 May 2015 18:10:03 GMT"
Content-Transfer-Encoding: base64

IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQGZpbGUgIGRveHlmaWx0ZXItYmFzaC5weQojIEBicmll
ZiBEb3h5Z2VuIGZpbHRlciBmb3IgQkFTSCBzY3JpcHRzLgojCiMgQ29weXJpZ2h0IChjKSAyMDEx
IFVuaXZlcnNpdHkgb2YgUGVubnN5bHZhbmlhLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxiciAvPgoj
IFNlZSBodHRwOi8vd3d3LnJhZC51cGVubi5lZHUvc2JpYS9zb2Z0d2FyZS9saWNlbnNlLmh0bWwg
b3IgQ09QWUlORyBmaWxlLgojCiMgQ29udGFjdDogU0JJQSBHcm91cCA8c2JpYS1zb2Z0d2FyZSBh
dCB1cGhzLnVwZW5uLmVkdT4KIwojIEBpbmdyb3VwIFRvb2xzCiMjIyMjIyMjIyMjIyMjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj
IwoKaW1wb3J0IHN5cwppbXBvcnQgcmUKaW1wb3J0IHNxbGl0ZTMKCmlmIF9fbmFtZV9fID09ICJf
X21haW5fXyI6CiAgICBjb25uID0gc3FsaXRlMy5jb25uZWN0KCdkb3h5Z2VuLnNxbGl0ZScpCiAg
ICBzcWxjID0gY29ubi5jdXJzb3IoKQogICAgI2MuZXhlY3V0ZSgnJydEUk9QIFRBQkxFIElGIEVY
SVNUUyBmdW5jcycnJykKICAgIHNxbGMuZXhlY3V0ZSgnJydDUkVBVEUgVEFCTEUgSUYgTk9UIEVY
SVNUUyBmdW5jcyAoZnVuY25hbWUgdGV4dCBQUklNQVJZIEtFWSknJycpICMgdGFibGUgZnVuY3Mg
Y3JlYXRlZAogICAgIyBwYXJzZSBhcmd1bWVudHMKICAgIGlmIGxlbihzeXMuYXJndikgIT0gMjoK
ICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJObyBmaWxlIHNwZWNpZmllZCB0byBwcm9jZXNzIVxu
IikKICAgICAgICBzeXMuc3RkZXJyLmNsb3NlKCkKICAgICAgICBzeXMuZXhpdCgxKQogICAgZmls
ZU5hbWUgPSBzeXMuYXJndiBbMV0KICAgICMgb3BlbiBpbnB1dCBmaWxlCiAgICBmaCA9IG9wZW4o
ZmlsZU5hbWUsICdyJykKICAgIGlmIG5vdCBmaDoKICAgICAgICBzeXMuc3RkZXJyLndyaXRlKCJG
YWlsZWQgdG8gb3BlbiBmaWxlICIgKyBmaWxlTmFtZSArICIgZm9yIHJlYWRpbmchXG4iKQogICAg
ICAgIHN5cy5zdGRlcnIuY2xvc2UoKQogICAgICAgIHN5cy5leGl0KDEpCiAgICAjIGNvbXBpbGUg
cmVndWxhciBleHByZXNzaW9ucwogICAgcmVTaGFCYW5nICAgICAgID0gcmUuY29tcGlsZShyIiMh
XHMqL3Vzci9iaW4vZW52XHMrYmFzaCR8IyFccyovYmluL2Jhc2gkIikKICAgIHJlSW5jbHVkZSAg
ICAgICA9IHJlLmNvbXBpbGUociIoc291cmNlfFwuKVxzK1tcIiddPyhcJFNJVVhCSU4vKT8oP1A8
bW9kdWxlPlteI3wmXSspW1wiJ10/KFxzKiMuKik/JCIpCiAgICByZUZ1bmN0aW9uU3RhcnQgPSBy
ZS5jb21waWxlKHIiZnVuY3Rpb25ccyooP1A8bmFtZTE+W1x3XC4tXSspXHMqez98KD9QPG5hbWUy
Plx3KylccypcKFxzKlwpXHMqez9ccyoiKQogICAgcmVGdW5jdGlvbkVuZCAgID0gcmUuY29tcGls
ZShyIl59JCIpCiAgICByZUNvbW1lbnRTdGFydCAgPSByZS5jb21waWxlKHIiIyMrKD9QPGNvbW1l
bnQ+LiopJCIpCiAgICByZUNvbW1lbnRMaW5lICAgPSByZS5jb21waWxlKHIiIysoP1A8Y29tbWVu
dD4uKikkIikKICAgIHJlUGFyYW1Eb2MgICAgICA9IHJlLmNvbXBpbGUociJbXEBcXF1wYXJhbVxz
KihcW1xzKihpbnxvdXR8aW5ccyosXHMqb3V0fG91dFxzKixccyppbilccypcXXxccyopXHMrKD9Q
PHBhcmFtPlx3KykiKQogICAgcmVJZkNsYXVzZVN0YXJ0ID0gcmUuY29tcGlsZShyImlmXHMqXFsi
KQogICAgcmVJZkNsYXVzZUVuZCAgID0gcmUuY29tcGlsZShyImVsc2VbXHMkXXxlbGlmXHMqXFt8
Oz9maSQiKQoKICAgICMgcGFyc2UgbGluZS1ieS1saW5lIGFuZCBvdXRwdXQgcHNldWRvIEMrKyBj
b2RlIHRvIHN0ZG91dAogICAgaWZDbGF1c2VEZXB0aCA9IDAgICAgICMgY3VycmVudCBkZXB0aCBv
ZiBpZi1jbGF1c2VzCiAgICBjb21tZW50RGVwdGggID0gMCAgICAgIyBpZi1jbGF1c2UgZGVwdGgg
d2hlcmUgY29tbWVudCB3YXMgZW5jb3VudGVyZWQKICAgIHByZXZpb3VzQmxvY2sgPSAnJyAgICAj
IG5hbWUgb2YgcHJldmlvdXMgY29kZSBibG9jawogICAgY3VycmVudEJsb2NrICA9ICcnICAgICMg
bmFtZSBvZiBjdXJyZW50IGNvZGUgYmxvY2sKICAgIHBhcmFtcyAgICAgICAgPSBbXQogICAgZm9y
IGxpbmUgaW4gZmg6CiAgICAgICAgb2xpbmUgPSBsaW5lCiAgICAgICAgbGluZSA9IGxpbmUuc3Ry
aXAoKQogICAgICAgICNzeXMuc3Rkb3V0LndyaXRlKCI9PT0gJXMgPT09ICVzIiAlIChjdXJyZW50
QmxvY2ssIGxpbmUpKTsKICAgICAgICBpZiByZVNoYUJhbmcubWF0Y2gobGluZSkgaXMgbm90IE5v
bmU6ICMgc2tpcCBzaGEtYmFuZyBkaXJlY3RpdmUKICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0
ZSgiXG4iKQogICAgICAgICAgICBjb250aW51ZQogICAgICAgIGlmIGN1cnJlbnRCbG9jayA9PSAn
Y29tbWVudCc6ICMgbmV4dCBjb21tZW50IGxpbmUsCiAgICAgICAgICAgIG0gPSByZUNvbW1lbnRM
aW5lLm1hdGNoKGxpbmUpCiAgICAgICAgICAgIGlmIG0gaXMgbm90IE5vbmU6CiAgICAgICAgICAg
ICAgICBjb21tZW50ID0gbS5ncm91cCgnY29tbWVudCcpCiAgICAgICAgICAgICAgICBzeXMuc3Rk
b3V0LndyaXRlKCIvLy8iICsgY29tbWVudCArICJcbiIpCiAgICAgICAgICAgICAgICBtID0gcmVQ
YXJhbURvYy5zZWFyY2gobGluZSkKICAgICAgICAgICAgICAgIGlmIG0gaXMgbm90IE5vbmU6CiAg
ICAgICAgICAgICAgICAgICAgcGFyYW0gPSBtLmdyb3VwKCdwYXJhbScpCiAgICAgICAgICAgICAg
ICAgICAgcGFyYW1zLmFwcGVuZChwYXJhbSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAg
ICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBwcmV2aW91c0Jsb2NrID0gY3VycmVudEJsb2Nr
CiAgICAgICAgICAgICAgICBjdXJyZW50QmxvY2sgPSAnJwogICAgICAgICAgICAgICAgIyBjb250
aW51ZSBwcm9jZXNzaW5nIG9mIHRoaXMgKHlldCB1bmhhbmRsZWQpIGxpbmUKICAgICAgICBpZiBj
dXJyZW50QmxvY2sgPT0gJ2Z1bmN0aW9uJzogIyBpbnNpZGUgZnVuY3Rpb24gZGVmaW5pdGlvbgog
ICAgICAgICAgICBtID0gcmVGdW5jdGlvbkVuZC5tYXRjaChvbGluZSkKICAgICAgICAgICAgaWYg
bSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgIHByZXZpb3VzQmxvY2sgPSBjdXJyZW50Qmxv
Y2sKICAgICAgICAgICAgICAgIGN1cnJlbnRCbG9jayA9ICcnCiAgICAgICAgICAgICAgICBzeXMu
c3Rkb3V0LndyaXRlKCJ9XG4iKQogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgc3lz
LnN0ZG91dC53cml0ZSgiLy8gJXMiICUgb2xpbmUpCiAgICAgICAgICAgIGNvbnRpbnVlCiAgICAg
ICAgaWYgY3VycmVudEJsb2NrID09ICcnOiAjIGxvb2sgZm9yIG5ldyBjb21tZW50IGJsb2NrIG9y
IGJsb2NrIGZvbGxvd2luZyBhIGNvbW1lbnQKICAgICAgICAgICAgbSA9IHJlSW5jbHVkZS5tYXRj
aChsaW5lKSAjIGluY2x1ZGUKICAgICAgICAgICAgaWYgbSBpcyBub3QgTm9uZToKICAgICAgICAg
ICAgICAgIG1vZHVsZSA9IG0uZ3JvdXAoJ21vZHVsZScpCiAgICAgICAgICAgICAgICBtb2R1bGUg
PSBtb2R1bGUucmVwbGFjZSgiXCIiLCAiIikKICAgICAgICAgICAgICAgIG1vZHVsZSA9IG1vZHVs
ZS5yZXBsYWNlKCIvLi8iLCAiLyIpCiAgICAgICAgICAgICAgICBtb2R1bGUgPSBtb2R1bGUucmVw
bGFjZSgiJHtfQkFTSVNfRElSfS8iLCAiIikKICAgICAgICAgICAgICAgIG1vZHVsZSA9IG1vZHVs
ZS5yZXBsYWNlKCIkKGdldF9leGVjdXRhYmxlX2RpcmVjdG9yeSkvIiwgIiIpCiAgICAgICAgICAg
ICAgICBtb2R1bGUgPSBtb2R1bGUucmVwbGFjZSgiJGV4ZWNfZGlyLyIsICIiKQogICAgICAgICAg
ICAgICAgbW9kdWxlID0gbW9kdWxlLnJlcGxhY2UoIiR7ZXhlY19kaXJ9LyIsICIiKQogICAgICAg
ICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiI2luY2x1ZGUgXCIiICsgbW9kdWxlICsgIlwiXG4i
KQogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgbSA9IHJlSWZDbGF1c2VTdGFy
dC5tYXRjaChsaW5lKSAjIGVudGVyIGlmLWNsYXVzZQogICAgICAgICAgICBpZiBtIGlzIG5vdCBO
b25lOgogICAgICAgICAgICAgICAgaWZDbGF1c2VEZXB0aCA9IGlmQ2xhdXNlRGVwdGggKyAxCiAg
ICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJcbiIpICMgVE9ETyBhZSBub3QgdW5kZXJz
dG9vZAogICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAgaWYgaWZDbGF1c2VEZXB0
aCA+IDA6ICMgbGVhdmUgaWYtY2xhdXNlCiAgICAgICAgICAgICAgICBtID0gcmVJZkNsYXVzZUVu
ZC5tYXRjaChsaW5lKQogICAgICAgICAgICAgICAgaWYgbSBpcyBub3QgTm9uZToKICAgICAgICAg
ICAgICAgICAgICBpZkNsYXVzZURlcHRoID0gaWZDbGF1c2VEZXB0aCAtIDEKICAgICAgICAgICAg
ICAgICAgICBpZiBjb21tZW50RGVwdGggPiBpZkNsYXVzZURlcHRoOgogICAgICAgICAgICAgICAg
ICAgICAgICBwcmV2aW91c0Jsb2NrID0gJycKICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVu
dEJsb2NrICA9ICcnCiAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiXG4iKQog
ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgIG0gPSByZUNvbW1lbnRTdGFy
dC5tYXRjaChsaW5lKSAjIERveHlnZW4gY29tbWVudAogICAgICAgICAgICBpZiBtIGlzIG5vdCBO
b25lOgogICAgICAgICAgICAgICAgY29tbWVudCA9IG0uZ3JvdXAoJ2NvbW1lbnQnKQogICAgICAg
ICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiLy8vIiArIGNvbW1lbnQgKyAiXG4iKQogICAgICAg
ICAgICAgICAgY3VycmVudEJsb2NrID0gJ2NvbW1lbnQnCiAgICAgICAgICAgICAgICBjb21tZW50
RGVwdGggPSBpZkNsYXVzZURlcHRoCiAgICAgICAgICAgICAgICBtID0gcmVQYXJhbURvYy5zZWFy
Y2gobGluZSkKICAgICAgICAgICAgICAgIGlmIG0gaXMgbm90IE5vbmU6CiAgICAgICAgICAgICAg
ICAgICAgcGFyYW0gPSBtLmdyb3VwKCdwYXJhbScpCiAgICAgICAgICAgICAgICAgICAgcGFyYW1z
LmFwcGVuZChwYXJhbSkKICAgICAgICAgICAgICAgIGNvbnRpbnVlCiAgICAgICAgICAgICMgaWYg
cHJldmlvdXMgYmxvY2sgd2FzIGEgRG94eWdlbiBjb21tZW50IHByb2Nlc3MKICAgICAgICAgICAg
IyBzdXBwb3J0ZWQgZm9sbG93aW5nIGJsb2NrcyBzdWNoIGFzIHZhcmlhYmxlIHNldHRpbmcKICAg
ICAgICAgICAgIyBhbmQgZnVuY3Rpb24gZGVmaW5pdGlvbiBvcHRpb25hbGx5IG9ubHkgdGhlIG9u
ZQogICAgICAgICAgICAjIGluc2lkZSB0aGUgaWYtY2FzZSBvZiBhbiBpZi1lbHNlLWNsYXVzZQog
ICAgICAgICAgICBpZiBUcnVlOgogICAgICAgICAgICAgICAgIyBmdW5jdGlvbgogICAgICAgICAg
ICAgICAgbSA9IHJlRnVuY3Rpb25TdGFydC5tYXRjaChsaW5lKQogICAgICAgICAgICAgICAgaWYg
bSBpcyBub3QgTm9uZToKICAgICAgICAgICAgICAgICAgICBuYW1lID0gbS5ncm91cCgnbmFtZTEn
KQogICAgICAgICAgICAgICAgICAgIGlmIG5vdCBuYW1lOgogICAgICAgICAgICAgICAgICAgICAg
ICBuYW1lID0gbS5ncm91cCgnbmFtZTInKQogICAgICAgICAgICAgICAgICAgIHNxbGMuZXhlY3V0
ZSgiSU5TRVJUIE9SIElHTk9SRSBJTlRPIGZ1bmNzIFZBTFVFUyAoPykiLCAobmFtZSwpKQogICAg
ICAgICAgICAgICAgICAgICNzeXMuc3Rkb3V0LndyaXRlKCJmdW5jdGlvbiAiICsgbmFtZS5yZXBs
YWNlKCcuJywgJ19ET1RfJykucmVwbGFjZSgnLScsICdfTUlOVVNfJykgKyAiKCIpCiAgICAgICAg
ICAgICAgICAgICAgI3N5cy5zdGRvdXQud3JpdGUoImZ1bmN0aW9uICIgKyBuYW1lICsgIiAoIikK
ICAgICAgICAgICAgICAgICAgICAjc3lzLnN0ZG91dC53cml0ZSgiZnVuY3Rpb24gPCIgKyBuYW1l
ICsgIj4gKCIpCiAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiZnVuY3Rpb24g
JXMgKCIgJSBuYW1lLnJlcGxhY2UoJy4nLCAnXHgwMjMnKSkKICAgICAgICAgICAgICAgICAgICBm
b3IgaSBpbiByYW5nZSgwLCBsZW4ocGFyYW1zKSk6CiAgICAgICAgICAgICAgICAgICAgICAgIGlm
IGkgPiAwOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzLnN0ZG91dC53cml0ZSgiLCAi
KQogICAgICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJpbiAiICsgcGFyYW1z
IFtpXSkKICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCIpIHtcbiIpCiAgICAg
ICAgICAgICAgICAgICAgY3VycmVudEJsb2NrID0gJ2Z1bmN0aW9uJwogICAgICAgICAgICAgICAg
ICAgIHBhcmFtcyA9IFtdCiAgICAgICAgICAgICAgICAgICAgY29udGludWUKICAgICAgICAgICAg
aWYgbGluZSAhPSAnJzogIyB1bmhhbmRsZWQgbGluZXMuLi4KICAgICAgICAgICAgICAgIGlmIHBy
ZXZpb3VzQmxvY2sgPT0gJ2NvbW1lbnQnOgogICAgICAgICAgICAgICAgICAgICMgcHJldmVudCBj
b21tZW50cyB0aGF0IGFyZSBub3QgYXNzb2NpYXRlZCB3aXRoIGFueQogICAgICAgICAgICAgICAg
ICAgICMgcHJvY2Vzc2VkIGJsb2NrIHRvIGJlIG1lcmdlZCB3aXRoIHN1YnNlcXVlbnQgY29tbWVu
dHMKICAgICAgICAgICAgICAgICAgICBzeXMuc3Rkb3V0LndyaXRlKCJjbGFzcyBDT01NRU5UX0RV
TVBFRF9CWV9ET1hZR0VOX0ZJTFRFUjtcbiIpCiAgICAgICAgICAgICAgICBlbHNlOgogICAgICAg
ICAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUoIlxuIikKICAgICAgICAgICAgICAgIHByZXZp
b3VzQmxvY2sgPSAnJwogICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgc3lzLnN0ZG91
dC53cml0ZSgiXG4iKQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHN5cy5zdGRvdXQud3JpdGUo
IlxuIikKICAgIGZoLmNsb3NlKCkgIyBjbG9zZSBpbnB1dCBmaWxlCiAgICAjCiAgICBjb25uLmNv
bW1pdCgpICMgY2xvc2UgZGIKICAgIGNvbm4uY2xvc2UoKQogICAgIwogICAgc3lzLmV4aXQoMCkg
IyBkb25lCg==

--_005_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

------------------------------------------------------------------------------

--_005_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Doxygen-develop mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/doxygen-develop

--_005_DE3E901B104957409FFC4EA8DCE5B0A501B5DA2C2E58HE113566eme_--