Macro argument quoting does not prevent recognition of punctuation
authorschwarze <schwarze@openbsd.org>
Tue, 30 May 2017 16:21:07 +0000 (16:21 +0000)
committerschwarze <schwarze@openbsd.org>
Tue, 30 May 2017 16:21:07 +0000 (16:21 +0000)
commit232c32a3224efab6a63e0d104744cf2df930b405
tree3bb321fd2ec5f89f706733c7b73015e3195b8910
parentc21dfa9e48c7e4049915f4839d7ac332baaca24f
Macro argument quoting does not prevent recognition of punctuation
and of called macros.

This bug affects almost all macros, and fixing it simplifies the
code.  It is amazing that the bogus ARGS_QWORD feature got implemented
in the first place, and then carrier along for more than eight years
without anybody ever noticing that it was pointless.

Reported by Leah Neukirchen <leah at vuxu dot org>, found on Void Linux.
118 files changed:
regress/usr.bin/mandoc/mdoc/Ad/font.in
regress/usr.bin/mandoc/mdoc/Ad/font.out_ascii
regress/usr.bin/mandoc/mdoc/Ad/font.out_markdown
regress/usr.bin/mandoc/mdoc/An/break.in
regress/usr.bin/mandoc/mdoc/Ap/middle.in
regress/usr.bin/mandoc/mdoc/Ap/middle.out_ascii
regress/usr.bin/mandoc/mdoc/Ap/middle.out_markdown
regress/usr.bin/mandoc/mdoc/Aq/empty.in
regress/usr.bin/mandoc/mdoc/Aq/empty.out_ascii
regress/usr.bin/mandoc/mdoc/Aq/empty.out_markdown
regress/usr.bin/mandoc/mdoc/Aq/empty.out_utf8
regress/usr.bin/mandoc/mdoc/Ar/punct.in
regress/usr.bin/mandoc/mdoc/Ar/punct.out_ascii
regress/usr.bin/mandoc/mdoc/Ar/punct.out_markdown
regress/usr.bin/mandoc/mdoc/At/invalid.in
regress/usr.bin/mandoc/mdoc/At/invalid.out_ascii
regress/usr.bin/mandoc/mdoc/At/invalid.out_markdown
regress/usr.bin/mandoc/mdoc/Brq/empty.in
regress/usr.bin/mandoc/mdoc/Brq/empty.out_ascii
regress/usr.bin/mandoc/mdoc/Brq/empty.out_markdown
regress/usr.bin/mandoc/mdoc/Bx/args.in
regress/usr.bin/mandoc/mdoc/Bx/args.out_ascii
regress/usr.bin/mandoc/mdoc/Bx/args.out_markdown
regress/usr.bin/mandoc/mdoc/Cd/Makefile
regress/usr.bin/mandoc/mdoc/Cd/punct.in [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Cd/punct.out_ascii [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Cd/punct.out_markdown [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Cm/Makefile
regress/usr.bin/mandoc/mdoc/Cm/punct.in [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Cm/punct.out_ascii [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Cm/punct.out_markdown [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Dq/empty.in
regress/usr.bin/mandoc/mdoc/Dq/empty.out_ascii
regress/usr.bin/mandoc/mdoc/Dq/empty.out_markdown
regress/usr.bin/mandoc/mdoc/Dv/font.in
regress/usr.bin/mandoc/mdoc/Dv/font.out_ascii
regress/usr.bin/mandoc/mdoc/Dv/font.out_markdown
regress/usr.bin/mandoc/mdoc/Em/punct.in
regress/usr.bin/mandoc/mdoc/Em/punct.out_ascii
regress/usr.bin/mandoc/mdoc/Em/punct.out_lint
regress/usr.bin/mandoc/mdoc/Em/punct.out_markdown
regress/usr.bin/mandoc/mdoc/Eo/empty.in
regress/usr.bin/mandoc/mdoc/Eo/empty.out_ascii
regress/usr.bin/mandoc/mdoc/Eo/empty.out_markdown
regress/usr.bin/mandoc/mdoc/Eo/obsolete.in
regress/usr.bin/mandoc/mdoc/Eo/obsolete.out_ascii
regress/usr.bin/mandoc/mdoc/Eo/obsolete.out_markdown
regress/usr.bin/mandoc/mdoc/Er/noarg.in
regress/usr.bin/mandoc/mdoc/Er/noarg.out_ascii
regress/usr.bin/mandoc/mdoc/Er/noarg.out_markdown
regress/usr.bin/mandoc/mdoc/Ev/font.in
regress/usr.bin/mandoc/mdoc/Ev/font.out_ascii
regress/usr.bin/mandoc/mdoc/Ev/font.out_markdown
regress/usr.bin/mandoc/mdoc/Fl/punct.in
regress/usr.bin/mandoc/mdoc/Fl/punct.out_ascii
regress/usr.bin/mandoc/mdoc/Fl/punct.out_markdown
regress/usr.bin/mandoc/mdoc/Fo/font.in
regress/usr.bin/mandoc/mdoc/Fo/font.out_ascii
regress/usr.bin/mandoc/mdoc/Fo/font.out_markdown
regress/usr.bin/mandoc/mdoc/Fo/punct.in
regress/usr.bin/mandoc/mdoc/Fo/punct.out_ascii
regress/usr.bin/mandoc/mdoc/Fo/punct.out_markdown
regress/usr.bin/mandoc/mdoc/Ic/Makefile
regress/usr.bin/mandoc/mdoc/Ic/punct.in [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Ic/punct.out_ascii [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Ic/punct.out_markdown [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/In/font.in
regress/usr.bin/mandoc/mdoc/In/font.out_ascii
regress/usr.bin/mandoc/mdoc/In/font.out_markdown
regress/usr.bin/mandoc/mdoc/Li/punct.in
regress/usr.bin/mandoc/mdoc/Li/punct.out_ascii
regress/usr.bin/mandoc/mdoc/Li/punct.out_lint
regress/usr.bin/mandoc/mdoc/Li/punct.out_markdown
regress/usr.bin/mandoc/mdoc/Ms/font.in
regress/usr.bin/mandoc/mdoc/Ms/font.out_ascii
regress/usr.bin/mandoc/mdoc/Ms/font.out_markdown
regress/usr.bin/mandoc/mdoc/Mt/simple.in
regress/usr.bin/mandoc/mdoc/Mt/simple.out_ascii
regress/usr.bin/mandoc/mdoc/Mt/simple.out_markdown
regress/usr.bin/mandoc/mdoc/No/punct.in
regress/usr.bin/mandoc/mdoc/No/punct.out_ascii
regress/usr.bin/mandoc/mdoc/No/punct.out_lint
regress/usr.bin/mandoc/mdoc/No/punct.out_markdown
regress/usr.bin/mandoc/mdoc/Ns/punct.in
regress/usr.bin/mandoc/mdoc/Oo/punct.in
regress/usr.bin/mandoc/mdoc/Oo/punct.out_ascii
regress/usr.bin/mandoc/mdoc/Oo/punct.out_markdown
regress/usr.bin/mandoc/mdoc/Op/punct.in
regress/usr.bin/mandoc/mdoc/Pa/punct.in
regress/usr.bin/mandoc/mdoc/Pa/punct.out_ascii
regress/usr.bin/mandoc/mdoc/Pa/punct.out_markdown
regress/usr.bin/mandoc/mdoc/Qq/empty.in
regress/usr.bin/mandoc/mdoc/Qq/empty.out_ascii
regress/usr.bin/mandoc/mdoc/Qq/empty.out_markdown
regress/usr.bin/mandoc/mdoc/Sq/empty.in
regress/usr.bin/mandoc/mdoc/Sq/empty.out_ascii
regress/usr.bin/mandoc/mdoc/Sq/empty.out_markdown
regress/usr.bin/mandoc/mdoc/St/call.in
regress/usr.bin/mandoc/mdoc/Sx/noarg.in
regress/usr.bin/mandoc/mdoc/Sx/noarg.out_ascii
regress/usr.bin/mandoc/mdoc/Sx/noarg.out_markdown
regress/usr.bin/mandoc/mdoc/Sy/punct.in
regress/usr.bin/mandoc/mdoc/Sy/punct.out_ascii
regress/usr.bin/mandoc/mdoc/Sy/punct.out_lint
regress/usr.bin/mandoc/mdoc/Sy/punct.out_markdown
regress/usr.bin/mandoc/mdoc/Tn/noarg.in
regress/usr.bin/mandoc/mdoc/Tn/noarg.out_ascii
regress/usr.bin/mandoc/mdoc/Tn/noarg.out_markdown
regress/usr.bin/mandoc/mdoc/Va/Makefile
regress/usr.bin/mandoc/mdoc/Va/punct.in [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Va/punct.out_ascii [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Va/punct.out_markdown [new file with mode: 0644]
regress/usr.bin/mandoc/mdoc/Xr/args.in
regress/usr.bin/mandoc/mdoc/Xr/args.out_ascii
regress/usr.bin/mandoc/mdoc/Xr/args.out_markdown
usr.bin/mandoc/libmdoc.h
usr.bin/mandoc/mdoc_argv.c
usr.bin/mandoc/mdoc_macro.c