нет в changelog-е: изменились параметры вызова action в Macro !!!

Здесь можно сообщить о найденных багах в Far.
Post Reply
buniak_a_h
Posts: 1839
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 116 times
Been thanked: 165 times
Contact:

нет в changelog-е: изменились параметры вызова action в Macro !!!

Post by buniak_a_h »

Господа! Не нашёл ни в ChanheLog-е, ни в сопутствующей энциклопедии упоминания, что в процедуру action теперь передаётся таблица. В результате, в частности, перестал работать макрос MacroCheck (возможно, не только). Я считаю, что такие ВАЖНЫЕ вещи надо обязательно отражать в changelog-е. Мануал я без необходимости не читаю, т.к. конкретно эту статью знаю наизусть; думаю, не я один такой. А как всё рухнуло - это надо предупреждать.
Вот ещё несколько макросов, полученный с этого форума, которые, скорее всего, работать перестанут:
MultiPanel
session_bookmarks.lua
Editor_Pair.lua
Хотя корректнее всего было бы добавить поле actionex=<функция> - для тех, кто использует новые параметры.
В перечисленных макросах имеется список аргументов, есть вызовы этих функций с параметрами и проверяется первый (или единственный) аргумент на nil. Теперь это рухнет … Круто, ребята!
Last edited by buniak_a_h on Wed 11 Dec, 2019 06:14, edited 2 times in total.

User avatar
zg
zero-gravity
Posts: 5816
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 147 times
Contact:

нет в changelog-е: изменились параметры вызова action в Macro !!!

Post by zg »

buniak_a_h wrote:
Wed 11 Dec, 2019 05:38
Господа! Не нашёл ни в ChanheLog-е, ни в сопутствующей энциклопедии упоминания, что в процедуру action теперь передаётся таблица.
я не знаю, в каком changelog'е вы искали, но упоминание есть.
buniak_a_h wrote:
Wed 11 Dec, 2019 05:38
Я считаю, что такие ВАЖНЫЕ вещи надо обязательно отражать в changelog-е. Мануал я без необходимости не читаю
видимо не только мануал, да?
buniak_a_h wrote:
Wed 11 Dec, 2019 05:38
В перечисленных макросах имеется список аргументов, есть вызовы этих функций с параметрами и проверяется первый (или единственный) аргумент на nil. Теперь это рухнет … Круто, ребята!
круто — это использовать то, чего нет. и закладываться, что не будет всегда. параметры добавились, те что были, никак не изменились. это вполне себе распространённый в фаре подход, иначе мы давно уже имели бы миллион названий вида actionex66613.
Last edited by zg on Wed 11 Dec, 2019 07:11, edited 1 time in total.

buniak_a_h
Posts: 1839
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 116 times
Been thanked: 165 times
Contact:

нет в changelog-е: изменились параметры вызова action в Macro !!!

Post by buniak_a_h »

zg wrote:
Wed 11 Dec, 2019 07:11
я не знаю, в каком changelog'е вы искали
В changelog-е, поставляемом с FAR-ом (%FARHOME%\Changelog). Вы, видимо, привели ссылку на Changelog к какому-то плагину.
Извините, если сейчас напишу азбучную истину. Если плагин является неотъемлемой частью проекта, то он не должен содержать отдельный ченджлог. :evil:
zg wrote:
Wed 11 Dec, 2019 07:11
круто — это использовать то, чего нет
Ну, такая практика у МНОГИХ макрописателей. Мне - повезло, SimSU - нет.
zg wrote:
Wed 11 Dec, 2019 07:11
параметры добавились, те что были, никак не изменились
Опять не согласен. Первый параметр изменился (был nil, стала таблица). Увы, никто не проверяет select('#', ...) - вместо этого просто проверяют Arg1==nil. И теперь всё это рухнуло.
zg wrote:
Wed 11 Dec, 2019 07:11
иначе мы давно уже имели бы миллион названий вида actionex66613.
Не утрируйте. Таких случаев мало(я лет за 7 первый раз сталкиваюсь).
Ведь знаете же, что я прав, а защищаете, как РусАДА наших фармакологов …

