Страница 1 из 2

Баг: %N/%M в неактивной панели передаётся без кавычек

Добавлено: Вс мар 10, 2013 02:09
Flasher
TC 8.01 x32
Проверяем с кнопки: ?%N %M %X %N %M
В кавычки будет возводится только элемент под курсором.

Сообщите кто-нибудь Гислеру - проблема важная.

Добавлено: Вс мар 10, 2013 05:00
LonerD
?%N %M %X %N %M
Это параметр такой большой? Не работает именно отдельно %N/%M (%N или %M) или вся приведённая в посте связка параметров?
На локальном компьютере?
Может лучше всю команду привести, в которой используется этот параметр, чтобы Гислер сразу увидел и подтвердил баг? А то может и он не сразу догадается куда эту всю конструкцию приспособить
Лучше конечно максимально упрощённый вариант команда+параметр.

Добавлено: Вс мар 10, 2013 06:21
Tol!k
может и он не сразу догадается куда эту всю конструкцию приспособить
ну ты дал :D

подтверждаю баг для 7.57a

Добавлено: Вс мар 10, 2013 10:29
MVV
Насколько я помню, только %N/%S заключают в кавычки (и они же в сочетании с %P). Проблема тут, конечно, в том, что это нигде в официальной справке не описано (в справке я щас нашел только про %S и %P%S).

По-моему, куда проще самому поставить кавычки, пусть лучше они будут там всегда, чем от случая к случаю, сколько раз на оффоруме народ жаловался, что %N заключает в кавычки пробелы, но не спецсимволы типа скобок и т.п., из-за которых с командными файлами появляется куча проблем.

Добавлено: Вс мар 10, 2013 11:18
Flasher
LonerD
Гислер в своих параметрах не разберётся? :lol:
Команда любая. Всё покажется в отдельном окне. Знак вопроса спереди видишь? Вариант упрощать некуда.
Задача Гислеру должна быть поставлена такая: возводить в кавычки имена с пробелами, возвращаемые указанными параметрами, вне зависимости от установки перед ними %X.
Я из-за этого бага не могу сейчас скрипт перезапуска с твоими папками доделать. Исплевался весь..
MVV писал(а):Насколько я помню, только %N/%S заключают в кавычки
Испробуй приведённые параметры и убедись в обратном. Происходит именно так, как я описал в заголовке.
MVV писал(а):По-моему, куда проще самому поставить кавычки
Не проще. Используем в скрипте. Скрипт не знает, в какой панели заведомо установлен курсор. При использовании %X, где нужно чётко определять, какая панель левая, а какая правая, не должно играть роли, с какой стороны у меня будет стоять курсор. Правила для обеих панелей должны быть одинаковые, иначе скрипт будет подставлять кавычки не туда куда надо, и тот параметр, что идёт в комстроке без кавычек, будет разбит по пробелам, и ты получишь только первую часть имени - и то при условии, что он в конце, а если нет, то вообще сырбор получается..

Добавлено: Вс мар 10, 2013 12:13
MVV
Flasher,
При чём тут определение левой или правой панели? ТК (на данный момент) всегда заключает в кавычки строку для %N и никогда для %M.
Правило простое: везде, где пишешь %N, кавычки добавлять не следует, а где пишешь %N, их нужно добавлять явно, независимо от текущей панели и наличия %X.

Добавлено: Вс мар 10, 2013 12:14
Flasher
MVV
Прочти середину предыдущего поста ещё раз.

Добавлено: Вс мар 10, 2013 12:17
MVV
Да, вижу, после %X они меняются местами, и уже %M идёт с кавычками, а %N - нет. В заголовке, кстати, этот момент освещен не очень ясно.
Ну, если сам используешь %X, самому нужно и кавычки правильно ставить...

Добавлено: Вс мар 10, 2013 12:20
Flasher
MVV писал(а):В заголовке, кстати, этот момент освещен не очень ясно.
Есть параметры, есть неактивная панель. Яснее некуда.
MVV писал(а):Ну, если сам используешь %X, самому нужно и кавычки правильно ставить.
Куда? :lol: Я для кого писал-то?:
Flasher писал(а):Скрипт не знает, в какой панели заведомо установлен курсор...
Я полагаю, Гислер и сам догадается, что тут его просчёт.
Ко всему прочему нет идеологической разницы между %N и %M. Поэтому кавычки должны быть всегда для обоих параметров.

Добавлено: Вс мар 10, 2013 12:30
MVV
Кто использует %X? Скрипт? Логично же, кто использует %X, тот и за кавычками следить должен.

Вообще да, ерунда получается, зависящая от того, левая или правая панель активна.

Добавлено: Вс мар 10, 2013 12:35
Flasher
MVV
О чём ты говоришь? Следить можно за чистотой монитора, удаляя тряпочкой появившуюся пыль.
А параметры нужны для автоматизации. Никто за ними следить не должен. Они передаются в том виде, в котором созданы, их нельзя исправить в процессе их же использования.

Добавлено спустя 42 секунды:
MVV писал(а):Вообще да, ерунда получается, зависящая от того, левая или правая панель активна.
Фух.. Дошло таки..

Добавлено: Вс мар 10, 2013 12:36
MVV
Дык у тебя букв много, а тех из них, которые проясняют именно суть - всего ничего. Стоило написать в первом посте, что поведение кнопки зависит от того, левая или правая панель активна.

http://www.ghisler.ch/board/viewtopic.php?t=36469

Добавлено: Вс мар 10, 2013 12:39
Flasher
Не-не, я же написал:
Flasher писал(а):Задача Гислеру должна быть поставлена такая: возводить в кавычки имена с пробелами, возвращаемые указанными параметрами, вне зависимости от установки перед ними %X.
+
Flasher писал(а):Ко всему прочему нет идеологической разницы между %N и %M. Поэтому кавычки должны быть всегда для обоих параметров.

Добавлено: Вс мар 10, 2013 12:44
MVV
Но это не позволяло увидеть саму проблему: что после %X, если левая панель активна, %N заключается в кавычки, а если правая - то нет.

Добавлено: Вс мар 10, 2013 12:48
Flasher
Всё описано в заголовке (в неактивной панели) и первом посте (элемент под курсором). Tol!k почему-то всё сразу понял.

А цитаты я привёл к тому, чтобы ты Гислеру указал на момент необходимости добавления кавычек для всех случаев (%M или %X%M или %X%N).