Ошибка отметки одноименных файлов из разных папок

Здесь можно сообщить о найденных багах в Far.
Post Reply
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Ошибка отметки одноименных файлов из разных папок

Post by buniak_a_h »

Вроде, похожая тема уже обсуждалась (касательно поиска, кажется), но всё же… Не знаю, чья это ошибка - ФАРа или TmpPanel, но они в комплекте, поэтому исправлять надо независимо от того, где она.
Как воссоздать:
  1. Сделать папку с одним файлом (в примере - файл file.qqq)
  2. скопировать этот файл в подпапки 1\ и 2\
  3. Поместить все файлы во временную панель (например, поиском файла *.* и последующим помещением во временную панель). Получим временную панель с 3-мя файлами:
    …\1\file.qqq …\2\file.qqq …\file.qqq
  4. Запустить скрипт:

    Code: Select all

    local a={}
    for i=2,APanel.ItemCount do
      a[#a+1] = Panel.Item(0, i)
    end
    Panel.Select(0, 1, 2, table.concat(a,'\n'))
    
    Этот скрипт помещает список всех файлов в таблицу и отмечает все по списку

В результате отмечается только первый файл.
P/S. Заключение имён файлов в кавычки не помогает.
Last edited by HaRT on Wed 17 May, 2023 13:03, edited 3 times in total.
Reason: Тема вновь отделена
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Ошибка отметки одноименных файлов из разных папок

Post by HaRT »

buniak_a_h, последовательность воспроизведения избыточная — достаточно иметь два файла и пытаться выделять второй. На деле выделяется первый. Так, на мой взгляд, куда нагляднее.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

TmpPanel: Temporary Panel — Временная панель

Post by buniak_a_h »

HaRT wrote: Wed 17 May, 2023 11:56 последовательность воспроизведения избыточная <…> куда нагляднее
Возможно. Я привёл ситуацию, на которую нарвался (даже слегка упростив). Но какая-то странность в этом есть.
Думаю, сообщение зря перенесено в тему, посвящённую плагину Temporary Panel. Этот же эффект проявляется и во временной панели, встроенной в плагин LF Search. Думаю, если будет панель от какого-нить плагина, так же содержащая полный путь к файлу, включая папку относительно некоего корня, то ошибка может повториться (не проверял за отсутствием у меня такого плагина. Но можно, наверно, реализовать на основе панельного модуля).
Имеет смысл проверять?
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

TmpPanel: Temporary Panel — Временная панель

Post by buniak_a_h »

Ещё один P/S.
Если нажать Gray+ и в качестве имени ввести не первый файл, то отмечается правильно. Что наводит на мысль об ошибке именно в Panel.Select.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Ошибка отметки одноименных файлов из разных папок

Post by HaRT »

buniak_a_h wrote: Wed 17 May, 2023 12:25 Думаю, если будет панель от какого-нить плагина, так же содержащая полный путь к файлу, включая папку относительно некоего корня, то ошибка может повториться (не проверял за отсутствием у меня такого плагина.
Я проверил с RESearch — да, воспроизводится. Поэтому снова отделил Тему.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Ошибка отметки одноименных файлов из разных папок

Post by buniak_a_h »

HaRT wrote: Wed 17 May, 2023 13:04 Я проверил с RESearch — да, воспроизводится
Ну вот, это уже третья временная панель. Я проверял на LF Search.
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Ошибка отметки одноименных файлов из разных папок

Post by Shmuel »

@Far Group:
Вроде у себя на линуксе починил это (изменения только в filelist.cpp).
https://github.com/shmuz/far2m/commit/6 ... 906dc0f0db
https://github.com/shmuz/far2m/commit/0 ... 469f94b6d4
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ошибка отметки одноименных файлов из разных папок

Post by John Doe »

Применил это исправление тут https://github.com/FarGroup/FarManager/pull/691.
Тест данного кейса успешно проходит.
Остальное прошу протестировать (Panel.Select и выделение/развыделение/инвертирование списком).
Бинарники тут: https://github.com/FarGroup/FarManager/ ... #artifacts
(например Far.Release.x86)
https://t.me/FarManager — Telegram чат
Shmuel
Posts: 6819
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 528 times

Ошибка отметки одноименных файлов из разных папок

Post by Shmuel »

John Doe wrote: Fri 19 May, 2023 01:30 например Far.Release.x86
Интересно, что не получится скачать этот файл, если не залогинен в GitHub.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ошибка отметки одноименных файлов из разных папок

Post by John Doe »

Исправлено в билде 6147
https://t.me/FarManager — Telegram чат
Post Reply

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