parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Есть какие-то изменения в логике пространства видимости?

nkostya 01.05.2017 19:35

Использую следующий метод include
##############################################################################
@include[sFilename;oContext][fFile]
	$fFile[^file::load[text;$sFilename]]
	^process[^if(def $oContext){$oContext}{$caller.self}]{^untaint[as-is]{$fFile.text}}[
	   $.file[$sFilename]
	]
#end @include[]
При подключении файла с параметрами окружения в виде environment.p
$DEFAULT_MARKUP(30)
$DOCUMENT_PER_PAGE(50)
На версии 3.4.4 обе переменные были доступны после вызова ^include[environment.p] При проверке Parser 3.4.5 они уже не доступны.

В данном случае при изменении на $self.DEFAULT_MARKUP ситуация исправляется.

Правильно ли это?

Моя логика такова: include окружение создает переменные в заданной области видимости (по-умолчанию, в контексте вызова). Я рассчитываю, что все вложенные вызовы тоже должны видеть эти переменные, но с 3.4.5 это уже не так.