Ru-Board.club
← Вернуться в раздел «Тестирование»

» SciTE Ru-Board Edition

Автор: mozers
Дата сообщения: 01.07.2007 00:51
Обновленный вариант сборки.
Автор: BioInfo
Дата сообщения: 01.07.2007 01:31
mozers

Цитата:
Пожалуйста
Restart.js

---------------------------
Сервер сценариев Windows
---------------------------
Сценарий:    C:\Program Files\SciTE\tools\Restart.js
Строка:    17
Символ:    1
Ошибка:    Не удается найти указанный файл.
Код:    80070002
Источник:     (null)

---------------------------
ОК
---------------------------
Автор: alrusdi81
Дата сообщения: 02.07.2007 07:34

Цитата:
adding a cascading menu item could remove a later menu item


Врет Нейл безбожно и в комментариях внутри кода тоже. Вопрос лишь в том, чтобы сохранять в массиве пути (path) к созданым пунктам меню. А то, что нельзя динамически создавать и удалять пункты меню вообще неверно. Можно, причем тремя способами. Один из способов я на выходных реализовал, но там сложности с добавлением клавиатурных сокращений, третий способ (с использованием XMLUIManager) самый крутой, но мне его не одолеть по причине плохой документации, кроме того он не будет компилироваться под GTK 1 - так что отбрасываем. Остается способ использующий ItemFactory, с которым Нейл, судя по всему, хорошо знаком и очень странно, что он не увидел возможности удалять пункты меню... Попробую на днях реализовать.
Автор: mozers
Дата сообщения: 02.07.2007 18:54
BioInfo
Цитата:
Ошибка: Не удается найти указанный файл.
В высшей степени странно и непонятно Может у тебя файл не scite.exe называется? Попробуй перед последней строкой добавить такую строчку:
Код: WScript.Echo(scite_path);
Автор: chupakabra
Дата сообщения: 02.07.2007 19:15
По поводу регистрации проекта на tigris.org: почему-то больше недели уже нет никакой реакции от тамошней администрации, поэтому я решил что дальше ждать нет смысла и зарегистрировал его на Google Code. Сообщите мне ваши псевдонимы на этом сервисе, чтобы я мог дать вам доступ к проекту.
Автор: vladvro
Дата сообщения: 03.07.2007 10:27
alrusdi81
рад что ты снова с нами я уже грешным делом подумал, что все, опять наша команда без линуксиста...

Цитата:
Врет Нейл безбожно...

а это еще больше радует очень надеюсь что у тебя получится

chupakabra
Цитата:
я решил что дальше ждать нет смысла и зарегистрировал его на Google Code.

правильное решение
заглянул в репозиторий, там пока пусто...
думаю надо в trunk создать папку 1.74/src и положить туда последнии исходники
а в папку 1.74/pack положить сборку без бинарников, что бы можно было тутже править скрипты, настройки и т.п. для сборки. бинарники сюда ложить не надо дабы не мешались.
версию под линукс сделанную alrusdi81 положить в папку branches/GTK
Автор: chupakabra
Дата сообщения: 03.07.2007 11:15
vladvro

Цитата:
надо в trunk создать папку 1.74/src и положить туда последнии исходники

Только 1.74 делать не надо, для этого есть теги. Чтобы пометить какую-то версию, принято делать тег в каталоге tags, к примеру tags/1.74 - это будет ссылка на определенную ревизию исходного кода в trunk.

Цитата:
в папку 1.74/pack положить сборку без бинарников

Да, конечно, в системе контроля версии должны храниться только исходники. Все что генерируется на их основе - там находиться не должно.
Можно еще переводную документацию там же хранить, в каталоге docs к примеру.


Цитата:
версию под линукс сделанную alrusdi81 положить в папку branches/GTK

А она сильно отличается от сборки? Т.е. вы его изменения не включаете в свою версию? В принципе branch он сам сможет сделать, если захочет. Мне думается для этого не нужны никакие согласования с другими членами команды.

