"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "TeXmacs/doc/devel/scheme/edit/edit-fundamental.en.tm" between
TeXmacs-1.99.8-src.tar.gz and TeXmacs-1.99.9-src.tar.gz

About: GNU TeXmacs is a what-you-see-is-what-you-get scientific text editor, which was both inspired by TeX and GNU Emacs.

edit-fundamental.en.tm  (TeXmacs-1.99.8-src):edit-fundamental.en.tm  (TeXmacs-1.99.9-src)
<TeXmacs|1.99.1> <TeXmacs|1.99.8>
<style|<tuple|tmdoc|english>> <style|<tuple|tmdoc|english|old-spacing>>
<\body> <\body>
<tmdoc-title|Fundamental tree modification routines> <tmdoc-title|Fundamental tree modification routines>
From an internal point of view, all modifications to the <TeXmacs> edit From an internal point of view, all modifications to the <TeXmacs> edit
tree are decomposed into atomic modifications of eight different types. In tree are decomposed into atomic modifications of eight different types. In
this section, we describe the <scheme> interface to these fundamental this section, we describe the <scheme> interface to these fundamental
modification routines. Even though it is usually more convenient to use modification routines. Even though it is usually more convenient to use
higher level modification routines, as described in the <hlink|next higher level modification routines, as described in the <hlink|next
section|edit-modify.en.tm>, the fundamental tree modification routines may section|edit-modify.en.tm>, the fundamental tree modification routines may
occasionally be useful as well. occasionally be useful as well.
It should be emphasized that the fundamental tree modification routines are It should be emphasized that the fundamental tree modification routines are
<em|not> checked for their correctness. It is the responsability of the <em|not> checked for their correctness. It is the responsibility of the
user to verify that the operations are valid and that they lead to a user to verify that the operations are valid and that they lead to a
correct new edit tree. Although it is sometimes possible to leave the edit correct new edit tree. Although it is sometimes possible to leave the edit
tree in a temporarily incorrect or ``unsimplified'' state (for instance, by tree in a temporarily incorrect or \Punsimplified\Q state (for instance, by
allowing subtrees of the form <rigid|<scm|(concat "")>>), this practice is allowing subtrees of the form <rigid|<scm|(concat "")>>), this practice is
not generally recommended, and may lead to severe bugs. not generally recommended, and may lead to severe bugs.
<\explain> <\explain>
<scm|(tree-assign! <scm-arg|var> <scm-arg|new-value>)><explain-synopsis|tree <scm|(tree-assign! <scm-arg|var> <scm-arg|new-value>)><explain-synopsis|tree
assignment> assignment>
<|explain> <|explain>
On input, we have a <scheme> variable <scm-arg|var> of type On input, we have a <scheme> variable <scm-arg|var> of type
<verbatim|tree> and <scm-arg|new-value> of type <verbatim|content>. The <verbatim|tree> and <scm-arg|new-value> of type <verbatim|content>. The
macro replaces the tree by <scm-arg|new-value> and updates <scm-arg|var> macro replaces the tree by <scm-arg|new-value> and updates <scm-arg|var>
skipping to change at line 170 skipping to change at line 170
<|big-figure> <|big-figure>
<label|insert-remove-node-fig>Illustration of the operations <label|insert-remove-node-fig>Illustration of the operations
<scm|(tree-insert-node! t i u)> and <scm|(tree-remove-node! t i)>. Notice <scm|(tree-insert-node! t i u)> and <scm|(tree-remove-node! t i)>. Notice
that the second operation undoes the first one. that the second operation undoes the first one.
</big-figure> </big-figure>
<\remark> <\remark>
Each of the macros <scm|tree-assign!>, <scm|tree-insert!>, <abbr|etc.> Each of the macros <scm|tree-assign!>, <scm|tree-insert!>, <abbr|etc.>
has a functional counterpart <verbatim|<scm|tree-assign>>, has a functional counterpart <verbatim|<scm|tree-assign>>,
<verbatim|<scm|tree-insert>>, etc. The first parameter of these <verbatim|<scm|tree-insert>>, etc. The first parameter of these
counterparts can be an arbitrary ``l-<no-break>value'' and does not have counterparts can be an arbitrary \Pl-<no-break>value\Q and does not have
to be a scheme variable. However, in the case when a <scheme> variable is to be a scheme variable. However, in the case when a <scheme> variable is
passed as the first parameter, these variants do not necessarily update passed as the first parameter, these variants do not necessarily update
its contents with the return value. its contents with the return value.
</remark> </remark>
<tmdoc-copyright|2005|Joris van der Hoeven> <tmdoc-copyright|2005|Joris van der Hoeven>
<tmdoc-license|Permission is granted to copy, distribute and/or modify this <tmdoc-license|Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.1 document under the terms of the GNU Free Documentation License, Version 1.1
or any later version published by the Free Software Foundation; with no or any later version published by the Free Software Foundation; with no
 End of changes. 5 change blocks. 
5 lines changed or deleted 5 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)