Re: #define vs enums?

2016-07-18 Thread Ingo Schwarze
Hi,

r...@firemail.cc wrote on Mon, Jul 18, 2016 at 08:25:47PM +0300:

> does anyone know why #defines are used instead of enums here in
> src/usr.bin/mandoc/man.h?
> 
> #define MAN_br   0
> #define MAN_TH   1
> #define MAN_SH   2
[...]

Of course, that is well-known and even explained in the commit logs:

  http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/mandoc/man.h#rev1.51

If you have a better idea how to make these enums without having
to define all the macros for both mdoc(7) and man(7) in roff.h
and without having to give up the feature that the same member
roff_node.tok can be used for both macrosets, that would be welcome.

Yours,
  Ingo



#define vs enums?

2016-07-18 Thread raiz
Hi, does anyone know why #defines are used instead of enums here in 
src/usr.bin/mandoc/man.h?


#define MAN_br   0
#define MAN_TH   1
#define MAN_SH   2
#define MAN_SS   3
#define MAN_TP   4
#define MAN_LP   5
#define MAN_PP   6
#define MAN_P7
#define MAN_IP   8
#define MAN_HP   9
#define MAN_SM  10
#define MAN_SB  11
#define MAN_BI  12
#define MAN_IB  13
#define MAN_BR  14
#define MAN_RB  15
#define MAN_R   16
#define MAN_B   17
#define MAN_I   18
#define MAN_IR  19
#define MAN_RI  20
#define MAN_sp  21
#define MAN_nf  22
#define MAN_fi  23
#define MAN_RE  24
#define MAN_RS  25
#define MAN_DT  26
#define MAN_UC  27
#define MAN_PD  28
#define MAN_AT  29
#define MAN_in  30
#define MAN_ft  31
#define MAN_OP  32
#define MAN_EX  33
#define MAN_EE  34
#define MAN_UR  35
#define MAN_UE  36
#define MAN_ll  37
#define MAN_MAX 38