Alastair Rankine | 24 Mar 02:18 2015
Picon

Texinfo mode completion error

Finally trying to get some work done in texinfo mode, I came across this. Looks like it was trying to complete
an  <at> declaration…?

Debugger entered--Lisp error: (wrong-number-of-arguments #[(context) "\306\307\" <at> \310\306\311\"\235\203!
Martin Stein | 23 Mar 23:30 2015
Picon
Picon

semantic-lex-spp-project-macro-symbol-obarray in ede-cpp-root-project

Hi,

I have copied and adjusted ede-cpp-root-project for my f90 project and 
found a bug in my f90 code, which should also be present in the cpp code.

I a preprocessor macro is expaneded the expansion is placed in a 
temporary buffer and the parser is called recursively. In order to get 
the parser working properly, the mode and other stuff has to be setup 
properly. However, the variable
semantic-lex-spp-project-macro-symbol-obarray
is not set, nor is the temporary buffer likely to be recognised to 
belong to the cpp-root project.
I resolved this problem by also copying the obarray (along with 
semantic-lex-spp-dynamic-macro-symbol-obarray). From all I have seen, 
this should also be necessary for the C++ parser?

An example to demonstrate this bug could be

_macro_with_param_(_param_is_a_macro_)

where _param_is_a_macro is defined by the ede-cpp-root project (either 
map or file).

Martin

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
(Continue reading)

Matthew Fidler | 18 Mar 18:20 2015
Picon

Strange Error with eieio using ergoemacs-mode

Hi,

I'm getting strange errors when using eieio in emacs 25 for ergoemacs-mode.  I'm not sure where they are coming from.  Its in trying to clone an object.  

The backtrace is located here:


Does anyone know how to fix this issue?

Matt


------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Felician Nemeth | 16 Mar 17:25 2015
Picon

Cogre for emacs 24.4

Hi,

Emacs 24.4 is shipped with CEDET 2.0, but it doesn't contain COGRE.  The
latest stable release of CEDET (with COGRE) on Sourceforge is 1.1.

So, can you, please, tell me what are the recommended steps to install
COGRE to a relatively new Emacs?  Is there a package archive (ELPA)
where COGRE can be installed from?

Thanks in advance,
Felicián

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Tu Do | 12 Mar 19:06 2015
Picon

I created an improved version for semantic-stickyfunc-mode

I've created a package semantic-stickyfunc-enhance: https://github.com/tuhdo/semantic-stickyfunc-enhance. It is a better version of current semantic-stickyfunc-mode. Currently, semantic-stickyfunc-mode cannot handle parameters scattered on multiple lines; my version can. I will push it to MELPA once I polished the code and test it in all Semantic supported major modes. Here is a demo: http://i.imgur.com/VgJ0VDb.gifv.

I hope that once the paper with FSF is done, I can contribute this package to CEDET along with Semantic Refactor.

Regards,

Tu.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Tu Do | 10 Mar 10:49 2015
Picon

How to reload grammar file

Hi Eric,

If I change a grammar file i.e. c.by and test it, how do I reload it? Do I have to run make again?

Thanks,

Tu.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Tu Do | 9 Mar 05:39 2015
Picon

How to contribute to ECB

Hi everyone,

I think I can make some improvements to ECB. Butt what's the official repository now?

One of the change I wanted to discuss is turning incremental search off by default. Currently, we have to press a long key sequence to execute a command, i.e. "C-c . g 1" to switch to source window from the tree buffer. The only way to navigate the tree buffer is using the arrow keys and PgUp/PgDown keys that are unfavoured by most Emacs users. If we disable incremental search, we simply press "gm". The current incremental search should only be activated by pressing "C-s".

Regards,

Tu.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Alastair Rankine | 8 Mar 23:10 2015
Picon

Compdb project type for EDE committed

Hi All,

I’m happy to announce that (finally) I have committed my compdb project type for EDE. This is basically the same code as I have been maintaining as a separate package here: https://github.com/randomphrase/ede-compdb

The main changes required were to the unit tests. I gave them a bit of an overhaul, and plugged them into the cedet-utest module.

Unfortnately the buildbot went red for a couple of reasons:

a) The unit tests depend on a couple of external binaries, namely cmake and ninja. These are standard packaged tools, is there a chance they can be added to the buildbot build machines? In the meantime I’ve set the relevant tests to expected failures if these executables aren’t available.

b) For both tests and production I am using the new cl-lib library. I thought this was introduced in emacs 24.1, but in fact it arrived in 24.3. I’ve added the forward compatibility library from http://elpa.gnu.org/packages/cl-lib.html as a fallback library for those systems.

Let me know any issues with this change. I’ll be working on documentation next, but in the meantime the github link above should suffice.

Cheers,

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Tu Do | 6 Mar 10:19 2015
Picon

Semantic confuses between local variable and function with the same name

For example, if I have a local variable named "max", i.e. int max = 0; , and another function named "max", Semantic won't recognize the current max in scope as variable, but max as an external function.
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Cedet-devel mailing list
Cedet-devel <at> lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/cedet-devel
Martin Stein | 4 Mar 12:44 2015
Picon
Picon

idle parse error due to commit 496501b

After I rebased my f90 code to the current master branch and started working with it I stumbled upon the
following error which I traced to commit 496501b, so I guess the problem is not the commit itself. When I
edit a file, idle reparsing fails - sometimes. With the fortran parser it fails most of the time, but I also
saw it in lisp mode. Line
  (semantic-throw-on-input 'lex)
in lex.el (line 815) causes this problem.
In the case of the fortran lexer, the idle parse error message is triggered because the lexer calls itself
recursively. If throw-on-input throws at an inner recursion step, the lexer aborts, and the outer
recursion thinks it is in an infinite loop (the inner lexer has not advanced semantic-lex-end), as it does
not know about the throwing. I cannot remember where I took the idea of calling the lexer recursively, but I
think I am not the only one doing this.

Martin

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/
Martin Stein | 4 Mar 10:21 2015
Picon
Picon

Fortran 90

Hi,

took me a while and it is far from finished, but I guess I can publish my wisent fortran parser based on cedet.
As the patches might be a bit too large and are not yet ready to be incorporated into cedet anyway, I setup a
fork of cedet to easily access my patches. The repository can be obtained by

git clone git://git.code.sf.net/u/mafor90/fortran90-cedet fortran90-cedet

or even easier just add

git remote add fortran90 git://git.code.sf.net/u/mafor90/fortran90-cedet

in an existing cedet repository and fetch the new commits with git fetch fortran90.
I hope sourceforge.net permissions are correctly set. Please let me know, if this does not work.

This adds two branches to cedet:
Branch f90/semantic contains a few patches to the cedet/semantic core routines I am relying on.
Branch f90/main currently contains a single commit with the new files. It also removes the f90 bovine
parser (as it conflicts with the new code) and extends/adjusts the f90-test files. The commit message of
this single commit contains an (probably incomplete) list of things still to do to have a mature fortran
support in semantic.

Remarks on wisent related commits in f90/semantic:
In order to get the lex-spp preprocessor running I had to extend the wisent parser in some way. The only
parser using lex-spp is c/c++, which is based on bovine. A token injected macroexpanded by lex-spp and
injected into the token stream has the form (symb str bnds), where str is the difference to tokens
generated by the normal lexers. This is used in c.el to recognise spp-injected tokens in recursive
expandfull based calls (there are no expand macro based recursive calls relying on lex-spp). With wisent
this approach is not possible, as the parser transforms all tokens immediately into (symb str bnds)
format. I considered and experimented with a number of possible ways to make spp-injected tokens
recognisable. The easiest one I came up with was to change the internal token structure with
 in wisent to (symb (val . :flag-something) bnds), where flag-something might be flag-spp, flag-input or
flag-action (for action generated values). In order to access flag, $flagI symbols have been added and
can be used in actions or by the macros I have added to make the parser spp aware. I hope that this approach is
acceptable as it is still quite an intrusion on the wisent parser.

Remarks on compilation:
The order of compilation first f90-grammar-macros, then f90.wy and finally f90.el is done correctly.
However, if f90-grammar-macros is changed, then f90.wy needs to be recompiled, but this dependency is
not yet coded into the Makefile, and I do not know how to do that with ede!

Remarks on f90.el (also see todo list in commit message):
* As I am new to lisp I probably got a number of things wrong or just not optimal. To begin with, so far I did not
deal with defmacro and the crazy quoting, backquoting and commating it comes with. So I just used defun and
defsubst, not always being sure which might be the proper thing to do. Also there are probably lots of lost
optimisation (eval-when-compile and the like) opportunities. Any help and advice regarding any of
these lisp matters is greatly appreciated. checkdoc should run (except for the footer, which I copied
from c.el, and a complain about fortran-keyword contains, which it confuses with the verb contains). 

* CEDET_STYLE_GUIDE requires CL to be required via eval-when-compile (as in python.el); however, cl
seems to be obsolete, so I have used cl-lib. But eval-when-compile in the cl-lib require statement does
not work? Moreover, cl-lib seems to be a standard component of emacs, so is CEDET_STYLE_GUIDE still
up-to-date with respect to cl?

* Regular expression: I have defined quite a number of constants and functions to have easy to read building
blocks. I know about the package rx, but I could not get it working the way I wished. In particular, defining
constants and then using them within rx expressions requires an rx-eval, which makes reading those rx
expression rather painful. That's why I used my own building blocks. Any improvements or suggestions on
how to use rx would be nice. I also suspect that I need to do something about evaluating those regular
expression strings at compile time.

* semantic-calculate-scope: This is not an overloadable function, but fortran might need its own
version. At the moment there is a hack in the code to overcome the problems. Scoping within fortran seems to
be a bit different compared to c/c++. In particular, consider the following example:

function fun1()
  integer :: myvar1
  my_code
  contains
  function fun2()
     integer :: myvar2
     ! myvar1 is in scope, and it is part of a function tag
     myvar2 = myvar1
  end function
end function

I just could not convince semantic-calculate-scope and its helpers to find myvar1 at the context of the
myvar2 assignment. Even more I came to the conclusion that this does not fit the current default routine.

* semantic-analyze-current-context: I have overloaded this central function to add a few new context
classes (more are planned). Otherwise this is more or less just a refactored version of the original function.

* semantic-analyze-possible-completions: This was overloaded as well. It is a refactored version of the
original with a few adjustments and extensions (there is still some C++ code left). In particular this
version can handle predicate-functions returned by semantic-analyze-type-constraint (the original
routine expects a string from semantic-analyze-type-constraint) for type matching. This allows a
number things like checking generic interfaces of subroutines in call-subroutine contexts etc. I plan
to further explore this (such as make type matching of real(4)=single precision and real(8)=double
precision customisable).

* preprocessor: The lex-spp preprocessor is running, looks fine so far. However, I had to copy quite a bit of
the code from c.el and a bit from lex-spp.el, because in some parts it did not match fortran, or I did not want
to reuse variables from the C parser, or I could not untangle the code to decide which part could be reused
and which needed to be copied.

Martin

------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the 
conversation now. http://goparallel.sourceforge.net/

Gmane