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

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

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

Maz (15-01-2020 17:38): FAR Manager (часть 6)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Предыдущие топики:  1 2 3 4
 
Где взять последнюю версию?
На странице загрузки скачайте MSI-инсталлятор стабильной сборки нужной вам разрядности (32 или 64 бита) или дистрибутив в виде 7z-архива и установите/распакуйте в любую папку (FAR портабелен и может работать без установки).
Там же на свой страх и риск можно взять наиболее свежую "ночную" сборку (в ночных сборках устраняются выявленные недоработки, добавляются новые функции, но могут содержаться и серьёзные ошибки).
Архив всех предыдущих ночных сборок FAR
Last release на github - собирается практически сразу (в течение получаса) после каждого коммита.
 
Общие сведения о совместимости FAR и плагинов
 
Можно воспользоваться одной из пользовательских сборок FAR Manager
Вопросы, касающиеся сборок, следует задавать непосредственно их авторам, а не на официальном форуме.
 
Где взять дополнительные плагины, скрипты и макросы?
Плагринг. В настоящее время большинство авторов (возможно, уже и все) выкладывают плагины здесь. Кроме плагинов здесь появляется всё относящиеся к FAR: дополнения, консольные шрифты, скрипты и пр.
Анонсы плагинов на официальном форуме. Даже если автор не выкладывает по каким-либо причинам плагин на плагринге, он может дать анонс в этой теме.
Полезные скрипты и макросы.
 
Инструкции по сборке ФАРа из исходников
Набор для самостоятельной сборки ФАРа
Как собрать FAR самостоятельно (старая инструкция)  
 
Ссылки на устаревшие версии
Выдержка из Far Manager Site and Forum ‹ FAQ :
Отличия FAR 3 от FAR 2
Отличия FAR 2 от FAR 1.7
 
Примечания
 
* 13 декабря 2008 г. произошло переименование веток: ANSI-ветка 1.71 превратилась в 1.75, а Unicode-ветка получила номер версии 2.0 (вместо 1.80). Т.е. версии 1.хх это ANSI ("старый" FAR), а версии 2.хх – Unicode ("новый" FAR). Эти ветки сильно различаются по способу взаимодействия с плагинами и системой!
* При обновлении ANSI-ветки 1.хх более старые версии плагинов могут работать в более новом FAR, но более новые плагины в большинстве случаев требуют обновления FAR (см. документацию).
* Unicode-плагины в ANSI-версии FAR не работают – у них иной способ взаимодействия (API) с Far.exe, поэтому даже не пытайтесь их использовать в FAR версии ниже 1.80.
* При обновлении Unicode-версии FAR 1.80/2.0/3.0 обращайте внимание на номер сборки: следует обязательно обновить все плагины для сборок 677/680/684, иначе они не будут работать. ANSI-плагины (кроме тех, которые работают в редакторе) можно применять в Unicode-версии FAR, в меню плагинов (вызываемом по F11) они будут помечены значком [A] справа от их имени. Unicode-плагины в FAR 1.80/2.x/3.х никаким значком после имени не помечаются.
* Unicode-версия 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, иначе плагин не будет загружен.
* Блондинку на скриншоте зовут Tommie Jo.

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

Невыполнение этих правил ведёт к тому, что никто не станет помогать решать вашу задачу.

Всего записей: 36777 | Зарегистр. 26-02-2002 | Отправлено: 18:55 23-11-2017 | Исправлено: Victor_VG, 10:00 09-09-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wseventeen
 
Поймал момент когда фар неопределённо долго ждёт обновление архива. На панели  арклайт открыт архив 7-Zip /LZMA /SOLID, пассивная панель файловая. Обновляю в архиве gitlog.txt (Clean/TEXT, UTF-8 без BOM) - после его записи "зависли" - загрузка ЦП 25% (может быть совпадение событий), в стеке РН по числу циклов ЦП видим где ждём:
 

 

 

 
но лично меня насторожил размер архива - обычно он крутится около 6 Мб, а тут сразу почти 9 Мб - перепаковал от греха подальше, всё одно processhacker-3.0-x86-x64-portable.7z архив тестовый и "на улицу" не бегает. Вполне могли .PDB затесаться, а их в РН компилится под 70 штук и они сами не мелкие, а без моей рабочей копии толку с них.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 26921 | Зарегистр. 31-07-2002 | Отправлено: 20:46 11-12-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
b5524 Git-fe700c2a7
 
