diff --git a/doc/devnotes.rst b/doc/devnotes.rst
index a6d038a4598d5c63bfe27f833d386c22a8f77e95..421af60f35852183ff5e92239e8934b33aa7ee58 100644
--- a/doc/devnotes.rst
+++ b/doc/devnotes.rst
@@ -132,6 +132,14 @@ or alternatively the manual sequence is::
 This will build the binary twice, per the TemplateHaskell
 documentation, the second one with profiling enabled.
 
+The binary files generated by compilation and the profiling/coverage
+files can "break" tab-completion in the sources; they can be ignored,
+for example, in bash via ``.bashrc``::
+
+  FIGNORE='.o:.hi:.prof_o:.tix'
+
+or in emacs via ``completion-ignored-extensions`` (run ``M-x
+customize-var completion-ignored-extensions``).
 
 Packaging notes
 ===============