LINUX.ORG.RU

Вылетает после открытия\переоткрытия сессии

 ,


0

1

Если запустить просто emacs - всё нормально. Но если запустить emacs --daemon и потом emacsclient -tnw, и сделать sessions-open, то emacsclient завершает работу, после переподключения набрать опять sessions-open, то опять завершает работу

(setq-default sessions-path "~/.emacs.d/sessions")
(setq-default sessions-name nil)

(defun sessions-dir ()
 (concat sessions-path "/" sessions-name))


(defun sessions-list ()
  ; (directory-files sessions-path full "^\\([^.]\\|\\.[^.]\\|\\.\\..\\)" nosort))
  ; (filter-list (directory-files sessions-path) '("." "..")))
  ;; (directory-files "~/.emacs.d/sessions"))
  (directory-files (expand-file-name "~/.emacs.d/sessions") nil "^\\([^.]\\|\\.[^.]\\|\\.\\..\\)"))

(defun sessions ()
 (interactive)
 (message "Available sessions: %s" (sessions-list)))


(defun sessions-set-name (name)
 (interactive
  (list
   (completing-read "Enter session name: " (sessions-list))))
 (setq sessions-name name))


(defun sessions-name ()
 (interactive)
 (message "name: %s" sessions-name))


(defun sessions-save ()
 (interactive)
 (when (null sessions-name)
  (call-interactively 'sessions-set-name))
 (let ((dir (sessions-dir)))
  (mkdir dir t)
  (desktop-save dir))
 (sessions-name))


(defun sessions-close ()
 (interactive)
 (when (and sessions-name
        (y-or-n-p (concat "Save current session '" sessions-name "'?")))
  (call-interactively 'sessions-save)))


(defun sessions-open ()
 (interactive)
 (when sessions-name
  (call-interactively 'sessions-close))
 (call-interactively 'sessions-set-name)
 (desktop-change-dir (sessions-dir)))

(provide 'sessions)

★★★★

Ответ на: комментарий от bryak

По-моему дело было в сохранении фреймов. Убрал сохранение фреймов и всё стало ок.

Хм, выше моего понимания. А консольный (труконсольный) Emacs что творит?

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