Xicтopi ( Это скучно)

* 5.52b (04.06.20)

- Не запускалось в браузерах «Хром» и «Опера»
- Дублировалось нажатие клавиш в браузерах «Хром» и «Опера»
- На «МакОСи» в окне шрифт был не моноширинным
- Перевёл всё в кодировку UTF-8
- Починил «Таб» на современных браузерах
- Добавлено хранилище «Storage» (реализуется через localStorage)
- Добавлена очистка экрана по сочетанию Ctrl+K
- Заменил «nobody» на «root»


* 5.51b (12.09.03)

- Пофиксил баг: "<pre>" на внешнем устройстве давало ошибку JavaScript


* 5.50b (27.11.02)

- Небольшие изменения для Mozilla 1.3a
- Восстановлена рабоспособность в Mozilla, порушенная после изменения кода под Opera.


* 5.49b (20.11.02)

- Исправена заставка под Mozilla 1.1
- Реализована частичная поддержка Opera 7.0 beta 1.
- Исправлен застарелый баг "grep -i изменяет регистр найденой строки"


* 5.48b (06.04.02)

- Исправлен таинственный баг с зависанием в Mozilla 1.0RC2


* 5.47b (15.12.01)

- Вернул несправедливо откушенный от NC 4.xx курсор.
- В командном режиме двоеточие не переводит vi в режим набора текста. Сделано специально для юниксоидов.
- Переработана схема работы с #!j[us]sh. Регулярные выражения, применяемые ранее, некорректно работали в некоторых браузерах.


* 5.46b (08.12.01)

- Воспользовавшись свеженайденным мной багом в Apache, была усовершенствована команда ping, чтобы быстрее получать ответ от сервера.
- Cделал отображение аттрибутов файлов для расширенной файловой системы под IE. В качестве прав на запуск я использую осутствие аттрибута "Archive", в качестве прав за запись - отсутствие "System" и "Hidden".
- Прикрутил изменение аттрибутов файлов в расширенной файловой системе под IE.
- Все версии этого месяца будут выходить с зелеными снежинками (видно только под IE) на заднем фоне - в знак приближающегося праздника Новый Год.
- Улучшено на два процента качество сжатия командой jzip, существенно увеличена скорость.


* 5.45b (07.12.01)

- Восстановлена работоспособность условий вида [-x expr] в Beonex, Mozilla и NC 6.xx.
- В NC 6.xx и Mozilla, как оказалось, нет бага с перехватом клавиатуры в JavaScript под UNIX, так что Key Capture там выводится на экран не будет.
- Исправлен баг с появлением выделения при пересечении экрана новым курсором.
- Исправлен баг с изчезновением куроса в Beonex и Mozilla. Оказывается эти браузеры иногда просто "съедают" последний символ при выводе его на экран.
- Исправлен баг ведения истории комманд в Beonex, Mozilla и NC 6.x. Какие это все-таки глючные браузеры!
- Комбинация "два Ctrl подряд" (аналог Tab) отключена теперь во всех браузерах, кроме NC 4.xx.
- Добавлена команда ping - эмуляция настоящего пинга, с тем отличием, что используется порт 80 (HTTP). Работает в IE, NC 4.xx и Mozilla 0.9.6 и выше. В NC 6.xx и ранних версиях Mozilla отключена, ввиду глюков в этих браузерах.
- Отключена в них и команда icq. Из тех же соображений.
- Обновлен manual и man.


* 5.44b (19.11.01)

- Работа с внутренним буфером обмена в Mozilla, Beonex, K-Meleon и NC 6.xx.


* 5.43b (19.11.01)

- Улучшено распознавание конструкций "#JS:" и "#VB:", особенно последней.
- Клавиша "x" в vi теперь еще и сохраняет результат работы.
- Любая клавиша, не являющаяся специальной в командном режиме, теперь не только переключает vi в режим набора текста, но и сразу попадает в набор.
- Улучшено распознавание заголовков файлов "!#jssh" и "!#jush". Исправлен баг с несрабатыванием заголовка, если после него находилась пустая строка.
- При использовании в vi буфера обмена символ "\n" попадает в текст без изменений, в командной строке - как пробел.


* 5.42b (17.11.01)

- Исправлен баг с присвоением переменной значения под Beonex.
- Исправлен баг с копированием в подмонтированные cookie под Beonex.
- Сделал эмуляцию удаления файлов из cookie под NC 4.xx, 6.xx, Beonex, K-Melion и Mozilla. Напомню, что cookie в этих браузерах удалить полностью, до закрытия браузера, невозможно. Эмуляция, впрочем, не полная, но, думаю, и такой вполне достаточно.


* 5.41b (17.11.01)

- Исправлен недавно добавленный баг с курсором под Netscape 4.x. Проверено в 4.79.


* 5.40b (17.11.01)

- Переделки под Beonex. Испытывалось под Beonex 0.6-pre. Могут быть глюки.
- Отображение правильного вендора под клонами Mozilla.
- Изменено отображение списка файлов при автокомплите для Mozilla.
- Новый KeyCapture для исправления бага некоторых версий Netscape 4.x, 6.x и Mozilla под *NIX.


* 5.39b (16.11.01)

- Восставлена работоспособность команды dialog под Mozilla и Netscape 6.x.


* 5.38b (16.11.01)

- Поддержка ветки Mozilla. Испытано на версиях 0.9.4, 0.9.5+ и K-Meleon 0.6. Могут быть глюки.


* 5.37b (16.11.01)

- Поддержка ветки Netscape 6.xx, эмулятор испытывался под 6.2 и не полностью, о глюках сообщайте по почте.
- Попытка подпатчить баг с отображением нового курсора в KOI-8R искуственной сменой кодировки. Надеюсь, что удачная.


