паскалевская библиотека модифицирует слово состояния процессора

Здесь обсуждается всё, что касается макросов.
tstr
Posts: 559
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by tstr »

Latest post of the previous page:

нет, используется тот, что в комплекте в обоих битностях.
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

Это оказались плагины FarHints и MacroLib (достаточно любого из них).
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by 2useven10 »

+PlugMenu
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by 2useven10 »

но в чём причина ?
почему наличие 'сторонних' плагинов вкупе с безобидным модулем, которым они не пользуются, валит фар ?
tstr
Posts: 559
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by tstr »

в наличии были MacroLib, PlugMenu - отключил. валится.
есть смысл перебирать остальные плагины?
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by 2useven10 »

Ещё что нибудь (c) Max Rusov есть (MoreHistory ...) ?
2useven10
Posts: 5231
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 315 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by 2useven10 »

Возможно опять что нибудь с инициализацией math или рантайма, например реакция на переполнение...
tstr
Posts: 559
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by tstr »

да, оно.
были DlgSelect, EdtFind, MacroLib, MoreHistory, PlugMenu, VisualCompare
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

2useven10 wrote:но в чём причина ?
почему наличие 'сторонних' плагинов вкупе с безобидным модулем, которым они не пользуются, валит фар ?
Причина в том, что используемая паскалевская библиотека модифицирует слово состояния процессора, разрешая floating point exceptions. После этого, некоторые операции как раз и вызывают данные исключения.

Это уже обсуждалось и чинилось. Как видно недочинили (как Max Rusov, так и я).
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by John Doe »

tstr wrote:грузится файл из файлов UserProfileDir\Macros\scripts , макросы в которых используют эти "константы".
с помощью строки
require "Consts"

архив с файлом приложен:
Consts.7z
К вопросу о константах-гуидах.
В фара они определяются тут: http://farmanager.com/svn/trunk/unicode_far/DlgGuid.hpp
Удобно использовать те же имена.

(тут и диалоги, и меню)

Code: Select all

-- Autogenerated
FindFileId              = "8C9EAD29-910F-4B24-A669-EDAFBA6ED964"
FindFileResultId        = "536754EB-C2D1-4626-933F-A25D1E1D110A"
CopyOverwriteId         = "9FBCB7E1-ACA2-475D-B40D-0F7365B632FF"
FileOpenCreateId        = "1D07CEE2-8F4F-480A-BE93-069B4FF59A2B"
FileSaveAsId            = "9162F965-78B8-4476-98AC-D699E5B6AFE7"
EditorSavedROId         = "3F9311F5-3CA3-4169-A41C-89C76B3A8C1D"
EditorSaveF6DeletedId   = "85532BD5-1583-456D-A810-41AB345995A9"
EditorSaveExitDeletedId = "2D71DCCE-F0B8-4E29-A3A9-1F6D8C1128C2"
EditorAskOverwriteId    = "4109C8B3-760D-4011-B1D5-14C36763B23E"
EditorOpenRSHId         = "D8AA706F-DA7E-4BBF-AB78-6B7BDB49E006"
EditAskSaveExtId        = "40A699F1-BBDD-4E21-A137-97FFF798B0C8"
EditAskSaveId           = "F776FEC0-50F7-4E7E-BDA6-2A63F84A957B"
MakeFolderId            = "FAD00DBE-3FFF-4095-9232-E1CC70C67737"
FileAttrDlgId           = "80695D20-1085-44D6-8061-F3C41AB5569C"
CopyReadOnlyId          = "879A8DE6-3108-4BEB-80DE-6F264991CE98"
CopyFilesId             = "FCEF11C4-5490-451D-8B4A-62FA03F52759"
MoveFilesId             = "431A2F37-AC01-4ECD-BB6F-8CDE584E5A03"
HardSymLinkId           = "5EB266F4-980D-46AF-B3D2-2C50E64BCA81"
PluginsMenuId           = "937F0B1C-7690-4F85-8469-AA935517F202"
EditorReloadId          = "AFDAD388-494C-41E8-BAC6-BBE9115E1CC0"
FarAskQuitId            = "72E6E6D8-0BC6-4265-B9C4-C8DB712136AF"
Определиться бы раз и навсегда со способом обращения к ним.
Может быть стоит поступить как в LuaFAR (константы FAR API доступны через таблицы far.Flags и far.Colors)
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

tstr wrote:В FAR v3.0 (build 3235) x64 пытаюсь использовать Consts.lua , который лежит в UserProfileDir\Macros\modules , содержит константы, которые используются макросами, используется совместно в FAR x86 (на x86 проблем нет).
При попытке загрузить этот файл, при наличии в нём любого присваивания значения 0xFFFFFFFF , например такой строкой: "PD_Plugin = 0xFFFFFFFF" , фар валится без выдачи любых сообщений.
В следующей ночной сборке должно быть нормально (поставил защиту чуть повыше).
Кто не хочет ждать - приложено.
Attachments
luafar3.dll-x64.7z
(69.57 KiB) Downloaded 71 times
tstr
Posts: 559
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 20 times
Been thanked: 9 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by tstr »

это ещё не всё...
на той же системе (Windows 7 Pro AMD64, Все апдейты), использую Far Manager, version 3.0 (build 3235) x86, MoreHistory v1.24
при вызове макроса валимся на блоке

с такой ошибкой:

т.е. затронута и математика в 32-х битной версии Lua...
но это уже всё больше оффтоп...
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by John Doe »

Вы уверены, что эти константы определены вообще?
Понятно что если вы nil подсовываете, то будет ошибка.
Сделайте там предварительно msgbox(FSPLIT_DISK, FSPLIT_PATH)
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

tstr
Это не называется "валимся". Вам выдано сообщение о том, что вы передаёте в функцию аргумент неподдерживаемого типа, то-есть, что в вашем скрипте - ошибка.
User avatar
John Doe
Бюрократ
Posts: 13855
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 428 times
Contact:

Re: Spring — внедрение Lua в качестве макроязыка

Post by John Doe »

И кстати природа флагов такова, что не обязательно им делать bor, можно просто+сложить.

P.S.
В данном случае так. Это не значит что складывать можно всё и везде.

P.P.S.
Shmuel прав, зря я это...
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Re: Spring — внедрение Lua в качестве макроязыка

Post by Shmuel »

John Doe wrote:И кстати природа флагов такова, что не обязательно им делать bor, можно просто+сложить
Но только один раз. Так что я бы не рисковал. :ha:
Post Reply

Return to “Обсуждение макросов”