LINUX.ORG.RU

ed 1987-го года снова в строю и с улучшениями

 


0

2

Пропатчил с улучшениями ed 1987-го года от Brian Beattie, Kees Bot и других.

Перевёл его на интерфейс readline (а это возможность вернуться в середину и начало строки, история команд, отсутствие старого ограничения длины строки,... и т.д.), удалил код совместимости с Turbo C, добавил команду 'n' как в GNU ed и частично пропатчил печать на совместимость с 8-ми битными кодировками на x86_64 (знаковый char по дефолту - все символы > 127 превращаются в отрицательные и попадают в контрольные < ' ').

Скачать: gopher://sdf.org/9/users/saahriktu/filez/notbyme/ed-1987-0.3.tar.lzma

Enjoy!

gopher
ed 1987-го года
x86_64

Зачем создавать проблемы, чтобы потом «героически» их решать? Купи себе SGI Octane какой-нибудь и живи без бед.

Meyer ★★ ()
Ответ на: комментарий от Meyer

У меня есть Raspberry Pi, а на ARM'ах char по дефолту беззнаковый. Но, и на x86_64 всё и так работало. Только вместо

:1,$n
1       проверка
2       набора
3       текста
:
было
:1,$n
1       ^P^R^O^W^E^R^K^A
2       ^N^A^B^O^R^A
3       ^T^E^K^S^T^A
:

saahriktu ★★★★ ()

Пропатчил с улучшениями ed 1987-го года

ТС, скажи честно, ты когда мимо кладбища проходишь сторож ружье в руки не берет?

upcFrost ★★★★★ ()

удалил код совместимости с Turbo C, добавил команду 'n' как в GNU ed и частично пропатчил печать на совместимость с 8-ми битными кодировками на x86_64

В апстрим изменения приняли?

pacify ★★★★★ ()
Ответ на: комментарий от pacify

Того апстрима давно нет. Последнее и единственное зафиксированное изменение до меня - от 25-го августа 1992-го года.

saahriktu ★★★★ ()

saahriktu, upcFrost

ТС, скажи честно, ты когда мимо кладбища проходишь сторож ружье в руки не берет?

Ослепший старый маг Ночью по лесу бродил. На кладбище разлил он волшебный эликсир. И лишь проговорил: «Что ж я старый натворил!.. »

shikata_ga_nai ()

Скачать: gopher://

Норкоман

Kilte ★★★★★ ()
Ответ на: комментарий от Kilte

То есть все остальное что ты видишь в ОПе ты считаешь верхом адекватности?

morse ★★★★★ ()
Ответ на: комментарий от morse

Нет, разумеется. Он и раньше что-то там патчил, поэтому не удивлён.

Kilte ★★★★★ ()

удалил код совместимости с Turbo C

Он тебе мешал? Если такое старье патчишь, так следовало бы знать, что существует https://ru.wikipedia.org/wiki/DJGPP - перенос GNU-утилит под MS-DOS . А там есть потребность, в том числе и Turbo C компелять, тем более, что он нынче Freeware, хотя и не свободный.

praseodim ★★ ()
Ответ на: комментарий от praseodim

После прикручивания библиотеки readline совместимость с Turbo C всё равно никто не гарантирует.

saahriktu ★★★★ ()

ed 1987-го года снова в строю и с улучшениями

Тот случай, когда сразу угадываешь автора поста по одному лишь заголовку.

DawnCaster ()

x86_64

Не всем нужны 64 бита.

lzma

Не у всех есть потребность в lzma.

redgremlin ★★★★★ ()
Ответ на: комментарий от saahriktu

Даже интересно стало, ты реально что ли пользуешься для ручного редактирования ed? Зачем?

Ведь даже для очень слабых конфигураций полно все-таки полноэкранных редакторов. Хоть бы даже классический vi (не vim) вполне минималистичный.

praseodim ★★ ()
Ответ на: комментарий от praseodim

перенос GNU-утилит под MS-DOS

Тут я, пожалуй, займу сторону кота.

redgremlin ★★★★★ ()

Хороший повод перейти с MS-DOS 4.01 с его EDLIN.EXE </сарказм>

Infra_HDC ★★★★ ()
Ответ на: комментарий от praseodim

Зачем?
полноэкранных

Затем, что полноэкранные текстовые редакторы не всегда удобны.

saahriktu ★★★★ ()
Ответ на: комментарий от saahriktu

Затем, что полноэкранные текстовые редакторы не всегда удобны.

Например? Мне что-то в голову особо ничего не приходит, хотя может потому что я окнами терминалов пользуюсь и при нужде могу их несколько штук на экране расположить.

praseodim ★★ ()
Ответ на: комментарий от praseodim

В полноэкранных текстовых редакторах даже при подсвечивании искомых данных всё равно нужно эту подсветку находить глазами. Да и вообще слишком много отображаемой информации может мешать. В то время как ed позволяет, например, такое:

> ./ed1987 ed.c
"ed.c" 2176 lines 41223 bytes
:p
/*
:+;/char
 * 1). No charge may be made other than reasonable charges for reproduction.
:+;/char
 *      #defines for non-printing ASCII characters
:+;/char
/*      Definitions of meta-characters used in pattern matching
:+;/char
#define NCCL    '!'     /* Negative character class [^...] */
:+;/char
/* Largest permitted size for an expanded character class.  (i.e. the class
:+;/char
#define MAXLINE 512     /* max number of chars per line */
:+;/char
#define MAXPAT  256     /* max number of chars per replacement pattern */
:+;/char
typedef char    BITMAP;
:+;/char
        char            tok;
