       (setq pn (js2-parse-member-expr t)
             ;; Don't look across a newline boundary for a postfix incop.
             tt (js2-peek-token-or-eol))
-      (when (or (= tt js2-INC) (= tt js2-DEC))
+      (when (or (eq tt js2-INC) (eq tt js2-DEC))
         (js2-consume-token)
         (setf expr pn
               pn (js2-make-unary tt expr))

    (cond
     ((and symbol                       ; already defined
           ;; new version is const
           (or (= decl-type js2-CONST)
               ;; old version is const
               (= sdt js2-CONST)
               ;; two let-bound vars in this block have same name
               (and (= decl-type js2-LET)
                    (eq defining-scope js2-current-scope))))
      (js2-report-error
       (cond
        ((= sdt js2-CONST) "msg.const.redecl")
        ((= sdt js2-LET) "msg.let.redecl")
        ((= sdt js2-VAR) "msg.var.redecl")
        ((= sdt js2-FUNCTION) "msg.function.redecl")
        (t "msg.parm.redecl"))
       name))

     ((= decl-type js2-LET)
      (js2-define-new-symbol decl-type name node))

     ((or (= decl-type js2-VAR)
          (= decl-type js2-CONST)
          (= decl-type js2-FUNCTION))
      (if symbol
          (if (= sdt js2-VAR)
              (js2-add-strict-warning "msg.var.redecl" name)
            (if (= sdt js2-LP)
                (js2-add-strict-warning "msg.var.hides.arg" name)))
        (js2-scope-put-symbol js2-current-scope
                              name
                              (make-js2-symbol decl-type name node))))
     ((= decl-type js2-LP)
      (if symbol
          ;; must be duplicate parameter. Second parameter hides the
          ;; first, so go ahead and add the second pararameter

;; indentation.  The current compromise is that the tab key lets you cycle among
;; various likely indentation points, similar to the behavior of python-mode.
;;
;; This mode does not yet work with mmm-mode ("multiple major modes" mode),
;; although it could possibly be made to do so with some effort.
;;
;; This code is part of a larger project, in progress, to enable writing
;; Emacs customizations in JavaScript.
;;
;; Please email bug reports and suggestions to the author, or submit them
;; at http://code.google.com/p/js2-mode/issues

;; TODO:
;;  - set a text prop on autoinserted delimiters and don't biff user-entered ones
;;  - clean up xml member-expr parsing
;;  - add in remaining Ecma strict-mode warnings
;;  - get more use out of the symbol table:
;;    - jump to declaration (put hyperlinks on all non-decl var usages?)
;;    - rename variable/function
;;    - warn on unused var
;;  - add some dabbrev-expansions for built-in keywords like finally, function
;;  - add at least some completion support, e.g. for built-ins
;;  - code formatting

;;; Code:
