1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-14 09:39:42 +00:00
Commit Graph

46 Commits

Author SHA1 Message Date
Leo Liu
7a097943f7 Support separate fg and bg colors in ansi-color.el
A color suitable for foreground text can make unreadable text if used
as background color, and vice versa.
2011-03-27 09:56:35 +08:00
Glenn Morris
73b0cd5003 Convert consecutive FSF copyright years to ranges. 2011-01-24 20:08:28 -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
Glenn Morris
5df4f04cd3 Add 2011 to FSF/AIST copyright years. 2011-01-02 15:50:46 -08:00
Stefan Monnier
ce327e48a1 * lisp/ansi-color.el (ansi-color-unfontify-region): Replace by trivial def.
(ansi-color-filter-apply): Simplify.
(ansi-color-apply): Use `font-lock-face' rather than `face'.
2010-12-06 11:51:37 -05:00
Stefan Monnier
cf38dd4298 New syntax-propertize functionality.
* lisp/font-lock.el (font-lock-syntactic-keywords): Make obsolete.
(font-lock-fontify-syntactic-keywords-region): Move handling of
font-lock-syntactically-fontified to...
(font-lock-default-fontify-region): ...here.
Let syntax-propertize-function take precedence.
(font-lock-fontify-syntactically-region): Cal syntax-propertize.

* lisp/emacs-lisp/regexp-opt.el (regexp-opt-depth): Skip named groups.

* lisp/emacs-lisp/syntax.el (syntax-propertize-function)
(syntax-propertize-chunk-size, syntax-propertize--done)
(syntax-propertize-extend-region-functions): New vars.
(syntax-propertize-wholelines, syntax-propertize-multiline)
(syntax-propertize--shift-groups, syntax-propertize-via-font-lock)
(syntax-propertize): New functions.
(syntax-propertize-rules): New macro.
(syntax-ppss-flush-cache): Set syntax-propertize--done.
(syntax-ppss): Call syntax-propertize.

* lisp/progmodes/ada-mode.el (ada-set-syntax-table-properties)
(ada-after-change-function, ada-initialize-syntax-table-properties)
(ada-handle-syntax-table-properties): Only define when
syntax-propertize is not available.
(ada-mode): Use syntax-propertize-function.

* lisp/progmodes/autoconf.el (autoconf-mode):
Use syntax-propertize-function.
(autoconf-font-lock-syntactic-keywords): Remove.

* lisp/progmodes/cfengine.el (cfengine-mode):
Use syntax-propertize-function.
(cfengine-font-lock-syntactic-keywords): Remove.

* lisp/progmodes/cperl-mode.el (cperl-mode): Use syntax-propertize-function.

* lisp/progmodes/fortran.el (fortran-mode): Use syntax-propertize-function.
(fortran--font-lock-syntactic-keywords): New var.
(fortran-line-length): Update syntax-propertize-function and
fortran--font-lock-syntactic-keywords.

* lisp/progmodes/gud.el (gdb-script-syntax-propertize-function): New var;
replaces gdb-script-font-lock-syntactic-keywords.
(gdb-script-mode): Use it.

* lisp/progmodes/js.el (js--regexp-literal): Define while compiling.
(js-syntax-propertize-function): New var; replaces
js-font-lock-syntactic-keywords.
(js-mode): Use it.

* lisp/progmodes/make-mode.el (makefile-syntax-propertize-function):
New var; replaces makefile-font-lock-syntactic-keywords.
(makefile-mode): Use it.
(makefile-imake-mode): Adjust.

* lisp/progmodes/mixal-mode.el (mixal-syntax-propertize-function): New var;
replaces mixal-font-lock-syntactic-keywords.
(mixal-mode): Use it.

* lisp/progmodes/octave-mod.el (octave-syntax-propertize-sqs): New function
to replace octave-font-lock-close-quotes.
(octave-syntax-propertize-function): New function to replace
octave-font-lock-syntactic-keywords.
(octave-mode): Use it.

* lisp/progmodes/perl-mode.el (perl-syntax-propertize-function): New fun to
replace perl-font-lock-syntactic-keywords.
(perl-syntax-propertize-special-constructs): New fun to replace
perl-font-lock-special-syntactic-constructs.
(perl-font-lock-syntactic-face-function): New fun.
(perl-mode): Use it.

