Make `js2-basic-offset` a safe variable. Closes: #607110.

diff --git a/js2.el b/js2.el
index 2f5d76a..68dbd92 100644
--- a/js2.el
+++ b/js2.el
@@ -369,6 +369,12 @@ Set `js2-include-gears-externs' to t to include them.")
   (require 'cc-engine))  ; for `c-paragraph-start' et. al.
 
 
+(defun js2-mark-safe-local (name pred)
+  "Make the variable NAME buffer-local and mark it as safe file-local
+variable with predicate PRED."
+  (make-variable-buffer-local name)
+  (put name 'safe-local-variable pred))
+
 (defvar js2-emacs22 (>= emacs-major-version 22))
 
 (defcustom js2-highlight-level 2
@@ -398,7 +404,7 @@ nil, zero or negative means none.
 Similar to `c-basic-offset'."
   :group 'js2-mode
   :type 'integer)
-(make-variable-buffer-local 'js2-basic-offset)
+(js2-mark-safe-local 'js2-basic-offset 'integerp)
 
 (defcustom js2-cleanup-whitespace nil
   "Non-nil to invoke `delete-trailing-whitespace' before saves."
