   (let* ((file-name (buffer-file-name))
          (line-number (line-number-at-pos))
          (column (current-column))
-         (sym-info (lean-get-current-sym-info))
+         (sym-info (lean-bounds-of-thing-at-point))
          (sym-name (cl-first sym-info))
          (start-pos (cl-second sym-info))
          (start-column (- column (- (point) start-pos)))

 - lean-global-before-change-text            : text between beg and end

These information will be used by lean-after-changed-function."
  ;; (message "lean-before-change %d %d" beg end)
  (setq lean-global-before-change-beg beg)
  (setq lean-global-before-change-end end)
  (setq lean-global-before-change-beg-line-number (line-number-at-pos beg))
  (setq lean-global-before-change-end-line-number (line-number-at-pos end))
  (setq lean-global-before-change-text (buffer-substring-no-properties beg end)))

(defun lean-after-change-log (beg end after-beg-line-number after-end-line-number)
  (message "before-change: beg=%d (%d) end=%d (%d)"
           beg lean-global-before-change-beg-line-number
           end lean-global-before-change-end-line-number)
  (message "before-text:||%s||" lean-global-before-change-text)
  (message "before-text # of lines = %d" (count-lines beg end))
  (message "after-change: beg=%d (%d) end=%d (%d) leng-before=%d"
           beg after-beg-line-number end after-end-line-number leng-before)
  (message "after-text:||%s||" (buffer-substring-no-properties beg end))
  (message "after-text # of lines = %d" (count-lines beg end))
  (message "changed  lines = %s" (prin1-to-string changed-lines))
  (message "inserted lines = %s" (prin1-to-string inserted-lines))
  (message "removed lines  = %s" (prin1-to-string removed-lines))
  (message "===================================="))

(defun lean-after-change-diff-lines (before-beg-line-number
                                     before-end-line-number

         (old-lines-len (length old-lines))
         (new-lines-len (length new-lines))
         changed-lines removed-lines inserted-lines)
    (cond ((= old-lines-len new-lines-len)
           (setq changed-lines old-lines)
           `(CHANGE-ONLY ,changed-lines))
          ;; Case "REMOVE"
          ((> old-lines-len new-lines-len)