Добавлено:
Залил в репозитарий исходный код, чтобы создать рабочую копию используйте URL:
https://scite-ru.googlecode.com/svn/trunk/
Обратите внимание, что пароль для доступа к репозитарию отличается от пароля учетной записи и генерируется автоматически системой, посмотреть его можно здесь.
Автор: chupakabra
Дата сообщения: 03.07.2007 13:46
По поводу записей в логе: я для себя разработал простую систему, может быть она вам покажется полезной:
Суть ее в том, что каждая запись в логе содержит префикс, который обозначает суть сделанного изменения. Я использую такие префиксы:
- add: добавлена новая функциональность
- chg: изменена существующая функциональность
- del: удалена существующая функциональность
- bug: исправлена ошибка
- merge: сделано слияние, в этом случае указываю также номера ревизий, которые были слиты с основной ветвью.

Примеры записей в логе:
- add: возможность перемещать табы с помощью мыши
- chg: расширена документация по SciTE Helper
- del: убрал отовсюду statementEnd, т.к. он нигде не используется
- bug: исправлена проблема с двойным отступом при редактировании C++ кода (issue 123)
- merge: experimental branch rev. 32 - 56

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

Добавлено:
Я сделал учётную запись scite.ru для целей администрирования проекта, данные отправил mozers. Для себя сделал запись i.like.scite

Также сделал две группы Google:
1. scite-ru-issues для рассылки оповещений об изменениях на Issue Tracker
2. scite-ru-commits для оповещений об изменениях в репозитарии исходного кода
Автор: mozers
Дата сообщения: 03.07.2007 18:47
chupakabra
Цитата:
Я сделал учётную запись scite.ru для целей администрирования проекта, данные отправил mozers. Для себя сделал запись i.like.scite
Круто! Все это мне дико нравится Но...
1. Я - в отпуске и занимаюсь извозом домочадцев по ягодам и дачам Дальше - вообще глухо - ухожу на байдарках.
2. Сейчас дико занят - надо выложить сборку. А тут - то одно, то другое...
3. Какой то злой рок мне дико мешает (накрылась система вместе с винтом, отрубили интернет...)
В общем, я дико извиняюсь, но сейчас я этим просто физически не могу занятся

Повалились в ящик сообщения с обратным адресом codesite-noreply@google.com... Прочитал - ниче не понял...
А, ладно, не до этого мне щас...
Автор: mozers
Дата сообщения: 03.07.2007 22:49
Обновил ядро src exe
Цитата:
mozers 03.07.07 11:44
-----------------------------
[position.autosave] - Параметр position.autosave заменен на параметр save.settings.path, позволяющий задать имя файла в котором будут сохранятся настройки. Например, так:
save.settings.path=$(scite.userhome)\SciTEUser.properties

========================================================
Дмитрий Маслов 02.07.07 21:49
-----------------------------
[OnDoubleClick] - OnDoubleClick приведен в соответствие с OnKey

-----------------------------
[position.autosave] - перенес класс, чтобы расширить область видимости

-----------------------------
[VarAbbrev] - исправлена бага, что при наличии таба или перевода
строки в переменных аббривиатур "%SEL%" и %CLP% курсор
позиционировался на верно
Исправлена бага с %GUID% (затирание текста аббривиатуры)

-----------------------------
[NewFind-MarkerDeleteAll] - Новый параметр в .properties
find.mark.delete=1
Если 1, то при нажатии на кнопку "Пометить все" удаляются все установленные ранее букмарки.


Окончательный вариант сборки
Если не найдете что то ужастное, то завтра выложу для всех.

P.S. Задолбался с документацией
Отныне ни одна доработка не будет принята без соответствющих исправлений в файлах документации.

Добавлено:
Нашел багу:
При изменении размера шрифта через контекстное меню, шрифт "дергается" но не меняется. Отлючаем совсем безобидный скрипт zoom.lua - один раз дернется и начинает меняться. В чем дело?...
Автор: chupakabra
Дата сообщения: 04.07.2007 17:36
vladvro, обрати внимание, ты не закомитил несколько файлов из новой сборки. См. список.
Автор: vladvro
Дата сообщения: 05.07.2007 07:46
chupakabra
Цитата:
обрати внимание, ты не закомитил несколько файлов из новой сборки. См. список.

верно, поправил,
за исключением History_rus.txt, его я сознательно перенес, на мой взгляд ему место в корне папки исходников, на месте прежних файлов со списком изменений.
Автор: BioInfo
Дата сообщения: 05.07.2007 17:27
alrusdi81

