Commit Graph

328 Commits

Author SHA1 Message Date
Evan Prodromou
bd056218f9 Generate new DB_DataObject classes for group tables 2009-01-13 00:35:41 -05:00
Evan Prodromou
02877224b2 Merge branch 'master' into devel
Conflicts:

	classes/CommandInterpreter.php
	lib/twitter.php
	lib/util.php
2009-01-06 17:09:39 -05:00
Evan Prodromou
d3b1c1af16 add 'dm' as a synonym for 'd' command
darcs-hash:20081231032227-84dde-671346360e569522d5384663d4b808e329d4cf0c.gz
2008-12-30 22:22:27 -05:00
Zach Copley
5e061d2060 Some fixups of patches not already migrated to trunk to bring inline with PEAR coding stds
darcs-hash:20081225144601-7b5ce-4846f3d036c36037836d15ed672c10ba33f9f84c.gz
2008-12-25 09:46:01 -05:00
Sarven Capadisli
946eee4256 Direct message XHR response fix for IE and minor tweaks
darcs-hash:20081216071818-efd22-d2e59bb60a236538452be356f38d0974f35f0107.gz
2008-12-16 02:18:18 -05:00
Zach Copley
6b51941056 Actually crop your avatar when hitting 'crop' button on profile
darcs-hash:20081212043018-7b5ce-bc83b66e19007aa0a04fbb40053217ef92c44779.gz
2008-12-11 23:30:18 -05:00
Evan Prodromou
c65bc1731f more places where required since param skipped for Notice::getStreamDirect
darcs-hash:20081211195259-5ed1f-c52136c07bdad5521184bd1990313030a8e1e831.gz
2008-12-11 14:52:59 -05:00
Evan Prodromou
0f70d496c9 missing argument
darcs-hash:20081211171353-84dde-31b2858e361f62e13ca8ca8784b1aac4209ef04c.gz
2008-12-11 12:13:53 -05:00
Evan Prodromou
35bc21d3bb whitespace conflicts in User.php
darcs-hash:20081211163434-5ed1f-38d9bf093db72d27837cbfe76d46fd518adc3bb6.gz
2008-12-11 11:34:34 -05:00
Evan Prodromou
e85835d0d3 resolve whitespace changes in Notice.php
darcs-hash:20081211163150-5ed1f-10ff4c4863145909c1d541e39dc4bf69d945cfd7.gz
2008-12-11 11:31:50 -05:00
Zach Copley
e0fbf02bbf trac750 configurable sync flags for Facebook app (noticesync, replysync)
darcs-hash:20090105040212-7b5ce-37f6195649dc673241e4566a93183b13e428d98f.gz
2009-01-04 23:02:12 -05:00
Zach Copley
fd6f9b9d76 trac750 Automatically update linked Facebook users' statuses
darcs-hash:20090105010407-7b5ce-559da13720b18e3c570e730326f5e5ef2b2dc1ab.gz
2009-01-04 20:04:07 -05:00
Evan Prodromou
b264c03d32 move opening brace of class declaration to next line
Another gigantor PEAR coding standards patch. Here, I've moved the
opening curly bracket on a class statement to the following line.

darcs-hash:20081223194923-84dde-77a93de314caadbcb5b70bf346a4648be77a864e.gz
2008-12-23 14:49:23 -05:00
Evan Prodromou
7ad2f2a371 TRUE
More PEAR coding standards global changes. Here, I've changed all
instances of TRUE to true and FALSE to false.

darcs-hash:20081223194428-84dde-cb1a1e6f679acd68e864545c4d4dd8752d6a6257.gz
2008-12-23 14:44:28 -05:00
Evan Prodromou
04ef1ba8ee change function headers to K&R style
Another huge change, for PEAR code standards compliance. Function
headers have to be in K&R style (opening brace on its own line),
instead of having the opening brace on the same line as the function
and parameters. So, a little perl magic found all the function
definitions and move the opening brace to the next line (properly
indented... usually).

darcs-hash:20081223193323-84dde-a28e36ecc66672c783c2842d12fc11043c13ab28.gz
2008-12-23 14:33:23 -05:00
Evan Prodromou
eb2f9c98ac replace NULL with null
Another global search-and-replace update. Here, I've replaced the PHP
keyword 'NULL' with its lowercase version. This is another PEAR code
standards change.

