unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* Emacs Interactive functions with arguments
@ 2020-10-09 11:52 Christopher Dimech
  2020-10-09 14:10 ` Emanuel Berg via Users list for the GNU Emacs text editor
  2020-10-09 20:10 ` Joost Kremers
  0 siblings, 2 replies; 4+ messages in thread
From: Christopher Dimech @ 2020-10-09 11:52 UTC (permalink / raw)
  To: Help Gnu Emacs

Dear Compeers,

I understand a few things about Emacs Functions.

For instance, the following function uses simply
an (interactive) declaration.  This means that
IntchgW will not accept the passing of arguments
to it.

( defun IntchgW ()
    "Interchanges words using (transpose-words arg)."
    (interactive)
    (transpose-words -2)
)

Have also constructed the function IntchgW to interchange
words.

( defun IntchgW (arg)
    "Interchanges words using (transpose-words arg)."
    (interactive "NType Arg to transpose-words: ")
    (transpose-words arg)
)

I can call the function using two methods
(1) Using  "M-x IntchgW <Ret> -2 <Ret>"
    Arg is inputted through the Mini-Buffer.
(2) Using "C-u -2 M-x IntchgW"
    Here Arg is passed as a prefix to IntchgW.

And if I use (interactive "nType Arg to transpose-words: "),
I can only pass the argument Arg using the Min-Buffer
"M-x IntchgW <Ret> -2 <Ret>".  I cannot pass Arg as a prefix
to  IntchgW using "C-u -2 M-x IntchgW"

But then I have the following functions.  And the effect of the
(interactive "p") and (interactive "pType Arg to transpose-words: ")
is confusing to me.

Besides general comments, I have some specific question.
(1) The two constructs (interactive "p") and (interactive "pMessage: ")
are valid, but are they equivalent?
(2) How is (interactive "p") different from  (interactive "N").
They both represent numeric arguments, but what is different?

Reagrds

( defun IntchgWp (arg)
    "TODO"
    (interactive "p")
    (transpose-words arg)
)

( defun IntchgW--pmesg (arg)
    "TODO"
    (interactive "pType Arg to transpose-words: ")
    (transpose-words arg)
)





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Emacs Interactive functions with arguments
  2020-10-09 11:52 Emacs Interactive functions with arguments Christopher Dimech
@ 2020-10-09 14:10 ` Emanuel Berg via Users list for the GNU Emacs text editor
  2020-10-09 14:42   ` Christopher Dimech
  2020-10-09 20:10 ` Joost Kremers
  1 sibling, 1 reply; 4+ messages in thread
From: Emanuel Berg via Users list for the GNU Emacs text editor @ 2020-10-09 14:10 UTC (permalink / raw)
  To: help-gnu-emacs

Christopher Dimech wrote:

> Besides general comments, I have some specific
> question. (1) The two constructs (interactive "p")
> and (interactive "pMessage: ") are valid, but are
> they equivalent? (2) How is (interactive "p")
> different from (interactive "N"). They both
> represent numeric arguments, but what is different?

C-h f interactive RET

> ( defun IntchgWp (arg)
>     "TODO"
>     (interactive "p")
>     (transpose-words arg)
> )
>
> ( defun IntchgW--pmesg (arg)
>     "TODO"
>     (interactive "pType Arg to transpose-words: ")
>     (transpose-words arg)
> )

C-h f defalias RET

-- 
underground experts united
http://user.it.uu.se/~embe8573
https://dataswamp.org/~incal




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Emacs Interactive functions with arguments
  2020-10-09 14:10 ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2020-10-09 14:42   ` Christopher Dimech
  0 siblings, 0 replies; 4+ messages in thread
From: Christopher Dimech @ 2020-10-09 14:42 UTC (permalink / raw)
  To: moasenwood; +Cc: help-gnu-emacs


   I set my email settings for sending plain text as it will be easier to
   read, but your comment
   confirmed that with plain text, all the bloody formatting is removed.
   Terrible.  Apologies
   for that Emanuel.

   Thanks for showeing me dow to call desrcibe function using the
   mini-buffer.

   Regards
   C*

   Sent: Friday, October 09, 2020 at 4:10 PM
   From: "Emanuel Berg via Users list for the GNU Emacs text editor"
   <help-gnu-emacs@gnu.org>
   To: help-gnu-emacs@gnu.org
   Subject: Re: Emacs Interactive functions with arguments
   Christopher Dimech wrote:
   > Besides general comments, I have some specific
   > question. (1) The two constructs (interactive "p")
   > and (interactive "pMessage: ") are valid, but are
   > they equivalent? (2) How is (interactive "p")
   > different from (interactive "N"). They both
   > represent numeric arguments, but what is different?
   C-h f interactive RET
   > ( defun IntchgWp (arg)
   > "TODO"
   > (interactive "p")
   > (transpose-words arg)
   > )
   >
   > ( defun IntchgW--pmesg (arg)
   > "TODO"
   > (interactive "pType Arg to transpose-words: ")
   > (transpose-words arg)
   > )
   C-h f defalias RET
   --
   underground experts united
   [1]http://user.it.uu.se/~embe8573
   [2]https://dataswamp.org/~incal

References

   1. http://user.it.uu.se/~embe8573
   2. https://dataswamp.org/~incal


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Emacs Interactive functions with arguments
  2020-10-09 11:52 Emacs Interactive functions with arguments Christopher Dimech
  2020-10-09 14:10 ` Emanuel Berg via Users list for the GNU Emacs text editor
@ 2020-10-09 20:10 ` Joost Kremers
  1 sibling, 0 replies; 4+ messages in thread
From: Joost Kremers @ 2020-10-09 20:10 UTC (permalink / raw)
  To: Christopher Dimech; +Cc: help-gnu-emacs


On Fri, Oct 09 2020, Christopher Dimech wrote:
[snip]

The interactive codes "n" and "N" both return a number. "n" *always* reads a
number in the minibuffer, so any prefix argument the user types is ignored. "N"
returns the prefix argument as a number, but will ask for a number in the
minibuffer if there is no prefix argument.

"p" OTOH always returns the prefix argument as a number, even if the user didn't
type one. (In that case, the value is 1).

> Besides general comments, I have some specific question.
> (1) The two constructs (interactive "p") and (interactive "pMessage: ")
> are valid, but are they equivalent?

"p" doesn't take a prompt, because it never asks for input through the
minibuffer. So if you provide a prompt, it is simply ignored.

> (2) How is (interactive "p") different from  (interactive "N").
> They both represent numeric arguments, but what is different?

"p" never asks for a number in the minibufffer, "N" does, if necessary.


-- 
Joost Kremers
Life has its moments



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-10-09 20:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-10-09 11:52 Emacs Interactive functions with arguments Christopher Dimech
2020-10-09 14:10 ` Emanuel Berg via Users list for the GNU Emacs text editor
2020-10-09 14:42   ` Christopher Dimech
2020-10-09 20:10 ` Joost Kremers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).