help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Placement of list within an interactive clause


From: Christopher Dimech
Subject: Re: Placement of list within an interactive clause
Date: Sun, 17 Jul 2022 03:53:11 +0200

> Sent: Sunday, July 17, 2022 at 11:40 AM
> From: "Jean Louis" <bugs@gnu.support>
> To: carlmarcos@tutanota.com
> Cc: "Christopher Dimech" <dimech@gmx.com>, "Help Gnu Emacs" 
> <help-gnu-emacs@gnu.org>
> Subject: Re: Placement of list within an interactive clause
>
> * carlmarcos--- via Users list for the GNU Emacs text editor 
> <help-gnu-emacs@gnu.org> [2022-07-17 01:09]:
> > 
> > Jul 15, 2022, 21:31 by bugs@gnu.support:
> > 
> > > * carlmarcos@tutanota.com <carlmarcos@tutanota.com> [2022-07-16 00:23]:
> > >
> > >> Yes, I realise that.  I see that (interactive) is misleading. 
> > >> Although "read-from-minibuffer" cannot be called from M-x, it still
> > >> asks for input through the minibuffer.  Notwithstanding   that
> > >> normal programming language code does not customarily lead to user
> > >> input during run-time, particularly when automation is pursued.
> > >>
> > >
> > > Emacs Lisp is what it is. Text editor IS interactive as by the context
> > > of English language. Declaration "(interactive)" is not misleading as
> > > it has pretty good description what it is. If you however, do not
> > > understand any word in that description, let us know.
> > >
> > >
> > It is misleading when you do not use it, but having the body run
> > minibuffer commands in the body.  If you want to make a function
> > without ever interacting with the user (with either M-x or
> > whatever), then calling any minibuffer functionality in the body is
> > contrary to what you want to do.  That's all I am saying.
> 
> Emacs is very interactive. 
> 
> Do you maybe think that functions without (interactive) declaration
> shall not ask user anything? 
> 
> When invoked only from Lisp there are many uses for such functions. 

Sure, but if you want a fully non-interactive function, do not call 
minibuffer functionality in the body of the function.
 
> Does it really need to be text input to be considered interactive?
> 
> Logging of activities may be displayed in a buffer, that is
> interactive too. Input alone is not interaction. Changing Emacs style
> is also interaction and need not be invoked interactively.

Defining interaction too broadly makes it useless, because it cannot 
distinguish between anything.  For emacs, interaction should always
be associated with direct user input (never with automatic input or
customisation within the program through elisp, unless you ask the user
to directly input operational inputs).

For the broader context one can describe "intercommunication" with emacs.
Interactive in emacs in most times associated with user interaction via
M-x or keybinding.


 
> What about this? I am just looking into some files and I find many of
> functions do have strong interactivity, and they are on my side called
> form Lisp. I need not call them from M-x or have them as a command
> just because functions is interacting with user.

I would also call them interactive functions, even though you do not call them 
with M-x. 
 
> (defun my-alarm ()
>   (start-process "Alarm" "Alarm" "mpv" 
> "/home/data1/protected/Media/Videos/Rooster Crowing Compilation Plus - 
> Rooster crowing sounds Effect 2016.mp4"))
> 
> 
> -- 
> Jean
> 
> Take action in Free Software Foundation campaigns:
> https://www.fsf.org/campaigns
> 
> In support of Richard M. Stallman
> https://stallmansupport.org/
> 
>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]