#!/bin/sh # makeinfo wrapper that post-processes HTML output to replace _002d with -, # only on lines containing "option", corresponding to our @optAnchor macro. # Note texi uses "-" in anchors for spaces, hence why it escapes - with _002d. @MAKEINFO@ "$@" || exit process_html() { sed_anchor_cleanup=\ '/id=.*_002doption/{ s/id="\([^"]*\)_002doption/id="\1/g; s/_002d/-/g; }' sed -e "$sed_anchor_cleanup" "$1" > "$1.t" && mv "$1.t" "$1" } case " $* " in *" --html"*) # Find the output file/directory output="" next_is_output=false for arg in "$@"; do if [ "$next_is_output" = true ]; then output="$arg" break fi case "$arg" in -o) next_is_output=true ;; --output=*) output="${arg#--output=}" ;; esac done # Process the output file/directory if test -n "$output"; then test -f "$output" && NAMES='*' || NAMES='*.html' find "$output" -name "$NAMES" -type f | # dash doesn't support read -d '' yet. while IFS= read -r htmlfile; do process_html "$htmlfile"; done fi ;; esac