Make elog functions use read -r when splitting lines, so that backslashes
intended for display will not be eaten.

svn path=/main/trunk/; revision=13582
diff --git a/bin/isolated-functions.sh b/bin/isolated-functions.sh
index 0d046cb..8a7f899 100755
--- a/bin/isolated-functions.sh
+++ b/bin/isolated-functions.sh
@@ -182,7 +182,7 @@
 			return 1
 			;;
 	esac
-	echo -e "$@" | while read ; do
+	echo -e "$@" | while read -r ; do
 		echo "$messagetype $REPLY" >> \
 			"${T}/logging/${EBUILD_PHASE:-other}"
 	done
@@ -192,8 +192,8 @@
 eqawarn() {
 	elog_base QA "$*"
 	[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-	echo -e "$@" | while read ; do
-		vecho -e " $WARN*$NORMAL $REPLY" >&2
+	echo -e "$@" | while read -r ; do
+		vecho " $WARN*$NORMAL $REPLY" >&2
 	done
 	LAST_E_CMD="eqawarn"
 	return 0
@@ -202,8 +202,8 @@
 elog() {
 	elog_base LOG "$*"
 	[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-	echo -e "$@" | while read ; do
-		echo -e " $GOOD*$NORMAL $REPLY"
+	echo -e "$@" | while read -r ; do
+		echo " $GOOD*$NORMAL $REPLY"
 	done
 	LAST_E_CMD="elog"
 	return 0
@@ -230,8 +230,8 @@
 einfo() {
 	elog_base INFO "$*"
 	[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-	echo -e "$@" | while read ; do
-		echo -e " $GOOD*$NORMAL $REPLY"
+	echo -e "$@" | while read -r ; do
+		echo " $GOOD*$NORMAL $REPLY"
 	done
 	LAST_E_CMD="einfo"
 	return 0
@@ -248,8 +248,8 @@
 ewarn() {
 	elog_base WARN "$*"
 	[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-	echo -e "$@" | while read ; do
-		echo -e " $WARN*$NORMAL $RC_INDENTATION$REPLY" >&2
+	echo -e "$@" | while read -r ; do
+		echo " $WARN*$NORMAL $RC_INDENTATION$REPLY" >&2
 	done
 	LAST_E_CMD="ewarn"
 	return 0
@@ -258,8 +258,8 @@
 eerror() {
 	elog_base ERROR "$*"
 	[[ ${RC_ENDCOL} != "yes" && ${LAST_E_CMD} == "ebegin" ]] && echo
-	echo -e "$@" | while read ; do
-		echo -e " $BAD*$NORMAL $RC_INDENTATION$REPLY" >&2
+	echo -e "$@" | while read -r ; do
+		echo " $BAD*$NORMAL $RC_INDENTATION$REPLY" >&2
 	done
 	LAST_E_CMD="eerror"
 	return 0