Skip to content

Document undocumented attributes

Steps to reproduce

The following linux command will list all the undocumented calls to agget (the attribute fetching routine) in any .c or .h file in the lib directory tree (according to doc/infosrc/attrs)
grep 'agget(' $(find . -type f |grep '\.[ch]$')|grep './lib/'|gawk -F'"' '{print $2}'|sort -u|gawk 'NR==1{next}{print}'|while read X;do Z=grep "^:$X:" doc/infosrc/attrs;echo "$X +++ $Z";done |grep -v ':'

Expected Behaviour

No undocumented attributes (naively)

Actual Behaviour

Several useful attributes discovered

OS Version

git source

Additional info

Undocumented attributes:

  • _draw_ +++ required for _background, in lib/common/emit.c
  • TBbalance +++ see here graphviz#1339 (closed), in lib/common/ns.c
  • beautify +++ sfdp attribute, in lib/sfdpgen/sfdpinit.c
  • cluster +++ alternate to naming a graph "cluster...", in lib/common/utils.c
  • clustercolor +++ in lib/sparse/DotIO.c
  • compact +++ for edges into/out of a cluster, used to determine "is_a_strong_cluster", in lib/dotgen/rank.c
  • labelaligned +++ part of emit_begin_edge, in lib/common/emit.c
  • linelength +++ used to determine max length of printed text output, in lib/cgraph/write.c
  • odb +++ used to help debug ortho lines (if #DEBUG is defined), in lib/ortho/ortho.c
  • oneblock +++ circo only, in lib/circogen/circular.c
  • postaction +++ allows "reparseable input", in lib/common/input.c
Edited by Mark Hansen