From: Stefan Merten <stefan@merten-home.de>
To: Paul Eggert <eggert@cs.ucla.edu>
Cc: Kaushal Modi <kaushal.modi@gmail.com>,
Emacs Development <Emacs-devel@gnu.org>,
Tino Calancha <tino.calancha@gmail.com>
Subject: Refactoring in rst.el (was: Re: [Emacs-diffs] master 9ed3685a77: Lots of refactorings and a few minor improvements.)
Date: Sat, 07 Jan 2017 11:45:55 +0100 [thread overview]
Message-ID: <19306.1483785955@eskebo.fritz.box> (raw)
In-Reply-To: <28fe59fd-191f-64c0-2333-7462403d976c@cs.ucla.edu>
Hi Paul!
3 days ago Paul Eggert wrote:
> Stefan Merten wrote:
>> I got the impression, that lately few people care about these rules
>
> I'm afraid that impression is incorrect. Many developers care (hence
> this thread :-).
Thanks for reassuring. As you can see in the log I once did care but
this time thought it is no longer worth the hassle.
>> I hope the commit message below is what you require.
>
> Much better, thanks. My main problem with it is that "Refactor by
> removing old functions, introducing new functions and change existing
> functions" is too vague. Please write for an audience that includes
> people who have code that calls (say) rst-comment-region and want to
> know how to adjust the code after your changes to the API.
Which raises the question what the API of `rst.el` is. So far I was
convinced that nobody will use any function from `rst.el` - so I'd
think that nobody is impacted by refactoring even if I change
signatures of functions. Of course I may be wrong.
Apart from that I'd think the interactive functions are the *real*
interface of `rst.el` which is interesting. Refactoring, however, by
definition does not impact this behavior. Debugging and those minor
changes in behavior which I did during refactoring I did document,
however. Where key bindings are impacted I defined aliases for renamed
functions so older key bindings should continue to work.
In other languages you have this public / private concept. I remember
that in Emacs you started using a double dash in identifiers to mark
them private. For example
rst-comment-region
would be part of the public interface, while
rst--comment-region
would be an internal function not meant for public use.
Is that correct? Are the examples valid?
If so, I'd probably like to mark internal functions this way. That
would be a good idea IMHO.
Grüße
Stefan
next prev parent reply other threads:[~2017-01-07 10:45 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-04 2:27 [Emacs-diffs] master 9ed3685a77: Lots of refactorings and a few minor improvements Tino Calancha
2017-01-04 3:05 ` Paul Eggert
2017-01-04 13:56 ` Kaushal Modi
[not found] ` <492.1483523991@eskebo.fritz.box>
[not found] ` <4331.1483545171@eskebo.fritz.box>
2017-01-04 18:23 ` Paul Eggert
2017-01-07 10:45 ` Stefan Merten [this message]
2017-01-07 17:18 ` Refactoring in rst.el Paul Eggert
2017-01-14 15:18 ` Stefan Merten
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=19306.1483785955@eskebo.fritz.box \
--to=stefan@merten-home.de \
--cc=Emacs-devel@gnu.org \
--cc=eggert@cs.ucla.edu \
--cc=kaushal.modi@gmail.com \
--cc=tino.calancha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.