namdaktonpa
Emacs Erlang Немного новостей за последние дни. Я перевел библиотеку S-Lang с версии 1.4 на версию 2.2.4 с поддержкой UTF8. Теперь Pie умеет отображать UTF8, но не умеет пока совершать навигацию по бинарному дереву текста. Этим я намерен занятся в ближайшее время.

Так же я хотел бы показать внутренности Pie, как например можно написать отображение текста выводимого командой man на текущем слове в новый буфер, после чего этот буфер делается активным и указатель перемешается а начало буфера:

| man_page(State) ->
| Word = symbol_at_point(State),
| Command = "man " ++ Word,
| Text = os:cmd(Command),
| R = edit_util:popup_message(State, list_to_atom(Command), Text),
| start_of_buffer(next_window(R)).

Вообщем работать с Pie одно удовольствие. Задачу с подсветкой текста планирую решить регекспами на строках, без анализа структуры всей программы. Для эрланг программ это прекрасно рабоатет у меня на сайте synrc.com

namdaktonpa
Emacs Erlang Чуваки, все кто упоролся Емаксом и Эрлангом у меня для вас хороша новость. Я нашел охуенную реализацию прото-емакса на Эрланге с охуенными внутростями, которые меньше и красивее даже чем microEMACS. За 4 дня я пофиксал все гавно, что бы этот легаси собрать и запустить. Я также получил MIT Лицензии у авторов на эту хуйни (Люка Гории и Клаеса Викстрома), а также их благословение развивать эту хуйню дальше.

Анально упоротым емаксовцам следует учесть, что Pie — это не уверсальный Емакс для чтении почты и прослушивании мп3 — это хуета для интроспеции Эрланг нод, по сути расширенный шелл, с возможность интерактивной работы прямо в буфере, а также в будущем с анализом кода. Сейчас эта хуйня умеет только расставлять индентации по стандарту (а не так как я люблю). Pie — это точно такая же хуйня как и Yi для Хаскеля, только для Erlang, Емакс где вместо лиспа — эрланг.

За 4 дня я успел сделать поддержку CUA моде для VTE (для дргуих терминалов slang выплевывает другие символы и я заебался это все выписывать, если будут реквесты на поддержку определенных терминалов я пофиксаю), а также CUA выделение и копипасту через M-c M-v. Это все писать несложно и ненапряжно.

Есть проблема со старым slang, тут пацаны в жуйке вроде собирают новый с возможностью запустить всю эту хуйню на Windows. Надо новый slang и utf-8 — Это одна из первоочередных задач, но я все же уделяю внимание чисто эрланг коду, хотелось бы что бы пацаны закончили с переходом на новый slang. Этому всему всяческие одобряшки и охуенчики.

Пидерасы, емакс хейтеры, эрланг хейтеры, ниасиляторы, хуесосы и долбоебы идут нахуй. Перед тем, как писать хуйню — хорошо подумайте, хотите ли вы гавна себе на голову. Эта русская особенность всех обосрать все, еще дело не начавшись — совершенно ебанутая, и я всячески порицаю такую особенность русской души. Не нравится, что кто-то за тясячи километров пишет себе емакс? Напишите мне об этом и вы услышите мой ответ.

Немного раздражает мигаюние на некоторых терминалах (В Убутнту под VTE и xterm все заебись, на производных rxvt, под PuTTY — полная хуета). Еще в гавнолинуксах все терминальные либы, хавают SHIFT+{CTRL,FN,ALT}+CURSOR, что мне объяснило почему аккорды в юникс редакторах такие адовые везде и почему в mcedit раскладка именно такая и почему emacs -nw Отличается от GUI версии и почему нельзя в йобаном линуксе написать нормальный CUA mode.

Но хочу закончить на хорошей ноте, Pie использует инновационную либу active для само-апдейта, что бы в нем писать его же. Она хоть и охуенная, но еще не совсем стабильна поэтому не пугайтесь, там надо поставить github.com в PATH и поставить ему сhmod +s. В отличие от растивского sync эта штука использует нативный вочер ФС, и посылает сообщение, что бы rebar перебилдил проект. Мы в свои проектах переходим на эту библиотеку, а в Pie ее включили скорее для рекламы, что бы вы могли ее попробовать и потестировать для нас :)

Жду вашей хуйни и заебцов.

namdaktonpa
Windows Erlang Я не советую использовать Cygwin на Windows. Это вообще ущербная практика. Cygwin пытается сэмулировать fork через Win32, но для этого есть NtCreateProcess, т.е. по хорошему fork должен эмулироваться через NT API, а именно через POSIX подсистему. Такие системы были и есть под Windows NT, но не все их используют. Сначала это была встроенная написанная Microsoft, потом Interix, теперь она называется SUA, и доступна только на Windows 8 серверах.

Вообще говоря сама идея fork достаточно убогая, хотя и есть прямая поддержка такого API в NT API NtCreateProcess. Если в каком-то приложении есть такая хуйня как fork или POSIX 1003.1c его нехуй делать переписать на Win32, выбросив нахуй эту йобнутую cygwin.dll, рожденную сном разума и переписать кастомный леер заглушку на Win32 поставив #define и отправив пул реквест.

Поэтому я всегда собираю и все нормальные пацаны тоже всегда собирают весь гнутый софт под Windows используя MinGW. Примеры — это GIT, Haskell, OCaml и другой кошерный софт. Если вы видите, что кто-то портирует софт на Cygwin — остановите его.

Я например могу портировать что угодно под Windows, даже Riak, как видно на скриншоте.