]> granicus.if.org Git - graphviz/log
graphviz
2 years agosparse SparseMatrix_distance_matrix: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:14:10 +0000 (18:14 -0700)]
sparse SparseMatrix_distance_matrix: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_set_entries_to_real_one: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:11:18 +0000 (18:11 -0700)]
sparse SparseMatrix_set_entries_to_real_one: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_get_submatrix: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:10:43 +0000 (18:10 -0700)]
sparse SparseMatrix_get_submatrix: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_get_augmented: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:09:49 +0000 (18:09 -0700)]
sparse SparseMatrix_get_augmented: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_decompose_to_supervari…: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:09:07 +0000 (18:09 -0700)]
sparse SparseMatrix_decompose_to_supervari…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse Dijkstra_internal: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 01:01:23 +0000 (18:01 -0700)]
sparse Dijkstra_internal: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_weakly_connected_compone…: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:58:56 +0000 (17:58 -0700)]
sparse SparseMatrix_weakly_connected_compone…: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_level_sets_internal: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:58:32 +0000 (17:58 -0700)]
sparse SparseMatrix_level_sets_internal: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_get_real_adjacency_matri…: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:57:50 +0000 (17:57 -0700)]
sparse SparseMatrix_get_real_adjacency_matri…: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_sum_repeat_entries: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:57:23 +0000 (17:57 -0700)]
sparse SparseMatrix_sum_repeat_entries: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_multiply3: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:56:27 +0000 (17:56 -0700)]
sparse SparseMatrix_multiply3: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_multiply: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:56:03 +0000 (17:56 -0700)]
sparse SparseMatrix_multiply: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_multiply_vector: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:55:32 +0000 (17:55 -0700)]
sparse SparseMatrix_multiply_vector: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_multiply_dense1: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:54:58 +0000 (17:54 -0700)]
sparse SparseMatrix_multiply_dense1: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_add: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:54:15 +0000 (17:54 -0700)]
sparse SparseMatrix_add: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_realloc: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:53:49 +0000 (17:53 -0700)]
sparse SparseMatrix_realloc: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_alloc: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:53:20 +0000 (17:53 -0700)]
sparse SparseMatrix_alloc: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_init: use cgraph wrappers for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:51:02 +0000 (17:51 -0700)]
sparse SparseMatrix_init: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_is_symmetric: use cgraph wrapper for allocation
Matthew Fernandez [Thu, 15 Sep 2022 00:50:09 +0000 (17:50 -0700)]
sparse SparseMatrix_is_symmetric: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosparse SparseMatrix_level_sets_internal: fix unchecked allocation failure
Matthew Fernandez [Thu, 15 Sep 2022 00:47:27 +0000 (17:47 -0700)]
sparse SparseMatrix_level_sets_internal: fix unchecked allocation failure

2 years agosparse SparseMatrix_multiply: remove redundant stores
Matthew Fernandez [Thu, 15 Sep 2022 00:40:46 +0000 (17:40 -0700)]
sparse SparseMatrix_multiply: remove redundant stores

2 years agoMerge branch 'addingLayout' into 'main'
Mark Hansen [Mon, 19 Sep 2022 10:05:01 +0000 (10:05 +0000)]
Merge branch 'addingLayout' into 'main'

Remove addingLayout.txt, it's moved to docs repo

See merge request graphviz/graphviz!2846

2 years agoRemove addingLayout.txt, it's moved to docs repo
Mark Hansen [Fri, 16 Sep 2022 11:01:32 +0000 (21:01 +1000)]
Remove addingLayout.txt, it's moved to docs repo

Converted to markdown for the website at
https://gitlab.com/graphviz/graphviz.gitlab.io/-/merge_requests/543

No need to maintain two versions of this doc.

2 years agoMerge branch 'smattr/5c9272a3-ec5f-4e9c-b602-d3ea249fca61' into 'main'
Matthew Fernandez [Wed, 14 Sep 2022 15:46:05 +0000 (15:46 +0000)]
Merge branch 'smattr/5c9272a3-ec5f-4e9c-b602-d3ea249fca61' into 'main'

gvc auto_output_filename: avoid 'strdup' when constructing file name

See merge request graphviz/graphviz!2842

2 years agogvc auto_output_filename: avoid 'strdup' when constructing file name
Matthew Fernandez [Wed, 14 Sep 2022 00:47:29 +0000 (17:47 -0700)]
gvc auto_output_filename: avoid 'strdup' when constructing file name

