Subject: 26.0.50; Minor: Call looking-back as advertised

From: Rolf Ade <[email-masked]>
Date: Fri, 06 Jan 2017 19:30:35 +0100

Since emacs 25.1

C-h f looking-back RET

shows:

looking-back is a compiled Lisp function in ‘subr.el’.

(looking-back REGEXP LIMIT &optional GREEDY)
...

This is because of

  (declare
   (advertised-calling-convention (regexp limit &optional greedy) "25.1"))

at the start of the looking-back implementation.

It still can be called with only one argument (in this cases LIMIT will
default to nil) and there are still a few such calls in the emacs core
lisp code.

This doesn't do any harm other than unnecessary

"[...]Warning: looking-back called with 1 argument, but requires 2-3"

noise in the compiling output while byte-compiling that files.

The patch below silence that (simply by explicitly adding nil as second
argument). This handles all such calls, that an el-search-load-path with
the pattern `(looking-back ,_) found (see
https://elpa.gnu.org/packages/el-search.html) with an appropriate
load-path. That means, if that works as promoted: this patch handles all
such cases curently still in the core.

Commit message:

* lisp/emulation/viper-ex.el (ex-cmd-read-exit):
* lisp/org/org.el (org-read-date-minibuffer-local-map):
* lisp/progmodes/hideshow.el (hs-hide-block-at-point):
* lisp/progmodes/sql.el (sql-end-of-statement): Call looking-back as
advertised.

Copyright-paperwork-exempt: yes

diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el
index edc71ea..3fdeadb 100644
--- a/lisp/emulation/viper-ex.el
+++ b/lisp/emulation/viper-ex.el
@@ -548,9 +548,9 @@ ex-cmd-read-exit
       (setq viper-ex-work-buf (get-buffer-create viper-ex-work-buf-name))
       (set-buffer viper-ex-work-buf)
       (goto-char (point-max)))
-    (cond ((looking-back quit-regex1) (exit-minibuffer))
-	  ((looking-back stay-regex)  (insert " "))
-	  ((looking-back quit-regex2) (exit-minibuffer))
+    (cond ((looking-back quit-regex1 nil) (exit-minibuffer))
+	  ((looking-back stay-regex nil)  (insert " "))
+	  ((looking-back quit-regex2 nil) (exit-minibuffer))
 	  (t (insert " ")))))
 
 (declare-function viper-tmp-insert-at-eob "viper-cmd" (msg))
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 02a7a0c..2659a4d 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -16249,7 +16249,7 @@ org-read-date-minibuffer-local-map
     (org-defkey map (kbd ".")
                 (lambda () (interactive)
 		  ;; Are we at the beginning of the prompt?
-		  (if (looking-back "^[^:]+: ")
+		  (if (looking-back "^[^:]+: " nil)
 		      (org-eval-in-calendar '(calendar-goto-today))
 		    (insert "."))))
     (org-defkey map (kbd "C-.")
diff --git a/lisp/progmodes/hideshow.el b/lisp/progmodes/hideshow.el
index 0e4e670..5328526 100644
--- a/lisp/progmodes/hideshow.el
+++ b/lisp/progmodes/hideshow.el
@@ -582,7 +582,7 @@ hs-hide-block-at-point
 	  (setq p (line-end-position)))
 	;; `q' is the point at the end of the block
 	(hs-forward-sexp mdata 1)
-	(setq q (if (looking-back hs-block-end-regexp)
+	(setq q (if (looking-back hs-block-end-regexp nil)
 		    (match-beginning 0)
 		  (point)))
         (when (and (< p q) (> (count-lines p q) 1))
diff --git a/lisp/progmodes/sql.el b/lisp/progmodes/sql.el
index d6c9516..06ef4df 100644
--- a/lisp/progmodes/sql.el
+++ b/lisp/progmodes/sql.el
@@ -2790,7 +2790,7 @@ sql-end-of-statement
     ;; Iterate until we've moved the desired number of stmt ends
     (while (not (= (cl-signum arg) 0))
       ;; if we're looking at the terminator, jump by 2
-      (if (or (and (> 0 arg) (looking-back term))
+      (if (or (and (> 0 arg) (looking-back term nil))
               (and (< 0 arg) (looking-at term)))
           (setq n 2)
         (setq n 1))

In GNU Emacs 26.0.50.5 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.10)
 of 2017-01-06 built on linux-qg7d
Repository revision: 8f0376309ee37e4f1da21d78971c4df2df5fd7b6
Windowing system distributor 'The X.Org Foundation', version 11.0.11203000
System Description:	openSUSE 12.2 (x86_64)