aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/regs.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2010-06-27 16:36:22 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2010-06-27 16:36:22 +0000
commit6cada7207531441ac6e3c2092d5039902122137b (patch)
tree4860615c512cd8c77e9b4659d92be388389da8b5 /regs.h
parentdc95dcaff23f7235529d0b5d9866a252ca3f8c06 (diff)
downloadmandoc-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.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/regs.h b/regs.h
index ce56f615..42124a48 100644
--- a/regs.h
+++ b/regs.h
@@ -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