unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ken Raeburn <raeburn@raeburn.org>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Emacs-Devel devel <emacs-devel@gnu.org>
Subject: Re: Concurrency, again
Date: Wed, 19 Oct 2016 06:18:18 -0400	[thread overview]
Message-ID: <646C7DAF-F7AB-48C2-AFDF-6881D2990617@raeburn.org> (raw)
In-Reply-To: <83wph6vt0f.fsf@gnu.org>


> On Oct 18, 2016, at 06:41, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>> From: Ken Raeburn <raeburn@raeburn.org>
>> Date: Tue, 18 Oct 2016 06:08:49 -0400
>> Cc: tom@tromey.com,
>> emacs-devel@gnu.org
>> 
>>>> * header inclusion order requirement is weird; can generating one big header help?
>>> 
>>> I'm not sure I understand what inclusion order is being alluded to
>>> here.  Can you elaborate?
>> 
>> I think it’s the ordering and recursive inclusion involving thread.h relative to the other headers.  For example lisp.h includes thread.h which includes sysselect.h which includes lisp.h; thread.h uses struct vectorlike_header, so it has to be included in lisp.h after that structure is defined but before struct thread_state gets used; thread.h also includes regex.h which includes lisp.h.  You commented at one point, “We now have an unfortunate situation whereby lisp.h cannot be included before some of the other headers, due to this.”
> 
> This could be solved by moving parts of thread.h into lisp.h, with the
> appropriate #ifdef guards.  I think Lisp objects should be in lisp.h
> anyway, even if they are optional; anything else is confusing.

For big, specialized objects like buffers, I think the modularity can help keep things organized, but where we’ve got a structure with all the per-thread state from random parts of the program, like condition handlers and regex state, we don’t have the luxury of separating things.  But even if we move most of thread.h into lisp.h, I think there may still be mutual recursion between it and the other headers.

Perhaps if the thread state contained struct pointers instead of structures, we could forward-declare some of the types and not have to pull in the other headers in such a fashion.


> 
>>>> * one thread per terminal?
>>> 
>>> Why?
>>> 
>>>> * file notifications and such shouldn’t go through same queue as keyboard events
>>> 
>>> Why?
>> 
>> Stefan’s message: http://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00755.html
> 
> I don't see that as a critical problem, perhaps because we don't yet
> realize how serious it can be.  The whole purpose of trying to merge
> the concurrency branch is to collect practical experience as to what
> should and shouldn't be in this kind of Emacs feature.  So I'd tend to
> let this be, until we find out we can't, and why.
> 
>>>> * interaction of SIGCHLD handling and threads?
>>> 
>>> Details?
>> 
>> Your message http://lists.gnu.org/archive/html/emacs-devel/2013-08/msg00738.html raised questions.  If they were ever satisfactorily answered, I overlooked it when putting together my notes….
> 
> That should be easy: since a subprocess is locked to a single thread,

by default, but if that thread exits, that lock disappears

> SIGCHLD should be delivered to that thread.  If we don't have that
> already, we should add that, it doesn't sound hard, given the
> infrastructure we already have (deliver_thread_signal etc.).

It’s not completely trivial.  Under POSIX, we get no control over which thread receives SIGCHLD due to a subprocess exiting, except if we want certain threads to block receiving the signal completely.  We can use pthread_kill to explicitly send SIGCHLD to a specific thread, if it’s not blocking the signal, but we don’t know which thread until we’ve fetched the child’s pid and looked it up in some data structure; we do that by calling waitpid() but then the kernel discards the child process’s status info, so the “correct” thread can no longer respond to the signal by making another waitpid() call to collect the status info.  We’d have to save the info the first time we call waitpid().  But doing it from within the signal handler could be tricky, because in that context we’re limited to async-signal-safe functions, and helpful routines like malloc() and pthread_mutex_lock() aren’t on the list.

