From: Eric Ludlam <eric@siege-engine.com>
To: David Engster <deng@randomsample.de>, Richard Stallman <rms@gnu.org>
Cc: monnier@iro.umontreal.ca, emacs-devel@gnu.org
Subject: Re: Emacs contributions, C and Lisp
Date: Fri, 09 Jan 2015 23:06:35 -0500 [thread overview]
Message-ID: <54B0A54B.5080206@siege-engine.com> (raw)
In-Reply-To: <87d26ornxd.fsf@engster.org>
On 01/09/2015 10:09 AM, David Engster wrote:
> Richard Stallman writes:
>> You and several others are trying to pressure me to decide to make
>> GCC output the full AST. I have seen insults and harassment.
>
> Not from me, and I haven't seen anything like it on this thread.
>
>> This is not the way to convince me. It is the way to make me resent
>> your behavior.
>
> I've no idea what I've done to earn your resentment. I think my behavior
> was entirely reasonable, given that I've started with this only because
> you asked to base our tooling efforts on GCC. Anyway, you don't have to
> worry that I'll continue with this.
This conversation seems unnecessarily final. Richard has valid concerns
that need details, but since the AST (which I know almost nothing about)
is so huge (based on parser's I've written), no matter how many details
we may think of that are needed, someone else can think of a bit that
could indeed be unnecessary.
I wrote the first run for the "smart completion" engine that currently
ships in Emacs, the parts of CEDET that includes EDE and Semantic.
While I personally think it is pretty awesome, it really isn't hard to
fool it which is where a lot of this GCC interest comes from. It took
many years of my part-time work (and contributions from others like
David) to assemble what is there now into a robust well tested system.
The basic pieces of the system which is implemented in Emacs Lisp
consists of a parser generator plus some parsers written in a bison-like
syntax including a C++ parser. Due to limitations of Emacs'
performance, only the parts of the language that handle definitions are
implemented. (ie - tags for functions, variables, structures, etc.)
The parser outputs a tag table with lots of details. Having a full
parser generator and the parser is what makes this convenient to do.
Hacks like etags, GNU Global, etc can't produce enough information for
the next step.
The next step is the completion engine. This is where regexp hacks
exist to "parse" a statement like:
i = foo.bar.substring
which peels it apart into a variable "i", a notion of assignment, and
("foo" "bar" "substring") via several assumptions, such as that users
don't write code like this:
i /* some variable */
= /* equals */
foo. /* mystruct */
bar.substring
The engine then goes and looks up i in reverse to see what it is. It
then looks up foo in various tables that get built of known symbols,
derives the data type, and thus members of foo. It iterates down
through the "." symbols dereferencing each symbol by data type to get to
the next step. This depends on the fact that most projects compile all
their headers "the same way" so that tables parsed from some header
included in this C file will have the same symbols when included in a
different C file.
With that background, there are a couple options for a GCC plugin. One
option would be to have one plugin that outputs tags compatible with
some standard. Naturally I suggest the one already in Emacs. A second
plugin could be used to figure out all the state I mentioned earlier
when looking up symbols, and provide completions directly (ie - a list
of text strings to offer as completions.) That plugin would ONLY be
used for completion, and all the internal logic couldn't be reused for
another purpose in Emacs.
The alternative is to dump out the AST into an Emacs friendly form, and
write the above logic in Emacs instead. This is convenient because
Emacs is easy to hack, and gcc plugins (based on what I've been reading)
are really complicated. In terms of "get up and running quickly",
dumping a big scary data structure out of a scary environment into a
friendly easy to hack environment is a desirable path for us, and as
Richard points out, for non-free software.
I personally think that if there were a good way to bridge the gap so
that gcc could directly output tags for the existing Semantic engine,
then there is an incremental benefit of nearly perfect tag generation
for the existing tool AND a performance boost. It won't solve the whole
problem though. To solve the rest of it, we'd need a gcc plugin to
parse a file up to a chosen point. For a file with 1000 lines of code
and included headers, gcc needs the WHOLE AST to make sense of "the last
line", or the part that needs the completion. This is because we can't
guess at what isn't needed until you've actually processed it all. This
is where the boundary between gcc and Emacs comes in. In theory, the
GCC plugin could process the AST and output ONLY the completions, or
ONLY whatever was asked for (local types, scope information, refactoring
data or what not.) An alternative might be to output a subset of the
AST for processing in Emacs that is local to the the completion area,
and depend on our old Emacs code to do the type lookup, etc. This would
improve the current completion, but still could be fooled based on the
quality of the Emacs data which is now, by definition, incomplete. In
the past (call it year 2000) people thought my smart completion was lame
(ie - inaccurate) and slow compared to dynamic abbreviation completion
where claims of "dabbrevs is good enough" were stated. This proposal
could be "good enough" for this single feature.
So, I've laid out some scenarios that are "not full AST" friendly.
There are some benefits (performance), and tradeoffs (difficulty). Even
so, we've only touched on one feature. There are lots of other features
in the existing Semantic tool already in Emacs derived from having a
parser built right into Emacs, such as highlighting code with syntax
errors (but only the code for definitions, not the logic.) I have a
long list of other things I'd love to do to such as redo font-lock with
the many "hints" about what your code is doing that only the compiler
could know, but can't because writing a parser from scratch is actually
pretty hard and error prone regardless of doing so in Emacs. Many folks
have touched on those features in a myriad of other thread replies in
this mailing list. I've taken my best stab at some of them that seemed
attainable, but feel I've gone as far as I can aside from some
incremental improvements, or just adding new languages.
I've been very thankful for David's help with the CEDET project, and the
many improvements in our existing smart completion engine he's made.
For myself, and I imagine David, having gone through that and persevered
simulating a compiler for so long to try and get these features only to
have dabbrev people scoff on one side and clang users sneer on the other
is disheartening. The hope of having a "real compiler" to lean on could
open so many doors for us we just can't get to right now it is hard not
to be discouraged by non technical issues.
I would hope that David, who is looking into the gcc plugin route, and
Richard can find a reasonable compromise that enables Emacs to have data
from gcc that would enabled our existing tools to grow in its accuracy,
and would encourage contributions from folks who do not have the skills
to hack gcc plugins create new features. I suspect that isn't possible
until someone learns more about gcc's AST and thinks about what a good
abstraction model for Emacs is, and how it could be applied to the
existing pretty good smart completion system.
Eric
next prev parent reply other threads:[~2015-01-10 4:06 UTC|newest]
Thread overview: 523+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E1Os1zA-0006uO-PC@internal.in.savannah.gnu.org>
2014-02-10 12:43 ` /srv/bzr/emacs/trunk r101338: * lisp/emacs-lisp/syntax.el (syntax-ppss): More sanity check to catch Dmitry Gutov
2014-02-10 16:18 ` Stefan Monnier
2014-02-10 23:36 ` Dmitry Gutov
2014-02-12 1:30 ` Stefan Monnier
2014-02-12 2:49 ` Dmitry Gutov
2014-02-12 4:24 ` Dmitry Gutov
2014-02-12 14:26 ` Stefan Monnier
2014-02-12 15:10 ` Dmitry Gutov
2014-02-13 0:13 ` Stefan Monnier
2014-02-13 3:06 ` Dmitry Gutov
2014-02-13 13:17 ` Stefan Monnier
2014-02-12 14:23 ` Stefan Monnier
2014-02-13 3:28 ` Dmitry Gutov
2014-02-13 13:28 ` Stefan Monnier
2014-02-13 13:46 ` David Kastrup
2014-02-13 15:59 ` Stefan Monnier
2014-02-13 16:07 ` Eli Zaretskii
2014-02-13 14:12 ` Dmitry Gutov
2014-02-13 16:09 ` Eli Zaretskii
2014-02-13 16:42 ` Stefan Monnier
2014-02-14 4:44 ` Dmitry Gutov
2014-02-14 7:24 ` Eli Zaretskii
2014-02-14 9:54 ` David Kastrup
2014-02-14 10:15 ` Eli Zaretskii
2014-02-14 14:08 ` Dmitry Gutov
2014-02-14 14:28 ` Eli Zaretskii
2014-02-14 14:34 ` Dmitry Gutov
2014-02-14 14:41 ` Eli Zaretskii
2014-02-14 15:15 ` Dmitry Gutov
2014-02-14 15:30 ` David Kastrup
2014-02-14 15:38 ` Dmitry Gutov
2014-02-14 15:55 ` David Kastrup
2014-02-14 18:36 ` Eli Zaretskii
2014-02-14 18:30 ` Eli Zaretskii
2014-02-16 1:47 ` Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...) Dmitry Gutov
2014-02-16 16:45 ` Eli Zaretskii
2014-02-16 17:07 ` Jorgen Schaefer
2014-02-16 17:36 ` Eli Zaretskii
2014-02-16 18:38 ` Emacs contributions, C and Lisp Dmitry Gutov
2014-02-17 19:31 ` Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...) Jorgen Schaefer
2014-02-17 20:29 ` Eli Zaretskii
2014-02-18 10:00 ` Emacs contributions, C and Lisp Phillip Lord
2014-02-18 15:25 ` Eli Zaretskii
2014-02-18 15:31 ` David Kastrup
2014-02-19 0:43 ` chad
2014-02-19 3:55 ` Eli Zaretskii
2014-02-19 5:33 ` chad
2014-02-19 16:57 ` Eli Zaretskii
2014-02-19 16:59 ` Phillip Lord
2014-02-19 16:43 ` Phillip Lord
2014-02-19 17:14 ` Eli Zaretskii
2014-02-18 18:00 ` Glenn Morris
2014-02-19 17:10 ` Phillip Lord
2014-02-19 17:57 ` Glenn Morris
2014-02-20 12:07 ` Phillip Lord
2014-03-26 23:55 ` Michał Nazarewicz
2014-02-19 7:05 ` Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...) Jorgen Schaefer
2014-02-19 8:35 ` Emacs contributions, C and Lisp Thien-Thi Nguyen
2014-02-19 8:49 ` David Kastrup
2014-02-19 17:21 ` Phillip Lord
2014-02-19 17:35 ` David Kastrup
2014-02-19 18:25 ` Stefan Monnier
2014-02-19 19:24 ` David Kastrup
2014-02-20 3:08 ` Stephen J. Turnbull
2014-02-20 12:16 ` Phillip Lord
2014-03-27 12:55 ` Michal Nazarewicz
2014-03-27 13:17 ` David Kastrup
2014-03-28 3:15 ` Stephen J. Turnbull
2014-03-28 23:20 ` Richard Stallman
2014-03-28 23:40 ` Glenn Morris
2014-03-29 11:36 ` Stephen J. Turnbull
2014-03-30 0:24 ` Richard Stallman
2014-03-30 2:02 ` Stephen J. Turnbull
2014-03-30 15:13 ` Richard Stallman
2014-03-31 1:28 ` Stephen J. Turnbull
2014-04-01 21:53 ` Richard Stallman
2014-04-02 5:22 ` Stephen J. Turnbull
2014-04-02 7:16 ` Stephen J. Turnbull
2014-04-02 19:59 ` Richard Stallman
2014-04-02 22:59 ` Stefan Monnier
2014-04-03 7:24 ` Richard Stallman
2014-03-30 0:22 ` Richard Stallman
2014-03-28 17:00 ` Michal Nazarewicz
2014-03-28 17:27 ` David Kastrup
2014-03-28 18:47 ` Daniel Colascione
2014-03-28 19:01 ` Glenn Morris
2014-03-28 19:07 ` Daniel Colascione
2014-03-28 20:15 ` Stefan Monnier
2014-03-30 0:24 ` Richard Stallman
2014-03-31 18:45 ` Michal Nazarewicz
2014-02-19 9:32 ` Bastien
2014-02-19 17:11 ` Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...) Eli Zaretskii
2014-02-19 17:46 ` Emacs contributions, C and Lisp David Engster
2014-02-19 18:06 ` Phillip Lord
2014-02-19 18:17 ` Eli Zaretskii
2014-02-20 12:04 ` Phillip Lord
2014-02-19 18:23 ` Glenn Morris
2014-02-19 19:05 ` Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...) Jorgen Schaefer
2014-02-19 19:16 ` Eli Zaretskii
2014-02-24 20:43 ` Emacs contributions, C and Lisp Andreas Röhler
2014-02-25 17:14 ` Richard Stallman
2014-02-26 7:08 ` Stephen J. Turnbull
2014-02-27 18:06 ` Richard Stallman
2014-02-28 3:47 ` Stephen J. Turnbull
2014-02-28 9:31 ` David Kastrup
2014-03-01 3:36 ` Richard Stallman
2014-03-02 16:09 ` Stephen J. Turnbull
2014-03-02 16:21 ` David Kastrup
2014-03-02 19:36 ` Stephen J. Turnbull
2014-03-02 20:17 ` David Kastrup
2014-03-03 3:43 ` Stephen J. Turnbull
2014-03-03 9:44 ` David Kastrup
2014-03-04 5:22 ` Stephen J. Turnbull
2014-03-04 8:28 ` David Kastrup
2014-03-04 17:19 ` Stephen J. Turnbull
2014-03-04 17:49 ` David Kastrup
2014-03-04 18:18 ` Óscar Fuentes
2014-03-04 20:29 ` David Kastrup
2014-03-04 21:21 ` Óscar Fuentes
2014-03-05 5:20 ` David Kastrup
2014-03-05 13:38 ` John Yates
2014-03-05 14:07 ` David Kastrup
2014-03-05 20:03 ` Daniel Colascione
2014-03-05 20:26 ` David Kastrup
2014-03-05 13:48 ` Óscar Fuentes
2014-03-10 19:08 ` Richard Stallman
2014-03-11 5:08 ` Jambunathan K
2014-03-04 19:07 ` Stephen J. Turnbull
2014-03-04 20:32 ` David Kastrup
2014-03-05 3:35 ` Stephen J. Turnbull
2014-03-05 10:03 ` Thien-Thi Nguyen
2014-03-11 11:31 ` Jambunathan K
2014-03-03 20:36 ` Richard Stallman
2014-03-26 23:51 ` Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...) Michał Nazarewicz
2014-03-27 10:19 ` Emacs contributions, C and Lisp Phillip Lord
2014-03-27 16:39 ` Eli Zaretskii
2014-03-27 17:08 ` Phillip Lord
2014-03-27 17:27 ` Eli Zaretskii
2014-03-27 19:25 ` Michal Nazarewicz
2014-03-28 2:27 ` Stephen J. Turnbull
2014-03-27 14:19 ` Stefan Monnier
2014-02-17 23:58 ` Stefan Monnier
2014-02-19 7:29 ` Jorgen Schaefer
2014-02-18 9:54 ` Phillip Lord
2014-02-17 2:59 ` Stefan Monnier
2014-02-17 22:41 ` Richard Stallman
2014-02-18 0:20 ` Stefan Monnier
2014-02-18 22:34 ` Richard Stallman
2014-02-19 3:54 ` Dmitry Gutov
2014-02-20 18:13 ` Richard Stallman
2014-02-20 18:39 ` Dmitry Gutov
2014-02-20 18:45 ` David Kastrup
2014-02-20 20:51 ` Dmitry Gutov
2014-02-20 23:12 ` John Yates
2014-02-20 23:53 ` David Kastrup
2014-02-21 3:45 ` John Yates
2014-02-21 7:04 ` David Kastrup
2014-02-22 16:28 ` Richard Stallman
2014-02-22 17:17 ` David Kastrup
2014-02-24 17:33 ` Richard Stallman
2014-02-24 18:13 ` David Kastrup
2014-02-25 17:15 ` Richard Stallman
2014-02-25 18:55 ` David Kastrup
2014-02-24 19:42 ` Dmitry Gutov
2014-02-24 22:37 ` David Kastrup
2014-02-25 17:14 ` Richard Stallman
2014-02-25 18:15 ` Dmitry Gutov
2014-02-25 21:21 ` Stephen Leake
2014-02-25 3:16 ` Glenn Morris
2014-02-25 6:16 ` David Kastrup
2014-02-25 9:41 ` David Kastrup
2014-02-25 14:39 ` Stephen Leake
2014-02-25 15:23 ` David Kastrup
2014-02-25 21:08 ` Stephen Leake
2014-02-25 16:25 ` Eli Zaretskii
2014-02-25 16:37 ` David Kastrup
2014-02-25 17:28 ` Eli Zaretskii
2014-02-25 19:50 ` Óscar Fuentes
2014-02-25 21:12 ` Eli Zaretskii
2014-02-25 22:36 ` Óscar Fuentes
2014-02-26 16:28 ` David Engster
2014-02-26 17:08 ` Josh
2014-02-26 17:17 ` David Engster
2014-02-26 19:41 ` Óscar Fuentes
2014-02-26 19:53 ` David Engster
2014-02-26 20:59 ` Óscar Fuentes
2014-02-26 21:44 ` David Kastrup
2014-02-27 2:47 ` Stefan Monnier
2014-02-26 21:19 ` John Yates
2014-02-26 21:49 ` David Engster
2014-02-26 23:13 ` John Yates
2014-02-27 20:31 ` David Engster
2014-02-27 20:41 ` Eli Zaretskii
2014-02-28 4:37 ` Richard Stallman
2014-02-28 6:38 ` Dmitry Gutov
2014-02-28 9:55 ` David Kastrup
2014-03-01 3:37 ` Richard Stallman
2014-03-01 3:58 ` Dmitry Gutov
[not found] ` <E1WJrVG-0001m0-FG@fencepost.gnu.org>
2014-03-01 21:57 ` Dmitry Gutov
2014-03-01 3:37 ` Richard Stallman
2014-02-28 9:51 ` David Kastrup
2014-03-01 21:31 ` Richard Stallman
2014-03-01 21:50 ` Eric S. Raymond
2014-03-01 23:06 ` David Kastrup
2014-03-02 17:18 ` Stephen J. Turnbull
2014-03-03 20:35 ` Richard Stallman
2014-03-04 6:56 ` Stephen J. Turnbull
2014-03-04 9:02 ` David Kastrup
2014-03-10 19:08 ` Richard Stallman
2014-03-10 23:22 ` Stefan Monnier
2014-03-11 2:40 ` Richard Stallman
2014-03-11 6:30 ` Daniel Colascione
2014-03-11 10:55 ` Jambunathan K
2014-03-16 20:32 ` Richard Stallman
2014-03-11 9:26 ` Thien-Thi Nguyen
2014-03-12 0:13 ` Richard Stallman
2014-03-12 9:50 ` Bastien
2014-03-12 13:37 ` Stefan Monnier
2014-03-11 18:38 ` Stefan Monnier
2014-03-12 0:12 ` Richard Stallman
2014-03-12 13:36 ` Stefan Monnier
2014-03-12 14:54 ` David Kastrup
2014-03-13 10:04 ` Florian Weimer
2014-03-14 1:02 ` Richard Stallman
2015-01-02 23:25 ` Richard Stallman
2015-01-03 0:24 ` David Engster
2015-01-03 15:49 ` Richard Stallman
2015-01-03 16:08 ` David Engster
2015-01-05 17:50 ` Richard Stallman
2015-01-05 18:30 ` Eli Zaretskii
2015-01-06 18:24 ` Richard Stallman
2015-01-06 19:39 ` Perry E. Metzger
2015-01-06 20:37 ` Eli Zaretskii
2015-01-06 20:45 ` Perry E. Metzger
2015-01-07 3:41 ` Eli Zaretskii
2015-01-07 19:25 ` Richard Stallman
2015-01-07 19:38 ` Eli Zaretskii
2015-01-07 19:47 ` David Kastrup
2015-01-08 2:46 ` Richard Stallman
2015-01-08 3:38 ` Óscar Fuentes
2015-01-08 23:59 ` Richard Stallman
2015-01-09 0:23 ` Óscar Fuentes
2015-01-09 8:44 ` Eli Zaretskii
2015-01-09 17:39 ` Richard Stallman
2015-01-09 18:48 ` Perry E. Metzger
2015-01-09 0:43 ` Perry E. Metzger
2015-01-09 8:48 ` Eli Zaretskii
2015-01-09 14:17 ` Perry E. Metzger
2015-01-09 17:39 ` Richard Stallman
2015-01-09 18:13 ` Perry E. Metzger
2015-01-10 19:29 ` Richard Stallman
2015-01-10 20:34 ` Daniel Colascione
2015-01-12 15:37 ` Richard Stallman
2015-01-10 22:07 ` Perry E. Metzger
2015-01-10 23:11 ` David Kastrup
2015-01-11 10:25 ` Thien-Thi Nguyen
2015-01-09 18:27 ` David Kastrup
2015-01-09 20:11 ` Eli Zaretskii
2015-01-09 22:34 ` Karl Fogel
2015-01-10 19:29 ` Richard Stallman
2015-01-10 19:59 ` Dmitry Gutov
2015-01-10 23:40 ` Eric Ludlam
2015-01-09 8:36 ` Eli Zaretskii
2015-01-08 13:32 ` Perry E. Metzger
2015-01-08 14:26 ` Stefan Monnier
2015-01-08 17:39 ` Perry E. Metzger
2015-01-08 15:03 ` David Kastrup
2015-01-08 15:21 ` Eli Zaretskii
2015-01-08 15:49 ` Óscar Fuentes
2015-01-08 16:19 ` Eli Zaretskii
2015-01-09 0:02 ` Richard Stallman
2015-01-09 0:51 ` Perry E. Metzger
2015-01-09 8:41 ` Eli Zaretskii
2015-01-09 11:14 ` David Kastrup
2015-01-09 0:01 ` Richard Stallman
2015-01-09 2:23 ` Stefan Monnier
2015-01-09 17:38 ` Richard Stallman
2015-01-08 15:49 ` Perry E. Metzger
2015-01-08 16:20 ` Eli Zaretskii
2015-01-09 0:01 ` Richard Stallman
2015-01-09 0:55 ` Perry E. Metzger
2015-01-09 2:27 ` Stefan Monnier
2015-01-09 2:51 ` John Yates
2015-01-09 5:40 ` Paul Nathan
2015-01-05 18:36 ` Perry E. Metzger
2015-01-05 19:42 ` David Engster
2015-01-06 3:24 ` Stefan Monnier
2015-01-07 4:26 ` Richard Stallman
2015-01-07 4:44 ` Stefan Monnier
2015-01-07 17:14 ` David Engster
2015-01-08 2:46 ` Richard Stallman
2015-01-08 3:19 ` Óscar Fuentes
2015-01-08 7:58 ` David Engster
2015-01-08 16:06 ` David Engster
2015-01-09 0:02 ` Richard Stallman
2015-01-09 15:09 ` David Engster
2015-01-10 4:06 ` Eric Ludlam [this message]
2015-01-10 10:23 ` David Engster
2015-01-10 10:43 ` David Kastrup
2015-01-11 1:32 ` Stefan Monnier
2015-01-11 1:31 ` Stefan Monnier
2015-01-11 10:03 ` David Kastrup
2015-01-07 17:35 ` Eli Zaretskii
2015-01-11 18:49 ` Mario Lang
2015-01-11 19:32 ` Óscar Fuentes
2015-01-11 22:25 ` Mario Lang
2015-01-11 20:06 ` Achim Gratz
2015-01-11 20:13 ` David Engster
2015-01-12 18:00 ` Helmut Eller
2015-01-12 18:40 ` David Engster
2015-01-12 20:01 ` Helmut Eller
2015-01-12 20:41 ` David Engster
2015-01-11 20:28 ` Perry E. Metzger
2014-03-12 5:57 ` Jambunathan K
2014-03-12 6:51 ` Stephen J. Turnbull
2014-03-11 9:12 ` Stephen J. Turnbull
2014-03-02 17:42 ` Richard Stallman
2014-03-02 18:27 ` Óscar Fuentes
2014-03-04 22:30 ` Florian Weimer
2014-02-28 15:55 ` David Engster
2014-02-28 16:57 ` David Kastrup
2014-02-28 17:31 ` Juanma Barranquero
2014-02-28 17:53 ` David Kastrup
2014-02-28 18:23 ` Juanma Barranquero
2014-02-28 20:53 ` David Kastrup
2014-02-28 21:48 ` Juanma Barranquero
2014-03-01 3:38 ` Richard Stallman
2014-03-01 15:34 ` Stefan Monnier
2014-03-01 16:01 ` David Kastrup
2014-03-01 18:03 ` Eli Zaretskii
2014-03-01 21:29 ` Richard Stallman
2014-03-01 6:26 ` David Kastrup
2014-03-01 8:15 ` Eli Zaretskii
2014-03-01 8:37 ` Paul Eggert
2014-03-01 9:03 ` Eli Zaretskii
2014-03-01 12:53 ` Thien-Thi Nguyen
2014-03-01 13:09 ` David Kastrup
2014-03-01 14:53 ` Thien-Thi Nguyen
2014-03-01 7:47 ` Eli Zaretskii
2014-03-01 7:36 ` Eli Zaretskii
2014-03-01 11:04 ` David Kastrup
2014-03-01 13:21 ` Óscar Fuentes
2014-03-01 14:50 ` Eli Zaretskii
2014-03-01 15:08 ` Óscar Fuentes
2014-03-01 18:02 ` Eli Zaretskii
2014-03-01 19:03 ` Óscar Fuentes
2014-03-01 19:27 ` David Kastrup
2014-03-01 19:43 ` Óscar Fuentes
2014-03-01 20:17 ` David Kastrup
2014-03-01 21:30 ` Óscar Fuentes
2014-03-01 19:40 ` Eli Zaretskii
2014-03-01 20:12 ` Óscar Fuentes
2014-03-01 20:32 ` Eli Zaretskii
2014-03-01 20:47 ` Óscar Fuentes
2014-03-01 20:40 ` David Engster
2014-03-01 20:30 ` John Yates
2014-03-01 13:52 ` Eli Zaretskii
2014-03-01 14:22 ` David Kastrup
2014-03-01 15:32 ` David Kastrup
2014-03-01 21:28 ` Richard Stallman
2014-03-02 3:45 ` Eli Zaretskii
2014-03-02 17:42 ` Richard Stallman
2014-03-02 17:53 ` Eli Zaretskii
2014-03-02 18:20 ` Dmitry Gutov
2014-03-02 20:32 ` Eli Zaretskii
2014-03-27 15:10 ` Michal Nazarewicz
2014-03-27 17:24 ` Eli Zaretskii
2014-03-27 19:21 ` Michal Nazarewicz
2014-03-28 15:24 ` Richard Stallman
2014-03-01 21:27 ` Richard Stallman
2014-02-28 19:39 ` David Engster
2014-03-03 20:35 ` Richard Stallman
2014-02-26 16:43 ` Eli Zaretskii
2014-02-26 20:17 ` Óscar Fuentes
2014-02-26 20:54 ` Eli Zaretskii
2014-02-26 22:34 ` Óscar Fuentes
2014-02-27 18:07 ` Eli Zaretskii
2014-02-27 19:06 ` Dmitry Gutov
2014-02-27 20:23 ` Eli Zaretskii
2014-02-28 1:40 ` Dmitry Gutov
2014-02-28 6:53 ` Eli Zaretskii
2014-02-28 6:58 ` Dmitry Gutov
2014-02-28 7:10 ` Eli Zaretskii
2014-02-28 12:53 ` John Yates
2014-02-28 14:24 ` Dmitry Gutov
2014-02-28 17:05 ` John Yates
2014-02-28 17:18 ` Dmitry Gutov
2014-02-27 19:08 ` Óscar Fuentes
2014-02-27 20:32 ` Eli Zaretskii
2014-02-27 21:15 ` Óscar Fuentes
2014-02-28 6:40 ` Eli Zaretskii
2014-02-28 9:13 ` David Kastrup
2014-02-28 9:20 ` Daniel Colascione
2014-02-28 10:07 ` David Kastrup
2014-02-28 10:10 ` Daniel Colascione
2014-02-28 15:08 ` Eli Zaretskii
2014-02-28 21:51 ` Daniel Colascione
2014-03-01 8:00 ` Eli Zaretskii
2014-03-01 8:48 ` David Engster
2014-03-01 17:03 ` Tom
2014-03-01 21:29 ` Richard Stallman
2014-03-01 22:43 ` Dmitry Gutov
2014-02-28 10:56 ` Óscar Fuentes
2014-02-28 11:12 ` David Kastrup
2014-02-28 12:14 ` Óscar Fuentes
2014-02-28 12:56 ` David Kastrup
2014-02-28 13:13 ` Óscar Fuentes
2014-02-28 13:58 ` David Kastrup
2014-02-28 14:23 ` Eli Zaretskii
2014-02-28 10:38 ` Eli Zaretskii
2014-02-28 11:00 ` Óscar Fuentes
2014-02-25 21:20 ` Stephen Leake
2014-02-25 21:15 ` Stephen Leake
2014-02-26 6:13 ` Stephen J. Turnbull
2014-02-26 6:53 ` David Kastrup
2014-02-26 10:52 ` Stephen J. Turnbull
2014-02-26 11:27 ` David Kastrup
2014-02-26 17:11 ` Stephen J. Turnbull
2014-02-21 21:23 ` Richard Stallman
2014-02-19 4:30 ` Stefan Monnier
2014-02-20 18:13 ` Richard Stallman
2014-02-22 4:23 ` Stephen J. Turnbull
2014-02-22 6:47 ` David Kastrup
2014-02-22 16:03 ` Tom
2014-02-22 16:13 ` David Kastrup
2014-02-22 22:42 ` Richard Stallman
2014-02-22 16:30 ` Richard Stallman
2014-02-16 17:27 ` Dmitry Gutov
2014-02-16 17:50 ` Eli Zaretskii
2014-02-16 18:27 ` Dmitry Gutov
2014-02-16 18:43 ` Eli Zaretskii
2014-02-16 18:49 ` Dmitry Gutov
2014-02-16 18:55 ` Eli Zaretskii
2014-02-16 19:06 ` Dmitry Gutov
2014-02-16 21:00 ` Eli Zaretskii
2014-02-16 18:52 ` Emacs contributions, C and Lisp (was: Re: /srv/bzr/emacs/trunk r101338: ...)) E Sabof
2014-02-15 5:52 ` /srv/bzr/emacs/trunk r101338: * lisp/emacs-lisp/syntax.el (syntax-ppss): More sanity check to catch Michael Welsh Duggan
2014-02-15 7:28 ` Eli Zaretskii
2014-02-17 2:40 ` Stefan Monnier
2014-02-17 2:57 ` Dmitry Gutov
2014-02-17 14:35 ` Stefan Monnier
2014-02-17 3:00 ` Juanma Barranquero
2014-02-17 14:34 ` Stefan Monnier
2014-02-17 17:21 ` Dmitry Gutov
2014-02-17 23:42 ` Stefan Monnier
2014-02-17 5:23 ` Eli Zaretskii
2014-02-17 16:34 ` /srv/bzr/emacs/trunkr101338:*lisp/emacs-lisp/syntax.el(syntax-ppss): More sanitycheck to catchcatch E Sabof
2014-02-17 17:33 ` Dmitry Gutov
2014-02-18 6:54 ` E Sabof
2014-02-14 15:19 ` /srv/bzr/emacs/trunk r101338:*lisp/emacs-lisp/syntax.el(syntax-ppss): More sanity check to catchtch E Sabof
2014-02-14 15:25 ` Dmitry Gutov
2014-02-14 15:38 ` E Sabof
2014-02-16 1:52 ` Dmitry Gutov
2014-02-16 10:42 ` E Sabof
2014-02-16 16:43 ` Dmitry Gutov
2014-02-16 17:48 ` E Sabof
2014-02-16 18:29 ` Dmitry Gutov
2014-02-16 19:01 ` E Sabof
2014-02-17 2:54 ` Stefan Monnier
[not found] ` <<83d2iqc84m.fsf@gnu.org>
2014-02-14 17:22 ` /srv/bzr/emacs/trunk r101338: * lisp/emacs-lisp/syntax.el (syntax-ppss): More sanity check to catch Drew Adams
2014-02-14 14:10 ` Stefan Monnier
2014-02-14 14:38 ` Eli Zaretskii
2014-02-14 16:53 ` Stefan Monnier
2014-02-14 18:21 ` Eli Zaretskii
2014-02-14 20:53 ` Stefan Monnier
2014-02-14 14:23 ` Stefan Monnier
2014-02-14 15:08 ` Dmitry Gutov
2014-02-14 17:08 ` Stefan Monnier
2014-02-16 2:01 ` Dmitry Gutov
2014-02-17 2:42 ` Stefan Monnier
2014-02-20 15:52 ` Davis Herring
2014-02-20 21:28 ` Andreas Röhler
2014-02-26 15:12 Emacs contributions, C and Lisp Barry OReilly
2014-02-26 16:32 ` Eli Zaretskii
-- strict thread matches above, loose matches on Subject: below --
2014-03-11 13:51 Barry OReilly
2014-03-12 0:09 ` Richard Stallman
2015-01-10 23:45 Jacob Bachmeyer
2015-01-11 10:00 ` David Engster
2015-01-12 23:21 ` Jacob Bachmeyer
2015-01-13 0:27 ` Perry E. Metzger
2015-01-13 10:16 ` David Kastrup
2015-01-11 10:15 ` David Kastrup
2015-01-12 23:20 ` Jacob Bachmeyer
2015-01-13 3:38 ` Eli Zaretskii
2015-01-13 4:56 ` Stefan Monnier
2015-01-13 15:37 ` Perry E. Metzger
2015-01-13 22:38 ` Jacob Bachmeyer
2015-01-13 9:37 ` David Kastrup
2015-01-13 23:28 ` Jacob Bachmeyer
2015-01-14 9:06 ` David Kastrup
2015-01-14 19:43 ` Richard Stallman
2015-01-14 20:44 ` David Kastrup
2015-01-15 4:29 ` Richard Stallman
2015-01-15 9:10 ` David Kastrup
2015-01-15 22:01 ` Jacob Bachmeyer
2015-01-15 22:29 ` David Kastrup
2015-01-14 23:17 ` Jacob Bachmeyer
2015-01-15 4:29 ` Richard Stallman
2015-01-15 21:34 ` Jacob Bachmeyer
2015-01-16 2:11 ` Richard Stallman
2015-01-16 3:47 ` Jacob Bachmeyer
2015-01-16 4:54 ` Daniel Colascione
2015-01-16 9:24 ` David Kastrup
2015-01-16 9:20 ` David Kastrup
2015-01-17 1:26 ` Jacob Bachmeyer
2015-01-17 6:40 ` David Kastrup
2015-01-18 3:40 ` Jacob Bachmeyer
2015-01-18 10:00 ` David Kastrup
2015-01-19 22:45 ` Jacob Bachmeyer
2015-01-18 15:04 ` Richard Stallman
2015-01-18 15:34 ` David Kastrup
2015-01-19 22:14 ` Jacob Bachmeyer
2015-01-20 3:18 ` Richard Stallman
2015-01-20 3:17 ` Richard Stallman
2015-01-16 20:21 ` Richard Stallman
2015-01-17 1:26 ` Jacob Bachmeyer
2015-01-17 8:09 ` David Kastrup
2015-01-18 9:50 ` chad
2015-01-18 19:43 ` Perry E. Metzger
2015-01-19 4:35 ` Richard Stallman
2015-01-20 17:41 ` Perry E. Metzger
2015-01-20 18:07 ` David Kastrup
2015-01-20 23:31 ` Richard Stallman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54B0A54B.5080206@siege-engine.com \
--to=eric@siege-engine.com \
--cc=deng@randomsample.de \
--cc=emacs-devel@gnu.org \
--cc=monnier@iro.umontreal.ca \
--cc=rms@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).