Timeline


and

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>

Mar 6, 2011:

2:14 PM Changeset [7d969f3]release-1.10release-1.8release-1.9 by Karl Ramm <kcr@1ts.org>
refactor owl_zephyr_zlog_in and report errors in owl_zephyr_zlog_{in,out} Use the function ZParseExposureLevel thoughtfully provided by the library, and see what happens when we actually report errors that occur here. Reviewed-By: Nelson Elhage <nelhage@nelhage.com>
2:14 PM Changeset [c518676]release-1.10release-1.8release-1.9 by Karl Ramm <kcr@1ts.org>
refactor owl_zephyr_get_message Refactor and make the control flow simpler. Really this code should get moved to perl. Reviewed-By: Nelson Elhage <nelhage@nelhage.com>
2:14 PM Changeset [00842c3]release-1.10release-1.8release-1.9 by Karl Ramm <kcr@1ts.org>
make the unsuball functions's error handling fit in with the rest of the program "what is this, I don't even" runing com_err in the middle of a curses program is just plain wrong. Reviewed-By: Nelson Elhage <nelhage@nelhage.com>
2:14 PM Changeset [c73a22d]release-1.10release-1.8release-1.9 by Karl Ramm <kcr@1ts.org>
when something goes wrong, give more information about what happened These various utility functions, instead of just saying "there was an error", should report to the user what the library thinks went wrong so they user has some small chance of debugging the problem. Reviewed-By: Nelson Elhage <nelhage@nelhage.com>
2:12 PM Changeset [488913a]release-1.10release-1.8release-1.9 by Karl Ramm <kcr@1ts.org>
owl_zephyr_initialize only needs one zephyr library return value It doesn't need two separate return-value variabels, and the one should be a Code_t. Reviewed-By: Nelson Elhage <nelhage@nelhage.com>

Mar 5, 2011:

3:25 PM Changeset [e3a75ed]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Replace the remaining snprintfs with g_strdup_printf Hard-coded buffer sizes are silly.
3:25 PM Changeset [010a951]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Make owl_variable's get_tostring_fn return a newly allocated string The mess with buffer lengths and whatnot is obnoxious. Note that this does change semantics slightly: instead of (optionally) filling a buffer and giving a return code for good vs no-variable/invalid, we now return NULL for missing variables and always return a string if the variable exists. This also appears to be more accurate from the perspective of the calls anyway.

Mar 2, 2011:

1:10 PM Changeset [9620c8d]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Load Encode module for IRC. This normally doesn't cause any problems because the Jabber module has already loaded Encode.pm, but can manifest if you run a barnowl with IRC loaded but not Jabber. It's clearly wrong, in any case.

Feb 26, 2011:

8:10 PM Changeset [f54b07d]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Use g_get_host_name instead of gethostname and MAXHOSTNAMELEN This lets us punt thishost from owl_global. g_get_host_name implements the same localhost fallback, so we really don't need it. Also, Solaris gets upset about MAXHOSTNAMELEN when you define _XOPEN_SOURCE=500 without __EXTENSIONS__, if we ever care to get rid of that. (That said, glib's answer to this is lame. They just hardcode 100 and even forget to NUL-terminate the buffer; POSIX is apparently braindead and leaves truncation undefined. glibc is kind enough to give you ENAMETOOLONG.)
12:59 AM Changeset [cb6c9e1]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Apply default attributes after processing commands Otherwise we reset the color after every clump of formatting characters, whether it includes a color or not. (Though this never happens because of how we generate fmtext.) Also, actually modify the current attr so that default_attrs works with search. (While I'm at it, simplify _owl_fmtext_append_fmtext a bit.)
12:58 AM Changeset [237d02c]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Remove default_{attrs,fgcolor,bgcolor} from owl_fmtext They didn't quite behave when appending two owl_fmtexts together; what does it mean to append a string whose default color is red to one whose default color is blue? (And then you set the default to green afterwards...) Now owl_fmtext is merely a unicode string with formatting characters. Default attributes are instead a property of how you view the string and are passed to owl_fmtext_curs_waddstr. Which unfortunately means it has a lot of arguments. :-/
12:57 AM Changeset [7659079]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Don't precompute UTF-8 encodings of format characters GString can append gunichar just fine.

Feb 23, 2011:

9:25 PM Changeset [fb6e8e3]release-1.10release-1.8release-1.9 by Nelson Elhage <nelhage@mit.edu>
Sort the output of :irc-names
5:07 PM Changeset [259e0475]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Push typos in unpunt synopsis
5:07 PM Changeset [bb85767]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Should owl_zwrite_new fail to parse zaway, check the result In particular, should I try to reply to my good friend '-c', I might find myself a little bit depressed. Though we ought to take care of this case otherwise.
5:07 PM Changeset [eb8d9c1]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Correctly quote reply messages in owl_zephyr_zaway Oh, I'll just go and send an automated away message to my good friend, '-c sipb'. It's not that big of a deal since we only make outgoing messages out of this though.
5:07 PM Changeset [1137802]release-1.10release-1.8release-1.9 by David Benjamin <davidben@mit.edu>
Kill owl_fmtext_set_char This function is a little disturbing and, thankfully, no longer used by anyone.
12:09 AM Changeset [60d7935]release-1.10release-1.8release-1.9 by Anders Kaseorg <andersk@mit.edu>
Use owl_util_makepath instead of faking ~ expansion by owl_text_substitute Signed-off-by: Anders Kaseorg <andersk@mit.edu>
Note: See TracTimeline for information about the timeline view.