Page 2 of 2

Как установить формат приглашения командной строки из макроса?

Posted: Fri 20 Jul, 2018 11:08
by fps

Latest post of the previous page:

DrKnS wrote: Fri 20 Jul, 2018 10:45 set foo= - удалить переменную foo
lua:win.SetEnv("foo", "") - присвоить переменной foo пустое значение.
Странность на мой взгляд в том, что строка %foo% будет подставлена не только в первом но и во втором случае.
Наверное это поведение логично и как-то объяснимо, но ни в одном из известных мне языков при обращении к переменной мы не получаем ее имя в качестве её значения при условии если её значение равно пустой строке.
Я не могу представить себе реальной пользы от такого поведения (кроме как для отладки).

Как установить формат приглашения командной строки из макроса?

Posted: Fri 20 Jul, 2018 11:16
by Shmuel
fps wrote: Fri 20 Jul, 2018 11:08 Странность на мой взгляд в том, что строка %foo% будет подставлена не только в первом но и во втором случае.
Нет, во втором случае всё будет правильно.
Другое дело, что Фар не сразу возьмёт новое значение.

После такого запуска Фар C:\Far3\far.exe "lua:win.SetEnv('myvar', win.GetEnv('myvar') or '')"
мы увидим %myvar% в приглашении, но если нажать Space Enter, %myvar% исчезнет и больше не появится.

Как установить формат приглашения командной строки из макроса?

Posted: Fri 20 Jul, 2018 11:35
by fps
Shmuel, у меня не исчезает.
FAR 3.0 build 5239 x64, Win7

В Command line settings прописано так:
[x] Set command line prompt format (a)%myvar%(7)$p$g

Как установить формат приглашения командной строки из макроса?

Posted: Fri 20 Jul, 2018 11:47
by Shmuel
Это уже похоже на глюк Фара. Если убрать (a) и (7), то исчезает.

Как установить формат приглашения командной строки из макроса?

Posted: Fri 20 Jul, 2018 19:35
by DrKnS
fps wrote: Fri 20 Jul, 2018 11:35не исчезает
Как уже выше отмечено, промпт перерисовывается не на каждый чих.
Смените папку - исчезнет.

Как установить формат приглашения командной строки из макроса?

Posted: Fri 20 Jul, 2018 20:13
by fps
DrKnS, если переменная выделена цветом, то не исчезает.
Как уже выше отмечено, похоже на глюк Фара.

Как установить формат приглашения командной строки из макроса?

Posted: Fri 20 Jul, 2018 23:30
by DrKnS
fps, да, вы правы, это баг. Исправлено в 5240.