annotate mkinstalldirs @ 89061:9a9b54d06f3d

* regex.c (RE_TARGET_MULTIBYTE_P): New macro. (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte. If that is zero, convert an eight-bit char to multibyte. (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for non-emacs case. (PATFETCH): Convert an eight-bit char to multibyte. (HANDLE_UNIBYTE_RANGE): New macro. (regex_compile): Setup the compiled pattern for multibyte chars even if the given regex string is unibyte. Use PATFETCH_RAW instead of PATFETCH in many places. To handle `charset' specification of unibyte, call HANDLE_UNIBYTE_RANGE. Use bitmap only for ASCII chars. (analyse_first) <exactn>: Simplified because the compiled pattern is multibyte. <charset_not>: Setup fastmap from bitmap only for ASCII chars. <charset>: Use CHAR_LEADING_CODE to get leading codes. <categoryspec>: If multibyte, setup fastmap only for ASCII chars here. (re_compile_fastmap) [emacs]: Call analyse_first with the arg multibyte always 1. (re_search_2) In emacs, set the locale variable multibyte to 1, otherwise to 0. New local variable target_multibyte. Check it to decide the multibyteness of STR1 and STR2. If target_multibyte is zero, convert unibyte chars to multibyte before translating and checking fastmap. (TARGET_CHAR_AND_LENGTH): New macro. (re_match_2_internal): In emacs, set the locale variable multibyte to 1, otherwise to 0. New local variable target_multibyte. Check it to decide the multibyteness of STR1 and STR2. Use TARGET_CHAR_AND_LENGTH to fetch a character from D. <charset, charset_not>: If multibyte is nonzero, check fastmap only for ASCII chars. Call bcmp_translate with target_multibyte, not with multibyte. <begline>: Declare the local variable C as `unsigned'. (bcmp_translate): Change the last arg name to target_multibyte.
author Kenichi Handa <handa@m17n.org>
date Tue, 03 Sep 2002 04:09:40 +0000
parents 774df19dd335
children f0eb34e60705 746c40973d25
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25880
Dave Love <fx@gnu.org>
parents:
diff changeset
1 #! /bin/sh
Dave Love <fx@gnu.org>
parents:
diff changeset
2 # mkinstalldirs --- make directory hierarchy
Dave Love <fx@gnu.org>
parents:
diff changeset
3 # Author: Noah Friedman <friedman@prep.ai.mit.edu>
Dave Love <fx@gnu.org>
parents:
diff changeset
4 # Created: 1993-05-16
Dave Love <fx@gnu.org>
parents:
diff changeset
5 # Public domain
Dave Love <fx@gnu.org>
parents:
diff changeset
6
35853
774df19dd335 (errstatus): Chmod a+rx directories we create.
Gerd Moellmann <gerd@gnu.org>
parents: 25880
diff changeset
7 # $Id: mkinstalldirs,v 1.1 2001/02/02 13:04:53 gerd Exp $
25880
Dave Love <fx@gnu.org>
parents:
diff changeset
8
Dave Love <fx@gnu.org>
parents:
diff changeset
9 errstatus=0
Dave Love <fx@gnu.org>
parents:
diff changeset
10
Dave Love <fx@gnu.org>
parents:
diff changeset
11 for file
Dave Love <fx@gnu.org>
parents:
diff changeset
12 do
Dave Love <fx@gnu.org>
parents:
diff changeset
13 set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
Dave Love <fx@gnu.org>
parents:
diff changeset
14 shift
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 pathcomp=
Dave Love <fx@gnu.org>
parents:
diff changeset
17 for d
Dave Love <fx@gnu.org>
parents:
diff changeset
18 do
Dave Love <fx@gnu.org>
parents:
diff changeset
19 pathcomp="$pathcomp$d"
Dave Love <fx@gnu.org>
parents:
diff changeset
20 case "$pathcomp" in
Dave Love <fx@gnu.org>
parents:
diff changeset
21 -* ) pathcomp=./$pathcomp ;;
Dave Love <fx@gnu.org>
parents:
diff changeset
22 esac
Dave Love <fx@gnu.org>
parents:
diff changeset
23
Dave Love <fx@gnu.org>
parents:
diff changeset
24 if test ! -d "$pathcomp"; then
Dave Love <fx@gnu.org>
parents:
diff changeset
25 echo "mkdir $pathcomp" 1>&2
Dave Love <fx@gnu.org>
parents:
diff changeset
26
35853
774df19dd335 (errstatus): Chmod a+rx directories we create.
Gerd Moellmann <gerd@gnu.org>
parents: 25880
diff changeset
27 (mkdir "$pathcomp" && chmod a+rx "$pathcomp") || lasterr=$?
25880
Dave Love <fx@gnu.org>
parents:
diff changeset
28
Dave Love <fx@gnu.org>
parents:
diff changeset
29 if test ! -d "$pathcomp"; then
Dave Love <fx@gnu.org>
parents:
diff changeset
30 errstatus=$lasterr
Dave Love <fx@gnu.org>
parents:
diff changeset
31 fi
Dave Love <fx@gnu.org>
parents:
diff changeset
32 fi
Dave Love <fx@gnu.org>
parents:
diff changeset
33
Dave Love <fx@gnu.org>
parents:
diff changeset
34 pathcomp="$pathcomp/"
Dave Love <fx@gnu.org>
parents:
diff changeset
35 done
Dave Love <fx@gnu.org>
parents:
diff changeset
36 done
Dave Love <fx@gnu.org>
parents:
diff changeset
37
Dave Love <fx@gnu.org>
parents:
diff changeset
38 exit $errstatus
Dave Love <fx@gnu.org>
parents:
diff changeset
39
Dave Love <fx@gnu.org>
parents:
diff changeset
40 # mkinstalldirs ends here