better 'see'

cvs
Slava Pestov 2004-08-18 03:09:16 +00:00
parent 8fc64f119e
commit c8cc64b031
6 changed files with 70 additions and 63 deletions

View File

@ -1,31 +1,27 @@
- gc call in the middle of some ops might affect callstack
- bitwise operations
- clone-hashtable
- sidekick: error source not removed
- lineno/file for native
- jedit for native with socket communication
- input style after clicking link
- fedit broken with listener
- maple-like: press enter at old commands to evaluate there
- sending ^C on socket
- postpone errors until actual read/write op
- read#
- describe-word
- enforce bottom-up in native bootstrap
- standalone listener input style
- log-client: fix for native
- add a socket timeout
+ docs:
- vector-each/map examples
- unparse examples
- finish second practical
- sbuf-hashcode
- vector-hashcode
- listener backspace overzealous
- multitasking
- review doc formatting with latex2html
- sidekick: error source not removed
[error] AWT-EventQueue-0: java.lang.NullPointerException
[error] AWT-EventQueue-0: at sidekick.SideKickParsedData.getTreePathForPosition(Unknown Source)
[error] AWT-EventQueue-0: at sidekick.SideKickParsedData.getTreePathForPosition(Unknown Source)
[error] AWT-EventQueue-0: at sidekick.SideKickTree.expandTreeAt(Unknown Source)
[error] AWT-EventQueue-0: at sidekick.SideKickTree.access$100(Unknown Source)
[error] AWT-EventQueue-0: at sidekick.SideKickTree$1.actionPerformed(Unknown Source)
[error] AWT-EventQueue-0: at javax.swing.Timer.fireActionPerformed(Timer.java:271)
[error] AWT-EventQueue-0: at javax.swing.Timer$DoPostEvent.run(Timer.java:201)
[error] AWT-EventQueue-0: at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:178)
[error] AWT-EventQueue-0: at java.awt.EventQueue.dispatchEvent(EventQueue.java:454)
[error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
[error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
[error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
[error] AWT-EventQueue-0: at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
[error] AWT-EventQueue-0: at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
+ tests:
@ -33,34 +29,24 @@
- FactorLib.equal() not very good
- do nset-nth, nremove-nth, nsubstitute, ninject
- IN: format base: work with all types of numbers
- bitwise operations
- rethink strhead/strtail&co
+ listener/plugin:
- lineno/file for native
- jedit for native with socket communication
- listener backspace overzealous
- lineno/file for shuffle defs
- balance needs USE:
- input style after clicking link
- completion: enter no good
- completion: don't show automatically
- completion in the listener
- special completion for USE:/IN:
- fedit broken with listener
- maple-like: press enter at old commands to evaluate there
- inspector links when describe called without object path
+ native:
- read#
- gc call in the middle of some ops might affect callstack
- postpone errors until actual read/write op
- multitasking
- parsing should be parsing
- see: show word flags and IN:
- describe-word
- contains ==> contains?
- telnetd: send errors on socket
- enforce bottom-up in native bootstrap
+ JVM compiler:
@ -77,21 +63,23 @@
+ misc:
- rethink strhead/strtail&co
- namespace clone drops static var bindings
- ditch map
- ditch expand
- set-object-path
- more readable traces
- 'cascading' styles
- standalone listener input style
- telnetd: send errors on socket
- contains ==> contains?
+ httpd:
- log-client: fix for native
- file responder:
- port to native
- if a directory is requested and URL does not end with /, redirect
- if user clicks stop in browser, doesn't stop sending?
- log with date
- add a socket timeout
- if a directory is requested and URL does not end with /, redirect
- return more header fields, like Content-Length, Last-Modified, and so on
- HEAD request
- basic authentication, using httpdAuth function from a config file

View File

@ -58,6 +58,10 @@ USE: httpd
: serving-text ( -- )
"200 Document follows" "text/plain" response print ;
: redirect ( to -- )
"301 Moved Permanently" "text/plain" response write
"Location: " write print ;
: get-responder ( name -- responder )
"httpd-responders" get get* ;
@ -80,9 +84,15 @@ USE: httpd
"Calling responder " swap cat2 log ;
: serve-responder ( argument method -- )
over log-responder
swap trim-/ "/" split1 over get-responder dup [
swap
dup log-responder
trim-/ "/" split1 dup [
over get-responder dup [
rot drop call-responder
] [
2drop no-such-responder drop
] ifte
] [
! Argument is just a responder name without /
drop "/" swap "/" cat3 redirect drop
] ifte ;

View File

@ -35,16 +35,11 @@ USE: unparser
USE: words
: see-compound ( word -- )
0 swap dup word-parameter
[
[ prettyprint-: ] dip prettyprint-word
dup prettyprint-newline
] dip
prettyprint-list prettyprint-;
0 swap dup word-parameter prettyprint-:;
prettyprint-newline ;
: see-primitive ( word -- )
"Primitive: " write unparse print ;
"PRIMITIVE: " write unparse print ;
: see-undefined ( word -- )
drop "Not defined" print ;

View File

@ -174,6 +174,20 @@ DEFER: prettyprint*
: prettyprint ( obj -- )
0 swap prettyprint* drop terpri ;
: vocab-link ( vocab -- link )
<% "vocabularies'" % % %> ;
: vocab-attrs ( word -- attrs )
default-style clone [ vocab-link "link" set ] extend ;
: prettyprint-vocab ( vocab -- )
dup vocab-attrs [ write-attr ] bind ;
: prettyprint-IN: ( indent word -- indent )
"IN:" write prettyprint-space
word-vocabulary prettyprint-vocab
dup prettyprint-newline ;
: prettyprint-: ( indent -- indent )
":" write prettyprint-space
tab-size + ;
@ -182,11 +196,18 @@ DEFER: prettyprint*
";" write
tab-size - ;
: prettyprint-plist ( word -- )
"parsing" over word-property [ " parsing" write ] when
"inline" over word-property [ " inline" write ] when
drop ;
: prettyprint-:; ( indent word list -- indent )
>r
>r prettyprint-: r>
prettyprint-word prettyprint-space r>
prettyprint-list prettyprint-; ;
over >r >r dup
>r prettyprint-IN: prettyprint-: r>
prettyprint-word
native? [ dup prettyprint-newline ] [ prettyprint-space ] ifte
r>
prettyprint-list prettyprint-; r> prettyprint-plist ;
: . ( obj -- )
[

View File

@ -62,10 +62,3 @@ USE: url-encoding
[ ] [ "GET /index.html" parse-request ] unit-test
[ ] [ "GET ../index.html" parse-request ] unit-test
[ ] [ "POO" parse-request ] unit-test
[ ] [ "/" "get" ] [ serve-responder ] test-word
[ ] [ "" "get" ] [ serve-responder ] test-word
[ ] [ "does-not-exist!" "get" ] [ serve-responder ] test-word
[ ] [ "does-not-exist!/" "get" ] [ serve-responder ] test-word
[ ] [ "inspect/global" "get" ] [ serve-responder ] test-word

View File

@ -36,10 +36,10 @@ USE: stack
: word-name ( word -- name )
"name" swap word-property ;
: set-word-name ( word -- vocab )
: set-word-name ( word name -- )
"name" swap set-word-property ;
: word-vocabulary ( word name -- )
: word-vocabulary ( word -- vocab )
"vocabulary" swap word-property ;
: set-word-vocabulary ( word vocab -- )