diff --git a/lib/modules/Tools.pmod/AutoDoc.pmod/BMMLParser.pike b/lib/modules/Tools.pmod/AutoDoc.pmod/BMMLParser.pike index 8ff581c946b8fc13771b29a6235727851c9174af..c9f8c59b610000e2acef312657273240b36341dc 100644 --- a/lib/modules/Tools.pmod/AutoDoc.pmod/BMMLParser.pike +++ b/lib/modules/Tools.pmod/AutoDoc.pmod/BMMLParser.pike @@ -9,10 +9,8 @@ #include <string.h> multiset efuns = mklist(indices(all_efuns())) | (<"sscanf","gauge","catch">); -mapping pages = ([]); mapping short_descs = ([]); mapping keywords = ([]); -mapping subpages = ([]); string new_path; string docdir; @@ -247,6 +245,7 @@ void done(string a) pages_done[a]=1; } +#if 0 string mkindex(string topic, int usehead) { string head; @@ -357,9 +356,11 @@ string mkindex(string topic, int usehead) return ret; } +#endif /* Convert a page */ -string convert_page(string path, string fname, string|void cont) +string convert_page(string path, string fname, + string|void cont, .Flags|void flags) { string output, short; int headno; @@ -372,15 +373,9 @@ string convert_page(string path, string fname, string|void cont) // perror("foo: "+path[strlen(path)-5..]+".\n"); if(sscanf(cont,"NAME\n\t%s - %s\n",name,short)) { - string tmp; - cont=html_quote(cont); - path=fippel_path(path); short_descs[html_quote(name)]=short; - pages[prefix+html_quote(name)]=path; - if(sscanf(name,"/precompiled/%s",tmp)) - pages[prefix+html_quote(capitalize(tmp))]=path; string header = ""; string trailer = ""; @@ -457,11 +452,6 @@ string convert_page(string path, string fname, string|void cont) rest="\t<tt>"+part_name+"</tt> - "+b; - if(partno) - { - subpages[prefix+fname+"->"+part_name]=path+"#"+part_name; - } - // FALL_THROUGH case "RETURN VALUE": case "RETURN VALUES": @@ -485,12 +475,7 @@ string convert_page(string path, string fname, string|void cont) { a=prefix+a; keywords[a] = ( keywords[a] || ({}) ) | ({ prefix+name }); - if(pages[a]) - { - b+=({ "<a href='"+pages[a]+"'>"+strip_prefix(a)+"</a>" }); - }else{ - b+=({ strip_prefix(a) }); - } + b+=({ strip_prefix(a) }); } rest=implode_nicely(b); break; @@ -517,10 +502,13 @@ string convert_page(string path, string fname, string|void cont) break; case "RELATED FUNCTIONS": +#if 0 a=name; sscanf(rest,"%*skeyword %[a-z/A-Z0-9]",a); rest=mkindex(a, 0); +#endif + break; } type = ([ @@ -576,8 +564,6 @@ string convert_page(string path, string fname, string|void cont) string title; int section; - pages[prefix+(path[..strlen(path)-6]/"/")[-1]]=fippel_path(path); - cont=replace(cont,"$version",version()); cont=html_quote(cont); sections=cont/"\n\n"; @@ -649,8 +635,6 @@ string convert_page(string path, string fname, string|void cont) } else if(path[strlen(path)-5..]==".html") { - pages[prefix+(path[..strlen(path)-6]/"/")[-1]]=fippel_path(path); - if(sscanf(cont,"<title>%s</title>",part)) short_descs[(path/"/")[-1]]=part; output=cont; @@ -661,8 +645,6 @@ string convert_page(string path, string fname, string|void cont) string line,tmp; int pre,p; - pages[prefix+(path/"/")[-1]]=fippel_path(path); - if(sscanf(cont,"%*[0-9.] %s\n",part)==2) short_descs[(path/"/")[-1]]=part; @@ -705,7 +687,8 @@ string convert_page(string path, string fname, string|void cont) } else { - perror("Warning: not converting "+path+".\n"); + if ((flags & .FLAG_VERB_MASK) >= .FLAG_VERBOSE) + perror("Warning: not converting "+path+".\n"); output=""; } return output; diff --git a/lib/modules/Tools.pmod/Standalone.pmod/extract_autodoc.pike b/lib/modules/Tools.pmod/Standalone.pmod/extract_autodoc.pike index d2d7da64f762187c9b88221d25ac78a543d49c64..0acb582cfcfaf90242f9d60d673f678cb57bedde 100644 --- a/lib/modules/Tools.pmod/Standalone.pmod/extract_autodoc.pike +++ b/lib/modules/Tools.pmod/Standalone.pmod/extract_autodoc.pike @@ -17,6 +17,8 @@ int verbosity = Tools.AutoDoc.FLAG_NORMAL; int source_timestamp; +// See the BMML rewriter further below about these values. +// Not that there is both a start and an end sentinel. constant bmml_invalidation_times = ({ 0, 855275859, 855644314, 855648534, 855725630, 857038037, 0x7fffffff, }); @@ -398,7 +400,7 @@ string extract(string filename, string imgdest, } } Tools.AutoDoc.BMMLParser bmml_parser = Tools.AutoDoc.BMMLParser(); - return bmml_parser->convert_page(filename, basename(filename), file); + return bmml_parser->convert_page(filename, basename(filename), file, flags); } int i;