On the other hand, perhaps we can create one special thread to do all the waitpid() calls and pass info to the Lisp-running threads.  If that’s all it’s doing, the non-signal-handler portion of the thread’s code can loop calling waitpid and locking mutexes and updating data structures, and the Lisp-running threads can check in their thread-state structures for messages from the child-reaping thread.  I’m not sure how safe it would be to block SIGCHLD in threads that might call into the various system UI libraries and such, but we can probably just use a simple SIGCHLD handler to let any thread wake the reaper thread, which can then do its waitpid() calls.


> 
>> It’s easy enough to disable stack overflow checking when enabling thread support.
> 
> Or add some simple code in the stack overflow handler to check if we
> are in the main thread, and if not, punt (i.e. crash).
> 
>> If only one thread is allowed into the image processing code at a time (i.e., don’t release the global lock for that code) then that’s probably fine for now, and there’s probably other state there that different threads shouldn’t be mucking around with in parallel.
> 
> Redisplay runs in the main thread anyway, right?  If so, there's no
> problem.

If some random thread calls (redisplay) or (sit-for …)?  I think it’ll run in whichever Lisp-running thread triggers it.  But, it’ll be the one holding the lock.

> 
>> The keyboard.c one is the only one I’m a bit concerned about, in part because I haven’t looked at it.
> 
> What part(s) of keyboard.c, exactly?

Anything looking at getcjmp; that means read_event_from_main_queue and read_char.  Like I said, I haven’t looked very closely; if the static storage isn’t ever used across a point where the global lock could be released to allow a thread switch, it may be fine.


  reply	other threads:[~2016-10-19 10:18 UTC|newest]