darcs-hash:20081223192129-84dde-4a0182e0ec16a01ad88745ad3e08f7cb501aee0b.gz
2008-12-23 14:21:29 -05:00
Evan Prodromou
edbc0c665c replace all tabs with four spaces
The PEAR coding standards decree: no tabs, but indent by four spaces.
I've done a global search-and-replace on all tabs, replacing them by
four spaces. This is a huge change, but it will go a long way to
getting us towards phpcs-compliance. And that means better code
readability, and that means more participation.

darcs-hash:20081223191907-84dde-21e8efe210e6d5d54e935a22d0cee5c7bbfc007d.gz
2008-12-23 14:19:07 -05:00
Zach Copley
407ce3bd8f New AjaxWebChannel for returning ajaxy responses to notice input box commands
darcs-hash:20081209210654-7b5ce-2ef432aa8cb7bf5cc1a973a71eb70e6b2aae4ab6.gz
2008-12-09 16:06:54 -05:00
Zach Copley
792cb7a535 fix registration bug - fatal error when sending email confirmation
darcs-hash:20081209082750-7b5ce-6d06a7b1cda2a9afb6ce8ea64d65df81cc063139.gz
2008-12-09 03:27:50 -05:00
Zach Copley
dccf8374cf trac750 - Exoskeleton of a nascent Facebook app
darcs-hash:20081206030132-7b5ce-96c38ab67edd3d58f8722ef25852a6143f05a86b.gz
2008-12-05 22:01:32 -05:00
Zach Copley
92ea88fd60 trac540 - Add 'since' param to Twitter-compatible API calls
darcs-hash:20081209055345-7b5ce-e48fd4c87963b8ae15859fd03d2f1f86a16f3a2b.gz
2008-12-09 00:53:45 -05:00
Evan Prodromou
8445796908 fix Profile_block::get() again
darcs-hash:20081209041648-5ed1f-fb6ed96047ebfbbe769a11cc3171ce8a5a1440a7.gz
2008-12-08 23:16:48 -05:00
Evan Prodromou
facba2566b removed Profile_block::get, changed to use pkeyGet
darcs-hash:20081209041227-5ed1f-2edefdc79545da646a6fd40b15fd72809c15831c.gz
2008-12-08 23:12:27 -05:00
Evan Prodromou
a68f513cc8 database changes to say whether to deliver messages for a subscription
darcs-hash:20081209033637-5ed1f-df5ef40e57cc0e9485e34e2f5e46249dcb0d9130.gz
2008-12-08 22:36:37 -05:00
Evan Prodromou
ef3d487ae0 enable block API
darcs-hash:20081208185728-5ed1f-8d5f6be6decfbb50deb4ca50bee13404d0c51b72.gz
2008-12-08 13:57:28 -05:00
Evan Prodromou
5327d3f7ba copyright block and better load for Memcached_DataObject in profile_block
darcs-hash:20081208073209-5ed1f-0fca508e15833517f6c61f16d5f9979624c27b40.gz
2008-12-08 02:32:09 -05:00
Evan Prodromou
62c9a4b81b static to not static
darcs-hash:20081208072958-5ed1f-3476745ea503bb234d81a7513cd84db789239871.gz
2008-12-08 02:29:58 -05:00
Evan Prodromou
81a81baf83 low-level management of blocks
darcs-hash:20081208031008-5ed1f-c96006b5c05fa0e68f9adaacd0518016aedfee2a.gz
2008-12-07 22:10:08 -05:00
millette
f9c88fe09c trac768 keep transparency of resized avatar images.
darcs-hash:20081204182953-099f7-b47315607d937da4d648b200a733c715a97d9bc2.gz
2008-12-04 13:29:53 -05:00
millette
51dda41211 delete user and all traces from the db.
darcs-hash:20081203164942-099f7-ea511948139c9c18b1c8b7de018aa4f0ee5ff624.gz
2008-12-03 11:49:42 -05:00
Evan Prodromou
cb93e214f8 add profile block data object
darcs-hash:20081203222619-5ed1f-b313092893c67a3ec1dc92a79aa7fed4ab583729.gz
2008-12-03 17:26:19 -05:00
millette
ce08833303 shorten urls for posts > 140 chars only, from anywhere. Only show long urls in title attributes for links we shortened ourselves.
darcs-hash:20081128210114-099f7-4e4cde0a983c2ac6d41efb59b46cb7dbf45dc7a6.gz
2008-11-28 16:01:14 -05:00
Evan Prodromou
be2efe254e always return a variable by reference
darcs-hash:20081210233503-84dde-ae7e4acd0d5e42d6d743b545688ad4ad51bc5014.gz
2008-12-10 18:35:03 -05:00
Evan Prodromou
7745917305 don't check edit throttle if throttle not enabled
darcs-hash:20081210194335-84dde-a74fe65acfa707eae5499cdf47850d353562ccb8.gz
2008-12-10 14:43:35 -05:00
Zach Copley
1e4e6eee32 Ban certain users from posting by nickname and/or ID
darcs-hash:20081210191337-7b5ce-f9a083596b3f5627405c9e233c1994d8338f5731.gz
2008-12-10 14:13:37 -05:00
millette
8b15411865 make sure passed profile_id is valid in Notice::saveNew
darcs-hash:20081210181123-099f7-b13ae11d136512655fc5ba4bb314c80256244593.gz
2008-12-10 13:11:23 -05:00
Evan Prodromou
a143b64666 edit throttling
darcs-hash:20081210174722-84dde-4c79d7f73230d008195bd19738bc9a6017b940e9.gz
2008-12-10 12:47:22 -05:00
Evan Prodromou
0bcfb2e698 change is_local flag for blacklisted users
Changed the flag on notices that says whether the notice is local, so
that it's -1 for local-but-blacklisted. This should keep blacklisted
users off the public timeline.

