I recently started a new job, where I have been supplied with the laptop I'm now using. I noticed that magit-auto-revert-mode was not having any effect; checking out a new branch using Magit did not revert any of the buffers visiting files which were different on the previous branch. I dug into the source and found that the culprit is the function auto-revert-handler, and specifically the expression: (or (not auto-revert-use-notify) auto-revert-notify-modified-p) auto-revert-use-notify had a value of t, and yet auto-revert-notify-modified-p was nil even in buffers whose associated files had changed out from under them. I verified this visiting a file, then repeatedly issuing the shell command "echo foo >> my-file" and then evaluating the expression (auto-revert-handler) with M-:, but the file never got reverted. I found a note to the effect that this feature would only be active if Emacs had been compiled with file notification support. I would have expected auto-revert-use-notify to be given a suitable default value depending on whether such support was available, but in any case I went to my local emacs git repo, pulled down the latest changes, and recompiled after providing the --with-file-notification=inotify flag to configure. Even after this change, though, file notification still isn't working. I can just set auto-revert-use-notify to nil going forward, but it would be nice to get file notification working as intended. In GNU Emacs 25.0.50.2 (x86_64-unknown-linux-gnu, GTK+ Version 3.12.2) of 2015-04-10 on sean-Latitude-E7440 Repository revision: f55ea05bdf60e24c09f9064fc0d2e8a114d6e358 Windowing system distributor `The X.Org Foundation', version 11.0.11600000 System Description: Ubuntu 14.10 Configured using: `configure --with-file-notification=inotify' Configured features: XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS NOTIFY LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB Important settings: value of $LANG: en_US.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Shell Minor modes in effect: recentf-mode: t projectile-global-mode: t projectile-mode: t global-anzu-mode: t anzu-mode: t magit-auto-revert-mode: t shell-dirtrack-mode: t diff-auto-refine-mode: t google-this-mode: t global-flycheck-mode: t minibuffer-depth-indicate-mode: t ido-everywhere: t global-undo-tree-mode: t undo-tree-mode: t override-global-mode: t show-paren-mode: t electric-pair-mode: t savehist-mode: t desktop-save-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t Recent messages: Cleaning up the recentf list...done (2 removed) ~/emacs-src Template key: Clipboard pasted as level 4 subtree C-c C-g is undefined ad-handle-definition: `bookmark-jump' got redefined Saving bookmarks to file ~/.emacs.d/bookmarks... Wrote /home/sean/.emacs.d/bookmarks Saving bookmarks to file ~/.emacs.d/bookmarks...done Wrote /home/sean/done.org Load-path shadows: ~/emacs/japanese hides /usr/local/share/emacs/25.0.50/lisp/language/japanese Features: (shadow sort mail-extr emacsbug sendmail bookmark tabify org-datetree org-capture pcmpl-unix recentf tree-widget eww mm-url url-queue shr dom browse-url js-mode-expansions js imenu cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs sh-script smie executable restclient conf-mode cap-words superword subword scala-mode2 scala-mode2-imenu scala-mode2-sbt scala-mode2-map scala-mode2-fontlock scala-mode2-indent scala-mode2-paragraph scala-mode2-lib html-mode-expansions sgml-mode org-element org-rmail org-mhe org-irc org-info org-gnus org-docview doc-view image-mode org-bibtex bibtex org-bbdb org-w3m the-org-mode-expansions org org-macro org-footnote org-pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob ob-tangle ob-ref ob-lob ob-table ob-exp org-src ob-keys ob-comint ob-core ob-eval org-compat org-macs org-loaddefs cal-menu calendar cal-loaddefs gnus-dired jka-compr vc vc-dispatcher vc-git projectile ibuf-ext ibuffer elisp-slime-nav etags xref anzu mule-util magit-key-mode magit view tramp tramp-compat tramp-loaddefs trampver shell pcomplete epa epg diff-mode autorevert filenotify git-rebase-mode git-commit-mode log-edit message format-spec rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums mailabbrev gmm-utils mailheader pcvs-util add-log google-this flycheck find-func rx subr-x cyberpunk-theme ensime ensime-ui ensime-semantic-highlight ensime-doc ensime-scalex url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util url-parse auth-source eieio eieio-core cl-generic password-cache mailcap ensime-search ensime-undo ensime-startup ensime-refactor ensime-popup ensime-notes ensime-model ensime-mode ensime-inspector ensime-goto-testfile ensime-editor ensime-debug gdb-mi bindat json gud ensime-stacktrace ensime-inf ensime-sbt sbt-mode sbt-mode-rgrep grep sbt-mode-comint sbt-mode-buffer sbt-mode-project ensime-company yasnippet help-mode company ensime-auto-complete ensime-completion-util scala-mode2-syntax ensime-config ensime-vars s ucs-normalize ensime-util auto-complete popup flymake hideshow pp arc-mode archive-mode dash url-gw url-vars ensime-client derived ensime-macros warnings gnus gnus-ems nnheader gnus-util mail-utils mm-util mail-prsvr wid-edit mb-depth ido dired-details+ dired dired-details anchored-transpose change-inner expand-region text-mode-expansions er-basic-expansions expand-region-core expand-region-custom org-bullets multiple-cursors mc-hide-unmatched-lines-mode mc-separate-operations rectangular-region-mode mc-mark-pop mc-mark-more mc-cycle-cursors mc-edit-lines multiple-cursors-core byte-opt advice rect undo-tree diff ack compile comint ansi-color ring paredit edmacro kmacro use-package diminish bytecomp byte-compile cl-extra seq cconv bind-key easy-mmode finder-inf info easymenu package epg-config paren elec-pair savehist desktop frameset server thingatpt help-fns perl-mode cl-macs cl gv cl-loaddefs pcase cl-lib time-date tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote make-network-process dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty emacs) Memory information: ((conses 16 567561 51984) (symbols 48 51197 0) (miscs 40 2332 364) (strings 32 121532 20169) (string-bytes 1 3675027) (vectors 16 75299) (vector-slots 8 1788518 105160) (floats 8 456 780) (intervals 56 4135 309) (buffers 976 64) (heap 1024 54594 2035))