Hi again, forget the earlier question, it just works which is great.

Just one snag, PicoLisp uses # for commenting, not ;.

In fact PicoLisp uses ; as a getter function to get values of object attributes.

The problem is that as soon as a function contains ; it will disappear from the ECB list.

I.e the following works and shows upp:

(de Test1 (Obj)
  (print Obj))

But not this:

(de Test2 (Obj)
  (print (; Obj name)))

Commented lines are handled properly by picolisp-mode but in this case the semantic parser won't pick that up.

Any ideas how I can remedy this?

On Wed, Jun 15, 2011 at 9:04 AM, Eric M. Ludlam <ericludlam@gmail.com> wrote:

I'm glad you found a solution.  I think all you really need to do is add:

(add-hook 'picolisp-mode-hook 'semantic-default-elisp-setup)

to either your .emacs, or into semantic-el.el.

We can probably add the picolisp hook to make it a default if you find that it works well for you.


On 06/14/2011 08:11 AM, Henrik Sarvell wrote:
Thanks for the help Eric.

It's funny, just after posting to the list I tried copying
semantic-el.el to semantic-picolisp.el and changing it as required to
work for PicoLisp and that did the trick, more here:

Probably not the cleanest solution but it works.

On Tue, Jun 14, 2011 at 6:33 PM, Eric M. Ludlam <ericludlam@gmail.com
<mailto:ericludlam@gmail.com>> wrote:

   Hi Henrik,

     I don't know much about picolisp, but if it is similar to Emacs
   Lisp and common Lisp, then you can probably do the same thing in
   semantic-el.el, and at the very end of that file, add a new hook
   similar to the one that is there for common lisp.

     If that works, then you are in good shape.

     As for the error, I think semantic-scm may have not been updated
   for the new tag formatting functions.  Here is a revised version:

   (define-mode-local-override semantic-format-tag-prototype
   scheme-mode (tag &optional parent color)
   "Return a prototype for the Emacs Lisp nonterminal TAG."
     (let* ((tok (semantic-tag-class tag))
            (args (semantic-tag-components tag))
       (if (eq tok 'function)
           (concat (semantic-tag-name tag) " ("
                   (mapconcat (lambda (a) a) args " ")
         (semantic-format-tag-prototype-default tag parent color))))

   I'd try just using the regular lisp parser first, which should be ok
   so long as the lexical syntax is the same as Emacs Lisp.


   On 06/04/2011 10:40 AM, Henrik Sarvell wrote:

       Hi All.

       I am "successfully" using CEDET with Clojure, successfully in
       the way
       that if I open a Clojure file I get the function list for it in
       a ECB
       function/method buffer so I can easily browse to any given
       function as
       well as see which functions are defined.

       I have no idea how this works since I can't find any Clojure
       lexers/parsers in the semantic/bovine/wisent folders.

       Anyway, this code browsing feature is what I'm looking for but for
       PicoLisp ( http://picolisp.com ) too.

       There already is a major mode for picolisp which seems to be working
       fine with regards to the instructions here:
       http://cedet.sourceforge.net/addlang.shtml in the sense that it
       to be doing all that is required there.

       Then I created picolisp.by <http://picolisp.by> and

       semantic-picolisp.el (attached), I
       simply based them on scheme.by <http://scheme.by> and

       semantic-scm.el  as I don't know
       anything about these things.

       These files generated the attached semantic-picolisp-by.el file.

       Firing up emacs and editing a file will however not display any
       defined functions in the method buffer.

       When i run semantic-test-all-format-tag-functions I get what you see
       in the attached screenshot.

       I run it when I have the attached simple.l open.

       Any ideas? It's a simple lisp we're talking about here so maybe
       there's some shortcut that will make the function buffer work
       without launching a completely new parser (thinking about why it
       with clojure despite there not being any dedicated parser...)

       Thanks in advance!

       /Henrik Sarvell



       Simplify data backup and recovery for your virtual environment
       with vRanger.
       Installation's a snap, and flexible recovery options mean your
       data is safe,
       secure and there when you need it. Discover what all the
       cheering's about.
       Get your free trial download today.

       Cedet-devel mailing list
       <mailto:Cedet-devel@lists.sourceforge.net> ------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.

Cedet-devel mailing list