From: Philipp Stephani <p.stephani2@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: aurelien.aptel+emacs@gmail.com, tzz@lifelogs.com, emacs-devel@gnu.org
Subject: Re: Dynamic loading progress
Date: Fri, 20 Nov 2015 19:58:25 +0000 [thread overview]
Message-ID: <CAArVCkTrSjOTQ-_-ZgC6+yVM4wL2WDfrE7MTZ-d7yriCV4oq4w@mail.gmail.com> (raw)
In-Reply-To: <837fld6lps.fsf@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 14612 bytes --]
Eli Zaretskii <eliz@gnu.org> schrieb am Fr., 20. Nov. 2015 um 10:54 Uhr:
> > From: Philipp Stephani <p.stephani2@gmail.com>
> > Date: Thu, 19 Nov 2015 22:41:09 +0000
> > Cc: emacs-devel@gnu.org
> >
> > Thanks for the thorough review; I'll prepare patches for all of these
> issues.
>
> Thank you.
>
> > This comment in module.c:
> >
> > /* If checking is enabled, abort if the current thread is not the
> > Emacs main thread. */
> > static void check_main_thread (void);
> >
> > confused me, because a later comment says:
> >
> > void module_init (void)
> > {
> > /* It is not guaranteed that dynamic initializers run in the main
> thread,
> > therefore we detect the main thread here. */
> >
> > If dynamic initializers might run in a thread different from the
> Emacs
> > main thread, then the code in module_init will record that other
> > thread, not the Emacs main thread, right?
> >
> > No, because module_init is guaranteed to be called from the main thread
> because
> > main calls it explicitly.
>
> So you are saying that module_init runs in the main thread, but
> dynamic initializers might run in another thread? How's that
> possible?
>
According to http://stackoverflow.com/a/29776416 it is not guaranteed that
dynamic initializers run in the main thread.
>
> > Also, another comment:
> >
> > /* On Windows, we store both a handle to the main thread and the
> > thread ID because the latter can be reused when a thread
> > terminates. */
> >
> > seems to imply that 'main_thread' here is not the Emacs's main
> thread,
> > because that thread never terminates as long as the Emacs session is
> > alive.
> >
> > So what's the deal here? what does this thread checking supposed to
> > detect?
> >
> > This guards against the Emacs main thread having exited while module
> code in
> > some other thread is still running and attempting to call Emacs
> functions.
>
> On what OS can this happen? It cannot happen on Windows, AFAIK,
http://blogs.msdn.com/b/oldnewthing/archive/2010/08/27/10054832.aspx seems
to indicate that it is possible that other threads continue running after
the main thread has exited.
> so
> complicating the code by using a handle is not necessary on Windows,
> because the thread ID of the main Emacs thread will never be reused as
> long as the Emacs session is alive. Moreover, we already have that
> thread's ID in a global variable called dwMainThreadId, computed
> during the session startup (albeit after module_init, so it would need
> to be moved to an earlier stage), so we could simply compare against
> its value in check_main_thread.
>
My initial code didn't use a thread identifier at all because it could have
been reused after the main thread ended, introducing a subtle bug.
>
> > This is undefined behavior, but we included an explicit check if
> > checking is enabled because that case is somewhat subtle.
>
> I'm surprised this could happen on some OS. Can you point to any
> details about this?
>
It's not ruled out by the C standard or the APIs of operating systems. If
Emacs doesn't call ExitThread or manipulates the C runtime, then indeed it
can't happen (at least on Windows), but I think it's brittle to rely on
such subtleties without explicitly checking for them (somebody might
introduce a call to ExitThread in the future without looking at module
code).
>
> > In this code from module.c:
> >
> > Lisp_Object value = HASH_VALUE (h, i);
> > eassert (NATNUMP (value));
> > const EMACS_UINT refcount = XFASTINT (value);
> > if (refcount >= MOST_POSITIVE_FIXNUM)
> > {
> > module_non_local_exit_signal_1 (env, Qoverflow_error, Qnil);
> > return NULL;
> > }
> >
> > how can the 'if' clause ever be true? refcount is an Emacs integer,
> > as you have just verified, no? And if this somehow can happen, then
> > why isn't there a similar check in the other functions?
> >
> > refcount can be MOST_POSITIVE_FIXNUM because that's an inclusive bound.
> It's
> > important to check that case because later refcount is incremented by
> one, and
> > if it's equal to MOST_POSITIVE_FIXNUM it would be outside the allowed
> range
> > afterwards. No other function increments numbers, thus no other
> functions need
> > this check.
>
> OK, but then either there should have been a comment explaining this,
> or, better, the test should have been after the addition. (Which, by
> some strange luck -- or maybe something else -- is just what Paul
> already did ;-)
>
If the test gets moved after the addition, then we should have a
verify(MAX_EMACS_UINT - 1 > MOST_POSITIVE_FIXNUM) or use
__builtin_add_overflow to make sure the addition doesn't cause UB.
>
> > Re this fragment from module.c:
> >
> > Lisp_Object ret = list4 (Qlambda,
> > list2 (Qand_rest, Qargs),
> > documentation ? build_string (documentation) : Qnil,
> > list3 (module_call_func,
> > envobj,
> > Qargs));
> >
> > Thou shalt not use build_string, except when you _know_ the argument
> > will always be a pure-ASCII string. Practically, this means the
> > argument must be a constant ASCII string. See these messages (and the
> > preceding discussion, if you are interested) for the gory details:
> >
> >
> http://lists.gnu.org/archive/html/bug-gnu-emacs/2013-10/msg00955.html
> >
> http://lists.gnu.org/archive/html/bug-gnu-emacs/2013-10/msg00976.html
> >
> http://lists.gnu.org/archive/html/bug-gnu-emacs/2013-10/msg00979.html
> >
> > The above should call make_multibyte_string instead.
> >
> >
> > We had a discussion about encodings in
> > https://github.com/aaptel/emacs-dynamic-module/issues/37. Sorry that
> this
> > didn't get resolved earlier; it's an important point. My suggestion
> would be to
> > always mandate specifying an encoding whenever a char* is passed, and
> limit
> > that to two or three functions dealing with creating strings and
> accessing
> > string contents. Would that address your concerns?
>
> No, this is not about encoding at all. This is about calling
> build_string: you should only call it when the argument is a fixed
> ASCII string. If the argument is not fixed or might include non-ASCII
> characters, you should call make_multibyte_string instead. That's
> because build_string might decide on its own whether to produce a
> unibyte or a multibyte string, out of your control, whereas we always
> want a multibyte string in this context.
>
> build_string doesn't encode or decode its argument, it creates a Lisp
> object whose text is taken from the argument. It's similar to
> make_number in that respect.
>
I'll send a patch with my changes to explain my intention.
>
> > Again in module.c:
> >
> > /*
> > * Emacs internal encoding is more-or-less UTF8, let's assume utf8
> > * encoded emacs string are the same byte size.
> > */
> >
> > if (!buffer || length == 0 || *length-1 < raw_size)
> > {
> > *length = raw_size + 1;
> > return false;
> > }
> >
> > I don't understand why you need this assumption. You are going to
> > encode the string in a moment, so why not test 'length' against the
> > size you actually obtain there? (The above test will misfire when the
> > original string includes characters above the Unicode codespace,
> which
> > require 5 bytes internally, but their encoding maps them to Unicode
> > codepoints which cannot take more than 4 bytes. So you might reject
> > perfectly valid calls.)
> >
> > In module_make_string you have:
> >
> > /* Assume STR is utf8 encoded */
> > return lisp_to_value (env, make_string (str, length));
> >
> > The discussion I pointed to above concluded that <quote>make_string
> is
> > a bug</quote>. So please use make_multibyte_string here instead.
> >
> >
> > See above; my suggestion would be to change the string handling code by
> > limiting encoding and decoding to a small set of functions where the
> encoding
> > would have to be specified explicitly.
>
> Once again, that's not the issue. AFAIU, you have already specified
> (albeit implicitly) that all strings passed as arguments to and from
> the module functions are UTF-8 encoded. And that's fine by me, that's
> not what these comments are about.
>
> The first comment is about a minor issue in
> module_copy_string_contents. Consider this fragment from that
> function:
>
> ptrdiff_t raw_size = SBYTES (lisp_str);
>
> /* Emacs internal encoding is more-or-less UTF8, let's assume utf8
> encoded emacs string are the same byte size. */
>
> if (!buffer || length == 0 || *length-1 < raw_size)
> {
> *length = raw_size + 1;
> return false;
> }
>
> Lisp_Object lisp_str_utf8 = ENCODE_UTF_8 (lisp_str);
> eassert (raw_size == SBYTES (lisp_str_utf8));
> *length = raw_size + 1;
> memcpy (buffer, SDATA (lisp_str_utf8), SBYTES (lisp_str_utf8));
> buffer[raw_size] = 0;
>
> The comment and the 'if' clause after it in effect tell that you want
> to check whether 'buffer' has enough space to hold the encoded string,
> but you don't know how many bytes will be needed for that. So you
> make some assumption (which, as I pointed out, could be wrong in rare
> cases), and reject the strings that fail your test. What I'm sating
> is that after the call to ENCODE_UTF_8, you can compute the exact
> length in bytes of the UTF-8 encoded string, so if you move the test
> there, you won't have to make any assumptions and you won't err.
>
> The second comment is again about calling make_string (which
> build_string calls internally): use make_multibyte_string instead.
>
> > static void module_set_user_finalizer (emacs_env *env,
> > emacs_value uptr,
> > emacs_finalizer_function fin)
> > {
> > check_main_thread ();
> > eassert (module_non_local_exit_check (env) ==
> emacs_funcall_exit_return);
> > const Lisp_Object lisp = value_to_lisp (uptr);
> > if (! USER_PTRP (lisp)) module_wrong_type (env, Quser_ptr, lisp);
> > XUSER_PTR (lisp)->finalizer = fin; <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
> > }
> >
> > No validity checks on 'fin'?
> >
> > How should it be validated? In C an arbitrary (invalid) pointer could be
> > passed. I think we just have to accept that this is UB.
>
> Given the extensive checks elsewhere in the file, this surprised me,
> that's all. How to test it? calling valid_pointer_p would be one
> thing I'd suggest. Maybe there are other (perhaps platform-dependent)
> checks possible here, I would have to look around. For example, it
> would be good to make sure this points into executable code.
>
You can't validate pointers in C. For example, is the following pointer
valid?
long a;
double *p = (double *)(&a);
The answer is no; this is an aliasing violation, and dereferencing p is UB,
but you won't detect this by trying to read the process's address space.
See also http://blogs.msdn.com/b/oldnewthing/archive/2006/09/27/773741.aspx.
The best way to detect such issues is running under asan.
>
> > if (len > INT_MAX || len < envptr->min_arity || (envptr->max_arity
> >= 0 &&
> > len > envptr->max_arity))
> > xsignal2 (Qwrong_number_of_arguments, module_format_fun_env (envptr),
> > make_number (len));
> >
> > Why the test against INT_MAX? EMACS_INT can legitimately be a 64-bit
> > data type with values far exceeding INT_MAX. Why impose this
> > limitation here?
> >
> > Because the nargs argument in the module interface is an int.
>
> Shouldn't it be EMACS_INT instead?
>
EMACS_INT is an internal type that isn't exposed to module authors. It
should be either int or int64.
>
> > If you think functions with more than INT_MAX arguments should be
> supported,
> > the type for nargs should be changed to int64.
>
> I thought your design decision was already to use int64 for any
> integer argument, no?
>
Daniel's initial design (
https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00960.html) had
int, but I guess he wouldn't mind changing this to int64.
>
> Anyway, something that comes from Lisp should allow EMACS_INT, IMO.
>
It can't use EMACS_INT because that's an internal type defined in lisp.h,
and emacs-module.h can't include lisp.h. Furthermore is should be a type
with a static size to allow for ABI stability. Mismatches should be dealt
with by explicit bounds checks.
>
> > allocate_emacs_value calls malloc; shouldn't it call xmalloc instead,
> > or at least conform to the XMALLOC_BLOCK_INPUT_CHECK protocol?
> >
> > If xmalloc is called, then we need to make sure that no signals
> (longjmps) can
> > escape to module code. If appropriate setjmps are in place that should be
> > doable, but I need to check whether there are edge cases.
>
> Paul already addressed that: xmalloc in Emacs does double or even
> triple duty, and it would be a shame to lose that here. So I think we
> should try to find a way to modify xmalloc such that it satisfies the
> module code as well.
>
Could xmalloc grow a variant that is guaranteed not to call longjmp?
>
> > Btw, I wonder whether we should provide a more friendly capabilities
> > for retrieving the function name and its module. dladdr is not
> > portable enough, and we have all the information at our fingertips
> > in the module's init function, we just need to keep it instead of
> > throwing it away. I envision debugging module-related problems will
> > not be a very rare situation, so we need any help we can get. WDYT?
> >
> > Hmm, I don't know whether we have access to the function name without
> using
> > dladdr.
>
> I thought about recording their names when you bind them to Lisp
> symbols.
>
That would be nice, however it would require set_symbol_function,
Fdefalias, etc. to explicitly check for module functions in their RHS. Not
sure whether that's worth it.
>
> > About the tests: The Makefile in mod-test is Unix-specific: it uses a
> > literal .so extension. I also think the Python script should be
> > rewritten in Emacs Lisp, so that Python installation is not required.
> > Finally, all of the module tests and associated files should be moved
> > into test/, preferably even test/automated/ and made part of the
> "make
> > check" run.
> >
> > Yes, tracked in https://github.com/aaptel/emacs-dynamic-module/issues/34
>
> You will see that I put there some preliminary stuff, so at least
> these tests can be run manually on Windows, by overriding a single
> Make variable from the command line.
>
> Thanks.
>
[-- Attachment #2: Type: text/html, Size: 19777 bytes --]
next prev parent reply other threads:[~2015-11-20 19:58 UTC|newest]
Thread overview: 765+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-02 20:54 Dynamic loading progress Aurélien Aptel
2014-07-02 21:33 ` Andreas Schwab
2014-07-03 17:09 ` Aurélien Aptel
2014-07-03 17:43 ` Dmitry Antipov
2014-07-03 19:44 ` Stefan Monnier
2014-07-04 1:26 ` Stefan Monnier
2014-07-06 15:14 ` Aurélien Aptel
2014-07-07 1:19 ` Stefan Monnier
2014-07-09 21:02 ` Aurélien Aptel
2014-07-09 22:18 ` Stefan Monnier
2014-07-10 17:21 ` Aurélien Aptel
2014-07-10 18:04 ` Stefan Monnier
2014-07-11 9:01 ` Aurélien Aptel
2014-07-11 13:27 ` Stefan Monnier
2014-09-24 14:20 ` Ted Zlatanov
2014-09-24 17:27 ` Stefan Monnier
2014-09-25 12:41 ` Ted Zlatanov
2014-10-09 17:08 ` Aurélien Aptel
2014-10-09 17:11 ` Aurélien Aptel
2014-10-09 17:27 ` Eli Zaretskii
2014-10-09 19:42 ` Stefan Monnier
2014-10-09 21:17 ` Eli Zaretskii
2014-10-10 0:53 ` Stefan Monnier
2014-10-10 6:32 ` Eli Zaretskii
2014-10-10 12:54 ` Stefan Monnier
2014-10-10 15:05 ` Aurélien Aptel
2014-10-10 15:50 ` Eli Zaretskii
2014-10-10 18:42 ` Stefan Monnier
2014-10-10 19:58 ` Eli Zaretskii
2014-10-11 5:14 ` Stefan Monnier
2014-10-13 17:46 ` Aurélien Aptel
2014-10-14 18:11 ` Stefan Monnier
2014-10-16 23:09 ` Aurélien Aptel
2014-10-17 0:32 ` Stefan Monnier
2014-10-18 21:06 ` Stephen Leake
2014-12-27 21:57 ` Stephen Leake
2015-01-13 14:28 ` Ted Zlatanov
2015-01-13 15:39 ` Stephen Leake
2015-01-17 0:10 ` Stephen Leake
2015-01-31 18:57 ` Aurélien Aptel
2015-01-31 19:30 ` Eli Zaretskii
2015-02-04 21:58 ` Aurélien Aptel
2015-02-04 22:03 ` Aurélien Aptel
2015-02-05 0:24 ` Stephen J. Turnbull
2015-02-05 3:50 ` Eli Zaretskii
2015-02-09 0:04 ` Aurélien Aptel
2015-02-09 0:34 ` Paul Eggert
2015-02-09 4:17 ` Stefan Monnier
2015-02-09 6:26 ` Paul Eggert
2015-02-09 9:58 ` Aurélien Aptel
2015-02-09 15:45 ` Eli Zaretskii
2015-02-09 16:01 ` Aurélien Aptel
2015-02-10 6:58 ` Paul Eggert
2015-02-10 20:40 ` Stefan Monnier
2015-02-10 22:24 ` Paul Eggert
2015-02-11 1:45 ` Stefan Monnier
2015-02-11 15:36 ` Ted Zlatanov
2015-02-13 2:40 ` Paul Eggert
2015-02-13 8:37 ` Eli Zaretskii
2015-02-13 12:17 ` Daniel Colascione
2015-02-13 15:01 ` Eli Zaretskii
2015-02-13 15:06 ` Daniel Colascione
2015-02-13 15:49 ` Eli Zaretskii
2015-02-13 15:58 ` Daniel Colascione
2015-02-13 16:10 ` Eli Zaretskii
2015-02-13 16:20 ` Daniel Colascione
2015-02-13 16:55 ` Eli Zaretskii
2015-02-13 17:08 ` Paul Eggert
2015-02-13 17:44 ` Daniel Colascione
2015-02-13 19:11 ` Eli Zaretskii
2015-02-13 17:38 ` Daniel Colascione
2015-02-13 21:48 ` Stephen Leake
2015-02-14 8:39 ` Eli Zaretskii
2015-02-14 12:18 ` Stephen J. Turnbull
2015-02-14 12:37 ` Eli Zaretskii
2015-02-14 14:38 ` Stefan Monnier
2015-02-14 14:58 ` Eli Zaretskii
2015-02-15 18:36 ` Stefan Monnier
2015-02-15 18:55 ` Eli Zaretskii
2015-02-15 22:36 ` Stefan Monnier
2015-02-14 16:48 ` Stephen J. Turnbull
2015-02-14 17:22 ` Eli Zaretskii
2015-02-15 8:03 ` Stephen J. Turnbull
2015-02-15 12:46 ` Steinar Bang
2015-02-15 17:33 ` Eli Zaretskii
2015-02-15 18:47 ` Stefan Monnier
2015-02-15 19:00 ` Eli Zaretskii
2015-02-15 22:40 ` Stefan Monnier
2015-02-14 15:32 ` Stephen Leake
2015-02-14 16:02 ` Eli Zaretskii
2015-02-14 16:45 ` Eli Zaretskii
2015-02-15 0:39 ` Stephen Leake
2015-02-15 13:54 ` Daniel Colascione
2015-02-15 18:08 ` Stephen Leake
2015-02-15 18:43 ` Stefan Monnier
2015-02-15 18:56 ` Eli Zaretskii
2015-02-16 4:52 ` Stephen J. Turnbull
2015-02-16 13:44 ` Aurélien Aptel
2015-02-15 19:27 ` joakim
2015-02-15 22:39 ` Stefan Monnier
2015-02-16 13:53 ` joakim
2015-02-15 0:35 ` Stephen Leake
2015-02-13 19:11 ` Stefan Monnier
2015-02-14 19:12 ` Eli Zaretskii
2015-02-14 19:25 ` Eli Zaretskii
2015-02-15 1:02 ` Stephen Leake
2015-02-15 17:32 ` Eli Zaretskii
2015-02-15 19:09 ` Stephen Leake
2015-02-15 19:27 ` implementing curl module with opaque emacs types Stephen Leake
2015-02-15 19:47 ` Eli Zaretskii
2015-02-17 19:33 ` Stephen Leake
2015-02-15 19:28 ` Dynamic loading progress Eli Zaretskii
2015-02-15 19:30 ` Stefan Monnier
2015-02-16 15:25 ` Stephen Leake
2015-02-16 19:02 ` Stefan Monnier
2015-04-20 23:21 ` Ted Zlatanov
2015-04-21 14:06 ` Stefan Monnier
2015-04-21 14:19 ` Ted Zlatanov
2015-02-15 9:21 ` Stephen J. Turnbull
2015-02-15 17:34 ` Eli Zaretskii
2015-02-11 9:19 ` Aurélien Aptel
2015-02-11 9:43 ` Aurélien Aptel
2015-02-11 10:01 ` Aurélien Aptel
2015-02-11 15:35 ` Stefan Monnier
2015-02-11 16:08 ` Aurélien Aptel
2015-02-11 19:17 ` Stefan Monnier
2015-02-11 13:26 ` Paul Eggert
2015-02-10 14:56 ` Ted Zlatanov
2015-02-11 9:55 ` Aurélien Aptel
2015-02-11 16:05 ` Ted Zlatanov
2015-02-11 16:24 ` Aurélien Aptel
2015-02-11 21:17 ` Ted Zlatanov
2015-02-12 0:22 ` Aurélien Aptel
2015-02-12 10:07 ` Stephen Leake
2015-02-12 10:51 ` Stephen Leake
2015-02-12 18:02 ` Stephen Leake
2015-02-14 0:49 ` Davis Herring
2015-02-12 20:09 ` Stephen Leake
2015-02-12 20:34 ` Eli Zaretskii
2015-02-12 21:51 ` Aurélien Aptel
2015-02-12 21:55 ` Aurélien Aptel
2015-02-13 8:29 ` Eli Zaretskii
2015-02-13 19:09 ` Stefan Monnier
2015-02-13 8:27 ` Eli Zaretskii
2015-02-13 21:11 ` Stephen Leake
2015-02-13 21:09 ` Stephen Leake
2015-02-14 9:31 ` Eli Zaretskii
2015-02-14 15:13 ` Stephen Leake
2015-02-14 15:51 ` Eli Zaretskii
2015-02-15 1:04 ` Stephen Leake
2015-02-15 13:50 ` Daniel Colascione
2015-02-15 17:00 ` Eli Zaretskii
2015-02-15 17:04 ` Daniel Colascione
2015-02-15 17:28 ` Eli Zaretskii
2015-02-15 17:31 ` Daniel Colascione
2015-02-15 18:00 ` Eli Zaretskii
2015-02-15 18:01 ` Daniel Colascione
2015-02-15 18:29 ` Eli Zaretskii
2015-02-15 20:20 ` Daniel Colascione
2015-02-16 14:05 ` Aurélien Aptel
2015-02-16 16:15 ` Eli Zaretskii
2015-02-16 15:43 ` Eli Zaretskii
2015-02-16 18:22 ` Daniel Colascione
2015-02-16 19:09 ` Stefan Monnier
2015-02-16 19:29 ` Eli Zaretskii
2015-02-16 20:01 ` Daniel Colascione
2015-02-17 15:43 ` Eli Zaretskii
2015-02-17 17:46 ` Aurélien Aptel
2015-02-17 17:50 ` Aurélien Aptel
2015-02-17 18:04 ` Daniel Colascione
2015-02-18 3:29 ` Stefan Monnier
2015-02-28 18:20 ` Aurélien Aptel
2015-03-04 13:48 ` Stephen Leake
2015-03-04 22:34 ` Stefan Monnier
2015-03-04 22:39 ` Daniel Colascione
2015-03-05 13:12 ` Aurélien Aptel
2015-03-05 17:37 ` Paul Eggert
2015-03-05 18:19 ` Aurélien Aptel
2015-04-20 23:38 ` Ted Zlatanov
2015-04-21 8:58 ` Aurélien Aptel
2015-04-21 14:14 ` Ted Zlatanov
2015-04-22 16:25 ` Stephen Leake
2015-04-22 17:15 ` Stefan Monnier
2015-05-03 10:43 ` Ted Zlatanov
2015-05-03 10:55 ` Ted Zlatanov
2015-05-03 23:44 ` Stephen Leake
2015-05-04 10:09 ` Ted Zlatanov
2015-05-04 0:16 ` Stefan Monnier
2015-05-04 10:03 ` Ted Zlatanov
2015-08-19 14:27 ` Ted Zlatanov
2015-08-20 15:19 ` Stephen Leake
2015-08-23 19:12 ` Aurélien Aptel
2015-08-23 22:26 ` Stefan Monnier
2015-08-23 22:45 ` Aurélien Aptel
2015-08-23 23:37 ` Paul Eggert
2015-08-24 19:11 ` Stefan Monnier
2015-08-24 2:13 ` Tom Tromey
2015-08-24 19:13 ` Stefan Monnier
2015-08-24 20:19 ` Paul Eggert
2015-08-25 4:35 ` David Kastrup
2015-08-25 22:03 ` Stefan Monnier
2015-08-27 2:29 ` Paul Eggert
2015-08-27 10:17 ` Aurélien Aptel
2015-09-12 19:38 ` Aurélien Aptel
2015-09-12 20:42 ` Stefan Monnier
2015-09-12 23:11 ` Aurélien Aptel
2015-09-13 12:54 ` Philipp Stephani
2015-09-13 13:14 ` Stefan Monnier
2015-09-13 13:19 ` Philipp Stephani
2015-09-13 20:31 ` Stefan Monnier
2015-09-13 20:33 ` Daniel Colascione
2015-09-14 1:58 ` Stefan Monnier
2015-09-14 2:08 ` Daniel Colascione
2015-09-14 4:18 ` Stefan Monnier
2015-09-14 4:37 ` Daniel Colascione
2015-09-14 12:14 ` Stefan Monnier
2015-09-14 14:36 ` Stephen Leake
2015-09-14 15:17 ` Eli Zaretskii
2015-09-14 15:14 ` Daniel Colascione
2015-09-14 17:48 ` Stefan Monnier
2015-09-14 18:05 ` Daniel Colascione
2015-09-15 0:55 ` Stefan Monnier
2015-09-15 1:06 ` Daniel Colascione
2015-09-24 12:45 ` Aurélien Aptel
2015-09-24 13:58 ` Stefan Monnier
2015-09-26 14:56 ` Aurélien Aptel
2015-09-28 3:01 ` Stefan Monnier
2015-09-28 10:13 ` Aurélien Aptel
2015-09-28 21:59 ` Davis Herring
2015-09-28 15:57 ` Stephen Leake
2015-09-28 15:42 ` Philipp Stephani
2015-09-28 16:12 ` Aurélien Aptel
2015-09-28 19:39 ` Stefan Monnier
2015-09-28 19:41 ` Daniel Colascione
2015-09-29 5:04 ` Stefan Monnier
2015-10-04 4:30 ` Tom Tromey
2015-10-04 14:11 ` Aurélien Aptel
2015-10-04 14:22 ` Aurélien Aptel
2015-09-28 15:35 ` Philipp Stephani
2015-09-28 17:04 ` Philipp Stephani
2015-09-28 19:30 ` Stefan Monnier
2015-10-04 13:25 ` Aurélien Aptel
2015-10-04 14:38 ` Philipp Stephani
2015-09-28 15:25 ` Philipp Stephani
2015-09-28 19:26 ` Stefan Monnier
2015-09-28 19:31 ` Daniel Colascione
2015-09-28 19:28 ` Daniel Colascione
2015-09-28 20:09 ` Philipp Stephani
2015-09-28 20:10 ` Daniel Colascione
2015-09-29 5:00 ` Stefan Monnier
2015-09-15 2:56 ` Stephen J. Turnbull
2015-09-15 3:00 ` Daniel Colascione
2015-09-15 8:16 ` Stephen J. Turnbull
2015-09-15 8:45 ` David Kastrup
2015-09-15 13:18 ` Daniel Colascione
2015-09-15 13:33 ` David Kastrup
2015-09-15 13:39 ` Daniel Colascione
2015-09-15 13:43 ` David Kastrup
2015-09-15 16:11 ` Stephen J. Turnbull
2015-09-15 7:45 ` Michael Albinus
2015-09-28 15:12 ` Philipp Stephani
2015-09-28 19:20 ` Stefan Monnier
2015-09-14 3:43 ` Stephen J. Turnbull
2015-09-14 3:54 ` Daniel Colascione
2015-09-14 4:24 ` Stefan Monnier
2015-09-28 15:21 ` Philipp Stephani
2015-09-28 19:23 ` Stefan Monnier
2015-09-14 7:27 ` Stephen J. Turnbull
2015-09-14 14:45 ` Stephen Leake
2015-09-15 1:46 ` Stephen J. Turnbull
2015-09-28 15:19 ` Philipp Stephani
2015-09-29 1:55 ` Stephen J. Turnbull
2015-09-29 9:11 ` David Kastrup
2015-09-30 6:06 ` Stephen J. Turnbull
2015-09-30 6:24 ` David Kastrup
2015-09-29 21:04 ` Davis Herring
2015-09-30 6:07 ` Stephen J. Turnbull
2015-09-30 6:56 ` Herring, Davis
2015-09-30 7:26 ` Daniel Colascione
2015-09-30 8:52 ` Stefan Monnier
2015-10-04 8:34 ` Philipp Stephani
2015-10-04 17:24 ` Stefan Monnier
2015-09-30 17:16 ` Stephen J. Turnbull
2015-09-30 17:32 ` Davis Herring
2015-03-05 13:17 ` Aurélien Aptel
2015-03-06 5:14 ` Stefan Monnier
2015-03-06 18:22 ` Daniel Colascione
2015-03-10 1:26 ` Stefan Monnier
2015-03-05 17:19 ` Stephen Leake
2015-03-05 22:32 ` Stephen Leake
2015-03-13 16:47 ` Stephen Leake
2015-03-13 18:37 ` Ivan Shmakov
2015-03-15 10:46 ` Stephen Leake
2015-03-16 18:02 ` Stephen Leake
2015-03-17 9:28 ` Aurélien Aptel
2015-03-17 9:52 ` Eli Zaretskii
2015-03-17 10:51 ` Aurélien Aptel
2015-03-17 11:08 ` Eli Zaretskii
2015-03-17 16:37 ` Stefan Monnier
2015-03-17 17:08 ` Eli Zaretskii
2015-03-17 14:50 ` Stephen Leake
2015-03-24 21:08 ` Stephen Leake
2015-05-06 4:11 ` Dynamic loading progress; funcall of goto-char fails Stephen Leake
2015-05-06 4:21 ` Daniel Colascione
2015-05-06 8:15 ` Stephen Leake
2015-02-17 18:06 ` Dynamic loading progress Eli Zaretskii
2015-02-17 18:20 ` Steinar Bang
2015-02-18 0:55 ` Stephen J. Turnbull
2015-09-13 13:04 ` Philipp Stephani
2015-09-13 14:15 ` Daniel Colascione
2015-09-13 14:27 ` Philipp Stephani
2015-09-13 14:31 ` Daniel Colascione
2015-09-28 15:05 ` Philipp Stephani
2015-10-04 8:57 ` Philipp Stephani
2015-10-04 9:00 ` Eli Zaretskii
2015-10-04 9:10 ` Daniel Colascione
2015-10-04 9:41 ` Philipp Stephani
2015-10-04 17:48 ` Philipp Stephani
2015-10-04 19:20 ` Paul Eggert
2015-10-04 19:25 ` Daniel Colascione
2015-10-04 19:55 ` Paul Eggert
2015-10-04 19:57 ` Daniel Colascione
2015-10-04 20:19 ` Paul Eggert
2015-10-04 19:34 ` Daniel Colascione
2015-10-04 19:47 ` Philipp Stephani
2015-10-04 21:12 ` Aurélien Aptel
2015-10-05 5:50 ` Eli Zaretskii
2015-10-14 22:28 ` Philipp Stephani
2015-10-15 2:43 ` Eli Zaretskii
2015-10-15 7:00 ` Andreas Schwab
2015-10-15 10:13 ` Aurélien Aptel
2015-10-15 15:38 ` Eli Zaretskii
2015-10-15 15:56 ` Andreas Schwab
2015-10-15 16:01 ` Eli Zaretskii
2015-10-15 16:07 ` Andreas Schwab
2015-10-15 16:31 ` Eli Zaretskii
2015-10-15 17:03 ` Andreas Schwab
2015-10-15 17:07 ` Eli Zaretskii
2015-10-15 23:07 ` Philipp Stephani
2015-10-16 6:49 ` Eli Zaretskii
2015-10-14 22:25 ` Philipp Stephani
2015-10-14 23:48 ` Aurélien Aptel
2015-10-15 0:25 ` Philipp Stephani
2015-10-15 10:44 ` Aurélien Aptel
2015-10-15 15:41 ` Eli Zaretskii
2015-10-16 0:55 ` Juanma Barranquero
2015-10-16 5:42 ` martin rudalics
2015-10-16 7:10 ` Making --with-wide-int the default (was: Dynamic loading progress) Eli Zaretskii
2015-10-16 7:34 ` Making --with-wide-int the default martin rudalics
2015-10-16 8:10 ` Eli Zaretskii
2015-10-16 7:09 ` Making --with-wide-int the default (was: Dynamic loading progress) Eli Zaretskii
2015-10-16 7:26 ` Juanma Barranquero
2015-10-16 8:17 ` Eli Zaretskii
2015-10-16 8:03 ` Making --with-wide-int the default Paul Eggert
2015-10-16 8:15 ` Eli Zaretskii
2015-10-16 8:27 ` Paul Eggert
2015-10-16 8:31 ` David Kastrup
2015-10-16 9:12 ` Eli Zaretskii
2015-10-16 9:24 ` David Kastrup
2015-10-16 9:26 ` David Kastrup
2015-10-16 10:12 ` Eli Zaretskii
2015-10-16 10:28 ` David Kastrup
2015-10-16 13:22 ` Eli Zaretskii
2015-10-16 15:29 ` Paul Eggert
2015-11-11 18:43 ` Eli Zaretskii
2015-11-12 8:23 ` martin rudalics
2015-11-12 16:19 ` Eli Zaretskii
2015-11-12 18:00 ` martin rudalics
2015-11-12 22:31 ` Richard Stallman
2015-11-13 7:43 ` Eli Zaretskii
2015-11-13 7:52 ` Paul Eggert
2015-11-13 8:05 ` martin rudalics
2015-11-13 8:24 ` Eli Zaretskii
2015-11-13 9:11 ` David Kastrup
2015-11-13 9:30 ` Eli Zaretskii
2015-11-13 11:52 ` David Kastrup
2015-11-13 18:56 ` Eli Zaretskii
2015-11-13 22:03 ` Richard Stallman
2015-11-14 8:43 ` Eli Zaretskii
2015-11-14 8:54 ` martin rudalics
2015-11-14 17:38 ` Ulrich Mueller
2015-11-15 20:14 ` Eli Zaretskii
2015-11-15 20:50 ` David Kastrup
2015-11-15 21:06 ` Eli Zaretskii
2015-11-15 22:19 ` David Kastrup
2015-11-16 16:38 ` Eli Zaretskii
2015-11-15 21:04 ` Ulrich Mueller
2015-11-15 21:13 ` Eli Zaretskii
2015-11-15 21:36 ` David Kastrup
2015-11-15 7:05 ` Paul Eggert
2015-11-16 9:00 ` David Kastrup
2015-11-16 16:19 ` Eli Zaretskii
2015-11-15 16:01 ` David Kastrup
2015-11-15 19:36 ` Eli Zaretskii
2015-11-15 20:42 ` David Kastrup
2015-11-15 21:02 ` Eli Zaretskii
2015-11-16 23:17 ` Paul Eggert
2015-11-17 1:34 ` Random832
2015-11-17 3:42 ` Eli Zaretskii
2015-11-17 6:32 ` Paul Eggert
2015-11-17 9:08 ` Ulrich Mueller
2015-11-17 18:42 ` Paul Eggert
2015-11-17 20:32 ` Ulrich Mueller
2015-11-18 16:32 ` Achim Gratz
2015-11-18 17:10 ` David Kastrup
2015-11-18 17:38 ` Eli Zaretskii
2015-11-17 22:58 ` Richard Stallman
2015-11-17 12:13 ` David Kastrup
2015-11-17 18:32 ` Paul Eggert
2015-11-17 2:47 ` Tom Tromey
2015-11-20 2:20 ` Stefan Monnier
2015-11-20 8:44 ` Eli Zaretskii
2015-11-20 16:27 ` John Wiegley
2015-11-12 16:29 ` Juanma Barranquero
2015-10-16 8:28 ` Juanma Barranquero
2015-10-16 8:40 ` Paul Eggert
2015-10-16 8:18 ` David Kastrup
2015-10-16 8:49 ` Paul Eggert
2015-10-16 9:00 ` David Kastrup
2015-10-16 9:06 ` Eli Zaretskii
2015-10-16 9:18 ` David Kastrup
2015-10-16 10:09 ` Eli Zaretskii
2015-10-16 10:27 ` David Kastrup
2015-10-16 13:20 ` Eli Zaretskii
2015-10-16 14:03 ` David Kastrup
2015-10-16 16:01 ` Eli Zaretskii
2015-10-16 16:28 ` David Kastrup
2015-10-16 15:53 ` Stephen J. Turnbull
2015-10-16 16:01 ` David Kastrup
2015-10-15 23:11 ` Dynamic loading progress Philipp Stephani
2015-10-15 23:15 ` Philipp Stephani
2015-10-19 22:38 ` Philipp Stephani
2015-10-20 1:58 ` Daniel Colascione
2015-10-20 3:05 ` Tom Tromey
2015-10-20 3:13 ` Daniel Colascione
2015-10-20 3:32 ` Tom Tromey
2015-10-20 3:38 ` Daniel Colascione
2015-10-20 15:48 ` Stephen Leake
2015-10-20 18:52 ` Philipp Stephani
2015-10-22 12:57 ` Aurélien Aptel
2015-10-22 17:56 ` Aurélien Aptel
2015-10-22 18:03 ` Eli Zaretskii
2015-10-22 22:49 ` Philipp Stephani
2015-10-22 22:52 ` Daniel Colascione
2015-10-23 7:05 ` Eli Zaretskii
2015-10-23 7:17 ` Daniel Colascione
2015-10-23 7:00 ` Eli Zaretskii
2015-10-25 16:26 ` Aurélien Aptel
2015-10-25 16:31 ` Philipp Stephani
2015-10-25 18:45 ` Aurélien Aptel
2015-10-25 20:13 ` Philipp Stephani
2015-10-25 20:40 ` Philipp Stephani
2015-10-25 20:55 ` Aurélien Aptel
2015-10-28 13:47 ` Aurélien Aptel
2015-11-06 15:52 ` Ted Zlatanov
2015-11-06 15:55 ` Eli Zaretskii
2015-11-06 16:22 ` Ted Zlatanov
2015-11-07 1:53 ` Feature freezes and Emacs 25 (was: Dynamic loading progress) John Wiegley
2015-11-07 8:32 ` Feature freezes and Emacs 25 David Kastrup
2015-11-07 8:46 ` Eli Zaretskii
2015-11-07 8:33 ` Feature freezes and Emacs 25 (was: Dynamic loading progress) Eli Zaretskii
2015-11-09 21:55 ` Feature freezes and Emacs 25 John Wiegley
2015-11-09 22:08 ` Dmitry Gutov
2015-11-10 18:17 ` Richard Stallman
2015-11-10 18:23 ` Dmitry Gutov
2015-11-11 16:58 ` Richard Stallman
2015-11-09 23:59 ` Xue Fuqiao
2015-11-10 0:07 ` John Wiegley
2015-11-10 8:41 ` Xue Fuqiao
2015-11-10 13:25 ` Xue Fuqiao
2015-11-10 17:42 ` Nicolas Petton
2015-11-10 17:50 ` Eli Zaretskii
2015-11-10 18:13 ` Drew Adams
2015-11-11 16:57 ` Richard Stallman
2015-11-11 1:53 ` Xue Fuqiao
2015-11-11 19:59 ` Glenn Morris
2015-11-12 8:53 ` Xue Fuqiao
2015-11-15 2:42 ` Glenn Morris
2015-11-16 10:38 ` Juanma Barranquero
2015-11-16 16:54 ` John Wiegley
2015-11-18 18:12 ` Glenn Morris
2015-11-18 18:36 ` Glenn Morris
2015-11-18 22:06 ` John Wiegley
2015-11-10 9:41 ` Nicolas Petton
2015-11-10 14:22 ` John Wiegley
2015-11-10 16:38 ` Eli Zaretskii
2015-11-10 17:34 ` Nicolas Petton
2015-11-10 17:39 ` Nicolas Petton
2015-11-10 18:01 ` Eli Zaretskii
2015-11-11 16:47 ` Nicolas Petton
2015-11-10 16:24 ` Eli Zaretskii
2015-11-11 0:17 ` Juri Linkov
2015-11-11 1:16 ` John Wiegley
2015-11-12 0:43 ` Juri Linkov
2015-11-12 1:05 ` John Wiegley
2015-11-12 4:01 ` Artur Malabarba
2015-11-12 16:48 ` John Wiegley
2015-11-12 17:33 ` Eli Zaretskii
2015-11-12 19:01 ` Artur Malabarba
2015-11-15 1:51 ` Xue Fuqiao
2015-11-16 16:12 ` Eli Zaretskii
2015-11-16 23:59 ` Xue Fuqiao
2015-11-17 3:43 ` Eli Zaretskii
2015-11-18 0:47 ` Xue Fuqiao
2015-11-12 21:38 ` Design of commands operating on rectangular regions (was: Feature freezes and Emacs 25) Juri Linkov
2015-11-20 19:10 ` Design of commands operating on rectangular regions John Wiegley
2015-11-20 19:19 ` Drew Adams
2015-11-23 0:07 ` Juri Linkov
2015-11-23 1:53 ` Drew Adams
2015-11-22 23:57 ` Juri Linkov
2015-11-11 1:21 ` Feature freezes and Emacs 25 Drew Adams
2015-11-07 10:59 ` Phillip Lord
2015-11-07 14:20 ` kqueue in Emacs 25.1? (was: Feature freezes and Emacs 25) Michael Albinus
2015-11-07 14:39 ` Eli Zaretskii
2015-11-07 14:53 ` kqueue in Emacs 25.1? Michael Albinus
2015-11-07 15:26 ` Eli Zaretskii
2015-11-09 22:31 ` John Wiegley
2015-11-10 13:56 ` Michael Albinus
2015-11-10 14:32 ` Wolfgang Jenkner
2015-11-10 14:52 ` Michael Albinus
2015-11-11 11:41 ` Michael Albinus
2015-11-11 15:11 ` Wolfgang Jenkner
2015-11-11 15:44 ` Michael Albinus
2015-11-11 16:02 ` Wolfgang Jenkner
2015-11-11 16:48 ` Michael Albinus
2015-11-11 15:37 ` Wolfgang Jenkner
2015-11-11 15:52 ` Michael Albinus
2015-11-12 17:59 ` Michael Albinus
2015-11-12 18:34 ` Wolfgang Jenkner
2015-11-13 10:09 ` Michael Albinus
2015-11-13 13:00 ` Wolfgang Jenkner
2015-11-13 14:57 ` Wolfgang Jenkner
2015-11-13 16:23 ` Michael Albinus
2015-11-16 11:58 ` Michael Albinus
2015-11-17 3:50 ` John Wiegley
2015-11-17 9:37 ` Michael Albinus
2015-11-25 14:35 ` kqueue in Emacs 25? Michael Albinus
2015-11-25 18:53 ` John Wiegley
2015-11-07 14:52 ` kqueue in Emacs 25.1? Wolfgang Jenkner
2015-11-07 15:02 ` Wolfgang Jenkner
2015-11-08 6:33 ` Paul Eggert
2015-11-08 12:38 ` Wolfgang Jenkner
2015-11-07 18:57 ` Michael Albinus
2015-11-07 22:22 ` Wolfgang Jenkner
2015-11-06 21:52 ` Dynamic loading progress John Wiegley
2015-11-07 8:35 ` Eli Zaretskii
2015-11-07 13:33 ` Ted Zlatanov
2015-11-07 13:48 ` Eli Zaretskii
2015-11-07 14:01 ` Ted Zlatanov
2015-11-07 17:47 ` Aurélien Aptel
2015-11-08 11:16 ` Philipp Stephani
2015-11-08 12:54 ` Steinar Bang
2015-11-08 13:39 ` Philipp Stephani
2015-11-08 13:08 ` Ted Zlatanov
2015-11-08 13:42 ` Philipp Stephani
2015-11-08 20:38 ` Ted Zlatanov
2015-11-09 10:40 ` Aurélien Aptel
2015-11-09 10:48 ` Aurélien Aptel
2015-11-09 10:57 ` Yuri Khan
2015-11-09 11:46 ` Ted Zlatanov
2015-11-09 12:27 ` Aurélien Aptel
2015-11-09 13:18 ` Steinar Bang
2015-11-09 13:47 ` Steinar Bang
2015-11-09 14:26 ` Aurélien Aptel
2015-11-09 14:52 ` Aurélien Aptel
2015-11-09 19:58 ` Aurélien Aptel
2015-11-10 20:07 ` Philipp Stephani
2015-11-09 13:38 ` Ted Zlatanov
2015-11-09 16:16 ` Philipp Stephani
2015-11-11 11:22 ` Ted Zlatanov
2015-11-11 13:57 ` Philipp Stephani
2015-11-13 1:29 ` Aurélien Aptel
2015-11-13 11:35 ` Ted Zlatanov
2015-11-13 15:39 ` Freeze is almost here (was: Dynamic loading progress) John Wiegley
2015-11-13 16:43 ` Juanma Barranquero
2015-11-13 19:24 ` Eli Zaretskii
2015-11-13 19:37 ` Eli Zaretskii
2015-11-13 20:05 ` Freeze is almost here Achim Gratz
2015-11-13 20:17 ` Eli Zaretskii
2015-11-13 20:36 ` Achim Gratz
2015-11-13 20:46 ` Eli Zaretskii
2015-11-13 21:46 ` Dmitry Gutov
2015-11-14 11:27 ` Artur Malabarba
2015-11-14 11:55 ` Eli Zaretskii
2015-11-14 12:34 ` Artur Malabarba
2015-11-14 17:08 ` Dmitry Gutov
2015-11-13 20:05 ` Freeze is almost here (was: Dynamic loading progress) Eli Zaretskii
2015-11-13 20:31 ` Eli Zaretskii
2015-11-13 22:57 ` Freeze is almost here John Wiegley
2015-11-14 8:42 ` Eli Zaretskii
2015-11-14 15:59 ` John Wiegley
2015-11-15 9:53 ` Steinar Bang
2015-11-16 9:28 ` Steinar Bang
2015-11-16 16:54 ` John Wiegley
2015-11-13 21:34 ` Andreas Schwab
2015-11-14 8:03 ` Eli Zaretskii
2015-11-14 8:16 ` Andreas Schwab
2015-11-14 8:27 ` Eli Zaretskii
2015-11-14 10:06 ` Andreas Schwab
2015-11-14 8:45 ` David Engster
2015-11-14 9:15 ` Eli Zaretskii
2015-11-14 12:54 ` David Engster
2015-11-14 12:57 ` David Engster
2015-11-14 13:36 ` Eli Zaretskii
2015-11-14 14:37 ` David Engster
2015-11-14 15:02 ` Eli Zaretskii
2015-11-14 13:33 ` Eli Zaretskii
2015-11-14 14:42 ` David Engster
2015-11-14 15:01 ` Eli Zaretskii
2015-11-14 0:56 ` Freeze is almost here (was: Dynamic loading progress) Xue Fuqiao
2015-11-14 6:06 ` Freeze is almost here John Wiegley
2015-11-14 8:22 ` Eli Zaretskii
2015-11-16 0:10 ` Dynamic loading progress Aurélien Aptel
2015-11-17 2:23 ` raman
2015-11-17 8:26 ` Steinar Bang
2015-11-17 11:08 ` Aurélien Aptel
2015-11-18 19:38 ` Ted Zlatanov
2015-11-18 20:58 ` Eli Zaretskii
2015-11-18 22:05 ` John Wiegley
2015-11-19 2:19 ` Ted Zlatanov
2015-11-19 3:39 ` Eli Zaretskii
2015-11-19 15:26 ` Eli Zaretskii
2015-11-19 15:55 ` Paul Eggert
2015-11-19 16:27 ` Eli Zaretskii
2015-11-19 16:37 ` Paul Eggert
2015-11-19 17:04 ` Eli Zaretskii
2015-11-19 17:26 ` Eli Zaretskii
2015-11-19 17:32 ` Paul Eggert
2015-11-19 17:50 ` Eli Zaretskii
2015-11-19 17:57 ` Stephen Leake
2015-11-19 18:06 ` Eli Zaretskii
2015-11-19 18:53 ` Paul Eggert
2015-11-19 20:27 ` Eli Zaretskii
2015-11-19 20:31 ` John Wiegley
2015-11-19 22:45 ` Philipp Stephani
2015-11-19 22:55 ` Paul Eggert
2015-11-19 23:08 ` Philipp Stephani
2015-11-19 23:50 ` Paul Eggert
2015-11-19 23:55 ` Philipp Stephani
2015-11-19 23:58 ` Paul Eggert
2015-11-20 19:23 ` Philipp Stephani
2015-11-20 21:04 ` Paul Eggert
2015-11-20 22:44 ` Philipp Stephani
2015-11-20 10:11 ` Eli Zaretskii
2015-11-20 20:00 ` Philipp Stephani
2015-11-19 22:41 ` Philipp Stephani
2015-11-19 23:51 ` Paul Eggert
2015-11-19 23:57 ` Philipp Stephani
2015-11-20 0:03 ` Paul Eggert
2015-11-20 19:29 ` Philipp Stephani
2015-11-20 20:47 ` Paul Eggert
2015-11-20 22:36 ` Philipp Stephani
2015-11-20 23:06 ` Paul Eggert
2015-11-21 8:54 ` Philipp Stephani
2015-11-21 23:25 ` Paul Eggert
2015-11-22 9:15 ` Philipp Stephani
2015-11-22 18:37 ` Paul Eggert
2015-11-22 19:17 ` Philipp Stephani
2015-11-20 9:53 ` Eli Zaretskii
2015-11-20 11:59 ` Eli Zaretskii
2015-11-20 15:52 ` Eli Zaretskii
2015-11-20 20:39 ` Paul Eggert
2015-11-20 21:22 ` Eli Zaretskii
2015-11-20 22:46 ` Philipp Stephani
2015-11-20 18:44 ` Paul Eggert
2015-11-20 18:50 ` Eli Zaretskii
2015-11-20 19:13 ` Paul Eggert
2015-11-20 20:05 ` Philipp Stephani
2015-11-20 20:32 ` Paul Eggert
2015-11-20 20:45 ` Philipp Stephani
2015-11-20 20:59 ` Paul Eggert
2015-11-20 22:42 ` Philipp Stephani
2015-11-20 23:44 ` Paul Eggert
2015-11-21 8:34 ` Philipp Stephani
2015-11-23 17:06 ` Ted Zlatanov
2015-11-20 19:58 ` Philipp Stephani [this message]
2015-11-20 21:56 ` Eli Zaretskii
2015-11-20 23:22 ` Philipp Stephani
2015-11-20 23:29 ` Paul Eggert
2015-11-21 0:08 ` Philipp Stephani
2015-11-21 0:28 ` Paul Eggert
2015-11-21 8:33 ` Philipp Stephani
2015-11-21 23:10 ` Paul Eggert
2015-11-22 9:03 ` Philipp Stephani
2015-11-22 16:23 ` Eli Zaretskii
2015-11-22 16:27 ` Philipp Stephani
2015-11-22 16:56 ` Eli Zaretskii
2015-11-22 17:18 ` Philipp Stephani
2015-11-22 17:27 ` Philipp Stephani
2015-11-22 18:50 ` Paul Eggert
2015-11-22 19:19 ` Philipp Stephani
2015-11-22 19:26 ` Eli Zaretskii
2015-11-22 19:58 ` Philipp Stephani
2015-11-23 18:17 ` Eli Zaretskii
2015-11-23 2:47 ` Tom Tromey
2015-11-23 3:46 ` Eli Zaretskii
2015-11-23 16:29 ` Paul Eggert
2015-11-23 16:35 ` Eli Zaretskii
2015-11-21 8:35 ` Eli Zaretskii
2015-11-21 9:19 ` Philipp Stephani
2015-11-21 9:33 ` Eli Zaretskii
2015-11-21 9:01 ` Philipp Stephani
2015-11-21 9:29 ` Eli Zaretskii
2015-11-21 10:31 ` Philipp Stephani
2015-11-21 10:45 ` David Kastrup
2015-11-21 11:10 ` Eli Zaretskii
2015-11-21 12:11 ` Philipp Stephani
2015-11-21 13:23 ` Eli Zaretskii
2015-11-22 9:25 ` Philipp Stephani
2015-11-22 14:56 ` Philipp Stephani
2015-11-22 18:04 ` Eli Zaretskii
2015-11-22 19:10 ` Philipp Stephani
2015-11-22 19:43 ` Eli Zaretskii
2015-11-22 17:35 ` Eli Zaretskii
2015-11-22 18:19 ` Philipp Stephani
2015-11-22 19:12 ` David Kastrup
2015-11-22 19:20 ` Eli Zaretskii
2015-11-22 19:37 ` Philipp Stephani
2015-11-22 19:49 ` David Kastrup
2015-11-22 19:50 ` Eli Zaretskii
2015-11-22 20:59 ` David Kastrup
2015-11-23 3:29 ` Eli Zaretskii
2015-11-22 21:10 ` Philipp Stephani
2015-11-23 3:31 ` Eli Zaretskii
2015-11-23 18:10 ` Eli Zaretskii
2015-11-19 22:14 ` Philipp Stephani
2015-11-23 16:57 ` Ted Zlatanov
2015-11-19 22:12 ` Philipp Stephani
2015-11-20 7:50 ` Eli Zaretskii
2015-11-20 22:10 ` Philipp Stephani
2015-11-20 23:46 ` Paul Eggert
2015-11-21 7:53 ` Eli Zaretskii
2015-11-21 8:30 ` Philipp Stephani
2015-11-21 9:06 ` Eli Zaretskii
2015-11-21 9:25 ` Philipp Stephani
2015-11-21 9:51 ` Eli Zaretskii
2015-11-21 10:33 ` Philipp Stephani
2015-11-21 10:53 ` Eli Zaretskii
2015-11-17 17:10 ` John Wiegley
2015-11-18 0:17 ` Xue Fuqiao
2015-11-18 1:20 ` Xue Fuqiao
2015-11-18 3:08 ` John Wiegley
2015-11-09 13:16 ` Steinar Bang
2015-11-10 9:35 ` Suggestion to enable git rerere by default Nicolas Richard
2015-11-10 11:12 ` Artur Malabarba
2015-11-10 13:01 ` Nicolas Richard
2015-11-09 22:10 ` Dynamic loading progress John Wiegley
2015-11-10 1:40 ` Ted Zlatanov
2015-11-08 11:02 ` Philipp Stephani
2015-11-08 12:51 ` Steinar Bang
2015-11-08 13:35 ` Philipp Stephani
2015-10-14 22:34 ` Philipp Stephani
2015-10-14 22:38 ` Daniel Colascione
2015-10-14 23:32 ` Aurélien Aptel
2015-10-15 1:05 ` Philipp Stephani
2015-10-15 10:50 ` Aurélien Aptel
2015-10-15 19:25 ` Stephen Leake
2015-02-15 18:24 ` Andreas Schwab
2015-02-15 18:39 ` Stefan Monnier
2015-02-12 21:39 ` Aurélien Aptel
2015-02-13 21:29 ` Stephen Leake
2015-02-04 12:11 ` Ted Zlatanov
2015-02-04 15:22 ` Stefan Monnier
2015-02-04 21:49 ` Aurélien Aptel
2015-02-04 23:00 ` Ted Zlatanov
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=CAArVCkTrSjOTQ-_-ZgC6+yVM4wL2WDfrE7MTZ-d7yriCV4oq4w@mail.gmail.com \
--to=p.stephani2@gmail.com \
--cc=aurelien.aptel+emacs@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=tzz@lifelogs.com \
/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).