annotate src/firstfile.c @ 28473:975fe3d8922e

* regex.c (PTR_TO_OFFSET) [!emacs]: Remove. (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros. (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when we are between str1 and str2. (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default. (PATFETCH): Use `TRANSLATE'. (PATFETCH_RAW): Fetch multibyte char if applicable. (PATUNFETCH): Remove. (regex_compile): Rely on PATFETCH to do most of the multibyte magic. When writing a char, write it directly into the pattern buffer rather than going needlessly through a temp char-array. (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the multibyte magic and remove the useless `#ifdef emacs'. (bcmp_translate): Don't compare as multibyte chars when in a unibyte buffer. * regex.h (struct re_pattern_buffer): Make field `multibyte' conditional on `emacs'. * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sun, 02 Apr 2000 23:56:46 +0000
parents 3f3165285c1b
children 695cf19ef79e d7ddb3e565de
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
19794
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
1 /* Mark beginning of data space to dump as pure, for GNU Emacs.
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
2 Copyright (C) 1997 Free Software Foundation, Inc.
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
3
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
4 This file is part of GNU Emacs.
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
5
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
6 GNU Emacs is free software; you can redistribute it and/or modify
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
7 it under the terms of the GNU General Public License as published by
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
8 the Free Software Foundation; either version 2, or (at your option)
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
9 any later version.
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
10
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
11 GNU Emacs is distributed in the hope that it will be useful,
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
14 GNU General Public License for more details.
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
15
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
16 You should have received a copy of the GNU General Public License
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
17 along with GNU Emacs; see the file COPYING. If not, write to
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
18 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
19 Boston, MA 02111-1307, USA. */
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
20
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
21
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
22 #include <config.h>
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
23
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
24 #ifdef WINDOWSNT
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
25 /* See comments in lastfile.c. */
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
26 char my_begdata[] = "Beginning of Emacs initialized data";
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
27 char my_begbss[1]; /* Do not initialize this variable. */
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
28 static char _my_begbss[1];
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
29 char * my_begbss_static = _my_begbss;
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
30
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
31 /* Add a dummy reference to ensure emacs.obj is linked in. */
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
32 extern int initialized;
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
33 static int * dummy = &initialized;
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
34 #endif
3f3165285c1b Initial revision
Richard M. Stallman <rms@gnu.org>
parents:
diff changeset
35