Timeline


and

Apr 6, 2011:

12:54 PM Changeset [28da2da] by David Benjamin <davidben@mit.edu>
Just require stdbool.h and tell ncurses to use it Now that Solaris' stdbool.h works for us, we may as well just require it. The preamble is repetitive and didn't actually work anyway. (It conflicts with ncurses' attempts to redefine bool when stdbool.h is unavailable or disabled.) We may need to add a different preamble later if we care about including these headers in C++ (Solaris has a C++-incompatible stdbool.h), but we can deal with that later.

Apr 5, 2011:

3:44 PM Changeset [eeab49c] by David Benjamin <davidben@mit.edu>
Build with C99 This allows (and even requires) us to use -D_XOPEN_SOURCE=600 on Solaris. It also makes the Solaris stdbool.h actually work.
3:44 PM Changeset [f216307] by David Benjamin <davidben@mit.edu>
Properly discover things when /usr/athena != /usr On Solaris, by an accident of configure and krb5-config, we manage to discover libzephyr and libcom_err, but not com_err.h. Thankfully the latter is not fatal and we relied on C's defaulting everything to int. And by accident we were searching for libzephyr, and not zephyr.h. Also use CPPFLAGS instead of CFLAGS to pull in our bundled header files, otherwise autoconf warns about a discrepancy between the preprocessor and compiler.
3:44 PM Changeset [9b7b535] by David Benjamin <davidben@mit.edu>
Make the barnowl shell script work in Solaris Apparently their shell is lame. In case someone wanted to run this thing on Solaris or something absurd like that.

Apr 4, 2011:

7:13 PM Ticket #168 (Deal with multi-line zsigs) created by andersk@mit.edu
[…]

Apr 3, 2011:

4:00 PM Changeset [4fd211f]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use owl_function_makemsg to report no search matches It's not really an error; certainly not something that should end up in the error log.
3:06 PM Changeset [5c6d661]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
IRC: Fix reconnect behavior.
3:06 PM Changeset [ab6d8f0]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Fix spacing in MODE messages.
3:06 PM Changeset [dace02a]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Use AnyEvent::IRC::Client's channel tracking, instead our own.
3:06 PM Changeset [b9a642a]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Only show nicks in response to irc-names.
3:06 PM Changeset [41ade7f]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Try to improve disconnection behavior
3:06 PM Changeset [0b0e460]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Squelch an "uninitialized" warning. I have no idea why ->{command} should be undef, but empirically it sometimes is.
3:06 PM Changeset [0ccf5ab]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Fix the message shown on on IRC connection.
3:06 PM Changeset [60b49a7]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Make nick-change events LOGIN messages instead of ADMIN.
3:06 PM Changeset [5d4262c]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Correctly grab the 'reason' field for quit messages.
3:06 PM Changeset [3713b86]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
IRC: Remove the %reconnect hash. Keep everything in the %ircnets hash, always. This should hopefully help fix some really confusing bugs where we get multiple connections that think they have the same alias.
3:06 PM Changeset [59425a3]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Restore an accidentally-removed line.
3:06 PM Changeset [09bd74c]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Implement sending and receiving CTCP ACTIONs
3:06 PM Changeset [249bbbe]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Fix the connected callback.
3:06 PM Changeset [851a0e0]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
IRC: Remove circular references between ::Connection and its Client.
3:06 PM Changeset [4787581]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Don't store a second copy of our nick.
3:06 PM Changeset [38d50c2]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Handle NICK messages from the server.
3:06 PM Changeset [8ba9313]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Port IRC support to AnyEvent::IRC.
3:06 PM Changeset [fb96152]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Don't die horribly if perl registers a dispatch and then closes the fd. Well-behaved perl code should of course remove the dispatch when it closes the fd, but there's no reason not to be robust to this failure mode.
3:06 PM Changeset [f2d71cfa]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Export version string in $BarnOwl::VERSION.
3:05 PM Changeset [21bab95]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Fix some bugs in asedeno's AnyEvent implementation.
2:57 PM Changeset [0b20de4]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@nelhage.com>
First pass at AnyEvent. Implementing io and timer. Not implementing child or idle.

Mar 28, 2011:

6:52 PM Ticket #167 (barnowl should support Google 2FA) created by kchen@mit.edu
I haven't tried logging into Gmail jabber from barnowl in a while, but …
9:11 AM Changeset [6a71113]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use g_strjoinv in owl_cmddict_execute_argv, don't quote correctly This reverts commit e3c8332fa85642544dba1222912b77cf6e32ce8c and uses g_strjoinv instead. The correctly quoted form caused the j keybinding in BarnOwl::Jabber to break. Without it, the world isn't sane this way either: :perl BarnOwl::bindkey(recv => 'C-f C-f' => command => 'recv:next') But a solution to this will probably be far more complex and bear little relation to this commit. In the meantime master really shouldn't have this obnoxious of a regression on it.

Mar 27, 2011:

12:11 AM Changeset [f203cad]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Ability to set exposure arbitrarily (like "zctl set exposure") Zephyr variables 'exposure' and 'default_exposure' have been added. The 'exposure' variable defaults to the value of 'default_exposure', which defaults to the value in ~/.zephyr.vars, if there is one, or to realm-visible. When the value of default_exposure is set with :set default_exposure ..., this value is written to ~/.zephyr.vars. Additionally, OWLVAR_STRING_FULL has been modified to allow custom setting of validset. This fixes ticket # 65.
12:11 AM Changeset [779bd3d]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Fixed minor bugs in variable.c Some functions previously ignored custom variable getters (v->get_fn) and used v->val.

Mar 26, 2011:

4:56 AM Changeset [eaa8f09] by Jason Gross <jgross@mit.edu>
Ability to set exposure arbitrarily (like "zctl set exposure") Zephyr variables 'exposure' and 'default_exposure' have been added. The 'exposure' variable defaults to the value of 'default_exposure', which defaults to the value in ~/.zephyr.vars, if there is one, or to realm-visible. When the value of default_exposure is set with :set default_exposure ..., this value is written to ~/.zephyr.vars. Additionally, OWLVAR_STRING_FULL has been modified to allow custom setting of validset. This fixes ticket # 65.
4:37 AM Changeset [50970e1] by Jason Gross <jgross@mit.edu>
Show how far you are in a long message Addresses most of ticket #119 - it shows how far you are in a long message, but not in a message that you're typing. The display style I've somewhat arbitrarily chosen is to replace <truncated> with <truncated: $num_lines_through/$total_lines>. Additionally, the <truncated> part of sepbar has been moved to be next to 'SCROLL', which it is most similar to.

Mar 25, 2011:

10:58 PM Changeset [e778351] by Jason Gross <jgross@mit.edu>
Ability to set exposure arbitrarily (like "zctl set exposure") A zephyr variable 'exposure' has been added. It defaults to the value in ~/.zephyr.vars, if there is one, or to realm-visible. Setting this variable does not affect the value in ~/.zephyr.vars. Additionally, OWLVAR_STRING_FULL has been modified to allow custom setting of validset. This fixes ticket # 65.
7:42 PM Changeset [f27b044] by Jason Gross <jgross@mit.edu>
Fixed minor bugs in variable.c Some functions previously ignored custom variable getters and used v->val.
5:33 AM Changeset [b27e82f] by Jason Gross <jgross@mit.edu>
Fixed minor bugs in variable.c Some functions previously ignored custom variable getters (v->get_fn) and used v->val.
3:55 AM Changeset [f578d18] by David Benjamin <davidben@mit.edu>
Kill owl_global::psa_list It's not used anymore.
3:55 AM Changeset [ec9746d] by David Benjamin <davidben@mit.edu>
resizepending needn't be sig_atomic_t anymore Life is so much easier when signals don't happen whenever they feel like it.
3:55 AM Changeset [25f7c57] by David Benjamin <davidben@mit.edu>
Use sigwaitinfo instead of sigwait Eh, may as well give the signal handlers a little bit more rope.
3:55 AM Changeset [111850c] by David Benjamin <davidben@mit.edu>
Add owl_select_post_task helper function Honestly, the only thing you'd ever want to do to a message loop from another thread is post a one-off task to it. Why Glib makes this so difficult is beyond me.
3:55 AM Changeset [6eaafb0] by David Benjamin <davidben@mit.edu>
Cleanly destroy the signal thread on shutdown This isn't strictly necessary here, but we should probably be in the habit of safely cleaning up our helper threads. Switch the implementation from GThread to pthreads directly. The cleanest way to kill a signaling thread is to send it SIGTERM with pthread_kill, but GThread doesn't expose that and gives no way to get at the pthread_t.
3:55 AM Changeset [2314693] by David Benjamin <davidben@mit.edu>
Remove OwlGlobalNotifier typedef Ugh. This is what I get for being sloppy with my experiments.
3:55 AM Changeset [567de81] by David Benjamin <davidben@mit.edu>
Move owl_process_input_char to owl.c It would be nice to move some functions out of there too, but it really makes no sense in select.c.
3:55 AM Changeset [f3b5dc8] by David Benjamin <davidben@mit.edu>
Reset signal dispositions and mask, in case our parent was lame Also check return values more carefully.
3:55 AM Changeset [8eb6068] by David Benjamin <davidben@mit.edu>
Don't deliver SIGALRM through the signal thread We don't do anything with it, and code that uses alarm(), of which we have none, wouldn't expect it to be set to something useful anyway.
3:55 AM Changeset [b9c7424] by David Benjamin <davidben@mit.edu>
Just ignore SIGPIPE altogether There's not much point in switching back and forth from ignoring it and mostly ignoring it. Also, we don't handle SIGCHLD so remove the code for it. (We actually also disable it in the Jabber module because XML::Stream sets $SIG{PIPE}. Meh.)
3:55 AM Changeset [b929e35] by David Benjamin <davidben@mit.edu>
Remove owl_select_aim_hack and _owl_select_timer_eq They're not used anymore. Also mark some functions static.
3:55 AM Changeset [bb54113] by David Benjamin <davidben@mit.edu>
Remove owl_select All of its previous features are, in theory, implemented now.
3:55 AM Changeset [0af5f9d] by David Benjamin <davidben@mit.edu>
Add a GSource for AIM events This is somewhat less of a hack now.
3:46 AM Changeset [37d188f] by David Benjamin <davidben@mit.edu>
Allow interrupts to be taken at any point This way we can catch SIGINT in the middle of a search if we care. (Though ideally we wouldn't block the event loop when searching like this.)
3:46 AM Changeset [87833a8] by David Benjamin <davidben@mit.edu>
Make owl_signal_init take a signal-thread callback Instead of pushing the work directly the main thread. This will allow us to react to SIGINT earlier.
3:46 AM Changeset [96ade35] by David Benjamin <davidben@mit.edu>
Punt pre-select actions The three users are now directly handled with GSources.
3:46 AM Changeset [fafb842] by David Benjamin <davidben@mit.edu>
First go at sigwait-based signal handling SIGINT doesn't quite work.
3:46 AM Changeset [cd28517] by David Benjamin <davidben@mit.edu>
Add a zephyr GSource This may actually have some use as a GSource instead of g_idle_add since we queue messages up and only process so many at a time. The use of ZQLength isn't strictly necessary, but we may as well be fancy and wait for the poll() to tell us if there's any point in reading before doing so.
3:46 AM Changeset [5eb392f] by David Benjamin <davidben@mit.edu>
Also make owl_process_messages a GSource
3:46 AM Changeset [7b2686d] by David Benjamin <davidben@mit.edu>
Make the owl_window redraw hook a GSource (Should this be a g_idle_add instead?)
3:46 AM Changeset [b279013] by David Benjamin <davidben@mit.edu>
Start of GMainContext code Add GSources to feed owl_timer and owl_io_dispatch events into the main loop. Also add a hack so pre-select actions run at all. Glib's main loop has a hard priority system, so it prefers that prepare/check hooks return if the event would actually do anything. We probably want to replace every pre-select action with a dedicated GSource (or maybe a bunch of g_idle_add calls). Signals are also racy right now; glib uses select/poll instead of pselect/ppoll, so you can't actually listen for signals on the same thread. (In fact, the single-threaded version of g_child_watch_add doesn't actually work.) That's okay as what we were doing doesn't work when you add a second thread and thread safety is sort of the point of this work. The AIM hack need also be restored.
3:46 AM Changeset [e9b037f] by David Benjamin <davidben@mit.edu>
Link to gthread-2.0 so we can use glib's threading code
3:33 AM Changeset [a2a8833]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Kill --remove-debug option It doesn't do anything sensible anymore. It also ignores the debug_file variable.
3:32 AM Ticket #63 (zwriting multiple users looks like zwriting one user) closed by andersk@mit.edu
fixed: Fixed in commit e5da3fe3addbd16cf3a528bb6ac04d487f746afc and commit …
2:27 AM Changeset [1a30f05]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
exec: Fix input redirection of multistatement commands Previously ‘:exec read foo; true’ blocked on terminal input. Signed-off-by: Anders Kaseorg <andersk@mit.edu>

Mar 24, 2011:

5:14 PM Changeset [fe3b017]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Correctly set the realm in outgoing zwrite errors Don't set the zwrite realm, as that only confuses things. Also take the realm (which we now don't set) into account when extracting the recipient.
5:00 PM Changeset [3a3863e]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Correctly compute the realm for outgoing messages In particular, :zwrite user -r EXAMPLE.COM was not computing a recipient of user@EXAMPLE.COM correctly. We also do not correctly set the realm on the message: the realm attribute is the realm to which the zephyr was sent.
4:56 PM Changeset [4e29ecb]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add zuser_realm and use it We do not consistently (or correctly) extract the realm from a zuser. Add a function and use it instead of ad-hoc strchr munging.
4:55 PM Changeset [5d56a27]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Handle edge cases correctly in long_zuser and short_zuser foo@bar@REALM and foo@ were not correctly parsed. (The former should be foo@bar [at] REALM and the latter is implicitly foo [at] DEFAULT-REALM.)
4:44 PM Changeset [3f52e14]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Add owl_zwrite_get_recip_n_with_realm Refactor owl_zwrite code abit to handle -r in a consistent place.
4:42 PM Changeset [a5b5d00]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
In duplicated outgoing zephyrs only reply on the relevant recipient Fixes the other half of bug #63.
4:24 PM Changeset [e5da3fe]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Create per-recipient copies of outgoing messages for non-CC'd personals Fixes bug #63. [davidben@mit.edu: Fix up comment, rebase to master] [davidben@mit.edu: Address nitpicks]
4:11 PM Changeset [283ff1e]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Punt buffercbdata It has never been used in the history of this project.
4:10 PM Changeset [47e0a6a]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Punt a number of g_new NULL checks, various minor cleanups No real need to check g_new's return value as it always succeeds. (Or destroys the universe^Wprocess in embarrassment.) Also make owl_global manage the lifetime of the kill buffer since it's part of owl_global now. And replace a g_new/strncpy with a g_strndup. It's shorter.
4:10 PM Changeset [d07af84]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Clean up owl_keypress_tostring to return a newly-allocated string I don't think it's possible to overflow the function's internal buffer, but we may as well avoid this sketchiness.
4:09 PM Changeset [45e2c95]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Don't pass limited buffer lengths to owl_keybinding_tostring The keymap tostring code still probably should be cleaned up though.
4:09 PM Changeset [b13daa0]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Make owl_keybinding new/delete instead of init/cleanup Valgrind is deeply disappointed in this code... Hide owl_keybinding_make_keys again, so we don't construct half-baked owl_keybinding instances. Instead allow for creating a dummy keybinding. Also, initialize all fields of owl_keybinding, or freeing it afterwards explodes. Also fix a memory leak in unbindkey.
4:06 PM Changeset [c809f5e]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use owl_function_command_norv when we don't care about the result Otherwise, we forget to g_free it.
4:05 PM Changeset [f25df21]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Don't call owl_list_create in owl_dict_get_keys Until we get rid of this owl_list thing altogether, there should be a convention as to who initializes the thing. Otherwise, we leak memory from people initializing it too many times. Whoever reviews this probably wants to look over this very carefully in case I missed one of the owl_list_creates. Also kill the various wrappers over owl_list_cleanup as they are not the inverse of any operation.
4:00 PM Changeset [e56303f]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Replace owl_parse_delete with g_strfreev Also cut the pointless g_strdup in owl_cmddict_execute and allow argc to be NULL if we don't care about the value.
12:48 AM Changeset [42ee1be]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Reimplement owl_text_substitute with g_strsplit and g_strjoinv (I have no idea what the rambling about backslash quoting was about.) Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: David Benjamin <davidben@mit.edu>
12:46 AM Changeset [4479497]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Use G_GNUC_PRINTF to get type-checking on our format strings The extra type-checking is nice. [andersk@mit.edu: Move G_GNUC_PRINTF such that no further preprocessor magic is needed] Signed-off-by: Anders Kaseorg <andersk@mit.edu>
12:45 AM Changeset [82b734a]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
owl_function_show_colors: Realign default, and add black Signed-off-by: Anders Kaseorg <andersk@mit.edu> Reviewed-by: David Benjamin <davidben@mit.edu>

Mar 21, 2011:

1:47 AM Ticket #166 (warning: implicit declaration of function ‘pselect’) created by andersk@mit.edu
If PERL_CFLAGS does not contain -D_GNU_SOURCE, then BarnOwl …

Mar 19, 2011:

11:21 PM Changeset [4dde585]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
compat/compat.h: Add #include guards Signed-off-by: Anders Kaseorg <andersk@mit.edu>
11:19 PM Changeset [2cbe7c3]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Protect memrchr prototype by !HAVE_DECL_MEMCHR instead of !HAVE_MEMCHR This fixes viewwin.c:393:7: warning: implicit declaration of function ‘memrchr’ on platforms where PERL_CFLAGS doesn’t contain -D_GNU_SOURCE. !HAVE_MEMRCHR means that memrchr is undefined at link time, so we need to provide our own implementation; but !HAVE_DECL_MEMRCHR means that memrchr is not declared at compile time, so we need to provide our own prototype. http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00037.html Signed-off-by: Anders Kaseorg <andersk@mit.edu>

Mar 14, 2011:

3:02 PM Changeset [41f0cf3]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Add | to OWL_REGEX_QUOTECHARS This fixes searching for |. regex(7) lists the metacharacters “^.[$()|*+?{\”, so we actually have all of them now. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Note: See TracTimeline for information about the timeline view.