Re: [racket-dev] [plt] Push #26693: master branch updated

2013-09-17 Thread Sam Tobin-Hochstadt
On Tue, Sep 17, 2013 at 8:29 AM, Matthew Flatt mfl...@cs.utah.edu wrote:

 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.

Also rather frustratingly, there's no way to do this for a whole
directory, I think. If anyone knows better, I'd love to know.

Sam
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] [plt] Push #26693: master branch updated

2013-09-17 Thread Robby Findler
On Tue, Sep 17, 2013 at 9:53 AM, Greg Hendershott greghendersh...@gmail.com
 wrote:

 On Tue, Sep 17, 2013 at 8:29 AM, Matthew Flatt mfl...@cs.utah.edu wrote:
  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.

 Ah.

 My (mis)understanding of the process was: My change was accepted and
 merged to `master` well before 5.3.5 was released, therefore my change
 will be in 5.3.5.  (In fact at the time I thought, that's lucky
 timing, it will make it into 5.3.5!)

 But although that seemed to be how it worked for my few previous PRs
 (e.g. adding Markdown output to Scribble), it's not necessarily true.

 Is that correct?

 For the future: Is there something I could/should have done to ensure
 the change made it to release?  (Or, was this just a window where such
 a change was unlikely to be accepted?)


No, unfortunately, not. Because we have been in the middle of the big
changes related to the package system, everything except essential bug
fixes have not gone into any of the releases.

And, FWIW, a more precise characterization of your second paragraph above
is my change was accepted and merged to master before the release branch
for release X happened. That would usually be sufficient.

Robby
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] [plt] Push #26693: master branch updated

2013-09-17 Thread Greg Hendershott
On Tue, Sep 17, 2013 at 8:29 AM, Matthew Flatt mfl...@cs.utah.edu wrote:
 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.

Ah.

My (mis)understanding of the process was: My change was accepted and
merged to `master` well before 5.3.5 was released, therefore my change
will be in 5.3.5.  (In fact at the time I thought, that's lucky
timing, it will make it into 5.3.5!)

But although that seemed to be how it worked for my few previous PRs
(e.g. adding Markdown output to Scribble), it's not necessarily true.

Is that correct?

For the future: Is there something I could/should have done to ensure
the change made it to release?  (Or, was this just a window where such
a change was unlikely to be accepted?)


 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.

The explanation is I was completely wrong -- it's there. (I got
confused last night while running several different versions of Racket
on a couple different boxes.)

I can see it in the source.  Plus here's a quick/dirty test (one that
doesn't need to mutate any real IMAP account). The error below is
_good_ because it's a contract violation that 0 isn't `imap?`. Whereas
on the old version it would have been an arity error, passing 4 to a
func expecting 3:

Welcome to Racket v5.90.0.9.
- (require net/imap)
- (imap-append 0 foo foo '())
; imap-append: contract violation
;   expected: imap?
;   given: 0
;   in: the 1st argument of
;   (-*
;(imap? string? (or/c string? bytes?))
;((listof
;  (or/c
;   'seen
;   'answered
;   'flagged
;   'deleted
;   'draft
;   'recent)))
;void?)
;   contract from: pkgs/net-lib/net/imap.rkt
;   blaming: top-level
;   at: pkgs/net-lib/net/imap.rkt:21.2

tl;dr The change is definitely in HEAD.
_
  Racket Developers list:
  http://lists.racket-lang.org/dev


Re: [racket-dev] [plt] Push #26693: master branch updated

2013-09-16 Thread Greg Hendershott
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/collects/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-appendsource=c

I do see my changes in pkgs/net-lib/net/imap.rkt

https://github.com/plt/racket/blob/3ad009070e063614f22a32fbbffa950a8d84e599/pkgs/net-lib/net/imap.rkt#L21-L25
https://github.com/plt/racket/blob/3ad009070e063614f22a32fbbffa950a8d84e599/pkgs/net-lib/net/imap.rkt#L21-L25

and in the scribbling:

https://github.com/plt/racket/blob/3ad009070e063614f22a32fbbffa950a8d84e599/pkgs/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