unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* IDE versus emacs
@ 2012-10-04 16:48 Wally Lepore
  2012-10-04 17:26 ` Eli Zaretskii
  2012-10-05 17:00 ` Ken Goldman
  0 siblings, 2 replies; 42+ messages in thread
From: Wally Lepore @ 2012-10-04 16:48 UTC (permalink / raw)
  To: help-gnu-emacs

Hi Members,

This question pertains to emacs and other GNU tools as well as other
tools (i.e GTK+) that compliment and work well with GNU products. I am
a long time computer user and I am learning "C" programming. I have
done extensive research on what IDE to utilize for my learning but I
also believe in  the philosophy behind GNU and would like to be more
involved and prefer to learn their tools.

I would like a recommendation please as to what "separate" GNU tools
to install (also perhaps including GTK+ and Glade) that integrate well
with each other and would allow me the same type tools that are
typically supplied with a complete IDE such as Code::Blocks, Code Lite
etc. for a win32 platform.

In other words, what separate tools do I need to install that will
allow me to build both console and window applications (on a win32
platform) using "C" and eventually "C++" that offer the same or
similar options as those found in your typical IDE's such as
Code::Blocks, Code Lite, lcc-32 and Pelles C?

This is a difficult question for a newbie to locate as I find myself
getting buried in complicated installation procedures for tools I may
not need. Getting over an installation hurdle is certainly a learning
experience but some install instructions can be quite intimidating and
would kindly like to know if I am on the right path.

On the flip side, installing "Code::Blocks", "lcc-win32", "Code Lite"
and "Pelles C" are all pretty much a one click install. However, the
GNU mailing lists are a tremendous support arm and support is critical
to a newbie.

So far I have learned that the following combination of tools for
windows win32 platform x32 (i.e.win2k, winXP and win7) could be a
start but perhaps some are not needed.

Text Editor: emacs
GUI Builder: GTK+2 or Glade
Compiler: MinGW
Debugger: ?
Linker: ?
Standard "C" Library: ?

I also located the links below for GNU tools for windows (not sure if
I need any of these).
http://gnuwin32.sourceforge.net/packages.html
http://www.gnutoolchains.com/

I am loading my first Linux distro soon and prefer to be involved with
a family of tools that are available for both Linux and Windows. I
also use "Windows" daily (win2k, winXP and win7).

My question above pertains to learning "C" programming and installing
GNU tools as well as GTK+ on a 32 bit win32 platform. Any suggestions
or links would
be much appreciated.

Thank you very much
Wally Lepore New Jersey



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 16:48 IDE versus emacs Wally Lepore
@ 2012-10-04 17:26 ` Eli Zaretskii
  2012-10-04 19:41   ` Wally Lepore
  2012-10-05 17:00 ` Ken Goldman
  1 sibling, 1 reply; 42+ messages in thread
From: Eli Zaretskii @ 2012-10-04 17:26 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Thu, 4 Oct 2012 12:48:49 -0400
> From: Wally Lepore <wallylepore@gmail.com>
> 
> So far I have learned that the following combination of tools for
> windows win32 platform x32 (i.e.win2k, winXP and win7) could be a
> start but perhaps some are not needed.
> 
> Text Editor: emacs
> GUI Builder: GTK+2 or Glade
> Compiler: MinGW
> Debugger: ?

GDB, of course, available for download from the MinGW site.  Nothing
else will debug GCC-generated programs as efficiently as GDB does.
Emacs includes a front end for it, as I'm sure you know.

> Linker: ?

GNU Binutils, from MinGW.  You have no other choices if your compiler
is GCC.

> Standard "C" Library: ?

Windows comes with one already, so you don't need anything.  MinGW
runtime and headers come with a small set of additional functions that
are missing or grossly misfeatured in the MS-provided standard library
that is part of Windows.

Be sure to download also these important tools:

 ID-Utils
 Findutils
 Make
 Grep

and learn about etags and ebrowse that come with Emacs (if you didn't
know about them already).

> I also located the links below for GNU tools for windows (not sure if
> I need any of these).
> http://gnuwin32.sourceforge.net/packages.html
> http://www.gnutoolchains.com/

These are old and unmaintained.  Some of them are even badly broken.
I recommend to look on the MinGW site first, and then here:

    http://sourceforge.net/projects/ezwinports/files/



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 17:26 ` Eli Zaretskii
@ 2012-10-04 19:41   ` Wally Lepore
  2012-10-04 20:19     ` v.plechinger
  2012-10-04 20:20     ` Eli Zaretskii
  0 siblings, 2 replies; 42+ messages in thread
From: Wally Lepore @ 2012-10-04 19:41 UTC (permalink / raw)
  To: Eli Zaretskii, help-gnu-emacs

> Date: Thu, Oct 4, 2012 at 1:26 PM
> From:, Eli Zaretskii <eliz@gnu.org> wrote:

>> Date: Thu, 4 Oct 2012 12:48:49 -0400
>> From: Wally Lepore <wallylepore@gmail.com>
>>
>> So far I have learned that the following combination of tools for
>> windows win32 platform x32 (i.e.win2k, winXP and win7) could be a
>> start but perhaps some are not needed.
>>
>> Text Editor: emacs
>> GUI Builder: GTK+2 or Glade
>> Compiler: MinGW
>> Debugger: ?
>
> GDB, of course, available for download from the MinGW site.  Nothing
> else will debug GCC-generated programs as efficiently as GDB does.
> Emacs includes a front end for it, as I'm sure you know.

Thank you Eli. Yes this sure looks like the real deal for sure. Thank
you very much. However I will most certainly have further questions
after this initial reply please and would like to know if this is the
proper mailing list to continue on with this thread/question?

If not, can you please direct me to the proper mailing list? I
certainly don't prefer to drag you thru all questions involved in the
install process as I will most certainly do my homework first before
asking.

I assume this is the home page for MinGW -> http://mingw.org/
Is GDB part of the download for MinGW?
I found the separate download for GDB here ->
http://www.gnu.org/software/gdb/download/

Also, getting back to MinGW please. I found this interesting link
http://mingw.org/wiki/New_to_MinGW
and it appears they are suggesting I download and install additional files.
Part of the page said:

-- begin --

Download and extract

Because there are many things to use (compiler, linker, utils, API,
etc.) you need to download several files:
- gcc 	the compiler
- mingwrt 	the Mingw Runtime system
- w32api 	the Windows Application Programming Interface
- binutils 	linker, profiling, windows resources, etc.
- make 	which gathers all "things to do" to achieve your program
- gdb 	a great debugger to look inside your app while it is running

The complete name for each file to download includes its version.
You can also download the MinGW-xxx.exe file, and let it download the
rest, but probably it doesn't download the last version of each file.
The new mingw-get intaller will improve this situation when it becomes
available.

Files are compressed in Unix style: .tar.gz

-- end --

>> Linker: ?
>
> GNU Binutils, from MinGW.  You have no other choices if your compiler
> is GCC.

Ok, then I assume GNU Binutils is included in MinGW? On MinGW's web
site it said:

-- begin --

Primarily intended for use by developers working on the native
MS-Windows platform, but also available for cross-hosted use, (see
note below -- you may need to follow the "read more" link to see it),
MinGW includes:

- A port of the GNU Compiler Collection (GCC), including C, C++, ADA
and Fortran compilers;
- GNU Binutils for Windows (assembler, linker, archive manager)
- A command-line installer (mingw-get) for MinGW and MSYS deployment
on MS-Windows
- A GUI wrapper (mingw-get-inst) for the command line installer

-- end --


>> Standard "C" Library: ?
>
> Windows comes with one already, so you don't need anything.  MinGW
> runtime and headers come with a small set of additional functions that
> are missing or grossly misfeatured in the MS-provided standard library
> that is part of Windows.

Ok, but it sure sounds scary having to rely on Windows C Library. I
guess I should be ok with it....... correct?

> Be sure to download also these important tools:
>
>  ID-Utils
>  Findutils
>  Make
>  Grep
>
> and learn about etags and ebrowse that come with Emacs (if you didn't
> know about them already).

Ok, studying now. Thank you.

>> I also located the links below for GNU tools for windows (not sure if
>> I need any of these).
>> http://gnuwin32.sourceforge.net/packages.html
>> http://www.gnutoolchains.com/
>
> These are old and unmaintained.  Some of them are even badly broken.
> I recommend to look on the MinGW site first, and then here:
>
>     http://sourceforge.net/projects/ezwinports/files/

Yes I see lots of files. I have no idea what they are utilized for but
I will study and find out. Also Eli, I have little experience with
working in a console environment. I have been successfully working
through the learning process in regards to how-to verify downloaded
files and checksums using md5sum and md5sums programs in the command
line. No problem. I also have many DOS books from "back in the day" to
refer to which I have benn studying much lately.

Will the set-up scenario you kindly discussed above be too
overwhelming for a newbie programmer like myself or would I be better
off simply starting with installing an IDE already set-up to run on
win32 platform such as Code::Blocks, Code Lite, lcc-win32 etc.where
all procedures are accomplished in the same window?

I understand the drawback to utilizing a complete package associated
with an IDE is that a lot of the procedures and tools are
automatically executed for the user. Most times, the user has no idea
that a particular tool is actually running a process.

At least with your recommended tools (above), I would know why a
particular tool is in  my tool box and what its used for and when to
use it. I would understand the whole process better. Its just the
installation part that I would be most concerned with. If I could
survive it.

Thank you for your patience Eli
Wally



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 19:41   ` Wally Lepore
@ 2012-10-04 20:19     ` v.plechinger
  2012-10-04 21:41       ` Wally Lepore
  2012-10-05  2:34       ` Óscar Fuentes
  2012-10-04 20:20     ` Eli Zaretskii
  1 sibling, 2 replies; 42+ messages in thread
From: v.plechinger @ 2012-10-04 20:19 UTC (permalink / raw)
  To: help-gnu-emacs

If you just started with C or programming in general, don't waste your
time searching for a featureful IDE.
Just start coding, it's better to learn a new language without learning
a new editor at the same time.
You probably, also can skip using a debugger at the beginning.

Have fun with emacs

-- 



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 19:41   ` Wally Lepore
  2012-10-04 20:19     ` v.plechinger
@ 2012-10-04 20:20     ` Eli Zaretskii
  2012-10-04 22:16       ` Wally Lepore
  1 sibling, 1 reply; 42+ messages in thread
From: Eli Zaretskii @ 2012-10-04 20:20 UTC (permalink / raw)
  To: help-gnu-emacs

> Date: Thu, 4 Oct 2012 15:41:23 -0400
> From: Wally Lepore <wallylepore@gmail.com>
> 
> Thank you Eli. Yes this sure looks like the real deal for sure. Thank
> you very much. However I will most certainly have further questions
> after this initial reply please and would like to know if this is the
> proper mailing list to continue on with this thread/question?

The MinGW mailing list, mingw-users@lists.sourceforge.net, is a much
better place, since your questions have little to do with Emacs.

> I assume this is the home page for MinGW -> http://mingw.org/
> Is GDB part of the download for MinGW?

Yes.

> I found the separate download for GDB here ->
> http://www.gnu.org/software/gdb/download/

These are sources.  You will be much better off with precompiled
binaries.

> Also, getting back to MinGW please. I found this interesting link
> http://mingw.org/wiki/New_to_MinGW
> and it appears they are suggesting I download and install additional files.
> Part of the page said:
> 
> -- begin --
> 
> Download and extract
> 
> Because there are many things to use (compiler, linker, utils, API,
> etc.) you need to download several files:
> - gcc 	the compiler
> - mingwrt 	the Mingw Runtime system
> - w32api 	the Windows Application Programming Interface
> - binutils 	linker, profiling, windows resources, etc.
> - make 	which gathers all "things to do" to achieve your program
> - gdb 	a great debugger to look inside your app while it is running

That's the basic setup, yes.

> >> Linker: ?
> >
> > GNU Binutils, from MinGW.  You have no other choices if your compiler
> > is GCC.
> 
> Ok, then I assume GNU Binutils is included in MinGW?

Yes, see above: it's in the list you cited.

> >> Standard "C" Library: ?
> >
> > Windows comes with one already, so you don't need anything.  MinGW
> > runtime and headers come with a small set of additional functions that
> > are missing or grossly misfeatured in the MS-provided standard library
> > that is part of Windows.
> 
> Ok, but it sure sounds scary having to rely on Windows C Library. I
> guess I should be ok with it....... correct?

You'll be fine.  Everyone else is.

> >> http://gnuwin32.sourceforge.net/packages.html
> >> http://www.gnutoolchains.com/
> >
> > These are old and unmaintained.  Some of them are even badly broken.
> > I recommend to look on the MinGW site first, and then here:
> >
> >     http://sourceforge.net/projects/ezwinports/files/
> 
> Yes I see lots of files. I have no idea what they are utilized for but
> I will study and find out.

There's a README there to help.

> Will the set-up scenario you kindly discussed above be too
> overwhelming for a newbie programmer like myself or would I be better
> off simply starting with installing an IDE already set-up to run on
> win32 platform such as Code::Blocks, Code Lite, lcc-win32 etc.where
> all procedures are accomplished in the same window?

MinGW comes with an installer, I suggest you use it.

I cannot tell anything about the IDE's you mention: never used them.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 20:19     ` v.plechinger
@ 2012-10-04 21:41       ` Wally Lepore
  2012-10-05  2:34       ` Óscar Fuentes
  1 sibling, 0 replies; 42+ messages in thread
From: Wally Lepore @ 2012-10-04 21:41 UTC (permalink / raw)
  To: help-gnu-emacs"

On Thu, Oct 4, 2012 at 4:19 PM,  <v.plechinger@gmail.com> wrote:
> If you just started with C or programming in general, don't waste your
> time searching for a featureful IDE.
> Just start coding, it's better to learn a new language without learning
> a new editor at the same time.
> You probably, also can skip using a debugger at the beginning.
>
> Have fun with emacs

Thank you v.plechinger. Yes I understand. Most of the pre-bundled
IDE's I have looked at are quite simple to install (i.e. code::blocks,
lcc-win32, Pelles C and Code Lite) and easy to navigate.

However I'm simply looking to better understand what each tool
actually accomplishes in a full featured "separate tool" IDE rather
than simply allowing the pre-bundled IDE packages (i.e. Code::Blocks,
Code Lite etc.) to accomplish most tasks automatically for me.

Code::Blocks and Code Lite are certainly great products but I simply
wanted to know what the  "separate tool" route would encompass versus
the one-in-all packages.

The "separate tool" component IDE that Eli recommended is exactly what
I was searching for. Perhaps I will install the most basic of the
mentioned tools (emacs and MinGW) and then install the additional
tools as I progress.

Yes you are correct when you say, "Just start coding". Let me not
forget my goal!

