Commit Graph

34 Commits

Author SHA1 Message Date
Lucas De Marchi 369e95c1df Revert and re-apply badnull patch
Revert previous patch generated by badnull.cocci script, and apply the new one.
The main difference is that assert and assert-like functions are not touched
anymore.




SVN revision: 51650
2010-08-26 01:34:13 +00:00
Michael Jennings d3bb74d029 Revert coccinelle changes.
Using !! instead of != NULL results in significantly and unacceptably
less readable code, and I refuse to accept those changes.
Unfortunately, since they were all done at once, I have to revert the
whole thing.  Oh well. :(


SVN revision: 51583
2010-08-23 17:55:09 +00:00
Lucas De Marchi 3f375e63e2 Convert (hopefully) all comparisons to NULL
Apply badzero.cocci, badnull.coci and badnull2.cocci

This should convert all cases where there's a comparison to NULL to simpler
forms. This patch applies the following transformations:

code before patch               ||code after patch
===============================================================

return a == NULL;                 return !a;

return a != NULL;                 return !!a;

func(a == NULL);                  func(!a);

func(a != NULL);                  func(!!a);

b = a == NULL;                    b = !a;

b = a != NULL;                    b = !!a;

b = a == NULL ? c : d;            b = !a ? c : d;

b = a != NULL ? c : d;            b = a ? c : d;


other cases:

a == NULL                         !a
a != NULL                         a




SVN revision: 51487
2010-08-21 13:52:25 +00:00
Michael Jennings f5e3dbacf6 Tue Jan 6 01:08:47 2009 Michael Jennings (mej)
Update copyright dates and fix a bad license.
----------------------------------------------------------------------


SVN revision: 38480
2009-01-06 09:08:48 +00:00
Michael Jennings 9a7cd3adac Tue Dec 16 22:03:54 2008 Michael Jennings (mej)
Fix compile errors related to the removal of unnecessary typecasting
macros.
----------------------------------------------------------------------


SVN revision: 38171
2008-12-17 06:04:15 +00:00
Michael Jennings 7537403997 Mon Feb 13 14:51:56 2006 Michael Jennings (mej)
Update to libast 0.6+ API.
----------------------------------------------------------------------


SVN revision: 20440
2006-02-13 19:52:45 +00:00
Michael Jennings b8cf59b892 Wed Jan 4 04:22:13 2006 Michael Jennings (mej)
Update copyright dates.
----------------------------------------------------------------------


SVN revision: 19522
2006-01-04 09:22:41 +00:00
Michael Jennings 6657911db3 Mon Apr 18 21:49:08 2005 Michael Jennings (mej)
Re-indent code.
----------------------------------------------------------------------


SVN revision: 14229
2005-04-19 01:57:24 +00:00
Michael Jennings d983ccb3c5 Tue Mar 15 16:44:09 2005 Michael Jennings (mej)
Reverted part of a patch from Chris Schoeneman <crs23@bigfoot.com>
(changelog entry "Fri Jun 25 17:48:24 2004") which broke dead keys and
compose-key sequences.

Fixed autoSHIT for dist/distcheck/distclean/maintainer-clean and newer
autoSHIT versions.

Fixed error in saving of cut_chars attribute.

Fixed saving/handling of beep_command attribute.
----------------------------------------------------------------------


SVN revision: 13745
2005-03-15 21:48:14 +00:00
Michael Jennings 8e26d97824 Sun Jan 11 17:09:07 2004 Michael Jennings (mej)
It's too bad you can't just say, "Copyright 1997-2999."


SVN revision: 8349
2004-01-11 22:10:29 +00:00
Michael Jennings df078dd652 Sun Mar 2 23:40:39 2003 Michael Jennings (mej)
Fixed a bug with foreground/background color change pointed out by
Thomas <arnognul@tiscali.se>.

Also added support for all the other OSC color change sequences (at
least those for the colors that Eterm uses).  The sequences are of
the form "\e];n;color[;color[...]]\a", where n is between 10 and 19.
You can specify up to (20 - n) semicolon-separated colors representing
the following attributes in order:  foreground, background, cursor,
mouse pointer, mouse pointer background (*), Tek foreground (*), Tek
background (*), highlight color (*), bold color, and underline color.
Attributes marked with a (*) are ignored by Eterm and may be left
empty, but their trailing semicolons must be present for xterm
compatibility.

For example, to set a white foreground, black background, yellow text
cursor, green mouse cursor, #ffaa00 for bold, and cyan for underline,
you could use either of the following:

echo -e "\e]10;white;black;yellow;green;;;;;#ffaa00;cyan\007"

 or

echo -e "\e]10;white\007"
echo -e "\e]11;black\007"
echo -e "\e]12;yellow\007"
echo -e "\e]13;green\007"
echo -e "\e]18;#ffaa00\007"
echo -e "\e]19;cyan\007"

Note that the setting of bold and underline colors using 18 and 19 are
Eterm extensions.


SVN revision: 6739
2003-03-03 04:53:35 +00:00
Michael Jennings 15ad73f445 Wed Feb 19 16:17:00 2003 Michael Jennings (mej)
Updated copyright statements for 2003.


SVN revision: 6698
2003-02-19 21:18:10 +00:00
Michael Jennings b8c1785c39 Sat Jun 8 12:46:44 2002 Michael Jennings (mej)
My own Escreen updates, primarily for devoting a dedicated buttonbar
to Escreen's use.  This keeps Escreen from trodding on your existing
buttonbar, if you have one.  It's hard-coded to bottom-dock right
now; we'll look at configuration later. :-)


SVN revision: 6308
2002-06-08 16:50:38 +00:00
Michael Jennings 92ca20bcba Sat May 4 10:23:38 2002 Michael Jennings (mej)
Ran reformat-code on the tree.

Also merged in Azundris' Escreen patch.  It's disabled by default for
the moment pending further testing, but you can enable it manually by
defining ESCREEN.


SVN revision: 6202
2002-05-04 14:25:30 +00:00
Michael Jennings 1ece1388ff Sun Feb 3 15:51:38 2002 Michael Jennings (mej)
Apparently I forgot to commit these copyright date changes. :(


SVN revision: 5895
2002-02-03 20:53:07 +00:00
Michael Jennings bfec337701 Mon Dec 31 16:28:46 2001 Michael Jennings (mej)
Minor debugging enhancements.


SVN revision: 5795
2001-12-31 21:29:30 +00:00
Michael Jennings 3a471bb33e Wed Jun 13 21:13:51 PDT 2001 Michael Jennings <mej@eterm.org>
There is now a new mechanism for dealing with the background image
	collection, including a new update script.  Please read the newly-
	rewritten bg/README.backgrounds for details.

	Also, I'm trying to flesh out the Contributors list in that file, but
	my memory isn't cooperating.  So if you contributed one of the
	backgrounds, or know someone who did, please let me know.


SVN revision: 4810
2001-06-14 05:31:09 +00:00
Michael Jennings f1bf2bfb54 Fri Sep 1 00:39:41 PDT 2000 Michael Jennings <mej@eterm.org>
That should fix the crashes.  Somehow I managed to temporarily forget
	about pointer arithmetic.  And somehow I thought trying to dereference
	a pixmap ID would be a good thing.  Sigh.  I need sleep.


SVN revision: 3292
2000-09-01 07:23:08 +00:00
Michael Jennings cdbb53b4bf Thu Aug 31 23:02:10 PDT 2000 Michael Jennings <mej@eterm.org>
Still more big changes.  Working on adding pixmap and GC tracking to
	libmej using the existing allocation tracking routines.


SVN revision: 3291
2000-09-01 05:46:04 +00:00
Michael Jennings 9a6507f458 Wed Aug 30 22:58:18 PDT 2000 Michael Jennings <mej@eterm.org>
Massive reorganization/rewrite to libmej.  It should now be 100%
	independent of Eterm.  There still may be some gremlins in the memory
	debugging code, so don't use too high a number with --debug....


SVN revision: 3282
2000-08-31 05:41:44 +00:00
Michael Jennings ac4f703548 Wed Apr 5 21:48:39 PDT 2000 Michael Jennings <mej@eterm.org>
There are now two different sets of settings you can save.  You can
	save user settings, which are the things that one would generally
	consider to be user-specific (toggles, text colors, etc.).  You can
	also save theme settings, which saves *everything*, including the
	stuff that user settings don't include (like imageclasses, menus,
	etc.).  Settings are saved to user.cfg and theme.cfg, respectively.

	Also, Eterm will now detect if it cannot write to the location from
	which it got the theme (i.e., a system-wide directory), and will fall
	back on ~/.Eterm/themes/<theme>.  It WILL create this directory tree
	if it does not already exist.

	Hopefully this will make more people happy. :-)


