Subject: bug#25565: closed (Re: bug#25565: mark-whole-buffer and unnecessary (point) call)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 28 Apr 2017 08:29:02 +0000

Your bug report

#25565: mark-whole-buffer and unnecessary (point) call

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
25565: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25565
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#25565: mark-whole-buffer and unnecessary (point) call
From: Eli Zaretskii <[email-masked]>
To: dptd dptd <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Fri, 28 Apr 2017 11:28:10 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> From: dptd dptd <[email-masked]>
> Date: Sun, 29 Jan 2017 22:46:02 +0200
> Cc: Eli Zaretskii <[email-masked]>, [email-masked]
> 
> > There should be no colon `:' after `(viper-mark-beginning-of-buffer)',
> > since `(viper-mark-end-of-buffer)' in the next line is in the same file.
> > 
> >> * lisp/cedet/semantic/senator.el (senator-mark-defun):
> >> * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
> >> `(point)' from calls to `push-mark'.
> > 
> > Steve Berman
> 
> I want to contribute to the project but I cannot even prepare the patch file correctly... dammit!
> --------
> From 5f044df2093844b24a692d3aceb846ced7b1b442 Mon Sep 17 00:00:00 2001
> From: Bartosz Duszel <[email-masked]>
> Date: Sun, 29 Jan 2017 14:47:23 +0200
> Subject: [PATCH] Remove unnecessary argument `(point)' from calls to
>  `push-mark'.
> 
> * lisp/textmodes/bib-mode.el (mark-bib):
> * lisp/simple.el (mark-whole-buffer, yank):
> * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
> * lisp/progmodes/xscheme.el (xscheme-yank):
> * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
> * lisp/progmodes/perl-mode.el (perl-mark-function):
> * lisp/progmodes/pascal.el (pascal-mark-defun):
> * lisp/progmodes/meta-mode.el (meta-mark-defun):
> * lisp/progmodes/icon.el (mark-icon-function):
> * lisp/progmodes/cc-cmds.el (c-mark-function):
> * lisp/obsolete/vip.el (ex-goto):
> * lisp/obsolete/vi.el (vi-put-before):
> * lisp/mouse.el (mouse-yank-primary):
> * lisp/menu-bar.el (menu-bar-select-yank):
> * lisp/mail/sendmail.el (mail-yank-original):
> * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
> * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
> (viper-mark-end-of-buffer):
> * lisp/cedet/semantic/senator.el (senator-mark-defun):
> * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
> `(point)' from calls to `push-mark'.

I've now pushed this in your name to the master branc h, and I'm
marking this bug done.

Thanks for working on this and for persevering.

Subject: mark-whole-buffer and unnecessary (point) call
From: dptd dptd <[email-masked]>
To: [email-masked]
Date: Sat, 28 Jan 2017 17:33:00 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello everyone,
This is my first patch so please let me know if I am doing something wrong in the process.
I do not know if I should sent just the plain diff file without any ‘introduction’ but let me just
say that today I have created thread (same name) on emacs-devel mailing list about this
change and I am not pasting it here because I do not (yet!) know if I should.

Thanks!

Bartosz Duszel (dptd)

From 8434ca3015fb8b0fb34aa8f1e979e005bd7275eb Mon Sep 17 00:00:00 2001
From: Bartosz Duszel <[email-masked]>
Date: Sat, 28 Jan 2017 13:00:12 +0200
Subject: [PATCH] Removed explicit call to (point) function in (push-mark)
 calls

Arguments for (push-mark) are optional. When there are no arguments
passed to the function then by default current point location is used.
---
 lisp/allout.el                 | 2 +-
 lisp/cedet/semantic/senator.el | 2 +-
 lisp/emulation/viper-cmd.el    | 4 ++--
 lisp/hexl.el                   | 4 ++--
 lisp/mail/sendmail.el          | 2 +-
 lisp/menu-bar.el               | 2 +-
 lisp/mouse.el                  | 2 +-
 lisp/obsolete/vi.el            | 2 +-
 lisp/obsolete/vip.el           | 2 +-
 lisp/progmodes/cc-cmds.el      | 2 +-
 lisp/progmodes/icon.el         | 4 ++--
 lisp/progmodes/meta-mode.el    | 2 +-
 lisp/progmodes/pascal.el       | 4 ++--
 lisp/progmodes/perl-mode.el    | 4 ++--
 lisp/progmodes/verilog-mode.el | 4 ++--
 lisp/progmodes/xscheme.el      | 2 +-
 lisp/ses.el                    | 6 +++---
 lisp/simple.el                 | 4 ++--
 lisp/textmodes/bib-mode.el     | 2 +-
 19 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/lisp/allout.el b/lisp/allout.el
