all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
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



  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.