* lisp/progmodes/compile.el (compilation-next-error-function):
Respect compilation-first-column in the "*compilation*" buffer.
* lisp/progmodes/grep.el (grep-first-column): New variable.
to avoid using special-display-* and same-window-* variables.
* lisp/buff-menu.el (Buffer-menu-switch-other-window): Use second arg
of display-buffer.
(Buffer-menu-2-window): Use switch-to-buffer-other-window.
* lisp/replace.el (occur-mode-goto-occurrence)
(occur-mode-display-occurrence) Use second arg of pop-to-buffer
and display-buffer.
* lisp/window.el (display-buffer-alist): Add *Python*.
* lisp/mail/reporter.el (reporter-submit-bug-report): Use second arg of
display-buffer.
* lisp/mail/sendmail.el (sendmail-user-agent-compose): Don't bind the
special-display and same-window variables.
(mail-other-window): Use switch-to-buffer-other-window.
(mail-other-frame): USe switch-to-buffer-other-frame.
* lisp/progmodes/gdb-mi.el (gdb-frame-gdb-buffer): Use
display-buffer-other-frame.
(gdb-display-gdb-buffer): Use pop-to-buffer.
* lisp/progmodes/gud.el (gud-goto-info): Use info-other-window.
* lisp/progmodes/python.el: Don't set same-window-buffer-names.
* lisp/textmodes/bibtex.el (bibtex-search-entry): Use switch-to-buffer.
`compilation-environment'. Set buffer-local
`compilation-environment' to `thisenv' later after (funcall mode).
(Bug#8340)
* lisp/vc/vc-git.el (vc-git-grep): Remove --no-color. (Bug#9408)
(vc-git-grep): Prepend "PAGER=" to `compilation-environment'
instead of replacing its value. (Bug#8340)
copied from old default values of `font-lock-warning-face',
`compilation-warning', `compilation-info'.
* lisp/font-lock.el (font-lock-warning-face): Inherit from `error'.
* lisp/progmodes/compile.el (compilation-error): Inherit from `error'.
(compilation-warning): Inherit from `warning'.
(compilation-info): Inherit from `success'.
* lisp/dired.el (dired-marked): Inherit from `warning'.
(dired-flagged): Inherit from `error'.
Fixes: debbugs:6117
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Fix
the ant regexp to handle end-line and end-column info from jikes.
Re-introduce maven regexp. Give the ruby-Test::Unit regexp a
higher priority to avoid clobbering by gnu.
* progmodes/grep.el (grep-mode-font-lock-keywords): Remove
buffer-changing entries.
(grep-filter): New function.
(grep-mode): Add it to compilation-filter-hook.
* progmodes/compile.el (compilation-filter-hook)
(compilation-filter-start): New defvars.
(compilation-filter): Call compilation-filter-hook prior to
updating the process mark.
various nil/dead-marker mismatches.
(compilation-directory-properties, compilation-error-properties):
Don't call it at a position past the one we're about to change.
Fixes: debbugs:8014
* vc/vc-bzr.el (vc-bzr--branch-conf): Function deleted.
(vc-bzr-branch-conf): New function, similar to vc-bzr--branch-conf
but returning an alist. Ignore comments in bzr conffile.
(vc-bzr-pull, vc-bzr-merge-branch): Use vc-bzr-branch-conf.
(vc-bzr-error-regex-alist): New var.
(vc-bzr-merge-branch): Use it to highlight the pull/merge buffer.
* progmodes/compile.el (compilation--flush-directory-cache):
Handle the case where cdr of compilation--flush-directory-cache
points to no buffer, which can occur if we previously switched to
compilation-mode in a pregenerated buffer.
* vc/vc-dispatcher.el (vc-do-async-command): Bind
inhibit-read-only to t.
(compilation-warning): Inherit from font-lock-variable-name-face.
(compilation-info): Inherit from font-lock-type-face.
(compilation-line-number): Reassign to font-lock-keyword-face.
(compilation-column-number): Reassign to font-lock-doc-face.
(compilation-leave-directory-face): Reassign to font-lock-builtin-face.
New function, extracted from compilation--remove-properties.
(compilation--remove-properties, compilation--parse-region): Use it.
(compilation--previous-directory): Handle one more case.
(compilation-enable-debug-messages): Remove.
(compilation-parse-errors, compilation--flush-parse): Just remove the
left over debug messages.
Add a variable to make the parsing messages introduced in
2011-01-28T22:12:05Z!monnier@iro.umontreal.ca optional.
(compilation-parse-errors, compilation--flush-parse): Use it.
(compilation--previous-directory): New fun.
(compilation--previous-directory-cache): New var.
(compilation--remove-properties): Flush it.
(compilation-directory-properties, compilation-error-properties):
Use the new fun to speed up looking for the current directory.
(compilation-error-regexp-alist-alist): Change handling of makepp
so it preserves the warning/error distinction on subsequent files.
Simplify various rules.
(compilation-directory-properties): Use font-lock-face.
Add a compilation-message property.
(compilation-internal-error-properties): Use font-lock-face.
Don't set the compilation-debug property here.
(compilation--put-prop, compilation--remove-properties)
(compilation--parse-region, compilation--ensure-parse)
(compilation--ensure-parse): New functions.
(compilation-parse-errors): New function, largely inspired of
compilation-mode-font-lock-keywords. Set compilation-debug here.
(compilation--parsed): New var.
(compilation--flush-parse): Use compilation--ensure-parse.
(compilation-start): Don't call font-lock.
(compilation-turn-on-font-lock): Remove.
(compilation-setup): Don't set font-lock-extra-managed-props not change
other font-lock settings, other than keywords.
Don't activate font-lock-mode.
Set change-major-mode-hook and before-change-functions.
(compilation--unsetup): Remove properties and hooks.
(compilation-next-single-property-change): New function.
(compilation-next-error): Use it to parse when needed.
(compile-goto-error): Parse buffer as needed.
(compilation--compat-error-properties): Don't need a dummy `face'
property any more.
(compilation-process-setup-function): Fix docstring's false promises.
(compilation-error-regexp-alist-alist): Catch omake's continuous
recompilation message and avoid reuse of old markers.
(compilation-parse-errors-function): Declare obsolete.
(compilation-buffer-modtime): Remove.
(compilation--make-cdrloc, compilation--loc->col)
(compilation--loc->line, compilation--loc->file-struct)
(compilation--loc->marker, compilation--loc->visited)
(compilation--make-file-struct, compilation--file-struct->file-spec)
(compilation--file-struct->formats)
(compilation--file-struct->loc-tree): New macros. Use them.
(compilation--message): New defstruct. Use them.
(compilation-next-error-function): Don't mess with timestamps to try
and guess when to reparse.
* lisp/progmodes/compile.el: Cleanup text-properties namespace by using
`compilation-message' instead of `message', `compilation-directory'
instead of `directory', and `compilation-debug' instead of `debug'.
(compilation-last-buffer, compilation-parsing-end)
(compilation-error-list, compilation-old-error-list): Move to the
compatibility part of the code.
(compilation-error-properties): If `file' is a function, let it return
a file name.
(compilation-mode-font-lock-keywords): Be more conservative with the
omake "^ *" pattern prefix, to try and minimize the risk of
pathologically slow regexp matching.
(compilation-start): Use inhibit-read-only.
(compilation--unsetup): New function.
(compilation-shell-minor-mode, compilation-minor-mode): Use it.
(compilation-filter): Minor tweaks.
(compilation-next-error-function): Try and avoid abusing variable names.
(compilation--flush-file-structure): New fun.
(compilation-fake-loc): Use it for cleaner behavior when file is reused.
(debug-ignored-errors): Add "Moved past last ...".
(compilation--compat-error-properties)
(compilation--compat-parse-errors): Rename by doubling the "-".
* lisp/progmodes/grep.el (grep-regexp-alist): Tighten regexp.
(grep-mode-font-lock-keywords): Remove regexp that seems like
a left-over from before we used compile.el.
(grep-mode-font-lock-keywords): Call syntax-ppss-flush-cache when
modifying the buffer within with-silent-modifications.
* tool-bar.el (tool-bar-setup): Remove Help button. Remove label
from Search and add a label to Undo.
* vc/vc-dir.el (vc-dir-tool-bar-map): Rearrange, removing
inappropriate buttons and adding :vert-only tags.
* progmodes/compile.el (compilation-mode-tool-bar-map): Adjust to
removal of Help tool-bar button. Remove Undo button for space.
* info.el (info-tool-bar-map): Add :vert-only tags.
* etc/compilation.txt: Add column to gcc-include sample.
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist)
[gcc-include]: Tighten file name match, add match for column
number.