unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Rolf Ade <rolf@pointsman.de>
To: 25379-done@debbugs.gnu.org
Subject: bug#25379: 26.0.50; Minor: Call looking-back as advertised
Date: Tue, 30 Jul 2019 23:41:23 +0200	[thread overview]
Message-ID: <87ftmnurng.fsf@pointsman.de> (raw)
In-Reply-To: <87y3yooxbo.fsf@pointsman.de> (Rolf Ade's message of "Fri, 06 Jan 2017 19:30:35 +0100")


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.)





      parent reply	other threads:[~2019-07-30 21:41 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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 [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ftmnurng.fsf@pointsman.de \
    --to=rolf@pointsman.de \
    --cc=25379-done@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).