SVN revision: 2440
2000-04-06 04:52:52 +00:00
Michael Jennings 4d1fd23d7e Tue Mar 14 19:11:26 PST 2000 Michael Jennings <mej@eterm.org>
Some further fixes for inline functions, 2 new winop actions, brand
	new and improved profiling macros, some miscellaneous fixes for SGI
	from Kimball Thurston <kimball@sgrail.com>, and more robust checking
	in the pasting code.


SVN revision: 2235
2000-03-15 03:17:45 +00:00
Michael Jennings c9a97e46be Wed Mar 8 19:35:36 PST 2000 Michael Jennings <mej@eterm.org>
Added a new --pipe-name option to allow Eterm to read from a console
	device/tty/pipe other than /dev/console.  This is useful for folks on
	Debian, where "console" messages actually go to the /dev/xconsole
	named pipe rather than to /dev/tty0.


SVN revision: 2212
2000-03-09 03:38:31 +00:00
Michael Jennings 42fde9c99d Thu Feb 10 15:10:01 PST 2000 Michael Jennings <mej@eterm.org>
This is the first public availability of the work thus far on Eterm
	0.9.1.  There's quite a bit of new stuff here.

	* Added scrollbar thumb support.

	* Completely redid the terminfo/termcap stuff.  The terminfo file is
	now compiled (by tic) and installed by default (unless you specify
	--without-terminfo).  The config files still say xterm, though,
	because some programs (like SLang and GNU mc) use the silly algorithm
	of "Is $TERM set to xterm?" to detect mouse reporting support in a
	terminal. =P  But if you don't ever use xterm, you can use Eterm's
	termcap and just name it "xterm" instead.  Thanks to Marius Gedminas
	<mgedmin@takas.lt> for his patch that started this whole revamp.

	* Added the kEsetroot script for KDE users from Dax Games
	<dgames@isoc.net>.

	* You can now configure the Home and End emulation via --with-home=
	and --with-end= options to configure.  The --with-terminfo option is
	also new, and --enable-xim is now the default.

	* Added a new image state, disabled, for when Eterm loses focus.  This
	is supported by all widgets (well, all those that could possibly be
	on screen when Eterm lost focus), even the background image.  So you
	could actually have all your images darken on focus out and restore
	to normal on focus in.

	* Widget colors formerly dealt with as colors (menu text color,
	scrollbar color, etc.) are now handled by the imageclasses.  Each
	image state can have a foreground and background color defined.  The
	current exception is the background image; I hope to add that later.
	The foreground is the text color and the background is the object
	color (for solid color mode).  So menu text color is set by the menu
	imageclass.  And again, for unfocused colors, use the disabled state
	of the imageclass.

	* Proportionally-spaced fonts are now handled much better.  They are
	still forced into evenly-spaced columns (it's a terminal for crying
	out loud!) but at least you don't end up with Eterm's wider than your
	screen. :-)

	* Home on refresh is gone, as is home on echo.  It's now much simpler.
	There are two options:  home on output, and home on input, the former
	being a combination of echo and refresh.  Also, keypresses that don't
	necessarily have corresonding output can trigger a home on input,
	like Ctrl-End or whatever...ones that don't have special meaning.
	Credit to Darren Stuart Embry <dse@louisville.edu> for pointing out
	this issue and the one with "m-" in font names.

	* I finally got around to re-merging the new parser stuff from my
	work on the Not Game.  Closed up some old potential behavior quirks
	with theme parsing.

	* Added a new escape sequence to fork-and-exec a program.  Also added
	a scrollback search capability to highlight all occurances of a string
	in your scrollback buffer.  Use the new "Etsearch" utility to access
	it.  "Etsearch string" to search for a string, then "Etsearch" by
	itself to reset the highlighting.

	* And of course, the biggie.  Eterm now supports a completely-
	customizeable buttonbar.  Not a menubar, a buttonbar.  It can have an
	arbitrary number of buttons, and each button can perform an action,
	just like a menuitem.  So a button could bring up a menu (like a
	menubar) or launch a program (like a launchbar) or perform an
	operation (like a toolbar).  Each button can have an icon, text, or
	both.  And you can have buttons left- or right-justified in the
	buttonbar.  You will eventually be able to have an arbitrary number
	of buttonbars, but I'm still working on that.

	As with any change this big, things could very easily be broken.  So
	beware. :-)  I have tested this myself, and everything seems to work,
	but I can't test every possibility.  Let me know if you find anything
	that's broken, and enjoy!


