Author: phil
Date: Tue Apr 12 22:54:19 2016
New Revision: 297885
URL: https://svnweb.freebsd.org/changeset/base/297885

Log:
  Import libxo 0.4.6

Added:
  vendor/Juniper/libxo/dist/.gitignore
  vendor/Juniper/libxo/dist/.svnignore
  vendor/Juniper/libxo/dist/doc/libxo-manual.html   (contents, props changed)
Deleted:
  vendor/Juniper/libxo/dist/install-sh
  vendor/Juniper/libxo/dist/libxo/add.man
  vendor/Juniper/libxo/dist/libxo/xo_config.h.in
  vendor/Juniper/libxo/dist/m4/libtool.m4
  vendor/Juniper/libxo/dist/m4/ltoptions.m4
  vendor/Juniper/libxo/dist/m4/ltsugar.m4
  vendor/Juniper/libxo/dist/m4/ltversion.m4
  vendor/Juniper/libxo/dist/m4/lt~obsolete.m4
Modified:
  vendor/Juniper/libxo/dist/configure.ac
  vendor/Juniper/libxo/dist/libxo/libxo.c
  vendor/Juniper/libxo/dist/libxo/xo_open_container.3
  vendor/Juniper/libxo/dist/libxo/xo_open_list.3
Directory Properties:
  vendor/Juniper/libxo/dist/   (props changed)
  vendor/Juniper/libxo/dist/doc/   (props changed)
  vendor/Juniper/libxo/dist/encoder/   (props changed)
  vendor/Juniper/libxo/dist/encoder/cbor/   (props changed)
  vendor/Juniper/libxo/dist/encoder/test/   (props changed)
  vendor/Juniper/libxo/dist/libxo/   (props changed)
  vendor/Juniper/libxo/dist/tests/   (props changed)
  vendor/Juniper/libxo/dist/tests/core/   (props changed)
  vendor/Juniper/libxo/dist/tests/gettext/   (props changed)
  vendor/Juniper/libxo/dist/tests/xo/   (props changed)
  vendor/Juniper/libxo/dist/xo/   (props changed)
  vendor/Juniper/libxo/dist/xohtml/   (props changed)
  vendor/Juniper/libxo/dist/xolint/   (props changed)
  vendor/Juniper/libxo/dist/xopo/   (props changed)

Added: vendor/Juniper/libxo/dist/.gitignore
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/Juniper/libxo/dist/.gitignore        Tue Apr 12 22:54:19 2016        
(r297885)
@@ -0,0 +1,46 @@
+# Object files
+*.o
+
+# Libraries
+*.lib
+*.a
+
+# Shared objects (inc. Windows DLLs)
+*.dll
+*.so
+*.so.*
+*.dylib
+
+# Executables
+*.exe
+*.app
+
+*~
+*.orig
+
+aclocal.m4
+ar-lib
+autom4te.cache
+build
+compile
+config.guess
+config.h.in
+config.sub
+depcomp
+install-sh
+ltmain.sh
+missing
+m4
+
+Makefile.in
+configure
+.DS_Store
+
+xoconfig.h.in
+xo_config.h.in
+
+.gdbinit
+.gdbinit.local
+xtest
+xtest.dSYM
+tests/w

Added: vendor/Juniper/libxo/dist/.svnignore
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/Juniper/libxo/dist/.svnignore        Tue Apr 12 22:54:19 2016        
(r297885)
@@ -0,0 +1,18 @@
+Makefile.in
+aclocal.m4
+ar-lib
+autom4te.cache
+bin*
+build*
+compile
+configure
+config.guess
+config.sub
+depcomp
+doc/Makefile.in
+info*
+install-sh
+ltmain.sh
+m4*
+missing
+patches*

Modified: vendor/Juniper/libxo/dist/configure.ac
==============================================================================
--- vendor/Juniper/libxo/dist/configure.ac      Tue Apr 12 22:31:48 2016        
(r297884)
+++ vendor/Juniper/libxo/dist/configure.ac      Tue Apr 12 22:54:19 2016        
(r297885)
@@ -12,7 +12,7 @@
 #
 
 AC_PREREQ(2.2)
-AC_INIT([libxo], [0.4.5], [p...@juniper.net])
+AC_INIT([libxo], [0.4.6], [p...@juniper.net])
 AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability])
 
 # Support silent build rules.  Requires at least automake-1.11.

