Check-in by ben on 2024-08-04 23:57:54

 Define macro incl() to use paste() on BSD m4 and undivert() on
 GNU m4.

 INSERTED    DELETED
        4          4 src/account/index.dcgi.m4
        1          0 src/config.m4
        4          4 src/details/index.dcgi.m4
        3          3 src/download/index.dcgi.m4
        3          3 src/list/index.dcgi.m4
        3          3 src/lists/index.dcgi.m4
        4          4 src/raw/index.cgi.m4
        3          3 src/search/index.dcgi.m4
        1          1 src/sort/index.dcgi.m4
        1          1 src/wizard/step1/index.dcgi.m4
        1          1 src/wizard/step2/index.dcgi.m4
        1          1 src/wizard/step3/index.dcgi.m4
       29         28 TOTAL over 12 changed files

Index: src/account/index.dcgi.m4
==================================================================
--- src/account/index.dcgi.m4
+++ src/account/index.dcgi.m4
@@ -4,14 +4,14 @@
# account/index.dcgi
#
# Show details for an account

include(config.awk)
-undivert(api.awk)
-undivert(cgi.awk)
-undivert(util.awk)
-undivert(web.awk)
+incl(src/api.awk)
+incl(src/cgi.awk)
+incl(src/util.awk)
+incl(src/web.awk)

function main(     acct, cmd, col, cols, descr, dir, email, iaout, id,
    item_server, item_size, thumb, title, type, url)
{
    acct = parts[3]

Index: src/config.m4
==================================================================
--- src/config.m4
+++ src/config.m4
@@ -24,5 +24,6 @@
dnl Set up M4 to work with AWK code
dnl
define(m4_substr, defn(substr))dnl
undefine(substr)dnl
changecom(`/*', `*/')dnl
+define(incl,`ifdef(paste,paste($1),undivert($1))')dnl

Index: src/details/index.dcgi.m4
==================================================================
--- src/details/index.dcgi.m4
+++ src/details/index.dcgi.m4
@@ -4,14 +4,14 @@
# details/index.dcgi
#
# Show details for an item

include(config.awk)
-undivert(api.awk)
-undivert(cgi.awk)
-undivert(util.awk)
-undivert(web.awk)
+incl(src/api.awk)
+incl(src/cgi.awk)
+incl(src/util.awk)
+incl(src/web.awk)

function main(     add_date, col, cols, cmd, creator, descr, dir, i, \
    iaout, id, item_id, item_server, item_size, label, language,     \
    license, pub_date, scanner, thumb, title, topic, topics, type,   \
    uploader_account, uploader_email, url)

Index: src/download/index.dcgi.m4
==================================================================
--- src/download/index.dcgi.m4
+++ src/download/index.dcgi.m4
@@ -4,13 +4,13 @@
# download/index.dcgi
#
# Show file downloads using either direct http or gopher proxy links

include(config.awk)
-undivert(api.awk)
-undivert(cgi.awk)
-undivert(util.awk)
+incl(src/api.awk)
+incl(src/cgi.awk)
+incl(src/util.awk)

function main(cmd, dir, files, file_size, format, iaout, is_archive, \
    is_proxy, item_server, label, mtime, name, source, url)
{
    dir = parts[2]

Index: src/list/index.dcgi.m4
==================================================================
--- src/list/index.dcgi.m4
+++ src/list/index.dcgi.m4
@@ -4,13 +4,13 @@
# list/index.dcgi
#
# Show a specific list

include(config.awk)
-undivert(api.awk)
-undivert(cgi.awk)
-undivert(util.awk)
+incl(src/api.awk)
+incl(src/cgi.awk)
+incl(src/util.awk)

function main(     acct, cmd, count, iaout, id, is_private, item_id,
    name, list_id, name, parts, url)
{
    count = split(search, parts, "/")

Index: src/lists/index.dcgi.m4
==================================================================
--- src/lists/index.dcgi.m4
+++ src/lists/index.dcgi.m4
@@ -4,13 +4,13 @@
# lists/index.dcgi
#
# Show a list of a user's lists

include(config.awk)
-undivert(api.awk)
-undivert(cgi.awk)
-undivert(util.awk)
+incl(src/api.awk)
+incl(src/cgi.awk)
+incl(src/util.awk)

function main(     cmd, iaout, id, is_private, item_count, item_id, name, url)
{
    print search "'s Lists"
    print ""

Index: src/raw/index.cgi.m4
==================================================================
--- src/raw/index.cgi.m4
+++ src/raw/index.cgi.m4
@@ -16,14 +16,14 @@
# text/index.cgi
#
# Show text content scraped from HTML document

include(config.awk)
-undivert(api.awk)
-undivert(cgi.awk)
-undivert(util.awk)
-undivert(web.awk)
+incl(src/api.awk)
+incl(src/cgi.awk)
+incl(src/util.awk)
+incl(src/web.awk)

function main() {
    if (path == "/debug/") {
        dump(search, TYPE_HEADERS)
    } else if (path == "/raw/") {

Index: src/search/index.dcgi.m4
==================================================================
--- src/search/index.dcgi.m4
+++ src/search/index.dcgi.m4
@@ -4,13 +4,13 @@
# search/index.dcgi
#
# Show search results

include(config.awk)
-undivert(api.awk)
-undivert(cgi.awk)
-undivert(util.awk)
+incl(src/api.awk)
+incl(src/cgi.awk)
+incl(src/util.awk)

function main(search,     cmd, count, creator, descr, field, fields, i, \
    iaout, id, jsout, label, numfound, order, orders, page, rows,       \
    searchstr, title, type, url)
{

Index: src/sort/index.dcgi.m4
==================================================================
--- src/sort/index.dcgi.m4
+++ src/sort/index.dcgi.m4
@@ -4,11 +4,11 @@
# sort/index.dcgi
#
# Change search sort order

include(config.awk)
-undivert(cgi.awk)
+incl(src/cgi.awk)

function main(     i, lbl, opt) {
    lbl[1]  = "Default [^]"
    opt[1]  = "nav_order asc"
    lbl[2]  = "Default [v]"

Index: src/wizard/step1/index.dcgi.m4
==================================================================
--- src/wizard/step1/index.dcgi.m4
+++ src/wizard/step1/index.dcgi.m4
@@ -4,11 +4,11 @@
# wizard/step1/index.dcgi
#
# Select field to filter/search by

include(config.awk)
-undivert(cgi.awk)
+incl(src/cgi.awk)

function main(     i, lbl, opt, searchstr) {
    searchstr = parts[4]

    lbl[1]  = "Any field contains"

Index: src/wizard/step2/index.dcgi.m4
==================================================================
--- src/wizard/step2/index.dcgi.m4
+++ src/wizard/step2/index.dcgi.m4
@@ -4,11 +4,11 @@
# wizard/step2/index.dcgi
#
# Select mediatype to filter/search by

include(config.awk)
-undivert(cgi.awk)
+incl(src/cgi.awk)

function main(     field, newsearch, searchstr) {
    field = parts[4]
    searchstr = parts[5]


Index: src/wizard/step3/index.dcgi.m4
==================================================================
--- src/wizard/step3/index.dcgi.m4
+++ src/wizard/step3/index.dcgi.m4
@@ -4,11 +4,11 @@
# wizard/step3/index.dcgi
#
# Apply new search terms

include(config.awk)
-undivert(cgi.awk)
+incl(src/cgi.awk)

function main(     field, label, newsearch, op, searchstr, value) {
    field = parts[4]
    searchstr = parts[5]
    value = search