* 5.36b (13.11.01)

- Переработан алгоритм движения по строкам в vi.
- Устранен глюк с поддержкой внешней файловой системы в IE4.
- Переработан chmod, теперь права доступа можно проставлять и в cookie.
- Переработан внешний вид курсора. Желающие могут переключать вид курсора ключами -o и -O команды set.
- Интерфейсные изменения в vi.
- Случайно нашел способ копирования бинарных файлов под IE на внешней файловой системе. Не знаю, как под IE4, но под 5.5 получается.
- Раньше vi в любом случае создавал пустой файл, если ему в качестве параметра передавали имя несуществующего файла. Теперь этого не происходит.
- Устранен баг с удалением несуществующего файла на внешней системе.
- Устранен баг с падением NC при перезагрузке программы при обращении к несуществующему слою.. Правда, он все равно иногда падает, пытается читать чужие данные... :(
- Добавлено устройво /dev/random, выдает 16-ти битное целое.
- Исправлен баг с вызовом нулевого элемента массива.
- Исправлена ошибка с дополнением комманды без параметра.
- Исправлена ошибка связанная со вставкой символов \n и \r.


* 5.35B (07.06.01)

- vi создает файл при попытке редактирования, если он еще не существует.
- Дистрибутив перепакован с новым faq.txt. Забыл включить его в прошлый раз.


* 5.35b (31.01.01)

- Улучшено сжатие в утилите jzip. Средняя степерь сжатия выросла до 8-20%. Файл manual уменьшился еще на 362 байта. Алгоритм сжатия не совместим с предыдущей версией! Перепишите временно файлы из /etc на диск.


* 5.34b (28.01.01)

- Добавлен демон сборки мусора для Internet Exlorer (garbdaemon).
- Наконец-то дошли руки передалать вывод %j команды date. Теперь он выдает точный день года.
- Введен файл описаний фоновых процессов (/etc/daemon.cf). Результат виден по комманде ps
- Найден и уничтожен баг, возникший во времена появления alias: команды, вида `имя_команды`, выполнялись с ошибками.
- Файл алиасов перенесен в /etc (куда обычно монтируются cookie), теперь алиасы будут сохраняться и после рестарта.
- Ввел сжатие по словарю, ориентированное на текстовые файлы, в cookie. Степень сжатия небольшая, чаще всего файлы удается сжать лишь на 4-10%. Но я считаю, что и это неплохо. Теперь в cookie будет влезать чуть больше. Конечно, нельзя сказать, что алгоритм полностью оптимален, но дальнейшее его усовершенствование сильно замедляет сжатие.
- Устранен "плавающий" баг, связанный с удалением файлов в cookie.
- Обновлен файл faq.txt
- Внутренний файл manual теперь хранится в сжатом виде (/bin/manual.jz), его размер уменьшился на 592 байта. В связи с этим слегка доработаны команды man и ?.
- Введена комманда jzip - сжатие по новому методу. Предназначено для текстовых файлов.
- Команды sed, grep, cut и cat теперь не выдают лишних переводов строки. В связи с этим переделана brow.
- Команда vi теперь выдает ошибку, если запись в файл запрещена.


* 5.33b (01.11.00)

- Символы "<" и ">" внутри скобок теперь распознаются как символы сравнения. В любом местe.
- Изменил способ запуска комманд "ll", "c" и "clear". Теперь они запускаются гораздо быстрее.
- Работа над JUnix теперь будет продвигаться оооочень медленно. Отвлекают другие проекты, да и потом, сколько еще им можно заниматься? :)


* 5.32b (19.09.00)

- удалена команда strace.
- на всякий случай сделал так, что бы при подстановке [-l name] с недопустимым l, ее значением было бы true.
- добавлена Unix-конструкия "data here" (AKA "text here") с одной оговоркой - все ";" заменяются на символы перевода строки.
- в file.js все eval заменены на sheval.
- при ошибке в JavaScript под IE5+ и NC4.05+ создается файл "core.dump". Это не core dump в привычном смысле, а просто файл перехваченных ошибок.
- введена команда (в Unix ее нет) "-". В двух вариантах использования "echo 1|-" и "-|cat" команда ведет по-разному. В первом - (если через pipe поступают какие-то данные) сохраняет вывод команды, во втором - (если нет) дает этот вывод другой команде. Использовать эту команду можно вместо temp-файлов.


* 5.31b (03.09.00)

- обновлен manual (наконец-то :).
- добавлена обработка имен переменных, содержащих символ подчеркивания.
- покорректирована обработка cdpath - учтено существование имен, содержащих спецсимволы.
- переделан парсер параметров, убрана странная строка (где аукнется? :) в fexists, теперь файлы, содержащие символ "\" читаются нормально.
- процедура обработки алиасов поставлена раньше, что бы можно было назначить алиас для любой (кроме alias и unalias) команды.
- удалена команда rate в силу того, что перестал существовал проект compnews.
- в команде alias теперь можно использовать подстановки (правда реализованы они несколько по-другому чем в Unix). Подробнее читайте в manual.


* 5.30b (31.08.00)

