Ticket #27500 (new defect)
rlwrap does not support vi delete operator properly.
| Reported by: | veritas.divina@… | Owned by: | lomion@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.2 |
| Keywords: | Cc: | ||
| Port: | rlwrap |
Description
I have the latest version of ports and rlwrap installed. I also use vi editing mode, and if I do something like this:
$ rlwrap cat This is a sentence
and then I hit
<ESC> ^
to move the cursor to the beginning of the line. The type
dta
(i.e. execute delete operator over motion command ta (till a). This is supposed to delete "This is " part of the above line, but it doesn't work. I just get a beep.
Note that simpler delete commands like delete word (dw) etc work.
Also,
$ otool -L rlwrap rlwrap: /usr/lib/libutil.dylib (compatibility version 1.0.0, current version 1.0.0) /opt/local/lib/libreadline.6.1.dylib (compatibility version 6.0.0, current version 6.1.0) /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.4.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.0) $
I expected this to use libncurses in /opt/local/lib, but apparently it links against the one in /usr/lib?
Attachments
Change History
comment:2 Changed 2 years ago by macsforever2000@…
- Cc veritas.divina@… removed
- Owner changed from macports-tickets@… to lomion@…
comment:3 Changed 2 years ago by dtakahashi42@…
The second issue comes from the order of library search at configure, and the existence of /usr/lib/libcurses.dylib (symlink to /usr/lib/libncurses.5.4.dylib). Therefore, it is solved by the correction of configure.
However, also a binary that is linked against a macport's libncurses seems to produce the delete operator problem. So, these two issues, delete operator and link target, may need to consider separately.
Changed 2 years ago by dtakahashi42@…
- Attachment configure.ac.diff added
this patch will solve the link target issue
comment:4 Changed 19 months ago by jmr@…
The current version of ncurses installs a libcurses link, so rlwrap's linking should be fine after r86161.
Unless you have reason to believe that the port is doing something wrong, the other issue is probably better handled upstream, especially since the port maintainer doesn't seem to be responsive.


Cc Me!