emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master c9a75a4: Fix byte-compiler warnings about looking-b


From: Stefan Monnier
Subject: [Emacs-diffs] master c9a75a4: Fix byte-compiler warnings about looking-back.
Date: Tue, 21 Apr 2015 01:55:05 +0000

branch: master
commit c9a75a4030a556d700fd95222ec0bf4c1a9f67b5
Author: Stefan Monnier <address@hidden>
Commit: Stefan Monnier <address@hidden>

    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.
---
 etc/NEWS                     |    4 +++-
 lisp/calendar/todo-mode.el   |   11 +++++++----
 lisp/cus-edit.el             |    2 +-
 lisp/emacs-lisp/elint.el     |    2 +-
 lisp/emacs-lisp/lisp-mnt.el  |    4 ++--
 lisp/emacs-lisp/lisp-mode.el |    7 ++++---
 lisp/emulation/viper-cmd.el  |    4 ++--
 lisp/emulation/viper-ex.el   |   27 +++++++++++++++++----------
 lisp/files.el                |    2 +-
 lisp/help-fns.el             |    2 +-
 lisp/info-look.el            |    3 ++-
 lisp/info.el                 |   10 +++++++---
 lisp/mail/emacsbug.el        |    2 +-
 lisp/mail/footnote.el        |    2 +-
 lisp/mail/rmail.el           |    6 +++---
 lisp/man.el                  |    3 ++-
 lisp/org/org-clock.el        |    3 ++-
 lisp/org/org-mouse.el        |    4 ++--
 lisp/org/org.el              |    5 +++--
 lisp/progmodes/ada-mode.el   |    2 +-
 lisp/progmodes/ruby-mode.el  |    3 ++-
 lisp/progmodes/sh-script.el  |    2 +-
 lisp/textmodes/bibtex.el     |    2 +-
 lisp/textmodes/reftex-ref.el |    3 ++-
 lisp/textmodes/tex-mode.el   |    4 ++--
 lisp/vc/log-view.el          |    3 ++-
 26 files changed, 73 insertions(+), 49 deletions(-)

diff --git a/etc/NEWS b/etc/NEWS
index 9dd0e15..804b819 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -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).
 
diff --git a/lisp/calendar/todo-mode.el b/lisp/calendar/todo-mode.el
index dcc960f..bb9316c 100644
--- a/lisp/calendar/todo-mode.el
+++ b/lisp/calendar/todo-mode.el
@@ -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
diff --git a/lisp/cus-edit.el b/lisp/cus-edit.el
index 9cc2fa8..cd894f4 100644
--- a/lisp/cus-edit.el
+++ b/lisp/cus-edit.el
@@ -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)
diff --git a/lisp/emacs-lisp/elint.el b/lisp/emacs-lisp/elint.el
index 1364670..317e5a6 100644
--- a/lisp/emacs-lisp/elint.el
+++ b/lisp/emacs-lisp/elint.el
@@ -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)))
diff --git a/lisp/emacs-lisp/lisp-mnt.el b/lisp/emacs-lisp/lisp-mnt.el
index fec172d..104c23c 100644
--- a/lisp/emacs-lisp/lisp-mnt.el
+++ b/lisp/emacs-lisp/lisp-mnt.el
@@ -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)))))))
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index 26a21d5..108d5cc 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -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)))
diff --git a/lisp/emulation/viper-cmd.el b/lisp/emulation/viper-cmd.el
index bd03a87..5c91df9 100644
--- a/lisp/emulation/viper-cmd.el
+++ b/lisp/emulation/viper-cmd.el
@@ -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
diff --git a/lisp/emulation/viper-ex.el b/lisp/emulation/viper-ex.el
index 212f053..e6bcf8f 100644
--- a/lisp/emulation/viper-ex.el
+++ b/lisp/emulation/viper-ex.el
@@ -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
diff --git a/lisp/files.el b/lisp/files.el
index 0b011f4..152f155 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -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))
diff --git a/lisp/help-fns.el b/lisp/help-fns.el
index 7ecd271..53f4b38 100644
--- a/lisp/help-fns.el
+++ b/lisp/help-fns.el
@@ -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)
diff --git a/lisp/info-look.el b/lisp/info-look.el
index 9cf185e..8a86dc8 100644
--- a/lisp/info-look.el
+++ b/lisp/info-look.el
@@ -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))
diff --git a/lisp/info.el b/lisp/info.el
index 0159661..057bd77 100644
--- a/lisp/info.el
+++ b/lisp/info.el
@@ -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 ")
diff --git a/lisp/mail/emacsbug.el b/lisp/mail/emacsbug.el
index 8cd5900..f4ba226 100644
--- a/lisp/mail/emacsbug.el
+++ b/lisp/mail/emacsbug.el
@@ -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")
diff --git a/lisp/mail/footnote.el b/lisp/mail/footnote.el
index ea67443..86bb9e8 100644
--- a/lisp/mail/footnote.el
+++ b/lisp/mail/footnote.el
@@ -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)
diff --git a/lisp/mail/rmail.el b/lisp/mail/rmail.el
index d150324..74533f8 100644
--- a/lisp/mail/rmail.el
+++ b/lisp/mail/rmail.el
@@ -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 ()
diff --git a/lisp/man.el b/lisp/man.el
index d9124c2..c5dbcba 100644
--- a/lisp/man.el
+++ b/lisp/man.el
@@ -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"))
diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el
index 41e799f..c0a45b3 100644
--- a/lisp/org/org-clock.el
+++ b/lisp/org/org-clock.el
@@ -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")
diff --git a/lisp/org/org-mouse.el b/lisp/org/org-mouse.el
index 160099f..9b21814 100644
--- a/lisp/org/org-mouse.el
+++ b/lisp/org/org-mouse.el
@@ -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
diff --git a/lisp/org/org.el b/lisp/org/org.el
index 3e032d4..54924a9 100644
--- a/lisp/org/org.el
+++ b/lisp/org/org.el
@@ -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
diff --git a/lisp/progmodes/ada-mode.el b/lisp/progmodes/ada-mode.el
index 8afb92f..c1bc79c 100644
--- a/lisp/progmodes/ada-mode.el
+++ b/lisp/progmodes/ada-mode.el
@@ -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
diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el
index f2fb95c..0e2f66e 100644
--- a/lisp/progmodes/ruby-mode.el
+++ b/lisp/progmodes/ruby-mode.el
@@ -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 ()
diff --git a/lisp/progmodes/sh-script.el b/lisp/progmodes/sh-script.el
index 135f945..e4d16eb 100644
--- a/lisp/progmodes/sh-script.el
+++ b/lisp/progmodes/sh-script.el
@@ -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)
diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el
index 5933559..8a01852 100644
--- a/lisp/textmodes/bibtex.el
+++ b/lisp/textmodes/bibtex.el
@@ -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
diff --git a/lisp/textmodes/reftex-ref.el b/lisp/textmodes/reftex-ref.el
index be119d9..d0e09bf 100644
--- a/lisp/textmodes/reftex-ref.el
+++ b/lisp/textmodes/reftex-ref.el
@@ -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)
diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el
index e9c7e2f..c26c609 100644
--- a/lisp/textmodes/tex-mode.el
+++ b/lisp/textmodes/tex-mode.el
@@ -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))))))
 
diff --git a/lisp/vc/log-view.el b/lisp/vc/log-view.el
index 98e9357..042ea13 100644
--- a/lisp/vc/log-view.el
+++ b/lisp/vc/log-view.el
@@ -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))))))
 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]