Цитата:
Вопрос лишь в том, чтобы сохранять в массиве пути (path) к созданым пунктам меню. А то, что нельзя динамически создавать и удалять пункты меню вообще неверно.

Я так и знал
Сохранять в массиве пути - не проблема, используй мои контейнеры.
И вообще я в новой сборке сделал другой класс для меню (class MenuEx), так что проблем с доступом к тем волшебным переменным не будет.
Попробуй пока заделать метод void Add с тем кодом что прошлый раз высылал.
Ну и если ты говоришь с удалением проблем нет, то и методы RemoveItems и RemoveItem.
Вот с AddSubMenu думаю придется повозится...
Если чего не понятно - пиши.


Цитата:
круто! Все это мне дико нравится Но...
1. Я - в отпуске и занимаюсь извозом домочадцев по ягодам и дачам Дальше - вообще глухо - ухожу на байдарках.

Присоединяюсь
Тоже отправился в отпуск, так что пока без меня.
З.Ы. Если кто будет на слете сисадминов (г. Калуга ) 27-29 июля пишите в приват, свидимся
Автор: chupakabra
Дата сообщения: 06.07.2007 16:06
Попробовал собрать последнюю версию на Linux - получил ошибку:

Код:
SciTEGTK.cxx: In member function ‘gint SciTEGTK::Key(GdkEventKey*)’:
SciTEGTK.cxx:2232: error: no matching function for call to ‘Extension::OnKey(guint&, int&)’
../src/Extender.h:77: note: candidates are: virtual bool Extension::OnKey(int, int, char)
SciTEGTK.cxx: In member function ‘virtual void SciTEGTK::AddToPopUp(const char*, int, bool)’:
SciTEGTK.cxx:2302: error: ‘popup’ was not declared in this scope
SciTEGTK.cxx: In function ‘int main(int, char**)’:
SciTEGTK.cxx:3421: error: cannot declare variable ‘scite’ to be of abstract type ‘SciTEGTK’
SciTEGTK.cxx:306: note: because the following virtual functions are pure within ‘SciTEGTK’:
../src/SciTEBase.h:925: note: virtual MenuEx SciTEBase::GetMenu(int)
Автор: BioInfo
Дата сообщения: 06.07.2007 22:04
chupakabra

Цитата:
Попробовал собрать последнюю версию на Linux - получил ошибку

Что касается функции SciTEGTK::Key
Я расширил OnKey таким образом, что туда передается нажатый символ. В винде есть WinAPI позволяющее по состоянию клавиатуры узнать какой символ нажат. Аналогичная штука есть на Linux.
Нужно проследить как Key превращается в OnChar.
Если ничего не сможешь сделать, а скомпилеть очень надо, то сделай так:
extender->OnKey(event->keyval, cmodifiers, 0)
Но новые скрипты тогда работать не будут.

Функции SciTEGTK::AddToPopUp больше нет, можно вырезать.
Это должно перекочевать в MenuEx::Add
(про MenuEx читать мой пост выше)

Ну и нет реализации функции MenuEx SciTEGTK::GetMenu
Ее нужно написать.
Походу в GTK это не разные меню - а одно мега большое, так что получается что эта функция при любых входных параметрах возвращает главное меню. Нужно из главного меню вытащить эдентификатор и передать его в конструктор MenuEx.
Опять же чтобы не парится можно написать так (соответственно не будет работать меню tools):
MenuEx SciTEGTK::GetMenu(int) {return MenuEx()};

Кстати попутно я заметил как можно сделать в люнекс такойже настраиваемый тулбар как и у нас, там есть функция:
SciTEGTK::AddToolBar(), нужно ее переписать, чтобы она считывала значения значения из глобалпропертис, вот только с иконками запара... Хотя можно выкрутится, сделать в глобал пропертис так:
if GTK
user.toolbar=\
|||\
New|IDM_NEW|gtk-new|
Т.е. передаем не номер иконки а ее название в GTK.
Соответственно в функцию SciTEGTK::SetToolBar нужно прописать (она сейчас пустая):
1. Удалить старый тулбар, если есть (я так понимаю что такая проверка: if (GTK_TOOLBAR(PWidget(wToolBar))->num_children > 0))
2. AddToolBar()
А у SciTEGTK::ShowToolBar() закоментить AddToolBar

Вот так примерно (мой взгляд в зазеркалье... так что не гарантирую что он верный)

