The first attached patch (recently applied to master) isn't needed for current versions of git, since the existing patterns lisp/**/*cus-load.el and lisp/**/*loaddefs.el subsume the newly added patterns. Looking at the Git release notes, it appears that .gitignore's "**" feature was added in Git 1.8.2 (March 2013), so I guess Lars is using an older Git version and "**" didn't work for him. Which raises the issue: what should be the minimum version of git that we assume for Emacs developers? I suggest that we assume Git 1.7.1 (April 2010) or later, as that's the oldest Git that is still likely to be in widespread use -- it's shipped with CentOS 6, for example. One more thing: as I understand it, the .gitignore patch is needed on emacs-24 just as much as on master, and we're doing gittish stuff on both branches for now, so this sort of change should be applied to emacs-24 and later merged to master. I attempted to address this by applying the second attached patch to the emacs-24 branch; this will need to be merged into the master .gitignore in due course.