%S Помещает в командную строку имена всех выделенных файлов. Имена, содержащие пробелы, будут взяты в кавычки. Имейте в виду, что длина командной строки не может превышать 32767 символов.
Однако, если нет выделенных файлов, вместо %S передается имя файла под курсором, что соответствует параметру %N, чего мне не надо для моей задачи.
Значит ли это, что описание параметра %S не соответствует реальности? Как можно, если можно, обойти ненужную мне передачу не выделенного файла?
Чего-то я вообще не понял, чем не устраивает данное поведение? Если параметры указываются, значит, по логике они и будут задействованы. И касается это всех параметров, возвращающих список выделенного. Так было всегда. Просто в описании нет этого уточнения.
Лучше описать задачу, в которой это мешает, тогда будет понятней, что и как требуется обойти.
gora
Штатное действие параметров вообще-то соответствует справке, поскольку совершенно очевидно, что если в описании действия фигурируют выделенные файлы, то таковые должны иметься. (При наличии в панели выделенного файла и другого файла под курсором обрабатывается именно выделенный файл.) При отсутствии выделения действительно обрабатывается файл под курсором, то есть %S интерпретируется как %N, и определённая логика в этом есть (хоть один выбранный файл да откроем). Что предлагается взамен? Чтобы при отсутствии выделения программа с такими параметрами вообще не запускалась? Или чтобы окно программы открывалось пустым?
Следует ли упомянуть в справке специфику поведения параметра при отсутствии выделения — вопрос отдельный.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Flasher писал(а):Так было всегда. Просто в описании нет этого уточнения.
Я это и написал, описание не соответствует реальному поведению. А, т.к., поведение мы исправить не в силах, то привести описание к реальному поведению нам вполне доступно.
Flasher писал(а):Лучше описать задачу, в которой это мешает, тогда будет понятней, что и как требуется обойти.
Нужно запустить текстовый редактор и передать ему для открытия выделенные файлы, если таковых нет, то открыть редактор БЕЗ передачи ему каких либо файлов.
gora писал(а):Я это и написал, описание не соответствует реальному поведению.
Оно соответсвует поведению в одной ситуации, а в другой - нет, если быть точнее.
gora писал(а):Нужно запустить текстовый редактор и...
Ну, скрипт написать/поправить - пару пустяков. Только вот вряд ли он будет аналогом по скоростным характеристикам. Да и тут, я думаю, без меня легко справишься. Но другого пути нет и, судя по всему, не будет.
gora писал(а):Если есть ситуация в которой оно не соответствует, значит оно не соответствует, ибо эта ситуация не описана.
Ситуации есть штатные (внятное описание которых обязательно) и нештатные. Описание штатной ситуации сделано в данном случае совершенно нормально. Заслуживает ли специального описания ещё и нештатная ситуация (применение параметров не по прямому их назначению), мы с соавтором обсудим. Но вообще должен сказать, что все нештатные ситуации предугадать и описать в справке абсолютно нереально.
Последний раз редактировалось Avada Вт ноя 15, 2011 11:29, всего редактировалось 1 раз.
Даже самая богатая фантазия
Не представит себе наши безобразия.
gora писал(а):Если есть ситуация в которой оно не соответствует, значит оно не соответствует, ибо эта ситуация не описана.
Ничего подобного. В описание ноутбука написано, как пользоваться той или иной программой, операционной системой и т.п.? Нет. Так что ж, по этому принципу описание не соответвует логике его работы?
Или: кирпич - искуственный камень правильной формы для строительной кладки.
Только потому, что в описании нет того, что его, например, можно использовать на Тамешивари, описание перестало быть верным?
Эти возможности всего лишь реализуют добавочный функционал.
И таких примеров бесконечное множество.
gora писал(а):Да вот что-то у меня не получается так просто различить, что же было передано, "файл под курсором" или "выделенный файл под курсором".
Этот вариант сам по себе бессмысленен. Ответ кроется в вопросе: зачем было выделять один файл?
Avada писал(а):Ситуации есть штатные (внятное описание которых обязательно) и нештатные
Не понятна логика отнесения "отсутствия выделенных файлов" к нештатной ситуации. Она вполне штатная.
Avada писал(а):применение параметров не по прямому их назначению
Это где Вы усмотрели такое? Я действую согласно описанию в справке. Хочу передать программе выделенные файлы. Если файлов выделенных нет, то ни чего не должно передаваться программе. Мне так нужно и это полностью соответствует описанию параметра %S в справке. То что в справке не описано поведение этого параметра при отсутствии выделенных файлов и это вводит в заблуждение пользователя, не моя вина. Я строго следую справке и ни какой отсебятины не допускаю!
Flasher писал(а):Этот вариант сам по себе бессмысленен. ответ кроется в вопросе: зачем было выделять один файл?
Для того чтобы открыть один файл, что же здесь непонятного? А когда мне не надо открывать ни одного файла, я просто не буду выделять ни чего и хочу, чтобы редактор открылся без файла "под курсором" который мне сейчас всегда передается при отсутствии выделенных.
gora писал(а):Для того чтобы открыть один файл, что же здесь непонятного?
Элементарно. Непонятно то, зачем выделять файл, если достаточно установить на нём курсор.
gora писал(а):А когда мне не надо открывать ни одного файла, я просто не буду выделять ни чего и хочу, чтобы редактор открылся без файла "под курсором" который мне сейчас всегда передается при отсутствии выделенных.
Так вот для случая, если ничего не будет выделено, написать скрипт труда и не составит. Проблема только в случае, когда выделен один файл, и на нём установлен курсор, что, как я писал выше, само по себе бессмысленно при открытии.
gora писал(а):Я действую согласно описанию в справке. Хочу передать программе выделенные файлы. Если файлов выделенных нет, то ни чего не должно передаваться программе. Мне так нужно и это полностью соответствует описанию параметра %S в справке.
Нет, не согласно. Нет, не соответствует. Нет, не должно. В описаниии ясно сказано, что параметр предназначен для выделенных файлов. Если пользователь, видя это описание, тем не менее применяет этот параметр для чего-то другого (для файла под курсором без выделения, для каталогов и пр.), к кому претензии? Если ситуация перестала соответствовать описанию (не те объекты), возможен автоматический выбор только какого-то одного действия из перечисленных выше (выполнять %S как %N, не делать ничего, открывать пустое окно программы и пр.). "Мне так нужно" — это, пардон, не решающий аргумент. А мне так не нужно. И дальше что?
GGS
Конкретно для каталогов игнорирование параметра в чём должно проявляться?
А для файлов игнорирование, как было сказано может трактоваться как "не делать ничего" (то есть команда невыполнима) и открыть пустое окно программы. Что выбираем?
Последний раз редактировалось Avada Вт ноя 15, 2011 12:07, всего редактировалось 1 раз.
Даже самая богатая фантазия
Не представит себе наши безобразия.