> +/* Loop while there's a prefix (or 1, if there isn't one).
> + * Requires the variable "data", pointing at an instance of
> + * struct window_copy_mode_data. */
> +#define REPEAT_NUMPREFIX_TIMES       \
> +     if (data->numprefix == 0) data->numprefix++; \
> +     while (data->numprefix--)

Much better version of this loop:

> #define REPEAT_NUMPREFIX_TIMES        \
>       for (data->numprefix = data->numprefix == 0 ? 1 : data->numprefix; \
>            data->numprefix != 0; data->numprefix--)

(a) doesn't confuse as a "one-line" body to an if or while
(b) data->numprefix never underflows. It should get reset after the
switch statement, but trouble brews if it doesn't.

-- 
Micah J. Cowan
http://micah.cowan.name/

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
tmux-users mailing list
tmux-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tmux-users

Reply via email to