Тия дни се сещах за Щирлиц, гениално програмче, обожавам го. Ама що все си мисля, че съм виждал кода му? Не го ли отвориха по някое време?
=*=
А бе тя работата има даже още по-голяма предистория. Имах желание да пробвам pup, още, когато научих за него:
https://www.linux-bg.org/forum/index.php?topic=48685.msg312543#msg312543Хвала на Програмингс, непрекъснато научавам хитринки от него.
И преди няколко дни (май беше понеделник) се сетих, че отдавна искам да си направя архив на архива. Демек онази услуга горе не случайно я давам на IA. Повече от година е свалена и не работи. Капиталистическа му работа. Какъвто Иво Прокопа, такива и подчинените му.
И викам си — г̀опеле т'ва е идеален „проект“ за Пъп. Е Пъп не се оказа толкова гениален. Той вътрешно преобразува всеки един tag. Това може да се преживее, като просто провериш, как го е преобразувал. Но не е така, когато не работиш с Уникод. Това вече не се преживява. Аз буквално (в Кейт за по-бързо) проверих всяка кирилска кодировка, за да разбера, каква мацаница е свършил. И като стигнах до IBM 866 взех да се кръстя, защото се оказа, че не е дори той.
Иначе самия макрос го „написах“ по-бързо отколкото успях да инсталирам pup. За първи път се докосвам с моите ръце (а не през някакви материали) с go. Този go, който е в Дебиан 8, се оказа стар за pup. Ужас и безумие! После бях забравил, че то и дом трябва да му се прави. Нищо, че с това започва всеки урок. Ама то с тази „стара“ версия се оказа, че и други пътища трябва да се правят и други чудеса. И това само да установя, че Pup ползва нещо си, което се появява в единадесета версия или нещо такова. И то е баш за Уникод, на който му ядох ташаците.
То тая работа хубаво. Го е език на Гългъл и пичовете са се постарали да е тъпо като за шиндошари. Викат ти — вземи тези работи, набухай ги в /usr/local и работата ще спи. Всичко една команда — tar. Ама врякат: не забравяй, ако имаш друга версия да я махнеш. И изведнъж се сещаш, защо са измислени пакетите и не работим с tar.
В Дебиан Го лесно се слага, ама трудно се маха. Хайде успях и с това. Всичко ден, може би ден и нещо. Щото пък трябваше да разкарам магиите от преди това.
=*=
Макроси в Емакс се пишат изключително бързо. Подчертавам. На Емакс много трудно се програмира, почти е кошмар. Но макроси се правят по-бързо и от тези на Word. Няма по-лесни макроси на планетата.
Аз вече го казах. Представяш си, какво би направил на ръка. После питаш самия Емакс, коя всъщност функция седи зад клавишната комбинация. Това ще са всичко на всичко четири-пет функциики. После надолу само цепи-лепи. Тук-там някаква незначителна промяна. И си готов.
Релно има един единствен проблем — Лисп. Не! Проблем по никакъв начин не са ми скобите. Освен, ако човек не пише на Питон или Паскал (май трябваше в обратен ред), то скоби има навсякъде. Даже са повече видове. Тук е само един вид скоби — най-най-обикновените.
Проблема е в самия Лисп. Лисп е не повече и не по-малко от неименувани списъци. Толкова. Няма повече. Най-лесния език на планетата и вселената. Е да де, ама Емакс е текстов редактор. Текста е низ, а не списък, при това неименуван мамка му. И когато опреш да прехвърляш от низ към списък и обратно, става страшна кабала. А то няма как да не се наложи. Защото неименуваните списъци вършат реалната работа, ама тая работа я вършиш върху низове, защото това е текстов редактор, а не език за програмиране. Те са едни черни магии, магарии и свинщини. Ама като нацелиш как да излъжеш Емакс, спира да е проблем.
В общи линии нахвърлях максроса за може би под час общо, но разбит в няколко часа, а редактирането му беше буквално минути.
Откриването на проблема беше дори по-мало. Буквално от един поглед. Може да разбереш сам:
https://mega.nz/file/qwhmzRIb#nIHSBFhptwzzR32OMw4qefOzGD-RjdrOE_LfaiXyhZkhttps://mega.nz/file/3wxgnTQJ#T2v8R9zXbC7SuGxOAmeVfo7hNl4tAR0HrDXnvUS68EMhttps://mega.nz/file/q1xwFLyS#uTg3DlYtcHhgfNvLp83sY_x6iomZOZCrf2gcPKq6NNkПървите две ми ги изплюха други цикли още преди това, в третото имайки ги готови, ги съединих. И даже се престарах пускайки една формулка, колкото да съм сигурен, че не съм се объркал.
Трябваше ми само един грешен. Отварям един грешен и един правилен и моментално разбирам, какъв е проблема. А проблема беше липсващ <div>, който нямаше да е проблем, ако не бях го разбил на чак толкова подробни стъпки.
Та те така.