В колонках играет - Гражданская оборона/Беспонтовый пирожокСовсем недавно в портах обновился Firefox -- до 36.0, и ВНЕЗАПНО поломалось то, что раньше работало. При попытке открыть ссылку, брошенную в пиджин, тупо открывается новое пустое окошко фокса, а емакс просто делает вид, что пытается запустить новый экземпляр фокса, и ничего не происходит. Долго думал. Если с пиджином всё оказалось проще валенка -- достаточно было в настройках т.н. "Проводника" (блин, ну кто так переводит слово browser? повбывав бы...) вместо явно указанного файрфокса выбрать "Вручную" и в поле ввода написать "/usr/local/bin/firefox -new-tab %s", то с емаксом всё далеко не столь однозначно. Нарыл архиполезную
ссылку на EmacsWiki, где умные люди написали
"Changed again! In firefox/iceweasel 36 -remote is gone entirely" и привели полноценно работающую функцию browse-url-firefox. Уточняю: переопределение этой функции рекомендуется вставлять в .emacs ПЕРЕД определением custom-set-variables, чтобы browse-url-firefox гарантированно подхватилась в browse-url-browser-function.
Теперь у меня снова всё работает. 8-)
(defun browse-url-firefox (url &optional new-window)
"Ask the Firefox WWW browser to load URL.
Default to the URL around or before point. The strings in
variable `browse-url-firefox-arguments' are also passed to
Firefox.
When called interactively, if variable
`browse-url-new-window-flag' is non-nil, load the document in a
new Firefox window, otherwise use a random existing one. A
non-nil interactive prefix argument reverses the effect of
`browse-url-new-window-flag'.
If `browse-url-firefox-new-window-is-tab' is non-nil, then
whenever a document would otherwise be loaded in a new window, it
is loaded in a new tab in an existing window instead.
When called non-interactively, optional second argument
NEW-WINDOW is used instead of `browse-url-new-window-flag'."
(interactive (browse-url-interactive-arg "URL: "))
(setq url (browse-url-encode-url url))
(let* ((process-environment (browse-url-process-environment))
(window-args (if (browse-url-maybe-new-window new-window)
(if browse-url-firefox-new-window-is-tab
'("-new-tab")
'("-new-window"))))
(ff-args (append browse-url-firefox-arguments window-args (list url)))
(process-name (concat "firefox " url))
(process (apply 'start-process process-name nil
browse-url-firefox-program ff-args) )) ))