2019-07-22 20:32:33 +00:00
. \" teapot.1: teapot manual
. \" Copyright(c) 2010 by wave++ "Yuri D'Elia" <wavexx@users.sf.net>
. \" Distributed under GNU GPL WITHOUT ANY WARRANTY.
. \"
Prevent phantom values when clocking, resetting, and clocking again
In the end it turned out that the cause of the phantom values was
short-cutting in getvalue() when the contents of a cell were empty,
preventing the update of the internal cache of the value of the cell.
However, tracking this down (and getting the associated memory management
correct) necessitated implementing a debugging mode in which I could
dump the internal states of cells and print various other stuff to standard
output. It also involved understanding the meaning of various pointers in
the code, in the process of which I renamed some commonly used macros,
particularly the former SHEET(s,x,y,z) which was not returning a Sheet at
all but rather a pointer to a Cell. So this macro is now called CELL_AT. I
also replaced several very repeatedly used patterns of checking the validity
of locations and pointers with macros, now defined in sheet.h.
Therefore, unfortunately the (relatively small in the end) bugfix for this
major issue is entangled with numerous textual changes to the code made
in tracking it down.
Fixes #18.
Closes #19.
2019-07-24 17:47:39 +00:00
.Dd December 8 , 2010
2019-07-22 20:32:33 +00:00
.Dt TEAPOT 1
. \"
. \"
.Sh NAME
.Nm teapot
.Nd Table Editor And Planner, Or: Teapot!
. \"
. \"
.Sh SYNOPSIS
Prevent phantom values when clocking, resetting, and clocking again
In the end it turned out that the cause of the phantom values was
short-cutting in getvalue() when the contents of a cell were empty,
preventing the update of the internal cache of the value of the cell.
However, tracking this down (and getting the associated memory management
correct) necessitated implementing a debugging mode in which I could
dump the internal states of cells and print various other stuff to standard
output. It also involved understanding the meaning of various pointers in
the code, in the process of which I renamed some commonly used macros,
particularly the former SHEET(s,x,y,z) which was not returning a Sheet at
all but rather a pointer to a Cell. So this macro is now called CELL_AT. I
also replaced several very repeatedly used patterns of checking the validity
of locations and pointers with macros, now defined in sheet.h.
Therefore, unfortunately the (relatively small in the end) bugfix for this
major issue is entangled with numerous textual changes to the code made
in tracking it down.
Fixes #18.
Closes #19.
2019-07-24 17:47:39 +00:00
\fB fteapot|teapot\fP
.Op Fl abdhHr
.Op Fl n|q
2019-07-22 20:32:33 +00:00
.Op Fl p Ar digits
.Op Ar file
Prevent phantom values when clocking, resetting, and clocking again
In the end it turned out that the cause of the phantom values was
short-cutting in getvalue() when the contents of a cell were empty,
preventing the update of the internal cache of the value of the cell.
However, tracking this down (and getting the associated memory management
correct) necessitated implementing a debugging mode in which I could
dump the internal states of cells and print various other stuff to standard
output. It also involved understanding the meaning of various pointers in
the code, in the process of which I renamed some commonly used macros,
particularly the former SHEET(s,x,y,z) which was not returning a Sheet at
all but rather a pointer to a Cell. So this macro is now called CELL_AT. I
also replaced several very repeatedly used patterns of checking the validity
of locations and pointers with macros, now defined in sheet.h.
Therefore, unfortunately the (relatively small in the end) bugfix for this
major issue is entangled with numerous textual changes to the code made
in tracking it down.
Fixes #18.
Closes #19.
2019-07-24 17:47:39 +00:00
.YS
2019-07-22 20:32:33 +00:00
. \"
. \"
.Sh DESCRIPTION
.Nm
(Table Editor And Planner, Or Teapot!) is a compact spreadsheet program, featuring three
dimensions with linear addressing, relative references, formula references,
type safety of computations, iterative expressions and platform independent
file format.
.Pp
Prevent phantom values when clocking, resetting, and clocking again
In the end it turned out that the cause of the phantom values was
short-cutting in getvalue() when the contents of a cell were empty,
preventing the update of the internal cache of the value of the cell.
However, tracking this down (and getting the associated memory management
correct) necessitated implementing a debugging mode in which I could
dump the internal states of cells and print various other stuff to standard
output. It also involved understanding the meaning of various pointers in
the code, in the process of which I renamed some commonly used macros,
particularly the former SHEET(s,x,y,z) which was not returning a Sheet at
all but rather a pointer to a Cell. So this macro is now called CELL_AT. I
also replaced several very repeatedly used patterns of checking the validity
of locations and pointers with macros, now defined in sheet.h.
Therefore, unfortunately the (relatively small in the end) bugfix for this
major issue is entangled with numerous textual changes to the code made
in tracking it down.
Fixes #18.
Closes #19.
2019-07-24 17:47:39 +00:00
.Pp
When invoked as 'teapot' the program uses a console-based text interface; when
invoked as 'fteapot' it uses a windowed graphical interface. The
.Pa file
argument, if given, specifies an initial file to load upon startup.
.Pp
2019-07-22 20:32:33 +00:00
This document only describes command-line arguments. Please refer to the
complete manual that can be found under
.Pa /usr/share/doc/teapot
Prevent phantom values when clocking, resetting, and clocking again
In the end it turned out that the cause of the phantom values was
short-cutting in getvalue() when the contents of a cell were empty,
preventing the update of the internal cache of the value of the cell.
However, tracking this down (and getting the associated memory management
correct) necessitated implementing a debugging mode in which I could
dump the internal states of cells and print various other stuff to standard
output. It also involved understanding the meaning of various pointers in
the code, in the process of which I renamed some commonly used macros,
particularly the former SHEET(s,x,y,z) which was not returning a Sheet at
all but rather a pointer to a Cell. So this macro is now called CELL_AT. I
also replaced several very repeatedly used patterns of checking the validity
of locations and pointers with macros, now defined in sheet.h.
Therefore, unfortunately the (relatively small in the end) bugfix for this
major issue is entangled with numerous textual changes to the code made
in tracking it down.
Fixes #18.
Closes #19.
2019-07-24 17:47:39 +00:00
(or other standard documentation location on your system) in both html
and pdf format, teapot.pdf.
The manual can also be viewed from within the graphical version using
the Help menu.
2019-07-22 20:32:33 +00:00
. \"
. \"
.Sh OPTIONS
.Bl -tag -compact -width " \-p digits "
.It Fl a
Use ASCII instead of XDR as default file format when loading or saving.
.It Fl b
Read batch commands from standard input.
Prevent phantom values when clocking, resetting, and clocking again
In the end it turned out that the cause of the phantom values was
short-cutting in getvalue() when the contents of a cell were empty,
preventing the update of the internal cache of the value of the cell.
However, tracking this down (and getting the associated memory management
correct) necessitated implementing a debugging mode in which I could
dump the internal states of cells and print various other stuff to standard
output. It also involved understanding the meaning of various pointers in
the code, in the process of which I renamed some commonly used macros,
particularly the former SHEET(s,x,y,z) which was not returning a Sheet at
all but rather a pointer to a Cell. So this macro is now called CELL_AT. I
also replaced several very repeatedly used patterns of checking the validity
of locations and pointers with macros, now defined in sheet.h.
Therefore, unfortunately the (relatively small in the end) bugfix for this
major issue is entangled with numerous textual changes to the code made
in tracking it down.
Fixes #18.
Closes #19.
2019-07-24 17:47:39 +00:00
.It Fl d
Increment the debug level, once per occurrence; teapot may produce various
output on standard out when this is specified, and additional key bindings
may be in effect.
.It Fl h
Print a brief usage message.
2019-07-22 20:32:33 +00:00
.It Fl H
Hide row and column headers.
Prevent phantom values when clocking, resetting, and clocking again
In the end it turned out that the cause of the phantom values was
short-cutting in getvalue() when the contents of a cell were empty,
preventing the update of the internal cache of the value of the cell.
However, tracking this down (and getting the associated memory management
correct) necessitated implementing a debugging mode in which I could
dump the internal states of cells and print various other stuff to standard
output. It also involved understanding the meaning of various pointers in
the code, in the process of which I renamed some commonly used macros,
particularly the former SHEET(s,x,y,z) which was not returning a Sheet at
all but rather a pointer to a Cell. So this macro is now called CELL_AT. I
also replaced several very repeatedly used patterns of checking the validity
of locations and pointers with macros, now defined in sheet.h.
Therefore, unfortunately the (relatively small in the end) bugfix for this
major issue is entangled with numerous textual changes to the code made
in tracking it down.
Fixes #18.
Closes #19.
2019-07-24 17:47:39 +00:00
.It Fl n|q
Display strings definitely NOT quoted or definitely quoted, respectively.
2019-07-22 20:32:33 +00:00
.It Fl r
Redraw the terminal window more often.
.It Fl p Ar digits
Set default precision of displayed numbers.
2023-04-09 05:41:50 +00:00
.It Fl F Ar digits
Set the general font size on pixels (fteapot only).
2019-07-22 20:32:33 +00:00
.El
. \"
. \"
.Sh ENVIRONMENT
.Ev DISPLAY See Xr X 7 .
. \"
. \"
.Sh SEE ALSO
.Pa /usr/share/doc/teapot/
. \"
. \"
.Sh LICENSE
Copyright (C) 1995-2006
.An "Michael Haardt"
.Pp
Copyright (C) 2009-2012
.Mt info@syntax-k.de
J\(:o rg Walter
.Me
.Pp
2023-07-26 03:21:43 +00:00
Copyright (C) 2019-2023
Prevent phantom values when clocking, resetting, and clocking again
In the end it turned out that the cause of the phantom values was
short-cutting in getvalue() when the contents of a cell were empty,
preventing the update of the internal cache of the value of the cell.
However, tracking this down (and getting the associated memory management
correct) necessitated implementing a debugging mode in which I could
dump the internal states of cells and print various other stuff to standard
output. It also involved understanding the meaning of various pointers in
the code, in the process of which I renamed some commonly used macros,
particularly the former SHEET(s,x,y,z) which was not returning a Sheet at
all but rather a pointer to a Cell. So this macro is now called CELL_AT. I
also replaced several very repeatedly used patterns of checking the validity
of locations and pointers with macros, now defined in sheet.h.
Therefore, unfortunately the (relatively small in the end) bugfix for this
major issue is entangled with numerous textual changes to the code made
in tracking it down.
Fixes #18.
Closes #19.
2019-07-24 17:47:39 +00:00
.Mt glen@studioinfinity.org
Glen Whitney
.Me
.Pp
2019-07-22 20:32:33 +00:00
Manual page written by
.Mt wavexx@users.sf.net
Yuri D'Elia
.Me
.Pp
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
.Pp
This program 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 General Public License for more details.
.Pp
You should have received a copy of the GNU General Public License along with this program.
If not, see
.Ur http://www.gnu.org/licenses/
http://www.gnu.org/licenses/
.Ue .