darcs-hash:20081202184258-5ed1f-cd87ea5c528ea0c90cb31eeb59d4d1ba4f85e9ad.gz
2008-12-02 13:42:58 -05:00
Evan Prodromou
f8fa9a942f Make replies to @#
darcs-hash:20081124034952-84dde-e059f0800780de879ffa922e5ce379682a4f275a.gz
2008-11-23 22:49:52 -05:00
Evan Prodromou
f80cd3273e only get tags for this profile list type
darcs-hash:20081124031549-84dde-c537cb25f301ac3368440d4d5f583ea3d713ac2c.gz
2008-11-23 22:15:49 -05:00
Evan Prodromou
bb5437bd2d don't get self-tags
darcs-hash:20081124015927-84dde-525625c0341e62d3939879430743d0a976d0d8d2.gz
2008-11-23 20:59:27 -05:00
Evan Prodromou
82696b150e show dropdown of tags only when tags are available and add tags function to profile
darcs-hash:20081124015802-84dde-d72651ff0c466d15835fe263e96bdd9b34162849.gz
2008-11-23 20:58:02 -05:00
millette
4206f4d961 sphinx: fallback if no connection
darcs-hash:20081123201616-099f7-54ac0134e38e145b99a81336ae0b51a8ecd560a8.gz
2008-11-23 15:16:16 -05:00
millette
6b29f6ed70 sphinx integration for notices and profiles
darcs-hash:20081123185136-099f7-ca600dbdfff09762802e1cc58cf8777c45a24402.gz
2008-11-23 13:51:36 -05:00
millette
bf72cde96f sphinx search for notices
darcs-hash:20081120215041-099f7-db396a60755d551099122b58634b7550d5606d88.gz
2008-11-20 16:50:41 -05:00
millette
0bd6f76451 sphinx search of people
darcs-hash:20081120211347-099f7-d5588788dcd9a16cf72ece59da3d2bf9b8171b85.gz
2008-11-20 16:13:47 -05:00
Evan Prodromou
1ea47843d2 correct name for param
darcs-hash:20081120215508-84dde-1f38247dae1b196cbf2c32df4f2733e4cffa3ef6.gz
2008-11-20 16:55:08 -05:00
Evan Prodromou
13decf4086 fix require in Profile_tag.php
darcs-hash:20081120214945-84dde-f15f2512f3998e7dd7bf7216ecc9ef0f5f37ea87.gz
2008-11-20 16:49:45 -05:00
Evan Prodromou
6f31f25105 let users set their own profile tags from profilesettings
darcs-hash:20081120214821-84dde-c8569ef645b389de545f78bf01a270f28b871f02.gz
2008-11-20 16:48:21 -05:00
Evan Prodromou
8a0c438aed add profile tags to DB
darcs-hash:20081120205506-84dde-e9aa0a70d3529f91909dbe29f03a46b40ef18fff.gz
2008-11-20 15:55:06 -05:00
Evan Prodromou
3b4db8f5e1 whitespace diffs in User.php
darcs-hash:20081120205421-84dde-b41e50386ce3ec5f887c87cd83258c2e0e86f713.gz
2008-11-20 15:54:21 -05:00
Evan Prodromou
1d3bb3d433 whitespace diff on Notice_inbox
darcs-hash:20081120205319-84dde-c8ea8a1ae5e1e22c48fa89bd1b8f486345b3e13b.gz
2008-11-20 15:53:19 -05:00
Zach Copley
147dd16ab3 trac685 Twitter bridge - Shell script to sync all users' Twitter friends
darcs-hash:20081119011128-7b5ce-74471277443b44d0075f66131028447cfda3b1e4.gz
2008-11-18 20:11:28 -05:00
zach
41b8c91c6b trac685 Twitter bridge - Sync Twitter friends
darcs-hash:20081117024624-462f3-91f148111c2c43ddd302fc63cfa8c8ef14e1f38e.gz
2008-11-16 21:46:24 -05:00
zach
fed15bd6b7 Twitter bridge - don't delete Twitter users. Update them instead.
darcs-hash:20081114053044-462f3-30e2d27261bca1977b89dee409383e178f446149.gz
2008-11-14 00:30:44 -05:00
millette
f71f2d5ba8 emailnotifynudge added to User.php class manually (how to auto-gen?)
darcs-hash:20081117003010-099f7-dd605b41a28ab99c2fadde38d9c7341bfdae0312.gz
2008-11-16 19:30:10 -05:00
millette
afe3b1a268 fix nudge typo and add emailnotifynudge to laconica.ini
darcs-hash:20081117001644-099f7-9b086e032d0bc4d74da426c7dd363bb9a4f9aed4.gz
2008-11-16 19:16:44 -05:00
Evan Prodromou
577b54c2af blow last caches on notice delete
We do some extra caching of streams, at ';last'. If a notice is
deleted, we need to blow those caches, too. So, this deletes them.

