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, <mfl...@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 <mfl...@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 <greghendersh...@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 _________________________ Racket Developers list: http://lists.racket-lang.org/dev