<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Русская планета Emacs</title>
	<link rel="self" href="http://planet.emacsen.org/ru/atom.xml"/>
	<link href="http://planet.emacsen.org/ru/"/>
	<id>http://planet.emacsen.org/ru/atom.xml</id>
	<updated>2012-02-05T03:03:17+00:00</updated>
	<generator uri="http://www.planetplanet.org/">http://intertwingly.net/code/venus/</generator>

	<entry>
		<title type="html" xml:lang="ru">Emacs@Habrahabr: Linux для всех / Небольшой лайфхак с редактированием буфера обмена</title>
		<link href="http://habrahabr.ru/blogs/linux/136849/"/>
		<id>http://habrahabr.ru/blogs/linux/136849/</id>
		<updated>2012-01-23T17:38:15+00:00</updated>
		<content type="html">Я часто сталкиваюсь с такой ситуацией: пишу себе спокойно текст &lt;i&gt;в чем-то&lt;/i&gt; (скажем, письмо в веб-интерфейсе гмейла), и вдруг, в какой-то момент возникает необходимость что-то переделать… и случается &lt;i&gt;раздражение&lt;/i&gt;. Случается оно от того что редактирование в браузере (да и много где еще) не предполагает некоторых привычных для программиста удобств, вроде автоматической замены, регулярных выражений и макросов. При этом, вроде бы и не сложно скопировать текст в буфер и отредактировать его в &lt;i&gt;правильном редакторе&lt;/i&gt; (Vim, Emacs, ...), но очень уж не хочется отрываться от контекста и совершать какие-то телодвижения, отвлекающие от текущей задачи… И вот, я уже расставляю отступы (нумерую список, заменяю слово, ...) вручную — результат достигнут, да и времени потрачено совсем не много, но осадочек остался…&lt;br /&gt;
&lt;br /&gt;
Знакомая ситуация? Если ответ «да», в вашей операционной системе работает bash и ваша первая ассоциация к слову «редактор» это не «Microsoft Office» значит нам есть что обсудить под катом :)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;habracut&quot;&gt; &lt;a class=&quot;habracut&quot; href=&quot;http://habrahabr.ru/blogs/linux/136849/#habracut&quot;&gt;Читать дальше →&lt;/a&gt; &lt;/div&gt;</content>
		<author>
			<name>asmolianinov</name>
			<uri>http://habrahabr.ru/rss/tag/emacs/</uri>
		</author>
		<source>
			<title type="html">Хабрахабр:  Метки / emacs</title>
			<link rel="self" href="http://habrahabr.ru/rss/tag/emacs/"/>
			<id>http://habrahabr.ru/rss/tag/emacs/</id>
		</source>
	</entry>

	<entry>
		<title type="html">kashnikov: Говорим и пишем правильно</title>
		<link href="http://kashnikov.livejournal.com/59643.html"/>
		<id>urn:lj:livejournal.com:atom1:kashnikov:59643</id>
		<updated>2012-01-19T15:31:29+00:00</updated>
		<content type="html">Расширение writegood-mode [1] для Emacs помогает аспирантам избежать распространенных стилистических ошибок. Это расширение основано на советах и скриптах от Мэта Майта (Matt Might) [2]. &lt;br /&gt;&lt;br /&gt;________________________&lt;br /&gt;[1] &lt;a href=&quot;https://github.com/bnbeckwith/writegood-mode&quot; rel=&quot;nofollow&quot;&gt;https://github.com/bnbeckwith/writegood-mode&lt;/a&gt;&lt;br /&gt;[2] &lt;a href=&quot;http://matt.might.net/articles/shell-scripts-for-passive-voice-weasel-words-duplicates/&quot; rel=&quot;nofollow&quot;&gt;http://matt.might.net/articles/shell-scripts-for-passive-voice-weasel-words-duplicates/&lt;/a&gt;</content>
		<author>
			<name>Et ipsa scientia potestas est.</name>
			<uri>http://kashnikov.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Veritas vos liberabit</title>
			<subtitle type="html">Scientia est lux lucis</subtitle>
			<link rel="self" href="http://kashnikov.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:kashnikov</id>
		</source>
	</entry>

	<entry>
		<title type="html" xml:lang="ru">Emacs@Habrahabr: Персональные блоги / «Жизнь» Конвея из каждой буквы, только в Emacs!</title>
		<link href="http://habrahabr.ru/blogs/personal/136597/"/>
		<id>http://habrahabr.ru/blogs/personal/136597/</id>
		<updated>2012-01-19T14:00:23+00:00</updated>
		<content type="html">&lt;h4&gt;Одним рабочим декабрьским вечером&lt;/h4&gt;&lt;br /&gt;
&lt;br /&gt;
Все мы так или иначе сталкивались с &lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%96%D0%B8%D0%B7%D0%BD%D1%8C_(%D0%B8%D0%B3%D1%80%D0%B0)&quot;&gt;игрой&lt;strong&gt; «Жизнь»&lt;/strong&gt; Конвея&lt;/a&gt;. Кто-то писал сам, кто-то смотрел и дивился, кто-то играл…&lt;br /&gt;
&lt;br /&gt;
Под новый год, сидя с коллегой за одним компом и решая какую-то проблемку в конце рабочего дня, мы немного отошли от проблемы и как-то дело свелось к &lt;strong&gt;M-x life&lt;/strong&gt; (мы оба пользуемся Emacs), &amp;amp;emdash кто не знаком с Emacs — это команда запуска игрушки «Жизнь» в Emacs.&lt;br /&gt;
&lt;br /&gt;
&lt;h5&gt;Стандартное неинтересно&lt;/h5&gt;&lt;br /&gt;
&lt;br /&gt;
Вроде бы о чем тут говорить. Да вот только реализация в Emacs имеет около 10 «вшитых» начальных позиции, которые мягко говоря неинтересны.&lt;br /&gt;
&lt;br /&gt;
Вы знаете, что:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;blockquote&gt;Конвей первоначально предположил, что никакая начальная комбинация не может привести к неограниченному размножению и предложил премию в 50 долларов тому, кто докажет или опровергнет эту гипотезу.&lt;/blockquote&gt; — &lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%96%D0%B8%D0%B7%D0%BD%D1%8C_(%D0%B8%D0%B3%D1%80%D0%B0)#.D0.A4.D0.B8.D0.B3.D1.83.D1.80.D1.8B&quot;&gt;цитата из Wikipedia;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;blockquote&gt;К настоящему времени более-менее сложилась следующая классификация фигур:&lt;/blockquote&gt; — &lt;a href=&quot;http://ru.wikipedia.org/wiki/%D0%96%D0%B8%D0%B7%D0%BD%D1%8C_(%D0%B8%D0%B3%D1%80%D0%B0)#.D0.A4.D0.B8.D0.B3.D1.83.D1.80.D1.8B&quot;&gt;цитата из Wikipedia;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Emacs — это &lt;a href=&quot;http://ru.wikipedia.org/wiki/Emacs#.D0.A0.D0.B0.D1.81.D1.88.D0.B8.D1.80.D1.8F.D0.B5.D0.BC.D0.BE.D1.81.D1.82.D1.8C&quot;&gt;расширяемый текстовый редактор.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;habracut&quot;&gt; &lt;a class=&quot;habracut&quot; href=&quot;http://habrahabr.ru/blogs/humour/136597/#habracut&quot;&gt;Читать дальше →&lt;/a&gt; &lt;/div&gt;</content>
		<author>
			<name>aleksandrvin</name>
			<uri>http://habrahabr.ru/rss/tag/emacs/</uri>
		</author>
		<source>
			<title type="html">Хабрахабр:  Метки / emacs</title>
			<link rel="self" href="http://habrahabr.ru/rss/tag/emacs/"/>
			<id>http://habrahabr.ru/rss/tag/emacs/</id>
		</source>
	</entry>

	<entry>
		<title type="html">Emacs LJ community: Ввод командных комбинаций без переключения русской раскладки</title>
		<link href="http://ru-emacs.livejournal.com/82428.html"/>
		<id>urn:lj:livejournal.com:atom1:ru_emacs:82428</id>
		<updated>2012-01-12T03:28:05+00:00</updated>
		<content type="html">&lt;p&gt;В новой версии Емакс 24.1 при включенной системной русской раскладке можно вводить командные комбинации с любыми символами (с модификаторами и даже без), которые привязаны к командам, кроме `self-insert-command'. При этом, русские буквы автоматически транслируются в соответствующие английские. Например, последовательность `C-ч и' транслируется в `C-x b' и запускает `switch-to-buffer'. Всё это получается при помощи такой функции:&lt;/p&gt;

&lt;pre&gt;(&lt;span style=&quot;color: #a020f0;&quot;&gt;defun&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;reverse-input-method&lt;/span&gt; (input-method)
  &lt;span style=&quot;color: #006400;&quot;&gt;&quot;Build the reverse mapping of single letters from INPUT-METHOD.&quot;&lt;/span&gt;
  (interactive
   (list (read-input-method-name &lt;span style=&quot;color: #228b22;&quot;&gt;&quot;Use input method (default current): &quot;&lt;/span&gt;)))
  (&lt;span style=&quot;color: #a020f0;&quot;&gt;if&lt;/span&gt; (and input-method (symbolp input-method))
      (setq input-method (symbol-name input-method)))
  (&lt;span style=&quot;color: #a020f0;&quot;&gt;let&lt;/span&gt; ((current current-input-method)
        (modifiers '(nil (control) (meta) (control meta))))
    (&lt;span style=&quot;color: #a020f0;&quot;&gt;when&lt;/span&gt; input-method
      (activate-input-method input-method))
    (&lt;span style=&quot;color: #a020f0;&quot;&gt;when&lt;/span&gt; (and current-input-method quail-keyboard-layout)
      (&lt;span style=&quot;color: #a020f0;&quot;&gt;dolist&lt;/span&gt; (map (cdr (quail-map)))
        (&lt;span style=&quot;color: #a020f0;&quot;&gt;let*&lt;/span&gt; ((to (car map))
               (from (quail-get-translation
                      (cadr map) (char-to-string to) 1)))
          (&lt;span style=&quot;color: #a020f0;&quot;&gt;when&lt;/span&gt; (and (characterp from) (characterp to))
            (&lt;span style=&quot;color: #a020f0;&quot;&gt;dolist&lt;/span&gt; (mod modifiers)
              (define-key (&lt;span style=&quot;color: #a020f0;&quot;&gt;if&lt;/span&gt; mod input-decode-map local-function-key-map)
                (vector (append mod (list from)))
                (vector (append mod (list to)))))))))
    (&lt;span style=&quot;color: #a020f0;&quot;&gt;when&lt;/span&gt; input-method
      (activate-input-method current))))
&lt;/pre&gt;

&lt;p&gt;Команда запускается, например, так: `M-x reverse-input-method RET cyrillic-jcuken RET'&lt;/p&gt;

