Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 7)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие топики:  1 [?] 2 [?] 3 [?] 4 [?] 5 [?] 6 [?]


Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в таких сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.
 
Общие сведения о совместимости FAR и плагинов [?]
 
Можно воспользоваться одной из пользовательских сборок FAR Manager [?]
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
Шрифт TTF, аналог Terminal 10x18 [?]
 
Инструкции по сборке FAR из исходников
Набор для самостоятельной сборки FAR [?]
Как собрать FAR самостоятельно (старая инструкция) [?]  
 
Ссылки на устаревшие версии [?]
 
Прочее
Портабелизация в FAR 3 плагинов для FAR 1
Выдержка из Far Manager Site and Forum ‹ FAQ :
Отличия FAR 3 от FAR 2 [?]
Отличия FAR 2 от FAR 1.7 [?]
 
Примечания
 
* 13 декабря 2008 г. были переименованы ветки: ANSI-ветка 1.71 превратилась в 1.75, а юникодная ветка получила номер версии 2.0 (вместо 1.80). Т.е. версии 1.хх это ANSI ("старый" FAR), а версии 2.хх – юникодные ("новый" FAR). Эти ветки сильно различаются по способу взаимодействия с плагинами и системой!
* При обновлении ANSI-ветки 1.хх более старые версии плагинов могут работать в более новом FAR, но более новые плагины в большинстве случаев требуют обновления FAR (см. документацию).
* Юникодные плагины в ANSI-версии FAR не работают – у них иной способ взаимодействия (API) с Far.exe, поэтому даже не пытайтесь их использовать в FAR версии ниже 1.80.
* При обновлении юникодной версии FAR 1.80/2.0/3.0 обращайте внимание на номер сборки: следует обязательно обновить все плагины для сборок 677/680/684, иначе они не будут работать. ANSI-плагины (кроме тех, которые работают в редакторе) можно применять в юникодной версии FAR, в меню плагинов (вызываемом клавишей F11) они будут помечены значком [A] справа от их имени. Юникодные плагины в FAR 1.80/2.x/3.х никаким значком после имени не помечаются.
* Юникодная версия FAR 1.80/2.x/3.х требует как минимум Windows 2000, т.е. она работает только в Windows 2000/XP/2003/Vista/2008/7/8/10.
* Плагины от FAR 2 несовместимы с FAR 3 и не запустятся.
* В FAR 3 выборочно могут работать плагины от FAR 1, однако не стоит брать от FAR 1 плагины для редактора или работающие с дисками: первые портят текст в Юникоде, вторые – файловую систему.
* В любом случае разрядность плагинов должна совпадать с разрядностью FAR, иначе плагин не будет загружен.

 
Принципиальные различия между hard link, symlink и junction [?]
Как запустить Lua/MoonScript из FAR [?]
Как правильно добавить в программу нужную DLL (или иную зависимость), чтобы при обновлении ОС или иных программ она не перестала работать [?]
Как распаковать UUE/XXE-файлы патчей и использовать их? [?]
 
ВНИМАНИЕ!
 
Правильное завершение Far: всегда завершайте сеанс работы с Far клавишей F10! Подробнее – на форуме - Различие выхода из Far по F10 и крестиком

Всего записей: 39463 | Зарегистр. 26-02-2002 | Отправлено: 12:51 26-09-2022 | Исправлено: DimmY, 12:43 10-03-2025
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
падает на файле содержащем только 1 строку без ПС.  

У меня не падает.

Цитата:
для единообразия с RESearch

Я этим плагином не пользуюсь, соответственно единообразия с ним не ищу.
Сначала вообще думал сделать этот индикатор в форме [NN].

Всего записей: 1934 | Зарегистр. 09-03-2012 | Отправлено: 11:57 05-03-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
У меня не падает.

Попробуйте файл с кириллической строкой, например с xE0 (кириллическое А в ANSI)  
 

Цитата:
Я этим плагином не пользуюсь, соответственно единообразия с ним не ищу.

