mf.clip()

Здесь можно сообщить о найденных багах в Far.
Post Reply
2useven10
Posts: 3838
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 159 times

mf.clip()

Post by 2useven10 » Thu 09 May, 2019 23:31

Такой у меня выдаёт c1='5395' c2='5396' c3='5396.0'
Я что-то делаю не так? Или таки поломали?
Где-то неделю назад заметил, что у меня перестал работать макрос где это клипование используется...
Last edited by 2useven10 on Thu 09 May, 2019 23:31, edited 1 time in total.

2useven10
Posts: 3838
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 159 times

mf.clip()

Post by 2useven10 » Thu 09 May, 2019 23:56

с таким кодом:

Code: Select all

    local c2 = 1 + tonumber(c1)
    mf.clip(1, tostring(c2))
работает нормально, но раньше и без явных преобразований всё было в порядке.

User avatar
DrKnS
Posts: 5279
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 202 times

mf.clip()

Post by DrKnS » Fri 10 May, 2019 01:30

Старая версия fmt преобразовывала double 5396 в строку "5396".
Новая (после 18 апреля) преобразовывает в строку "5396.0".
Надо посмотреть, может это где-то настраивается и/или багрепорт написать.

Но вообще и то, и то - валидная репрезентация double.
Говоря mf.clip(1, c2) вы просите как-нибудь преобразовать double в строку и положить в буфер.
А "как-нибудь" может оказаться и "5.396e+03".

2useven10
Posts: 3838
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 159 times

mf.clip()

Post by 2useven10 » Fri 10 May, 2019 06:40

luas:far.Show("5396",5396) и luas:far.Show("5396",5396,1+5395,1+"5395")
выдаёт одинаковые значения (невзирая на "как-нибудь")
Last edited by 2useven10 on Fri 10 May, 2019 06:59, edited 1 time in total.

Shmuel
Posts: 5789
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 22 times
Been thanked: 210 times

mf.clip()

Post by Shmuel » Fri 10 May, 2019 07:09

DrKnS
Формально, да, ничего не сломалось. Но лучше было бы не использовать сторонние библиотеки в реализации макро-API.

2useven10
far.Show задумывалась как функция для быстрого показа величин, для отладки. Она за кадром вызывает tostring() для каждого аргумента. Поэтому неудивительно.

2useven10
Posts: 3838
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 4 times
Been thanked: 159 times

mf.clip()

Post by 2useven10 » Fri 10 May, 2019 07:36

Меня действительно удивляет влияние обновления сторонней библиотеки на работу макросов.
Я бы предпочёл, чтобы в mf.clip (и может ещё где-то) был tostring(). Удивлять лучше в других местах.

User avatar
DrKnS
Posts: 5279
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 6 times
Been thanked: 202 times

mf.clip()

Post by DrKnS » Fri 10 May, 2019 09:28

Поправлю.

Post Reply

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