emacs-devel
[Top][All Lists]
Advanced

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

Re: How to find when a function/var has been added


From: Przemysław Wojnowski
Subject: Re: How to find when a function/var has been added
Date: Wed, 12 Aug 2015 22:39:40 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.8.0

W dniu 09.08.2015 o 08:26, Stephen Leake pisze:
Przemysław Wojnowski <address@hidden> writes:
And it will be very
easy to forget to change it on a later edit; no information is one
thing, wrong information is worse.
I don't get this one. To change "Since: x" on later edit? Why?

If the arg list or semantics of the function changes, the version in
which that happens should be noted.
This could be noted in function's docs.

Clearly we disagree here.
IMHO it is useful to any programmer that would like to write an Emacs
package that works across some emacsen. For such people Emacs is a
programming platform that can be deployed in different versions (API
versions - in case of Emacs different libs/functions/vars). Having
"Since: x" makes it faster learn and hence to write software that
works on different versions of the platform.

I misspoke; it would be useful information to have. But the cost of
providing it, at least with the mechanism you propose, is too high, for
a volunteer project like Emacs. Especially since there are other
reasonable ways to get the same information.
All I propose is to add such information incrementally. For some libs it's very easy to add - for example seq.el has been added in Emacs 25, so it can be added right away. And not all the functions has to be documented in such way - I don't expect anyone to add "Since" to, say, car function. ;-)

For example Jira is such a platform. It may be installed in different
versions, and a programmer that writes Jira plugins needs to know
which classes/methods/vars can be used safely for a plugin.

What mechanism do they use to document this information? And how much
money do they spend doing that?

Another example is Google Android; every function has "added in API nn"
annotation in the html docs. I have no idea how they generate that.
Another example is Clojure.
I don't thing any of them used some mechanism. AFAIK the standard way is to add it manually (and possibly _incrementally_ when added after releasing an API).

But Google has lots of money to pay programmers to produce that info,
and they have a strong compatibility goal; they want people to write
code that can run on many different versions of the Android platform.
What goal does Emacs have? Is there any project vision?

Emacs has neither the money, nor the strong compatibility goal (the latter
partly because of the former, of course).
There's no direct relationship between the two. Money != compatibility.
Probably here are more great developers that most companies could afford.

In general, the lack of this kind of detailed documentation is part of
the cost of using open-source software developed by volunteers.
No, its just cost of attitude. Adding it incrementally costs close to nothing.

Anyways, this discussion leads nowhere, because either way nothing will happen.

PS Sorry for late reply. I've been busy. :-|

Cheers,
Przemysław



reply via email to

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