<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.8 on Thu, 15 Jan 2004 15:34:30 GMT -->
<rss version="2.0">
	<channel>
		<title>Tom Pierce: Emacs</title>
		<link>http://radio.weblogs.com/0116883/categories/emacs/</link>
		<description>Information and code concerning Emacs</description>
		<copyright>Copyright 2004 Tom Pierce</copyright>
		<lastBuildDate>Thu, 15 Jan 2004 15:34:30 GMT</lastBuildDate>
		<docs>http://backend.userland.com/rss</docs>
		<generator>Radio UserLand v8.0.8</generator>
		<managingEditor>tpierce@navigatorsystems.com</managingEditor>
		<webMaster>tpierce@navigatorsystems.com</webMaster>
		<category domain="http://www.weblogs.com/rssUpdates/changes.xml">rssUpdates</category> 
		<skipHours>
			<hour>0</hour>
			<hour>1</hour>
			<hour>2</hour>
			<hour>3</hour>
			<hour>4</hour>
			<hour>23</hour>
			<hour>5</hour>
			<hour>18</hour>
			</skipHours>
		<cloud domain="radio.xmlstoragesystem.com" port="80" path="/RPC2" registerProcedure="xmlStorageSystem.rssPleaseNotify" protocol="xml-rpc"/>
		<ttl>60</ttl>
		<item>
			<title>Bugs with tsq-indent</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2004/01/15.html#a634</link>
			<description>&lt;P&gt;&lt;FONT face=Verdana,Geneva,Arial,Helvetica,Sans-Serif size=2&gt;Igor Rayak reported a couple of bugs in tsql-indent.el.&amp;nbsp; His email talks about 2 indent problems:&lt;/FONT&gt;&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style=&quot;MARGIN-RIGHT: 0px&quot;&gt;
