--- On Mon, 1/12/09, sebacyp wrote:

[...]

> Cxu iu uzas Vim-on por redakti ReVo dosierojn?

Mi uzas Emakson -- sed mi supozas, ke eblas adapti mian pakaĵon
ankaŭ por Vim.

> Eble tiu havas makroojn kiuj sxangxas liter-entojn al utf-8 literojn
> cxe dosiermalfermo kaj reen cxe gxia fermo?

Eble vi povus ekstrakti la asoci-tabelon el mia pakaĵo tiucela
(kunsendata) por viaj bezonoj.

-- 
Sergio




      
; -*- coding: utf-8 -*-
(defvar sgml-list
      '(
        (?½ . "½")
        (?Ĉ . "Ĉ") (?ĉ . "ĉ")
        (?Ĝ . "Ĝ") (?ĝ . "ĝ")
        (?Ĥ . "Ĥ") (?Ä¥ . "ĥ")
        (?Ä´ . "Ĵ") (?ĵ . "ĵ")
        (?Ŝ . "Ŝ") (?ŝ . "ŝ")
        (?Ŭ . "Ŭ") (?Å­ . "ŭ")
        (?Á . "Á") (?á . "á")
        (? . "Â") (?â . "â")
        (?À . "À") (?à . "à")
        (?Å . "Å") (?Ã¥ . "å")
        (?Ã . "Ã") (?ã . "ã")
        (?Ä . "Ä") (?ä . "ä")
        (?Ç . "Ç") (?ç . "ç")
        (?É . "É") (?é . "é")
        (?Ê . "Ê") (?ê . "ê")
        (?È . "È") (?è . "è")
        (?Ë . "Ë") (?ë . "ë")
        (?Í . "Í") (?í . "í")
        (?Î . "Î") (?î . "î")
        (?Ì . "Ì") (?ì . "ì")
        (?Ï . "Ï") (?ï . "ï")
        (?Ñ . "Ñ") (?ñ . "ñ")
        (?Ó . "Ó") (?ó . "ó")
        (?Ô . "Ô") (?ô . "ô")
        (?Ò . "Ò") (?ò . "ò")
        (?Õ . "Õ")
        (?Ö . "Ö") (?ö . "ö")
        (?Ø . "Ø") (?ø . "ø")
        (?× . "×")
        (?ß . "ß")
        (?Ú . "Ú") (?ú . "ú")
        (?Û . "Û") (?û . "û")
        (?Ù . "Ù") (?ù . "ù")
        (?Ü . "Ü") (?ü . "ü")

  (?Č . "Č") (?č . "č")
  (?Å  . "Š") (?Å¡ . "š")
  (?Ř . "Ř") (?ř . "ř")
  (?Ý . "Ý") (?ý . "ý")
  (?Ž . "Ž") (?ž . "ž")
  (?Å» . "Ż")   (?ż . "ż")
  (?Ň . "Ň") (?ň . "ň")
  (?Ě . "Ě") (?ě . "ě")
  (?Ď . "Ď") (?ď . "ď")
  (?Ť . "Ť") (?Å¥ . "ť")    
  (?Ą . "&Aogonek;") (?ą . "&aogonek;")
  (?Ł . "&Lstroke;") (?ł . "&lstroke;")
  (?Ę . "&Eogonek;") (?ę . "&eogonek;")
  (?Ć . "Ć") (?ć . "ć")
  (?Ń . "Ń") (?ń . "ń")
  (?Ś . "Ś") (?ś . "ś")
  (?Ź . "Ź") (?ź . "ź")

  (?Ğ . "Ğ") (?ğ . "ğ")
  (?ı . "ı") (?İ . "İ")
  (?Ş . "Ş") (?ş . "ş")

  (?Ő . "Ő") (?ő . "ő") 
  (?Ű . "Ű") (?ű . "ű")

  (?§ . "¶")
  (?² . "&quadrat;") (?³ . "&cubic;")
  (?° . "˚")
  (?« . "&leftquot;") (?» . "&rightquot;")
  (?№ . "№")

        (?Ю . "&c_Ju;")		         (?ю . "&c_ju;")    
        (?А . "&c_A;")                   (?а . "&c_a;")     
        (?Б . "&c_B;")                   (?б . "&c_b;")     
        (?Ц . "&c_C;")                   (?ц . "&c_c;")     
        (?Д . "&c_D;")                   (?д . "&c_d;")     
        (?Е . "&c_Je;")                  (?е . "&c_je;")    
        (?Ё . "&c_Jo;")                  (?ё . "&c_jo;")    
        (?Ф . "&c_F;")                   (?ф . "&c_f;")     
        (?Г . "&c_G;")                   (?г . "&c_g;")     
        (?Х . "&c_H;")                   (?х . "&c_h;")     
        (?И . "&c_I;")                   (?и . "&c_i;")     
        (?Й . "&c_J;")                   (?й . "&c_j;")     
        (?К . "&c_K;")                   (?к . "&c_k;")     
        (?Л . "&c_L;")                   (?л . "&c_l;")     
        (?М . "&c_M;")                   (?м . "&c_m;")     
        (?Н . "&c_N;")                   (?н . "&c_n;")     
        (?О . "&c_O;")                   (?о . "&c_o;")     
        (?П . "&c_P;")                   (?п . "&c_p;")     
        (?Я . "&c_Ja;")                  (?я . "&c_ja;")    
        (?Р . "&c_R;")                   (?р . "&c_r;")     
        (?С . "&c_S;")                   (?с . "&c_s;")     
        (?Т . "&c_T;")                   (?т . "&c_t;")     
        (?У . "&c_U;")                   (?у . "&c_u;")     
        (?Ж . "&c_Zh;")                  (?ж . "&c_zh;")    
        (?В . "&c_V;")                   (?в . "&c_v;")     
        (?Ь . "&c_Mol;")                 (?ь . "&c_mol;")   
        (?Ы . "&c_Y;")                   (?ы . "&c_y;")     
        (?З . "&c_Z;")                   (?з . "&c_z;")     
        (?Ш . "&c_Sh;")                  (?ш . "&c_sh;")    
        (?Э . "&c_E;")                   (?э . "&c_e;")     
        (?Щ . "&c_Shch;")                (?щ . "&c_shch;")  
        (?Ч . "&c_Ch;")                  (?ч . "&c_ch;")    
                                         (?ъ . "&c_malmol;")        
        (?І . "&c_Ib;")                  (?і . "&c_ib;")    
        (?Ў . "&c_W;")                   (?ў . "&c_w;")    

(?Α . "&Alfa;") (?α . "&alfa;")
(?á½± . "&alfa_acute;") (?á¾» . "&Alfa_acute;")
(?á¾´ . "&alfa_acute_subj;")
(?ᾰ . "&alfa_breve;") (?Ᾰ . "&Alfa_breve;")
(?á¾¶ . "&alfa_circ;") (?á¾· . "&alfa_circ_subj;")
(?ἁ . "&alfa_densa;") (?Ἁ . "&Alfa_densa;")
(?ἅ . "&alfa_densa_acute;") (?Ἅ . "&Alfa_densa_acute;")
(?ᾅ . "&alfa_densa_acute_subj;") (?ᾍ . "&Alfa_densa_acute_Subj;")
(?ἇ . "&alfa_densa_circ;") (?Ἇ . "&Alfa_densa_circ;")
(?ᾇ . "&alfa_densa_circ_subj;") (?ᾏ . "&Alfa_densa_circ_Subj;")
(?ἃ . "&alfa_densa_grave;") (?Ἃ . "&Alfa_densa_grave;")
(?ᾃ . "&alfa_densa_grave_subj;") (?ᾋ . "&Alfa_densa_grave_Subj;")
(?ᾁ . "&alfa_densa_subj;") (?ᾉ . "&Alfa_densa_Subj;")
(?ὰ . "&alfa_grave;") (?Ὰ . "&Alfa_grave;") (?ᾲ . "&alfa_grave_subj;")
(?á¾± . "&alfa_makron;") (?á¾¹ . "&Alfa_makron;")
(?ἀ . "&alfa_psili;") (?Ἀ . "&Alfa_psili;")
(?ἄ . "&alfa_psili_acute;") (?Ἄ . "&Alfa_psili_acute;")
(?ᾄ . "&alfa_psili_acute_subj;") (?ᾌ . "&Alfa_psili_acute_Subj;")
(?ἆ . "&alfa_psili_circ;") (?Ἆ . "&Alfa_psili_circ;")
(?ᾆ . "&alfa_psili_circ_subj;") (?ᾎ . "&Alfa_psili_circ_Subj;")
(?ἂ . "&alfa_psili_grave;") (?Ἂ . "&Alfa_psili_grave;")
(?ᾂ . "&alfa_psili_grave_subj;") (?ᾊ . "&Alfa_psili_grave_Subj;")
(?ᾀ . "&alfa_psili_subj;") (?ᾈ . "&Alfa_psili_Subj;")
(?á¾³ . "&alfa_subj;") (?á¾¼ . "&Alfa_Subj;")
(?Ά . "&Alfa_ton;") (?ά . "&alfa_ton;")

(?Β . "Β") (?β . "β")

(?Γ . "Γ") (?γ . "γ")

(?Δ . "Δ") (?δ . "δ")

(?Ε . "Ε") (?ε . "ε")
(?έ . "&epsilon_acute;") (?Έ . "&Epsilon_acute;")
(?ἑ . "&epsilon_densa;") (?Ἑ . "&Epsilon_densa;")
(?ἕ . "&epsilon_densa_acute;") (?Ἕ . "&Epsilon_densa_acute;")
(?ἓ . "&epsilon_densa_grave;") (?Ἓ . "&Epsilon_densa_grave;")
(?ὲ . "&epsilon_grave;") (?Ὲ . "&Epsilon_grave;")
(?ἐ . "&epsilon_psili;") (?Ἐ . "&Epsilon_psili;")
(?ἔ . "&epsilon_psili_acute;") (?Ἔ . "&Epsilon_psili_acute;")
(?ἒ . "&epsilon_psili_grave;") (?Ἒ . "&Epsilon_psili_grave;")
(?Έ . "&Epsilon_ton;") (?έ . "&epsilon_ton;")

(?Ζ . "Ζ") (?ζ . "ζ")

(?Η . "Η") (?η . "η")
(?ή . "&eta_acute;") (?Ή . "&Eta_acute;") (?ῄ . "&eta_acute_subj;")
(?ῆ . "&eta_circ;") (?ῇ . "&eta_circ_subj;")
(?ἡ . "&eta_densa;") (?Ἡ . "&Eta_densa;")
(?á¼¥ . "&eta_densa_acute;") (?á¼­ . "&Eta_densa_acute;")
(?ᾕ . "&eta_densa_acute_subj;") (?ᾝ . "&Eta_densa_acute_Subj;")
(?ἧ . "&eta_densa_circ;") (?Ἧ . "&Eta_densa_circ;")
(?ᾗ . "&eta_densa_circ_subj;") (?ᾟ . "&Eta_densa_circ_Subj;")
(?ἣ . "&eta_densa_grave;") (?Ἣ . "&Eta_densa_grave;")
(?ᾓ . "&eta_densa_grave_subj;") (?ᾛ . "&Eta_densa_grave_Subj;")
(?ᾑ . "&eta_densa_subj;") (?ᾙ . "&Eta_densa_Subj;")
(?ὴ . "&eta_grave;") (?Ὴ . "&Eta_grave;") (?ῂ . "&eta_grave_subj;")
(?ἠ . "&eta_psili;") (?Ἠ . "&Eta_psili;")
(?ἤ . "&eta_psili_acute;") (?Ἤ . "&Eta_psili_acute;")
(?ᾔ . "&eta_psili_acute_subj;") (?ᾜ . "&Eta_psili_acute_Subj;")
(?ἦ . "&eta_psili_circ;") (?Ἦ . "&Eta_psili_circ;")
(?ᾖ . "&eta_psili_circ_subj;") (?ᾞ . "&Eta_psili_circ_Subj;")
(?ἢ . "&eta_psili_grave;") (?Ἢ . "&Eta_psili_grave;")
(?ᾒ . "&eta_psili_grave_subj;") (?ᾚ . "&Eta_psili_grave_Subj;")
(?ᾐ . "&eta_psili_subj;") (?ᾘ . "&Eta_psili_Subj;")
(?ῃ . "&eta_subj;") (?ῌ . "&Eta_Subj;")
(?Ή . "&Eta_ton;") (?ή . "&eta_ton;")

(?Θ . "Θ") (?θ . "θ")

(?Ι . "&Jota;") (?ι . "&jota;")
(?ί . "&jota_acute;") (?Ί . "&Jota_acute;")
(?ῐ . "&jota_breve;") (?Ῐ . "&Jota_breve;")
(?ῖ . "&jota_circ;")
(?á¼± . "&jota_densa;") (?á¼¹ . "&Jota_densa;")
(?á¼µ . "&jota_densa_acute;") (?á¼½ . "&Jota_densa_acute;")
(?ἷ . "&jota_densa_circ;") (?Ἷ . "&Jota_densa_circ;")
(?á¼³ . "&jota_densa_grave;") (?á¼» . "&Jota_densa_grave;")
(?ὶ . "&jota_grave;") (?Ὶ . "&Jota_grave;")
(?ῑ . "&jota_makron;") (?Ῑ . "&Jota_makron;")
(?ἰ . "&jota_psili;") (?Ἰ . "&Jota_psili;")
(?á¼´ . "&jota_psili_acute;") (?á¼¼ . "&Jota_psili_acute;")
(?á¼¶ . "&jota_psili_circ;") (?á¼¾ . "&Jota_psili_circ;")
(?ἲ . "&jota_psili_grave;") (?Ἲ . "&Jota_psili_grave;")
(?Ί . "&Jota_ton;") (?ί . "&jota_ton;")
(?Ϊ . "&Jota_trema;") (?ϊ . "&jota_trema;")
(?ΐ . "&jota_trema_acute;")
(?ῗ . "&jota_trema_circ;")
(?ῒ . "&jota_trema_grave;")
(?ΐ . "&jota_trema_ton;")

(?Κ . "Κ") (?κ . "κ")
(?Λ . "Λ") (?λ . "λ")
(?Μ . "&My;") (?μ . "&my;")
(?Ν . "&Ny;") (?ν . "&ny;")
(?Ξ . "Ξ") (?ξ . "ξ")

(?Ο . "&Omikron;") (?ο . "&omikron;")
(?ό . "&omikron_acute;") (?Ό . "&Omikron_acute;")
(?ὁ . "&omikron_densa;") (?Ὁ . "&Omikron_densa;")
(?ὅ . "&omikron_densa_acute;") (?Ὅ . "&Omikron_densa_acute;")
(?ὃ . "&omikron_densa_grave;") (?Ὃ . "&Omikron_densa_grave;")
(?ὸ . "&omikron_grave;") (?Ὸ . "&Omikron_grave;")
(?ὀ . "&omikron_psili;") (?Ὀ . "&Omikron_psili;")
(?ὄ . "&omikron_psili_acute;") (?Ὄ . "&Omikron_psili_acute;")
(?ὂ . "&omikron_psili_grave;") (?Ὂ . "&Omikron_psili_grave;")
(?Ό . "&Omikron_ton;") (?ό . "&omikron_ton;")

(?Π . "Π") (?π . "π")

(?Ρ . "Ρ") (?ρ . "ρ")
(?ῥ . "&rho_densa;") (?Ῥ . "&Rho_densa;")
(?ῤ . "&rho_psili;")

(?Σ . "Σ") (?σ . "σ") (?ς . "&sigma_fina;")

(?Τ . "Τ") (?τ . "τ")

(?Υ . "&Ypsilon;") (?υ . "&ypsilon;")
(?á½» . "&ypsilon_acute;") (?á¿« . "&Ypsilon_acute;")
(?ῠ . "&ypsilon_breve;") (?Ῠ . "&Ypsilon_breve;")
(?ῦ . "&ypsilon_circ;")
(?ὑ . "&ypsilon_densa;") (?Ὑ . "&Ypsilon_densa;")
(?ὕ . "&ypsilon_densa_acute;") (?Ὕ . "&Ypsilon_densa_acute;")
(?ὗ . "&ypsilon_densa_circ;") (?Ὗ . "&Ypsilon_densa_circ;")
(?ὓ . "&ypsilon_densa_grave;") (?Ὓ . "&Ypsilon_densa_grave;")
(?ὺ . "&ypsilon_grave;") (?Ὺ . "&Ypsilon_grave;")
(?á¿¡ . "&ypsilon_makron;") (?á¿© . "&Ypsilon_makron;")
(?ὐ . "&ypsilon_psili;")
(?ὔ . "&ypsilon_psili_acute;")
(?ὖ . "&ypsilon_psili_circ;")
(?ὒ . "&ypsilon_psili_grave;")
(?Ύ . "&Ypsilon_ton;") (?ύ . "&ypsilon_ton;")
(?Ϋ . "&Ypsilon_trema;") (?ϋ . "&ypsilon_trema;")
(?á¿£ . "&ypsilon_trema_acute;")
(?á¿§ . "&ypsilon_trema_circ;")
(?á¿¢ . "&ypsilon_trema_grave;")
(?ΰ . "&ypsilon_trema_ton;")

(?Φ . "Φ") (?φ . "φ")
(?Χ . "Χ") (?χ . "χ")
(?Ψ . "Ψ") (?ψ . "ψ")

(?Ω . "Ω") (?ω . "ω")
(?á½½ . "&omega_acute;") (?á¿» . "&Omega_acute;")
(?á¿´ . "&omega_acute_subj;")
(?á¿¶ . "&omega_circ;") (?á¿· . "&omega_circ_subj;")
(?ὡ . "&omega_densa;") (?Ὡ . "&Omega_densa;")
(?á½¥ . "&omega_densa_acute;") (?á½­ . "&Omega_densa_acute;")
(?á¾¥ . "&omega_densa_acute_subj;") (?á¾­ . "&Omega_densa_acute_Subj;")
(?ὧ . "&omega_densa_circ;") (?Ὧ . "&Omega_densa_circ;")
(?ᾧ . "&omega_densa_circ_subj;") (?ᾯ . "&Omega_densa_circ_Subj;")
(?ὣ . "&omega_densa_grave;") (?Ὣ . "&Omega_densa_grave;")
(?ᾣ . "&omega_densa_grave_subj;") (?ᾫ . "&Omega_densa_grave_Subj;")
(?ᾡ . "&omega_densa_subj;") (?ᾩ . "&Omega_densa_Subj;")
(?ὼ . "&omega_grave;") (?Ὼ . "&Omega_grave;")
(?ῲ . "&omega_grave_subj;")
(?ὠ . "&omega_psili;") (?Ὠ . "&Omega_psili;")
(?ὤ . "&omega_psili_acute;") (?Ὤ . "&Omega_psili_acute;")
(?ᾤ . "&omega_psili_acute_subj;") (?ᾬ . "&Omega_psili_acute_Subj;")
(?ὦ . "&omega_psili_circ;") (?Ὦ . "&Omega_psili_circ;")
(?ᾦ . "&omega_psili_circ_subj;") (?ᾮ . "&Omega_psili_circ_Subj;")
(?ὢ . "&omega_psili_grave;") (?Ὢ . "&Omega_psili_grave;")
(?ᾢ . "&omega_psili_grave_subj;") (?ᾪ . "&Omega_psili_grave_Subj;")
(?ᾠ . "&omega_psili_subj;") (?ᾨ . "&Omega_psili_Subj;")
(?ῳ . "&omega_subj;") (?ῼ . "&Omega_Subj;")
(?Ώ . "&Omega_ton;") (?ώ . "&omega_ton;")

(?א . "&alef;")			; 05d0 
(?ב . "&bet;")			; 05d1 
(?ג . "ℷ")		; 05d2 
(?ד . "&dalet;")		; 05d3 
(?ה . "&he;")			; 05d4 
(?ו . "&vav;")			; 05d5 
(?ז . "&zayin;")		; 05d6 
(?ח . "&het;")			; 05d7 
(?ט . "&tet;")			; 05d8 
(?י . "&yod;")			; 05d9 
(?ך . "&fkaf;")		; ;05da
(?כ . "&kaf;")			; 05db 
(?ל . "&lamed;")                 ; 05dc 
(?ם . "&fmem;")		; ;05dd
(?מ . "&mem;")			; 05de 
(?ן . "&fnun;")		; ;05df
(?×  . "&nun;")			; 05e0 
(?ס . "&samekh;")		; 05e1 
(?×¢ . "&ayin;")			; 05e2 
(?×£ . "&fpe;")		; ;05e3
(?פ . "&pe;")			; 05e4 
(?×¥ . "&ftsadi;")		; ;05e5
(?צ . "&tsadi;")		; 05e6 
(?×§ . "&qof;")			; 05e7 
(?ר . "&resh;")			; 05e8 
(?ש . "&shin;")			; 05e9 
(?ת . "&tav;")			; 05ea 

))

