+info emacs-version = $e_ver
+
+## Emacs window measurements.
+##
+## e_colsz = width of a column in characters (from `emacs-width' metaconfig)
+## e_charwd = width of a character in pixels (assume `6x13')
+## e_colextra = additional per-column overhead in pixels
+## e_colextrachars = additional per-column overhead in character units
+## e_colwd = basic width of a column in pixels
+## e_hextra = extra horizontal width in pixels
+## Width of an N-column Emacs frame in pixels will be
+## N*e_colwd + e_hextra
+## e_colchars = width of a column in Emacs `-geometry' units
+## e_cextra = extra horizontal width in Emacs `-geometry' units
+## So an N-column frame should be reported to Emacs as being
+## N*e_colchars + e_cextra geometry units wide
+## e_lineht = height of a character line in pixels
+## e_vextra = number of additional vertical cruft pixels
+## So an N-line Emacs frame takes N*e_lineht + e_vextra pixels
+e_colsz=$(mdw-conf emacs-width 77) e_charwd=6
+e_colextra=30 e_colextrachars=5 e_lineht=13
+case "$e_ver" in
+ emacs21 | emacs) e_hextra=34 e_cextra=-2 e_vextra=52 ;;
+ emacs22 | emacs23) e_hextra=8 e_cextra=-6 e_vextra=46 ;;
+ emacs24) e_hextra=5 e_cextra=-6 e_vextra=42 ;;
+ emacs23-lucid) e_hextra=7 e_cextra=-6 e_vextra=48 ;;
+ emacs24-lucid) e_hextra=7 e_cextra=-5 e_vextra=48 ;;
+ emacs26-lucid) e_hextra=5 e_cextra=-6 e_vextra=51 ;;
+esac
+e_colwd=$(( e_colsz*e_charwd + e_colextra ))
+e_colchars=$(( e_colsz + e_colextrachars ))