Mercurial > emacs
view doc/lispintro/drawers.eps @ 110305:b10051866f51
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.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sat, 11 Sep 2010 01:13:42 +0200 |
parents | 1d1d5d9bd884 |
children | 376148b31b5e |
line wrap: on
line source
%!PS-Adobe-3.0 EPSF-3.0 %%BoundingBox: 34 577 324 778 %%Title: chest-of-drawers-diagram-new %%CreationDate: Fri Sep 14 17:40:57 2001 %%Creator: Tgif-4.1.35 by William Chia-Wei Cheng (william@cs.UCLA.edu) %%ProducedBy: (unknown) %%Pages: 1 %%DocumentFonts: (atend) %%EndComments %%BeginProlog % Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 % Free Software Foundation, Inc. % % This file is part of GNU Emacs. % % GNU Emacs is free software: you can redistribute it and/or modify % it under the terms of the GNU General Public License as published by % the Free Software Foundation, either version 3 of the License, or % (at your option) any later version. % % GNU Emacs is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the % GNU General Public License for more details. % % You should have received a copy of the GNU General Public License % along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. /tgifdict 53 dict def tgifdict begin /tgifellipsedict 6 dict def tgifellipsedict /mtrx matrix put /TGEL % tgifellipse { tgifellipsedict begin /yrad exch def /xrad exch def /y exch def /x exch def /savematrix mtrx currentmatrix def x y translate xrad yrad scale 0 0 1 0 360 arc savematrix setmatrix end } def /TGMAX { exch dup 3 1 roll exch dup 3 1 roll gt { pop } { exch pop } ifelse } def /TGMIN { exch dup 3 1 roll exch dup 3 1 roll lt { pop } { exch pop } ifelse } def /TGSW { stringwidth pop } def /bd { bind def } bind def /GS { gsave } bd /GR { grestore } bd /NP { newpath } bd /CP { closepath } bd /CHP { charpath } bd /CT { curveto } bd /L { lineto } bd /RL { rlineto } bd /M { moveto } bd /RM { rmoveto } bd /S { stroke } bd /F { fill } bd /TR { translate } bd /RO { rotate } bd /SC { scale } bd /MU { mul } bd /DI { div } bd /DU { dup } bd /NE { neg } bd /AD { add } bd /SU { sub } bd /PO { pop } bd /EX { exch } bd /CO { concat } bd /CL { clip } bd /EC { eoclip } bd /EF { eofill } bd /IM { image } bd /IMM { imagemask } bd /ARY { array } bd /SG { setgray } bd /RG { setrgbcolor } bd /SD { setdash } bd /W { setlinewidth } bd /SM { setmiterlimit } bd /SLC { setlinecap } bd /SLJ { setlinejoin } bd /SH { show } bd /FF { findfont } bd /MS { makefont setfont } bd /AR { arcto 4 {pop} repeat } bd /CURP { currentpoint } bd /FLAT { flattenpath strokepath clip newpath } bd /TGSM { tgiforigctm setmatrix } def /TGRM { savematrix setmatrix } def end %%EndProlog %%Page: 1 1 %%PageBoundingBox: 34 577 324 778 tgifdict begin /tgifsavedpage save def 1 SM 1 W 0 SG 72 0 MU 72 11 MU TR 72 128 DI 100.000 MU 100 DI DU NE SC GS /tgiforigctm matrix currentmatrix def % BOX 0 SG GS 10 SM GS NP 64 104 M 255 104 L 255 360 L 64 360 L CP S GR GR % POLY/OPEN-SPLINE 0 SG GS NP 65 296 M 254 296 L TGSM 1 W S GR % POLY/OPEN-SPLINE 0 SG GS NP 63 233 M 255 233 L TGSM 1 W S GR % POLY/OPEN-SPLINE 0 SG GS NP 63 169 M 255 169 L TGSM 1 W S GR % POLY/OPEN-SPLINE 0 SG GS NP 251 362 M 251 361 L 251 379 L 244 379 L 229 361 L TGSM 1 W S GR % OVAL 0 SG GS GS NP 160 72 10 6 TGEL S GR GR % POLY/OPEN-SPLINE 0 SG GS NP 63 104 M 128 64 L 138 69 L TGSM 1 W S GR % POLY/OPEN-SPLINE 0 SG GS NP 255 103 M 190 63 L 180 68 L TGSM 1 W S GR % TEXT NP 0 SG GS 1 W 160 152 M GS GS 0 /Courier FF [17 0 0 -17 0 0] MS (symbol name) TGSW AD GR 2 DI NE 0 RM 0 SG /Courier FF [17 0 0 -17 0 0] MS (symbol name) SH GR GR % TEXT NP 0 SG GS 1 W 160 41 M GS GS 0 /Courier FF [17 0 0 -17 0 0] MS (Chest of Drawers) TGSW AD GR 2 DI NE 0 RM 0 SG /Courier FF [17 0 0 -17 0 0] MS (Chest of Drawers) SH GR GR % TEXT NP 0 SG GS 1 W 344 41 M GS 0 SG /Courier FF [17 0 0 -17 0 0] MS (Contents of Drawers) SH GR GR % TEXT NP 0 SG GS 1 W 344 160 M GS 0 SG /Courier FF [17 0 0 -17 0 0] MS (bouquet) SH GR GR % TEXT NP 0 SG GS 1 W 344 220 M GS 0 SG /Courier FF [17 0 0 -17 0 0] MS ([none]) SH GR GR % TEXT NP 0 SG GS 1 W 344 279 M GS 0 SG /Courier FF [17 0 0 -17 0 0] MS (\(rose violet buttercup\)) SH GR GR % TEXT NP 0 SG GS 1 W 344 337 M GS 0 SG /Courier FF [17 0 0 -17 0 0] MS ([not described here]) SH GR GR % POLY/OPEN-SPLINE 0 SG GS NP 68 362 M 68 361 L 68 379 L 75 379 L 90 361 L TGSM 1 W S GR % TEXT NP 0 SG GS 1 W 158 132 M GS GS 0 /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (directions to) TGSW AD GR 2 DI NE 0 RM 0 SG /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (directions to) SH GR GR % TEXT NP 0 SG GS 1 W 345 139 M GS 0 SG /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (map to) SH GR GR % TEXT NP 0 SG GS 1 W 350 259 M GS 0 SG /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (map to) SH GR GR % TEXT NP 0 SG GS 1 W 159 213 M GS GS 0 /Courier FF [17 0 0 -17 0 0] MS (symbol definition) TGSW AD GR 2 DI NE 0 RM 0 SG /Courier FF [17 0 0 -17 0 0] MS (symbol definition) SH GR GR % TEXT NP 0 SG GS 1 W 159 195 M GS GS 0 /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (directions to) TGSW AD GR 2 DI NE 0 RM 0 SG /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (directions to) SH GR GR % TEXT NP 0 SG GS 1 W 160 276 M GS GS 0 /Courier FF [17 0 0 -17 0 0] MS (variable name) TGSW AD GR 2 DI NE 0 RM 0 SG /Courier FF [17 0 0 -17 0 0] MS (variable name) SH GR GR % TEXT NP 0 SG GS 1 W 158 260 M GS GS 0 /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (directions to) TGSW AD GR 2 DI NE 0 RM 0 SG /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (directions to) SH GR GR % TEXT NP 0 SG GS 1 W 160 339 M GS GS 0 /Courier FF [17 0 0 -17 0 0] MS (property list) TGSW AD GR 2 DI NE 0 RM 0 SG /Courier FF [17 0 0 -17 0 0] MS (property list) SH GR GR % TEXT NP 0 SG GS 1 W 158 323 M GS GS 0 /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (directions to) TGSW AD GR 2 DI NE 0 RM 0 SG /NewCenturySchlbk-Roman FF [17 0 0 -17 0 0] MS (directions to) SH GR GR GR tgifsavedpage restore end showpage %%Trailer %MatchingCreationDate: Fri Sep 14 17:40:57 2001 %%DocumentFonts: NewCenturySchlbk-Roman %%+ Courier %%EOF