unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* emacs-win-builder
@ 2016-08-30 19:47 Nikolay Kudryavtsev
  2016-08-31 14:17 ` emacs-win-builder Eli Zaretskii
  2016-08-31 21:45 ` emacs-losedows-builder Richard Stallman
  0 siblings, 2 replies; 23+ messages in thread
From: Nikolay Kudryavtsev @ 2016-08-30 19:47 UTC (permalink / raw)
  To: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1866 bytes --]

Hello.

Here's something I would like to propose for inclusion into GNU Emacs 
early on, before it gets any contributors that didn't assign copyrights 
to FSF.

Ladies and gentlemen, presenting emacs-win-builder, an Elisp script for 
building Emacs on Windows. Currently I published it here 
<https://github.com/sg2002/emacs-win-builder>.

The general idea is very simple. You start with only wget installed and 
Emacs sources, run a single function and get a new version of Emacs 
built for you. This installs the appropriate toolchain(MinGW and Msys2 
are both supported), then goes through the whole autogen -> configure -> 
make -> make install cycle.

I believe this would save some time, both for maintainers of Emacs on 
Windows and general users. This also allows Emacs developers to keep the 
build procedure as complex as required, without having to worry about 
making it too hard for users to follow. Also, this lowers the dependency 
on any toolchain, since we can always add some of our own patches or non 
standard versions of packages into the process(MinGW build already uses 
quite few of them). People who want to hack around the build process 
would always have a working place to start from. Also users would be 
able to test bug fixes immediately without having to wait for a third 
party or the next RC.

Currently there are a few hacky pats, some parts should be better 
documented, but the main build procedure works for every currently 
possible build. Out of optional things, for MinGW only gnutls is 
currently built, but this is solvable. Also, I'm not so sure on the 
versions of MinGW libraries, this needs review from someone with better 
knowledge. I haven't thoroughly tested the resulting builds, but since 
this script does not do any magic, any possible problems with them seem 
solvable.

-- 
Best Regards,
Nikolay Kudryavtsev


