diff --git a/mysql-test/include/show_msg.inc b/mysql-test/include/show_msg.inc
index 5a29541edcf0ea720c07b5715ea0552aea6dce52..659dce1468696086e0ac73f2f287a27cc034abd5 100755
--- a/mysql-test/include/show_msg.inc
+++ b/mysql-test/include/show_msg.inc
@@ -6,13 +6,19 @@
 # Usage:
 #    Add the following to any *.test file:
 #      :
-#    set @message="This is a message example";
+#    let $message= <value>;
 #    --source include/show_msg.inc
 #      :
 #
+# Attention:
+#   - Please do not write any spaces between $message and the "=", because the
+#     assignment will not work.
+#   - Be careful with single quotes. They must be escaped like "''" or "\'".
+#
+# "include/show_msg80.inc" contains a detailed description and examples.
 
 --disable_query_log
-SET @utf8_message = CONVERT(@message using utf8);
+eval SET @utf8_message = CONVERT('$message' using utf8);
 select @utf8_message as ""
 union
 select repeat(CONVERT('-' using utf8),char_length(@utf8_message));
diff --git a/mysql-test/include/show_msg80.inc b/mysql-test/include/show_msg80.inc
index d9a59c5517abf9f23264cf97da8db3d97cbd243a..acc2c4301a3d8a3b21c905cb05292e43f9fdfd43 100755
--- a/mysql-test/include/show_msg80.inc
+++ b/mysql-test/include/show_msg80.inc
@@ -1,22 +1,88 @@
 #### include/show_msg80.inc
 #
-# This file writes the value set in @message into the
-# a protocol file as part of executing a test sequence
-# with a dash line that is fixed on 80 characters.
-# This can be used in the case of long messages, 
-# multi line messages that exceed 80 or if an 80 char
-# line is desired for short messages.
+# This file writes the value set in @message into the a protocol file as part
+# of executing a test sequence with a dash line that is fixed on 80 characters.
+#
+# This can be used in the case of long messages, multi line messages that 
+# exceed 80 or if an 80 char line is desired for short messages.
 #
 # Usage:
 #    Add the following to any *.test file:
 #      :
-#    set @message="This is a message example";
+#    let $message= <value>;
 #    --source include/show_msg80.inc
 #      :
 #
+# Attention:
+#   - Please do not write any spaces between $message and the "=", because the
+#     assignment will not work.
+#   - Be careful with single quotes. They must be escaped like "''" or "\'".
+#
+#
+# Content of "$message" and protocol output depending on the assignement:
+# -----------------------------------------------------------------------
+#   <x>  first char after "$message=", 
+#        where the content is not (space or tab)
+#   <y*> first chat after beginning of the line,
+#        where the content is not (space or tab)
+#   <z>  last char before ";"
+#    |   beginning or end of line
+#           
+#   script: let $message=   <x><whatever0>|
+#           | <y1><whatever1>| 
+#           |................| 
+#           |  <yn><whatevern><z>;
+#   content: "<x><whatever0><new line><y1><whatever1><new line>
+#             ....<new line><yn><whatevern><z>"
+#   protocol output: |<x><whatever0>|
+#                    |<y1><whatever1>|
+#                    |.....|
+#                    |<yn><whatevern><z>|
+#                    |--- 80 dashes ---|
+#
+#
+# Examples of messages:
+# ---------------------
+#
+#   Several lines with indentation variant 1:
+#      script:   |let $message= . Testcase 3.1 :  Ensure that Pi is not an|
+#                |              .                 integer number|
+#                |              .                 Third line;
+#      protocol: |. Testcase 3.1 :  Ensure that Pi is not an|
+#                |.                 integer number|
+#                |.                 Third line|
+#                |------ 80 dashes ----|
+#      Please mention that
+#      - the auxiliary "." preserves the indentation.
+#      - it is easy to write the script lines to get a fine indentation
+#      - the "." is printed
+#
+#   Several lines with indentation variant 2:
+#      script:   |let $message= 
+#                |" Testcase 3.1 :  Ensure that Pi is not an|
+#                |                  integer number.|
+#                |                  Third line";
+#      protocol: |" Testcase 3.1 :  Ensure that Pi is not an|
+#                |                  integer number.|
+#                |                  Third line"|
+#                |------ 80 dashes ----|
+#
+#      Please mention that
+#      - the '"' preserves the indentation.
+#      - it is not so easy to write the script lines to get a fine indentation
+#      - the '"' is printed
+#
+#   Several lines with lost indentation (negative example)
+#      script:   |let $message=     Here is message line 1
+#                |    message line 2;
+#      protocol: |Here is message line 1|
+#                |message line 2|
+#                |------ 80 dashes ----|
+#      Please mention, that the leading spaces of the message lines disappeared.
+#
 
 --disable_query_log
-SET @utf8_message = CONVERT(@message using utf8);
+eval SET @utf8_message = CONVERT('$message' using utf8);
 select @utf8_message as ""
 union
 select repeat(CONVERT('-' using utf8),80);
diff --git a/mysql-test/r/mysqltest.result b/mysql-test/r/mysqltest.result
index 87e2fca970b22113ed60783ffff8853d5bae5546..63123b418ebeaf8b74b80e2cafb896106f430c3c 100644
--- a/mysql-test/r/mysqltest.result
+++ b/mysql-test/r/mysqltest.result
@@ -148,17 +148,14 @@ a'b	a"b
 select 'aaa\\','aa''a',"aa""a";
 aaa\	aa'a	aa"a
 aaa\	aa'a	aa"a
-SET @message = 'Here comes a message';
 
 Here comes a message
 --------------------
-SET @message = USER();
 
 root@localhost
 --------------
-SET @message = 'Here comes a very very long message that is longer then 80 characters
-on multiple lines';
 
-Here comes a very very long message that is longer then 80 characters
-on multiple lines
+"Here comes a very very long message that
+    - is longer then 80 characters    and
+    - consists of several lines"
 --------------------------------------------------------------------------------
diff --git a/mysql-test/t/mysqltest.test b/mysql-test/t/mysqltest.test
index 4e16e57058d9a19f851b17b7164f4dce17821bcb..43e82c4037bfd967ce4ad77cad995a12ee799e7e 100644
--- a/mysql-test/t/mysqltest.test
+++ b/mysql-test/t/mysqltest.test
@@ -299,19 +299,21 @@ select 'aaa\\','aa''a',"aa""a";
 
 
 #
-# Check of include/show_msg.inc
+# Check of include/show_msg.inc and include/show_msg80.inc
 #
 
 # The message contains in most cases a string with the default character set
-SET @message = 'Here comes a message';
+let $message= Here comes a message;
 --source include/show_msg.inc
 
 # The message could also contain a string with character set utf8
-SET @message = USER();
+let $message= `SELECT USER()`;
 --source include/show_msg.inc
 
 # The message contains more then 80 characters on multiple lines
-SET @message = 'Here comes a very very long message that is longer then 80 characters
-on multiple lines';
+let $message= 
+"Here comes a very very long message that
+    - is longer then 80 characters    and
+    - consists of several lines";
 --source include/show_msg80.inc