Brojalo: prvi u zivotu Lisp program

Za potrebe doktorata moram identificirati dijelove jednog dugackog teksta, podijeljenog u manja poglavlja. Neprestano moram pisati brojeve recenica tih poglavlja. To me toliko nerviralo da sam odlucio napraviti programcic koji ce brojiti i zapisivati brojeve umjesto mene.

Prvi je pokusaj bio u NoteTab Clip-jeziku; bez problema, gotovo za sekundu:

^!Set %brojac%=1
:brojenje
^!Replace %%	^%brojac%
^!Inc %brojac%
^!Continue Da dalje stavljam brojeve? 
^!Goto brojenje

Medjutim, onaj tekst oznacavam radeci pretezno u emacsu. Pocelo me zato muciti kako bi se ista stvar mogla raditi tamo. Emacs hoce da mu pisem Lisp program. Uf. Nije bilo lako, mogu vam reci. Eto rezultata:

(defun brojalo()
"Dodaje obrojcavanje na mjesto %% stringa."
(interactive)
(setq broj 1)
(while (re-search-forward "%%" nil t)
    (replace-match (number-to-string broj) nil t)
(setq broj (1+ broj))))

Puno su mi pomogla dva teksta, oba dostupna na mrezi: