all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Karoly Lorentey <karoly@lorentey.hu>
To: David Kastrup <dak@gnu.org>
Cc: Andreas Schwab <schwab@suse.de>,
	Dan Nicolaescu <dann@ics.uci.edu>,
	joakim@verona.se, emacs-devel@gnu.org
Subject: Re: Multi-tty design (Re: Reordering etc/NEWS)
Date: Fri, 18 May 2007 13:55:53 +0200	[thread overview]
Message-ID: <464D9449.4020108@lorentey.hu> (raw)
In-Reply-To: <86wsz6o8fb.fsf@lola.quinscape.zz>


[-- Attachment #1.1: Type: text/plain, Size: 6966 bytes --]

David Kastrup wrote:
>> (Emacs may have been running in the background for weeks, and I may
>> have just started working on my brand new TeX file in a recently
>> started emacsclient session.)  Both viewpoints should be catered
>> for.
> 
> I disagree.  If a viewpoint can't be catered for without breaking a
> _lot_ of things and guarantees, catering for it might be a bad idea.

OK, I give up in disgust.  Do whatever you want.  I mean it: go ahead
and implement whatever environment semantics you find most appropriate.
 I have presented all my best reasons why I think we should support
local environments.  I have even proposed what I think was a reasonable
compromise.  We simply can not reach a common ground if you keep
discarding my entire viewpoint and use-cases.

Clearly I won't convince you by repeating the same arguments over and
over, and you will definitely not convince me either.  There is no point
in arguing for the sake of arguing.  I throw in the towel, you win.
Congratulations.

Now that this area is finally taken care of, let us choose and discuss
another part of multi-tty design instead.

* * *

I'm really not interested in arguing about environments any more, but
since I have already written my response below, I'll post it for reference.

> There is lots of Elisp code that does not even run in a frame: network
> buffers, spell check buffers, background processes and the like.

This code will also work fine for single-terminal users.  All existing
code would work fine for single-terminal users.  Single-terminal users
will not run into regressions.  We are backward compatible.

I think you are vastly overemphasizing the importance of environment
variables in general and "future compatibility" in particular.

>> One deviation in the multi-terminal case is that code like
>>
>> 	(let ((oldval (getenv "FOO"))
>> 	  (setenv "FOO" "fred")
>> 	  (unwind-protect
>> 		...
>> 	     (setenv "FOO" oldval))
>>
>> will change the value of FOO on all terminals but the current one as
>> a new side effect.  This is, I believe, acceptable.  Some code
>> adaptation to make existing code able to take advantage of the new
>> feature set is inevitable.  We can simply document this concern and
>> suggest solutions (e.g., let-binding `process-environment' instead,
>> or adding a standard macro that would save and restore
>> `process-environment' on all terminals.) in the NEWS file, or
>> wherever we provide an upgrade guide for package writers.
> 
> Huh?  Let-binding process-environment would not keep your
> setenv-implementation from iterating through the terminals and/or
> keeping score of environment changes to apply, would it?

On the other hand, let-binding process-environment and consing in front
of it will be an appropriate solution in some of the cases.  That's what
I meant.

>>> manipulation of process-environment happens almost
>>> exclusively through setenv.
>> In the new design, this will work unchanged in multi-terminal
>> sessions as well.
> 
> It won't for temporary changes.

I do not care.  Single-terminal users will not be affected.

>> I think this solution would be both incompatible and much too
>> complex.
> 
> Interesting.  It is actually compatible with existing code (except
> those setting the TERM variable if we agree that this is one of the
> terminal-local ones),

I'm sorry, but this must be a new sense of the word "compatible" I was
not previously aware of.

> and it is quite simpler than your proposals.

Explain it in a single short sentence then.

> The main disadvantage is that it has _one_ "Huh?" factor: setting a
> terminal-related variable with setenv will not propagate to called
> processes by default.

That's a pretty big Huh? for me.  This is a cute, fat little Huh?
oppurtunity even for our sacred single-terminal users.

> In contrast, your proposals have a _lot_ more "Huh?" factors.

Huh?

>>> And it will also cause a lot of
>>> inconsistencies that can't really be explained well to the user, like
>>> "compile" behaving differently in windows that are side-by-side.
>> I have explained above why I think this is an invalid argument with
>> terminal-local variables.  If two windows are side by side, then they
>> are on the same terminal.
> 
> I think the above comment belonged to a different model
> (frame-dependent variables and/or complete environment
> terminal/frame-local).

If we have partially local environments, then all frames will share
"non-terminal related" variables, so your side-by-side argument is
invalid.  If we have a consistently local environment, then side-by-side
windows will share their environment by virtue of being on the same
terminal.  I really don't see why you keep bringing this up.

>> OK, so let's do that using my design.  Or yours.
> 
> If you can improve your design to a point where the
> (let ((process-environment (copy-sequence process-environment)))
>   (setenv "..."
>   (setenv "..."
>   (start-process ...
> ))
> 
> scenario accepts setenv for terminal-local variables without
> propagating them elsewhere, where
> (setenv "..."
> alone will affect the environment everywhere (except where
> terminal-specific variables are concerned) and there is not a lot of
> background stuff going on that is hard to explain, then I would not
> mind dropping my proposal.

I'm really not interested whatsoever in keeping the above code work in
multi-terminal sessions.  However, you were quite effective in
convincing me that single-terminal users must not be affected in any way
by multi-tty features.

>> The new design can be basically explained in one short sentence:
>> "process-environment is terminal-local, but setenv affects all
>> terminals."
> 
> But we don't want a setenv DISPLAY to affect all terminals, 

Actually, I do.  If I manually M-x setenv DISPLAY, then I do that for a
good reason.

>>> Disagree.  "Similar packages" pretty much include _all_ packages
>>> that would have reason to access the environment, so _certainly_
>>> those packages are relevant to the issue.
>> Um, nope.  M-x shell is special because it creates a long-term
>> subprocess with which the user may communicate with inside Emacs,
>> from different terminals.  X clients manually started from an M-x
>> shell buffer will appear on the terminal that was active at the time
>> the shell process was forked.  We can not change this fact, no
>> matter how hard we tweak Emacs's environment variable handling.
>> This is why I say the behaviour of M-x shell, M-x term, GUD, ILISP
>> and friends (a.k.a.  "similar packages") is irrelevant to this
>> discussion.
> 
> Again: disregarding most packages which actually access the
> environment as "irrelevant" does not seem like a good idea.

You don't seem to understand my point.  Please read my paragraph again.

-- 
Karoly


[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 250 bytes --]

[-- Attachment #2: Type: text/plain, Size: 142 bytes --]

_______________________________________________
Emacs-devel mailing list
Emacs-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/emacs-devel

  reply	other threads:[~2007-05-18 11:55 UTC|newest]

Thread overview: 251+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-04 21:17 Reordering etc/NEWS Richard Stallman
2007-05-05 22:42 ` Glenn Morris
2007-05-05 22:49   ` Jason Rumney
2007-05-06 17:57   ` Richard Stallman
2007-05-06 18:18     ` Glenn Morris
2007-05-06 20:28     ` Eli Zaretskii
2007-05-07 16:50       ` Richard Stallman
2007-05-07 17:07         ` David Kastrup
2007-05-08  6:27           ` Jan Djärv
2007-05-07 17:36         ` Glenn Morris
2007-05-07 18:05           ` David Kastrup
2007-05-07 17:53         ` spect. [Was: Reordering etc/NEWS] Alan Mackenzie
2007-05-07 18:16           ` Mathias Dahl
2007-05-07 21:51         ` Reordering etc/NEWS Eli Zaretskii
2007-05-07 22:04           ` David Kastrup
2007-05-08 18:09           ` Richard Stallman
2007-05-08 21:09             ` David Kastrup
2007-05-09  8:57             ` Kim F. Storm
2007-05-09  9:23               ` David Kastrup
2007-05-09 17:54               ` JD Smith
2007-05-09 19:42                 ` Eli Zaretskii
2007-05-09 19:59                   ` JD Smith
2007-05-09 20:29                 ` Stefan Monnier
2007-05-09 20:54                   ` Nick Roberts
2007-05-10 13:05                 ` Richard Stallman
2007-05-09 21:56               ` Karl Fogel
2007-05-09 22:15                 ` David Kastrup
2007-05-09 22:25                   ` Karl Fogel
2007-05-09 22:32                     ` David Kastrup
2007-05-09 22:59                       ` Karl Fogel
2007-05-10  7:24                       ` Jason Rumney
2007-05-10  7:49                         ` David Kastrup
2007-05-10  8:04                           ` joakim
2007-05-10  9:19                             ` Jason Rumney
2007-05-10  9:32                               ` David Kastrup
2007-05-10  9:42                               ` joakim
2007-05-10  9:52                                 ` David Kastrup
2007-05-10 10:10                                   ` David Kastrup
2007-05-11 23:27                                     ` Karoly Lorentey
2007-05-12  7:53                                       ` David Kastrup
2007-05-12 12:09                                         ` Multi-tty design (Re: Reordering etc/NEWS) Károly Lo"rentey
2007-05-12 13:34                                           ` David Kastrup
2007-05-12 17:21                                             ` Karoly Lorentey
2007-05-12 18:03                                               ` David Kastrup
2007-05-13 11:08                                                 ` Károly Lőrentey
2007-05-13 12:50                                                   ` David Kastrup
2007-05-13 16:41                                                     ` David Kastrup
2007-05-13 17:04                                                       ` Andreas Schwab
2007-05-13 17:18                                                         ` David Kastrup
2007-05-13 18:11                                                           ` Andreas Schwab
2007-05-13 18:17                                                             ` David Kastrup
2007-05-13 18:22                                                           ` Dan Nicolaescu
2007-05-13 20:13                                                             ` David Kastrup
2007-05-13 20:41                                                               ` David Kastrup
2007-05-13 21:11                                                                 ` David Kastrup
2007-05-22  0:39                                                                   ` Giorgos Keramidas
2007-05-13 21:18                                                                 ` Dan Nicolaescu
2007-05-14  6:33                                                                   ` David Kastrup
2007-05-13 21:05                                                               ` Dan Nicolaescu
2007-05-14 10:11                                                               ` Karoly Lorentey
2007-05-14 10:37                                                                 ` David Kastrup
2007-05-14 11:35                                                                   ` Andreas Schwab
2007-05-14 12:24                                                                     ` David Kastrup
2007-05-14 12:45                                                                       ` Andreas Schwab
2007-05-14 12:52                                                                         ` David Kastrup
2007-05-14 13:36                                                                           ` Andreas Schwab
2007-05-14 13:41                                                                             ` David Kastrup
2007-05-14 13:42                                                                               ` Andreas Schwab
2007-05-14 16:48                                                                               ` Dan Nicolaescu
2007-05-14 17:29                                                                                 ` David Kastrup
2007-05-14 18:19                                                                                   ` Dan Nicolaescu
2007-05-14 19:07                                                                                     ` David Kastrup
2007-05-14 20:04                                                                                       ` Dan Nicolaescu
2007-05-14 20:24                                                                                         ` David Kastrup
2007-05-14 21:02                                                                                           ` Dan Nicolaescu
2007-05-14 21:20                                                                                             ` Jason Rumney
2007-05-14 21:49                                                                                               ` Dan Nicolaescu
2007-05-14 22:00                                                                                                 ` David Kastrup
2007-05-15 19:38                                                                                               ` Richard Stallman
2007-05-14 21:27                                                                                             ` David Kastrup
2007-05-14 22:13                                                                                               ` Dan Nicolaescu
2007-05-14 22:27                                                                                                 ` David Kastrup
2007-05-14 22:38                                                                                                   ` Thien-Thi Nguyen
2007-05-14 22:44                                                                                                     ` David Kastrup
2007-05-14 23:03                                                                                                       ` Multi-tty design Nick Roberts
2007-05-14 23:29                                                                                                         ` David Kastrup
2007-05-15  7:44                                                                                                       ` Multi-tty design (Re: Reordering etc/NEWS) Dan Nicolaescu
2007-05-15  8:24                                                                                                         ` Jason Rumney
2007-05-16  1:51                                                                                                       ` Karoly Lorentey
2007-05-14 22:59                                                                                                     ` Jason Rumney
2007-05-14 23:22                                                                                                     ` Miles Bader
2007-05-14 22:42                                                                                                   ` joakim
2007-05-14 22:55                                                                                                     ` David Kastrup
2007-05-14 22:50                                                                                                   ` Dan Nicolaescu
2007-05-14 23:05                                                                                                     ` Lennart Borgman (gmail)
2007-05-15  7:41                                                                                                       ` David Kastrup
2007-05-15 16:48                                                                                                         ` Lennart Borgman (gmail)
2007-05-14 22:35                                                                                                 ` Thien-Thi Nguyen
2007-05-15 15:53                                                                                             ` Karoly Lorentey
2007-05-16  1:41                                                                                               ` Karoly Lorentey
2007-05-16 15:41                                                                                                 ` Stefan Monnier
2007-05-17 13:12                                                                                                   ` David Kastrup
2007-05-17 15:31                                                                                                     ` Károly Lo"rentey
2007-05-17 17:00                                                                                                       ` David Kastrup
2007-05-17 20:02                                                                                                         ` Ken Raeburn
2007-05-17 21:17                                                                                                           ` David Kastrup
2007-05-18  3:36                                                                                                           ` Károly Lőrentey
2007-05-17 22:51                                                                                                       ` Stefan Monnier
2007-05-18  2:58                                                                                                         ` Karoly Lorentey
2007-05-18  7:19                                                                                                           ` David Kastrup
2007-05-18 11:04                                                                                                             ` Karoly Lorentey
2007-05-18 11:48                                                                                                               ` David Kastrup
2007-05-18 11:58                                                                                                                 ` Karoly Lorentey
2007-05-18  2:52                                                                                                       ` Miles Bader
2007-05-17 22:46                                                                                                     ` Stefan Monnier
2007-05-17 14:35                                                                                                   ` Károly Lo"rentey
2007-05-17  9:59                                                                                                 ` Richard Stallman
2007-05-17 14:05                                                                                                   ` Karoly Lorentey
2007-05-17 16:46                                                                                                 ` David Kastrup
2007-05-17 23:11                                                                                                   ` Stefan Monnier
2007-05-18  7:36                                                                                                     ` David Kastrup
2007-05-18 14:24                                                                                                       ` Stefan Monnier
2007-05-18 14:49                                                                                                         ` David Kastrup
2007-05-18 16:27                                                                                                           ` Stefan Monnier
2007-05-20  9:04                                                                                                             ` David Kastrup
2007-05-21 13:15                                                                                                               ` Stefan Monnier
2007-05-21 13:35                                                                                                                 ` David Kastrup
2007-05-22  1:54                                                                                                                   ` Miles Bader
2007-05-22  6:37                                                                                                                     ` David Kastrup
2007-05-22 15:49                                                                                                                       ` Richard Stallman
2007-05-22 21:26                                                                                                                         ` David Kastrup
2007-05-23 18:55                                                                                                                           ` Richard Stallman
2007-05-23 19:24                                                                                                                             ` David Kastrup
2007-05-24 10:55                                                                                                                               ` Richard Stallman
2007-05-24 11:04                                                                                                                                 ` David Kastrup
2007-05-18 15:18                                                                                                       ` Eli Zaretskii
2007-05-18  2:47                                                                                                   ` Karoly Lorentey
2007-05-18  8:14                                                                                                     ` David Kastrup
2007-05-18 11:55                                                                                                       ` Karoly Lorentey [this message]
2007-05-18 12:24                                                                                                         ` David Kastrup
2007-05-18 17:40                                                                                                           ` Karoly Lorentey
2007-05-18 18:18                                                                                                             ` David Kastrup
2007-05-18 23:09                                                                                                           ` Richard Stallman
2007-05-20 18:13                                                                                                             ` Károly Lo"rentey
2007-05-14 21:05                                                                                           ` David Kastrup
2007-05-12 21:52                                             ` Richard Stallman
2007-05-12 16:48                                       ` Reordering etc/NEWS Richard Stallman
2007-05-10 10:24                                   ` joakim
2007-05-10 10:24                                 ` Jason Rumney
2007-05-11 22:58                               ` Multi-tty branch status (Re: Reordering etc/NEWS) Karoly Lorentey
2007-05-12  4:20                                 ` Glenn Morris
2007-05-12  6:48                                   ` Kalle Olavi Niemitalo
2007-05-12  7:58                                     ` David Kastrup
2007-05-12 16:48                                       ` Richard Stallman
2007-05-12 10:30                                   ` Károly Lo"rentey
2007-05-12 11:11                                     ` David Kastrup
2007-05-12 21:52                                     ` Richard Stallman
2007-05-12 16:48                                 ` Richard Stallman
2007-05-12 17:25                                   ` Karoly Lorentey
2007-05-10 10:28                         ` Reordering etc/NEWS YAMAMOTO Mitsuharu
2007-05-09 22:58                     ` Nick Roberts
2007-05-10  6:21                       ` David Kastrup
2007-05-10  1:23                     ` Stefan Monnier
2007-05-10  1:43                       ` Karl Fogel
2007-05-11  7:42                   ` Richard Stallman
2007-05-11  8:03                     ` Kenichi Handa
2007-05-11  8:34                       ` Nick Roberts
2007-05-11  8:44                       ` Merging multitty (was: Reordering etc/NEWS) David Kastrup
2007-05-11  9:20                         ` Merging multitty Jason Rumney
2007-05-11 10:00                           ` David Kastrup
2007-05-11 10:25                             ` Jason Rumney
2007-05-11 11:01                               ` David Kastrup
2007-05-11 21:05                               ` Karoly Lorentey
2007-05-12 16:48                                 ` Richard Stallman
2007-05-12 17:58                                   ` David Kastrup
2007-05-14 10:52                                     ` Kenichi Handa
2007-05-12 19:32                                   ` Dan Nicolaescu
2007-05-12 19:42                                     ` David Kastrup
2007-05-12 20:19                                       ` Dan Nicolaescu
2007-05-12 20:27                                         ` David Kastrup
2007-05-12 20:30                                     ` Samium Gromoff
2007-05-11 21:10                               ` Károly Lo"rentey
2007-05-11 12:00                             ` Kenichi Handa
2007-05-11 13:14                               ` David Kastrup
2007-05-11 13:33                                 ` Juanma Barranquero
2007-05-11 13:51                                   ` David Kastrup
2007-05-11 13:57                                     ` David Kastrup
2007-05-11 14:09                                       ` Jason Rumney
2007-05-11 14:17                                     ` Juanma Barranquero
2007-05-11 14:34                                     ` Miles Bader
2007-05-11 21:34                                   ` Karoly Lorentey
2007-05-12  7:43                                     ` Eli Zaretskii
2007-05-11 13:34                               ` merging Unicode branch and availability of Windows binaries Drew Adams
2007-05-14 14:16                                 ` Drew Adams
2007-05-14 14:30                                   ` David Kastrup
2007-05-14 15:05                                     ` Drew Adams
2007-05-14 17:32                                       ` David Kastrup
2007-05-11 21:56                           ` Merging multitty Richard Stallman
2007-05-11  9:45                         ` Miles Bader
2007-05-11 10:02                           ` David Kastrup
2007-05-11 21:56                           ` Richard Stallman
2007-05-13  1:33                             ` Miles Bader
2007-05-13  3:11                               ` Nick Roberts
2007-05-13  3:27                                 ` Miles Bader
2007-05-13  4:00                                   ` Nick Roberts
2007-05-13  4:21                                     ` Miles Bader
2007-05-13 12:43                                       ` Karoly Lorentey
2007-05-14  8:08                                   ` Richard Stallman
2007-05-14 10:19                                     ` Miles Bader
2007-05-14 11:02                                     ` Karoly Lorentey
2007-05-14 14:46                                       ` Kim F. Storm
2007-05-15  9:46                                       ` Richard Stallman
2007-05-15 20:49                                         ` Eli Zaretskii
     [not found]                                         ` <4649F799.3050108@lorentey.hu>
2007-05-16  1:39                                           ` Richard Stallman
2007-05-10 13:06               ` Reordering etc/NEWS Richard Stallman
2007-05-10 14:14                 ` Juanma Barranquero
2007-05-10 14:25                   ` David Kastrup
2007-05-10 14:49                     ` Juanma Barranquero
2007-05-10 17:15                       ` David Kastrup
2007-05-10 17:21                         ` Juanma Barranquero
2007-05-10 15:53                 ` Karl Fogel
2007-05-10 17:39                   ` Ken Manheimer
2007-05-10 17:44                     ` Juanma Barranquero
2007-05-11  8:50                   ` Eli Zaretskii
2007-05-11 11:23                     ` Juanma Barranquero
2007-05-11 15:46                       ` Eli Zaretskii
2007-05-11 16:09                         ` Juanma Barranquero
2007-05-11 17:43                           ` Eli Zaretskii
2007-05-11 17:49                     ` Karl Fogel
2007-05-11 18:26                       ` Eli Zaretskii
2007-05-11 18:37                         ` Karl Fogel
2007-05-12  7:22                           ` Eli Zaretskii
2007-05-12  7:59                             ` David Kastrup
2007-05-12 13:24                               ` Eli Zaretskii
2007-05-12 16:47                           ` Richard Stallman
2007-05-11 18:48                   ` Richard Stallman
2007-05-11 21:46                     ` Karl Fogel
2007-05-10 17:13                 ` David Kastrup
2007-05-11 18:48                   ` Richard Stallman
2007-05-07 16:50       ` Richard Stallman
2007-05-07 21:37         ` Eli Zaretskii
2007-05-07 21:56           ` David Kastrup
2007-05-07 10:05     ` Alan Mackenzie
2007-05-07 10:12       ` David Kastrup
2007-05-07 13:39         ` Jay Belanger
2007-05-07 13:45           ` David Kastrup
2007-05-07 13:54             ` Thomas Hühn
2007-05-07 14:03               ` David Kastrup
2007-05-07 14:57       ` Chong Yidong
2007-05-07 23:28         ` Richard Stallman
2007-05-07 23:28       ` Richard Stallman

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=464D9449.4020108@lorentey.hu \
    --to=karoly@lorentey.hu \
    --cc=dak@gnu.org \
    --cc=dann@ics.uci.edu \
    --cc=emacs-devel@gnu.org \
    --cc=joakim@verona.se \
    --cc=schwab@suse.de \
    /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.