/etc/slsh.rc is in slsh 2.3.1a-3ubuntu1.
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 | % -*- slang -*-
% This file gets loaded whenever slsh runs. Its primary purpose is to define
% some functions that are useful in scripts, and to set up some local paths
private define dir_exists (dir)
{
if (dir == NULL) return 0;
variable s = stat_file (dir);
if (s == NULL) return 0;
return stat_is ("dir", s.st_mode);
}
private define check_dirs (dirs)
{
if (dirs == NULL)
return NULL;
variable new_dirs = String_Type[0];
foreach (strchop (dirs, path_get_delimiter(), 0))
{
variable dir = ();
if (dir_exists (dir))
new_dirs = [new_dirs, dir];
}
if (length (new_dirs) == 0)
return NULL;
return strjoin (new_dirs, char (path_get_delimiter()));
}
%!%+
%\function{prepend_to_slang_load_path}
%\synopsis{Prepend a directory to the load-path}
%\usage{prepend_to_slang_load_path (String_Type dir)}
%\description
% This function adds a directory to the beginning of the interpreter's
% load-path.
%\seealso{append_to_slang_load_path, set_slang_load_path}
%!%-
public define prepend_to_slang_load_path (p)
{
p = check_dirs (p);
if (p != NULL)
set_slang_load_path (sprintf ("%s%c%s", p, path_get_delimiter (), get_slang_load_path ()));
}
%!%+
%\function{append_to_slang_load_path}
%\synopsis{Append a directory to the load-path}
%\usage{append_to_slang_load_path (String_Type dir)}
%\description
% This function adds a directory to the end of the interpreter's
% load-path.
%\seealso{prepend_to_slang_load_path, set_slang_load_path}
%!%-
public define append_to_slang_load_path (p)
{
p = check_dirs (p);
if (p != NULL)
set_slang_load_path (sprintf ("%s%c%s", get_slang_load_path (), path_get_delimiter (), p));
}
% This function gets called from slsh after loading this file
public define __slsh_startup_hook ()
{
() = evalfile ("autoload.sl");
#ifdef __INTERACTIVE__
() = evalfile ("slshrl.sl");
#endif
}
prepend_to_slang_load_path (getenv (SLSH_PATH_ENV));
% Add local additions here
prepend_to_slang_load_path("/usr/share/slsh/local-packages");
|