LINUX.ORG.RU

emacs-snapshot


0

0

Установил себе emacs-snapshot из deb http://emacs.orebokech.com lenny main. Сабж вот в чем: команда

ls /usr/bin | grep emacs
выдает список

b2m.emacs-snapshot
ctags.emacs-snapshot
ebrowse.emacs-snapshot
emacs
emacsclient
emacsclient.emacs-snapshot
emacs-snapshot
emacs-snapshot-gtk
emacs-snapshot-x
etags.emacs-snapshot
grep-changelog.emacs-snapshot
rcs-checkin.emacs-snapshot

Подскажите пожалста, чем отличается emacs от emacs-snapshot и emacs-snapshot-gtk и emacs-snapshot-x, а также emacsclient от emacsclient.emacs-snapshot?


emacs и emacsclient - симлинки, нужны на случай, если установлено несколько версий emacs и надобно переключение между ними.

xetf ★★
()
Ответ на: комментарий от xetf

ах, ну да.. вот же балда, не додумался поставить флажок -l -- теперь все встало на свои места =)

emacs -> /etc/alternatives/emacs
emacsclient -> /etc/alternatives/emacsclient
emacs-snapshot -> /etc/alternatives/emacs-snapshot
emacs-snapshot-x -> emacs-snapshot-gtk

а в /etc/alternatives/

emacs -> /usr/bin/emacs-snapshot
emacsclient -> /usr/bin/emacsclient.emacs-snapshot
emacs-snapshot -> /usr/bin/emacs-snapshot-gtk

Спасибо! ..только вот еще вопрос. А вызывать emacsclient имеет смысл только из других приложений, чтобы не создавался отдельный процесс emacs-а, если он уже запущен ранее? А вы клиент-сервером emacs часто пользуетесь?

Corey
() автор топика
Ответ на: комментарий от Corey

>А вызывать emacsclient имеет смысл только из других приложений, чтобы не создавался отдельный процесс emacs-а, если он уже запущен ранее?

Да, только следует предварительно сделать M-x server-start. Emacs 23 из CVS вообще можно запускать демоном (emacs --daemon) а потом только к нему подключаться через emacsclient -c.

>А вы клиент-сервером emacs часто пользуетесь?

Я пока не очень к emacs привык, поэтому редко, чаще vim запускаю, если нужно быстро что-то подправить.

xetf ★★
()

Кстати актуальный вопрос. Вот у медя даже в "пуске" emacs(client) и emacs(gtk). Чем они отличаются? Разве не весь гном на gtk?

fasol8
()
Ответ на: комментарий от fasol8

man emacsclient. Клиенту при запуске передается имя файла, и он открывает этот файл в запущенной копии emacs. Оно надо для обеспечения интеграции с целой кучей всякого софта, консольного (mc, mutt, etc) и не очень (xdvi, например). В исксах клиент не нуждается, так что теоретически его применение позволяет использовать емакс в качестве редактора в любой программе, которой такой редактор нужен. При этом в качестве сервера может выступать как консольный вариант емакса, так и иксовый.

Сам emacs можно скомпилировать с не только с Gtk, но и, например, с FLTK (lucid), и еще с несколькими тулкитами (уже историческими?). От этого меняется внешний вид, а также аппетит до памяти (что с учетом другого запущенного ГТК-софта становится вопросом дискуссионным) и требования к наличию этих самых библиотек тулкитов (что для сферической установленной копии линукса в вакууме тоже странно).
-- К.О.

Sergius256
()
Ответ на: комментарий от xetf

> Emacs 23 из CVS вообще можно запускать демоном (emacs --daemon)

хм..ну, в принципе, удобно, если emacs запущен большую часть времени.

Corey
() автор топика
Ответ на: комментарий от Sergius256

Ага я понял, чтоб открыть фаил в уже открытом емаксе надо вызвать emacsclient <file> и перед этим в открытом емаксе ввести M-x server-start или в .emacs добавить строчку (server-start).

Но так и не ясно чем в пуске отличаются они. :)

fasol8
()

а кстати, у меня раньше тож из cvs был скомпилен emacs, но сейчас вот установлен снапшот из репо.. так вот. Появилось сообщение в *Messages*

Loading 00debian-vars...done
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...
Skipping dictionaries-common setup for emacs-snapshot
Loading /etc/emacs/site-start.d/50dictionaries-common.el (source)...done
Saving file /home/%username%/.emacs...
Wrote /home/%username%/.emacs

А никто не знает, что за словари он пытается загрузить? И что он записывает в мой ~/.emacs?

Corey
() автор топика
Ответ на: комментарий от Corey

а кстати вот он и /etc/emacs/site-start.d/50dictionaries-common.el

(let ((skip-emacs-flavors-list '(emacs19
             emacs20
             emacs-snapshot))
      (debian-dict-entries "/var/cache/dictionaries-common/emacsen-ispell-dicts.el"))
  (if (member debian-emacs-flavor skip-emacs-flavors-list)
      (message "Skipping dictionaries-common setup for %s" debian-emacs-flavor)

    (debian-pkg-add-load-path-item
     (concat "/usr/share/"
        (symbol-name debian-emacs-flavor)
        "/site-lisp/dictionaries-common"))

    (autoload 'flyspell-word "flyspell" nil t)
    (autoload 'flyspell-mode "flyspell" nil t)
    (autoload 'flyspell-prog-mode "flyspell" nil t)

    ;; Load the Debian emacsen cache file, containing entries for each
    ;; installed dictionary.
    ;; Since this might result in a call to debian-ispell do this only if
    ;; it exists, that is, if package is not removed

    (if (file-exists-p "/usr/share/emacs/site-lisp/dictionaries-common/debian-ispell.el")
   (let ((coding-system-for-read 'raw-text)) ;; Read these as data streams
     (load "debian-ispell" t)
     (load debian-dict-entries t))
      (message "Info: Package dictionaries-common removed but not purged."))))

смотрю M-x describe-variable debian-emacs-flavor:

debian-emacs-flavor's value is emacs-snapshot

Documentation:
A symbol representing the particular debian flavor of emacs running.
Something like 'emacs20, 'xemacs20, etc.

кстати у меня ls /etc | grep emacs выдает две папки: emacs и emacs-snapshot, так вот он почему-то лезет за конфигами в емакс.

Может, в снапшоте не используются ispell?

Corey
() автор топика
Ответ на: комментарий от Corey

>>Но так и не ясно чем в пуске отличаются они. :) >ты на хоткей повесь emacs и забудь ;)

Тогда можно еще штук десять ярлычков туда воткнуть флешмоба ради.

fasol8
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.