* lisp/progmodes/python.el (python-syntax-propertize-function): New var to
replace python-font-lock-syntactic-keywords.
(python-mode): Use it.
(python-quote-syntax): Simplify and adjust to new use.

* lisp/progmodes/ruby-mode.el (ruby-here-doc-beg-re):
Define while compiling.
(ruby-here-doc-end-re, ruby-here-doc-beg-match)
(ruby-font-lock-syntactic-keywords, ruby-comment-beg-syntax)
(syntax-ppss, ruby-in-ppss-context-p, ruby-in-here-doc-p)
(ruby-here-doc-find-end, ruby-here-doc-beg-syntax)
(ruby-here-doc-end-syntax): Only define when
syntax-propertize is not available.
(ruby-syntax-propertize-function, ruby-syntax-propertize-heredoc):
New functions.
(ruby-in-ppss-context-p): Update to new syntax of heredocs.
(electric-indent-chars): Silence bytecompiler.
(ruby-mode): Use prog-mode, syntax-propertize-function, and
electric-indent-chars.

* lisp/progmodes/sh-script.el (sh-st-symbol): Remove.
(sh-font-lock-close-heredoc, sh-font-lock-open-heredoc): Add eol arg.
(sh-font-lock-flush-syntax-ppss-cache, sh-font-lock-here-doc): Remove.
(sh-font-lock-quoted-subshell): Assume we've already matched $(.
(sh-font-lock-paren): Set syntax-multiline.
(sh-font-lock-syntactic-keywords): Remove.
(sh-syntax-propertize-function): New function to replace it.
(sh-mode): Use it.

* lisp/progmodes/simula.el (simula-syntax-propertize-function): New var to
replace simula-font-lock-syntactic-keywords.
(simula-mode): Use it.

* lisp/progmodes/tcl.el (tcl-syntax-propertize-function): New var to
replace tcl-font-lock-syntactic-keywords.
(tcl-mode): Use it.

* lisp/progmodes/vhdl-mode.el (vhdl-mode): Use syntax-propertize-function
if available.
(vhdl-fontify-buffer): Adjust.

* lisp/textmodes/bibtex.el (bibtex-mode): Use syntax-propertize-function.

* lisp/textmodes/reftex.el (font-lock-syntactic-keywords): Don't declare
since we don't use it.

* lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-function): New var to
replace sgml-font-lock-syntactic-keywords.
(sgml-mode): Use it.

* lisp/textmodes/tex-mode.el (tex-common-initialization, doctex-mode):
Use syntax-propertize-function.

* lisp/textmodes/texinfo.el (texinfo-syntax-propertize-function): New fun
to replace texinfo-font-lock-syntactic-keywords.
(texinfo-mode): Use it.

* test/indent/octave.m: Remove some `fixindent' not needed any more.
2010-09-11 01:13:42 +02:00
Chong Yidong
bc8d33d540 * ansi-color.el: Delete unused escape sequences (Bug#6085).
(ansi-color-drop-regexp): New constant.
(ansi-color-apply, ansi-color-filter-region)
(ansi-color-apply-on-region): Delete unrecognized control sequences.
(ansi-color-apply): Build string list before calling concat.
2010-05-29 14:25:00 -04:00
Chong Yidong
fcb5280844 * ansi-color.el: Delete unused escape sequences (Bug#6085).
(ansi-color-drop-regexp): New constant.
(ansi-color-apply, ansi-color-filter-region)
(ansi-color-apply-on-region): Delete unrecognized control sequences.
(ansi-color-apply): Build string list before calling concat.
2010-05-29 14:22:18 -04:00
Glenn Morris
114f9c9679 Add 2010 to copyright years. 2010-01-13 00:35:10 -08:00
Chong Yidong
c2dae51b68 * ansi-color.el (ansi-color-for-comint-mode): Add :version
keyword.
2009-12-06 15:33:09 +00:00
Chong Yidong
89601c7b25 Fix commentary to reflect that ansi-color is now enabled by default. 2009-12-05 21:11:29 +00:00
Chong Yidong
925f8c7066 * shell.el (shell): Require ansi-color (Bug#5113).
* ansi-color.el (ansi-color-for-comint-mode): Default to t.
2009-12-05 21:05:51 +00:00
Glenn Morris
74f24ba705 (ansi-color-get-face-1): Fix typo in handler. 2009-09-17 06:19:57 +00:00
Chong Yidong
1b25a57914 Change arg name to make it clear that it's ignored. 2009-04-28 04:02:57 +00:00
Andreas Schwab
c21d4d1a0b (ansi-color-get-face): Use
ansi-color-parameter-regexp to match parameters.
(ansi-color-regexp): Include final `m' in first group.
2009-03-30 15:35:52 +00:00
Glenn Morris
ae940284fa Add 2009 to copyright years. 2009-01-05 03:18:22 +00:00
Glenn Morris
eb3fa2cfcf Switch to recommended form of GPLv3 permissions notice. 2008-05-06 08:06:51 +00:00
Stefan Monnier
cbee283dd7 Fix up comment convention on the arch-tag lines. 2008-04-10 14:10:46 +00:00
Dan Nicolaescu
a445370f16 * sieve.el (sieve-make-overlay, sieve-overlay-put, sieve-overlays-at):
* message.el (message-beginning-of-line): Use featurep instead of bound
tests in order to resolve conditionals at compile time.

* textmodes/reftex-toc.el (reftex-toc-next, reftex-toc-previous)
(reftex-toc-restore-region):
* textmodes/reftex-index.el (reftex-index-initialize-phrases-buffer)
(reftex-index-phrases-apply-to-region):
* textmodes/ispell.el (ispell-word):
* progmodes/vhdl-mode.el (vhdl-keep-region-active):
* progmodes/pascal.el (pascal-mark-defun):
* progmodes/f90.el (f90-mark-subprogram, f90-indent-region)
(f90-fill-region):
* emulation/tpu-edt.el (tpu-set-mark):
* emulation/crisp.el (crisp-region-active):
* winner.el (winner-active-region):
* ansi-color.el (ansi-color-set-extent-face): Use featurep instead
of bound tests in order to resolve conditionals at compile time.
2008-01-24 15:14:52 +00:00
Miles Bader
59ce725a3b Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-987
2008-01-08 20:46:54 +00:00
Glenn Morris
409cc4a3ea Add 2008 to copyright years. 2008-01-07 02:45:14 +00:00
Juanma Barranquero
c04c01ca0d (ansi-color-make-color-map): Use mapc' rather than mapcar'. 2007-09-25 10:42:16 +00:00
Glenn Morris
b4aa60262c Switch license to GPLv3 or later. 2007-07-25 04:50:21 +00:00
Glenn Morris
d7a0267c8d Add 2007 to copyright years. 2007-01-21 03:53:13 +00:00
Thien-Thi Nguyen
aaef169dc6 Update years in copyright notice; nfc. 2006-02-06 15:23:23 +00:00
Juanma Barranquero
cd91462f9d (comint-last-output-start): Add defvar. 2005-08-31 13:47:05 +00:00
Richard M. Stallman
c8f0dac9e3 (ansi-color-make-extent, ansi-color-set-extent-face):
Use fboundp, not functionp.
2005-08-09 02:55:25 +00:00
Thien-Thi Nguyen
0d30b33766 Update years in copyright notice; nfc. 2005-08-06 22:13:43 +00:00
Lute Kamstra
086add1519 Update FSF's address. 2005-07-04 23:32:44 +00:00
Juanma Barranquero
027a4b6b3f Replace string-to-int' by string-to-number'. 2005-05-16 11:34:49 +00:00
Richard M. Stallman
05616854a8 (save-buffer-state): Definition deleted.
(ansi-color-unfontify-region): Don't use save-buffer-state.
2004-12-27 15:40:23 +00:00
Miles Bader
ab5796a9f9 Add arch taglines 2003-09-01 15:45:59 +00:00
Lute Kamstra
b99937e4aa Do not instruct the user to autoload `ansi-color-for-comint-mode-on'. 2003-05-21 15:55:52 +00:00
Juanma Barranquero
71296446d3 Trailing whitespace deleted. 2003-02-04 11:26:42 +00:00
Richard M. Stallman
7f0986e3eb (ansi-color-get-face): Avoid add-to-list on local var.
(ansi-color-apply-sequence): Avoid duplicates in combined face list.
2002-05-12 16:46:54 +00:00
Sam Steingold
8a9463543d Converted backquote to the new style. 2001-11-27 15:52:52 +00:00
Gerd Moellmann
58622cc5c8 (ansi-color-for-comint-mode): Add :version.
(ansi-color-for-comint-mode-on, ansi-color-process-output): Add
autoload cookie.
(ansi-color-apply-sequence): Fix typo.
2001-01-29 15:40:44 +00:00
Gerd Moellmann
b3287acf97 (ansi-colors) <defgroup>: Fix :version by Dave
Love <fx@gnu.org>
(ansi-color-for-comint-mode): Fix :version.

(ansi-color-unfontify-region): Doc change.
2001-01-15 11:34:27 +00:00
Gerd Moellmann
7c6c3d8ebe (ansi-colors) <defgroup>: Fix :version. 2001-01-10 16:58:11 +00:00
Gerd Moellmann
0e3c1e3ea6 (ansi-color-process-output): Use markers instead
of positions for start and end of region.
(ansi-color-apply-on-region): Rewrote code to make it more robust.
Previously, occasional mistakes happend when fontifying many
chunks of output (eg. ls --color=yes /dev).  This happened
whenever an overlay was created up to the end of the region, which
coincided with the process-mark.  New text would then be added
within that overlay instead of after it.
(ansi-color-make-extent): Overlays are created with the property
`modification-hooks' set to '(ansi-color-freeze-overlay).
(ansi-color-freeze-overlay): New function.  When inserting text at
the end of the overlay, the overlay will resize.


