GNU bug report logs -
#20785
user-error for mark-inactive
Previous Next
Reported by: Juri Linkov <juri <at> linkov.net>
Date: Wed, 10 Jun 2015 23:37:02 UTC
Severity: minor
Done: Juri Linkov <juri <at> linkov.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
A single remaining case that is too annoying is when the debugger is
called due to a user error while accidentally typing `C-w' (kill-region)
when there is no active mark in the buffer:
Debugger entered--Lisp error: (mark-inactive)
signal(mark-inactive nil)
mark()
byte-code("\300 `\301E\207" [mark region] 3)
call-interactively(kill-region nil nil)
command-execute(kill-region)
The following patch avoids this in both cases:
1. when mark-even-if-inactive is non-nil, displays the message:
"user-error: The mark is not set now, so there is no region"
2. when mark-even-if-inactive is nil, displays the message:
"mark: The mark is not active now"
diff --git a/lisp/simple.el b/lisp/simple.el
index 1eb0643..31810a4 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -4017,7 +4021,7 @@ (defun kill-region (beg end &optional region)
;; calling `kill-append'.
(interactive (list (mark) (point) 'region))
(unless (and beg end)
- (error "The mark is not set now, so there is no region"))
+ (user-error "The mark is not set now, so there is no region"))
(condition-case nil
(let ((string (if region
(funcall region-extract-function 'delete)
diff --git a/lisp/bindings.el b/lisp/bindings.el
index b658914..3672812 100644
--- a/lisp/bindings.el
+++ b/lisp/bindings.el
@@ -633,7 +633,7 @@ (setq debug-ignored-errors
;; file-supersession should all be user-errors!
`(beginning-of-line beginning-of-buffer end-of-line
end-of-buffer end-of-file buffer-read-only
- file-supersession
+ file-supersession mark-inactive
user-error ;; That's the main one!
))
This bug report was last modified 9 years and 339 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.