Скажу также что это не все ошибки, видать компилятор не захотел дальше ковырятся
Автор: chupakabra
Дата сообщения: 08.07.2007 12:37
Добавил в шапку информацию о проекте на Google Code
Автор: chupakabra
Дата сообщения: 09.07.2007 12:36
О, заметил что VladVRO и Dmitry Maslov попали в кредиты официальной версии, поздравляю!
Автор: mozers
Дата сообщения: 13.07.2007 22:16
Присоединяюсь к поздравлениям
Ну вот, а кто то говорил что нашим в официал не пробиться...
Интересно, какие из доработок включены в официальную версию?... Нейл говорил о настраиваемом тулбаре, перетаскиваемых закладках и наглядном результате поиска в файлах... правда говорил, как обычно, в критическом ключе...
Автор: mozers
Дата сообщения: 15.07.2007 00:01
chupakabra
Пытаюсь разобраться с проектом на Google. Пока - одни вопросы:
1. Поставил TortoiseSVN-1.4.4.9706-win32-svn-1.4.4. Ни хрена не понятно как с этим монстром работать???
Пока хочу лишь малого - сравнить мои сырцы с теми что лежат на Google и скачать себе измененные файлы.
2. Где взять готовую (уже откомпилированную под Винды) утилиту patch ?
Если все патчи сразу вносятся в код, то этот вопрос - отпадает сам собой.
3. "AutocompleteObject.lua вызывает преждевременную отмену calltip'а" - это не подтверждаю. Скрипт тут - не при чем. Во всяком случае на непропатченной версии (той, что в сборке) налицо лишь давний Нейловский баг и проявляется он независимо от того, подключен AutocompleteObject.lua или нет.
Автор: chupakabra
Дата сообщения: 15.07.2007 00:36
mozers

Цитата:
Пока хочу лишь малого - сравнить мои сырцы с теми что лежат на Google и скачать себе измененные файлы

Создай пустой каталог, в контекстном меню проводника выбери TortoiseSVN - CheckOut, укажи URL = https://scite-ru.googlecode.com/svn/trunk - Ok. Введи имя и пароль когда спросит, подожди пока идёт скачивание исходного кода и создание рабочей копии.


Цитата:
Где взять готовую (уже откомпилированную под Винды) утилиту patch ?

Вместе с MinGW идет набор утилит под названием msys. Или можно cygwin поставить. Или Unix Utils.
Я использую от msys таким примерно образом:
patch -p1 --binary < file.patch


Цитата:
Если все патчи сразу вносятся в код, то этот вопрос - отпадает сам собой.

Нет, сразу ничего не вносится, ну разве что мелочи вроде исправления опечаток. Думаю сначала стоит все тестировать в branch'е, а потом можно переносить в trunk с помощью функции merge (встроена в TortoiseSVN/Subversion). Предварительно можно еще на рассмотрение автору оригинальной версии отправлять.


Цитата:
"AutocompleteObject.lua вызывает преждевременную отмену calltip'а" - это не подтверждаю.

Проверю ещё раз.
Автор: chupakabra
Дата сообщения: 16.07.2007 03:00
Словарь для проверки орфографии в TortoiseSVN, который я слепил из трех стандартных словарей: английский США, русский с Ё и русский без Ё.
Автор: vladvro
Дата сообщения: 16.07.2007 11:58
mozers
Цитата:
Интересно, какие из доработок включены в официальную версию?

на сколько я понял из его постов, он взял перемещение закладок, но без добавления в меню,
и двух цветную раскраску для строк.
Из CVS у меня увы скачивать не получается, видимо в проксе не все настроено.

Цитата:
Пока хочу лишь малого - сравнить мои сырцы с теми что лежат на Google и скачать себе измененные файлы.

хочу добавить к словам chupakabra, на сколько я понял, один раз тебе прийдется выкачать все исходники, не смотря на то что они у тебя уже есть, т.е.
https://scite-ru.googlecode.com/svn/trunk
выкачиваешь полностью.
а вот ветки:
https://scite-ru.googlecode.com/svn/branches
можно и не выкачивать целиком, а сделав копию trunk (копию всех файлов у себя локально на компе) применить команду Switch (из команд TortoiseSVN) для каждой из веток, например для ветки i.like.scite:
1. делаем копию папки trunk
2. переименовываем ее в i.like.scite (для удобства)
3. вызываем команду Switch с параметром
https://scite-ru.googlecode.com/svn/branches/i.like.scite