SVN revision: 2048
2000-02-11 00:25:07 +00:00
Michael Jennings 0c66bab547 Wed Jan 5 21:23:56 PST 2000 Michael Jennings <mej@eterm.org>
Copyright date updates.


SVN revision: 1860
2000-01-05 17:34:32 +00:00
Michael Jennings c58c7d411b Thu Nov 18 21:47:02 PST 1999 Michael Jennings <mej@eterm.org>
I've rewritten almost the entire scrollbar.  It mostly works, but it
	still has issues.  I've put an #error directive in so that it won't
	compile; take it out if you *really* wanna try it.  It's much more
	efficient than before.


SVN revision: 1333
1999-11-19 04:05:24 +00:00
Michael Jennings 5c930667ec Wed Oct 27 18:46:04 PDT 1999 Michael Jennings <mej@eterm.org>
Fixed lots of issues revealed by the -ansi -pedantic flags.  The only
	warnings you get with those flags now are implicit declaration
	warnings for non-ANSI functions and warnings specific to certain OS's
	and their non-ANSI implementations of ANSI functions, neither of
	which I can do much about. :-)


SVN revision: 1010
1999-10-27 18:10:40 +00:00
Michael Jennings dd84c6abab Thu Oct 7 18:48:31 PDT 1999 Michael Jennings <mej@eterm.org>
Shaved off around 100 KB of memory usage per Eterm by moving more
	code into the shared library, removing lots of unneeded variables, and
	fixing some small leaks here and there.


