naksh 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. data/AUTHORS +1 -0
  2. data/COPYING +674 -0
  3. data/COPYING-DOCS +15 -0
  4. data/README.md +45 -0
  5. data/Rakefile +129 -0
  6. data/TODO +19 -0
  7. data/bin/naksh +2 -0
  8. data/data/default.mo +0 -0
  9. data/data/default.po +16 -0
  10. data/data/default2.mo +0 -0
  11. data/data/default2.po +27 -0
  12. data/data/starter.pot +29 -0
  13. data/docs/bash_flow.dia +0 -0
  14. data/docs/gtk_manual.txt +13 -0
  15. data/docs/master_plan.dia +0 -0
  16. data/docs/master_plan.png +0 -0
  17. data/docs/master_plan.svg +74 -0
  18. data/docs/master_plan.svgz +0 -0
  19. data/docs/userguide/en/about.xml +42 -0
  20. data/docs/userguide/en/gnu-fdl-1.2.xml +543 -0
  21. data/docs/userguide/en/naksh.xml +881 -0
  22. data/docs/userguide/en/naksh_start_window.png +0 -0
  23. data/docs/userguide/en/old_naksh.xml +180 -0
  24. data/docs/userguide/en/userguide-en.omf +37 -0
  25. data/lib/naksh.rb +165 -0
  26. data/lib/naksh/buffer.rb +153 -0
  27. data/lib/naksh/command_handling.rb +117 -0
  28. data/lib/naksh/commands/bash/README +2 -0
  29. data/lib/naksh/commands/bash/echo.nkc.rb +50 -0
  30. data/lib/naksh/commands/bsd.rb +25 -0
  31. data/lib/naksh/commands/dos.rb +25 -0
  32. data/lib/naksh/commands/fuse.rb +25 -0
  33. data/lib/naksh/commands/gnu.rb +30 -0
  34. data/lib/naksh/commands/gnu/README +2 -0
  35. data/lib/naksh/commands/gnu/cat.nkc.rb +50 -0
  36. data/lib/naksh/commands/gnu/cd.nkc.rb +11 -0
  37. data/lib/naksh/commands/gnu/echo.documentation.json +57 -0
  38. data/lib/naksh/commands/gnu/echo.documentation.rb +60 -0
  39. data/lib/naksh/commands/gnu/echo.nkc.rb +52 -0
  40. data/lib/naksh/commands/gnu/ls.nkc.rb +11 -0
  41. data/lib/naksh/commands/gnu/mv.nkc.rb +15 -0
  42. data/lib/naksh/commands/gnu/pwd.nkc.rb +11 -0
  43. data/lib/naksh/commands/naksh/addpath.nkc.rb +15 -0
  44. data/lib/naksh/commands/naksh/broken.nkc.rb +10 -0
  45. data/lib/naksh/commands/naksh/empty.nkc.rb +4 -0
  46. data/lib/naksh/commands/naksh/exit.nkc.rb +10 -0
  47. data/lib/naksh/commands/naksh/help.nkc.rb +21 -0
  48. data/lib/naksh/commands/naksh/man.nkc.rb +8 -0
  49. data/lib/naksh/commands/ruby.rb +31 -0
  50. data/lib/naksh/commands/unix.rb +131 -0
  51. data/lib/naksh/configuration/gconf.rb +51 -0
  52. data/lib/naksh/configuration/hash.rb +38 -0
  53. data/lib/naksh/defaults.rb +40 -0
  54. data/lib/naksh/history.rb +85 -0
  55. data/lib/naksh/interfaces.rb +59 -0
  56. data/lib/naksh/interfaces/fox.rb +49 -0
  57. data/lib/naksh/interfaces/gtk.rb +103 -0
  58. data/lib/naksh/interfaces/gtk/abtwin.rb +53 -0
  59. data/lib/naksh/interfaces/gtk/gnomeapp.rb +31 -0
  60. data/lib/naksh/interfaces/gtk/helpwin.rb +70 -0
  61. data/lib/naksh/interfaces/gtk/io.rb +94 -0
  62. data/lib/naksh/interfaces/gtk/mainwin.rb +56 -0
  63. data/lib/naksh/interfaces/gtk/mainwin/console.rb +121 -0
  64. data/lib/naksh/interfaces/gtk/mainwin/main_menu.rb +143 -0
  65. data/lib/naksh/interfaces/gtk/optwin.rb +78 -0
  66. data/lib/naksh/interfaces/tab.rb +58 -0
  67. data/lib/naksh/interfaces/wxw.rb +75 -0
  68. data/lib/naksh/interfaces/wxw/abtwin.rb +38 -0
  69. data/lib/naksh/interfaces/wxw/helpwin.rb +40 -0
  70. data/lib/naksh/interfaces/wxw/io.rb +61 -0
  71. data/lib/naksh/interfaces/wxw/mainwin.rb +42 -0
  72. data/lib/naksh/interfaces/wxw/mainwin/main_menu.rb +126 -0
  73. data/lib/naksh/interfaces/wxw/mainwin/sessions.rb +49 -0
  74. data/lib/naksh/interfaces/wxw/optwin.rb +37 -0
  75. data/lib/naksh/path_entry.rb +101 -0
  76. data/lib/naksh/regexp.rb +31 -0
  77. data/lib/naksh/session.rb +72 -0
  78. data/lib/naksh/stdlibext.rb +48 -0
  79. data/lib/naksh/syntax.rb +57 -0
  80. data/lib/naksh/syntax/bash.rb +219 -0
  81. data/lib/naksh/syntax/bash/antlr/bottomup.g +24 -0
  82. data/lib/naksh/syntax/bash/antlr/topdown.g +52 -0
  83. data/lib/naksh/syntax/bash/dhaka/evaluator.rb +353 -0
  84. data/lib/naksh/syntax/bash/dhaka/grammar.rb +71 -0
  85. data/lib/naksh/syntax/bash/dhaka/lexer.rb +52 -0
  86. data/lib/naksh/syntax/bash/treetop/bash.treetop +17 -0
  87. data/lib/old/abbr_call.rb +39 -0
  88. data/lib/old/autocomplete.rb +29 -0
  89. data/lib/old/command.rb +106 -0
  90. data/lib/old/command_holder.rb +75 -0
  91. data/lib/old/commands.rb +24 -0
  92. data/lib/old/old_executor.rb +95 -0
  93. data/lib/old/options.rb +31 -0
  94. data/lib/old/rush.rb +113 -0
  95. data/lib/old/sortissimo.rb +205 -0
  96. data/lib/old/systems.rb +25 -0
  97. data/lib/old/systems/ruby.rb +26 -0
  98. data/lib/old/un.rb +240 -0
  99. data/lib/rust/Rakefile +6 -0
  100. data/lib/rust/commands/builtins.rb +46 -0
  101. data/lib/rust/commands/builtins/cd.rb +17 -0
  102. data/lib/rust/commands/builtins/exit.rb +13 -0
  103. data/lib/rust/commands/builtins/help.rb +14 -0
  104. data/lib/rust/commands/builtins/parser.rb +13 -0
  105. data/lib/rust/commands/builtins/pwd.rb +13 -0
  106. data/lib/rust/commands/builtins/type.rb +13 -0
  107. data/lib/rust/commands/commands/ls.rb +13 -0
  108. data/lib/rust/commands/commands/read.rb +13 -0
  109. data/lib/rust/commands/commands/rm.rb +14 -0
  110. data/lib/rust/commands/commands/test.rb +20 -0
  111. data/lib/rust/helpers/array.rb +10 -0
  112. data/lib/rust/helpers/command_center.rb +78 -0
  113. data/lib/rust/helpers/constants.rb +58 -0
  114. data/lib/rust/helpers/io.rb +132 -0
  115. data/lib/rust/helpers/parser.rb +45 -0
  116. data/lib/rust/helpers/rush_control.rb +40 -0
  117. data/lib/rust/helpers/string.rb +50 -0
  118. data/lib/rust/helpers/trollop.rb +475 -0
  119. data/lib/rust/parsers/bash.rb +220 -0
  120. data/lib/rust/parsers/bash/stdlibext.rb +32 -0
  121. data/lib/rust/parsers/ren.rb +57 -0
  122. data/lib/rust/rust.rb +75 -0
  123. data/lib/rust/syntax/command.rb +23 -0
  124. data/lib/rust/syntax/paths.rb +31 -0
  125. data/lib/rust/syntax/pipes.rb +148 -0
  126. data/naksh.gemspec +55 -0
  127. data/test/naksh/arg_parser.rspec.rb +27 -0
  128. data/test/naksh/commands/bash/echo.rspec.rb +32 -0
  129. data/test/naksh/commands/sortlist +127 -0
  130. data/test/naksh/external_command.rspec.rb +46 -0
  131. data/test/naksh/send_error.rspec.rb +60 -0
  132. data/test/naksh/suggest.rspec.rb +38 -0
  133. data/test/naksh/syntax/bash.rspec.rb +69 -0
  134. data/test/naksh/syntax/bash/execute.rspec.rb +51 -0
  135. data/test/naksh/syntax/rspec.rb +63 -0
  136. data/test/run_rspecs.rb +20 -0
  137. metadata +217 -0