&lt;p&gt;NB: Чтобы команды, запрашивающие пароль, не выполняли бы эту перекодировку при чтении пароля, нужно обнулять значение `local-function-key-map' во время выполнения команды, например:&lt;/p&gt;
&lt;pre&gt;(&lt;span style=&quot;color: #a020f0;&quot;&gt;defadvice&lt;/span&gt; &lt;span style=&quot;color: #0000ff;&quot;&gt;read-passwd&lt;/span&gt; (around my-read-passwd act)
  (&lt;span style=&quot;color: #a020f0;&quot;&gt;let&lt;/span&gt; ((local-function-key-map nil))
    ad-do-it))
&lt;/pre&gt;</content>
		<author>
			<name>juri@jurta</name>
			<email>juri@jurta.org</email>
			<uri>http://ru-emacs.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Обсуждаем (X)Emacs на русском</title>
			<subtitle type="html">Обсуждаем (X)Emacs на русском</subtitle>
			<link rel="self" href="http://ru-emacs.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:ru_emacs</id>
		</source>
	</entry>

	<entry>
		<title type="html">Emacs LJ community: Fwd: Cue a key</title>
		<link href="http://ru-emacs.livejournal.com/82512.html"/>
		<id>urn:lj:livejournal.com:atom1:ru_emacs:82512</id>
		<updated>2011-12-25T09:30:42+00:00</updated>
		<content type="html">&lt;p&gt;Наиболее элегантное из виденных мной решений &quot;Проблемы переключения раскладки&quot;
&lt;a href=&quot;http://www.cofault.com/2011/12/cue-key.html&quot; rel=&quot;nofollow&quot;&gt;предложено Никитой Даниловым&lt;/a&gt;:

&lt;/p&gt;&lt;pre style=&quot;overflow: auto;&quot;&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;Map Modifier-CyrillicLetter to the underlying Modifier-LatinLetter, so that
&lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;control sequences can be used when keyboard mapping is changed outside of
&lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;Emacs.
&lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;
&lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;For this to work correctly, .emacs must be encoded in the default coding
&lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;system.
&lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;;&lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;
&lt;/span&gt;(mapcar*
 (&lt;span style=&quot;color: #7f007f;&quot;&gt;lambda&lt;/span&gt; (r e) &lt;span style=&quot;color: #b22222;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;R and E are matching Russian and English keysyms
&lt;/span&gt;   &lt;span style=&quot;color: #b22222;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;iterate over modifiers
&lt;/span&gt;   (mapc (&lt;span style=&quot;color: #7f007f;&quot;&gt;lambda&lt;/span&gt; (mod)
    (define-key input-decode-map
      (vector (list mod r)) (vector (list mod e))))
  '(control meta super hyper))
   &lt;span style=&quot;color: #b22222;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;finally, if Russian key maps nowhere, remap it to the English key without
&lt;/span&gt;   &lt;span style=&quot;color: #b22222;&quot;&gt;; &lt;/span&gt;&lt;span style=&quot;color: #b22222;&quot;&gt;any modifiers
&lt;/span&gt;   (define-key local-function-key-map (vector r) (vector e)))
   &lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;йцукенгшщзхъфывапролджэячсмитьбю&quot;&lt;/span&gt;
   &lt;span style=&quot;color: #8b2252;&quot;&gt;&quot;qwertyuiop[]asdfghjkl;'zxcvbnm,.&quot;&lt;/span&gt;)
&lt;/pre&gt;</content>
		<author>
			<name>Valery V. Vorotyntsev</name>
			<email>valery.vv@gmail.com</email>
			<uri>http://ru-emacs.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Обсуждаем (X)Emacs на русском</title>
			<subtitle type="html">Обсуждаем (X)Emacs на русском</subtitle>
			<link rel="self" href="http://ru-emacs.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:ru_emacs</id>
		</source>
	</entry>

	<entry>
		<title type="html">Michael Kazarian: python-mode, памятка</title>
		<link href="http://mkazarian.blogspot.com/2011/12/python-mode.html"/>
		<id>tag:blogger.com,1999:blog-660391924419264317.post-7813923557722820914</id>
		<updated>2011-12-21T12:08:07+00:00</updated>
		<content type="html">&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;cedet из cvs теперь принудительно дергает python.el (он у меня в /usr/share/emacs/23.1/lisp/progmodes), который конфликтует с python-mode.el, который мне нравится больше. Лечится правкой cedet/semantic/wisent/wisent-python.el Находится строчка (require 'python nil t) и комментируется. При желании перекомпилируется.&lt;br /&gt;Нормальная работа восстановлена и глюков пока не замечено.&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/660391924419264317-7813923557722820914?l=mkazarian.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Balu</name>
			<email>noreply@blogger.com</email>
			<uri>http://mkazarian.blogspot.com/search/label/emacs</uri>
		</author>
		<source>
			<title type="html">Michael Kazarian's blog about IT-related things</title>
			<link rel="self" href="http://www.blogger.com/feeds/660391924419264317/posts/default/-/emacs"/>
			<id>tag:blogger.com,1999:blog-660391924419264317</id>
		</source>
	</entry>

	<entry>
		<title type="html">Eugene Burmako: емакс, часть 4: ретроспектива</title>
		<link href="http://xeno-by.livejournal.com/67487.html"/>
		<id>urn:lj:livejournal.com:atom1:xeno_by:67487</id>
		<updated>2011-12-10T14:32:42+00:00</updated>
		<content type="html">&lt;a href=&quot;http://xeno-by.livejournal.com/47744.html&quot;&gt;емакс, часть 1: первый взгляд&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://xeno-by.livejournal.com/47932.html&quot;&gt;емакс, часть 2: восторг&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://xeno-by.livejournal.com/48181.html&quot;&gt;емакс, часть 3: windows&lt;/a&gt;&lt;br /&gt;емакс, часть 4: ретроспектива&lt;br /&gt;&lt;br /&gt;Вдохновленный &lt;a href=&quot;https://twitter.com/#!/alexott/status/145450284632653824&quot;&gt;сегодняшним выступлением @alexott&lt;/a&gt; на митапе scala.by, я тоже решил поделиться наблюдениями из своего опыта. Экспы у меня не то чтобы много, но постараюсь быть максимально адекватным. Если я чего-то не догоняю, это не со зла - вы меня поправьте, ладно?&lt;br /&gt;&lt;br /&gt;1) Емакс действительно крут. Главные его плюсы, на мой взгляд - неинтрузивность, программируемость и естественная интеграция с консолью. Например, недавно я соорудил наколенную билд-систему, с помощью которой застримлайнил свою работу над абсолютно разнородными проектами в универе. Она прекрасно заинтегрировалась в фар, и не менее замечательно - в емакс. Чтобы из емакса запустить какой-нибудь процесс и вбросить аутпут в буфер, нужны буквально пару телодвижений. Повесить на это все хоткеи и сделать гиперлинки на ошибки - еще немного работы. Пару обтачиваний и вуаля: &lt;a href=&quot;https://github.com/xeno-by/dotemacs/blob/c5107d21065711d2db4f5f9089caba460ef80634/solutions/myke-backend.el&quot;&gt;myke-backend.el&lt;/a&gt;. Страшно представить, как что-то похожее сделать в Эклипсе.&lt;br /&gt;&lt;br /&gt;2) Практически все можно пилить самому. Это прекрасно и очень вдохновляет (например, одним телодвижением можно посмотреть, на какой именно код забинджен тот или иной ключик), но есть и обратная сторона. Практически все &lt;i&gt;придется&lt;/i&gt; допиливать самому. Даже банальную ширину таба нужно настраивать &lt;a href=&quot;https://github.com/xeno-by/dotemacs/blob/2e6000cd52e383c3e93f87e71d66091fd53c0f5c/editor/symbols.el&quot;&gt;секретным образом&lt;/a&gt; (см. отдельную настройку для tab-stop-list), что уж говорить про такие вещи как копипасту, анду или прокрутку (кстати, у меня до сих пор через раз работает &lt;a href=&quot;https://github.com/xeno-by/dotemacs/blob/b198bd3e31643fb42699fe2251fc7706741f8988/editor/copypaste.el&quot;&gt;выделение мышкой&lt;/a&gt;). Это не то что бы уж очень плохо, но надо иметь ввиду, что первые пару недель емакс будет отнимать колоссальное количество времени.&lt;br /&gt;&lt;br /&gt;3) Лисп не античеловечный, но и не простой в освоении. Довольно быстро я научился колбасить говнокод (что, наверняка, уже увидели уважаемые гуру емакса, пробежавшись по моему конфигу), но что-либо сложное я предпочитаю писать на чем-нибудь другом. Например, билд-система, упоминавшаяся выше, естественным образом выросла из ад-хок сниппетов на елиспе, но попытки превратить ее в что-то более-менее стройное успехом не увенчались, поэтому я по-быструхе переписал все с нуля на сишарпе. Наверняка, проблемы с удобством стандартной библиотеки и структур данных - всего лишь следствие моего несистемного подхода к изучению елиспа, но что вижу, то и пою. В любом случае, крайне помог бложек Стива Йегги, например, вот этот пост: &lt;a href=&quot;http://steve-yegge.blogspot.com/2008/01/emergency-elisp.html&quot;&gt;Emergency Elisp&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;4) Емакс - не панацея, что бы не писали в инете (по крайней мере для меня). Для разработки компилятора Скалы я юзаю Эклипс (контрол + клик на дефинишен и дебаг слишком важны, чтобы от них отказываться), для коммитов и истории я юзаю TortoiseGit (magit работает через раз + для чего-то нетривиального в VCS тупо нужен гуй). Вначале я думал, что это я такой нехардкорный, а потом увидел, что все в команде делают то же самое (только гуй к гиту другой, ибо никто не сидит на венде). Даже Мартин, который юзает емакс уже лет двадцать.&lt;br /&gt;&lt;br /&gt;5) И все же я очень доволен емаксом. За денек я интегрировал в него греп по проектам с персональными свистелками, после чего выкинул поиск эклипса. Для сложных сессий репла Скалы я тоже юзаю емакс (идея консоли в буфере просто прелестна!). Да и домашки по алгоритмам в латеке я тоже фигачу в емаксе, ибо там подсветка синтаксиса и вручную прикрученный side-by-side превью. &lt;br /&gt;&lt;br /&gt;Вот так и живем. Браузинг кода и дебаг в эклипсе, компиляция в фаре, текстовый поиск и реплы в емаксе. Use the right tools for the right job. Искренне ваш, кэп.</content>
		<author>
			<name>xeno_by</name>
			<uri>http://xeno-by.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Excelsior</title>
			<subtitle type="html">xeno_by</subtitle>
			<link rel="self" href="http://xeno-by.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:xeno_by</id>
		</source>
	</entry>

	<entry>
		<title type="html">Eugene Burmako: емакс больше не тормозит</title>
		<link href="http://xeno-by.livejournal.com/59566.html"/>
		<id>urn:lj:livejournal.com:atom1:xeno_by:59566</id>
		<updated>2011-12-10T14:10:41+00:00</updated>
		<content type="html">Вылечилось следующим:&lt;br /&gt;1) Емакс запускаю с ключами &quot;-xrm Emacs.FontBackend:gdi&quot; (гигантский эффект).&lt;br /&gt;2) Выкинул нафиг ECB и CEDET (впечатляющий эффект).&lt;br /&gt;3) Отключил linum-mode (заметный эффект).&lt;br /&gt;4) &lt;a href=&quot;https://github.com/xeno-by/dotemacs/commit/678a0dd3d15af4dc1581b91b4418cf7f0268e146&quot;&gt;Подкрутил разные другие штучки&lt;/a&gt;, но не уверен, что они хоть что-то дают.&lt;br /&gt;&lt;br /&gt;upd. 10.12.2011. Крайне помогло заклинание (setq redisplay-dont-pause t). Наконец-то прокрутка больших буферов с раскрашенным текстом перестала тормозить.</content>
		<author>
			<name>xeno_by</name>
			<uri>http://xeno-by.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Excelsior</title>
			<subtitle type="html">xeno_by</subtitle>
			<link rel="self" href="http://xeno-by.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:xeno_by</id>
		</source>
	</entry>

	<entry>
		<title type="html">Andy Legkiy: Организационная пичалька</title>
		<link href="http://y5ae-ru.blogspot.com/2011/10/blog-post.html"/>
		<id>tag:blogger.com,1999:blog-9201877670096329725.post-5319379931921530814</id>
		<updated>2011-10-27T22:04:40+00:00</updated>
		<content type="html">Org-mode очень хороший аутлайнер. Не являясь ярым сторонником емакса, я люблю этот mode всем сердцем.&lt;br /&gt;&lt;br /&gt;У меня тут и журнал для личного пользования, и домашние дела, и рабочие дела. Рабочие дела, на одной работе, были и в виде каких-то крупных кусков, разбитых на мелкие подзадачи, и в виде справочной информации, и как неоформленные мысли и черновые наброски. Описание проб, итд. Так как рабочий процесс там полностью устаканен, это почти не создавало проблем. Для второй работы тоже пытался его использовать, но не так успешно.&lt;br /&gt;&lt;br /&gt;А в чем же проблема? Да дело в том, что на каждой работе есть свои вики, трекеры, итд. Необходимость использовать разных средства организации дел ведет к дублированию, устареванию одной из копий (или в org-mode, или на рабочих ресурсах).&lt;br /&gt;&lt;br /&gt;Если какая-то область новая, и какую-то задачу через время уже видишь под совсем новым углом, то на подгонку своих мыслей, примечаний, добавление новой информации, только в одном &quot;органайзере&quot;, уходит определенное кол-во усилий, на которое я c радостью готов пойти. Но, кроме этого, больше усилий уходит на синхронизацию разных источников, ведь синхронизация происходит руками. А вот тут и начинается главная проблема. Отказываться от org-mode не хочется, потому что он очень удобный, быстрый, очень гибкий, и не зависит от наличия интернета. Но и дублировать информацию, перенося из одного формата в другой, разбивая по разным сущностям (страницы wiki, milestone, tickets) -- довольно таки трудно и неприятно.&lt;br /&gt;&lt;br /&gt;Попал в ситуация, когда на рабочую систему забиваешь, а в org-mode сильно много не плодишь, а пишешь или справочную информацию, или как-то аморфно, просто забивая на конкретизацию. Ведь знаешь, что когда-то все прийдется переносить руками в другую систему, с другой структурой и организацией поддокументов, и будет большое количества мартышкиного труда.&lt;br /&gt;&lt;br /&gt;И вот пришло, нужно использовать рабочую систему, и это не какая-то там бюрократия, а элементарная необходимость.&lt;br /&gt;&lt;br /&gt;А что делать? Да пока выбор не большой. Коллегам нужно не только видеть план работ и ход его выполнения, перестройки, уточнения, но еще в нем участвовать.&lt;br /&gt;&lt;br /&gt;1. Можно было бы воспользоаться имеющимся html-экспортом, на каком-нибудь рабочем ресурсе, и это было бы неплохим выходом, на начальных этапах. Но для перечисленных выше потребностей коллег оно совсем не расчитанно. Так что, увы, отпадает.&lt;br /&gt;2. Полностью валить на рабочую систему, что и будет сделано, в итоге.&lt;br /&gt;3. Использовать org-mode как буфер для небольших кусков, возможно приделав некоторое подобие простого экспорта. Но это костыль и полумера. После экспорта вся гибкость средств оrg-mode полностью теряется. Кто пользовался, тот знает о чем я. Но без средств автоматического переноса это может привести к очередному накоплению и завалу. Но как добавить дела в кучу, чтобы потом рассортировать, вполне может подойти.&lt;br /&gt;&lt;br /&gt;Вот такой небольшой фейл использования для работы замечательного средства организации дел. А жаль.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPD:&lt;/b&gt; Если у кого есть мысли или опыт сопряжения org-mode с популярными средствами управления проектами, буду рад услышать.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/9201877670096329725-5319379931921530814?l=y5ae-ru.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Easy</name>
			<email>noreply@blogger.com</email>
			<uri>http://y5ae-ru.blogspot.com/search/label/emacs</uri>
		</author>
		<source>
			<title type="html">Easy's blog in Russian</title>
			<link rel="self" href="http://www.blogger.com/feeds/9201877670096329725/posts/default/-/emacs"/>
			<id>tag:blogger.com,1999:blog-9201877670096329725</id>
		</source>
	</entry>

	<entry>
		<title type="html">kashnikov: Цветовая схема для текстового редактора.</title>
		<link href="http://kashnikov.livejournal.com/50881.html"/>
		<id>urn:lj:livejournal.com:atom1:kashnikov:50881</id>
		<updated>2011-08-22T18:41:14+00:00</updated>
		<content type="html">Для Emacs я долгое время пользовался какой-то хитрой тёмной схемой составленной из кучи других схем найденных в интернетах. Некоторое время назад перешёл на схему от уважаемого мэтра емаксоведения &lt;span class=&quot;ljuser ljuser-name_alexott&quot; style=&quot;white-space: nowrap;&quot;&gt;&lt;a href=&quot;http://alexott.livejournal.com/profile&quot;&gt;&lt;img alt=&quot;[info]&quot; height=&quot;16&quot; src=&quot;http://l-stat.livejournal.com/img/userinfo.gif?v=88.9&quot; style=&quot;vertical-align: bottom; border: 0; padding-right: 1px;&quot; width=&quot;16&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://alexott.livejournal.com/&quot;&gt;&lt;b&gt;alexott&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;. Его схема рулит.&lt;br /&gt;&lt;br /&gt;Для Vim это torte в консоли. Но в графической версии torte, что называется &quot;бьёт по глазам&quot;. Подумываю о переводе схемы &lt;span class=&quot;ljuser ljuser-name_alexott&quot; style=&quot;white-space: nowrap;&quot;&gt;&lt;a href=&quot;http://alexott.livejournal.com/profile&quot;&gt;&lt;img alt=&quot;[info]&quot; height=&quot;16&quot; src=&quot;http://l-stat.livejournal.com/img/userinfo.gif?v=88.9&quot; style=&quot;vertical-align: bottom; border: 0; padding-right: 1px;&quot; width=&quot;16&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://alexott.livejournal.com/&quot;&gt;&lt;b&gt;alexott&lt;/b&gt;&lt;/a&gt;&lt;/span&gt; для Vim.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Какой цветовой схемой пользуетесь вы?&lt;/b&gt;</content>
		<author>
			<name>Et ipsa scientia potestas est.</name>
			<uri>http://kashnikov.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Veritas vos liberabit</title>
			<subtitle type="html">Scientia est lux lucis</subtitle>
			<link rel="self" href="http://kashnikov.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:kashnikov</id>
		</source>
	</entry>

	<entry>
		<title type="html">Ruslan Kosolapov: grundik @ 2011-07-04T11:16:00</title>
		<link href="http://grundik.livejournal.com/502322.html"/>
		<id>urn:lj:livejournal.com:atom1:grundik:502322</id>
		<updated>2011-07-04T04:16:42+00:00</updated>
		<content type="html">&quot;Попробуйте, к примеру, дотянитесь одной рукой одновременно до f и p. Клавиши находятся на большом расстоянии друг от друга, и точное позиционирование курсора с использованием стандартных комбинаций – жуткая морока.&quot;&lt;br /&gt;&lt;br /&gt;Блять!!1111  ЗАЧЕМ дотягиваться одной рукой до кнопок, которые надо нажимать разными руками?!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;И вот так у них всё - берут лопату, и пытаются одной рукой ей пользоваться.  Зачем блять?!  Лопате надо две руки и две ноги, и это фича, а не баг.</content>
		<author>
			<name>Ruslan Kosolapov</name>
			<uri>http://grundik.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">rk lj</title>
			<subtitle type="html">Ruslan Kosolapov</subtitle>
			<link rel="self" href="http://grundik.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:grundik</id>
		</source>
	</entry>

	<entry>
		<title type="html">Andy Legkiy: Совсем не вовремя заглючил аутлайнер</title>
		<link href="http://y5ae-ru.blogspot.com/2011/06/blog-post_17.html"/>
		<id>tag:blogger.com,1999:blog-9201877670096329725.post-4677827061757275257</id>
		<updated>2011-06-17T11:45:33+00:00</updated>
		<content type="html">Нашел в org-mode 7.5 ошибку, которая слегка попортила нервы.&lt;br /&gt;В agenda day/week view, при определенных условиях, не отображаются хидлайны, помеченные как scheduled, если используется настройка &quot;org-enforce-todo-dependencies&quot;.&lt;br /&gt;&lt;br /&gt;Воспроизводится легко. Новый файлик, без каких-либо свойств, всего с тремя хидлайнами, у второго хидлайна есть подзадача, отмеченая состоянием TODO.&lt;br /&gt;&lt;pre&gt;* TODO task 1&lt;br /&gt;  SCHEDULED: &amp;lt;2011-06-16 Thu&amp;gt;&lt;br /&gt;* task 2&lt;br /&gt;  SCHEDULED: &amp;lt;2011-06-16 Thu&amp;gt;&lt;br /&gt;** TODO subtask 2-1&lt;br /&gt;* task 3&lt;br /&gt;  SCHEDULED: &amp;lt;2011-06-16 Thu&amp;gt;&lt;/pre&gt;В day-agenda не отображается &quot;task 2&quot; (второй хидлайн верхнего уровня).&lt;pre&gt;  NOTES:      Scheduled:  TODO task 1&lt;br /&gt;  NOTES:      Scheduled:  task 3&lt;/pre&gt;Не отображается, но если попробовать выделить и скопировать текст из Agenda (хотя бы строку с &quot;task 1&quot;), &quot;task 2&quot; в буфере будет присутствовать.&lt;br /&gt;&lt;br /&gt;Чтобы второй пункт отобразился, нужно:&lt;br /&gt;  - Убрать TODO с &quot;task 1&quot;,&lt;br /&gt;  - Или убрать TODO c &quot;subtask 2-1&quot;,&lt;br /&gt;  - Или убрать из конфига &quot;(org-enforce-todo-dependencies t)&quot;.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/9201877670096329725-4677827061757275257?l=y5ae-ru.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Easy</name>
			<email>noreply@blogger.com</email>
			<uri>http://y5ae-ru.blogspot.com/search/label/emacs</uri>
		</author>
		<source>
			<title type="html">Easy's blog in Russian</title>
			<link rel="self" href="http://www.blogger.com/feeds/9201877670096329725/posts/default/-/emacs"/>
			<id>tag:blogger.com,1999:blog-9201877670096329725</id>
		</source>
	</entry>

	<entry>
		<title type="html">Alex Ott: Добавления в haskell-mode</title>
		<link href="http://alexott-ru.blogspot.com/2011/02/haskell-mode.html"/>
		<id>tag:blogger.com,1999:blog-2145365503775784580.post-716138085036106177</id>
		<updated>2011-02-02T07:44:12+00:00</updated>
		<content type="html">На новогодних каникулах сделал давно запланированное добавление к haskell-mode - добавил поддержку для &lt;a href=&quot;http://community.haskell.org/%7Endm/hlint/&quot;&gt;hlint&lt;/a&gt; (команда &lt;b&gt;hs-lint&lt;/b&gt;) и &lt;a href=&quot;http://projects.haskell.org/style-scanner/&quot;&gt;haskell style scanner&lt;/a&gt; (команда &lt;b&gt;&lt;span&gt;hs-scan&lt;/span&gt;&lt;/b&gt;). Как и в предыдущей реализации, hs-lint поддерживает замену кода на предлагаемый вариант.&lt;br /&gt;Патчи отправлены мейнтейнеру, но пока они не закоммиченны в основной репозиторий, эти изменения доступны в &lt;a href=&quot;https://patch-tag.com/r/alexott/haskell-mode/home&quot;&gt;моем форке&lt;/a&gt;. Замечания и пожелания приветствуются...&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/2145365503775784580-716138085036106177?l=alexott-ru.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Alex Ott</name>
			<email>noreply@blogger.com</email>
			<uri>http://alexott-ru.blogspot.com/search/label/emacs</uri>
		</author>
		<source>
			<title type="html">Alex Ott's Russian blog about IT-related things</title>
			<subtitle type="html">This blog dedicated to IT, Software development and information security.  Main language - Russian.</subtitle>
			<link rel="self" href="http://www.blogger.com/feeds/2145365503775784580/posts/default/-/emacs"/>
			<id>tag:blogger.com,1999:blog-2145365503775784580</id>
		</source>
	</entry>

	<entry>
		<title type="html">swizard: Emacs на nokia n900 tutorial</title>
		<link href="http://swizard.livejournal.com/164863.html"/>
		<id>urn:lj:livejournal.com:atom1:swizard:164863</id>
		<updated>2011-01-18T17:58:51+00:00</updated>
		<content type="html">Сабжу весьма благоприятствуют два факта: &lt;br /&gt;&lt;ol&gt;&lt;li&gt;maemo является полноценным линуксом&lt;/li&gt;&lt;li&gt;n900 оснащается хардварной клавиатурой-слайдером &lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Разумеется, самое главное во втором пункте -- это наличие железной кнопки &lt;b&gt;Ctrl&lt;/b&gt; =)&lt;br /&gt;&lt;br /&gt;Итак, воспользуемся следующим туториалом одного нашего японского друга: &lt;a href=&quot;http://sumoudou.org/%E7%9B%B8%E6%92%B2%E5%A4%96%EF%BC%9AGNU%20Emacs%20for%20Nokia%20N900.html&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Продублирую его (на всякий случай) на русском.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Скачиваем пакет на устройство &lt;a href=&quot;http://sumoudou.org/n900/emacs_23.1.1_armel.deb&quot; rel=&quot;nofollow&quot;&gt;отсюда&lt;/a&gt; или с моего &lt;a href=&quot;http://swizard.info/misc/mirror/emacs_23.1.1_armel.deb&quot; rel=&quot;nofollow&quot;&gt;зеркала&lt;/a&gt;.&lt;/li&gt;&lt;li&gt;Под рутом выполняем &lt;span style=&quot;background-color: #000000; color: #00ff00; margin: 1px;&quot;&gt;dpkg -i emacs_23.1.1_armel.deb&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Обновляем apt и доставляем недостающие пакеты: &lt;span style=&quot;background-color: #000000; color: #00ff00; margin: 1px;&quot;&gt;apt-get -f install&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Далее, нам предстоит решить такую проблему: на клавиатуре телефона отсутствуют очень полезные для емакса кнопки &lt;b&gt;Meta&lt;/b&gt; (Esc) и &lt;b&gt;Tab&lt;/b&gt;. Наш верный японский соратник &lt;a href=&quot;http://sumoudou.org/%E7%9B%B8%E6%92%B2%E5%A4%96%EF%BC%9ARemapping%20Nokia%20N900%20keyboard.html&quot; rel=&quot;nofollow&quot;&gt;предлагает&lt;/a&gt; такую клавиатурную карту для English US: &lt;a href=&quot;http://sumoudou.org/n900/rx-51.qole&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt; или &lt;a href=&quot;http://swizard.info/misc/mirror/rx-51.qole&quot; rel=&quot;nofollow&quot;&gt;mirror&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;На стандартном английском макете &lt;b&gt;Meta&lt;/b&gt; в этой карте работает через &lt;b&gt;Fn+left&lt;/b&gt;, а &lt;b&gt;Tab&lt;/b&gt; через &lt;b&gt;Fn+right&lt;/b&gt;. Лично для меня табуляция вышла очень удачной (не знаю даже, почему), а мета -- ну так, сойдет. &lt;br /&gt;&lt;br /&gt;Инсталлируем карту так:&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor=&quot;#1f1f1f&quot; border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;3&quot; width=&quot;100%&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot;&gt;&lt;font color=&quot;#00ff00&quot;&gt;&lt;b&gt;    &lt;pre&gt;cp /usr/share/X11/xkb/symbols/nokia_vndr/rx-51 /usr/share/X11/xkb/symbols/nokia_vndr/rx-51.orig
cp rx-51.qole /usr/share/X11/xkb/symbols/nokia_nvdr/rx-51
setxkbmap&lt;/pre&gt;  &lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Далее, надо решить небольшую проблему с емаксовым фуллскрином. Дело в том, что по-дефолту статусная строка внизу уезжает за пределы экрана.&lt;br /&gt;&lt;br /&gt;Японец &lt;a href=&quot;http://sumoudou.org/%E7%9B%B8%E6%92%B2%E5%A4%96%EF%BC%9AMaximize%20GNU%20Emacs%20properly%20on%20Nokia%20N900.html&quot; rel=&quot;nofollow&quot;&gt;предлагает&lt;/a&gt; поставить специальный мод &lt;a href=&quot;http://sumoudou.org/elisp/maxframe/maxframe.el&quot; rel=&quot;nofollow&quot;&gt;maxframe.el&lt;/a&gt; (здесь &lt;a href=&quot;http://swizard.info/misc/mirror/maxframe.el&quot; rel=&quot;nofollow&quot;&gt;mirror&lt;/a&gt;). С ним чето мутновато: сначала он у меня не сработал, а после порта моих &lt;b&gt;.emacs.d&lt;/b&gt; и &lt;b&gt;.emacs&lt;/b&gt; с десктопа, неожиданно заработал. Ладно, пусть его.&lt;br /&gt;&lt;br /&gt;В &lt;b&gt;.emacs&lt;/b&gt; maxframe.el активируется так:&lt;br /&gt;&lt;table bgcolor=&quot;#1f1f1f&quot; border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;3&quot; width=&quot;100%&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot;&gt;&lt;font color=&quot;#00ff00&quot;&gt;&lt;b&gt;    &lt;pre&gt;(add-to-list 'load-path &lt;font color=&quot;#ffa07a&quot;&gt;&lt;b&gt;&quot;/path/to/maxframe&quot;&lt;/b&gt;&lt;/font&gt;)
(&lt;font color=&quot;#00ffff&quot;&gt;&lt;b&gt;require&lt;/b&gt;&lt;/font&gt; '&lt;font color=&quot;#7fffd4&quot;&gt;&lt;b&gt;maxframe&lt;/b&gt;&lt;/font&gt;)
(add-hook 'window-setup-hook 'maximize-frame t)
(maximize-frame)&lt;/pre&gt;  &lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Теоретически, можно тащить настройки и все остальное с десктопа и использовать. &lt;br /&gt;&lt;br /&gt;Но для моих нужд (у меня там схемка guile) мне потребовалось кое-что подпилить напильником.&lt;br /&gt;&lt;br /&gt;Во-первых, на десктопе я олдфажно использую &lt;b&gt;ctrl+ins&lt;/b&gt; / &lt;b&gt;shift+ins&lt;/b&gt; для копипаста. На n900 таких кнопок нет, поэтому пришлось перевесить:&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor=&quot;#1f1f1f&quot; border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;3&quot; width=&quot;100%&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot;&gt;&lt;font color=&quot;#00ff00&quot;&gt;&lt;b&gt;    &lt;pre&gt;(global-set-key (kbd &lt;font color=&quot;#ffa07a&quot;&gt;&lt;b&gt;&quot;C-c c&quot;&lt;/b&gt;&lt;/font&gt;) 'clipboard-kill-ring-save)
(global-set-key (kbd &lt;font color=&quot;#ffa07a&quot;&gt;&lt;b&gt;&quot;C-c v&quot;&lt;/b&gt;&lt;/font&gt;) 'clipboard-yank)&lt;/pre&gt;  &lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;Ничего, нормально.&lt;br /&gt;&lt;br /&gt;Во-вторых, не вызывается экранная клавиатура и спец-клавиатура для символов (по &lt;b&gt;Fn+Ctrl&lt;/b&gt;). По-большому счету, мне это нафиг не надо, поэтому я даже не заморачивался. Но пары символов критически не хватает: это угловые скобки &lt;b&gt;&amp;lt;&lt;/b&gt; и &lt;b&gt;&amp;gt;&lt;/b&gt;. Пришлось их вешать на емаксовые комбинации:&lt;br /&gt;&lt;br /&gt;&lt;table bgcolor=&quot;#1f1f1f&quot; border=&quot;0&quot; cellpadding=&quot;1&quot; cellspacing=&quot;3&quot; width=&quot;100%&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot;&gt;&lt;font color=&quot;#00ff00&quot;&gt;&lt;b&gt;    &lt;pre&gt;(&lt;font color=&quot;#00ffff&quot;&gt;&lt;b&gt;defun&lt;/b&gt;&lt;/font&gt; &lt;font color=&quot;#87cefa&quot;&gt;&lt;b&gt;insert-less-symbol&lt;/b&gt;&lt;/font&gt; ()
  (interactive)
  (insert &lt;font color=&quot;#ffa07a&quot;&gt;&lt;b&gt;&quot;&amp;lt;&quot;&lt;/b&gt;&lt;/font&gt;))

(&lt;font color=&quot;#00ffff&quot;&gt;&lt;b&gt;defun&lt;/b&gt;&lt;/font&gt; &lt;font color=&quot;#87cefa&quot;&gt;&lt;b&gt;insert-more-symbol&lt;/b&gt;&lt;/font&gt; ()
  (interactive)
  (insert &lt;font color=&quot;#ffa07a&quot;&gt;&lt;b&gt;&quot;&amp;gt;&quot;&lt;/b&gt;&lt;/font&gt;))

(global-set-key (kbd &lt;font color=&quot;#ffa07a&quot;&gt;&lt;b&gt;&quot;C-c C-,&quot;&lt;/b&gt;&lt;/font&gt;) 'insert-less-symbol)
(global-set-key (kbd &lt;font color=&quot;#ffa07a&quot;&gt;&lt;b&gt;&quot;C-c C-.&quot;&lt;/b&gt;&lt;/font&gt;) 'insert-more-symbol)&lt;/pre&gt;  &lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Ну и пока вроде все, IDE для scheme у меня построился отличный. Все остальное, как на десктопе: guile, quack.el и т.д.&lt;br /&gt;&lt;br /&gt;Иногда ловлю себя на мысли, что не хватает кнопок &lt;b&gt;home&lt;/b&gt;, &lt;b&gt;end&lt;/b&gt; и &lt;b&gt;page up/down&lt;/b&gt;, но пока еще нужда лень не победила.</content>
		<author>
			<name>swizard</name>
			<uri>http://swizard.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">swizard</title>
			<subtitle type="html">swizard</subtitle>
			<link rel="self" href="http://swizard.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:swizard</id>
		</source>
	</entry>

	<entry>
		<title type="html">Oleksandr Gavenko: Определение рабочего окружения и возможностей платформы в Emacs</title>
		<link href="http://brain-break-ru.blogspot.com/2010/08/emacs.html"/>
		<id>tag:blogger.com,1999:blog-6734527039160439299.post-2234881617140746121</id>
		<updated>2010-12-21T19:57:37+00:00</updated>
		<content type="html">Для правильной работы файла настроек &lt;code&gt;.emacs&lt;/code&gt; на различных платформах и различных версиях Emacs требуется проверять множество условий.
&lt;p&gt;
Я собрал несколько из них.
&lt;a name=&quot;more&quot;&gt;&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;
Итак посмотрите на указанные переменные:
&lt;/p&gt;&lt;div id=&quot;code&quot;&gt;  emacs-major-version
  emacs-minor-version
  window-system             - 'nil' if in terminal, 'w32' if native Windows build, 'x' if under X Window
  window-system-version     - for windows only
  operating-system-release  - release of the operating system Emacs is running on
  system-configuration      - like configuration triplet: cpu-manufacturer-os
  system-name               - host name of the machine you are running on
  system-time-locale
  system-type               - indicating the type of operating system you are using:
                              'gnu' (GNU Hurd), 'gnu/linux', 'gnu/kfreebsd' (FreeBSD),
                              'darwin' (GNU-Darwin, Mac OS X), 'ms-dos', 'windows-nt', 'cygwin'
  system-uses-terminfo
  window-size-fixed
&lt;/div&gt;

а также указанные функции:

&lt;div id=&quot;code&quot;&gt;  (fboundp ...)             - return t if SYMBOL's function definition is not void
  (featurep ...)            - returns t if FEATURE is present in this Emacs
  (display-graphic-p)       - return non-nil if DISPLAY is a graphic display; graphical
                              displays are those which are capable of displaying several
                              frames and several different fonts at once
  (display-multi-font-p)    - same as 'display-graphic-p'
  (display-multi-frame-p)   - same as 'display-graphic-p'
  (display-color-p)         - return t if DISPLAY supports color
  (display-images-p)        - return non-nil if DISPLAY can display images
  (display-grayscale-p)     - return non-nil if frames on DISPLAY can display shades of gray
  (display-mouse-p)         - return non-nil if DISPLAY has a mouse available
  (display-popup-menus-p)   - return non-nil if popup menus are supported on DISPLAY
  (display-selections-p)    - return non-nil if DISPLAY supports selections
&lt;/div&gt;

Виполняйте проверки наподобии того как делается ниже:
&lt;div id=&quot;code&quot;&gt;  (when window-system ...)
  (when (eq window-system 'x) ...)
  (when (&amp;gt;= emacs-major-version 22) ...)
  (when (fboundp '...) ...)
  (when (featurep '...) ...)
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6734527039160439299-2234881617140746121?l=brain-break-ru.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>gavenkoa</name>
			<email>noreply@blogger.com</email>
			<uri>http://brain-break-ru.blogspot.com/search/label/emacs</uri>
		</author>
		<source>
			<title type="html">Brain Break (ru).</title>
			<subtitle type="html">it/security/free/math/sci/music
&lt;p&gt;
Русская версия &lt;a href=&quot;http://brain-break.blogspot.com&quot;&gt;brain-break.blogspot.com&lt;/a&gt;. Присоединяйтесь!&lt;/p&gt;</subtitle>
			<link rel="self" href="http://www.blogger.com/feeds/6734527039160439299/posts/default/-/emacs"/>
			<id>tag:blogger.com,1999:blog-6734527039160439299</id>
		</source>
	</entry>

	<entry>
		<title type="html">Alex Ott: Переехал на el-get</title>
		<link href="http://alexott-ru.blogspot.com/2010/12/el-get.html"/>
		<id>tag:blogger.com,1999:blog-2145365503775784580.post-9006037887530232362</id>
		<updated>2010-12-21T10:57:38+00:00</updated>
		<content type="html">Я достаточно долгое время таскал с собой все используемые пакеты для Емакса, вместе с конфигурационными файлами - это позволяло мне иметь везде одинаковую рабочую среду. Большая часть используемых пакетов бралась прямо из репозиториев и регулярно обновлялась с помощью набор шельных скриптов.&lt;br /&gt;Но некоторое время назад я наткнулся на проект &lt;a href=&quot;https://github.com/dimitri/el-get&quot;&gt;el-get&lt;/a&gt;, который берет на себя вопросы скачивания и обновления пакетов, и делает это прямо из емакса. Основное удобство заключается в том, что в составе el-get имеется большое количество готовых конфигурационных файлов (рецептов) для самых разных пакетов, и вы можете сразу использовать их в своей конфигурации.&lt;br /&gt;Использование el-get очень просто - вы определяет список пакетов, которые вы хотите использовать, а затем вызываете функцию &lt;span&gt;(el-get)&lt;/span&gt;, которая выкачивает пакет, компилирует его в соответствии с инструкциями, и загружает нужные части, так что пакет становится доступным для использования.  Подробности использования можно найти в описании проекта.&lt;br /&gt;Неделю назад я наконец-то собрался с духом, и перевел свою &lt;a href=&quot;https://github.com/alexott/emacs-configs&quot;&gt;рабочую конфигурацию&lt;/a&gt; на el-get (я пока использую &lt;a href=&quot;https://github.com/alexott/el-get&quot;&gt;свой форк проекта&lt;/a&gt;, хотя многие из рецептов уже внесены в основной проект), пришлось правда добавить рецептов которых еще не было в репозитории, и немного повозиться со сборкой на Mac OS X. Но в остальном - все работает нормально.&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/2145365503775784580-9006037887530232362?l=alexott-ru.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Alex Ott</name>
			<email>noreply@blogger.com</email>
			<uri>http://alexott-ru.blogspot.com/search/label/emacs</uri>
		</author>
		<source>
			<title type="html">Alex Ott's Russian blog about IT-related things</title>
			<subtitle type="html">This blog dedicated to IT, Software development and information security.  Main language - Russian.</subtitle>
			<link rel="self" href="http://www.blogger.com/feeds/2145365503775784580/posts/default/-/emacs"/>
			<id>tag:blogger.com,1999:blog-2145365503775784580</id>
		</source>
	</entry>

	<entry>
		<title type="html">Voins: Untitled</title>
		<link href="http://voins.livejournal.com/115095.html"/>
		<id>urn:lj:livejournal.com:atom1:voins:115095</id>
		<updated>2010-10-22T13:41:08+00:00</updated>
		<content type="html">&lt;div&gt;&lt;p&gt;Обновив coreutils до версии 8.6, обнаружил случайно, что &lt;a href=&quot;http://www.emacswiki.org/emacs/TrampMode&quot; rel=&quot;nofollow&quot;&gt;tramp&lt;/a&gt; больше не хочет открывать файлы через sudo. То есть это я потом уже понял, что причиной такого поведения стало обновление coreutils, а сначала это было довольно неприятно. Пришлось отвлечься от того, чем занимался, и посвятить вечер разбирательствам с поломкой. Как выяснилось в процессе, кто-то зачем-то поменял формат вывода в утилите stat. Наблюдается это вот так, например:&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&amp;lt;new&amp;gt;$ stat . -c &quot;%Y&quot;&lt;br /&gt;1287747411.000000000&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;Тогда как раньше было:&lt;/p&gt;  &lt;p&gt;&lt;code&gt;&amp;lt;old&amp;gt;$ stat . -c &quot;%Y&quot;&lt;br /&gt;1287747411&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;Tramp пользуется stat'ом для получения атрибутов файлов. Если находит. Можно было, конечно, обмануть его, и заставить думать что stat, который он нашёл, несовместим  с тем, что он привык считать stat'ом, но это не наш путь. Наш путь привёл к появлению маленького автомата, определяющего в каком формате нам были выданы циферки, и выдающего правильные и ожидаемые циферки на выходе. Делать полноценный патч мне было лениво. Так что есть только &lt;a href=&quot;http://gist.github.com/640538&quot; rel=&quot;nofollow&quot;&gt;это&lt;/a&gt;.&lt;/p&gt;&lt;/div&gt;</content>
		<author>
			<name>Voins</name>
			<uri>http://voins.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Voins</title>
			<subtitle type="html">Voins</subtitle>
			<link rel="self" href="http://voins.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:voins</id>
		</source>
	</entry>

	<entry>
		<title type="html">Evgeny Morozov: Ubuntu 10.10, vim, pycharm</title>
		<link href="http://kolloid.livejournal.com/401804.html"/>
		<id>urn:lj:livejournal.com:atom1:kolloid:401804</id>
		<updated>2010-10-19T18:01:32+00:00</updated>
		<content type="html">Обновил систему до Ubuntu 10.10. Может быть из-за обновления особых изменений не заметил. Нравится новый шрифт. Все остальное выглядит и работает почти так же, как и в 10.04.&lt;br /&gt;&lt;br /&gt;Кстати, уже где-то две недели как я переехал на vim. Руки стали уставать заметно меньше. Многие вещи неудобны (не нравится cut/copy требующий трех нажатий — &lt;kbd&gt;&quot;+x/y&lt;/kbd&gt;, еще раздражает то, что портится буфер, если после этого удалить что-нибудь), многое пока вообще сделать еще не могу. Но обратно возвращаться не хочется.&lt;br /&gt;&lt;br /&gt;Пробовал установить PyCharm (такая урезанная IntelliJ Idea), плюнул и бросил через час. Для внешнего вида есть меткое словосочетание на английском: «Blast from the past». Как будто вернулся на 15 лет назад. Даже tcl/tk современнее выглядит. Впрочем, это проблема всех GUI-приложений на Java. Неописуемо тормозит (на Phenom II x4 3.4 Ghz и 8 Gb памяти). Хотя в консоли оно честно пишет, что будет тормозить на OpenJDK. Но у меня другого и не было, это то, что в Ubuntu по умолчанию стоит. Автодополнение не впечатлило. В общем, поищу пока аналог yasnippet для vim.</content>
		<author>
			<name>Евгений Морозов</name>
			<uri>http://kolloid.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Дневник Евгения Морозова</title>
			<subtitle type="html">Евгений Морозов</subtitle>
			<link rel="self" href="http://kolloid.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:kolloid</id>
		</source>
	</entry>

	<entry>
		<title type="html">grep_z: grep_z @ 2010-10-15T22:12:00</title>
		<link href="http://grep-z.livejournal.com/80255.html"/>
		<id>urn:lj:livejournal.com:atom1:grep_z:80255</id>
		<updated>2010-10-14T13:18:16+00:00</updated>
		<content type="html">В очередной раз заюзал newsticker в emacs. Читаю rss'ки я не особо много, да и отсилы раз в 2-3е суток. Раньше newsticker был неюзабилен, сейчас вроде работает. Настройки простые, через wget:&lt;br /&gt;&lt;a name=&quot;cutid1&quot;&gt;&lt;/a&gt;&lt;br /&gt;&lt;table bgcolor=&quot;black&quot; border=&quot;0&quot; cellpadding=&quot;5&quot; cellspacing=&quot;1&quot; width=&quot;100&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;&lt;td width=&quot;100%&quot;&gt;&lt;br /&gt;&lt;font color=&quot;white&quot;&gt;&lt;br /&gt;&lt;b&gt;&lt;pre&gt;
(autoload 'w3m-region &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;w3m&quot;&lt;/span&gt;
  &lt;span style=&quot;color: #87cefa;&quot;&gt;&quot;Render region in current buffer and replace with result.&quot;&lt;/span&gt; t)

(autoload 'newsticker-show-news &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;newsticker&quot;&lt;/span&gt; &lt;span style=&quot;color: #87cefa;&quot;&gt;&quot;Emacs Newsticker&quot;&lt;/span&gt; t)

(custom-set-variables
 '(newsticker-retrieval-interval -1)
 '(newsticker-html-renderer 'w3m-region)
 '(newsticker-frontend 'newsticker-treeview)
 '(newsticker-keep-obsolete-items t)
 '(newsticker-automatically-mark-items-as-old nil) 
 '(newsticker-automatically-mark-visited-items-as-old t)
 '(newsticker-retrieval-method 'extern)
 '(newsticker-cache-filename &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;~/emacs/tmp/newsticker/newsticker.cache&quot;&lt;/span&gt;)
 '(newsticker-dir &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;~/emacs/tmp/newsticker/&quot;&lt;/span&gt;)
 '(newsticker-url-list
   '((&lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;Plane Emacs&quot;&lt;/span&gt;
      &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;http://planet.emacsen.org/atom.xml&quot;&lt;/span&gt; nil nil nil)
     (&lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;Kernel Trap&quot;&lt;/span&gt;
      &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;http://kerneltrap.org/node/feed&quot;&lt;/span&gt; nil nil nil)
     (&lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;Reddit - Technology&quot;&lt;/span&gt;
      &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;http://www.reddit.com/r/technology/.rss&quot;&lt;/span&gt; nil nil nil)
     (&lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;Reddit - Science&quot;&lt;/span&gt;
      &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;http://www.reddit.com/r/science/.rss&quot;&lt;/span&gt; nil nil nil)
     (&lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;Reddit - Worldnews&quot;&lt;/span&gt;
      &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;http://www.reddit.com/r/worldnews/.rss&quot;&lt;/span&gt; nil nil nil)
     (&lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;Reddit - Math&quot;&lt;/span&gt;
      &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;http://www.reddit.com/r/math/.rss&quot;&lt;/span&gt; nil nil nil)
     (&lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;Reddit - Programming&quot;&lt;/span&gt;
      &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;http://www.reddit.com/r/programming/.rss&quot;&lt;/span&gt; nil nil nil)
     (&lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;OSNews&quot;&lt;/span&gt;
      &lt;span style=&quot;color: #ffa07a;&quot;&gt;&quot;http://www.osnews.com/files/recent.xml&quot;&lt;/span&gt; nil nil nil))))

(&lt;span style=&quot;color: #00ffff; font-weight: bold;&quot;&gt;provide&lt;/span&gt; '&lt;span style=&quot;color: #7fffd4;&quot;&gt;rc-newsticker&lt;/span&gt;)
&lt;span style=&quot;color: #ff4500; font-style: italic;&quot;&gt;;;; &lt;/span&gt;&lt;span style=&quot;color: #ff4500; font-style: italic;&quot;&gt;rc-newsticker.el ends here
&lt;/span&gt;&lt;/pre&gt;&lt;/b&gt;&lt;br /&gt;&lt;/font&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;a name=&quot;cutid1-end&quot;&gt;&lt;/a&gt;</content>
		<author>
			<name>grep_z</name>
			<uri>http://grep-z.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Дырявый рюкзак</title>
			<subtitle type="html">grep_z</subtitle>
			<link rel="self" href="http://grep-z.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:grep_z</id>
		</source>
	</entry>

	<entry>
		<title type="html">grep_z: email indexer - notmuch</title>
		<link href="http://grep-z.livejournal.com/79578.html"/>
		<id>urn:lj:livejournal.com:atom1:grep_z:79578</id>
		<updated>2010-10-03T04:00:38+00:00</updated>
		<content type="html">Чисто в тексте выглядит интересно: &lt;a href=&quot;http://notmuchmail.org/&quot; rel=&quot;nofollow&quot;&gt;http://notmuchmail.org/&lt;/a&gt;&lt;br /&gt;Оптимизация, все дела, интеграция с емаксом.&lt;br /&gt;Обязательно попробую, хотя мне пока и wanderlust за глаза хватает, почты от силы на 4k единиц в месяц, плюс архивирование большей части.</content>
		<author>
			<name>grep_z</name>
			<uri>http://grep-z.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Дырявый рюкзак</title>
			<subtitle type="html">grep_z</subtitle>
			<link rel="self" href="http://grep-z.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:grep_z</id>
		</source>
	</entry>

	<entry>
		<title type="html">Ruslan Kosolapov: fun: weather widget for emacs :)</title>
		<link href="http://grundik.livejournal.com/473626.html"/>
		<id>urn:lj:livejournal.com:atom1:grundik:473626</id>
		<updated>2010-09-09T02:58:08+00:00</updated>
		<content type="html">&lt;a href=&quot;http://julien.danjou.info/blog/index.html#Emacs%2C%20Org%2C%20whatever%20the%20weather%21&quot; rel=&quot;nofollow&quot;&gt;&lt;img src=&quot;http://julien.danjou.info/images/org-google-weather.png&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Просто прикольно :)&lt;br /&gt;&lt;br /&gt;PS: по клике на картинку - не только про погоду, но и про google maps в emacs-е.</content>
		<author>
			<name>Ruslan Kosolapov</name>
			<uri>http://grundik.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">rk lj</title>
			<subtitle type="html">Ruslan Kosolapov</subtitle>
			<link rel="self" href="http://grundik.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:grundik</id>
		</source>
	</entry>

	<entry>
		<title type="html">Ilya Zonov: Отключение поиска по ctrl-e на Nokia N810</title>
		<link href="http://puzan-linux.blogspot.com/2010/09/ctrl-e-nokia-n810.html"/>
		<id>tag:blogger.com,1999:blog-2234680370109188555.post-6249946086363814857</id>
		<updated>2010-09-02T13:36:20+00:00</updated>
		<content type="html">&lt;p&gt;Тоже из  старых заметок. На &lt;em&gt;N810&lt;/em&gt;  интенсивно пользуюсь &lt;strong&gt;emacs&lt;/strong&gt; из  консоли. Но при
нажатии &lt;em&gt;C-e&lt;/em&gt;  в таком  случае появляется окно  поиска &lt;strong&gt;maemo&lt;/strong&gt;.  Это  естественно не
удобно.  Для отключения надо сделать следующее:&lt;/p&gt;

&lt;pre class=&quot;src&quot;&gt;$ gconftool -s /apps/osso/keybindings/global/osso-global-search --type=string ''
&lt;/pre&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/2234680370109188555-6249946086363814857?l=puzan-linux.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>puzan</name>
			<email>noreply@blogger.com</email>
			<uri>http://puzan-linux.blogspot.com/search/label/emacs</uri>
		</author>
		<source>
			<title type="html">Линукс штуки!</title>
			<subtitle type="html">Полезные штуки в линукс... найденные и проверенные в gentoo!</subtitle>
			<link rel="self" href="http://www.blogger.com/feeds/2234680370109188555/posts/default/-/emacs"/>
			<id>tag:blogger.com,1999:blog-2234680370109188555</id>
		</source>
	</entry>

	<entry>
		<title type="html" xml:lang="ru-RU">Ermine: Как уныло быть веб-девелопером</title>
		<link href="http://jabber-ru.ya.ru/replies.xml?item_no=4817"/>
		<id>ya.ru:20534640:4817</id>
		<updated>2010-08-17T14:21:46+00:00</updated>
		<content type="html">&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;Пару дней потратила на то, чтобы приручить firebug. В поисках решения проблем с неприручаемостью firebug научилась более изящно перекрашивать сам файрфокс, отловила пару мелких бажков в своих &quot;учебных&quot; страничках с учебным же CSS, и решила пока забыть про firebug как про страшный сон. Не смогла найти, откуда растут ноги у цвета фона, например, в Console - он мерзкого белого цвета.&lt;br /&gt;Досталось и емаксу - в режиме редактирования CSS на файле userContent.css (перекрашивает хтмл в файрфоксе) емакс стабильно зависает.&lt;br /&gt;Кароче, всё плохо!</content>
		<author>
			<name>Ermine</name>
			<uri>http://jabber-ru.ya.ru/</uri>
		</author>
		<source>
			<title type="html">ǝuıɯɹǝ</title>
			<subtitle type="html">Солнца становится все меньше, и это замечательно! Посмотрите в окно - сумеречно, ничто не слепит глаза и не надо жмуриться.</subtitle>
			<link rel="self" href="http://jabber-ru.ya.ru/rss/posts.xml?cat_id=881431"/>
			<id>http://jabber-ru.ya.ru/</id>
		</source>
	</entry>

	<entry>
		<title type="html" xml:lang="ru-RU">Ermine: </title>
		<link href="http://jabber-ru.ya.ru/replies.xml?item_no=4815"/>
		<id>ya.ru:20534640:4815</id>
		<updated>2010-08-14T20:30:43+00:00</updated>
		<content type="html">&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;Привинтила к емаксу auto-complete и срязу потеряла курсор. Потратила полчаса на перекраску визуальных элементов автокомплита. Сакс.</content>
		<author>
			<name>Ermine</name>
			<uri>http://jabber-ru.ya.ru/</uri>
		</author>
		<source>
			<title type="html">ǝuıɯɹǝ</title>
			<subtitle type="html">Солнца становится все меньше, и это замечательно! Посмотрите в окно - сумеречно, ничто не слепит глаза и не надо жмуриться.</subtitle>
			<link rel="self" href="http://jabber-ru.ya.ru/rss/posts.xml?cat_id=881431"/>
			<id>http://jabber-ru.ya.ru/</id>
		</source>
	</entry>

	<entry>
		<title type="html">13-49: Емакс</title>
		<link href="http://13-49.livejournal.com/160643.html"/>
		<id>urn:lj:livejournal.com:atom1:13_49:160643</id>
		<updated>2010-05-17T12:48:23+00:00</updated>
		<content type="html">&lt;small&gt;14:18 17.05.2010&lt;/small&gt;&lt;br /&gt;
&lt;b&gt;&lt;a href=&quot;http://13-49-ru.blogspot.com/2010/05/blog-post_17.html&quot; rel=&quot;nofollow&quot;&gt;Емакс&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
Решил не связываться с 23.2 из rawhide (у меня f13), скачал тарболл и собрал руками. Теперь запускается вот так :)&lt;span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span&gt;$ ~/src/emacs/emacs/src/emacs&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;В третьем тысячелетии на современном железе отрисовка в Емаксе тормозит  =( Но это виноват драйвер интеловской видюхи. Опять посещают крамольные мысли о source-based дистре.&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/7166210421862172389-5013960129036679423?l=13-49-ru.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;
&lt;br clear=&quot;all&quot; /&gt;
&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://13-49-ru.blogspot.com/2010/05/blog-post_17.html&quot; rel=&quot;nofollow&quot;&gt;read more&lt;/a&gt; at &lt;a href=&quot;http://13-49-ru.blogspot.com/&quot; rel=&quot;nofollow&quot;&gt;Не люблю проприетарщину/покажи свои сорцы&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;&lt;div align=&quot;right&quot;&gt;&lt;small&gt;&lt;a href=&quot;http://rss2lj.net/&quot; rel=&quot;nofollow&quot;&gt;rss2lj&lt;/a&gt;&lt;/small&gt;&lt;/div&gt;</content>
		<author>
			<name>Не люблю проприетарщину/покажи свои сорцы</name>
			<uri>http://13-49.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Не люблю проприетарщину/покажи свои сорцы</title>
			<subtitle type="html">Не люблю проприетарщину/покажи свои сорцы</subtitle>
			<link rel="self" href="http://13-49.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:13_49</id>
		</source>
	</entry>

	<entry>
		<title type="html">SXEmacsen: Гестуры в xwem</title>
		<link href="http://sxemacsen.blogspot.com/2010/04/xwem.html"/>
		<id>tag:blogger.com,1999:blog-4022155443158713503.post-4526822744656780930</id>
		<updated>2010-04-22T19:51:42+00:00</updated>
		<content type="html">&lt;div&gt;


&lt;p class=&quot;fl&quot;&gt;Совсем забыл про классную фукнциональность в xwem — гестуры &lt;acronym title=&quot;Also Known As&quot;&gt;aka&lt;/acronym&gt; strokes.   Это когда рисуешь что-нибудь на экране, а у тебя выполняется какая-нибудь команда.  В родном (S)XEmacs есть поддержка, но она конечно далека от идела с точки зрения пользовательского интерфейса, зато дало нужную функциональность для реализации гестур в xwem.&lt;/p&gt;&lt;p&gt;Вот список гестур, которыми я пользуюсь:&lt;/p&gt;&lt;div align=&quot;center&quot; class=&quot;figure&quot;&gt;&lt;img alt=&quot;global strokes&quot; src=&quot;http://lgarc.narod.ru/sxemacsen/img/xwem-strokes/global-strokes.png&quot; style=&quot;width: 603px; height: 231px;&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Глобальные гестуры&lt;/p&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;figure&quot;&gt;&lt;img alt=&quot;xemacs strokes&quot; src=&quot;http://lgarc.narod.ru/sxemacsen/img/xwem-strokes/xemacs-strokes.png&quot; style=&quot;width: 616px; height: 40px;&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Гестуры локальные для xemacs фреймов&lt;/p&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;figure&quot;&gt;&lt;img alt=&quot;gv strokes&quot; src=&quot;http://lgarc.narod.ru/sxemacsen/img/xwem-strokes/gv-strokes.png&quot; style=&quot;width: 607px; height: 104px;&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Гестуры локальные для ghostview приложений&lt;/p&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;figure&quot;&gt;&lt;img alt=&quot;opera strokes&quot; src=&quot;http://lgarc.narod.ru/sxemacsen/img/xwem-strokes/opera-strokes.png&quot; style=&quot;width: 604px; height: 198px;&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Гестуры локальные для бравзера opera&lt;/p&gt;&lt;/div&gt;&lt;div align=&quot;center&quot; class=&quot;figure&quot;&gt;&lt;img alt=&quot;firefox strokes&quot; src=&quot;http://lgarc.narod.ru/sxemacsen/img/xwem-strokes/firefox-strokes.png&quot; style=&quot;width: 604px; height: 200px;&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Гестуры локальные для бравзера firefox&lt;/p&gt;&lt;/div&gt;&lt;p&gt;Скачать эти гестуры можно &lt;a class=&quot;reference external&quot; href=&quot;http://lgarc.narod.ru/sxemacs/dot.strokes&quot;&gt;тут&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Как видно из скринов, гестуры в xwem достаточно прокаченные: они могут запускать команды, произвольные e-lisp выражения, эмулировать нажатия кнопок, а также вводить в текущее приложение всякие строки (на скринах нет такого варианта гестуры).&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/4022155443158713503-4526822744656780930?l=sxemacsen.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>lg</name>
			<email>noreply@blogger.com</email>
			<uri>http://sxemacsen.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">SXEmacsen</title>
			<subtitle type="html">Блог о SXEmacs на русском языке</subtitle>
			<link rel="self" href="http://www.blogger.com/feeds/4022155443158713503/posts/default"/>
			<id>tag:blogger.com,1999:blog-4022155443158713503</id>
		</source>
	</entry>

	<entry>
		<title type="html">SXEmacsen: SXEmacs живёт</title>
		<link href="http://sxemacsen.blogspot.com/2010/04/sxemacs.html"/>
		<id>tag:blogger.com,1999:blog-4022155443158713503.post-1005535457145366097</id>
		<updated>2010-04-02T23:19:28+00:00</updated>
		<content type="html">&lt;div&gt;


&lt;p class=&quot;fl&quot;&gt;После некоторого затишья проект SXEmacs продолжил развитие.  Появились merge-requestы и что-то всё таки делается.  Залили мои патчи к &lt;acronym title=&quot;Foreign function interface&quot;&gt;FFI&lt;/acronym&gt;, которые реализуют новый тип &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;safe-string&lt;/span&gt;&lt;/tt&gt; в помощь дядьке, который пишет &lt;acronym title=&quot;Foreign function interface&quot;&gt;FFI&lt;/acronym&gt; к &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;libdbus&lt;/span&gt;&lt;/tt&gt;.  Так же в &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;Wand-mode&lt;/span&gt;&lt;/tt&gt; я добавил поддержку модного liquid scale, кто не знает, то это выглядит &lt;a class=&quot;reference external&quot; href=&quot;http://www.youtube.com/watch?v=tStUYQ-70zQ&quot;&gt;вот так&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Кстати, я наконец-то придумал как можно использовать &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;wand-button&lt;/span&gt;&lt;/tt&gt; в стандартном &lt;tt class=&quot;docutils literal&quot;&gt;&lt;span class=&quot;pre&quot;&gt;customize&lt;/span&gt;&lt;/tt&gt;!&lt;/p&gt;

    &lt;/div&gt;
  &lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/4022155443158713503-1005535457145366097?l=sxemacsen.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>lg</name>
			<email>noreply@blogger.com</email>
			<uri>http://sxemacsen.blogspot.com/</uri>
		</author>
		<source>
			<title type="html">SXEmacsen</title>
			<subtitle type="html">Блог о SXEmacs на русском языке</subtitle>
			<link rel="self" href="http://www.blogger.com/feeds/4022155443158713503/posts/default"/>
			<id>tag:blogger.com,1999:blog-4022155443158713503</id>
		</source>
	</entry>

	<entry>
		<title type="html">Oleksandr Gavenko: Переход на GNU Emacs 23.1 в Windows.</title>
		<link href="http://brain-break-ru.blogspot.com/2009/08/gnu-emacs-231-windows.html"/>
		<id>tag:blogger.com,1999:blog-6734527039160439299.post-6022454952108530546</id>
		<updated>2010-03-17T21:25:24+00:00</updated>
		<content type="html">Переход с версий 22.x на недавно вышедший релиз GNU Emacs 23.1 прошел гладко за исколючением двух моментов.
&lt;div class=&quot;fullpost&quot;&gt;
&lt;p&gt;
Первое с чем пришлось столкнутся это сообщение об ошибке при выполнении функции &lt;code&gt;(server-start)&lt;/code&gt;:
&lt;/p&gt;&lt;div id=&quot;code&quot;&gt;error: The directory e:/home/.emacs.d/server is unsafe
&lt;/div&gt;
Проблема расположена в функции &lt;code&gt;server-ensure-safe-dir&lt;/code&gt;:
&lt;div id=&quot;code&quot;&gt;    (unless (and (eq t (car attrs)) &lt;span style=&quot;color: red;&quot;&gt;(eql (nth 2 attrs) (user-uid))&lt;/span&gt;
                 (or (eq system-type 'windows-nt)
                     (zerop (logand ?\077 (file-modes dir)))))
      (error &quot;The directory %s is unsafe&quot; dir))))
&lt;/div&gt;
На &lt;a href=&quot;http://stackoverflow.com/questions/885793/emacs-error-when-calling-server-start&quot;&gt;stackoverflow.com&lt;/a&gt; описано решение проблемы. Cледует удалить выделенный участок кода и обновить байткод (Emacs сначала ищет .elc файла и только затем .el, редактируем файл &lt;code&gt;emacs-23.1/lisp/server.el&lt;/code&gt;, C-x byte-compile-file &amp;lt;Down&amp;gt; &amp;lt;Ret&amp;gt;).
&lt;p&gt;
Вторая проблема состояла в том что функция &lt;code&gt;codepage-setup&lt;/code&gt; устарела и ее определение исключили из дистрибутива. Теперь нет необходимости предварительно перед использованием кодовой страницы IBM cpXXX ее создавать! Для совместимости со
старыми версиями Emacs воспользуйтесь следующим кодом:
&lt;/p&gt;&lt;div id=&quot;code&quot;&gt;(when (&amp;lt;= emacs-major-version 22)
 (codepage-setup 866)
 (codepage-setup 1251)
 ) 
&lt;/div&gt;
&lt;p&gt;
Новость о релизе GNU Emacs 23.1:
&lt;a href=&quot;http://groups.google.com/group/gnu.emacs.announce/browse_thread/thread/c8ae7b91dc61c454&quot;&gt;groups.google.com&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;
&lt;b&gt;Update: 2010-03-17.&lt;/b&gt;
&lt;/p&gt;&lt;p&gt;
2009-09-19 был исправлен баг #4197 касающийся &lt;code&gt;server-ensure-safe-dir&lt;/code&gt;. Из ChangeLog:
&lt;/p&gt;&lt;div id=&quot;code&quot;&gt;This fixes bug#4197 (merged to bug#865, though not identical).
  * server.el (server-auth-dir): Add docstring note about FAT32.
  (server-ensure-safe-dir): Accept FAT32 directories as &quot;safe&quot;,
  but warn against using them.
&lt;/div&gt;
Также я нашел другой способ обойти эту проблему:
&lt;div id=&quot;code&quot;&gt;(require 'server)
(when (and (= emacs-major-version 23) (= emacs-minor-version 1) (equal window-system 'w32))
  (defun server-ensure-safe-dir (dir) &quot;Noop&quot; t)) ; Suppress error directory ~/.emacs.d/server is unsafe on windows.

(server-start)&lt;/div&gt;
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6734527039160439299-6022454952108530546?l=brain-break-ru.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>gavenkoa</name>
			<email>noreply@blogger.com</email>
			<uri>http://brain-break-ru.blogspot.com/search/label/emacs</uri>
		</author>
		<source>
			<title type="html">Brain Break (ru).</title>
			<subtitle type="html">it/security/free/math/sci/music
&lt;p&gt;
Русская версия &lt;a href=&quot;http://brain-break.blogspot.com&quot;&gt;brain-break.blogspot.com&lt;/a&gt;. Присоединяйтесь!&lt;/p&gt;</subtitle>
			<link rel="self" href="http://www.blogger.com/feeds/6734527039160439299/posts/default/-/emacs"/>
			<id>tag:blogger.com,1999:blog-6734527039160439299</id>
		</source>
	</entry>

	<entry>
		<title type="html">13-49: Emacs is so addictive</title>
		<link href="http://13-49.livejournal.com/140948.html"/>
		<id>urn:lj:livejournal.com:atom1:13_49:140948</id>
		<updated>2009-11-05T09:45:57+00:00</updated>
		<content type="html">Чем восхитительно плох Емакс - это подсаживание на иглу всё больше и больше. С удивлением недавно обнаружил, что при попытке написать коммит мессейдж на удалённой машине выскочил vim вместо привычного Емакса, и пальцы жмут несуществующие емаксовские комбинации. &quot;Это ж вим! Тут другие кнопки жать надо!&quot; - подумал я, и начал опять жать емаксовские распальцовки...&lt;br /&gt;&lt;br /&gt;Без везде доступного словаря и спеллчекера вообще хз, как с буржуями общаться...</content>
		<author>
			<name>Не люблю проприетарщину/покажи свои сорцы</name>
			<uri>http://13-49.livejournal.com/</uri>
		</author>
		<source>
			<title type="html">Не люблю проприетарщину/покажи свои сорцы</title>
			<subtitle type="html">Не люблю проприетарщину/покажи свои сорцы</subtitle>
			<link rel="self" href="http://13-49.livejournal.com/data/atom"/>
			<id>urn:lj:livejournal.com:atom1:13_49</id>
		</source>
	</entry>

	<entry>
		<title type="html">Kostafey: Компоновка CLASSPATH с помощью emacs и muCommander</title>
		<link href="http://kostafey.blogspot.com/2009/10/classpath-emacs-mucommander.html"/>
		<id>tag:blogger.com,1999:blog-6158999380322649405.post-882825887347017579</id>
		<updated>2009-10-07T09:00:16+00:00</updated>
		<content type="html">Вообще, CLASSPATH имеет по сути отношение к настоящей заметке как французское полусладкое к физике жидкости, но идея возникла именно в тот момент когда я в очередной раз компоновал CLASSPATH. На самом же деле объединением строк случается пользоваться не только и столько для этого. CLASSPATH - штука капризная. Бывает не любит пробелы или русские буквы в путях. А бывает этот фокус работает &quot;на ура&quot;. Конечно, традиционно стараешься этого избежать. Тем не менее, иногда необходимо сформировать строку, в которой должна быть записана &quot;пачка&quot;, &quot;jar-ников&quot;. Иногда, этот процесс приходится повторять... Иногда и не раз...&lt;br /&gt; Хочется этот процесс автоматизировать. Искать специализированные решения - несколько дико.&lt;br /&gt; В качестве файлового менеджера я использую  &lt;a href=&quot;http://www.mucommander.com/&quot;&gt;muCommander&lt;/a&gt;. Он реализует минимально необходимый набор функций файлового менеджера, не пытаясь стать системой по управлению ОС (аля TotalCommander), но и не столь аскетичен как dired (хотя, возможно, и менее гибок). Кроме того, cross-platform (java), распространяется под GPL. Настройка muCommander для того, чтобы emacs стал редактором по умолчанию, выглядит следующим образом:&lt;br /&gt;В ~\.mucommander\preferences.xml указывается&lt;br /&gt;&lt;blockquote&gt;&lt;div class=&quot;src&quot;&gt;&lt;pre&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nxml-element-local-name&quot;&gt;editor&lt;/span&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nxml-element-local-name&quot;&gt;use_custom&lt;/span&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;nxml-text&quot;&gt;true&lt;/span&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nxml-tag-slash&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;nxml-element-local-name&quot;&gt;use_custom&lt;/span&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nxml-element-local-name&quot;&gt;custom_command&lt;/span&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span class=&quot;nxml-text&quot;&gt;emacsclientw.exe -n &lt;/span&gt;&lt;span class=&quot;nxml-entity-ref-delimiter&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nxml-entity-ref-name&quot;&gt;quot&lt;/span&gt;&lt;span class=&quot;nxml-entity-ref-delimiter&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;nxml-text&quot;&gt;$f&lt;/span&gt;&lt;span class=&quot;nxml-entity-ref-delimiter&quot;&gt;&amp;amp;&lt;/span&gt;&lt;span class=&quot;nxml-entity-ref-name&quot;&gt;quot&lt;/span&gt;&lt;span class=&quot;nxml-entity-ref-delimiter&quot;&gt;;&lt;/span&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nxml-tag-slash&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;nxml-element-local-name&quot;&gt;custom_command&lt;/span&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;nxml-tag-slash&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;nxml-element-local-name&quot;&gt;editor&lt;/span&gt;&lt;span class=&quot;nxml-tag-delimiter&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt; Возвращаемся к CLASSPATH. Находясь в директории библиотеки, например C:\JavaLib\axis\ нажимаем (ключи я описал в стиле emacs, но все это, конечно, выполняется в muCommander):&lt;br /&gt; C-a&lt;br /&gt; M-S-c&lt;br /&gt;Это приведет к тому, что пути к файлам будут скопированы в буфер обмена. Переходим в некоторый буфер emacs, например,temp. Вставляем содержимое буфера обмена (C-v или C-y в зависимости от настроек). Его содержимое принимает следующий вид, например:&lt;br /&gt;&lt;pre&gt;&lt;span class=&quot;src&quot;&gt;C:\JavaLib\axis\axis-ant.jar&lt;br /&gt;C:\JavaLib\axis\axis.jar&lt;br /&gt;C:\JavaLib\axis\commons-discovery-0.2.jar&lt;br /&gt;C:\JavaLib\axis\commons-logging-1.0.4.jar&lt;br /&gt;C:\JavaLib\axis\jaxrpc.jar&lt;br /&gt;C:\JavaLib\axis\log4j-1.2.8.jar&lt;br /&gt;C:\JavaLib\axis\saaj.jar&lt;br /&gt;C:\JavaLib\axis\wsdl4j-1.5.1.jar&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Подобным образом дополняем список из библиотек других директорий.&lt;br /&gt;Ниже предлагается ряд функций. Может, это и не очень существенная разработка :), но для меня частота их использования конкурирует разьве только что с к командами движения курсора.&lt;br /&gt;&lt;blockquote&gt;&lt;div class=&quot;src&quot;&gt;&lt;pre&gt;&lt;span class=&quot;comment-delimiter&quot;&gt;;;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;=============================================================================&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;comment-delimiter&quot;&gt;;; &lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;Join lines&lt;br /&gt;&lt;/span&gt;&lt;span class=&quot;comment-delimiter&quot;&gt;;;&lt;/span&gt;&lt;span class=&quot;comment&quot;&gt;=============================================================================&lt;br /&gt;&lt;/span&gt;(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;circle-processing&lt;/span&gt; (arg function)&lt;br /&gt;  &lt;span class=&quot;doc&quot;&gt;&quot;Circle call 'function' 'arg' times, default - once&quot;&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span class=&quot;keyword&quot;&gt;progn&lt;/span&gt;&lt;br /&gt;    (&lt;span class=&quot;keyword&quot;&gt;if&lt;/span&gt; arg&lt;br /&gt;        (setq times arg)&lt;br /&gt;      (setq times 1)) &lt;br /&gt;    (&lt;span class=&quot;keyword&quot;&gt;let&lt;/span&gt; (counter)&lt;br /&gt;      (&lt;span class=&quot;keyword&quot;&gt;dotimes&lt;/span&gt; (counter times)&lt;br /&gt;        (apply function nil)))))&lt;br /&gt;&lt;br /&gt;(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;join-next-line-space&lt;/span&gt; ()&lt;br /&gt;  &lt;span class=&quot;doc&quot;&gt;&quot;Joins next line with current with a space between them&quot;&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;    (&lt;span class=&quot;keyword&quot;&gt;progn&lt;/span&gt;&lt;br /&gt;      (end-of-line)&lt;br /&gt;      (next-line)&lt;br /&gt;      (join-line)))&lt;br /&gt;&lt;br /&gt;(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;join-next-line&lt;/span&gt; ()&lt;br /&gt;  &lt;span class=&quot;doc&quot;&gt;&quot;Joins next line with current without space between them&quot;&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span class=&quot;keyword&quot;&gt;progn&lt;/span&gt;&lt;br /&gt;      (join-next-line-space)&lt;br /&gt;      (delete-char 1)))&lt;br /&gt;&lt;br /&gt;(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;join-next-line-semicolon&lt;/span&gt; ()&lt;br /&gt;  &lt;span class=&quot;doc&quot;&gt;&quot;Joins next line with current with semicolon between them&quot;&lt;/span&gt;&lt;br /&gt;  (interactive)&lt;br /&gt;  (&lt;span class=&quot;keyword&quot;&gt;progn&lt;/span&gt;&lt;br /&gt;      (join-next-line)&lt;br /&gt;      (insert &lt;span class=&quot;string&quot;&gt;&quot;;&quot;&lt;/span&gt;)))&lt;br /&gt;&lt;br /&gt;(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;join-next-line-space-n&lt;/span&gt; (&lt;span class=&quot;type&quot;&gt;&amp;amp;optional&lt;/span&gt; arg)&lt;br /&gt;  &lt;span class=&quot;doc&quot;&gt;&quot;Joins number of next lines with current with a space between them&quot;&lt;/span&gt;&lt;br /&gt;  (interactive &lt;span class=&quot;string&quot;&gt;&quot;P&quot;&lt;/span&gt;)&lt;br /&gt;(circle-processing arg 'join-next-line-space))&lt;br /&gt;(global-set-key &lt;span class=&quot;string&quot;&gt;&quot;\C-j&quot;&lt;/span&gt; 'join-next-line-space-n)&lt;br /&gt;&lt;br /&gt;(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;join-next-line-n&lt;/span&gt; (&lt;span class=&quot;type&quot;&gt;&amp;amp;optional&lt;/span&gt; arg)&lt;br /&gt;  &lt;span class=&quot;doc&quot;&gt;&quot;Joins number of  next lines with current without space between them&quot;&lt;/span&gt;&lt;br /&gt;  (interactive &lt;span class=&quot;string&quot;&gt;&quot;P&quot;&lt;/span&gt;)&lt;br /&gt;(circle-processing arg 'join-next-line))&lt;br /&gt;(global-set-key &lt;span class=&quot;string&quot;&gt;&quot;\C-cj&quot;&lt;/span&gt; 'join-next-line-n)&lt;br /&gt;&lt;br /&gt;(&lt;span class=&quot;keyword&quot;&gt;defun&lt;/span&gt; &lt;span class=&quot;function-name&quot;&gt;join-next-line-semicolon-n&lt;/span&gt; (&lt;span class=&quot;type&quot;&gt;&amp;amp;optional&lt;/span&gt; arg)&lt;br /&gt;  &lt;span class=&quot;doc&quot;&gt;&quot;Joins number of  next lines with current with semicolon between them&quot;&lt;/span&gt;&lt;br /&gt;  (interactive &lt;span class=&quot;string&quot;&gt;&quot;P&quot;&lt;/span&gt;)&lt;br /&gt;(circle-processing arg 'join-next-line-semicolon))&lt;br /&gt;(global-set-key &lt;span class=&quot;string&quot;&gt;&quot;\C-c\C-j&quot;&lt;/span&gt; 'join-next-line-semicolon-n)&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;br /&gt;Так, точка в начале буфера. &lt;br /&gt;M-&amp;lt;число строк&amp;gt; C-c C-j (join-next-line-semicolon-n). &lt;br /&gt;CLASSPATH готов.&lt;br /&gt;Обратная задача - преобразование из строки в список удобный для чтения. Вставив строку CLASSPATH в буфер набираем:&lt;br /&gt;M-x replace-string ; &amp;lt;RET&amp;gt; ; C-q &amp;lt;RET&amp;gt; &amp;lt;RET&amp;gt;&lt;br /&gt;К сожалению, перевод строки и/или возврат каретки будет представлен в буфере символом ^M вместо собственно начала новой строки. Но скопировав этот фрагмент из emacs, текст представляется в том виде, в котором изначально и ожидалось.&lt;br /&gt;&lt;br /&gt;P.S. При поддержке emacs@conference.jabber.ru :)&lt;br /&gt;P.P.S. Комментарии приветствуются, прежде всего, по стилю написания на elisp (можно ли что-то упростить, унифицировать, etc).&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img alt=&quot;&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/6158999380322649405-882825887347017579?l=kostafey.blogspot.com&quot; width=&quot;1&quot; /&gt;&lt;/div&gt;</content>
		<author>
			<name>Kostafey</name>
			<email>noreply@blogger.com</email>
			<uri>http://kostafey.blogspot.com/search/label/Emacs</uri>
		</author>
		<source>
			<title type="html">Kostafey's Blog</title>
			<link rel="self" href="http://www.blogger.com/feeds/6158999380322649405/posts/default/-/Emacs"/>
			<id>tag:blogger.com,1999:blog-6158999380322649405</id>
		</source>
	</entry>

</feed>