- чуть переделана eval - теперь она работает действительно как в Unix.
- новое: если >,<,| окружить с обоих сторон пробелом, то shell не воспримет их как спецсимволы (напр.: bc 1 > 2).
- unset теперь удаляет переменные по образцу (regexp). unset * удалит все переменные.
- убрал резервированную полосу прокрутки в окне IE.
- кстати должен предупредить, что команда strace со временем будет упразнена.
- в команды if и while можно подставлять условия вида: [-l name], где l может примимать значения z,e,r,w,x,f,d. Эти подстановки проверяют файл соответсвенно на: нулевую длину, существование, возможность чтения, записи, исполнения, тип - файл, тип - директорий. (например if ([-e .history] & ![-z .history]) echo 1 напечатает 1, если файл .history существует и имеет ненулевую длину).
- в файл /etc/profile можно поместить добавочные команды, которые выполнятся после старта эмулятора (например set -s -b). Благодаря тому, что /etc по умолчанию - каталог куда монтируются cookie этот файл сохранится и после рестарта.
- изменения в faq.txt (заглядывайте туда иногда, некоторые люди задают вопросы на которые я уже ответил).
- жесткий диск (спецфайл local) монтируется теперь не в /hdd, а в /usr, что (я так думаю) больше соотвествует духу Unix. Хотя может быть стоило бы смонтировать куда-нибудь в /mnt.
- в связи с эти каталог /usr/bin расформирован (команда brow перемещена в /bin, остальные - удалены).
- исправлен очень редкий баг связанный со сменой директории из примонтированной системы (внутреннего типа Extended) на несуществующий директорий.
- в jush вдруг нашлась забытая команда source. Описание помещено в man.
- добавлены команды для работы с алиасами: alias и unalias. Выберу время, добавлю все в manual.


* 5.29b (06.08.00)

- исправлен баг с brow и вытекающий из тех же причин баг с if. Вот тут я и получил ответ на тот вопрос, что я задавал ранее (в v5.28b).
- добавлено в df, если пользователь не разрешил доступ к диску выдается "- - -".
- при запуске директория (и под shell теперь тоже) выдается "Access denied".
- пофиксен связанный c пунктом 1 баг в foreach.
- при попытке узнать where для любой встроенной команды результатом теперь будет "Built-in command."
- jush и jssh стали встроенными. В связи с этим в начале запускаемых файлов теперь можно писать не только #!/bin/jush (оставлено для обратной совместимости), но и #!jush.


* 5.28b (04.08.00)

- удалено лишнее.
- удален проход через замену переменных и `...`, если на стеке команд только одна команда. К сожалениею у меня не сохранилось записи зачем это нужно, но из-за этого прохода некорректно работала while.
- известные баги: не работает brow, не запускается файл, если нет доступа на чтение.


* 5.27b (03.08.00)

- частично переписаны brow, if, strace.
- из комплекта удален Junix desktop (временно).
- .profile переименован в .rcjush.


* 5.26b (07.07.00)

- добавлена команда df.
- bugfix: пофиксен баг с закладками в brow.


* 5.25b (06.07.00)

- наконец-то дошли руки - переделан парсинг скобок в if.
- переделан cut, написан с regexp.
- bugfix: в предыдущей версии я кое-что сделал для эксперимента, теперь вернул на место if сново работает.


* 5.24b (05.07.00)

- добавлена новая конструкция: $a[i,a,b]. Параметры "a" и/или "b" могут быть пропущены. Значения параметров: взять из массива элемент с индексом "i" и выделить из него подстроку начиная с элемента с индексом a и заканчивая b. (можно сделать и так: $a[*,1,3]).
- добавлены ключи -d и -D команды set и команда strace.
- bugfix: пофиксены баги в операциях mkdir и записи в файл на Extended под Netscape.
- bugfix: подсчет ширины в NC (bug возник в связи с увеличением размера шрифта)
- bugfix: в предыдущую версию случайно попал не тот brow справедливость восстановлена.


* 5.23b (03.07.00)

- Небольшие внутренние изменения.
- Расширена функциональность brow. Можно создавать закладки (пока в стадии бета-тестирования, поэтому нет в man).
- Добавлен запрет на создание переменных с экранирующим слешем.
- Добавлено фильтрование слешей в командах cp и mv.
- Изменения в set: set a=b c d=0 будет работать как set a=(b c) d=0.


* 5.22c (23.06.00)

- Обработка переменных %/,%m,%M,%t,%T,%p,%P,%%,%n,%d,%D,%w,%W,%y,%Y,%# в prompt.
- Корректная обработка апострофов, но экранировки апострофов пока нет.
- Шрифт заменен на Lucida Console и в NC тоже.
- Восстановлена работоспособность fy и fw.
- Введены дополнительные проверки имени файла для повышения отказоустойчивости.


* 5.21b (22.06.00)

- добавлена команда source.
- более корректная обработка содержимого объекта при mount -c.
- добавлена обработка прав доступа для каталогов (только для JSFS).
- chmod теперь умеет работать с каталогами JSFS.
- улучшено чтение каталогов.
- команды LIST, SHOW, MOV, PUSH, POP, OPEN, ALERT собраны в одну -d с ключами.
- команда d документирована в man.
- добавлена возможность создавать ссылки на каталоги.
- добавлена (как и rehash в качестве заглушки) команда unhash.


* 5.20b (21.06.00)

