[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master b1d6ddd 3/3: Push mark before goto-char in jump-to-
From: |
Artur Malabarba |
Subject: |
[Emacs-diffs] master b1d6ddd 3/3: Push mark before goto-char in jump-to-register and check-parens |
Date: |
Wed, 18 Feb 2015 16:37:20 +0000 |
branch: master
commit b1d6ddd44614c84746f5ee494e1f29cd9be8a2d8
Author: Kelly Dean <address@hidden>
Commit: Artur Malabarba <address@hidden>
Push mark before goto-char in jump-to-register and check-parens
* register.el (jump-to-register):
* emacs-lisp/lisp.el (check-parens):
Push mark before goto-char so user doesn't lose his previous place.
---
lisp/ChangeLog | 6 ++++++
lisp/emacs-lisp/lisp.el | 3 ++-
lisp/register.el | 3 +++
3 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index a15295f..b71b55d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,11 @@
2015-02-18 Kelly Dean <address@hidden>
+ * register.el (jump-to-register):
+ * emacs-lisp/lisp.el (check-parens):
+ Push mark before goto-char so user doesn't lose his previous place.
+
+2015-02-18 Kelly Dean <address@hidden>
+
* rect.el (rectangle-mark-mode):
Suppress superfluous "Mark set" message from push-mark.
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index fb631a7..67d1487 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -714,7 +714,8 @@ character."
(condition-case data
;; Buffer can't have more than (point-max) sexps.
(scan-sexps (point-min) (point-max))
- (scan-error (goto-char (nth 2 data))
+ (scan-error (push-mark)
+ (goto-char (nth 2 data))
;; Could print (nth 1 data), which is either
;; "Containing expression ends prematurely" or
;; "Unbalanced parentheses", but those may not be so
diff --git a/lisp/register.el b/lisp/register.el
index 053657b..7afbc06 100644
--- a/lisp/register.el
+++ b/lisp/register.el
@@ -254,6 +254,9 @@ Interactively, reads the register using
`register-read-with-preview'."
(or (marker-buffer val)
(user-error "That register's buffer no longer exists"))
(switch-to-buffer (marker-buffer val))
+ (unless (or (= (point) (marker-position val))
+ (eq last-command 'jump-to-register))
+ (push-mark))
(goto-char val))
((and (consp val) (eq (car val) 'file))
(find-file (cdr val)))