;(defvar cyr-uni "ЁЂЃЄЅІЇЈЉЊЋЌЍЎЏ\
;АБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ\
;абвгдежзийклмнопрстуфхцчшщъыьэюя\
;ѐёђѓєѕіїјљњћќѝўџ")
;
;(defun >hex-cyr (char)
;  (cond
;   ((>= char ?Ё)
;    (progn
;      (delete-char 1)
;      (insert (format "&#x%x;"
;                      (- char (if (< char ?р) (- ?Ё 1025)
;                                (- ?р 1088))
;                      )
;              )
;      )))
;   (t (error "Mankas sgml por %c" char))
;))

(defun >& () "Translate UTF-8 region into the XML &-notation."
  (interactive)
  (let* ((beg (point-min))
	 (end (or (search-forward "</art>" nil t) (point-max)))
         (coding buffer-file-coding-system))
    (if (or (not coding)
            (eq (coding-system-type coding) t))
        (setq coding default-buffer-file-coding-system))
    (save-excursion
      (goto-char beg)
      (while (re-search-forward "---" nil t)
        (replace-match "&dash;" t t))
      (goto-char beg)
      (while (re-search-forward "\\>--\\<" nil t)
        (replace-match "&ndash;" t t))

      (goto-char end)
      (while (> (point) beg)
        (forward-char -1)
        (setq end (point))
        (let ((char (following-char)))
          (if (>= char 128)
              (progn
                 (let ((sgm (assoc char sgml-list)))
                   (if (null sgm)
		       (error "Nekonata kodono: <%c>, point=%d\n" char (point))
;                       (let ((ucs (char-to-ucs char)))
;                         (delete-char 1)
;                         (insert (format "&#x%X;" ucs)))
;;                       (>hex-cyr char)
                     (progn
                       (delete-char 1)
                       (insert (cdr sgm)))))
               (goto-char end))
            ))
          )
      )))