- Нововведений можно сказать нет. Дела... :( JUnix защищен как курсовая, с отличием. Автор антивируса PClear III выдал мне сертификат для JUNIX, удостоверяющий отсутствие в JUnix 5.19b троянов, вирусов и проч.
- Появилась команда rehash.
- У команды brow появилось 2 shortcut'a: forum и junix. (напр. brow forum).
- Некоторые внутренние переделки.


* 5.19b (29.05.00)

- программы (по крайней мере sed) научились работать с файлом "-" (pipe).
- добавлена обработка экранирующего слеша в set.
- появилась комбинация Ctrl-C (прервать выполнение команды).
- внимание! могут появится проблемы с экранирующим слешем (ф-я AddMask
на выходе очищает слеши, StripSlashes стала вычищать все слеши, кроме заэкранированных).
- добавлены команды id и uname.
- исправлена пара багов.
- улучшен RubScan (aka scan aka fsck), теперь он пытается угадать права доступа файла.
- добавлена команда mkfifo и именованные pipe.
- новый JUnix Desktop от Коробейникова Антона.


* 5.18b (7.05.00)

- Новое: присваивание (set), цикл foreach и echo научились работать с масками.
- В запускаемом файле, в первой строке можно явно указывать shell: #!/bin/jush или #!/bin/jssh.
- Появилась возможность экранирования маски.
- Внутренние переделки.


* 5.17 (29.04.00)

- В команде date метод getFullYear заменен на getYear (первый не поддерживается младшими Нетскейпами 4-х версий). К сожалению %j пока работает не корректно. Пока я не нашел простого способа вычислять день года.
- Добавлена команда continue.
- Устранено возможное урезание команды в списке history.
- Имена переменных теперь не могут содержать пробелов.
- Добавлена обработка неполных масок ([],[,[^] и т.п.).
- Прикручена команда goto.
- Удалена команда вида $var=val.
- Два новых hot keys для vi: x - делает файл запускаемым, i - вставляет новую строку.
- Новый JUnix Desktop. Версия 5.15.


* 5.16 (22.04.00)

- Команда date обзовелась форматом. (подробнее см. здесь или в manual).
- появился наконец-то цикл foreach.


* 5.15 (20.04.00)

- Чуть изменен формат команды wish: все параметры, начиная со второго, передаются вызываемой программе (спецсимволы должны быть заэкранированы).
- Исправлен один мелкий баг.
- Иправления в unix.exe: файл выровнен по 4К (для NT/2000).


* 5.14 (10.04.00)

- Исправлен баг: echo \||
- Новый JUnix desktop от Коробейникова (aka aSL).


* 5.13 (01.04.00)

- Что-то в этом есть - 13-я подверсия вышла 1-го апреля. :))
- Исправлены баги: два перевода строки подряд в IE4 выглядели ранее как один и при попытке вызвать команду "??" система давала сбой.
- Введено разделение устройств на блочные и символьные
- Исправлены баги выделения (работа с буфером обмена в IE)
- Добавлен ключ -b (команда set) - включает мигание курсора. -B - выключает. Спасибо большое за идею Коробейникову Антону (aka aSL).
- Добавлено устройство bmem (в IE совпадает с буффером обмена, в NC - просто участок памяти).
- Устройство /dev/nul переименовано в /dev/null
- Из результата работы команды ls убраны номера файлов. Нумеровать файлы бессмысленно, а выводить количество ссылок на файл - долго.
- Исправлен баг: не экранировался перевод строки.
- Команда wish теперь умеет запускать файлы в именах которых содержится пробел.
- Добавлен JUnix desktop Коробейникова Антона (в каталоге Desktop). Внимательно читайте описание! Дистрибутив тут же вырос до 132 Кб. Может стоит в будущем разделить эти программы?


* 5.12 (26.03.00)

- Огромное спасибо Коробейникову Антону aka aSL за процедуру MD5 - хэширования и JUNIX desktop. В эту версию JUNIX'а эти вещи еще не входят, все силы были брошены на вылавливание глюков.
- JUnix-символ перевода строки (0x1A) заменен на \n.
- Улучшения в работе icq и mail.
- Был произведен тщательный поиск багов. Все они были устранены.
- Эта версия - не бета.
- Введены PIDs (работает $$, kill не меняет PIDs процессов).
- Netscape - самый замечательный в мире браузер. Замечателен он глюками. Оказывается в некоторых (!) Нетскапах клавиша Esc при нажатии не порождает события onkeydown, но порождает onkeyup. Занесено в копилку багов и учтено в JUnix.
- Чуть изменена процедура запуска фоновых процессов. Предлагаю развлечься следующим образом: создать запускаемый файл daemon с содержимым $0&;$0& и запустить его при помощи daemon&. Каждые 12 секунд набирать ps. Правда система теперь разрешит запустить таким образом только 20 процессов. Задача для пытливых умов: написать демон, который бы прибивал за один раз два таких процесса. :))
- Вс:е достали. ;)) Если где-то JUnix ругают, то ругаю в связи с... реализацией lynx. Людям зачем-то нужет текстовый браузер внутри графического. Делать я его не собираюсь, зато собираюсь [и уже] переименовать lynx в brow.
- Мой братишка, Степанищев Олег написал launcher для JUNIX, открывающий его в отдельном окне, за что ему большое спасибо от лица всей JUNIX'овой общественности. Работает только под Intel и платформами поддерживающими Win32.
- И напоследок: большое спасибо за бета-тестирование, ему и всем принявшим в нем участие.


* 5.11b (15.03.00)

- Почила команда ping. В смысле нет ее больше.
- Изменения в работе mail. Почта теперь отсылается только во внешним адресам (типа: email@host.xx).
- Чисто внутренние изменения в работе icq и mail.
- Доведена до ума history при помощи стрелок и Ctrl-e, Ctrl-x.
- Сделана попытка исправления кода special для NC4.04, надеюсь вышло, так как этого браузера я так и не нашел.
- В результате вышеописанных переделок размер уменьшился где-то на 3 кило.
- Вернулось сочетание клавиш Ctrl-T, которое я незаслуженно забыл в версии 5.10b.
- Добавлены команды rulez и suxxx :)). Специально для того, что бы быстро и анонимно высказать автору (т.е. мне) свое отношение к программе.
- Больше не помню. Вспомню - допишу.