Цитата:
Если все патчи сразу вносятся в код, то этот вопрос - отпадает сам собой.

Мне кажется вопрос был о том, в каком виде изменения приходят из репозитория.
Из репозитория при апдейте локальной версии изменения сразу вносятся в код, т.о. прога для примененеия патчей не нужна.

chupakabra
Цитата:
Словарь для проверки орфографии в TortoiseSVN, который я слепил из трех стандартных словарей

спасибо заценил

Добавлено:
chupakabra
Цитата:
Предлагаю следующие изменения для системы сборки под Windows:
1. Копировать готовые исполнимые модули в pack
2. Сделать возможность вызова команды сборки для все файлов (не только тех
что в src)

а зачем это, что дает?
минус 1. - закачка бинарников существенно увеличит трафик.
Автор: chupakabra
Дата сообщения: 16.07.2007 13:58
vladvro

Цитата:
а зачем это, что дает?
минус 1. - закачка бинарников существенно увеличит трафик.

Ты неправильно меня понял. Я всего лишь говорил о том, чтобы модифицировать *.mak файлы таким образом, чтобы готовые бинарники при сборке сразу копировались в pack.
Ну а насчет того что это дает - мне просто кажется удобным нажать F7 при редактировании любого файла чтобы вызвать процесс сборки проекта, а потом F5 - чтобы запустить его в отладчике. Посмотри сделанные изменения в той ревизии на которую я ссылался, сразу все станет понятно.
Автор: vladvro
Дата сообщения: 16.07.2007 14:35
chupakabra
Цитата:
Я всего лишь говорил о том, чтобы модифицировать *.mak файлы таким образом, чтобы готовые бинарники при сборке сразу копировались в pack.

а, ну конечно же я не правильно тебя понял
тогда никаких возражений нет, конечно же так и надо сделать.
правда есть небольшое "но" - тестироваться прямо в папке pack не совсем удобно, редактор после запуска (точнее после закрытия) меняет файл сессии и личных настроек, а они лежат в репозитории... вобщем надо как то этот момент учесть.
Автор: AVol
Дата сообщения: 23.07.2007 20:57

Цитата:
Если ничего не сможешь сделать, а скомпилеть очень надо, то сделай так:
extender->OnKey(event->keyval, cmodifiers, 0)
Но новые скрипты тогда работать не будут.

Функции SciTEGTK::AddToPopUp больше нет, можно вырезать.

Ну и нет реализации функции MenuEx SciTEGTK::GetMenu
Ее нужно написать.
Опять же чтобы не парится можно написать так (соответственно не будет работать меню tools):
MenuEx SciTEGTK::GetMenu(int) {return MenuEx()};

Сделал так. Дальше - больше. Не подскажите, как это по-аккуратнее подрезать?

