You need to specify the full path (including extension).

If you get that error message, typing )MORE should reveal information as to
why the library didn't load.

To answer your question regarding the packaging of the libraries, it's
because it's impossible (or at least exceedingly hard) to ship native code
with an Emacs library that is delivered through ELPA. It makes more sense
to deliver the native portion with GNU APL itself so that it can be
compiled together.

There is actually very little "intelligence" in the native module. In fact,
it's pretty generic and could very well be used by a hypothetical Vim
module. The interesting stuff happens in the Elisp code, which can be (or
rather, will be) installed from ELPA.

Regards,
Elias


On 9 May 2014 23:12, Blake McBride <blake1...@gmail.com> wrote:

> Dear Elias,
>
> This really confuses me.  Why would libemacs come with GNU APL if the .el
> files don't?  Why would the libemacs that comes with GNU APL be out of
> date?  I changed the path in gnu-apl-interactive.el as follows:
>
> (defvar gnu-apl-libemacs-location "/home/blake/apl-mode/native/libemacs"
>   "The location of the native code library from the interpreter.
> This shouldn't normally need to be changed except when doing
> development of the native code.")
>
>
> Now I get the following when I type M-x gnu-apl
>
>
>       0
>       VALUE ERROR
>       EMACS_NATIVE[1]0
>       ^
> The GNU APL environment has been started, but the Emacs mode was
> unable to connect to the backend. Because of this, some
> functionality will not be available, such as the external
> function editor.
>
> Thanks.
>
> Blake
>
>
>
>
>
> On Fri, May 9, 2014 at 9:47 AM, Elias Mårtenson <loke...@gmail.com> wrote:
>
>> No, it doesn't. You need to set the variable gnu-apl-libemacs-locationto 
>> point to the location of the native library. The default is the value
>> "libemacs" which will be resolved by GNU APL to the one that comes with the
>> interpreter itself.
>>
>> Regards,
>> Elias
>>
>>
>> On 9 May 2014 22:43, Blake McBride <blake1...@gmail.com> wrote:
>>
>>> I am surely building the latest version.  I am, however, not installing
>>> it anywhere (since the Makefile has no install target).  I have the
>>> following in my emacs startup file:
>>>
>>> ;;  APL Mode
>>> (add-to-list 'load-path "~/apl-mode")
>>> (require 'gnu-apl-mode)
>>>
>>>
>>> Based on this, I assumed it would get the .so file from ~/apl-mode/native
>>>
>>> Is that not the case?
>>>
>>> Thanks.
>>>
>>> Blake
>>>
>>>
>>>
>>> On Fri, May 9, 2014 at 9:35 AM, Elias Mårtenson <loke...@gmail.com>wrote:
>>>
>>>> Right. That means that you are not actually using the latest version of
>>>> the native library. This bug is was fixed a couple of weeks ago.
>>>>
>>>> Regards,
>>>> Elias
>>>>
>>>>
>>>> On 9 May 2014 22:32, Blake McBride <blake1...@gmail.com> wrote:
>>>>
>>>>> Okay.  Sorry.  Now I get it.
>>>>>
>>>>> With the space I get the Unexpected error:.  Here is the Message
>>>>> window:
>>>>>
>>>>> Command="proto"
>>>>> Connected to APL interpreter
>>>>> (New file)
>>>>> Command="si"
>>>>> Command="def:/home/blake/foo.apl&3A;1"
>>>>> Command=#("foo" 0 3 (fontified t))
>>>>> Command=#("'a'" 0 3 (face font-lock-string-face fontified t))
>>>>> Command=""
>>>>> Command=#("'b'" 0 3 (face font-lock-string-face fontified t))
>>>>> Command="APL_NATIVE_END_TAG"
>>>>> Data:("error" "DOMAIN ERROR" "" ""):End-Data
>>>>> progn: Unexpected error:
>>>>>
>>>>>
>>>>> I then try the same thing without the blank line and get:
>>>>>
>>>>> Command="si"
>>>>> Command="def:/home/blake/foo.apl&3A;1"
>>>>>  Command=#("foo" 0 3 (fontified t))
>>>>> Command=#("'a'" 0 3 (face font-lock-string-face fontified t))
>>>>> Command=#("'b'" 0 3 (face font-lock-string-face fontified t))
>>>>> Command="APL_NATIVE_END_TAG"
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On Fri, May 9, 2014 at 9:08 AM, Elias Mårtenson <loke...@gmail.com>wrote:
>>>>>
>>>>>> What I mean is that you open a new file in a buffer. Let's call it
>>>>>> "foo.apl". Then, enter the following into the file:
>>>>>>
>>>>>> *∇foo*
>>>>>> *'a'*
>>>>>>
>>>>>> *'b'*
>>>>>> *∇*
>>>>>>
>>>>>> Then, move the cursor to some point within this function definition
>>>>>> (for example, the line containing 'a'), and press C-c C-c.
>>>>>>
>>>>>> Regards,
>>>>>> Elias
>>>>>>
>>>>>>
>>>>>> On 9 May 2014 21:10, Blake McBride <blake1...@gmail.com> wrote:
>>>>>>
>>>>>>> Ooh, sorry, I don't understand.
>>>>>>>
>>>>>>> What does "open a file with a name that ends with .apl" mean?
>>>>>>>
>>>>>>> And then, when you say "define a function in it which has a newline
>>>>>>> in it" do you means in emacs-mode?
>>>>>>>
>>>>>>> Sorry.
>>>>>>>
>>>>>>> Blake
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Fri, May 9, 2014 at 8:01 AM, Elias Mårtenson 
>>>>>>> <loke...@gmail.com>wrote:
>>>>>>>
>>>>>>>> Ah yes, that's a different bug that I will fix.
>>>>>>>>
>>>>>>>> Can you open a file with a name that ends with .apl and then define
>>>>>>>> a function in it which has a newline in it? For example:
>>>>>>>>
>>>>>>>> *∇foo*
>>>>>>>> *'a'*
>>>>>>>>
>>>>>>>> *'b'*
>>>>>>>>
>>>>>>>> *∇*
>>>>>>>>
>>>>>>>> Then go to it and press C-c C-c to define it. Do you get the error?
>>>>>>>> If so, try removing the newline and try again.
>>>>>>>>
>>>>>>>> Regards,
>>>>>>>> Elias
>>>>>>>>
>>>>>>>>
>>>>>>>> On 9 May 2014 20:58, Blake McBride <blake1...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Defining a function with a blank line worked without errors.  Here
>>>>>>>>> is the Message buffer:
>>>>>>>>>
>>>>>>>>> Command="si"
>>>>>>>>> Command="def"
>>>>>>>>> Command=#("foo" 0 3 (fontified t))
>>>>>>>>> Command=#("'a'" 0 3 (face font-lock-string-face fontified t))
>>>>>>>>> Command=#("'b'" 0 3 (face font-lock-string-face fontified t))
>>>>>>>>> Command="APL_NATIVE_END_TAG"
>>>>>>>>>
>>>>>>>>> When I go to edit the function again, the blank line is missing.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Blake
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Fri, May 9, 2014 at 7:50 AM, Elias Mårtenson <loke...@gmail.com
>>>>>>>>> > wrote:
>>>>>>>>>
>>>>>>>>>> Interesting. Can you test another thing? Can you try to define a
>>>>>>>>>> function in the function editor that contains a blank line? Say, for
>>>>>>>>>> example:
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> *∇foo *
>>>>>>>>>> *'a'*
>>>>>>>>>>
>>>>>>>>>> *'b'*
>>>>>>>>>>
>>>>>>>>>> Note the blank line in the middle. If that gives the same error,
>>>>>>>>>> remove the blank line and confirm the error was caused by the blank 
>>>>>>>>>> line.
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Elias
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> On 9 May 2014 20:45, Blake McBride <blake1...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> CL is lexically scoped.  I think emacs is dynamicly scoped.  I
>>>>>>>>>>> think emacs lisp doesn't have real macros either.  Lastly, emacs 
>>>>>>>>>>> lisp has
>>>>>>>>>>> notions of buffer local variables and keyboard mappings that are not
>>>>>>>>>>> completely clear to me.  In short (even though I learned lisp on 
>>>>>>>>>>> InterLisp)
>>>>>>>>>>> I am lost enough with emacs lisp.
>>>>>>>>>>>
>>>>>>>>>>> On the other hand, emacs lisp has a good IDE (emacs) and a good
>>>>>>>>>>> debugger.  (I know about slime.)  I've also discovered that you can 
>>>>>>>>>>> use
>>>>>>>>>>> emacs lisp (along with the compiler) independently of emacs the 
>>>>>>>>>>> editor
>>>>>>>>>>> pretty easily.
>>>>>>>>>>>
>>>>>>>>>>> Now, back to your question:
>>>>>>>>>>>
>>>>>>>>>>> Command=#("fn:gg" 3 5 (fontified t))
>>>>>>>>>>> To save the buffer, use M-x gnu-apl-save-function (C-c C-c)
>>>>>>>>>>> Command="si"
>>>>>>>>>>> Command="def"
>>>>>>>>>>> Command=#("gg" 0 2 (fontified t))
>>>>>>>>>>> Command=""
>>>>>>>>>>> Command="APL_NATIVE_END_TAG"
>>>>>>>>>>> Data:("error" "DOMAIN ERROR" "" ""):End-Data
>>>>>>>>>>> progn: Unexpected error:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Fri, May 9, 2014 at 7:30 AM, Elias Mårtenson <
>>>>>>>>>>> loke...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Emacs Lisp has lots of similarities to Common Lisp, so you
>>>>>>>>>>>> should be quite comfortable with it I think.
>>>>>>>>>>>>
>>>>>>>>>>>> Could you add a similar call to *message* that logs the
>>>>>>>>>>>> content of the variable "command" in the function
>>>>>>>>>>>> "gnu-apl--send-network-command" (gnu-apl-network.el, like 98). 
>>>>>>>>>>>> Inserting
>>>>>>>>>>>> the following as the first line in the function should do the 
>>>>>>>>>>>> trick:
>>>>>>>>>>>>
>>>>>>>>>>>>     (message "Command=%S" command)
>>>>>>>>>>>>
>>>>>>>>>>>> Regards,
>>>>>>>>>>>> Elias
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On 9 May 2014 20:27, Blake McBride <blake1...@gmail.com> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Data:("error" "DOMAIN ERROR" "" ""):End-Data
>>>>>>>>>>>>>
>>>>>>>>>>>>> Note:  although I don't know emacs lisp well, CL is one of my
>>>>>>>>>>>>> favorite languages
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, May 9, 2014 at 7:03 AM, Elias Mårtenson <
>>>>>>>>>>>>> loke...@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> OK, I'm confused, That should not happen.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Could you change the code that displays the error (line 102
>>>>>>>>>>>>>> in gnu-apl-editor.el) to ad some logging?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> This line contains the following form, followed by a few
>>>>>>>>>>>>>> extra end-parentheses:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>     (error "Unexpected error: " (second return-data))
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Change this expression to:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>     (progn (message "Data:%S:End-Data" return-data) (error
>>>>>>>>>>>>>> "Unexpected error: " (second return-data)))
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> In other word, surround the expression with (progn ...) and
>>>>>>>>>>>>>> add a call to the function message.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Then, reproduce the error so you get the "unexpected error"
>>>>>>>>>>>>>> message, switch to the buffer **Messages** and send me the
>>>>>>>>>>>>>> output of the command. I.e, the stuff that begins with "Data" 
>>>>>>>>>>>>>> and ends with
>>>>>>>>>>>>>> "End-Data"
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>> Elias
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On 9 May 2014 19:54, Blake McBride <blake1...@gmail.com>wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> I just did a make clean, followed by a make under native.
>>>>>>>>>>>>>>>  Also verified that emacs is loading the one I just built.  
>>>>>>>>>>>>>>> Same errors.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Blake
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Fri, May 9, 2014 at 6:48 AM, Elias Mårtenson <
>>>>>>>>>>>>>>> loke...@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Right, but did you compile the module in the "native"
>>>>>>>>>>>>>>>> directory and point your Emacs to use it?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> On 9 May 2014 19:44, Blake McBride <blake1...@gmail.com>wrote:
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> $ git pull
>>>>>>>>>>>>>>>>> Already up-to-date.
>>>>>>>>>>>>>>>>> $
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>> On Fri, May 9, 2014 at 6:32 AM, Elias Mårtenson <
>>>>>>>>>>>>>>>>> loke...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Hmm... I think I have an idea what's going on.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Can you try with the latest version of gnu-apl-mode? That
>>>>>>>>>>>>>>>>>> means both the Elisp code as well as the name module.
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>> Elias
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>> On 9 May 2014 19:21, Blake McBride 
>>>>>>>>>>>>>>>>>> <blake1...@gmail.com>wrote:
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Dear Elias,
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Emacs version 24.3.1.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> I always have to move the cursor or I get the other
>>>>>>>>>>>>>>>>>>> error.  So, after I move the cursor and attempt to save, I 
>>>>>>>>>>>>>>>>>>> get the second
>>>>>>>>>>>>>>>>>>> error:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Unexpected error:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Thanks.
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> Blake
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>> On Fri, May 9, 2014 at 12:14 AM, Elias Mårtenson <
>>>>>>>>>>>>>>>>>>> loke...@gmail.com> wrote:
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Yes, I've been told that this happens. I just can't
>>>>>>>>>>>>>>>>>>>> seem to reproduce it though. Can you confirm that it 
>>>>>>>>>>>>>>>>>>>> doesn't happen if you
>>>>>>>>>>>>>>>>>>>> move the cursor prior to pressing C-c C-c?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> What version of Emacs are you using?
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> Regards,
>>>>>>>>>>>>>>>>>>>> Elias
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>> On 9 May 2014 11:59, Blake McBride <blake1...@gmail.com
>>>>>>>>>>>>>>>>>>>> > wrote:
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> From within emacs mode I do:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> ∇xx
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> and then save without adding any lines, emacs gives:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Unexpected error:
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Thanks!
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>> Blake
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to