<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>FLLOG &#187; emacs</title> <atom:link href="http://www.michalklich.com/tag/emacs/feed/" rel="self" type="application/rss+xml" /><link>http://www.michalklich.com</link> <description>Fedora Linux Blog</description> <lastBuildDate>Wed, 01 Jun 2011 18:44:40 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0.4</generator> <item><title>devs y u no pep8 in Emacs</title><link>http://www.michalklich.com/2011/02/16/devs-y-u-no-pep8-in-emacs/</link> <comments>http://www.michalklich.com/2011/02/16/devs-y-u-no-pep8-in-emacs/#comments</comments> <pubDate>Wed, 16 Feb 2011 20:19:15 +0000</pubDate> <dc:creator>Michał</dc:creator> <category><![CDATA[emacs]]></category> <category><![CDATA[programowanie]]></category> <category><![CDATA[python]]></category> <category><![CDATA[pep8]]></category> <category><![CDATA[pyflakes]]></category><guid
isPermaLink="false">http://www.michalklich.com/?p=1004</guid> <description><![CDATA[Tytuł dosyć niezrozumiały ale w luźnym tłumaczeniu jest to pytanie &#8222;dlaczego nie używasz pep8 w Emacsie?&#8221;. Czym jest pep8? Jest to lista zaleceń odnośnie stylu kodowania. Tak, zgadza się, są to zalecenia więc nie są przymusowe ale na tyle logiczne oraz przemyślane, że warto je stosować. W końcu standaryzacja to nie jest nic złego jeśli [...]<p><a
href="http://www.michalklich.com/2011/02/16/devs-y-u-no-pep8-in-emacs/">devs y u no pep8 in Emacs</a> to wpis z <a
href="http://www.michalklich.com">FLLOGa</a></p> ]]></description> <content:encoded><![CDATA[<p>Tytuł dosyć niezrozumiały ale w luźnym tłumaczeniu jest to pytanie &#8222;dlaczego nie używasz pep8 w Emacsie?&#8221;. Czym jest pep8? Jest to <a
href="http://www.python.org/dev/peps/pep-0008/">lista zaleceń</a> odnośnie stylu kodowania. Tak, zgadza się, są to zalecenia więc nie są przymusowe ale na tyle logiczne oraz przemyślane, że warto je stosować. W końcu standaryzacja to nie jest nic złego jeśli jest stosowana z umiarem oraz w odpowiednim miejscu. Jeśli interesuje Cię implementacja sprawdzania składni pod kątem pep8 w locie w Emacsie to czytaj dalej.<span
id="more-1004"></span><br
/> Wpis ten nie powstałby gdybym nie zmobilizował się lub nie został zmobilizowany do ustawienia sobie emacsa pod pep8. Aby ułatwić innym (oraz sobie bo mam tendencję do zapominania, potem sięgam do swojego bloga i voila) opiszę co trzeba zrobić aby cieszyć się pięknym kodem. Dla ludzi którzy wolą jednak nabywać wiedzę w tradycyjny sposób i reguły stosować klasycznie polecam <a
href="wwd.ca/stuff/pep8_cheat.pdf">ściągawkę</a> do wydrukowania. Przejdę do rzeczy. Potrzebujesz Emacsa a do niego pep8, pyflakes oraz flymake-cursor (to modyfikacja aby informacja o błędzie pojawiała się w minibuforze). Narzędzia pep8 oraz pyflakes łatwo zainstalować przy użyciu pipy.</p><pre class="brush: bash; title: ; notranslate">pip install pep8 pyflakes</pre><p>Natomiast <a
href="http://richardriley.net/projects/emacs/dotprogramming#sec-1.5.4">flymake-cursor</a> już trzeba ręcznie skopiować i zapisać jako flymake-cursor.el na ścieżce z plikami el. Ja zapisałem w /usr/share/emacs/site-lisp. Kolejny krok to modyfikacja pliku konfiguracyjnego .emacs. Należy dokleić do niego poniższy kod.</p><pre class="brush: plain; title: ; notranslate">(add-hook 'find-file-hook 'flymake-find-file-hook)
(when (load &quot;flymake&quot; t)
  (defun flymake-pyflakes-init ()
    (let* ((temp-file (flymake-init-create-temp-buffer-copy
               'flymake-create-temp-inplace))
       (local-file (file-relative-name
            temp-file
            (file-name-directory buffer-file-name))))
      (list &quot;pycheckers&quot;  (list local-file))))
   (add-to-list 'flymake-allowed-file-name-masks
             '(&quot;\\.py\\'&quot; flymake-pyflakes-init)))
(load-library &quot;flymake-cursor&quot;)
(global-set-key [f10] 'flymake-goto-prev-error)
(global-set-key [f11] 'flymake-goto-next-error)</pre><p>Ostatni krok to stworzyć plik o nazwie pycheckers gdzieś w PATH oraz ustawić go jako wykonywalny. W tym miejscu można skonfigurować sobie pep8, przydatne gdy wcięcia kodu nie są wielokrotnością 4.</p><pre class="brush: bash; title: ; notranslate">#!/bin/bash

pyflakes &quot;$1&quot;
pep8 --ignore=E221,E701,E202 --repeat &quot;$1&quot;
true</pre><p>Tyle wystarczy, pozostaje restart Emacsa lub M-x eval-buffer w otwartym buforze z plikiem .emacs i już można korzystać.<br
/> Całość to właściwie opis ze strony <a
href="http://www.saltycrane.com/blog/2010/05/my-emacs-python-environment/">http://www.saltycrane.com/blog/2010/05/my-emacs-python-environment/</a> i polecam zajrzeć do źródła gdzie można znaleźć parę innych smaczków do emacsa.</p><p><a
href="http://www.michalklich.com/2011/02/16/devs-y-u-no-pep8-in-emacs/">devs y u no pep8 in Emacs</a> to wpis z <a
href="http://www.michalklich.com">FLLOGa</a></p> ]]></content:encoded> <wfw:commentRss>http://www.michalklich.com/2011/02/16/devs-y-u-no-pep8-in-emacs/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Emacs, nxhtml, js-mode i haki</title><link>http://www.michalklich.com/2010/03/24/emacs-nxhtml-js-mode-i-haki/</link> <comments>http://www.michalklich.com/2010/03/24/emacs-nxhtml-js-mode-i-haki/#comments</comments> <pubDate>Wed, 24 Mar 2010 21:44:15 +0000</pubDate> <dc:creator>Michał</dc:creator> <category><![CDATA[linux]]></category> <category><![CDATA[programowanie]]></category> <category><![CDATA[emacs]]></category> <category><![CDATA[lisp]]></category> <category><![CDATA[nxhtml]]></category><guid
isPermaLink="false">http://www.michalklich.com/?p=706</guid> <description><![CDATA[Piszę w django czyli używam wielu języków w jednym pliku co pociąga za sobą konieczność korzystania z wielu trybów pracy emacsa. Zainstalowałem nxhtml ale miał on jakieś problemy z javascript-mode którego nie mógł odnaleźć.. Po paru minutach poszukiwań winnym okazał się brak pliku js.el (lub innego ale ja wybrałem sobie js.el bo tak twórcy nxhtml [...]<p><a
href="http://www.michalklich.com/2010/03/24/emacs-nxhtml-js-mode-i-haki/">Emacs, nxhtml, js-mode i haki</a> to wpis z <a
href="http://www.michalklich.com">FLLOGa</a></p> ]]></description> <content:encoded><![CDATA[<p>Piszę w django czyli używam wielu języków w jednym pliku co pociąga za sobą konieczność korzystania z wielu trybów pracy emacsa. Zainstalowałem nxhtml ale miał on jakieś problemy z javascript-mode którego nie mógł odnaleźć.. Po paru minutach poszukiwań winnym okazał się brak pliku js.el (lub innego ale ja wybrałem sobie js.el bo tak twórcy nxhtml sugerowali, jakoby js2-mode nie działał). Po instalacji wyżej wymienionego i otwarciu pliku z templatem django emacs wariował przy jakiejkolwiek próbie edycji kodu javascript. Całość zawieszała się a w dole pojawiał się napis &#8222;Fontyfing&#8221; i znikał. Możliwe było przerwanie tego przez ctrl + g ale nie zawsze działało i problem powracał bardzo szybko.</p><p><span
id="more-706"></span>Problemem okazał się nie świeżo zainstalowany plik js.el (chociaż może to błąd w nim spowodował takie problemy) a font-lock. Co zrobiłem to do pliku .emacs dodałem linijkę:</p><pre>(global-font-lock-mode 0)</pre><p>Uleczyło to emacsa ale ubiło kolorowanie składni. Co należało zrobić po tym to dołożyć haki (hooks) i włączyć font-lock dla poszczególnych trybów pracy. Np: dla python-mode</p><pre>(add-hook 'python-mode-hook 'turn-on-font-lock)</pre><p>Miłego korzystania z nxhtml.</p><p><a
href="http://www.michalklich.com/2010/03/24/emacs-nxhtml-js-mode-i-haki/">Emacs, nxhtml, js-mode i haki</a> to wpis z <a
href="http://www.michalklich.com">FLLOGa</a></p> ]]></content:encoded> <wfw:commentRss>http://www.michalklich.com/2010/03/24/emacs-nxhtml-js-mode-i-haki/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>W jednym domu stali Emacs, xdebug, httpd i SElinux</title><link>http://www.michalklich.com/2010/01/17/w-jednym-domu-stali-emacs-xdebug-httpd-i-selinux/</link> <comments>http://www.michalklich.com/2010/01/17/w-jednym-domu-stali-emacs-xdebug-httpd-i-selinux/#comments</comments> <pubDate>Sun, 17 Jan 2010 15:44:49 +0000</pubDate> <dc:creator>Michał</dc:creator> <category><![CDATA[open source]]></category> <category><![CDATA[programowanie]]></category> <category><![CDATA[emacs]]></category> <category><![CDATA[httpd]]></category> <category><![CDATA[selinux]]></category> <category><![CDATA[xdebug]]></category><guid
isPermaLink="false">http://www.michalklich.com/?p=657</guid> <description><![CDATA[Tak się dziwnie złożyło, że w pracy złożono mi propozycję grzebania w php. Jako zapalony użytkownik emacsa wiedziałem, że jest możliwość zaprzęgnięcia do pracy emacsa. Nawet wiedziałem, że da się debugować kod php w przyjemniejszy sposób niż var_dump(). Z pomocą przychodzi xdebug, który został mi polecony przez Matlasa. Instalację xdebuga pominę bo jest prosta jak [...]<p><a
href="http://www.michalklich.com/2010/01/17/w-jednym-domu-stali-emacs-xdebug-httpd-i-selinux/">W jednym domu stali Emacs, xdebug, httpd i SElinux</a> to wpis z <a
href="http://www.michalklich.com">FLLOGa</a></p> ]]></description> <content:encoded><![CDATA[<p>Tak się dziwnie złożyło, że w pracy złożono mi propozycję grzebania w php. Jako zapalony użytkownik emacsa wiedziałem, że jest możliwość zaprzęgnięcia do pracy emacsa. Nawet wiedziałem, że da się debugować kod php w przyjemniejszy sposób niż var_dump().</p><p>Z pomocą przychodzi xdebug, który został mi polecony przez <a
href="http://matlas.obsysa.net/">Matlasa</a>. Instalację xdebuga pominę bo jest prosta jak drut i można ją znaleźć w <a
href="http://xdebug.org/docs/install">dokumentacji</a>. Najważniejsza i najtrudniejsza rzecz to konfiguracja emacsa (jak zawsze zresztą).</p><p>A więc zaczynamy od instalacji <a
href="http://code.google.com/p/geben-on-emacs/">GEBEN`a</a>, następnie instalujemy <a
href="http://cedet.sourceforge.net/">CEDET</a>, otwieramy port 9000 na firewallu. Tak wyposażeni możemy zacząć debugowanie. Ale szczerze mówiąc nie piszę tego posta aby opisać jak skonfigurować emacsa do tego (chyba, że ktoś sobie zażyczy). Powodem dla którego piszę ten post jest SElinux, który blokuje port 9000 dla apache, oczywiście tylko jeśli mamy serwer lokalnie na komputerze.  Poniżej wybrane informacje z raportu SELinux.</p><blockquote><p>Summary:</p><p>SELinux is preventing /usr/sbin/httpd from connecting to port 9000.</p><p>Allowing Access:</p><p>If you want to allow httpd to connect to 9000, you can execute<br
/> semanage port -a -t PORT_TYPE -p tcp 9000<br
/> where PORT_TYPE is one of the following: http_port_t, ldap_port_t, dns_port_t,<br
/> mysqld_port_t, ocsp_port_t, postgresql_port_t, kerberos_port_t.</p></blockquote><p>Rozwiązanie jest proste a mianowicie</p><blockquote><p>semanage port -a -t http_port_t -p tcp 9000</p></blockquote><p>Restart apache`a. Koniec.</p><p><a
href="http://www.michalklich.com/2010/01/17/w-jednym-domu-stali-emacs-xdebug-httpd-i-selinux/">W jednym domu stali Emacs, xdebug, httpd i SElinux</a> to wpis z <a
href="http://www.michalklich.com">FLLOGa</a></p> ]]></content:encoded> <wfw:commentRss>http://www.michalklich.com/2010/01/17/w-jednym-domu-stali-emacs-xdebug-httpd-i-selinux/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> </channel> </rss>
<!-- Served from: www.michalklich.com @ 2012-02-04 10:46:12 by W3 Total Cache -->
