          ;; TODO need to have state per command
          ;; dabbrev should be persisted only for evil-complete functions
          ;; the property names should match the full value name
-         (dabbrev--friend-buffer-list (emc-get-cursor-property cursor :friend-buffer-list))
-         (dabbrev--last-buffer (emc-get-cursor-property cursor :last-buffer))
-         (dabbrev--last-buffer-found (emc-get-cursor-property cursor :last-buffer-found))
-         (dabbrev--last-table (emc-get-cursor-property cursor :last-table))
-         (dabbrev--last-abbrev-location (emc-get-cursor-property cursor :last-abbrev-location))
-         (dabbrev--last-abbreviation (emc-get-cursor-property cursor :last-abbreviation))
-         (dabbrev--last-expansion (emc-get-cursor-property cursor :last-expansion))
-         (dabbrev--last-expansion-location (emc-get-cursor-property cursor :last-expansion-location))
-         (dabbrev--last-direction (emc-get-cursor-property cursor :last-direction))
+         (dabbrev--friend-buffer-list (emc-get-cursor-property cursor :dabbrev--friend-buffer-list))
+         (dabbrev--last-buffer (emc-get-cursor-property cursor :dabbrev--last-buffer))
+         (dabbrev--last-buffer-found (emc-get-cursor-property cursor :dabbrev--last-buffer-found))
+         (dabbrev--last-table (emc-get-cursor-property cursor :dabbrev--last-table))
+         (dabbrev--last-abbrev-location (emc-get-cursor-property cursor :dabbrev--last-abbrev-location))
+         (dabbrev--last-abbreviation (emc-get-cursor-property cursor :dabbrev--last-abbreviation))
+         (dabbrev--last-expansion (emc-get-cursor-property cursor :dabbrev--last-expansion))
+         (dabbrev--last-expansion-location (emc-get-cursor-property cursor :dabbrev--last-expansion-location))
+         (dabbrev--last-direction (emc-get-cursor-property cursor :dabbrev--last-direction))
 
          (evil-last-paste (emc-get-cursor-property cursor :evil-last-paste))
          (evil-last-register (emc-get-cursor-property cursor :evil-last-register))

                      (setq new-kill-ring-yank-pointer kill-ring-yank-pointer))

                    ;; execute paste with the old key ring
                    (evil-paste-before keys-count)

                    ;; update the kill ring with the overwritten text
                    (setq kill-ring new-kill-ring)

         (region (emc-get-cursor-region cursor))
         (region-type (emc-get-region-type region))
         (repeat-type (evil-get-command-property cmd :repeat))
         (evil-last-register (emc-get-cursor-property cursor :evil-last-register))
         (evil-this-register (emc-get-cursor-property cursor :evil-this-register))
         (last-input (emc-get-command-last-input))
         (keys-count (emc-get-command-keys-count))
         (keys-vector (emc-get-command-keys-vector)))
    (when emc-debug (message "CMD-VISUAL %s" cmd))