This is a reattempt of 4291cc769a3eeef8b1c171e5479194733a4da6cd. The first
attempt introduced a bug where the separating `.` was not accounted for and
accidentally truncated. It was reverted in
8d662734b6a34709d9475b120e7ce3de872339e2. The present commit takes much the same
approach but ensures to account for the separating `.`.

Quoting 4291cc769a3eeef8b1c171e5479194733a4da6cd:

  This block of code is scanning a string of `:`-separated entries and writing
  them into `buf` in reverse order `.`-separated. We can rewrite it to avoid
  dynamic allocation, thus avoiding certain failure cases and locking overhead.

  Unfortunately there seems to be no variant of `strrchr` that takes a length.
  So we need to write our own loop for locating the last `:` with a limit.

2 years agoMerge branch 'smattr/20c2522e-ce15-4384-b177-d4f70bcac753' into 'main'
Matthew Fernandez [Wed, 14 Sep 2022 14:45:36 +0000 (14:45 +0000)]
Merge branch 'smattr/20c2522e-ce15-4384-b177-d4f70bcac753' into 'main'

dotgen: progress on using cgraph wrappers for allocation

See merge request graphviz/graphviz!2843

2 years agoremove unnecessary 'ND_alg' casts
Matthew Fernandez [Wed, 14 Sep 2022 01:46:49 +0000 (18:46 -0700)]
remove unnecessary 'ND_alg' casts

2 years agodotgen cloneNode: squash -Wsign-conversion warning
Matthew Fernandez [Wed, 14 Sep 2022 01:40:02 +0000 (18:40 -0700)]
dotgen cloneNode: squash -Wsign-conversion warning

2 years agodotgen make_regular_edge: use cgraph wrappers for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:38:00 +0000 (18:38 -0700)]
dotgen make_regular_edge: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen make_flat_adj_edges: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:37:36 +0000 (18:37 -0700)]
dotgen make_flat_adj_edges: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen makeSimpleFlatLabels: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:36:42 +0000 (18:36 -0700)]
dotgen makeSimpleFlatLabels: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen cloneNode: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:36:17 +0000 (18:36 -0700)]
dotgen cloneNode: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen cloneGraph: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:35:49 +0000 (18:35 -0700)]
dotgen cloneGraph: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen _dot_splines: use cgraph wrappers for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:35:25 +0000 (18:35 -0700)]
dotgen _dot_splines: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen swap_spline: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:34:56 +0000 (18:34 -0700)]
dotgen swap_spline: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen swap_bezier: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:34:19 +0000 (18:34 -0700)]
dotgen swap_bezier: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen applyPacking2: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:24:25 +0000 (18:24 -0700)]
dotgen applyPacking2: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen computeLayerWidths: use cgraph wrappers for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:24:01 +0000 (18:24 -0700)]
dotgen computeLayerWidths: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen computeNodeGroups: use cgraph wrappers for allocation
Matthew Fernandez [Wed, 14 Sep 2022 01:23:36 +0000 (18:23 -0700)]
dotgen computeNodeGroups: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agodotgen: use a bit array for 'layerWidthInfo_t.removed'
Matthew Fernandez [Wed, 14 Sep 2022 01:17:29 +0000 (18:17 -0700)]
dotgen: use a bit array for 'layerWidthInfo_t.removed'

By using a `bitarray_t` instead of an array of integers for this array of
boolean values, we swap a 32-bits-per-boolean representation for a
1-bit-per-boolean representation. This reduces heap pressure, and in the case of
smaller arrays avoids heap allocation altogether.

2 years agodotgen build_skeleton: use cgraph wrapper for allocation
Matthew Fernandez [Wed, 14 Sep 2022 00:57:32 +0000 (17:57 -0700)]
dotgen build_skeleton: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agoMerge branch 'smattr/e539092c-75e1-403f-92f7-1015b707687a' into 'main'
Matthew Fernandez [Tue, 13 Sep 2022 15:45:05 +0000 (15:45 +0000)]
Merge branch 'smattr/e539092c-75e1-403f-92f7-1015b707687a' into 'main'

cgraph: rewrite scanner to use an agxbuf

See merge request graphviz/graphviz!2841

