* multi-tty branch created @ 2007-05-13 13:31 Miles Bader 2007-05-13 14:50 ` David Kastrup ` (2 more replies) 0 siblings, 3 replies; 26+ messages in thread From: Miles Bader @ 2007-05-13 13:31 UTC (permalink / raw) To: emacs-devel; +Cc: Karoly Lorentey Ok, I've put the multi-tty sources into CVS and arch branches on savannah. The CVS branch tag is called "multi-tty". The arch branch is "emacs@sv.gnu.org/emacs--multi-tty--0". -miles -- Quidquid latine dictum sit, altum viditur. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-13 13:31 multi-tty branch created Miles Bader @ 2007-05-13 14:50 ` David Kastrup 2007-05-13 16:12 ` Miles Bader 2007-05-13 16:13 ` David Kastrup 2007-05-13 20:07 ` Jason Rumney 2007-05-14 6:00 ` Manoj Srivastava 2 siblings, 2 replies; 26+ messages in thread From: David Kastrup @ 2007-05-13 14:50 UTC (permalink / raw) To: Miles Bader; +Cc: Karoly Lorentey, emacs-devel Miles Bader <miles@gnu.org> writes: > Ok, I've put the multi-tty sources into CVS and arch branches on > savannah. > > The CVS branch tag is called "multi-tty". > > The arch branch is "emacs@sv.gnu.org/emacs--multi-tty--0". Good! Of the people using not yet supported architectures, are there some who would be willing to "pull a fast one", trying to pummel the stuff until it compiles? If it turns out that we can reach a state in multitty which is _usable_ (not necessarily bugfree) for every party involved at least in the use cases that worked previously, it might actually work merging it into the trunk first or at least fast. I don't know how others feel about it, but my personal feeling is that _if_ we can have a basically regression-free multitty on all platforms soon, it would help to speed the Emacs 23 development process. Apart from the not yet supported platforms, people should of course also try multitty on those platforms that are supposed to be supported. What is the current state of synchronization between trunk and multi-tty? Anyway, now looking for the required disk space... -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-13 14:50 ` David Kastrup @ 2007-05-13 16:12 ` Miles Bader 2007-05-13 16:14 ` David Kastrup 2007-05-13 16:13 ` David Kastrup 1 sibling, 1 reply; 26+ messages in thread From: Miles Bader @ 2007-05-13 16:12 UTC (permalink / raw) To: David Kastrup; +Cc: Karoly Lorentey, emacs-devel David Kastrup <dak@gnu.org> writes: > What is the current state of synchronization between trunk and > multi-tty? The last sync-point on the trunk has the tag "multi-tty-base". -miles -- We live, as we dream -- alone.... ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-13 16:12 ` Miles Bader @ 2007-05-13 16:14 ` David Kastrup 0 siblings, 0 replies; 26+ messages in thread From: David Kastrup @ 2007-05-13 16:14 UTC (permalink / raw) To: Miles Bader; +Cc: Karoly Lorentey, emacs-devel Miles Bader <miles@gnu.org> writes: > David Kastrup <dak@gnu.org> writes: >> What is the current state of synchronization between trunk and >> multi-tty? > > The last sync-point on the trunk has the tag "multi-tty-base". Thanks. I did a diff already, and it seems like just some very recent changes are missing here. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-13 14:50 ` David Kastrup 2007-05-13 16:12 ` Miles Bader @ 2007-05-13 16:13 ` David Kastrup 2007-05-13 19:28 ` Robert J. Chassell 2007-05-16 13:24 ` Károly Lo"rentey 1 sibling, 2 replies; 26+ messages in thread From: David Kastrup @ 2007-05-13 16:13 UTC (permalink / raw) To: Miles Bader; +Cc: Karoly Lorentey, emacs-devel David Kastrup <dak@gnu.org> writes: > Miles Bader <miles@gnu.org> writes: > >> Ok, I've put the multi-tty sources into CVS and arch branches on >> savannah. >> >> The CVS branch tag is called "multi-tty". >> >> The arch branch is "emacs@sv.gnu.org/emacs--multi-tty--0". > > Good! I've checked it out, compiled it, not yet used it. README.multi-tty does not yet reflect the availability on Savannah. It also sports quite a list of problematic areas, but those seem to be no regressions per se and should not make things worse mostly. Is the GTK+ situation as described in there? My current version is 2.10.11, so it _might_ work for the multiple X case, but README.multi-tty basically mentions 2.10 as something to come into being only in the future: Update: I am still having problems with GTK+ 2.8.10. I have the impression that the various multidisplay fixes will only get released in GTK+ 2.10. One thing that is mentioned that calling emacsclient from a different user will not work. I think that this is really a non-issue since file accessibility from a different user would also be different and there is no really useful strategy short of using tramp for getting this to work. It might be at some point be interesting to write a "trampclient" which pingpongs the data across an emacsclient socket or a pseudotty or whatever, but I don't think that this should for now be considered. emacsclient operation in multitty is different as compared to previously. So people can't avoid multitty completely, meaning that we can't bluntly state "situation can't be worse than previously, no regression" but need to evaluate multitty somewhat more closely before finding it suited for trunk, even if the compilation problems on DOS/Windows/Mac have been tackled. The precondition for trunk in my opinion would be that it does not impede workability for those people who are working on different parts of Emacs. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-13 16:13 ` David Kastrup @ 2007-05-13 19:28 ` Robert J. Chassell 2007-05-16 13:24 ` Károly Lo"rentey 1 sibling, 0 replies; 26+ messages in thread From: Robert J. Chassell @ 2007-05-13 19:28 UTC (permalink / raw) To: emacs-devel, karoly Today's CVS snapshot of the multi-tty branch, Sun, 2007 May 13 16:56 UTC GNU Emacs 23.0.51.1 (i686-pc-linux-gnu, GTK+ Version 2.8.20, multi-tty) Debian GNU/Linux, testing, on a i686 Linux kernel: 2.4.25 seems to work fine; that is to say, I downloaded and built it, ran another instance in X with an Enlightenment window manager and, at the same time, text instances, one in an RXVT shell in Enlightenment using emacsclient -t and another in a virtual console. (GTK has been working fine. I have been running earlier versions using baz for version control.) -- Robert J. Chassell GnuPG Key ID: 004B4AC8 bob@rattlesnake.com bob@gnu.org http://www.rattlesnake.com http://www.teak.cc ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-13 16:13 ` David Kastrup 2007-05-13 19:28 ` Robert J. Chassell @ 2007-05-16 13:24 ` Károly Lo"rentey 2007-05-16 13:46 ` Juanma Barranquero ` (2 more replies) 1 sibling, 3 replies; 26+ messages in thread From: Károly Lo"rentey @ 2007-05-16 13:24 UTC (permalink / raw) To: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 2148 bytes --] David Kastrup wrote: > I've checked it out, compiled it, not yet used it. README.multi-tty > does not yet reflect the availability on Savannah. I updated it a little. > Is the GTK+ situation as described in there? No, it has much improved. AFAIK GTK still doesn't fully support multiple displays, but the remaining bugs are mostly memory leaks, not crashes. > One thing that is mentioned that calling emacsclient from a different > user will not work. I think that this is really a non-issue since > file accessibility from a different user would also be different and > there is no really useful strategy short of using tramp for getting > this to work. I agree with your reasoning but the item is about something slightly different: Login: fred Password: fred$ emacs M-x server-start Meanwhile, in another session: Login: barney Password: barney$ su fred Password: fred$ emacsclient -t (Fails due to Emacs not being able to open the tty device.) The use case: fred sits down before barney's console to show him something under his own account. > emacsclient operation in multitty is different as compared to > previously. So people can't avoid multitty completely, meaning that > we can't bluntly state "situation can't be worse than previously, no > regression" but need to evaluate multitty somewhat more closely before > finding it suited for trunk, even if the compilation problems on > DOS/Windows/Mac have been tackled. Hold your horses. There is always "emacsclient --current-frame" to prevent emacsclient from creating a new terminal. This retains much of the functionality of the original emacsclient, including, I believe, things like C-#, and does not use multi-tty features. I hope most people would agree that the new emacsclient features are a definite improvement. > The precondition for trunk in my opinion would be that it does not > impede workability for those people who are working on different parts > of Emacs. Keep in mind that improving emacsclient behaviour is one of the primary results of the multi-tty branch. -- 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-16 13:24 ` Károly Lo"rentey @ 2007-05-16 13:46 ` Juanma Barranquero 2007-05-16 15:04 ` Károly Lőrentey 2007-05-16 16:20 ` Dan Nicolaescu 2007-05-16 17:39 ` David Kastrup 2007-05-17 14:02 ` Stefan Monnier 2 siblings, 2 replies; 26+ messages in thread From: Juanma Barranquero @ 2007-05-16 13:46 UTC (permalink / raw) To: Károly Lorentey; +Cc: emacs-devel [-- Attachment #1: Type: text/plain, Size: 966 bytes --] On 5/16/07, Károly Lo"rentey <karoly@lorentey.hu> wrote: > There is always "emacsclient --current-frame" to > prevent emacsclient from creating a new terminal. This retains much of > the functionality of the original emacsclient, including, I believe, > things like C-#, and does not use multi-tty features. In the merge, the execvp wrapper for Windows has been moved to below the point where execvp is used; i.e, execvp is used in fail, but #undef execvp #define execvp w32_execvp happens quite a bit later. That's an error, I think. > I hope most people would agree that the new emacsclient features are a > definite improvement. As long as the features currently in the trunk are maintained, yes. > Keep in mind that improving emacsclient behaviour is one of the primary > results of the multi-tty branch. Then it should continue to be done in the multi-tty branch until merging it to the trunk does not represent a regression. Juanma [-- Attachment #2: Type: text/plain, Size: 142 bytes --] _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-16 13:46 ` Juanma Barranquero @ 2007-05-16 15:04 ` Károly Lőrentey 2007-05-16 15:34 ` David Kastrup 2007-05-16 16:20 ` Dan Nicolaescu 1 sibling, 1 reply; 26+ messages in thread From: Károly Lőrentey @ 2007-05-16 15:04 UTC (permalink / raw) To: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 1924 bytes --] Juanma Barranquero wrote: > In the merge, the execvp wrapper for Windows has been moved to below > the point where execvp is used; i.e, execvp is used in fail, but > > #undef execvp > #define execvp w32_execvp > > happens quite a bit later. That's an error, I think. That's right. Could you please fix it? >> I hope most people would agree that the new emacsclient features are a >> definite improvement. > > As long as the features currently in the trunk are maintained, yes. They should be. If anything is lost, then that's a bug. At the very least, emacsclient works good enough not to impede unrelated Emacs development. >> Keep in mind that improving emacsclient behaviour is one of the primary >> results of the multi-tty branch. > > Then it should continue to be done in the multi-tty branch until > merging it to the trunk does not represent a regression. I don't believe it represents a regression in its current form. As we know, Windows support is broken, but thankfully people are working on that now. I argue that it is not a good idea to keep the trunk's emacsclient a moving target. The more changes you make to it now, the more probable I create a new regression while merging (i.e., reimplementing) your changes in multi-tty. If there is a good chance that Emacs 23 will be released without multi-tty, then of course things are different. I think people should look at the code and report if it is basically sound or not. If not, then it's better to have that decided early than to waste more time developing it. You can also decide to keep a subset of multi-tty changes (C-level changes, Lisp interface, emacsclient improvements, environment implementation, Lisp package adaptations, etc.) and discard/reimplement the rest. For example, David has already expressed his dissatisfaction with the environment implementation. -- 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-16 15:04 ` Károly Lőrentey @ 2007-05-16 15:34 ` David Kastrup 2007-05-16 16:11 ` Károly Lőrentey 2007-05-16 21:17 ` Jason Rumney 0 siblings, 2 replies; 26+ messages in thread From: David Kastrup @ 2007-05-16 15:34 UTC (permalink / raw) To: Károly Lőrentey; +Cc: emacs-devel Károly Lőrentey <karoly@lorentey.hu> writes: > Juanma Barranquero wrote: > >> Then it should continue to be done in the multi-tty branch until >> merging it to the trunk does not represent a regression. > > I don't believe it represents a regression in its current form. As > we know, Windows support is broken, but thankfully people are > working on that now. Uh what? In its current form, Windows support is broken but it does not represent a regression? We must have different definitions of "regression" then. Actually, at the moment emacsclient does not compile which _is_ a regression. And such regressions will _certainly_ occur until we get this to compile on all platforms. make[1]: Entering directory `/rep/emacs-build/lib-src' gcc -D_BSD_SOURCE -DHAVE_CONFIG_H -I. -I../src -I/rep/emacs/lib-src -I/rep/emacs/lib-src/../src -Wl,-znocombreloc -D_BSD_SOURCE -g -O2 -fno-crossjumping /rep/emacs/lib-src/emacsclient.c -DVERSION="\"23.0.51\"" -lc -o emacsclient /rep/emacs/lib-src/emacsclient.c: In function ‘handle_sigcont’: /rep/emacs/lib-src/emacsclient.c:960: error: ‘s’ undeclared (first use in this function) /rep/emacs/lib-src/emacsclient.c:960: error: (Each undeclared identifier is reported only once /rep/emacs/lib-src/emacsclient.c:960: error: for each function it appears in.) /rep/emacs/lib-src/emacsclient.c: In function ‘handle_sigtstp’: /rep/emacs/lib-src/emacsclient.c:984: error: ‘s’ undeclared (first use in this function) make[1]: *** [emacsclient] Error 1 make[1]: Leaving directory `/rep/emacs-build/lib-src' make: *** [lib-src] Error 2 > If there is a good chance that Emacs 23 will be released without > multi-tty, then of course things are different. I think people > should look at the code and report if it is basically sound or not. > If not, then it's better to have that decided early than to waste > more time developing it. My first impression is the following: there are serious design and use problems that need to be addressed before finalizing the merge. It would appear, however, that multi-tty went through several stages in the course of its development that were rather close to what would constitute a robust design. So scrapping the branch and reimplementing from scratch would appear quite nonsensical, and the design discussion will also be helped by you having actual experience with several approaches. > You can also decide to keep a subset of multi-tty changes (C-level > changes, Lisp interface, emacsclient improvements, environment > implementation, Lisp package adaptations, etc.) and > discard/reimplement the rest. For example, David has already > expressed his dissatisfaction with the environment implementation. I am still putting together some more detailed critique. Note that getting me satisfied is not the same as getting everybody else satisfied, but of course addressing points raised by me on the list will help your case also with other people choosing to mostly listen at the moment. It is quite too early to predict how things will progress. My impression is that the multi-tty branch is on a good track (and it quite helps that you are not trying to block contributions and criticism). That's not enough to put forward a plan, but it's a good sign. -- David Kastrup ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-16 15:34 ` David Kastrup @ 2007-05-16 16:11 ` Károly Lőrentey 2007-05-16 21:17 ` Jason Rumney 1 sibling, 0 replies; 26+ messages in thread From: Károly Lőrentey @ 2007-05-16 16:11 UTC (permalink / raw) To: David Kastrup; +Cc: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 1459 bytes --] David Kastrup wrote: > Károly Lőrentey <karoly@lorentey.hu> writes: >> I don't believe it represents a regression in its current form. As >> we know, Windows support is broken, but thankfully people are >> working on that now. > > Uh what? In its current form, Windows support is broken but it does > not represent a regression? We must have different definitions of > "regression" then. Clearly, I meant that it does not represent a regression for UN*X users. That's why there was a second sentence after the first. I wasn't arguing for putting anything on the trunk *now*. I was simply asking for consideration of my time when changes are made to emacsclient on the trunk. My Emacs-related work load has suddenly increased, and topping it with extra merging work is really not welcome. Is that an unreasonable viewpoint? > Actually, at the moment emacsclient does not > compile which _is_ a regression. And such regressions will > _certainly_ occur until we get this to compile on all platforms. Yes, the current problem is simply a side-effect of the much needed porting effort. This phase will pass soon. > It is quite too early to predict how things will progress. My > impression is that the multi-tty branch is on a good track (and it > quite helps that you are not trying to block contributions and > criticism). That's not enough to put forward a plan, but it's a good > sign. OK. -- 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-16 15:34 ` David Kastrup 2007-05-16 16:11 ` Károly Lőrentey @ 2007-05-16 21:17 ` Jason Rumney 1 sibling, 0 replies; 26+ messages in thread From: Jason Rumney @ 2007-05-16 21:17 UTC (permalink / raw) To: David Kastrup; +Cc: Károly Lőrentey, emacs-devel David Kastrup wrote: > Actually, at the moment emacsclient does not compile which _is_ a regression. And such regressions will > _certainly_ occur until we get this to compile on all platforms. > That was my fault. A variable was moved from main() to global scope in the multi-tty branch, which broke the Windows build for reasons I did not understand. But I could not find any real use of that variable outside main() so I tried moving it back. It turned out that the use of that global variable was hidden inside a macro in code that is conditionally compiled only when there are file system sockets (ie, not Windows) so I missed it. I have now renamed it to avoid confusion with the many other local variables of the same name that shadow it, and fixed the original bug by moving its definition below the header file it depends on. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-16 13:46 ` Juanma Barranquero 2007-05-16 15:04 ` Károly Lőrentey @ 2007-05-16 16:20 ` Dan Nicolaescu 1 sibling, 0 replies; 26+ messages in thread From: Dan Nicolaescu @ 2007-05-16 16:20 UTC (permalink / raw) To: Juanma Barranquero; +Cc: Károly Lorentey, emacs-devel "Juanma Barranquero" <lekktu@gmail.com> writes: > On 5/16/07, Károly Lo"rentey <karoly@lorentey.hu> wrote: > > > There is always "emacsclient --current-frame" to > > prevent emacsclient from creating a new terminal. This retains much of > > the functionality of the original emacsclient, including, I believe, > > things like C-#, and does not use multi-tty features. > > In the merge, the execvp wrapper for Windows has been moved to below > the point where execvp is used; i.e, execvp is used in fail, but > > #undef execvp > #define execvp w32_execvp > > happens quite a bit later. That's an error, I think. I fixed that in CVS. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-16 13:24 ` Károly Lo"rentey 2007-05-16 13:46 ` Juanma Barranquero @ 2007-05-16 17:39 ` David Kastrup 2007-05-16 20:48 ` Károly Lőrentey 2007-05-17 14:02 ` Stefan Monnier 2 siblings, 1 reply; 26+ messages in thread From: David Kastrup @ 2007-05-16 17:39 UTC (permalink / raw) To: Károly Lőrentey; +Cc: emacs-devel "Károly Lőrentey" <karoly@lorentey.hu> writes: > David Kastrup wrote: > >> One thing that is mentioned that calling emacsclient from a >> different user will not work. I think that this is really a >> non-issue since file accessibility from a different user would also >> be different and there is no really useful strategy short of using >> tramp for getting this to work. > > I agree with your reasoning but the item is about something slightly > different: > > Login: fred > Password: > fred$ emacs > M-x server-start > > Meanwhile, in another session: > > Login: barney > Password: > barney$ su fred > Password: > fred$ emacsclient -t > (Fails due to Emacs not being able to open the tty device.) > > The use case: fred sits down before barney's console to show him > something under his own account. Still a non-issue in my book: the same won't work with X frames, either, unless the X11 authentication is seriously insecure. The way to do this kind of thing is an ssh session, and those will work with either text or X11. >> emacsclient operation in multitty is different as compared to >> previously. So people can't avoid multitty completely, meaning >> that we can't bluntly state "situation can't be worse than >> previously, no regression" but need to evaluate multitty somewhat >> more closely before finding it suited for trunk, even if the >> compilation problems on DOS/Windows/Mac have been tackled. > > Hold your horses. You would not want me to: my concerns are likely similar to those of others, so you want to get them discussed and refuted. > There is always "emacsclient --current-frame" to prevent emacsclient > from creating a new terminal. This retains much of the > functionality of the original emacsclient, including, I believe, > things like C-#, and does not use multi-tty features. Still, environments do no longer work the same even if you don't use multi-tty features. > I hope most people would agree that the new emacsclient features are > a definite improvement. We are not talking about the features when wanting to avoid regressions. >> The precondition for trunk in my opinion would be that it does not >> impede workability for those people who are working on different >> parts of Emacs. > > Keep in mind that improving emacsclient behaviour is one of the > primary results of the multi-tty branch. But we don't want secondary results interfering with the work of those who don't make use of the primary results. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-16 17:39 ` David Kastrup @ 2007-05-16 20:48 ` Károly Lőrentey 0 siblings, 0 replies; 26+ messages in thread From: Károly Lőrentey @ 2007-05-16 20:48 UTC (permalink / raw) To: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 3174 bytes --] David Kastrup wrote: > "Károly Lőrentey" <karoly@lorentey.hu> writes: >>> emacsclient operation in multitty is different as compared to >>> previously. So people can't avoid multitty completely, meaning >>> that we can't bluntly state "situation can't be worse than >>> previously, no regression" but need to evaluate multitty somewhat >>> more closely before finding it suited for trunk, even if the >>> compilation problems on DOS/Windows/Mac have been tackled. >> Hold your horses. > > You would not want me to: my concerns are likely similar to those of > others, so you want to get them discussed and refuted. Yes. But saying that multi-tty is somehow more suspect because it changes emacsclient sounds strange to me. Well of course it changes it. The entire point of the branch is to fix how emacsclient works. D'oh! I was arguing that all the existing functionality is retained by design. If there is a feature that was lost, then that's a bug. >> There is always "emacsclient --current-frame" to prevent emacsclient >> from creating a new terminal. This retains much of the >> functionality of the original emacsclient, including, I believe, >> things like C-#, and does not use multi-tty features. > > Still, environments do no longer work the same even if you don't use > multi-tty features. Yes they do. "emacsclient --current-frame" does not create a new set of local environment variables, but reuses the original environment of the Emacs process. It should work exactly the same as emacsclient on the trunk. Does it not? As I said, the one and only truly incompatible change in the multi-tty branch is that even without any emacsclient connections, `process-environment' is nil by default, and there is a new `environment' function for listing all variables. I don't think you can argue with a straight face that all hell will break loose if we make such a change, or that it is unacceptable to make our hackers adapt existing code for these changes. After all, we are working on a new major version, and there aren't all that many Emacs packages that care about environment variables. A sizable portion of the few that do simply call getenv and setenv, or let-bind `process-environment', which works fine with multi-tty as well. I have presented my reasons for the change; I still think the client-local environment semantics are the right way to go, although the implementation may be improved. >> Keep in mind that improving emacsclient behaviour is one of the >> primary results of the multi-tty branch. > > But we don't want secondary results interfering with the work of those > who don't make use of the primary results. As I have explained, "emacsclient --current-frame" is the way people can get back the original behaviour. If there are serious bugs, the legions of people who're now testing multi-tty will likely report them before the merge. Is that not sufficient to prevent undue interference? I encourage people on supported platforms to try their favourite emacsclient options in the multi-tty branch, and report anything that breaks. -- 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-16 13:24 ` Károly Lo"rentey 2007-05-16 13:46 ` Juanma Barranquero 2007-05-16 17:39 ` David Kastrup @ 2007-05-17 14:02 ` Stefan Monnier 2007-05-17 16:04 ` Károly Lo"rentey 2 siblings, 1 reply; 26+ messages in thread From: Stefan Monnier @ 2007-05-17 14:02 UTC (permalink / raw) To: Károly Lorentey; +Cc: emacs-devel > Hold your horses. There is always "emacsclient --current-frame" to > prevent emacsclient from creating a new terminal. This retains much of > the functionality of the original emacsclient, including, I believe, > things like C-#, and does not use multi-tty features. For the sake of transparent backward compatibility, I'd make --current-frame the default, and use -nw as an argument to force the use of the new multi-tty feature. This way you only get the new feature when you ask for it. I normally prefer using an X11 frame over a tty frame, so I'd only want to use -nw in those cases where it matters (typically when the bandwidth is limited). Stefan ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-17 14:02 ` Stefan Monnier @ 2007-05-17 16:04 ` Károly Lo"rentey 2007-05-17 23:24 ` Stefan Monnier 0 siblings, 1 reply; 26+ messages in thread From: Károly Lo"rentey @ 2007-05-17 16:04 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 1081 bytes --] Stefan Monnier wrote: > For the sake of transparent backward compatibility, I'd make --current-frame > the default, and use -nw as an argument to force the use of the new > multi-tty feature. This way you only get the new feature when you ask > for it. I normally prefer using an X11 frame over a tty frame, so I'd only > want to use -nw in those cases where it matters (typically when the > bandwidth is limited). You assume that emacsclient now opens a tty frame even if X is available. That's not the case. Emacsclient works like Emacs: it prefers X, and falls back to the tty only if X is unavailable or the user forces opening a tty frame by supplying "-t" (the emacsclient equivalent to "-nw"). $ emacsclient ==> X frame $ emacsclient -t ==> tty frame $ emacsclient -c ==> no new frame I agree that "-t" should be renamed "-nw"; in fact this idea is even in the README file. However, multi-character short options are a pain to implement. I'd prefer if someone with more getopt experience would do it instead. :-) -- 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-17 16:04 ` Károly Lo"rentey @ 2007-05-17 23:24 ` Stefan Monnier 2007-05-18 18:02 ` Károly Lo"rentey 0 siblings, 1 reply; 26+ messages in thread From: Stefan Monnier @ 2007-05-17 23:24 UTC (permalink / raw) To: Károly Lorentey; +Cc: emacs-devel >> For the sake of transparent backward compatibility, I'd make --current-frame >> the default, and use -nw as an argument to force the use of the new >> multi-tty feature. This way you only get the new feature when you ask >> for it. I normally prefer using an X11 frame over a tty frame, so I'd only >> want to use -nw in those cases where it matters (typically when the >> bandwidth is limited). > You assume that emacsclient now opens a tty frame even if X is > available. That's not the case. Emacsclient works like Emacs: it > prefers X, and falls back to the tty only if X is unavailable or the > user forces opening a tty frame by supplying "-t" (the emacsclient > equivalent to "-nw"). > $ emacsclient > ==> X frame There are *many* different ways to create new frames (one per "session", one per file, reuse old ones or not, ...). I hope you got it right ;-) > $ emacsclient -t > ==> tty frame > $ emacsclient -c > ==> no new frame Maybe it's OK. Note that when I added the --display argument, I was careful to not automatically use the $DISPLAY envvar, in order to preserve backward compatibility, so users have to say --display "$DISPLAY" if they want it. My experience with Emacs is that when introducing a new feature, any minor backward incompatibility will slow down adoption, so it's easier to just let new features disabled by default. See the comment-style variable for another example ;-) > I agree that "-t" should be renamed "-nw"; in fact this idea is even in > the README file. However, multi-character short options are a pain to > implement. I'd prefer if someone with more getopt experience would do > it instead. :-) I see. Yes, it's a problem with the current argument scheme, indeed. Stefan ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-17 23:24 ` Stefan Monnier @ 2007-05-18 18:02 ` Károly Lo"rentey 2007-05-19 14:07 ` Stefan Monnier 0 siblings, 1 reply; 26+ messages in thread From: Károly Lo"rentey @ 2007-05-18 18:02 UTC (permalink / raw) To: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 1373 bytes --] Stefan Monnier wrote: >> $ emacsclient >> ==> X frame > > There are *many* different ways to create new frames (one per "session", > one per file, reuse old ones or not, ...). I hope you got it right ;-) I hope so as well, but there is always room for tweaking the defaults if I happened to choose something wrong. I find that the current default settings fit me like a glove, but that's no big wonder. :-) I'm very interested in what others think about the behaviour of emacsclient, and if there is anything that doesn't work for them as well as it could. > Maybe it's OK. Note that when I added the --display argument, I was > careful to not automatically use the $DISPLAY envvar, in order to preserve > backward compatibility, so users have to say --display "$DISPLAY" if they > want it. Emacsclient can now consistently open a frame even if X is not available, so I would argue existing users will find the new default easier to use as well. If they do object, but only then, should we consider reverting the default to the old behaviour. I personally find the new emacsclient is really rather more pleasant to use than the old one. I wouldn't like to hide the new feature set because we're afraid somebody somewhere might find it offensive, but if people did object, then I'd easily accept such a decision. -- 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-18 18:02 ` Károly Lo"rentey @ 2007-05-19 14:07 ` Stefan Monnier 0 siblings, 0 replies; 26+ messages in thread From: Stefan Monnier @ 2007-05-19 14:07 UTC (permalink / raw) To: Károly Lorentey; +Cc: emacs-devel > I wouldn't like to hide the new feature set because we're afraid > somebody somewhere might find it offensive, but if people did object, > then I'd easily accept such a decision. Usually, it's not due to a fear that someone somewhere will not like it, but that someone right here finds it plain wrong. Stefan ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-13 13:31 multi-tty branch created Miles Bader 2007-05-13 14:50 ` David Kastrup @ 2007-05-13 20:07 ` Jason Rumney 2007-05-14 10:21 ` Karoly Lorentey 2007-05-14 6:00 ` Manoj Srivastava 2 siblings, 1 reply; 26+ messages in thread From: Jason Rumney @ 2007-05-13 20:07 UTC (permalink / raw) To: Miles Bader; +Cc: Karoly Lorentey, emacs-devel Miles Bader wrote: > Ok, I've put the multi-tty sources into CVS and arch branches on > savannah. > > The CVS branch tag is called "multi-tty". > > The arch branch is "emacs@sv.gnu.org/emacs--multi-tty--0". > > -miles > Is the branch using a specific ChangeLog file, like ChangeLog.unicode on the emacs-unicode-2 branch? I've fixed my first compilation error - some MULTI_KBOARD specific code was added to keyboard.c without being in a conditional block. Next there are 20 compilation errors in w32console.c, which is what I was expecting. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-13 20:07 ` Jason Rumney @ 2007-05-14 10:21 ` Karoly Lorentey 2007-05-14 11:55 ` Jason Rumney 2007-05-15 22:05 ` Ken Raeburn 0 siblings, 2 replies; 26+ messages in thread From: Karoly Lorentey @ 2007-05-14 10:21 UTC (permalink / raw) To: emacs-devel Jason Rumney wrote: > Is the branch using a specific ChangeLog file, like ChangeLog.unicode on > the emacs-unicode-2 branch? Not yet. A file such as that will show up once we had a chance to convert the Arch logs into a flat file. > I've fixed my first compilation error - some MULTI_KBOARD specific code > was added to keyboard.c without being in a conditional block. > Next there are 20 compilation errors in w32console.c, which is what I > was expecting. Sounds promising. The branch relies on MULTI_KBOARD being enabled; you can even consider the entire branch an extension of that feature. I suggest enabling it everywhere; it has negligible costs. -- Karoly ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-14 10:21 ` Karoly Lorentey @ 2007-05-14 11:55 ` Jason Rumney 2007-05-15 13:03 ` Karoly Lorentey 2007-05-15 22:05 ` Ken Raeburn 1 sibling, 1 reply; 26+ messages in thread From: Jason Rumney @ 2007-05-14 11:55 UTC (permalink / raw) To: Karoly Lorentey; +Cc: emacs-devel Karoly Lorentey wrote: > Sounds promising. The branch relies on MULTI_KBOARD being enabled; you > can even consider the entire branch an extension of that feature. I > suggest enabling it everywhere; it has negligible costs. > It does not rely on it that much. Only a three or four such errors were present, and they were easily taken care of with #ifdef MULTI_KBOARD blocks. My objective at the moment is to get the w32 port compiling, linking and generally working with the featureset of emacs 22. That is the point that is required for merging to the branch I think. Further work on porting the multiple keyboard support etc to w32 will just slow that progress down at this stage. ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-14 11:55 ` Jason Rumney @ 2007-05-15 13:03 ` Karoly Lorentey 0 siblings, 0 replies; 26+ messages in thread From: Karoly Lorentey @ 2007-05-15 13:03 UTC (permalink / raw) To: Jason Rumney; +Cc: emacs-devel [-- Attachment #1.1: Type: text/plain, Size: 790 bytes --] Jason Rumney wrote: > Karoly Lorentey wrote: >> Sounds promising. The branch relies on MULTI_KBOARD being enabled; you >> can even consider the entire branch an extension of that feature. I >> suggest enabling it everywhere; it has negligible costs. > > It does not rely on it that much. Only a three or four such errors were > present, and they were easily taken care of with #ifdef MULTI_KBOARD > blocks. OK, that sounds fine. We can work on such niceties later, if indeed it is a good idea at all. > My objective at the moment is to get the w32 port compiling, linking and > generally working with the featureset of emacs 22. That is the point > that is required for merging to the branch I think. You are right; thank you for working on this. -- 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 ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-14 10:21 ` Karoly Lorentey 2007-05-14 11:55 ` Jason Rumney @ 2007-05-15 22:05 ` Ken Raeburn 1 sibling, 0 replies; 26+ messages in thread From: Ken Raeburn @ 2007-05-15 22:05 UTC (permalink / raw) To: emacs-devel On May 14, 2007, at 06:21, Karoly Lorentey wrote: > Jason Rumney wrote: >> Is the branch using a specific ChangeLog file, like >> ChangeLog.unicode on >> the emacs-unicode-2 branch? > > Not yet. A file such as that will show up once we had a chance to > convert the Arch logs into a flat file. If ChangeLog.multi-tty is where new changes in CVS are to be logged, creation of the file doesn't have to wait for the Arch log conversion, does it? Just fill in the earlier log data once the conversion is done, and in the meantime, work being done now can be logged. Ken ^ permalink raw reply [flat|nested] 26+ messages in thread
* Re: multi-tty branch created 2007-05-13 13:31 multi-tty branch created Miles Bader 2007-05-13 14:50 ` David Kastrup 2007-05-13 20:07 ` Jason Rumney @ 2007-05-14 6:00 ` Manoj Srivastava 2 siblings, 0 replies; 26+ messages in thread From: Manoj Srivastava @ 2007-05-14 6:00 UTC (permalink / raw) To: emacs-devel Hi, On Sun, 13 May 2007 22:31:55 +0900, Miles Bader <miles@gnu.org> said: > Ok, I've put the multi-tty sources into CVS and arch branches on > savannah. > The arch branch is "emacs@sv.gnu.org/emacs--multi-tty--0". I have successfully branched this privately, applied a set of changes that make it a better fit for a Debian system, and compiled, built, and used it on a Debian machine using fvwm (as opposed to a desktop environment). The multi-tty binary behaves nominally. manoj -- If the facts don't fit the theory, change the facts. Albert Einstein Manoj Srivastava <srivasta@acm.org> <http://www.golden-gryphon.com/> 1024D/BF24424C print 4966 F272 D093 B493 410B 924B 21BA DABB BF24 424C ^ permalink raw reply [flat|nested] 26+ messages in thread
end of thread, other threads:[~2007-05-19 14:07 UTC | newest] Thread overview: 26+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-05-13 13:31 multi-tty branch created Miles Bader 2007-05-13 14:50 ` David Kastrup 2007-05-13 16:12 ` Miles Bader 2007-05-13 16:14 ` David Kastrup 2007-05-13 16:13 ` David Kastrup 2007-05-13 19:28 ` Robert J. Chassell 2007-05-16 13:24 ` Károly Lo"rentey 2007-05-16 13:46 ` Juanma Barranquero 2007-05-16 15:04 ` Károly Lőrentey 2007-05-16 15:34 ` David Kastrup 2007-05-16 16:11 ` Károly Lőrentey 2007-05-16 21:17 ` Jason Rumney 2007-05-16 16:20 ` Dan Nicolaescu 2007-05-16 17:39 ` David Kastrup 2007-05-16 20:48 ` Károly Lőrentey 2007-05-17 14:02 ` Stefan Monnier 2007-05-17 16:04 ` Károly Lo"rentey 2007-05-17 23:24 ` Stefan Monnier 2007-05-18 18:02 ` Károly Lo"rentey 2007-05-19 14:07 ` Stefan Monnier 2007-05-13 20:07 ` Jason Rumney 2007-05-14 10:21 ` Karoly Lorentey 2007-05-14 11:55 ` Jason Rumney 2007-05-15 13:03 ` Karoly Lorentey 2007-05-15 22:05 ` Ken Raeburn 2007-05-14 6:00 ` Manoj Srivastava
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).