Поломан редактор - портит исходники (поймано на инклюде, достаточно):
 
имеем автосоздаваемый инклюд:

Код:
/*
BUILD - build number
GIT   - Git commit
CHK   - If IsWin7OrNewer == 1 then install Wget for Win7
CNF   - If IsUpdateConfig == 1 then overwrite default.farconfig and import farfix.cnf, required UPD == 1
UPD   - If IsUpdateEnable == 1 then compile "-update" section
RST   - If IsResetSettings == 1 then reset settings
WGT   - If IsWgetSupportNLS == 1 then install ./Locale, required UPD == 1
*/
!define BUILD "5523"
!define GIT "bb66fafad"
!define CHK "0"
!define CNF "0"
!define UPD "0"
!define RST "0"
!define WGT "0"
 

правим CNF и UPD 0 -> 1, затем вызываем mf.trim() для уборки мусора. Что видим?
b5523 Git-bb66fafad - работает как и должен файл усекается до 535 байт, переводы строк не меняются - считаем его эталоном;
 
b5524 Git-fe700c2a7 - а тут чудеса: сразу при открытии в конце последней строки инклюда вместо !define WGT "0" видим !define WGT "0"" и коли нажать save это добро запишется ... с последствиями, зовём mf.trim(ver.nsh)  и получаем отборную дичь - "переводы строки" в хекc 0x0D 0D 0D 0A при это видим добавление ещё одной кавычки в конце файла 0x54 22 30 22 22 22 - бред! Не зряу меня vim ругается на не допустимые переводы строк. И всё енто можно в картинках посмотреть:
 

 

 

 

 

 
откатил на b5523 - там таких фокусов нет. Судя по всему это художества студии, и похоже 16.4.0 про которую говорят что она портит исходники только править успевай...
 
А в b5525 сам Far.exe не собирается... Возится ним не стану, спать...
 
Добавлено:
Только Far.exe b5524 без скриптов и плагинов аналогично портит текст - вставляет "перевод строки" 0х0D 0D 0A ...
 

 
Добавлено:
это не считая прочего символьного мусора обнаруживаемого в конце открытого текста. Чаще всего я видел символ h ...

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 26921 | Зарегистр. 31-07-2002 | Отправлено: 04:51 12-12-2019
Alexyz21



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

Цитата:
Поймал момент когда фар неопределённо долго ждёт обновление архива

Мой случай - в архивах не XML тоже пару раз случалось осенним ночнушкам зависнуть.
 
Не успел написать, как снова - 5523, пошёл настройки MultiArc посмотреть - F9 - Archive support - Enter и фар в меню повис, настройки так и не открыв.

Всего записей: 2264 | Зарегистр. 16-06-2007 | Отправлено: 08:45 12-12-2019 | Исправлено: Alexyz21, 08:54 12-12-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DrKnS
 
Посмотрел на b5526 редактор оставив только Far.exe без каких либо макросов и плагинов - ошибки в редакторе более нет, добавил к нему LuaMacro и проверил работу с mf.trim() - и эта ошибка исправлена.  
 
Контроль двоичной структуры файла производил в хекс редакторе чтобы если что сразу было видно ошибки.  
 
Спасибо!

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 26921 | Зарегистр. 31-07-2002 | Отправлено: 12:16 12-12-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
О плагине [ESC] - skipik обнаружил Issues #45 - при значении параметра table value="2" по ShiftF4 выводится сообщение об ошибке "Кодовая страница 2 не поддерживается ОС". Стал разбираться - ошибку порождают значения table value="1" или table value="2", но если поставить table value="0" или как указано в в ReadMe.txt  значение value "№ кодовой страницы + 3" плагин обработает это правильно. Потому спросил в инце:

Цитата:
Вопрос - правильно ли я понял, что разумнее прямо указывать стартовую кодировку не полагаясь на автоматику плагина?

и сам пока склоняюсь к мнению "На автоматику не полагаться, а прямо указывать желаемую кодовую страницу." хотя возможно и перестраховываюсь, но явление есть, и думаю пока стоит про него знать.


----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 26921 | Зарегистр. 31-07-2002 | Отправлено: 16:31 14-12-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ответ zg

Цитата:
сейчас там надо просто кодовую страницу указывать. хотя конечно поддержку 1/2 можно было бы сделать, но плагин не поддерживается, кому надо — форкайте, развивайте.