* 5.10b (11.03.00)

- Новый обработчик клавиш. Должен по идее сам определять в каком браузере как получить код клавиши.
- Добавлен новый shell - wish (WIndows SHell). Вкратце: работает только локально под Win9x/NT/2000 и только под IE5+. Как бы это сказать... ну... запускает Виндовые файлы (если они с чем-то проассоциированы).
- Предупреждение: блок if - else - endif внутри такого же будет скорее будет работать... не так как ожидается.
- Пофиксена пара багов.
- Похоже, начиная со следующей версии, перестанет существовать команда mail, вместе с ping. Бесполезные команды.


* 5.09b (05.03.00)

- Новые возможности команды icq (см. man или manual)
- Перенаправление ввода и pipe теперь действуют на команду dialog и на все основанные на ней команды (например будет работать bc<sample).
- Добавлены спецсимволы \n и \t (попробуйте echo \n\taaa).
- Обновлен manual и встроенный man.
- Кое-какие внутренние изменения
- Убран принудительный перевод перед prompt. Если будет раздражать - верну.
- Исправлены баги в менеджере процессов, один в shell и блочных командах.
- HTA-версию можно скачать здесь. В ней не будет работать почта.


* 5.08b (02.03.00)

- Новый менеджер фоновых процессов.
- Новая реализация pipe. Данные теперь попадают не в параметры,а на ввод команды. Правда комманды выполняются одна за другой, а не паралельно.
- Добавлена команда break.
- Версия пока сыровата, делалась на скорую руку, поэтому могут появиться глюки.
- Надо бы как-нить manual обновить... На выходных обновлю. Обещаю!


* 5.07b (06.02.00)

- Доведена до ума экранировка при помощи слеша (\).
- Добавлены команды repeat и while (в man'e и manual их пока нет).
- Куча мелких изменений.
- Процедура ReplaceAllVars неожиданно перестала получать параметры в IE4 (проблему решил так же как в JUnix версии 5.01).
- Добавлено распознование IE 5.01+


* 5.06b (28.01.00)

- Изменено действие команды cd: без параметров она осуществляет переход в домашний каталог, с параметром пытается перейти в указанный директорий, если он не существует просматpивает переменную cdpath, если указанный каталог является подкаталогом одного из значений cdpath переходит в него, если и это не помогло :) пытается найти переменную с таким именем и если ее значение начинается с / пытается выполнить переход в эту папку.
- Доведены (как мне кажется) до ума команды mkdir и rmdir.
- Куча мелких переделок.


* 5.05b (26.01.00)

- Исправлен баг в команде if.
- Посмотрел JUnix под NC 4.04 (IBM AIX). Этот странный браузер довольно нервно прореагировал на некоторые конструкции (например ...new Function("",...). Все пофиксено.


* 5.04b (25.01.00)

- Изменен синтаксис команды if (стал как в csh). Заранее прошу прощения за возможные глюки, связанные с этим переходом.
- Добавлено присвоение элементу массива (set a[1]=a)
- Добавлена команда @ (алиас set)
- Исправлена пара мелких багов
- jsh все больше и больше будет походить на csh


* 5.03b (05.01.00)

- Клавиша Tab работает в IE 4.01. В IE 4.0 не испытывал.
- Шрифт (в IE) сменен на Lucida Console. В экспериментальных целях.
- Изменены имена стандартных переменных (которые выводятся по set)
- Добавлены операции с переменными: $?var, $#var, $var[n].
- Добавлена переменная argv. Подстановки параметров делаются через нее.
- shift без параметра сдвигает argv (=> параметры $1,$2,.. и $*)
- Bведена команда jsh (временно меняет права доступа и запускает параметр как скрипт)
- B zip-архив добавлен небольшой faq и удалено HTA.
- Изменения в команде POP: без параметров значение со стека выводитcя на экран (в stdout)
- Исправлен баг в FileExistsCookie.
- Изменена заставка. Слегка. :)


* 5.02b (16.12.99)

- Добавлена переменная PS1 (текущий промпт) и PS2 (доп. промптер).
- Стало возможным использования JUnix-перевода строки (символ 1Ah) вместо ";".
- Исправил баг в команде y редактора sed (заменялось только первое вхождение).
- Некоторые косметичекие переделки.


* 5.01b (14.12.99)

- Исправлена пара-тройка багов, которые, как я и обещал, появились в версии 5.00b. Проявили они себя в... IE 4.01. Некоторые ф-и перестали получать параметры через заголовок. Пришлось применить массив arguments.
- Чуть не забыл. Ускорена работа с mounted devices (заметно в IE4).
- Внесено исправление в процедуру присвоения переменных.
- Добавлена команда read.


* 5.00b (12.12.99)

- Сделано монтирование!!! Соответственно добавлены команды mount и unmount. Все устройства для монтирования - в каталогах /dev/ и /dev/local/ (см. manual). Полностью переписан file.js. Чтобы ощутить все прелести монтирования скачайте JUNIX себе на диск.
- Добавлены команды unset и shift (но работы с элементами массивов пока нет).
- Пофиксены 2 мелких бага. Один связан с командой su, а другой... не помню уж с чем.
- Удалена ставшая бесполезной команда showbanner.
- Изменен синтаксис команд load и save. Читайте manual.
- Добавлены спецкоманды (относятся к JavaScript) SHOW (показать содержимое переменной(-ых)), LIST (показать все поля объекта), PUSH (положить значение(-я) на стек), POP (взять значение(-я) со стека). Их в мануале пока не будет.
- Добавлены 6 ключей к команде set.
- Вместо типа процессора в IE теперь и в IE и в NC выдается тип и версия браузера.
- Изменены команды mkdir и rmdir. Доработана scan у которой появился alias fsck.
- Добавлен обработчик ошибок для старших версий NC.
- После таких грандиозных изменений версия скакнула до 5-й. Мануал стал распространятся вместе с эмулятором.
- Боюсь появились новые баги.


