X-Git-Url: https://git.plutz.net/?a=blobdiff_plain;f=md_macros.awk;h=5ffc233b9eddc3f386727649db1a87b4b4912af3;hb=359ef8d6a4d58d52ae3347d6390e4d4d535fb2d4;hp=4b85a0e5dae84a282e48c7e6f14633fef8bbc8a4;hpb=bce9d6ebc7a5cd73c43d5a92c79dcbbbd3d3aa04;p=shellwiki diff --git a/md_macros.awk b/md_macros.awk index 4b85a0e..5ffc233 100755 --- a/md_macros.awk +++ b/md_macros.awk @@ -1,6 +1,20 @@ #!/bin/awk -f #!/opt/busybox/awk -f +# Copyright 2022 Paul Hänsch +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +# IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + function sh_escape(arg){ return "'" gensub(/'/, "'\"'\"'", "g", arg) "'"; } @@ -48,8 +62,10 @@ function macro(call, LOCAL, line, args) { for (n = 1; n in args; n++) call = call sh_escape(args[n]) " "; if (args[1] in MACROS) { + oldRS=RS; oldORS=ORS; RS=""; ORS=""; line=""; "printf '%s' " sh_escape(file) " | " sh_escape(ENVIRON["MD_MACROS"]) "/" call | getline line; + RS=oldRS; ORS=oldORS; return line; } else { return HTML("<<" call ">>");