Previous: , Up: Requests   [Contents][Index]


5.5.1.1 Request and Macro Arguments

Arguments to requests and macros are processed much like the shell: The line is split into arguments according to spaces.11

An argument to a macro that is intended to contain spaces can either be enclosed in double quotes, or have the spaces escaped with backslashes. This is not true for requests.

Here are a few examples for a hypothetical macro uh:

.uh The Mouse Problem
.uh "The Mouse Problem"
.uh The\ Mouse\ Problem

The first line is the uh macro being called with 3 arguments, ‘The’, ‘Mouse’, and ‘Problem’. The latter two have the same effect of calling the uh macro with one argument, ‘The Mouse Problem’.12

A double quote that isn’t preceded by a space doesn’t start a macro argument. If not closing a string, it is printed literally.

For example,

.xxx a" "b c" "de"fg"

has the arguments ‘a"’, ‘b c, ‘de’, and ‘fg"’. Don’t rely on this obscure behaviour!

There are two possibilities to get a double quote reliably.

Double quotes in the ds request are handled differently. See Strings, for more details.


Previous: , Up: Requests   [Contents][Index]