GNU bug report logs - #25379
26.0.50; Minor: Call looking-back as advertised

Previous Next

Package: emacs;

Reported by: Rolf Ade <rolf <at> pointsman.de>

Date: Fri, 6 Jan 2017 18:32:02 UTC

Severity: wishlist

Found in version 26.0.50

Done: Rolf Ade <rolf <at> pointsman.de>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Rolf Ade <rolf <at> pointsman.de>
Subject: bug#25379: closed (Re: bug#25379: 26.0.50; Minor: Call
 looking-back as advertised)
Date: Tue, 30 Jul 2019 21:42:02 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#25379: 26.0.50; Minor: Call looking-back as advertised

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 25379 <at> debbugs.gnu.org.

-- 
25379: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=25379
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Rolf Ade <rolf <at> pointsman.de>
To: 25379-done <at> debbugs.gnu.org
Subject: Re: bug#25379: 26.0.50; Minor: Call looking-back as advertised
Date: Tue, 30 Jul 2019 23:41:23 +0200
Rolf Ade <rolf <at> pointsman.de> writes:
> 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)


All the in this bug mentioned looking-at are in the meantimenow called
with the advertised two args; no warning message regarding to this
created anymore. This was done. (By others, mostly in the way I proposed
in my patch.)

[Message part 3 (message/rfc822, inline)]
From: Rolf Ade <rolf <at> pointsman.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.0.50; Minor: Call looking-back as advertised
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)




This bug report was last modified 5 years and 298 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.