Testing changes to a plugin

I'm finally getting round to submitting changes to the quickscript plugin that is included in Dr Racket.

My guide to doing this is usually Tutorial: Contributing to Racket on the Racket Blog

I used raco pkg update --deps fail --link --scope installation --type dir <my quickscriptdir> and it seemed to update nicely, but sadly the plugin fails (error below) when I launch DrRacket.

I'm sure I've missed something simple but it's late and I can work it out. Any guidance or advice greatly appreciated.

Best regards
Stephen

error:

Error invoking tool #<path:/Users/stephendegabrielle/Documents/GitHub/quickscript/>;("tool.rkt")

mixin: method was referenced in definition, but is not in any of the from-interfaces
  method name: after-create-new-drracket-frame
  from-interfaces:
   #<interface:unit:frame<%>>
  context...:
   /Applications/Racket v8.10/collects/racket/private/class-internal.rkt:4728:0: obj-error
   /Applications/Racket v8.10/collects/racket/private/class-internal.rkt:4826:0: check-interface-includes
   /Users/stephendegabrielle/Documents/GitHub/quickscript/tool.rkt:99:2
   /Applications/Racket v8.10/share/pkgs/drracket/drracket/private/tools.rkt:318:4
   /Applications/Racket v8.10/share/pkgs/drracket/drracket/private/tools.rkt:72:0: load/invoke-all-tools
   .../unit/lang.rkt:84:9
   /Applications/Racket v8.10/share/pkgs/drracket/drracket/private/link.rkt:57:0
   body of "/Applications/Racket v8.10/share/pkgs/drracket/drracket/tool-lib.rkt"
   body of "/Applications/Racket v8.10/share/pkgs/drracket/drracket/private/drracket-normal.rkt"
   body of "/Applications/Racket v8.10/share/pkgs/drracket/drracket/drracket.rkt"

I think you need a newer version of Racket. The git version of quickscript depends on some stuff that's in the git version of DrRacket. The simplest thing (on a non-windows machine) might be to git clone the racket/racket repo and do "make" at the top-level, get some coffee, and then come back. Then a raco update --clone quickscript (usually done in the extra-pkgs dir that you've created inside your checkout of racket) will get you a directory you can run usual git commands in.

hth!

1 Like

Thanks @robby

You advice worked perfectly

But to provide a little more details, and invite criticism in case there is a better way.

  1. used GitHub desktop to get a copy of the latest Racket repo on my machine (I'm sure there is a git command but I'm lazy)
  2. ran make
  3. ran DrRacket to configure the path for the new install (I'm still lazy)
  4. Opened a new terminal in the new racket folders
  5. ran raco pkg update --clone extra-pkgs/quickscript
  6. copied the changes from my fork/branch to racket/extra-pkgs/quickscript (I'm sure there is a way to do this with git but I'm still lazy)
  7. Open DrRacket, menu: Scripts>compile
  8. Scripts eyes
  9. Declare that my changes are tested

1 Like