diff --git a/core/prelude-core.el b/core/prelude-core.el index b260657..8507cff 100644 --- a/core/prelude-core.el +++ b/core/prelude-core.el @@ -197,9 +197,12 @@ there's a region, all lines that region covers will be duplicated." (interactive) (let ((filename (buffer-file-name))) (when filename - (delete-file filename) - (message "Deleted file %s" filename))) - (kill-buffer)) + (if (vc-backend filename) + (vc-delete-file filename) + (progn + (delete-file filename) + (message "Deleted file %s" filename) + (kill-buffer)))))) (defun prelude-view-url () "Open a new buffer containing the contents of URL." diff --git a/core/prelude-mode.el b/core/prelude-mode.el index 687d288..c88be39 100644 --- a/core/prelude-mode.el +++ b/core/prelude-mode.el @@ -51,6 +51,7 @@ (define-key map (kbd "C-c u") 'prelude-view-url) (define-key map (kbd "C-c e") 'prelude-eval-and-replace) (define-key map (kbd "C-c s") 'prelude-swap-windows) + (define-key map (kbd "C-c D") 'prelude-delete-file-and-buffer) (define-key map (kbd "C-c d") 'prelude-duplicate-current-line-or-region) (define-key map (kbd "C-c r") 'prelude-rename-file-and-buffer) (define-key map (kbd "C-c t") 'prelude-visit-term-buffer)