This file mostly duplicates tips.txt but also answers on some russian specific questions. The codepage used is cp866. Please read this before asking for assistance! $Date$ >============================================================================== F.A.Q. по использованию GoldED+ в картинках (tm) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >Содержание >~~~~~~~~~~ 1. Установка GoldED+. 2. Локальные установки. 3. Замена SoftCR (русской буквы "H"), как это делается в GoldED+ правильно. 4. Макросы или как HЕ надо менять русскую букву "H". 5. Стилевые коды. 6. CUA. 7. Kак не квотить тирлайн и ориджин в GoldED+. 8. Где взять GoldED+. 9. Куда писать? 10. Поиск слов: что-то не так... 11. Что за левизна в адресах кросспостов, начиная с 1.1.3? 12. Почему не вводится русская "Э" под Win95? 13. Backspace в Linux'e 14. Alt во FreeBSD. 15. А зачем мне этот редактор нужен? У Одинна было лучше! 16. А вот я хочу аналог MCITY встроенный. 17. $^%$^*! Что ты сделал с сохранением сообщений в 1.1.5? 18. После установки GoldED+ у меня начали раздаваться стуки из-под пола. 19. А почему я не могу поставить атрибуты письма? 20. Как же работает AREAREPLYDIRECT? 21. Для чего делают сборки разными компиляторами? 22. Как узнать о новшествах? 23. Случайно удалил письмо... Как избежать этого? 24. Не работает макрос и "печенье"! 25. А как редактировать адресную книгу? 26. У меня такая проблема: Golded вылетает в Segmentation fault. Что делать? 27. Как заставить externutil работать глобально? >============================================================================== *Q:* А вот я достал GoldED+, как его ставить-то? *A:* Нужно два архива: бинарники (gpXДАТА.zip, X соответствует Вашей ОС: w,v,d,o,l,) и конфиги (gpcДАТА.zip). Их нужно распаковать в один каталог и настраивать, конфиги неплохо документированы. Есть ещё архив gpmДАТА.zip с документацией. Если ставите поверх старой версии - прочитайте Notework.txt, там много интересного написано. Особенно полезно его читать, если что-то работает не так, как ожидалось. Если не знаете английского, но знаете, какое ключевое слово глючит - поищите его, 3 предложения перевести со словарем всегда можно. И вообще: читайте доки - они рулез. *Q:* А у меня регистронезависимый поиск глючит и время неправильное. *A:* Чтобы GoldED+ глючил поменьше, надо настроить региональные установки: для DPMI32: country.sys, переменная TZ для Win32: control panel, переменная TZ для OS/2: [не знаю где настраивается, но региональные настройки - свои], переменная TZ для UNIX: переменные LANG и TZ. ВНИМАНИЕ: то, что GoldED+/w32 ранее 1.1.5 показывает неправильное время две недели в году не является багом GoldED+, это проблема CRTDLL.DLL, поставляемого фирмой Microsoft в составе вашей операционной системы. Обратитесь к производителю вашей ОС с просьбой исправить эту ошибку. GoldED+/w32 версии 1.1.5 собирается с MSVCRT.DLL, где этой ошибки нет. *Q:* А как же все-таки правильно менять SoftCR при наборе и иметь с этим меньше всего проблем? *A:* Чтобы заменять SoftCR (для чайников - это большая русская буква "H") чем-нибудь, надо пользоваться ключевым словом EDITSOFTCRXLAT. При этом НЕОБХОДИМО (с версии 1.1.3) иметь DISPSOFTCR определенное в yes. Все остальные варианты замены GoldED+ не нужны, а ЗАМЕНА ЧЕРЕЗ MACRO и вовсе ПРОТИВОПОКАЗАНА! (см. следующий вопрос). *Q:* А почему так странно работает замена через MACRO, EDITMACRO, и пр.? *A:* Символы из верхней части ASCII-таблицы (для чайников - русские буквы) в макроподстановках нынче расцениваются как регистронезависимые, как это всегда было для символов нижней половины ASCII-таблицы (латинских букв). Проблема маленькой русской "н" растет отсюда. *Q:* А как изменить поведение стилевых кодов? *A:* GoldED+ по-умолчанию показывает символы выделения стилей так же, как это было в GoldED 2.50. Если это не устраивает, то почитайте про ключевое слово STYLECODES. *A:* А если интересует почему какие-то конкретные не подсвечиваются, то читайте про STYLECODESTOPS. *Q:* А где обещанное CUA? *A:* Чтобы использовать CUA при выключенном KEYBDEFAULTS надо его определить. Хотя всякие #Left не описаны в документации, они есть :) В Линуксе работает только на консоли, да и то не всегда (точно не работает, если запускать из-под midnight commander'а). *Q:* А что за проблемы с INVALIDATE "" ""? Почему все-равно квотится? *A:* Это опять недочитанная до конца документация. Используйте ключевое слово QUOTECTRL, которое, кстати, может использоваться и в Random System Group. Тирлайны правильно инвалидируются по трем минусам, GoldED+ сам знает, что после них должен быть пробел или перевод строки. *Q:* А где можно взять GoldED+? А можно поиметь исходники? А чем потом собирать? *A:* Родина GoldED+ находится на http://golded-plus.sourceforge.net. Там же вы можете найти список мирроров и взять исходники. Другой вариант этого же источника: http://sourceforge.net/projects/golded-plus. За самыми актуальными исходниками нужно обращаться к анонимному CVS по URL :pserver:anonymous@cvs.sourceforge.net:/cvsroot/golded-plus модуль golded+ (инструкции на http://sourceforge.net/projects/golded-plus, страница CVS). Собирать надо компилятором GNU C/C++ (не надо брать нечто древнее 2.8.x, лучше всего какую-нибудь свежую версию) и его производными (djgpp, emx, mingw32). Из других компиляторов поддерживается только Microsoft Visual C (для win32, разумеется). Чтобы все компилировалось без каких-либо проблем - берите как минимум gcc 2.95.4, лучше всего - gcc 3.x (т.е. те egcs, в которых #pragma implementaion и #pragma interface уже были obsolete). *Q:* Типа эта... А писать куда автору? ;-) *A:* Писать лучше всего в RU.GOLDED. Даже лучше сначала его почитать, дождаться местного FAQ, баглиста и только потом писать. Патчи и багрепорты можно сразу помещать на http://sourceforge.net/projects/golded-plus в соответствующий раздел (bugs, patches, feature requests), вас заметят :). Если уж сильно приспичит, то можно писать на 2:5080/102, но я не единственный разработчик, а скорее координатор проекта и совсем не гарантирую, что отвечу. Ставьте RRq, Cfm, если хотите знать, что ваше письмо дошло и я просто не стал на него отвечать. Я не отвечаю на вопросы, описанные в этом FAQ и другой документации, также могу не ответить, если не знаю как что-то работает в GoldED+ (я использую немногие его возможности, только те, которые МНЕ необходимы) - читайте документацию, спрашивайте в RU.GOLDED... У меня слишком мало свободного времени, чтобы раскапывать для вас как что-то работает, всем будет лучше, если это время будет потрачено на разработку Golded+. *Q:* А как-то поиск нетривиально работает... *A:* А вы уверены, что прочитали Notework.txt до предыдущей версии, в которой все работало? Hачиная с 3.00b4 все сильно поменялось. K тому, что там описано, можно добавить, что GoldED+ правильно понимает поиск комбинаций типа "A & B | C & D & E" с приоритетом & над | и что русские слова можно искать такими комбинациями: "?r [пn][рp][иu][вB][еE][тT]", где первая буква русская, вторая латинская (кавычки вводить не следует). Т.е. префикс "?r " указывает, что далее следует регулярное выражение по правилам POSIX regexp. *Q:* Что за левизна в адресах кросспостов, начиная с 1.1.3? *A:* В goldlang.cfg поменялся формат для слов MS_LISTCC ("%s %s") и ST_STATUSCC ("CC: %s of %s"). Проверьте свой конфиг и поменяйте по аналогии! *Q:* Почему не вводится русская "Э" под Win95? *A:* Поставьте тип клавиатуры 101 клавишный США, скорее всего поможет. Если не поможет - поставьте себе нормальный русификатор: это заодно спасет от кривой вставки текста из клипборда в DOS-версии при несовпадении языка текста и содержимого клипборда. *Q:* Не работает backspace в Linux, приходится пользоватся стандартным Ctrl-? *A:* Alexey Froloff: ``keycode 14 = delete delete delete delete'' в keymap'е прописать надо. *Q:* А как нажать Alt-S во FreeBSD? ;-) *A:* andrey i. mavlyanov: исправить раскладку по приведённому DIFF'у (привычнее, ИМХО + там на винюковые клавиши альт навешан => все альты используются как альты, потом переключение по Ctrl+Shift, а CapsLock работает во всех режимах как caps.lock). === BOF ru.koi8-r.shift.diff === *** ru.koi8-r.shift.kbd Mon Feb 25 19:06:59 2002 -+- ru.koi8-r.aim.kbd Mon Feb 25 20:16:52 2002 *************** *** 57,67 **** 051 ',' '<' nop nop 172 188 nop nop O 052 '.' '>' nop nop 174 190 nop nop O 053 '/' '?' nop nop 175 191 nop nop O ! 054 rshift rshift rshift rshift rshift rshift rshift rshift O 055 '*' '*' nl nl 170 170 138 138 O 056 lalt lalt lalt lalt lalt lalt lalt lalt O 057 ' ' ' ' nul ' ' 160 160 susp 160 O ! 058 alock clock clock clock clock clock clock clock O 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O -+- 57,67 ---- 051 ',' '<' nop nop 172 188 nop nop O 052 '.' '>' nop nop 174 190 nop nop O 053 '/' '?' nop nop 175 191 nop nop O ! 054 rshift rshift alock rshift rshift rshift rshift rshift O 055 '*' '*' nl nl 170 170 138 138 O 056 lalt lalt lalt lalt lalt lalt lalt lalt O 057 ' ' ' ' nul ' ' 160 160 susp 160 O ! 058 clock clock clock clock clock clock clock clock O 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O *************** *** 108,116 **** 102 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O 104 slock saver slock saver susp nop susp nop O ! 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O ! 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O ! 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O 108 nop nop nop nop nop nop nop nop O 109 nop nop nop nop nop nop nop nop O 110 nop nop nop nop nop nop nop nop O -+- 108,116 ---- 102 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O 104 slock saver slock saver susp nop susp nop O ! 105 meta meta meta meta meta meta meta meta O ! 106 meta meta meta meta meta meta meta meta O ! 107 meta meta meta meta meta meta meta meta O 108 nop nop nop nop nop nop nop nop O 109 nop nop nop nop nop nop nop nop O 110 nop nop nop nop nop nop nop nop O *************** *** 185,195 **** 179 194 226 nop nop 172 188 nop nop C 180 192 224 nop nop 174 190 nop nop C 181 '/' '?' nop nop 175 191 nop nop O ! 182 rshift rshift rshift rshift rshift rshift rshift rshift O 183 '*' '*' nl nl 170 170 138 138 O 184 lalt lalt lalt lalt lalt lalt lalt lalt O 185 ' ' ' ' nul ' ' 160 160 160 160 O ! 186 alock clock clock clock clock clock clock clock O 187 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O 188 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O 189 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O -+- 185,195 ---- 179 194 226 nop nop 172 188 nop nop C 180 192 224 nop nop 174 190 nop nop C 181 '/' '?' nop nop 175 191 nop nop O ! 182 rshift rshift alock rshift rshift rshift rshift rshift O 183 '*' '*' nl nl 170 170 138 138 O 184 lalt lalt lalt lalt lalt lalt lalt lalt O 185 ' ' ' ' nul ' ' 160 160 160 160 O ! 186 clock clock clock clock clock clock clock clock O 187 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O 188 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O 189 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O *************** *** 236,242 **** 230 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O 231 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O 232 slock saver slock saver susp nop susp nop O ! 233 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O ! 234 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O ! 235 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O 236 nop nop nop nop nop nop nop nop O -+- 236,242 ---- 230 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O 231 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O 232 slock saver slock saver susp nop susp nop O ! 233 meta meta meta meta meta meta meta meta O ! 234 meta meta meta meta meta meta meta meta O ! 235 meta meta meta meta meta meta meta meta O 236 nop nop nop nop nop nop nop nop O === EOF ru.koi8-r.shift.diff === *Q:* А зачем мне этот редактор нужен? У Одинна было лучше! *A:* А кто-то заставляет пользоваться? :-) Не нравится - сноси и пользуйся тем, что нравится. *Q:* А вот я хочу аналог MCITY встроенный. *A:* Настрой в golded.cfg токены DispHdrLocation, LocationDelimiter и LocationAlias, также в gedcolor.cfg "COLOR HEADER LOCATION". *Q:* $^%$^*! Что ты сделал с сохранением сообщений в 1.1.5? *A:* Теперь сообщения сохраняются по темплейту, определяемому ключевым словом WRITETEMPLATE. Дополнения во встроенный темплейт, который используется одновременно для всего, выглядят так: @header= @oecho (@caddr) @align{79}{=} @header Msg : @msgno of @msgs@align{44}@attr @header From : @_oname @_oaddr @odate @otime @header To : @dname @header Subj : @subject @header@align{79}{=} Кроме @header есть ещё и @write, который расширяется при наличии запроса к сохранению тела сообщения, но зачем оно может понадобиться я не придумал. Разве что описать первую строчку как @write ;) *Q:* После установки GoldED+ у меня начали раздаваться стуки из-под пола. *A:* Откройте погреб и посмотрите, может быть у партизан, спрятанных вашим дедом во время войны, кончились продукты. *Q:* А почему я не могу поставить атрибуты письма? *A:* А потому что KEYBDEFAULTS NO в конфиг не авторы тебе написали ;-P *Q:* Как же работает AREAREPLYDIRECT? *A:* Как должен работать написано в доке (не в конфиге, а в доке). По ReadQuoteMsg ответ помещается в фолдер, определённый в порядке приоритета: 1) кладжем AREA (можно отключить при помощи USEAREA) 2) ключевым словом AREAREPLYTO 3) текущий, если первых двух не существует :-) Поэтому разрешать это слово глобально - идея достаточно дурацкая, о чём всегда было написано, просто в большинстве версий неправильно работало (не учитывался второй пункт, хотя и декларировался). *Q:* Для чего делают сборки разными компиляторами? *A:* Это скорее дело вкуса (личных предпочтений). Функционально такие сборки идентичны, различия в размерах бинарников и в глюках run-time библиотек компиляторов. У Win32-MINGW и Win32-MSVC есть различия в коде определения процессора для @widepid и @osver. *Q:* А как узнать о новшествах? *A:* Во-первых, в эхе RU.GOLDED публикуются анонсы. Во-вторых, существует email список рассылки golded-plus-cvs@lists.sourceforge.net, по которому рассылаются все изменения в официальном репозитории (в формате unified diff), подписаться на рассылку можно, отправив письмо с темой subscribe на адрес golded-plus-cvs-request@lists.sourceforge.net либо введя свой email на страничке http://lists.sourceforge.net/lists/listinfo/golded-plus-cvs. *Q:* Случайно удалил письмо... Как избежать этого? *A:* Во-первых, эхобаза формата JAM позволяет восстановить удаленное сообщение: читай в документации про токен JamHardDelete. Во-вторых, предлагаю организовать одностороннюю "корзину": описать в конфиге локальную область сообщений "Корзина" и в goldkeys.cfg задать для клавиши "DEL" макрос "переместить сообщение в область 'корзина'". Пример есть в конфигах. *Q:* Не работает макрос и "печенье"! (Golded+ 1.1.5) *A:* Т.е. не действует как ожидалось конструкция Tearline @pid @c:\golded\file? Не действует потому что не должна :). Правильно так (Ianos Gnatiuc): в конфиге пишешь только это Tearline @E:\fido\golded+\tearline а макросы можешь использовать в самом файле "E:\fido\golded+\tearline". Таким образом, при создании письма, из файла будет взятa одна строка наугад для тирлайна, после чего она повторно пройдет через темплейт, где макросы работают. *Q:* А как редактировать адресную книгу? *A:* (Alexander Grishin) Входишь в записную книжку из режима _просмотра_ сообщений и нажимаешь Enter на нужной записи. *Q:* У меня такая проблема: Golded вылетает в Segmentation fault. Что делать? *A:* 1. Взять свежую версию, возможно что ошибка уже исправлена. 2. Проверить наличие и права доступа всех каталогов и файлов, описанных в конфиге. Как разберёшься, где ошибка - присылай багрепорт (в какой точно ситуации происходит вылет). 2. Скомпилировать заново (make), не делать make strip, после образования golded.core выполнить: gdb -d путь/к/исходникам/golded3 -d путь/к/исходникам/goldlib/gall \ -d путь/к/исходникам/goldlib/gcfg -d путь/к/исходникам/goldlib/glibc \ -d путь/к/исходникам/goldlib/gmb3 -d путь/к/исходникам/goldlib/smblib \ -d путь/к/исходникам/goldlib/msgidlib -d путь/к/исходникам/goldlib/uulib\ golded golded.core В gdb выполнить команду where - покажет стек вызовов и строку исходника, при выполении которой произошла ошибка. Вывод where присылай мне или публикуй в ru.golded. *Q:* Как заставить externutil работать глобально? (И при чтении сообщений и в списке областей и т.д.?) *A:* Нельзя, потому что там где используются хоть какие-то @-макросы, нужно иметь арию, из которой берутся данные для этих макросов. И наоборот, если что-то работает глобально, тогда @-макросы использовать нельзя. >==============================================================================