SVN revision: 710
1999-10-07 22:18:14 +00:00
Michael Jennings e700e69dff Mon Sep 20 18:32:01 PDT 1999 Michael Jennings <mej@eterm.org>
Lots of changes here.  First off, this should fix the background draw
	bug with transparency that several people pointed out.  While I was
	at it, I also cleaned up a lot of other related stuff.  Three-state
	images should be a lot more robust now.

	Then again, some stuff may be broken entirely from this, so let me
	know. :-)

	For one thing, the various image modes should work as expected now.
	You can allow and disallow modes for the various widgets.  The
	fallback mode is "solid" now, rather than "image," so you can cause
	a certain widget to refuse to use an image if you want to.  If you
	specify an image without specifying a "mode" line that allows the
	"image" mode, your image will not appear. <-- READ THIS TWICE!  I
	had to go back and fix all the theme files because of this, so you
	will need to remove your current theme directory and allow Eterm's
	"make install" to put the new ones in place; otherwise, everything
	will go back to being solid colors. =]

	Anytime something changes this drastically, there are bound to be
	problems.  Let me know if you find any of them. :)


SVN revision: 348
1999-09-21 01:16:46 +00:00
Michael Jennings e4070d2075 Reverting last change for now. Something's very wrong here.
SVN revision: 347
1999-09-20 23:57:57 +00:00
Michael Jennings 933cb583be Mon Sep 20 16:08:41 PDT 1999 Michael Jennings <mej@eterm.org>
Lots of changes here.  First off, this should fix the background draw
	bug with transparency that several people pointed out.  While I was
	at it, I also cleaned up a lot of other related stuff.  Three-state
	images should be a lot more robust now.

	Then again, some stuff may be broken entirely from this, so let me
	know. :-)

	For one thing, the various image modes should work as expected now.
	You can allow and disallow modes for the various widgets.  The
	fallback mode is "solid" now, rather than "image," so you can cause
	a certain widget to refuse to use an image if you want to.  If you
	specify an image without specifying a "mode" line that allows the
	"image" mode, your image will not appear. <-- READ THIS TWICE!  I
	had to go back and fix all the theme files because of this, so you
	will need to remove your current theme directory and allow Eterm's
	"make install" to put the new ones in place; otherwise, everything
	will go back to being solid colors. =]

	Anytime something changes this drastically, there are bound to be
	problems.  Let me know if you find any of them. :)


SVN revision: 345
1999-09-20 23:08:00 +00:00
Michael Jennings 7ee0bc1332 Thu Sep 16 16:21:22 PDT 1999 Michael Jennings <mej@eterm.org>
Fixed a possible null-byte overflow in the menu code.

	Also, there seems to be a memory leak in XLoadQueryFont() in some
	versions of XFree86 3.9.x, so I removed the unnecessary "font" lines
	from the themes for the time being.


SVN revision: 296
1999-09-16 22:40:44 +00:00
Michael Jennings 661b1b9448 Tue Aug 17 18:06:01 PDT 1999 Michael Jennings <mej@eterm.org>
Now that we have a fixed CVS server....  This includes the old 0.8.10
	code, but it's now 0.9.  It also includes a timer subsystem.


SVN revision: 52
1999-08-18 01:12:47 +00:00
Michael Jennings 22b2a193d3 Initial import of Eterm 0.8.9 sources
SVN revision: 38
1999-08-17 23:01:18 +00:00