* lisp/progmodes/compile.el (compilation--previous-directory): Simplify.

(compilation-next-error): Ensure the parse before we look at
compilation-message property.
This commit is contained in:
Stefan Monnier 2014-10-15 11:25:47 -04:00
parent ed7ebd933a
commit d7b601108d
2 changed files with 16 additions and 18 deletions

View file

@ -1,13 +1,17 @@
2014-10-15 Stefan Monnier <monnier@iro.umontreal.ca>
* progmodes/compile.el (compilation--previous-directory): Simplify.
(compilation-next-error): Ensure the parse before we look at
compilation-message property.
2014-10-15 Eli Zaretskii <eliz@gnu.org>
* simple.el (what-cursor-position): Update to support the new bidi
characters.
* simple.el (what-cursor-position):
* descr-text.el (describe-char): Update to support the new bidi
characters.
* emacs-lisp/tabulated-list.el (tabulated-list-mode): Force
bidi-paragraph-direction to 'left-to-right'. This fixes
* emacs-lisp/tabulated-list.el (tabulated-list-mode):
Force bidi-paragraph-direction to 'left-to-right'. This fixes
buffer-menu display when the first buffer happens to start with
R2L letter.

View file

@ -969,19 +969,12 @@ POS and RES.")
(cons (copy-marker pos) (if prev (copy-marker prev))))
prev)
((and prev (= prev cache))
(if cache
(set-marker (car compilation--previous-directory-cache) pos)
(setq compilation--previous-directory-cache
(cons (copy-marker pos) nil)))
(set-marker (car compilation--previous-directory-cache) pos)
(cdr compilation--previous-directory-cache))
(t
(if cache
(progn
(set-marker cache pos)
(setcdr compilation--previous-directory-cache
(copy-marker prev)))
(setq compilation--previous-directory-cache
(cons (copy-marker pos) (if prev (copy-marker prev)))))
(set-marker cache pos)
(setcdr compilation--previous-directory-cache
(copy-marker prev))
prev))))
(if (markerp res) (marker-position res) res))))
@ -2286,6 +2279,7 @@ looking for the next message."
(or (compilation-buffer-p (current-buffer))
(error "Not in a compilation buffer"))
(or pt (setq pt (point)))
(compilation--ensure-parse pt)
(let* ((msg (get-text-property pt 'compilation-message))
;; `loc', `msg', and `last' are used by the compilation-loop macro.
(loc (and msg (compilation--message->loc msg)))
@ -2298,7 +2292,8 @@ looking for the next message."
(line-beginning-position)))
(unless (setq msg (get-text-property (max (1- pt) (point-min))
'compilation-message))
(setq pt (next-single-property-change pt 'compilation-message nil
(setq pt (compilation-next-single-property-change
pt 'compilation-message nil
(line-end-position)))
(or (setq msg (get-text-property pt 'compilation-message))
(setq pt (point)))))
@ -2309,7 +2304,6 @@ looking for the next message."
"No more %ss yet"
"Moved past last %s")
(point-max))
(compilation--ensure-parse pt)
;; Don't move "back" to message at or before point.
;; Pass an explicit (point-min) to make sure pt is non-nil.
(setq pt (previous-single-property-change