darcs-hash:20081124003240-84dde-aa4561e5e68b0ccc0598ac86294ea54f9be5775a.gz
2008-11-23 19:32:40 -05:00
Evan Prodromou
45f5ef8c87 if all faves in cache, skip
darcs-hash:20081122192857-84dde-c8fcddd794a8339a53e6a0224bd07f6f86ef3896.gz
2008-11-22 14:28:57 -05:00
Evan Prodromou
24ad0b3c13 blow last cache for faves
darcs-hash:20081122165234-84dde-d9d6a608434502cb3d5fb09f04d0c641900c3134.gz
2008-11-22 11:52:34 -05:00
Evan Prodromou
5d161f3d24 messed up logic for passing faves
darcs-hash:20081122163552-84dde-9171c5e24ae90a430f2abd78437073656af9e5ec.gz
2008-11-22 11:35:52 -05:00
Evan Prodromou
5632b2e6d5 use cached fave stream to save DB hits for faves
darcs-hash:20081122163347-84dde-abb0dfc800f65f50951c5517af3bfda48013c6ed.gz
2008-11-22 11:33:47 -05:00
Evan Prodromou
64101cc579 whitespace cleanup
darcs-hash:20081122124235-84dde-680b2d2c8caff26d40dec4fe8e926a61668c47a0.gz
2008-11-22 07:42:35 -05:00
Evan Prodromou
3a82ff2860 double-cache to get newer items
darcs-hash:20081122124151-84dde-3e942c9ab172444bd28afb84a452b8bfb5e3574a.gz
2008-11-22 07:41:51 -05:00
Evan Prodromou
a730ad708c notice inbox only when not already exists
darcs-hash:20081121184132-84dde-39d090e8bf82d10f3aa3a55ada3f4170c01e11d1.gz
2008-11-21 13:41:32 -05:00
Evan Prodromou
35407614bb hide certain users from the public stream
On identi.ca, certain users (http://identi.ca/derricklo) publish 5-10
automated notices every half hour or hour. This can flood the public
stream, making it unreadable for casual readers.

We don't want to prevent anyone from using the site for personal use.
However, if their personal use clouds up the public space, we can
gently remove them from that public space without interfering with
their personal activity.

So: this change prevents selected people's notices from appearing in
the public stream. It's hand-configured by an administrator, and
probably doesn't scale beyond 10-20 blacklisted users. It's a stopgap
measure.

darcs-hash:20081120183722-84dde-8a8401fbcbb6abb60a8b36de249323586ea0b22c.gz
2008-11-20 13:37:22 -05:00
Evan Prodromou
16e3fcf2c2 add inboxes for new users
darcs-hash:20081116062937-84dde-2c2369d0513dba49514a6800f67324803d0fe335.gz
2008-11-16 01:29:37 -05:00
Evan Prodromou
6b6c966369 don't write notice to inbox if user isn't inboxed yet
darcs-hash:20081114074211-84dde-77dbee17b2eb5848a0aa012c6ebe352135f5e7c1.gz
2008-11-14 02:42:11 -05:00
Evan Prodromou
5409bd6a5d different query based on config var and user inbox status
darcs-hash:20081113215734-84dde-badae0579fb70a6760dc6fdf0289b76356e479f6.gz
2008-11-13 16:57:34 -05:00
Evan Prodromou
69a1cea319 add inboxed and regenerate data objects
darcs-hash:20081113210209-84dde-56052bac5ce490d54f3220baaa13f5bfc0e7618d.gz
2008-11-13 16:02:09 -05:00
millette
15c1d4f5e4 trac31 url_auto_shortening by sgmurphy
darcs-hash:20081106205926-099f7-6bcfd7969a159a12b1ba6a9ee254e44a07b94761.gz
2008-11-06 15:59:26 -05:00
Evan Prodromou
74786b951c add created to notice update
darcs-hash:20081112185117-5ed1f-3b2373620581d123182dc951c528276541f4ab68.gz
2008-11-12 13:51:17 -05:00
Evan Prodromou
0625f18c8e notice_inbox.id -> notice_inbox.notice_id
darcs-hash:20081112173627-5ed1f-7cee5b6f25ab654f066c8902492ed531fb1ea091.gz
2008-11-12 12:36:27 -05:00
Evan Prodromou
3987de1064 created timestamp on notice_inbox
darcs-hash:20081112172517-5ed1f-4e8534d7898e2134edf4c0a28417b4a5274617d4.gz
2008-11-12 12:25:17 -05:00
zach
8deac7248e Twitter-compatible API - since_id and before_id were polluting the cache and generating bad SQL
(Also cleaned out some extra whitespace.)

darcs-hash:20081104053359-462f3-2f6619bb942aa34b38dd82cb427878f83d4c332c.gz
2008-11-04 00:33:59 -05:00
Evan Prodromou
5f05134110 blow inboxes
darcs-hash:20081023203505-5ed1f-9fda1f30a6eb271966b7eaf42968103761b33b22.gz
2008-10-23 16:35:05 -04:00
Evan Prodromou
561140fbed change User to use notice inboxes rather than subscription
darcs-hash:20081022210445-5ed1f-94a7b172f33411dfa8d1faaf7dc72169f57d6b39.gz
2008-10-22 17:04:45 -04:00
Evan Prodromou
0b0d58b433 better prefix for Notice_inbox.php
darcs-hash:20081022205823-5ed1f-4dd1c7ef62a20a62e2be06abb6c4f1f1fdf902f9.gz
2008-10-22 16:58:23 -04:00
Evan Prodromou
74291968c4 save notice to inbox on saveNew
darcs-hash:20081022205621-5ed1f-4103d4db9713f4e6e65647f71cc788cbee56a240.gz
2008-10-22 16:56:21 -04:00
Evan Prodromou
a15034bea5 notice inbox
darcs-hash:20081022203600-5ed1f-344e77e348655806a27db2de043b55ba67afc73a.gz
2008-10-22 16:36:00 -04:00
Evan Prodromou
34528df6d9 use correct class for avatar deletion so memcached is updated
darcs-hash:20081113063850-5ed1f-15c314239e2114b52beb7c83b7006b69a48ec5c3.gz
2008-11-13 01:38:50 -05:00
Evan Prodromou
894496f0e8 remove unused noticesWithFriendsWindow from User
darcs-hash:20081022210428-5ed1f-8de35689bfee3b38e6da83328137fb457a0bfdb0.gz
2008-10-22 17:04:28 -04:00
Evan Prodromou
2a44ee0b70 fixup return value of XMPP channel on setting notification
darcs-hash:20081006054425-5ed1f-a241327bad9f5918606543f329a78a6832564f18.gz
2008-10-06 01:44:25 -04:00
Evan Prodromou
9bdcb37d22 fix error and output in on and off commands
darcs-hash:20081006041232-5ed1f-830c7ebc8141fae002fead026407f1499126e021.gz
2008-10-06 00:12:32 -04:00
Zach Copley
06a80c829b Another patch to fix up whitespace conflicts in User.php
darcs-hash:20081005181614-7b5ce-4ab236108fe2570a199120317120d921715fbd19.gz
2008-10-05 14:16:14 -04:00
Zach Copley
e115322473 Fixed up conflict (over white space) in User.php
darcs-hash:20081005181350-7b5ce-1e722af0bd3677b27dd6d100456131a42072dd91.gz
2008-10-05 14:13:50 -04:00
Evan Prodromou
5978fcb601 fix deleted function after synch from Zach
darcs-hash:20081004194218-5ed1f-efd9e82c9f78e19185d8ef6b626f46c5ae6613db.gz
2008-10-04 15:42:18 -04:00
mac65
c08a67094c Add support for since_id and before_id to Twitter API. Ticket #540.
darcs-hash:20081001001233-e558a-3fcc269985050021ec9b44c052206c731cc4689d.gz
2008-09-30 20:12:33 -04:00
Evan Prodromou
7f1639fda1 correct output for Get command
darcs-hash:20081004182028-5ed1f-18e89922d7f59bcb11c784d36f4ed0a104a1c903.gz
2008-10-04 14:20:28 -04:00
Evan Prodromou
a5a3548212 check for notification flags in FavCommand
darcs-hash:20081004174519-5ed1f-1b9f8d1f12c895eacead8703cbfb088a135e810c.gz
2008-10-04 13:45:19 -04:00
Evan Prodromou
0bd199f5cc FaveCommand -> FavCommand
darcs-hash:20081004173957-5ed1f-dd460b4208c1c7c72b92db6cb85f03accfc1d610.gz
2008-10-04 13:39:57 -04:00
Evan Prodromou
cb17be6d98 common_client_error -> common_user_error
darcs-hash:20081004173734-5ed1f-fbb4c09bc9acd26971d0a7ff58769cb77299b371.gz
2008-10-04 13:37:34 -04:00
Evan Prodromou
adc08e9df5 typo in message command
darcs-hash:20081004173609-5ed1f-e5c7fe78c409e9e073634c0bb5ede0f6d46e2f4f.gz
2008-10-04 13:36:09 -04:00
Evan Prodromou
4d30c534d9 different message source per command channel
darcs-hash:20081004173427-5ed1f-2a818562f5aa7143b68a0eab3e9f26cd02926c0b.gz
2008-10-04 13:34:27 -04:00
Evan Prodromou
6406d5f8ef correctly refer to notice as a notice
darcs-hash:20081004170550-5ed1f-69aadc2b9c26d71a1ba039eb92647f4e53c83de9.gz
2008-10-04 13:05:50 -04:00
Evan Prodromou
46b96887e6 correct use of $user to $this->user
darcs-hash:20081004170342-5ed1f-f4b4656d765c67cf95ca3a9193ff64e3220c1526.gz
2008-10-04 13:03:42 -04:00
Evan Prodromou
f072147e4e add channels and use command interpreter in different channels
darcs-hash:20081004163213-5ed1f-684ecb464e843b1bbe456c348e56b40a39a83ecd.gz
2008-10-04 12:32:13 -04:00
Evan Prodromou
c8fd8fa00f fill out commands, move to separate file
darcs-hash:20081004154846-5ed1f-02f7c93248af00fd22e7bb3520179ef1f31da121.gz
2008-10-04 11:48:46 -04:00
Evan Prodromou
76db0310ac move DB_DataObject ini files to more common name.
darcs-hash:20081004142205-5ed1f-7da60ab5a596906acb2fcac2b0a732579d61352a.gz
2008-10-04 10:22:05 -04:00
Evan Prodromou
8c0c7f6a50 basics of the command interpreter
darcs-hash:20081004021442-5ed1f-2f60065150426995707e7cf48ca08d59ec175905.gz
2008-10-03 22:14:42 -04:00