<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0"><id>tag:blogger.com,1999:blog-3428512189619762096</id><updated>2012-05-21T21:41:39.907+06:00</updated><category term="runix" /><category term="обзор" /><category term="мысли" /><category term="emacs" /><category term="javascript" /><category term="Cloud storage" /><category term="php" /><category term="e-ink" /><category term="stumpwm" /><category term="latex" /><category term="conkeror" /><category term="lytdybr" /><category term="Google Drive" /><category term="lisp" /><category term="openinkpot" /><category term="weekend" /><category term="azbooka" /><category term="wanderlust" /><category term="ebook" /><category term="openstreetmap" /><category term="gps" /><category term="рекомендую" /><category term="jquery" /><category term="android" /><category term="pda" /><category term="книги" /><category term="time_management" /><category term="aspireone" /><category term="kernel" /><category term="навигация" /><category term="weekly" /><category term="archlinux" /><category term="soft" /><category term="zt180" /><category term="work" /><category term="gmail" /><category term="google" /><category term="presentations" /><title type="text">Unix Way</title><subtitle type="html">Some things about true unix way</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.elms.pro/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/search/label/emacs" /><author><name>Павел Вязовой</name><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="//lh3.googleusercontent.com/-C1DchELQims/AAAAAAAAAAI/AAAAAAAAA24/buc3SD462mo/s512-c/photo.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/vyazovoi-emacs" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="vyazovoi-emacs" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry><id>tag:blogger.com,1999:blog-3428512189619762096.post-8830682673026985527</id><published>2009-07-13T22:36:00.002+06:00</published><updated>2009-07-13T22:38:36.614+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="runix" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><title type="text">Elisp: twit.el bury-buffer</title><content type="html">Добавил пару строк в инициализационный файл emacs:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;;; Закрывать окно при сворачивании буфера в twit.el&lt;br /&gt;(defun my-twit-bury-buffer ()&lt;br /&gt;  (interactive)&lt;br /&gt;  (bury-buffer)&lt;br /&gt;  (delete-window))&lt;br /&gt;(setf (cdr (assoc 113 twit-status-mode-map)) 'my-twit-bury-buffer)&lt;br /&gt;(setf (cdr (assoc 113 twit-followers-mode-map)) 'my-twit-bury-buffer)&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3428512189619762096-8830682673026985527?l=blog.elms.pro' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.elms.pro/feeds/8830682673026985527/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://blog.elms.pro/2009/07/elisp-twitel-bury-buffer.html#comment-form" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/8830682673026985527" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/8830682673026985527" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/2009/07/elisp-twitel-bury-buffer.html" title="Elisp: twit.el bury-buffer" /><author><name>Павел Вязовой</name><uri>http://www.blogger.com/profile/02820257367130876355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-LJgT0wsYct8/TiulhFo76FI/AAAAAAAAEOc/EC1gCwps7cs/s220/avem_820.jpg" /></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3428512189619762096.post-3506215479532137503</id><published>2009-07-09T15:43:00.003+06:00</published><updated>2009-07-09T15:47:50.577+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="runix" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><category scheme="http://www.blogger.com/atom/ns#" term="conkeror" /><title type="text">Conkeror - включение/отключение картинок</title><content type="html">Как-то так:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;interactive("toggle-images", "0 (default): Load all images; 1: Load images from same (originating) server only; 2: Do not load any images",&lt;br /&gt;     function (I) {&lt;br /&gt;         user_pref('permissions.default.image', parseInt(yield I.minibuffer.read($prompt = "0, 1 or 2: ");));&lt;br /&gt;     });&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3428512189619762096-3506215479532137503?l=blog.elms.pro' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.elms.pro/feeds/3506215479532137503/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://blog.elms.pro/2009/07/conkeror.html#comment-form" title="Комментарии: 3" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/3506215479532137503" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/3506215479532137503" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/2009/07/conkeror.html" title="Conkeror - включение/отключение картинок" /><author><name>Павел Вязовой</name><uri>http://www.blogger.com/profile/02820257367130876355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-LJgT0wsYct8/TiulhFo76FI/AAAAAAAAEOc/EC1gCwps7cs/s220/avem_820.jpg" /></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3428512189619762096.post-1399266015672391257</id><published>2009-07-03T18:50:00.001+06:00</published><updated>2009-07-03T18:50:59.336+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="runix" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><title type="text">Elisp: аплоад файлов на twitpic для twit.el</title><content type="html">    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;      &lt;p&gt;Сделал загрузку изображений на &lt;a href='http://www.twitpic.com/'&gt;twitpic&lt;/a&gt;. Логин и пароль от twitter используются из настроек &lt;a href='http://www.emacswiki.org/emacs/TwIt'&gt;twit.el&lt;/a&gt;. Если эти настройки не установлены, спрашивает в минибуффере.&lt;/p&gt;&lt;p&gt;Для отправки post-запросов просмотрел несколько вариантов и проще всего для этой задачи оказалось дергать curl через shell-command.&lt;/p&gt;&lt;p&gt;Функция twitpic-upload-and-post загружает изображение и отправляет сообщение в twitter (с описанием, которое пользователь может ввести в минибуффер).&lt;/p&gt;&lt;p&gt;Функция twitpic-upload только загружает.&lt;/p&gt;&lt;p&gt;&lt;a href='http://sites.google.com/a/vyazovoi.info/main/articles/twitpic.el?attredirects=0'&gt;Скачать&lt;/a&gt;&lt;/p&gt;    &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3428512189619762096-1399266015672391257?l=blog.elms.pro' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.elms.pro/feeds/1399266015672391257/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://blog.elms.pro/2009/07/elisp-twitpic-twitel.html#comment-form" title="Комментарии: 4" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/1399266015672391257" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/1399266015672391257" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/2009/07/elisp-twitpic-twitel.html" title="Elisp: аплоад файлов на twitpic для twit.el" /><author><name>Павел Вязовой</name><uri>http://www.blogger.com/profile/02820257367130876355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-LJgT0wsYct8/TiulhFo76FI/AAAAAAAAEOc/EC1gCwps7cs/s220/avem_820.jpg" /></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3428512189619762096.post-9191364840957251577</id><published>2009-06-29T12:10:00.002+06:00</published><updated>2009-06-29T12:21:54.746+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="runix" /><category scheme="http://www.blogger.com/atom/ns#" term="wanderlust" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><title type="text">Elisp: меняем настройки Wanderlust при переходе по папкам</title><content type="html">Я использую два разных imap-ящика и не нашёл в wanderlust способа настроить отдельную папку Trash для каждого из них. Пришлось выкручиваться.&lt;br /&gt;&lt;br /&gt;Функция для получения petname (название, alias) текущей папки:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;(wl-folder-get-petname (elmo-folder-name-internal&lt;br /&gt;        wl-summary-buffer-elmo-folder))&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Использовать можно как-то так:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;(defun vyazovoi/wl-folder-switch ()&lt;br /&gt;  (setq my-wl-current-petname (wl-folder-get-petname (elmo-folder-name-internal&lt;br /&gt;            wl-summary-buffer-elmo-folder)))&lt;br /&gt;  (cond ((equal my-wl-current-petname "INBOX@domain")&lt;br /&gt;         (message "Настройки для domain"))&lt;br /&gt; ((equal my-wl-current-petname "INBOX@gmail")&lt;br /&gt;         (message "Настройки для gmail"))&lt;br /&gt; (t&lt;br /&gt;  (message "Настройки по умолчанию"))))&lt;br /&gt;&lt;br /&gt;(add-hook 'wl-summary-prepared-hook 'vyazovoi/wl-folder-switch)&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Я таким образом перенастраиваю папки Trash и Drafts, настройки smtp, поле from, подпись и др.&lt;br /&gt;&lt;br /&gt;P.S. Можно также использовать переменную wl-draft-parent-folder, но она локальная в буфере draft, так что, например, папку Trash с её помощью менять смысла нет.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3428512189619762096-9191364840957251577?l=blog.elms.pro' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.elms.pro/feeds/9191364840957251577/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://blog.elms.pro/2009/06/elisp-wanderlust.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/9191364840957251577" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/9191364840957251577" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/2009/06/elisp-wanderlust.html" title="Elisp: меняем настройки Wanderlust при переходе по папкам" /><author><name>Павел Вязовой</name><uri>http://www.blogger.com/profile/02820257367130876355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-LJgT0wsYct8/TiulhFo76FI/AAAAAAAAEOc/EC1gCwps7cs/s220/avem_820.jpg" /></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3428512189619762096.post-3531599958029670413</id><published>2009-06-22T16:36:00.002+06:00</published><updated>2009-06-22T17:14:55.023+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="lisp" /><category scheme="http://www.blogger.com/atom/ns#" term="runix" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><title type="text">Хинт для ввода lisp-скобочек</title><content type="html">&lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;      &lt;p&gt;Теперь я всерьез взялся за изучение лиспа. Начал с common lisp и прочтения PCL. Первым делом после изучения примеров из книги решил настроить Slime. Откопал &lt;a href='http://www.cliki.net/Editing%20Lisp%20Code%20with%20Emacs'&gt;туториал&lt;/a&gt;, из которого меня очень порадовал такой хинт:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt; (define-key slime-mode-map (kbd "[") 'insert-parentheses)&lt;br /&gt;(define-key slime-mode-map (kbd "]") 'move-past-close-and-reindent)&lt;br /&gt;(define-key slime-mode-map (kbd "(") (lambda () (interactive) (insert "[")))&lt;br /&gt;(define-key slime-mode-map (kbd ")") (lambda () (interactive) (insert "]")))&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Там ещё есть интересные хинты, отличный материал =)&lt;/p&gt;    &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3428512189619762096-3531599958029670413?l=blog.elms.pro' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.elms.pro/feeds/3531599958029670413/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://blog.elms.pro/2009/06/lisp.html#comment-form" title="Комментарии: 2" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/3531599958029670413" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/3531599958029670413" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/2009/06/lisp.html" title="Хинт для ввода lisp-скобочек" /><author><name>Павел Вязовой</name><uri>http://www.blogger.com/profile/02820257367130876355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-LJgT0wsYct8/TiulhFo76FI/AAAAAAAAEOc/EC1gCwps7cs/s220/avem_820.jpg" /></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3428512189619762096.post-2304984109960528938</id><published>2009-06-21T11:17:00.006+06:00</published><updated>2009-06-21T11:49:14.968+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="runix" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><category scheme="http://www.blogger.com/atom/ns#" term="conkeror" /><title type="text">Подписка на rss в conkeror с помощью greasemonkey-скрипта</title><content type="html">Захотелось сделать в conkeror подписку на rss.&lt;br /&gt;С google reader все просто - можно использовать &lt;a href="http://pavel.vyazovoi.info/articles/bukmarklety-v-sonkeror"&gt;букмарклет&lt;/a&gt;, но иногда нужно просто получить ссылку на rss.&lt;br /&gt;&lt;br /&gt;Для выковыривания rss-ссылок из хедера воспользовался примером из &lt;a href="http://userscripts.org/scripts/review/40077"&gt;greasemonkey-скрипта&lt;/a&gt; и вот что получилось (добавлять в конфиг): &lt;a href="http://pavel.vyazovoi.info/articles/rss.txt?attredirects=0"&gt;rss.txt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Хорошо бы вызывать эту функцию хуком. Только я не понял как можно в функции обращаться к объекту document, единственный увиденный мной способ: передать I.buffer.document в функцию. Но I.buffer.document это объект, доступный только в контексте интерактивных функций, как поступать в случае с хуком я пока не разобрался.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3428512189619762096-2304984109960528938?l=blog.elms.pro' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.elms.pro/feeds/2304984109960528938/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://blog.elms.pro/2009/06/conkeror-rss.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/2304984109960528938" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/2304984109960528938" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/2009/06/conkeror-rss.html" title="Подписка на rss в conkeror с помощью greasemonkey-скрипта" /><author><name>Павел Вязовой</name><uri>http://www.blogger.com/profile/02820257367130876355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-LJgT0wsYct8/TiulhFo76FI/AAAAAAAAEOc/EC1gCwps7cs/s220/avem_820.jpg" /></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3428512189619762096.post-5544855638593061360</id><published>2009-06-19T18:07:00.001+06:00</published><updated>2009-06-19T18:07:39.777+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="runix" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><category scheme="http://www.blogger.com/atom/ns#" term="google" /><title type="text">Emacs и google wave</title><content type="html">    &lt;div xmlns='http://www.w3.org/1999/xhtml'&gt;      &lt;p&gt;А в &lt;a href='http://emacswiki.org'&gt;emacswiki&lt;/a&gt; уже &lt;a href='http://www.emacswiki.org/emacs/Google_Wave_for_Emacs'&gt;обсуждают&lt;/a&gt; интеграцию &lt;a href='http://wave.google.com'&gt;google wave&lt;/a&gt; в Emacs. =)&lt;/p&gt;&lt;p&gt;На этой wiki-страничке дали ссылку на уже существующую систему, похожую на google wave, для которой есть клиент на emacs lisp: &lt;a href='http://www.lysator.liu.se/lyskom/index-en.html'&gt;LysKOM&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;Кто-нибудь видел это?&lt;/p&gt;    &lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3428512189619762096-5544855638593061360?l=blog.elms.pro' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.elms.pro/feeds/5544855638593061360/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://blog.elms.pro/2009/06/emacs-google-wave.html#comment-form" title="Комментарии: 0" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/5544855638593061360" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/5544855638593061360" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/2009/06/emacs-google-wave.html" title="Emacs и google wave" /><author><name>Павел Вязовой</name><uri>http://www.blogger.com/profile/02820257367130876355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-LJgT0wsYct8/TiulhFo76FI/AAAAAAAAEOc/EC1gCwps7cs/s220/avem_820.jpg" /></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3428512189619762096.post-1937009495908217634</id><published>2009-06-18T20:56:00.002+06:00</published><updated>2009-06-19T10:32:47.608+06:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="runix" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><category scheme="http://www.blogger.com/atom/ns#" term="conkeror" /><title type="text">Сессии в conkeror</title><content type="html">&lt;p&gt;В emacs-like браузере &lt;a href='http://conkeror.org'&gt;conkeror&lt;/a&gt; появились зачатки работы с сессиями.&lt;/p&gt; &lt;p&gt;Уже сейчас можно вручную или автоматически сохранить все открытые буферы. Правда автоматическое сохранение работает только при выходе из conkeror через функцию quit. Если просто закрыть окно или, тем более, упадут иксы - сессия не сохранится.&lt;/p&gt; &lt;p&gt;Теперь хоть можно браузер закрыть, не запоминая что там было открыто. &lt;a href='http://conkeror.org/Sessions '&gt;Страница&lt;/a&gt; с описанием модуля сессий.&lt;/p&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;strong&gt;UPD:&lt;/strong&gt; сессия автоматически сохраняется каждый раз, когда создается новый буфер или меняется адрес буфера, так что почти идеальный вариант.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3428512189619762096-1937009495908217634?l=blog.elms.pro' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.elms.pro/feeds/1937009495908217634/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://blog.elms.pro/2009/06/conkeror_18.html#comment-form" title="Комментарии: 4" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/1937009495908217634" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/1937009495908217634" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/2009/06/conkeror_18.html" title="Сессии в conkeror" /><author><name>Павел Вязовой</name><uri>http://www.blogger.com/profile/02820257367130876355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-LJgT0wsYct8/TiulhFo76FI/AAAAAAAAEOc/EC1gCwps7cs/s220/avem_820.jpg" /></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3428512189619762096.post-8000481892768329949</id><published>2009-02-07T15:28:00.003+05:00</published><updated>2009-03-02T12:23:02.810+05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="runix" /><category scheme="http://www.blogger.com/atom/ns#" term="emacs" /><title type="text">Не-интерактивный jabber-read-account</title><content type="html">Я часто пользуюсь некоторыми jabber-ботами в emacs-jabber и мне захотелось забиндить хоткеи для быстрого вызова чата с ними.&lt;br /&gt;Для этого служит функция jabber-chat-with, которая в качестве аргумента принимает jc и jid.&lt;br /&gt;С jid все понятно - это string аргумент с jid получателя, а вот с jc ситуация сложнее. jc это список jabber-connections, каждый элемент коготорого в свою очередь список из параметров jabber-соединения. Все усложняется тем, что этот список каждый раз меняется, он зависит от порядка, в котором соединились ваши аккаунты.&lt;br /&gt;Для получения этого jc из jabber-connections используется функция jabber-read-account. Если у вас больше одного аккаунта, то эта функция может взять jabber connection из положения курсора в ростере, активного буффера или интерактивно спрашивает jid. Работать не-интерактивно, принимая в качестве аргумента ваш jid, она не умеет.&lt;br /&gt;&lt;br /&gt;Для биндинга клавиш понадобился не-интерактивный вариант, который принимает в качестве аргумента jid и возвращает jc, вот он:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;(defun my-jabber-read-account (my-jid)&lt;br /&gt;  (let ((my-jid-list&lt;br /&gt;         (mapcar (lambda (c)&lt;br /&gt;                   (cons&lt;br /&gt;                    (jabber-connection-bare-jid c)&lt;br /&gt;                    c))&lt;br /&gt;                 jabber-connections)))&lt;br /&gt;    (cdr (assoc my-jid my-jid-list))))&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Использовать например так:&lt;br /&gt;&lt;pre&gt;&lt;code&gt; ; Открыть буффер чата с juick@juick.com через аккаунт vyazovoi@jabber.ru&lt;br /&gt;(global-set-key "\C-x\C-jj" '(lambda ()&lt;br /&gt;             (interactive)&lt;br /&gt;         (jabber-chat-with (my-jabber-read-account "vyazovoi@jabber.ru") "juick@juick.com")))&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;UPD:&lt;/span&gt; в cvs-версию emacs-jabber добавили функцию &lt;span style="font-weight:bold;"&gt;jabber-find-account&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3428512189619762096-8000481892768329949?l=blog.elms.pro' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.elms.pro/feeds/8000481892768329949/comments/default" title="Комментарии к сообщению" /><link rel="replies" type="text/html" href="http://blog.elms.pro/2009/02/jabber-read-account.html#comment-form" title="Комментарии: 1" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/8000481892768329949" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3428512189619762096/posts/default/8000481892768329949" /><link rel="alternate" type="text/html" href="http://blog.elms.pro/2009/02/jabber-read-account.html" title="Не-интерактивный jabber-read-account" /><author><name>Павел Вязовой</name><uri>http://www.blogger.com/profile/02820257367130876355</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://1.bp.blogspot.com/-LJgT0wsYct8/TiulhFo76FI/AAAAAAAAEOc/EC1gCwps7cs/s220/avem_820.jpg" /></author><thr:total>1</thr:total></entry></feed>

