changeset 14755:3d473ed8c718

Global vars mam, fn, bn renamed. (desktop-buffer-major-mode): Renamed from mam. Add defvar. (desktop-buffer-file-name): Renamed from fn. Add defvar. (desktop-buffer-name): Renamed from bn. Add defvar. (desktop-create-buffer, desktop-buffer): Use new names.
author Richard M. Stallman <rms@gnu.org>
date Tue, 05 Mar 1996 16:37:03 +0000
parents 9955249f9b0f
children aabf776c3b6a
files lisp/desktop.el
diffstat 1 files changed, 34 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/desktop.el	Tue Mar 05 04:22:44 1996 +0000
+++ b/lisp/desktop.el	Tue Mar 05 16:37:03 1996 +0000
@@ -157,6 +157,15 @@
   "^/[^/:]*:"
   "Regexp identifying files whose buffers are to be excluded from saving.")
 
+(defvar desktop-buffer-major-mode nil
+  "When desktop creates a buffer, this holds the desired Major mode.")
+
+(defvar desktop-buffer-file-name nil
+  "When desktop creates a buffer, this holds the file name to visit.")
+
+(defvar desktop-buffer-name nil
+  "When desktop creates a buffer, this holds the desired buffer name.")
+
 (defvar desktop-buffer-handlers
   '(desktop-buffer-dired
     desktop-buffer-rmail
@@ -164,11 +173,11 @@
     desktop-buffer-info
     desktop-buffer-file)
   "*List of functions to call in order to create a buffer.
-The functions are called without explicit parameters but may access
-the the major mode as `mam', the file name as `fn', the buffer name as
-`bn', the default directory as `dd'.  If some function returns non-nil
-no further functions are called.  If the function returns t then the
-buffer is considered created.")
+The functions are called without explicit parameters but can use the
+variables `desktop-buffer-major-mode', `desktop-buffer-file-name',
+`desktop-buffer-name'.
+If one function returns non-nil, no further functions are called.
+If the function returns t then the buffer is considered created.")
 
 (defvar desktop-create-buffer-form "(desktop-create-buffer 205"
   "Opening of form for creation of new buffers.")
@@ -477,30 +486,30 @@
 ;; Note: the following functions use the dynamic variable binding in Lisp.
 ;;
 (defun desktop-buffer-info () "Load an info file."
-  (if (eq 'Info-mode mam)
+  (if (eq 'Info-mode desktop-buffer-major-mode)
       (progn
 	(require 'info)
 	(Info-find-node (nth 0 misc) (nth 1 misc))
 	t)))
 ;; ----------------------------------------------------------------------------
 (defun desktop-buffer-rmail () "Load an RMAIL file."
-  (if (eq 'rmail-mode mam)
+  (if (eq 'rmail-mode desktop-buffer-major-mode)
       (condition-case error
-	  (progn (rmail-input fn) t)
+	  (progn (rmail-input desktop-buffer-file-name) t)
 	(file-locked
 	 (kill-buffer (current-buffer))
 	 'ignored))))
 ;; ----------------------------------------------------------------------------
 (defun desktop-buffer-mh () "Load a folder in the mh system."
-  (if (eq 'mh-folder-mode mam)
+  (if (eq 'mh-folder-mode desktop-buffer-major-mode)
       (progn
 	(require 'mh-e)
 	(mh-find-path)
-	(mh-visit-folder bn)
+	(mh-visit-folder desktop-buffer-name)
 	t)))
 ;; ----------------------------------------------------------------------------
 (defun desktop-buffer-dired () "Load a directory using dired."
-  (if (eq 'dired-mode mam)
+  (if (eq 'dired-mode desktop-buffer-major-mode)
       (if (file-directory-p (file-name-directory (car misc)))
 	  (progn
 	    (dired (car misc))
@@ -511,18 +520,20 @@
 	'ignored)))
 ;; ----------------------------------------------------------------------------
 (defun desktop-buffer-file () "Load a file."
-  (if fn
-      (if (or (file-exists-p fn)
+  (if desktop-buffer-file-name
+      (if (or (file-exists-p desktop-buffer-file-name)
 	      (and desktop-missing-file-warning
 		   (y-or-n-p (format
 			      "File \"%s\" no longer exists. Re-create? "
-			      fn))))
-	  (progn (find-file fn) t)
+			      desktop-buffer-file-name))))
+	  (progn (find-file desktop-buffer-file-name) t)
 	'ignored)))
 ;; ----------------------------------------------------------------------------
 ;; Create a buffer, load its file, set is mode, ...;  called from Desktop file
 ;; only.
-(defun desktop-create-buffer (ver fn bn mam mim pt mk ro misc &optional locals)
+(defun desktop-create-buffer (ver desktop-buffer-file-name desktop-buffer-name
+				  desktop-buffer-major-mode
+				  mim pt mk ro misc &optional locals)
   (let ((hlist desktop-buffer-handlers)
 	(result)
 	(handler))
@@ -532,8 +543,8 @@
       (setq hlist (cdr hlist)))
     (if (eq result t)
 	(progn
-	  (if (not (equal (buffer-name) bn))
-	      (rename-buffer bn))
+	  (if (not (equal (buffer-name) desktop-buffer-name))
+	      (rename-buffer desktop-buffer-name))
 	  (auto-fill-mode (if (nth 0 mim) 1 0))
 	  (goto-char pt)
 	  (if (consp mk)
@@ -557,8 +568,11 @@
 	  ))))
 
 ;; Backward compatibility -- update parameters to 205 standards.
-(defun desktop-buffer (fn bn mam mim pt mk ro tl fc cfs cr misc)
-  (desktop-create-buffer 205 fn bn mam (cdr mim) pt mk ro misc
+(defun desktop-buffer (desktop-buffer-file-name desktop-buffer-name
+		       desktop-buffer-major-mode
+		       mim pt mk ro tl fc cfs cr misc)
+  (desktop-create-buffer 205 desktop-buffer-file-name desktop-buffer-name
+			 desktop-buffer-major-mode (cdr mim) pt mk ro misc
 			 (list (cons 'truncate-lines tl)
 			       (cons 'fill-column fc)
 			       (cons 'case-fold-search cfs)