* lisp/simple.el (handle-shift-selection, exchange-point-and-mark)

(activate-mark): Set transient-mark-mode buffer-locally.
(transient-mark-mode): Use&set the global value.
* lisp/mouse.el (mouse-set-region-1, mouse-drag-track): Idem.
* lisp/org/org-compat.el (activate-mark): Idem.
* lisp/emulation/edt.el (edt-emulation-off): Save&restore the global
transient-mark-mode setting.
* lisp/obsolete/pc-select.el (pc-selection-mode): Use the
transient-mark-mode function.

Fixes: debbugs:6316
This commit is contained in:
Stefan Monnier 2014-06-23 11:32:24 -04:00
parent f6a0938523
commit 5d2638bd31
7 changed files with 45 additions and 29 deletions

View file

@ -1,7 +1,18 @@
2014-06-23 Stefan Monnier <monnier@iro.umontreal.ca>
* simple.el (handle-shift-selection, exchange-point-and-mark)
(activate-mark): Set transient-mark-mode buffer-locally (bug#6316).
(transient-mark-mode): Use&set the global value.
* mouse.el (mouse-set-region-1, mouse-drag-track): Idem.
* emulation/edt.el (edt-emulation-off): Save&restore the global
transient-mark-mode setting.
* obsolete/pc-select.el (pc-selection-mode): Use the
transient-mark-mode function.
2014-06-23 Eli Zaretskii <eliz@gnu.org>
* international/fontset.el (script-representative-chars): Add
representative characters for scripts added in Unicode 7.0.
* international/fontset.el (script-representative-chars):
Add representative characters for scripts added in Unicode 7.0.
(otf-script-alist): Synchronize with the latest registry of OTF
script tags.
@ -29,8 +40,8 @@
* obsolete/vi.el (vi-set-mark):
* term.el (term-handle-scroll):
* textmodes/bibtex.el (bibtex-fill-field, bibtex-fill-entry):
* wid-edit.el (widget-editable-list-value-create): Prefer
point-marker to copy-marker of point.
* wid-edit.el (widget-editable-list-value-create):
Prefer point-marker to copy-marker of point.
2014-06-21 Fabián Ezequiel Gallina <fgallina@gnu.org>
@ -233,9 +244,9 @@
(calculator-expt, calculator-truncate): Minor code improvements.
(calculator-need-3-lines): New function pulling out code from
`calculator'.
(calculator-get-display): Renamed from `calculator-get-prompt', and
(calculator-get-display): Rename from `calculator-get-prompt', and
improved.
(calculator-push-curnum): Renamed from `calculator-curnum-value', and
(calculator-push-curnum): Rename from `calculator-curnum-value', and
extended for all uses of it. All callers changed.
(calculator-groupize-number): New utility for splitting a number into
groups.
@ -247,11 +258,11 @@
`pcase' for conciseness and clarity).
(calculator-reduce-stack): Now doing just the reduction loop using
`calculator-reduce-stack-once'.
(calculator-funcall): Improved code, make it work in v24.3.1 too.
(calculator-last-input): Improved code, remove some old cruft.
(calculator-funcall): Improve code, make it work in v24.3.1 too.
(calculator-last-input): Improve code, remove some old cruft.
(calculator-quit): Kill `calculator-buffer' in electric mode too.
(calculator-integer-p): Removed.
(calculator-fact): Improved code, make it work on non-integer values
(calculator-integer-p): Remove.
(calculator-fact): Improve code, make it work on non-integer values
too (using truncated numbers).
2014-06-15 Michael Albinus <michael.albinus@gmx.de>

View file

@ -2033,7 +2033,8 @@ created."
;; Make highlighting of selected text work properly for EDT commands.
(if (featurep 'emacs)
(progn
(setq edt-orig-transient-mark-mode transient-mark-mode)
(setq edt-orig-transient-mark-mode
(default-value 'transient-mark-mode))
(add-hook 'activate-mark-hook
(function
(lambda ()
@ -2068,7 +2069,7 @@ created."
(edt-reset)
(force-mode-line-update t)
(if (featurep 'emacs)
(setq transient-mark-mode edt-orig-transient-mark-mode))
(setq-default transient-mark-mode edt-orig-transient-mark-mode))
(message "Original key bindings restored; EDT Emulation disabled"))
(defun edt-default-menu-bar-update-buffers ()

View file

@ -579,10 +579,10 @@ command alters the kill ring or not."
(defun mouse-set-region-1 ()
;; Set transient-mark-mode for a little while.
(unless (eq (car-safe transient-mark-mode) 'only)
(setq transient-mark-mode
(cons 'only
(unless (eq transient-mark-mode 'lambda)
transient-mark-mode))))
(setq-local transient-mark-mode
(cons 'only
(unless (eq transient-mark-mode 'lambda)
transient-mark-mode))))
(setq mouse-last-region-beg (region-beginning))
(setq mouse-last-region-end (region-end))
(setq mouse-last-region-tick (buffer-modified-tick)))
@ -801,10 +801,10 @@ The region will be defined with mark and point."
;; Activate the region, using `mouse-start-end' to determine where
;; to put point and mark (e.g., double-click will select a word).
(setq transient-mark-mode
(if (eq transient-mark-mode 'lambda)
'(only)
(cons 'only transient-mark-mode)))
(setq-local transient-mark-mode
(if (eq transient-mark-mode 'lambda)
'(only)
(cons 'only transient-mark-mode)))
(let ((range (mouse-start-end start-point start-point click-count)))
(push-mark (nth 0 range) t t)
(goto-char (nth 1 range)))

View file

@ -388,7 +388,7 @@ but before calling PC Selection mode):
(fboundp 'normal-erase-is-backspace-mode))
(normal-erase-is-backspace-mode 1))
(setq highlight-nonselected-windows nil)
(setq transient-mark-mode t)
(transient-mark-mode 1)
(setq mark-even-if-inactive t)
(delete-selection-mode 1))
;;else

View file

@ -1,3 +1,7 @@
2014-06-23 Stefan Monnier <monnier@iro.umontreal.ca>
* org-compat.el (activate-mark): Set transient-mark-mode buffer-locally.
2014-06-22 Mario Lang <mlang@delysid.org>
* org-list.el (org-list-insert-item): The the -> the.

View file

@ -295,7 +295,7 @@ Works on both Emacs and XEmacs."
(setq mark-active t)
(when (and (boundp 'transient-mark-mode)
(not transient-mark-mode))
(setq transient-mark-mode 'lambda))
(set (make-local-variable 'transient-mark-mode) 'lambda))
(when (boundp 'zmacs-regions)
(setq zmacs-regions t)))))

View file

@ -4522,7 +4522,7 @@ If NO-TMM is non-nil, leave `transient-mark-mode' alone."
(force-mode-line-update) ;Refresh toolbar (bug#16382).
(setq mark-active t)
(unless (or transient-mark-mode no-tmm)
(setq transient-mark-mode 'lambda))
(setq-local transient-mark-mode 'lambda))
(run-hooks 'activate-mark-hook))))
(defun set-mark (pos)
@ -4828,7 +4828,7 @@ mode temporarily."
(set-mark (point))
(goto-char omark)
(cond (temp-highlight
(setq transient-mark-mode (cons 'only transient-mark-mode)))
(setq-local transient-mark-mode (cons 'only transient-mark-mode)))
((or (and arg (region-active-p)) ; (xor arg (not (region-active-p)))
(not (or arg (region-active-p))))
(deactivate-mark))
@ -4867,10 +4867,10 @@ its earlier value."
(cond ((and shift-select-mode this-command-keys-shift-translated)
(unless (and mark-active
(eq (car-safe transient-mark-mode) 'only))
(setq transient-mark-mode
(cons 'only
(unless (eq transient-mark-mode 'lambda)
transient-mark-mode)))
(setq-local transient-mark-mode
(cons 'only
(unless (eq transient-mark-mode 'lambda)
transient-mark-mode)))
(push-mark nil nil t)))
((eq (car-safe transient-mark-mode) 'only)
(setq transient-mark-mode (cdr transient-mark-mode))
@ -4901,7 +4901,7 @@ Transient Mark mode, invoke \\[apropos-documentation] and type \"transient\"
or \"mark.*active\" at the prompt."
:global t
;; It's defined in C/cus-start, this stops the d-m-m macro defining it again.
:variable transient-mark-mode)
:variable (default-value 'transient-mark-mode))
(defvar widen-automatically t
"Non-nil means it is ok for commands to call `widen' when they want to.