у себя когда разбирался с причиной сообщения поправил конфиги плагина явно указав кодовую страницу всюду где встречались значения 1 и 2. Более ошибки нет.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 26921 | Зарегистр. 31-07-2002 | Отправлено: 22:29 14-12-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему в панелях в папках APanel.Path==APanel.Path0, а в корне != ?

Всего записей: 2264 | Зарегистр. 16-06-2007 | Отправлено: 15:22 15-12-2019 | Исправлено: Alexyz21, 15:22 15-12-2019
shmuz

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

Цитата:
Почему в панелях в папках APanel.Path==APanel.Path0, а в корне != ?

Не ищите здесь скрытого смысла, скорее всего его нет - просто вот так сделано.

Всего записей: 1339 | Зарегистр. 09-03-2012 | Отправлено: 22:29 15-12-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тогда это неконсистентность реализации, если не является костылём чего-то.
 
В панелях F5 на changelog, вводим C:, жмём Enter, видим неадекватное ситуации сообщение:
Cannot copy the file
     changelog          
     onto itself          


Всего записей: 2264 | Зарегистр. 16-06-2007 | Отправлено: 01:39 16-12-2019 | Исправлено: Alexyz21, 09:39 17-12-2019
shmuz

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

Цитата:
В панелях F5 на changelog, вводим C:, жмём Enter, видим неадекватное ситуации сообщение:  

Вполне адекватное. cmd.exe в ответ на эту команду сообщает: The file cannot be copied onto itself.

Всего записей: 1339 | Зарегистр. 09-03-2012 | Отправлено: 10:50 17-12-2019
Pasha_ZZZ



Gold Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alexyz21
C: без слеша в конце - это значит скопировать в текущий каталог диска C:

Всего записей: 9517 | Зарегистр. 11-03-2002 | Отправлено: 11:04 17-12-2019
Alexyz21



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Точно, при смене диска попадаем в текущую директорию, забыл, однако.

Всего записей: 2264 | Зарегистр. 16-06-2007 | Отправлено: 11:11 17-12-2019
Smitis

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

Цитата:
Почему в панелях в папках APanel.Path==APanel.Path0, а в корне != ?

Извечная философская проблема операционных систем Microsoft - "Что делать с конечным обратным слешем в пути?"

----------
Разум когда-нибудь победит

Всего записей: 1955 | Зарегистр. 09-02-2003 | Отправлено: 20:01 17-12-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Так после b5486:

Цитата:
drkns 11.10.2019 13:47:00 +0100 - build 5486
 
