[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Making a function than can only be used interactively
From: |
Christopher Dimech |
Subject: |
Re: Making a function than can only be used interactively |
Date: |
Mon, 4 Jul 2022 22:10:36 +0200 |
Jul 4, 2022, 19:40 by monnier@iro.umontreal.ca:
>>> Only after byte-compile of a file?
>>> So there is no way to actually make a function interactive only?
> Please define what it is you mean by "make a function interactive only".
> Do you mean that it should be illegal to write code that calls the
> function directly, so whoever writes it can be sued?
> Would it be acceptable for someone to just think about writing such code
> as long as they don't actually write it?
> More seriously, what are you trying to gain by "mak[ing] a function
> interactive only"? Usually, the reason why one might want to make
> a function "interactive only" is that code that calls this function is
> probably incorrect and would likely be served better by some
> other function.
I could envisage a situation where someone wants to concentrate on the
interactive parts, if taking care of non-interactive use would make the
function difficult to maintain. I am not sure that it will always be
because of bad design.
> So the purpose is to help people write better code.
> For this reason the declaration only has an effect in terms of
> byte-compiler warnings: those who don't bother to byte-compile their
> code presumably don't care about the quality of their code anyway.
> Emacs doesn't offer any pre-defined way to really enforce that
> a function is only used interactively, and in large parts this is
> because, as a matter of design principle, Emacs makes no effort to stop
> people from shooting themselves in the foot (instead, it tries to make
> it easier for people not to shoot themselves in the foot).
> Stefan
I also say that it would be better to have declarations that are somewhat
safer for the general elisp user as well.
- RE: [External] : Re: Making a function than can only be used interactively, (continued)
- Re: [External] : Re: Making a function than can only be used interactively, Emanuel Berg, 2022/07/08
- Re: [External] : Re: Making a function than can only be used interactively, Emanuel Berg, 2022/07/08
- RE: [External] : Re: Making a function than can only be used interactively, Drew Adams, 2022/07/04
- no difference between interactive and "from Lisp" (was: Re: Making a function than can only be used interactively), Emanuel Berg, 2022/07/05
- Re: no difference between interactive and "from Lisp", Stefan Monnier, 2022/07/05
- Re: no difference between interactive and "from Lisp", Emanuel Berg, 2022/07/05
- Re: Making a function than can only be used interactively, Po Lu, 2022/07/03
Re: Making a function than can only be used interactively, Christopher Dimech, 2022/07/04
Re: Making a function than can only be used interactively,
Christopher Dimech <=
Re: Making a function than can only be used interactively, Christopher Dimech, 2022/07/04