Skip to content
Browse files

Added nxhtml-mode until it can get uploaded to elpa.

  • Loading branch information...
1 parent 6ab2788 commit db9c7b56b9392f190f2b82860db28b4b08c9850c @technomancy committed Dec 21, 2008
Showing with 23,259 additions and 0 deletions.
  1. +1 −0 elpa-to-submit/nxhtml/.nosearch
  2. +84 −0 elpa-to-submit/nxhtml/autostart.el
  3. +3 −0 elpa-to-submit/nxhtml/etc/schema/genshi-schemas.xml
  4. +27 −0 elpa-to-submit/nxhtml/etc/schema/genshi.rnc
  5. +74 −0 elpa-to-submit/nxhtml/etc/schema/mjt.rnc
  6. +37 −0 elpa-to-submit/nxhtml/etc/schema/nxml-erb.patch
  7. +58 −0 elpa-to-submit/nxhtml/etc/schema/qtmstr-xhtml.rnc
  8. +1 −0 elpa-to-submit/nxhtml/etc/schema/rncpp-patch-files.done
  9. +142 −0 elpa-to-submit/nxhtml/etc/schema/schema-path-patch.el
  10. +1 −0 elpa-to-submit/nxhtml/etc/schema/xhtml-loader.rnc
  11. +11 −0 elpa-to-submit/nxhtml/etc/schema/xinclude.rnc
  12. +25 −0 elpa-to-submit/nxhtml/etc/templates/rollover-2v.css
  13. +59 −0 elpa-to-submit/nxhtml/etc/viper-tut/0intro
  14. +187 −0 elpa-to-submit/nxhtml/etc/viper-tut/1basics
  15. +269 −0 elpa-to-submit/nxhtml/etc/viper-tut/2moving
  16. +318 −0 elpa-to-submit/nxhtml/etc/viper-tut/3cutpaste
  17. +180 −0 elpa-to-submit/nxhtml/etc/viper-tut/4inserting
  18. +229 −0 elpa-to-submit/nxhtml/etc/viper-tut/5tricks
  19. +49 −0 elpa-to-submit/nxhtml/etc/viper-tut/README
  20. +131 −0 elpa-to-submit/nxhtml/etc/viper-tut/outline
  21. +2,472 −0 elpa-to-submit/nxhtml/nxhtml-loaddefs.el
  22. +186 −0 elpa-to-submit/nxhtml/nxhtml-maintenance.el
  23. +22 −0 elpa-to-submit/nxhtml/nxhtml/.htaccess
  24. +17 −0 elpa-to-submit/nxhtml/nxhtml/ChangeLog
  25. 0 elpa-to-submit/nxhtml/nxhtml/doc/.nosearch
  26. +71 −0 elpa-to-submit/nxhtml/nxhtml/doc/demo.html
  27. +339 −0 elpa-to-submit/nxhtml/nxhtml/doc/fontif-err.html
  28. +339 −0 elpa-to-submit/nxhtml/nxhtml/doc/fontif-err.php
  29. +279 −0 elpa-to-submit/nxhtml/nxhtml/doc/hfy-temp.html
  30. +39 −0 elpa-to-submit/nxhtml/nxhtml/doc/html2xhtml.html
  31. +424 −0 elpa-to-submit/nxhtml/nxhtml/doc/htmlfontify-example.html
  32. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/Thumbs.db
  33. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/edit-part.png
  34. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/editing-web-files.png
  35. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/editing-web-files.xcf
  36. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/emacs-style-completion.png
  37. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/emacsP.png
  38. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/emacsP16.png
  39. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/embedded-css.png
  40. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/embedded-xhtml.png
  41. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/getitbuttons-1.png
  42. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/getitbuttons-1.xcf
  43. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/getitbuttons-2.png
  44. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/getitbuttons.png
  45. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/getitbuttons.xcf
  46. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/itsalltext-pref.png
  47. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/links-appmenu.png
  48. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/nxml-where.png
  49. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/php-in-nxhtml-2.png
  50. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/php-in-nxhtml.png
  51. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/php-in-php.png
  52. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/php-in-xhtml.png
  53. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/popup-compl.png
  54. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/region-selected-after.png
  55. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/region-selected-completion.png
  56. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/region-selected.png
  57. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/style-in-nxhtml.png
  58. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/use-nXhtml-trans.png
  59. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/use-nXhtml-trans2.png
  60. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/use-nXhtml.png
  61. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/use-nXhtml.xcf
  62. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/validation-error.png
  63. BIN elpa-to-submit/nxhtml/nxhtml/doc/img/xml-validation-header.png
  64. BIN elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/img/carrow1.gif
  65. BIN elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/img/carrow2.gif
  66. BIN elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/img/fleche1.gif
  67. BIN elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/img/fleche1.png
  68. BIN elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/img/fleche2.gif
  69. BIN elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/img/fleche2.png
  70. BIN elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/img/loading-bar-black.gif
  71. BIN elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/img/open.gif
  72. BIN elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/img/open.png
  73. +238 −0 elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/jd.gallery.css
  74. +91 −0 elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/css/layout.css
  75. +449 −0 elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/scripts/jd.gallery.js
  76. +2 −0 elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/scripts/mootools.js
  77. +4,078 −0 elpa-to-submit/nxhtml/nxhtml/doc/js/smoothgallery/scripts/mootools.uncompressed.js
  78. +2,326 −0 elpa-to-submit/nxhtml/nxhtml/doc/nxhtml-changes.html
  79. +100 −0 elpa-to-submit/nxhtml/nxhtml/doc/nxhtml-old-multiple.html
  80. +171 −0 elpa-to-submit/nxhtml/nxhtml/doc/nxhtml.css
  81. +927 −0 elpa-to-submit/nxhtml/nxhtml/doc/nxhtml.html
  82. +73 −0 elpa-to-submit/nxhtml/nxhtml/doc/temp.css
  83. +11 −0 elpa-to-submit/nxhtml/nxhtml/doc/temp.htm
  84. +871 −0 elpa-to-submit/nxhtml/nxhtml/doc/temp.html
  85. +107 −0 elpa-to-submit/nxhtml/nxhtml/doc/wd/grapes/grapes.css
  86. BIN elpa-to-submit/nxhtml/nxhtml/doc/wd/grapes/images/bkgrnd.gif
  87. BIN elpa-to-submit/nxhtml/nxhtml/doc/wd/grapes/images/grapes.jpg
  88. BIN elpa-to-submit/nxhtml/nxhtml/doc/wd/grapes/images/quote.gif
  89. +76 −0 elpa-to-submit/nxhtml/nxhtml/doc/wd/grapes/index.html
  90. +248 −0 elpa-to-submit/nxhtml/nxhtml/doc/wd/grapes/nxhtml-grapes.css
  91. +60 −0 elpa-to-submit/nxhtml/nxhtml/doc/working-demo.html
  92. +166 −0 elpa-to-submit/nxhtml/nxhtml/html-chklnk.el
  93. 0 elpa-to-submit/nxhtml/nxhtml/html-chklnk/.nosearch
  94. +774 −0 elpa-to-submit/nxhtml/nxhtml/html-chklnk/PerlLib/HTML/LinkWalker.pm
  95. +448 −0 elpa-to-submit/nxhtml/nxhtml/html-chklnk/PerlLib/HTML/ParserTagEnd.pm
  96. +1 −0 elpa-to-submit/nxhtml/nxhtml/html-chklnk/PerlLib/HTML/datadir.txt
  97. +207 −0 elpa-to-submit/nxhtml/nxhtml/html-chklnk/PerlLib/PathSubs.pm
  98. +328 −0 elpa-to-submit/nxhtml/nxhtml/html-chklnk/link_checker.pl
  99. +99 −0 elpa-to-submit/nxhtml/nxhtml/html-imenu.el
  100. +253 −0 elpa-to-submit/nxhtml/nxhtml/html-move.el
  101. +337 −0 elpa-to-submit/nxhtml/nxhtml/html-pagetoc.el
  102. +71 −0 elpa-to-submit/nxhtml/nxhtml/html-quote.el
  103. +788 −0 elpa-to-submit/nxhtml/nxhtml/html-site.el
  104. +363 −0 elpa-to-submit/nxhtml/nxhtml/html-toc.el
  105. 0 elpa-to-submit/nxhtml/nxhtml/html-toc/.nosearch
  106. +83 −0 elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc-template.html
  107. +141 −0 elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/html-toc-template.css
  108. +84 −0 elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/html-toc.css
  109. +361 −0 elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/html-toc.js
  110. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/blank12.gif
  111. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/down.gif
  112. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/freeCont.gif
  113. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/gnu-m-x-160.png
  114. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/gnu-m-x-160.xcf
  115. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/hideCont.gif
  116. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/nailCont.gif
  117. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/nosearch.gif
  118. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/right.gif
  119. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/search.gif
  120. BIN elpa-to-submit/nxhtml/nxhtml/html-toc/html-toc/img/showCont.gif
  121. +321 −0 elpa-to-submit/nxhtml/nxhtml/html-upl.el
  122. 0 elpa-to-submit/nxhtml/nxhtml/html-upl/.nosearch
  123. +340 −0 elpa-to-submit/nxhtml/nxhtml/html-upl/COPYING
  124. +115 −0 elpa-to-submit/nxhtml/nxhtml/html-upl/Changes
  125. +111 −0 elpa-to-submit/nxhtml/nxhtml/html-upl/README
  126. +2 −0 elpa-to-submit/nxhtml/nxhtml/html-upl/TODO
  127. +700 −0 elpa-to-submit/nxhtml/nxhtml/html-upl/ftpsync.pl
  128. +201 −0 elpa-to-submit/nxhtml/nxhtml/html-wtoc.el
  129. 0 elpa-to-submit/nxhtml/nxhtml/html-wtoc/.nosearch
  130. +207 −0 elpa-to-submit/nxhtml/nxhtml/html-wtoc/PerlLib/PathSubs.pm
  131. +127 −0 elpa-to-submit/nxhtml/nxhtml/html-wtoc/PerlLib/html_tags.pm
  132. +141 −0 elpa-to-submit/nxhtml/nxhtml/html-wtoc/html-wtoc-template.css
  133. +143 −0 elpa-to-submit/nxhtml/nxhtml/html-wtoc/html-wtoc-template.html
  134. +84 −0 elpa-to-submit/nxhtml/nxhtml/html-wtoc/html-wtoc.css
  135. +361 −0 elpa-to-submit/nxhtml/nxhtml/html-wtoc/html-wtoc.js
