* Omitting Windows-specific parts from infrastructure changes @ 2015-01-16 9:54 Eli Zaretskii 2015-01-17 3:39 ` Paul Eggert 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-16 9:54 UTC (permalink / raw) To: emacs-devel When people make infrastructure and low-level changes all over the source tree, I'd appreciate if they either include the MS-Windows specific parts in the scope of the changes, or at least tell here explicitly that this-and-that parts were omitted for such-and-such reasons. Several changes installed lately did neither, which leaves those left-out places to be discovered either by chance or by bug reports. That mode of operation makes very little sense to me. Thanks in advance. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-16 9:54 Omitting Windows-specific parts from infrastructure changes Eli Zaretskii @ 2015-01-17 3:39 ` Paul Eggert 2015-01-17 8:34 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Paul Eggert @ 2015-01-17 3:39 UTC (permalink / raw) To: emacs-devel As a general rule any change that I make omits changes to MS-Windows code. I don't understand MS-Windows well enough to change its code reliably, and I have no easy way to test any changes that I would make. Typically my changes do not introduce problems on the MS-Windows side, but if I notice potential problems there I give Eli a heads-up before installing the change, so that he can address the problems. This has been our longstanding practice. The recent Qnil == 0 change was a substantial low-level change that shook out some unexpected glitches in both MS-Windows and non-MS-Windows code. Had I seen the MS-Windows glitches in advance I would have given Eli a specific heads-up about them, but I didn't see them. Sorry about that. I'm also sorry for the non-MS-Windows glitches, of course. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-17 3:39 ` Paul Eggert @ 2015-01-17 8:34 ` Eli Zaretskii 2015-01-18 18:09 ` Paul Eggert 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-17 8:34 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Date: Fri, 16 Jan 2015 19:39:12 -0800 > From: Paul Eggert <eggert@cs.ucla.edu> > > As a general rule any change that I make omits changes to MS-Windows > code. Sorry, that's not good enough. I'm sure when you do such changes, you grep (or otherwise search) the whole tree for relevant places, so you always know whether MS-Windows code is potentially involved. All I'm asking is that you provide that information when it is relevant. > I don't understand MS-Windows well enough to change its code > reliably, and I have no easy way to test any changes that I would > make. A change of strcpy/strcat to use stpcpy doesn't require any understanding of Windows specific code. A change in Makefile.in to use AM_V_* stuff doesn't require any Windows knowledge, either. I could give more examples, but I think these two are clear enough. Like I said: I'm okay with your refraining from making the changes, what I'm asking is to say that you spotted those places, with specific file names pointed out, but didn't make any changes there. Like I do when a display-related change needs changes in xterm.c or xfns.c or nsfns.m which I cannot test and sometimes cannot even compile. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-17 8:34 ` Eli Zaretskii @ 2015-01-18 18:09 ` Paul Eggert 2015-01-18 18:23 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Paul Eggert @ 2015-01-18 18:09 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii wrote: > I'm sure when you do such changes, you > grep (or otherwise search) the whole tree for relevant places No, I hardly ever do that. For example, I don't look at the Lisp code if I'm changing some aspect of the C code that shouldn't affect Lisp. And in instances like the strcpy/stpcpy change, where the changes' effects don't bleed into the MS-Windows port, I don't look at the MS-Windows code. In this sense the MS-Windows code is like the OS X code, or like any other part of the Emacs source code for that matter. Ideally, the MS-Windows code would be a completely separate module, so that changes in the Emacs core would not affect it and non-MS-Windows developers would never need to worry about it. We're obviously not there, as we have too many dependencies between the core and the MS-Windows code, one of the symptoms of which is too many "#ifdef WINDOWSNT" directives sprinkled throught the core modules. In some aspects, though, we do have good separation, and this kind of separation should be encouraged, and it's good when developers can take advantage of it. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-18 18:09 ` Paul Eggert @ 2015-01-18 18:23 ` Eli Zaretskii 2015-01-18 19:25 ` Paul Eggert 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-18 18:23 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Date: Sun, 18 Jan 2015 10:09:43 -0800 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: emacs-devel@gnu.org > > Eli Zaretskii wrote: > > I'm sure when you do such changes, you > > grep (or otherwise search) the whole tree for relevant places > > No, I hardly ever do that. Then please start doing that from now on. That is, unless you are working on a change that specifically affects only X or only Posix platforms. > Ideally, the MS-Windows code would be a completely separate module That's a completely separate issue, unrelated to the issue at hand. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-18 18:23 ` Eli Zaretskii @ 2015-01-18 19:25 ` Paul Eggert 2015-01-18 19:50 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Paul Eggert @ 2015-01-18 19:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel >>> I'm sure when you do such changes, you >>> grep (or otherwise search) the whole tree for relevant places >> >> No, I hardly ever do that. > > Then please start doing that from now on. I'd rather not. If someone else wants to search other modules for opportunities to make similar changes, that's obviously fine, but's it's not at all necessary. Work like this should belong to the modules in question; among other things, it is more efficiently done by people who care about and are expert in those modules. >> Ideally, the MS-Windows code would be a completely separate module > > That's a completely separate issue, unrelated to the issue at hand. No, the issues are related. If the modules in question were completely independent, this thread would not have come up. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-18 19:25 ` Paul Eggert @ 2015-01-18 19:50 ` Eli Zaretskii 2015-01-18 20:34 ` Paul Eggert 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-18 19:50 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Date: Sun, 18 Jan 2015 11:25:38 -0800 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: emacs-devel@gnu.org > > >>> I'm sure when you do such changes, you > >>> grep (or otherwise search) the whole tree for relevant places > >> > >> No, I hardly ever do that. > > > > Then please start doing that from now on. > > I'd rather not. If someone else wants to search other modules for opportunities > to make similar changes, that's obviously fine, but's it's not at all necessary. > Work like this should belong to the modules in question; among other things, > it is more efficiently done by people who care about and are expert in those > modules. But I didn't ask you to do the actual work, just point out the files where changes similar to what you did might be needed. That's all. Without that, people who do want to do the work are basically unable to do it, without repeating what you already did anyway, and on top of that they need to guess what methods you used to identify the places where changes are needed -- something that isn't documented in the change logs. IOW, basically the request is to post a short note about things you know anyway. The only extra work is composing the message itself. > >> Ideally, the MS-Windows code would be a completely separate module > > > > That's a completely separate issue, unrelated to the issue at hand. > > No, the issues are related. If the modules in question were completely > independent, this thread would not have come up. It would have come up anyway, since the same infrastructure is used everywhere. It's the same C language, the same object system, the same Makefile's and build system, etc. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-18 19:50 ` Eli Zaretskii @ 2015-01-18 20:34 ` Paul Eggert 2015-01-19 16:03 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Paul Eggert @ 2015-01-18 20:34 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii wrote: > IOW, basically the request is to post a short note about things you > know anyway. The only extra work is composing the message itself. But as I mentioned, I don't know these things, as I don't look at the MS-Windows code when I make changes like that. It's not reasonable to expect developers to search all modules every time they make a change that could conceivably be modified and/or adapted and/or adjusted to some other module. We already have too much to do, and this extra bureaucracy's cost would outweigh its benefit. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-18 20:34 ` Paul Eggert @ 2015-01-19 16:03 ` Eli Zaretskii 2015-01-19 18:00 ` Paul Eggert 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-19 16:03 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Date: Sun, 18 Jan 2015 12:34:01 -0800 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: emacs-devel@gnu.org > > IOW, basically the request is to post a short note about things you > know anyway. The only extra work is composing the message itself. > > But as I mentioned, I don't know these things, as I don't look at the MS-Windows code when I make changes like that. It's not reasonable to expect developers to search all modules every time they make a change that could conceivably be modified and/or adapted and/or adjusted to some other module. We already have too much to do, and this extra bureaucracy's cost would outweigh its benefit. It's a small overhead, yes. What's the alternative, though? Doing nothing means leaving the parts you side-stepped to bit-rot and generate bug reports, which is a maintenance burden we'd like to avoid, so it's clearly not acceptable. Leaving it to others to discover the places that were omitted, without any guidance as to how to identify them is too error-prone, so will again cause bugs. Another alternative would be for you to describe how you searched for relevant places in the modules you did review and change -- either by presenting the scripts and/or commands you used, or as a plain-text description of the course of actions needed to identify those places. I think this would be more work for you, but if you prefer it that way, it's probably okay, too. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-19 16:03 ` Eli Zaretskii @ 2015-01-19 18:00 ` Paul Eggert 2015-01-19 18:32 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Paul Eggert @ 2015-01-19 18:00 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii wrote: > Doing nothing means leaving the parts > you side-stepped to bit-rot and generate bug reports, Nothing is rotting here, as the code is working. No bug reports have been generated because of this longstanding practice. As the benefits of the proposed change to the practice do not appear to exceed the costs, I'd rather leave things be. > Leaving it to others to discover the places that were omitted, without > any guidance as to how to identify them is too error-prone No special guidance is needed, as the search heuristics are obvious. For example, if the change involves replacing strcat with stpcpy, look at all uses of strcat in the modules you're interested in. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-19 18:00 ` Paul Eggert @ 2015-01-19 18:32 ` Eli Zaretskii 2015-01-19 22:14 ` Paul Eggert 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-19 18:32 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Date: Mon, 19 Jan 2015 10:00:55 -0800 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: emacs-devel@gnu.org > > Eli Zaretskii wrote: > > Doing nothing means leaving the parts > > you side-stepped to bit-rot and generate bug reports, > > Nothing is rotting here, as the code is working. It is working because I cleaned it up. It didn't work before that, and in some places didn't use the new infrastructure, but the old one. Leaving this as it is will eventually produce maintenance headaches we are better without. > No bug reports have been generated because of this longstanding > practice. As the benefits of the proposed change to the practice do > not appear to exceed the costs, I'd rather leave things be. The costs are minuscule: just a short notice posted here. So I really don't understand why you refuse to honor such a simple and reasonable request for some minimal help to your fellow developers. Can you explain? > > Leaving it to others to discover the places that were omitted, without > > any guidance as to how to identify them is too error-prone > > No special guidance is needed, as the search heuristics are obvious. For > example, if the change involves replacing strcat with stpcpy, look at all uses > of strcat in the modules you're interested in. All I'm asking is to post a short note to that effect when such changes are done in the future. Without that, what needs to be done is not easily discoverable, since we don't usually document that in our logs. In contrast, someone who does this change should have no difficulty either describing the search heuristics or even pointing out the places where the changes need to be followed-up. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-19 18:32 ` Eli Zaretskii @ 2015-01-19 22:14 ` Paul Eggert 2015-01-20 16:32 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Paul Eggert @ 2015-01-19 22:14 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii wrote: > It is working because I cleaned it up. It didn't work before that No, the code already worked for the patches we're talking about, e.g., replacing strcat with stpcpy. And it still works, in the places where the MS-Windows code still uses strcat instead of stpcpy. > The costs are minuscule: just a short notice posted here. The costs would be more than that, as I'd need to examine code that I don't look at now, and I'd have to save notes about the examination somewhere, and keep track of these notes during the time period between searching and installing the fix, which is often weeks. I have dozens of variants of the GNU Emacs development sources and can't be expected to remember how each was derived, so all this work product would have to be maintained somehow. This would add nontrivial bureaucracy to the maintenance of mainline code, with only a trivial benefit to non-mainline maintenance. It's not worth it. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-19 22:14 ` Paul Eggert @ 2015-01-20 16:32 ` Eli Zaretskii 2015-01-20 21:28 ` Paul Eggert 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-20 16:32 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Date: Mon, 19 Jan 2015 14:14:28 -0800 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: emacs-devel@gnu.org > > Eli Zaretskii wrote: > It is working because I cleaned it up. It didn't work before that > > No, the code already worked for the patches we're talking about, e.g., replacing strcat with stpcpy. And it still works, in the places where the MS-Windows code still uses strcat instead of stpcpy. Beg your pardon, but how do you know this? Since you said you don't look into the Windows modules and don't understand their code, you cannot possibly know whether it works/worked or not. > The costs are minuscule: just a short notice posted here. > > The costs would be more than that, as I'd need to examine code that I don't look at now You already said you didn't want to do that, and I already said you don't have to. So this is not required. > and I'd have to save notes about the examination somewhere, and keep track of these notes during the time period between searching and installing the fix, which is often weeks. Not required: just post those notes once when you first do the examination, and don't bother updating them, if that's a burden. > This would add nontrivial bureaucracy to the maintenance of mainline code, with only a trivial benefit to non-mainline maintenance. I assure you, the benefit is not trivial for me. If it were, I wouldn't have bothered starting all this uneasy discussion. > It's not worth it. It is worth it for me. Please help me maintain the parts of Emacs in which you have no interest. Keeping those parts in good shape is a prerequisite for my participation in the project, so it is of utmost importance to me, if not to you. (I think it's also of importance to the project as a whole, but we seem to have quite different views of the project's good, so you'll probably disagree. However, I hope others will agree with me.) TIA ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-20 16:32 ` Eli Zaretskii @ 2015-01-20 21:28 ` Paul Eggert 2015-01-21 15:48 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Paul Eggert @ 2015-01-20 21:28 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 01/20/2015 08:32 AM, Eli Zaretskii wrote: >> it still works, in the places where the MS-Windows code still uses strcat instead of stpcpy. > Beg your pardon, but how do you know this? Because I made an extra effort to check, as part of following up this conversation. Normally I don't bother since there's no point, but since you raised the issue I took the time to double-check something that was already obvious. This is not something I regularly do, or want to do. > just post those notes once when you first do the examination I don't have any notes to post. I don't write notes for this sort of thing. Honestly, I don't see why this is such a big deal. Anyone who's curious about uses of strcat in the MS-Windows code can easily search the code for instances of the string "strcat". No special advice or notes are needed. And if nobody bothers to do the search, that's fine too. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-20 21:28 ` Paul Eggert @ 2015-01-21 15:48 ` Eli Zaretskii 2015-01-21 17:32 ` Paul Eggert 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-21 15:48 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Date: Tue, 20 Jan 2015 13:28:10 -0800 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: emacs-devel@gnu.org > > it still works, in the places where the MS-Windows code still uses strcat > instead of stpcpy. > > Beg your pardon, but how do you know this? > > Because I made an extra effort to check, as part of following up this conversation. Which changeset did you check? There were quite a few of them. It could be that some of them didn't break anything, but some certainly did. And leaving portions of Emacs out of the set of files that is kept in good shape is bad for maintenance, so even changes that don't break need to be made everywhere, at least as a goal. > just post those notes once when you first do the examination > > I don't have any notes to post. I don't write notes for this sort of thing. "Notes" is just a word. I'm asking you to post the information that can be used by someone else to find the places which you omitted from the scope of your changes. That information is certainly available to you when you are working on the changeset, so just publish it whenever it's the most convenient moment for you. > Honestly, I don't see why this is such a big deal. Anyone who's curious about uses of strcat in the MS-Windows code can easily search the code for instances of the string "strcat". _After_ we know that the changeset had to deal with strcat following strcpy, yes, it's a simple thing to find those places. But that's exactly what I'm asking you to publish -- the description of what to look for, either as plain text or as a script that does the job, if you used such a script and have it available. Without this information, one has to somehow glean it by reverse-engineering your commits. Which is not easy, because they are complex and quite often include changes not directly related to the main issue of the changeset. So this process is error-prone and takes precious time. Take your suggested changes in bug#19634: I think you left out at least one place in w32 files, but I cannot be sure without knowing calls to which functions should be converted to use CALLN. I need to read a 1800-odd line patch to try to understand that, whereas it would have taken you no more than a single sentence to describe that clearly. Honestly, I don't see why it's such a big deal to make this job much easier by simply publishing the information that is clear to you and at your fingertips when you work on the changeset. It is a very small overhead for you, and a huge benefit for me. So I'm asking you to please humor me with this small favor. > And if nobody bothers to do the search, that's fine too. That might be your personal goal, but please don't punish your fellow developers that happen to disagree with you on that. We all have our personal preferences, but we shouldn't go after fellow developers whose preferences are different. If we do, what kind of team are we? ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 15:48 ` Eli Zaretskii @ 2015-01-21 17:32 ` Paul Eggert 2015-01-21 17:55 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: Paul Eggert @ 2015-01-21 17:32 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel Eli Zaretskii wrote: >> it still works, in the places where the MS-Windows code still uses strcat >> instead of stpcpy. >> >> Beg your pardon, but how do you know this? >> >> Because I made an extra effort to check, as part of following up this conversation. > > Which changeset did you check? I looked at the the version of the master current as of when I wrote the email. > _After_ we know that the changeset had to deal with strcat following > strcpy, yes, it's a simple thing to find those places. Great, then you can do this simple thing, whenever you find it convenient. It's not urgent, and it can be omitted entirely for changes like this. > We all have our > personal preferences, but we shouldn't go after fellow developers > whose preferences are different. Exactly, and for several days you have been going after me, asking me to do nonessential drudgework to help polish up the MS-Windows code. I prefer not to. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 17:32 ` Paul Eggert @ 2015-01-21 17:55 ` Eli Zaretskii 2015-01-21 19:39 ` Paul Eggert 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-21 17:55 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Date: Wed, 21 Jan 2015 09:32:09 -0800 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: emacs-devel@gnu.org > > Eli Zaretskii wrote: > >> it still works, in the places where the MS-Windows code still uses strcat > >> instead of stpcpy. > >> > >> Beg your pardon, but how do you know this? > >> > >> Because I made an extra effort to check, as part of following up this conversation. > > > > Which changeset did you check? > > I looked at the the version of the master current as of when I wrote the email. All of it? And how do you know it's not broken? Did you run Emacs on Windows? Did you try all those features affected by the changes I was talking about? > > _After_ we know that the changeset had to deal with strcat following > > strcpy, yes, it's a simple thing to find those places. > > Great, then you can do this simple thing, whenever you find it > convenient. How can I do that without knowing what to do? "This simple thing" needs to be defined, and I'm asking you to help me define it. Then I can pick up where you prefer to leave off. > It's not urgent, and it can be omitted entirely for changes like > this. No, it cannot be omitted. It should be your job, as part of the changes you make. I could simply object to your changes that do a partial job, or revert them. Instead, I agree to do that work for you, and all I'm asking in return is a little help, insignificant for you, but one that will save me a non-trivial amount of time cleaning up after you. > > We all have our > > personal preferences, but we shouldn't go after fellow developers > > whose preferences are different. > > Exactly, and for several days you have been going after me, asking me to do > nonessential drudgework to help polish up the MS-Windows code. I prefer not to. You could have said yes after the first request. Then this discussion would have been long over. I'm sorry, but "I prefer not to" is unacceptable in this case. Please find a way to provide the minimal help that I'm asking for. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 17:55 ` Eli Zaretskii @ 2015-01-21 19:39 ` Paul Eggert 2015-01-21 20:07 ` Dmitry Gutov ` (2 more replies) 0 siblings, 3 replies; 28+ messages in thread From: Paul Eggert @ 2015-01-21 19:39 UTC (permalink / raw) To: Eli Zaretskii; +Cc: emacs-devel On 01/21/2015 09:55 AM, Eli Zaretskii wrote: > I could simply object to your changes that do a > partial job, or revert them. Wow, is this really a threat to block or revert changes to the Emacs mainline code, as leverage to force people to do unnecessary drudgework to help polish up the MS-Windows code? This is starting to get ridiculous. Let's drop the discussion, as we're not making any progress (quite the reverse, I'm afraid). ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 19:39 ` Paul Eggert @ 2015-01-21 20:07 ` Dmitry Gutov 2015-01-21 20:38 ` Eli Zaretskii 2015-01-21 20:08 ` David Kastrup 2015-01-21 20:30 ` Eli Zaretskii 2 siblings, 1 reply; 28+ messages in thread From: Dmitry Gutov @ 2015-01-21 20:07 UTC (permalink / raw) To: Paul Eggert, Eli Zaretskii; +Cc: emacs-devel On 01/21/2015 09:39 PM, Paul Eggert wrote: > Wow, is this really a threat to block or revert changes to the Emacs > mainline code, as leverage to force people to do unnecessary drudgework Regardless of the outcome of this discussion, I hope everyone realizes that the presence and adequate functioning of Emacs ports to proprietary operating systems is beneficial to GNU/Linux users as well, since it increases the size of the ecosystem. For instance, the maintainer of what currently seems to be the best hope for a Java editing environment (malabar-mode) uses Windows. Yours truly has spent quite a bit of time on Windows as well. Had Emacs port not been available then, I'd probably have ended up not using it at all in the end. > to help polish up the MS-Windows code? It seems to me that the goal is to help keep it up-to-date. (Sorry for butting in). ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 20:07 ` Dmitry Gutov @ 2015-01-21 20:38 ` Eli Zaretskii 0 siblings, 0 replies; 28+ messages in thread From: Eli Zaretskii @ 2015-01-21 20:38 UTC (permalink / raw) To: Dmitry Gutov; +Cc: eggert, emacs-devel > Date: Wed, 21 Jan 2015 22:07:02 +0200 > From: Dmitry Gutov <dgutov@yandex.ru> > CC: emacs-devel@gnu.org > > For instance, the maintainer of what currently seems to be the best hope > for a Java editing environment (malabar-mode) uses Windows. > > Yours truly has spent quite a bit of time on Windows as well. Had Emacs > port not been available then, I'd probably have ended up not using it at > all in the end. My main development machine runs MS-Windows. So if I'm to continue my participation in Emacs development, the Windows build must be in good shape. On top of that, for better or worse, people who use Emacs on Windows happen to look up to me for fixing whatever problems happen there. Therefore, gratuitous additional difficulties in keeping the Windows build in good shape, such as those caused by Paul's selective changes, simply prevent me from doing more work in platform-independent parts of the code, like working on bugs and features not specific to MS-Windows. It's a net loss to everyone, including Paul. > > to help polish up the MS-Windows code? > > It seems to me that the goal is to help keep it up-to-date. We want to keep all the ports for modern platforms up-to-date. > (Sorry for butting in). Nothing to be sorry for. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 19:39 ` Paul Eggert 2015-01-21 20:07 ` Dmitry Gutov @ 2015-01-21 20:08 ` David Kastrup 2015-01-21 20:49 ` Eli Zaretskii 2015-01-21 20:30 ` Eli Zaretskii 2 siblings, 1 reply; 28+ messages in thread From: David Kastrup @ 2015-01-21 20:08 UTC (permalink / raw) To: Paul Eggert; +Cc: Eli Zaretskii, emacs-devel Paul Eggert <eggert@cs.ucla.edu> writes: > On 01/21/2015 09:55 AM, Eli Zaretskii wrote: > >> I could simply object to your changes that do a >> partial job, or revert them. > > Wow, is this really a threat to block or revert changes to the Emacs > mainline code, as leverage to force people to do unnecessary > drudgework to help polish up the MS-Windows code? I don't see a threat here. When a change in master breaks functionality for a number of people, the change is reverted as a rule in the projects that I am an active member of. Once the problems have been sorted out, the change may be recommitted. A half-finished change does not just affect the person who ends up fixing the change but everybody else who is working on the platforms broken by a change. Not everyone is in a position to fix every change, and there is no point in having a dozen people frantically working on the same fix. Emacs is developed with a distributed version control system so working on private changes is perfectly possible without affecting the common public repository. Where a change requires involving multiple platform maintainers, it is easily possible to first propose/provide the change in a branch where the respective platform developers able to test or cater for a change can prepare such changes without affecting the usability of the master branch for other developers. > This is starting to get ridiculous. It struck me as ridiculous for quite longer than you it would seem, but then I would guess for quite different reasons. > Let's drop the discussion, as we're not making any progress (quite the > reverse, I'm afraid). While it does not appear that you've changed the stance of either of you two in any way, at least others became aware of the issue and of your inability to come to an agreement. That makes it more likely that others will try contributing to a resolution in case the problem reappears. But since resentment tends to be higher when people not directly affected try effecting a change, that tends to have a worse chance for deescalating the situation than if those directly affected can find a way of cooperating themselves. -- David Kastrup ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 20:08 ` David Kastrup @ 2015-01-21 20:49 ` Eli Zaretskii 2015-01-21 20:57 ` David Kastrup 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-21 20:49 UTC (permalink / raw) To: David Kastrup; +Cc: eggert, emacs-devel > From: David Kastrup <dak@gnu.org> > Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org > Date: Wed, 21 Jan 2015 21:08:20 +0100 > > Emacs is developed with a distributed version control system so working > on private changes is perfectly possible without affecting the common > public repository. > > Where a change requires involving multiple platform maintainers, it is > easily possible to first propose/provide the change in a branch where > the respective platform developers able to test or cater for a change > can prepare such changes without affecting the usability of the master > branch for other developers. That's certainly a possibility. But it, too, assumes some minimal level of cooperation between the platform maintainers. At the very least, the idea and perhaps also the details of the change should be published. It makes no sense to ask others to guess how to find which places on their platforms need change from large diffs. > > Let's drop the discussion, as we're not making any progress (quite the > > reverse, I'm afraid). > > While it does not appear that you've changed the stance of either of you > two in any way, at least others became aware of the issue and of your > inability to come to an agreement. That makes it more likely that > others will try contributing to a resolution in case the problem > reappears. I hope so, because I've exhausted all the ideas for compromise I had, and they all have been rejected. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 20:49 ` Eli Zaretskii @ 2015-01-21 20:57 ` David Kastrup 2015-01-22 3:53 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: David Kastrup @ 2015-01-21 20:57 UTC (permalink / raw) To: Eli Zaretskii; +Cc: eggert, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> From: David Kastrup <dak@gnu.org> >> Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org >> Date: Wed, 21 Jan 2015 21:08:20 +0100 >> >> Emacs is developed with a distributed version control system so working >> on private changes is perfectly possible without affecting the common >> public repository. >> >> Where a change requires involving multiple platform maintainers, it is >> easily possible to first propose/provide the change in a branch where >> the respective platform developers able to test or cater for a change >> can prepare such changes without affecting the usability of the master >> branch for other developers. > > That's certainly a possibility. But it, too, assumes some minimal > level of cooperation between the platform maintainers. At the very > least, the idea and perhaps also the details of the change should be > published. It makes no sense to ask others to guess how to find which > places on their platforms need change from large diffs. I disagree here since those others will know the way around their platform code better than someone catering for a different platform. I would not myself go pointing out which stuff should be changed in the Windows code in order to parallel some GNU/Linux specific code changes I submit. But that does not mean that a contributor should refrain from describing what he had to do on _his_ platform (with a high-level description rather than one tied into the platform-specific code) to accommodate the changes, and what functionality will likely be affected similarly on other platforms. -- David Kastrup ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 20:57 ` David Kastrup @ 2015-01-22 3:53 ` Eli Zaretskii 0 siblings, 0 replies; 28+ messages in thread From: Eli Zaretskii @ 2015-01-22 3:53 UTC (permalink / raw) To: David Kastrup; +Cc: eggert, emacs-devel > From: David Kastrup <dak@gnu.org> > Cc: eggert@cs.ucla.edu, emacs-devel@gnu.org > Date: Wed, 21 Jan 2015 21:57:52 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> From: David Kastrup <dak@gnu.org> > >> Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org > >> Date: Wed, 21 Jan 2015 21:08:20 +0100 > >> > >> Emacs is developed with a distributed version control system so working > >> on private changes is perfectly possible without affecting the common > >> public repository. > >> > >> Where a change requires involving multiple platform maintainers, it is > >> easily possible to first propose/provide the change in a branch where > >> the respective platform developers able to test or cater for a change > >> can prepare such changes without affecting the usability of the master > >> branch for other developers. > > > > That's certainly a possibility. But it, too, assumes some minimal > > level of cooperation between the platform maintainers. At the very > > least, the idea and perhaps also the details of the change should be > > published. It makes no sense to ask others to guess how to find which > > places on their platforms need change from large diffs. > > I disagree here since those others will know the way around their > platform code better than someone catering for a different platform. Once the information about what should be changed is given, yes. And that is all that was requested. > I would not myself go pointing out which stuff should be changed in the > Windows code in order to parallel some GNU/Linux specific code changes > I submit. No one requested that. > But that does not mean that a contributor should refrain from describing > what he had to do on _his_ platform (with a high-level description > rather than one tied into the platform-specific code) to accommodate the > changes, and what functionality will likely be affected similarly on > other platforms. Exactly, this is the only request. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 19:39 ` Paul Eggert 2015-01-21 20:07 ` Dmitry Gutov 2015-01-21 20:08 ` David Kastrup @ 2015-01-21 20:30 ` Eli Zaretskii 2015-01-21 20:49 ` David Kastrup 2 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-21 20:30 UTC (permalink / raw) To: Paul Eggert; +Cc: emacs-devel > Date: Wed, 21 Jan 2015 11:39:34 -0800 > From: Paul Eggert <eggert@cs.ucla.edu> > CC: emacs-devel@gnu.org > > On 01/21/2015 09:55 AM, Eli Zaretskii wrote: > > > I could simply object to your changes that do a > > partial job, or revert them. > > Wow, is this really a threat to block or revert changes to the Emacs > mainline code, as leverage to force people to do unnecessary drudgework > to help polish up the MS-Windows code? No. It's a reminder that infrastructure changes should be done across the board, or not at all. A developer who does such changes cannot unilaterally decide that some parts of the code will be exempted. It is okay to ask others to help with platforms to which you don't have access. I offered you my help with Emacs code specific to MS-Windows. That offer still stands. IOW, what you call "polish up MS-Windows code" is actually part of the job of developing Emacs. You cannot unilaterally decide to change this policy. > This is starting to get ridiculous. Let's drop the discussion, as we're > not making any progress (quite the reverse, I'm afraid). I already suggested several ways to resolve this. Feel free to make your own suggestions, provided that the result will be that such changes are done everywhere, without unduly punishing your fellow developers who offer you help to do parts of your job. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 20:30 ` Eli Zaretskii @ 2015-01-21 20:49 ` David Kastrup 2015-01-22 3:51 ` Eli Zaretskii 0 siblings, 1 reply; 28+ messages in thread From: David Kastrup @ 2015-01-21 20:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Paul Eggert, emacs-devel Eli Zaretskii <eliz@gnu.org> writes: >> Date: Wed, 21 Jan 2015 11:39:34 -0800 >> From: Paul Eggert <eggert@cs.ucla.edu> > >> This is starting to get ridiculous. Let's drop the discussion, as we're >> not making any progress (quite the reverse, I'm afraid). > > I already suggested several ways to resolve this. Feel free to make > your own suggestions, provided that the result will be that such > changes are done everywhere, without unduly punishing your fellow > developers who offer you help to do parts of your job. It's not his job. We are rather talking about how to enable different people interested in different things to continue working on code in the same Emacs repository. As far as I know, it is nobody's _job_ to do so currently (Gerd Möllmann once had a job working on the Emacs 21 display engine if I remember correctly). Neither the parts he did are his "job", nor the parts he did not do. In a project driven by volunteers it makes good sense when people invest those kinds of work that otherwise would cause a much larger workload. Sometimes this does not work, like when basically the best-suited person for pretty much any task is the same person. In that case, there is some sense in others doing part of the work in spite of them being less efficient at it, simply because there are limits to what a single person can do. However, in a project as large and diverse as Emacs, when we indeed have the situation "if I had to tell anybody what I am doing, I would not have enough time to do it", this is basically an unmaintainable situation where indeed it might be more prudent from refraining to a change where not even the resources for properly implementing it throughout the code base _or_ communicating the necessary changes are available. -- David Kastrup ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-21 20:49 ` David Kastrup @ 2015-01-22 3:51 ` Eli Zaretskii 2015-01-22 14:20 ` Stefan Monnier 0 siblings, 1 reply; 28+ messages in thread From: Eli Zaretskii @ 2015-01-22 3:51 UTC (permalink / raw) To: David Kastrup; +Cc: eggert, emacs-devel > From: David Kastrup <dak@gnu.org> > Cc: Paul Eggert <eggert@cs.ucla.edu>, emacs-devel@gnu.org > Date: Wed, 21 Jan 2015 21:49:29 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > >> Date: Wed, 21 Jan 2015 11:39:34 -0800 > >> From: Paul Eggert <eggert@cs.ucla.edu> > > > >> This is starting to get ridiculous. Let's drop the discussion, as we're > >> not making any progress (quite the reverse, I'm afraid). > > > > I already suggested several ways to resolve this. Feel free to make > > your own suggestions, provided that the result will be that such > > changes are done everywhere, without unduly punishing your fellow > > developers who offer you help to do parts of your job. > > It's not his job. We are rather talking about how to enable different > people interested in different things to continue working on code in the > same Emacs repository. No, we are talking about making changes in infrastructure used by all platforms. Once someone decides to make such changes, making good-faith effort to do that in all parts of Emacs is part of the job. It could be done either by actually making those changes all over, or by asking platform maintainers to do the parts related to their platforms. In the latter case, the platform maintainers should have enough information about the proposed change to be able to do their parts without investing too much time and effort where the initiator can help them avoid that. For example, in the recently discussed changeset that uses CALLN for some C-level calls to Lisp APIs, the information that should be passed to platform maintainers is how to identify the offending calls. This information is clear to the person who initiated the change and it's possible to describe it in a sentence or two. I have hard time understanding how this kind of requirement could be described as impossible or hard to comply. ^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: Omitting Windows-specific parts from infrastructure changes 2015-01-22 3:51 ` Eli Zaretskii @ 2015-01-22 14:20 ` Stefan Monnier 0 siblings, 0 replies; 28+ messages in thread From: Stefan Monnier @ 2015-01-22 14:20 UTC (permalink / raw) To: Eli Zaretskii; +Cc: David Kastrup, emacs-devel, eggert I don't want to get into this discussion, but in case people wonder where I stand, I fully agree with Eli's position below. Stefan > No, we are talking about making changes in infrastructure used by all > platforms. Once someone decides to make such changes, making > good-faith effort to do that in all parts of Emacs is part of the job. > It could be done either by actually making those changes all over, or > by asking platform maintainers to do the parts related to their > platforms. In the latter case, the platform maintainers should have > enough information about the proposed change to be able to do their > parts without investing too much time and effort where the initiator > can help them avoid that. > For example, in the recently discussed changeset that uses CALLN for > some C-level calls to Lisp APIs, the information that should be passed > to platform maintainers is how to identify the offending calls. This > information is clear to the person who initiated the change and it's > possible to describe it in a sentence or two. I have hard time > understanding how this kind of requirement could be described as > impossible or hard to comply. ^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2015-01-22 14:20 UTC | newest] Thread overview: 28+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2015-01-16 9:54 Omitting Windows-specific parts from infrastructure changes Eli Zaretskii 2015-01-17 3:39 ` Paul Eggert 2015-01-17 8:34 ` Eli Zaretskii 2015-01-18 18:09 ` Paul Eggert 2015-01-18 18:23 ` Eli Zaretskii 2015-01-18 19:25 ` Paul Eggert 2015-01-18 19:50 ` Eli Zaretskii 2015-01-18 20:34 ` Paul Eggert 2015-01-19 16:03 ` Eli Zaretskii 2015-01-19 18:00 ` Paul Eggert 2015-01-19 18:32 ` Eli Zaretskii 2015-01-19 22:14 ` Paul Eggert 2015-01-20 16:32 ` Eli Zaretskii 2015-01-20 21:28 ` Paul Eggert 2015-01-21 15:48 ` Eli Zaretskii 2015-01-21 17:32 ` Paul Eggert 2015-01-21 17:55 ` Eli Zaretskii 2015-01-21 19:39 ` Paul Eggert 2015-01-21 20:07 ` Dmitry Gutov 2015-01-21 20:38 ` Eli Zaretskii 2015-01-21 20:08 ` David Kastrup 2015-01-21 20:49 ` Eli Zaretskii 2015-01-21 20:57 ` David Kastrup 2015-01-22 3:53 ` Eli Zaretskii 2015-01-21 20:30 ` Eli Zaretskii 2015-01-21 20:49 ` David Kastrup 2015-01-22 3:51 ` Eli Zaretskii 2015-01-22 14:20 ` Stefan Monnier
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.