gbranden pushed a commit to branch master
in repository groff.
commit be30529153cabd9afb00ae6fcb9ff53acce55ee0
Author: G. Branden Robinson <[email protected]>
AuthorDate: Sat Aug 17 19:55:09 2024 -0500
[troff]: Slightly refactor.
* src/roff/troff/input.cpp: Support construction of read-only registers
from integers.
(class readonly_text_register): Declare constructor taking `int`
argument.
(readonly_text_register::readonly_text_register): Add it.
(main): Use it to initialize `.T` register.
(init_registers): Use it to initialize `.A` register.
(init_input_requests): Use it to initialize `.g` register and `.R`
registers.
---
ChangeLog | 12 ++++++++++++
src/roff/troff/input.cpp | 14 ++++++++++----
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index bd129251f..1fdf90661 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2024-08-17 G. Branden Robinson <[email protected]>
+
+ * src/roff/troff/input.cpp: Support construction of read-only
+ registers from integers.
+ (class readonly_text_register): Declare constructor taking `int`
+ argument.
+ (readonly_text_register::readonly_text_register): Add it.
+ (main): Use it to initialize `.T` register.
+ (init_registers): Use it to initialize `.A` register.
+ (init_input_requests): Use it to initialize `.g` register and
+ `.R` registers.
+
2024-08-17 G. Branden Robinson <[email protected]>
* src/roff/troff/input.cpp: Slightly refactor.
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 99360f7cf..58c1a8dcc 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -7897,6 +7897,7 @@ class readonly_text_register : public reg {
const char *s;
public:
readonly_text_register(const char *);
+ readonly_text_register(int);
const char *get_string();
};
@@ -7904,6 +7905,11 @@ readonly_text_register::readonly_text_register(const
char *p) : s(p)
{
}
+readonly_text_register::readonly_text_register(int i)
+{
+ s = strdup(i_to_a(i));
+}
+
const char *readonly_text_register::get_string()
{
return s;
@@ -8593,7 +8599,7 @@ int main(int argc, char **argv)
init_column_requests();
#endif /* COLUMN */
init_node_requests();
- register_dictionary.define(".T", new readonly_text_register(tflag ? "1" :
"0"));
+ register_dictionary.define(".T", new readonly_text_register(tflag));
init_registers();
init_reg_requests();
init_hyphenation_pattern_requests();
@@ -8657,7 +8663,7 @@ static void init_registers()
set_register("yr", int(t->tm_year));
set_register("$$", getpid());
register_dictionary.define(".A",
- new readonly_text_register(want_abstract_output ? "1" : "0"));
+ new readonly_text_register(want_abstract_output));
}
/*
@@ -8810,9 +8816,9 @@ void init_input_requests()
register_dictionary.define(".c", new lineno_reg);
register_dictionary.define(".color", new
readonly_boolean_register(&want_color_output));
register_dictionary.define(".F", new filename_reg);
- register_dictionary.define(".g", new readonly_text_register("1"));
+ register_dictionary.define(".g", new readonly_text_register(1));
register_dictionary.define(".H", new readonly_register(&hresolution));
- register_dictionary.define(".R", new readonly_text_register("10000"));
+ register_dictionary.define(".R", new readonly_text_register(10000));
register_dictionary.define(".U", new
readonly_boolean_register(&want_unsafe_requests));
register_dictionary.define(".V", new readonly_register(&vresolution));
register_dictionary.define(".warn", new readonly_register(&warning_mask));
_______________________________________________
Groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit