branch: elpa/rpm-spec-mode
commit 8603ea1d45c4430f73a733db7b3973ef353298e0
Author: Björn Bidar <bjorn.bi...@thaodan.de>
Commit: Björn Bidar <bjorn.bi...@thaodan.de>

    Fix interactive functions
    
    Functions that don't make use of the prefix argument (C-u)
    simply should not have the "p" arg in (interactive),
    instead of always passing an unused optional arg.
    
    Incidentally, removing the "p" also fixes
    rpm-insert-{file,config,doc,ghost,dir,docdir}
    which were wrongly passing the prefix arg as the filename/dirname.
    E.g. C-u 5 M-x rpm-insert-file was wrongly inserting "5" as the filename.
    
    Th commit message is the same since purpose of the commit is still the
    same however I complete replaced the original commit by using
    interactive prompts for the mandatory arguments.
    
    (cherry picked from commit 9de017d728e459a19124bd6a4a365ec96c228849)
---
 rpm-spec-mode.el | 61 +++++++++++++++++++++++++++-----------------------------
 1 file changed, 29 insertions(+), 32 deletions(-)

diff --git a/rpm-spec-mode.el b/rpm-spec-mode.el
index 8618982798..b4a71ffe8c 100644
--- a/rpm-spec-mode.el
+++ b/rpm-spec-mode.el
@@ -881,40 +881,34 @@ using FILETYPE to prompt the user."
                   rpm-default-group ") ")))
     (insert filetype)))
 
-(defun rpm-insert-file (&optional filename)
-  "Insert regular file.
-Use FILENAME or, if interactive, prompt."
-  (interactive "p")
+(defun rpm-insert-file (filename)
+  "Insert file FILENAME."
+  (interactive "FFilename: ")
   (rpm-insert-f "" filename))
 
-(defun rpm-insert-config (&optional filename)
-  "Insert config file.
-FILENAME is the config file."
-  (interactive "p")
+(defun rpm-insert-config (filename)
+  "Insert config file FILENAME."
+  (interactive "FFilename: ")
   (rpm-insert-f "%config " filename))
 
-(defun rpm-insert-doc (&optional filename)
-  "Insert doc file.
-FILENAME is the doc file."
-  (interactive "p")
+(defun rpm-insert-doc (filename)
+  "Insert doc file FILENAME."
+  (interactive "FFilename: ")
   (rpm-insert-f "%doc " filename))
 
-(defun rpm-insert-ghost (&optional filename)
-  "Insert ghost file.
-FILENAME is the ghost file."
-  (interactive "p")
+(defun rpm-insert-ghost (filename)
+  "Insert ghost file FILENAME."
+  (interactive "FFilename: ")
   (rpm-insert-f "%ghost " filename))
 
-(defun rpm-insert-dir (&optional dirname)
-  "Insert directory.
-DIRNAME is the directory."
-  (interactive "p")
+(defun rpm-insert-dir (dirname)
+  "Insert directory DIRNAME."
+  (interactive "GDirectory: ")
   (rpm-insert-f "%dir " dirname))
 
-(defun rpm-insert-docdir (&optional dirname)
-  "Insert doc directory.
-DIRNAME is the directory."
-  (interactive "p")
+(defun rpm-insert-docdir (dirname)
+  "Insert doc directory DIRNAME."
+  (interactive "GDirectory: ")
   (rpm-insert-f "%docdir " dirname))
 
 ;;------------------------------------------------------------
@@ -978,6 +972,7 @@ WHAT is the tag used."
   "Update given tag (WHAT)."
   (save-excursion
     (if (not what)
+               ;; interactive
         (setq what (rpm-completing-read "Tag: " rpm-tags-list)))
     (cond
      ((string-equal what "Group")
@@ -995,7 +990,7 @@ WHAT is the tag used."
         (message "%s tag not found..." what))))))
 
 (defun rpm-change-n (tag)
-  "Change given TAG with possible number."
+  "Change given tag TAG with possible number."
   (save-excursion
     (goto-char (point-min))
     (let ((number (read-from-minibuffer (concat tag " number: "))))
@@ -1026,20 +1021,22 @@ WHAT is the tag used."
                                               nil nil (match-string 1)))))
       (message "Group tag not found..."))))
 
-(defun rpm-insert-tag (&optional tag)
-  "Insert or change a TAG."
-  (interactive "p")
+(defun rpm-insert-tag (tag)
+  "Insert or change a TAG.
+With a prefix argument, change an existing tag."
+  (interactive (list (completing-read "Tag: " rpm-tags-list)))
   (if current-prefix-arg
       (rpm-change tag)
-    (rpm-insert)))
+    (rpm-insert tag)))
 
-(defun rpm-change-tag (&optional tag)
-  "Change a TAG."
-  (interactive "p")
+(defun rpm-change-tag (tag)
+  "Change an existing tag."
+  (interactive (list (completing-read "Tag: " rpm-tags-list)))
   (rpm-change tag))
 
 (defun rpm-insert-packager ()
   "Insert Packager tag."
+  (interactive)
   (beginning-of-line)
   (insert (format "Packager: %s <%s>\n"
                   (if (functionp rpm-spec-user-full-name)

Reply via email to