Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

import less 394. this includes these changes:

* Add history file to save search and shell command history between
  invocations of less.

* Improve behavior of history list for search and shell commands.

* Add -K (or --quit-on-intr) option to make less exit immediately on ctrl-C.

* Improve handling of UTF-8 files and commands, including better
  line wrapping and handling double-width chars.

* Added LESSUTFBINFMT environment variable to control display of
  non-printable characters in a UTF-8 file.

* Add --with-secure option to configure, to make it easier to
  build a secure version of less.

* Show search matches in the status column even if search highlights
  are disabled via the -G option or the ESC-u command.

* Improve performance when the file contains very long lines.

* Add "windows" charset.

* Add man page for lessecho.

* Add support for erase2 character, treated same as erase.

* Use ASCII lowercase/uppercase logic when operating on the command line.

* Update makefile for Borland C++ 5.5.1.

* Fix bug in calculating number of pages for %D prompt.

* Fix bug in handling tag file error.

* Fix obscure bug if input file is deleted while viewing help.

* Fix bug handling filenames which include square brackets.

* Fix possible buffer overflow in "global" tag search.

* Fix possible buffer overflow in usage of LESSOPEN and LESSCLOSE.

* Fix buffer overflow in reverse search.

* Removed some old copyrighted code.
  This probably breaks OS/9 support.
  • Loading branch information...
commit 97722058c4f3a00a4e5959b451c3a9fef78e3533 1 parent a4126e2
mrg authored
Showing with 19 additions and 0 deletions.
  1. +19 −0 usr.bin/less/less/charset.h
19 usr.bin/less/less/charset.h
@@ -0,0 +1,19 @@
+ * Copyright (C) 2005 Mark Nudelman
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Less License, as specified in the README file.
+ *
+ * For more information about less, or for information on how to
+ * contact the author, see the README file.
+ */
+#define IS_ASCII_OCTET(c) (((c) & 0x80) == 0)
+#define IS_UTF8_TRAIL(c) (((c) & 0xC0) == 0x80)
+#define IS_UTF8_LEAD2(c) (((c) & 0xE0) == 0xC0)
+#define IS_UTF8_LEAD3(c) (((c) & 0xF0) == 0xE0)
+#define IS_UTF8_LEAD4(c) (((c) & 0xF8) == 0xF0)
+#define IS_UTF8_LEAD5(c) (((c) & 0xFC) == 0xF8)
+#define IS_UTF8_LEAD6(c) (((c) & 0xFE) == 0xFC)
+#define IS_UTF8_INVALID(c) (((c) & 0xFE) == 0xFE)
+#define IS_UTF8_LEAD(c) (((c) & 0xC0) == 0xC0 && !IS_UTF8_INVALID(c))
Please sign in to comment.
Something went wrong with that request. Please try again.