Commit c9a75a40 authored by Stefan Monnier's avatar Stefan Monnier

Fix byte-compiler warnings about looking-back.

* lisp/vc/log-view.el (log-view-end-of-defun-1):
* lisp/textmodes/tex-mode.el (latex-forward-sexp-1):
* lisp/textmodes/reftex-ref.el (reftex-goto-label):
* lisp/textmodes/bibtex.el (bibtex-insert-kill):
* lisp/progmodes/sh-script.el (sh--maybe-here-document):
* lisp/progmodes/ruby-mode.el (ruby-end-of-defun):
* lisp/progmodes/ada-mode.el (ada-in-numeric-literal-p):
* lisp/org/org.el (org-insert-heading, org-sort-entries):
* lisp/org/org-mouse.el (org-mouse-end-headline)
(org-mouse-context-menu):
* lisp/org/org-clock.el (org-clock-cancel):
* lisp/man.el (Man-default-man-entry):
* lisp/mail/rmail.el (rmail-get-new-mail, rmail-insert-inbox-text)
(rmail-ensure-blank-line):
* lisp/mail/footnote.el (Footnote-delete-footnote):
* lisp/mail/emacsbug.el (report-emacs-bug):
* lisp/info.el (Info-follow-reference, Info-fontify-node):
* lisp/info-look.el (info-lookup-guess-custom-symbol):
* lisp/help-fns.el (help-fns--key-bindings):
* lisp/files.el (hack-local-variables):
* lisp/emulation/viper-ex.el (viper-get-ex-token, ex-cmd-complete)
(viper-get-ex-pat, ex-expand-filsyms, viper-get-ex-file)
(viper-complete-filename-or-exit):
* lisp/emulation/viper-cmd.el (viper-backward-indent):
* lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent):
* lisp/emacs-lisp/elint.el (elint-get-top-forms):
* lisp/cus-edit.el (custom-face-edit-value-create):
* lisp/calendar/todo-mode.el (todo-set-item-priority)
(todo-filter-items-1, todo-convert-legacy-files)
(todo-prefix-overlays): Add explicit second arg to looking-back.
parent e3bfb519
......@@ -233,7 +233,9 @@ Unicode standards.
* Changes in Specialized Modes and Packages in Emacs 25.1
** In xterms, killing text now also sets the CLIPBOARD/PRIMARY selection
in the surrounding GUI (using the OSC-52 escape sequence).
in the surrounding GUI (using the OSC-52 escape sequence). This only works
if your xterm supports it and enables the `allowWindowOps' options (disabled
by default at least in Debian, for security reasons).
** xterm-mouse-mode now supports mouse-tracking (if your xterm supports it).
......
......@@ -2606,7 +2606,8 @@ meaning to raise or lower the item's priority by one."
;; separator.
(when (looking-back (concat "^"
(regexp-quote todo-category-done)
"\n"))
"\n")
(line-beginning-position 0))
(todo-backward-item))))
(todo-insert-with-overlays item)
;; If item was marked, restore the mark.
......@@ -4231,7 +4232,8 @@ the values of FILTER and FILE-LIST."
(if (and (eobp)
(looking-back
(concat (regexp-quote todo-done-string)
"\n")))
"\n")
(line-beginning-position 0)))
(delete-region (point) (progn
(forward-line -2)
(point))))))
......@@ -4648,7 +4650,7 @@ name in `todo-directory'. See also the documentation string of
;; If the item ends with a non-comment parenthesis not
;; followed by a period, we lose (but we inherit that
;; problem from the legacy code).
(when (looking-back "(\\(.*\\)) ")
(when (looking-back "(\\(.*\\)) " (line-beginning-position))
(setq comment (match-string 1))
(replace-match "")
(insert "[" todo-comment-string ": " comment "]"))
......@@ -5342,7 +5344,8 @@ of each other."
(looking-at todo-done-string-start)
(looking-back (concat "^"
(regexp-quote todo-category-done)
"\n")))
"\n")
(line-beginning-position 0)))
(setq num 1
done t))
(setq prefix (concat (propertize
......
......@@ -3115,7 +3115,7 @@ face attributes (as specified by a `default' defface entry)."
widget
(widget-get widget :default-face-attributes)))
entry)
(unless (looking-back "^ *")
(unless (looking-back "^ *" (line-beginning-position))
(insert ?\n))
(insert-char ?\s (widget-get widget :extra-offset))
(if (or alist defaults show-all)
......
......@@ -374,7 +374,7 @@ Returns the forms."
(let ((elint-current-pos (point)))
;; non-list check could be here too. errors may be out of seq.
;; quoted check cannot be elsewhere, since quotes skipped.
(if (looking-back "'")
(if (looking-back "'" (1- (point)))
;; Eg cust-print.el uses ' as a comment syntax.
(elint-warning "Skipping quoted form `'%.20s...'"
(read (current-buffer)))
......
......@@ -437,9 +437,9 @@ This can be found in an RCS or SCCS header."
((re-search-forward
(concat
"@(#)"
(if buffer-file-name
(if buffer-file-name
(regexp-quote (file-name-nondirectory buffer-file-name))
"[^\t\n]*")
"[^\t\n]+")
"\t\\([012345679.]*\\)")
header-max t)
(match-string-no-properties 1)))))))
......
......@@ -855,9 +855,10 @@ is the buffer position of the start of the containing expression."
;; Handle prefix characters and whitespace
;; following an open paren. (Bug#1012)
(backward-prefix-chars)
(while (and (not (looking-back "^[ \t]*\\|([ \t]+"))
(or (not containing-sexp)
(< (1+ containing-sexp) (point))))
(while (not (or (looking-back "^[ \t]*\\|([ \t]+"
(line-beginning-position))
(and containing-sexp
(>= (1+ containing-sexp) (point)))))
(forward-sexp -1)
(backward-prefix-chars))
(setq calculate-lisp-indent-last-sexp (point)))
......
......@@ -4533,7 +4533,7 @@ One can use `` and '' to temporarily jump 1 step back."
(interactive)
(if viper-cted
(let ((p (point)) (c (current-column)) bol (indent t))
(if (looking-back "[0^]")
(if (looking-back "[0^]" (1- (point)))
(progn
(if (eq ?^ (preceding-char))
(setq viper-preserve-indent t))
......@@ -4545,7 +4545,7 @@ One can use `` and '' to temporarily jump 1 step back."
(delete-region (point) p)
(if indent
(indent-to (- c viper-shift-width)))
(if (or (bolp) (looking-back "[^ \t]"))
(if (or (bolp) (looking-back "[^ \t]" (1- (point))))
(setq viper-cted nil)))))
;; do smart indent
......
......@@ -455,7 +455,8 @@ reversed."
(while (and (not (eolp)) cont)
;;(re-search-forward "[^/]*/")
(re-search-forward "[^/]*\\(/\\|\n\\)")
(if (not (looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/"))
(if (not (looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\/"
(line-beginning-position 0)))
(setq cont nil))))
(backward-char 1)
(setq ex-token (buffer-substring (point) (mark t)))
......@@ -468,7 +469,8 @@ reversed."
(while (and (not (eolp)) cont)
;;(re-search-forward "[^\\?]*\\?")
(re-search-forward "[^\\?]*\\(\\?\\|\n\\)")
(if (not (looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\\\?"))
(if (not (looking-back "[^\\\\]\\(\\\\\\\\\\)*\\\\\\?"
(line-beginning-position 0)))
(setq cont nil))
(backward-char 1)
(if (not (looking-at "\n")) (forward-char 1))))
......@@ -563,14 +565,18 @@ reversed."
save-pos (point)))
(if (or (= dist 0)
(looking-back "\\([ \t]*['`][ \t]*[a-z]*\\)")
(looking-back "\\([ \t]*['`][ \t]*[a-z]*\\)"
(line-beginning-position))
(looking-back
"^[ \t]*[a-zA-Z!=>&~][ \t]*[/?]*[ \t]+[a-zA-Z!=>&~]+"))
"^[ \t]*[a-zA-Z!=>&~][ \t]*[/?]*[ \t]+[a-zA-Z!=>&~]+"
(line-beginning-position)))
;; Preceding characters are not the ones allowed in an Ex command
;; or we have typed past command name.
;; Note: we didn't do parsing, so there can be surprises.
(if (or (looking-back "[a-zA-Z!=>&~][ \t]*[/?]*[ \t]*")
(looking-back "\\([ \t]*['`][ \t]*[a-z]*\\)")
(if (or (looking-back "[a-zA-Z!=>&~][ \t]*[/?]*[ \t]*"
(line-beginning-position))
(looking-back "\\([ \t]*['`][ \t]*[a-z]*\\)"
(line-beginning-position))
(looking-at "[^ \t\n\C-m]"))
nil
(with-output-to-temp-buffer "*Completions*"
......@@ -747,7 +753,8 @@ reversed."
(error "Missing closing delimiter for global regexp")
(goto-char (point-max))))
(if (not (looking-back
(format "[^\\\\]\\(\\\\\\\\\\)*\\\\%c" c)))
(format "[^\\\\]\\(\\\\\\\\\\)*\\\\%c" c)
(line-beginning-position 0)))
(setq cont nil)
;; we are at an escaped delimiter: unescape it and continue
(delete-char -2)
......@@ -963,7 +970,7 @@ reversed."
(while (re-search-forward "%\\|#" nil t)
(let ((data (match-data))
(char (buffer-substring (match-beginning 0) (match-end 0))))
(if (looking-back (concat "\\\\" char))
(if (looking-back "\\\\." (- (point) 2))
(replace-match char)
(store-match-data data)
(if (string= char "%")
......@@ -989,7 +996,7 @@ reversed."
(get-buffer-create viper-ex-work-buf-name))
(skip-chars-forward " \t")
(if (looking-at "!")
(if (and (not (looking-back "[ \t]"))
(if (and (not (looking-back "[ \t]" (1- (point))))
;; read doesn't have a corresponding :r! form, so ! is
;; immediately interpreted as a shell command.
(not (string= ex-token "read")))
......@@ -1066,7 +1073,7 @@ reversed."
(cond ((ex-cmd-accepts-multiple-files-p ex-token) (exit-minibuffer))
;; apparently the argument to an Ex command is
;; supposed to be a shell command
((looking-back "^[ \t]*!.*")
((looking-back "^[ \t]*!.*" (line-beginning-position))
(setq ex-cmdfile t)
(insert " "))
(t
......
......@@ -3375,7 +3375,7 @@ local variables, but directory-local variables may still be applied."
(error "Local variables entry is missing the prefix"))
(end-of-line)
;; Discard the suffix.
(if (looking-back suffix)
(if (looking-back suffix (line-beginning-position))
(delete-region (match-beginning 0) (point))
(error "Local variables entry is missing the suffix"))
(forward-line 1))
......
......@@ -329,7 +329,7 @@ suitable file is found, return nil."
(with-current-buffer standard-output
(fill-region-as-paragraph pt2 (point))
(unless (looking-back "\n\n")
(unless (looking-back "\n\n" (- (point) 2))
(terpri))))))
(defun help-fns--compiler-macro (function)
......
......@@ -634,7 +634,8 @@ Return nil if there is nothing appropriate in the buffer near point."
(setq end (point))
(> end beg))
(and (looking-at "[ \t\n]")
(looking-back (concat "[" significant-chars "]"))
(looking-back (concat "[" significant-chars "]")
(1- (point)))
(setq end (point))
(skip-chars-backward significant-chars)
(setq beg (point))
......
......@@ -2577,7 +2577,9 @@ new buffer."
(save-excursion
;; Move point to the beginning of reference if point is on reference
(or (looking-at "\\*note[ \n\t]+")
(and (looking-back "\\*note[ \n\t]+")
(and (looking-back "\\*note[ \n\t]+"
(save-excursion (skip-chars-backward " \n\t")
(line-beginning-position)))
(goto-char (match-beginning 0)))
(if (and (save-excursion
(goto-char (+ (point) 5)) ; skip a possible *note
......@@ -4738,9 +4740,11 @@ first line or header line, and for breadcrumb links.")
;; an end of sentence
(skip-syntax-backward " ("))
(setq other-tag
(cond ((save-match-data (looking-back "\\<see"))
(cond ((save-match-data (looking-back "\\<see"
(- (point) 3)))
"")
((save-match-data (looking-back "\\<in"))
((save-match-data (looking-back "\\<in"
(- (point) 2)))
"")
((memq (char-before) '(nil ?\. ?! ??))
"See ")
......
......@@ -295,7 +295,7 @@ usually do not have translators for other languages.\n\n")))
(insert-buffer-substring message-buf beg-pos end-pos))))
;; After Recent messages, to avoid the messages produced by
;; list-load-path-shadows.
(unless (looking-back "\n")
(unless (looking-back "\n" (1- (point)))
(insert "\n"))
(insert "\n")
(insert "Load-path shadows:\n")
......
......@@ -718,7 +718,7 @@ delete the footnote with that number."
end
(point-max))))
(Footnote-goto-char-point-max)
(when (looking-back "\n\n")
(when (looking-back "\n\n" (- (point) 2))
(kill-line -1))))))))
(defun Footnote-renumber-footnotes (&optional arg)
......
......@@ -1787,7 +1787,7 @@ not be a new one). It returns non-nil if it got any new messages."
;; Make sure we end with a blank line unless there are
;; no messages, as required by mbox format (Bug#9974).
(unless (bobp)
(while (not (looking-back "\n\n"))
(while (not (looking-back "\n\n" (- (point) 2)))
(insert "\n")))
(setq found (or
(rmail-get-new-mail-1 file-name files delete-files)
......@@ -2092,7 +2092,7 @@ Value is the size of the newly read mail after conversion."
;; Make sure the read-in mbox data properly ends with a
;; blank line unless it is of size 0.
(unless (zerop size)
(while (not (looking-back "\n\n"))
(while (not (looking-back "\n\n" (- (point) 2)))
(insert "\n")))
(if (not (and rmail-preserve-inbox (string= file tofile)))
(setq delete-files (cons tofile delete-files)))))
......@@ -2127,7 +2127,7 @@ Value is the size of the newly read mail after conversion."
Call with point at the end of the message."
(unless (bolp)
(insert "\n"))
(unless (looking-back "\n\n")
(unless (looking-back "\n\n" (- (point 2)))
(insert "\n")))
(defun rmail-add-mbox-headers ()
......
......@@ -747,7 +747,8 @@ POS defaults to `point'."
;; Record the distance traveled.
(setq distance (- column (current-column)))
(when (looking-back
(concat "([ \t]*\\(?:" Man-section-regexp "\\)[ \t]*)"))
(concat "([ \t]*\\(?:" Man-section-regexp "\\)[ \t]*)")
(line-beginning-position))
;; Skip section number backwards.
(goto-char (match-beginning 0))
(skip-chars-backward " \t"))
......
......@@ -1656,7 +1656,8 @@ Optional argument N tells to change by that many units."
(save-excursion ; Do not replace this with `with-current-buffer'.
(org-no-warnings (set-buffer (org-clocking-buffer)))
(goto-char org-clock-marker)
(if (org-looking-back (concat "^[ \t]*" org-clock-string ".*"))
(if (org-looking-back (concat "^[ \t]*" org-clock-string ".*")
(line-beginning-position))
(progn (delete-region (1- (point-at-bol)) (point-at-eol))
(org-remove-empty-drawer-at "LOGBOOK" (point)))
(message "Clock gone, cancel the timer anyway")
......
......@@ -191,7 +191,7 @@ Changing this variable requires a restart of Emacs to get activated."
(interactive)
(end-of-line)
(skip-chars-backward "\t ")
(when (org-looking-back ":[A-Za-z]+:")
(when (org-looking-back ":[A-Za-z]+:" (line-beginning-position))
(skip-chars-backward ":A-Za-z")
(skip-chars-backward "\t ")))
......@@ -645,7 +645,7 @@ This means, between the beginning of line and the point."
'org-mode-restart))))
((or (eolp)
(and (looking-at "\\( \\|\t\\)\\(+:[0-9a-zA-Z_:]+\\)?\\( \\|\t\\)+$")
(org-looking-back " \\|\t")))
(org-looking-back " \\|\t" (- (point) 2))))
(org-mouse-popup-global-menu))
((funcall get-context :checkbox)
(popup-menu
......
......@@ -7679,7 +7679,7 @@ command."
(re-search-forward org-outline-regexp-bol)
(beginning-of-line 0))
(skip-chars-backward " \r\n")
(and (not (looking-back "^\*+"))
(and (not (looking-back "^\*+" (line-beginning-position)))
(looking-at "[ \t]+") (replace-match ""))
(unless (eobp) (forward-char 1))
(when (looking-at "^\\*")
......@@ -8658,7 +8658,8 @@ links."
(when (equal (marker-buffer org-clock-marker) (current-buffer))
(save-excursion
(goto-char org-clock-marker)
(looking-back "^.*") (match-string-no-properties 0))))
(buffer-substring-no-properties (line-beginning-position)
(point)))))
start beg end stars re re2
txt what tmp)
;; Find beginning and end of region to sort
......
......@@ -1013,7 +1013,7 @@ If PARSE-RESULT is non-nil, use it instead of calling `parse-partial-sexp'."
(defsubst ada-in-numeric-literal-p ()
"Return t if point is after a prefix of a numeric literal."
(looking-back "\\([0-9]+#[0-9a-fA-F_]+\\)"))
(looking-back "\\([0-9]+#[0-9a-fA-F_]+\\)" (line-beginning-position)))
;;------------------------------------------------------------------
;; Contextual menus
......
......@@ -1392,7 +1392,8 @@ by `end-of-defun'."
(interactive "p")
(ruby-forward-sexp)
(let (case-fold-search)
(when (looking-back (concat "^\\s *" ruby-block-end-re))
(when (looking-back (concat "^\\s *" ruby-block-end-re)
(line-beginning-position))
(forward-line 1))))
(defun ruby-beginning-of-indent ()
......
......@@ -4344,7 +4344,7 @@ The document is bounded by `sh-here-document-word'."
(or arg (sh--maybe-here-document)))
(defun sh--maybe-here-document ()
(or (not (looking-back "[^<]<<"))
(or (not (looking-back "[^<]<<" (line-beginning-position)))
(save-excursion
(backward-char 2)
(or (sh-quoted-p)
......
......@@ -2229,7 +2229,7 @@ Optional arg COMMA is as in `bibtex-enclosing-field'."
bibtex-entry-kill-ring))
;; If we copied an entry from a buffer containing only this one entry,
;; it can be missing the second "\n".
(unless (looking-back "\n\n") (insert "\n"))
(unless (looking-back "\n\n" (- (point 2))) (insert "\n"))
(unless (functionp bibtex-reference-keys)
;; update `bibtex-reference-keys'
(save-excursion
......
......@@ -857,7 +857,8 @@ Optional prefix argument OTHER-WINDOW goes to the label in another window."
(docstruct (symbol-value reftex-docstruct-symbol))
;; If point is inside a \ref{} or \pageref{}, use that as
;; default value.
(default (when (looking-back "\\\\\\(?:page\\)?ref{[-a-zA-Z0-9_*.:]*")
(default (when (looking-back "\\\\\\(?:page\\)?ref{[-a-zA-Z0-9_*.:]*"
(line-beginning-position))
(reftex-this-word "-a-zA-Z0-9_*.:")))
(label (completing-read (if default
(format "Label (default %s): " default)
......
......@@ -1761,13 +1761,13 @@ Mark is left at original location."
;; A better way to handle this, \( .. \) etc, is probably to
;; temporarily change the syntax of the \ in \( to punctuation.
((and latex-handle-escaped-parens
(looking-back "\\\\[])}]"))
(looking-back "\\\\[])}]" (- (point) 2)))
(signal 'scan-error
(list "Containing expression ends prematurely"
(- (point) 2) (prog1 (point)
(goto-char pos)))))
((and latex-handle-escaped-parens
(looking-back "\\\\\\([({[]\\)"))
(looking-back "\\\\\\([({[]\\)" (- (point) 2)))
(tex-next-unmatched-eparen (match-string 1)))
(t (goto-char newpos))))))
......
......@@ -466,7 +466,8 @@ It assumes that a log entry starts with a line matching
(goto-char (match-beginning 0))))
;; Don't advance past the end buttons inserted by
;; `vc-print-log-setup-buttons'.
((looking-back "Show 2X entries Show unlimited entries")
((looking-back "Show 2X entries Show unlimited entries"
(line-beginning-position))
(setq looping nil)
(forward-line -1))))))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment