X-Git-Url: https://git.decadent.org.uk/gitweb/?a=blobdiff_plain;f=libextl%2Flibextl-mkexports.in;h=14674ba892bf6edbadcb6eca4cb503858ca106a2;hb=3102bb90c325d9b29ac304d8f3ea0a17df564fc8;hp=ff1cac332f326523776c7e39af430c1a1acdd2cc;hpb=8366314611bf30a0f31d25bf5f5023186fa87692;p=ion3.git diff --git a/libextl/libextl-mkexports.in b/libextl/libextl-mkexports.in index ff1cac3..14674ba 100644 --- a/libextl/libextl-mkexports.in +++ b/libextl/libextl-mkexports.in @@ -18,16 +18,16 @@ -- Helper functions {{{ -function errorf(fmt, ...) - error(string.format(fmt, unpack(arg)), 2) +function errorf(...) + error(string.format(...), 2) end function matcherr(s) error(string.format("Parse error in \"%s...\"", string.sub(s, 1, 50)), 2) end -function fprintf(h, fmt, ...) - h:write(string.format(fmt, unpack(arg))) +function fprintf(h, ...) + h:write(string.format(...)) end function trim(str) @@ -69,6 +69,7 @@ desc2human={ ["o"]="object", ["s"]="string", ["S"]="string", + ["a"]="any value", } -- }}} @@ -207,7 +208,7 @@ function parse(d) end param=trim(param) if string.len(param)>0 then - for p in string.gfind(param .. ",", "([^,]*),") do + for p in string.gmatch(param .. ",", "([^,]*),") do local spec, objtype, varname=parse_type(p) idesc=idesc .. spec table.insert(itypes, objtype) @@ -468,13 +469,13 @@ function write_class_fns(h, cls, data) ids='"' .. info.idesc .. '"' end - fprintf(h, " {\"%s\", %s, %s, %s, (ExtlL2CallHandler*)%s, %s, %s},\n", + fprintf(h, " {\"%s\", %s, %s, %s, (ExtlL2CallHandler*)%s, %s, %s, FALSE},\n", info.exported_name, fn, ids, ods, info.chnd, bool2str4c(info.safe), bool2str4c(info.untraced)) end - fprintf(h, " {NULL, NULL, NULL, NULL, NULL, FALSE, FALSE}\n};\n\n") + fprintf(h, " {NULL, NULL, NULL, NULL, NULL, FALSE, FALSE, FALSE}\n};\n\n") end @@ -619,12 +620,14 @@ function write_fndoc(h, fn, info) fn=info.exported_name end + --[[ if info.class~="global" then fprintf(h, "\\index{%s@%s!", texfriendly(info.class), texfriendly_typeormod(info.class)); fprintf(h, "%s@\\code{%s}}\n", texfriendly(fn), fn) end fprintf(h, "\\index{%s@\\code{%s}}\n", texfriendly(fn), fn) + ]] if info.class~="global" then fprintf(h, "\\hyperlabel{fn:%s.%s}", info.class, fn)