diff options
| author | Stefan Monnier | 2003-06-01 18:40:10 +0000 |
|---|---|---|
| committer | Stefan Monnier | 2003-06-01 18:40:10 +0000 |
| commit | a153acb7d6cb5f8c04d7ba67e32f22c0e31efc18 (patch) | |
| tree | d6021c2fd52fab062ed9031e983c7cae1ba1bb03 | |
| parent | 6f8eafd15c3d912d942419dc4b982df5db913910 (diff) | |
| download | emacs-a153acb7d6cb5f8c04d7ba67e32f22c0e31efc18.tar.gz emacs-a153acb7d6cb5f8c04d7ba67e32f22c0e31efc18.zip | |
(custom-get-fresh-buffer): Be extra paranoid,
just in case some used a file of the wrong name.
| -rw-r--r-- | lisp/cus-edit.el | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el index c7cb7d67ce4..51e4e5b1f3a 100644 --- a/lisp/cus-edit.el +++ b/lisp/cus-edit.el | |||
| @@ -1208,12 +1208,21 @@ Called with one argument, the buffer to remove." | |||
| 1208 | 1208 | ||
| 1209 | (defun custom-get-fresh-buffer (name) | 1209 | (defun custom-get-fresh-buffer (name) |
| 1210 | "Get a fresh new buffer with name NAME. | 1210 | "Get a fresh new buffer with name NAME. |
| 1211 | If the buffer already exist, clean it up to be like new." | 1211 | If the buffer already exist, clean it up to be like new. |
| 1212 | Beware: it's not quite like new. Good enough for custom, but maybe | ||
| 1213 | not for everybody." | ||
| 1214 | ;; To be more complete, we should also kill all permanent-local variables, | ||
| 1215 | ;; but it's not needed for custom. | ||
| 1212 | (let ((buf (get-buffer name))) | 1216 | (let ((buf (get-buffer name))) |
| 1217 | (when (buffer-local-value 'buffer-file-name buf) | ||
| 1218 | ;; This will check if the file is not saved. | ||
| 1219 | (kill-buffer buf) | ||
| 1220 | (setq buf nil)) | ||
| 1213 | (if (null buf) | 1221 | (if (null buf) |
| 1214 | (get-buffer-create name) | 1222 | (get-buffer-create name) |
| 1215 | (with-current-buffer buf | 1223 | (with-current-buffer buf |
| 1216 | (kill-all-local-variables) | 1224 | (kill-all-local-variables) |
| 1225 | (run-hooks 'kill-buffer-hook) | ||
| 1217 | (erase-buffer) | 1226 | (erase-buffer) |
| 1218 | (let ((ols (overlay-lists))) | 1227 | (let ((ols (overlay-lists))) |
| 1219 | (dolist (ol (nconc (car ols) (cdr ols))) | 1228 | (dolist (ol (nconc (car ols) (cdr ols))) |