1<?xml version="1.0" encoding="UTF-8"?> 2<!-- 3 4 This file is part of GtkSourceView 5 6 Author: Yevgen Muntyan <muntyan@tamu.edu> 7 Copyright (C) 2006-2007 Yevgen Muntyan <muntyan@tamu.edu> 8 9 GtkSourceView is free software; you can redistribute it and/or 10 modify it under the terms of the GNU Lesser General Public 11 License as published by the Free Software Foundation; either 12 version 2.1 of the License, or (at your option) any later version. 13 14 GtkSourceView is distributed in the hope that it will be useful, 15 but WITHOUT ANY WARRANTY; without even the implied warranty of 16 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 Lesser General Public License for more details. 18 19 You should have received a copy of the GNU Lesser General Public License 20 along with this library; if not, see <http://www.gnu.org/licenses/>. 21 22--> 23<language id="m4" name="m4" _section="Script" version="2.0"> 24 <metadata> 25 <property name="mimetypes">application/x-m4</property> 26 <property name="globs">*.m4;configure.ac;configure.in</property> 27 <property name="line-comment-start">#</property> 28 </metadata> 29 30 <styles> 31 <style id="m4-comment" name="m4 Comment" map-to="sh:comment"/> 32 <style id="m4-macro" name="m4 Macro" map-to="def:keyword"/> 33 <style id="ac-macro" name="Autoconf Macro" map-to="def:keyword"/> 34 <style id="ac-macro-obsolete" name="Obsolete Autoconf Macro" map-to="def:error"/> 35 </styles> 36 37 <!-- 38 Refurbished and commented 2010 by P. F. Chimento <philip.chimento@gmail.com> 39 40 How this language definition works. 41 42 This 'm4' language definition actually highlights Autoconf M4 files. Autoconf 43 consists of several parts: Autoconf, M4sugar, M4sh, Autoheader, Autoupdate, 44 and Autotest, all of which define their own M4 macros. In addition, this file 45 also highlights other M4 macros commonly used with Autoconf (those defined by 46 Automake, Libtool, Gettext, and Pkgconfig) and ones used for building GTK 47 packages (Intltool, Glib, and GConf). 48 49 This language definition ironically does _not_ support pure M4 files: M4sugar 50 redefines all the built-in M4 macros so that they start with m4_, and 51 redefines the quote characters from `' to []. 52 53 Autoconf's configure.ac files are processed by M4 into configure shell 54 scripts. Therefore, text that is to appear in the output is actually shell 55 script, and should be highlighted as such. However, some macros have arguments 56 that are not meant to appear in the output, and it depends on the macro. 57 For example, the macro 58 AC_CHECK_FILE(file, [action-if-found], [action-if-not-found]) 59 has three arguments, the first one of which should not contain shell script. 60 The remaining two can contain shell code, as well as other macros. Therefore, 61 we divide the macros into categories depending on the number and type of their 62 arguments: a string of 'm' (for M4 only) and 's' (for shell script mixed with 63 M4) characters. 64 65 TODO: In a future version, we might add 'c' to the mix, since some macros' 66 arguments actually contain C code. Right now this is just highlighted as M4. 67 68 Note that keeping track of the number of arguments to a macro also allows us 69 to highlight any extra arguments as errors. Also, note that calling a macro 70 with _fewer_ arguments is allowed, and in fact happens all the time. For 71 example, in AC_CHECK_FILE above, the second and third arguments are optional 72 and in fact have sensible defaults. 73 74 Below, we define regexes, with names like 'macros-mss' that match every macro 75 with that signature. 76 77 IMPORTANT: if you add any macros, make sure that you make all your parentheses 78 non-capturing by adding ?: to them! Otherwise, the highlighting will break 79 (and in fact was broken in earlier versions of this file.) 80 --> 81 <definitions> 82 <define-regex id="macros-m" extended="true"> 83 AC_(?: 84 CHECK_(?:DECL|FUNC|HEADER)S_ONCE| 85 CHECKING| 86 CONFIG_(?:(?:(?:AUX|LIBOBJ|MACRO)_|SRC)DIR|SUBDIRS)| 87 COPYRIGHT| 88 ERLANG_NEED_ERLC?| 89 F(?:77|C)_LIBRARY_LDFLAGS| 90 FATAL 91 INCLUDES_DEFAULT 92 LANG(?:_(?:ASSERT|CONFTEST|FUNC_LINK_TRY|POP|PUSH|SOURCE))?| 93 LIB(?:OBJS|SOURCES?)| 94 MSG_(?:CHECKING|NOTICE|RESULT|WARN)| 95 OPENMP| 96 PREFIX_(?:DEFAULT|PROGRAM)| 97 PREREQ| 98 PROG_(?:CC|CXX|F77|OBJC(?:XX)?)| 99 REPLACE_FUNCS| 100 REQUIRE(?:_AUX_FILE)?| 101 REVISION| 102 SUBST_FILE| 103 WARNING)| 104 AH_(?:BOTTOM|TOP)| 105 AS_(?: 106 DIRNAME| 107 EXIT| 108 MKDIR_P| 109 SET_STATUS| 110 TR_(?:CPP|SH)| 111 VAR_(?:POPDEF|TEST_SET))| 112 m4_(?: 113 chomp(?:_all)?| 114 cleardivert| 115 debug(?:file|mode)| 116 decr| 117 defn| 118 divert(?:_(?:pop|push))?| 119 errprintn| 120 (?:re_)?escape| 121 exit| 122 expand| 123 flatten| 124 s?include| 125 incr| 126 len| 127 (?:make|mks)temp| 128 n| 129 newline| 130 normalize| 131 pattern_(?:allow|forbid)| 132 popdef| 133 set_(?:delete|list|listc|size)| 134 sign| 135 strip| 136 to(?:lower|upper)| 137 warning| 138 wrap(?:_lifo)?)| 139 AT_(?:BANNER|CAPTURE_FILE|COPYRIGHT|INIT|KEYWORDS|SETUP|TESTED)| 140 AM_(?: 141 GNU_GETTEXT_(?:VERSION|NEED)| 142 ICONV| 143 INIT_AUTOMAKE| 144 MAINTAINER_MODE| 145 PROG_UPC| 146 SUBST_NOTMAKE| 147 XGETTEXT_OPTION)| 148 LT_(?:INIT|LANG|PREREQ)| 149 PKG_PROG_PKG_CONFIG| 150 IT_PO_SUBDIR| 151 GOBJECT_INTROSPECTION_(?:CHECK|REQUIRE) 152 </define-regex> 153 <define-regex id="macros-s" extended="true"> 154 AC_CONFIG_COMMANDS_(?:PRE|POST)| 155 AS_(?:ECHO(?:_N)?|UNSET)| 156 m4_(?:esyscmd(?:_s)?|syscmd)| 157 AT_(?:X?FAIL|SKIP)_IF 158 </define-regex> 159 <define-regex id="macros-mm" extended="true"> 160 AC_(?: 161 ARG_VAR| 162 BEFORE| 163 CHECK_ALIGNOF| 164 CONFIG_TESTDIR| 165 DIAGNOSE| 166 ERLANG_(?:PATH_ERLC?|SUBST_INSTALL_LIB_SUBDIR)| 167 F(?:77|C)_FUNC| 168 LANG_(?:CALL|PROGRAM)| 169 MSG_(?:ERROR|FAILURE)| 170 PROG_FC)| 171 AH_(?:TEMPLATE|VERBATIM)| 172 AU_ALIAS| 173 AS_(?:BOX|ESCAPE|TMPDIR|VAR_(?:APPEND|COPY|PUSHDEF))| 174 m4_(?: 175 append_uniq_w| 176 apply| 177 assert| 178 change(?:com|quote)| 179 (?:list)?cmp| 180 (?:copy|rename)(?:_force)?| 181 default(?:_nblank)?(?:_quoted)?| 182 define(?:_default)?| 183 defun| 184 divert_(?:once|text)| 185 fatal| 186 index| 187 map(?:all)?| 188 pushdef| 189 set_(?:contents|difference|dump|intersection|map|union)| 190 split| 191 stack_foreach(?:_lifo)?| 192 text_box| 193 version_compare| 194 warn)| 195 AT_DATA| 196 GTK_DOC_CHECK| 197 IT_PROG_INTLTOOL 198 </define-regex> 199 <define-regex id="macros-ms" extended="true"> 200 AC_(?:CACHE_VAL|DEFUN(?:_ONCE)?|SUBST)| 201 AS_(?:INIT_GENERATED|VAR_(?:ARITH|SET))| 202 AM_CONDITIONAL 203 </define-regex> 204 <define-regex id="macros-ss" extended="true"> 205 AC_(?:F(?:77|C)_DUMMY_MAIN|FC_(?:FREE|FIXED)FORM) 206 </define-regex> 207 <define-regex id="macros-mmm" extended="true"> 208 AC_(?:CHECK_SIZEOF|DEFINE(?:_UNQUOTED)?)| 209 AS_SET_CATFILE| 210 m4_(?: 211 append| 212 bpatsubst| 213 bregexp| 214 eval| 215 ifn?blank| 216 ifn?def| 217 ifset| 218 ifvaln?| 219 map(?:all)?_sep| 220 set_(?:empty|foreach)| 221 substr| 222 translit| 223 version-prereq)| 224 AM_GNU_GETTEXT 225 </define-regex> 226 <define-regex id="macros-mms" extended="true"> 227 AC_CACHE_CHECK| 228 m4_foreach(?:_w)? 229 </define-regex> 230 <define-regex id="macros-msm">AU_DEFUN</define-regex> 231 <define-regex id="macros-mss" extended="true"> 232 AC_(?: 233 CHECK_(?:FILE|FUNC)(?:S)?| 234 (?:COMPILE|LINK|PREPROC)_IFELSE| 235 CONFIG_(?:COMMANDS|FILES|HEADERS|LINKS)| 236 ERLANG_CHECK_LIB| 237 FC_(?:LINE_LENGTH|SRCEXT))| 238 AS_VAR_SET_IF| 239 AM_(?:COND_IF|PATH_PYTHON|PROG_VALAC)| 240 PKG_CHECK_EXISTS 241 </define-regex> 242 <define-regex id="macros-mmmm" extended="true"> 243 AC_(?: 244 CHECK_(?:PROGS|(?:TARGET_)?TOOLS?)| 245 PATH_(?:PROGS?|(?:TARGET_)?TOOL))| 246 AS_HELP_STRING| 247 m4_(?: 248 map_args_w| 249 set_(?:add|contains|map_sep|remove)| 250 stack_foreach_sep(?:_lifo)?| 251 text|wrap) 252 </define-regex> 253 <define-regex id="macros-mmms">AC_COMPUTE_INT</define-regex> 254 <define-regex id="macros-mmss" extended="true"> 255 AC_(?: 256 ARG_(?:ENABLE|WITH)| 257 EGREP_(?:CPP|HEADER))| 258 AS_VAR_IF| 259 AT_ARG_OPTION(?:_ARG)?| 260 PKG_CHECK_MODULES 261 </define-regex> 262 <define-regex id="macros-mssm" extended="true"> 263 AC_CHECK_(?:DECL|HEADER|MEMBER|TYPE)(?:S)? 264 </define-regex> 265 <define-regex id="macros-msss">AC_RUN_IFELSE</define-regex> 266 <define-regex id="macros-ssss" extended="true"> 267 AC_C_BIGENDIAN| 268 AS_LITERAL_(?:WORD_)?IF 269 </define-regex> 270 <define-regex id="macros-mmmmm" extended="true"> 271 m4_(?:append_uniq|for)| 272 AC_INIT 273 </define-regex> 274 <define-regex id="macros-mmmss">AT_CHECK_EUNIT</define-regex> 275 <define-regex id="macros-mmssm" extended="true"> 276 AC_(?:CHECK_LIB|SEARCH_LIBS|PATH_PROGS_FEATURE_CHECK) 277 </define-regex> 278 <define-regex id="macros-mmsss">AS_VERSION_COMPARE</define-regex> 279 <define-regex id="macros-mmmmmm">AC_CHECK_PROG</define-regex> 280 <define-regex id="macros-smmmss">AT_CHECK(?:_UNQUOTED)?</define-regex> 281 282 <!-- 'mvarargs' and 'svarargs' mean that any number of 'm' or 's' arguments 283 are accepted, respectively. These macros will not highlight extraneous 284 arguments as errors. --> 285 <define-regex id="macros-mvarargs" extended="true"> 286 m4_(?: 287 argn| 288 bmatch| 289 bpatsubsts| 290 car| 291 case| 292 cdr| 293 builtin| 294 combine| 295 cond| 296 count| 297 curry| 298 do| 299 dquote(?:_elt)?| 300 dumpdefs?| 301 echo| 302 errprint| 303 format| 304 if| 305 ignore| 306 indir| 307 join(?:all)?| 308 makelist| 309 map_args(?:_(?:pair|sep))?| 310 max| 311 min| 312 (?:un)?quote| 313 reverse| 314 set_add_all| 315 shift(?:2|3|n)?| 316 trace(?:off|on)| 317 undefine| 318 undivert) 319 </define-regex> 320 <define-regex id="macros-svarargs">AS_IF</define-regex> 321 322 <!-- At this point, there is one macro left with even more complicated 323 argument types: AS_CASE. We treat it specially later on. --> 324 325 <!-- 'm4-quoted' matches text between quote brackets and highlights it as 326 pure M4 (no shell code allowed). --> 327 <context id="m4-quoted"><!-- style-ref="test:_yellow"--> 328 <start>\[</start> 329 <end>\]</end> 330 <include> 331 <context ref="m4-pure"/> 332 </include> 333 </context> 334 335 <!-- 'm4-quoted-shell' matches text between quote brackets and highlights it 336 as a mix of M4 and shell code. --> 337 <context id="m4-quoted-shell"> 338 <start>\[</start> 339 <end>\]</end> 340 <include> 341 <context ref="m4"/> 342 </include> 343 </context> 344 345 <!-- This context matches text between parentheses that comes after a word, 346 and treats it as a variable-length list of 'm' arguments. This is necessary 347 for unknown or user-defined macros - without this context, their arguments 348 would all be highlighted as shell code. --> 349 <context id="m4-function-call"><!-- style-ref="test:_violet"--> 350 <start>(?<=[\w\d_])\((?!\))</start> 351 <end>\)</end> 352 <include> 353 <context ref="ARG-M"/> 354 <context> 355 <start>,</start> 356 <end>(?=[,\)])</end> 357 <include> 358 <context ref="ARG-M"/> 359 </include> 360 </context> 361 </include> 362 </context> 363 364 <!-- M4 'dnl' comments are removed from the output, as opposed to shell '#' 365 comments, which appear in the output. --> 366 <context id="m4-comment" style-ref="m4-comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check"> 367 <start>dnl</start> 368 <include> 369 <context ref="def:in-line-comment"/> 370 </include> 371 </context> 372 373 <!-- In the following section, the contexts form a pretty straightforward 374 state machine that consumes each macro argument and moves on to the next 375 state. --> 376 377 <!-- This state means all the expected arguments have been consumed, and so 378 any remaining arguments are errors. --> 379 <context id="NO-ARGS" style-ref="def:error"> 380 <start>,</start> 381 <end>(?=\))</end> 382 </context> 383 384 <!-- This is an argument containing only pure M4. --> 385 <context id="ARG-M"> 386 <include> 387 <context ref="m4-pure"/> 388 </include> 389 </context> 390 391 <!-- This is an argument containing a mix of M4 and shell code. --> 392 <context id="ARG-S"> 393 <include> 394 <context> 395 <start>\[</start> 396 <end>\]</end> 397 <include> 398 <context ref="m4"/> 399 </include> 400 </context> 401 <context ref="m4"/> 402 </include> 403 </context> 404 405 <!-- The TO-ARGS- states match a comma, and then enter the corresponding 406 ARGS- state --> 407 <context id="TO-ARGS-M"> 408 <start>,</start> 409 <end>(?=[,\)])</end> 410 <include><context ref="ARGS-M"/></include> 411 </context> 412 413 <context id="TO-ARGS-S"> 414 <start>,</start> 415 <end>(?=[,\)])</end> 416 <include><context ref="ARGS-S"/></include> 417 </context> 418 419 <context id="TO-ARGS-MM"> 420 <start>,</start> 421 <end>(?=[,\)])</end> 422 <include><context ref="ARGS-MM"/></include> 423 </context> 424 425 <context id="TO-ARGS-MS"> 426 <start>,</start> 427 <end>(?=[,\)])</end> 428 <include><context ref="ARGS-MS"/></include> 429 </context> 430 431 <context id="TO-ARGS-SM"> 432 <start>,</start> 433 <end>(?=[,\)])</end> 434 <include><context ref="ARGS-SM"/></include> 435 </context> 436 437 <context id="TO-ARGS-SS"> 438 <start>,</start> 439 <end>(?=[,\)])</end> 440 <include><context ref="ARGS-SS"/></include> 441 </context> 442 443 <context id="TO-ARGS-MMM"> 444 <start>,</start> 445 <end>(?=[,\)])</end> 446 <include><context ref="ARGS-MMM"/></include> 447 </context> 448 449 <context id="TO-ARGS-MMS"> 450 <start>,</start> 451 <end>(?=[,\)])</end> 452 <include><context ref="ARGS-MMS"/></include> 453 </context> 454 455 <context id="TO-ARGS-MSS"> 456 <start>,</start> 457 <end>(?=[,\)])</end> 458 <include><context ref="ARGS-MSS"/></include> 459 </context> 460 461 <context id="TO-ARGS-SSM"> 462 <start>,</start> 463 <end>(?=[,\)])</end> 464 <include><context ref="ARGS-SSM"/></include> 465 </context> 466 467 <context id="TO-ARGS-SSS"> 468 <start>,</start> 469 <end>(?=[,\)])</end> 470 <include><context ref="ARGS-SSS"/></include> 471 </context> 472 473 <context id="TO-ARGS-MMMM"> 474 <start>,</start> 475 <end>(?=[,\)])</end> 476 <include><context ref="ARGS-MMMM"/></include> 477 </context> 478 479 <context id="TO-ARGS-MMSS"> 480 <start>,</start> 481 <end>(?=[,\)])</end> 482 <include><context ref="ARGS-MMSS"/></include> 483 </context> 484 485 <context id="TO-ARGS-MSSM"> 486 <start>,</start> 487 <end>(?=[,\)])</end> 488 <include><context ref="ARGS-MSSM"/></include> 489 </context> 490 491 <context id="TO-ARGS-MSSS"> 492 <start>,</start> 493 <end>(?=[,\)])</end> 494 <include><context ref="ARGS-MSSS"/></include> 495 </context> 496 497 <context id="TO-ARGS-MMMMM"> 498 <start>,</start> 499 <end>(?=[,\)])</end> 500 <include><context ref="ARGS-MMMMM"/></include> 501 </context> 502 503 <context id="TO-ARGS-MMMSS"> 504 <start>,</start> 505 <end>(?=[,\)])</end> 506 <include><context ref="ARGS-MMMSS"/></include> 507 </context> 508 509 <context id="TO-ARGS-MVARARGS"> 510 <start>,</start> 511 <end>(?=[,\)])</end> 512 <include><context ref="ARGS-MVARARGS"/></include> 513 </context> 514 515 <context id="TO-ARGS-SVARARGS"> 516 <start>,</start> 517 <end>(?=[,\)])</end> 518 <include><context ref="ARGS-SVARARGS"/></include> 519 </context> 520 521 <!-- The ARGS- states match an argument of the type of the head of the 522 argument list, and then enter the TO-ARGS- state corresponding to the 523 tail of the argument list. (Or CAR and CDR, if you prefer.) --> 524 525 <context id="ARGS-S"><include> 526 <context ref="ARG-S"/> 527 <context ref="NO-ARGS"/> 528 </include></context> 529 530 <context id="ARGS-M"><include> 531 <context ref="ARG-M"/> 532 <context ref="NO-ARGS"/> 533 </include></context> 534 535 <context id="ARGS-MM"><include> 536 <context ref="ARG-M"/> 537 <context ref="TO-ARGS-M"/> 538 </include></context> 539 540 <context id="ARGS-MS"><include> 541 <context ref="ARG-M"/> 542 <context ref="TO-ARGS-S"/> 543 </include></context> 544 545 <context id="ARGS-SM"><include> 546 <context ref="ARG-S"/> 547 <context ref="TO-ARGS-M"/> 548 </include></context> 549 550 <context id="ARGS-SS"><include> 551 <context ref="ARG-S"/> 552 <context ref="TO-ARGS-S"/> 553 </include></context> 554 555 <context id="ARGS-MMM"><include> 556 <context ref="ARG-M"/> 557 <context ref="TO-ARGS-MM"/> 558 </include></context> 559 560 <context id="ARGS-MMS"><include> 561 <context ref="ARG-M"/> 562 <context ref="TO-ARGS-MS"/> 563 </include></context> 564 565 <context id="ARGS-MSM"><include> 566 <context ref="ARG-M"/> 567 <context ref="TO-ARGS-SM"/> 568 </include></context> 569 570 <context id="ARGS-MSS"><include> 571 <context ref="ARG-M"/> 572 <context ref="TO-ARGS-SS"/> 573 </include></context> 574 575 <context id="ARGS-SSM"><include> 576 <context ref="ARG-S"/> 577 <context ref="TO-ARGS-SM"/> 578 </include></context> 579 580 <context id="ARGS-SSS"><include> 581 <context ref="ARG-S"/> 582 <context ref="TO-ARGS-SS"/> 583 </include></context> 584 585 <context id="ARGS-MMMM"><include> 586 <context ref="ARG-M"/> 587 <context ref="TO-ARGS-MMM"/> 588 </include></context> 589 590 <context id="ARGS-MMMS"><include> 591 <context ref="ARG-M"/> 592 <context ref="TO-ARGS-MMS"/> 593 </include></context> 594 595 <context id="ARGS-MMSS"><include> 596 <context ref="ARG-M"/> 597 <context ref="TO-ARGS-MSS"/> 598 </include></context> 599 600 <context id="ARGS-MSSM"><include> 601 <context ref="ARG-M"/> 602 <context ref="TO-ARGS-SSM"/> 603 </include></context> 604 605 <context id="ARGS-MSSS"><include> 606 <context ref="ARG-M"/> 607 <context ref="TO-ARGS-SSS"/> 608 </include></context> 609 610 <context id="ARGS-SSSS"><include> 611 <context ref="ARG-S"/> 612 <context ref="TO-ARGS-SSS"/> 613 </include></context> 614 615 <context id="ARGS-MMMMM"><include> 616 <context ref="ARG-M"/> 617 <context ref="TO-ARGS-MMMM"/> 618 </include></context> 619 620 <context id="ARGS-MMMSS"><include> 621 <context ref="ARG-M"/> 622 <context ref="TO-ARGS-MMSS"/> 623 </include></context> 624 625 <context id="ARGS-MMSSM"><include> 626 <context ref="ARG-M"/> 627 <context ref="TO-ARGS-MSSM"/> 628 </include></context> 629 630 <context id="ARGS-MMSSS"><include> 631 <context ref="ARG-M"/> 632 <context ref="TO-ARGS-MSSS"/> 633 </include></context> 634 635 <context id="ARGS-MMMMMM"><include> 636 <context ref="ARG-M"/> 637 <context ref="TO-ARGS-MMMMM"/> 638 </include></context> 639 640 <context id="ARGS-SMMMSS"><include> 641 <context ref="ARG-S"/> 642 <context ref="TO-ARGS-MMMSS"/> 643 </include></context> 644 645 <!-- The ARGS-?VARARGS states go to their own TO-ARGS- states, of course --> 646 <context id="ARGS-MVARARGS"><include> 647 <context ref="ARG-M"/> 648 <context ref="TO-ARGS-MVARARGS"/> 649 </include></context> 650 651 <context id="ARGS-SVARARGS"><include> 652 <context ref="ARG-S"/> 653 <context ref="TO-ARGS-SVARARGS"/> 654 </include></context> 655 656 <!-- AS_CASE is the odd man out. Its signature should actually be M(MS)+S?, 657 i.e. an M followed by one or more pairs of MS, ending with an optional S, 658 but there's no way to highlight that properly without knowing whether a 659 given argument is the last one. Therefore, we highlight it as M plus 660 SVARARGS. --> 661 <context id="ARGS-AS-CASE"><include> 662 <context ref="ARG-M"/> 663 <context ref="TO-ARGS-SVARARGS"/> 664 </include></context> 665 666 <!-- The func- contexts are the ones actually included in the 'm4-pure' 667 context below. They match the macro names (which we defined in the regexes 668 above), and the opening and closing parentheses, which are all highlighted. 669 --> 670 671 <context id="func-m"> 672 <start>\b(\%{macros-m})\s*(\()</start> 673 <end>\)</end> 674 <include> 675 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 676 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 677 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 678 <context ref="ARGS-M"/> 679 </include> 680 </context> 681 682 <context id="func-s"> 683 <start>\b(\%{macros-s})\s*(\()</start> 684 <end>\)</end> 685 <include> 686 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 687 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 688 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 689 <context ref="ARGS-S"/> 690 </include> 691 </context> 692 693 <context id="func-mm"> 694 <start>\b(\%{macros-mm})\s*(\()</start> 695 <end>\)</end> 696 <include> 697 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 698 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 699 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 700 <context ref="ARGS-MM"/> 701 </include> 702 </context> 703 704 <context id="func-ms"> 705 <start>\b(\%{macros-ms})\s*(\()</start> 706 <end>\)</end> 707 <include> 708 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 709 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 710 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 711 <context ref="ARGS-MS"/> 712 </include> 713 </context> 714 715 <context id="func-ss"> 716 <start>\b(\%{macros-ss})\s*(\()</start> 717 <end>\)</end> 718 <include> 719 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 720 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 721 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 722 <context ref="ARGS-SS"/> 723 </include> 724 </context> 725 726 <context id="func-mmm"> 727 <start>\b(\%{macros-mmm})\s*(\()</start> 728 <end>\)</end> 729 <include> 730 <context sub-pattern="1" where="start" style-ref="m4-macro"/> 731 <context sub-pattern="2" where="start" style-ref="m4-macro"/> 732 <context sub-pattern="0" where="end" style-ref="m4-macro"/> 733 <context ref="ARGS-MMM"/> 734 </include> 735 </context> 736 737 <context id="func-mms"> 738 <start>\b(\%{macros-mms})\s*(\()</start> 739 <end>\)</end> 740 <include> 741 <context sub-pattern="1" where="start" style-ref="m4-macro"/> 742 <context sub-pattern="2" where="start" style-ref="m4-macro"/> 743 <context sub-pattern="0" where="end" style-ref="m4-macro"/> 744 <context ref="ARGS-MMS"/> 745 </include> 746 </context> 747 748 <context id="func-msm"> 749 <start>\b(\%{macros-msm})\s*(\()</start> 750 <end>\)</end> 751 <include> 752 <context sub-pattern="1" where="start" style-ref="m4-macro"/> 753 <context sub-pattern="2" where="start" style-ref="m4-macro"/> 754 <context sub-pattern="0" where="end" style-ref="m4-macro"/> 755 <context ref="ARGS-MSM"/> 756 </include> 757 </context> 758 759 <context id="func-mss"> 760 <start>\b(\%{macros-mss})\s*(\()</start> 761 <end>\)</end> 762 <include> 763 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 764 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 765 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 766 <context ref="ARGS-MSS"/> 767 </include> 768 </context> 769 770 <context id="func-mmmm"> 771 <start>\b(\%{macros-mmmm})\s*(\()</start> 772 <end>\)</end> 773 <include> 774 <context sub-pattern="1" where="start" style-ref="m4-macro"/> 775 <context sub-pattern="2" where="start" style-ref="m4-macro"/> 776 <context sub-pattern="0" where="end" style-ref="m4-macro"/> 777 <context ref="ARGS-MMMM"/> 778 </include> 779 </context> 780 781 <context id="func-mmms"> 782 <start>\b(\%{macros-mmms})\s*(\()</start> 783 <end>\)</end> 784 <include> 785 <context sub-pattern="1" where="start" style-ref="m4-macro"/> 786 <context sub-pattern="2" where="start" style-ref="m4-macro"/> 787 <context sub-pattern="0" where="end" style-ref="m4-macro"/> 788 <context ref="ARGS-MMMS"/> 789 </include> 790 </context> 791 792 <context id="func-mmss"> 793 <start>\b(\%{macros-mmss})\s*(\()</start> 794 <end>\)</end> 795 <include> 796 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 797 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 798 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 799 <context ref="ARGS-MMSS"/> 800 </include> 801 </context> 802 803 <context id="func-mssm"> 804 <start>\b(\%{macros-mssm})\s*(\()</start> 805 <end>\)</end> 806 <include> 807 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 808 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 809 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 810 <context ref="ARGS-MSSM"/> 811 </include> 812 </context> 813 814 <context id="func-msss"> 815 <start>\b(\%{macros-msss})\s*(\()</start> 816 <end>\)</end> 817 <include> 818 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 819 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 820 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 821 <context ref="ARGS-MSSS"/> 822 </include> 823 </context> 824 825 <context id="func-ssss"> 826 <start>\b(\%{macros-ssss})\s*(\()</start> 827 <end>\)</end> 828 <include> 829 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 830 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 831 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 832 <context ref="ARGS-SSSS"/> 833 </include> 834 </context> 835 836 <context id="func-mmmmm"> 837 <start>\b(\%{macros-mmmmm})\s*(\()</start> 838 <end>\)</end> 839 <include> 840 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 841 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 842 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 843 <context ref="ARGS-MMMMM"/> 844 </include> 845 </context> 846 847 <context id="func-mmmss"> 848 <start>\b(\%{macros-mmmss})\s*(\()</start> 849 <end>\)</end> 850 <include> 851 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 852 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 853 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 854 <context ref="ARGS-MMMSS"/> 855 </include> 856 </context> 857 858 <context id="func-mmssm"> 859 <start>\b(\%{macros-mmssm})\s*(\()</start> 860 <end>\)</end> 861 <include> 862 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 863 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 864 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 865 <context ref="ARGS-MMSSM"/> 866 </include> 867 </context> 868 869 <context id="func-mmsss"> 870 <start>\b(\%{macros-mmsss})\s*(\()</start> 871 <end>\)</end> 872 <include> 873 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 874 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 875 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 876 <context ref="ARGS-MMSSS"/> 877 </include> 878 </context> 879 880 <context id="func-mmmmmm"> 881 <start>\b(\%{macros-mmmmmm})\s*(\()</start> 882 <end>\)</end> 883 <include> 884 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 885 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 886 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 887 <context ref="ARGS-MMMMMM"/> 888 </include> 889 </context> 890 891 <context id="func-smmmss"> 892 <start>\b(\%{macros-smmmss})\s*(\()</start> 893 <end>\)</end> 894 <include> 895 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 896 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 897 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 898 <context ref="ARGS-SMMMSS"/> 899 </include> 900 </context> 901 902 <context id="func-mvarargs"> 903 <start>\b(\%{macros-mvarargs})\s*(\()</start> 904 <end>\)</end> 905 <include> 906 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 907 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 908 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 909 <context ref="ARGS-MVARARGS"/> 910 </include> 911 </context> 912 913 <context id="func-svarargs"> 914 <start>\b(\%{macros-svarargs})\s*(\()</start> 915 <end>\)</end> 916 <include> 917 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 918 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 919 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 920 <context ref="ARGS-SVARARGS"/> 921 </include> 922 </context> 923 924 <context id="func-as-case"> 925 <start>\b(AS_CASE)\s*(\()</start> 926 <end>\)</end> 927 <include> 928 <context sub-pattern="1" where="start" style-ref="ac-macro"/> 929 <context sub-pattern="2" where="start" style-ref="ac-macro"/> 930 <context sub-pattern="0" where="end" style-ref="ac-macro"/> 931 <context ref="ARGS-AS-CASE"/> 932 </include> 933 </context> 934 935 <!-- This context highlights pure M4 code. --> 936 <context id="m4-pure"> 937 <include> 938 <context ref="m4-comment"/> 939 <context ref="func-m"/> 940 <context ref="func-s"/> 941 <context ref="func-mm"/> 942 <context ref="func-ms"/> 943 <context ref="func-ss"/> 944 <context ref="func-mmm"/> 945 <context ref="func-mms"/> 946 <context ref="func-msm"/> 947 <context ref="func-mss"/> 948 <context ref="func-mmmm"/> 949 <context ref="func-mmms"/> 950 <context ref="func-mmss"/> 951 <context ref="func-mssm"/> 952 <context ref="func-msss"/> 953 <context ref="func-ssss"/> 954 <context ref="func-mmmmm"/> 955 <context ref="func-mmmss"/> 956 <context ref="func-mmssm"/> 957 <context ref="func-mmsss"/> 958 <context ref="func-mmmmmm"/> 959 <context ref="func-smmmss"/> 960 <context ref="func-mvarargs"/> 961 <context ref="func-svarargs"/> 962 <context ref="func-as-case"/> 963 <context ref="m4-macros-noargs"/> 964 <context ref="ac-macros-noargs"/> 965 <context ref="ac-macros-noargs-2"/> 966 <context ref="ac-macros-optargs"/> 967 <context ref="ac-macros-obsolete"/> 968 <context ref="am-macros-noargs"/> 969 <context ref="am-macros-optargs"/> 970 <context ref="am-macros-obsolete"/> 971 <context ref="am-macros-private"/> 972 <context ref="misc-macros-noargs"/> 973 <context ref="misc-macros-optargs"/> 974 <context ref="m4-function-call"/> 975 <context ref="m4-quoted"/> 976 <context extend-parent="false" style-ref="def:error"> 977 <match>\]</match> 978 </context> 979 </include> 980 </context> 981 982 <context id="shell-line-comment" style-ref="sh:comment" end-at-line-end="true" class="comment" class-disabled="no-spell-check"> 983 <start>(?<!\S)#|(?<=\[)#</start> 984 <include> 985 <context ref="sh:line-comment" original="true"/> 986 </include> 987 </context> 988 989 <replace id="sh:sh" ref="m4"/> 990 <replace id="sh:line-comment" ref="shell-line-comment"/> 991 992 <!-- This is the main 'm4' context. It highlights a mixture of M4 and shell 993 code. --> 994 <context id="m4" class="no-spell-check"> 995 <include> 996 <context ref="m4-quoted-shell"/> 997 <context ref="m4-pure"/> 998 <context ref="sh:sh" original="true"/> 999 <context id="bad-paren" extend-parent="false" style-ref="def:error"> 1000 <match>\)</match> 1001 </context> 1002 </include> 1003 </context> 1004 1005 <!-- Now come the macros that don't take any arguments. They are not called 1006 with empty parentheses, just with the macro name: e.g. AC_OUTPUT. We can 1007 simply use keyword contexts for them. --> 1008 1009 <context id="m4-macros-noargs" style-ref="m4-macro"> 1010 <prefix>\bm4_</prefix> 1011 <keyword>divnum</keyword> 1012 <keyword>init</keyword> 1013 <keyword>location</keyword> 1014 <keyword>sysval</keyword> 1015 </context> 1016 1017 <!-- We also have keyword contexts for macros that do take arguments, but 1018 can also be called without any; for example, AC_PROG_CC takes a list of 1019 compiler names to search for, but is mostly just called without it. Since 1020 the 'func-m' context would only match AC_PROG_CC(), we repeat this kind of 1021 macros in '-optargs' contexts. --> 1022 1023 <context id="m4-macros-optargs" style-ref="m4-macro"> 1024 <prefix>\bm4_</prefix> 1025 <keyword>change(com|quote)</keyword> 1026 <keyword>debug(file|mode)</keyword> 1027 <keyword>divert_pop</keyword> 1028 <keyword>newline</keyword> 1029 <keyword>trace(on|off)</keyword> 1030 </context> 1031 1032 <context id="ac-macros-noargs" style-ref="ac-macro"> 1033 <prefix>\bAC_</prefix> 1034 <keyword>ARG_PROGRAM</keyword> 1035 <keyword>AUTOCONF_VERSION</keyword> 1036 <keyword>C_BACKSLASH_A</keyword> 1037 <keyword>CACHE_(LOAD|SAVE)</keyword> 1038 <keyword>CANONICAL_(BUILD|HOST|TARGET)</keyword> 1039 <keyword>C_CHAR_UNSIGNED</keyword> 1040 <keyword>C_CONST</keyword> 1041 <keyword>C_FLEXIBLE_ARRAY_MEMBER</keyword> 1042 <keyword>C_INLINE</keyword> 1043 <keyword>C_PROTOTYPES</keyword> 1044 <keyword>C_RESTRICT</keyword> 1045 <keyword>C_STRINGIZE</keyword> 1046 <keyword>C_TYPEOF</keyword> 1047 <keyword>C_VARARRAYS</keyword> 1048 <keyword>C_VOLATILE</keyword> 1049 <keyword>DISABLE_OPTION_CHECKING</keyword> 1050 <keyword>ERLANG_SUBST_(((INSTALL_)?LIB|ROOT)_DIR|ERTS_VER)</keyword> 1051 <keyword>F77_MAIN</keyword> 1052 <keyword>F77_WRAPPERS</keyword> 1053 <keyword>FC_MAIN</keyword> 1054 <keyword>FC_WRAPPERS</keyword> 1055 <keyword>FUNC_ALLOCA</keyword> 1056 <keyword>FUNC_CHOWN</keyword> 1057 <keyword>FUNC_CLOSEDIR_VOID</keyword> 1058 <keyword>FUNC_ERROR_AT_LINE</keyword> 1059 <keyword>FUNC_FNMATCH(_GNU)?</keyword> 1060 <keyword>FUNC_FORK</keyword> 1061 <keyword>FUNC_FSEEKO</keyword> 1062 <keyword>FUNC_GETGROUPS</keyword> 1063 <keyword>FUNC_GETLOADAVG</keyword> 1064 <keyword>FUNC_GETMNTENT</keyword> 1065 <keyword>FUNC_GETPGRP</keyword> 1066 <keyword>FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK</keyword> 1067 <keyword>FUNC_LSTAT</keyword> 1068 <keyword>FUNC_MALLOC</keyword> 1069 <keyword>FUNC_MBRTOWC</keyword> 1070 <keyword>FUNC_MEMCMP</keyword> 1071 <keyword>FUNC_MKTIME</keyword> 1072 <keyword>FUNC_MMAP</keyword> 1073 <keyword>FUNC_OBSTACK</keyword> 1074 <keyword>FUNC_REALLOC</keyword> 1075 <keyword>FUNC_SELECT_ARGTYPES</keyword> 1076 <keyword>FUNC_SETPGRP</keyword> 1077 <keyword>FUNC_STAT</keyword> 1078 <keyword>FUNC_STRCOLL</keyword> 1079 <keyword>FUNC_STRERROR_R</keyword> 1080 <keyword>FUNC_STRFTIME</keyword> 1081 <keyword>FUNC_STRNLEN</keyword> 1082 <keyword>FUNC_STRTOD</keyword> 1083 <keyword>FUNC_STRTOLD</keyword> 1084 <keyword>FUNC_UTIME_NULL</keyword> 1085 <keyword>FUNC_VPRINTF</keyword> 1086 <keyword>HEADER_ASSERT</keyword> 1087 <keyword>HEADER_DIRENT</keyword> 1088 <keyword>HEADER_MAJOR</keyword> 1089 <keyword>HEADER_RESOLV</keyword> 1090 <keyword>HEADER_STAT</keyword> 1091 <keyword>HEADER_STDBOOL</keyword> 1092 <keyword>HEADER_STDC</keyword> 1093 <keyword>HEADER_SYS_WAIT</keyword> 1094 <keyword>HEADER_TIME</keyword> 1095 <keyword>HEADER_TIOCGWINSZ</keyword> 1096 <keyword>LANG_DEFINES_PROVIDED</keyword> 1097 <keyword>LANG_WERROR</keyword> 1098 <keyword>OUTPUT</keyword> 1099 <keyword>PACKAGE_BUGREPORT</keyword> 1100 <keyword>PACKAGE_NAME</keyword> 1101 <keyword>PACKAGE_STRING</keyword> 1102 <keyword>PACKAGE_TARNAME</keyword> 1103 <keyword>PACKAGE_URL</keyword> 1104 <keyword>PACKAGE_VERSION</keyword> 1105 <keyword>PATH_X</keyword> 1106 <keyword>PATH_XTRA</keyword> 1107 <keyword>PRESERVE_HELP_ORDER</keyword> 1108 <keyword>PROG_AWK</keyword> 1109 <keyword>PROG_CC(_C(89|99|_O))</keyword> 1110 <keyword>PROG_CC_STDC</keyword> 1111 <keyword>PROG_CPP(_WERROR)?</keyword> 1112 <keyword>PROG_CXX(CPP|_C_O)?</keyword> 1113 <keyword>PROG_EGREP</keyword> 1114 <keyword>PROG_F77_C_O</keyword> 1115 <keyword>PROG_FC_C_O</keyword> 1116 <keyword>PROG_FGREP</keyword> 1117 <keyword>PROG_GCC_TRADITIONAL</keyword> 1118 <keyword>PROG_GREP</keyword> 1119 <keyword>PROG_INSTALL</keyword> 1120 <keyword>PROG_LEX</keyword> 1121 <keyword>PROG_LN_S</keyword> 1122 <keyword>PROG_MAKE_SET</keyword> 1123 <keyword>PROG_MKDIR_P</keyword> 1124 <keyword>PROG_OBJ(CXX)?CPP</keyword> 1125 <keyword>PROG_RANLIB</keyword> 1126 <keyword>PROG_SED</keyword> 1127 <keyword>PROG_YACC</keyword> 1128 <keyword>REPLACE_FNMATCH</keyword> 1129 <keyword>REQUIRE_CPP</keyword> 1130 <keyword>STRUCT_DIRENT_D_(INO|TYPE)</keyword> 1131 <keyword>STRUCT_ST_BLOCKS</keyword> 1132 <keyword>STRUCT_TIMEZONE</keyword> 1133 <keyword>STRUCT_TM</keyword> 1134 <keyword>SYS_INTERPRETER</keyword> 1135 <keyword>SYS_LARGEFILE</keyword> 1136 <keyword>SYS_LONG_FILE_NAMES</keyword> 1137 <keyword>SYS_POSIX_TERMIOS</keyword> 1138 <keyword>TYPE_GETGROUPS</keyword> 1139 <keyword>TYPE_INT(16_T|32_T|64_T|8_T)</keyword> 1140 <keyword>TYPE_INTMAX_T</keyword> 1141 <keyword>TYPE_INTPTR_T</keyword> 1142 <keyword>TYPE_LONG_DOUBLE(_WIDER)?</keyword> 1143 <keyword>TYPE_LONG_LONG_INT</keyword> 1144 <keyword>TYPE_MBSTATE_T</keyword> 1145 <keyword>TYPE_MODE_T</keyword> 1146 <keyword>TYPE_OFF_T</keyword> 1147 <keyword>TYPE_PID_T</keyword> 1148 <keyword>TYPE_SIGNAL</keyword> 1149 <keyword>TYPE_SIZE_T</keyword> 1150 <keyword>TYPE_SSIZE_T</keyword> 1151 <keyword>TYPE_UID_T</keyword> 1152 <keyword>TYPE_UINT(16_T|32_T|64_T|8_T)</keyword> 1153 <keyword>TYPE_UINTMAX_T</keyword> 1154 <keyword>TYPE_UINTPTR_T</keyword> 1155 <keyword>TYPE_UNSIGNED_LONG_LONG_INT</keyword> 1156 <keyword>USE_SYSTEM_EXTENSIONS</keyword> 1157 </context> 1158 1159 <context id="ac-macros-noargs-2" style-ref="ac-macro"> 1160 <prefix>\b</prefix> 1161 <keyword>AH_HEADER</keyword> 1162 <keyword>AS_BOURNE_COMPATIBLE</keyword> 1163 <keyword>AS_INIT</keyword> 1164 <keyword>AS_LINENO_PREPARE</keyword> 1165 <keyword>AS_ME_PREPARE</keyword> 1166 <keyword>AS_MESSAGE_FD</keyword> 1167 <keyword>AS_MESSAGE_LOG_FD</keyword> 1168 <keyword>AS_ORIGINAL_STDIN_FD</keyword> 1169 <keyword>AS_SHELL_SANITIZE</keyword> 1170 <keyword>AT_CLEANUP</keyword> 1171 <keyword>AT_COLOR_TESTS</keyword> 1172 </context> 1173 1174 <context id="ac-macros-optargs" style-ref="ac-macro"> 1175 <prefix>\b</prefix> 1176 <keyword>AC_C_BIGENDIAN</keyword> 1177 <keyword>AC_ERLANG_(PATH|NEED)_ERLC?</keyword> 1178 <keyword>AC_F(77|C)_DUMMY_MAIN</keyword> 1179 <keyword>AC_FC_((FIXED|FREE)FORM|LINE_LENGTH)</keyword> 1180 <keyword>AC_INCLUDES_DEFAULT</keyword> 1181 <keyword>AC_LANG_POP</keyword> 1182 <keyword>AC_PROG_(CC|CXX|OBJC(XX)?|F(77|C))</keyword> 1183 <keyword>AS_EXIT</keyword> 1184 <keyword>AT_INIT</keyword> 1185 </context> 1186 1187 <!-- Deprecated macros are highlighted as errors. We don't bother 1188 highlighting their arguments properly, because they're deprecated anyway!--> 1189 1190 <context id="ac-macros-obsolete" style-ref="ac-macro-obsolete"> 1191 <prefix>\bAC_</prefix> 1192 <keyword>AIX</keyword> 1193 <keyword>ALLOCA</keyword> 1194 <keyword>ARG_ARRAY</keyword> 1195 <keyword>CANONICAL_SYSTEM</keyword> 1196 <keyword>C_CROSS</keyword> 1197 <keyword>CHAR_UNSIGNED</keyword> 1198 <keyword>CHECKING</keyword> 1199 <keyword>C_LONG_DOUBLE</keyword> 1200 <keyword>COMPILE_CHECK</keyword> 1201 <keyword>CONFIG_HEADER</keyword> 1202 <keyword>CONST</keyword> 1203 <keyword>CROSS_CHECK</keyword> 1204 <keyword>CYGWIN</keyword> 1205 <keyword>DECL_SYS_SIGLIST</keyword> 1206 <keyword>DECL_YYTEXT</keyword> 1207 <keyword>DIR_HEADER</keyword> 1208 <keyword>DISABLE_FAST_INSTALL</keyword> 1209 <keyword>DISABLE_SHARED</keyword> 1210 <keyword>DISABLE_STATIC</keyword> 1211 <keyword>DYNIX_SEQ</keyword> 1212 <keyword>ENABLE(_(SHARED|STATIC))?</keyword> 1213 <keyword>EMXOS2</keyword> 1214 <keyword>ERROR</keyword> 1215 <keyword>EXEEXT</keyword> 1216 <keyword>FIND_X</keyword> 1217 <keyword>FIND_XTRA</keyword> 1218 <keyword>FOREACH</keyword> 1219 <keyword>FUNC_CHECK</keyword> 1220 <keyword>FUNC_SETVBUF_REVERSED</keyword> 1221 <keyword>FUNC_WAIT3</keyword> 1222 <keyword>GCC_TRADITIONAL</keyword> 1223 <keyword>GETGROUPS_T</keyword> 1224 <keyword>GETLOADAVG</keyword> 1225 <keyword>GNU_SOURCE</keyword> 1226 <keyword>HAVE_FUNCS</keyword> 1227 <keyword>HAVE_HEADERS</keyword> 1228 <keyword>HAVE_LIBRARY</keyword> 1229 <keyword>HAVE_POUNDBANG</keyword> 1230 <keyword>HEADER_CHECK</keyword> 1231 <keyword>HEADER_EGREP</keyword> 1232 <keyword>HELP_STRING</keyword> 1233 <keyword>INLINE</keyword> 1234 <keyword>INT_16_BITS</keyword> 1235 <keyword>IRIX_SUN</keyword> 1236 <keyword>LANG_C</keyword> 1237 <keyword>LANG_CPLUSPLUS</keyword> 1238 <keyword>LANG_FORTRAN77</keyword> 1239 <keyword>LANG_RESTORE</keyword> 1240 <keyword>LANG_SAVE</keyword> 1241 <keyword>LIBTOOL_DLOPEN</keyword> 1242 <keyword>LIBTOOL_WIN32_DLL</keyword> 1243 <keyword>LINK_FILES</keyword> 1244 <keyword>LN_S</keyword> 1245 <keyword>LONG_64_BITS</keyword> 1246 <keyword>LONG_DOUBLE</keyword> 1247 <keyword>LONG_FILE_NAMES</keyword> 1248 <keyword>MAJOR_HEADER</keyword> 1249 <keyword>MEMORY_H</keyword> 1250 <keyword>MINGW32</keyword> 1251 <keyword>MINIX</keyword> 1252 <keyword>MINUS_C_MINUS_O</keyword> 1253 <keyword>MMAP</keyword> 1254 <keyword>MODE_T</keyword> 1255 <keyword>OBJEXT</keyword> 1256 <keyword>OBSOLETE</keyword> 1257 <keyword>OFF_T</keyword> 1258 <keyword>OUTPUT_COMMANDS</keyword> 1259 <keyword>PID_T</keyword> 1260 <keyword>PREFIX</keyword> 1261 <keyword>PROG_(INTL|LIB)TOOL</keyword> 1262 <keyword>PROGRAM_CHECK</keyword> 1263 <keyword>PROGRAM_EGREP</keyword> 1264 <keyword>PROGRAM_PATH</keyword> 1265 <keyword>PROGRAMS_CHECK</keyword> 1266 <keyword>PROGRAMS_PATH</keyword> 1267 <keyword>REMOTE_TAPE</keyword> 1268 <keyword>RESTARTABLE_SYSCALLS</keyword> 1269 <keyword>RETSIGTYPE</keyword> 1270 <keyword>RSH</keyword> 1271 <keyword>SCO_INTL</keyword> 1272 <keyword>SET_MAKE</keyword> 1273 <keyword>SETVBUF_REVERSED</keyword> 1274 <keyword>SIZEOF_TYPE</keyword> 1275 <keyword>SIZE_T</keyword> 1276 <keyword>STAT_MACROS_BROKEN</keyword> 1277 <keyword>ST_BLKSIZE</keyword> 1278 <keyword>ST_BLOCKS</keyword> 1279 <keyword>STDC_HEADERS</keyword> 1280 <keyword>STRCOLL</keyword> 1281 <keyword>ST_RDEV</keyword> 1282 <keyword>SYS_RESTARTABLE_SYSCALLS</keyword> 1283 <keyword>SYS_SIGLIST_DECLARED</keyword> 1284 <keyword>TEST_CPP</keyword> 1285 <keyword>TEST_PROGRAM</keyword> 1286 <keyword>TIME_WITH_SYS_TIME</keyword> 1287 <keyword>TIMEZONE</keyword> 1288 <keyword>TRY_COMPILE</keyword> 1289 <keyword>TRY_CPP</keyword> 1290 <keyword>TRY_LINK_FUNC</keyword> 1291 <keyword>TRY_LINK</keyword> 1292 <keyword>TRY_RUN</keyword> 1293 <keyword>UID_T</keyword> 1294 <keyword>UNISTD_H</keyword> 1295 <keyword>USG</keyword> 1296 <keyword>UTIME_NULL</keyword> 1297 <keyword>VALIDATE_CACHED_SYSTEM_TUPLE</keyword> 1298 <keyword>VERBOSE</keyword> 1299 <keyword>VFORK</keyword> 1300 <keyword>VPRINTF</keyword> 1301 <keyword>WAIT3</keyword> 1302 <keyword>WARN</keyword> 1303 <keyword>WITH</keyword> 1304 <keyword>WORDS_BIGENDIAN</keyword> 1305 <keyword>XENIX_DIR</keyword> 1306 <keyword>YYTEXT_POINTER</keyword> 1307 </context> 1308 1309 <context id="am-macros-noargs" style-ref="ac-macro"> 1310 <prefix>\bAM_</prefix> 1311 <keyword>ENABLE_MULTILIB</keyword> 1312 <keyword>GCONF_SOURCE_2</keyword> 1313 <keyword>GLIB_GNU_GETTEXT</keyword> 1314 <keyword>GNU_GETTEXT_INTL_SUBDIR</keyword> 1315 <keyword>PATH_LISPDIR</keyword> 1316 <keyword>PO_SUBDIRS</keyword> 1317 <keyword>PROG_AS</keyword> 1318 <keyword>PROG_CC_C_O</keyword> 1319 <keyword>PROG_GCJ</keyword> 1320 <keyword>PROG_LEX</keyword> 1321 <keyword>SILENT_RULES</keyword> 1322 <keyword>WITH_DMALLOC</keyword> 1323 <keyword>WITH_REGEX</keyword> 1324 </context> 1325 1326 <context id="am-macros-optargs" style-ref="ac-macro"> 1327 <prefix>\bAM_</prefix> 1328 <keyword>INIT_AUTOMAKE</keyword> 1329 <keyword>MAINTAINER_MODE</keyword> 1330 <keyword>PATH_PYTHON</keyword> 1331 <keyword>PROG_(UPC|VALAC)</keyword> 1332 </context> 1333 1334 <context id="am-macros-private" style-ref="ac-macro-obsolete"> 1335 <prefix>\bAM_</prefix> 1336 <keyword>DEP_TRACK</keyword> 1337 <keyword>MAKE_INCLUDE</keyword> 1338 <keyword>OUTPUT_DEPENDENCY_COMMANDS</keyword> 1339 <keyword>PROG_INSTALL_STRIP</keyword> 1340 <keyword>SANITY_CHECK</keyword> 1341 <keyword>SET_DEPDIR</keyword> 1342 </context> 1343 1344 <context id="am-macros-obsolete" style-ref="ac-macro-obsolete"> 1345 <prefix>\bAM_</prefix> 1346 <keyword>C_PROTOTYPES</keyword> 1347 <keyword>CONFIG_HEADER</keyword> 1348 <keyword>HEADER_TIOCGWINSZ_NEEDS_SYS_IOCTL</keyword> 1349 <keyword>PATH_CHECK</keyword> 1350 <keyword>PROG_(LIBTOOL|MKDIR_P)</keyword> 1351 <keyword>SYS_POSIX_TERMIOS</keyword> 1352 <keyword>(DIS|EN)ABLE_(STATIC|SHARED)</keyword> 1353 </context> 1354 1355 <context id="misc-macros-noargs" style-ref="ac-macro"> 1356 <prefix>\b</prefix> 1357 <keyword>__(file|o?line)__</keyword> 1358 <keyword>LT_CMD_MAX_LEN</keyword> 1359 <keyword>LT_FUNC_DLSYM_USCORE</keyword> 1360 <keyword>LT_LIB_(M|DLLOAD)</keyword> 1361 <keyword>LT_OUTPUT</keyword> 1362 <keyword>LT_PATH_(LD|NM)</keyword> 1363 <keyword>LT_SYS_DLOPEN_(SELF|DEPLIBS)</keyword> 1364 <keyword>LT_SYS_MODULE_(EXT|PATH)</keyword> 1365 <keyword>LT_SYS_(DLSEARCH_PATH|SYMBOL_USCORE)</keyword> 1366 </context> 1367 1368 <context id="misc-macros-optargs" style-ref="ac-macro"> 1369 <prefix>\b</prefix> 1370 <keyword>LT_INIT</keyword> 1371 <keyword>PKG_PROG_PKG_CONFIG</keyword> 1372 </context> 1373 </definitions> 1374</language> 1375