     (delq nil
           (mapcar #'(lambda (f)
                       ;; learn this trick from flyspell
-                      (or (string= f 'font-lock-comment-face)
-                          (string= f 'font-lock-comment-delimiter-face)))
+                      (or (eq f 'font-lock-comment-face)
+                          (eq f 'font-lock-comment-delimiter-face)))
                   fontfaces))))
 
 ;; @return (list beg end)

;;;###autoload
(defun evilnc-kill-to-line (&optional LINENUM)
  "Kill from the current line to the LINENUM line, for non-evil user only"
  (interactive "p")
  (if (not (region-active-p))
      (let ((b (line-beginning-position))
            (e (line-end-position)))

          ;; in evil-mode, if we use hot key V `M-x evil-visual-line` to select line
          ;; the (line-beginning-position) of the line which is after the last selected
          ;; line is always (region-end)! Don't know why.
          (if (and (> e b)
                     (save-excursion (goto-char e) (= e (line-beginning-position)))
                     (boundp 'evil-state) (eq evil-state 'visual))
              (setq e (1- e)))

          (goto-char b)
          (setq b (line-beginning-position))
          (goto-char e)
