diff --git a/refactor/rename/rename.el b/refactor/rename/rename.el index 92683586a7..ea6c7448cf 100644 --- a/refactor/rename/rename.el +++ b/refactor/rename/rename.el @@ -25,10 +25,12 @@ :type 'string :group 'go-rename) -(defun go-rename (new-name) +(defun go-rename (new-name &optional force) "Rename the entity denoted by the identifier at point, using -the `gorename' tool." - (interactive (list (read-string "New name: " (thing-at-point 'symbol)))) +the `gorename' tool. With FORCE, call `gorename' with the +`-force' flag." + (interactive (list (read-string "New name: " (thing-at-point 'symbol)) + current-prefix-arg)) (if (not buffer-file-name) (error "Cannot use go-rename on a buffer without a file name")) ;; It's not sufficient to save the current buffer if modified, @@ -50,7 +52,7 @@ the `gorename' tool." (with-current-buffer (get-buffer-create "*go-rename*") (setq buffer-read-only nil) (erase-buffer) - (let ((args (list go-rename-command nil t nil posflag "-to" new-name))) + (let ((args (append (list go-rename-command nil t nil posflag "-to" new-name) (if force '("-force"))))) ;; Log the command to *Messages*, for debugging. (message "Command: %s:" args) (message "Running gorename...")