Код:
../src/SciTEBase.cxx:2455: error: expected ‘,’ or ‘...’ before ‘&’ token
../src/SciTEBase.cxx:2455: error: ISO C++ forbids declaration of ‘GUID’ with no type
../src/SciTEBase.cxx: In function ‘void GUIDToStr(int)’:
../src/SciTEBase.cxx:2456: error: ‘a’ was not declared in this scope
../src/SciTEBase.cxx:2456: error: ‘g’ was not declared in this scope
../src/SciTEBase.cxx: At global scope:
../src/SciTEBase.cxx:2455: warning: unused parameter ‘GUID’
../src/SciTEBase.cxx: In member function ‘virtual bool SciTEBase::InsertAbbreviation(const char*, int)’:
../src/SciTEBase.cxx:2635: error: ‘GUID’ was not declared in this scope
../src/SciTEBase.cxx:2635: error: expected `;' before ‘guid’
../src/SciTEBase.cxx:2636: error: ‘guid’ was not declared in this scope
../src/SciTEBase.cxx:2636: error: ‘CoCreateGuid’ was not declared in this scope
../src/SciTEBase.cxx: In member function ‘virtual void SciTEBase::Notify(SCNotification*)’:
../src/SciTEBase.cxx:4835: error: ‘itoa’ was not declared in this scope
Автор: mozers
Дата сообщения: 23.07.2007 21:16
Выложил новое ядро (в "общих" запостил подробности).
Хочу сказать что несогласен с VladVRO что он выложил из doc файл History_rus.txt.
Это психологически неверно.
Щас в History_rus.txt впопыхах вносится пара мутных фраз, а в SciTE-Ru_Kernel.html и в SciTE-Ru_Kernel_rus.html вообще никаких изменений не вносится
Имхо вся документация должна лежать в одном каталоге, чтобы тот, кто вносит изменения в один файл не забывал о существовании других, в которые также ОБЯЗАТЕЛЬНО надо вносить изменения.
Я сейчас внес... Русские меня поймут. Англичане - не уверен...
Автор: vladvro
Дата сообщения: 24.07.2007 10:59
AVol
Цитата:
Не подскажите, как это по-аккуратнее подрезать?

1. убери все что связанно с GUID
2. замени:
extender->OnSendEditor(SCI_SETZOOM, 0, itoa(SendEditor(SCI_GETZOOM),zoom,10));
на
sprintf(zoom, "%d", (int)SendEditor(SCI_GETZOOM));
extender->OnSendEditor(SCI_SETZOOM, 0, zoom);


Добавлено:
mozers
Цитата:
Это психологически неверно.

психология штука субъективная...

Цитата:
Имхо вся документация должна лежать в одном каталоге, чтобы тот, кто вносит изменения в один файл не забывал о существовании других, в которые также ОБЯЗАТЕЛЬНО надо вносить изменения.

даже History_rus.txt поидее должна генериться на автомате по данным из лога репозитория. так что бы не дублировать вручную комментарий в нескольких местах.
а вот сводная документация, как мне кажется, вообще должна делатся перед релизом, разом на все добавленные изменения.
по поводу перевода - конечно хорошо если в логе репозитория комментарий будет сразу на двух языках, но это в идеале, а так не бывает, т.о. с переводом тоже прийдется возится перед релизом, думаю что это нормально.
Автор: AVol
Дата сообщения: 24.07.2007 16:58

Цитата:
1. убери все что связанно с GUID
2. замени:
extender->OnSendEditor(SCI_SETZOOM, 0, itoa(SendEditor(SCI_GETZOOM),zoom,10));
на
sprintf(zoom, "%d", (int)SendEditor(SCI_GETZOOM));
extender->OnSendEditor(SCI_SETZOOM, 0, zoom);


Сделал. Дополнотельно еще проделал:

Вернул стандартный "/lua/src/lib/loslib.c" - там уже, как я посмотрел, идут неприкрытые winapi и даже без всяких проверок линкуется windows.h;
SciTEBase::GenerateMenu - полностью закоментил тело функции (правильно ли я сделал? может можно было гуманнее?);
SciTEBase::SetToolsMenu - вернул стандартное тело функции;
SciTEBase::RemoveToolsMenu - вернул к жизни;
SciTEBase::ContextMenu - вернул стандартное тело функции;
SciTEGTK::AddToPopUp - вернул к жизни;
Menu popup - раскоментил в хэдере;

После этого скомпилилось и установилось - вроде даже запускается и работает. Хотя вопрос конено - что я в результате получил от добавочного функционала и стоило ли это того? :-D
Автор: vladvro
Дата сообщения: 26.07.2007 09:41
AVol
Цитата:
После этого скомпилилось и установилось - вроде даже запускается и работает. Хотя вопрос конено - что я в результате получил от добавочного функционала и стоило ли это того? :-D

Не знаю как для тебя лично, но для нас это очень даже нужная работа
Спасибо за отчет, постараюсь на его основе внести какие смогу корретивы.
Есть ли желание продолжить работу над GTK+ версией?
Автор: mozers
Дата сообщения: 27.07.2007 14:21
Люди, помогите!!!
Пропала начисто чудесная доработка:
Цитата:
[AutoComplete] (Автор: mimir)
Функция автодополнения берет шаблоны как из редактируемого текста, так и из соответствующего .api файла
Когда и как она похерилась - понять не могу
Как будто приснилось это мне и не было ее раньше...
В коде она - присутствует, но только не работает не фига
Осталась только строчка в документации ((

Страницы: 1234567891011121314151617181920212223242526

Предыдущая тема: test


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.