2 years agocgraph: remove duplicate include and adjust another
Matthew Fernandez [Tue, 13 Sep 2022 03:26:03 +0000 (20:26 -0700)]
cgraph: remove duplicate include and adjust another

lib/ is in the include path when building cgraph sources, so we can include
cgraph headers in a more uniform way, matching how other libraries include
cgraph headers.

2 years agocgraph: rewrite scanner to use an agxbuf
Matthew Fernandez [Tue, 13 Sep 2022 03:15:13 +0000 (20:15 -0700)]
cgraph: rewrite scanner to use an agxbuf

This is a reattempt of 2d7852a049b729fb0db71c5a8ef2366215ae2035. The original
change introduced a bug where unterminated strings (both `qstring` and
`hstring`) would not reset the buffer, causing an assertion failure the next
time a graph was parsed. This failed attempt was reverted in
16a04fe061bf6c9b3fe5fdc6250255a9b55cd337.

The approach taken here is essentially the same as
2d7852a049b729fb0db71c5a8ef2366215ae2035, except that it resets the buffer on
error conditions. This appears to be the only way to exit the `qstring` and
`hstring` states that was not covered by the original attempt.

Gitlab: related to #2272

2 years agoMerge branch 'fontfaq' into 'main'
Mark Hansen [Tue, 13 Sep 2022 11:07:48 +0000 (11:07 +0000)]
Merge branch 'fontfaq' into 'main'

Remove fontfaq.txt, it's migrated to docs repo

Closes graphviz.gitlab.io#160

See merge request graphviz/graphviz!2839

2 years agoRemove fontfaq.txt, it's migrated to docs repo
Mark Hansen [Mon, 12 Sep 2022 10:15:57 +0000 (20:15 +1000)]
Remove fontfaq.txt, it's migrated to docs repo

Merged into docs repo in
https://gitlab.com/graphviz/graphviz.gitlab.io/-/commit/ca47283b204a6f7b3ac4ec6dce708d04049abd3f

Fixes https://gitlab.com/graphviz/graphviz.gitlab.io/-/issues/160

2 years agoMerge branch 'hpgl' into 'main'
Mark Hansen [Tue, 13 Sep 2022 10:16:28 +0000 (10:16 +0000)]
Merge branch 'hpgl' into 'main'

Remove references to dead HP Graphics Language

Closes graphviz.gitlab.io#162

See merge request graphviz/graphviz!2840

2 years agoRemove references to dead HP Graphics Language
Mark Hansen [Mon, 12 Sep 2022 11:03:46 +0000 (21:03 +1000)]
Remove references to dead HP Graphics Language

Was deleted about a year ago.

Closes https://gitlab.com/graphviz/graphviz.gitlab.io/-/issues/162

2 years agoMerge branch 'smattr/628f2c12-1370-4634-a135-65e5b9dd19d0' into 'main'
Matthew Fernandez [Mon, 12 Sep 2022 16:39:12 +0000 (16:39 +0000)]
Merge branch 'smattr/628f2c12-1370-4634-a135-65e5b9dd19d0' into 'main'

CI deploy.py: remove '--force' command line option

See merge request graphviz/graphviz!2838

2 years agoCI deploy.py: remove '--force' command line option
Matthew Fernandez [Sun, 11 Sep 2022 16:32:39 +0000 (09:32 -0700)]
CI deploy.py: remove '--force' command line option

Since its introduction, this option has not found a use case. Lets remove it to
decrease the number of things to think about in this script.

2 years agoMerge branch 'add-writing-of-annotated-svg-files-to-test-case-for-issue-372' into...
Magnus Jacobsson [Mon, 12 Sep 2022 08:40:23 +0000 (08:40 +0000)]
Merge branch 'add-writing-of-annotated-svg-files-to-test-case-for-issue-372' into 'main'

Add writing of annotated SVG files to test case for issue #372

See merge request graphviz/graphviz!2828

2 years agotests: test_edge_node_overlap_utilities: add support for writing of annotated SVG...
Magnus Jacobsson [Wed, 24 Aug 2022 10:32:38 +0000 (12:32 +0200)]
tests: test_edge_node_overlap_utilities: add support for writing of annotated SVG files for manual inspection

2 years agotests: SVGAnalyzer: add support for adding outline overlap bounding boxes to the...
Magnus Jacobsson [Sat, 27 Aug 2022 11:13:59 +0000 (13:13 +0200)]
tests: SVGAnalyzer: add support for adding outline overlap bounding boxes to the re-created SVG