(defun &> () "Translate &entity => Unikodo in the region."
  (interactive)
  (let* ((beg (point-min))
	 (end (point-max))
         cxeno kodono)
    
    (save-excursion
      (goto-char (point-min))
      (while (re-search-forward "&#\\(x?\\)\\(\\w+\\);" nil t)
;         (setq kodono
;               (- (string-to-number
;                   (buffer-substring (match-beginning 2) (match-end 2))
;                   (if (= 0 (length (buffer-substring
;                                     (match-beginning 1) (match-end 1)))) 10 16))
;                  1025))
;         (if (and (>= kodono 0) (<= kodono 94))
;             (replace-match (substring cyr-uni kodono (1+ kodono)) t t)))

         (setq kodono
               (string-to-number
                   (buffer-substring (match-beginning 2) (match-end 2))
                   (if (= 0 (length (buffer-substring
                                     (match-beginning 1) (match-end 1)))) 10 16)))
;         (if (>= kodono 128)
;             (progn
;               (replace-match "" t t)
;               (insert-char (ucs-to-char kodono) 1)))
	 )

      ; === named entities:
      (goto-char (point-min))
      (while (re-search-forward "\\(&[a-z_]+;\\)" nil t)
	 (setq cxeno (buffer-substring (match-beginning 1) (match-end 1)))
	 (if (setq cxeno (rassoc cxeno sgml-list))
	     (replace-match (string (car cxeno)) t t)))
    )
  )
)

