Chapter 14 Concept index
| Jump to: |
. A B C E F G L M N P S U V W |
Index Entry
Section
Environments and variable lookup
Environments and variable lookup
Environments and variable lookup
node:
SEXP:
Environments and variable lookup
Environments and variable lookup
| Jump to: |
. A B C E F G L M N P S U V W |
Footnotes
(1)
strictly, a SEXPREC node; VECTOR_SEXPREC nodes are slightly smaller but followed by data in the node.
(2)
a pointer to a function or a symbol to look up the function by name, or a language object to be evaluated to give a function.
(3)
This is almost unused. The only current use is for hash tables of environments (VECSXPs), where length is the size of the table and truelength is the number of primary slots in use, and for the reference hash tables in serialization (VECSXPs), where truelength is the number of slots in use.
(4)
Remember that attaching a list or a saved image actually creates and populates an environment and attaches that.
(5)
There is currently one other difference: when profiling builtin functions are counted as function calls but specials are not.
(6)
the other current example is left brace, which is implemented as a primitive.
(7)
only bits 0:4 are currently used for SEXPTYPEs but values 241:255 are used for pseudo-SEXPTYPEs.
(8)
Currently the only relevant bits are 0:1, 4, 14:15.
(9)
See define USE_UTF8_IF_POSSIBLE in file src/main/gram.c.
(10)
or UTF-16 if support for surrogates is enabled in the OS, which it used not to be when encoding support was added to R.
(11)
but not the GraphApp toolkit.
(12)
This can also create non-S4 objects, as in new(“integer”).
(13)
although this is not recommended as it is less future-proof.
(14)
but apparently not on Windows.
(15)
The C code is in files base.c, graphics.c, par.c, plot.c and plot3d.c in directory src/main.
(16)
although that needs to be handled carefully, as for example the circle callback is given a radius (and that should be interpreted as in the x units).
(17)
It is possible for the device to find the GEDevDesc which points to its DevDesc, and this is done often enough that there is a convenience function desc2GEDesc to do so.
(18)
Calling R_CheckDeviceAvailable() ensures there is a free slot or throws an error.
(19)
in device coordinates
(20)
It is technically possible to use alpha-blending on metafile devices such as printers, but it seems few drivers have support for this.
(21)
an Xcode project, in SVN at https://svn.r-project.org/R-packages/trunk/Mac-GUI.
(22)
under Windows, junction points, or copies if environment variable R_WIN_NO_JUNCTIONS has a non-empty value.
(23)
see the previous footnote.
(24)
The usual culprits are calls to compiled code via .Call or .External which alter their arguments.
(25)
things which the byte compiler assumes do not change, e.g. function bodies.
(26)
Linux distributions tend to unbundle texinfo.tex from ‘texinfo’.
(27)
but LENGTH is a macro under some internal uses.