[-- Attachment #2: Type: text/html, Size: 2345 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-win-builder
  2016-08-30 19:47 emacs-win-builder Nikolay Kudryavtsev
@ 2016-08-31 14:17 ` Eli Zaretskii
  2016-09-01 12:39   ` emacs-win-builder Nikolay Kudryavtsev
  2016-08-31 21:45 ` emacs-losedows-builder Richard Stallman
  1 sibling, 1 reply; 23+ messages in thread
From: Eli Zaretskii @ 2016-08-31 14:17 UTC (permalink / raw)
  To: Nikolay Kudryavtsev; +Cc: emacs-devel

> From: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
> Date: Tue, 30 Aug 2016 22:47:48 +0300
> 
> Ladies and gentlemen, presenting emacs-win-builder, an Elisp script for building Emacs on Windows. Currently I published it here.
> 
> The general idea is very simple. You start with only wget installed and Emacs sources, run a single function and get a new version of Emacs built for you. This installs the appropriate toolchain(MinGW and Msys2 are both supported), then goes through the whole autogen -> configure -> make -> make install cycle.
> 
> I believe this would save some time, both for maintainers of Emacs on Windows and general users. This also allows Emacs developers to keep the build procedure as complex as required, without having to worry about making it too hard for users to follow. Also, this lowers the dependency on any toolchain, since we can always add some of our own patches or non standard versions of packages into the process(MinGW build already uses quite few of them). People who want to hack around the build process would always have a working place to start from. Also users would be able to test bug fixes immediately without having to wait for a third party or the next RC.
> 
> Currently there are a few hacky pats, some parts should be better documented, but the main build procedure works for every currently possible build. Out of optional things, for MinGW only gnutls is currently built, but this is solvable. Also, I'm not so sure on the versions of MinGW libraries, this needs review from someone with better knowledge. I haven't thoroughly tested the resulting builds, but since this script does not do any magic, any possible problems with them seem solvable.

Thanks.  I have no problem with offering this in nt/ as an alternative
build method, provided that it is mentioned in nt/INSTALL and
nt/INSTALL.W64.

I have a few comments to the script and its concept:

 . It invokes MSYS programs from a (presumably) native Emacs,
   something that might not necessarily work, depending on the
   end-user setup.  E.g., on my systems, MSYS can only work when
   invoked from the MSYS Bash window.  Caveat emptor!

 . Your function that invokes the various commands ignores the return
   value of process-file-shell-command, so if some part of the build
   fails, the script will happily continue invoking the rest of the
   build commands regardless.  Also, it looks like the output of the
   build commands is not shown as the build proceeds, which means the
   user is building blind and cannot interrupt a runaway build.
   Wouldn't it be better to use start-file-process instead?

 . The list of dependencies to download should IMO be on a separate
   file and in a format that can be easily changed by someone who is
   not too proficient in Lisp, because the dependencies change and
   their versions change even more frequently.  The repeated portions
   of the URLs of the download sites could also be specified only
   once in that separate file.

 . Various versions of 7z are not Free Software, so I think we'd
   prefer to use bsdtar from libarchive instead.  As a bonus, users
   will be saved from the UAC elevation prompts when installing the
   package (at least with libarchive available from the ezwinports
   site).

 . This comment:

   (process-file-shell-command (concat "\"" (ewb-get-wget) "\" --no-check-certificate " file
				       ;; ezwinports version of wget needs -O flag
				       ;; otherwise it saves files as "download"
					" -O" file-name) nil "ewb")

    made me raise my brow: I use that version of wget all the time,
    and it certainly does NOT save files as "download".  So some other
    factor is at work here, most probably the download URLs that all
    end in "/download".  A better URL is something like this:

     http://downloads.sourceforge.net/project/ezwinports/FILE

    where FILE is the file you want to download, like
    zlib-1.2.8-2-w32-bin.zip.

  . Last but not least: AFAIK, Windows will not allow you to install
    executables and DLLs that overwrite running modules.  So, for
    example, running "make install" from an Emacs that lives in the
    same directory as where "make install" will copy the newly-built
    executable will fail, and I think likewise with DLLs that are in
    use by the running Emacs process.  Users should be aware of that
    caveat, and maybe the script should install in some staging area,
    leaving it to the user to copy to the final destination after
    exiting Emacs.

Thanks again for working on this.  I urge people here to try your
script and return feedback.



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-08-30 19:47 emacs-win-builder Nikolay Kudryavtsev
  2016-08-31 14:17 ` emacs-win-builder Eli Zaretskii
@ 2016-08-31 21:45 ` Richard Stallman
  2016-09-01  8:37   ` emacs-losedows-builder Simon Friis Vindum
  2016-09-01 12:44   ` emacs-losedows-builder Nikolay Kudryavtsev
  1 sibling, 2 replies; 23+ messages in thread
From: Richard Stallman @ 2016-08-31 21:45 UTC (permalink / raw)
  To: Nikolay Kudryavtsev; +Cc: emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

Our policy is not to refer to Windows by a term of praise such as
'win'.  Since that script is for building on Windows, please replace
'win' with 'windows' or 'losedows'.

Windows is a double injustice -- it is proprietary and it is malware.
(See http://gnu.org/proprietary/malware-microsoft.html.)
We incorporate users' changes for running on Windows, and if the
Emacs developers like your changes, we can include them too.

But we must always teach people that _Windows is a bad thing_.

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-08-31 21:45 ` emacs-losedows-builder Richard Stallman
@ 2016-09-01  8:37   ` Simon Friis Vindum
  2016-09-01 18:54     ` emacs-losedows-builder Richard Stallman
  2016-09-01 12:44   ` emacs-losedows-builder Nikolay Kudryavtsev
  1 sibling, 1 reply; 23+ messages in thread
From: Simon Friis Vindum @ 2016-09-01  8:37 UTC (permalink / raw)
  To: rms; +Cc: Nikolay Kudryavtsev, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 246 bytes --]

On Aug 31, 2016 11:45 PM, "Richard Stallman" <rms@gnu.org> wrote:
> But we must always teach people that _Windows is a bad thing_.

I think we would be teaching that in a more effective and civil way if we
refrained from name calling/nicknaming.

[-- Attachment #2: Type: text/html, Size: 335 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-win-builder
  2016-08-31 14:17 ` emacs-win-builder Eli Zaretskii
@ 2016-09-01 12:39   ` Nikolay Kudryavtsev
  2016-09-01 14:05     ` emacs-win-builder Eli Zaretskii
  0 siblings, 1 reply; 23+ messages in thread
From: Nikolay Kudryavtsev @ 2016-09-01 12:39 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

[-- Attachment #1: Type: text/plain, Size: 2541 bytes --]

> E.g., on my systems, MSYS can only work when invoked from the MSYS Bash window.

That's interesting. What's the possible breaking point here? Assuming 
that we clear our exec-path, use bash.exe from msys directory and add 
whatever necessary to the process environment, I could not think of 
anything that should break here, that's not easily fixable.

> Wouldn't it be better to use start-file-process instead?
Yes, I'm planning to fix that. Just wanted to have this ready for 
testing ASAP.

> The list of dependencies to download should IMO be on a separate file.
Was thinking of doing that too. Will do.

> The repeated portions of the URLs of the download sites could also be specified only once in that separate file.
Great idea. Gonna implement that.

>   Various versions of 7z are not Free Software, so I think we'd prefer to use bsdtar from libarchive instead.
Well, 7z is lGPL 2.1 with unrar exception and IMHO that's one of the 
cases where having non-free code is ethical. But, I do understand those 
who disagree. The practical reason why 7z is used there, is that I 
wanted to limit the need for manual user action. Since 7z is distributed 
as exe, you can install it from a script. For libarchive we would need 
some way to extract zip files first. GnuWin provides a setup version of 
unzip <http://gnuwin32.sourceforge.net/packages/unzip.htm>, so I guess 
that would be one option.

> So some other factor is at work here, most probably the download URLs that all end in "/download".
Yep. I missed that sourceforge does a redirect from filename too. Will fix.

> install in some staging area, leaving it to the user to copy to the final destination after exiting Emacs.
Or maybe install into staging area, then try to copy to the final 
destination? Alert when fail. Gonna implement some solution to that end, 
since this is something that would happen from time to time.

Eli, I also have a couple questions for you and maybe other people who 
may have that knowledge.

First, what would be some reasonable optimization profiles. I think we 
all agree that we want to have something with debug information as 
default. So what would be the best flags here? And then there should be 
an option to make an optimized build, what would be the best flags for 
it? Also I do "--enable-checking='yes,glyphs' 
--enable-check-lisp-object-type" everywhere. Just in case, is keeping 
those flags everywhere safe? Also, are there any other configure related 
options we may want to implement?

-- 
Best Regards,
Nikolay Kudryavtsev


[-- Attachment #2: Type: text/html, Size: 3612 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-08-31 21:45 ` emacs-losedows-builder Richard Stallman
  2016-09-01  8:37   ` emacs-losedows-builder Simon Friis Vindum
@ 2016-09-01 12:44   ` Nikolay Kudryavtsev
  2016-09-01 18:55     ` emacs-losedows-builder Richard Stallman
  1 sibling, 1 reply; 23+ messages in thread
From: Nikolay Kudryavtsev @ 2016-09-01 12:44 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel

Hello, Richard.

Ok, will rename it to windows-builder.

As a non-native english speaker, I'm sometimes baffled, how pun-centric 
the anglophonic humor(and culture in general) is.

-- 
Best Regards,
Nikolay Kudryavtsev




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-win-builder
  2016-09-01 12:39   ` emacs-win-builder Nikolay Kudryavtsev
@ 2016-09-01 14:05     ` Eli Zaretskii
  0 siblings, 0 replies; 23+ messages in thread
From: Eli Zaretskii @ 2016-09-01 14:05 UTC (permalink / raw)
  To: Nikolay Kudryavtsev; +Cc: emacs-devel

> From: Nikolay Kudryavtsev <nikolay.kudryavtsev@gmail.com>
> Cc: emacs-devel@gnu.org
> Date: Thu, 1 Sep 2016 15:39:42 +0300
> 
>  E.g., on my systems, MSYS can only work when invoked from the MSYS Bash
>  window.
> 
> That's interesting. What's the possible breaking point here? Assuming that we clear our exec-path, use
> bash.exe from msys directory and add whatever necessary to the process environment, I could not think of
> anything that should break here, that's not easily fixable.

Mainly, PATH (in process-environment) vs exec-path, which is
exacerbated by MSYS remapping of /usr etc. to Windows directory
structure.  I think you worked around that for the case that MinGW and
MSYS are installed as part of your script, but you cannot possibly do
that reliably for a system where both are already installed.  E.g., on
my system, MSYS and MinGW are in two separate trees, side by side, and
there's no easy way for you to know how MSYS /usr/bin is remapped to
its Windows name.

> For libarchive we would need some way to extract zip files
> first. GnuWin provides a setup version of unzip, so I guess that
> would be one option.

Doesn't w32-shell-execute work?  The Explorer can unzip archives, so
perhaps this could be an alternative, if it works.

> First, what would be some reasonable optimization profiles. I think we all agree that we want to have
> something with debug information as default. So what would be the best flags here? And then there should be
> an option to make an optimized build, what would be the best flags for it?

I use "-O0 -gdwarf-2 -g3" for debug builds, and "-O2 -gdwarf-2 -g3"
(or even -gdwarf-4 for GCC 5 and later) for optimized builds.  GNU
projects normally do "make install-strip" for the official releases
and "make install" for pretests and snapshots, so my advice would be
to do that here as well.

> Also I do
> "--enable-checking='yes,glyphs' --enable-check-lisp-object-type"
> everywhere.

It's a good idea in pretests and snapshots, but I think you should
remove it for official releases. They just make Emacs slower, which is
not a good thing in production.

> Also, are there any other configure related options we may want to implement?

The --with-modules switch comes to mind, but that's all.  For 32-bit
builds, I'd also recommend --with-wide-int, but I know some people
disagree.



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-01  8:37   ` emacs-losedows-builder Simon Friis Vindum
@ 2016-09-01 18:54     ` Richard Stallman
  2016-09-01 23:17       ` emacs-losedows-builder Dmitry Gutov
  2016-09-02  1:05       ` emacs-losedows-builder John Wiegley
  0 siblings, 2 replies; 23+ messages in thread
From: Richard Stallman @ 2016-09-01 18:54 UTC (permalink / raw)
  To: Simon Friis Vindum; +Cc: nikolay.kudryavtsev, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > I think we would be teaching that in a more effective and civil way if we
  > refrained from name calling/nicknaming.

Name-calling is a very effective method for spreading the idea that
something is evil -- in this case Windows.  Since Microsoft is so much
more powerful than we are, and has many weapons that are not available
to us, I don't think we should feel obliged to tie our mouths behind
our backs.

Contrariwise, pleasant nicknames such as "win" tend to act as support.
That's why we don't refer to Windows as "win".

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-01 12:44   ` emacs-losedows-builder Nikolay Kudryavtsev
@ 2016-09-01 18:55     ` Richard Stallman
  2016-09-12 17:43       ` emacs-losedows-builder Nikolay Kudryavtsev
  0 siblings, 1 reply; 23+ messages in thread
From: Richard Stallman @ 2016-09-01 18:55 UTC (permalink / raw)
  To: Nikolay Kudryavtsev; +Cc: emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > Ok, will rename it to windows-builder.

Thank you.

  > As a non-native english speaker, I'm sometimes baffled, how pun-centric 
  > the anglophonic humor(and culture in general) is.

Do people not make puns in your language?

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-01 18:54     ` emacs-losedows-builder Richard Stallman
@ 2016-09-01 23:17       ` Dmitry Gutov
  2016-09-02  1:36         ` emacs-losedows-builder Paul Eggert
  2016-09-02 13:10         ` emacs-losedows-builder Richard Stallman
  2016-09-02  1:05       ` emacs-losedows-builder John Wiegley
  1 sibling, 2 replies; 23+ messages in thread
From: Dmitry Gutov @ 2016-09-01 23:17 UTC (permalink / raw)
  To: rms, Simon Friis Vindum; +Cc: nikolay.kudryavtsev, emacs-devel

Hello Richard,

On 01.09.2016 21:54, Richard Stallman wrote:

> Name-calling is a very effective method for spreading the idea that
> something is evil -- in this case Windows.

Not when doing so makes us appear childish. People are less inclined to 
heed warnings from those who they do not take seriously. And in this 
case, there's no "meat" to the message. Just name-calling.

> Contrariwise, pleasant nicknames such as "win" tend to act as support.
> That's why we don't refer to Windows as "win".

Let's call it "windows", then. Though I cannot think of a time when I've 
read e.g. "win32" and made an association with "win" as in "victory". Or 
if I did, it didn't make me think about Windows better anyway (and I've 
used it for years).

Best regards,
Dmitry.



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-01 18:54     ` emacs-losedows-builder Richard Stallman
  2016-09-01 23:17       ` emacs-losedows-builder Dmitry Gutov
@ 2016-09-02  1:05       ` John Wiegley
  1 sibling, 0 replies; 23+ messages in thread
From: John Wiegley @ 2016-09-02  1:05 UTC (permalink / raw)
  To: Richard Stallman; +Cc: Simon Friis Vindum, nikolay.kudryavtsev, emacs-devel

>>>>> "RS" == Richard Stallman <rms@gnu.org> writes:

RS> Name-calling is a very effective method for spreading the idea that
RS> something is evil -- in this case Windows. Since Microsoft is so much more
RS> powerful than we are, and has many weapons that are not available to us, I
RS> don't think we should feel obliged to tie our mouths behind our backs.

I disagree with this sentiment, Richard. Name-calling hurts your cause, it
does not help it.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-01 23:17       ` emacs-losedows-builder Dmitry Gutov
@ 2016-09-02  1:36         ` Paul Eggert
  2016-09-12 17:14           ` emacs-losedows-builder Nikolay Kudryavtsev
  2016-09-02 13:10         ` emacs-losedows-builder Richard Stallman
  1 sibling, 1 reply; 23+ messages in thread
From: Paul Eggert @ 2016-09-02  1:36 UTC (permalink / raw)
  To: Dmitry Gutov, rms, Simon Friis Vindum; +Cc: nikolay.kudryavtsev, emacs-devel

Dmitry Gutov wrote:

> Let's call it "windows", then.

In the rest of Emacs we typically call it MS-Windows, to distinguish it from 
other windowing systems like X. So I suggest using "ms-windows" in the name, 
instead of just "windows".



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-01 23:17       ` emacs-losedows-builder Dmitry Gutov
  2016-09-02  1:36         ` emacs-losedows-builder Paul Eggert
@ 2016-09-02 13:10         ` Richard Stallman
  2016-09-02 13:19           ` emacs-losedows-builder Dmitry Gutov
  2016-09-02 14:15           ` emacs-losedows-builder Kaushal Modi
  1 sibling, 2 replies; 23+ messages in thread
From: Richard Stallman @ 2016-09-02 13:10 UTC (permalink / raw)
  To: Dmitry Gutov; +Cc: simonfv, nikolay.kudryavtsev, emacs-devel

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > Not when doing so makes us appear childish.

Perhaps you underestimate the political power of derision.  Or perhaps
you think of Microsoft as a competitor that deserves respect, rather
than as an enemy that has subjugated millions of people.

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-02 13:10         ` emacs-losedows-builder Richard Stallman
@ 2016-09-02 13:19           ` Dmitry Gutov
  2016-09-02 14:15           ` emacs-losedows-builder Kaushal Modi
  1 sibling, 0 replies; 23+ messages in thread
From: Dmitry Gutov @ 2016-09-02 13:19 UTC (permalink / raw)
  To: rms; +Cc: simonfv, nikolay.kudryavtsev, emacs-devel

On 02.09.2016 16:10, Richard Stallman wrote:

>   > Not when doing so makes us appear childish.
>
> Perhaps you underestimate the political power of derision.  Or perhaps
> you think of Microsoft as a competitor that deserves respect, rather
> than as an enemy that has subjugated millions of people.

No, I just mean that there are different classes of insults. If we 
employ phrases typically used by children (I'm exaggerating a bit here), 
it makes us look less intelligent/trustworthy/etc.



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-02 13:10         ` emacs-losedows-builder Richard Stallman
  2016-09-02 13:19           ` emacs-losedows-builder Dmitry Gutov
@ 2016-09-02 14:15           ` Kaushal Modi
  2016-09-02 17:44             ` emacs-losedows-builder Richard Copley
  2016-09-02 18:46             ` emacs-losedows-builder Richard Stallman
  1 sibling, 2 replies; 23+ messages in thread
From: Kaushal Modi @ 2016-09-02 14:15 UTC (permalink / raw)
  To: rms, Dmitry Gutov; +Cc: simonfv, nikolay.kudryavtsev, emacs-devel

[-- Attachment #1: Type: text/plain, Size: 1117 bytes --]

On Fri, Sep 2, 2016, 7:12 AM Richard Stallman <rms@gnu.org> wrote:

> Or perhaps
> you think of Microsoft as a competitor that deserves respect, rather
> than as an enemy that has subjugated millions of people.
>

Actually before you brought this up, I never thought of the "win" part in
Windows could mean any respect at all. "Win" gives a positive message
probably just in English language and happens to be the first part of the
word windows. This kind of micro-digging to find ways of name calling the
competitor does not suit well to our community. If we should find and
advertise tangible reasons to why we are better than the competitor.

For all many would care, windows might as well be foodows, and the code in
the patch used foo- instead of win-.  That "win-" part means nothing else
than happening to be the first part of Windows. Victory flags do not go
waving in my mind when I read some code with "win-". I believe such trivial
refactoring feedback would be demoralizing to contributors.

But I agree with the similar change suggested by Glenn on the grounds of
coding consistency.

> --

Kaushal Modi

[-- Attachment #2: Type: text/html, Size: 1711 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-02 14:15           ` emacs-losedows-builder Kaushal Modi
@ 2016-09-02 17:44             ` Richard Copley
  2016-09-03 12:02               ` emacs-losedows-builder Richard Stallman
  2016-09-02 18:46             ` emacs-losedows-builder Richard Stallman
  1 sibling, 1 reply; 23+ messages in thread
From: Richard Copley @ 2016-09-02 17:44 UTC (permalink / raw)
  To: Kaushal Modi
  Cc: simonfv, Emacs Development, Richard Stallman, nikolay.kudryavtsev,
	Dmitry Gutov

On 2 September 2016 at 15:15, Kaushal Modi <kaushal.modi@gmail.com> wrote:
>
>
> On Fri, Sep 2, 2016, 7:12 AM Richard Stallman <rms@gnu.org> wrote:
>>
>> Or perhaps
>> you think of Microsoft as a competitor that deserves respect, rather
>> than as an enemy that has subjugated millions of people.
>
>
> Actually before you brought this up, I never thought of the "win" part in
> Windows could mean any respect at all. "Win" gives a positive message
> probably just in English language and happens to be the first part of the
> word windows. This kind of micro-digging to find ways of name calling the
> competitor does not suit well to our community. If we should find and
> advertise tangible reasons to why we are better than the competitor.
>
> For all many would care, windows might as well be foodows, and the code in
> the patch used foo- instead of win-.  That "win-" part means nothing else
> than happening to be the first part of Windows. Victory flags do not go
> waving in my mind when I read some code with "win-". I believe such trivial
> refactoring feedback would be demoralizing to contributors.

I agree. The ancestor of the word "window" came from words meaning
"wind" and "eye", according to the OED, but it's natural and near-universal
to treat it as an atomic unit.

There's no particular need to use "win" as an abbreviation and it's not
very pleasing, so I don't mind trying to avoid it. The exception is when
referring to Win32 (the subsystem, the API or whatever). That's its name
and it's silly to call it anything else.

> But I agree with the similar change suggested by Glenn on the grounds of
> coding consistency.



^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-02 14:15           ` emacs-losedows-builder Kaushal Modi
  2016-09-02 17:44             ` emacs-losedows-builder Richard Copley
@ 2016-09-02 18:46             ` Richard Stallman
  2016-09-02 20:12               ` emacs-losedows-builder Emanuel Berg
  1 sibling, 1 reply; 23+ messages in thread
From: Richard Stallman @ 2016-09-02 18:46 UTC (permalink / raw)
  To: Kaushal Modi; +Cc: simonfv, emacs-devel, nikolay.kudryavtsev, dgutov

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > "Win" gives a positive message
  > probably just in English language

English is the principal language of computing, and the principal
language of the GNU Project's communications.  The text in the Emacs
distribution is nearly all in English.  Thus, what things mean or
suggest in English is of paramount importance.

But you might not know that in the hacker community "Win!" is used as
an exclamation meaning "Great!" or "What a success!"  We are not going
to say that about a proprietary program.

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-02 18:46             ` emacs-losedows-builder Richard Stallman
@ 2016-09-02 20:12               ` Emanuel Berg
  0 siblings, 0 replies; 23+ messages in thread
From: Emanuel Berg @ 2016-09-02 20:12 UTC (permalink / raw)
  To: emacs-devel

Richard Stallman wrote:

> English is the principal language of
> computing

Indeed.

People who speak English as their first
language sometimes express understanding when
people do documentation in their own,
non-English languages or even write comments or
code in some language other than English.

While I understand the desire to be
non-nationalistic and non-whatever this is an
incorrect approach. To have people be anything
less than fluent in (written) English is to
wish for them never to reach their potential as
hackers, for their programs never to reach the
global village of computing... Ah, what I mean
to say is: not good!

Note that this doesn't mean books (manuals),
webpages and perhaps some parts of
documentation shouldn't be translated and/or
produced in different languages.

E.g., books that can end up in public libraries
should be translated - I know the "book flow"
so let me tell you, even books in very wierd
subjects end up in public libraries, if they
are in the spoken language of that country!

This is more like a "charm offensive" tho - to
attract complete newcomers etc. and give the
movement as broad as surface as possible to the
general public - to give them a soft start -
for anyone aspiring to dig deep it should be
clear he or she needs to pick up English,
starting today...

And the best way to do it is to do it while
doing computing! As always, you shouldn't let
school disturb you studies!

-- 
underground experts united .... http://user.it.uu.se/~embe8573
Emacs Gnus Blogomatic ......... http://user.it.uu.se/~embe8573/blogomatic
                   - so far: 68 Blogomatic articles -                   




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-02 17:44             ` emacs-losedows-builder Richard Copley
@ 2016-09-03 12:02               ` Richard Stallman
  2016-09-04  6:51                 ` emacs-losedows-builder Tim Cross
  0 siblings, 1 reply; 23+ messages in thread
From: Richard Stallman @ 2016-09-03 12:02 UTC (permalink / raw)
  To: Richard Copley
  Cc: simonfv, emacs-devel, dgutov, nikolay.kudryavtsev, kaushal.modi

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

It is GNU policy to avoid the abbreviation "win32".
We say "Windows32".

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-03 12:02               ` emacs-losedows-builder Richard Stallman
@ 2016-09-04  6:51                 ` Tim Cross
  2016-09-04 13:48                   ` emacs-losedows-builder Richard Stallman
  0 siblings, 1 reply; 23+ messages in thread
From: Tim Cross @ 2016-09-04  6:51 UTC (permalink / raw)
  To: rms
  Cc: simonfv, Dmitry Gutov, Emacs developers, Richard Copley,
	kaushal.modi, nikolay.kudryavtsev

[-- Attachment #1: Type: text/plain, Size: 1031 bytes --]

This reminds me of arguments from the 70s with the growth of feminism. At
the time, there were some in the feminist movement who argued to ban the
use of "man" even when the roots of the word had nothing to do with gender.
It certainly didn't benefit the movement or help gain credibility - in the
main it was seen as somewhat ridiculous and if anything gave ammunition to
the anti-feminist movement. I fear this discussion will do the same.

On 3 September 2016 at 22:02, Richard Stallman <rms@gnu.org> wrote:

> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
> It is GNU policy to avoid the abbreviation "win32".
> We say "Windows32".
>
> --
> Dr Richard Stallman
> President, Free Software Foundation (gnu.org, fsf.org)
> Internet Hall-of-Famer (internethalloffame.org)
> Skype: No way! See stallman.org/skype.html.
>
>
>


-- 
regards,

Tim

--
Tim Cross

[-- Attachment #2: Type: text/html, Size: 1954 bytes --]

^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-04  6:51                 ` emacs-losedows-builder Tim Cross
@ 2016-09-04 13:48                   ` Richard Stallman
  0 siblings, 0 replies; 23+ messages in thread
From: Richard Stallman @ 2016-09-04 13:48 UTC (permalink / raw)
  To: Tim Cross
  Cc: simonfv, dgutov, emacs-devel, rcopley, kaushal.modi,
	nikolay.kudryavtsev

[[[ To any NSA and FBI agents reading my email: please consider    ]]]
[[[ whether defending the US Constitution against all enemies,     ]]]
[[[ foreign or domestic, requires you to follow Snowden's example. ]]]

  > This reminds me of arguments from the 70s with the growth of feminism. At
  > the time, there were some in the feminist movement who argued to ban the
  > use of "man" even when the roots of the word had nothing to do with gender.

The GNU Project has a policy of not using the term "win" in its
publications to refer to Microsoft Windows.

To be comparable to that 70s example, one would have to demand
stridently that everyone discard the word "winnow" and replace it with
"losenow", and likewise replace the name "Winchester" with
"Losechester".

The similarity is obvious, but the differences overshadow it.

It is not surprising that one reminded you of the other, despite the
differences, because one similar element is enough to make an
association.  That is why we have so many mental associations.  A song
says, "Einstein reminds me of my dog."  I am sure the singer did not
intend that she should treat her dog like Einstein, or treat Einstein
like her dog.

  > in the
  > main it was seen as somewhat ridiculous and if anything gave ammunition to
  > the anti-feminist movement. I fear this discussion will do the same.

Since the two situations are so different, why why expect people to
respond the same way to both?  That would be irrational.

Irrationality does occur -- but why expect this particular
irrationality?  It would become likely only if there were a campaign
to distort the issue: to hype the similarity and distract attention
from the differences.  I trust you won't support such a campaign.

We have had this policy of avoiding the term "win32" for at least 15
years.  So far it has not generated a disastrous wave of irrationality.

-- 
Dr Richard Stallman
President, Free Software Foundation (gnu.org, fsf.org)
Internet Hall-of-Famer (internethalloffame.org)
Skype: No way! See stallman.org/skype.html.




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-02  1:36         ` emacs-losedows-builder Paul Eggert
@ 2016-09-12 17:14           ` Nikolay Kudryavtsev
  0 siblings, 0 replies; 23+ messages in thread
From: Nikolay Kudryavtsev @ 2016-09-12 17:14 UTC (permalink / raw)
  To: Paul Eggert; +Cc: emacs-devel

Ok, will rename to ms-windows-builder, just in case, plus two letter 
namespace is to much for a project like this(mwb > wb).

-- 
Best Regards,
Nikolay Kudryavtsev




^ permalink raw reply	[flat|nested] 23+ messages in thread

* Re: emacs-losedows-builder
  2016-09-01 18:55     ` emacs-losedows-builder Richard Stallman
@ 2016-09-12 17:43       ` Nikolay Kudryavtsev
  0 siblings, 0 replies; 23+ messages in thread
From: Nikolay Kudryavtsev @ 2016-09-12 17:43 UTC (permalink / raw)
  To: rms; +Cc: emacs-devel

My native language is Russian.  You can make puns in Russian, but to me 
it seems like they're utilized not as often as in English. At this point 
I think I've seen more puns in English, than in Russian. Of course I may 
be wrong here...

Actually a large percentage of puns, that I could remember, are parts of 
Seventeen Moments of Spring jokes. There are hundreds of those jokes. 
Seventeen Moments of Spring was a Soviet TV miniseries where the 
thoughts of the main character were often narrated to the audience in 
third person, so those jokes often build on that.

-- 
Best Regards,
Nikolay Kudryavtsev




^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2016-09-12 17:43 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-30 19:47 emacs-win-builder Nikolay Kudryavtsev
2016-08-31 14:17 ` emacs-win-builder Eli Zaretskii
2016-09-01 12:39   ` emacs-win-builder Nikolay Kudryavtsev
2016-09-01 14:05     ` emacs-win-builder Eli Zaretskii
2016-08-31 21:45 ` emacs-losedows-builder Richard Stallman
2016-09-01  8:37   ` emacs-losedows-builder Simon Friis Vindum
2016-09-01 18:54     ` emacs-losedows-builder Richard Stallman
2016-09-01 23:17       ` emacs-losedows-builder Dmitry Gutov
2016-09-02  1:36         ` emacs-losedows-builder Paul Eggert
2016-09-12 17:14           ` emacs-losedows-builder Nikolay Kudryavtsev
2016-09-02 13:10         ` emacs-losedows-builder Richard Stallman
2016-09-02 13:19           ` emacs-losedows-builder Dmitry Gutov
2016-09-02 14:15           ` emacs-losedows-builder Kaushal Modi
2016-09-02 17:44             ` emacs-losedows-builder Richard Copley
2016-09-03 12:02               ` emacs-losedows-builder Richard Stallman
2016-09-04  6:51                 ` emacs-losedows-builder Tim Cross
2016-09-04 13:48                   ` emacs-losedows-builder Richard Stallman
2016-09-02 18:46             ` emacs-losedows-builder Richard Stallman
2016-09-02 20:12               ` emacs-losedows-builder Emanuel Berg
2016-09-02  1:05       ` emacs-losedows-builder John Wiegley
2016-09-01 12:44   ` emacs-losedows-builder Nikolay Kudryavtsev
2016-09-01 18:55     ` emacs-losedows-builder Richard Stallman
2016-09-12 17:43       ` emacs-losedows-builder Nikolay Kudryavtsev

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).