It works in terminal after install the *dev* package of libreadline. Thanks!

The problems may be valuable for other people, so I record it here.

The first method, run it on startup:

  $ ./factor -run=readline-listener
  no-such-symbol
  name    "rl_completion_entry_function"
  library "readline"
  (U) Quotation: [ c-to-factor -> ]
      Word: c-to-factor
  (U) Quotation: [ [ catchstack* push ] dip call -> catchstack* pop* ]
  (O) Word: command-line-startup
  (O) Word: readline-listener
  (O) Word: set-rl_completion_entry_function
  (O) Word: address-of
  (O) Word: no-such-symbol
  (O) Method: M\ object throw
  (U) Quotation: [
          OBJ-CURRENT-THREAD special-object error-thread set-global
          current-continuation -> error-continuation set-global
          [ original-error set-global ] [ rethrow ] bi
      ]

The second method, start it after launch:

  $ ./factor -run=listener
  IN: scratchpad USE: readline-listener
  Loading resource:extra/readline-listener/readline-listener.factor
  Loading resource:extra/readline/readline.factor
  Loading resource:extra/readline/ffi/ffi.factor
  Loading resource:extra/readline/readline-docs.factor
  Loading resource:extra/readline-listener/readline-listener-docs.factor
  IN: scratchpad readline-listener
  no-such-symbol
  name    "rl_completion_entry_function"
  library "readline"

  Type :help for debugging help.

Both fails.
libreadline won't work in FUEL according to my understanding because
the communication medium between Factor and Emacs is a socket not a
pty.
I gave it a try and the same things(no-such-symbol) happened in "*fuel
listener*" buffer.

The distribution and packages installed on my computer related to readline are:

  $ cat /etc/issue
  Ubuntu 12.04.2 LTS \n \l

  $ dpkg --get-selections | grep readline
  libreadline6                            install
  readline-common                    install

After I install the *dev* package of libreadline:

  $ sudo apt-get install libreadline6-dev

Both methods work in both terminal and *term* in Emacs. Great!

Finally:
* Is it worth to add one more line "-run=listener" in the output of "$
factor --help"?
* Most completion functionality in Emacs prefer reinvent the wheel to
use libreadline, for some good reasons and some limitation.
Many(if not all) of them just ignore libreadline. I think it is also
true for FUEL.
For curious, I also try the second method after install
"libreadline6-dev" in "*fuel listener*" buffer and it hangs...
Maybe it is worth to mention(in some place of documentation) that
"don't use readline-listener in FUEL, at least it won't work"?

------------------------------------------------------------------------------
Android is increasing in popularity, but the open development platform that
developers love is also attractive to malware creators. Download this white
paper to learn more about secure code signing practices that can help keep
Android apps secure.
http://pubads.g.doubleclick.net/gampad/clk?id=65839951&iu=/4140/ostg.clktrk
_______________________________________________
Factor-talk mailing list
Factor-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/factor-talk

Reply via email to