Я ищу, потому и на картинке изобразил соответствующим образом. Но не проблема усложнить маску в скрипте, раз гора не идёт к Магомету.
 

Всего записей: 3762 | Зарегистр. 16-06-2007 | Отправлено: 13:30 05-03-2023
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21 (пост) [?]
Цитата:
Попробуйте файл с кириллической строкой

Дык в чем сложность ВЫЛОЖИТЬ ТОЧНО ВАШ файл, с которым происходит ошибка?
У меня вот тоже не упало...

Всего записей: 4489 | Зарегистр. 01-04-2006 | Отправлено: 13:37 05-03-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny child
Выложить файл с 1 байтом xE0?

Всего записей: 3762 | Зарегистр. 16-06-2007 | Отправлено: 13:52 05-03-2023
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
ЕСЛИ на нем происходит ошибка - то да
ибо, когда делаешь его сам - и используешь плагин - падений нет.
Ну и как тут по другому искать причину???

Всего записей: 4489 | Зарегистр. 01-04-2006 | Отправлено: 13:58 05-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Цитата:
Выложить файл с 1 байтом xE0?

Попробовал, не падает ни на x86, ни на x64.
Думаю, что дело в ОС.

Всего записей: 1934 | Зарегистр. 09-03-2012 | Отправлено: 21:44 05-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21

Код:
local s = string.char(0xE0)
far.Show (win.Utf8ToUtf16(s))

Вот этот код у меня не падает, а у вас видимо упадёт.
 
P.S. Но эта проблема у меня воспроизвелась на far2l, значит надо фиксить

Всего записей: 1934 | Зарегистр. 09-03-2012 | Отправлено: 00:11 06-03-2023 | Исправлено: shmuz, 00:31 06-03-2023
destiny child



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz (пост) [?]
Цитата:
у меня воспроизвелась на far2l

Какой Линукс нежный оказался))))
винде-то вон - всё ни по чём!

Всего записей: 4489 | Зарегистр. 01-04-2006 | Отправлено: 11:32 06-03-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz

Цитата:
Вот этот код у меня не падает, а у вас видимо упадёт.

Так и есть: bad argument #1 to 'Utf8ToUtf16' (invalid multibyte string)

Всего записей: 3762 | Зарегистр. 16-06-2007 | Отправлено: 11:42 06-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
destiny child

Цитата:
Какой Линукс нежный оказался))))
винде-то вон - всё ни по чём!

Ну как же, на WinXP ведь падает. А в far2l используется функция из Wine.
 
На самом деле это не простая проблема (как обрабатывать невалидный multibyte текст), о ней в интернете есть статьи и дискуссии.

Всего записей: 1934 | Зарегистр. 09-03-2012 | Отправлено: 11:49 06-03-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А когда не падает, матчит правильно? На любых наборах символов?

Всего записей: 3762 | Зарегистр. 16-06-2007 | Отправлено: 11:51 06-03-2023 | Исправлено: Alexyz21, 11:52 06-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
А когда не падает, матчит правильно? На любых наборах символов?

Это надо проверять, сейчас нет времени.
 
Добавлено:
Да, при установке Default Code Pages, буква а в этом файле находится.

Всего записей: 1934 | Зарегистр. 09-03-2012 | Отправлено: 11:53 06-03-2023
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Когда-то раньше, когда расцветки результата не было LFS грепил быстрее RES, теперь наоборот. Расцветка сильно помогает в восприятии результатов. Спасибо за отличный инструмент.

Всего записей: 3762 | Зарегистр. 16-06-2007 | Отправлено: 12:14 06-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
Скорость грепа в LFS не зависит от расцветки, расцветка делается, когда уже сама операция грепа закончена.
А вот скорость грепа в последней версии LFS снизилась из-за подсчёта кол-ва вхождений, т.е. раньше строка проверялась только на 1-е вхождение, и сразу шёл переход на следующую строку.

Всего записей: 1934 | Зарегистр. 09-03-2012 | Отправлено: 12:25 06-03-2023 | Исправлено: shmuz, 12:26 06-03-2023
El Sanchez



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
local s = string.char(0xE0)
far.Show (win.Utf8ToUtf16(s))

