diff options
| author | Richard M. Stallman | 1998-07-17 03:21:14 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 1998-07-17 03:21:14 +0000 |
| commit | 8dc33e1146326862a2ba5afdc091389a0ad623b1 (patch) | |
| tree | 2b93f220c12737fd678c888012cd7da7e0825322 | |
| parent | b528110c6ce9bf2b9c1ba5b8ff2e272dfb3749c8 (diff) | |
| download | emacs-8dc33e1146326862a2ba5afdc091389a0ad623b1.tar.gz emacs-8dc33e1146326862a2ba5afdc091389a0ad623b1.zip | |
(archive-extract): If the extractor signals an
error, trap it, so that the buffer created for a member is killed.
| -rw-r--r-- | lisp/arc-mode.el | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index e786a33944c..27425e47323 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el | |||
| @@ -876,9 +876,14 @@ using `make-temp-name', and the generated name is returned." | |||
| 876 | (setq archive-subfile-mode descr) | 876 | (setq archive-subfile-mode descr) |
| 877 | (if (and | 877 | (if (and |
| 878 | (null | 878 | (null |
| 879 | (if (fboundp extractor) | 879 | (condition-case err |
| 880 | (funcall extractor archive ename) | 880 | (if (fboundp extractor) |
| 881 | (archive-*-extract archive ename (symbol-value extractor)))) | 881 | (funcall extractor archive ename) |
| 882 | (archive-*-extract archive ename | ||
| 883 | (symbol-value extractor))) | ||
| 884 | (error | ||
| 885 | (ding (message "%s" (error-message-string err))) | ||
| 886 | nil))) | ||
| 882 | just-created) | 887 | just-created) |
| 883 | (progn | 888 | (progn |
| 884 | (set-buffer-modified-p nil) | 889 | (set-buffer-modified-p nil) |