Changeset - 32f960186ab2
[Not reviewed]
0 2 1
Sergey Pashinin - 13 years ago 2013-05-07 02:07:29
sergey@pashinin.com
dired serialize in special buffers (could not restore remote dirs)
3 files changed with 35 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/workgroups-misc.el
Show inline comments
 
new file 100644
 
(defun wg-string/starts-with (s arg)
 
  "returns non-nil if string S starts with ARG.  Else nil."
 
  (cond ((>= (length s) (length arg))
 
         (string-equal (substring s 0 (length arg)) arg))
 
        (t nil)))
 

	
 
(defun wg-is-file-remote (filename)
 
  "Return t if filename starts with \"/ssh:\" or \"/sudo:\""
 
  (interactive)
 
  (or (wg-string/starts-with filename "/ssh:")
 
      (wg-string/starts-with filename "/sudo:")))
 

	
 
;; (wg-is-file-remote "/sudo:/etc/myfile")
 

	
 
(provide 'workgroups-misc)
src/workgroups-specialbufs.el
Show inline comments
 
@@ -5,6 +5,25 @@
 
;;
 

	
 
(require 'dflet)
 
(require 'workgroups-misc)
 

	
 
;; Dired
 

	
 
(defun wg-deserialize-dired-buffer (buf)
 
  "Deserialize Dired buffer."
 
  (wg-dbind (this-function params) (wg-buf-special-data buf)
 
    (let ((dir (car params)))
 
      (if (file-exists-p dir)
 
          (dired dir))
 
      (current-buffer))))
 

	
 
(defun wg-serialize-dired-buffer (buffer)
 
  "Serialize Dired buffer."
 
  (with-current-buffer buffer
 
    (when (eq major-mode 'dired-mode)
 
      (list 'wg-deserialize-dired-buffer
 
            (wg-take-until-unreadable (list (or (buffer-file-name) default-directory)))
 
            ))))
 

	
 
;; Info buffer serdes
 

	
src/workgroups-variables.el
Show inline comments
 
@@ -200,6 +200,7 @@ it to `major-mode'."
 

	
 
(defcustom wg-special-buffer-serdes-functions
 
  '(wg-serialize-Info-buffer
 
    wg-serialize-dired-buffer
 
    wg-serialize-org-agenda-buffer
 
    wg-serialize-help-buffer
 
    wg-serialize-ielm-buffer
0 comments (0 inline, 0 general)