From: Stefan Monnier Date: Fri, 28 Jan 2011 22:12:05 +0000 (-0500) Subject: * progmodes/compile.el: Don't use font-lock any more. X-Git-Tag: emacs-pretest-24.0.90~104^2~618^2~1322^2~91 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9ffae6d024cb3d9c95f456d7f9b8a6be97b63fde;p=emacs.git * progmodes/compile.el: Don't use font-lock any more. --- 9ffae6d024cb3d9c95f456d7f9b8a6be97b63fde diff --cc etc/NEWS index 07cb55dc09a,07cb55dc09a..bb916628010 --- a/etc/NEWS +++ b/etc/NEWS @@@ -321,6 -321,6 +321,9 @@@ prompts for a number to count from and * Changes in Specialized Modes and Packages in Emacs 24.1 ++** The compile.el mode can be used without font-lock-mode. ++`compilation-parse-errors-function' is now obsolete. ++ ** The Landmark game is now invoked with `landmark', not `lm'. ** Prolog mode has been completely revamped, with lots of additional diff --cc lisp/ChangeLog index ff99d22303f,8fbfb4832a2..59a346bdd95 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,18 -1,88 +1,101 @@@ +2011-01-28 Leo + + * emacs-lisp/advice.el (ad-make-advised-docstring): Don't apply + highlighting to the "this function is advisted" message. + + * help-mode.el (help-mode-finish): Apply highlighting here, to + avoid clobbering by substitute-command-keys (Bug#6304). + +2011-01-28 Chong Yidong + + * woman.el (woman0-roff-buffer): Process roff escape sequences + occurring prior to the first request (Bug#7843). + 2011-01-28 Stefan Monnier + * progmodes/compile.el: Don't use font-lock any more. + (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. + + 2011-01-28 Stefan Monnier + + * progmodes/compile.el: Use accessors for clarity and fix omake hack. + (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. + + 2011-01-28 Stefan Monnier + + * textmodes/tex-mode.el: Get rid of compilation-parse-errors-function + (tex-old-error-file-name): New function, + extracted from tex-compilation-parse-errors. + (tex-compilation-parse-errors): Remove. + (tex-error-regexp-alist): New var. + (tex-shell): Use it to avoid compilation-parse-errors-function. + + * 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. + + * 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 variables. + (compilation--flush-file-structure): New fun. + (compilation-fake-loc): Use it to improve behavior when file is reused. + (debug-ignored-errors): Add "Moved past last ...". + (compilation--compat-error-properties) + (compilation--compat-parse-errors): Rename by doubling the "-". + Port features from the previous prolog.el to the new one. * progmodes/prolog.el (prolog-system): Add GNU and ECLiPSe options. (prolog-program-name, prolog-program-switches, prolog-consult-string)