(svn r14467) -Fix [FS#2350](r14443): use '~' instead of '#' as sed separator, it could be understood in a wrong way by shell
authorsmatz
Tue, 14 Oct 2008 19:47:28 +0000
changeset 10239 cf55a4c21e7f
parent 10238 5076964d81a1
child 10240 c2d9e204664b
(svn r14467) -Fix [FS#2350](r14443): use '~' instead of '#' as sed separator, it could be understood in a wrong way by shell
Makefile.in
Makefile.msvc
Makefile.src.in
config.lib
configure
findversion.sh
projects/generate
--- a/Makefile.in	Tue Oct 14 19:27:08 2008 +0000
+++ b/Makefile.in	Tue Oct 14 19:47:28 2008 +0000
@@ -91,7 +91,7 @@
 	@echo " Going to reconfigure with last known settings..."
 	@echo "----------------"
 # Make sure we don't lock config.cache
-	@$(shell cat config.cache | sed 's#\\ #\\\\ #g') || exit 1
+	@$(shell cat config.cache | sed 's~\\ ~\\\\ ~g') || exit 1
 	@echo "----------------"
 	@echo "Reconfig done. Please re-execute make."
 	@echo "----------------"
--- a/Makefile.msvc	Tue Oct 14 19:27:08 2008 +0000
+++ b/Makefile.msvc	Tue Oct 14 19:47:28 2008 +0000
@@ -20,7 +20,7 @@
 BUNDLE_DIR = "$(ROOT_DIR)/bundle"
 BUNDLES_DIR = "$(ROOT_DIR)/bundles"
 TTD = "openttd.exe"
-TARGET := $(shell echo $(PLATFORM) | sed "s/win64/x64/;s/win32/Win32/")
+TARGET := $(shell echo $(PLATFORM) | sed "s~win64~x64~;s~win32~Win32~")
 
 all:
 	$(Q)cp objs/$(TARGET)/Release/$(TTD) $(BIN_DIR)/$(TTD)
--- a/Makefile.src.in	Tue Oct 14 19:27:08 2008 +0000
+++ b/Makefile.src.in	Tue Oct 14 19:47:28 2008 +0000
@@ -55,7 +55,7 @@
 # For more information, please check:
 #  http://maillist.openttd.org/pipermail/devs/2007-April/000284.html
 #  http://maillist.openttd.org/pipermail/devs/2007-February/000248.html
-GCC295_FIX=sed -r 's/^(\t*)(.*)( const )([A-Za-z0-9_ ]+(\[.*\]){2,})(( = \{)|(;))(.*)$$/\1\2 \4\6\8\9/g'
+GCC295_FIX=sed -r 's~^(\t*)(.*)( const )([A-Za-z0-9_ ]+(\[.*\]){2,})(( = \{)|(;))(.*)$$~\1\2 \4\6\8\9~g'
 # This 'sed' removes the 3rd '4' in the # lines of the -E output of
 #  gcc 2.95.3 and lower, as it should indicate that it is a C-linkage, but the
 #  compiler can't handle that information (just don't ask). So we remove it
@@ -63,7 +63,7 @@
 # Furthermore gcc 2.95 has some trouble with protected and private when
 #  accessing the protected/private stuff of the enclosing class (or the
 #  super class of the enclosing class).
-GCC295_FIX_2=sed -e 's|\(^\# [0-9][0-9]* "[^"]*"[ 0-9]*\) 4$$|\1|g;s|private:|public:|g;s|protected:|public:|g'
+GCC295_FIX_2=sed -e 's~\(^\# [0-9][0-9]* "[^"]*"[ 0-9]*\) 4$$~\1~g;s~private:~public:~g;s~protected:~public:~g'
 
 # Check if we want to show what we are doing
 ifdef VERBOSE
@@ -96,7 +96,7 @@
 ifdef REVISION
 # Use specified revision (which should be of the form "r000").
 REV := $(REVISION)
-REV_NR := $(shell echo $(REVISION) | sed "s#[^0-9]##g")
+REV_NR := $(shell echo $(REVISION) | sed "s~[^0-9]~~g")
 else
 # Use autodetected revisions
 REV      := $(shell echo "$(VERSIONS)" | cut -f 1 -d'	')
@@ -141,15 +141,15 @@
 
 $(OBJS_C:%.o=%.d): %.d: $(SRC_DIR)/%.c $(FILE_DEP)
 	$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.c=%.c)'
-	$(Q)$(CC_HOST) $(CC_CFLAGS) $(CFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@
+	$(Q)$(CC_HOST) $(CC_CFLAGS) $(CFLAGS) -MM $< | sed 's~^$(@F:%.d=%.o):~$@ $(@:%.d=%.o):~' > $@
 
 $(OBJS_CPP:%.o=%.d): %.d: $(SRC_DIR)/%.cpp $(FILE_DEP)
 	$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.cpp=%.cpp)'
-	$(Q)$(CXX_HOST) $(CFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@
+	$(Q)$(CXX_HOST) $(CFLAGS) -MM $< | sed 's~^$(@F:%.d=%.o):~$@ $(@:%.d=%.o):~' > $@
 
 $(OBJS_MM:%.o=%.d): %.d: $(SRC_DIR)/%.mm $(FILE_DEP)
 	$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)'
-	$(Q)$(CC_HOST) $(CFLAGS) -MM $< | sed 's#^$(@F:%.d=%.o):#$@ $(@:%.d=%.o):#' > $@
+	$(Q)$(CC_HOST) $(CFLAGS) -MM $< | sed 's~^$(@F:%.d=%.o):~$@ $(@:%.d=%.o):~' > $@
 
 $(OBJS_RC:%.o=%.d): %.d: $(SRC_DIR)/%.rc $(FILE_DEP)
 	$(E) '$(STAGE) DEP $(<:$(SRC_DIR)/%.mm=%.mm)'
@@ -180,7 +180,7 @@
 
 # Convert x:/... paths to /x/... for mingw
 ifeq ($(OS), MINGW)
-	@cat Makefile.dep.tmp | sed 's#\([a-zA-Z]\):\/#\/\1\/#g' > Makefile.dep.tmp.mingw
+	@cat Makefile.dep.tmp | sed 's~\([a-zA-Z]\):\/~\/\1\/~g' > Makefile.dep.tmp.mingw
 	@cp Makefile.dep.tmp.mingw Makefile.dep.tmp
 	@rm -f Makefile.dep.tmp.mingw
 endif
@@ -209,7 +209,7 @@
 	{                                   \
 		print $$0                         \
 	}                                   \
-	' < Makefile.dep.tmp | sed 's#  *# #g;s# $$##' | $(SORT) > Makefile.dep
+	' < Makefile.dep.tmp | sed 's~  *~ ~g;s~ $$~~' | $(SORT) > Makefile.dep
 
 	$(Q)rm -f Makefile.dep.tmp Makefile.dep.tmp.bak
 
@@ -274,10 +274,10 @@
 # Revision files
 
 $(SRC_DIR)/rev.cpp: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/rev.cpp.in
-	$(Q)cat $(SRC_DIR)/rev.cpp.in      | sed "s#@@REVISION@@#$(REV_NR)#g;s#@@VERSION@@#$(REV)#g;s#@@MODIFIED@@#$(MODIFIED)#g;s#@@DATE@@#`date +%d.%m.%y`#g" > $(SRC_DIR)/rev.cpp
+	$(Q)cat $(SRC_DIR)/rev.cpp.in      | sed "s~@@REVISION@@~$(REV_NR)~g;s~@@VERSION@@~$(REV)~g;s~@@MODIFIED@@~$(MODIFIED)~g;s~@@DATE@@~`date +%d.%m.%y`~g" > $(SRC_DIR)/rev.cpp
 
 $(SRC_DIR)/ottdres.rc: $(CONFIG_CACHE_VERSION) $(SRC_DIR)/ottdres.rc.in
-	$(Q)cat $(SRC_DIR)/ottdres.rc.in | sed "s#@@REVISION@@#$(REV_NR)#g;s#@@VERSION@@#$(REV)#g;s#@@DATE@@#`date +%d.%m.%y`#g" > $(SRC_DIR)/ottdres.rc
+	$(Q)cat $(SRC_DIR)/ottdres.rc.in | sed "s~@@REVISION@@~$(REV_NR)~g;s~@@VERSION@@~$(REV)~g;s~@@DATE@@~`date +%d.%m.%y`~g" > $(SRC_DIR)/ottdres.rc
 
 FORCE:
 
--- a/config.lib	Tue Oct 14 19:27:08 2008 +0000
+++ b/config.lib	Tue Oct 14 19:47:28 2008 +0000
@@ -390,7 +390,7 @@
 	configure="$CONFIGURE_EXECUTABLE --ignore-extra-parameters"
 	for p in $save_params_array; do
 		eval "v=\"\$$p\""
-		p=`echo "$p" | sed 's#_#-#g;s#\n##g;s# #\\ #g'`
+		p=`echo "$p" | sed 's~_~-~g;s~\n~~g;s~ ~\\ ~g'`
 		# Only save those params that aren't empty
 		configure="$configure --$p=\"$v\""
 	done
@@ -846,7 +846,7 @@
 			doc_dir="$data_dir/docs"
 		fi
 	else
-		doc_dir="`echo $doc_dir | sed 's#\([^\]\)\\\\ #\1\\\\\\\\ #g;s#\([^\]\) #\1\\\\\\\\ #g'`"
+		doc_dir="`echo $doc_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
 	fi
 
 	if [ "$icon_theme_dir" = "1" ]; then
@@ -856,7 +856,7 @@
 			icon_theme_dir=""
 		fi
 	else
-		icon_theme_dir="`echo $icon_theme_dir | sed 's#\([^\]\)\\\\ #\1\\\\\\\\ #g;s#\([^\]\) #\1\\\\\\\\ #g'`"
+		icon_theme_dir="`echo $icon_theme_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
 	fi
 
 	if [ "$personal_dir" = "1" ]; then
@@ -868,7 +868,7 @@
 			personal_dir=".openttd"
 		fi
 	else
-		personal_dir="`echo $personal_dir | sed 's#\([^\]\)\\\\ #\1\\\\\\\\ #g;s#\([^\]\) #\1\\\\\\\\ #g'`"
+		personal_dir="`echo $personal_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
 	fi
 
 	if [ "$shared_dir" = "1" ]; then
@@ -879,7 +879,7 @@
 			shared_dir=""
 		fi
 	else
-		shared_dir="`echo $shared_dir | sed 's#\([^\]\)\\\\ #\1\\\\\\\\ #g;s#\([^\]\) #\1\\\\\\\\ #g'`"
+		shared_dir="`echo $shared_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
 	fi
 
 	if [ "$man_dir" = "1" ]; then
@@ -890,7 +890,7 @@
 			man_dir=""
 		fi
 	else
-		man_dir="`echo $man_dir | sed 's#\([^\]\)\\\\ #\1\\\\\\\\ #g;s#\([^\]\) #\1\\\\\\\\ #g'`"
+		man_dir="`echo $man_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
 	fi
 
 	if [ "$menu_dir" = "1" ]; then
@@ -901,7 +901,7 @@
 			menu_dir=""
 		fi
 	else
-		menu_dir="`echo $menu_dir | sed 's#\([^\]\)\\\\ #\1\\\\\\\\ #g;s#\([^\]\) #\1\\\\\\\\ #g'`"
+		menu_dir="`echo $menu_dir | sed 's~\([^\]\)\\\\ ~\1\\\\\\\\ ~g;s~\([^\]\) ~\1\\\\\\\\ ~g'`"
 	fi
 
 	# "set_universal_binary_flags" needs to be before "detect_iconv"
@@ -1192,7 +1192,7 @@
 			if [ "$os" = "OSX" ]; then
 				# fontconfig_config goes via pkg-config on all systems, which doesn't know --prefix
 				# Also, despite the reason we link to the .a file ourself (because we can't use -static), we do need to ask pkg-config about possible other deps
-				LIBS="$LIBS `$fontconfig_config --variable=prefix`/lib/libfontconfig.a `$fontconfig_config --libs --static | sed s#-lfontconfig##`"
+				LIBS="$LIBS `$fontconfig_config --variable=prefix`/lib/libfontconfig.a `$fontconfig_config --libs --static | sed s~-lfontconfig~~`"
 			else
 				LIBS="$LIBS `$fontconfig_config --libs --static | tr '\n\r' '  '`"
 			fi
@@ -1318,7 +1318,7 @@
 	# Btw, this almost always comes from outside the configure, so it is
 	#  not something we can control.
 	if [ "$with_makedepend" != "0" ]; then
-		cflags_makedep="` echo "$CFLAGS" | sed 's# /# -#g'`"
+		cflags_makedep="` echo "$CFLAGS" | sed 's~ /~ -~g'`"
 	else
 		makedepend=""
 	fi
@@ -2279,64 +2279,64 @@
 	#  use multiple OBJS_DIR, because all in-between
 	#  binaries are stored in there, and nowhere else.
 	SRC_REPLACE="
-		s#!!CC_HOST!!#$cc_host#g;
-		s#!!CXX_HOST!!#$cxx_host#g;
-		s#!!CC_BUILD!!#$cc_build#g;
-		s#!!CXX_BUILD!!#$cxx_build#g;
-		s#!!WINDRES!!#$windres#g;
-		s#!!STRIP!!#$strip $strip_arg#g;
-		s#!!LIPO!!#$lipo#g;
-		s#!!CC_CFLAGS!!#$CC_CFLAGS#g;
-		s#!!CFLAGS!!#$T_CFLAGS#g;
-		s#!!CFLAGS_BUILD!!#$CFLAGS_BUILD#g;
-		s#!!STRGEN_FLAGS!!#$strgen_flags#g;
-		s#!!LIBS!!#$LIBS#g;
-		s#!!LDFLAGS!!#$T_LDFLAGS#g;
-		s#!!BIN_DIR!!#$BIN_DIR#g;
-		s#!!ROOT_DIR!!#$ROOT_DIR#g;
-		s#!!MEDIA_DIR!!#$MEDIA_DIR#g;
-		s#!!SOURCE_LIST!!#$SOURCE_LIST#g;
-		s#!!SRC_OBJS_DIR!!#$SRC_OBJS_DIR#g;
-		s#!!LANG_OBJS_DIR!!#$LANG_OBJS_DIR#g;
-		s#!!SRC_DIR!!#$SRC_DIR#g;
-		s#!!OSXAPP!!#$OSXAPP#g;
-		s#!!LANG_DIR!!#$LANG_DIR#g;
-		s#!!TTD!!#$TTD#g;
-		s#!!BINARY_DIR!!#$prefix_dir/$binary_dir#g;
-		s#!!DATA_DIR!!#$prefix_dir/$data_dir#g;
-		s#!!DOC_DIR!!#$prefix_dir/$doc_dir#g;
-		s#!!MAN_DIR!!#$prefix_dir/$man_dir#g;
-		s#!!ICON_DIR!!#$prefix_dir/$icon_dir#g;
-		s#!!ICON_THEME_DIR!!#$prefix_dir/$icon_theme_dir#g;
-		s#!!PERSONAL_DIR!!#$personal_dir#g;
-		s#!!SHARED_DIR!!#$shared_dir#g;
-		s#!!INSTALL_DIR!!#$install_dir#g;
-		s#!!STRGEN!!#$STRGEN#g;
-		s#!!ENDIAN_CHECK!!#$ENDIAN_CHECK#g;
-		s#!!ENDIAN_FORCE!!#$endian#g;
-		s#!!STAGE!!#$STAGE#g;
-		s#!!MAKEDEPEND!!#$makedepend#g;
-		s#!!CFLAGS_MAKEDEP!!#$cflags_makedep#g;
-		s#!!SORT!!#$sort#g;
-		s#!!CONFIG_CACHE_COMPILER!!#config.cache.compiler#g;
-		s#!!CONFIG_CACHE_LINKER!!#config.cache.linker#g;
-		s#!!CONFIG_CACHE_ENDIAN!!#config.cache.endian#g;
-		s#!!CONFIG_CACHE_SOURCE!!#config.cache.source#g;
-		s#!!CONFIG_CACHE_VERSION!!#config.cache.version#g;
-		s#!!CONFIG_CACHE_SOURCE_LIST!!#config.cache.source.list#g;
-		s#!!CONFIG_CACHE_PWD!!#config.cache.pwd#g;
-		s#!!LANG_SUPPRESS!!#$lang_suppress#g;
-		s#!!OBJS_C!!#$OBJS_C#g;
-		s#!!OBJS_CPP!!#$OBJS_CPP#g;
-		s#!!OBJS_MM!!#$OBJS_MM#g;
-		s#!!OBJS_RC!!#$OBJS_RC#g;
-		s#!!SRCS!!#$SRCS#g;
-		s#!!OS!!#$os#g;
-		s#!!CONFIGURE_FILES!!#$CONFIGURE_FILES#g;
-		s#!!REVISION!!#$revision#g;
-		s#!!AWK!!#$awk#g;
-		s#!!GCC295!!#$gcc295#g;
-		s#!!DISTCC!!#$distcc#g;
+		s~!!CC_HOST!!~$cc_host~g;
+		s~!!CXX_HOST!!~$cxx_host~g;
+		s~!!CC_BUILD!!~$cc_build~g;
+		s~!!CXX_BUILD!!~$cxx_build~g;
+		s~!!WINDRES!!~$windres~g;
+		s~!!STRIP!!~$strip $strip_arg~g;
+		s~!!LIPO!!~$lipo~g;
+		s~!!CC_CFLAGS!!~$CC_CFLAGS~g;
+		s~!!CFLAGS!!~$T_CFLAGS~g;
+		s~!!CFLAGS_BUILD!!~$CFLAGS_BUILD~g;
+		s~!!STRGEN_FLAGS!!~$strgen_flags~g;
+		s~!!LIBS!!~$LIBS~g;
+		s~!!LDFLAGS!!~$T_LDFLAGS~g;
+		s~!!BIN_DIR!!~$BIN_DIR~g;
+		s~!!ROOT_DIR!!~$ROOT_DIR~g;
+		s~!!MEDIA_DIR!!~$MEDIA_DIR~g;
+		s~!!SOURCE_LIST!!~$SOURCE_LIST~g;
+		s~!!SRC_OBJS_DIR!!~$SRC_OBJS_DIR~g;
+		s~!!LANG_OBJS_DIR!!~$LANG_OBJS_DIR~g;
+		s~!!SRC_DIR!!~$SRC_DIR~g;
+		s~!!OSXAPP!!~$OSXAPP~g;
+		s~!!LANG_DIR!!~$LANG_DIR~g;
+		s~!!TTD!!~$TTD~g;
+		s~!!BINARY_DIR!!~$prefix_dir/$binary_dir~g;
+		s~!!DATA_DIR!!~$prefix_dir/$data_dir~g;
+		s~!!DOC_DIR!!~$prefix_dir/$doc_dir~g;
+		s~!!MAN_DIR!!~$prefix_dir/$man_dir~g;
+		s~!!ICON_DIR!!~$prefix_dir/$icon_dir~g;
+		s~!!ICON_THEME_DIR!!~$prefix_dir/$icon_theme_dir~g;
+		s~!!PERSONAL_DIR!!~$personal_dir~g;
+		s~!!SHARED_DIR!!~$shared_dir~g;
+		s~!!INSTALL_DIR!!~$install_dir~g;
+		s~!!STRGEN!!~$STRGEN~g;
+		s~!!ENDIAN_CHECK!!~$ENDIAN_CHECK~g;
+		s~!!ENDIAN_FORCE!!~$endian~g;
+		s~!!STAGE!!~$STAGE~g;
+		s~!!MAKEDEPEND!!~$makedepend~g;
+		s~!!CFLAGS_MAKEDEP!!~$cflags_makedep~g;
+		s~!!SORT!!~$sort~g;
+		s~!!CONFIG_CACHE_COMPILER!!~config.cache.compiler~g;
+		s~!!CONFIG_CACHE_LINKER!!~config.cache.linker~g;
+		s~!!CONFIG_CACHE_ENDIAN!!~config.cache.endian~g;
+		s~!!CONFIG_CACHE_SOURCE!!~config.cache.source~g;
+		s~!!CONFIG_CACHE_VERSION!!~config.cache.version~g;
+		s~!!CONFIG_CACHE_SOURCE_LIST!!~config.cache.source.list~g;
+		s~!!CONFIG_CACHE_PWD!!~config.cache.pwd~g;
+		s~!!LANG_SUPPRESS!!~$lang_suppress~g;
+		s~!!OBJS_C!!~$OBJS_C~g;
+		s~!!OBJS_CPP!!~$OBJS_CPP~g;
+		s~!!OBJS_MM!!~$OBJS_MM~g;
+		s~!!OBJS_RC!!~$OBJS_RC~g;
+		s~!!SRCS!!~$SRCS~g;
+		s~!!OS!!~$os~g;
+		s~!!CONFIGURE_FILES!!~$CONFIGURE_FILES~g;
+		s~!!REVISION!!~$revision~g;
+		s~!!AWK!!~$awk~g;
+		s~!!GCC295!!~$gcc295~g;
+		s~!!DISTCC!!~$distcc~g;
 	"
 
 	if [ "$icon_theme_dir" != "" ]; then
@@ -2372,8 +2372,8 @@
 
 generate_menu_item() {
 	MENU_REPLACE="
-		s#!!TTD!!#$TTD#g;
-		s#!!MENU_GROUP!!#$menu_group#g
+		s~!!TTD!!~$TTD~g;
+		s~!!MENU_GROUP!!~$menu_group~g
 	"
 	echo "Generating menu item..."
 	mkdir -p media
--- a/configure	Tue Oct 14 19:27:08 2008 +0000
+++ b/configure	Tue Oct 14 19:47:28 2008 +0000
@@ -37,7 +37,7 @@
 		exit 1
 	fi
 	# Make sure we don't lock config.cache
-	cat config.cache | sed 's#\\ #\\\\ #g' > cache.tmp
+	cat config.cache | sed 's~\\ ~\\\\ ~g' > cache.tmp
 	sh cache.tmp
 	rm -f cache.tmp
 	exit $?
@@ -59,7 +59,7 @@
 ENDIAN_CHECK="endian_check$EXE"
 
 if [ -z "$sort" ]; then
-	PIPE_SORT="sed s/a/a/"
+	PIPE_SORT="sed s~a~a~"
 else
 	PIPE_SORT="$sort"
 fi
@@ -123,7 +123,7 @@
 
 # In makefiles, we always use -u for sort
 if [ -z "$sort" ]; then
-	sort="sed s/a/a/"
+	sort="sed s~a~a~"
 else
 	sort="$sort -u"
 fi
--- a/findversion.sh	Tue Oct 14 19:27:08 2008 +0000
+++ b/findversion.sh	Tue Oct 14 19:47:28 2008 +0000
@@ -84,8 +84,8 @@
 	fi
 	HASH=`LC_ALL=C git rev-parse --verify HEAD 2>/dev/null | cut -c1-8`
 	REV="g$HASH"
-	BRANCH=`git branch|grep '[*]' | sed 's#\* ##;s#^master$##'`
-	REV_NR=`LC_ALL=C git log --pretty=format:%s "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s#.*(svn r\([0-9]*\)).*#\1#"`
+	BRANCH=`git branch|grep '[*]' | sed 's~\* ~~;s~^master$~~'`
+	REV_NR=`LC_ALL=C git log --pretty=format:%s "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s~.*(svn r\([0-9]*\)).*~\1~"`
 elif [ -d "$ROOT_DIR/.hg" ]; then
 	# We are a hg checkout
 	if [ -n "`hg status \"$SRC_DIR\" | grep -v '^?'`" ]; then
@@ -93,8 +93,8 @@
 	fi
 	HASH=`LC_ALL=C hg parents 2>/dev/null | head -n 1 | cut -d: -f3 | cut -c1-8`
 	REV="h$HASH"
-	BRANCH=`hg branch | sed 's#^default$##'`
-	REV_NR=`LC_ALL=C hg log -r $HASH:0 -k "svn" -l 1 --template "{desc}\n" "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s#.*(svn r\([0-9]*\)).*#\1#"`
+	BRANCH=`hg branch | sed 's~^default$~~'`
+	REV_NR=`LC_ALL=C hg log -r $HASH:0 -k "svn" -l 1 --template "{desc}\n" "$SRC_DIR" | grep "^(svn r[0-9]*)" | head -n 1 | sed "s~.*(svn r\([0-9]*\)).*~\1~"`
 else
 	# We don't know
 	MODIFIED="1"
--- a/projects/generate	Tue Oct 14 19:27:08 2008 +0000
+++ b/projects/generate	Tue Oct 14 19:47:28 2008 +0000
@@ -56,7 +56,7 @@
 }
 
 grep '\.h' "$ROOT_DIR/source.list" | grep -v '../objs/langs/table/strings.h' | sort > tmp.headers.source.list
-find "$ROOT_DIR/src" \( -iname "*.h" -or -iname "*.hpp" \) -and -not -ipath "*/.svn/*" | sed "s@$ROOT_DIR/src/@@" | sort > tmp.headers.src
+find "$ROOT_DIR/src" \( -iname "*.h" -or -iname "*.hpp" \) -and -not -ipath "*/.svn/*" | sed "s~$ROOT_DIR/src/~~" | sort > tmp.headers.src
 if [ -n "`diff tmp.headers.source.list tmp.headers.src`" ]; then
 	echo "The following headers are missing in source.list and not in /src/ or vice versa."
 	diff tmp.headers.source.list tmp.headers.src | grep '[<>]' | sort
@@ -138,7 +138,7 @@
 	RES=""
 	for i in `ls $1`
 	do
-		i=`basename $i | sed s/.txt$//g`
+		i=`basename $i | sed s~.txt$~~g`
 		RES="$RES
 		<File
 			RelativePath=\"..\\src\\lang\\"$i".txt\"