wiki:dev/notes

Version 11 (modified by sam, 6 years ago) (diff)

changelog generator

Development notes

My brain is too small. I'm putting stuff here to remember it later.

Coding style

Remove useless spaces where I don't want to see them:

 :%s/  *$//
 :%s/(  */(/g
 :%s/  *\([);]\)/\1/g
 :%s/\(for\|if\|while\) (/\1(/g

Add spaces where I want to see them:

 # After commas and semicolons
 :%s/\([,;]\)\([^ ]\)/\1 \2/g
 # Inside = + += > etc. Breaks inside strings, unfortunately.
 :%s/\([a-zA-Z0-9]\)\([-+*/><=&^%]\|[-+*/><=&^%!]=\)\([a-zA-Z0-9]\)/\1 \2 \3/g

Code shortcomings

Other tasks:

  • Check uses of malloc that could be lmalloc.
  • What is LObjectVar for?
  • Fix FILLED mode.
  • Wrap l_user_stack uses in a clean class.

Changelog

git log --stat \
   | sed 's/sam <sam@........-[^>]*>/Sam Hocevar <sam@hocevar.net>/' \
   | sed 's/holiday <holiday@........-[^>]*>/Justin Cassidy <justin@boil.afraid.org>/' \
   | tac \
   | awk '/git-svn-id/ { sub(/.*@/, ""); id=$1; next } \
          /^commit/ { print "Commit: " id; id="UNCOMMITTED" } \
          /files changed.*insertions/ { if ($1 > 20) { print $0; print " [...]"; disable=1 } } \
          /^$/ { disable=0 } \
          { if (!disable) print $0 }' \
   | tac \
   | grep -v '\(^    $\|^commit\|git-svn-id\)' >| ChangeLog