This will be used in upcoming commits to highlight Graphviz component
overlaps.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agotests: SVGAnalyzer: add support for adding outline bounding boxes to the re-created SVG
Magnus Jacobsson [Sat, 27 Aug 2022 11:13:59 +0000 (13:13 +0200)]
tests: SVGAnalyzer: add support for adding outline bounding boxes to the re-created SVG

This will be used in upcoming commits to highlight Graphviz component
boundaries.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agotests: SVGAnalyzer: add support for adding bounding boxes to the re-created SVG
Magnus Jacobsson [Sat, 27 Aug 2022 11:13:59 +0000 (13:13 +0200)]
tests: SVGAnalyzer: add support for adding bounding boxes to the re-created SVG

This will be used in upcoming commits to highlight Graphviz component
boundaries and overlaps.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agotests: SVGAnalyzer: add support for adding and re-creating a `rect` to SVGElement
Magnus Jacobsson [Wed, 24 Aug 2022 10:20:13 +0000 (12:20 +0200)]
tests: SVGAnalyzer: add support for adding and re-creating a `rect` to SVGElement

This will be used in upcoming commits to annotate the re-created SVG
with bounding boxes to highlight Graphviz component boundaries and
overlaps.

Towards https://gitlab.com/graphviz/graphviz/-/issues/372.

2 years agoci: add archiving of test artifacts in ctest test jobs
Magnus Jacobsson [Sat, 19 Mar 2022 15:28:48 +0000 (16:28 +0100)]
ci: add archiving of test artifacts in ctest test jobs