(ansi-color-process-output): Doc change.
(ansi-color-unfontify-region): Doc change.  No longer installed
automatically in font-lock-unfontify-region-function.
(ansi-color-apply): Doc change.
(ansi-color-apply-on-region): Use extents or overlays instead of
text-properties.
(ansi-color-make-extent): New function.
(ansi-color-set-extent-face): New function.


(ansi-color-process): Removed, Emacs and XEmacs
both use ansi-color-process-output, now.
(ansi-color-process-output): Doesn't return string anymore.  It is
installed in comint-output-filter-functions for both Emacs and
XEmacs, now.
(ansi-color-unfontify-region): Simplified code removing variables
pos and start-ansi.
(ansi-color-apply): Put text-property ansi-color before putting
text-property face because ansi-color-unfontify-region is called
immediately after the call to put-text-property.
(ansi-color-context-region): Doc change.
(ansi-color-filter-region): Simplified code.
(ansi-color-apply-on-region): Changed start to start-marker, using
a marker explicitly.  Put text-property ansi-color before putting
text-property face because ansi-color-unfontify-region is called
immediately after the call to put-text-property.


(ansi-color-faces-vector): Doc change.
(ansi-color-for-comint-mode): Changed :type property to choice.
(ansi-color-last-context): Removed.
(ansi-color-process-output): Don't use ansi-color-last-context, as
the main functions will store their context now.
(ansi-color-context): Doc change.
(ansi-color-filter-apply): Rewrote it based on ansi-color-apply.
Uses ansi-color-context such that repeated calls will strip
partial escape sequences, too.
(ansi-color-apply): Simplified code.  Colorize end of string if
face is not null.  Store context in new (FACE STRING) format, such
that repeated calls will strip partial escape sequences, too.
Append faces to face property using ansi-color-apply-sequence such
that cumulative mode actually works.
(ansi-color-context-region): New variable.
(ansi-color-filter-region): Rewrote it based on
ansi-color-apply-on-region.  Uses ansi-color-context-region such
that repeated calls will strip partial escape sequences, too.
(ansi-color-apply-on-region): Simplified code.  Colorize end of
region if face is not null.  Store context in new (FACE POS)
format, such that repeated calls will strip partial escape
sequences, too.  Append faces to face property using
ansi-color-apply-sequence such that cumulative mode actually
works.
(ansi-color-apply-sequence): New function.
(ansi-color-get-face): When the default face is added to the list
of faces, all previous settings are discarded and the list of
faces is set to '(default).