index 4a0aeeedf6..c6368cd54d 100644
--- a/lisp/allout.el
+++ b/lisp/allout.el
@@ -6504,7 +6504,7 @@ allout-mark-topic
   (let ((inhibit-field-text-motion t))
     (beginning-of-line))
   (allout-goto-prefix-doublechecked)
-  (push-mark (point))
+  (push-mark)
   (allout-end-of-current-subtree)
   (exchange-point-and-mark))
 ;;;_  : UI:
diff --git a/lisp/cedet/semantic/senator.el b/lisp/cedet/semantic/senator.el
index 407bb05add..f1918c4091 100644
--- a/lisp/cedet/semantic/senator.el
+++ b/lisp/cedet/semantic/senator.el
@@ -659,7 +659,7 @@ senator-mark-defun
         (end    (progn (senator-end-of-defun) (point)))
         (start  (progn (senator-beginning-of-defun) (point))))
     (goto-char origin)
-    (push-mark (point))
+    (push-mark)
     (goto-char end) ;; end-of-defun
     (push-mark (point) nil t)
     (goto-char start) ;; beginning-of-defun
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el
index 86364282dc..e71bf0e37a 100644
--- a/lisp/emulation/viper-cmd.el
+++ b/lisp/emulation/viper-cmd.el
@@ -4346,7 +4346,7 @@ viper-query-replace
 (defun viper-mark-beginning-of-buffer ()
   "Mark beginning of buffer."
   (interactive)
-  (push-mark (point))
+  (push-mark)
   (goto-char (point-min))
   (exchange-point-and-mark)
   (message "Mark set at the beginning of buffer"))
@@ -4354,7 +4354,7 @@ viper-mark-beginning-of-buffer
 (defun viper-mark-end-of-buffer ()
   "Mark end of buffer."
   (interactive)
-  (push-mark (point))
+  (push-mark)
   (goto-char (point-max))
   (exchange-point-and-mark)
   (message "Mark set at the end of buffer"))
diff --git a/lisp/hexl.el b/lisp/hexl.el
index b5e9c1ff33..0a598b22f6 100644
--- a/lisp/hexl.el
+++ b/lisp/hexl.el
@@ -730,13 +730,13 @@ hexl-beginning-of-buffer
 Leaves `hexl-mark' at previous position.
 With prefix arg N, puts point N bytes of the way from the true beginning."
   (interactive "p")
-  (push-mark (point))
+  (push-mark)
   (hexl-goto-address (+ 0 (1- arg))))
 
 (defun hexl-end-of-buffer (arg)
   "Go to `hexl-max-address' minus ARG."
   (interactive "p")
-  (push-mark (point))
+  (push-mark)
   (hexl-goto-address (- hexl-max-address (1- arg))))
 
 (defun hexl-beginning-of-line ()
diff --git a/lisp/mail/sendmail.el b/lisp/mail/sendmail.el
index 70c8ea1f93..4121cd773b 100644
--- a/lisp/mail/sendmail.el
+++ b/lisp/mail/sendmail.el
@@ -1676,7 +1676,7 @@ mail-yank-original
 	      ;; Call yank function, and set the mark if it doesn't.
 	      (apply (car original) (cdr original))
 	      (if (eq omark (mark t))
-		  (push-mark (point))))
+		  (push-mark)))
 	  ;; If the original message is in another window in the same
 	  ;; frame, delete that window to save space.
 	  (delete-windows-on original t)
diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el
index 28464f13df..c2733a5892 100644
--- a/lisp/menu-bar.el
+++ b/lisp/menu-bar.el
@@ -1971,7 +1971,7 @@ menu-bar-select-yank
   "Insert the stretch of previously-killed text selected from menu.
 The menu shows all the killed text sequences stored in `kill-ring'."
   (interactive "*")
-  (push-mark (point))
+  (push-mark)
   (insert last-command-event))
 
 
diff --git a/lisp/mouse.el b/lisp/mouse.el
index 0f1d446040..0520fd1ab9 100644
--- a/lisp/mouse.el
+++ b/lisp/mouse.el
@@ -1135,7 +1135,7 @@ mouse-yank-primary
       (deactivate-mark)))
   (or mouse-yank-at-point (mouse-set-point click))
   (let ((primary (gui-get-primary-selection)))
-    (push-mark (point))
+    (push-mark)
     (insert-for-yank primary)))
 
 (defun mouse-kill-ring-save (click)
diff --git a/lisp/obsolete/vi.el b/lisp/obsolete/vi.el
index 081b229ebc..5b611aa2d0 100644
--- a/lisp/obsolete/vi.el
+++ b/lisp/obsolete/vi.el
@@ -1128,7 +1128,7 @@ vi-put-before
 	      (progn (forward-line 1) (beginning-of-line))
 	    (beginning-of-line))
 	(if after-p (forward-char 1)))
-      (push-mark (point))
+      (push-mark)
       (insert put-text)
       (exchange-point-and-mark)
 ;;    (back-to-indentation)      ; this is not allowed if we allow yank-pop
diff --git a/lisp/obsolete/vip.el b/lisp/obsolete/vip.el
index ca0bfe712c..4d70d6a5df 100644
--- a/lisp/obsolete/vip.el
+++ b/lisp/obsolete/vip.el
@@ -2596,7 +2596,7 @@ ex-goto
   "ex goto command"
   (if (null ex-addresses)
       (setq ex-addresses (cons (point) nil)))
-  (push-mark (point))
+  (push-mark)
   (goto-char (car ex-addresses))
   (beginning-of-line))
 
diff --git a/lisp/progmodes/cc-cmds.el b/lisp/progmodes/cc-cmds.el
index 561e6767e1..a5ddcb4b92 100644
--- a/lisp/progmodes/cc-cmds.el
+++ b/lisp/progmodes/cc-cmds.el
@@ -2041,7 +2041,7 @@ c-mark-function
 	     (push-mark-p (and (eq this-command 'c-mark-function)
 			       (not extend-region-p)
 			       (not (c-region-is-active-p)))))
-	(if push-mark-p (push-mark (point)))
+	(if push-mark-p (push-mark))
 	(if extend-region-p
 	    (progn
 	      (exchange-point-and-mark)
diff --git a/lisp/progmodes/icon.el b/lisp/progmodes/icon.el
index 0c699a00e8..92a89fef70 100644
--- a/lisp/progmodes/icon.el
+++ b/lisp/progmodes/icon.el
@@ -459,9 +459,9 @@ icon-backward-to-start-of-if
 (defun mark-icon-function ()
   "Put mark at end of Icon function, point at beginning."
   (interactive)
-  (push-mark (point))
+  (push-mark)
   (end-of-icon-defun)
-  (push-mark (point))
+  (push-mark)
   (beginning-of-line 0)
   (beginning-of-icon-defun))
 
diff --git a/lisp/progmodes/meta-mode.el b/lisp/progmodes/meta-mode.el
index 3db3b8ad73..3377226388 100644
--- a/lisp/progmodes/meta-mode.el
+++ b/lisp/progmodes/meta-mode.el
@@ -780,7 +780,7 @@ meta-mark-defun
   "Put mark at end of the environment, point at the beginning.
 The environment marked is the one that contains point or follows point."
   (interactive)
-  (push-mark (point))
+  (push-mark)
   (meta-end-of-defun)
   (push-mark (point) nil t)
   (meta-beginning-of-defun))
diff --git a/lisp/progmodes/pascal.el b/lisp/progmodes/pascal.el
index bf49ba4a36..a7d0624a74 100644
--- a/lisp/progmodes/pascal.el
+++ b/lisp/progmodes/pascal.el
@@ -507,9 +507,9 @@ pascal-mark-defun
   "Mark the current Pascal function (or procedure).
 This puts the mark at the end, and point at the beginning."
   (interactive)
-  (push-mark (point))
+  (push-mark)
   (pascal-end-of-defun)
-  (push-mark (point))
+  (push-mark)
   (pascal-beg-of-defun)
   (when (featurep 'xemacs)
     (zmacs-activate-region)))
diff --git a/lisp/progmodes/perl-mode.el b/lisp/progmodes/perl-mode.el
index a516f07e72..1880bdd040 100644
--- a/lisp/progmodes/perl-mode.el
+++ b/lisp/progmodes/perl-mode.el
@@ -1102,9 +1102,9 @@ 'mark-perl-function
 (defun perl-mark-function ()
   "Put mark at end of Perl function, point at beginning."
   (interactive)
-  (push-mark (point))
+  (push-mark)
   (perl-end-of-function)
-  (push-mark (point))
+  (push-mark)
   (perl-beginning-of-function)
   (backward-paragraph))
 
diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el
index 48ee55500f..9f3bad1c1a 100644
--- a/lisp/progmodes/verilog-mode.el
+++ b/lisp/progmodes/verilog-mode.el
@@ -4212,9 +4212,9 @@ verilog-mark-defun
   (interactive)
   (if (featurep 'xemacs)
       (progn
-	(push-mark (point))
+	(push-mark)
 	(verilog-end-of-defun)
-	(push-mark (point))
+	(push-mark)
 	(verilog-beg-of-defun)
 	(if (fboundp 'zmacs-activate-region)
 	    (zmacs-activate-region)))
diff --git a/lisp/progmodes/xscheme.el b/lisp/progmodes/xscheme.el
index 4502c6d33f..bdfe30af50 100644
--- a/lisp/progmodes/xscheme.el
+++ b/lisp/progmodes/xscheme.el
@@ -580,7 +580,7 @@ xscheme-yank
   (xscheme-rotate-yank-pointer (if (listp arg) 0
 				 (if (eq arg '-) -1
 				   (1- arg))))
-  (push-mark (point))
+  (push-mark)
   (insert (car xscheme-expressions-ring-yank-pointer))
   (if (consp arg)
       (exchange-point-and-mark)))
diff --git a/lisp/ses.el b/lisp/ses.el
index 76d4ca577d..f8fd17d0de 100644
--- a/lisp/ses.el
+++ b/lisp/ses.el
@@ -3023,7 +3023,7 @@ ses--advice-yank
 		(eq (get-text-property (point) 'keymap) 'ses-mode-print-map)))
       (apply yank-fun arg args) ; Normal non-SES yank.
     (ses-check-curcell 'end)
-    (push-mark (point))
+    (push-mark)
     (let ((text (current-kill (cond
 			       ((listp arg)  0)
 			       ((eq arg '-)  -1)
@@ -3290,7 +3290,7 @@ ses-mark-row
   (interactive)
   (ses-check-curcell 'range)
   (let ((row (car (ses-sym-rowcol (or (car-safe ses--curcell) ses--curcell)))))
-    (push-mark (point))
+    (push-mark)
     (ses-goto-print (1+ row) 0)
     (push-mark (point) nil t)
     (ses-goto-print row 0)))
@@ -3301,7 +3301,7 @@ ses-mark-column
   (ses-check-curcell 'range)
   (let ((col (cdr (ses-sym-rowcol (or (car-safe ses--curcell) ses--curcell))))
 	(row 0))
-    (push-mark (point))
+    (push-mark)
     (ses-goto-print (1- ses--numrows) col)
     (forward-char 1)
     (push-mark (point) nil t)
diff --git a/lisp/simple.el b/lisp/simple.el
index bdc6abde1f..281d9766aa 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -1105,7 +1105,7 @@ mark-whole-buffer
 that uses or sets the mark."
   (declare (interactive-only t))
   (interactive)
-  (push-mark (point))
+  (push-mark)
   (push-mark (point-max) nil t)
   ;; This is really `point-min' in most cases, but if we're in the
   ;; minibuffer, this is at the end of the prompt.
@@ -4858,7 +4858,7 @@ yank
   ;; If we don't get all the way thru, make last-command indicate that
   ;; for the following command.
   (setq this-command t)
-  (push-mark (point))
+  (push-mark)
   (insert-for-yank (current-kill (cond
 				  ((listp arg) 0)
 				  ((eq arg '-) -2)
diff --git a/lisp/textmodes/bib-mode.el b/lisp/textmodes/bib-mode.el
index 74d214496e..2f3c17b3b2 100644
--- a/lisp/textmodes/bib-mode.el
+++ b/lisp/textmodes/bib-mode.el
@@ -181,7 +181,7 @@ mark-bib
    (re-search-backward "^ *$" nil 2)
    (re-search-forward "^%")
    (beginning-of-line nil)
-   (push-mark (point))
+   (push-mark)
    (re-search-forward "^ *$" nil 2)
    (forward-line 1)
    (beginning-of-line nil))
-- 
2.11.0