Mercurial > hg > xemacs-beta
view netinstall/inilex.l @ 510:5bdbc721d46a
[xemacs-hg @ 2001-05-06 08:33:35 by ben]
implement printing the selection when it's selected.
force redisplay when set-charset-ccl-program called.
if bytecomp or byte-optimize need recompiling, then load
the .el version of them first, recompile them, and reload
the .elc versions to recompile everything else (so we won't
be waiting until the cows come home).
author | ben |
---|---|
date | Sun, 06 May 2001 08:33:41 +0000 |
parents | 3078fd1074e8 |
children |
line wrap: on
line source
%{ /* * Copyright (c) 2000, Red Hat, Inc. * * This program 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 2 of the License, or * (at your option) any later version. * * A copy of the GNU General Public License can be found at * http://www.gnu.org/ * * Written by DJ Delorie <dj@cygnus.com> * */ /* tokenize the setup.ini files. We parse a string which we've previously downloaded. The program must call ini_init() to specify that string. */ #include "win32.h" #include <string.h> #include <stdlib.h> #include "ini.h" #include "iniparse.h" #define YY_INPUT(buf,result,max_size) { result = ini_getchar(buf, max_size); } static int ini_getchar(char *buf, int max_size); static void ignore_line (); %} /*%option debug */ %option noyywrap %option yylineno %option never-interactive STR [a-zA-Z0-9_./-]+ %% \"[^"]*\" { yylval = strdup (yytext+1); yylval[strlen (yylval)-1] = 0; return STRING; } "setup-timestamp:" return SETUP_TIMESTAMP; "setup-version:" return SETUP_VERSION; "version:" return VERSION; "install:" return INSTALL; "type:" return TYPE; "source:" return SOURCE; "sdesc:" return SDESC; "ldesc:" return LDESC; ^{STR}":" ignore_line (); "[curr]" return T_CURR; "[test]" return T_TEST; "[exp]" return T_TEST; "[prev]" return T_PREV; "["{STR}"]" return T_UNKNOWN; {STR} { yylval = strdup (yytext); return STRING; } [ \t\r]+ /* do nothing */ "#".*\n /* ignore comments */ \n { return yytext[0]; } . { return yytext[0]; } %% static char *input_string = 0; static char *end_input_string; void ini_init(char *string) { input_string = string; end_input_string = input_string + strlen(input_string); } static int ini_getchar(char *buf, int max_size) { if (input_string) { int avail = end_input_string - input_string; if (avail == 0) { input_string = end_input_string = 0; return 0; } if (avail > max_size) avail = max_size; memcpy(buf, input_string, avail); input_string += avail; return avail; } else return 0; } static void ignore_line () { char c; while (c = input ()) { if (c == EOF) return; if (c == '\n') return; } }