(ansi-color-faces-vector): Use nil for the default
face, such that ansi-color-apply and ansi-color-apply-on-region
will do the right thing.
(ansi-color-apply): Do the right thing, ie. if ansi-color-get-face
returns nil, set the list of faces back to nil instead of
appending the result of ansi-color-get-face to the front of the
list.


(ansi-color-for-comint-mode): Doc change.
(ansi-color-process): Doc change.
(ansi-color-last-context): New buffer-local variable.
(ansi-color-process-output): New function.  It is automatically
added to comint-output-filter-functions if this is XEmacs.
(ansi-color-unfontify-region): New optional parameter for XEmacs
compatibility.  Check wether font-lock-syntactic-keywords is
boundp before removing the syntax table text property, as XEmacs
doesn't have it.
(ansi-color-filter-region): Doc change.
(ansi-color-apply-on-region): Doc change.
(ansi-color-make-face): New function.  Compatibility layer for
XEmacs.  Return temporary faces instead of cons cells for XEmacs.
(ansi-color-make-color-map): Use ansi-color-make-face.
(ansi-color-get-face): Avoid face text property '(nil) as results
in an errow for XEmacs.


(ansi-color-unfontify-region): New function.  Uses
text-property ansi-color in order to preserve fontification by
ansi-color.  When the package is loaded, a lambda expression is
put onto font-lock-mode-hook.  This lambda expression will check
font-lock-unfontify-region-function and replace
font-lock-default-unfontify-region with
ansi-color-unfontify-region.
(ansi-color-apply): Add text-property ansi-color in addition to
text-property face.
(ansi-color-apply-on-region): Add text-property ansi-color in
addition to text-property face.
(save-buffer-state): Copy of the macro that is also used by
lazy-lock and font-lock.

(ansi-color-for-comint-mode): New option.
(ansi-color-for-comint-mode-on): Set ansi-color-for-comint-mode.
(ansi-color-for-comint-mode-off): Ditto.
(ansi-color-for-comint-mode-filter): Ditto.
(ansi-color-process): New function.  Uses
ansi-color-for-comint-mode to decide what to do.  This function is
added to comint-preoutput-filter-functions when the package is
loaded.

(ansi-color-for-shell-mode-set): Removed.
(ansi-color-for-shell-mode): Removed.


(ansi-color-for-shell-mode-set): New function with
the lambda expression from the ansi-color-for-shell-mode :set
property.  Additionally, modify shell-mode-hook to enable or
disable font-lock-mode for future shell buffers.
(ansi-color-for-shell-mode): The :set property calls
ansi-color-for-shell-mode-set instead of a lambda expression.


(ansi-color-for-shell-mode): Doc change.
(ansi-color-context): New variable.
(ansi-color-apply): Save context between calls.
2001-01-09 11:38:28 +00:00
Gerd Moellmann
986b7dee46 (ansi-colors): Doc change.
(ansi-color-get-face): Simplified regexp.
(ansi-color-faces-vector): Added more faces, doc change.
(ansi-color-names-vector): Doc change.
(ansi-color-regexp): Simplified regexp.
(ansi-color-parameter-regexp): New regexp.
(ansi-color-filter-apply): Doc change.
(ansi-color-filter-region): Doc change.
(ansi-color-apply): Use ansi-color-regexp and ansi-color-get-face,
deal with zero length parameters.
(ansi-color-apply-on-region): Doc change.
(ansi-color-map): Doc change.
(ansi-color-map-update): Removed debugging message.
(ansi-color-get-face-1): Added condition-case to trap
args-out-of-range errors.
(ansi-color-get-face): Doc change.
(ansi-color-make-face): Removed.
(ansi-color-for-shell-mode): New option.
2000-09-14 12:38:09 +00:00
Gerd Moellmann
4fefa382f0 (ansi-color-apply): Updated regexps to include
highlighted face.
1999-11-13 23:19:56 +00:00
Gerd Moellmann
8737bb5a2a Complete rewrite. 1999-10-19 11:17:23 +00:00
Karl Heuer
18e260d410 (ansi-color-to-text-properties): Added New state 5
to prevent m-eating-bug.
1999-08-10 16:57:26 +00:00
Richard M. Stallman
618206eaea Initial revision 1999-08-04 16:49:19 +00:00