unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#25379: 26.0.50; Minor: Call looking-back as advertised
@ 2017-01-06 18:30 Rolf Ade
  2017-01-06 18:55 ` Glenn Morris
  2019-07-30 21:41 ` Rolf Ade
  0 siblings, 2 replies; 4+ messages in thread
From: Rolf Ade @ 2017-01-06 18:30 UTC (permalink / raw)
  To: 25379


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)






^ permalink raw reply related	[flat|nested] 4+ messages in thread

* bug#25379: 26.0.50; Minor: Call looking-back as advertised
  2017-01-06 18:30 bug#25379: 26.0.50; Minor: Call looking-back as advertised Rolf Ade
@ 2017-01-06 18:55 ` Glenn Morris
  2017-01-06 21:39   ` Rolf Ade
  2019-07-30 21:41 ` Rolf Ade
  1 sibling, 1 reply; 4+ messages in thread
From: Glenn Morris @ 2017-01-06 18:55 UTC (permalink / raw)
  To: Rolf Ade; +Cc: 25379


But it's better to figure out a real limit, and the warning from
having none specified reminds us of that, so IMO it's better to leave
as-is till someone does that (or verifies that point-min is the best
that can be done).





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#25379: 26.0.50; Minor: Call looking-back as advertised
  2017-01-06 18:55 ` Glenn Morris
@ 2017-01-06 21:39   ` Rolf Ade
  0 siblings, 0 replies; 4+ messages in thread
From: Rolf Ade @ 2017-01-06 21:39 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 25379


Glenn Morris <rgm@gnu.org> writes:
> But it's better to figure out a real limit, and the warning from
> having none specified reminds us of that, so IMO it's better to leave
> as-is till someone does that (or verifies that point-min is the best
> that can be done).

Ah ..., OK, then.

So, you say, all that lisp compiling warnings during a fresh emacs
build are such 'reminders'?

And this is "wishlist" instead of "wontfix" because you would like to
get that fixed, but in a better way then by my 'just pacify
byte-compiling' patch?





^ permalink raw reply	[flat|nested] 4+ messages in thread

* bug#25379: 26.0.50; Minor: Call looking-back as advertised
  2017-01-06 18:30 bug#25379: 26.0.50; Minor: Call looking-back as advertised Rolf Ade
  2017-01-06 18:55 ` Glenn Morris
@ 2019-07-30 21:41 ` Rolf Ade
  1 sibling, 0 replies; 4+ messages in thread
From: Rolf Ade @ 2019-07-30 21:41 UTC (permalink / raw)
  To: 25379-done


Rolf Ade <rolf@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.)





^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-07-30 21:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-06 18:30 bug#25379: 26.0.50; Minor: Call looking-back as advertised Rolf Ade
2017-01-06 18:55 ` Glenn Morris
2017-01-06 21:39   ` Rolf Ade
2019-07-30 21:41 ` Rolf Ade

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).