Update of bug #66458 (group groff):
Status: In Progress => Fixed
Open/Closed: Open => Closed
Planned Release: None => 1.24.0
Summary: [PATCH] [pic] Add support for drawing arbitrary
polygons => [PATCH] [pic] add support for drawing arbitrary polygons
_______________________________________________________
Follow-up Comment #9:
commit f62d61bfecb9a7632552a001c2365a5f6f5cf0f4
Author: Duncan Losin <[email protected]>
Date: Tue Nov 19 03:57:55 2024 +0000
doc/pic.ms: Fix incorrect glyph usage.
commit d6d07248ff5157f527e4322156fcaa17512b560d
Author: Duncan Losin <[email protected]>
Date: Tue Nov 19 03:57:55 2024 +0000
src/preproc/pic/pic.ypp: Fix code style nit.
groff does not use spaces around the C++ `::` scope operator.
commit 77b5075cc2e35b8dc83c8dd3638ab9bc9418fcd8
Author: Duncan Losin <[email protected]>
Date: Tue Nov 19 03:57:55 2024 +0000
[pic]: Extend to allow drawing arbitrary polygons.
* src/preproc/pic/lex.cpp (get_token_after_dot): Add new checks for
`.v[er[tex]]` and `.p[oint]` syntax for polygons.
* src/preproc/pic/object.h (enum object_type):
* src/preproc/pic/pic.ypp (object_type, object_type_name):
* src/preproc/pic/lex.cpp (lookup_keyword): Add `polygon` keyword and
object type.
* src/preproc/pic/object.h (struct object): Declare new virtual
functions for determining polygon vertices and edge midpoints.
* src/preproc/pic/object.h (class path): Add new `vertex_number` and
`is_edge` member variables to determine what position should be
accessed.
* src/preproc/pic/pic.ypp (tokens): Add new tokens `POLYGON`, `DOT_P`,
and `DOT_V`.
* src/preproc/pic/pic.ypp (object_spec): Add new rule `POLYGON` to
create new object_spec of type `POLYGON_OBJECT`. Add new rule
`object_spec WITH vertex` to locate polygons.
* src/preproc/pic/pic.ypp (place): Add new rules `label vertex` and
`vertex OF label` to locate polygons.
* src/preproc/pic/pic.ypp (vertex):
* src/preproc/pic/object.h (struct vertex): Define new `vertex`
structure and grammar rule for describing polygon vertices and edge
midpoints.
* src/preproc/pic/object.cpp (object::vertex, object::point)
(object::set_vertex_number): Define default behavior for new
functions.
* src/preproc/pic/object.cpp (object_spec::object_spec): Set defaults
for `vertex_number` and `is_edge`.
* src/preproc/pic/object.cpp (class polygon_object)
(polygon_object::polygon_object)
(polygon_object::center)
(polygon_object::point)
(polygon_object::set_fill)
(polygon_object::set_vertex_number)
(polygon_object::vertex)
(polygon_object::print): Add new `polygon` class and implement member
functions.
* src/preproc/pic/object.cpp (object_spec::make_line): Modify line
segment array from n-1 to n segments if a polygon has been requested.
Create offsets for positioning new polygons.
* src/preproc/pic/object.cpp (object_spec::make_object): Add check for
the `POLYGON_OBJECT` object type.
* doc/pic.ms:
* src/preproc/pic/pic.1.man (Other changes): Document it.
Fixes <https://savannah.gnu.org/bugs/?66458>.
commit 32a5ec45e8eb4b4524ec04a2b5a709e73be5e1df
Author: G. Branden Robinson <[email protected]>
Date: Sun Jun 8 06:38:45 2025 -0500
[pic]: Fix `-Wunused-parameter` compiler warning.
* src/preproc/pic/object.cpp (object::point): Fix compiler warning when
building paranoiacally; don't give an actual parameter a name when
it's unused.
Fixes:
../src/preproc/pic/object.cpp: In member function ‘virtual void
object::set_vertex_number(int)’:
../src/preproc/pic/object.cpp:384:36: error: unused parameter ‘vnum’
[-Werror=unused-parameter]
384 | void object::set_vertex_number(int vnum)
| ~~~~^~~~
commit 7b60f4ac384d1877afa3210959e403189744816c
Author: Duncan Losin <[email protected]>
Date: Tue Nov 19 03:57:55 2024 +0000
doc/pic.ms: Adjust formatting.
commit 1081e14bf3ebd14002fd5906434a26e3e1884d6c
Author: G. Branden Robinson <[email protected]>
Date: Sun Jun 8 05:08:58 2025 -0500
pic(1): Fix macro usage nits.
Fixes:
an.tmac:src/preproc/pic/pic.1:1314: style: .BR expects at least 2
arguments, got 1
an.tmac:src/preproc/pic/pic.1:1346: style: .BR expects at least 2
arguments, got 1
commit fff49eee0c8dc5ca9b5d39976e56912300e44325
Author: G. Branden Robinson <[email protected]>
Date: Sun Jun 8 05:25:41 2025 -0500
pic(1): Fix content, style, and markup nits.
Content:
* When speaking of the formatter specifically, say "GNU troff", not
"groff".
Style:
* Set mathematical variables in italics.
* Set minus signs with `\-`, not a hyphen.
* Set keywords in bold and protect them from hyphenation.
* Protect command-line option literals from hyphenation.
* Favor imperative mood over declarative when offering guidance.
* Favor active voice over passive.
* Stop using a colon as an excuse to not end a sentence.
Markup:
* Favor `P` macro over `LP`.
* Break input lines after sentence endings and commas.
* Use one empty request between sentences.
* Use two empty requests where vertical space is expected.
commit 86d6f1fcc57769411cb66c3e4feabadd57083337
Author: G. Branden Robinson <[email protected]>
Date: Sun Jun 8 06:30:21 2025 -0500
[pic]: Add unit test for `polygon` command.
* src/preproc/pic/tests/polygon-command-works.sh: Do it.
* src/src/preproc/pic/pic.am (pic_TESTS): Run test.
(TESTS): Add test to suite.
(EXTRA_DIST): Ship test in distribution archive.
commit 8cfbe75b1279048874009e48095527375a1f01f4
Author: G. Branden Robinson <[email protected]>
Date: Sun Jun 8 06:30:56 2025 -0500
NEWS: Add item for pic(1)'s new `polygon` command.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?66458>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/
signature.asc
Description: PGP signature