Thread overview: 348+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-11 16:29 Guile emacs thread (again) Christopher Allan Webber
2014-09-14 16:20 ` Eli Zaretskii
2014-09-16 14:43 ` Grim Schjetne
2014-09-16 15:50 ` Emacs Lisp's future (was: Guile emacs thread (again)) Stefan Monnier
2014-09-16 16:03   ` Lennart Borgman
2014-09-17 18:24     ` Jorgen Schaefer
2014-09-17 18:42       ` Emacs Lisp's future Lars Brinkhoff
2014-09-17 19:25       ` Emacs Lisp's future (was: Guile emacs thread (again)) Lally Singh
2014-09-18  2:07       ` Alexis
2014-09-18 16:40         ` Emacs Lisp's future Daniel Colascione
2014-09-18 21:54           ` Regular expression creation [was: Re: Emacs Lisp's future] Alexis
2014-09-18 23:37             ` Aurélien Aptel
2014-09-19  0:00               ` Alexis
2014-09-19  2:12                 ` Stefan Monnier
2014-09-19 10:07                   ` Alexis
2014-09-26 15:25                     ` Filipp Gunbin
2014-09-19 18:04             ` Daniel Colascione
2014-09-18  6:35       ` Emacs Lisp's future Andreas Röhler
2014-09-18 15:17         ` Richard Stallman
2014-09-18 16:19           ` Ivan Andrus
2014-09-18 23:19             ` Richard Stallman
2014-09-19  7:18               ` Andreas Röhler
2014-09-19  8:10             ` Andreas Schwab
2014-09-19  8:46               ` David Kastrup
2014-09-18  8:43     ` Emacs Lisp's future (was: Guile emacs thread (again)) Emilio Lopes
2014-09-16 16:09   ` Eli Zaretskii
2014-09-16 16:54   ` Lars Brinkhoff
2014-09-17 15:14     ` Emacs Lisp's future Stefan Monnier
2014-09-17 16:57       ` Lars Brinkhoff
2014-09-16 16:59   ` David Kastrup
2014-09-16 22:58     ` Mark H Weaver
2014-09-16 23:10       ` Mark H Weaver
2014-09-17 13:55       ` David Kastrup
2014-09-17 15:19         ` Mark H Weaver
2014-09-17 16:23           ` David Kastrup
2014-09-17 18:10             ` Nic Ferrier
2014-09-17  5:04     ` mhw
2014-09-17 14:03       ` David Kastrup
2014-09-17 14:39         ` Mark H Weaver
2014-09-17 15:11           ` David Kastrup
2014-09-17 10:48   ` Lars Magne Ingebrigtsen
2014-09-17 10:53     ` Nic Ferrier
2014-09-17 11:21       ` David Kastrup
2014-09-17 11:22       ` Eli Zaretskii
2014-09-17 13:50         ` Phillip Lord
2014-09-17 11:17   ` Phillip Lord
2014-09-17 11:35     ` Nic Ferrier
2014-09-17 12:50     ` Stefan Monnier
2014-09-17 13:54       ` Phillip Lord
2014-09-17 14:24         ` Eli Zaretskii
2014-09-17 14:30           ` David Kastrup
2014-09-17 15:03             ` Eli Zaretskii
2014-09-17 15:10           ` Phillip Lord
2014-09-17 18:04             ` performance isn't a concern in ... " Nic Ferrier
2014-09-17 19:08               ` David Kastrup
2014-09-18  7:54             ` Thorsten Jolitz
2014-09-17 15:09         ` Stefan Monnier
2014-09-17 15:07       ` Taylan Ulrich Bayirli/Kammer
2014-09-17 15:33         ` David Kastrup
2014-09-17 20:11           ` Taylan Ulrich Bayirli/Kammer
2014-09-17 22:42             ` Daniel Colascione
2014-09-18  2:34               ` Stefan Monnier
2014-09-18  3:17               ` David Kastrup
2014-09-18  9:04                 ` Taylan Ulrich Bayirli/Kammer
2014-09-18  9:27                   ` David Kastrup
2014-09-18 11:15                     ` Taylan Ulrich Bayirli/Kammer
2014-09-18  3:46             ` David Kastrup
2014-09-18  9:53               ` Taylan Ulrich Bayirli/Kammer
2014-09-18 10:09                 ` David Kastrup
2014-09-18 11:29                   ` Taylan Ulrich Bayirli/Kammer
2014-09-18 12:07                     ` David Kastrup
2014-09-18 14:12                       ` Taylan Ulrich Bayirli/Kammer
2014-09-18 14:56                         ` David Kastrup
2014-09-18 15:36                           ` Taylan Ulrich Bayirli/Kammer
2014-09-18 16:44                             ` David Kastrup
2014-09-17 17:13         ` Eli Zaretskii
2014-09-17 17:33         ` Stefan Monnier
2014-09-17 20:21     ` Richard Stallman
2014-09-18 12:48       ` Phillip Lord
2014-09-18 14:15       ` Rasmus
2014-09-18 14:34         ` Phillip Lord
2014-09-18 15:01           ` Rasmus
2014-09-18 16:08             ` Phillip Lord
2014-09-18 16:18               ` Rasmus
2014-09-18 19:23               ` Stefan Monnier
2014-09-18 23:18               ` Richard Stallman
2014-09-19  0:00                 ` Rasmus
2014-09-19  8:00                   ` Nic Ferrier
2014-09-19 10:46                     ` Stephen J. Turnbull
2014-09-19 11:12                       ` David Kastrup
2014-09-19 16:16                         ` Stephen J. Turnbull
2014-09-19 11:38                       ` Nic Ferrier
2014-09-19 18:02                         ` Richard Stallman
2014-09-19 11:53                       ` Rasmus
2014-09-19 18:01                     ` Richard Stallman
     [not found]                     ` <<E1XV2UO-0005CA-Vk@fencepost.gnu.org>
2014-09-19 18:43                       ` Drew Adams
2014-09-18 23:17           ` Richard Stallman
2014-09-19  0:03             ` Rasmus
2014-09-19 10:27               ` Eric S. Raymond
2014-09-23  7:45               ` Emilio Lopes
2014-09-26 16:50               ` Jonas Bernoulli
2014-09-26 18:23                 ` Christopher Allan Webber
2014-09-29  8:33                   ` Phillip Lord
2014-09-29 13:19                     ` Stefan Monnier
2014-09-29 14:47                       ` Phillip Lord
2014-09-30  7:58                     ` Thorsten Jolitz
2014-09-30 12:19                       ` Phillip Lord
2014-09-30 16:15                       ` Nic Ferrier
2014-09-30 18:21                         ` Thorsten Jolitz
2014-09-30 19:18                           ` Thorsten Jolitz
2014-09-30 16:15                       ` Nicolas Richard
2014-09-30 17:54                         ` Thorsten Jolitz
2014-09-30 18:19                           ` Drew Adams
2014-09-26 20:37                 ` Stefan Monnier
2014-09-18 23:17         ` Richard Stallman
2014-09-18 23:37           ` Rasmus
2014-09-19  2:03           ` Stefan Monnier
2014-09-19  6:26             ` Adding packages to ELPA (was: Emacs Lisp's future) Eli Zaretskii
2014-09-19  6:47               ` Adding packages to ELPA Rasmus
2014-09-19 13:47                 ` Stefan Monnier
2014-09-19 13:56                   ` Nic Ferrier
2014-09-19 16:27                     ` Stefan Monnier
2014-09-19 12:31               ` Sam Steingold
2014-09-19 13:08                 ` Eli Zaretskii
2014-09-19 14:29                   ` Sam Steingold
2014-09-19 13:26                 ` Stefan Monnier
2014-09-19 13:39                   ` Eli Zaretskii
2014-09-19 14:44                     ` Stefan Monnier
2014-09-19 15:00                       ` Eli Zaretskii
2014-09-19 15:41                         ` Phillip Lord
2014-09-19 15:45                           ` Eli Zaretskii
2014-09-19 18:03                             ` Richard Stallman
2014-09-19 16:34                         ` Stefan Monnier
2014-09-19 17:30                           ` Eli Zaretskii
2014-09-19 18:13                             ` Stefan Monnier
2014-09-20 16:09                             ` Stephen Leake
2014-09-20 16:23                               ` Eli Zaretskii
2014-09-21 15:05                                 ` Stephen Leake
2014-09-20 20:02                               ` Stefan Monnier
2014-09-20 16:00                         ` Stephen Leake
2014-09-20 16:21                           ` Eli Zaretskii
2014-09-22  7:53                             ` Phillip Lord
2014-09-22 14:50                               ` Eli Zaretskii
2014-09-22 19:34                                 ` SP? {Spam?} " Phillip Lord
2014-09-19 18:02                     ` Richard Stallman
2014-09-19 18:02                   ` Richard Stallman
2014-09-17 22:49     ` Emacs Lisp's future Daniel Colascione
2014-09-17 12:46   ` Eric Brown
2014-09-17 13:33     ` Taylan Ulrich Bayirli/Kammer
2014-09-17 13:52       ` Eli Zaretskii
2014-09-17 15:11         ` Taylan Ulrich Bayirli/Kammer
2014-09-17 20:23     ` Richard Stallman
2014-09-17 21:13   ` Lars Magne Ingebrigtsen
2014-09-20 19:31   ` Robin Templeton
2016-10-07 10:47   ` Lars Brinkhoff
2016-10-07 11:03     ` Nikolay Kudryavtsev
2016-10-07 11:27       ` Philippe Vaucher
2016-10-07 11:48         ` Nikolay Kudryavtsev
2016-10-08 14:00           ` Ben
2016-10-08 15:39             ` Stefan Monnier
2016-10-07 12:52         ` Stefan Monnier
2016-10-08  8:23       ` Helmut Eller
2016-10-08 12:07         ` Clément Pit--Claudel
2016-10-08 14:26           ` Nicolas Petton
2016-10-08 20:57         ` Richard Stallman
2016-10-08 21:40           ` Nicolas Petton
2016-10-08 22:15           ` Helmut Eller
2016-10-10  9:00             ` Richard Stallman
2016-10-11  1:42               ` Richard Stallman
2016-10-11  7:47                 ` Helmut Eller
2016-10-11 14:44                   ` Elias Mårtenson
2016-10-12  3:17                 ` Tom Tromey
2016-10-13 21:23                   ` Richard Stallman
2016-10-13 21:35                     ` Tom Tromey
2016-10-17  0:44                       ` Richard Stallman
2016-10-10  4:09           ` Georges Ko
2016-10-10  4:51             ` Clément Pit--Claudel
2016-10-10 13:56               ` Georges Ko
2016-10-11  4:06                 ` Marcin Borkowski
2016-10-11  4:18                   ` Clément Pit--Claudel
2016-10-11  7:16                     ` Marcin Borkowski
2016-10-11 13:33                       ` Clément Pit--Claudel
2016-10-11 14:54                         ` Elias Mårtenson
2016-10-11 15:10                           ` Clément Pit--Claudel
2016-10-11 17:55                             ` Elias Mårtenson
2016-10-11 17:08                         ` Marcin Borkowski
2016-10-10 15:26             ` raman
2016-10-07 15:32     ` Kelvin White
2016-10-07 16:18     ` Søren Pilgård
2016-10-07 16:25       ` Kaushal Modi
2016-10-08  2:09       ` Tom Tromey
2016-10-08 20:58         ` Richard Stallman
2016-10-07 17:07     ` John Wiegley
2016-10-09 12:03       ` Toon Claes
2016-10-09 12:33         ` Eli Zaretskii
2016-10-10  2:59           ` John Wiegley
2016-10-10  7:17             ` Concurrency, again (was: Emacs Lisp's future) Eli Zaretskii
2016-10-10 15:42               ` Concurrency, again Paul Eggert
2016-10-12 12:47               ` Stefan Monnier
2016-10-12 15:24                 ` raman
2016-10-12 16:42                 ` John Wiegley
2016-10-12 17:17                   ` Eli Zaretskii
2016-10-12 18:01                     ` John Wiegley
2016-10-12 19:26                       ` Eli Zaretskii
2016-10-12 19:43                       ` Stefan Monnier
2016-10-12 20:59                         ` Perry E. Metzger
2016-10-12 21:20                           ` Søren Pilgård
2016-10-12 21:33                             ` Perry E. Metzger
2016-10-12 22:31                               ` Stefan Monnier
2016-10-12 23:33                                 ` John Wiegley
2016-10-13  5:55                               ` Eli Zaretskii
2016-10-13 13:27                                 ` Perry E. Metzger
2016-10-13 15:05                                   ` Stefan Monnier
2016-10-13 17:25                                     ` John Wiegley
2016-10-13 18:14                                       ` Stefan Monnier
2016-10-14 21:01                                         ` Richard Stallman
2016-10-14 21:48                                           ` Stefan Monnier
2016-10-15  1:24                                           ` John Wiegley
2016-10-15  5:48                                           ` Eli Zaretskii
2016-10-15 22:03                                             ` Richard Stallman
2016-10-16  0:38                                               ` John Wiegley
2016-10-16  6:40                                               ` Eli Zaretskii
2016-10-17  0:43                                                 ` Richard Stallman
2016-10-17  6:10                                                   ` Eli Zaretskii
2016-10-25 13:34                                         ` Philipp Stephani
2016-10-25 22:28                                           ` Dmitry Gutov
2016-10-13 19:34                                       ` Clément Pit--Claudel
2016-10-13 19:49                                         ` John Wiegley
2016-10-14 15:26                                       ` Ted Zlatanov
2016-10-14 15:47                                         ` Michael Albinus
2016-10-14 16:57                                           ` John Wiegley
2016-10-14 18:03                                           ` John Wiegley
2016-10-14 18:06                                           ` Ted Zlatanov
2016-10-15  7:16                                             ` Michael Albinus
2016-10-17 14:13                                               ` Ted Zlatanov
2016-10-17 18:33                                         ` Ken Raeburn
2016-10-17 18:41                                           ` Stefan Monnier
2016-10-14 17:01                                       ` Stefan Huchler
2016-10-17 14:53                                       ` Perry E. Metzger
2016-10-17 16:07                                         ` Eli Zaretskii
2016-10-17 16:34                                           ` Perry E. Metzger
2016-10-17 16:57                                             ` Eli Zaretskii
2016-10-17 17:53                                               ` Perry E. Metzger
2016-10-17 18:06                                                 ` Lars Ingebrigtsen
2016-10-18  3:27                                                   ` Stefan Huchler
2016-10-18 14:34                                                     ` Lars Ingebrigtsen
2016-10-18 14:58                                                       ` Eli Zaretskii
2016-10-18 15:05                                                         ` Lars Ingebrigtsen
2016-10-18 15:36                                                           ` Eli Zaretskii
2016-10-18 19:26                                                             ` Lars Ingebrigtsen
2016-10-18 15:15                                                       ` joakim
2016-10-18 16:20                                                       ` Stefan Huchler
2016-10-18 18:37                                                       ` Browsers inside Emacs (was Re: Concurrency, again) Perry E. Metzger
2016-10-17 18:19                                                 ` Concurrency, again Eli Zaretskii
2016-10-18 19:47                                                 ` Richard Stallman
2016-10-18 19:47                                             ` Richard Stallman
2016-10-18 20:29                                               ` Web browsing (was Re: Concurrency, again) Perry E. Metzger
2016-10-19 19:57                                                 ` Richard Stallman
2016-10-19 20:44                                                   ` Perry E. Metzger
2016-10-20 18:04                                                     ` Richard Stallman
2016-10-19  8:52                                               ` Concurrency, again Ricardo Wurmus
2016-10-19 13:07                                                 ` Emacs as browser (was Re: Concurrency, again) Perry E. Metzger
2016-10-19 20:02                                                   ` Richard Stallman
2016-10-19 20:38                                                     ` Perry E. Metzger
2016-10-20  7:33                                                       ` Eli Zaretskii
2016-10-20 15:15                                                         ` Perry E. Metzger
2016-10-20 15:42                                                           ` Eli Zaretskii
2016-10-20 22:22                                                             ` Cairo bugs (was Re: Emacs as browser (was Re: Concurrency, again)) Perry E. Metzger
2016-10-21  7:31                                                             ` Emacs as browser (was Re: Concurrency, again) Dov Grobgeld
2016-10-21 19:43                                                               ` Paul Eggert
2016-10-23  6:23                                                                 ` Dov Grobgeld
2016-10-23  9:39                                                                   ` Dov Grobgeld
2016-10-23 10:26                                                                     ` Paul Eggert
2016-10-20 18:15                                                         ` Philippe Vaucher
2016-10-20 18:41                                                           ` Perry E. Metzger
2016-10-20 20:56                                                             ` Philippe Vaucher
2016-10-21  1:45                                                               ` Richard Stallman
2016-10-20 19:24                                                           ` Eli Zaretskii
2016-10-20 20:33                                                             ` Philippe Vaucher
2016-10-21  6:53                                                               ` Eli Zaretskii
2016-10-21 12:39                                                                 ` Tookits (was Re: Emacs as browser) Perry E. Metzger
2016-10-21 12:57                                                                   ` Eli Zaretskii
2016-10-21 13:45                                                                     ` Perry E. Metzger
2016-10-20 18:04                                                       ` Emacs as browser (was Re: Concurrency, again) Richard Stallman
2016-10-20 18:30                                                         ` Perry E. Metzger
2016-10-20 18:57                                                         ` Paul Eggert
2016-10-21  1:45                                                           ` Richard Stallman
2016-10-21  3:09                                                             ` Perry E. Metzger
2016-10-25 13:30                                     ` Concurrency, again Philipp Stephani
2016-10-12 21:24                           ` joakim
2016-10-12 18:19                   ` John Wiegley
2016-10-15  4:45                     ` SAKURAI Masashi
2016-10-17 15:29                       ` Perry E. Metzger
2016-10-18  3:14                     ` Tom Tromey
2016-10-18  6:18                       ` Eli Zaretskii
2016-10-18  7:58                       ` Ken Raeburn
2016-10-18  9:22                         ` Eli Zaretskii
2016-10-18 10:08                           ` Ken Raeburn
2016-10-18 10:41                             ` Eli Zaretskii
2016-10-19 10:18                               ` Ken Raeburn [this message]
2016-10-19 11:57                                 ` Eli Zaretskii
2016-10-20  6:08                                   ` Ken Raeburn
2016-10-20  7:54                                     ` Eli Zaretskii
2016-10-20  7:12                                 ` Herring, Davis
2016-10-20  7:55                                   ` Ken Raeburn
2016-10-20 16:22                                     ` Paul Eggert
2016-10-18 10:46                         ` Alan Third
2016-10-19  7:02                           ` Ken Raeburn
2016-10-18 14:04                         ` Tom Tromey
2016-10-25 13:27                   ` Philipp Stephani
2016-10-25 16:28                     ` Eli Zaretskii
2016-10-25 16:45                       ` John Wiegley
2016-10-25 16:48                         ` Philipp Stephani
2016-10-25 17:04                           ` Stefan Huchler
2016-10-25 18:43                             ` Philipp Stephani
2016-10-25 21:44                               ` John Wiegley
2016-10-25 23:28                                 ` Philipp Stephani
2016-10-27 17:27                                   ` Eli Zaretskii
2016-10-27 19:13                                     ` Daniel Colascione
2016-10-27 20:55                                       ` Christopher Allan Webber
2016-10-27 21:50                                         ` Daniel Colascione
2016-10-28  7:53                                         ` Eli Zaretskii
2016-10-31  6:42                                   ` Tom Tromey
2016-10-26 14:03                             ` Ted Zlatanov
2016-10-26 15:09                               ` Eli Zaretskii
2016-10-25 17:12                           ` Eli Zaretskii
2016-10-25 13:22               ` Philipp Stephani
2016-10-25 14:24                 ` Stefan Monnier
2016-10-25 14:41                   ` Philipp Stephani
2016-10-26 13:50                     ` Ted Zlatanov
2016-10-26 14:32                       ` Stefan Monnier
2016-10-26 14:39                         ` Ted Zlatanov
2016-10-25 16:25                 ` Eli Zaretskii
2016-10-25 23:47                 ` Richard Stallman
2016-10-10 15:24             ` Emacs Lisp's future raman
2016-10-09 12:43         ` Søren Pilgård
2016-10-09 13:13           ` Philipp Stephani
2016-10-09 13:15           ` Eli Zaretskii
2014-09-17 19:29 ` Guile emacs thread (again) Lluís
2014-09-17 19:34   ` Lally Singh
2014-09-18 12:23 ` Robin Templeton
2014-09-19  1:15   ` Christopher Allan Webber
2014-09-20 13:20   ` Richard Stallman
2014-09-20 15:54     ` Eli Zaretskii
2014-09-21 13:35       ` Richard Stallman
2014-09-21 16:16       ` Stefan Monnier
2014-09-21 17:00         ` Eli Zaretskii
2014-09-21 20:09           ` Stefan Monnier

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=646C7DAF-F7AB-48C2-AFDF-6881D2990617@raeburn.org \
    --to=raeburn@raeburn.org \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /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).