Thank you for your suggestions.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 20:20     ` Eli Zaretskii
@ 2012-10-04 22:16       ` Wally Lepore
  2012-10-04 23:46         ` Brandon Betances
  0 siblings, 1 reply; 42+ messages in thread
From: Wally Lepore @ 2012-10-04 22:16 UTC (permalink / raw)
  To: Eli Zaretskii, help-gnu-emacs

On Thu, Oct 4, 2012 at 4:20 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>> Date: Thu, 4 Oct 2012 15:41:23 -0400
>> From: Wally Lepore <wallylepore@gmail.com>
>>
>> Thank you Eli. Yes this sure looks like the real deal for sure. Thank
>> you very much. However I will most certainly have further questions
>> after this initial reply please and would like to know if this is the
>> proper mailing list to continue on with this thread/question?
>
> The MinGW mailing list, mingw-users@lists.sourceforge.net, is a much
> better place, since your questions have little to do with Emacs.

Thank you. I just signed-up and will post there.

>> I found the separate download for GDB here ->
>> http://www.gnu.org/software/gdb/download/
>
> These are sources.  You will be much better off with precompiled
> binaries.

Ok, thank you. I will research and study.

>>> I recommend to look on the MinGW site first, and then here:
>>>
>>>     http://sourceforge.net/projects/ezwinports/files/
>>
>> Yes I see lots of files. I have no idea what they are utilized for but
>> I will study and find out.
>
> There's a README there to help.

Yes I did see that README earlier. Thank you. Reading it now.

>> Will the set-up scenario you kindly discussed above be too
>> overwhelming for a newbie programmer like myself or would I be better
>> off simply starting with installing an IDE already set-up to run on
>> win32 platform such as Code::Blocks, Code Lite, lcc-win32 etc.where
>> all procedures are accomplished in the same window?
>
> MinGW comes with an installer, I suggest you use it.

Ok, thank you. I appreciate your time and help.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 22:16       ` Wally Lepore
@ 2012-10-04 23:46         ` Brandon Betances
  2012-10-05  2:10           ` Wally Lepore
  2012-10-05  2:22           ` Óscar Fuentes
  0 siblings, 2 replies; 42+ messages in thread
From: Brandon Betances @ 2012-10-04 23:46 UTC (permalink / raw)
  To: help-gnu-emacs

FWIW, emacs can be customised and set up to rival pretty much any IDE
out there.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 23:46         ` Brandon Betances
@ 2012-10-05  2:10           ` Wally Lepore
  2012-10-05  2:22           ` Óscar Fuentes
  1 sibling, 0 replies; 42+ messages in thread
From: Wally Lepore @ 2012-10-05  2:10 UTC (permalink / raw)
  To: Brandon Betances, help-gnu-emacs

On Thu, Oct 4, 2012 at 7:46 PM, Brandon Betances
<syrinx.optimised@gmail.com> wrote:
> FWIW, emacs can be customised and set up to rival pretty much any IDE
> out there.
>

On the windows version of emacs?



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 23:46         ` Brandon Betances
  2012-10-05  2:10           ` Wally Lepore
@ 2012-10-05  2:22           ` Óscar Fuentes
  2012-10-05  2:24             ` Jai Dayal
       [not found]             ` <CALDXikp5_sXOh23jBNBS=dfxzZBT2FuTMphdYDbuq-Qg07vTNg@mail.gmail.com>
  1 sibling, 2 replies; 42+ messages in thread
From: Óscar Fuentes @ 2012-10-05  2:22 UTC (permalink / raw)
  To: help-gnu-emacs

Brandon Betances <syrinx.optimised@gmail.com> writes:

> FWIW, emacs can be customised and set up to rival pretty much any IDE
> out there.

Yeah, sure.

Just see all those Java guys.

Nor even on C/C++ Emacs is a top contender as an IDE anymore.




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-05  2:22           ` Óscar Fuentes
@ 2012-10-05  2:24             ` Jai Dayal
       [not found]             ` <CALDXikp5_sXOh23jBNBS=dfxzZBT2FuTMphdYDbuq-Qg07vTNg@mail.gmail.com>
  1 sibling, 0 replies; 42+ messages in thread
From: Jai Dayal @ 2012-10-05  2:24 UTC (permalink / raw)
  To: Óscar Fuentes; +Cc: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 501 bytes --]

All of those Java guys generally do trivial software engineering type
things, so it's to be expected they'd use something like Eclipse or
Netbeans.
On Oct 4, 2012 10:22 PM, "Óscar Fuentes" <ofv@wanadoo.es> wrote:

> Brandon Betances <syrinx.optimised@gmail.com> writes:
>
> > FWIW, emacs can be customised and set up to rival pretty much any IDE
> > out there.
>
> Yeah, sure.
>
> Just see all those Java guys.
>
> Nor even on C/C++ Emacs is a top contender as an IDE anymore.
>
>
>

[-- Attachment #2: Type: text/html, Size: 822 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 20:19     ` v.plechinger
  2012-10-04 21:41       ` Wally Lepore
@ 2012-10-05  2:34       ` Óscar Fuentes
  1 sibling, 0 replies; 42+ messages in thread
From: Óscar Fuentes @ 2012-10-05  2:34 UTC (permalink / raw)
  To: help-gnu-emacs

<v.plechinger@gmail.com> writes:

> If you just started with C or programming in general, don't waste your
> time searching for a featureful IDE.
> Just start coding, it's better to learn a new language without learning
> a new editor at the same time.
> You probably, also can skip using a debugger at the beginning.
>
> Have fun with emacs

Great advice. Specially the part about the debugger. Debuggers should be
banned for beginners. They create terrible habits and foster sloppy
methods (edit-run-crash-debug-edit anyone?) that may ruin your career as
a competent programmer.

Good programmers don't expect to use a debugger when they develop their
software. If you end using one, it is higly probable that the bugs you
are trying to fix is not the worst problem with your project.




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
       [not found]             ` <CALDXikp5_sXOh23jBNBS=dfxzZBT2FuTMphdYDbuq-Qg07vTNg@mail.gmail.com>
@ 2012-10-05 14:23               ` Óscar Fuentes
  2012-10-05 14:49                 ` Tom
                                   ` (2 more replies)
  0 siblings, 3 replies; 42+ messages in thread
From: Óscar Fuentes @ 2012-10-05 14:23 UTC (permalink / raw)
  To: Wally Lepore, help-gnu-emacs

Wally Lepore <wallylepore@gmail.com> writes:

> On Thu, Oct 4, 2012 at 10:22 PM, Óscar Fuentes <ofv@wanadoo.es> wrote:
>>
>> Nor even on C/C++ Emacs is a top contender as an IDE anymore.
>>
>
> Please clarify last sentence so I can better understand. Thank you
> very much.

Modern IDEs have a deep understanding of the programming language and
this brings in very interesting features that are out of the reach of
the simplistic syntactical parsing that Emacs does. One of the most
evident examples is code completion. If you write

foo.

on one of those modern IDEs, the type of `foo' is often known and the
candidates for completion that the IDE offers are restrained to the data
members or methods of the class/struct that corresponds to `foo'. Those
candidate methods are shown with signature and documentation. That alone
is a huge productivity boost when you are working with a big API.

Other related facilities are code browsing & navigation, refactoring,
accurate source code filling and unobtrusive error reporting as you
write code.

Emacs has partial support for some of those features, with CEDET always
shining on the horizon, but instead of catching up with other IDEs as
time passes, it is falling behind.

Then, on integrating with the traditional tools that comes with the IDE
(debuggers, profilers, etc) Emacs still is on the 90s. The GDB interface
looks primitive, flaky, arcane and inconvenient compared to other IDEs.

Don't get me wrong. I love Emacs and don't plan to switch anytime soon,
because Emacs is a great configurable *editor*. But I'll have a hard
time justifying the use of Emacs for C# or Java projects. My C++ work
does not suffer so much because I already know the APIs well enough,
although whenever I write or browse some "advanced" C++ I have to
struggle with CCMode auto-fill and font-locking capabilities.

And, to show the whole picture, it is true that Emacs is the best IDE
for quite a few languages. Those tend to be minority (but very
interesting) languages without the backing of Big Money but with very
devoted users that invest lots of time on improving Emacs' support for
their pet language.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-05 14:23               ` Óscar Fuentes
@ 2012-10-05 14:49                 ` Tom
  2012-10-05 17:57                   ` Suvayu Ali
                                     ` (2 more replies)
  2012-10-05 22:58                 ` Tima
       [not found]                 ` <mailman.10367.1349448910.855.help-gnu-emacs@gnu.org>
  2 siblings, 3 replies; 42+ messages in thread
From: Tom @ 2012-10-05 14:49 UTC (permalink / raw)
  To: help-gnu-emacs

Óscar Fuentes <ofv <at> wanadoo.es> writes:
> 
> Emacs has partial support for some of those features, with CEDET always
> shining on the horizon, but instead of catching up with other IDEs as
> time passes, it is falling behind.
> 

The Eclipse developers should be persuaded somehow to separate
the completion/refactoring stuff into a separate library. Is 
there a reason why this part is tied to their GUI editor? If it
were a separate library then any editor could use it, not just 
Eclipse.






^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-04 16:48 IDE versus emacs Wally Lepore
  2012-10-04 17:26 ` Eli Zaretskii
@ 2012-10-05 17:00 ` Ken Goldman
  1 sibling, 0 replies; 42+ messages in thread
From: Ken Goldman @ 2012-10-05 17:00 UTC (permalink / raw)
  To: help-gnu-emacs

On 10/4/2012 12:48 PM, Wally Lepore wrote:
>
> Text Editor: emacs
> GUI Builder: GTK+2 or Glade
> Compiler: MinGW
> Debugger: ?

gdb

> Linker: ?
> Standard "C" Library: ?

come with Windows

At some point, you want to get 'make', which automates the compile/link 
steps.  Any serious project needs a build program.

~~

This is heresy on an emacs list (hence the private email), but I don't 
think emacs is a very good debugger.  I certainly use it for all my 
editing in all languages, but not for debugging.

On Windows, I use either Eclipse or MS Visual C++.  Both have a learning 
curve and some setup for each project, but then they work well.

On Linux, I use ddd (a GUI front end to gdb.)  The UI isn't as polished 
as the Windows programs, but it requires zero configuration.





^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-05 14:49                 ` Tom
@ 2012-10-05 17:57                   ` Suvayu Ali
  2012-10-05 18:16                     ` Tom
  2012-10-05 18:40                   ` Óscar Fuentes
  2012-10-06  8:39                   ` Philipp Haselwarter
  2 siblings, 1 reply; 42+ messages in thread
From: Suvayu Ali @ 2012-10-05 17:57 UTC (permalink / raw)
  To: help-gnu-emacs

On Fri, Oct 05, 2012 at 02:49:47PM +0000, Tom wrote:
> Óscar Fuentes <ofv <at> wanadoo.es> writes:
> > 
> > Emacs has partial support for some of those features, with CEDET always
> > shining on the horizon, but instead of catching up with other IDEs as
> > time passes, it is falling behind.
> > 
> 
> The Eclipse developers should be persuaded somehow to separate
> the completion/refactoring stuff into a separate library. Is 
> there a reason why this part is tied to their GUI editor? If it
> were a separate library then any editor could use it, not just 
> Eclipse.
> 

I believe there is a project (led by some Google engineers) to have code
completion using clang based servers for editors like Vim and Emacs.
Phoronix reported on it a while back.

-- 
Suvayu

Open source is the future. It sets us free.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-05 17:57                   ` Suvayu Ali
@ 2012-10-05 18:16                     ` Tom
  0 siblings, 0 replies; 42+ messages in thread
From: Tom @ 2012-10-05 18:16 UTC (permalink / raw)
  To: help-gnu-emacs

Suvayu Ali <fatkasuvayu+linux <at> gmail.com> writes:
> 
> I believe there is a project (led by some Google engineers) to have code
> completion using clang based servers for editors like Vim and Emacs.
> Phoronix reported on it a while back.
> 

But clang does only C/C++ and stuff, doesn't it? Eclipse has excellent
Java support and it is open source software, so it would be logical to
make the completion/refactoring engine independent of the Eclipse 
GUI, so that other FOSS editors can have access to the same level of
Java support as Eclipse has.




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-05 14:49                 ` Tom
  2012-10-05 17:57                   ` Suvayu Ali
@ 2012-10-05 18:40                   ` Óscar Fuentes
  2012-10-06  8:39                   ` Philipp Haselwarter
  2 siblings, 0 replies; 42+ messages in thread
From: Óscar Fuentes @ 2012-10-05 18:40 UTC (permalink / raw)
  To: help-gnu-emacs

Tom <adatgyujto@gmail.com> writes:

> The Eclipse developers should be persuaded somehow to separate
> the completion/refactoring stuff into a separate library. Is 
> there a reason why this part is tied to their GUI editor? If it
> were a separate library then any editor could use it, not just 
> Eclipse.

Right. Something similar is mostly done for C# on Windows. Idebridge [1]
uses the SharpDevelop libraries for smart code completion and online
documentation. It works quite well once you patch it a bit (see the
Issues page on the project database)

1: http://code.google.com/p/idebridge/




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-05 14:23               ` Óscar Fuentes
  2012-10-05 14:49                 ` Tom
@ 2012-10-05 22:58                 ` Tima
  2012-10-05 23:05                   ` Jai Dayal
  2012-10-06  4:17                   ` Bob Proulx
       [not found]                 ` <mailman.10367.1349448910.855.help-gnu-emacs@gnu.org>
  2 siblings, 2 replies; 42+ messages in thread
From: Tima @ 2012-10-05 22:58 UTC (permalink / raw)
  To: help-gnu-emacs


On Oct 5, 2012, at 7:23 AM, Óscar Fuentes wrote:

> Emacs has partial support for some of those features, with CEDET always
> shining on the horizon, but instead of catching up with other IDEs as
> time passes, it is falling behind.

The programming feature I miss most in emacs is the code browsing: jump to the definition of a method, function, class, variable, and jump back to the original position. I tried to configure CEDET to do this, but have not succeeded so far.

Before drilling into CEDET, I would like to ask whether I'm looking at the right direction. What is the recommended tool for the code browsing in emacs? It should understand the language context, but strictly speaking I do not need any other features that CEDET provides.

Thank you,
--Tima


^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-05 22:58                 ` Tima
@ 2012-10-05 23:05                   ` Jai Dayal
  2012-10-06  4:17                   ` Bob Proulx
  1 sibling, 0 replies; 42+ messages in thread
From: Jai Dayal @ 2012-10-05 23:05 UTC (permalink / raw)
  To: Tima; +Cc: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 1089 bytes --]

 I've always done it in CEDET via the semantic features (semantic-fast-jump
or something... i have it binded now)....

You can also use cscopes to do this and use that via emacs.

Jai


On Fri, Oct 5, 2012 at 6:58 PM, Tima <tima.vaisburd@gmail.com> wrote:

>
> On Oct 5, 2012, at 7:23 AM, Óscar Fuentes wrote:
>
> > Emacs has partial support for some of those features, with CEDET always
> > shining on the horizon, but instead of catching up with other IDEs as
> > time passes, it is falling behind.
>
> The programming feature I miss most in emacs is the code browsing: jump to
> the definition of a method, function, class, variable, and jump back to the
> original position. I tried to configure CEDET to do this, but have not
> succeeded so far.
>
> Before drilling into CEDET, I would like to ask whether I'm looking at the
> right direction. What is the recommended tool for the code browsing in
> emacs? It should understand the language context, but strictly speaking I
> do not need any other features that CEDET provides.
>
> Thank you,
> --Tima
>

[-- Attachment #2: Type: text/html, Size: 1409 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-05 22:58                 ` Tima
  2012-10-05 23:05                   ` Jai Dayal
@ 2012-10-06  4:17                   ` Bob Proulx
  2012-10-06  5:43                     ` Tima
  1 sibling, 1 reply; 42+ messages in thread
From: Bob Proulx @ 2012-10-06  4:17 UTC (permalink / raw)
  To: help-gnu-emacs

Tima wrote:
> The programming feature I miss most in emacs is the code browsing:
> jump to the definition of a method, function, class, variable, and
> jump back to the original position. I tried to configure CEDET to do
> this, but have not succeeded so far.

I have always used TAGs tables created using the etags comand for
this.  Then M-. , C-x 5 . and so forth.  Then I usually M-*
pop-tag-mark or pop-global-mark or some such to return.  In the Emacs
manual this is described in the "Tags Tables" section.

Bob



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-06  4:17                   ` Bob Proulx
@ 2012-10-06  5:43                     ` Tima
  2012-10-06  7:01                       ` Eli Zaretskii
       [not found]                       ` <mailman.10421.1349506938.855.help-gnu-emacs@gnu.org>
  0 siblings, 2 replies; 42+ messages in thread
From: Tima @ 2012-10-06  5:43 UTC (permalink / raw)
  To: help-gnu-emacs


On Oct 5, 2012, at 9:17 PM, Bob Proulx wrote:

> Tima wrote:
>> The programming feature I miss most in emacs is the code browsing:
>> jump to the definition of a method, function, class, variable, and
>> jump back to the original position. I tried to configure CEDET to do
>> this, but have not succeeded so far.
> 
> I have always used TAGs tables created using the etags comand for
> this.  Then M-. , C-x 5 . and so forth.

Yes, I used TAGs in the past. Well documented in the emacs manual and works as expected.

I remember it could not always find the definition though. I think to get on par with what people called "IDE" the tag system has to understand the language semantics. And this, as Jai said,  is indeed what Semantic (a part of CEDET) claims to do.  I was wondering whether it is the state of the art or there is a simpler and better successor.

--Tima


^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-06  5:43                     ` Tima
@ 2012-10-06  7:01                       ` Eli Zaretskii
  2012-10-19  7:55                         ` Steinar Bang
       [not found]                       ` <mailman.10421.1349506938.855.help-gnu-emacs@gnu.org>
  1 sibling, 1 reply; 42+ messages in thread
From: Eli Zaretskii @ 2012-10-06  7:01 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Tima <tima.vaisburd@gmail.com>
> Date: Fri, 5 Oct 2012 22:43:56 -0700
> 
> > I have always used TAGs tables created using the etags comand for
> > this.  Then M-. , C-x 5 . and so forth.
> 
> Yes, I used TAGs in the past. Well documented in the emacs manual and works as expected.
> 
> I remember it could not always find the definition though. I think to get on par with what people called "IDE" the tag system has to understand the language semantics. And this, as Jai said,  is indeed what Semantic (a part of CEDET) claims to do.  I was wondering whether it is the state of the art or there is a simpler and better successor.

At least in C and C++, tags never miss a definition for me.  My only
problem with tags is that they sometimes show me more definitions
other than what I had in mind that match the symbol I type, either
because of case insensitivity or because of partial matches.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
       [not found]                 ` <mailman.10367.1349448910.855.help-gnu-emacs@gnu.org>
@ 2012-10-06  7:42                   ` Vagn Johansen
  0 siblings, 0 replies; 42+ messages in thread
From: Vagn Johansen @ 2012-10-06  7:42 UTC (permalink / raw)
  To: help-gnu-emacs

Tom <adatgyujto@gmail.com> writes:

> The Eclipse developers should be persuaded somehow to separate
> the completion/refactoring stuff into a separate library. Is 
> there a reason why this part is tied to their GUI editor? If it
> were a separate library then any editor could use it, not just 
> Eclipse.

http://eclim.org/

http://www.emacswiki.org/emacs/EmacsEclim

I have not tried it.

-- 
Vagn Johansen


^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
       [not found]                       ` <mailman.10421.1349506938.855.help-gnu-emacs@gnu.org>
@ 2012-10-06  7:56                         ` Vagn Johansen
  2012-10-06  8:33                           ` Eli Zaretskii
                                             ` (2 more replies)
  0 siblings, 3 replies; 42+ messages in thread
From: Vagn Johansen @ 2012-10-06  7:56 UTC (permalink / raw)
  To: help-gnu-emacs

Eli Zaretskii <eliz@gnu.org> writes:

>> I remember it could not always find the definition though. I think
>> to get on par with what people called "IDE" the tag system has to
>> understand the language semantics. And this, as Jai said, is indeed
>> what Semantic (a part of CEDET) claims to do.  I was wondering
>> whether it is the state of the art or there is a simpler and better
>> successor.
>
> At least in C and C++, tags never miss a definition for me.  My only
> problem with tags is that they sometimes show me more definitions
> other than what I had in mind that match the symbol I type, either
> because of case insensitivity or because of partial matches.

Is the TAGS format extensible so a new fields could be added?

It would useful if the identifiers were tagged (pun intended) with the
the "type": class, method, static function, constant etc.

For example find-tag could then support a customized
find-first/find-next order (eg. class first).

You could also use it to make the function guess-class-name-at-point. I
have previously needed this for my tempo expansions for C++ member
functions.

-- 
Vagn Johansen


^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-06  7:56                         ` Vagn Johansen
@ 2012-10-06  8:33                           ` Eli Zaretskii
       [not found]                           ` <mailman.10424.1349512497.855.help-gnu-emacs@gnu.org>
  2012-10-09 12:48                           ` Doug Lewan
  2 siblings, 0 replies; 42+ messages in thread
From: Eli Zaretskii @ 2012-10-06  8:33 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Vagn Johansen <gonz808@hotmail.com>
> Date: Sat, 06 Oct 2012 09:56:42 +0200
> 
> Is the TAGS format extensible so a new fields could be added?

You'd need to update the etags program for that, and also the Lisp
commands that access TAGS and operate on it.

> It would useful if the identifiers were tagged (pun intended) with the
> the "type": class, method, static function, constant etc.
> 
> For example find-tag could then support a customized
> find-first/find-next order (eg. class first).
> 
> You could also use it to make the function guess-class-name-at-point. I
> have previously needed this for my tempo expansions for C++ member
> functions.

If you are talking about C++, Emacs already comes with a program
called 'ebrowse' and a matching set of Emacs commands, which I think
are supposed to support all that already.  I suggest to read the
ebrowse manual (bundled with Emacs) and see if you can put that to
good use.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-05 14:49                 ` Tom
  2012-10-05 17:57                   ` Suvayu Ali
  2012-10-05 18:40                   ` Óscar Fuentes
@ 2012-10-06  8:39                   ` Philipp Haselwarter
  2012-10-06 18:13                     ` Tom
  2 siblings, 1 reply; 42+ messages in thread
From: Philipp Haselwarter @ 2012-10-06  8:39 UTC (permalink / raw)
  To: help-gnu-emacs

On Fri, Oct 05 2012 16:49 (@1349448587), Tom wrote:

> Óscar Fuentes <ofv <at> wanadoo.es> writes:
>> 
>> Emacs has partial support for some of those features, with CEDET always
>> shining on the horizon, but instead of catching up with other IDEs as
>> time passes, it is falling behind.
>> 
>
> The Eclipse developers should be persuaded somehow to separate
> the completion/refactoring stuff into a separate library. Is 
> there a reason why this part is tied to their GUI editor? If it
> were a separate library then any editor could use it, not just 
> Eclipse.

That would be Eclipse headless. Check out eclim.

-- 
Philipp Haselwarter




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
       [not found]                           ` <mailman.10424.1349512497.855.help-gnu-emacs@gnu.org>
@ 2012-10-06 12:09                             ` Vagn Johansen
  2012-10-06 12:53                               ` Eli Zaretskii
  0 siblings, 1 reply; 42+ messages in thread
From: Vagn Johansen @ 2012-10-06 12:09 UTC (permalink / raw)
  To: help-gnu-emacs

Eli Zaretskii <eliz@gnu.org> writes:

>> It would useful if the identifiers were tagged (pun intended) with the
>> the "type": class, method, static function, constant etc.
>> 
>> For example find-tag could then support a customized
>> find-first/find-next order (eg. class first).
>> 
>> You could also use it to make the function guess-class-name-at-point. I
>> have previously needed this for my tempo expansions for C++ member
>> functions.
>
> If you are talking about C++, Emacs already comes with a program
> called 'ebrowse' and a matching set of Emacs commands, which I think
> are supposed to support all that already.  I suggest to read the
> ebrowse manual (bundled with Emacs) and see if you can put that to
> good use.
>

I triede ebrowse when it came out. It is a flop and no one uses/talks
about it anymore. It might as well be removed from Emacs.

CEDET/Semantic is the new hotness. I try it every 2 years for a short
while. It always ends up slowing down my Emacs with various lockups
because of all the parsing it does. Perhaps it works better in 24.3?

I am not specifically talking about C++, that what just an example. I
would like see the TAGS file extended with a "type" field so that my
imagined guess-class-name-at-point function would work for *all*
programming languages. It would be nice if Emacs had a generic API(*)
for semantic information so that for example auto completion system
could be written without specific knowledge of the major-mode (~
programming language).

*) guess-class-name-at-point, find-class-for-identifier-at-point, etc.

-- 
Vagn Johansen


^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-06 12:09                             ` Vagn Johansen
@ 2012-10-06 12:53                               ` Eli Zaretskii
  0 siblings, 0 replies; 42+ messages in thread
From: Eli Zaretskii @ 2012-10-06 12:53 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Vagn Johansen <gonz808@hotmail.com>
> Date: Sat, 06 Oct 2012 14:09:27 +0200
> 
> I triede ebrowse when it came out. It is a flop and no one uses/talks
> about it anymore. It might as well be removed from Emacs.

It works for me.  If it doesn't for you, how about reporting bugs?



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-06  8:39                   ` Philipp Haselwarter
@ 2012-10-06 18:13                     ` Tom
  0 siblings, 0 replies; 42+ messages in thread
From: Tom @ 2012-10-06 18:13 UTC (permalink / raw)
  To: help-gnu-emacs

Philipp Haselwarter <philipp <at> haselwarter.org> writes:
> >
> > The Eclipse developers should be persuaded somehow to separate
> > the completion/refactoring stuff into a separate library. Is 
> > there a reason why this part is tied to their GUI editor? If it
> > were a separate library then any editor could use it, not just 
> > Eclipse.
> 
> That would be Eclipse headless. Check out eclim.
> 

Yes, Eclim is a good workaround, but it's not the same thing
as having a separate library in the official Eclipse tree. As far as I
know Eclim supports only a subset of Eclipse features. If the
completing/refactoring part were officially an independent 
part of Eclipse then its interface would support all available
features (because the Eclipse IDE would also use this interface),
so it would only be the matter of creating an Emacs interface to
have all the features available in Emacs.

Currently, eclim is an outside effort to gain access to Eclipse
features, therefore it lags behind Eclipse and does not support
all features, probably because of lack of resources which would
not be a problem if separating the language intelligence part
was done within the Eclipse project itself in the first place.




^ permalink raw reply	[flat|nested] 42+ messages in thread

* RE: IDE versus emacs
  2012-10-06  7:56                         ` Vagn Johansen
  2012-10-06  8:33                           ` Eli Zaretskii
       [not found]                           ` <mailman.10424.1349512497.855.help-gnu-emacs@gnu.org>
@ 2012-10-09 12:48                           ` Doug Lewan
  2 siblings, 0 replies; 42+ messages in thread
From: Doug Lewan @ 2012-10-09 12:48 UTC (permalink / raw)
  To: Vagn Johansen, help-gnu-emacs@gnu.org

I recently discovered that CYGWIN delivers "Exuberant Ctags" (Yes, etags too.) and it is used instead of emacs' etags. (GPL, available at http://ctags.sourceforge.net.)

Exuberant Ctags can be extended to look for other things via regular expression. It is a wonderful thing!

I can now look for tags in my shell code to by running: 
    etags --langdef=shell --regex-shell='/function [_[:alnum:]]+/[_[:alnum:]]+/' --language-force=shell
(Unfortunate side-effect: That can also pick up comments, so I also have to fix things:
    sed -n -e '/#/d' -ep < TAGS > TTT && mv TTT TAGS
Oh, well.)
Shell programming is suddenly almost pleasant!

,Doug

> -----Original Message-----
> From: help-gnu-emacs-bounces+dougl=shubertticketing.com@gnu.org
> [mailto:help-gnu-emacs-bounces+dougl=shubertticketing.com@gnu.org] On
> Behalf Of Vagn Johansen
> Sent: Saturday, 2012 October 06 03:57
> To: help-gnu-emacs@gnu.org
> Subject: Re: IDE versus emacs
>  
> Is the TAGS format extensible so a new fields could be added?
> 
> It would useful if the identifiers were tagged (pun intended) with the
> the "type": class, method, static function, constant etc.
> 
> For example find-tag could then support a customized
> find-first/find-next order (eg. class first).
> 
> You could also use it to make the function guess-class-name-at-point. I
> have previously needed this for my tempo expansions for C++ member
> functions.
> 
> --
> Vagn Johansen



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-06  7:01                       ` Eli Zaretskii
@ 2012-10-19  7:55                         ` Steinar Bang
  2012-10-19 16:27                           ` Sohail Somani
  2012-10-19 16:42                           ` Eli Zaretskii
  0 siblings, 2 replies; 42+ messages in thread
From: Steinar Bang @ 2012-10-19  7:55 UTC (permalink / raw)
  To: help-gnu-emacs

>>>>> Eli Zaretskii <eliz@gnu.org>:

> At least in C and C++, tags never miss a definition for me.  My only
> problem with tags is that they sometimes show me more definitions
> other than what I had in mind that match the symbol I type, either
> because of case insensitivity or because of partial matches.

Can tags filter out those symbols that would match what you're typing,
but aren't reachable from the point in the code where you are typing?



^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-19  7:55                         ` Steinar Bang
@ 2012-10-19 16:27                           ` Sohail Somani
  2012-10-19 17:22                             ` Drew Adams
  2012-10-19 16:42                           ` Eli Zaretskii
  1 sibling, 1 reply; 42+ messages in thread
From: Sohail Somani @ 2012-10-19 16:27 UTC (permalink / raw)
  To: help-gnu-emacs

On 19/10/2012 3:55 AM, Steinar Bang wrote:
>>>>>> Eli Zaretskii <eliz@gnu.org>:
>
>> At least in C and C++, tags never miss a definition for me.  My only
>> problem with tags is that they sometimes show me more definitions
>> other than what I had in mind that match the symbol I type, either
>> because of case insensitivity or because of partial matches.
>
> Can tags filter out those symbols that would match what you're typing,
> but aren't reachable from the point in the code where you are typing?

No. tags is mostly horrible. I can only use it for finding definitions 
and even that, only sometimes. Modern C++ codebases (lots of templates) 
just do not do well with tags.




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-19  7:55                         ` Steinar Bang
  2012-10-19 16:27                           ` Sohail Somani
@ 2012-10-19 16:42                           ` Eli Zaretskii
  2012-11-02  8:27                             ` Steinar Bang
  1 sibling, 1 reply; 42+ messages in thread
From: Eli Zaretskii @ 2012-10-19 16:42 UTC (permalink / raw)
  To: help-gnu-emacs

> From: Steinar Bang <sb@dod.no>
> Date: Fri, 19 Oct 2012 09:55:07 +0200
> 
> >>>>> Eli Zaretskii <eliz@gnu.org>:
> 
> > At least in C and C++, tags never miss a definition for me.  My only
> > problem with tags is that they sometimes show me more definitions
> > other than what I had in mind that match the symbol I type, either
> > because of case insensitivity or because of partial matches.
> 
> Can tags filter out those symbols that would match what you're typing,
> but aren't reachable from the point in the code where you are typing?

I don't understand the question.  Tags don't "match symbols", they
show you the definition of the symbol.  That definition is not related
to scope.



^ permalink raw reply	[flat|nested] 42+ messages in thread

* RE: IDE versus emacs
  2012-10-19 16:27                           ` Sohail Somani
@ 2012-10-19 17:22                             ` Drew Adams
  2012-10-19 17:40                               ` Sohail Somani
  0 siblings, 1 reply; 42+ messages in thread
From: Drew Adams @ 2012-10-19 17:22 UTC (permalink / raw)
  To: 'Sohail Somani', help-gnu-emacs

> No. tags is mostly horrible. I can only use it for finding 
> definition and even that, only sometimes. Modern C++
> codebases (lots of templates) just do not do well with tags.

Not to disagree, but I would just like to point out where (I think) the real
problem is.  It is not with the Emacs tags mechanism or with the ability to look
up and navigate among tags.  It is with the generation of the TAGS file.

Emacs tags can really be anything at all.  The mechanism is quite general.  The
term "definition" is appropriate for most existing tags: what is indexed are in
fact definitions of functions, structs, whatever.

But that need not be the case.  Really, anything at all can be indexed.  And
tags need not even be limited to programming languages - you could tag a
thesaurus or Shakespeare's works in various ways, if you wanted to.

So what's needed (again, just trying to clarify) are programs to generate tags
(i.e. a TAGS file) that are appropriate for your use.  No doubt the existing
tag-generating programs (ctags, etags, ...) are too limited at present to index
the kinds of things you and others would like.

That's where I think the problem lies.  And guess what?  AFAIK, that has very
little to do with Emacs (see below).

Think of that as an opportunity (for Someone(TM)) to write a program that
generates a more useful TAGS file for your context/environment.  Once that's
done, I expect that you will find the existing Emacs tags mechanism and
navigation among your (appropriate) tags to be satisfactory.

Yes, there are other limitations, which you hinted at by mentioning wanting to
limit searches based on your current context.  There is currently no way AFAIK
to filter a set of candidate tags to those you might consider appropriate based
on where you are currently.

But that could be done, and it probably would not be difficult to do, depending
on precisely what you mean.  It is trivial to get hold of all of the tags
matching your input and filter those - you just need to be able to define that
filtering, based on your context and what you mean/want.  That, at least, is an
Emacs-Lisp job, unlike the rest of what I expect is needed for you.

(Of course, prefiltering, i.e., limiting the tags to search before matching your
input (presumably for better performance), could be more involved.)

One design limitation of the tags mechanism is that a TAGS file is a static
snapshot, which might not be up-to-date when you use it.  Navigating to existing
tag locations is typically not a problem, even if the file is not up-to-date.
But being out of date means that it does not index thingies that were created
after the file was generated, obviously.  

This is an inherent limitation, but of course the TAGS file can be regenerated
on demand, provided users have the program to do so.

The Emacs tags mechanism is pretty good, I think.  The main thing that's missing
for you is an up-to-date program that generates tags for the kinds of things you
are interested in.

That really has little to do with Emacs itself (depending on one's point of
view), and it just awaits some interested programmer to get 'er done.

To do that requires knowledge of your programming language (syntax, and
semantics to some extent).  And it requires general programming knowledge to
write the program (e.g. a program somewhat like etags).  And it requires
knowledge of the TAGS file structure.  And it requires some time and motivation.

But AFAIK it does not really require any knowledge of Emacs or Emacs Lisp.
That's why I say that it in fact has little to do with Emacs itself.

Of course, Emacs _users_ like yourself will be grateful, once it's done.  Since
we see such complaints here from time to time, perhaps this task would make a
good school, or summer of code, project.  Dunno.

One part of the task would be deciding just what it is that you would like to
index, for what languages, etc.  IOW, specify the requirements.




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-19 17:22                             ` Drew Adams
@ 2012-10-19 17:40                               ` Sohail Somani
  2012-10-19 17:54                                 ` Brandon Betances
  2012-10-20  6:01                                 ` Tom
  0 siblings, 2 replies; 42+ messages in thread
From: Sohail Somani @ 2012-10-19 17:40 UTC (permalink / raw)
  To: help-gnu-emacs

On 19/10/2012 1:22 PM, Drew Adams wrote:
> One design limitation of the tags mechanism is that a TAGS file is a static
> snapshot, which might not be up-to-date when you use it.  Navigating to existing
> tag locations is typically not a problem, even if the file is not up-to-date.
> But being out of date means that it does not index thingies that were created
> after the file was generated, obviously.

I agree with everything you have said and here is what I do to keep my 
TAGS file up to date:

   http://paste.lisp.org/display/132935

It requires the use of prosjekt. When the project is opened, TAGS are 
re-generated and whenever a file is saved, that TAGS file is updated.

Good enough for me most of the time, but yeah, it would be beyond 
awesome if Someone (TM) would use clang or something that understands 
C++ better to generate the TAGS files...

Sohail




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-19 17:40                               ` Sohail Somani
@ 2012-10-19 17:54                                 ` Brandon Betances
  2012-10-20  6:01                                 ` Tom
  1 sibling, 0 replies; 42+ messages in thread
From: Brandon Betances @ 2012-10-19 17:54 UTC (permalink / raw)
  To: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 213 bytes --]

> Good enough for me most of the time, but yeah, it would be beyond awesome
if Someone (TM) would use clang or something that understands C++ better to
generate the TAGS

Sounds like you have a lot of work to do.

[-- Attachment #2: Type: text/html, Size: 230 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-19 17:40                               ` Sohail Somani
  2012-10-19 17:54                                 ` Brandon Betances
@ 2012-10-20  6:01                                 ` Tom
  2012-10-20 14:07                                   ` Jai Dayal
  1 sibling, 1 reply; 42+ messages in thread
From: Tom @ 2012-10-20  6:01 UTC (permalink / raw)
  To: help-gnu-emacs

Sohail Somani <sohail <at> taggedtype.net> writes:
> 
> Good enough for me most of the time, but yeah, it would be beyond 
> awesome if Someone (TM) would use clang or something that understands 
> C++ better to generate the TAGS files...
> 

As an alternative you can give a try to eclim. It supports the 
following features for C++:


Context sensitive code completion.
Searching.
Source code validation.

http://eclim.org/features.html


AFAIK the emacs eclim interface supports only Java currently,
but if you know Elisp then it should not be hard to add
C++ too (the infrastructure is there, you only have to add
the calls for the C++ commands of the eclim interface).




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-20  6:01                                 ` Tom
@ 2012-10-20 14:07                                   ` Jai Dayal
  2012-10-20 14:55                                     ` Tom
  0 siblings, 1 reply; 42+ messages in thread
From: Jai Dayal @ 2012-10-20 14:07 UTC (permalink / raw)
  To: Tom; +Cc: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 805 bytes --]

Isn't this for Vim????

On Sat, Oct 20, 2012 at 2:01 AM, Tom <adatgyujto@gmail.com> wrote:

> Sohail Somani <sohail <at> taggedtype.net> writes:
> >
> > Good enough for me most of the time, but yeah, it would be beyond
> > awesome if Someone (TM) would use clang or something that understands
> > C++ better to generate the TAGS files...
> >
>
> As an alternative you can give a try to eclim. It supports the
> following features for C++:
>
>
> Context sensitive code completion.
> Searching.
> Source code validation.
>
> http://eclim.org/features.html
>
>
> AFAIK the emacs eclim interface supports only Java currently,
> but if you know Elisp then it should not be hard to add
> C++ too (the infrastructure is there, you only have to add
> the calls for the C++ commands of the eclim interface).
>
>
>

[-- Attachment #2: Type: text/html, Size: 1300 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-20 14:07                                   ` Jai Dayal
@ 2012-10-20 14:55                                     ` Tom
  2012-10-20 15:07                                       ` Jai Dayal
  0 siblings, 1 reply; 42+ messages in thread
From: Tom @ 2012-10-20 14:55 UTC (permalink / raw)
  To: help-gnu-emacs

Jai Dayal <dayalsoap <at> gmail.com> writes:
> 
> Isn't this for Vim????

Originally it is, but the frontend is separated from the backend,
so any editor can implement a frontend for it.

Here's the emacs frontend:

https://github.com/senny/emacs-eclim

It is quite usable, especially for Java, but it does not implement
all the features of eclim, so it can even be better if people
help out.

The emacs-eclim authors welcome contributions, see the bottom of
the page at the above link.

Here are the full list of eclim features from which only the Java-related
things are implemented in emacs and not all of those either, so those who
know elisp can help making emacs-eclim better:

http://eclim.org/features.html




^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-20 14:55                                     ` Tom
@ 2012-10-20 15:07                                       ` Jai Dayal
  0 siblings, 0 replies; 42+ messages in thread
From: Jai Dayal @ 2012-10-20 15:07 UTC (permalink / raw)
  To: Tom; +Cc: help-gnu-emacs

[-- Attachment #1: Type: text/plain, Size: 1398 bytes --]

Okay, eclim looks interesting.

All I really want is the following:

Our group has a set of C "projects", and some of them build off of each
other (for example, there's ffs, atl, genthread, and evpath requires the
previous 3.. something like that).  When i come across a struct or
something, I just want to be able to jump to it.. I used to be able to do
it (only within a specific project though.. evpath could only jump to
evpath things), but is there a way via CEDET and semantic to do this?  I
feel like I should be able to set it up, I just don't know how...

Jai

On Sat, Oct 20, 2012 at 10:55 AM, Tom <adatgyujto@gmail.com> wrote:

> Jai Dayal <dayalsoap <at> gmail.com> writes:
> >
> > Isn't this for Vim????
>
> Originally it is, but the frontend is separated from the backend,
> so any editor can implement a frontend for it.
>
> Here's the emacs frontend:
>
> https://github.com/senny/emacs-eclim
>
> It is quite usable, especially for Java, but it does not implement
> all the features of eclim, so it can even be better if people
> help out.
>
> The emacs-eclim authors welcome contributions, see the bottom of
> the page at the above link.
>
> Here are the full list of eclim features from which only the Java-related
> things are implemented in emacs and not all of those either, so those who
> know elisp can help making emacs-eclim better:
>
> http://eclim.org/features.html
>
>
>

[-- Attachment #2: Type: text/html, Size: 1994 bytes --]

^ permalink raw reply	[flat|nested] 42+ messages in thread

* Re: IDE versus emacs
  2012-10-19 16:42                           ` Eli Zaretskii
@ 2012-11-02  8:27                             ` Steinar Bang
  0 siblings, 0 replies; 42+ messages in thread
From: Steinar Bang @ 2012-11-02  8:27 UTC (permalink / raw)
  To: help-gnu-emacs

>>>>> Eli Zaretskii <eliz@gnu.org>:

>> From: Steinar Bang <sb@dod.no>

>> Can tags filter out those symbols that would match what you're
>> typing, but aren't reachable from the point in the code where you are
>> typing?

> I don't understand the question.  Tags don't "match symbols", they
> show you the definition of the symbol.  That definition is not related
> to scope.

I was thinking of something along the lines of what eclipse does with
Java files: when you type, it suggests symbols from what's currently
available (depending on scope and what you are doing) and what matches
what you have typed so far.

I have used tags for navigation only, not for helping create new code.



^ permalink raw reply	[flat|nested] 42+ messages in thread

end of thread, other threads:[~2012-11-02  8:27 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-10-04 16:48 IDE versus emacs Wally Lepore
2012-10-04 17:26 ` Eli Zaretskii
2012-10-04 19:41   ` Wally Lepore
2012-10-04 20:19     ` v.plechinger
2012-10-04 21:41       ` Wally Lepore
2012-10-05  2:34       ` Óscar Fuentes
2012-10-04 20:20     ` Eli Zaretskii
2012-10-04 22:16       ` Wally Lepore
2012-10-04 23:46         ` Brandon Betances
2012-10-05  2:10           ` Wally Lepore
2012-10-05  2:22           ` Óscar Fuentes
2012-10-05  2:24             ` Jai Dayal
     [not found]             ` <CALDXikp5_sXOh23jBNBS=dfxzZBT2FuTMphdYDbuq-Qg07vTNg@mail.gmail.com>
2012-10-05 14:23               ` Óscar Fuentes
2012-10-05 14:49                 ` Tom
2012-10-05 17:57                   ` Suvayu Ali
2012-10-05 18:16                     ` Tom
2012-10-05 18:40                   ` Óscar Fuentes
2012-10-06  8:39                   ` Philipp Haselwarter
2012-10-06 18:13                     ` Tom
2012-10-05 22:58                 ` Tima
2012-10-05 23:05                   ` Jai Dayal
2012-10-06  4:17                   ` Bob Proulx
2012-10-06  5:43                     ` Tima
2012-10-06  7:01                       ` Eli Zaretskii
2012-10-19  7:55                         ` Steinar Bang
2012-10-19 16:27                           ` Sohail Somani
2012-10-19 17:22                             ` Drew Adams
2012-10-19 17:40                               ` Sohail Somani
2012-10-19 17:54                                 ` Brandon Betances
2012-10-20  6:01                                 ` Tom
2012-10-20 14:07                                   ` Jai Dayal
2012-10-20 14:55                                     ` Tom
2012-10-20 15:07                                       ` Jai Dayal
2012-10-19 16:42                           ` Eli Zaretskii
2012-11-02  8:27                             ` Steinar Bang
     [not found]                       ` <mailman.10421.1349506938.855.help-gnu-emacs@gnu.org>
2012-10-06  7:56                         ` Vagn Johansen
2012-10-06  8:33                           ` Eli Zaretskii
     [not found]                           ` <mailman.10424.1349512497.855.help-gnu-emacs@gnu.org>
2012-10-06 12:09                             ` Vagn Johansen
2012-10-06 12:53                               ` Eli Zaretskii
2012-10-09 12:48                           ` Doug Lewan
     [not found]                 ` <mailman.10367.1349448910.855.help-gnu-emacs@gnu.org>
2012-10-06  7:42                   ` Vagn Johansen
2012-10-05 17:00 ` Ken Goldman

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).