<<< Date Index >>>     <<< Thread Index >>>

Re: changeset 5920 / manual.xml.head



Hi,

On 2009-06-19 23:43:24 +0200, Rocco Rutte wrote:
> * Vincent Lefevre wrote:
> >   Whenever a user-defined variable is used in an assignment for a built-in
> >   variable or vice versa, Mutt string representations to do the
> >   assignment. As a result, a user-defined variable can be assigned to any
> >   other variable under the restriction that its content is valid. See the
> >   following section for examples.
> 
> > I don't understand the first sentence.
> 
> When you assign a new value to a variable, you may use a my_ variables
> using $my_ syntax regardless of what type the target variable is. This
> is because mutt uses string representations of both and parses it for
> the to-be-assigned var.
> 
> For example pager_index_lines is a number, and when you do:
> 
>     set my_foo=$pager_index_lines
> 
> my_foo still is a string because pager_index_lines was converted to
> string before the assignment was made. And the same vice versa:
> 
>     set pager_index_lines=$my_foo
> 
> parses the string in $my_foo to an integer number.

Are these the only possibly assignments? Isn't it possible to do:

  set my_foo=$my_bar

or

  set status_format="-%r-Mutt: %f...%>-(%P)-$timeout--"

> Any suggestions for a better wording (besides a missing "uses")?

I would say that:
  * User-defined variables have type string.
  * The value part of a set command is a string and variables are
    expanded as strings.
  * In an assignment to a built-in variable, the value is parsed
    according to the type of the variable. If the string
    representation is invalid, an error message is displayed.

-- 
Vincent Lefèvre <vincent@xxxxxxxxxx> - Web: <http://www.vinc17.org/>
100% accessible validated (X)HTML - Blog: <http://www.vinc17.org/blog/>
Work: CR INRIA - computer arithmetic / Arenaire project (LIP, ENS-Lyon)