1:- module('$pac$', []).    2:- user:set_prolog_flag(encoding, utf8).    3:- user:set_prolog_flag(optimise, true).    4:- user:set_prolog_flag(qcompile, auto).    5:- user:set_prolog_flag(editor, emacsclient).    6:- user:set_prolog_flag(history, 0).    7:- setenv('EDITOR', emacsclient).    8
    9:- use_module(library(macros)).   10
   11#define(local_cgi_config, '/.config/cgi-config').
   12
   13:- dynamic user:file_search_path/2.   14:- multifile user:file_search_path/2.   15
   16:- use_module('setup-aux').   17
   18pac_directories(
   19		[	(pac_root : []) -
   20			 [	test:test,
   21				:(prolog) -
   22					[	pac		: pac,
   23						util	: util,
   24						zdd		: zdd,
   25						tmp		: tmp,
   26						gb		: "util/grobner",
   27						other	: other
   28					]]]
   29			   ).
   30
   31setup_root_home_user(Dir):-
   32	split_string(Dir, /, '',  [_, Root, User|_]),
   33	atomic_list_concat([/,Root,/,User], Home),
   34	setenv(home, Home),
   35	setenv(user, User),
   36	setenv(pac_root, Dir).
   37
   38setup_cgi_config:-  getenv(home, H),
   39	atom_concat(H, #local_cgi_config, Mod),
   40	atom_concat(Mod, ".pl", Modpl),
   41	(	exists_file(Modpl) ->
   42		use_module(Mod),
   43		cgi_eqns(Eqns),
   44		maplist(setup_env, Eqns)
   45	;	true
   46	),
   47	pac_directories(DirStr),
   48	mk_file_search_path(DirStr).
   49
   50:- prolog_load_context(directory, Dir),
   51	setup_root_home_user(Dir),
   52	setup_cgi_config.   53
   54% ?- getenv(user, U), getenv(home, H), getenv(host_user, HU).
   55% :- pac_directories(DirStr),
   56% 	mk_file_search_path(DirStr).
   57
   58% :- set_prolog_flag(color_term, false).
   59% :- set_stream(user_input, tty(true)).
   60% :- set_prolog_flag(tty_control, false).
   61
   62user: enable_pac_query	:- set_prolog_flag(pac, true).
   63user: disable_pac_query	:- set_prolog_flag(pac, false).
   64user: chk_pac_query	:- current_prolog_flag(pac, true).
   65
   66user: enable_odict	:- set_prolog_flag(odict, true).
   67user: disable_odict	:- set_prolog_flag(odict, false).
   68user: chk_odict		:- current_prolog_flag(odict, true).
   69
   70:- use_module([
   71		library(clpfd),
   72		library(dif),
   73		library(lists),
   74		library(sort),
   75		library(ordsets),
   76		library(url),
   77		library(ugraphs),
   78		library(readutil),
   79		library(apply),
   80   		library(apply_macros)
   81	      ]).   82%
   83user: expand_query(X, Y, Z, Z) :- user:chk_pac_query, !,
   84	'$current_typein_module'(C),
   85	pac:expand_query(C, X, Y).
   86user: expand_query(X, X, Z, Z).
   87
   88:- use_module(pac('expand-pac')).   89:- use_module(util('env-dict')).   90:- use_module(util(file)).   91
   92:- user:enable_pac_query.   93:- user:enable_odict.