data/COPYING-DOCS ADDED
@@ -0,0 +1,15 @@
1
+ NAKSH - Interactive Shell Emulator with Manipulated Commands
2
+ Copyright (C) 2011 Mahmut Bulut
3
+
4
+ This program is free software: you can redistribute it and/or modify
5
+ it under the terms of the GNU General Public License as published by
6
+ the Free Software Foundation, either version 3 of the License, or
7
+ (at your option) any later version.
8
+
9
+ This program is distributed in the hope that it will be useful,
10
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
11
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
+ GNU General Public License for more details.
13
+
14
+ You should have received a copy of the GNU General Public License
15
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
data/README.md ADDED
@@ -0,0 +1,45 @@
1
+ Nodal Associative Knowledge Shell
2
+ =========
3
+
4
+ # Written by Mahmut Bulut
5
+ # Project starting date May 21, 2011
6
+ # Bleeding Edge Version: 0.2.0
7
+
8
+ ## Welcome to Naksh!
9
+
10
+
11
+ No installation or uninstallation is required at the moment,
12
+ just run naksh/lib/naksh.rb from any directory
13
+
14
+ or install gem via
15
+
16
+ <pre><code> # gem install naksh </code></pre>
17
+
18
+ There are currently two interfaces, one in Gtk, which is fairly
19
+ complete except for menu tooltips and tabs, and one in Wx, which has
20
+ menu tooltips and proper tabbing, but nothing else.
21
+
22
+
23
+ Lets rundown some important files
24
+
25
+ lib/naksh.rb is the principal file.
26
+ lib/naksh/syntax/bash.rb is the parser
27
+ lib/naksh/buffer.rb is the buffering system (for piping)
28
+
29
+ ## Drive the project and SUPPORT
30
+
31
+ If you have any issues, feel free to SCREAM in
32
+
33
+ * #naksh on irc.freenode.net
34
+
35
+ ## Repository
36
+
37
+ The git repository is available
38
+
39
+ 'http://github.com/regularlambda/naksh'
40
+
41
+ downloads are generally available at
42
+
43
+ * http://github.com/regularlambda/naksh
44
+
45
+ 'Downloads' section.
data/Rakefile ADDED
@@ -0,0 +1,129 @@
1
+ #!/usr/local/bin/ruby
2
+ # 2011 Mahmut Bulut
3
+
4
+ # This file is part of Naksh.
5
+ #
6
+ # Naksh is free software: you can redistribute it and/or modify
7
+ # it under the terms of the GNU General Public License as published by
8
+ # the Free Software Foundation, either version 3 of the License, or
9
+ # (at your option) any later version.
10
+ #
11
+ # Naksh is distributed in the hope that it will be useful,
12
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+ # GNU General Public License for more details.
15
+ #
16
+ # You should have received a copy of the GNU General Public License
17
+ # along with Naksh. If not, see <http://www.gnu.org/licenses/>.
18
+
19
+ load 'naksh.gemspec'
20
+ require 'rake'
21
+ require 'rake/testtask'
22
+ require 'rake/rdoctask'
23
+ require 'rake/gempackagetask'
24
+ require 'spec/rake/spectask'
25
+
26
+ rule 'bin/*' do |*a|
27
+ p a
28
+ true
29
+ end
30
+
31
+
32
+ desc 'Remove any files outside the naksh main directory, such as those created by GConf'
33
+ task :uninstall do |t|
34
+ `rm -r --force ~/.gconf/apps/naksh`
35
+ end
36
+
37
+
38
+ Rake::RDocTask.new do |rd|
39
+ rd.main = "README.rdoc"
40
+ rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
41
+ end
42
+
43
+ Rake::RDocTask.new :rdoc_dev do |rd|
44
+ rd.main = "README.doc"
45
+ rd.rdoc_files.include("README.rdoc", "lib/**/*.rb")
46
+ rd.options << "--all"
47
+ end
48
+
49
+ desc 'Send rdoc to rubyforge'
50
+ task :rf_doc do
51
+ `sudo chmod -R 755 doc`
52
+ `/usr/bin/scp -r -p docs/rdoc* db-keen@rubyforge.org:/var/www/gforge-projects/naksh/docs/rdoc`
53
+ end
54
+
55
+ =begin
56
+ desc "Run all tests"
57
+ Rake::TestTask.new do |t|
58
+ t.libs << "test"
59
+ t.test_files = FileList['test/*/**/*.rb']
60
+ t.verbose = true
61
+ end
62
+ =end
63
+
64
+ desc "Run all specs"
65
+ Spec::Rake::SpecTask.new 'spec' do |t|
66
+ t.spec_files = FileList['test/**/*.rspec.rb']
67
+ t.spec_opts = ['--options', 'spec.opts']
68
+ end
69
+
70
+
71
+ desc "Run all specs and generate an rcov report"
72
+ Spec::Rake::SpecTask.new 'spec:rcov' do |t|
73
+ t.spec_files = FileList['test/**/*.rspec.rb']
74
+ t.spec_opts = ['--options', 'spec.opts']
75
+ t.rcov = true
76
+ t.rcov_dir = 'coverage'
77
+ t.rcov_opts = ['--exclude', 'gems', '--exclude', 'spec']
78
+ end
79
+
80
+
81
+ Rake::GemPackageTask.new($spec) do |p|
82
+ p.need_tar = true
83
+ p.need_tar_gz = true
84
+ p.need_tar_bz2 = true
85
+ p.need_zip = true
86
+ p.package_files.exclude("site")
87
+ end
88
+
89
+ desc 'Upgrade to a newer version of the same installation type'
90
+ task :update do |t|
91
+ raise NotImplementedError
92
+ end
93
+
94
+
95
+ desc 'Copy working copy to public site'
96
+ task 'commit_site' do |t|
97
+ `cd #{__FILE__}`
98
+ `svn commit`
99
+ end
100
+ desc "Generate HTML report for failing examples"
101
+ Spec::Rake::SpecTask.new('failing_examples_with_html') do |t|
102
+ t.spec_files = FileList['failing_examples/**/*.rb']
103
+ t.spec_opts = ["--format", "html:../doc/output/documentation/tools/failing_examples.html", "--diff"]
104
+ t.fail_on_error = false
105
+ end
106
+
107
+
108
+ desc 'Copy website to working copy'
109
+ task 'load_site' do |t|
110
+ raise NotImplementedError
111
+ end
112
+
113
+ desc "Generate PO translation files"
114
+ task :prep_translation do
115
+ TEXT_DOMAIN = "naksh"
116
+ VERSION = "Naksh 0.2.0"
117
+ GetText.update_pofiles(TEXT_DOMAIN,Dir.glob("{lib,bin,test}/**/*.{rb,nkc}"),VERSION)
118
+ end
119
+
120
+ desc 'Check online to see if a newer version is available (doesn\'t work)'
121
+ task 'check_updates' do |t|
122
+ $stderr.puts 'check updates is not expected to work at this time'
123
+ raise NotImplementedError
124
+ require 'network/http'
125
+ require 'xri/url'
126
+ require 'scooter/json'
127
+ Json.load(Network.http_request('http://naksh.rubyforge.org/status/releases.json'.to_url).body).to_stnkct.latest.date>self.date
128
+ end
129
+
data/TODO ADDED
@@ -0,0 +1,19 @@
1
+ Todo
2
+
3
+ bash.rb
4
+
5
+ > redirection
6
+ $var substitution
7
+ * replacement
8
+
9
+
10
+
11
+ We always need to add more commands!
12
+
13
+ ** Gem platform (Linux, Mac, Windows gem creation)
14
+ ** Hard coders apreciate above aim.
15
+ ** Tweakers will tweak built-ins.
16
+
17
+ See naksh/commands/bash/echo.nkc.rb for an example.
18
+
19
+ At the moment, the .nkc.rb ending is a flag to Naksh that it was built just for us.
data/bin/naksh ADDED
@@ -0,0 +1,2 @@
1
+ #!/bin/sh
2
+ ruby lib/naksh.rb
data/data/default.mo ADDED
Binary file
data/data/default.po ADDED
@@ -0,0 +1,16 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Plural-Forms: singular,plural\n"
4
+ "Project-Id-Version: Naksh 0.2.0\n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: 2011-12-24 18:18-0600\n"
7
+ "Last-Translator: Mahmut Bulut <scienceblock@gmail.com>\n"
8
+ "Language-Team: http://naksh.rubyforge.org/contributors#translators <naksh-developers@rubyforge.org>\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=utf-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-Language: English\n"
13
+ "X-Poedit-Country: UNITED STATES\n"
14
+ "X-Poedit-SourceCharset: utf-8\n"
15
+ "X-Poedit-KeywordsList: _(\n"
16
+
data/data/default2.mo ADDED
Binary file
data/data/default2.po ADDED
@@ -0,0 +1,27 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Naksh 0.2.0\n"
4
+ "POT-Creation-Date: \n"
5
+ "PO-Revision-Date: 2011-12-24 18:22-0600\n"
6
+ "Last-Translator: Mahmut Bulut <scienceblock@gmail.com>\n"
7
+ "Language-Team: http://naksh.rubyforge.org/contributors <naksh-developers@rubyforge.org>\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=utf-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "Plural-Forms: Singular,Plural\n"
12
+ "X-Poedit-Language: English\n"
13
+ "X-Poedit-Country: UNITED STATES\n"
14
+ "X-Poedit-SourceCharset: utf-8\n"
15
+
16
+ #: lib/naksh.rb:55
17
+ msgid "Naksh: "
18
+ msgstr "Naksh says: "
19
+
20
+ #: lib/naksh/command_handling.rb:88
21
+ msgid "%{command}: command not found"
22
+ msgstr "I couldn't find a command named `%{command}'."
23
+
24
+ #: lib/naksh/syntax/bash.rb:117
25
+ msgid "commands cannot begin with the following character"
26
+ msgstr "You can't start a command with "
27
+
data/data/starter.pot ADDED
@@ -0,0 +1,29 @@
1
+ # SOME DESCRIPTIVE TITLE.
2
+ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
3
+ # This file is distributed under the same license as the PACKAGE package.
4
+ # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
+ #
6
+ #, fuzzy
7
+ msgid ""
8
+ msgstr ""
9
+ "Project-Id-Version: PACKAGE VERSION\n"
10
+ "POT-Creation-Date: 2011-12-24 18:17-0600\n"
11
+ "PO-Revision-Date: 2011-12-24 18:17-0600\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "MIME-Version: 1.0\n"
15
+ "Content-Type: text/plain; charset=UTF-8\n"
16
+ "Content-Transfer-Encoding: 8bit\n"
17
+ "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
18
+
19
+ #: lib/naksh.rb:55
20
+ msgid "Naksh: "
21
+ msgstr ""
22
+
23
+ #: lib/naksh/command_handling.rb:88
24
+ msgid "%{command}: command not found"
25
+ msgstr ""
26
+
27
+ #: lib/naksh/syntax/bash.rb:117
28
+ msgid "commands cannot begin with the following character"
29
+ msgstr ""
Binary file
@@ -0,0 +1,13 @@
1
+ This is the manual for the GTK interface to Naksh.
2
+
3
+ KEYS
4
+
5
+ Up - Go back one history entry
6
+ Down - Go forward one history entry
7
+ PageUp - Go to the first history entry
8
+ PageDown - Go to the last history entry
9
+ Home - Move cursor to the beginning of the current entry
10
+ End - Move cursor to the end of the current entry
11
+ Return - Submit
12
+ KeypadEnter - 'line feed' character
13
+ Escape - erase current entry
Binary file
Binary file
@@ -0,0 +1,74 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/PR-SVG-20010719/DTD/svg10.dtd">
3
+ <svg width="19cm" height="20cm" viewBox="15 3 19 20">
4
+ <rect style="fill: #ffffff" x="15.45" y="3.85" width="6" height="1.35"/>
5
+ <rect style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x="15.45" y="3.85" width="6" height="1.35"/>
6
+ <text style="fill: #000000; font-size: 0.8 cm; length: 5.1675 cm; font-family: sans; font-style: normal; font-weight: normal" x="15.8662" y="4.5975">input_mechanism</text>
7
+ <text style="fill: #000000; font-size: 0.8 cm; length: 10.4775 cm; font-family: sans; font-style: normal; font-weight: normal" x="15.7313" y="6.56647">Naksh.syntax.execute(script_str)</text>
8
+ <rect style="fill: #ffffff" x="15.45" y="7.35" width="6.3" height="1.25"/>
9
+ <rect style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x="15.45" y="7.35" width="6.3" height="1.25"/>
10
+ <text style="fill: #000000; font-size: 0.8 cm; length: 5.535 cm; font-family: sans; font-style: normal; font-weight: normal" x="15.8325" y="8.03897">parser_mechanism</text>
11
+ <text style="fill: #000000; font-size: 0.8 cm; length: 17.995 cm; font-family: sans; font-style: normal; font-weight: normal" x="15.81" y="10.189">Naksh.send_command(command_name_str,array_of_args)</text>
12
+ <rect style="fill: #ffffff" x="15.44" y="20.955" width="6" height="1.35"/>
13
+ <rect style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x="15.44" y="20.955" width="6" height="1.35"/>
14
+ <text style="fill: #000000; font-size: 0.8 cm; length: 5.59 cm; font-family: sans; font-style: normal; font-weight: normal" x="15.645" y="21.694">output_mechanism</text>
15
+ <text style="fill: #000000; font-size: 0.8 cm; length: 13.1625 cm; font-family: sans; font-style: normal; font-weight: normal" x="15.8387" y="17.489">Naksh.buffer.puts or Naksh.buffer.print</text>
16
+ <rect style="fill: #ffffff" x="15.5" y="14.55" width="8.3" height="1.35"/>
17
+ <rect style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x="15.5" y="14.55" width="8.3" height="1.35"/>
18
+ <text style="fill: #000000; font-size: 0.8 cm; length: 0 cm; font-family: sans; font-style: normal; font-weight: normal" x="19.65" y="15.225"></text>
19
+ <text style="fill: #000000; font-size: 0.8 cm; length: 7.32 cm; font-family: sans; font-style: normal; font-weight: normal" x="15.99" y="15.2975">A separate command file</text>
20
+ <rect style="fill: #ffffff" x="15.45" y="11.45" width="7.4" height="1.4"/>
21
+ <rect style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x="15.45" y="11.45" width="7.4" height="1.4"/>
22
+ <text style="fill: #000000; font-size: 0.8 cm; length: 6.845 cm; font-family: sans; font-style: normal; font-weight: normal" x="15.7275" y="12.2225">command/path handler</text>
23
+ <ellipse style="fill: #ffffff" cx="27.125" cy="8.05" rx="1.475" ry="0.8"/>
24
+ <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="27.125" cy="8.05" rx="1.475" ry="0.8"/>
25
+ <text style="fill: #000000; font-size: 0.8 cm; length: 2.225 cm; font-family: sans; font-style: normal; font-weight: normal" x="26.0125" y="8.1225">Bash.rb</text>
26
+ <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="22.287" y1="8.00744" x2="25.1137" y2="8.0323"/>
27
+ <polygon style="fill: #000000" points="21.9121,8.00414 22.4142,7.75855 22.287,8.00744 22.4098,8.25853 "/>
28
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="21.9121,8.00414 22.4142,7.75855 22.287,8.00744 22.4098,8.25853 "/>
29
+ <polygon style="fill: #000000" points="25.4886,8.0356 24.9865,8.2812 25.1137,8.0323 24.9909,7.78121 "/>
30
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="25.4886,8.0356 24.9865,8.2812 25.1137,8.0323 24.9909,7.78121 "/>
31
+ <ellipse style="fill: #ffffff" cx="26.925" cy="4.225" rx="1.775" ry="0.825"/>
32
+ <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="26.925" cy="4.225" rx="1.775" ry="0.825"/>
33
+ <text style="fill: #000000; font-size: 0.8 cm; length: 2.3925 cm; font-family: sans; font-style: normal; font-weight: normal" x="25.7287" y="4.2975">Highline</text>
34
+ <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="21.9869" y1="4.3998" x2="24.6343" y2="4.30609"/>
35
+ <polygon style="fill: #000000" points="21.6121,4.41307 22.1029,4.14554 21.9869,4.3998 22.1206,4.64522 "/>
36
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="21.6121,4.41307 22.1029,4.14554 21.9869,4.3998 22.1206,4.64522 "/>
37
+ <polygon style="fill: #000000" points="25.009,4.29282 24.5182,4.56035 24.6343,4.30609 24.5005,4.06067 "/>
38
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="25.009,4.29282 24.5182,4.56035 24.6343,4.30609 24.5005,4.06067 "/>
39
+ <ellipse style="fill: #ffffff" cx="27.4523" cy="21.575" rx="1.775" ry="0.825"/>
40
+ <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="27.4523" cy="21.575" rx="1.775" ry="0.825"/>
41
+ <text style="fill: #000000; font-size: 0.8 cm; length: 2.3925 cm; font-family: sans; font-style: normal; font-weight: normal" x="26.256" y="21.6475">Highline</text>
42
+ <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="21.9769" y1="21.6031" x2="25.1905" y2="21.5787"/>
43
+ <polygon style="fill: #000000" points="21.6019,21.606 22.1,21.3522 21.9769,21.6031 22.1038,21.8522 "/>
44
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="21.6019,21.606 22.1,21.3522 21.9769,21.6031 22.1038,21.8522 "/>
45
+ <polygon style="fill: #000000" points="25.5655,21.5758 25.0674,21.8296 25.1905,21.5787 25.0636,21.3297 "/>
46
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="25.5655,21.5758 25.0674,21.8296 25.1905,21.5787 25.0636,21.3297 "/>
47
+ <ellipse style="fill: #ffffff" cx="29.7891" cy="12.25" rx="3.76086" ry="0.95"/>
48
+ <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="29.7891" cy="12.25" rx="3.76086" ry="0.95"/>
49
+ <text style="fill: #000000; font-size: 0.8 cm; length: 6.53 cm; font-family: sans; font-style: normal; font-weight: normal" x="26.5241" y="12.3225">command_handling.rb</text>
50
+ <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="23.387" y1="12.2116" x2="25.5415" y2="12.2429"/>
51
+ <polygon style="fill: #000000" points="23.012,12.2061 23.5156,11.9634 23.387,12.2116 23.5083,12.4634 "/>
52
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="23.012,12.2061 23.5156,11.9634 23.387,12.2116 23.5083,12.4634 "/>
53
+ <polygon style="fill: #000000" points="25.9165,12.2484 25.4129,12.4911 25.5415,12.2429 25.4202,11.9911 "/>
54
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="25.9165,12.2484 25.4129,12.4911 25.5415,12.2429 25.4202,11.9911 "/>
55
+ <ellipse style="fill: #ffffff" cx="30.625" cy="15.075" rx="2.275" ry="0.775"/>
56
+ <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="30.625" cy="15.075" rx="2.275" ry="0.775"/>
57
+ <text style="fill: #000000; font-size: 0.8 cm; length: 3.305 cm; font-family: sans; font-style: normal; font-weight: normal" x="28.9725" y="15.1475">echo.nkc.rb</text>
58
+ <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="24.3361" y1="15.161" x2="27.8148" y2="15.1134"/>
59
+ <polygon style="fill: #000000" points="23.9612,15.1661 24.4577,14.9093 24.3361,15.161 24.4645,15.4092 "/>
60
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="23.9612,15.1661 24.4577,14.9093 24.3361,15.161 24.4645,15.4092 "/>
61
+ <polygon style="fill: #000000" points="28.1898,15.1083 27.6933,15.3651 27.8148,15.1134 27.6864,14.8651 "/>
62
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="28.1898,15.1083 27.6933,15.3651 27.8148,15.1134 27.6864,14.8651 "/>
63
+ <rect style="fill: #ffffff" x="15.41" y="18.355" width="7.09" height="1.35"/>
64
+ <rect style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x="15.41" y="18.355" width="7.09" height="1.35"/>
65
+ <text style="fill: #000000; font-size: 0.8 cm; length: 6.3175 cm; font-family: sans; font-style: normal; font-weight: normal" x="15.7962" y="19.1025">buffering_mechanism</text>
66
+ <ellipse style="fill: #ffffff" cx="27.4223" cy="18.975" rx="1.6277" ry="0.975"/>
67
+ <ellipse style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" cx="27.4223" cy="18.975" rx="1.6277" ry="0.975"/>
68
+ <text style="fill: #000000; font-size: 0.8 cm; length: 2.49 cm; font-family: sans; font-style: normal; font-weight: normal" x="26.1773" y="19.039">buffer.rb</text>
69
+ <line style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" x1="23.0361" y1="18.9972" x2="25.3078" y2="18.9789"/>
70
+ <polygon style="fill: #000000" points="22.6611,19.0002 23.1591,18.7462 23.0361,18.9972 23.1631,19.2462 "/>
71
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="22.6611,19.0002 23.1591,18.7462 23.0361,18.9972 23.1631,19.2462 "/>
72
+ <polygon style="fill: #000000" points="25.6828,18.9759 25.1848,19.2299 25.3078,18.9789 25.1808,18.7299 "/>
73
+ <polygon style="fill: none; fill-opacity:0; stroke-width: 0.1; stroke: #000000" points="25.6828,18.9759 25.1848,19.2299 25.3078,18.9789 25.1808,18.7299 "/>
74
+ </svg>
Binary file
@@ -0,0 +1,42 @@
1
+ <!--
2
+ This is part of the Naksh Manual.
3
+ Copyright (C) 2011-2008 Mahmut Bulut
4
+ See the file alexandria.xml for copying conditions.
5
+ -->
6
+
7
+ <!-- ============= About ================================== -->
8
+ <!-- This section contains info about the program (not docs), such as
9
+ author's name(s), web page, license, feedback address. This
10
+ section is optional: primary place for this info is "About.." box of
11
+ the program. However, if you do wish to include this info in the
12
+ manual, this is the place to put it. Alternatively, you can put
13
+ this information in the title page.-->
14
+
15
+ <section id="about">
16
+ <title>About &app;</title>
17
+
18
+ <para>
19
+ &app; was effectively created by chatter on the ruby-talk mailing
20
+ list in October 2011. It has thus far been written almost entirely
21
+ by Mahmut Bulut. For a list of other contributors, see
22
+ the file AUTHORS that came with &app;. For more information, visit
23
+ the &app; project <ulink url="http://naksh.rubyforge.org/"
24
+ type="http">web page</ulink>.
25
+ </para>
26
+
27
+ <para>
28
+ To report a bug or make a suggestion regarding the &app;
29
+ application or this manual, follow the directions on the <ulink
30
+ url="http://naksh.rubyforge.org/dev/feedback" type="http">&app;
31
+ Feedback web page</ulink>.
32
+ </para>
33
+
34
+ <para>
35
+ &app; is distributed under the terms of the GNU General Public
36
+ license as published by the Free Software Foundation; either
37
+ version 3 of the License, or (at your option) any later version. A
38
+ copy of this license can be found at this <ulink url="ghelp:gpl"
39
+ type="help">link</ulink>, or in the file COPYING included with the
40
+ source code of this program.
41
+ </para>
42
+ </section>
@@ -0,0 +1,543 @@
1
+ <!--
2
+ Copyright (C) 2000,2001,2002 Free Software Foundation, Inc.
3
+ 51 Franklin St, Fifth Floor, Boston, MA 0.2.0-1301 USA
4
+ Everyone is permitted to copy and distribute verbatim copies
5
+ of this license document, but changing it is not allowed.
6
+ -->
7
+ <appendix id="gfdl">
8
+ <title>GNU Free Documentation License</title>
9
+ <subtitle>Version 1.2, November 2002</subtitle>
10
+ <para>
11
+ Copyright &copy; 2000, 2001, 2002 Free Software
12
+ Foundation, <abbrev>Inc.</abbrev>
13
+ <address>
14
+ <street>51 Franklin <abbrev>St</abbrev>, Fifth Floor</street>,
15
+ <city>Boston</city>,
16
+ <state><abbrev>MA</abbrev></state> <postcode>02111-1307</postcode>
17
+ <country><abbrev role="initialism">USA</abbrev></country>
18
+ </address>
19
+
20
+ Everyone is permitted to copy and distribute verbatim copies of
21
+ this license document, but changing it is not allowed.
22
+ </para>
23
+
24
+ <appendixinfo>
25
+ <title>GNU Free Documentation License</title>
26
+ <releaseinfo>
27
+ Version 1.2, November 2002
28
+ </releaseinfo>
29
+
30
+ <copyright>
31
+ <year>2000</year>
32
+ <year>2001</year>
33
+ <year>2002</year>
34
+ <holder>Free Software Foundation, <abbrev>Inc.</abbrev></holder>
35
+ </copyright>
36
+
37
+ <corpauthor>
38
+ <surname>Free Software Foundation</surname>
39
+ </corpauthor>
40
+
41
+ <legalnotice id="legalnotice">
42
+ <para>
43
+ Everyone is permitted to copy and distribute verbatim copies
44
+ of this license document, but changing it is not allowed.
45
+ </para>
46
+ </legalnotice>
47
+
48
+ </appendixinfo>
49
+
50
+
51
+ <section id="Preamble" label="0. ">
52
+ <title>PREAMBLE</title>
53
+ <para>
54
+ The purpose of this License is to make a manual, textbook, or other
55
+ functional and useful document "free" in the sense of freedom: to assure
56
+ everyone the effective freedom to copy and redistribute it, with or
57
+ without modifying it, either commercially or noncommercially.
58
+ Secondarily, this License preserves for the author and publisher a way to
59
+ get credit for their work, while not being considered responsible for
60
+ modifications made by others.
61
+ </para>
62
+ <para>
63
+ This License is a kind of "copyleft", which means that derivative works of
64
+ the document must themselves be free in the same sense. It complements
65
+ the GNU General Public License, which is a copyleft license designed for
66
+ free software.
67
+ </para>
68
+ <para>
69
+ We have designed this License in order to use it for manuals for free
70
+ software, because free software needs free documentation: a free program
71
+ should come with manuals providing the same freedoms that the software
72
+ does. But this License is not limited to software manuals; it can be used
73
+ for any textual work, regardless of subject matter or whether it is
74
+ published as a printed book. We recommend this License principally for
75
+ works whose purpose is instnkction or reference.</para>
76
+ </section>
77
+ <section id="Definitions" label="1. ">
78
+ <title>APPLICABILITY AND DEFINITIONS</title>
79
+ <para>
80
+ This License applies to any manual or other work, in any medium, that
81
+ contains a notice placed by the copyright holder saying it can be
82
+ distributed under the terms of this License. Such a notice grants a
83
+ world-wide, royalty-free license, unlimited in duration, to use that work
84
+ under the conditions stated herein. The "Document", below, refers to any
85
+ such manual or work. Any member of the public is a licensee, and is
86
+ addressed as "you". You accept the license if you copy, modify or
87
+ distribute the work in a way requiring permission under copyright
88
+ law.
89
+ </para>
90
+ <para>
91
+ A "Modified Version" of the Document means any work containing the
92
+ Document or a portion of it, either copied verbatim, or with modifications
93
+ and/or translated into another language.
94
+ </para>
95
+ <para>
96
+ A "Secondary Section" is a named appendix or a front-matter section of the
97
+ Document that deals exclusively with the relationship of the publishers or
98
+ authors of the Document to the Document's overall subject (or to related
99
+ matters) and contains nothing that could fall directly within that overall
100
+ subject. (Thus, if the Document is in part a textbook of mathematics, a
101
+ Secondary Section may not explain any mathematics.) The relationship
102
+ could be a matter of historical connection with the subject or with
103
+ related matters, or of legal, commercial, philosophical, ethical or
104
+ political position regarding them.
105
+ </para>
106
+ <para>
107
+ The "Invariant Sections" are certain Secondary Sections whose titles are
108
+ designated, as being those of Invariant Sections, in the notice that says
109
+ that the Document is released under this License. If a section does not
110
+ fit the above definition of Secondary then it is not allowed to be
111
+ designated as Invariant. The Document may contain zero Invariant
112
+ Sections. If the Document does not identify any Invariant Sections then
113
+ there are none.
114
+ </para>
115
+ <para>
116
+ The "Cover Texts" are certain short passages of text that are listed, as
117
+ Front-Cover Texts or Back-Cover Texts, in the notice that says that the
118
+ Document is released under this License. A Front-Cover Text may be at
119
+ most 5 words, and a Back-Cover Text may be at most 25 words.
120
+ </para>
121
+ <para>
122
+ A "Transparent" copy of the Document means a machine-readable copy,
123
+ represented in a format whose specification is available to the general
124
+ public, that is suitable for revising the document straightforwardly with
125
+ generic text editors or (for images composed of pixels) generic paint
126
+ programs or (for drawings) some widely available drawing editor, and that
127
+ is suitable for input to text formatters or for automatic translation to a
128
+ variety of formats suitable for input to text formatters. A copy made in
129
+ an otherwise Transparent file format whose markup, or absence of markup,
130
+ has been arranged to thwart or discourage subsequent modification by
131
+ readers is not Transparent. An image format is not Transparent if used
132
+ for any substantial amount of text. A copy that is not "Transparent" is
133
+ called "Opaque".
134
+ </para>
135
+ <para>
136
+ Examples of suitable formats for Transparent copies include plain ASCII
137
+ without markup, Texinfo input format, LaTeX input format, SGML or XML
138
+ using a publicly available DTD, and standard-conforming simple HTML,
139
+ PostScript or PDF designed for human modification. Examples of
140
+ transparent image formats include PNG, XCF and JPG. Opaque formats
141
+ include proprietary formats that can be read and edited only by
142
+ proprietary word processors, SGML or XML for which the DTD and/or
143
+ processing tools are not generally available, and the machine-generated
144
+ HTML, PostScript or PDF produced by some word processors for output
145
+ purposes only.
146
+ </para>
147
+ <para>
148
+ The "Title Page" means, for a printed book, the title page itself, plus
149
+ such following pages as are needed to hold, legibly, the material this
150
+ License requires to appear in the title page. For works in formats which
151
+ do not have any title page as such, "Title Page" means the text near the
152
+ most prominent appearance of the work's title, preceding the beginning of
153
+ the body of the text.
154
+ </para>
155
+ <para>
156
+ A section "Entitled XYZ" means a named subunit of the Document whose title
157
+ either is precisely XYZ or contains XYZ in parentheses following text that
158
+ translates XYZ in another language. (Here XYZ stands for a specific
159
+ section name mentioned below, such as "Acknowledgements", "Dedications",
160
+ "Endorsements", or "History".) To "Preserve the Title" of such a section
161
+ when you modify the Document means that it remains a section "Entitled
162
+ XYZ" according to this definition.
163
+ </para>
164
+ <para>
165
+ The Document may include Warranty Disclaimers next to the notice which
166
+ states that this License applies to the Document. These Warranty
167
+ Disclaimers are considered to be included by reference in this License,
168
+ but only as regards disclaiming warranties: any other implication that
169
+ these Warranty Disclaimers may have is void and has no effect on the
170
+ meaning of this License.
171
+ </para>
172
+ </section>
173
+ <section id="VerbatimCopying" label="2. ">
174
+ <title>VERBATIM COPYING</title>
175
+ <para>
176
+ You may copy and distribute the Document in any medium, either
177
+ commercially or noncommercially, provided that this License, the copyright
178
+ notices, and the license notice saying this License applies to the
179
+ Document are reproduced in all copies, and that you add no other
180
+ conditions whatsoever to those of this License. You may not use technical
181
+ measures to obstnkct or control the reading or further copying of the
182
+ copies you make or distribute. However, you may accept compensation in
183
+ exchange for copies. If you distribute a large enough number of copies
184
+ you must also follow the conditions in section 3.
185
+ </para>
186
+ <para>
187
+ You may also lend copies, under the same conditions stated above, and you
188
+ may publicly display copies.
189
+ </para>
190
+ </section>
191
+ <section id="QuantityCopying" label="3. ">
192
+ <title>COPYING IN QUANTITY</title>
193
+ <para>
194
+ If you publish printed copies (or copies in media that commonly have
195
+ printed covers) of the Document, numbering more than 100, and the
196
+ Document's license notice requires Cover Texts, you must enclose the
197
+ copies in covers that carry, clearly and legibly, all these Cover Texts:
198
+ Front-Cover Texts on the front cover, and Back-Cover Texts on the back
199
+ cover. Both covers must also clearly and legibly identify you as the
200
+ publisher of these copies. The front cover must present the full title
201
+ with all words of the title equally prominent and visible. You may add
202
+ other material on the covers in addition. Copying with changes limited to
203
+ the covers, as long as they preserve the title of the Document and satisfy
204
+ these conditions, can be treated as verbatim copying in other
205
+ respects.
206
+ </para>
207
+ <para>
208
+ If the required texts for either cover are too voluminous to fit legibly,
209
+ you should put the first ones listed (as many as fit reasonably) on the
210
+ actual cover, and continue the rest onto adjacent pages.
211
+ </para>
212
+ <para>
213
+ If you publish or distribute Opaque copies of the Document numbering more
214
+ than 100, you must either include a machine-readable Transparent copy
215
+ along with each Opaque copy, or state in or with each Opaque copy a
216
+ computer-network location from which the general network-using public has
217
+ access to download using public-standard network protocols a complete
218
+ Transparent copy of the Document, free of added material. If you use the
219
+ latter option, you must take reasonably prudent steps, when you begin
220
+ distribution of Opaque copies in quantity, to ensure that this Transparent
221
+ copy will remain thus accessible at the stated location until at least one
222
+ year after the last time you distribute an Opaque copy (directly or
223
+ through your agents or retailers) of that edition to the public.
224
+ </para>
225
+ <para>
226
+ It is requested, but not required, that you contact the authors of the
227
+ Document well before redistributing any large number of copies, to give
228
+ them a chance to provide you with an updated version of the
229
+ Document.
230
+ </para>
231
+ </section>
232
+ <section id="Modifications" label="4. ">
233
+ <title>MODIFICATIONS</title>
234
+ <para>
235
+ You may copy and distribute a Modified Version of the Document under the
236
+ conditions of sections 2 and 3 above, provided that you release the
237
+ Modified Version under precisely this License, with the Modified Version
238
+ filling the role of the Document, thus licensing distribution and
239
+ modification of the Modified Version to whoever possesses a copy of it.
240
+ In addition, you must do these things in the Modified Version:
241
+ </para>
242
+ <orderedlist numeration="upperalpha">
243
+ <listitem>
244
+ <simpara>
245
+ Use in the Title Page (and on the covers, if any) a title distinct
246
+ from that of the Document, and from those of previous versions (which
247
+ should, if there were any, be listed in the History section of the
248
+ Document). You may use the same title as a previous version if the
249
+ original publisher of that version gives permission.
250
+ </simpara>
251
+ </listitem>
252
+ <listitem>
253
+ <simpara>
254
+ List on the Title Page, as authors, one or more persons or entities
255
+ responsible for authorship of the modifications in the Modified
256
+ Version, together with at least five of the principal authors of the
257
+ Document (all of its principal authors, if it has fewer than five),
258
+ unless they release you from this requirement.
259
+ </simpara>
260
+ </listitem>
261
+ <listitem>
262
+ <simpara>
263
+ State on the Title page the name of the publisher of the Modified
264
+ Version, as the publisher.
265
+ </simpara>
266
+ </listitem>
267
+ <listitem>
268
+ <simpara>
269
+ Preserve all the copyright notices of the Document.
270
+ </simpara>
271
+ </listitem>
272
+ <listitem>
273
+ <simpara>
274
+ Add an appropriate copyright notice for your modifications adjacent to
275
+ the other copyright notices.
276
+ </simpara>
277
+ </listitem>
278
+ <listitem>
279
+ <simpara>
280
+ Include, immediately after the copyright notices, a license notice
281
+ giving the public permission to use the Modified Version under the
282
+ terms of this License, in the form shown in the Addendum below.
283
+ </simpara>
284
+ </listitem>
285
+ <listitem>
286
+ <simpara>
287
+ Preserve in that license notice the full lists of Invariant Sections
288
+ and required Cover Texts given in the Document's license notice.
289
+ </simpara>
290
+ </listitem>
291
+ <listitem>
292
+ <simpara>
293
+ Include an unaltered copy of this License.
294
+ </simpara>
295
+ </listitem>
296
+ <listitem>
297
+ <simpara>
298
+ Preserve the section Entitled "History", Preserve its Title, and add
299
+ to it an item stating at least the title, year, new authors, and
300
+ publisher of the Modified Version as given on the Title Page. If
301
+ there is no section Entitled "History" in the Document, create one
302
+ stating the title, year, authors, and publisher of the Document as
303
+ given on its Title Page, then add an item describing the Modified
304
+ Version as stated in the previous sentence.
305
+ </simpara>
306
+ </listitem>
307
+ <listitem>
308
+ <simpara>
309
+ Preserve the network location, if any, given in the Document for
310
+ public access to a Transparent copy of the Document, and likewise the
311
+ network locations given in the Document for previous versions it was
312
+ based on. These may be placed in the "History" section. You may omit
313
+ a network location for a work that was published at least four years
314
+ before the Document itself, or if the original publisher of the
315
+ version it refers to gives permission.
316
+ </simpara>
317
+ </listitem>
318
+ <listitem>
319
+ <simpara>
320
+ For any section Entitled "Acknowledgements" or "Dedications", Preserve
321
+ the Title of the section, and preserve in the section all the
322
+ substance and tone of each of the contributor acknowledgements and/or
323
+ dedications given therein.
324
+ </simpara>
325
+ </listitem>
326
+ <listitem>
327
+ <simpara>
328
+ Preserve all the Invariant Sections of the Document, unaltered in
329
+ their text and in their titles. Section numbers or the equivalent are
330
+ not considered part of the section titles.
331
+ </simpara>
332
+ </listitem>
333
+ <listitem>
334
+ <simpara>
335
+ Delete any section Entitled "Endorsements". Such a section may not be
336
+ included in the Modified Version.
337
+ </simpara>
338
+ </listitem>
339
+ <listitem>
340
+ <simpara>
341
+ Do not retitle any existing section to be Entitled "Endorsements" or
342
+ to conflict in title with any Invariant Section.
343
+ </simpara>
344
+ </listitem>
345
+ <listitem>
346
+ <simpara>
347
+ Preserve any Warranty Disclaimers.
348
+ </simpara>
349
+ </listitem>
350
+ </orderedlist>
351
+ <para>
352
+ If the Modified Version includes new front-matter sections or appendices
353
+ that qualify as Secondary Sections and contain no material copied from the
354
+ Document, you may at your option designate some or all of these sections
355
+ as invariant. To do this, add their titles to the list of Invariant
356
+ Sections in the Modified Version's license notice. These titles must be
357
+ distinct from any other section titles.
358
+ </para>
359
+ <para>
360
+ You may add a section Entitled "Endorsements", provided it contains
361
+ nothing but endorsements of your Modified Version by various parties--for
362
+ example, statements of peer review or that the text has been approved by
363
+ an organization as the authoritative definition of a standard.
364
+ </para>
365
+ <para>
366
+ You may add a passage of up to five words as a Front-Cover Text, and a
367
+ passage of up to 25 words as a Back-Cover Text, to the end of the list of
368
+ Cover Texts in the Modified Version. Only one passage of Front-Cover Text
369
+ and one of Back-Cover Text may be added by (or through arrangements made
370
+ by) any one entity. If the Document already includes a cover text for the
371
+ same cover, previously added by you or by arrangement made by the same
372
+ entity you are acting on behalf of, you may not add another; but you may
373
+ replace the old one, on explicit permission from the previous publisher
374
+ that added the old one.
375
+ </para>
376
+ <para>
377
+ The author(s) and publisher(s) of the Document do not by this License give
378
+ permission to use their names for publicity for or to assert or imply
379
+ endorsement of any Modified Version.
380
+ </para>
381
+ </section>
382
+ <section id="Combining" label="5. ">
383
+ <title>COMBINING DOCUMENTS</title>
384
+ <para>
385
+ You may combine the Document with other documents released under this
386
+ License, under the terms defined in section 4 above for modified versions,
387
+ provided that you include in the combination all of the Invariant Sections
388
+ of all of the original documents, unmodified, and list them all as
389
+ Invariant Sections of your combined work in its license notice, and that
390
+ you preserve all their Warranty Disclaimers.
391
+ </para>
392
+ <para>
393
+ The combined work need only contain one copy of this License, and multiple
394
+ identical Invariant Sections may be replaced with a single copy. If there
395
+ are multiple Invariant Sections with the same name but different contents,
396
+ make the title of each such section unique by adding at the end of it, in
397
+ parentheses, the name of the original author or publisher of that section
398
+ if known, or else a unique number. Make the same adjustment to the
399
+ section titles in the list of Invariant Sections in the license notice of
400
+ the combined work.
401
+ </para>
402
+ <para>
403
+ In the combination, you must combine any sections Entitled "History" in
404
+ the various original documents, forming one section Entitled "History";
405
+ likewise combine any sections Entitled "Acknowledgements", and any
406
+ sections Entitled "Dedications". You must delete all sections Entitled
407
+ "Endorsements".
408
+ </para>
409
+ </section>
410
+ <section id="Collections" label="6. ">
411
+ <title>COLLECTIONS OF DOCUMENTS</title>
412
+ <para>
413
+ You may make a collection consisting of the Document and other documents
414
+ released under this License, and replace the individual copies of this
415
+ License in the various documents with a single copy that is included in
416
+ the collection, provided that you follow the rules of this License for
417
+ verbatim copying of each of the documents in all other respects.
418
+ </para>
419
+ <para>
420
+ You may extract a single document from such a collection, and distribute
421
+ it individually under this License, provided you insert a copy of this
422
+ License into the extracted document, and follow this License in all other
423
+ respects regarding verbatim copying of that document.
424
+ </para>
425
+ </section>
426
+ <section id="Aggregation" label="7. ">
427
+ <title>AGGREGATION WITH INDEPENDENT WORKS</title>
428
+ <para>
429
+ A compilation of the Document or its derivatives with other separate and
430
+ independent documents or works, in or on a volume of a storage or
431
+ distribution medium, is called an "aggregate" if the copyright resulting
432
+ from the compilation is not used to limit the legal rights of the
433
+ compilation's users beyond what the individual works permit. When the
434
+ Document is included in an aggregate, this License does not apply to the
435
+ other works in the aggregate which are not themselves derivative works of
436
+ the Document.
437
+ </para>
438
+ <para>
439
+ If the Cover Text requirement of section 3 is applicable to these copies
440
+ of the Document, then if the Document is less than one half of the entire
441
+ aggregate, the Document's Cover Texts may be placed on covers that bracket
442
+ the Document within the aggregate, or the electronic equivalent of covers
443
+ if the Document is in electronic form. Otherwise they must appear on
444
+ printed covers that bracket the whole aggregate.
445
+ </para>
446
+ </section>
447
+ <section id="Translation" label="8. ">
448
+ <title>TRANSLATION</title>
449
+ <para>
450
+ Translation is considered a kind of modification, so you may distribute
451
+ translations of the Document under the terms of section 4. Replacing
452
+ Invariant Sections with translations requires special permission from
453
+ their copyright holders, but you may include translations of some or all
454
+ Invariant Sections in addition to the original versions of these Invariant
455
+ Sections. You may include a translation of this License, and all the
456
+ license notices in the Document, and any Warranty Disclaimers, provided
457
+ that you also include the original English version of this License and the
458
+ original versions of those notices and disclaimers. In case of a
459
+ disagreement between the translation and the original version of this
460
+ License or a notice or disclaimer, the original version will prevail.
461
+ </para>
462
+ <para>
463
+ If a section in the Document is Entitled "Acknowledgements",
464
+ "Dedications", or "History", the requirement (section 4) to Preserve its
465
+ Title (section 1) will typically require changing the actual title.
466
+ </para>
467
+ </section>
468
+ <section id="Termination" label="9. ">
469
+ <title>TERMINATION</title>
470
+ <para>
471
+ You may not copy, modify, sublicense, or distribute the Document except as
472
+ expressly provided for under this License. Any other attempt to copy,
473
+ modify, sublicense or distribute the Document is void, and will
474
+ automatically terminate your rights under this License. However, parties
475
+ who have received copies, or rights, from you under this License will not
476
+ have their licenses terminated so long as such parties remain in full
477
+ compliance.
478
+ </para>
479
+ </section>
480
+ <section id="FutureRevisions" label="10. ">
481
+ <title>FUTURE REVISIONS OF THIS LICENSE</title>
482
+ <para>
483
+ The Free Software Foundation may publish new, revised versions of the GNU
484
+ Free Documentation License from time to time. Such new versions will be
485
+ similar in spirit to the present version, but may differ in detail to
486
+ address new problems or concerns. See <ulink
487
+ url="http://www.gnu.org/copyleft/">http://www.gnu.org/copyleft/</ulink>.
488
+ </para>
489
+ <para>
490
+ Each version of the License is given a distinguishing version number. If
491
+ the Document specifies that a particular numbered version of this License
492
+ "or any later version" applies to it, you have the option of following the
493
+ terms and conditions either of that specified version or of any later
494
+ version that has been published (not as a draft) by the Free Software
495
+ Foundation. If the Document does not specify a version number of this
496
+ License, you may choose any version ever published (not as a draft) by the
497
+ Free Software Foundation.
498
+ </para>
499
+ </section>
500
+ <section id="HowToUse" label="ADDENDUM: ">
501
+ <title>How to use this License for your documents</title>
502
+
503
+ <para>
504
+ To use this License in a document you have written, include a copy of the
505
+ License in the document and put the following copyright and license
506
+ notices just after the title page:
507
+ </para>
508
+ <blockquote>
509
+ <para>
510
+ Copyright &copy; YEAR YOUR NAME.
511
+ </para>
512
+ <para>
513
+ Permission is granted to copy, distribute and/or modify this document
514
+ under the terms of the GNU Free Documentation License, Version 1.2 or
515
+ any later version published by the Free Software Foundation; with no
516
+ Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A
517
+ copy of the license is included in the section entitled "GNU Free
518
+ Documentation License".
519
+ </para>
520
+ </blockquote>
521
+ <para>
522
+ If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
523
+ replace the "with...Texts." line with this:
524
+ </para>
525
+ <blockquote>
526
+ <para>
527
+ with the Invariant Sections being LIST THEIR TITLES, with the
528
+ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
529
+ </para>
530
+ </blockquote>
531
+ <para>
532
+ If you have Invariant Sections without Cover Texts, or some other
533
+ combination of the three, merge those two alternatives to suit the
534
+ situation.
535
+ </para>
536
+ <para>
537
+ If your document contains nontrivial examples of program code, we
538
+ recommend releasing these examples in parallel under your choice of free
539
+ software license, such as the GNU General Public License, to permit their
540
+ use in free software.
541
+ </para>
542
+ </section>
543
+ </appendix>