;===== Se vi uzas psgml-mode, la du sekvaj difinoj disponigos transkodadon
;      per la menuo:
;         Modify => Decode Character Entities
;         Modify => Encode Characters
(defadvice sgml-display-char-to-charent (around >revo activate)
    (>&))

(defadvice sgml-charent-to-display-char (around <revo activate)
  (progn
    (&>)
    (goto-char (point-min))
    (while (re-search-forward "\\(\n *\\)*<drv\\>" nil t)
      (replace-match "\n\n<drv" t t))
    (goto-char (point-min))
    (while (re-search-forward "<snc +num=\"[1-9]\">" nil t)
      (replace-match "<snc>" t t))
    (goto-char (point-min))
    (while (re-search-forward ": *<ekz>" nil t)
      (replace-match ":\n<ekz>" t t))
    (goto-char (point-min))
    (while (re-search-forward "<ekz>\\(.\\)" nil t)
      (replace-match "<ekz>\n\\1" t nil))
    (goto-char (point-min))
    (while (re-search-forward "</ekz> *\\(\n *\\)*<ekz>" nil t)
      (replace-match "</ekz><ekz>" t t))
    (goto-char (point-min))
    (while (re-search-forward "\n\n*<ekz>" nil t)
      (replace-match "\n<ekz>" t t))
    (goto-char (point-min))
    (indent-region (point-min) (point-max) nil)
    (let ((case-fold-search nil))
      (query-replace "k" "kaj" t))
))

(provide 'ent8)

Rispondere a