Sorry, we could not display the entire diff because too many files (592) changed.
View
1 elpa-to-submit/nxhtml/.nosearch
@@ -0,0 +1 @@
+See readme for how to setup nXhtml
View
84 elpa-to-submit/nxhtml/autostart.el
@@ -0,0 +1,84 @@
+;;; autostart.el --- Load nxhtml
+;;
+;; Author: By: Lennart Borgman
+;; Created: Fri Dec 15 10:22:41 2006
+;; Version:
+;; Last-Updated: 2008-03-06T23:49:43+0100 Thu
+;; Keywords:
+;; Compatibility:
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Commentary:
+;;
+;;
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Change log:
+;;
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; 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 2, or (at your option)
+;; any later version.
+;;
+;; 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.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program; see the file COPYING. If not, write to the
+;; Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+;; Boston, MA 02111-1307, USA.
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Code:
+
+(message "Nxml/Nxhtml Autostart.el loading ...")
+
+;; ;; In case an old Emacs 22 beta is used, ie mostly for Debian/Ubuntu
+;; ;; at the moment. Suggested by Hadron Quark, thanks.
+;; (unless (fboundp 'define-globalized-minor-mode)
+;; (defalias 'define-globalized-minor-mode 'define-global-minor-mode))
+
+(defvar nxhtml-install-dir
+ (file-name-directory (if load-file-name load-file-name buffer-file-name))
+ "Installation directory for nXhtml.")
+
+(unless (featurep 'nxhtml-autostart)
+ ;; Provide the feature to avoid loading looping on error.
+ (provide 'nxhtml-autostart)
+ ;; Use the css-mode that comes with Emacs if there is one.
+ ;; Fix-me: remove this loading later:
+ (when (fboundp 'css-mode) (require 'css-mode))
+ (let* ((util-dir (file-name-as-directory
+ (expand-file-name "util"
+ nxhtml-install-dir)))
+ (related-dir (file-name-as-directory
+ (expand-file-name "related"
+ nxhtml-install-dir))))
+ (add-to-list 'load-path util-dir)
+ (add-to-list 'load-path related-dir)
+
+ ;; Autoloading etc
+ (require 'as-external)
+ (load (expand-file-name "nxhtml-loaddefs.el" nxhtml-install-dir))
+ ;; Use the nxml-mode that comes with Emacs if available:
+ (unless (fboundp 'nxml-mode)
+ (load (expand-file-name "nxml-mode-20041004/rng-auto"
+ nxhtml-install-dir)))
+ ;; Patch the rnc include paths
+ (load-file (expand-file-name "etc/schema/schema-path-patch.el"
+ nxhtml-install-dir))
+ (rncpp-patch-xhtml-loader)
+ ;; Load nXhtml
+ (load (expand-file-name "nxhtml/nxhtml-autoload"
+ nxhtml-install-dir))))
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; autostart.el ends here
View
3 elpa-to-submit/nxhtml/etc/schema/genshi-schemas.xml
@@ -0,0 +1,3 @@
+<locatingRules xmlns="http://thaiopensource.com/ns/locating-rules/1.0">
+ <typeId id="XHTML" uri="qtmstr-xhtml.rnc" />
+</locatingRules>
View
27 elpa-to-submit/nxhtml/etc/schema/genshi.rnc
@@ -0,0 +1,27 @@
+namespace py = "http://genshi.edgewall.org/"
+
+genshi.expr-type = xsd:string { minLength = "1" }
+genshi.with-type = xsd:string { minLength = "1" }
+genshi.choose-type = xsd:string
+genshi.def-type = xsd:string
+genshi.xpath-type = xsd:anyURI
+
+genshi.attrib = attribute py:if { genshi.expr-type }?,
+ attribute py:choose { genshi.choose-type }?,
+ attribute py:when { genshi.expr-type }?,
+ attribute py:otherwise { genshi.expr-type }?,
+ attribute py:for { genshi.expr-type }?,
+ attribute py:def { genshi.def-type }?,
+ attribute py:match { genshi.xpath-type }?,
+ attribute py:with { genshi.with-type }?,
+ attribute py:attrs { genshi.expr-type }?,
+ attribute py:content { genshi.expr-type }?,
+ attribute py:replace { genshi.expr-type }?,
+ attribute py:strip { genshi.expr-type }?
+
+genshi.if.attlist = attribute expr { genshi.expr-type }
+genshi.for.attlist = attribute each { genshi.expr-type }
+genshi.def.attlist = attribute each { genshi.expr-type }
+genshi.with.attlist = attribute vars { genshi.with-type }
+
+
View
74 elpa-to-submit/nxhtml/etc/schema/mjt.rnc
@@ -0,0 +1,74 @@
+include "xhtml-loader.rnc"
+
+MjtAll.attrib =
+ attribute mjt.def { Text.datatype }?,
+ attribute mjt.when { Text.datatype }?,
+ attribute mjt.otherwise { Text.datatype }?,
+ attribute mjt.for { Text.datatype }?,
+ attribute mjt.if { Text.datatype }?,
+ attribute mjt.elif { Text.datatype }?,
+ attribute mjt.else { Text.datatype }?,
+ attribute mjt.script { Text.datatype }?,
+ attribute mjt.choose { Text.datatype }?,
+ attribute mjt.replace { Text.datatype }?,
+ attribute mjt.content { Text.datatype }?,
+ attribute mjt.strip { Text.datatype }?,
+ attribute mjt.src { Text.datatype }?,
+ attribute mjt.style { Text.datatype }?,
+ attribute mjt.class { Text.datatype }?,
+ attribute mjt.id { Text.datatype }?,
+ attribute mjt.attrs { Text.datatype }?,
+ attribute mjt.task { Text.datatype }?
+
+
+a.attlist &=
+ attribute mjt.onblur { Script.datatype }?,
+ attribute mjt.onfocus { Script.datatype }?
+area.attlist &=
+ attribute mjt.onblur { Script.datatype }?,
+ attribute mjt.onfocus { Script.datatype }?
+form.attlist &=
+ attribute mjt.onreset { Script.datatype }?,
+ attribute mjt.onsubmit { Script.datatype }?
+body.attlist &=
+ attribute mjt.onload { Script.datatype }?,
+ attribute mjt.onunload { Script.datatype }?
+label.attlist &=
+ attribute mjt.onblur { Script.datatype }?,
+ attribute mjt.onfocus { Script.datatype }?
+input.attlist &=
+ attribute mjt.onblur { Script.datatype }?,
+ attribute mjt.onchange { Script.datatype }?,
+ attribute mjt.onfocus { Script.datatype }?,
+ attribute mjt.onselect { Script.datatype }?
+select.attlist &=
+ attribute mjt.onblur { Script.datatype }?,
+ attribute mjt.onchange { Script.datatype }?,
+ attribute mjt.onfocus { Script.datatype }?
+textarea.attlist &=
+ attribute mjt.onblur { Script.datatype }?,
+ attribute mjt.onchange { Script.datatype }?,
+ attribute mjt.onfocus { Script.datatype }?,
+ attribute mjt.onselect { Script.datatype }?
+button.attlist &=
+ attribute mjt.onblur { Script.datatype }?,
+ attribute mjt.onfocus { Script.datatype }?
+
+MjtEvents.attrib =
+ attribute mjt.onclick { Script.datatype }?,
+ attribute mjt.ondblclick { Script.datatype }?,
+ attribute mjt.onmousedown { Script.datatype }?,
+ attribute mjt.onmouseup { Script.datatype }?,
+ attribute mjt.onmouseover { Script.datatype }?,
+ attribute mjt.onmousemove { Script.datatype }?,
+ attribute mjt.onmouseout { Script.datatype }?,
+ attribute mjt.onkeypress { Script.datatype }?,
+ attribute mjt.onkeydown { Script.datatype }?,
+ attribute mjt.onkeyup { Script.datatype }?
+
+
+Common.attrib &= MjtAll.attrib
+CommonIdRequired.attrib &= MjtAll.attrib
+
+Common.attrib &= MjtEvents.attrib
+CommonIdRequired.attrib &= MjtEvents.attrib
View
37 elpa-to-submit/nxhtml/etc/schema/nxml-erb.patch
@@ -0,0 +1,37 @@
+--- nxml-mode-orig/xmltok.el 2005-10-16 15:32:53.000000000 -0400
++++ nxml-mode-erb/xmltok.el 2006-09-01 01:02:55.000000000 -0400
+@@ -496,6 +496,9 @@
+ (xmltok+ (xmltok-g markup-declaration "!")
+ (xmltok-g comment-first-dash "-"
+ (xmltok-g comment-open "-") opt) opt))
++ (erb-section
++ (xmltok+ "%"
++ (xmltok-g erb-section-open "[^%]") opt))
+ (cdata-section
+ (xmltok+ "!"
+ (xmltok-g marked-section-open "\\[")
+@@ -526,6 +529,7 @@
+ ;; by default
+ or cdata-section
+ or comment
++ or erb-section
+ or processing-instruction))
+ (xmltok-defregexp
+ xmltok-attribute
+@@ -693,6 +697,16 @@
+ nil
+ "]]>")
+ 'not-well-formed)))
++ ((xmltok-after-lt start erb-section-open)
++ (setq xmltok-type
++ (if (re-search-forward "[^%]%>" nil t)
++ 'erb-section
++ (xmltok-add-error "No closing %>")
++ (xmltok-add-dependent 'xmltok-unclosed-reparse-p
++ nil
++ nil
++ "%>")
++ 'not-well-formed)))
+ ((xmltok-after-lt start processing-instruction-question)
+ (xmltok-scan-after-processing-instruction-open))
+ ((xmltok-after-lt start comment-open)
View
58 elpa-to-submit/nxhtml/etc/schema/qtmstr-xhtml.rnc
@@ -0,0 +1,58 @@
+namespace py = "http://genshi.edgewall.org/"
+namespace xi = "http://www.w3.org/2001/XInclude"
+
+include "genshi.rnc"
+include "xinclude.rnc"
+include "xhtml-loader.rnc"
+
+start |= head|body|p|\div|h1|h2|h3|h4|h5|h6|hr|pre|dl|ol|ul|table|form
+
+Common.attrib &= genshi.attrib
+head.attlist &= genshi.attrib
+html.attlist &= genshi.attrib
+
+Head.class = base | isindex | link | meta | script | title | style |
+ if-head | for-head | def-head | with-head
+
+Head.model = Head.class*
+
+head.content &= Head.model*
+
+if-inline = element py:if { genshi.if.attlist, Inline.model }
+if-block = element py:if { genshi.if.attlist, Block.model }
+if-head = element py:if { genshi.if.attlist, Head.model }
+for-inline = element py:for { genshi.for.attlist, Inline.model }
+for-block = element py:for { genshi.for.attlist, Block.model }
+for-head = element py:for { genshi.for.attlist, Head.model }
+def-inline = element py:def { genshi.def.attlist, Inline.model }
+def-block = element py:def { genshi.def.attlist, Block.model }
+def-head = element py:def { genshi.def.attlist, Head.model }
+with-inline = element py:with { genshi.with.attlist, Inline.model }
+with-block = element py:with { genshi.with.attlist, Block.model }
+with-head = element py:with { genshi.with.attlist, Head.model }
+
+Inline.class |= if-inline | for-inline | def-inline | with-inline
+Block.class |= if-block | for-block | def-block | with-block
+
+xi-inline = element xi:include {
+ xinclude.include.attlist,
+ element xi:fallback { genshi.attrib,
+ (xi-inline | Inline.model)*
+ }?
+ }
+
+xi-block = element xi:include { xinclude.include.attlist,
+ element xi:fallback { genshi.attrib,
+ (xi-block | Block.model)*
+ }?
+ }
+
+xi-head = element xi:include { xinclude.include.attlist,
+ element xi:fallback { genshi.attrib,
+ (xi-head | Head.model)*
+ }?
+ }
+
+Inline.class |= xi-inline
+Block.class |= xi-block
+Head.class |= xi-head
View
1 elpa-to-submit/nxhtml/etc/schema/rncpp-patch-files.done
@@ -0,0 +1 @@
+2008-0818T16:43:47+0200
View
142 elpa-to-submit/nxhtml/etc/schema/schema-path-patch.el
@@ -0,0 +1,142 @@
+;;; schema-path-patch.el --- Patch schema paths
+;;
+;; Author: Lennart Borgman (lennart O borgman A gmail O com)
+;; Created: 2008-08-08T20:21:31+0200 Fri
+;; Version: 0.2
+;; Last-Updated: 2008-08-19T00:21:25+0200 Mon
+;; URL:
+;; Keywords:
+;; Compatibility:
+;;
+;; Features that might be required by this library:
+;;
+;; Cannot open load file: schema-path-patch.
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Commentary:
+;;
+;; Schemas here may include parts from nxml and need to know the path.
+;; This file can be used to patch the paths.
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Change log:
+;;
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;; 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 2, or
+;; (at your option) any later version.
+;;
+;; 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.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program; see the file COPYING. If not, write to
+;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth
+;; Floor, Boston, MA 02110-1301, USA.
+;;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;
+;;; Code:
+
+;;(eval-when-compile (require 'cl))
+
+(defvar rncpp-this-dir
+ (file-name-as-directory
+ (file-name-directory
+ (if load-file-name load-file-name buffer-file-name))))
+
+(defun rncpp-get-nxml-schema-dir ()
+ ;; First look for nxml-mode included with Emacs
+ (let ((schema-dir (file-name-as-directory
+ (expand-file-name "schema" data-directory))))
+ (unless (file-directory-p schema-dir)
+ ;; This is an old nxml-mode, look for its schemas dir.
+ (let ((nxml-mode-dir (file-name-as-directory
+ (file-name-directory (locate-library "nxml-mode")))))
+ (setq schema-dir (file-name-as-directory
+ (expand-file-name "schema" nxml-mode-dir)))))
+ (unless (file-directory-p schema-dir)
+ (error "Can't find schema-dir=%s" schema-dir))
+ schema-dir))
+
+;; (defun rncpp-patch-file (file)
+;; (let ((schema-dir (rncpp-get-nxml-schema-dir))
+;; relative-inc-file
+;; absolute-inc-file
+;; (buf (find-file-noselect file))
+;; file-dir
+;; )
+;; (with-current-buffer buf
+;; (setq file-dir (file-name-directory buffer-file-name))
+;; (widen)
+;; (goto-char (point-min))
+;; (setq absolute-inc-file (expand-file-name "xhtml.rnc" schema-dir))
+;; (assert (file-exists-p absolute-inc-file) t)
+;; (setq relative-inc-file
+;; (file-relative-name absolute-inc-file file-dir))
+;; (assert (file-exists-p relative-inc-file) t)
+;; (when (re-search-forward "include \"\\(.*[^a-zA-Z0-9-]xhtml.rnc\\)\"" nil t)
+;; (replace-match relative-inc-file t t nil 1)
+;; (basic-save-buffer)
+;; (kill-buffer (current-buffer))
+;; (message "Patched %s" file)))))
+
+;; Use xhtml-loader.rnc (an idea from Bryan Waite):
+(defun rncpp-patch-xhtml-loader ()
+ "Patch xhtml-loader.rnc so genshi and mjt rnc files works."
+ ;;(interactive)
+ (let* ((default-directory rncpp-this-dir)
+ (loader-path (expand-file-name "xhtml-loader.rnc"))
+ (loader-buf (find-buffer-visiting loader-path))
+ (schema-dir (rncpp-get-nxml-schema-dir))
+ (schema-relative-dir (file-relative-name schema-dir))
+ (loader-string (concat "include \""
+ schema-relative-dir
+ "xhtml.rnc\"")))
+ (when loader-buf (kill-buffer loader-buf))
+ (setq loader-buf (find-file-noselect loader-path))
+ (with-current-buffer loader-buf
+ (unless (file-exists-p loader-path)
+ (insert loader-string))
+ ;; Test if correct
+ (if (string= (buffer-substring-no-properties (point-min) (point-max))
+ loader-string)
+ (message "xhtml-loader.rnc was ok")
+ (message "Patching xhtml-loader.rnc")
+ (delete-region (point-min) (point-max))
+ (insert loader-string))
+ (basic-save-buffer)
+ (kill-buffer (current-buffer)))))
+
+;; (defun rncpp-patch-files (&optional no-check-done)
+;; "Patch rnc files in this directory.
+;; This will make the includes from here point to those that
+;; `nxml-mode' use."
+;; (interactive (list t))
+;; (let ((default-directory rncpp-this-dir)
+;; (done nil)
+;; (done-mark "rncpp-patch-files.done"))
+;; (message "Patching rnc files path in %s" default-directory)
+;; (unless no-check-done
+;; (setq done (file-exists-p done-mark)))
+;; (if done
+;; (message "... patching was already done")
+;; (rncpp-patch-file "mjt.rnc")
+;; (rncpp-patch-file "qtmstr-xhtml.rnc")
+;; (with-current-buffer (find-file-noselect done-mark)
+;; (insert (format-time-string "%Y-%m%dT%T%z"))
+;; (basic-save-buffer)
+;; (kill-buffer (current-buffer)))
+;; (message "... ready patching"))))
+
+;;(rncpp-patch-files)
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+;;; schema-path-patch.el ends here
View
1 elpa-to-submit/nxhtml/etc/schema/xhtml-loader.rnc
@@ -0,0 +1 @@
+include "../../../../../../../usr/local/share/emacs/23.0.60/etc/schema/xhtml.rnc"
View
11 elpa-to-submit/nxhtml/etc/schema/xinclude.rnc
@@ -0,0 +1,11 @@
+namespace xi = "http://www.w3.org/2001/XInclude"
+namespace local = ""
+
+xinclude.include.attlist =
+ attribute href { xsd:anyURI }?,
+ attribute parse { xsd:string }?,
+ attribute xpointer { xsd:string }?,
+ attribute encoding { xsd:string }?,
+ attribute accept { xsd:string }?,
+ attribute accept-language { xsd:string }?
+
View
25 elpa-to-submit/nxhtml/etc/templates/rollover-2v.css
@@ -0,0 +1,25 @@
+ROLLOVER_SPEC a {
+ /* Image */
+ display: block;
+ background: transparent url("IMG_URL") 0 0 no-repeat;
+ overflow: hidden;
+ width: IMG_WIDTHpx;
+ /* Text placement and size, etc */
+ CENTER_OR_PAD;
+ padding-top: PADDING_TOPpx;
+ font-size: FONT_SIZEpx;
+ padding-bottom: PADDING_BOTTOMpx;
+ text-decoration: none;
+ white-space: nowrap;
+ border: none;
+ margin: 0;
+}
+ROLLOVER_SPEC a:hover {
+ background-position: 0 -IMG_HEIGHT_2px;
+}
+ROLLOVER_SPEC li {
+ display: inline;
+ padding: 0;
+ margin: 0;
+ HOR_OR_VER;
+}
View
59 elpa-to-submit/nxhtml/etc/viper-tut/0intro
@@ -0,0 +1,59 @@
+Viper tutorial #0: Introduction
+
+This Viper tutorial is based on the vi tutorial VILEARN. Some things
+works differently in Emacs and corresponding parts of the tutorial has
+been changed for this. There has also been added some basic
+information about Emacs that are useful to get started if you already
+are a vi user.
+
+This tutorial is a hands-on-tutorial for Viper. If you want more
+information about Viper, please read the VIPER-MANUAL.
+
+Note that if you are using Viper you probably still want to know quite
+a bit about Emacs to use Emacs efficiently. Therefore you can also
+run the Emacs tutorial from here - with special support for
+Viper. This is part 6 below. You should run this part also to get to
+know which Emacs standard key bindings are shadowed by Viper.
+
+The tutorial consists of these parts:
+
+ 0 Introduction
+ (this file)
+
+ 1 Basic Editing
+ Covers the handful of commands required to both navigate all
+ five tutorials and do basic editing.
+
+ 2 Moving Efficiently
+ Covers all of the cursor positioning commands. These are the
+ commands used later as arguments to editing commands.
+
+ 3 Cutting and Pasting
+ Introduces the first compound commands, numbering, and copy
+ buffers.
+
+ 4 Inserting Techniques
+ Continues the discussion of compound commands, while completing
+ the list of insertion commands first discussed in tutorial one.
+
+ 5 Tricks and Timesavers
+ This is less a tutorial than a description of common vi commands
+ which don't fit correctly into normal logic.
+
+ 6 Emacs Tutorial for Viper Users
+ Even Viper users use a lot of keys from Emacs. Therefore you can
+ run the Emacs tutorial here too. It will show you which keys in
+ the tutorial that are changed because you are using Viper. This
+ depends of which Viper state you are in, vi state or some insert
+ state. If you switch Viper state the tutorial will immediately
+ show which keys are affected.
+
+
+BUGS
+Vilearn has the remark that it "Still doesn't cover variables, ex
+commands, or tags. At least one more tutorial is necessary for a
+complete introduction to vi." - I do not think you have to learn those
+parts to use Viper. There are other ways to do these things in Emacs!
+
+For more information about vilearn see the the README-FILE.
+
View
187 elpa-to-submit/nxhtml/etc/viper-tut/1basics
@@ -0,0 +1,187 @@
+Viper tutorial #1: The Basics
+
+This lesson lasts 10-15 minutes and teaches simple editing. Lines
+which begin with >>> mark exercises you should try. When you
+want to exit this tutorial type 'Z''Z' (type capital Z, twice).
+
+When you type commands in vi they do not appear on the screen. If the
+letters you type unexpectedly appear on the screen, press the ESC key.
+
+
+BASIC CURSOR MOVEMENT
+---------------------
+To move through the tutorial use C-d (control d) and C-u (control u).
+
+ C-d Move DOWN one half-screen
+ (depress the control key and type d)
+
+ C-u Move UP one half-screen
+ (depress the control key and type u)
+
+* EMACS-NOTICE: C-u is normally used in Emacs for UNIVERSAL-ARGUMENT.
+ You can in most cases use DIGIT-ARGUMENT instead.
+
+>>> Now type C-d (control d) and C-u (control u) to move down and back up.
+
+When you are done reading a screen, you are expected to type C-d to move
+down to the next screen. You must remember to type C-d throughout the
+tutorial.
+
+To move the cursor line by line, or character by character, use the
+four keys 'h', 'j', 'k', and 'l'.
+
+ 'h' Move left one character
+ 'j' Move down one line
+ 'k' Move up one line
+ 'l' Move right one character
+
+You will notice that these keys are in a straight line on the
+keyboard. Study the diagram below showing the function of h, j, k, l.
+
+ UP
+ ....... ....... ....... .......
+ : : : : : : : :
+ LEFT : h : : j : : k : : l : RIGHT
+ :.....: :.....: :.....: :.....:
+
+ DOWN
+
+>>> Now type 'j' or 'k' a few times to bring the cursor to this line.
+
+>>> Try moving off the right end of a line using 'l' . Notice that
+>>> vi will not allow you to move off the end of the line using 'l' .
+>>> Likewise, you cannot use 'h' and 'l' on a blank line.
+
+>>> Try moving past the bottom of the screen using 'j' . Notice how
+>>> how the screen scrolls downward.
+
+>>> Now practice using 'k' to move up, and 'h' to move left.
+
+
+DELETION
+--------
+To delete characters and lines, use 'x' and 'd''d'.
+
+ 'x' X-OUT one character
+ 'd''d' DELETE one line
+
+To undo your changes, use 'u'.
+
+ 'u' UNDO last change only
+
+>>> Delete this SCRAP line. Move to this line with 'j' or 'k' , now type 'd''d' .
+>>> Try undoing the deletion with 'u' .
+
+>>> Move to this line and x-out the Y's with 'x' : "whY ask whY?"
+
+>>> Try undoing the deletion with 'u' . Try typing 'u' several times.
+>>> Notice that 'u' only undoes the last change.
+
+* EMACS-NOTICE: In Viper you can use the repeat command '.' (just a dot)
+ to undo more changes. This goes in both direction, ie undoing and
+ redoing. Typing just 'u' changes direction.
+
+Here are more lines on which to practice deleting and undoing (use: 'd''d' 'x' 'u' )
+
+ Emacs is a nice creation. Emacs is a nice creation.
+ Emacs is a nice creation. Emacs is a nice creation.
+ Emacs is a nice creation. Emacs is a nice creation.
+
+
+QUIT COMMANDS
+-------------
+(DO NOT QUIT the tutorial at this time.)
+
+To quit a file without saving any changes you have made (for instance,
+with the 'd''d' or 'x' commands) use :q!<RETURN> . To quit and save your
+changes, use 'Z''Z' . When you are editing your own files, you normally
+use 'Z''Z' to quit.
+
+ :q!<RETURN> QUIT without saving changes
+ (type a colon, then the letter q, then an
+ exclamation point, and press RETURN)
+
+ 'Z''Z' Exit and save any changes
+ (type capital Z, twice)
+
+
+
+INSERTION
+---------
+You enter insert mode with 'i' or 'o' . Anything you type during insert
+mode appears on the screen. When you are done inserting, press ESC
+to exit insert mode. Type C-[ (control [ ), if you do not have an ESC key.
+
+ 'o' OPEN a line for inserting text
+ 'i' INSERT starting at the cursor
+
+ ESC ESCAPE from insert mode
+
+During insert mode, use your erase character (usually backspace or
+delete) to delete mistakes. The characters you delete will remain on
+the screen until you press ESC.
+
+>>> Insert your name and phone number below the next blank line. To do this:
+>>> Open a line below using 'o' .
+>>> Type your first and last name. Press RETURN.
+>>> Then type your phone number and press ESC.
+>>> Use 'x' to erase part of your phone number.
+
+>>> Type the date below your phone number. To do this:
+>>> Open another line using 'o' .
+>>> Type the date and press ESC.
+
+>>> Type 'u' to undo the insertion.
+
+>>> Insert a nickname between your first and last names, using 'i'. To do this:
+>>> Move the cursor to the spot between your names using 'h', 'j', 'k', 'l'.
+>>> Press 'i' .
+>>> Type the nickname, use DELETE or BACKSPACE to erase any typos.
+>>> Then press ESC.
+
+On some computers, a line may be longer than the width of the screen.
+This means that a very long line may appear to be two lines on the
+screen. This happens when you keep typing without pressing RETURN at
+the edge of the screen. To avoid any confusion when you're inserting
+text, be sure to press RETURN before reaching the right edge of the
+screen.
+
+
+SUMMARY
+-------
+These are the vi commands you should know after tutorial #1:
+
+ C-d Move DOWN one half-screen
+ (depress the control key and type d)
+
+ C-u Move UP one half-screen
+ (depress the control key and type u)
+
+ 'h' Move left one character
+ 'j' Move down one line
+ 'k' Move up one line
+ 'l' Move right one character
+
+ 'd''d' DELETE one line
+ 'x' X-OUT one character
+
+ 'u' UNDO last change
+
+ :q!<RETURN> QUIT without saving changes
+ (type a colon, then the letter q, then an
+ exclamation point, and press RETURN)
+
+ 'Z''Z' Exit and save any changes
+ (type capital Z, twice)
+
+ 'o' OPEN a line for inserting text
+ 'i' INSERT starting at the cursor
+
+ ESC ESCAPE from insert mode
+
+
+You are now prepared to do simple editing on your own files. Practice
+using vi for a few days. Then take the second vi tutorial to learn
+more powerful and useful vi commands.
+
+Copyright (c) 1992 Jill Kliger and Wesley Craig. All Rights Reserved.
View
269 elpa-to-submit/nxhtml/etc/viper-tut/2moving
@@ -0,0 +1,269 @@
+Viper tutorial #2: Moving Through Files Efficiently
+
+This lesson lasts 15-20 minutes. The material taught here is used in
+tutorial #3: Cutting and Pasting. Lines which begin with >>> mark
+exercises you should try. When you want to exit this tutorial type 'Z''Z'.
+
+
+WORDS
+-----
+There are many ways to move from one word to another. Consider these:
+
+ 'w' Move to the beginning of the next WORD
+ 'e' Move to the END of the next word
+ 'b' Move BACK to the beginning to the previous word
+
+For 'w', 'e', and 'b', a word is delimited by any non-alphanumeric
+character. The capitalized versions, 'W', 'E', and 'B', also move from word
+to word. The difference is that for 'W', 'E', and 'B', a word is delimited
+by any blank space.
+
+>>> Try out 'w', 'b', 'e', on the lines provided below.
+>>> Next practice using 'B', 'W', 'b', 'E' on the lines provided below.
+
+ EX-PER-IMENT on these lines;test moving back &forth.
+ EX-PER-IMENT on these lines;test moving back &forth.
+
+
+ON THE LINE
+-----------
+You can move immediately to any point on the current line.
+
+ '$' Move to the end of the line
+ '^' Move to the first non-white character on the line
+
+ '0' Move to the first column on the line (column zero)
+ #'|' Move to an exact column on the line (column #) e.g. 5| 12|
+
+>>> Experiment with '$' and '^' on the line provided below. Notice
+>>> that '^' moves to the first non-white character, not the beginning.
+
+ This is a PRACTICE LINE. There is white space at the front. END
+
+'0' (zero) will always take you to the far left edge of the screen.
+
+#'|' (number vertical-bar) is for moving to an explicit column on a line.
+Just type any number 1-80 and press | . For example: 5| 20| 30|
+Note that you can't move beyond the last column on a line.
+
+
+FINDING CHARACTERS
+------------------
+Often you want to move to a specific letter or character on a line.
+
+ 'f' char FIND the next occurrence of char on the line
+ 't' char Move 'TIL the next occurrence of char on the line
+
+ 'F' char FIND the previous occurrence of char on the line
+ 'T' char Move 'TIL the previous occurrence of char on the line
+
+ ';' Repeat the last f, t, F, or T
+ ',' Reverse the last f, t, F, or T
+
+'f' and 'F' land on the character. 't' and 'T' land next to the character.
+'f' and 't' move forward, while 'F' and 'T' move backward.
+
+If the specified character is not on the line, vi will beep.
+
+>>> Move to the beginning of the line below, and try out these commands:
+>>> 'f'e 'f'E ';' ';' ',' ',' 't'@ 'T'P 't'e 't'E ',' ';' ',' ';'
+
+ "PRACTICE line?" "Each and Every?" "Find thE char@cter and move to it.END
+
+
+MATCHING
+--------
+vi has a handy way to determine if (), {}, and [] pairs match up.
+
+ '%' Move to matching () or {} or []
+
+>>> On the practice lines below, move your cursor over a (,),{,},[, or ].
+>>> Then type '%' .
+
+ [TRY THIS. ((Whether) the pairs match up is the question.) [One]
+ pair is incomplete]. Can you tell {which one? ]} END
+
+
+WINDOW POSITIONS
+----------------
+You can move the cursor to the top, middle, or bottom of the vi window.
+
+ 'H' Move to the HIGHEST position in the window
+ 'M' Move to the MIDDLE position in the window
+ 'L' Move to the LOWEST position in the window
+
+>>> Try out these commands: type H then M and L and then M again.
+
+
+MARKING LOCATIONS
+-----------------
+You can mark positions in the file and return to them.
+
+ 'm' char MARK this location and name it char
+ ''' char (quote character) return to line named char
+ '''''' (quote quote) return from last movement
+
+char can be any lower case letter, a-z. A mark persists until you:
+ 1) use the same char to mark another location
+ or 2) delete the marked line
+
+>>> Move to this line and type ma to mark it a
+>>> Move to this line and type mb to mark it b
+>>> Move to this line and type mz to mark it z
+>>> Type 'a to return to line a
+>>> Type 'b to return to line b
+>>> Type 'z to return to line z
+
+Certain commands can move you large distances. These commands cause
+your last position to be remembered in the special mark named ' (quote).
+To move to this special mark, just type '' (quote quote).
+
+>>> Try this: 'b to return to line b, and then '' to return here.
+
+
+GO TO A LINE
+------------
+
+ 'G' GO to the last line in the file
+ #'G' GO to line #. (e.g., 3G , 5G , 124G )
+
+Read these directions carefully:
+>>> Type '1''G' to go to the top of the file, and then '''''' (quote quote)
+>>> to return here.
+>>> Now try 'G' to go to the end of the file, and then '''''' to return here.
+
+
+BLOCKS OF TEXT
+--------------
+It is often convenient to move through files jumping from one block of
+text to the next. To do this use braces and parentheses:
+
+ '{' (left brace) Move to the beginning of a paragraph
+ '}' (right brace) Move to the end of a paragraph
+
+ '(' (left paren) Move to the beginning of a sentence
+ ')' (right paren) Move to the beginning of the next sentence
+
+>>> Experiment with '}' and '{' on the two paragraphs provided below.
+>>> Note that paragraphs are separated by a blank line.
+
+ EXPERIMENT on this first paragraph. The quick brown fox jumped
+ over the seven lazy dogs. The fox must have been very large to
+ jump over seven dogs!
+
+ EXPERIMENT on this second paragraph. The quick brown dog
+ jumped over the seven lazy foxes. The dog didn't have to be nearly
+ as large, since foxes aren't too big.
+
+>>> Try out ')' and '(' on the two paragraphs provided above.
+>>> Notice that sentences are separated by two blank spaces.
+
+C programmers find it useful to move by sections, since sections may be
+delimited by a left brace in the first column. By placing the opening
+brace of a C subroutine in the first column, you can move to the top of
+the next subroutine, using '[''[' and ']'']' .
+
+ '[''[' Move to the beginning of a section
+ ']'']' Move to the end of a section
+
+Note that if vi does not find a left brace at the far left, it will
+move to the top or bottom of the file.
+
+>>> Now try ']'']' then ']'']' and '[''[' on the subroutines provided below:
+
+main()
+{
+ helloworld();
+}
+
+helloworld()
+{
+ printf( "Hello world\n" );
+}
+
+
+SEARCHING
+---------
+This enables you to jump to the next occurrence of a string in a file.
+To initially find the string use:
+
+ '/'string Find string looking forward
+ '?'string Find string looking backward
+
+To find additional occurrences of the string type:
+
+ 'n' Repeat last / or ? command
+ 'N' Reverse last / or ? command
+
+vi may search past the bottom of the file and then start again at the top.
+(Or, vi may search past the top and then start again at the bottom.)
+
+>>> You are going to search for a string, find the next three
+>>> occurrences. Then flip directions and find the string until you
+>>> return to this location. To do this:
+>>> Type '/''t''h''e' then press RETURN.
+>>> Type 'n' three times.
+>>> Type 'N' until you return to this location.
+
+* EMACS-NOTICE: Emacs has very powerful SEARCH-COMMANDS which you may
+ want to use in parallell to those above. One of the first you want
+ to try is probably C-s (ISEARCH-FORWARD).
+
+
+SUMMARY
+-------
+
+ 'w' Move to the beginning of the next WORD
+ 'e' Move to the END of the next word
+ 'b' Move BACK to the beginning to the previous word
+
+ '$' Move to the end of the line
+ '^' Move to the first non-white character on the line
+
+ '0' Move to the first column on the line (column zero)
+ #'|' Move to an exact column on the line (column #) e.g. 5| 12|
+
+ 'f' char FIND the next occurrence of char on the line
+ 't' char Move 'TIL the next occurrence of char on the line
+
+ 'F' char FIND the previous occurrence of char on the line
+ 'T' char Move 'TIL the previous occurrence of char on the line
+
+ ';' Repeat the last f, t, F, or T
+ ',' Reverse the last f, t, F, or T
+
+ '%' Show matching () or {} or []
+
+ 'H' Move to the HIGHEST position in the window
+ 'M' Move to the MIDDLE position in the window
+ 'L' Move to the LOWEST position in the window
+
+ 'm' char MARK this location and name it char
+ ''' char (quote character) return to line named char
+ '''''' (quote quote) return from last movement
+
+ 'G' GO to the last line in the file
+ #'G' GO to line #. (e.g., 3G , 5G , 175G )
+
+ '{' (left brace) Move to the beginning of a paragraph
+ '}' (right brace) Move to the end of a paragraph
+
+ '(' (left paren) Move to the beginning of a sentence
+ ')' (right paren) Move to the beginning of the next sentence
+
+ '[''[' Move to the beginning of a section
+ ']'']' Move to the end of a section
+
+ '/'string Find string looking forward
+ '?'string Find string looking backward
+
+ 'n' Repeat last / or ? command
+ 'N' Reverse last / or ? command
+
+You should now be able to move around files very efficiently. These
+commands are especially useful if you are using vi over a slow modem.
+Practice the material in this lesson for a few days and then take
+either the third vi tutorial to learn how to copy, cut, and paste, or
+the forth vi tutorial to learn additional insertion techniques.
+
+Copyright (c) 1992 Jill Kliger and Wesley Craig. All Rights Reserved.
View
318 elpa-to-submit/nxhtml/etc/viper-tut/3cutpaste
@@ -0,0 +1,318 @@
+Viper tutorial #3: Copying, Cutting, and Pasting
+
+This lesson lasts 15-20 minutes. This tutorial assumes full knowledge
+of tutorial #1, and familiarity with tutorial #2. Lines which begin
+with >>> mark exercises you should try.
+
+When you want to exit this tutorial type 'Z''Z' to exit and save your
+changes. Or type :q!<RETURN> to exit without saving changes.
+Remember that typing u will UNDO your last change.
+
+
+CUTTING TEXT
+------------
+The delete command can be combined with any of the movement commands
+taught throughout tutorial #2. The resulting command is of the form:
+
+ 'd'movement DELETE to where the movement command specifies
+
+Consider the following examples:
+
+ 'd''w' DELETE to the beginning of the next WORD
+ 'd''$' DELETE to the end of the line
+ 'd'')' DELETE to the beginning of the next sentence
+ 'd''t'e DELETE 'TIL the next e
+ 'd''d' DELETE a line (dd is a special case of the d command)
+
+>>> Experiment with 'd''w' 'd''$' 'd'')' 'd''t'e 'd''d' on the paragraph provided below:
+
+ PRACTICE here. Now is the time for all good users to learn the
+ editor. The quick brown fox jumped over the seven lazy fish. Now
+ is the time for all good users to learn the editor. The quick
+ brown computer jumped over the seven lazy users. END PRACTICE
+
+* EMACS-NOTICE: In Viper you can also use 'r' and 'R' for Emacs region and
+ Viper line extended region. This is very convenient together with
+ CUA-MODE where the region is visible (it is usually called the
+ selected text or something similar in other applications).
+
+
+PASTING TEXT
+------------
+When text is deleted it is put into a buffer which contains the most
+recently deleted text. To paste the contents of this buffer elsewhere
+in the file use the p or P command.
+
+ 'P' (upper p) PUT the contents of the buffer before the cursor
+ 'p' (lower p) PUT the contents of the buffer after the cursor
+
+>>> Try this sequence of commands on the practice lines below:
+>>> 'd''d' to delete one line
+>>> 'j' to move down a line
+>>> 'p' (lower p) to PUT the deleted text after the cursor
+>>> '}' to move to the end of the paragraph
+>>> 'P' (upper p) to PUT the deleted text before the cursor
+
+ PRACTICE line. Cut and Paste this line to the bottom of the
+ paragraph. Here is some filler, feel free to cut and paste the
+ text in this practice region. Remember that u undoes the last
+ action. END OF PRACTICE
+
+>>> Try this sequence of commands at the beginning of a word:
+>>> 'd''w' 'w' 'P'
+
+The fastest way to swap two letters is to type: 'x''p'
+
+>>> Use xp to correct the misspelled words below:
+
+ PRACTICE. Thier weird quiet recieved an inconvenient shriek.
+ Thier belief is that to recieve grief from nieghbors outwieghs
+ all else. Biege skies lead to wierd science. END.
+
+
+NUMBERING
+---------
+Consider cutting and pasting 3 words. Based on previous exercises you
+would type 'd''w' , move to the new location, and type 'p' , and repeat
+this procedure twice more. There is an easier way to do this:
+
+>>> Using the practice lines below, try the following sequence of commands:
+>>> Move to the beginning of the first sentence.
+>>> Type 'd''3''w' to DELETE 3 WORDS.
+>>> Type 'w' to move ahead one WORD.
+>>> Type 'P' (upper p) to PUT the three words before the cursor.
+
+ PRACTICE Numbering vi commands is easy to do. Now is the time for
+ all good users to learn the editor. The quick brown fox jumped
+ over the seven lazy dogs. Numbering vi commands is easy to do.
+ Now is the time for all good users to learn the editor. END PRACTICE
+
+>>> Type 'd''2''d' to DELETE 2 lines, using the practice paragraph above.
+>>> Move to the top of the paragraph.
+>>> Type 'p' (lower p) to PUT the two lines after of the cursor.
+
+Numbering also works for movement commands.
+
+>>> Now try '4''w' to move ahead 4 WORDs, on the lines provided above.
+>>> Then use '3''b' to move BACK 3 words.
+
+When you type '4''w' THINK "4 words", when you type d4w think "delete 4
+words". In general, we can write
+
+ #movement repeat movement # times
+ d#movement DELETE to where the #movement command specifies
+
+
+COPYING TEXT
+------------
+The YANK command works just like the DELETE command, except 'y' is used
+instead of 'd' .
+
+ 'y'movement YANK to where the movement command specifies
+
+YANK and DELETE are identical except that YANK only copies the specified
+text into the buffer.
+
+>>> Try this sequence of commands on the practice lines below:
+>>> 'y''y' to YANK a line (yy is a special case of the y command)
+>>> '3''j' to move down 3 lines
+>>> 'p' (lower p) to PUT the yanked text after the cursor
+
+ PRACTICE line. Copy and Paste this line to the bottom of the
+ paragraph. Here is some filler, feel free to copy and paste the
+ text in this practice region. Remember that u undoes the last
+ action. END OF PRACTICE
+
+Please note that copy, cutting, and pasting large blocks of text may
+significantly alter the tutorial file. Remember that you can always get
+a new copy of the tutorial file and that u UNDOes your last change.
+
+Here are some examples which show the similarity between y and d .
+
+ 'y''w' YANK to the beginning of the next WORD
+ 'y''$' YANK to the end of the line
+ 'y'')' YANK to the beginning of the next sentence
+ 'y''t'e YANK 'TIL the next e
+ 'y''y' YANK a line
+
+Here are some more examples using commands from tutorial #2.
+
+ 'y''L' YANK from here to the lowest point of the window
+ 'y''/'and YANK from here to the word "and"
+ 'y''2''}' YANK 2 paragraphs
+ 'y''''a YANK from here to the marked line "a" (mark line first)
+
+>>> Experiment with 'y''w' 'y''t'e 'y''4''w' 'y''2''}' 'y''3''y' and 'y''$' on the paragraph
+>>> provided below. Copy text AND use 'p' or 'P' to paste it.
+
+ PRACTICE line. Copy and Paste this line to the bottom of the
+ paragraph. Here is some filler, feel free to copy and paste
+ the text in this practice region. Remember that u undoes the
+ last action. END OF PRACTICE
+
+
+NUMBERED BUFFERS
+----------------
+In all of the previous pasting exercises you've used the "un-named"
+buffer. The un-named buffer contains the text you most recently cut or
+copied. When you make a new cut or copy, the old contents of the
+un-named buffer are moved to one of the "numbered" buffers. The
+buffers are numbered 1-9. Each time you cut or copy text,
+
+ vi saves your current cut or copy in a buffer #1
+ vi saves your 2nd to last cut or copy in a buffer #2
+ The cut or copy before that is saved in a buffer #3 ...
+ vi saves your 8th oldest cut or copy in a buffer #8
+ vi saves your 9th oldest cut or copy in a buffer #9
+
+Note that buffer #1 is the same as the un-named buffer. Here's how to
+paste from the numbered buffers:
+
+ "#P (upper p) PUT contents of buffer # before the cursor
+ "#p (lower p) PUT contents of buffer # after the cursor
+
+For example:
+
+ "1p PUT buffer 1 after the cursor
+ "7p PUT buffer 7 after the cursor
+
+>>> Delete this 1st line with dd
+>>> Delete this 2nd line with dd
+>>> Delete this 3rd block with d2d
+>>> (2nd half of block 3)
+>>> Delete this 4th block with dd
+>>> Now type "1p "2p "3p "4p
+
+If you are using vi and have made accidental deletions, just PUT the
+contents of each numbered buffer to recover the deleted text.
+
+
+NAMED BUFFERS
+-------------
+vi maintains the un-named and numbered buffers automatically. You can
+maintain your own buffers named a-z. That is, you can cut or copy text
+into buffer x and later paste the text from buffer x.
+
+ '"'aDELETE DELETE text into buffer a
+ "aYANK YANK text into buffer a
+ "aPUT PUT text from buffer a
+
+Note, don't actually type 'DELETE', 'YANK', or 'PUT'; type one of the
+DELETE commands, YANK commands, or PUT commands. See the examples below:
+
+ "ad} DELETE paragraph into buffer a
+ "by3y YANK 3 lines into buffer b
+ "cy200G YANK to line 200 into buffer c
+ "dp PUT buffer d after the cursor
+ "zP PUT buffer z before the cursor
+
+The contents of a named buffer are lost if:
+ 1) you store new text in a buffer with the same name
+ or 2) you quit vi (using 'Z''Z' or :q!<RETURN> )
+
+>>> Delete this START line into buffer a by typing "add
+>>> Paste buffer a by typing "ap
+
+>>> Delete this INTERMEDIATE line into buffer b by typing "bdd
+>>> Paste buffer b by typing "bp
+
+To put new material into buffer a
+>>> Delete this FINAL line into buffer a by typing "add
+>>> Paste buffer a by typing "ap
+
+
+SAVING WITHOUT QUITTING
+-----------------------
+With ZZ you save changes and kill the current buffer. (In vi you also
+exit with 'Z''Z'.) With :w you can save and not quit vi. It is a safe
+practice to save changes to a file regularly. This reduces re-typing
+in the event your computer crashes.
+
+ :w<RETURN> WRITE contents of the file (without quitting)
+ (type a colon, type w , then press the RETURN key)
+
+>>> Try :w now. Note the message at the bottom of the screen.
+
+
+PASTING BETWEEN FILES
+---------------------
+
+* EMACS-NOTICE: In Emacs there are no problems editing several
+ files. You can however do it in the more complicated vi way below if
+ you really want to ;-)
+
+This is an extremely useful procedure in vi. Only one new command is
+required for pasting between files, the EDIT command
+
+ :e filename<RETURN> Begin EDITing the file called "filename"
+
+The EDIT command allows you to edit another file without quitting vi.
+This is useful since named buffers are lost when you quit vi.
+
+Let's say you want to copy 6 lines from the file called "3temp" into
+this file which is named "3cutpaste":
+(Note that "3temp" has already been created for you)
+
+ 1) WRITE "3cutpaste". vi will not allow :w (press RETURN)
+ you to edit another file without first
+ saving any changes you've made.
+
+ 2) EDIT "3temp" without quitting vi. :e 3temp (press RETURN)
+
+ 3) YANK 6 lines from "3temp". "ay6y
+
+ 4) Return to "3cutpaste". :e 3cutpaste (press RETURN)
+
+ 5) PUT from buffer a "ap
+
+Note that the un-named and numbered buffers are lost when the EDIT
+command is used. Only named buffers are preserved with EDIT.
+
+>>> Follow the 5-step procedure outlined above. Don't be concerned
+>>> with remembering all 5 steps, the instructions are repeated in
+>>> "3temp". Paste the text from "3temp" near this line of this file,
+>>> "3cutpaste".
+
+You can use this 5-step procedure on any two files, with any cutting or
+copying action (here, y6y is the example).
+
+
+SUMMARY
+-------
+
+ #movement repeat movement # times
+ * EMACS-NOTICE: You may also use 'r' or 'R' in Viper.
+
+ 'd'movement DELETE to where "movement" command specifies
+ 'd'#movement DELETE to where the #movement command specifies
+ (e.g. 'd''w' 'd''3''w' )
+
+ 'y'movement YANK to where "movement" command specifies
+ 'y'#movement YANK to where the #movement command specifies
+ (e.g. 'y''w' 'y''3''w' )
+
+ 'P' (upper p) PUT the contents of the buffer before the cursor
+ 'p' (lower p) PUT the contents of the buffer after the cursor
+
+ '"'#P (upper p) PUT contents of buffer # before the cursor
+ '"'#p (lower p) PUT contents of buffer # after the cursor
+ (e.g. '"''2''p' '"''7''P' )
+
+ '"'aDELETE DELETE text into buffer a
+ '"'aYANK YANK text into buffer a
+ '"'aPUT PUT text from named buffer a
+ (Note, don't actually type 'DELETE', 'YANK', or 'PUT';
+ type one of the DELETE commands, YANK commands, or PUT
+ commands, e.g. '"''a''d''}' '"''b''y''3''y' '"''c''y''2''0''0''G' '"''d''p' '"''z''P' )
+
+ :w<RETURN> WRITE contents of the file (without quitting)
+ (type a colon, type w , then press the RETURN key)
+
+ :e filename<RETURN> Begin EDITing the file called "filename"
+
+
+You are now prepared to handle all cutting, copying and pasting tasks
+which may arise. If you practice what you've learned you'll find editing
+in vi to be fast and convenient.
+
+Copyright (c) 1992 Jill Kliger and Wesley Craig. All Rights Reserved.
View
180 elpa-to-submit/nxhtml/etc/viper-tut/4inserting
@@ -0,0 +1,180 @@
+Viper tutorial #4: Insertion Techniques
+
+This lesson lasts 5-10 minutes. This tutorial assumes full knowledge
+of tutorial #1, and familiarity with tutorial #2. Lines which begin
+with >>> mark exercises you should try. When you want to exit this
+tutorial type 'Z''Z' .
+
+
+SIMPLE INSERTION
+----------------
+You spend most of your time in vi inserting text. As you might expect,
+there are several commands to begin insertion.
+
+ 'o' OPEN a line below the cursor
+ 'O' OPEN a line above the cursor
+
+ 'i' INSERT starting before the cursor
+ 'I' INSERT at the beginning of the line
+
+ 'a' APPEND starting after the cursor
+ 'A' APPEND at the end of the line
+
+Remember to type ESC to leave insert mode. If you don't have an ESC key
+type C-[ (control [ ).
+
+ ESC ESCAPE from insert mode
+
+>>> Move the cursor to this line. Type 'O' , enter your name. Press ESC.
+>>> Next type 'o' , enter the date. Press ESC.
+
+Note that 'O' opens the line above and puts you in insert mode,
+while 'o' opens the line below and also puts you in insert mode.
+
+>>> Type 'a' on any line above, enter your name. Press ESC. Do the
+>>> same for 'A'.
+
+>>> Read the following. Your goal is to take the sentence fragment below:
+
+ BROWN FOX OVER THE SEVEN LAZY
+
+>>> and convert it to
+
+ THE QUICK BROWN FOX JUMPED OVER THE SEVEN LAZY DOGS.
+
+>>> To do this type:
+>>> 'I' to insert THE QUICK (then press ESC)
+>>> move the cursor to after the X in FOX
+>>> 'a' to insert JUMPED (then press ESC)
+>>> 'A' to insert DOGS. (then press ESC)
+>>> Now move to the sentence fragment and make the changes outlined above.
+
+
+JOINING LINES
+-------------
+Often it is convenient to join two short lines into one line. There
+are several ways to do this. The easiest is the J command. Other
+methods will be explored in tutorial #5.
+
+ 'J' JOIN two lines
+
+>>> Go to the first line in the block below. Type J. Type J again.
+
+ Example: NOW IS THE TIME
+ the walrus said
+ TO THINK OF MANY THINGS
+
+In the event that joining lines creates a line which exceeds the width
+of the screen, you can break the line by typing i and pressing RETURN.
+
+
+SUBSTITUTING TEXT
+-----------------
+Substituting combines the delete command and the insert command into a
+single step.
+
+ #'s' SUBSTITUTE for # characters
+ #'S' SUBSTITUTE for # whole lines
+
+
+In order to substitute text you have to know how much text you want to
+delete. Consider the following examples:
+
+ '3''s' SUBSTITUTE the next 3 characters for what will be typed
+ '7''s' SUBSTITUTE the next 7 characters for what will be typed
+
+>>> Change the SAMPLE DEFINITION below. To do this:
+>>> move the cursor to the T in TWO
+>>> type '3's
+>>> type FOUR then press ESC
+
+ SAMPLE DEFINITION: A string quartet is defined to be
+ a group of TWO musicians.
+
+
+REPLACING TEXT
+--------------
+The 'r' and 'R' commands allow you to directly type over existing text.
+
+ 'r' REPLACE character (NO need to press ESC)
+ 'R' enter over-type mode
+
+>>> Correct each of the TYPOs on the sample line below. To do this:
+>>> move the cursor to the misspelled character
+>>> type 'r'
+>>> type the correct character
+
+ SAMPLE: maintanence conveniance complience applience dilagent
+
+>>> Use the over-type command, 'R' , on the sample line above.
+>>> Type 'R' then type the name of a local restaurant. Press ESC.
+
+
+CHANGING TEXT
+-------------
+The change command combines insertion, deletion, and the movement
+commands. (Recall that the movement commands were taught in tutorial
+#2.) Change is probably more useful than replace or substitute. The
+general form of the change command is:
+
+ 'c'movement CHANGE to where the movement command specifies
+
+Consider the following examples:
+
+ 'c''w' CHANGE to the beginning of the next WORD
+ 'c''$' CHANGE to the end of the line
+ 'c'')' CHANGE to the beginning of the next sentence
+ 'c''t'e CHANGE 'TIL the next e
+ 'c''3''w' CHANGE the next 3 WORDS
+ 'c''c' CHANGE a line (cc is a special case of the c command)
+ 'c''}' CHANGE to the end of the paragraph
+
+>>> Follow these steps:
+>>> 1. move to the desired location in the practice paragraph below
+>>> 2. type 'c''w' (change to the beginning of the next WORD)
+>>> 3. type your name
+>>> 4. press ESC
+
+ PRACTICE here. Now is the time for all good users to learn the
+ editor. The quick red fox jumped over the seven lazy fish. Now
+ is the time for all good users to learn the editor. The quick
+ brown computer jumped over the seven lazy users. END PRACTICE
+
+>>> Experiment by using a variety of options for step #2. Try
+>>> out 'c''$' 'c'')' 'c''t'e 'c''3''w' 'c''c' 'c''}' on the practice paragraph above.
+
+Note that the change command follows the same pattern as the delete
+and yank commands which were explored in tutorial #3.
+
+
+SUMMARY
+-------
+
+ 'o' OPEN a line below the cursor
+ 'O' OPEN a line above the cursor
+
+ 'i' INSERT starting before the cursor
+ 'I' INSERT at the beginning of the line
+
+ 'a' APPEND starting after the cursor
+ 'A' APPEND at the end of the line
+
+ ESC ESCAPE from insert mode
+
+ 'J' JOIN two lines
+
+ #'s' SUBSTITUTE for # characters
+ #'S' SUBSTITUTE for # whole lines
+
+ 'r' REPLACE character (NO need to press ESC)
+ 'R' enter over-type mode
+
+ 'c'movement CHANGE to where the movement commands specifies
+ (e.g. 'c''3''w' 'c''$' 'c''c' )
+
+
+These commands should improve your ability to insert text efficiently.
+The next tutorials deal with advanced commands and tricks which can
+further speed up your editing.
+
+Copyright (c) 1992 Jill Kliger and Wesley Craig. All Rights Reserved.
View
229 elpa-to-submit/nxhtml/etc/viper-tut/5tricks
@@ -0,0 +1,229 @@
+Viper tutorial #5: Tricks and Timesavers
+
+This lesson lasts 10-15 minutes. You should have a strong
+understanding of tutorials #1-3 before working through these timesaving
+techniques. Lines which begin with >>> mark exercises you should
+try. When you want to exit this tutorial type 'Z''Z' .
+
+
+CASE CONVERSION
+---------------
+When you want to change an upper-case character to a lower-case
+character (or lower-case to upper-case) there is a single command which
+does both:
+
+ '~' (tilde) Convert case of current character
+
+>>> Move the cursor to be OVER the first character in the example
+>>> line below. Press '~' until you have changed the case of the
+>>> entire line. ( '~' will advance to the right automatically).
+
+ bOB WENT TO pARIS, fRANCE, TO SEE THE #1 CYCLING EVENT. end.
+
+Note that '~' only affects alphabetic characters.
+
+
+UNDOING
+-------
+* EMACS-NOTICE: Uppercase U does the same thing as lowercase u in
+ Viper so this part of the tutorial which was about U has been
+ removed.
+
+
+REPEAT LAST COMMAND
+-------------------
+Often you want to make the same change at multiple locations in the
+file. To help accomplish this, vi remembers your previous action.
+
+ '.' (dot) repeat last change
+
+>>> Go through the example below changing "FISH" to "TOAD":
+>>> Go to the "F" in the first instance of "FISH"
+>>> To change the word: type 'c''w' then type TOAD then press ESC
+>>> Move the cursor to "F" in the second occurence of "FISH"
+>>> Type '.' (dot)
+>>> Move the cursor to "F" in the final occurence of "FISH"
+>>> Type '.' (dot)
+>>> Now move the cursor to each occurence of "CROW"; Type '.' (dot)
+
+ EXAMPLE: The FISH fed the cat. The CROW fed the cat. Example
+ text is FISH to make interesting. The man fed the CROW. The
+ worm fed the FISH. Example text is hard to make CROW. END.
+
+>>> Go through the example above deleting all occurences of "TOAD":
+>>> Move to the beginning of the EXAMPLE paragraph above.
+>>> Type '/''T''O''A''D' and press RETURN (recall tutorial #2)
+>>> Delete the word by typing 'd''w'
+>>> Type 'n' to move to the next occurence of "TOAD"
+>>> Type '.' (dot) to repeat the dw command
+>>> Use 'n''.' to delete the remaining "TOAD"s
+
+Note that '.' only repeats changes, not cursor movements.
+
+* EMACS-NOTICE: In Emacs '.' also repeat undo and redo.
+
+* EMACS-NOTICE: Emacs KEYBOARD-MACROS are very powerful for repeating
+ whole sequences of keyboard commands.
+
+
+WINDOW ACTIONS
+--------------
+You are already familiar with the C-u (depress the control key and
+type u) and C-d commands from tutorial #1.
+
+ C-d Move DOWN one half-screen
+ C-u Move UP one half-screen
+
+There are several related commands:
+
+ C-f Move FORWARD one full-screen
+ C-b Move BACKWARD one full-screen
+
+ C-e Move the window down one line without moving cursor
+ C-y Move the window up one line without moving cursor
+
+The C-e and C-y commands may seem obscure; however, notice that on
+the keyboard, e and y are close to d and u respectively. This
+should help you remember that C-e moves DOWN, and C-y moves UP.
+
+Recall the 'H' 'M' 'L' (HIGH MIDDLE LOW) window commands from Tutorial 2.
+Consider a scenario where you want to yank from the current line to a
+line near the top of the window. You could use C-e and C-y to
+position the text in the window before you use the yH command.
+
+The 'z' command also moves the window without moving your cursor:
+
+ 'z'<RETURN> Position the current line to top of window
+ 'z''.' Position the current line to middle of window
+ 'z''-' Position the current line to bottom of window
+
+>>> Move to this line. Type 'z' and press RETURN. Notice that
+>>> this text and the cursor have moved to the top of the window.
+>>> Try 'z''-' and 'z''.' also.
+
+
+FILE AND DISPLAY CONTROL
+------------------------
+
+* EMACS-NOTICE: In vi C-g shows the status of the current file, but
+ C-g in Emacs in most situation stops what Emacs is doing. To get
+ information about the current file you can use C-c C-g instead when
+ Viper is in vi state.
+
+* EMACS-NOTICE: In vi C-l refreshes the screen, but C-l in Emacs calls
+ the command recenter.
+
+
+SUSPENDING VI
+-------------
+* EMACS-NOTICE: In vi C-z suspends vi. However in Viper C-z is by
+ default the VIPER-TOGGLE-KEY. To suspend or iconify Emacs use C-x
+ C-z.
+
+
+BANG COMMAND
+------------
+* EMACS-NOTICE: Emacs has builtin commands to sort etc.
+
+The exclamation point, '!' (aka BANG), command allows you to feed text
+to any Unix command. The output of the Unix command replaces the
+original text. Here is a useful Unix command to use from within vi:
+
+ !}fmt Format the paragraph, joining and filling lines to
+ produce output lines of up to 72 characters
+
+>>> Move to the example paragraph below. Type !}fmt and press
+>>> RETURN. Notice the paragraph will be reformatted such that
+>>> the lines are of approximately equal length.
+
+ EXAMPLE:
+ So we grow together,
+ Like to a double cherry, seeming parted,
+ But yet an union in partition;
+ Two lovely berries moulded on one stem;
+ So, with two seeming bodies, but one heart;
+ END.
+
+Another useful command is:
+
+ !}sort Sort lines of a paragraph alphabetically
+
+>>> Move to the example text below. Type !}sort and press RETURN.
+
+ OBERON king of the fairies.
+ PUCK or Robin Goodfellow.
+ HERMIA daughter to Egeus, in love with Lysander.
+ HELENA in love with Demetrius.
+ LYSANDER in love with Hermia.
+ DEMETRIUS in love with Hermia.
+
+Remember, any Unix command may be used this way.
+
+
+SHIFTING TEXT
+-------------
+It is possible to shift large blocks of text right and left with the '>'
+and '<' commands.
+
+ '>'movement Shift right to where the movement command specifies
+ '<'movement Shift left to where the movement command specifies
+
+These commands work like the 'd' command. For example:
+
+ '>''}' Shift right to the end of the paragraph
+ '<''}' Shift left to the end of the paragraph
+ '>''>' Shift the current line right
+ '<''<' Shift the current line left
+
+>>> Move the cursor to the first line of the paragraph below.
+>>> Type '>''>' and '<''<' to shift the line back and forth. Next
+>>> try '>''}' to shift the paragraph to the right, then '<''}' to shift
+>>> it left, then type '.' until all four lines start at the left edge.
+
+ THIS IS THE FIRST LINE OF EXAMPLE TEXT
+ IS
+ EXAMPLE
+ TEXT END
+
+
+SUMMARY
+-------
+
+ '~' (tilde) Convert case of current character
+
+ 'U' * EMACS-NOTICE: Same as lowercase u undo in Viper.
+
+ '.' (dot) repeat last change
+
+ C-d Move DOWN one half-screen
+ (depress the control key and type d)
+
+ C-u Move UP one half-screen
+ (depress the control key and type u)
+
+ C-f Move FORWARD one full-screen
+ C-b Move BACKWARD one full-screen
+
+ C-e Move the window down one line without moving cursor
+ C-y Move the window up one line without moving cursor
+
+ 'z'<RETURN> Position the current line to top of window
+ 'z''.' Position the current line to middle of window
+ 'z''-' Position the current line to bottom of window
+
+ C-c C-g Show status of current file
+ C-l Recenter
+
+ '!'}fmt Format the paragraph, joining and filling lines to
+ produce output lines of up to 72 characters
+
+ '!'}sort Sort lines of a paragraph alphabetically
+
+ '>'movement Shift right to where the movement command specifies
+ '<'movement Shift left to where the movement command specifies
+
+
+These commands should significantly speed up your editing. Have a nice
+day. Tutorial 6 contains even more nifty commands.
+
+Copyright (c) 1992 Jill Kliger and Wesley Craig. All Rights Reserved.
View
49 elpa-to-submit/nxhtml/etc/viper-tut/README
@@ -0,0 +1,49 @@
+Viper Tutorial README
+=====================
+
+To install the Viper tutorial you must do two things:
+
+1) Put viper-tutorial.el in your Emacs load-path.
+
+2) Put the tutorial files (0intro, 1basics etc) in subdirectory to
+ where you put viper-tutorial.el with the name viper-tut.
+ Optionally you may put those file any where and customize the
+ option viper-tut-directory.
+
+The tutorial is started by
+
+ M-x viper-tutorial RET
+
+
+
+
+Viper tutorial is based on vilearn version 1.0 which was downloaded
+from http://vilearn.org.
+
+Below is the original readme from vilearn. Note that the only part
+that applies here is the copyright notice.
+
+---------------------------------------------------
+This is version 1.0 of vilearn, an interactive vi tutorial.
+
+Copyright (c) 1992 Jill Kliger and Wesley Craig. All Rights Reserved.
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appears in all copies and that
+the copyright notice, this permission notice, and an explicit record of
+any local changes, appear in supporting documentation. This software
+is supplied as is without expressed or implied warranties of any kind.
+
+To install, edit the Makefile and type
+
+ make install
+
+We have a mailing list, vilearn-admins@terminator.rs.itd.umich.edu. To
+be added to the list, send mail to vilearn-admins-request. The list is
+intended to discuss the tutorials, coordinate projects relating to
+them, and provide help to those who may need it.
+
+Wesley Craig & Jill Kliger
+1317 Packard Street vilearn@terminator.rs.itd.umich.edu
+Ann Arbor, MI 48104
View
131 elpa-to-submit/nxhtml/etc/viper-tut/outline
@@ -0,0 +1,131 @@
+
+*
+* tutorial 1 FILENAME: 1basics
+* basics
+*
+
+C-d down
+C-u up
+
+h left
+j down
+k up
+l right
+
+dd delete line
+x x-out character
+
+u undo
+
+:q! force quit
+ZZ good bye
+
+o open
+i insert
+
+*
+* tutorial 2 FILENAME: 2moving
+* objects, finds & marks
+*
+
+w W word
+b B back
+e E end
+
+{ } paragraph
+( ) sentence
+[ ] sections
+
+$ end of line
+^ first non-white
+| column
+0 beginning of line
+
+f F find
+t T to
+; repeat fFtT
+, reverse fFtT
+
+G goto
+
+H high
+M middle
+L low
+
+n N next
+? / regex
+
+% match
+
+' move to marked line
+m mark
+
+
+*
+* tutorial 3 FILENAME: 3cutpaste & 3temp
+*
+* cutting, pasting, buffers, and files
+*
+
+d D deletes
+y Y yank
+p P put
+" buffer
+:e edit
+
+*
+* tutorial 4 FILENAME: 4inserting
+* insertion
+*
+
+a A append
+c C change
+i I insert
+o O open
+r R replace
+s S substitute
+
+J join
+
+*
+* tutorial 5 FILENAME: 5tricks
+* tricks
+*
+
+~ case
+
+u U undo
+
+. do again
+
+C-b back
+C-f forward
+C-e down line
+C-y up line
+z zero
+
+C-g status
+C-l refresh
+
+C-z suspend
+
+C-t pop tag proposed
+C-] follow tag proposed
+
+! command
+
+< > shift
+
+*
+* tutorial 6 PROPOSED
+* commands from hell
+*
+
+: colon commands
+Q quit
+C-r redraw
+@ execute buffer as macro
+& like :&
+
+C-t shift (insert)
+C-d unshift (insert)
View
2,472 elpa-to-submit/nxhtml/nxhtml-loaddefs.el
@@ -0,0 +1,2472 @@
+;; Autoloads for nXthml
+;;
+;; This file should be updated by `nxhtmlmaint-get-file-autoloads',
+;; `nxhtmlmaint-get-dir-autoloads' or `nxhtmlmaint-get-all-autoloads'.
+
+;;;### (autoloads (html-site-query-replace html-site-rgrep html-site-find-file
+;;;;;; html-site-dired-current html-site-set-site html-site-buffer-or-dired-file-name)
+;;;;;; "../nxhtml/html-site" "nxhtml/html-site.el" (18658 47798))
+;;; Generated autoloads from nxhtml/html-site.el
+
+(autoload 'html-site-buffer-or-dired-file-name "../nxhtml/html-site" "\
+Return buffer file name or file pointed to in dired.
+
+\(fn)" nil nil)
+
+(autoload 'html-site-set-site "../nxhtml/html-site" "\
+Not documented
+
+\(fn NAME)" t nil)
+
+(autoload 'html-site-dired-current "../nxhtml/html-site" "\
+Open `dired' in current site top directory.
+
+\(fn)" t nil)
+
+(autoload 'html-site-find-file "../nxhtml/html-site" "\
+Find file in current site.
+
+\(fn)" t nil)
+
+(autoload 'html-site-rgrep "../nxhtml/html-site" "\
+Search current site's files with `rgrep'.
+See `rgrep' for the arguments REGEXP and FILES.
+
+\(fn REGEXP FILES)" t nil)
+
+(autoload 'html-site-query-replace "../nxhtml/html-site" "\
+Query replace in current site's files.
+
+\(fn FROM TO FILE-REGEXP DELIMITED)" t nil)
+
+;;;***
+
+;;;### (autoloads (inlimg-toggle-img-display inlimg-mode) "../nxhtml/inlimg"
+;;;;;; "nxhtml/inlimg.el" (18658 47798))
+;;; Generated autoloads from nxhtml/inlimg.el
+
+(autoload 'inlimg-mode "../nxhtml/inlimg" "\
+Display <img ...> images inline.
+Images are displayed below the <img ...> tag using the margins in
+`inlimg-margins'. The whole image or a slice of it may be
+displayed, see `inlimg-slice'.
+
+See also the command `inlimg-toggle-img-display'.
+
+\(fn &optional ARG)" t nil)
+
+(autoload 'inlimg-toggle-img-display "../nxhtml/inlimg" "\
+Toggle display of img image at point POINT.
+See also the command `inlimg-mode'.
+
+\(fn POINT)" t nil)
+
+;;;***
+
+;;;### (autoloads (nxhtml-validation-header-mode nxhtml-mode) "../nxhtml/nxhtml"
+;;;;;; "nxhtml/nxhtml.el" (18735 15066))
+;;; Generated autoloads from nxhtml/nxhtml.el
+
+(autoload 'nxhtml-mode "../nxhtml/nxhtml" "\
+Major mode for editing XHTML documents.
+It is based on `nxml-mode' and adds some features that are useful
+when editing XHTML files.\\<nxhtml-mode-map>
+
+To see an overview in html format do \\[nxhtml-overview].
+
+* Note: Please observe that when loading nXhtml some file
+ associations are done, see `nxhtml-auto-mode-alist'.
+
+The nXhtml menu is added by this mode (or actually the minor
+mode `nxhtml-minor-mode') and gives quick access and an overview
+of some other important features. These includes:
+
+- multiple major modes, see `define-mumamo-multi-major-mode'
+- easy uploading and viewing of files, see for example
+ `html-upl-upload-file'
+- validation in XHTML part for php etc, see
+ `nxhtml-validation-header-mode' (you probably also want to know about
+ `nxhtml-toggle-visible-warnings' for this!)
+- converting of html to xhtml, see `tidy-buffer'
+
+The XML menu contains functionality added by `nxml-mode' (on
+which this major mode is based). There is also a popup menu
+added to the [apps] key.
+
+The most important features are probably completion and
+validation, which is inherited from `nxml-mode' with some small
+addtions. In very many situation you can use completion. To
+access it type \\[nxml-complete]. Completion has been enhanced in
+the following way:
+
+- If region is active and visible then completion will surround the
+ region with the chosen tag's start and end tag. However only the
+ starting point is checked for validity. If something is wrong after
+ insertion you will however immediately see it if you have validation
+ on.
+- It can in some cases give assistance with attribute values.
+- Completion can be customized, see the menus XHTML - Completion:
+ * You can use a menu popup style completion.
+ * You can have alternatives grouped.
+ * You can get a short help text shown for each alternative.
+- There does not have to be a '<' before point for tag name
+ completion. (`nxml-mode' requires a '<' before point for tag name
+ completion.)
+- Completes xml version and encoding.
+- Completes in an empty buffer, ie inserts a skeleton.
+
+Some smaller, useful, but easy-to-miss features:
+
+* Following links. The href and src attribute names are
+ underlined and a special keymap is bound to
+ them:\\<mlinks-mode-map>
+
+ \\[mlinks-backward-link], \\[mlinks-forward-link] Move
+ between underlined href/src attributes
+
+ \\[mlinks-goto], Mouse-1 Follow link inside Emacs
+ (if possible)
+
+ It is even a little bit quicker when the links are in an active
+ state (marked with the face `isearch'):\\<mlinks-active-hilight-keymap>
+
+ \\[mlinks-backward-link], \\[mlinks-forward-link] Move
+ between underlined href/src attributes
+ \\[mlinks-goto], Mouse-1 Follow link inside Emacs (if possible)
+
+ If the link is not into a file that you can edit (a mailto link
+ for example) you will be prompted for an alternative action.
+
+* Creating links. To make it easier to create links to id/name
+ attribute in different files there are two special
+ functions:\\<nxhtml-mode-map>
+
+ \\[nxhtml-save-link-to-here] copy link to id/name (you must
+ be in the tag to get the link)
+ \\[nxhtml-paste-link-as-a-tag] paste this as an a-tag.
+
+Here are all key bindings in nxhtml-mode itself:
+
+\\{nxhtml-mode-map}
+
+The minor mode `nxhtml-minor-mode' adds some bindings:
+
+\\{nxhtml-minor-mode-map}
+
+Notice that other minor mode key bindings may also be active, as
+well as emulation modes. Do \\[describe-bindings] to get a list
+of all active key bindings. Also, *VERY IMPORTANT*, if mumamo is
+used in the buffer each mumamo chunk has a different major mode
+with different key bindings. You can however still see all
+bindings with \\[describe-bindings], but you have to do that with
+point in the mumamo chunk you want to know the key bindings in.
+
+---------
+* Note: Some of the features supported by this mode are optional
+ and available only if other Emacs modules are found. Use
+ \\[nxhtml-features-check] to get a list of these optional
+ features and modules needed. You should however have no problem
+ with this if you have followed the installation instructions
+ for nXhtml.
+
+\(fn)" t nil)
+
+(autoload 'nxhtml-validation-header-mode "../nxhtml/nxhtml" "\
+If on use a Fictive XHTML Validation Header for the buffer.
+See `nxhtml-set-validation-header' for information about Fictive XHTML Validation Headers.
+
+This mode may be turned on automatically in two ways:
+- If you try to do completion of a XHTML tag or attribute then
+ `nxthml-mode' may ask you if you want to turn this mode on if
+ needed.
+- You can also choose to have it turned on automatically whenever
+ mumamo is used, see `nxhtml-validation-header-if-mumamo' for
+ further information.
+
+\(fn &optional ARG)" t nil)
+
+;;;***
+
+;;;### (autoloads (nxhtml-report-bug) "../nxhtml/nxhtml-bug" "nxhtml/nxhtml-bug.el"
+;;;;;; (18654 33920))
+;;; Generated autoloads from nxhtml/nxhtml-bug.el
+
+(autoload 'nxhtml-report-bug "../nxhtml/nxhtml-bug" "\
+Report a bug in nXhtml.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads (nxhtml-global-minor-mode nxhtml-minor-mode) "../nxhtml/nxhtml-menu"
+;;;;;; "nxhtml/nxhtml-menu.el" (18671 42692))
+;;; Generated autoloads from nxhtml/nxhtml-menu.el
+
+(autoload 'nxhtml-minor-mode "../nxhtml/nxhtml-menu" "\
+Minor mode to turn on some key and menu bindings.
+See `nxhtml-mode' for more information.
+
+\(fn &optional ARG)" t nil)
+
+(defvar nxhtml-global-minor-mode nil "\
+Non-nil if Nxhtml-Global minor mode is enabled.
+See the command `nxhtml-global-minor-mode' for a description of this minor mode.
+Setting this variable directly does not take effect;
+either customize it (see the info node `Easy Customization')
+or call the function `nxhtml-global-minor-mode'.")
+
+(custom-autoload 'nxhtml-global-minor-mode "../nxhtml/nxhtml-menu" nil)
+
+(autoload 'nxhtml-global-minor-mode "../nxhtml/nxhtml-menu" "\
+Toggle Nxhtml minor mode in every possible buffer.
+With prefix ARG, turn Nxhtml-Global minor mode on if and only if ARG is positive.
+Nxhtml minor mode is enabled in all buffers where `nxhtml-maybe-turn-on-minor-mode' would do it.
+See `nxhtml-minor-mode' for more information on Nxhtml minor mode.
+
+\(fn &optional ARG)" t nil)
+
+;;;***
+
+;;;### (autoloads (mako-nxhtml-mumamo-mode asp-nxhtml-mumamo-mode
+;;;;;; eruby-nxhtml-mumamo-mode jsp-nxhtml-mumamo-mode smarty-nxhtml-mumamo-mode
+;;;;;; mjt-nxhtml-mumamo-mode genshi-nxhtml-mumamo-mode django-nxhtml-mumamo-mode
+;;;;;; embperl-nxhtml-mumamo-mode nxhtml-mumamo-mode) "../nxhtml/nxhtml-mumamo"
+;;;;;; "nxhtml/nxhtml-mumamo.el" (18764 14404))
+;;; Generated autoloads from nxhtml/nxhtml-mumamo.el
+
+(autoload 'nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for (X)HTML with main mode `nxhtml-mode'.
+This covers inlined style and javascript and PHP." t)
+
+(autoload 'embperl-nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for Embperl files with main mode `nxhtml-mode'.
+This also covers inlined style and javascript." t)
+
+(autoload 'django-nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for Django with main mode `nxhtml-mode'.
+This also covers inlined style and javascript." t)
+
+(autoload 'genshi-nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for Genshi with main mode `nxhtml-mode'.
+This also covers inlined style and javascript." t)
+
+(autoload 'mjt-nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for MJT with main mode `nxhtml-mode'.
+This also covers inlined style and javascript." t)
+
+(autoload 'smarty-nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for Smarty with main mode `nxhtml-mode'.
+This also covers inlined style and javascript." t)
+
+(autoload 'jsp-nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for JSP with main mode `nxhtml-mode'.
+This also covers inlined style and javascript." t)
+
+(autoload 'eruby-nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for eRuby with main mode `nxhtml-mode'.
+This also covers inlined style and javascript." t)
+
+(autoload 'asp-nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for ASP with main mode `nxhtml-mode'.
+This also covers inlined style and javascript." t)
+
+(autoload 'mako-nxhtml-mumamo-mode "../nxhtml/nxhtml-mumamo" "\
+Turn on multiple major modes for Mako with main mode `nxhtml-mode'.
+This also covers inlined style and javascript." t)
+
+;;;***
+
+;;;### (autoloads (nxml-where-global-mode nxml-where-mode) "../nxhtml/nxml-where"
+;;;;;; "nxhtml/nxml-where.el" (18658 47798))
+;;; Generated autoloads from nxhtml/nxml-where.el
+
+(autoload 'nxml-where-mode "../nxhtml/nxml-where" "\
+Shows path in mode line.
+
+\(fn &optional ARG)" t nil)
+
+(defvar nxml-where-global-mode nil "\
+Non-nil if Nxml-Where-Global mode is enabled.
+See the command `nxml-where-global-mode' for a description of this minor mode.
+Setting this variable directly does not take effect;
+either customize it (see the info node `Easy Customization')
+or call the function `nxml-where-global-mode'.")
+
+(custom-autoload 'nxml-where-global-mode "../nxhtml/nxml-where" nil)
+
+(autoload 'nxml-where-global-mode "../nxhtml/nxml-where" "\
+Toggle Nxml-Where mode in every possible buffer.
+With prefix ARG, turn Nxml-Where-Global mode on if and only if ARG is positive.
+Nxml-Where mode is enabled in all buffers where `nxml-where-turn-on-in-nxml-child' would do it.
+See `nxml-where-mode' for more information on Nxml-Where mode.
+
+\(fn &optional ARG)" t nil)
+
+;;;***
+
+;;;### (autoloads (csharp-mode) "../related/csharp-mode" "related/csharp-mode.el"
+;;;;;; (18283 4168))
+;;; Generated autoloads from related/csharp-mode.el
+
+(autoload 'csharp-mode "../related/csharp-mode" "\
+Major mode for editing C# (pronounced \"see sharp\") code.
+This is a simple example of a separate mode derived from CC Mode to
+support a language with syntax similar to C/C++/ObjC/Java/IDL/Pike.
+
+The hook `c-mode-common-hook' is run with no args at mode
+initialization, then `csharp-mode-hook'.
+
+Key bindings:
+\\{csharp-mode-map}
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads (css-mode) "../related/css-mode" "related/css-mode.el"
+;;;;;; (18248 47980))
+;;; Generated autoloads from related/css-mode.el
+ (add-to-list 'auto-mode-alist '("\\.css\\'" . css-mode))
+
+(autoload 'css-mode "../related/css-mode" "\
+Major mode to edit Cascading Style Sheets.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads (django-mode) "../related/django" "related/django.el"
+;;;;;; (18654 33920))
+;;; Generated autoloads from related/django.el
+
+(autoload 'django-mode "../related/django" "\
+Simple Django mode for use with mumamo.
+This mode only provides syntax highlighting.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads (javascript-mode) "../related/javascript" "related/javascript.el"
+;;;;;; (18418 45624))
+;;; Generated autoloads from related/javascript.el
+
+(autoload 'javascript-mode "../related/javascript" "\
+Major mode for editing JavaScript source text.
+
+Key bindings:
+
+\\{javascript-mode-map}
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads (javascript-mode) "../related/javascript-mozlab"
+;;;;;; "related/javascript-mozlab.el" (18562 39536))
+;;; Generated autoloads from related/javascript-mozlab.el
+
+(autoload 'javascript-mode "../related/javascript-mozlab" "\
+Major mode for editing JavaScript source text.
+
+Key bindings:
+
+\\{javascript-mode-map}
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads (js2-mode) "../related/js2" "related/js2.el" (18624
+;;;;;; 30036))
+;;; Generated autoloads from related/js2.el
+ (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))
+
+(autoload 'js2-mode "../related/js2" "\
+Major mode for editing JavaScript code.
+
+\(fn)" t nil)
+
+;;;***
+
+;;;### (autoloads (js2-mode) "../related/js2-mumamo" "related/js2-mumamo.el"
+;;;;;; (18496 38616))
+;;; Generated autoloads from related/js2-mumamo.el
+ (add-to-list 'auto-mode-alist '("\\.js$" . js2-mode))