On Tue, 30 Dec 2003, Roger Leigh wrote: > Rafael Laboissiere <rafael@xxxxxxxxxx> writes: > > Thanks for your reply. I have already noticed that in configure the help > > strings are output using: > > > > cat <<\_ACEOF > > > > Optional Features: > > [...] > > _ACEOF > > > > The problem is the backslash before _ACEOF. This comes from the code in > > general.m4, apparently. Is there any strong reason why the here-document > > delimiter is backslashed? > > No idea, sorry. It isn't in the bash documentation for "here" > documents. Perhaps it's an obscure portability hack? It's in the manpage for (afaik) all implementations of 'sh'. For instance, in bash: The format of here-documents is: <<[-]word here-document delimiter No parameter expansion, command substitution, arithmetic expansion, or pathname expansion is performed on word. If any characters in word are quoted, the delimiter is the result of quote removal on word, and the lines in the here-document are not expanded. If word is unquoted, all lines of the here-document are subjected to parameter expansion, com- mand substitution, and arithmetic expansion. In the latter case, the character sequence \<newline> is ignored, and \ must be used to quote the characters \, $, and `. Under QUOTING, There are three quoting mechanisms: the escape character, single quotes, and double quotes. So you can put a backslash before (or iirc within) the word and quote it for the purpose of a here-document. -- Thomas E. Dickey http://invisible-island.net ftp://invisible-island.net