Remy Horton | 19 Jun 16:41 2015

Bug: Auto-completion of a local variable for a system function messes up.

'noon,

I was using the devel version of CEDIT (git commit 45e9545c25ae9489c7e401012d9d2876fac75bb1) with Emacs 24.3.1 and came across the following auto-completion error. Given this sample C code:

#include <stdio.h>
#include <stdlib.h>
int foo()
{
int idProcess2 = 42;
int idProcess3 = 43;
int idProcess4 = 44;
printf(">%i\n", idPr
return 0;
}

If semantic-ia-complete-symbol-menu is used to complete idPr, the result is the following:

#include <stdio.h>
#include <stdlib.h>
int foo()
{
int idProcess2 = 42;
int idProcess3 = 43;
idProcess2int idProcess4 = 44;
printf(">%i\n", 
return 0;
}
        
However, if the headers are commented out, or if I was to misspell printf so that it did not match anything in the headers, idPr is auto-competed as expected. I suspect the lookup that goes into the headers is clobbering something, but I know minimal Lisp so couldn't track down the root cause..

Regards,

..Remy




------------------------------------------------------------------------------
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Alastair Rankine | 13 Jun 19:53 2015
Picon

EDE documentation

David/Eric,

I’ve just committed (finally!) the additional documentation required for compdb projects. For now
I’ve just converted the existing documentation into texinfo, and inserted it in a single section
underneath “Miscellaneous commands”. Please review and let me know any comments.

In doing this, I’ve had a few thoughts about the current documentation. More specifically, I’m not
sure that the current document structure is ideal, and I’d like to explore some alternatives.

The way I think about EDE project types is that there are two main categories. Firstly there is the
“generic” project which is the most useful when you are the creator of the project. In this case, the
Project.ede file is the canonical source of build information, and it generates the relevant Makefiles needed.

In the other category we have project types which derive their content from existing build files. My own
compdb project is an obvious example, but I think others such a Linux, Arduino, perhaps Automake, also
fall into this category. The key distinction here is that there is no canonical Project.ede file, instead
the existing build files are the source of project information.

To my mind, which EDE project type you use for a given source base depends on whether you are the owner or not.
If you are, you are free to choose the generic project type - and hence commit all of your Project.ede files
and make them part of the build process. If you are not the project owner - or you choose not to have an EDE
dependency - you may wish to use one of the non-generic (let’s call them “non-owning”) project types.

Hence in the documentation I think there should be a clear distinction between these two types of projects.
Some of us - who aren’t willing/able to commit to Project.ede files for project maintenance - aren’t
going to use the generic project type, and should be steered towards the use of ‘non-owning’ project
types. The current EDE documentation - specifically the quickstart section - pretty much assumes that
you’re going to use the generic project type.

Instead, I’d like the documentation to accomodate the following use case: as a new user of EDE, I want to be
able to set it up to work with an *existing* codebase, build system, etc. Ideally the documentation should
introduce the different types of project early in the document, and how to choose between them.

As always, I may be thinking about this completely the wrong way - in which case please feel free to enlighten me!

Cheers,

------------------------------------------------------------------------------
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Simon Brown | 28 May 18:02 2015

Creating a custom ede project.

Hi all,

I work concurrently on several copies of the same code base spread
across a few machines, which makes setting up an ede-cpp-root-project
for each one a bit tedious. I've been toying with creating an ede
project type for this code base for some time and have recently been
having another go. I'm just after code completion at the moment, nothing
fancy.

My elisp and eieio skills aren't that great though and I'm currently
stuck with an eieio error that I don't know how to debug, something is
unbound, but I don't know how to deduce what. I also don't know if I
should be concerned about the project being unsafe.

I've attached the backtrace and the elisp for the project. The elisp is
badly butchered from the linux project type. The anchor project type is
just a test code base, one include file in /include and one source file
in /src.

Any hints or suggestions?

Simon

Attachment (anchor.el): text/x-emacs-lisp, 6690 bytes
Debugger entered--Lisp error: (void-variable unbound)
  eieio-instance-tracker([object ede-anchor-project "Anchor Project" nil "Test Anchor Project" "1.0"
"~/projects/Cedet Test/" unbound "/user/simon.brown/projects/Cedet Test/include/anchor.h" nil
nil nil unbound unbound "" "" "" "" "" "" ("debug" "release") "debug" nil unbound unbound] (:name "Test
Anchor Project" :directory "~/projects/Cedet Test/" :file "/user/simon.brown/projects/Cedet Test/include/anchor.h"))
  apply(eieio-instance-tracker ([object ede-anchor-project "Anchor Project" nil "Test Anchor
Project" "1.0" "~/projects/Cedet Test/" unbound "/user/simon.brown/projects/Cedet
Test/include/anchor.h" nil nil nil unbound unbound "" "" "" "" "" "" ("debug" "release") "debug" nil
unbound unbound] (:name "Test Anchor Project" :directory "~/projects/Cedet Test/" :file
"/user/simon.brown/projects/Cedet Test/include/anchor.h")))
  eieio-generic-call(initialize-instance ([object ede-anchor-project "Anchor Project" nil "Test
Anchor Project" "1.0" "~/projects/Cedet Test/" unbound "/user/simon.brown/projects/Cedet
Test/include/anchor.h" nil nil nil unbound unbound "" "" "" "" "" "" ("debug" "release") "debug" nil
unbound unbound] (:name "Test Anchor Project" :directory "~/projects/Cedet Test/" :file
"/user/simon.brown/projects/Cedet Test/include/anchor.h")))
  initialize-instance([object ede-anchor-project "Anchor Project" nil "Test Anchor Project" "1.0"
"~/projects/Cedet Test/" unbound "/user/simon.brown/projects/Cedet Test/include/anchor.h" nil
nil nil unbound unbound "" "" "" "" "" "" ("debug" "release") "debug" nil unbound unbound] (:name "Test
Anchor Project" :directory "~/projects/Cedet Test/" :file "/user/simon.brown/projects/Cedet Test/include/anchor.h"))
  eieio-default-superclass(ede-anchor-project "Anchor Project" :name "Test Anchor Project"
:directory "~/projects/Cedet Test/" :file "/user/simon.brown/projects/Cedet Test/include/anchor.h")
  apply(eieio-default-superclass (ede-anchor-project "Anchor Project" :name "Test Anchor Project"
:directory "~/projects/Cedet Test/" :file "/user/simon.brown/projects/Cedet Test/include/anchor.h"))
  eieio-generic-call(constructor (ede-anchor-project "Anchor Project" :name "Test Anchor Project"
:directory "~/projects/Cedet Test/" :file "/user/simon.brown/projects/Cedet Test/include/anchor.h"))
  constructor(ede-anchor-project "Anchor Project" :name "Test Anchor Project" :directory
"~/projects/Cedet Test/" :file "/user/simon.brown/projects/Cedet Test/include/anchor.h")
  apply(constructor ede-anchor-project "Anchor Project" (:name "Test Anchor Project" :directory
"~/projects/Cedet Test/" :file "/user/simon.brown/projects/Cedet Test/include/anchor.h"))
  ede-anchor-project("Anchor Project" :name "Test Anchor Project" :directory "~/projects/Cedet
Test/" :file "/user/simon.brown/projects/Cedet Test/include/anchor.h")
  (let* ((rootdir (ede-anchor-root dir)) (inc-path (ede-anchor-include-path rootdir)) (proj
(ede-anchor-project "Anchor Project" :name "Test Anchor Project" :directory
(file-name-as-directory dir) :file (expand-file-name "include/anchor.h" dir)))) :include-path
(list "/flurgle" "/wargle") (ede-add-project-to-global-list proj))
  (or (ede-anchor-file-existing dir) (let* ((rootdir (ede-anchor-root dir)) (inc-path
(ede-anchor-include-path rootdir)) (proj (ede-anchor-project "Anchor Project" :name "Test Anchor
Project" :directory (file-name-as-directory dir) :file (expand-file-name "include/anchor.h"
dir)))) :include-path (list "/flurgle" "/wargle") (ede-add-project-to-global-list proj)))
  ede-anchor-load("~/projects/Cedet Test/")
  #[(this dir) "\303\304\"\204
------------------------------------------------------------------------------
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Marco Craveiro | 26 May 21:12 2015
Picon

Using Clang infrastructure to generate semantic databases

Hi Cedeters,

First, apologies if this has been discussed already, but I have
struggled with the mailinglist searches.

My emacs stalls occasionally whilst generating the semantic database
files. I am aware of the idle time approach and the ahead of time
scanning and so on, but this got me wondering: would it not make sense
to use clang to dump the semantic information directly? e.g. to write
a tool that generates the semantic files in exactly the same format as
semantic needs them. The tool could then be integrated with the build
process. The tool would have no dependencies at all on semantic (or
emacs or lisp for that matter) - other than, of course, outputting
according to the semantic file format.

Please note that I am not proposing some intermediate file format or
accessing the AST directly as mentioned in other discussions[1];
instead, I am thinking of an executable that, given a hpp or cpp file,
generates the corresponding semantic cache files. These files are
expected to be identical to those that would have been generated by
semantic itself (within reason, such as ordering, etc). The tool would
receive a path to the compilation database with all of the required
configuration.

Has anyone done such a thing - or are there reasons why this would not work?

Many thanks for your time.

Marco
--

-- 
Optimism is an occupational hazard of programming; feedback is the
treatment. -- Kent Beck

http://about.me/marcocraveiro

[1] https://lwn.net/Articles/632773/

------------------------------------------------------------------------------
Matthias Meulien | 18 May 14:40 2015
Picon

(no subject)

Hello CEDET developpers,

With the introduction of `python-shell-virtualenv-path', GNU Emacs now support Python's virtual environmento out of the box.

It looks to me that the version of CEDET coming with Emacs does not support virtual environments while resolving imports: Imported modules are search on a system wide basis even if the user as set up a virtual environment. Am I wrong?

Is this fixed in the development version? Is there anybody working on fixing this? Otherwise I will make a try...

Regards,
--
Matthias
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Tu Do | 11 May 02:59 2015
Picon

Semantic Idle Summary parsing error

Hi Eric,

Today I got this error:

Idle Service Error semantic-idle-summary-idle-function: "#<buffer hdlc_ppp.c> - Wrong type argument: stringp, (((0) \"__le16\"))"

When I was looking at this file: https://github.com/torvalds/linux/blob/master/drivers/net/wan/hdlc_ppp.c

The error happens with semantic-idle-summary-mode turned on and on any variable/function.

Regards,

Tu.
------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Oleh Krehel | 29 Apr 12:17 2015
Picon

[PATCH] Try xref-push-marker-stack instead of push-tag-mark


Hi all,

`semantic-ia-fast-jump' tries to use `push-tag-mark' if it's available.
GNU/Emacs doesn't define that function. Instead, it has
`xref-push-marker-stack' (in master).

I attach a patch to check and use that instead.  I can do more small
fixes like this if that's alright. So write access to the CEDET
repository would be useful for me. I have the copyright assignment and
all.

regards,
Oleh

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
cengiz kandemir | 21 Apr 17:42 2015
Picon

Purpose of mailing list

Hi,
Can this mailing list be used to seek help regarding CEDET problems?

Best regards.

--

-- 
Cengiz Kandemir

------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
Tu Do | 19 Apr 12:31 2015
Picon

Support for anonymous struct/union

Hi Eric,

Currently Semantic cannot return completion candidates for members in anonymous struct/union like this:

struct s {
  int a;
  int b;
  union {
     char *str;
     void *ptr;
  };
};

even though Semantic parser returns the empty name anonymous union with all of its members.

Regards,

Tu. 
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Steven Rémot | 11 Apr 15:44 2015
Picon

Plans to integrate a wisent grammar in php-mode

Hello,

some people in the PHP-Emacs sphere are showing interest in having a proper support of PHP in Semantic.

First of all, ejmr, the maintainer of php-mode, would like to integrate semantic support for PHP directly in php-mode [1]. He has been in touch with Andrea Turso, who started working on this in his personal configuration.

As I am also working on improving Semantic support for PHP, Andrea contacted my so that we can join our forces on this project.

Actually I like the plans of ejmr and Andrea. They would like to integrate in php-mode a really basic Semantic support for PHP, mainly for tagging purposes, and implement the more complex tasks (code analysis, type inference, refactoring, etc...) in external packages, using minor modes. This would allow people to have simple semantic support out of the box, and to easily get other features if needed.

In term of planning, we already thought about short and long term goals :

  • In the short term, we would work in a code base outside of CEDET and php-mode. We would implement a new grammar as close as possible to the PHP specification [2], and free of any shift/reduce - reduce/reduce conflict. This grammar would parse the whole language, so that it can be used for tagging and code analysis.
  • In the long term, we would separate basic Semantic support for tagging and more complex support for code analysis in different grammars. The basic support could be integrated in php-mode, and the other ones would be in one / several minor modes.

As there is already some code for PHP in the CEDET repository, and as the CEDET team have obviously more experience than Andrea and I in CEDET-related stuffs, we would like to know what you think about it. Do you think it is a good idea to implement Semantic support for PHP outside of CEDET repository, and to split it like that? And do you think it is technically feasible to do so?

Regards,
Steven Rémot

[1] https://github.com/ejmr/php-mode/issues/235
[2] https://github.com/php/php-langspec/blob/master/spec/19-grammar.md
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Tu Do | 10 Apr 05:57 2015
Picon

Integrate Srefactor into CEDET

Hi Eric,

I talked to Stefan Monnier about integrating the formatting commands so it can better format the Emacs Lisp backtrace. He suggests that it could be integrated into CEDET and add a hook to format the backtrace. Thinking about that, I want to integrate not just Lisp formatting commands but the whole Srefactor as well.

Is that ok with you? I already signed the FSF paper.

Regards,

Tu.
------------------------------------------------------------------------------
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel

Gmane