diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-06-27 16:36:22 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2010-06-27 16:36:22 +0000 |
commit | 6cada7207531441ac6e3c2092d5039902122137b (patch) | |
tree | 4860615c512cd8c77e9b4659d92be388389da8b5 /regs.h | |
parent | dc95dcaff23f7235529d0b5d9866a252ca3f8c06 (diff) | |
download | mandoc-6cada7207531441ac6e3c2092d5039902122137b.tar.gz mandoc-6cada7207531441ac6e3c2092d5039902122137b.tar.zst mandoc-6cada7207531441ac6e3c2092d5039902122137b.zip |
Allow registers to be unset. Implement and document the `.nr nS val'.
Diffstat (limited to 'regs.h')
-rw-r--r-- | regs.h | 19 |
1 files changed, 15 insertions, 4 deletions
@@ -1,4 +1,4 @@ -/* $Id: regs.h,v 1.2 2010/06/26 15:36:37 kristaps Exp $ */ +/* $Id: regs.h,v 1.3 2010/06/27 16:36:22 kristaps Exp $ */ /* * Copyright (c) 2010 Kristaps Dzonsons <kristaps@bsd.lv> * @@ -24,10 +24,21 @@ enum regs { REG__MAX }; -struct regset { +struct reg { + int set; /* whether set or not */ union { - int i; /* integer value */ - } regs[REG__MAX]; + unsigned u; /* unsigned integer */ + } v; +}; + +/* + * Registers are non-scoped state. These can be manipulated directly in + * libroff or indirectly in libman or libmdoc by macros. These should + * be implemented sparingly (we are NOT roffdoc!) and documented fully + * in roff.7. + */ +struct regset { + struct reg regs[REG__MAX]; }; __END_DECLS |