From: David Kastrup <dak@gnu.org>
To: Dan Nicolaescu <dann@ics.uci.edu>
Cc: Andreas Schwab <schwab@suse.de>,
Karoly Lorentey <karoly@lorentey.hu>,
joakim@verona.se, emacs-devel@gnu.org
Subject: Re: Multi-tty design (Re: Reordering etc/NEWS)
Date: Mon, 14 May 2007 23:05:17 +0200 [thread overview]
Message-ID: <85hcqff75e.fsf@lola.goethe.zz> (raw)
In-Reply-To: <85lkfrf91x.fsf@lola.goethe.zz> (David Kastrup's message of "Mon\, 14 May 2007 22\:24\:10 +0200")
David Kastrup <dak@gnu.org> writes:
> If the design is unsound, we need to rip it out completely, not just
> sabotage it at the points where the problems show.
>
> I'll try to see whether I can find the problematic caller. But I
> certainly hope that this "paper over it and hope nobody notices it"
> stance does not pervade multi-tty, and that the _bug_ which I fixed
> was not intentional but an oversight.
Ok, here are the Lisp callers which pass a third argument into getenv.
/home/tmp/emacs/lisp/international/mule-cmds.el:2512: (setq locale (getenv (pop vars) display)))))
/home/tmp/emacs/lisp/international/mule-cmds.el:2639: (equal (getenv "TERM_PROGRAM" display) "Apple_Terminal"))
/home/tmp/emacs/lisp/international/mule-cmds.el:2657: (setq locale (getenv (pop vars) display))))
/home/tmp/emacs/lisp/term/rxvt.el:287: (let ((fgbg (getenv "COLORFGBG" (terminal-id)))
/home/tmp/emacs/lisp/term/x-win.el:2439: (setq x-display-name (or (getenv "DISPLAY" (terminal-id))
/home/tmp/emacs/lisp/term/xterm.el:330: (if (and (getenv "COLORTERM" (terminal-id))
/home/tmp/emacs/lisp/term/xterm.el:331: (string-match "\\`rxvt" (getenv "COLORTERM" (terminal-id))))
Most of these appear _not_ to pass a FRAME parameter (as claimed by
getenv's DOC string and its code) but a terminal id.
This is completely messed up, and ignoring the FRAME parameter is
_not_ the right solution.
The c callers are somewhat harder to find: basically, they would be
the ones calling getenv_internal with a non-nil fifth argument.
Then the rest of the code is a mixture of calling getenv (the system
call) and egetenv (which goes through a frame list presumably).
All of this is a mess.
I propose that we split this whole mess apart cleanly. We create one
read-only variable called
terminal-environment-list
which contains all environment variables relevant for a terminal, and
a terminal-local variable
terminal-environment
When a new terminal gets opened, all environment variables in
terminal-environment-list get transferred to terminal-environment. We
also provide a convenience routine
getenv-terminal
to read from the current terminal-environment. Changing it is not
supported.
For debugging purposes (before the next release), we can add code to
getenv that complains when it gets asked about a variable in
terminal-environment-list: this is most likely a bug.
That way, getenv and setenv will continue to work exclusively on a
single process-environment.
Does this sound reasonable?
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
next prev parent reply other threads:[~2007-05-14 21:05 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
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 [this message]
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=85hcqff75e.fsf@lola.goethe.zz \
--to=dak@gnu.org \
--cc=dann@ics.uci.edu \
--cc=emacs-devel@gnu.org \
--cc=joakim@verona.se \
--cc=karoly@lorentey.hu \
--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 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).