 
 (setq css-indent-offset 2)
 
+(defun ar/open-in-external-app-lambda ()
+  "Return a function to open FPATH externally."
+  (cond
+   ((ar/windowsp)
+    (lambda (fPath)
+      (w32-shell-execute "open" (replace-regexp-in-string "/" "\\" fPath t t))))
+   ((ar/osxp)
+    (lambda (fPath)
+      (shell-command (format "open \"%s\"" fPath))))
+   ((ar/gnulinuxp)
+    (lambda (fPath)
+      (let ((process-connection-type nil))
+        (start-process "" nil "xdg-open" fPath))))))
+
 ;; Thank you Xah Lee.
 ;; from http://ergoemacs.org/emacs/emacs_dired_open_file_in_ext_apps.html
 (defun xah-open-in-external-app (&optional file)

  ;; ProductName: iPhone OS
  ;; ProductVersion: 7.1
  (set (make-local-variable 'compile-command)
        "xcodebuild -sdk iphonesimulator7.1 -target MyTarget")
  (define-key objc-mode-map [f7] 'ar/xc:build)
  (define-key objc-mode-map [f8] 'ar/xc:run))
(add-hook 'objc-mode-hook 'ar/objc-mode-hook-function)

(defun ar/java-mode-hook-function ()
  "Called when entering `java-mode'."
  ;; 100-column limit for java.
  (set-fill-column 100)
  ;; 2-char indent for java.
  (setq c-basic-offset 2))
(add-hook 'java-mode-hook 'ar/java-mode-hook-function)

(defun ar/prog-mode-hook-function ()

(setq ediff-split-window-function 'split-window-horizontally)
;; ediff-revision cleanup.
;; From http://www.emacswiki.org/emacs/DavidBoon#toc8
(defvar ar/ediff-bwin-config nil
  "Window configuration before ediff.")

(defvar ar/ediff-bwin-reg ?b
  "Register to be set up to hold ar/ediff-bwin-config configuration.")

(defun ar/ediff-bsh ()
