Как переопределить FrontEndEventActions?
Добрый день,
Этот вопрос возникает из вопроса об отмене оценки полной последовательности входных данных.
Я думаю, что возможно достичь желаемого поведения путем переопределения FrontEndEventActions
для двух событий: "EvaluateCells"
(или нажав Shift+Enter) и для нажатия Alt+., Это должно быть что-то вроде:
SetOptions[$FrontEndSession,
FrontEndEventActions -> {"EvaluateCells" :> Last$PreRead,
{{"Alt", "."} :> AbortAllNextInputs}}]
или же
SetOptions[$FrontEndSession,
FrontEndEventActions -> {{{"ShiftKey", "ReturnKeyDown"} :> Last$PreRead}
{{"Alt", "."} :> AbortAllNextInputs}}]
куда AbortAllNextInputs
а также Last$PreRead
определяются следующим образом:
AbortAllNextInputs := AbortProtect[
$new$PreRead = True;
last$PreRead = ToString[Definition[$PreRead], InputForm];
ClearAll[$PreRead];
$PreRead := # &] /; ! TrueQ[$new$PreRead]
Last$PreRead :=
$PreRead := AbortProtect[
$new$PreRead = False;
ClearAll[$PreRead];
If[last$PreRead === "Null", #,
ToExpression[last$PreRead]; $PreRead@#]
] &
Но я не могу получить FrontEndEventActions
за работой. Может кто-нибудь мне помочь?
1 ответ
2011-04-15 11:15