&lt;P&gt;&lt;FONT face=&quot;Courier, Monospace&quot; size=2&gt;should be :&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Courier, Monospace&quot; size=2&gt;(SELECT T.pno as pno , T.cost+C.assemblyCost as cost&lt;BR&gt;&amp;nbsp;FROM CompositeParts C, (SELECT TM.pno1 as pno , ? as cost&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM TempMadeFrom TM, BaseParts B&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE TM.pno2=B.pno&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP BY TM.pno1) T&lt;BR&gt;&amp;nbsp;WHERE C.pno=T.pno)&lt;BR&gt;&amp;nbsp;UNION&lt;BR&gt;(SELECT * FROM BaseParts);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=&quot;Courier, Monospace&quot; size=2&gt;tsql-indent will give you&lt;BR&gt;&lt;BR&gt;(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT T.pno as pno , T.cost+C.assemblyCost as cost&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM CompositeParts C,&lt;BR&gt;(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT TM.pno1 as pno , ? as cost&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;==&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM TempMadeFrom TM, BaseParts B&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE TM.pno2=B.pno&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP BY TM.pno1) T&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE C.pno=T.pno)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;===&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;===&lt;BR&gt;(SELECT * FROM BaseParts);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=&quot;Courier, Monospace&quot; size=2&gt;or quite better&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;&lt;FONT face=&quot;Courier, Monospace&quot; size=2&gt;(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT T.pno as pno , T.cost+C.assemblyCost as cost&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM CompositeParts C,( SELECT TM.pno1 as pno , ? as cost&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FROM TempMadeFrom TM, BaseParts B&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE TM.pno2=B.pno&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; GROUP BY TM.pno1) T&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE C.pno=T.pno&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;== indent problem&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Courier, Monospace&quot; size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UNION&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&amp;lt;== indent problem&lt;BR&gt;(SELECT * FROM BaseParts);&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=&quot;Courier, Monospace&quot; size=2&gt;I think we have here 2 indent problem , because WHERE is belong to first&lt;BR&gt;select and not to second.&lt;BR&gt;and union belongs to first and third select. not to second one.&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P dir=ltr&gt;&lt;FONT face=&quot;Courier, Monospace&quot;&gt;&lt;FONT face=Verdana,Geneva,Arial,Helvetica,Sans-Serif size=2&gt;Unfortunately, I&apos;m not able to dig in and fix these immediately.&amp;nbsp; I&apos;m putting them on the to do list for the code.&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2004/01/15.html#a634</guid>
			<pubDate>Thu, 15 Jan 2004 15:34:29 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=634&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2004%2F01%2F15.html%23a634</comments>
			</item>
		<item>
			<title>Emacs, DBVisualizer, and Java</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2004/01/09.html#a629</link>
			<description>Within the last six months, I&apos;ve started using DBVisualizer
(&lt;a href=&quot;http://www.minq.se/products/dbvis/&quot;&gt;http://www.minq.se/products/dbvis/&lt;/a&gt;) for accessing databases while I&apos;m
coding.&amp;nbsp; It&apos;s a great front end for any relational database that
has a JDBC driver.&amp;nbsp; I highly recommend it.&lt;br&gt;
&lt;br&gt;
One of the many cool features is that result sets in the product are
displayed in a grid (JTable).&amp;nbsp; You can select values in the grid
and copy them to the clipboard to paste in other applications.&amp;nbsp; I
frequently paste the data into Emacs for use in Java unit tests.&lt;br&gt;
&lt;br&gt;
The problem is that the columns of text are not in an array
format.&amp;nbsp; So, I wrote the following Emacs functions to &quot;fix the
data up&quot;.&amp;nbsp; After you paste the data into Emacs you can immediately
run one of the interactive fix-up functions.&amp;nbsp; (One of the
thousands of beautiful things about Emacs is that it automatically sets
the region around the pasted text.)&amp;nbsp; This will remove the column
header and produce a comma delimited list of terms suitable for use in
an array.&lt;br&gt;
&lt;br&gt;
&lt;code&gt;(defun fixup-dbviz-array (start end replace-string)&lt;br&gt;
&quot;Formats the region for use as an array and replaces the regexp match&lt;br&gt;
with the specified replacement string.&quot;&lt;br&gt;
&lt;br&gt;
&amp;nbsp; (unwind-protect&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (progn&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (narrow-to-region start end)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (goto-char (point-min))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (kill-line &apos;t)&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (while (re-search-forward &quot;\\(.*?\\)\n&quot; nil t)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (replace-match
replace-string))&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (if (re-search-backward &quot;,&quot; nil t)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (delete-char 1)))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; (widen)))&lt;br&gt;
&lt;br&gt;
(defun fixup-dbviz-string-array (start end)&lt;br&gt;
&quot;Formats a column of values that are copy and pasted from DB&lt;br&gt;
Visualizer and formats them for use as a String array&quot;&lt;br&gt;
&amp;nbsp; (interactive &quot;r&quot;)&lt;br&gt;
&amp;nbsp; &lt;br&gt;
&amp;nbsp; (fixup-dbviz-array start end &quot;\&quot;\1&quot;, &quot;))&lt;br&gt;
&lt;br&gt;
(defun fixup-dbviz-int-array (start end)&lt;br&gt;
&quot;Formats a column of values that are copy and pasted from DB&lt;br&gt;
Visualizer and formats them for use as a int array&quot;&lt;br&gt;
&amp;nbsp; (interactive &quot;r&quot;)&lt;br&gt;
&lt;br&gt;
&amp;nbsp; (fixup-dbviz-array start end &quot;\\1, &quot;))&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2004/01/09.html#a629</guid>
			<pubDate>Fri, 09 Jan 2004 18:38:09 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=629&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2004%2F01%2F09.html%23a629</comments>
			</item>
		<item>
			<title>War file, Ear files in Emacs - Oh my!</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/10/30.html#a606</link>
			<description>&lt;p&gt;Have you ever used Emacs Archive mode to open a zip file, edit a file in the zip, and save it back to the zip file automagically?  NO?!?  You definitely don&apos;t know what you&apos;re missing.&lt;/p&gt;

&lt;p&gt;Today, I wanted to edit 1 file in a WAR file to try out a tweak to the webapp I&apos;m working on.  I could have busted the WAR file open, modified the file, and then zipped it (jar) back up.  But that all seems so cumbersome.&lt;/p&gt;

&lt;p&gt;Instead what I did was use Emacs to open the WAR, find my file, edit its guts, and save it back to the archive.  Voila!  Ready for deployment.&lt;/p&gt;

&lt;p&gt;By default, Emacs will edit zip files (and maybe even jar files), but you don&apos;t get support for WAR and EAR out of the box.  But wait!  Emacs is the world&apos;s most extensible editor.  Follow the instructions &lt;a href=&quot;http://www.clemburg.com/x322.html#AEN716&quot;&gt;here&lt;/a&gt; and add that lisp code to your .emacs file.  You&apos;ll be in business.&lt;/p&gt;

&lt;p&gt;On a related note, check out &lt;a href=&quot;http://www.artima.com/forums/flat.jsp?forum=121&amp;thread=7145&quot;&gt;this Artima thread&lt;/a&gt;.  Oliver Burn gives the reasons why he uses Emacs over jEdit.  Also some good links to helpful extensions.&lt;/p&gt;

&lt;p&gt;Finally, if you are using Emacs on a Windows platform and you are using Cygwin, then you may be using &quot;unzip&quot; as a PKZip alternative.  If you are, I&apos;ve found it helpful to make sure that the zip extract command in Archive Zip group has an argument of &quot;-j&quot;.  This tells Infozip to not extract the file into directories because Archive mode expects the file to be in its temp directory - not a subdirectory of its temp directory.&lt;/p&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/10/30.html#a606</guid>
			<pubDate>Thu, 30 Oct 2003 19:18:52 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=606&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F10%2F30.html%23a606</comments>
			</item>
		<item>
			<title>Of IDEs and Editors</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/10/10.html#a595</link>
			<description>
&lt;p&gt;I just found Bradley O&apos;Hearne&apos;s &lt;a href=&quot;http://www.devx.com/devx/editorial/16364&quot;&gt;10 Reasons to Dump Your Java IDE&lt;/a&gt;.  Not being a big IDE proponent, I felt justified in reading this article.  Even if some of the arguments aren&apos;t very strong.  Check out the counter-point: &lt;a href=&quot;http://www.rc3.org/cgi-bin/less.pl?arg=4872&quot;&gt;10 Reasons (Not) to Dump Your Java IDE&lt;/a&gt;.  &lt;/p&gt;

&lt;p&gt;My latest frustration with IDEs is they almost always contain substandard editors.  What they lack in text manipulation, they partly make up for with code completion and source code browsing.  However, I spend most of my time manipulating text.  Don&apos;t you?  I would rather have Emacs hippie expansion to complete previously typed tokens than code completion.  Much faster, and can be used more often.&lt;/p&gt;

&lt;p&gt;On my last two Java projects, I&apos;ve had Emacs and Eclipse open side-by-side.  I like Eclipse for compiling and fixing errors, the debugger, and for running Junit tests.  I like &quot;Emacs&quot; with &quot;JDEE&quot; and &quot;ECB&quot; for editing.&lt;/p&gt;
</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/10/10.html#a595</guid>
			<pubDate>Sat, 11 Oct 2003 04:55:36 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=595&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F10%2F10.html%23a595</comments>
			</item>
		<item>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/09/06.html#a590</link>
			<description>&lt;p&gt;Well, I&apos;ve switched back to using Emacs Gnus to read my personal
email at home.  The reason I switched away before was that W3 was
pretty bad at rendering HTML mail.  Over the past few weeks, I&apos;ve
looked at the mail I&apos;m getting at home, and by and large I get alot of
plain text email.  Even the email I get that is HTML, the bulk of it
is plain text embedded in light formatting.  Further, I subscribe to
some mailing lists, and reading those things are much better in Gnus
where they are appropriately threaded.&lt;/p&gt;

&lt;p&gt;So far, the only HTML email I miss out on is Netflix.  W3 renders
it readable, but I can&apos;t just click and rate the movie I just watched
any more.  Oh well.&lt;/p&gt;

&lt;p&gt;What I&apos;d like to find is a way (and I&apos;m sure there is probably
something out there) to view HTML email in a browser.  To launch it in
Mozilla.  Probably just require some digging.&lt;/p&gt;
</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/09/06.html#a590</guid>
			<pubDate>Sat, 06 Sep 2003 14:28:28 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=590&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F09%2F06.html%23a590</comments>
			</item>
		<item>
			<title>NTEmacs printing to IP port on Windows 2000</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/07/31.html#a556</link>
			<description>&lt;p&gt;Do you have a printer you connect to with a local TCP/IP port instead of as a share off of a server?  Wondering how the hell to get Emacs to print to it?  I found &lt;a href=&quot;http://mail.gnu.org/archive/html/help-emacs-windows/2002-05/msg00061.html&quot;&gt;
this&lt;/a&gt; article today that tells you how.&lt;/p&gt;
&lt;p&gt;Basically, you create a share to the printer on your machine.  You set the printer-name in Emacs to something like &lt;a href=&quot;//YOURMACHINE/PRINTERSHARE&quot;&gt;//YOURMACHINE/PRINTERSHARE&lt;/a&gt; (do I have to tell you to substitute?).  Works like a charm.&lt;/p&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/07/31.html#a556</guid>
			<pubDate>Thu, 31 Jul 2003 21:25:01 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=556&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F07%2F31.html%23a556</comments>
			</item>
		<item>
			<title>Convert camel case to underscore separated in Elisp</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/07/28.html#a550</link>
			<description>&lt;p&gt;Today I created a simple Elisp function that will convert the text in a specified region from camel case (e.g. myFunction) to underscore separated format (e.g. my_Function).  Glasses mode will do a similar thing in a non-destructive way using overlays.  However, this function actually modifies the text.&lt;/p&gt;

&lt;p&gt;I used this function to convert between a JDO JOQL filter string and a SQL where clause.  The JDO reverse mapping tool we used took SQL table names like &quot;mth_dim&quot; and converted them to Java class names like &quot;mthDim&quot;.  I had to convert back.&lt;/p&gt;
    &lt;pre&gt;
(&lt;span &gt;defun&lt;/span&gt; &lt;span &gt;convert-camel-to-underscore&lt;/span&gt; (beg end)
  &lt;span &gt;&amp;quot;Converts the camel cased text in the specified region into
underscore separated text.&amp;quot;&lt;/span&gt;
  (interactive &lt;span &gt;&amp;quot;r&amp;quot;&lt;/span&gt;)
  (&lt;span &gt;save-excursion&lt;/span&gt;
    (goto-char end)

    (&lt;span &gt;let&lt;/span&gt; ((case-fold-search nil)
          (end-marker (point-marker)))
      (goto-char beg)
      (&lt;span &gt;while&lt;/span&gt; (re-search-forward &lt;span &gt;&amp;quot;\([a-z]\)\([A-Z]\)&amp;quot;&lt;/span&gt;
                                end-marker t)
        (replace-match (concat (match-string 1) &lt;span &gt;&amp;quot;_&amp;quot;&lt;/span&gt; (match-string 2)))))))
&lt;/pre&gt;
</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/07/28.html#a550</guid>
			<pubDate>Tue, 29 Jul 2003 00:37:19 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=550&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F07%2F28.html%23a550</comments>
			</item>
		<item>
			<title>Unique elements of a list with Elisp</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/07/28.html#a549</link>
			<description>&lt;p&gt;Today I stumbled across some Elisp code that will take a list and return a list containing the unique elements from the original.  Very handy if you don&apos;t want to implement your own.  You can find it &lt;a href=&quot;http://www.geocrawler.com/archives/3/338/1994/5/50/1877912/&quot;&gt;here&lt;/a&gt;&lt;/p&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/07/28.html#a549</guid>
			<pubDate>Tue, 29 Jul 2003 00:26:22 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=549&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F07%2F28.html%23a549</comments>
			</item>
		<item>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/06/24.html#a510</link>
			<description>&lt;a href=&quot;http://lemonodor.com/archives/000461.html&quot;&gt;ELI for SBCL&lt;/a&gt;. &lt;p&gt;
David Lichteblau has an implementation of Franz&apos; &lt;a href=&quot;http://www.cliki.net/ELI&quot;&gt;Emacs-Lisp-Interface (ELI)&lt;/a&gt; for SBCL: &lt;a href=&quot;http://www.rz.fhtw-berlin.de/~lichtebl/lep.tar.gz&quot;&gt;&lt;a href=&quot;http://www.rz.fhtw-berlin.de/~lichtebl/lep.tar.gz&quot;&gt;http://www.rz.fhtw-berlin.de/~lichtebl/lep.tar.gz&lt;/a&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
ELI is like &lt;a href=&quot;http://www.cliki.net/ILISP&quot;&gt;ilisp&lt;/a&gt;, but a lot better (two way communication between lisp and emacs, support for threads, rarely gets confused, and more).
&lt;/p&gt;

&lt;p&gt;
(A while back, Douglas Crosher wrote some &lt;a href=&quot;http://www.cons.org/cmucl/doc/eli-hacks.txt&quot;&gt;support for ELI for CMUCL&lt;/a&gt;.)
&lt;/p&gt; [&lt;a href=&quot;http://lemonodor.com/&quot;&gt;lemonodor&lt;/a&gt;]

&lt;p&gt;COOOOOOOL.  Now that I&apos;m on Linux a bit, I might have to play with this.&lt;/p&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/06/24.html#a510</guid>
			<pubDate>Tue, 24 Jun 2003 21:59:41 GMT</pubDate>
			<source url="http://lemonodor.com/rss10-full.xml">lemonodor</source>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=510&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F06%2F24.html%23a510</comments>
			</item>
		<item>
			<title>Make vvb-mode work with Gnu Emacs</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/06/20.html#a506</link>
			<description>&lt;p&gt;&lt;a href=&quot;http://mail.gnu.org/archive/html/help-gnu-emacs/2002-09/msg00141.html&quot;&gt;Here&lt;/a&gt; is an article that shows how to make vvb-mode (vertical bar mode) work with Gnu Emacs instead of Xemacs.  The difference is that Gnu Emacs uses overlays and Xemacs uses extents.  You have to change the extent code to do the right thing with overlays.  Works like a charm!&lt;/p&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/06/20.html#a506</guid>
			<pubDate>Fri, 20 Jun 2003 15:45:03 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=506&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F06%2F20.html%23a506</comments>
			</item>
		<item>
			<title>Bugfix:  remove-line-boundary-in-region</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/06/19.html#a502</link>
			<description>&lt;p&gt;I&apos;ve fixed a bug in remove-line-boundary-in-region.  The problem was that the removal went one line too far.  This is fixed.  Plus, I commented the code.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;
(defun remove-line-boundary-in-region (beginning end)&lt;br&gt;
  &amp;quot;Collapses all the lines in the specified region into a single line.&amp;quot;&lt;br&gt;
  (interactive &amp;quot;r&amp;quot;)&lt;br&gt;
  (save-excursion&lt;br&gt;
    (goto-char beginning)&lt;br&gt;
    (goto-char (point-at-bol))&lt;br&gt;
    (insert &amp;quot;n&amp;quot;)&lt;br&gt;
&lt;br&gt;
    (let ((beg (point)))&lt;br&gt;
      (goto-char end)&lt;br&gt;
      (while (&amp;gt;= (point) beg)&lt;br&gt;
        (delete-indentation)))))&lt;br&gt;
&lt;/code&gt;&lt;/p&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/06/19.html#a502</guid>
			<pubDate>Thu, 19 Jun 2003 14:47:24 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=502&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F06%2F19.html%23a502</comments>
			</item>
		<item>
			<title>remove-line-boundary-in-region</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/06/04.html#a481</link>
			<description>&lt;P&gt;I&apos;ve hacked together an Emacs function that I find pretty useful.&amp;nbsp; I often find myself formatting lines of data and trying to put them into a comma separated list.&amp;nbsp; I usually do some kind of regex search and replace which leaves me with lines of data with a comma at the end.&amp;nbsp; Then, I have to collapse all that data onto one line.&amp;nbsp; Usually I do this by going to the end of the list and then removing the line boundaries by holding down&amp;nbsp;M-^.&amp;nbsp; This gets old, and tries my patience on long lists.&amp;nbsp; So, I hacked together&amp;nbsp;the following&amp;nbsp;function that would remove all the line boundaries in a region:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;(defun remove-line-boundary-in-region (beginning end)&lt;BR&gt;&amp;nbsp; (interactive &quot;r&quot;)&lt;BR&gt;&amp;nbsp; (save-excursion&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (goto-char end)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (while (not (eq (point) beginning))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (delete-indentation))))&lt;/CODE&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/06/04.html#a481</guid>
			<pubDate>Wed, 04 Jun 2003 16:37:01 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=481&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F06%2F04.html%23a481</comments>
			</item>
		<item>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/05/08.html#a430</link>
			<description>&lt;A href=&quot;http://lemonodor.com/archives/000418.html&quot;&gt;Regex Coach&lt;/A&gt;. 
&lt;P&gt;The &lt;A href=&quot;http://weitz.de/regex-coach/&quot;&gt;Regex Coach&lt;/A&gt; is Edi Weitz&apos; application for exploring and experimenting with regular expressions (e.g., stepping through the matching process) in a graphical way. There are windows and linux versions, and it is written in lisp.&lt;/P&gt;
&lt;P&gt;[&lt;A href=&quot;http://lemonodor.com/&quot;&gt;lemonodor&lt;/A&gt;]&lt;/P&gt;
&lt;P&gt;This is EXTREMELY cool.&amp;nbsp; I donwloaded it and played with it briefly.&amp;nbsp; If you have developed a regex fetish, but haven&apos;t mastered the art, then you should download this program and start playing.&lt;/P&gt;
&lt;P&gt;Emacs users may not find this all that useful because you can test out regex with C-M-s interactive regex search.&amp;nbsp; But, maybe you&apos;ll like playing with them in this environment.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/05/08.html#a430</guid>
			<pubDate>Thu, 08 May 2003 23:57:06 GMT</pubDate>
			<source url="http://lemonodor.com/rss10-full.xml">lemonodor</source>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=430&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F05%2F08.html%23a430</comments>
			</item>
		<item>
			<title>Yahoo! Store switches back to Lisp</title>
			<link>http://lambda.weblogs.com/2003/04/01#a6365</link>
			<description>Wow, is this a true story?&amp;nbsp; They just discovered Emacs?&amp;nbsp; They thought Lisp was hard to read because of the parens?&amp;nbsp; Is this an April Fool&apos;s joke?</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/04/30.html#a410</guid>
			<pubDate>Wed, 30 Apr 2003 14:18:35 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=410&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F04%2F30.html%23a410</comments>
			</item>
		<item>
			<title>tsql-indent.el</title>
			<link>http://radio.weblogs.com/0116883/sources/tsql-indent.el.html</link>
			<description>&lt;P&gt;Here&apos;s a little Emacs Lisp function I wrote that provides an indentation function for SQL mode.&amp;nbsp; It is specifically geared toward TSQL, however it should work with other flavors of SQL.&amp;nbsp; &lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/03/03.html#a327</guid>
			<pubDate>Mon, 03 Mar 2003 14:34:43 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=327&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F03%2F03.html%23a327</comments>
			</item>
		<item>
			<title>Tim Bray&apos;s Emacs Blog Category</title>
			<link>http://tbray.org/ongoing/What/Technology/Emacs/</link>
			<description>&lt;P&gt;Tim Bray has an Emacs category on his blog.&amp;nbsp; Excellent!&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/02/28.html#a321</guid>
			<pubDate>Sat, 01 Mar 2003 02:59:23 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=321&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F02%2F28.html%23a321</comments>
			</item>
		<item>
			<title>Replacing gzip with bzip2 in Emacs dired mode</title>
			<link>http://groups.google.com/groups?hl=en&amp;lr=&amp;ie=UTF-8&amp;threadm=m3heoej7e9.fsf%40localhost.localdomain&amp;rnum=1&amp;prev=/groups%3Fq%3Ddired%2Bbzip2%2Binstead%2Bof%2Bgzip%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3Dm3heoej7e9.fsf%2540localhost.localdomain%26rnum%3D1</link>
			<description>Here&apos;s&amp;nbsp;a discussion thread with a fix on how to change dired to compress files with bzip2 instead of gzip by default.&amp;nbsp; It requires editing dired-aux.el and recompiling it.&amp;nbsp; It would be a nice project for someone to go in and make this a customize variable instead of this hack.</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/02/27.html#a318</guid>
			<pubDate>Thu, 27 Feb 2003 22:51:12 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=318&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F02%2F27.html%23a318</comments>
			</item>
		<item>
			<title>Web Sailor&apos;s Emacs Cygwin Customizations</title>
			<link>http://www.khngai.com/emacs/cygwin.php</link>
			<description>This a great page for getting Emacs and Cygwin to work together more harmoniously.&amp;nbsp; I used a tip on this page to fix a problem I was having where Emacs dired mode would not uncompress files.</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/02/27.html#a317</guid>
			<pubDate>Thu, 27 Feb 2003 22:27:05 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=317&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F02%2F27.html%23a317</comments>
			</item>
		<item>
			<title>Emacro</title>
			<link>http://emacro.sourceforge.net/</link>
			<description>&lt;P&gt;Ever&amp;nbsp;try Emacs, but never worked up the courage to get it customized the way you want?&amp;nbsp; Perhaps you lost patience with it&apos;s lack of customization out of the box.&amp;nbsp; Perhaps you never even tried Emacs because you thought it was too difficult to get working.&amp;nbsp; Well, this project may have the answer for you.&lt;/P&gt;
&lt;P&gt;Emacro will create a customization file for you by asking you a few questions. It sets up some normal defaults for you.&amp;nbsp; No programming required!&amp;nbsp; Then you can get on to the task of learning the worlds most powerful editor!&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/02/26.html#a316</guid>
			<pubDate>Wed, 26 Feb 2003 21:57:49 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=316&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F02%2F26.html%23a316</comments>
			</item>
		<item>
			<title>Jari Alto&apos;s Emacs Elisp code guidlines</title>
			<link>http://mirror.ncsa.uiuc.edu/procmail/ssjaaa/ema-code.html</link>
			<description>Something that I should read!</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/02/05.html#a270</guid>
			<pubDate>Thu, 06 Feb 2003 00:15:11 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=270&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F02%2F05.html%23a270</comments>
			</item>
		<item>
			<title>Emacs Lisp Function to Add Folding Marks to TSQL Procedures</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/02/05.html#a269</link>
			<description>&lt;P&gt;Today I whipped up a quick Elisp function that adds folding marks (to be used with&lt;A href=&quot;ftp://ftp.csd.uu.se/pub/users/andersl/emacs/folding.el&quot;&gt; Folding Mode&lt;/A&gt;).&amp;nbsp; This function is not perfect, but it can get folding marks in your code quickly so that you can step through and customize them to be more meaningful.&amp;nbsp; Just thought I would share with the world.&amp;nbsp; I haven&apos;t posted this to comp.emacs.sources yet.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;If you find this useful or enhance it, please let me know.&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;(defun user-add-sql-folding-marks()&lt;BR&gt;&quot;This steps through a SQL buffer and adds folding marks around all&lt;BR&gt;statement blocks that have a &quot;begin&quot; and an &quot;end&quot;.&amp;nbsp; Can be useful&lt;BR&gt;for large procedures.&quot;&lt;BR&gt;&amp;nbsp; (interactive)&lt;BR&gt;&amp;nbsp; (save-excursion&lt;BR&gt;&amp;nbsp;(goto-char (point-min))&lt;BR&gt;&amp;nbsp;(while (not (eobp))&lt;BR&gt;&amp;nbsp;&amp;nbsp; (forward-line 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp; (if (looking-at &quot;^\\W*begin&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (progn&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(forward-line -1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(goto-char (point-at-bol))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(let ((cur-statement (buffer-substring (point-at-bol) (point-at-eol))))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (insert &quot;\n&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (forward-line -1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (insert (concat &quot;/* {{{ &quot; (concat cur-statement &quot; */&quot;)))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (forward-line 2)))&lt;BR&gt;&amp;nbsp;&amp;nbsp;(if (and (looking-at &quot;^\\W*end&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (not (looking-at &quot;^\\W*end)&quot;)))&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;(progn&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (forward-line 1)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (insert &quot;/* }}} */\n&quot;)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (forward-line -1)))))))&lt;/CODE&gt;&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/02/05.html#a269</guid>
			<pubDate>Thu, 06 Feb 2003 00:13:05 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=269&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F02%2F05.html%23a269</comments>
			</item>
		<item>
			<title>Getting Emacs to treat _ as a word constituent character in SQL mode</title>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/02/04.html#a262</link>
			<description>&lt;P&gt;The project that I&apos;m currently on demands that I write alot of SQL.&amp;nbsp; The architect for the project chose a naming standard that includes putting the &quot;_&quot; character between words in a variable, column, or table name.&amp;nbsp; For example &quot;Amount Type&quot; would become &quot;amt_type&quot;.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Under normal conditions, Emacs treats &quot;_&quot; as a non-word consituent character.&amp;nbsp; This means that when you move forward a word over &quot;amt_type&quot; you would have to execute forward-word twice.&amp;nbsp; This is a pain when there are ALOT of words that have the &quot;_&quot; as part of the word.&lt;/P&gt;
&lt;P&gt;So, an easy hack for this project is to make &quot;_&quot; a word constituent character.&amp;nbsp; You can do this by evaluating:&lt;/P&gt;
&lt;P&gt;(modify-syntax-entry ?_ &quot;w&quot; sql-mode-syntax-table)&lt;/P&gt;
&lt;P&gt;This can be in your .emacs file or you can simply evaluate it in the *scratch* buffer (or run ESC-:).&amp;nbsp; From that point on, you can forward-word over the entire variable named &quot;trans_amt_in_your_face_forward_word&quot;.&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/02/04.html#a262</guid>
			<pubDate>Tue, 04 Feb 2003 16:06:01 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=262&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F02%2F04.html%23a262</comments>
			</item>
		<item>
			<link>http://radio.weblogs.com/0116883/categories/emacs/2003/01/16.html#a170</link>
			<description>&lt;P&gt;I just found one of the coolest Emacs packages I&apos;ve found to date.&amp;nbsp; It&apos;s called &lt;A href=&quot;http://me.in-berlin.de/~myrkr/dictionary/&quot;&gt;dictionary&lt;/A&gt; and it allows you to look up words in buffers against &lt;A href=&quot;http://www.dict.org&quot;&gt;www.dict.org&lt;/A&gt;.&amp;nbsp; If you don&apos;t know, dict.org allows you to query multiple dictionaries for a term.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Now, I can put my cursor on any word, hit a key combination, and get the definition for that word.&amp;nbsp; VERY SWEET!&lt;/P&gt;</description>
			<guid>http://radio.weblogs.com/0116883/categories/emacs/2003/01/16.html#a170</guid>
			<pubDate>Thu, 16 Jan 2003 22:00:26 GMT</pubDate>
			<comments>http://radiocomments.userland.com/comments?u=116883&amp;amp;p=170&amp;amp;link=http%3A%2F%2Fradio.weblogs.com%2F0116883%2F2003%2F01%2F16.html%23a170</comments>
			</item>
		</channel>
	</rss>