* 4.22.05b (22.09.99)

- Дополнен manual.
- Исправлен мелкий баг - точка воспринималась раньше как корневой каталог, а не как текущий.
- Команда cp теперь может работать с одним параметром (копировать в текущий) и с директорием в качестве второго параметра (копировать в директорий).
- Небольшие внутренние изменения.


* 4.22.04b (11.09.99)

- Работа над Junix похоже будет продвигаться очень медленно. Другие дела отвлекают. :(
- Добавлена команда where.
- Удалены старые CGI, версии ниже 4.22 работать с почтой не будут.
- Добавлена команда wget. Пока только для NC.


* 4.22.03b (4-5.09.99)

- Некоторые внутренние изменения.
- Желающие могут посмотреть функцию RealWriteViaIE5Bug (модуль file), позволяющую в IE5 писать на диск в обход системы безопасности (я ее не использую в чем можно убедиться воспользовавшись функцией поиска в любом текстовом редакторе).
- Добавлена команда rate (показать текущий курс доллара), спасибо Казанскому Порталу.


* 4.22.02b (01.09.99)

- Добавлена команда ping (параметры - хост и длина пакета).
- Изменения в секюрити: пароль при наборе не видно.
- Неожиданно пропала из исходника команда #VB. Справедливость восстановлена.
- Некоторые внутренние изменения.
- Для IE4 сделан "внутренний" буфер обмена.
- Исправлен файл .profile, так что бы при смене логина не запускался второй maildaemon.


* 4.22.01b (27.08.99)

- Команда load в Netscape теперь читает из любого каталога, при условии, что пользователь дает программе такие права (надо нажать "Grant" при запросе).
- В NC заработала команда save (запись файловой системы на диск). Писать лучше в каталог модулей (modules). Обе эти команды работают через Java, т.ч. если вы хотите пользоваться этими функциями, а Java у вас не включена, придется включить.
- Не знаю очевидно это или нет, но файловую систему, сохраненную в IE можно прочитать в NC и наоборот.
- Да, забыл сказать: логины, содержащие всякие слеши, точки с запятой, русские буквы и прочие бяки создаваться не будут! Логин и пароль должны содержать только латинские буквы!
- Сегодня получил два письма, которые заставили-таки меня в серьез взяться за проблему скроллинга в NC. Пофиксил одним могучим рывком. :)
- Спасибо всем, кто написал мне в эти дни и кто еще напишет! Приятно читать ваши отзывы. Я постарался ответить всем.


* 4.22b (26.08.99)

- Добавлена команда passwd, работает в синхронном режиме. Если на этой почве глюков не будет, то процедура регистрации и команда mail также будут работать по этой схеме.
- Незначительное изменение команды dialog - после параметра PARM пробел теперь не ставиться (раньше это приводило к некоторым проблемам в Нетскапах).
- Пофиксен нестрашный баг в tail (по умолчанию принимался ключ -с, а не -l).
- Предупреждение для владельцев старых версий: пора делать update, т.к. все CGI-скрипты переехали в папку CGI.
- Изменения в обработке комбинации Ctrl, Ctrl (в IE5 - Tab) - теперь если в строке набирается относительный путь он не дополняется до абсолютного.
- Команда more обрабатывает маски.


* 4.21.04b (25.08.99)

- Добавлен контроль правильности имени (теперь все попытки создать файл, имя которого содержит пробел или начинается с минуса, успехом не увенчаются).
- Команда vi теперь создает файл перед редактированием (если его не было).
- Добавлена команда touch (с обрезанными функциями) для тех, кто привык создавать файлы этой командой.


* 4.21.03b (21.08.99)

- Команды icq и mail теперь нормально воспринимают минус в сообщении (раньше они считали, что это ключ). В команде icq сообщение (как и в mail) теперь пропускается через escape (для NC).
- Загрузка (отгрузку сделать пока не удалось) с диска теперь работает и через NC (если включена Java). Модель безопасности браузера позволяет работать только с тем диском, где расположен Junix, и только с тем каталогом, где расположены его модули! (т.е. можно вызвать load только c параметрами C:/путь_до_junix/modules/)
- Новое в команде mail! Теперь, если в имени адресата есть собака (@), то программа посылает сообщения через найденный мной недавно почтовый гейт (свой родной KZN грузить не хочется) на реальный почтовый адрес (ведь нигде не написано "запрещено посылать данные на чужие CGI"). Будет жаль, если этот гейт закроется. Так что если ваше письмо не дошло, то гейт либо закрылся, либо сильно занят. :)
- Изменения в обслуживании фоновых задач.


* 4.21.02b ( 17.08.99)

- Вместо свойства href объекта location в модуле mail теперь используется метод replace (сделано для того, что бы во фреймах не велась история URLов).
- Добавлена команда tail (с ключами -c,-l,-b).


* 4.21.01b ( 16.08.99)

- Почта работает корректней (удаляет почтовые сообщения после прочтения).
- В IE5 теперь обрабатываются Left, Right, Delete, Shift-Delete, Shift-Insert, Ctrl-Insert, Home и End (в NC их обработать невозможно). Предупреждение: браузер иногда грохается на Shift-Delete, почему понять пока не могу.


* 4.21b ( 15.08.99)