shmuz, Utf8ToUtf16 ожидает, что на входе у неё будут байты UTF-8. Байт 0xE0 ну никак не корректный. Windows возвращает замещающий символ, поэтому не ругается.

Код:
 
Проверяем, правильные ли байты после string.char:
C:>lua:far.Show(string.byte(string.char(0xE0),1))
1| 224 ; 224 = 0xE0
OK
 
Проверяем, правильные ли байты после string.char:
0xD0, 0xB0 - это правильная последовательность байтов символа маленькой кириллической буквы а  в кодировке UTF-8.
C:>lua:far.Show(string.byte(string.char(0xD0, 0xB0),1,2))
1| 208 ; 208 = 0xD0
2| 176 ; 176 = 0xB0
OK
 
Проверяем, правильные ли байты после win.Utf8ToUtf16:
C:>lua:far.Show(string.byte(win.Utf8ToUtf16(string.char(0xE0)),1,2,3,4))
1| 253 ; 253 = 0xFD
2| 255 ; 255 = 0xFF
0xFDFF - замещающий символ (кодовая точка U+FFFD) в кодировке UTF-16LE, поэтому не ругается в Windows. Замещающий потому, что 0xE0 это фуфло.
 
Проверяем, правильные ли байты после win.Utf8ToUtf16 для корректных байтов:
C:>lua:far.Show(string.byte(win.Utf8ToUtf16(string.char(0xD0, 0xB0)),1,2,3,4))
1| 48 ; 48 = 0x30
2| 4   ; 4 = 0x04
0x3004 - кириллическая маленькая буква а (кодовая точка U+0430) в кодировке UTF-16LE.
 


Всего записей: 506 | Зарегистр. 23-12-2008 | Отправлено: 15:48 06-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
El Sanchez
Lua-функция win.Utf8ToUtf16 реализована через WINAPI-функцию MultiByteToWideChar.
Последняя одним из параметров принимает Flags, который может содержать бит
MB_ERR_INVALID_CHARS (Fail if an invalid input character is encountered)
Этот бит в функции win.Utf8ToUtf16 всегда установлен в 0.

Всего записей: 1934 | Зарегистр. 09-03-2012 | Отправлено: 16:20 06-03-2023 | Исправлено: shmuz, 16:50 06-03-2023
El Sanchez



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Lua-функция win.Utf8ToUtf16 реализована через WINAPI-функцию MultiByteToWideChar.  
Последняя одним из параметров принимает Flags, который может содержать бит  
MB_ERR_INVALID_CHARS (Fail if an invalid input character is encountered)

shmuz, и что? Это я и так знаю, я о том, что ваш тест некорректен.
 

Всего записей: 506 | Зарегистр. 23-12-2008 | Отправлено: 17:03 06-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
El Sanchez

Цитата:
я о том, что ваш тест некорректен.  

Мой тест был предназначен для проверки поведения на разных ОС.
И он показал, что на Windows 10 ошибка не выдаётся, а на Windows XP выдаётся.
Чем же этот тест некорректен?

Всего записей: 1934 | Зарегистр. 09-03-2012 | Отправлено: 17:18 06-03-2023
wseventeen

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shmuz

Цитата:
Note  For UTF-8 or code page 54936 (GB18030, starting with Windows Vista), dwFlags must be set to either 0 or MB_ERR_INVALID_CHARS. Otherwise, the function fails with ERROR_INVALID_FLAGS.

 
Добавлено:
dwFlags всегда равен 0?

Всего записей: 1469 | Зарегистр. 20-12-2007 | Отправлено: 20:25 06-03-2023
shmuz

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wseventeen

Цитата:
dwFlags всегда равен 0?

Для функции win.Utf8ToUtf16.
Если нужно другое значение флагов, можно пользовать win.MultiByteToWideChar.

Всего записей: 1934 | Зарегистр. 09-03-2012 | Отправлено: 20:32 06-03-2023
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140

Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 7)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru