merge update from ...gnucode2012:master

合并 @gnucode2012 修改的源代码到项目中。