libdraw, libframe, acme: fix, guard against inverted range in textsetselect

Credit to Roi Martin <jroi.martin@gmail.com> for noticing that
libdraw was being passed a negative string length and for finding the
sequence of keystrokes that make acme do it reproducibly.

Change-Id: If3f3d04a25c506175f740d3e887d5d83b5cd1bfe
Reviewed-on: https://plan9port-review.googlesource.com/1092
Reviewed-by: Russ Cox <rsc@swtch.com>
3 files changed
tree: 1c528d7e620547fa26704577af3330188154ba46
  1. acid/
  2. bin/
  3. dict/
  4. dist/
  5. face/
  6. font/
  7. include/
  8. lib/
  9. log/
  10. lp/
  11. mac/
  12. mail/
  13. man/
  14. ndb/
  15. news/
  16. plumb/
  17. postscript/
  18. proto/
  19. sky/
  20. src/
  21. tmac/
  22. troff/
  23. unix/
  24. .gitignore
  25. CHANGES
  26. configure
  27. CONTRIBUTING.md
  28. CONTRIBUTORS
  29. INSTALL
  30. install.txt
  31. LICENSE
  32. Makefile
  33. rcmain
  34. README.md
  35. TODO
README.md

This is a port of many Plan 9 libraries and programs to Unix.

Installation

To install, run ./INSTALL. It builds mk and then uses mk to run the rest of the installation.

For more details, see install(1), at install.txt in this directory and at http://swtch.com/plan9port/man/man1/install.html.

Documentation

See http://swtch.com/plan9port/man/ for more documentation. (Documentation is also in this tree, but you need to run a successful install first. After that, “9 man 1 intro”.)

Intro(1) contains a list of man pages that describe new features or differences from Plan 9.

Helping out

If you'd like to help out, great! The TODO file contains a small list.

If you port this code to other architectures, please share your changes so others can benefit.

Please use codereview(1) to prepare patches.

Git

You can use Git to keep your local copy up-to-date as we make changes and fix bugs. See the git(1) man page here (“9 man git”) for details on using Git.

Contact