User avatar
zg
zero-gravity
Posts: 5816
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 147 times
Contact:

нет в changelog-е: изменились параметры вызова action в Macro !!!

Post by zg »

buniak_a_h wrote:
Wed 11 Dec, 2019 08:30
Извините, если сейчас напишу азбучную истину. Если плагин является неотъемлемой частью проекта, то он не должен содержать отдельный ченджлог. :evil:
это ваше личное мнение, оно имеет право на существование, но это всего лишь мнение.
buniak_a_h wrote:
Wed 11 Dec, 2019 08:30
Ну, такая практика у МНОГИХ макрописателей.
плохая практика.
buniak_a_h wrote:
Wed 11 Dec, 2019 08:30
Опять не согласен. Первый параметр изменился (был nil, стала таблица).
зачем вы обманываете? вот кусок из старой справки: action = function() msgbox("","Macro example") end; -- function. нет тут никакого первого параметра.
buniak_a_h wrote:
Wed 11 Dec, 2019 08:30
Не утрируйте. Таких случаев мало(я лет за 7 первый раз сталкиваюсь).
я больше одного знаю, и что?
buniak_a_h wrote:
Wed 11 Dec, 2019 08:30
Ведь знаете же
опять демагогия. не надо проецировать на меня свою единственно правильную идеологию. более того, вот пост семилетней давности, там в пункте 1.1 приведён пример, аналогичный обсуждаемому.

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

нет в changelog-е: изменились параметры вызова action в Macro !!!

Post by HaRT »

Вот ещё с форума (кое-где название файла отличается добавленным префиксом области), в которых могло сломаться, если ф-я проверяет первый аргумент на nil. Чтобы понять, сломалось ли, надо смотреть в каждом случае.

23:40 МСК Посмотрел — нет, везде функции без аргументов, т.ч. не должно ничего сломаться.
Last edited by HaRT on Wed 11 Dec, 2019 21:41, edited 1 time in total.
Reason: Добавлен абзац с результатами проверки
Фар есть инструмент, а не нянька. © 2009 DrKnS

buniak_a_h
Posts: 1839
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 116 times
Been thanked: 165 times
Contact:

нет в changelog-е: изменились параметры вызова action в Macro !!!

Post by buniak_a_h »

HaRT, я видел многие из этих макросов. Но в тех, что я видел и не включил в свой список (например, DBEdit, ClickToTitleDir) имеют такую же форму action, но у них в назначенных функциях пустой список параметров, поэтому ошибка исключена.
Last edited by buniak_a_h on Wed 11 Dec, 2019 16:48, edited 1 time in total.

citRiks
Posts: 637
Joined: Fri 25 Oct, 2019 18:18
Has thanked: 175 times
Been thanked: 42 times

нет в changelog-е: изменились параметры вызова action в Macro !!!

Post by citRiks »

HaRT wrote:
Wed 11 Dec, 2019 13:26
Вот ещё ряд макросов
А можно поинтересоваться каким способом Вы получили такой список?

buniak_a_h
Posts: 1839
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 116 times
Been thanked: 165 times
Contact:

нет в changelog-е: изменились параметры вызова action в Macro !!!

Post by buniak_a_h »

Отвечу за себя. Я воспользовался своим макросом Find_n_Go указав выражение для поиска action%s*=%s*[%w_]*%s*; Наверно, аналогичного результата можно достичь через GERP или Search. Ну, только регэксп перевести с lua на Perl … . Мой скрип удобен тем, что можно сразу проверить, использует ли макрос параметры, передающиеся в функцию.
Last edited by buniak_a_h on Wed 11 Dec, 2019 17:34, edited 1 time in total.

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

нет в changelog-е: изменились параметры вызова action в Macro !!!

Post by HaRT »

Фар есть инструмент, а не нянька. © 2009 DrKnS

Post Reply

Return to “Глюки и баги”