Commit graph

560 commits

Author SHA1 Message Date
Chong Yidong
90db975fc5 * progmodes/compile.el: Make all faces inherit from font-lock faces.
(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.
2011-02-02 12:14:49 -05:00
Sam Steingold
abef340a0c * lisp/simple.el (special-mode-map): Bind "h" to `describe-mode';
bind "z" to `kill-this-buffer'.
(completion-list-mode-map): Bind "z" to `kill-this-buffer'.
* lisp/apropos.el (apropos-mode-map): Inherit from `special-mode-map'.
(apropos-mode): Inherit from `special-mode'.
* lisp/arc-mode.el (archive-mode-map): Inherit from `special-mode-map'.
* lisp/bookmark.el (bookmark-bmenu-mode): Define using
`define-derived-mode' inheriting from `special-mode'.
* lisp/dired.el (dired-mode-map): Inherit from `special-mode-map'.
* lisp/image-mode.el (image-mode-map): Ditto.
* lisp/replace.el (occur-mode): Define using
`define-derived-mode' inheriting from `special-mode'.
* lisp/tar-mode.el (tar-mode): Inherit from `special-mode'.
* lisp/calendar/diary-lib.el (diary-fancy-display-mode):
Inherit from `special-mode-map'.
* lisp/emacs-lisp/ert.el (ert-simple-view-mode, ert-results-mode):
Inherit from `special-mode'.
* lisp/emacs-lisp/package.el (package-menu-mode-map): Copy from
`special-mode-map'.
(package-menu-mode): Define using `define-derived-mode'
inheriting from `special-mode'.
* erc/erc-list.el (erc-list-menu-mode): Inherit from `special-mode'.
* lisp/net/xesam.el (xesam-mode): Inherit from `special-mode'.
(xesam-mode-map): Define separately.
* lisp/play/solitaire.el (solitaire-mode): Inherit from `special-mode'.
* lisp/progmodes/compile.el (compilation-minor-mode-map)
(compilation-mode-map): Inherit from `special-mode-map'.
* lisp/vc/diff-mode.el (diff-mode-shared-map):
Inherit from `special-mode-map'.
* lisp/vc/log-view.el (log-view-mode-map): Add a comment.
2011-02-01 16:22:21 -05:00
Stefan Monnier
7d11664781 * lisp/progmodes/compile.el (compilation-next-error): Check there's
a message before using it.

Fixes: debbugs:7941
2011-02-01 11:33:17 -05:00
Stefan Monnier
1dc4075fa8 Fix last-minute typo in last change. 2011-01-31 12:11:11 -05:00
Stefan Monnier
9e11271c55 * lisp/progmodes/compile.el (compilation--flush-directory-cache):
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.
2011-01-31 12:09:42 -05:00
Sam Steingold
038714abef * lisp/progmodes/compile.el (compilation-enable-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.
2011-01-31 11:49:44 -05:00
Stefan Monnier
e52f87a1c0 * lisp/progmodes/compile.el: Avoid an N² behavior in grep.
(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.
2011-01-29 01:08:24 -05:00
Stefan Monnier
55fb901352 * lisp/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 17:06:20 -05:00
Stefan Monnier
8fe5238438 * lisp/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 16:42:34 -05:00
Stefan Monnier
07b741a76a Minor cleanup for compile.el and grep.el.
* 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.
2011-01-28 16:11:19 -05:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -08:00
Glenn Morris
7c82f3e23e Merge from emacs-23 2011-01-22 11:36:45 -08:00
Glenn Morris
d00b05c949 compile.el fix for bug#7812
* lisp/progmodes/compile.el (compilation-error-regexp-alist):
Fix custom type.
2011-01-20 21:04:45 -08:00
Glenn Morris
0d9f702fd0 Nuke arch-tags. 2011-01-15 15:16:57 -08:00
Stefan Monnier
77ab81d054 Merge from emacs-23 2011-01-14 12:18:41 -05:00
Chong Yidong
900503ae79 Tweaks to tool-bar for default, VC-dir, Compile, and Info.
* 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.
2011-01-08 23:13:47 -05:00
Andreas Schwab
6c7ec17145 * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist)
[gnu]: Remove unused group.
2011-01-08 14:32:31 +01:00
Andreas Schwab
7c8379331a Fixes: debbugs:7806
* 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.
2011-01-08 14:31:26 +01:00
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Stefan Monnier
175069efeb Derive from prog-mode, use derived-mode-p, and fix up various
minor style issues in lisp/progmodes.

* lisp/progmodes/vhdl-mode.el (vhdl-write-file-hooks-init)
(vhdl-hs-minor-mode, vhdl-ps-print-init): Fix make-local-variable ->
make-local-hook.
* lisp/progmodes/sh-script.el (sh-require-final-newline): Remove.
(sh-set-shell): Don't set require-final-newline since it's already done
by prog-mode.
* lisp/progmodes/modula2.el (m2-mode): Don't make m2-end-comment-column
since we never set it.
* lisp/progmodes/ebrowse.el (ebrowse-set-tree-indentation):
Use read-string and standard prompt.
* lisp/progmodes/dcl-mode.el (dcl-mode-map): Move init into declaration.
* lisp/progmodes/meta-mode.el (meta-mode-abbrev-table): Merge init and decl.
(meta-common-mode-syntax-table): Rename from meta-mode-syntax-table.
(meta-common-mode-map): Rename from meta-mode-map.
Remove C-m binding, which is a user preference, not mode specific.
(meta-common-mode): New major mode; replace meta-common-initialization.
* lisp/progmodes/js.el (js-mode): Call syntax-propertize rather than messing
around with font-lock.
* lisp/progmodes/etags.el (select-tags-table-mode):
Derive from special-mode.
* lisp/progmodes/octave-mod.el (octave-mode):
* lisp/progmodes/gdb-mi.el (gdb-inferior-io-mode, gdb-threads-mode)
(gdb-memory-mode, gdb-disassembly-mode, gdb-breakpoints-mode)
(gdb-frames-mode, gdb-locals-mode, gdb-registers-mode):
Let define-derived-mode do its job.
* lisp/progmodes/cpp.el (cpp-edit-mode-map):
Move initialization into declaration.
(cpp-edit-mode): Use define-derived-mode.
(cpp-edit-load): Use derived-mode-p.
* lisp/progmodes/mixal-mode.el (mixal-mode):
* lisp/progmodes/f90.el (f90-mode):
* lisp/progmodes/cfengine.el (cfengine-mode): Don't bother setting
require-final-newline since prog-mode does it already.
* lisp/progmodes/cc-cmds.el (c-update-modeline): Use match-string.
* lisp/progmodes/asm-mode.el (asm-mode-map): Fix menu setup.
* lisp/progmodes/antlr-mode.el: Require cc-mode upfront.
(antlr-mode-syntax-table, antlr-action-syntax-table): Initialize in
the declaration.
(antlr-directory-dependencies, antlr-show-makefile-rules):
Use derived-mode-p.
(antlr-language-option): Don't assume point-min==1.
(antlr-mode): Use define-derived-mode.
* lisp/progmodes/ada-mode.el: Use derived-mode-p.
(ada-mode): Use define-derived-mode.
Use hack-local-variables-hook.

* lisp/progmodes/vhdl-mode.el (vhdl-mode):
* lisp/progmodes/verilog-mode.el (verilog-mode):
* lisp/progmodes/vera-mode.el (vera-mode):
* lisp/progmodes/sql.el (sql-mode):
* lisp/progmodes/scheme.el (scheme-mode):
* lisp/progmodes/perl-mode.el (perl-mode):
* lisp/progmodes/octave-inf.el (inferior-octave-mode):
* lisp/progmodes/autoconf.el (autoconf-mode):
* lisp/progmodes/m4-mode.el (m4-mode):
* lisp/progmodes/inf-lisp.el (inferior-lisp-mode):
* lisp/progmodes/idlwave.el (idlwave-mode):
* lisp/progmodes/icon.el (icon-mode):
* lisp/progmodes/idlw-help.el (idlwave-help-mode):
* lisp/progmodes/dcl-mode.el (dcl-mode):
* lisp/progmodes/idlw-shell.el (idlwave-shell-mode):
* lisp/progmodes/ebrowse.el (ebrowse-tree-mode, ebrowse-electric-list-mode)
(ebrowse-member-mode, ebrowse-electric-position-mode):
Use define-derived-mode.

* lisp/progmodes/xscheme.el (xscheme-start)
(local-set-scheme-interaction-buffer, scheme-interaction-mode):
* lisp/progmodes/which-func.el (which-function):
* lisp/progmodes/vhdl-mode.el (vhdl-set-style):
* lisp/progmodes/verilog-mode.el (verilog-set-compile-command)
(verilog-modify-compile-command, verilog-error-regexp-add-xemacs)
(verilog-set-define, verilog-auto-reeval-locals):
* lisp/progmodes/sql.el (sql-product-font-lock, sql-interactive-mode):
* lisp/progmodes/simula.el (simula-mode):
* lisp/progmodes/scheme.el (scheme-mode-variables, dsssl-mode):
* lisp/progmodes/python.el (python-check, python-mode):
* lisp/progmodes/prolog.el (prolog-mode-variables):
* lisp/progmodes/gud.el (gud-tooltip-activate-mouse-motions):
* lisp/progmodes/ebrowse.el (ebrowse-view-file-other-frame):
* lisp/progmodes/delphi.el (delphi-mode):
* lisp/progmodes/cc-styles.el (c-setup-paragraph-variables):
* lisp/progmodes/cc-mode.el (c-basic-common-init, c-common-init)
(c-font-lock-init): Move make-local-variable to their setq.

* lisp/progmodes/xscheme.el (exit-scheme-interaction-mode)
(xscheme-enter-interaction-mode, xscheme-enter-debugger-mode)
(xscheme-debugger-mode-p, xscheme-send-string-1):
* lisp/progmodes/tcl.el (inferior-tcl-proc, tcl-current-word)
(tcl-load-file, tcl-restart-with-file):
* lisp/progmodes/ps-mode.el (ps-run-running):
* lisp/progmodes/gdb-mi.el (gud-watch, gdb-mouse-set-clear-breakpoint):
* lisp/progmodes/js.el (js--get-all-known-symbols):
* lisp/progmodes/inf-lisp.el (inferior-lisp-proc):
* lisp/progmodes/idlwave.el (idlwave-beginning-of-statement)
(idlwave-template, idlwave-update-buffer-routine-info)
(idlwave-update-current-buffer-info)
(idlwave-get-routine-info-from-buffers, idlwave-choose)
(idlwave-scan-class-info, idlwave-fix-keywords)
(idlwave-list-buffer-load-path-shadows):
* lisp/progmodes/idlw-toolbar.el (idlwave-toolbar, idlwave-toolbar-add)
(idlwave-toolbar-remove):
* lisp/progmodes/idlw-shell.el (idlwave-shell-save-and-action)
(idlwave-shell-file-name, idlwave-shell-electric-debug-all-off)
(idlwave-shell-menu-def):
* lisp/progmodes/idlw-complete-structtag.el
(idlwave-prepare-structure-tag-completion):
* lisp/progmodes/gud.el (gud-set-buffer):
* lisp/progmodes/f90.el (f90-backslash-not-special):
* lisp/progmodes/delphi.el (delphi-find-unit): Use derived-mode-p.
2010-12-10 15:00:25 -05:00
Jes Bodi Klinke
77b143ebc1 * lisp/progmodes/compile.el (compilation-mode-font-lock-keywords):
Don't confuse -omega as "-o mega".
2010-10-27 21:10:22 -04:00
Glenn Morris
5e339ee2a3 Move some autoloaded auto-mode-alist entries to files.el.
* image-mode.el, progmodes/compile.el, progmodes/gud.el:
* progmodes/mixal-mode.el, textmodes/bibtex-style.el:
* textmodes/css-mode.el, textmodes/dns-mode.el:
Move autoloaded auto-mode-alist entries to files.el.
* files.el (auto-mode-alist): Move entries here.
2010-09-23 20:06:33 -07:00
Stefan Monnier
331b2b903c * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist):
Not a const.
(compilation-error-regexp-alist-alist): Rule out ": " in file names
for the `gnu' messages.
(compilation-set-skip-threshold): New command.
(compilation-start): Use \' rather than $.
(compilation-forget-errors): Use clrhash.
2010-09-08 17:53:08 +02:00
Chong Yidong
13ef65a483 Fix Ruby compilation error matching.
* progmodes/compile.el (compilation-error-regexp-alist-alist):
Remove ruby regexp; handle Ruby errors with gcc-include and gnu.
Recognize leading tab in gcc-include regexp.  Ignore names with
leading "from" or "in" in gnu regexp (Bug#6937).
2010-09-04 16:42:03 -04:00
Chong Yidong
c68263b1fd Give Ruby compilation rule a lower priority than Gnu (Bug#6778).
* progmodes/compile.el (compilation-error-regexp-alist-alist):
Give the Ruby rule a lower priority than Gnu (Bug#6778).

* etc/compilation.txt: Make Cucumber test less verbose.
2010-08-14 20:04:53 -04:00
Juanma Barranquero
0ed082fedf Merge from emacs-23 2010-07-27 04:10:05 +02:00
Chong Yidong
e72b6fa4b2 Doc fix to commentary (Bug#6653). 2010-07-17 17:57:06 -04:00
Aleksei Gusev
dce3463576 Add compilation regexps for cucumber and ruby.
* lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
regexps for cucumber and ruby.
2010-07-10 15:47:59 -04:00
Stefan Monnier
f913fe7d54 * progmodes/compile.el (compilation-buffer-modtime): Rename from
buffer-modtime.  Adjust users.
2010-05-08 16:51:08 -04:00
Stefan Monnier
3b548e1b3a * progmodes/compile.el: (compilation-start): Abbreviate default directory. 2010-04-23 11:59:32 -04:00
Chong Yidong
790c2e44de Revert 2009-10-12 change to compilation-next-error-function (Bug#5983).
* progmodes/compile.el (compilation-next-error-function): Revert
2009-10-12 change (Bug#5983).
2010-04-20 12:04:05 -04:00
Glenn Morris
ba33df004a * compile.el (compilation-save-buffers-predicate): Add missing :version tag. 2010-04-09 19:18:09 -07:00
Sam Steingold
4a8ae76f68 (compilation-save-buffers-predicate): Remove the "autoload" cookie. 2010-04-09 11:52:45 -04:00
Sam Steingold
9e86ab0bc7 (compilation-save-buffers-predicate): New custom variable.
(compile, recompile): Pass it to `save-some-buffers'.
2010-04-07 12:20:35 -04:00
Chong Yidong
f6f8aa1251 Fix for `compile' (Bug#5771).
* progmodes/compile.el (compilation-start): Fix regexp detection
of initial cd command (Bug#5771).
2010-03-28 15:51:55 -04:00
Sam Steingold
5f2484c238 fix a typo in last patch 2010-03-24 09:41:07 -04:00
Sam Steingold
f4087766ce Fix bug#5620: recalculate all markers on compilation buffer
modifications, not on file modifications.
(buffer-modtime): New buffer-local variable:
the buffer modification time, for buffers not associated with files.
(compilation-mode): Create it.
(compilation-filter): Update it.
(compilation-next-error-function): Use it instead of
`visited-file-modtime' for timestamp.
2010-03-23 14:22:46 -04:00
Chong Yidong
3e39928c77 * progmodes/compile.el (compilation-error-regexp-alist-alist): In
`watcom' anchor regexp to start of line, to avoid slowness
(Bug#5599).
2010-02-20 08:53:06 -05:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Chong Yidong
4d9bbfa616 * compile.el (compilation-read-command): Doc fix. 2010-01-09 16:14:50 -05:00
Chong Yidong
fa7b5f7b98 Fix compile-command's safe-local-variable condition.
* progmodes/compile.el: Don't treat compile-command as safe if
compilation-read-command might be nil (Bug#4218).
2010-01-09 15:53:55 -05:00
Dan Nicolaescu
6d341a2a09 * textmodes/ispell.el (ispell-skip-region-alist):
* textmodes/css-mode.el (auto-mode-alist):
* progmodes/compile.el (auto-mode-alist):
* international/mule.el (ctext-non-standard-encodings-alist)
(ctext-non-standard-encodings-regexp):
* simple.el (shell-command-switch, text-read-only):
* replace.el (occur-mode-map):
* paths.el (rmail-file-name):
* jka-cmpr-hook.el (jka-compr-build-file-regexp):
* find-file.el (ff-special-constructs):
* files.el (file-name-handler-alist):
* composite.el: Purecopy strings.
2009-11-12 06:55:39 +00:00
Dan Nicolaescu
aaa448c984 * widget.el (define-widget): Purecopy the docstring.
* international/mule-cmds.el (charset): Do not purecopy the
docstring here, define-widget does it.

* textmodes/texinfo.el (texinfo-open-quote, texinfo-close-quote):
* textmodes/bibtex-style.el (auto-mode-alist):
* progmodes/inf-lisp.el (inferior-lisp-prompt):
* progmodes/compile.el (compile-command):
* language/korea-util.el (default-korean-keyboard):
* international/mule-conf.el (file-coding-system-alist):
* emacs-lisp/eldoc.el (eldoc-minor-mode-string):
* tooltip.el (tooltip-frame-parameters):
* newcomment.el (comment-end, comment-padding):
* dired.el (dired-trivial-filenames):
* comint.el (comint-file-name-prefix): Purecopy initial values.
2009-11-11 19:24:20 +00:00
Chong Yidong
951802d0c1 * compilation.txt: Add one more error message for msft (Bug#4100). 2009-11-08 16:30:52 +00:00
Juanma Barranquero
057bce6f17 Fix typos in comments.
* minibuf.c (Fall_completions): Fix typo in docstring.
2009-10-26 15:18:03 +00:00
Sam Steingold
1d57e5e2e3 fix a typo in the last patch 2009-10-13 02:59:19 +00:00
Sam Steingold
0cd16af432 (compilation-mode-font-lock-keywords): Do not prepend "^ *" to
non-anchored patterns, like the perl one (bug#3928).
2009-10-12 21:04:15 +00:00
Sam Steingold
cd29f88b1d (compilation-next-error-function): Fix the
timestamps if the buffer has been visited before
2009-10-12 20:42:45 +00:00
Richard M. Stallman
1fc01b083c * progmodes/compile.el (compilation-goto-locus): Use next-error-move-function. 2009-08-13 00:58:54 +00:00
Chong Yidong
6807d8ca51 Update comment (from Kevin Ryde). 2009-08-10 02:44:58 +00:00