prefix "@" + command line = chaos on the screen Topic is solved

Столкнулись с проблемой в использовании Far? Здесь можно получить помощь.
Post Reply
User avatar
nvv
Posts: 20
Joined: Thu 06 Oct, 2016 03:52
Location: Владивосток, Россия
Has thanked: 5 times
Been thanked: 1 time

prefix "@" + command line = chaos on the screen

Post by nvv » Tue 23 Jan, 2018 23:56

Привет.

NB. Местная "поисковая система" отказалась искать контекст `@` и `"@"` (оба - без обрамляющих обратных апострофов).

Диспозиция:
- ОС: WinXP+SP3 (Microsoft Windows XP [Версия 5.1.2600]);
- FAR: 1.75 build 2623 x86
- FAR: 3.0 build 5130 x86
- ChkCmd#1: echo a
- ChkCmd#2: @echo a

Наблюдение за экраном при запуске "ChkCmd#1" и "ChkCmd#2":
  • CMD - одинаково;
  • 1.75 - одинаково;
  • 3.0 - по разному.
Обсуждение реакции версии "3.0" на префикс "@":

Я пробовал команды "dir", "for", "echo", "cls" при разных размерах буфера экрана и в разных его режимах (переключение по <Alt+Enter>).

- отсутствие положенного - наблюдалось в каждой проверке;
- артефакты на экране - наблюдались как правило, но не всегда;
- наблюдались разные эффекты для одной и той же команды, но в разных обстоятельствах;
- мне не удалось сходу выявить общую закономерность в наблюдаемом.

Отмечу. После запуска команд с префиксом, команда "cls" ( и С префиксом, и БЕЗ), как правило, НЕ может очистить экран от артефактов. Причём, описана реакция для "голых" команд, а, вот, реакция на "упакованные" команды (а я юзаю, в основном, именно такие),.. описанию-с поддаётся как-то плохо...
Grim smile

Вопрос: это "баг" или "фича"?
Если "фича", то Вопрос#2: в чём профит?

---
Удачи!
Влад.
Last edited by HaRT on Wed 24 Jan, 2018 00:14, edited 1 time in total.
Reason: Убрано спец. оформление Темы (Значок)

User avatar
HaRT
Moderator
Posts: 8469
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 74 times
Been thanked: 135 times

prefix "@" + command line = chaos on the screen

Post by HaRT » Wed 24 Jan, 2018 00:13

Собака в начале командной строки — это отключение гашения панелей на время выполнения команды. Обсуждение тут: viewtopic.php?p=110279#p110279, дополнительные соображения тут: viewtopic.php?p=63139#p63139.
Фар есть инструмент, а не нянька. © 2009 DrKnS

User avatar
DrKnS
Posts: 4914
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 161 times

prefix "@" + command line = chaos on the screen

Post by DrKnS » Wed 24 Jan, 2018 01:35

HaRT wrote:
Wed 24 Jan, 2018 00:13
Собака в начале командной строки — это отключение гашения панелей на время выполнения команды
Это скорее такое джентльменское обещание фару - "Моя команда не выводит артефактов. Честно. Вообще не выводит. И работает асинхронно в фоне, а не в этой же консоли. На надо ей подготавливать почву и не надо пытаться сохранить её вывод, т.к. его нет".
А (не)гашение панелей - побочный эффект (отсутствия) этих приседаний, наблюдаемый пользователем.
Когда-то давно фар не очень хорошо умел детектировать такие ситуации и бесполезное мерцание панелей при запуске какого-нибудь блокнота или калькулятора раздражало пользователей.
С этой фичей можно написать ассоциацию @!.! и радоваться.
Раньше она вроде бы работала в ассоциациях и юзерменю, но не в комстроке.
В процессе унификации запускателя в 3.0, видимо, стала работать и в комстроке тоже.

Сейчас фар неплохо (надеюсь) детектит всё это автоматически и особой необходимости в этой фиче нет.

А там есть опрос - а не пора ли ей на покой.

Видимо, таки пора.
nvv, зачем вы вообще так делаете, если результат вам не нравится?
Или это просто копирование команд из какого-то батника на автомате?

User avatar
nvv
Posts: 20
Joined: Thu 06 Oct, 2016 03:52
Location: Владивосток, Россия
Has thanked: 5 times
Been thanked: 1 time

prefix "@" + command line = chaos on the screen

Post by nvv » Wed 24 Jan, 2018 06:04

DrKnS wrote:
Wed 24 Jan, 2018 01:35
nvv, зачем вы вообще так делаете, если результат вам не нравится?
Или это просто копирование команд из какого-то батника на автомате?
Гм-м-м,.. отчасти второе, но только отчасти.

Ок, распишу по подробнее.

0. У меня "любоффф" с батниками (лет под 30;). Последние 20 лет занимался (среди прочего) разработкой, сопровождением и поддержкой согласованного комплекса серверных скриптов (CMD, AWK, etc.) на серьёзном производстве. На Far3.0 перешёл совсем недавно (примерно года полтора как), знакомство пока шапочное (в основном).

1. Именно в батниках „@“ стоит у меня (за редкими исключениями) только в первой строке:
«@echo off»
Smile

2. А вот командную строку я юзаю сравнительно часто и этот символ вставляю просто не задумываясь. Пример:
а) for /l %a in (1,1,9) do echo %a
б) for /l %a in (1,1,9) do @echo %a
в) @for /l %a in (1,1,9) do @echo %a

В т.ч. и полагая, что «кашу маслом не испортишь»…
… Мда-с…

3. Рассматриваемое неудобство (в Far3.0) я испытываю уже сравнительно давно (почти сразу, как). Но сподобился поинтересоваться на предмет, лишь когда (сразу), и «достало», и настроение, и ва-а-аще-с!
Sad smile

… А так,.. мало ли на жизненном пути всяких «кочек»? Спросил, определился, буду «обходить». И принимать со смирением факты-с собственной забывчивости.

… Таки, уже далеко не «в первый раз»…
Smile

---
Удачи!
Влад.

P.S. (зря ли я педант?) В указанном вами опросе нехватат (на мой взгляд) и варианта "ни там, ни там".

User avatar
DrKnS
Posts: 4914
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 161 times

prefix "@" + command line = chaos on the screen

Post by DrKnS » Wed 24 Jan, 2018 08:48

Начиная с 5131 '@' в запускателе больше не имеет сакрального смысла и просто игнорируется.

Post Reply

Return to “Нужна помощь”