aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman1993-04-14 21:41:27 +0000
committerRichard M. Stallman1993-04-14 21:41:27 +0000
commit078380acff7d2cb631f3e8870fa78e344329c003 (patch)
tree4d145d9b706acab2c51f8fc54ace7b9e4b353132
parente2b6138f1097a5233a45ed4ea1cd7086503b585b (diff)
downloademacs-078380acff7d2cb631f3e8870fa78e344329c003.tar.gz
emacs-078380acff7d2cb631f3e8870fa78e344329c003.zip
(resume-empty-args-file): Renamed from empty-args-file.
Add autoload cookie. (resume-emacs-args-buffer): Renamed. (resume-write-buffer-to-file): Renamed.
-rw-r--r--lisp/resume.el33
1 files changed, 15 insertions, 18 deletions
diff --git a/lisp/resume.el b/lisp/resume.el
index b1e6a58122f..3e76dada52c 100644
--- a/lisp/resume.el
+++ b/lisp/resume.el
@@ -81,8 +81,8 @@
81 81
82;; Insert this in your .emacs file: 82;; Insert this in your .emacs file:
83;;(setq suspend-resume-hook 'resume-process-args) 83;;(setq suspend-resume-hook 'resume-process-args)
84;;(setq suspend-hooks 'empty-args-file) 84;;(setq suspend-hooks 'resume-empty-args-file)
85;;(autoload 'empty-args-file "resume") 85;;(autoload 'resume-empty-args-file "resume")
86;;(autoload 'resume-process-args "resume") 86;;(autoload 'resume-process-args "resume")
87 87
88;; Finally, put the rest in a file named "resume.el" in a lisp library 88;; Finally, put the rest in a file named "resume.el" in a lisp library
@@ -90,27 +90,24 @@
90 90
91;;; Code: 91;;; Code:
92 92
93(defvar emacs-args-file (expand-file-name "~/.emacs_args") 93(defvar resume-emacs-args-file (expand-file-name "~/.emacs_args")
94 "*This file is where arguments are placed for a suspended emacs job.") 94 "*This file is where arguments are placed for a suspended emacs job.")
95 95
96(defvar emacs-args-buffer " *Command Line Args*" 96(defvar resume-emacs-args-buffer " *Command Line Args*"
97 "Buffer that is used by resume-process-args.") 97 "Buffer that is used by resume-process-args.")
98 98
99(defun resume-process-args () 99(defun resume-process-args ()
100 "This should be called from inside of suspend-resume-hook. This 100 "Handler for command line args given when Emacs is resumed."
101grabs the contents of the file whose name is stored in
102emacs-args-file, and processes these arguments like command line
103options."
104 (let ((start-buffer (current-buffer)) 101 (let ((start-buffer (current-buffer))
105 (args-buffer (get-buffer-create emacs-args-buffer)) 102 (args-buffer (get-buffer-create resume-emacs-args-buffer))
106 length args) 103 length args)
107 (unwind-protect 104 (unwind-protect
108 (progn 105 (progn
109 (set-buffer args-buffer) 106 (set-buffer args-buffer)
110 (erase-buffer) 107 (erase-buffer)
111 ;; get the contents of emacs-args-file 108 ;; get the contents of resume-emacs-args-file
112 (condition-case () 109 (condition-case ()
113 (let ((result (insert-file-contents emacs-args-file))) 110 (let ((result (insert-file-contents resume-emacs-args-file)))
114 (setq length (car (cdr result)))) 111 (setq length (car (cdr result))))
115 ;; the file doesn't exist, ergo no arguments 112 ;; the file doesn't exist, ergo no arguments
116 (file-error 113 (file-error
@@ -130,7 +127,7 @@ options."
130 (setq args (nreverse args)) 127 (setq args (nreverse args))
131 ;; make sure they're not read again 128 ;; make sure they're not read again
132 (erase-buffer)) 129 (erase-buffer))
133 (write-buffer-to-file (current-buffer) emacs-args-file) 130 (resume-write-buffer-to-file (current-buffer) resume-emacs-args-file)
134 ;; if nothing was in buffer, args will be null 131 ;; if nothing was in buffer, args will be null
135 (or (null args) 132 (or (null args)
136 (setq default-directory (file-name-as-directory (car args)) 133 (setq default-directory (file-name-as-directory (car args))
@@ -147,15 +144,15 @@ options."
147 (if (eq (current-buffer) args-buffer) 144 (if (eq (current-buffer) args-buffer)
148 (set-buffer start-buffer))))) 145 (set-buffer start-buffer)))))
149 146
150(defun empty-args-file () 147;;;###autoload
151 "This empties the contents of the file whose name is specified by 148(defun resume-empty-args-file ()
152emacs-args-file." 149 "Clear out the file used for transmitting args when Emacs resumes."
153 (save-excursion 150 (save-excursion
154 (set-buffer (get-buffer-create emacs-args-buffer)) 151 (set-buffer (get-buffer-create resume-emacs-args-buffer))
155 (erase-buffer) 152 (erase-buffer)
156 (write-buffer-to-file (current-buffer) emacs-args-file))) 153 (resume-write-buffer-to-file (current-buffer) resume-emacs-args-file)))
157 154
158(defun write-buffer-to-file (buffer file) 155(defun resume-write-buffer-to-file (buffer file)
159 "Writes the contents of BUFFER into FILE, if permissions allow." 156 "Writes the contents of BUFFER into FILE, if permissions allow."
160 (if (not (file-writable-p file)) 157 (if (not (file-writable-p file))
161 (error "No permission to write file %s" file)) 158 (error "No permission to write file %s" file))