[racket-dev] [plt] Push #26693: master branch updated
I think the problem is the way that the release and development version
numbers got out of sync for a while. Version 5.3.6 is derived fairly
directly from v5.3.4 (and v5.3.5) by adding only a small set of bug-fix
patches. Version 5.3.6 has almost nothing that was added in the
v5.3.4.x development series.
The change should certainly have been in any 5.3.900.x or 5.90.x
development version, though, so I can't explain how you got an error
there.
FWIW, for an individual file in a repo clone, you can follow history
through the split by using `git log --follow`. But there's no way to do
that in the GitHub web interface, as far as I know.
At Mon, 16 Sep 2013 17:07:04 -0400, Greg Hendershott wrote:
> After I saw this, I closed the open pull request over on GitHub:
>
> https://github.com/plt/racket/pull/324
>
> BTW here is the commit over on GitHub:
>
> https://github.com/plt/racket/commit/c6e28435578b6b8607d4c767ee956f88c8388ff0
>
> I fetched from HEAD at the time, verison 5.3.4.7. I've been using it
> on that server ever since.
>
> Today I wanted to move my app to a new server, which has 5.3.6
> official. I was really confused that I got an error because
> imap-append has only 3 args not 4. My PR added the 4th, optional arg.
>
> Did this not get merged into release, after all??
>
> Maybe I'm doing something really dumb, but...?
>
>
> p.s. I do see my changes as the last commit in collect/net/imap.rkt
>
> https://github.com/plt/racket/commits/c6e28435578b6b8607d4c767ee956f88c8388ff0/
> collects/net/imap.rkt
>
> and the scribbling collects/net/scribblings/imap.scrbl
>
> https://github.com/plt/racket/blob/c6e28435578b6b8607d4c767ee956f88c8388ff0/col
> lects/net/scribblings/imap.scrbl
>
> This should have been in 5.3.5, as well as 5.3.6. But it doesn't seem
> to be in either (I just tried both).
>
>
> p.p.s. Post package split, I'm not sure how to follow the history. But
> searching for "imap-append":
>
> https://github.com/plt/racket/search?q=imap-append&source=c
>
> I do see my changes in pkgs/net-lib/net/imap.rkt
>
> https://github.com/plt/racket/blob/3ad009070e063614f22a32fbbffa950a8d84e599/pkg
> s/net-lib/net/imap.rkt#L21-L25
> https://github.com/plt/racket/blob/3ad009070e063614f22a32fbbffa950a8d84e599/pkg
> s/net-lib/net/imap.rkt#L21-L25
>
> and in the scribbling:
>
> https://github.com/plt/racket/blob/3ad009070e063614f22a32fbbffa950a8d84e599/pkg
> s/net-lib/net/imap.rkt#L21-L25
>
> But I get a similar error running 5.900.
>
>
> On Tue, Apr 23, 2013 at 5:50 PM, <mflatt at racket-lang.org> wrote:
> > mflatt has updated `master' from 8c7632c025 to c6e2843557.
> > http://git.racket-lang.org/plt/8c7632c025..c6e2843557
> >
> > =====[ 2 Commits ]======================================================
> > Directory summary:
> > 19.8% collects/net/scribblings/
> > 49.1% collects/net/
> > 9.1% collects/racket/private/
> > 21.8% src/racket/src/
> >
> > ~~~~~~~~~~
> >
> > 3779cf6 Matthew Flatt <mflatt at racket-lang.org> 2013-04-23 15:06
> > :
> > | fix `exn:fail:filesystem:missing-module-path'
> > :
> > M collects/racket/private/kernstruct.rkt | 2 +-
> > M src/racket/src/makeexn | 2 +-
> > M src/racket/src/schexn.h | 2 +-
> > M src/racket/src/schvers.h | 4 ++--
> >
> > ~~~~~~~~~~
> >
> > c6e2843 Greg Hendershott <greghendershott at gmail.com> 2013-04-23 13:50
> > :
> > | Add optional message flags argument to imap-append.
> > |
> > | Previously this was hard-coded to use the \Seen flag. Now that's the
> > | default value when the argument is not supplied.
> > :
> > M collects/net/imap.rkt | 20 +++++++++++++-------
> > M collects/net/scribblings/imap.scrbl | 5 ++++-
> >
> > =====[ Overall Diff ]===================================================
> >
> > collects/net/imap.rkt
> > ~~~~~~~~~~~~~~~~~~~~~
> > --- OLD/collects/net/imap.rkt
> > +++ NEW/collects/net/imap.rkt
> > @@ -1,8 +1,9 @@
> > #lang racket/base
> >
> > -(require racket/contract/base
> > - racket/tcp
> > - openssl
> > +(require racket/contract/base
> > + racket/tcp
> > + openssl
> > + racket/format
> > "private/rbtree.rkt")
> >
> > ;; define the imap struct and its predicate here, for use in the contract,
> below
> > @@ -16,7 +17,12 @@
> > [imap-list-child-mailboxes
> > (->* (imap-connection? (or/c string? bytes? #f))
> > ((or/c string? bytes?))
> > - (listof (list/c (listof symbol?) bytes?)))])
> > + (listof (list/c (listof symbol?) bytes?)))]
> > + [imap-append ((imap? string? (or/c string? bytes?))
> > + ((listof
> > + (or/c 'seen 'answered 'flagged 'deleted 'draft 'recent)))
> > + . ->* .
> > + void?)])
> >
> > (provide
> > imap-connection?
> > @@ -45,7 +51,7 @@
> > imap-pending-updates?
> >
> > imap-get-messages
> > - imap-copy imap-append
> > + imap-copy
> > imap-store imap-flag->symbol symbol->imap-flag
> > imap-expunge
> >
> > @@ -539,13 +545,13 @@
> > (check-ok
> > (imap-send imap (list "COPY" (box (msg-set msgs)) dest-mailbox) void)))
> >
> > -(define (imap-append imap dest-mailbox msg)
> > +(define (imap-append imap dest-mailbox msg [flags '(seen)])
> > (no-expunges 'imap-append imap)
> > (let ([msg (if (bytes? msg) msg (string->bytes/utf-8 msg))])
> > (check-ok
> > (imap-send imap (list "APPEND"
> > dest-mailbox
> > - (box "(\\Seen)")
> > + (box (~a (map symbol->imap-flag flags)))
> > (box (format "{~a}" (bytes-length msg))))
> > void
> > (lambda (loop contin)
> >
> > collects/net/scribblings/imap.scrbl
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > --- OLD/collects/net/scribblings/imap.scrbl
> > +++ NEW/collects/net/scribblings/imap.scrbl
> > @@ -416,7 +416,10 @@ Pending expunges must be handled before calling this
> function; see
> >
> > @defproc[(imap-append [imap imap-connection?]
> > [mailbox string?]
> > - [message (or/c string? bytes?)])
> > + [message (or/c string? bytes?)]
> > + [flags (listof (or/c 'seen 'answered 'flagged
> > + 'deleted 'draft 'recent))
> > + '(seen)])
> > void?]{
> >
> > Adds a new message (containing @racket[message]) to the given
> >
> > collects/racket/private/kernstruct.rkt
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > --- OLD/collects/racket/private/kernstruct.rkt
> > +++ NEW/collects/racket/private/kernstruct.rkt
> > @@ -376,7 +376,7 @@
> > (quote-syntax make-exn:fail:filesystem:missing-module)
> > (quote-syntax exn:fail:filesystem:missing-module?)
> > (list
> > - (quote-syntax exn:fail:filesystem:missing-module--path)
> > + (quote-syntax exn:fail:filesystem:missing-module-path)
> > (quote-syntax exn-continuation-marks)
> > (quote-syntax exn-message))
> > '(#f #f #f)
> >
> > src/racket/src/makeexn
> > ~~~~~~~~~~~~~~~~~~~~~~
> > --- OLD/src/racket/src/makeexn
> > +++ NEW/src/racket/src/makeexn
> > @@ -66,7 +66,7 @@ propeties (the latter in curly braces), strings are
> contracts/comments.
> > (errno "pair of symbol and number" "system
> error code")]
> > "error with system error code")
> > (missing-module [module_path_field_check_2
> > - (-path "module path" "module path")
> > + (path "module path" "module path")
> > {exn:module-path
> scheme_module_path_property |scheme_make_prim(extract_module_path_2)|}]
> > "error resolving a module path"))
> > (network [] "TCP and UDP errors"
> >
> > src/racket/src/schexn.h
> > ~~~~~~~~~~~~~~~~~~~~~~~
> > --- OLD/src/racket/src/schexn.h
> > +++ NEW/src/racket/src/schexn.h
> > @@ -115,7 +115,7 @@ static exn_rec *exn_table;
> > static const char *MZEXN_FAIL_SYNTAX_MISSING_MODULE_FIELDS[1] = { "path"
> };
> > static const char *MZEXN_FAIL_READ_FIELDS[1] = { "srclocs" };
> > static const char *MZEXN_FAIL_FILESYSTEM_ERRNO_FIELDS[1] = { "errno" };
> > - static const char *MZEXN_FAIL_FILESYSTEM_MISSING_MODULE_FIELDS[1] = {
> "-path" };
> > + static const char *MZEXN_FAIL_FILESYSTEM_MISSING_MODULE_FIELDS[1] = {
> "path" };
> > static const char *MZEXN_FAIL_NETWORK_ERRNO_FIELDS[1] = { "errno" };
> > static const char *MZEXN_BREAK_FIELDS[1] = { "continuation" };
> > #endif
> >
> > src/racket/src/schvers.h
> > ~~~~~~~~~~~~~~~~~~~~~~~~
> > --- OLD/src/racket/src/schvers.h
> > +++ NEW/src/racket/src/schvers.h
> > @@ -13,12 +13,12 @@
> > consistently.)
> > */
> >
> > -#define MZSCHEME_VERSION "5.3.4.4"
> > +#define MZSCHEME_VERSION "5.3.4.5"
> >
> > #define MZSCHEME_VERSION_X 5
> > #define MZSCHEME_VERSION_Y 3
> > #define MZSCHEME_VERSION_Z 4
> > -#define MZSCHEME_VERSION_W 4
> > +#define MZSCHEME_VERSION_W 5
> >
> > #define MZSCHEME_VERSION_MAJOR ((MZSCHEME_VERSION_X * 100) +
> MZSCHEME_VERSION_Y)
> > #define MZSCHEME_VERSION_MINOR ((MZSCHEME_VERSION_Z * 1000) +
> MZSCHEME_VERSION_W)
> _________________________
> Racket Developers list:
> http://lists.racket-lang.org/dev