- Добавлены команды icq (отправление сообщения на Аську), fw (поиск через поисковую машину All The Web), showbanner (показ баннера :).
- Теперь в HTA клавиша Tab работает также, как и Unix'e.
- Это нигде не упоминается (по-моему), но еще с давних пор в Junix есть команда restart.
- Команда echo теперь нормально печатает минус.
- Комбинация Shift-Insert забирает данные из буфера обмена (только для IE5+).


* 4.20b ( 14.08.99)

- Подправлены команды работающие с почтой (теперь почта не принимается, если пользователь открыл JUnix локально (не относится к HTA)).
- Добавлена команда su.
- В man добавлено описание команд mail, whoami и su.
- Исправлен баг из-за которого при команде save в отгрузку попадала половина всех "внешних" (с атрибутом "e") файлов.
- Сделан HTA с IFRAMEs. Выложен новый unix.zip.
- Появилась команда "#VB:" - аналог #JS: (работает только в IE c установленным VBScript).
- Подправлены команды if и присваивания переменной значения.
- Некоторые внутренние переделки. Дописано руководство.


* 4.19b ( 13.08.99)

- Глобально переделана команда mail. Теперь пользователи могут реально оставлять друг другу сообщения. (mail - отправить, mail -p - принять).
- Сделана попытка написать chat. (команда chat, exit - выход из команды). Просьба - пока ей не пользоваться.
- Сделана команда whoami. Позволяет посмотреть с каким именем вы залогинились. Если пароль был введен ошибочно whoami покажет имя trial.
- Изменен логин. Теперь вы можете выбрать себе любое имя и пароль и логиниться с ним, система (а именно CGIs, которые я выложил на Казанском Портале) запомнит вас. Имена ALL, majordomo, root, hab зарезервированы.
- Файл unix.zip пока обновляться не будет. (посмотрим, что выйдет из моей затеи, потом обновлю).
- АНОНС: Переделаю почту (пока она несколько кривовата), сделаю команды позволяющие менять пароль и текущего юзера.


* 4.18b ( 08.08.99)

- Cделан упаковщик (команда compress). Пока примитивный (RLE), но и такой долго работает (JavaScript язык не из быстрых). Тексты им лучше не паковать. Надо бы в manual добавить.
- Произведены некоторые внутренние переделки.


* 4.17b ( 28.07.99)

- (Пере-) и сделан sed. Все комманды написаны по Unix man'y.
- Обнаружeн ненужный код в команде '?' (наследство одной из первых версий). Удален.
- Эмулятор оформлен как HTA (HTML Application, только для IE5+), немножко подправлена обработка клавиатуры (в HTA BackSpace проходит нормально), нарисована иконка, потом сменю.
- Файл HTA обработан MSEnc, теперь программа для IE5 написана не на JavaScript, а на Encoded JScript. (можно посмотреть здесь)


* 4.16b ( 22.07.99)

- Приделаны маски к cd и ls.
- В процессе доделки sed. Пока реализованы команды =,:,#,a,c,d,g,G,h,H,i,n,q,r,w. (Последние две несколько отличаются от традиционных).


* 4.15.01b ( 18.07.99)

- Передалана процедура определения ширины и высоты экрана.
- Наконец-то дописан справочник команд для всех новых команд.
- Немного усовершенствована команда scan.
- Добавлены шаблоны (*,?,[..]) для команд cat, cut, grep, rm, wc.
- В переменных теперь возможно использование выражений типа ${x-new} и ${y=new}.
- Устранен баг в команде vi (возникший в связи с введением нового символа экранирования - апострофа)
- Выкинута проверка существования директория из команды cd (а зачем она нужна, если директории - всего лишь формальность?)
- Добавлены (в порядке эксперимента) параметры %0-%9 и %*.


* 4.15b ( 15.07.99)

- Добавлена команда more, достаточно криво и сложно добавлена (некоторые соглашения, принятые еще в 1-й версии мешают), но зато работает.
- Переписан cutter.
- В процессе выяснились две вещи:во-первых, IE (по крайней мере 5-й) переносит строки через дефис и скобки (даже если ему проставить <NOBR> и &nbsp;), во-вторых, у NC глюк - /[^a]{10}/.test("b") - равно true! Пришлось проставить ширину слоя и отказаться от RegExp в cutter'e.
- Совершенно случайно выяснилось, что в IE5 есть блок try... catch!!! Все "опасные" операторы - bc, if и lynx были тут же защищены этим блоком (да здравствует условная компиляция и try!).


* 4.14b ( 14.07.99)

- Добавлена переменная $PWD и команда eval.
- Присваивание переменных теперь можно осуществлять не только как $xxx=zzz, но и xxx=zzz.
- Добавлена команда date.
- Подстановка $' заменена на $*, как в нормальном shell.
- Теперь чтобы выделить имя переменной из строки можно воспользоваться конструкцией string${var}string.
- Клавиша <Enter> (выполнить команду) теперь экранируется \ и | (происходит перевод строки).
- Добавлено фоновое выполнение, точнее его аналог - команда выполняется в фоне, если в течении 3-х секунд пользователь не нажимает на клаватуру. Естественно добавлены ps, kill и fg.


* 4.13b ( 12.07.99)

- Переписан вывод на экран (упрощен и ускорен на 530%! за счет использования регулярных выражений).
- Добавлена команда exit - алиас bye, из bye выкинуто все лишнее.
- Добавлены шаблоны (*,?,[ и ]), пока только в виде процедуры (для бета-тестинга).
- Временная мера - когда в NC содержимое слоя выходит за пределы экрана слой очищается.


* 4.12b ( 10.07.99)

