NAME
    estr - represent some types of value by text strings

SYNOPSIS
    estr(x)

TYPES
    x		null, string, real or complex number, list, matrix,
		object. block, named block, error

    return	string

DESCRIPTION
    This function attempts to represent x exactly by a string s of
    ordinary text characters such that eval(s) == x.

    If x is null, estr(x) returns the string "".

    If x is a string, estr(x) returns the string in which occurrences of
    newline, tab, ", \,  etc. have been converted to \n, \t, \",
    \\, etc., '\0' to \000 or \0 according as the next character is
    or is not an octal digit, and other non-text characters to their
    escaped hex representation, e.g. char(165) becomes \xa5.

    For real x, estr(x) represents x in fractional mode.


EXAMPLE
    ; estr("abc\0xyz\00023\n\xa5\r\n")
	""abc\0xyz\00023\n\xa5\r\n""
    ; estr(1.67)
	"167/100"
    ; estr(mat[3] = {2, list(3,5), "abc"})
	"mat[3]={2,list(3,5),"abc""

LIMITS
    none

LINK LIBRARY
    none

SEE ALSO
    str, strprintf

## Copyright (C) 2006,2021  Ernest Bowen
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL.  You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##
## Under source code control:	2006/08/20 14:45:13
## File existed as early as:	2006
##
## chongo <was here> /\oo/\	http://www.isthe.com/chongo/
## Share and enjoy!  :-)	http://www.isthe.com/chongo/tech/comp/calc/
