* lisp/delsel.el (delete-selection-mode): Don't enable transient-mark-mode.
(delete-selection-helper): Make sure yank starts at the top of the deleted region. (minibuffer-keyboard-quit): Use region-active-p.
This commit is contained in:
parent
e82af72d50
commit
4b72c12bf8
3 changed files with 22 additions and 12 deletions
12
etc/NEWS
12
etc/NEWS
|
@ -247,7 +247,7 @@ You can pick the name of the function and the variables with `C-x 4 a'.
|
|||
|
||||
* Changes in Specialized Modes and Packages in Emacs 24.4
|
||||
|
||||
** The backtrace debugger can display local vars with `v'.
|
||||
** `delete-selection-mode' can be used without transient-mark-mode.
|
||||
|
||||
** prolog-use-smie has been removed, along with the non-SMIE indentation code.
|
||||
|
||||
|
@ -257,10 +257,6 @@ file and letting SMIE learn from it.
|
|||
|
||||
** sh-script now uses its SMIE indentation algorithm by default.
|
||||
|
||||
** The debugger's `e' command evaluates the code in the context at point.
|
||||
This includes using the lexical environment at point, which means that
|
||||
`e' now lets you access lexical variables as well.
|
||||
|
||||
** `eshell' now supports visual subcommands and options
|
||||
Eshell has been able to handle "visual" commands (interactive,
|
||||
non-line oriented commands such as top that require display
|
||||
|
@ -318,6 +314,12 @@ Use `electric-indent-mode' instead.
|
|||
** completing-read-multiple's separator can now be a regexp.
|
||||
The default separator is changed to allow surrounding spaces around the comma.
|
||||
|
||||
** The backtrace debugger and local variables:
|
||||
*** The debugger's `e' command evaluates the code in the context at point.
|
||||
This includes using the lexical environment at point, which means that
|
||||
`e' now lets you access lexical variables as well.
|
||||
*** The backtrace debugger can display local vars with `v'.
|
||||
|
||||
** Battery
|
||||
|
||||
*** Battery information via the BSD `apm' utility is now supported.
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
2013-12-11 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* delsel.el (delete-selection-mode): Don't enable transient-mark-mode.
|
||||
(delete-selection-helper): Make sure yank starts at the top of the
|
||||
deleted region.
|
||||
(minibuffer-keyboard-quit): Use region-active-p.
|
||||
|
||||
* emacs-lisp/trace.el (trace-make-advice): Don't deactivate the mark.
|
||||
|
||||
* simple.el (normal-erase-is-backspace-mode): Map kp-delete identically
|
||||
|
|
|
@ -71,8 +71,7 @@ any selection."
|
|||
:global t :group 'editing-basics
|
||||
(if (not delete-selection-mode)
|
||||
(remove-hook 'pre-command-hook 'delete-selection-pre-hook)
|
||||
(add-hook 'pre-command-hook 'delete-selection-pre-hook)
|
||||
(transient-mark-mode t)))
|
||||
(add-hook 'pre-command-hook 'delete-selection-pre-hook)))
|
||||
|
||||
(defun delete-active-region (&optional killp)
|
||||
"Delete the active region.
|
||||
|
@ -122,7 +121,11 @@ If KILLP in not-nil, the active region is killed instead of deleted."
|
|||
(fboundp 'mouse-region-match)
|
||||
(mouse-region-match))
|
||||
(current-kill 1))
|
||||
(delete-active-region))
|
||||
(let ((pos (copy-marker (region-beginning))))
|
||||
(delete-active-region)
|
||||
;; If the region was, say, rectangular, make sure we yank
|
||||
;; from the top, to "replace".
|
||||
(goto-char pos)))
|
||||
((eq type 'supersede)
|
||||
(let ((empty-region (= (point) (mark))))
|
||||
(delete-active-region)
|
||||
|
@ -192,7 +195,7 @@ See `delete-selection-helper'."
|
|||
In Delete Selection mode, if the mark is active, just deactivate it;
|
||||
then it takes a second \\[keyboard-quit] to abort the minibuffer."
|
||||
(interactive)
|
||||
(if (and delete-selection-mode transient-mark-mode mark-active)
|
||||
(if (and delete-selection-mode (region-active-p))
|
||||
(setq deactivate-mark t)
|
||||
(abort-recursive-edit)))
|
||||
|
||||
|
@ -209,9 +212,9 @@ then it takes a second \\[keyboard-quit] to abort the minibuffer."
|
|||
(define-key minibuffer-local-completion-map "\C-g" 'abort-recursive-edit)
|
||||
(define-key minibuffer-local-must-match-map "\C-g" 'abort-recursive-edit)
|
||||
(define-key minibuffer-local-isearch-map "\C-g" 'abort-recursive-edit)
|
||||
(dolist (sym '(self-insert-command insert-char quoted-insert yank clipboard-yank
|
||||
insert-register
|
||||
reindent-then-newline-and-indent newline-and-indent newline open-line))
|
||||
(dolist (sym '(self-insert-command insert-char quoted-insert yank
|
||||
clipboard-yank insert-register newline-and-indent
|
||||
reindent-then-newline-and-indent newline open-line))
|
||||
(put sym 'delete-selection nil))
|
||||
;; continue standard unloading
|
||||
nil)
|
||||
|
|
Loading…
Add table
Reference in a new issue