Mercurial > emacs
annotate lisp/saveplace.el @ 24419:30e478cd167e
(shell-command-default-error-buffer): Renamed from
shell-command-on-region-default-error-buffer.
(shell-command-on-region): Mention in echo area when there
is some error output. Mention success or failure, too.
Accumulate multiple error outputs
going forward, with formfeed in between. Display the error buffer
when we have put something in it.
(shell-command): Add the ERROR-BUFFER argument feature.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Mon, 01 Mar 1999 03:19:32 +0000 |
parents | 2b5cebd0da5e |
children | 33067598c22c |
rev | line source |
---|---|
4596 | 1 ;;; saveplace.el --- automatically save place in files. |
2 | |
6662
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
3 ;; Copyright (C) 1993, 1994 Free Software Foundation, Inc. |
4596 | 4 |
5 ;; Author: Karl Fogel <kfogel@cs.oberlin.edu> | |
6 ;; Maintainer: FSF | |
7 ;; Created: July, 1993 | |
8 ;; Keywords: bookmarks, placeholders | |
9 | |
10 ;; This file is part of GNU Emacs. | |
11 | |
12 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
13 ;; it under the terms of the GNU General Public License as published by | |
14 ;; the Free Software Foundation; either version 2, or (at your option) | |
15 ;; any later version. | |
16 | |
17 ;; GNU Emacs is distributed in the hope that it will be useful, | |
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 ;; GNU General Public License for more details. | |
21 | |
22 ;; You should have received a copy of the GNU General Public License | |
14169 | 23 ;; along with GNU Emacs; see the file COPYING. If not, write to the |
24 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
25 ;; Boston, MA 02111-1307, USA. | |
26 | |
15192 | 27 ;;; Commentary: |
28 | |
4596 | 29 ;; Automatically save place in files, so that visiting them later |
30 ;; (even during a different Emacs session) automatically moves point | |
31 ;; to the saved position, when the file is first found. Uses the | |
32 ;; value of buffer-local variable save-place to determine whether to | |
33 ;; save position or not. | |
34 ;; | |
6662
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
35 ;; Thanks to Stefan Schoef, who sent a patch with the |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
36 ;; `save-place-version-control' stuff in it. |
4596 | 37 |
15192 | 38 ;;; Code: |
39 | |
4596 | 40 ;; this is what I was using during testing: |
41 ;; (define-key ctl-x-map "p" 'toggle-save-place) | |
42 | |
17481
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
43 (defgroup save-place nil |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
44 "Automatically save place in files." |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
45 :group 'data) |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
46 |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
47 |
4596 | 48 (defvar save-place-alist nil |
49 "Alist of saved places to go back to when revisiting files. | |
50 Each element looks like (FILENAME . POSITION); | |
51 visiting file FILENAME goes automatically to position POSITION | |
52 rather than the beginning of the buffer. | |
53 This alist is saved between Emacs sessions.") | |
54 | |
17481
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
55 (defcustom save-place nil |
4596 | 56 "*Non-nil means automatically save place in each file. |
57 This means when you visit a file, point goes to the last place | |
58 where it was when you previously visited the same file. | |
59 This variable is automatically buffer-local. | |
60 | |
61 If you wish your place in any file to always be automatically saved, | |
62 simply put this in your `~/.emacs' file: | |
63 | |
17481
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
64 \(setq-default save-place t\)" |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
65 :type 'boolean |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
66 :group 'save-place) |
4596 | 67 |
68 (make-variable-buffer-local 'save-place) | |
69 | |
17481
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
70 (defcustom save-place-file (convert-standard-filename "~/.emacs-places") |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
71 "*Name of the file that records `save-place-alist' value." |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
72 :type 'file |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
73 :group 'save-place) |
4596 | 74 |
19979
8540d32e89cd
(save-place-version-control): Make nil the default.
Richard M. Stallman <rms@gnu.org>
parents:
17481
diff
changeset
|
75 (defcustom save-place-version-control nil |
6662
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
76 "*Controls whether to make numbered backups of master save-place file. |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
77 It can have four values: t, nil, `never', and `nospecial'. The first |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
78 three have the same meaning that they do for the variable |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
79 `version-control', and the final value `nospecial' means just use the |
17481
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
80 value of `version-control'." |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
81 :type '(radio (const :tag "Unconditionally" t) |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
82 (const :tag "For VC Files" nil) |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
83 (const never) |
19979
8540d32e89cd
(save-place-version-control): Make nil the default.
Richard M. Stallman <rms@gnu.org>
parents:
17481
diff
changeset
|
84 (const :tag "Use value of `version-control'" nospecial)) |
17481
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
85 :group 'save-place) |
6662
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
86 |
4596 | 87 (defvar save-place-loaded nil |
88 "Non-nil means that the `save-place-file' has been loaded.") | |
89 | |
17481
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
90 (defcustom save-place-limit nil |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
91 "Maximum number of entries to retain in the list; nil means no limit." |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
92 :type '(choice (integer :tag "Entries" :value 1) |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
93 (const :tag "No Limit" nil)) |
e2757a9ccbe9
Add defgroup; use defcustom for user vars.
Richard M. Stallman <rms@gnu.org>
parents:
16948
diff
changeset
|
94 :group 'save-place) |
13665
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
95 |
4596 | 96 (defun toggle-save-place (&optional parg) |
97 "Toggle whether to save your place in this file between sessions. | |
98 If this mode is enabled, point is recorded when you kill the buffer | |
99 or exit Emacs. Visiting this file again will go to that position, | |
100 even in a later Emacs session. | |
101 | |
102 If called with a prefix arg, the mode is enabled if and only if | |
103 the argument is positive. | |
104 | |
105 To save places automatically in all files, put this in your `.emacs' file: | |
106 | |
107 \(setq-default save-place t\)" | |
108 (interactive "P") | |
109 (if (not buffer-file-name) | |
14357
31d994fe3123
(toggle-save-place): Fix message text.
Karl Heuer <kwzh@gnu.org>
parents:
14342
diff
changeset
|
110 (message "Buffer `%s' not visiting a file" (buffer-name)) |
4596 | 111 (if (and save-place (or (not parg) (<= parg 0))) |
112 (progn | |
14357
31d994fe3123
(toggle-save-place): Fix message text.
Karl Heuer <kwzh@gnu.org>
parents:
14342
diff
changeset
|
113 (message "No place will be saved in this file") |
4596 | 114 (setq save-place nil)) |
14357
31d994fe3123
(toggle-save-place): Fix message text.
Karl Heuer <kwzh@gnu.org>
parents:
14342
diff
changeset
|
115 (message "Place will be saved") |
4596 | 116 (setq save-place t)))) |
117 | |
118 (defun save-place-to-alist () | |
119 ;; put filename and point in a cons box and then cons that onto the | |
120 ;; front of the save-place-alist, if save-place is non-nil. | |
121 ;; Otherwise, just delete that file from the alist. | |
122 ;; first check to make sure alist has been loaded in from the master | |
123 ;; file. If not, do so, then feel free to modify the alist. It | |
124 ;; will be saved again when Emacs is killed. | |
125 (or save-place-loaded (load-save-place-alist-from-file)) | |
126 (if buffer-file-name | |
127 (progn | |
19980
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
128 (let ((cell (assoc buffer-file-name save-place-alist)) |
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
129 (position (if (not (eq major-mode 'hexl-mode)) |
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
130 (point) |
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
131 (1+ (hexl-current-address))))) |
4596 | 132 (if cell |
19980
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
133 (setq save-place-alist (delq cell save-place-alist))) |
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
134 (if (and save-place |
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
135 (not (= position 1))) ;; Optimize out the degenerate case. |
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
136 (setq save-place-alist |
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
137 (cons (cons buffer-file-name position) |
2b5cebd0da5e
(save-place-to-alist): Optimize out the degenerate
Karl Heuer <kwzh@gnu.org>
parents:
19979
diff
changeset
|
138 save-place-alist))))))) |
4596 | 139 |
140 (defun save-place-alist-to-file () | |
141 (let ((file (expand-file-name save-place-file))) | |
142 (save-excursion | |
14342
942b8cf37599
(toggle-save-place, save-place-alist-to-file, load-save-place-alist-from-file): Delete format call inside message.
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
143 (message "Saving places to %s..." file) |
4596 | 144 (set-buffer (get-buffer-create " *Saved Places*")) |
145 (delete-region (point-min) (point-max)) | |
146 (if (file-readable-p file) | |
147 (insert-file-contents file)) | |
148 (delete-region (point-min) (point-max)) | |
149 (goto-char (point-min)) | |
150 (print save-place-alist (current-buffer)) | |
6662
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
151 (let ((version-control |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
152 (cond |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
153 ((null save-place-version-control) nil) |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
154 ((eq 'never save-place-version-control) 'never) |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
155 ((eq 'nospecial save-place-version-control) version-control) |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
156 (t |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
157 t)))) |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
158 (write-file file) |
bc7bc2a395c6
(save-place-version-control): New var, for determining
Richard M. Stallman <rms@gnu.org>
parents:
4596
diff
changeset
|
159 (kill-buffer (current-buffer)) |
14342
942b8cf37599
(toggle-save-place, save-place-alist-to-file, load-save-place-alist-from-file): Delete format call inside message.
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
160 (message "Saving places to %s...done" file))))) |
4596 | 161 |
162 (defun load-save-place-alist-from-file () | |
163 (if (not save-place-loaded) | |
164 (progn | |
165 (setq save-place-loaded t) | |
166 (let ((file (expand-file-name save-place-file))) | |
167 ;; make sure that the alist does not get overwritten, and then | |
168 ;; load it if it exists: | |
169 (if (file-readable-p file) | |
170 (save-excursion | |
14342
942b8cf37599
(toggle-save-place, save-place-alist-to-file, load-save-place-alist-from-file): Delete format call inside message.
Karl Heuer <kwzh@gnu.org>
parents:
14169
diff
changeset
|
171 (message "Loading places from %s..." save-place-file) |
4596 | 172 ;; don't want to use find-file because we have been |
173 ;; adding hooks to it. | |
174 (set-buffer (get-buffer-create " *Saved Places*")) | |
175 (delete-region (point-min) (point-max)) | |
176 (insert-file-contents file) | |
177 (goto-char (point-min)) | |
178 (setq save-place-alist | |
179 (car (read-from-string | |
180 (buffer-substring (point-min) (point-max))))) | |
13665
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
181 |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
182 ;; If there is a limit, and we're over it, then we'll |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
183 ;; have to truncate the end of the list: |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
184 (if save-place-limit |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
185 (if (<= save-place-limit 0) |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
186 ;; Zero gets special cased. I'm not thrilled |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
187 ;; with this, but the loop for >= 1 is tight. |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
188 (setq save-place-alist nil) |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
189 ;; Else the limit is >= 1, so enforce it by |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
190 ;; counting and then `setcdr'ing. |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
191 (let ((s save-place-alist) |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
192 (count 1)) |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
193 (while s |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
194 (if (>= count save-place-limit) |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
195 (setcdr s nil) |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
196 (setq count (1+ count))) |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
197 (setq s (cdr s)))))) |
abc765f9bee3
(save-place-limit): New variable.
Richard M. Stallman <rms@gnu.org>
parents:
13600
diff
changeset
|
198 |
4596 | 199 (kill-buffer (current-buffer)) |
16948
62b9178b858b
(load-save-place-alist-from-file): Delete spurious t's.
Richard M. Stallman <rms@gnu.org>
parents:
15192
diff
changeset
|
200 (message "Loading places from %s...done" file))) |
4596 | 201 nil)))) |
202 | |
203 (defun save-places-to-alist () | |
204 ;; go through buffer-list, saving places to alist if save-place is | |
205 ;; non-nil, deleting them from alist if it is nil. | |
206 (let ((buf-list (buffer-list))) | |
207 (while buf-list | |
208 ;; put this into a save-excursion in case someone is counting on | |
209 ;; another function in kill-emacs-hook to act on the last buffer | |
210 ;; they were in: | |
211 (save-excursion | |
212 (set-buffer (car buf-list)) | |
213 ;; save-place checks buffer-file-name too, but we can avoid | |
214 ;; overhead of function call by checking here too. | |
215 (and buffer-file-name (save-place-to-alist)) | |
216 (setq buf-list (cdr buf-list)))))) | |
217 | |
6700
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
218 (defun save-place-find-file-hook () |
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
219 (or save-place-loaded (load-save-place-alist-from-file)) |
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
220 (let ((cell (assoc buffer-file-name save-place-alist))) |
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
221 (if cell |
15192 | 222 (progn |
223 (or after-find-file-from-revert-buffer | |
224 (goto-char (cdr cell))) | |
6700
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
225 ;; and make sure it will be saved again for later |
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
226 (setq save-place t))))) |
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
227 |
6877
6347a8d838c8
(save-place-kill-emacs-hook): Fix typo.
Richard M. Stallman <rms@gnu.org>
parents:
6700
diff
changeset
|
228 (defun save-place-kill-emacs-hook () |
14768
ba3525471dae
(save-place-kill-emacs-hook): Always call save-places-to-alist.
Richard M. Stallman <rms@gnu.org>
parents:
14753
diff
changeset
|
229 ;; First update the alist. This loads the old save-place-file if nec. |
ba3525471dae
(save-place-kill-emacs-hook): Always call save-places-to-alist.
Richard M. Stallman <rms@gnu.org>
parents:
14753
diff
changeset
|
230 (save-places-to-alist) |
ba3525471dae
(save-place-kill-emacs-hook): Always call save-places-to-alist.
Richard M. Stallman <rms@gnu.org>
parents:
14753
diff
changeset
|
231 ;; Now save the alist in the file, if we have ever loaded the file |
ba3525471dae
(save-place-kill-emacs-hook): Always call save-places-to-alist.
Richard M. Stallman <rms@gnu.org>
parents:
14753
diff
changeset
|
232 ;; (including just now). |
14753
cf8ad47dc610
(save-place-kill-emacs-hook): Don't save
Richard M. Stallman <rms@gnu.org>
parents:
14357
diff
changeset
|
233 (if save-place-loaded |
14768
ba3525471dae
(save-place-kill-emacs-hook): Always call save-places-to-alist.
Richard M. Stallman <rms@gnu.org>
parents:
14753
diff
changeset
|
234 (save-place-alist-to-file))) |
6700
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
235 |
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
236 (add-hook 'find-file-hooks 'save-place-find-file-hook t) |
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
237 |
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
238 (add-hook 'kill-emacs-hook 'save-place-kill-emacs-hook) |
4596 | 239 |
240 (add-hook 'kill-buffer-hook 'save-place-to-alist) | |
241 | |
242 (provide 'saveplace) ; why not... | |
243 | |
244 ;;; saveplace.el ends here | |
6700
db2292ce4894
(save-place-find-file-hook, save-place-kill-emacs-hook): New functions.
Richard M. Stallman <rms@gnu.org>
parents:
6662
diff
changeset
|
245 |