The test_edge_node_overlap_simple test case writes SVG files for
visual inspection in build/tests/test_artifacts/**.

2 years agotests: test_edge_node_overlap_utilities: add support for writing of SVG files for...
Magnus Jacobsson [Sun, 28 Aug 2022 15:36:31 +0000 (17:36 +0200)]
tests: test_edge_node_overlap_utilities: add support for writing of SVG files for manual inspection

2 years agoMerge branch 'smattr/fda5681e-cf2f-4912-9748-654ac7cdc841' into 'main'
Matthew Fernandez [Mon, 12 Sep 2022 00:49:18 +0000 (00:49 +0000)]
Merge branch 'smattr/fda5681e-cf2f-4912-9748-654ac7cdc841' into 'main'

sfdpgen: more progress towards using cgraph wrappers for allocation

See merge request graphviz/graphviz!2833

2 years agosfdpgen: remove “dan yi dian, wu ban” comments
Matthew Fernandez [Sat, 10 Sep 2022 03:46:51 +0000 (20:46 -0700)]
sfdpgen: remove “dan yi dian, wu ban” comments

According to Google Translate, this is Mandarin that means “but a little, dance
partner.” I do not see how this is helpful in understanding the surrounding
code.

2 years agosfdpgen multilevel_spring_electrical_embedd…: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:44:37 +0000 (20:44 -0700)]
sfdpgen multilevel_spring_electrical_embedd…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen shorting_edge_label_nodes: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:44:03 +0000 (20:44 -0700)]
sfdpgen shorting_edge_label_nodes: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen attach_edge_label_coordinates: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:43:28 +0000 (20:43 -0700)]
sfdpgen attach_edge_label_coordinates: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen power_law_graph: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:42:18 +0000 (20:42 -0700)]
sfdpgen power_law_graph: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen interpolate_coord: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:41:52 +0000 (20:41 -0700)]
sfdpgen interpolate_coord: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_electrical_spring_embedding: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:41:21 +0000 (20:41 -0700)]
sfdpgen spring_electrical_spring_embedding: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_maxent_embedding: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:40:52 +0000 (20:40 -0700)]
sfdpgen spring_maxent_embedding: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_electrical_embedding: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:40:21 +0000 (20:40 -0700)]
sfdpgen spring_electrical_embedding: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_electrical_embedding_slow: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:39:50 +0000 (20:39 -0700)]
sfdpgen spring_electrical_embedding_slow: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen spring_electrical_embedding_fast: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:39:15 +0000 (20:39 -0700)]
sfdpgen spring_electrical_embedding_fast: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen Multilevel_coarsen_internal: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:14:38 +0000 (20:14 -0700)]
sfdpgen Multilevel_coarsen_internal: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heavest…: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:13:55 +0000 (20:13 -0700)]
sfdpgen maximal_independent_edge_set_heavest…: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:13:09 +0000 (20:13 -0700)]
sfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:12:26 +0000 (20:12 -0700)]
sfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:11:32 +0000 (20:11 -0700)]
sfdpgen maximal_independent_edge_set_heaves…: use cgraph wrappers for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set_heavest…: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:10:33 +0000 (20:10 -0700)]
sfdpgen maximal_independent_edge_set_heavest…: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_edge_set: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:10:04 +0000 (20:10 -0700)]
sfdpgen maximal_independent_edge_set: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_vertex_set_RS: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:09:34 +0000 (20:09 -0700)]
sfdpgen maximal_independent_vertex_set_RS: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen maximal_independent_vertex_set: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:09:06 +0000 (20:09 -0700)]
sfdpgen maximal_independent_vertex_set: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen Multilevel_init: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:08:32 +0000 (20:08 -0700)]
sfdpgen Multilevel_init: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agosfdpgen Multilevel_control_new: use cgraph wrapper for allocation
Matthew Fernandez [Sat, 10 Sep 2022 03:07:41 +0000 (20:07 -0700)]
sfdpgen Multilevel_control_new: use cgraph wrapper for allocation

The lib/cgraph/alloc.h wrappers are similar to the older lib/common/memory.h
wrappers except (1) they are header-only and (2) they live in a directory
(cgraph) that is at the root of the dependency tree. The long term plan is to
replace all use of lib/common/memory.h with lib/cgraph/alloc.h.

2 years agoMerge branch 'smattr/74e6a095-4936-49a0-a657-b5daacf65738' into 'main'
Matthew Fernandez [Sun, 11 Sep 2022 19:47:08 +0000 (19:47 +0000)]
Merge branch 'smattr/74e6a095-4936-49a0-a657-b5daacf65738' into 'main'

dotgen cloneNode: fix memory leak

See merge request graphviz/graphviz!2835

2 years agodotgen cloneNode: fix memory leak
Matthew Fernandez [Sat, 10 Sep 2022 14:54:18 +0000 (07:54 -0700)]
dotgen cloneNode: fix memory leak

2 years agoMerge branch 'smattr/0adca6b4-4284-4816-8af8-c23a2fb0f3fe' into 'main'
Matthew Fernandez [Sun, 11 Sep 2022 18:19:08 +0000 (18:19 +0000)]
Merge branch 'smattr/0adca6b4-4284-4816-8af8-c23a2fb0f3fe' into 'main'

ortho: simplify fPQ.h header

See merge request graphviz/graphviz!2829

2 years agoortho: swap fPQ.h header guards for more modern #pragma once
Matthew Fernandez [Tue, 6 Sep 2022 00:56:18 +0000 (17:56 -0700)]
ortho: swap fPQ.h header guards for more modern #pragma once

2 years agoortho: remove unused 'E_INCR'
Matthew Fernandez [Tue, 6 Sep 2022 00:55:13 +0000 (17:55 -0700)]
ortho: remove unused 'E_INCR'

2 years agoortho: remove 'INLINEPQ' guarded code
Matthew Fernandez [Tue, 6 Sep 2022 00:53:12 +0000 (17:53 -0700)]
ortho: remove 'INLINEPQ' guarded code

Nothing in the build systems defines this. In a modern build environment, a
caller can achieve the effect this code path was providing by using the
compiler’s link-time optimization options.

2 years agoMerge branch 'smattr/ff32f790-9ae8-4e63-8510-8df75595f36b' into 'main'
Matthew Fernandez [Sun, 11 Sep 2022 16:26:46 +0000 (16:26 +0000)]
Merge branch 'smattr/ff32f790-9ae8-4e63-8510-8df75595f36b' into 'main'

Start 6.0.2 development

See merge request graphviz/graphviz!2837

2 years agoStart 6.0.2 development
Matthew Fernandez [Sun, 11 Sep 2022 15:28:16 +0000 (08:28 -0700)]
Start 6.0.2 development

2 years agoMerge branch 'smattr/4b95fccd-cff5-4374-9987-16f1680f4703' into 'main' 6.0.1
Matthew Fernandez [Sun, 11 Sep 2022 15:26:38 +0000 (15:26 +0000)]
Merge branch 'smattr/4b95fccd-cff5-4374-9987-16f1680f4703' into 'main'

Stable release 6.0.1

See merge request graphviz/graphviz!2836

2 years agoStable release 6.0.1
Matthew Fernandez [Sun, 11 Sep 2022 02:56:21 +0000 (19:56 -0700)]
Stable release 6.0.1

The 6.0.0 release was bungled, resulting in multiple commits¹ that claimed to be
Graphviz 6.0.0. ddd69c589483b31f589834e49ae902142cd4df38 of the website
repository² deleted the 6.0.0 download links and we have deleted the 6.0.0 tag
in this repository.

This commit updates the changelog to indicate there was no 6.0.0 release and the
next release will be 6.0.1. Hopefully things will go smoother this time around.

Unfortunately the situation with 6.0.0 was predictable. Discussion on #2202
covered a hole in the release procedure, which turned out to be the exact
problem that occurred.

¹ 9c4299601b40e5856df9a37cae78265ed2eb33b8 and
  091148d2910ac5f9b4d3b14578da2623f47e347b.
² https://gitlab.com/graphviz/graphviz.gitlab.io

2 years agoMerge branch 'smattr/b0431aff-e752-429d-aff5-55eb5cff3fec' into 'main'
Matthew Fernandez [Sat, 10 Sep 2022 22:30:14 +0000 (22:30 +0000)]
Merge branch 'smattr/b0431aff-e752-429d-aff5-55eb5cff3fec' into 'main'

Start 6.0.1 development

See merge request graphviz/graphviz!2834

2 years agoMerge branch 'smattr/153e62b1-b734-4398-a237-680118808633' into 'main'
Matthew Fernandez [Sat, 10 Sep 2022 20:32:00 +0000 (20:32 +0000)]
Merge branch 'smattr/153e62b1-b734-4398-a237-680118808633' into 'main'

GTK plugin warning squashing

See merge request graphviz/graphviz!2827

2 years agoGTK plugin on_drawingarea1_scroll_event: squash -Wswitch-default
Matthew Fernandez [Mon, 5 Sep 2022 17:44:40 +0000 (10:44 -0700)]
GTK plugin on_drawingarea1_scroll_event: squash -Wswitch-default

On GTK 2, the only valid scroll values are left, right, up, and down. GTK 3 adds
a fifth, smooth, capture scrolling in a combined x/y direction (diagonal). In
all cases except up and down, it seems clear this code intends to ignore the
action.

As of this commit, the GTK plugin builds warning-free on Linux.

2 years agoGTK plugin: use C99 'false' instead of GTK 'FALSE'
Matthew Fernandez [Mon, 5 Sep 2022 17:31:24 +0000 (10:31 -0700)]
GTK plugin: use C99 'false' instead of GTK 'FALSE'

There is no need for the latter in C99.

2 years agoGTK plugin: remove unnecessary parens when invoking callbacks
Matthew Fernandez [Mon, 5 Sep 2022 17:29:44 +0000 (10:29 -0700)]
GTK plugin: remove unnecessary parens when invoking callbacks

2 years agoGTK plugin: squash -Wsign-conversion warnings for 'GdkEventButton' values
Matthew Fernandez [Mon, 5 Sep 2022 17:25:59 +0000 (10:25 -0700)]
GTK plugin: squash -Wsign-conversion warnings for 'GdkEventButton' values

The GDK API documents these events as coming from an enum, all of whose values
fit in an int.

2 years agoGTK plugin: squash -Wsign-compare, -Wsign-conversion warnings for width/height
Matthew Fernandez [Mon, 5 Sep 2022 17:22:42 +0000 (10:22 -0700)]
GTK plugin: squash -Wsign-compare, -Wsign-conversion warnings for width/height

Graphviz deals with these values as unsigned, but the GTK APIs deal with them as
signed. Nevertheless we expect both sides to only ever deal in non-negative
values.

2 years agoGTK plugin attr_value_edited_cb: remove shadowing of global 'path'
Matthew Fernandez [Mon, 5 Sep 2022 17:13:56 +0000 (10:13 -0700)]
GTK plugin attr_value_edited_cb: remove shadowing of global 'path'

2 years agoGTK plugin: remove unnecessary 'g_object_get_data' casts
Matthew Fernandez [Mon, 5 Sep 2022 17:12:20 +0000 (10:12 -0700)]
GTK plugin: remove unnecessary 'g_object_get_data' casts