Added: vendor/Juniper/libxo/dist/doc/libxo-manual.html
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ vendor/Juniper/libxo/dist/doc/libxo-manual.html     Tue Apr 12 22:54:19 
2016        (r297885)
@@ -0,0 +1,27134 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
+<html lang="en">
+<head profile="http://www.w3.org/2006/03/hcard";>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>libxo: The Easy Way to Generate text, XML, JSON, and HTML output</title>
+<style type="text/css">/*
+ * $Id$
+ *
+ * Copyright (c) 2006-2011, Juniper Networks, Inc.
+ * All rights reserved.
+ * This SOFTWARE is licensed under the LICENSE provided in the
+ * ../Copyright file. By downloading, installing, copying, or otherwise
+ * using the SOFTWARE, you agree to be bound by the terms of that
+ * LICENSE.
+ */
+
+#media-inspector {
+    display:none
+}
+@media screen {
+    #media-inspector { z-index: 1 }
+}
+@media print {
+    #media-inspector { z-index: 2 }
+}
+
+pre {
+    font-family: Consolas, Menlo, Monaco,Lucida Console, Liberation Mono,
+                 DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New,
+                 monospace, serif;
+    margin-bottom: 10px;
+}
+
+@media screen {
+    hr.noprint {
+       display: none;
+    }
+
+    h1, h2, h3, h4, h5 {
+       font-size: 14pt;
+       color: black;
+       margin: 0;
+       padding: 0;
+    }
+    h1 a, h2 a, h3 a, h4 a, h5 a {
+       font-size: 12pt;
+       color: black;
+    }
+
+    div#top {
+       display: table;
+    }
+
+    div#top-left {
+       display: table-cell;
+       width: 400px;
+       border: 1px solid black;
+       border-right: 0px;
+    }
+
+    div#top-right {
+       display: table-cell;
+       width: 100%;
+       border: 1px solid black;
+    }
+
+    div.section-number {
+       display: none;
+    }
+
+    div.fake-content {
+       display: block;
+       background-color: #d0d0f0;
+    }
+
+    div.fake-active {
+       display: block;
+       background-color: #f0d0d0;
+    }
+
+    div#nav-bar {
+       display: inline-block;
+       float: right;
+    }
+
+    div#nav-bar button#nav-next {
+        margin-right: 1em;
+    }
+
+    div#nav-bar button {
+        border-radius: 4px;
+    }
+
+    div.content {
+       display: none;
+    }
+
+    div.active {
+       display: block;
+    }
+
+    a.toc-active {
+       background-color: #dddddd;
+    }
+
+    div.self-section-number {
+       display: none;
+    }
+
+    div#debug-log {
+       white-space: pre-wrap;
+    }
+
+    h1, h2, h3, h4, h5 {
+       margin: 0;
+    }
+
+    div#toc {
+       overflow-y: scroll;
+    }
+
+    div#toc > ul.toc {
+       margin-left: 2px;
+    }
+
+    table.header {
+       display: none;
+    }
+
+    p#title span.filename {
+       display: none;
+    }
+
+    p#title {
+       margin-top: 20px;
+    }
+
+    ul.top-toc {
+       display: none;
+    }
+
+    ul.top-toc-open {
+       display: block;
+    }
+
+    div.padding {
+       width: 300px;
+    }
+
+}
+
+@media print {
+    div.self-section-number, div.section-number {
+       display: block-inline;
+    }
+
+    button {
+       display: none;
+    }
+
+    h1 {
+       font-size: 14pt;
+       /*  line-height: 21pt;*/
+       page-break-after: avoid;
+    }
+    h1.np {
+       page-break-before: always;
+    }
+    h1 a {
+       color: #333333;
+    }
+    h2 {
+       font-size: 12pt;
+       /*  line-height: 15pt; */
+       page-break-after: avoid;
+    }
+    h2 a {
+       color: black;
+    }
+    h3 {
+       font-size: 10pt;
+       page-break-after: avoid;
+    }
+    h3 a {
+       color: black;
+    }
+    h4 {
+       font-size: 10pt;
+       page-break-after: avoid;
+    }
+    h4 a {
+       color: black;
+    }
+    h5 {
+       font-size: 10pt;
+       page-break-after: avoid;
+    }
+    h5 a {
+       color: black;
+    }
+}
+
+p.section-contents, p.section-contents + ul {
+    background-color: #f8f8ff;
+    padding: 1em 0px 1em 3em;
+    border: 1px dotted #0000c0;
+}
+
+p.section-contents + ul {
+    margin: 0px 1em 0px 3em;
+    border-top: 0px;
+}
+
+p.section-contents {
+    margin: 3em 1em 0px 3em;
+    font-weight: bold;
+    border-bottom: 0px;
+    padding-bottom: 0px;
+}
+</style>
+<style type="text/css" title="Xml2Rfc (sans serif)">
+a {
+  text-decoration: none;
+}
+a.smpl {
+  color: black;
+}
+a:hover {
+  text-decoration: underline;
+}
+a:active {
+  text-decoration: underline;
+}
+address {
+  margin-top: 1em;
+  margin-left: 2em;
+  font-style: normal;
+}
+body {
+  color: black;
+  font-family: verdana, helvetica, arial, sans-serif;
+  font-size: 10pt;
+}
+cite {
+  font-style: normal;
+}
+dd {
+  margin-right: 2em;
+}
+dl {
+  margin-left: 2em;
+}
+
+dl.empty dd {
+  margin-top: .5em;
+}
+dl p {
+  margin-left: 0em;
+}
+dt {
+  margin-top: .5em;
+}
+img {
+  margin-left: 3em;
+}
+li {
+  margin-left: 2em;
+  margin-right: 2em;
+}
+ol {
+  margin-left: 2em;
+  margin-right: 2em;
+}
+ol p {
+  margin-left: 0em;
+}
+p {
+  margin-left: 2em;
+  margin-right: 2em;
+}
+pre {
+  margin-left: 3em;
+  background-color: lightyellow;
+  padding: .25em;
+  padding-top: 12px;
+  margin-right: 1em;
+  -moz-box-shadow:    0 0 4px #000000;
+  -webkit-box-shadow: 0 0 4px #000000;
+  box-shadow:         0 0 4px #000000;
+}
+pre.text2 {
+  border-style: dotted;
+  border-width: 1px;
+  background-color: #f0f0f0;
+  width: 69em;
+}
+pre.inline {
+  background-color: white;
+  padding: 0em;
+}
+pre.text {
+  border-style: dotted;
+  border-width: 1px;
+  background-color: #f8f8f8;
+  width: 69em;
+}
+pre.drawing {
+  border-style: solid;
+  border-width: 1px;
+  background-color: #f8f8f8;
+  padding: 2em;
+}
+table {
+  margin-left: 2em;
+}
+table.tt {
+  vertical-align: top;
+}
+table.full {
+  border-style: outset;
+  border-width: 1px;
+  margin-left: 3em;
+  background-color: lightyellow;
+  padding: .25em;
+  -moz-box-shadow:    0 0 4px #000000;
+  -webkit-box-shadow: 0 0 4px #000000;
+  box-shadow:         0 0 4px #000000;
+}
+table.headers {
+  border-style: outset;
+  border-width: 1px;
+}
+table.tt td {
+  vertical-align: top;
+}
+table.full td {
+  border-style: inset;
+  border-width: 1px;
+}
+table.tt th {
+  vertical-align: top;
+}
+table.full th {
+  border-style: inset;
+  border-width: 1px;
+}
+table.headers th {
+  border-style: none none inset none;
+  border-width: 1px;
+}
+table.header {
+  width: 95%;
+  font-size: 10pt;
+  color: white;
+}
+td.top {
+  vertical-align: top;
+}
+td.topnowrap {
+  vertical-align: top;
+  white-space: nowrap; 
+}
+td.header {
+  background-color: gray;
+  width: 50%;
+}
+td.header a {
+  color: white;
+}
+td.reference {
+  vertical-align: top;
+  white-space: nowrap;
+  padding-right: 1em;
+}
+thead {
+  display:table-header-group;
+}
+ul.toc {
+  list-style: none;
+  margin-left: 1.5em;
+  margin-right: 0em;
+  padding-left: 0em;
+}
+li.tocline0 {
+  line-height: 150%;
+  font-weight: bold;
+  font-size: 10pt;
+  margin-left: 0em;
+  margin-right: 0em;
+}
+li.tocline1 {
+  line-height: normal;
+  font-weight: normal;
+  font-size: 9pt;
+  margin-left: 0em;
+  margin-right: 0em;
+}
+li.tocline2 {
+  font-size: 0pt;
+}
+ul p {
+  margin-left: 0em;
+}
+ul.ind {
+  list-style: none;
+  margin-left: 1.5em;
+  margin-right: 0em;
+  padding-left: 0em;
+}
+li.indline0 {
+  font-weight: bold;
+  line-height: 200%;
+  margin-left: 0em;
+  margin-right: 0em;
+}
+li.indline1 {
+  font-weight: normal;
+  line-height: 150%;
+  margin-left: 0em;
+  margin-right: 0em;
+}
+
+.comment {
+  background-color: yellow;
+}
+.center {
+  text-align: center;
+}
+.error {
+  color: red;
+  font-style: italic;
+  font-weight: bold;
+}
+.figure {
+  font-weight: bold;
+  text-align: center;
+  font-size: 9pt;
+}
+.filename {
+  color: #333333;
+  font-weight: bold;
+  font-size: 12pt;
+  line-height: 21pt;
+  text-align: center;
+}
+.fn {
+  font-weight: bold;
+}
+.hidden {
+  display: none;
+}
+.left {
+  text-align: left;
+}
+.right {
+  text-align: right;
+}
+.title {
+  color: #990000;
+  font-size: 18pt;
+  line-height: 18pt;
+  font-weight: bold;
+  text-align: center;
+  margin-top: 36pt;
+}
+.vcardline {
+  display: block;
+}
+.warning {
+  font-size: 14pt;
+  background-color: yellow;
+}
+
+
+@media print {
+  .noprint {
+    display: none;
+  }
+  
+  a {
+    color: black;
+    text-decoration: none;
+  }
+
+  table.header {
+    width: 90%;
+  }
+
+  td.header {
+    width: 50%;
+    color: black;
+    background-color: white;
+    vertical-align: top;
+    font-size: 12pt;
+  }
+
+  ul.toc a::after {
+    content: leader('.') target-counter(attr(href), page);
+  }
+  
+  a.iref {
+    content: target-counter(attr(href), page);
+  }
+  
+  .print2col {
+    column-count: 2;
+    -moz-column-count: 2;
+    column-fill: auto;
+  }
+}
+
+@page {
+  @top-left {
+       content: "";
+ 
+  } 
+  @top-right {
+       content: "August 2015";
+ 
+  } 
+  @top-center {
+       content: "LIBXO-MANUAL";
+ 
+  } 
+  @bottom-left {
+       content: "Shafer";
+ 
+  } 
+  @bottom-center {
+       content: "";
+ 
+  } 
+  @bottom-right {
+       content: "[Page " counter(page) "]";
+ 
+  } 
+}
+
+@page:first { 
+    @top-left {
+      content: normal;
+    }
+    @top-right {
+      content: normal;
+    }
+    @top-center {
+      content: normal;
+    }
+}
+
+div.tooltip {
+  border: solid 1px #666666;
+  padding: 0px;
+  position: absolute;
+  z-index: 100;
+  display: none;
+  color: #333333;
+  top: 20px;
+  left: 90px;
+  background-color: #ffffcc;
+  layer-background-color: #ffffcc;
+}
+
+div.fancy-tooltip-empty-header {
+  text-align: left;
+  font-weight: bold;
+  margin: 2px;
+}
+
+div.fancy-tooltip-header {
+  text-align: left;
+  font-weight: bold;
+  margin: 2px 2px 0px 2px;
+  border-bottom: 1px solid black;
+}
+
+div.fancy-tooltip-body {
+  font-weight: normal;
+  margin: 4px;
+}
+
+div.fancy-tooltip-body ul, div.fancy-tooltip-body li  {
+  padding: 1px 4px 1px 4px;
+  margin: 1px 2px 1px 8px;
+}
+
+span.digress {
+  background-color: #778899;
+  font: courier new, courier, monospace;
+  color: black;
+  font-weight: bold;
+  font-size: 10px;
+  border: 1px solid #aaaaaa;
+}
+
+span.digress-anchor {
+  margin: 10pt 20pt 10pt 50pt;
+}
+
+a.digress-anchor:link, a.digress-anchor:visited, 
+        a.digress-anchor-hover, a.digress-anchor,active {
+  text-decoration: none;
+  color: black;
+}
+
+</style>
+<script type="text/javascript">/*!
+ * jQuery JavaScript Library v1.7
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Thu Nov 3 16:18:21 2011 -0400
+ */
+(function( window, undefined ) {
+
+// Use the correct document accordingly with window argument (sandbox)
+var document = window.document,
+       navigator = window.navigator,
+       location = window.location;
+var jQuery = (function() {
+
+// Define a local copy of jQuery
+var jQuery = function( selector, context ) {
+               // The jQuery object is actually just the init constructor 
'enhanced'
+               return new jQuery.fn.init( selector, context, rootjQuery );
+       },
+
+       // Map over jQuery in case of overwrite
+       _jQuery = window.jQuery,
+
+       // Map over the $ in case of overwrite
+       _$ = window.$,
+
+       // A central reference to the root jQuery(document)
+       rootjQuery,
+
+       // A simple way to check for HTML strings or ID strings
+       // Prioritize #id over <tag> to avoid XSS via location.hash (#9521)
+       quickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,
+
+       // Check if a string has a non-whitespace character in it
+       rnotwhite = /\S/,
+
+       // Used for trimming whitespace
+       trimLeft = /^\s+/,
+       trimRight = /\s+$/,
+
+       // Check for digits
+       rdigit = /\d/,
+
+       // Match a standalone tag
+       rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
+
+       // JSON RegExp
+       rvalidchars = /^[\],:{}\s]*$/,
+       rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
+       rvalidtokens = 
/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
+       rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
+
+       // Useragent RegExp
+       rwebkit = /(webkit)[ \/]([\w.]+)/,
+       ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
+       rmsie = /(msie) ([\w.]+)/,
+       rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
+
+       // Matches dashed string for camelizing
+       rdashAlpha = /-([a-z]|[0-9])/ig,
+       rmsPrefix = /^-ms-/,
+
+       // Used by jQuery.camelCase as callback to replace()
+       fcamelCase = function( all, letter ) {
+               return ( letter + "" ).toUpperCase();
+       },
+
+       // Keep a UserAgent string for use with jQuery.browser
+       userAgent = navigator.userAgent,
+
+       // For matching the engine and version of the browser
+       browserMatch,
+
+       // The deferred used on DOM ready
+       readyList,
+
+       // The ready event handler
+       DOMContentLoaded,
+
+       // Save a reference to some core methods
+       toString = Object.prototype.toString,
+       hasOwn = Object.prototype.hasOwnProperty,
+       push = Array.prototype.push,
+       slice = Array.prototype.slice,
+       trim = String.prototype.trim,
+       indexOf = Array.prototype.indexOf,
+
+       // [[Class]] -> type pairs
+       class2type = {};
+
+jQuery.fn = jQuery.prototype = {
+       constructor: jQuery,
+       init: function( selector, context, rootjQuery ) {
+               var match, elem, ret, doc;
+
+               // Handle $(""), $(null), or $(undefined)
+               if ( !selector ) {
+                       return this;
+               }
+
+               // Handle $(DOMElement)
+               if ( selector.nodeType ) {
+                       this.context = this[0] = selector;
+                       this.length = 1;
+                       return this;
+               }
+
+               // The body element only exists once, optimize finding it
+               if ( selector === "body" && !context && document.body ) {
+                       this.context = document;
+                       this[0] = document.body;
+                       this.selector = selector;
+                       this.length = 1;
+                       return this;
+               }
+
+               // Handle HTML strings
+               if ( typeof selector === "string" ) {
+                       // Are we dealing with HTML string or an ID?
+                       if ( selector.charAt(0) === "<" && selector.charAt( 
selector.length - 1 ) === ">" && selector.length >= 3 ) {
+                               // Assume that strings that start and end with 
<> are HTML and skip the regex check
+                               match = [ null, selector, null ];
+
+                       } else {
+                               match = quickExpr.exec( selector );
+                       }
+
+                       // Verify a match, and that no context was specified 
for #id
+                       if ( match && (match[1] || !context) ) {
+
+                               // HANDLE: $(html) -> $(array)
+                               if ( match[1] ) {
+                                       context = context instanceof jQuery ? 
context[0] : context;
+                                       doc = ( context ? context.ownerDocument 
|| context : document );
+
+                                       // If a single string is passed in and 
it's a single tag
+                                       // just do a createElement and skip the 
rest
+                                       ret = rsingleTag.exec( selector );
+
+                                       if ( ret ) {
+                                               if ( jQuery.isPlainObject( 
context ) ) {
+                                                       selector = [ 
document.createElement( ret[1] ) ];
+                                                       jQuery.fn.attr.call( 
selector, context, true );
+
+                                               } else {
+                                                       selector = [ 
doc.createElement( ret[1] ) ];
+                                               }
+
+                                       } else {
+                                               ret = jQuery.buildFragment( [ 
match[1] ], [ doc ] );
+                                               selector = ( ret.cacheable ? 
jQuery.clone(ret.fragment) : ret.fragment ).childNodes;
+                                       }
+
+                                       return jQuery.merge( this, selector );
+
+                               // HANDLE: $("#id")
+                               } else {
+                                       elem = document.getElementById( 
match[2] );
+
+                                       // Check parentNode to catch when 
Blackberry 4.6 returns
+                                       // nodes that are no longer in the 
document #6963
+                                       if ( elem && elem.parentNode ) {
+                                               // Handle the case where IE and 
Opera return items
+                                               // by name instead of ID
+                                               if ( elem.id !== match[2] ) {
+                                                       return rootjQuery.find( 
selector );
+                                               }
+
+                                               // Otherwise, we inject the 
element directly into the jQuery object
+                                               this.length = 1;
+                                               this[0] = elem;
+                                       }
+
+                                       this.context = document;
+                                       this.selector = selector;
+                                       return this;
+                               }
+
+                       // HANDLE: $(expr, $(...))
+                       } else if ( !context || context.jquery ) {
+                               return ( context || rootjQuery ).find( selector 
);
+
+                       // HANDLE: $(expr, context)
+                       // (which is just equivalent to: $(context).find(expr)
+                       } else {
+                               return this.constructor( context ).find( 
selector );
+                       }
+
+               // HANDLE: $(function)
+               // Shortcut for document ready
+               } else if ( jQuery.isFunction( selector ) ) {
+                       return rootjQuery.ready( selector );
+               }
+
+               if ( selector.selector !== undefined ) {
+                       this.selector = selector.selector;
+                       this.context = selector.context;
+               }
+
+               return jQuery.makeArray( selector, this );
+       },
+
+       // Start with an empty selector
+       selector: "",
+
+       // The current version of jQuery being used
+       jquery: "1.7",
+
+       // The default length of a jQuery object is 0
+       length: 0,
+
+       // The number of elements contained in the matched element set
+       size: function() {
+               return this.length;
+       },
+
+       toArray: function() {
+               return slice.call( this, 0 );
+       },
+
+       // Get the Nth element in the matched element set OR
+       // Get the whole matched element set as a clean array
+       get: function( num ) {
+               return num == null ?
+
+                       // Return a 'clean' array
+                       this.toArray() :
+
+                       // Return just the object
+                       ( num < 0 ? this[ this.length + num ] : this[ num ] );
+       },
+
+       // Take an array of elements and push it onto the stack
+       // (returning the new matched element set)
+       pushStack: function( elems, name, selector ) {
+               // Build a new jQuery matched element set
+               var ret = this.constructor();
+
+               if ( jQuery.isArray( elems ) ) {
+                       push.apply( ret, elems );
+
+               } else {
+                       jQuery.merge( ret, elems );
+               }
+
+               // Add the old object onto the stack (as a reference)
+               ret.prevObject = this;
+
+               ret.context = this.context;
+
+               if ( name === "find" ) {
+                       ret.selector = this.selector + ( this.selector ? " " : 
"" ) + selector;
+               } else if ( name ) {
+                       ret.selector = this.selector + "." + name + "(" + 
selector + ")";
+               }
+
+               // Return the newly-formed element set
+               return ret;
+       },
+
+       // Execute a callback for every element in the matched set.
+       // (You can seed the arguments with an array of args, but this is
+       // only used internally.)
+       each: function( callback, args ) {
+               return jQuery.each( this, callback, args );
+       },
+
+       ready: function( fn ) {
+               // Attach the listeners
+               jQuery.bindReady();
+
+               // Add the callback
+               readyList.add( fn );
+
+               return this;
+       },
+
+       eq: function( i ) {
+               return i === -1 ?
+                       this.slice( i ) :
+                       this.slice( i, +i + 1 );
+       },
+
+       first: function() {
+               return this.eq( 0 );
+       },
+
+       last: function() {
+               return this.eq( -1 );
+       },
+
+       slice: function() {
+               return this.pushStack( slice.apply( this, arguments ),
+                       "slice", slice.call(arguments).join(",") );
+       },
+
+       map: function( callback ) {
+               return this.pushStack( jQuery.map(this, function( elem, i ) {
+                       return callback.call( elem, i, elem );
+               }));
+       },

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to