allowed
Всегда чему-то учусь!
*Allow - глобальная переменная, содержащая разрешенные шаблоны доступа. Если ее значение не равно NIL, она должна содержать список, где CAR — это дерево idx разрешенных элементов, а CDR — список префиксных строк.
: *Allow
-> (("!start" ("!psh") "!stop" NIL "lib.css") "app/")
: (allow "!myFoo") # additionally allowed item
-> "!myFoo"
: (allow "myDir/" T) # additionally allowed prefix
-> "myDir/"
allow - поддерживает структуру индекса разрешенных шаблонов доступа в глобальной переменной *Allow. Если значение *Allow не равно NIL, sym добавляется в дерево idx в CAR *Allow (если flg — NIL) или в список префиксных строк (если flg — не NIL).
(allow 'sym ['flg]) -> sym
: *Allow
-> (("!start" ("!psh") "!stop" NIL "lib.css") "app/")
: (allow "!myFoo") # additionally allowed item
-> "!myFoo"
: (allow "myDir/" T) # additionally allowed prefix
-> "myDir/"
allowed - создает структуру индекса разрешенных шаблонов доступа в глобальной переменной *Allow. lst должен состоять из префиксных строк (для проверки во время выполнения с помощью pre?), а аргументы sym должны указывать изначально разрешенные элементы.
(allowed lst [sym ..])
: (allowed ("app/") # allowed prefixes
"!start" "!stop" "lib.css" "!psh" ) # allowed items
-> NIL