/usr/share/gap/pkg/GAPDoc/init.g is in gap-gapdoc 1.6.1-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | #############################################################################
##
#A init.g GAPDoc Frank Lübeck / Max Neunhöffer
##
##
#Y Copyright (C) 2000, Frank Lübeck and Max Neunhöffer,
#Y Lehrstuhl D für Mathematik, RWTH Aachen
##
# An alternative Info handler which does not print implicit "#I " and "\n"
BindGlobal("PlainInfoHandler",
function ( infoclass, level, list )
local cl, out, s, infoOutput;
if IsBoundGlobal("InfoOutput") then
infoOutput := ValueGlobal("InfoOutput");
out := infoOutput(infoclass);
else
cl := InfoData.LastClass![1];
if IsBound(InfoData.Output[cl]) then
out := InfoData.Output[cl];
else
out := DefaultInfoOutput;
fi;
fi;
if out = "*Print*" then
for s in list do
Print(s);
od;
Print("\c");
else
for s in list do
AppendTo( out, s );
od;
AppendTo( out, "\c" );
fi;
end);
ReadPackage("GAPDoc", "lib/UnicodeTools.gd");
ReadPackage("GAPDoc", "lib/PrintUtil.gd");
ReadPackage("GAPDoc", "lib/Text.gd");
ReadPackage("GAPDoc", "lib/ComposeXML.gd");
ReadPackage("GAPDoc", "lib/XMLParser.gd");
ReadPackage("GAPDoc", "lib/GAPDoc.gd");
ReadPackage("GAPDoc", "lib/BibTeX.gd");
ReadPackage("GAPDoc", "lib/BibXMLextTools.gd");
ReadPackage("GAPDoc", "lib/GAPDoc2LaTeX.gd");
ReadPackage("GAPDoc", "lib/GAPDoc2Text.gd");
ReadPackage("GAPDoc", "lib/GAPDoc2HTML.gd");
ReadPackage("GAPDoc", "lib/Make.g");
ReadPackage("GAPDoc", "lib/Examples.gd");
# try to find terminal encoding
GAPInfo.tmpfunc := function()
local env, pos, enc, a;
# we leave the GAPInfo.TermEncodingOverwrite for .gaprc
# for a moment, but don't document it - doesn't work with
# loaded workspaces
if not IsBound(GAPInfo.TermEncodingOverwrite) then
if IsList(GAPInfo.SystemEnvironment) then
# for compatibility with GAP 4.4.
env := rec();
for a in GAPInfo.SystemEnvironment do
pos := Position(a, '=');
env.(a{[1..pos-1]}) := a{[pos+1..Length(a)]};
od;
else
env := GAPInfo.SystemEnvironment;
fi;
enc := fail;
if IsBound(env.LC_CTYPE) then
enc := env.LC_CTYPE;
fi;
if enc = fail and IsBound(env.LC_ALL) then
enc := env.LC_ALL;
fi;
if enc = fail and IsBound(env.LANG) then
enc := env.LANG;
fi;
if enc <> fail and
(PositionSublist(enc, ".UTF-8") <> fail or
PositionSublist(enc, ".utf8") <> fail) then
GAPInfo.TermEncoding := "UTF-8";
fi;
if not IsBound(GAPInfo.TermEncoding) then
# default is latin1
GAPInfo.TermEncoding := "ISO-8859-1";
fi;
else
GAPInfo.TermEncoding := GAPInfo.TermEncodingOverwrite;
fi;
MakeImmutable( GAPInfo.TermEncoding );
end;
GAPInfo.tmpfunc();
Add(GAPInfo.PostRestoreFuncs, GAPInfo.tmpfunc);
Unbind(GAPInfo.tmpfunc);
# In HPCGAP some help system functionality is made available through a
# region `HELP_REGION`. To avoid warnings in GAP4 we bind this variable.
if not IsBound(HELP_REGION) then
BindGlobal("HELP_REGION", fail);
fi;
# A helper interface function to the GAP help system,
# used for resolving references to other help books.
BindGlobal("GetHelpDataRef", function(info, i)
local res;
# the `atomic` wrapper is only relevant in HPCGAP, the lock
# is needed because the HelpData handler may write some information
# into the data structures of the help system
atomic readwrite HELP_REGION do
res := HELP_BOOK_HANDLER.(info.handler).HelpData(info, i, "ref");
od;
return res;
end);
# This is make GAPDoc work with GAP < 4.9, despite the HPCGAP specific code
if not IsBound(CopyToRegion) then
BindGlobal("CopyToRegion", Immutable("notexisting"));
fi;
|