行末の空白を可視化してないせいで起きたトラブルの話

タイトルでネタバレですが

IOError: [Errno 2] No such file or directory: ' ' 

という謎のエラーが起きてpdbブレークポイントを置いて色々調べたら

(Pdb) sys.argv 
[... '--compiler_flags=--js=deps.js', ' ']

なんとsys.argvに謎の空白が!なぜだ?!あっ、Makefileを見たら行継続のバックスラッシュの後ろに半角スペースがある!

$(CLOSURE_BIN)/build/closurebuilder.py \
  (中略) \
  -f --warning_level=VERBOSE -f --jscomp_warning=visibility \
  --compiler_flags="--js=deps.js" \ ←ここに半角スペースがある
  --compiler_flags="--externs=$(EXTERNS)/jquery-1.7.js" \

というオチでした。というわけで .emacs.elに

;; 行末の空白をめだたせる M-x delete-trailing-whitespaceで削除出来る
(when (boundp 'show-trailing-whitespace) (setq-default show-trailing-whitespace t))

と書きたしました。