wiki:dev/notes

Version 11 (modified by Sam Hocevar, 10 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