- Добавлены переменные! Работает подстановка переменных, присваивание, переменные $HOME и $PATH.
- Добавлена команда set.
- Переработана процедура Exec, теперь { и } обрабатываются более корректно, да и вообще процедура выглядит изящнее.
- Добавлен диалоговый режим работы (команда dialog). Под диалоговый режим переделаны bc, mail и lynx. По-моему очень не плохая идея...
- Экранирование апострофами символов {,},>, < и ;.


* 4.11.03b ( 08.07.99)

- Сдаю экзамены, совсем нет времени. :(
- В IE5 теперь событие KeyPress не вызывается при нажатии <BackSpace> и есть тег LAYER, пришлось извратиться.
- Ctrl-E в IE5 - горячая клавиша, куда же переместить вызов предыдущей команды? Будет время - подумаю.
- Подумал. Специально для IE5 комбинация Ctrl-E эквивалентна <ArrowUp> (стрелка вверх).
- Оказалось, что у NC4.08 (и ниже) с клавишей <Esc> та же проблема, что у IE5 с <BackSpace>. Пофиксено.
- Изменения в версии 4.11.02b проверены в NC4.08. Все о'к.
- Добавлен аналог <Tab> в Unix'e - комбинация два раза Ctrl (клавиша <Tab> забита браузером).


* 4.11.02b ( 18.06.99)

- Додумался до нового способа проверки на undifined. Под NC 4.5 и IE 4.0 работает, надо бы проверить на более ранних.


* 4.11.01b ( 16.06.99)

- В калькулятор ( bc ) введена функция Int ( интеграл по dx). Способ применения - bc Int("sin(x)+pow(x,2)",0,10). Вычисляется по методу Симсона, точность - порядка 1.6E-11 на максимум модуля четвертой производной по отрезку. ( Это значит, что интегралы от полиномов степени до 4-й считаются точно ).
- Атрибуты у cookie ( /dev/cookie/ ), содержимое которых начинается с # сменены на rwx. Теперь их можно запускать.
- Переделал под NC 4.04 ( проверить на NC 4.00 не удалось ). Испытал под NC 4.04 (под OS/2), NC 4.05 и NC 4.08 (под Win98). Почему-то NC 4.04-08 не захотел определить длину одного из массивов, пришлось извратиться.
- В файловую систему добавлен объект navigator ( /dev/navigator ).
- Добавлена комманда mail (открывает окно почтового клиента).


* 4.11b ( 13.06.99)

- Теперь в каталоге /dev/cookie/ хранятся ваши cookies.
- Фича: если после краха JavaScript'a нажать Ctrl-t система восстанет.
- Введены ( искуственно ) комманды mkdir и rmdir ( зачем? Бог знает... )
- Переделал lynx ( теперь просто открывается новое окно ).
- scan теперь с состоянии находить дыры в массивах ( undefined - элементы ) и исправлять их. Как пришлось извратиться для этого см. внутри. ( в JavaScript 1.3 все можно сделать проще ). scan "отцепляет" при проверке внешние файлы ( cookies ).
- Добавлена tee. Надо бы как нибудь "if" переписать.


* 4.10b ( 12.06.99 ночь)

- Yes! EU переписан под NC 4.5 (с JScript 3.00 на JavaScript 1.2)! Отлавливаю баги. Теоритически и под NC 4.0 должен работать, но я еще не испытывал ( там вроде восмерка не будет работать ).
- Вывод менее гладкий, чем в IE, если кто-то знает как сделать получше - подскажите, переделаю.
- Пойду экзамен учить.


* 4.01.01b ( 12.06.99)

- В калькуляторе функции sin, cos etc. теперь можно набирать не как Math.sin, Math.cos etc., а по-человечески.
- Написал процедуру для Lynx. Может вообще выкинуть эту комманду?
- Исправил неприятный, но очень редко встречающийся баг в процедуре разбиения под ширину экрана.
- Исправил баг файловой системы ( точнее тяжелое наследство 2-й версии ), связанный с ссылками ( файл, начинающийся с ->, но не являющийся ссылкой был виден в дереве, но не просматривался ).
- К коммандам load (и save) добавлен ключ -с - загрузить (или отгрузить) файловую систему в (из) cookie. Вынужден огорчить: сооkie в системе не может быть более 20 на одну прогу и величиной каждый должен быть меньше 4Кб. Отсюда можно хранить 6 копий файловой системы общей величиной до 4Кб. Маловато... может сделать комманду man внутренней?
- Переделаны комманды || и &&, теперь они работают как в Unix'e.
- Вот сдам экзамен...


* 4.01b ( 11.06.99)

- Введен простенький редактор текстовых файлов - vi ( /bin/manual лучше не редактировать! ).
- Переписан весь ввод-вывод ( соптимизирован и вывод производиться не как на терминале низкой скорости, а в реальном времени... может и зря ).
- Убрана комманда te ( отключение "эмуляции терминала" ).
- Переписана комманда ls, добавлены новые ключи, добавлена комманда l.
- Добавлена комманда scan ( в Unix'e ее нет ) - исправление ошибок файловой системы.
- Весь эмулятор поделен на модули.
- Исправил пару мелочей ( для собственного удобства ).
- Команда lynx оставлена, но процедура обработки затерялась.


* 4.00b ( 04.06.99)

- Введены комманды load и save ( отгрузить и загрузить файловую систему на локальный диск, если все файлы текстовые ).
- Сменил пароль с Password на root. :)
- xxxxx.
- xxxxx. В общем не помню я, что-то менял.


* 1.00 - 3.09 ( XX.05.99)

- Затеряны во мраке веков.