Mercurial > emacs
annotate lisp/eshell/esh-maint.el @ 50507:110c0e29159c
Handle multiple desktop files in different dirs.
Other cleanups.
Command line option --no-desktop introduced.
(desktop-read): Record buffers in the desktop file in
the same order as that in the buffer list,
(desktop-save): Put buffers in the order given in desktop file,
regardless of what handlers do.
(desktop-file-version): New variable. Version number of desktop
file format.
(desktop-create-buffer-form): Variable deleted.
(desktop-save): New customizable variable.
(desktop-kill): Changed to use `desktop-save'.
(desktop-file-name-format): New option: format in
which desktop file names should be saved.
(desktop-file-name): New function to convert a filename to the
format specified in `desktop-file-name-format'.
(desktop-create-buffer): Parameters renamed to descriptive
systematic names. These parameters are visible to handlers.
Renames:
ver -> desktop-file-version
mim -> desktop-buffer-minor-modes
pt -> desktop-buffer-point
mk -> desktop-buffer-mark
ro -> desktop-buffer-read-only
locals -> desktop-buffer-locals
(desktop-buffer-major-mode, desktop-buffer-file-name)
(desktop-buffer-name): Unused customizable variables deleted.
(desktop-buffer-misc): Unused variable deleted.
(desktop-save, desktop-buffer-dired-misc-data):
Use `desktop-file-name'.
(desktop-path): New customizable variable. List of directories in
which to lookup the desktop file. Replaces hardcoded list.
(desktop-globals-to-clear): New variable replaces hardcoded list.
(desktop-clear-preserve-buffers-regexp): New customizable variable.
(desktop-after-read-hook): New hook run after a desktop is read.
(desktop-no-desktop-file-hook): New hook when no desktop file found.
(desktop-change-dir): New function.
(desktop-save-in-load-dir): New function. Save desktop in
directory from witch it was loaded.
(desktop-revert): New function. Revert to the last loaded desktop.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 09 Apr 2003 01:37:56 +0000 |
parents | 33d53d287ee4 |
children | 695cf19ef79e d7ddb3e565de |
rev | line source |
---|---|
47726
33d53d287ee4
Add "no-byte-compile: t" in first line.
Juanma Barranquero <lekktu@gmail.com>
parents:
38414
diff
changeset
|
1 ;;; esh-maint.el --- init code for building eshell -*- no-byte-compile: t -*- |
29876 | 2 |
29934
34b1ab9d583d
Change spelling of the Free Software Foundation.
Gerd Moellmann <gerd@gnu.org>
parents:
29876
diff
changeset
|
3 ;; Copyright (C) 1999, 2000 Free Software Foundation |
29876 | 4 |
32526 | 5 ;; Author: John Wiegley <johnw@gnu.org> |
6 | |
29876 | 7 ;; This file is part of GNU Emacs. |
8 | |
9 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
10 ;; it under the terms of the GNU General Public License as published by | |
11 ;; the Free Software Foundation; either version 2, or (at your option) | |
12 ;; any later version. | |
13 | |
14 ;; GNU Emacs is distributed in the hope that it will be useful, | |
15 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
16 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
17 ;; GNU General Public License for more details. | |
18 | |
19 ;; You should have received a copy of the GNU General Public License | |
20 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
21 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
22 ;; Boston, MA 02111-1307, USA. | |
23 | |
24 ;;; Commentary: | |
25 | |
26 ;;; Code: | |
27 | |
28 (provide 'esh-maint) | |
29 | |
30 (and (fboundp 'font-lock-add-keywords) | |
31 (font-lock-add-keywords | |
32 'emacs-lisp-mode | |
33 '(("(eshell-for\\>" . font-lock-keyword-face) | |
34 ("(eshell-deftest\\>" . font-lock-keyword-face) | |
35 ("(eshell-condition-case\\>" . font-lock-keyword-face)))) | |
36 | |
37 (if (file-directory-p "../pcomplete") | |
38 (add-to-list 'load-path "../pcomplete")) | |
39 | |
40 (if (locate-library "pcomplete") | |
41 (require 'pcomplete)) | |
42 | |
43 (eval-when-compile | |
44 (require 'cl) | |
45 (setq cl-optimize-speed 9)) | |
46 | |
47 ;; (defun eshell-generate-autoloads () | |
48 ;; (interactive) | |
49 ;; (require 'autoload) | |
50 ;; (setq generated-autoload-file | |
33020 | 51 ;; (expand-file-name (car command-line-args-left))) |
29876 | 52 ;; (setq command-line-args-left (cdr command-line-args-left)) |
53 ;; (batch-update-autoloads)) | |
54 | |
55 (require 'eshell) | |
56 (require 'esh-mode) ; brings in eshell-util | |
57 (require 'esh-opt) | |
58 (require 'esh-test) | |
59 | |
60 ;; (defun eshell-generate-main-menu () | |
61 ;; "Create the main menu for the eshell documentation." | |
62 ;; (insert "@menu | |
63 ;; * The Emacs shell:: eshell. | |
64 | |
65 ;; Core Functionality\n") | |
66 ;; (eshell-for module | |
67 ;; (sort (eshell-subgroups 'eshell) | |
33020 | 68 ;; (function |
69 ;; (lambda (a b) | |
70 ;; (string-lessp (symbol-name a) | |
71 ;; (symbol-name b))))) | |
29876 | 72 ;; (insert (format "* %-34s" |
33020 | 73 ;; (concat (get module 'custom-tag) "::")) |
74 ;; (symbol-name module) ".\n")) | |
29876 | 75 ;; (insert "\nOptional Functionality\n") |
76 ;; (eshell-for module | |
77 ;; (sort (eshell-subgroups 'eshell-module) | |
33020 | 78 ;; (function |
79 ;; (lambda (a b) | |
80 ;; (string-lessp (symbol-name a) | |
81 ;; (symbol-name b))))) | |
29876 | 82 ;; (insert (format "* %-34s" |
33020 | 83 ;; (concat (get module 'custom-tag) "::")) |
84 ;; (symbol-name module) ".\n")) | |
29876 | 85 ;; (insert "@end menu\n")) |
86 | |
87 ;; (defun eshell-make-texi () | |
88 ;; "Make the eshell.texi file." | |
89 ;; (interactive) | |
90 ;; (require 'eshell-auto) | |
91 ;; (require 'texidoc) | |
92 ;; (require 'pcomplete) | |
93 ;; (apply 'texidoc-files 'eshell-generate-main-menu "eshell.doci" | |
33020 | 94 ;; (append |
95 ;; (list "eshell.el") | |
96 ;; (sort (mapcar | |
97 ;; (function | |
98 ;; (lambda (sym) | |
99 ;; (let ((name (symbol-name sym))) | |
100 ;; (if (string-match "\\`eshell-\\(.*\\)" name) | |
101 ;; (setq name (concat "esh-" (match-string 1 name)))) | |
102 ;; (concat name ".el")))) | |
103 ;; (eshell-subgroups 'eshell)) | |
104 ;; 'string-lessp) | |
105 ;; (sort (mapcar | |
106 ;; (function | |
107 ;; (lambda (sym) | |
108 ;; (let ((name (symbol-name sym))) | |
109 ;; (if (string-match "\\`eshell-\\(.*\\)" name) | |
110 ;; (setq name (concat "em-" (match-string 1 name)))) | |
111 ;; (concat name ".el")))) | |
112 ;; (eshell-subgroups 'eshell-module)) | |
113 ;; 'string-lessp) | |
114 ;; (list "eshell.texi")))) | |
29876 | 115 |
116 ;; (defun eshell-make-readme () | |
117 ;; "Make the README file from eshell.el." | |
118 ;; (interactive) | |
119 ;; (require 'eshell-auto) | |
120 ;; (require 'texidoc) | |
121 ;; (require 'pcomplete) | |
122 ;; (texidoc-files nil "eshell.doci" "eshell.el" "README.texi") | |
123 ;; (set-buffer (get-buffer "README.texi")) | |
124 ;; (goto-char (point-min)) | |
125 ;; (search-forward "@chapter") | |
126 ;; (beginning-of-line) | |
127 ;; (forward-line -1) | |
128 ;; (kill-line 2) | |
129 ;; (re-search-forward "^@section User Options") | |
130 ;; (beginning-of-line) | |
131 ;; (delete-region (point) (point-max)) | |
132 ;; (insert "@bye\n") | |
133 ;; (save-buffer) | |
134 ;; (with-temp-buffer | |
135 ;; (call-process "makeinfo" nil t nil "--no-headers" "README.texi") | |
136 ;; (goto-char (point-min)) | |
137 ;; (search-forward "The Emacs Shell") | |
138 ;; (beginning-of-line) | |
139 ;; (delete-region (point-min) (point)) | |
140 ;; (write-file "README")) | |
141 ;; (delete-file "README.texi") | |
142 ;; (kill-buffer "README.texi")) | |
143 | |
144 ;;; esh-maint.el ends here |