> +/* 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