merge uranthers stuff
authorDieter Plaetinck <dieter@plaetinck.be>
Thu, 16 Jul 2009 20:44:34 +0000 (22:44 +0200)
committerDieter Plaetinck <dieter@plaetinck.be>
Thu, 16 Jul 2009 20:44:34 +0000 (22:44 +0200)
1  2 
Makefile
README
docs/CONTRIBUTING
docs/TODO

diff --combined Makefile
+++ b/Makefile
@@@ -10,19 -10,23 +10,26 @@@ all: uzbl uzblctr
  
  PREFIX?=$(DESTDIR)/usr
  
+ # When compiling unit tests, compile uzbl as a library first
 -test: uzbl.o
++tests: uzbl.o
+       $(CC) -DUZBL_LIBRARY -shared -Wl uzbl.o -o ./tests/libuzbl.so
+       cd ./tests/; $(MAKE)
 +test: uzbl
 +      ./uzbl --uri http://www.uzbl.org --verbose
 +
  test-dev: uzbl
        XDG_DATA_HOME=./examples/data               XDG_CONFIG_HOME=./examples/config               ./uzbl --uri http://www.uzbl.org --verbose
  
  test-share: uzbl
        XDG_DATA_HOME=/usr/share/uzbl/examples/data XDG_CONFIG_HOME=/usr/share/uzbl/examples/config ./uzbl --uri http://www.uzbl.org --verbose
  
 -      
 +
  clean:
        rm -f uzbl
        rm -f uzblctrl
+       rm -f uzbl.o
+       cd ./tests/; $(MAKE) clean
  
  install:
        install -d $(PREFIX)/bin
diff --combined README
--- 1/README
--- 2/README
+++ b/README
@@@ -18,7 -18,7 +18,7 @@@
    In my opinion, any program can only be really useful if it complies to the unix philosophy.
    Web browsers are frequent violators of this principle:
  
 -* They build in way too much things into the browser, dramatically decreasing the options to do things the way you want. 
 +* They build in way too much things into the browser, dramatically decreasing the options to do things the way you want.
  * They store things in way too fancy formats (xml, rdf, sqlite, ... ) which are hard to store under version control, reuse in other scripts, ...
  
  Time to change that!
@@@ -26,7 -26,7 +26,7 @@@
    Here are the general ideas:
  
  * each instance of uzbl renders 1 page (eg it's a small wrapper around webkit), no tabbing, tab previews, or speed dial things.
 -  For "multiple instances management" use your window managers, scripts or wrappers. 
 +  For "multiple instances management" use your window managers, scripts or wrappers.
    This way you can get something much more useful than tabbing by default
  * very simple, plaintext , changeable at runtime configuration
  * various interfaces for (programmatic) interaction with uzbl (see below)
@@@ -196,7 -196,7 +196,7 @@@ Copying the Uzbl object and creating pu
  
  ### VARIABLE EXPANSION AND COMMAND/JAVA SCRIPT SUBSTITUTION
  
 -Variable expansion works pretty much as known from shell interpreters (sh, bash, etc.). This means you can 
 +Variable expansion works pretty much as known from shell interpreters (sh, bash, etc.). This means you can
  construct strings with uzbl variables in them and have uzbl replace the variable name with its contents.
  
  In order to let uzbl know what to expand you'll need to prepend @ to the variable name:
@@@ -256,7 -256,7 +256,7 @@@ For more info about the markup format s
  ### EXTERNAL SCRIPTS
  You can use external scripts with uzbl the following ways:
  
 -* let uzbl call them. these scripts are called handlers in the uzbl config. used for handling logging history, handling a new download,.. 
 +* let uzbl call them. these scripts are called handlers in the uzbl config. used for handling logging history, handling a new download,..
  * call them yourself from inside uzbl.  you can bind keys for this. examples: add new bookmark, load new url,..
  * You could also use xbindkeys or your WM config to trigger scripts if uzbl does not have focus
  
@@@ -314,8 -314,4 +314,4 @@@ Custom, userdefined scripts (`spawn fo
  
  
  ### BUGS
- known bugs:
- * Segfaults when using zoom commands (happens when max zoom already reached?).
  Please report new issues @ uzbl.org/bugs
diff --combined docs/CONTRIBUTING
@@@ -66,9 -66,6 +66,9 @@@ This is a relatively easy, solid and tr
    we know for bigger changes this is not always feasible.  Just try to keep the merges about bigger "clean changesets".
  * Your code should not introduce any compile warnings or errors.  And also,
    no regressions but that's harder to check.
 +* Please try to keep the code clean - we don't like extraneous whitespace.
 +  The sample pre-commit hook can check for this - so go ahead and
 +  $ cp .git/hooks/pre-commit.sample .git/hooks/pre-commit
  That said, you can always ask us to check on your stuff or ask for advice.
  
  
@@@ -93,6 -90,11 +93,13 @@@ is, please supply
  ### Memory leak checking
      valgrind --tool=memcheck --leak-check=full ./uzbl
  
+ ### Writing unit tests
++
+ If you can, write a unit test for a bugfix or new functionality. Add relevant unit
+ tests to existing .c files in tests/. Others should be made in new source files with
+ corresponding changes to the tests/Makefile.
++Run all tests with `make tests`
  ### Debugging / backtraces
  
  * compile with -ggdb (enabled by default on experimental tree)
diff --combined docs/TODO
+++ b/docs/TODO
@@@ -38,6 -38,7 +38,7 @@@ More or less in order of importance/urg
  * proxy_url is not a good var name. it's not a url.
  * regex style page searching? so you can do 'or' and 'and' things. flags like case sensitive etc.
  * check for real command name, not just the first letter.
+ * Allow the spacebar to be binded to a command
  * let users attach handlers to the most common events/signals in uzbl.
    great use case: automatically calling formfiller for certain sites
  * document:
@@@ -53,7 -54,7 +54,7 @@@
    overriding variables (such as -u)
    variable expansion (@var, @{var}, where do they get expanded? can users have their own vars?, should we merge this with the replacement we do for useragent/window title etc?)
    how %s works for the js command
 -  
 +
  
  SOMEDAY:
  figure out caching with webkit and in general how we can speed up everything