1. Откат 5472, 4523, 4521 - Ctrl+Enter, Ctrl+[ и прочие вновь добавляют backslash к путям.
   При наличии кавычек backslash будет внутри - "С:\some path\", как раньше.

конечный слеш убрали - он вызывал ошибки в работе плагинов и скриптов. По моему кликнуть win.GetCurrentDir() не долго.

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 26921 | Зарегистр. 31-07-2002 | Отправлено: 20:52 17-12-2019
Alexyz21



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

Цитата:
По моему кликнуть win.GetCurrentDir() не долго

Откуда уверенность, что она совпадает с CurrentDir в FAR?
 
Добавлено:

Цитата:
конечный слеш убрали - он вызывал ошибки в работе плагинов и скриптов.

Что он тогда делает в Path0?

Всего записей: 2264 | Зарегистр. 16-06-2007 | Отправлено: 23:41 17-12-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
Так запрашивая свойство путь в точке монтирования ветви мы вообще не имеем каталога как сущности файловой системы, но при этом на неё отображается корневой каталог примонтированной в неё ветви, и исходя из написанного в главе  
Макросы -> Макроязык -> Свойства и функции: по областям -> Свойства и функции для работы с панелями таблица Свойства:

Цитата:
APanel.Path0
PPanel.Path0 String содержит путь на реальной файловой системе, до вызова плагинов, создающих свою панель (без заключительного '\')  
 
APanel.Path
PPanel.Path String содержит путь панели (без заключительного '\')  
APanel.UNCPath
 
PPanel.UNCPath String содержит UNC-путь панели (без заключительного '\'); для плагиновой панели - prefix:[hostfile/]path

всё становится понятным - с одной стороны есть корневой каталог как точка отсчёта, а с другой каталога в точке монтирования как объекта нет, и нам это показывают, просто мы не смогли понять что нам хотят сказать, да вдобавок заключительный слеш не показали - поневоле задумаешься.
 
Добавлено:
А заключительного слеша как индикатора "каталог" согласно Писанию там быть не должно. Может у тебя где в скриптах стоит код типа  

Код:
If not not win.GetFileAttr(APanel.Path).FileAttributes:find("d") then APanel.Path = APanel.Path .. "\\" end;

?

----------
Жив курилка! (Р. Ролан, "Кола Брюньон")

Всего записей: 26921 | Зарегистр. 31-07-2002 | Отправлено: 00:20 18-12-2019
Alexyz21



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

Цитата:
мы не смогли понять что нам хотят сказать

 
ОС это ОС, а FAR это FAR и у меня нет уверенности в том, что win.CurrentDir()==APanel.Path всегда true. Причина от бага до особого мнения по данному моменту разработчиков фара. Посему, если APanel.Path предполагается использовать "внутри" фара, то опираться на его ответ правильнее, чем на API-запрос к ОС.
 
Добавлено:

Цитата:
APanel.Path
и
Цитата:
APanel.Path0
не одно и то же, однако. Причём в корне возвращают по-разному, а в папках одинаково - WTF? Шмуэль предложил не обращать внимания, мол случайно вышло, но всё же хотелось бы ясности.

Всего записей: 2264 | Зарегистр. 16-06-2007 | Отправлено: 00:37 18-12-2019 | Исправлено: Alexyz21, 01:02 18-12-2019
Victor_VG



Tracker Mod
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alexyz21
 
А ты посмотри их описания:  

Цитата:
APanel.Path (PPanel.Path) String содержит путь панели (без заключительного '\')
 
которая может быть и виртуальной панелью плагина, а  

Цитата:
APanel.Path0 (PPanel.Path0) String содержит путь на реальной файловой системе, до вызова плагинов, создающих свою панель (без заключительного '\')  

на которую в частном случае отображается текущая панель Far-а.  
 
Что касается win.GetCurrentDir() то она всегда отображает текущий каталог процесса т.к. это обёртка над MSDN: GetCurrentDirectoryW() которая  возвращает UNC путь текущего каталога процесса, но эта функция API  GetCurrentDirectoryW() применима с парой важных оговорок:

Цитата:
Remarks
 
Each process has a single current directory that consists of two parts:
 
  • A disk designator that is either a drive letter followed by a colon, or a server name followed by a share name (\\servername\sharename)
  • A directory on the disk designator
     
    Multithreaded applications and shared library code should not use the
    GetCurrentDirectory function and should avoid using relative path names.


  • Цитата:
    Замечания
     
    Каждый процесс имеет один текущий каталог, который состоит из двух частей:
     
  • Обозначение диска, которое представляет собой букву диска с двоеточием или имя сервера с именем общего ресурса (\\servername\sharename)
  • Каталог на диске
     
    Многопоточные приложения и общее библиотеки не должны использовать функцию GetCurrentDirectory и должны избегать использования относительных имен путей.

  • и если мы соблюдаем условия её применимости, и находимся в корневом каталоге файловой системы, значение свойства APanel.Path == APanel.Path0 == FileSystemRootDisr, хотя реально в этот момент мы будем находится в MountPoint(CurrentFileSystem).

    P.S.
     
    Всё, пошёл за тестером - KBD буквы пропускает - похоже батарейки сели. Lenovo ....


    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")

    Всего записей: 26921 | Зарегистр. 31-07-2002 | Отправлено: 01:46 18-12-2019 | Исправлено: Victor_VG, 01:48 18-12-2019
    Alexyz21



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

    Цитата:
    и если мы соблюдаем
    ,
    Цитата:
    хотя реально в этот момент
    - реально железобетонная доказательная основа для фантазий на тему как и что сделано. Если измерить соотношение полезной информации к объёму содержащего её текста, то имхо HTML страницы вместе со всеми форматирующими текст тегами будут лидировать перед такими умозрительными рассуждениями.
     

    Всего записей: 2264 | Зарегистр. 16-06-2007 | Отправлено: 02:53 18-12-2019 | Исправлено: Alexyz21, 02:54 18-12-2019
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Alexyz21
     
    Ты видишь и слышишь только желаемое, документация тебе не аргумент. Ну, каждому свои шишки, а у меня работы полно.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")

    Всего записей: 26921 | Зарегистр. 31-07-2002 | Отправлено: 03:24 18-12-2019
       

    Страницы: 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 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

    Компьютерный форум Ru.Board » Компьютеры » Программы » FAR Manager (часть 5)
    Maz (15-01-2020 17:38): FAR Manager (часть 6)


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

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.Board 2000-2020

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru