unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
* Fwd: Guile's SCM_DEFINE and Semantic mode
       [not found] <5454F895.9050005@gnu.org>
@ 2014-11-02 22:33 ` Bruno Félix Rezende Ribeiro
  2014-11-02 23:12   ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Bruno Félix Rezende Ribeiro @ 2014-11-02 22:33 UTC (permalink / raw
  To: guile-user


[-- Attachment #1.1: Type: text/plain, Size: 171 bytes --]

Originally I sent the attached message to the GNU Emacs help mailing
list, but perhaps people on this list could have useful advice for me as
well.  Thanks in advance.

[-- Attachment #1.2: Guile's SCM_DEFINE and Semantic mode.eml --]
[-- Type: message/rfc822, Size: 5590 bytes --]

[-- Attachment #1.2.1.1: Type: text/plain, Size: 913 bytes --]

Hello users of the greatest editor of all times!

I'm working on a libguile-based project.  All function definitions that
are exported from C code to the Guile interpreter are define like this:
(meta-variables between '<' and '>')

SCM_DEFINE (<c-name>, <scheme-name>,
            <mandatory-args-count>, <optional-args-count>, <rest-bool>,
            <argument-list>,
	    <documentation-string>)
{
 <function-body>
}

At C preprocessing time the 'SCM_DEFINE (...)' function header gets
expanded to:

SCM
<c-name> <c-argument-list>

Unfortunately Semantic doesn't recognize it as a function definition.
How can I make Semantic recognize it as such?

-- 
 ,= ,-_-. =.  Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
((_/)o o(\_)) There is no system but GNU;
 `-'(. .)`-'  GNU Linux-Libre is one of its official kernels;
     \_/      All software must be free as in freedom;


[-- Attachment #1.2.1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

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

* Re: Fwd: Guile's SCM_DEFINE and Semantic mode
  2014-11-02 22:33 ` Fwd: Guile's SCM_DEFINE and Semantic mode Bruno Félix Rezende Ribeiro
@ 2014-11-02 23:12   ` Ludovic Courtès
  2014-11-03 22:52     ` Bruno Félix Rezende Ribeiro
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2014-11-02 23:12 UTC (permalink / raw
  To: guile-user

Bruno Félix Rezende Ribeiro <oitofelix@gnu.org> skribis:

> I'm working on a libguile-based project.  All function definitions that
> are exported from C code to the Guile interpreter are define like this:
> (meta-variables between '<' and '>')
>
> SCM_DEFINE (<c-name>, <scheme-name>,
>             <mandatory-args-count>, <optional-args-count>, <rest-bool>,
>             <argument-list>,
> 	    <documentation-string>)
> {
>  <function-body>
> }
>
> At C preprocessing time the 'SCM_DEFINE (...)' function header gets
> expanded to:
>
> SCM
> <c-name> <c-argument-list>
>
> Unfortunately Semantic doesn't recognize it as a function definition.
> How can I make Semantic recognize it as such?

I don’t know about Semantic, but I know that GNU GLOBAL doesn’t have any
problems dealing with SCM_DEFINE’d functions.

So perhaps the simplest way is to use xgtags.el or similar, or to tell
Semantic to use GLOBAL as its back-end (info "(semantic) SymRef")?

Ludo’.




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

* Re: Fwd: Guile's SCM_DEFINE and Semantic mode
  2014-11-02 23:12   ` Ludovic Courtès
@ 2014-11-03 22:52     ` Bruno Félix Rezende Ribeiro
  0 siblings, 0 replies; 3+ messages in thread
From: Bruno Félix Rezende Ribeiro @ 2014-11-03 22:52 UTC (permalink / raw
  To: guile-user

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

ludo@gnu.org (Ludovic Courtès) wrote:

> I don’t know about Semantic, but I know that GNU GLOBAL doesn’t have any
> problems dealing with SCM_DEFINE’d functions.
> 
> So perhaps the simplest way is to use xgtags.el or similar, or to tell
> Semantic to use GLOBAL as its back-end (info "(semantic) SymRef")?
> 
> Ludo’.

Thank you for pointing out that GNU GLOBAL deal with SCM_DEFINE'd
functions just fine.  I ended up using ggtags as it seems Semantic
doesn't use GNU GLOBAL database for 'semantic-complete-jump' and
'semantic-ia-fast-jump', despite its use of it in searches of symbol
references.  I'm still using Semantic for other things, in particular
for mode-line documentation, as ggtags' Eldoc support is not working for
me, and Semantic is able to grab the prototype of SCM_DEFINE'd functions
from the header files.

-- 
 ,= ,-_-. =.  Bruno Félix Rezende Ribeiro (oitofelix) [0x28D618AF]
((_/)o o(\_)) There is no system but GNU;
 `-'(. .)`-'  GNU Linux-Libre is one of its official kernels;
     \_/      All software must be free as in freedom;


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 473 bytes --]

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

end of thread, other threads:[~2014-11-03 22:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <5454F895.9050005@gnu.org>
2014-11-02 22:33 ` Fwd: Guile's SCM_DEFINE and Semantic mode Bruno Félix Rezende Ribeiro
2014-11-02 23:12   ` Ludovic Courtès
2014-11-03 22:52     ` Bruno Félix Rezende Ribeiro

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