1. 13 Dec, 2011 14 commits
    • Rob Pike's avatar
      strconv: include package and function name in error strings · 02f6719d
      Rob Pike authored
      Fixes #2548.
      
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5484062
      02f6719d
    • Russ Cox's avatar
      godoc: text wrapping · 6bf84214
      Russ Cox authored
      Example:
      
      PACKAGE
      
      package utf8
          import "unicode/utf8"
      
          Package utf8 implements functions and constants to support text
          encoded in UTF-8.  This package calls a Unicode character a rune for
          brevity.
      
      CONSTANTS
      
      const (
          RuneError = unicode.ReplacementChar // the "error" Rune or "replacement character".
          RuneSelf  = 0x80                    // characters below Runeself are represented as themselves in a single byte.
          UTFMax    = 4                       // maximum number of bytes of a UTF-8 encoded Unicode character.
      )
          Numbers fundamental to the encoding.
      
      FUNCTIONS
      
      func DecodeLastRune(p []byte) (r rune, size int)
          DecodeLastRune unpacks the last UTF-8 encoding in p and returns the
          rune and its width in bytes.
      
      func DecodeLastRuneInString(s string) (r rune, size int)
          DecodeLastRuneInString is like DecodeLastRune but its input is a
          string.
      
      func DecodeRune(p []byte) (r rune, size int)
          DecodeRune unpacks the first UTF-8 encoding in p and returns the rune
          and its width in bytes.
      
      func DecodeRuneInString(s string) (r rune, size int)
          DecodeRuneInString is like DecodeRune but its input is a string.
      
      func EncodeRune(p []byte, r rune) int
          EncodeRune writes into p (which must be large enough) the UTF-8
          encoding of the rune.  It returns the number of bytes written.
      
      func FullRune(p []byte) bool
          FullRune reports whether the bytes in p begin with a full UTF-8
          encoding of a rune.  An invalid encoding is considered a full Rune
          since it will convert as a width-1 error rune.
      
      func FullRuneInString(s string) bool
          FullRuneInString is like FullRune but its input is a string.
      
      func RuneCount(p []byte) int
          RuneCount returns the number of runes in p.  Erroneous and short
          encodings are treated as single runes of width 1 byte.
      
      func RuneCountInString(s string) (n int)
          RuneCountInString is like RuneCount but its input is a string.
      
      func RuneLen(r rune) int
          RuneLen returns the number of bytes required to encode the rune.
      
      func RuneStart(b byte) bool
          RuneStart reports whether the byte could be the first byte of an
          encoded rune.  Second and subsequent bytes always have the top two
          bits set to 10.
      
      func Valid(p []byte) bool
          Valid reports whether p consists entirely of valid UTF-8-encoded
          runes.
      
      func ValidString(s string) bool
          ValidString reports whether s consists entirely of valid UTF-8-encoded
          runes.
      
      TYPES
      
      type String struct {
          // contains filtered or unexported fields
      }
          String wraps a regular string with a small structure that provides
          more efficient indexing by code point index, as opposed to byte index.
          Scanning incrementally forwards or backwards is O(1) per index
          operation (although not as fast a range clause going forwards).
          Random access is O(N) in the length of the string, but the overhead is
          less than always scanning from the beginning.  If the string is ASCII,
          random access is O(1).  Unlike the built-in string type, String has
          internal mutable state and is not thread-safe.
      
      func NewString(contents string) *String
          NewString returns a new UTF-8 string with the provided contents.
      
      func (s *String) At(i int) rune
          At returns the rune with index i in the String.  The sequence of runes
          is the same as iterating over the contents with a "for range" clause.
      
      func (s *String) Init(contents string) *String
          Init initializes an existing String to hold the provided contents.
          It returns a pointer to the initialized String.
      
      func (s *String) IsASCII() bool
          IsASCII returns a boolean indicating whether the String contains only
          ASCII bytes.
      
      func (s *String) RuneCount() int
          RuneCount returns the number of runes (Unicode code points) in the
          String.
      
      func (s *String) Slice(i, j int) string
          Slice returns the string sliced at rune positions [i:j].
      
      func (s *String) String() string
          String returns the contents of the String.  This method also means the
          String is directly printable by fmt.Print.
      
      Fixes #2479.
      
      R=golang-dev, dsymonds, mattn.jp, r, gri, r
      CC=golang-dev
      https://golang.org/cl/5472051
      6bf84214
    • Russ Cox's avatar
      gc: delete DUPOK definition · 61655bc5
      Russ Cox authored
      The relevant header is already included.
      
      R=ken2
      CC=golang-dev
      https://golang.org/cl/5487062
      61655bc5
    • Dave Cheney's avatar
      exp/ssh: improve client channel close behavior · 2b600f77
      Dave Cheney authored
      R=gustav.paul
      CC=golang-dev
      https://golang.org/cl/5480062
      2b600f77
    • Luuk van Dijk's avatar
      gc: small fixes to fmt.c · 7cf48254
      Luuk van Dijk authored
      don't crash when printing error messages about symbols in a garbled state.
      render OCOMPLIT in export mode.
      
      R=rsc
      CC=golang-dev
      https://golang.org/cl/5466045
      7cf48254
    • Luuk van Dijk's avatar
      e1b1a5fe
    • Rob Pike's avatar
      doc/go1: time · 5fa18e10
      Rob Pike authored
      R=rsc
      CC=golang-dev
      https://golang.org/cl/5477077
      5fa18e10
    • Rob Pike's avatar
      doc/go1: more package updates · f76bd4fe
      Rob Pike authored
      Everything there (as first draft) except the time package.
      
      R=golang-dev, adg, bradfitz
      CC=golang-dev
      https://golang.org/cl/5487052
      f76bd4fe
    • Russ Cox's avatar
      gc: implement == on structs and arrays · 196b6630
      Russ Cox authored
      To allow these types as map keys, we must fill in
      equal and hash functions in their algorithm tables.
      Structs or arrays that are "just memory", like [2]int,
      can and do continue to use the AMEM algorithm.
      Structs or arrays that contain special values like
      strings or interface values use generated functions
      for both equal and hash.
      
      The runtime helper func runtime.equal(t, x, y) bool handles
      the general equality case for x == y and calls out to
      the equal implementation in the algorithm table.
      
      For short values (<= 4 struct fields or array elements),
      the sequence of elementwise comparisons is inlined
      instead of calling runtime.equal.
      
      R=ken, mpimenov
      CC=golang-dev
      https://golang.org/cl/5451105
      196b6630
    • Russ Cox's avatar
      spec: allow comparison of structs, arrays containing comparable values · 83f648c9
      Russ Cox authored
      Also, clarify when interface comparison panics and
      that comparison to nil is a special syntax rather than
      a general comparison rule.
      
      R=r, gri, r, iant, cw, bradfitz
      CC=golang-dev
      https://golang.org/cl/5440117
      83f648c9
    • Nigel Tao's avatar
      html: update comments to match latest spec. · 66113ac8
      Nigel Tao authored
      R=dsymonds
      CC=golang-dev
      https://golang.org/cl/5482054
      66113ac8
    • Nigel Tao's avatar
      html: a first step at parsing foreign content (MathML, SVG). · b9064fb1
      Nigel Tao authored
      Nodes now have a Namespace field.
      
      Pass adoption01.dat, test 12:
      <a><svg><tr><input></a>
      
      | <html>
      |   <head>
      |   <body>
      |     <a>
      |       <svg svg>
      |         <svg tr>
      |           <svg input>
      
      The other adoption01.dat tests already passed.
      
      R=andybalholm
      CC=golang-dev
      https://golang.org/cl/5467075
      b9064fb1
    • Mikio Hara's avatar
      syscall: regenerate z-files for darwin, freebsd · 0643aace
      Mikio Hara authored
      R=golang-dev, jsing, rsc
      CC=golang-dev
      https://golang.org/cl/5479054
      0643aace
    • Mikio Hara's avatar
      net: fix typo · f6972ba6
      Mikio Hara authored
      R=golang-dev, rsc
      CC=golang-dev
      https://golang.org/cl/5488052
      f6972ba6
  2. 12 Dec, 2011 26 commits