;;Ustawienia językowe
;;by paramah [ac@horisone.com]
(set-default-file-coding-system 'iso-8859-2)
(set-default-buffer-file-coding-system 'iso-8859-2)
(set-buffer-file-coding-system 'iso-8859-2 nil)
(set-buffer-file-coding-system-for-read 'iso-8859-2)
(load "~/.xemacs/polskie.el")
;;Automagiczne tworzenie plików HTML
(load "~/.xemacs/htm.el")
Pierwsze linijki set'y odpowiadają za ustawienie domyślnego kodowania na polskie iso2, jest z tym problem przy domyślej konfiguracji ponieważ emacs zapisując plik robi "krzaki", a otwarcie go porowduje wskoczenie emacsa w tryp RAW, co przy pisaniu polskich tekstów jest co najmniej upierdliwe :), ale powyższy konfig załatwia ten problem całkowicie.
(load "~/.xemacs/polskie.el")
W tym właśnie pliku mam definicje polskich znaków i przypisanych do nich klawiszy. Plik zaś wygląda następująco (został skopiowany z PLD;kowego emacs'a) i działa bez zarzutu (oczywiście na klasycznym PC'cie z domyslną klawiaturką).
;; Funkcje wstawiajace polskie litery
(defun insert-a-ogonek ()
(interactive "*")
(insert 305) ;; ą
)
(defun insert-c-acute ()
(interactive "*")
(insert 358) ;; ć
)
(defun insert-e-ogonek ()
(interactive "*")
(insert 362) ;; ę
)
(defun insert-l-slash ()
(interactive "*")
(insert 307) ;; ł
)
(defun insert-n-acute ()
(interactive "*")
(insert 369) ;; ń
)
(defun insert-o-acute ()
(interactive "*")
(insert 371) ;; ó
)
(defun insert-s-acute ()
(interactive "*")
(insert 310) ;; ś
)
(defun insert-z-acute ()
(interactive "*")
(insert 316) ;; ź
)
(defun insert-z-dot ()
(interactive "*")
(insert 319) ;; ż
)
(defun insert-A-ogonek ()
(interactive "*")
(insert 289) ;; Ą
)
(defun insert-C-acute ()
(interactive "*")
(insert 326) ;; Ć
(defun insert-E-ogonek ()
(interactive "*")
(insert 330) ;; Ę
)
(defun insert-L-slash ()
(interactive "*")
(insert 291) ;; Ł
)
(defun insert-N-acute ()
(interactive "*")
(insert 337) ;; Ń
)
(defun insert-O-acute ()
(interactive "*")
(insert 339) ;; Ó
)
(defun insert-S-acute ()
(interactive "*")
(insert 294) ;; Ś
)
(defun insert-Z-acute ()
(interactive "*")
(insert 300) ;; Ź
)
(defun insert-Z-dot ()
(interactive "*")
(insert 303) ;; Ż
)
(global-set-key (quote [aogonek]) (quote insert-a-ogonek))
(global-set-key (quote [Aogonek]) (quote insert-A-ogonek))
(global-set-key (quote [cacute]) (quote insert-c-acute))
(global-set-key (quote [Cacute]) (quote insert-C-acute))
(global-set-key (quote [eogonek]) (quote insert-e-ogonek))
(global-set-key (quote [Eogonek]) (quote insert-E-ogonek))
(global-set-key (quote [lstroke]) (quote insert-l-slash))
(global-set-key (quote [Lstroke]) (quote insert-L-slash))
(global-set-key (quote [nacute]) (quote insert-n-acute))
(global-set-key (quote [Nacute]) (quote insert-N-acute))
(global-set-key (quote [oacute]) (quote insert-o-acute))
(global-set-key (quote [Oacute]) (quote insert-O-acute))
(global-set-key (quote [sacute]) (quote insert-s-acute))
(global-set-key (quote [Sacute]) (quote insert-S-acute))
(global-set-key (quote [zacute]) (quote insert-z-acute))
(global-set-key (quote [Zacute]) (quote insert-Z-acute))
(global-set-key (quote [zabovedot]) (quote insert-z-dot))
(global-set-key (quote [Zabovedot]) (quote insert-Z-dot))
(global-set-key (quote [?\M-`]) (quote set-justification-left))
Jakoże lubię automatyzować sobie życie, a często piszę jakieś stronki - to należało coś zrobić z tworzeniem kodu htmlowego żebu nie kopiować i wstawiać co raz tego samego. Za tą czynność odpowiada linijka:
;;Automagiczne tworzenie plików HTML
(load "~/.xemacs/htm.el")
Zaś plik htm.el wygląda tak:
(setq html-helper-htmldtd-version "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\n")
(setq html-helper-new-buffer-template
'(html-helper-htmldtd-version
"<html Lang=Pl>\n"
" <head>\n"
" <title>" (p "Document Title: " title) "</title>\n"
" <meta http-equiv=\"Content-type\" content=\"text/html; charset=iso-8859-2\">\n"
" <meta name=\"keywords\" content=\""(p "Document keywords:" keywords)"\">\n"
" <meta name=\"description\" content=\""(p "Document description:" desc)"\">\n"
" <meta name=\"robots\" content=\"all\">\n"
" <meta name=\"revisit-after\" content=\"1 days\">\n"
" </head>>\n"
" <body>\n"
" <h2>" (s title) "</h2>\n\n"
p
"\n\n <hr>\n"
" <address> <a href=\"mailto:ac@horisone.com\">Aleksander \"paramah\" Cynarski</a></address>\n"
" <address> <a href=\"http://sander.eu.org\">http://sander.eu.org</a></address>\n"
(html-helper-return-created-string)
html-helper-timestamp-start
html-helper-timestamp-end
"\n \n