:+;/char
        char            lchar;
:+;/char
        char            l_buff[1];
:+;/char
char    *paropen[9];
:
И т.д. Текущий номер строки можно узнать через =, можно вывести блок только нужных строк по их номерам, можно работать только с нужными строками,... и т.д.
:=
118
:115,125n
115     #define LINFREE 1       /* entry not in use */
116     #define LGLOB   2       /* line marked global */
117
118     #define MAXLINE 512     /* max number of chars per line */
119     #define MAXPAT  256     /* max number of chars per replacement pattern */
120     #define MAXFNAME 256    /* max file name size */
121
122
123     /**  Global variables  **/
124
125     /*  Tokens are used to hold pattern templates. (see makepat())  */
:118,120s/define/undef/
:118,120n
118     #undef MAXLINE  512     /* max number of chars per line */
119     #undef MAXPAT   256     /* max number of chars per replacement pattern */
120     #undef MAXFNAME 256     /* max file name size */
:
В общем, это всё то, что описано как преимущество CLI перед GUI в статье «CLI против GUI. Консоль против Графики.»: http://oni-ddr.livejournal.com/26660.html

saahriktu ★★★★ ()
Ответ на: комментарий от redgremlin

Не всем нужны 64 бита.

8 бит хватит всем! Знавал я одного товарища, повернутого на спектрумах, так же как ТС на кои8...

petrosyan ★★★★★ ()
Последнее исправление: petrosyan (всего исправлений: 1)
Ответ на: комментарий от petrosyan

так же как ТС

Не может такого быть, ибо сказано классиком «все счастливые юзеры счастливы одинаково, а все поехавшие поехали по своему».

redgremlin ★★★★★ ()
Ответ на: комментарий от redgremlin

Не может такого быть, ибо сказано классиком «все счастливые юзеры счастливы одинаково, а все поехавшие поехали по своему».

Реально очень похож. Даже «литературные» высеры в похожем стиле писал. А еще «научные монографии» по 600 страниц. Правда потом он каким-то чудом женился и в интернетах стал редко появляться.

petrosyan ★★★★★ ()

троллинг некрофилией

Ты не видишь что не прокатывает? Придумай что-то другое.

Inshallah ()
Ответ на: комментарий от petrosyan

Правда потом он каким-то чудом женился

а давай про это поподробнее!

P.S. Топикстартер, а как у тебя с личной жизнью? Или она тоже «не всем нужна»? :)

Harald ★★★★★ ()
Ответ на: комментарий от Harald

а давай про это поподробнее!

Не в курсе подробностей, но жена, если конечно она сама не такая же поехавшая, - это хорошее средство вернуть человека в реальный мир.

petrosyan ★★★★★ ()
Ответ на: комментарий от petrosyan

Суровый реальный мир, следует уточнить! :)

Harald ★★★★★ ()
Ответ на: комментарий от Harald

Он женат на koi8-r. Он же сказал, что выбрал её один раз и на всю жизнь.

te111011010 ()

gopher:

Ты ещё предложи получить его по почте на магнитной ленте.

te111011010 ()

gopher://...lzma

Нет, я всё понимаю, но это уже перебор (и первое и последнее). Если хочешь, чтобы не ты один мог этим пользоваться, выкладывай куда-нибудь в github, а так — это вещь в себе.

beastie ★★★★★ ()
Последнее исправление: beastie (всего исправлений: 1)
Ответ на: комментарий от beastie

вещь в себе

curl gopher://sdf.org/9/users/saahriktu/filez/notbyme/ed-1987-0.3.tar.lzma > ed-1987-0.3.tar.lzma
saahriktu ★★★★ ()
Ответ на: комментарий от saahriktu

и в каких дистрах curl ещё собирают с неотключённой поддержкой gopher?

Harald ★★★★★ ()
Ответ на: комментарий от te111011010

пердолиться с кодировкой как-то проблематично будет

хотяяя :) у ТС-а это вполне себе получается

Harald ★★★★★ ()
Ответ на: комментарий от Harald

Она включена по дефолту. Чтобы её отключить нужно специально добавить опцию --disable-gopher.

saahriktu ★★★★ ()
Ответ на: комментарий от saahriktu

заглянул сейчас в ebuild для curl, таки да, в гентощке тоже ретрограды сидят мейнтейнерами :)

        econf \
                --enable-crypto-auth \
                --enable-dict \
                --enable-file \
                --enable-ftp \
                --enable-gopher \
                --enable-http \
                --enable-imap \

даже USE флаг не завели, чтоб включать-отключать по желанию

Harald ★★★★★ ()
Ответ на: комментарий от anonymous_incognito

А вот Firefox опопсел :=)

Если очень хочется, то есть расширение.

dexpl ★★★★★ ()
Ответ на: комментарий от anonymous_incognito

Да я и telnet'ом могу. Но не буду. Элитизм должен уметь в рамки приличия.

beastie ★★★★★ ()

Надырявь перфокарт что ли, хоть немного отдохнем от тебя пока ты занят будешь.

mandala ★★★ ()

Сделай опрос из двух пунктов

  • кто когда последний раз запускал ed?
  • а когда что-нибудь в нём редактировал?
greenman ★★★★★ ()

Вопрос отписавшимся: а что плохого в Gopher? Хороший же протокол.

Quasar ★★★★★ ()
Ответ на: комментарий от beastie

telnet до сих пор нужен, если что. Есть куча встраиваемых устройств, есть локалка и т.д.

Quasar ★★★★★ ()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)