<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>M-x all-things-emacs</title>
	<atom:link href="http://emacsblog.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://emacsblog.org</link>
	<description>EmacsBlog.org</description>
	<lastBuildDate>Thu, 06 Aug 2009 23:51:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>YASnippet Updated &#8211; Supports Nested Placeholders and More</title>
		<link>http://emacsblog.org/2009/07/27/yasnippet-updated-supports-nested-placeholders-and-more/</link>
		<comments>http://emacsblog.org/2009/07/27/yasnippet-updated-supports-nested-placeholders-and-more/#comments</comments>
		<pubDate>Mon, 27 Jul 2009 06:31:30 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/?p=207</guid>
		<description><![CDATA[	

	YASnippet, or Yet Another Snippet package just released a new beta with many new features. YaSnippet is a template system for emacs. It allows you to type an abbrevation and then trigger that abbreviation into an expansion in your buffer. Some of the new features are:

	
		Nested Placeholders: Nested placeholders allow you to support optional attributes [...]]]></description>
			<content:encoded><![CDATA[	<p><img src="http://www.emacsblog.org/wp-content/uploads/2009/07/yasnippet-dropdown.png" align="right" title="YASnippet Dropdown Menu Support" alt="YASnippet Dropdown Menu Support" /></p>

	<p><a href="http://code.google.com/p/yasnippet/">YASnippet, or Yet Another Snippet package</a> just released a new beta with many new features. YaSnippet is a template system for emacs. It allows you to type an abbrevation and then trigger that abbreviation into an expansion in your buffer. Some of the new features are:</p>

	<ul>
		<li>Nested Placeholders: Nested placeholders allow you to support optional attributes or portions of your snippet. If you don&#8217;t need these optional attributes then type <code>C-d</code> and exit out of the snippet. This feature is heavily used in TextMate snippets, and now makes borrowing snippets from TextMate even easier. For example, the snippet below gives you a div tag and optionally allows you to specify your id.</li>
	</ul>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">     &lt;div${1: id=&quot;${2:someid}&quot;}&gt; $0</pre></div></div>


	<ul>
		<li>Menu Grouping: The YASnippets menu now supports logical grouping of snippets under the mode. For example, ruby-mode snippets are now grouped into logical areas such as collections and control structures. I don&#8217;t normally like using menus in emacs, but I find the logical grouping in lieu of the long list helpful until I have the snippets memorized.</li>
		<li>Multiple Prompting Mechanisms: If you have multiple snippets attached to the same tag trigger, then you will get prompted for the snippet you desire. You can specify the desired order for how you want to be prompted by setting the function list in the variable <code>yas/prompt-functions</code>. Some people like menus so you might want to use <code>yas/dropdown-prompt</code> (see the screenshot above), but my current preference is <code>yas/ido-prompt</code>.</li>
		<li>Easier Snippet Development: When working on a new snippet, you can use the command <code>M-x yas/tryout-snippet</code> or <code>C-c C-t</code> which opens a test buffer and expands your new snippet.</li>
	</ul>
	<ul>
		<li>Snippets within Snippets: You can now call one snippet while within the expansion of another snippet.</li>
	</ul>

	<p>For more info, take a look at the  <a href="http://yasnippet.googlecode.com/svn/trunk/doc/define_snippet.html">YASnippet documentation</a>. </p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2009/07/27/yasnippet-updated-supports-nested-placeholders-and-more/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Copying Lines, not killing</title>
		<link>http://emacsblog.org/2009/05/18/copying-lines-not-killing/</link>
		<comments>http://emacsblog.org/2009/05/18/copying-lines-not-killing/#comments</comments>
		<pubDate>Mon, 18 May 2009 22:54:13 +0000</pubDate>
		<dc:creator>Greg Reagle</dc:creator>
				<category><![CDATA[newbie]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/?p=172</guid>
		<description><![CDATA[	Do you find yourself often running a yank or undo immediately after killing lines?  Would you like to copy a line instead of killing it?  Do you wish that there was a prefix argument to C-k (kill-line) that made it copy instead of cut (to use the non-Emacs terminology).  Here is your [...]]]></description>
			<content:encoded><![CDATA[	<p>Do you find yourself often running a yank or undo immediately after killing lines?  Would you like to copy a line instead of killing it?  Do you wish that there was a prefix argument to <code>C-k</code> (<code>kill-line</code>) that made it copy instead of cut (to use the non-Emacs terminology).  Here is your solution&#8212;a command that acts just like kill-line except that it is a copy.</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">defun</span> copy-line <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&amp;</span>optional arg<span style="color: #66cc66;">&#41;</span>
  <span style="color: #ff0000;">&quot;Do a kill-line but copy rather than kill.  This function directly calls
kill-line, so see documentation of kill-line for how to use it including prefix
argument and relevant variables.  This function works by temporarily making the
buffer read-only, so I suggest setting kill-read-only-ok to t.&quot;</span>
  <span style="color: #66cc66;">&#40;</span>interactive <span style="color: #ff0000;">&quot;P&quot;</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span>toggle-read-only <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span>kill-line arg<span style="color: #66cc66;">&#41;</span>
  <span style="color: #66cc66;">&#40;</span>toggle-read-only <span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span>setq-default kill-read-only-ok t<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>global-set-key <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\C</span>-c<span style="color: #000099; font-weight: bold;">\C</span>-k&quot;</span> 'copy-line<span style="color: #66cc66;">&#41;</span></pre></div></div>


	<p>See also <a href="http://www.emacswiki.org/emacs/CopyingWholeLines">http://www.emacswiki.org/emacs/CopyingWholeLines</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2009/05/18/copying-lines-not-killing/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Detaching the custom-file</title>
		<link>http://emacsblog.org/2008/12/06/quick-tip-detaching-the-custom-file/</link>
		<comments>http://emacsblog.org/2008/12/06/quick-tip-detaching-the-custom-file/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 10:53:02 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[elisp]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/?p=149</guid>
		<description><![CDATA[	I&#8217;ve never really liked the built-in customization UI in Emacs (M-x customize).  I&#8217;m sure plenty of people use it and enjoy it, but, to me, it feels like an abominable tree of never ending and difficult to navigate options.  Plus, it sticks your saved customizations as an unorganized mess of elisp smack at [...]]]></description>
			<content:encoded><![CDATA[	<p>I&#8217;ve never really liked the built-in customization UI in Emacs (<code>M-x customize</code>).  I&#8217;m sure plenty of people use it and enjoy it, but, to me, it feels like an abominable tree of never ending and difficult to navigate options.  Plus, it sticks your saved customizations as an unorganized mess of elisp smack at the bottom of your init file.  I&#8217;m not quite sure how to solve my first gripe, but the second is manageable.</p>

	<p>By setting the <code>custom-file</code> variable, you can keep those automated customizations in a separate file.  Put this in your Emacs init:</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> custom-file <span style="color: #ff0000;">&quot;~/.emacs.d/custom.el&quot;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>load custom-file 'noerror<span style="color: #66cc66;">&#41;</span></pre></div></div>


	<p>Both lines are necessary. The first line tells Custom to save all customizations in the file, but does not load it.  The <code>&#39;noerror</code> argument passed to <code>load</code> prevents errors if the file doesn&#8217;t exist.  If you had existing customizations in your init file, be sure to copy them to the new custom file.</p>

	<p>Now, go enjoy a cleaner init file.  This tip is especially useful if you keep your init files under a version control system.  <em>You do keep your init files under version control, right?</em></p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2008/12/06/quick-tip-detaching-the-custom-file/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Emacs in 5 minutes</title>
		<link>http://emacsblog.org/2008/12/05/emacs-in-5-minutes/</link>
		<comments>http://emacsblog.org/2008/12/05/emacs-in-5-minutes/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 23:18:00 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[newbie]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/?p=133</guid>
		<description><![CDATA[	In preparation for a new upcoming PeepCode screencast, Geoffrey Grosenbach put together a quick 5 minute Emacs introduction.  It&#8217;s a good summary of some Emacs niceties.  Geoffrey also wrote up some of his other initial Emacs impressions. 

	]]></description>
			<content:encoded><![CDATA[	<p>In preparation for a new upcoming <a href="http://peepcode.com/">PeepCode</a> screencast, <a href="http://topfunky.com/">Geoffrey Grosenbach</a> put together a quick <a href="http://peepcode.com/system/uploads/2008/peepcode-emacs-in-5-demo.mov">5 minute Emacs introduction</a>.  It&#8217;s a good summary of some Emacs niceties.  Geoffrey also wrote up some of his <a href="http://nubyonrails.com/articles/emacs-emacs">other initial Emacs impressions</a>. </p>

	<p><a href="http://peepcode.com/system/uploads/2008/peepcode-emacs-in-5-demo.mov"><img src="http://www.emacsblog.org/wp-content/uploads/2008/12/5-minutes.png" title="" alt="" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2008/12/05/emacs-in-5-minutes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://peepcode.com/system/uploads/2008/peepcode-emacs-in-5-demo.mov" length="14779892" type="video/quicktime" />
		</item>
		<item>
		<title>Emacs Starter Kit</title>
		<link>http://emacsblog.org/2008/12/05/emacs-starter-kit/</link>
		<comments>http://emacsblog.org/2008/12/05/emacs-starter-kit/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 22:33:34 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[elisp]]></category>
		<category><![CDATA[newbie]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/?p=128</guid>
		<description><![CDATA[	Phil Hagelberg recently started a new project called Emacs Starter Kit.  Here&#8217;s how Phil describes it:

	
		It&#8217;s &#8230; a set of dotfiles extracted from my years of obsessive Emacs tweaking. It acts as a base config from which new users can get going with minimal fuss. You won&#8217;t learn Emacs from it, but it will [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://technomancy.us/colophon">Phil Hagelberg</a> recently started a new project called <a href="http://github.com/technomancy/emacs-starter-kit/tree/master">Emacs Starter Kit</a>.  Here&#8217;s how <a href="http://technomancy.us/119">Phil describes it</a>:</p>

	<blockquote>
		<p>It&#8217;s &#8230; a set of dotfiles extracted from my years of obsessive Emacs tweaking. It acts as a base config from which new users can get going with minimal fuss. You won&#8217;t learn Emacs from it, but it will help you get started out as it provides saner defaults and bundles a lot of really useful functionality.</p>
	</blockquote>

	<blockquote>
		<p>I&#8217;ve been using it as my main config for quite some time now, so it&#8217;s got all the libraries I need. If you&#8217;re interested in trying out with Emacs but don&#8217;t know where to start, give this a shot. If you&#8217;re an old hand but are curious to pick up some new tricks, try out the starter kit and let me know if it&#8217;s missing some must-have functionality that you&#8217;re used to.</p>
	</blockquote>

	<p>Give it a try:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ git clone git:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>technomancy<span style="color: #000000; font-weight: bold;">/</span>emacs-starter-kit.git
$ emacs <span style="color: #660033;">-q</span> <span style="color: #660033;">-l</span> ~<span style="color: #000000; font-weight: bold;">/</span>path<span style="color: #000000; font-weight: bold;">/</span>to<span style="color: #000000; font-weight: bold;">/</span>emacs-starter-kit<span style="color: #000000; font-weight: bold;">/</span>init.el</pre></div></div>


	<p>I&#8217;m going to play with this on and off for the next few days and see if I can&#8217;t learn a few tricks from an emacs guru.</p>

	<p><strong><span class="caps">UPDATE</span></strong>: For those that don&#8217;t use Git and can&#8217;t find the <a href="http://img.skitch.com/20081206-eiyj1nf4174r1b6uastr3u1gbj.png">&#8216;Download&#8217; button</a> on <a href="http://github.com/technomancy/emacs-starter-kit/tree/master">GitHub</a>, here&#8217;s the <a href="http://github.com/technomancy/emacs-starter-kit/tarball/master">tarball</a> and the <a href="http://github.com/technomancy/emacs-starter-kit/zipball/master">zipball</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2008/12/05/emacs-starter-kit/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Giving ido-mode a Second Chance</title>
		<link>http://emacsblog.org/2008/05/19/giving-ido-mode-a-second-chance/</link>
		<comments>http://emacsblog.org/2008/05/19/giving-ido-mode-a-second-chance/#comments</comments>
		<pubDate>Mon, 19 May 2008 15:21:33 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[ido]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/?p=120</guid>
		<description><![CDATA[	Stuart Halloway&#8217;s recent screencast titled What You Can Learn From ido.el convinced me that I need to give ido-mode another look, especially since I didn&#8217;t realize it had support for flex (aka fuzzy) matching.  I was always envious of the fuzzy matching that TextMate users received when finding a file in a project.

	I&#8217;ve tried [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://thinkrelevance.com/about">Stuart Halloway&#8217;s</a> recent screencast titled <a href="http://www.vimeo.com/1013263">What You Can Learn From ido.el</a> convinced me that I need to give ido-mode another look, especially since I didn&#8217;t realize it had support for flex (aka fuzzy) matching.  I was always envious of the fuzzy matching that TextMate users received when finding a file in a project.</p>

	<p>I&#8217;ve tried <a href="http://www.emacswiki.org/cgi-bin/wiki/InteractivelyDoThings">ido</a> in the past, but it always turned me off.  Today I realized why, and I was finally motivated enough to find a fix.  I am a big fan of <a href="http://www.emacsblog.org/2007/03/12/tab-completion-everywhere/">tab-completion everywhere</a>, so when tab-completion doesn&#8217;t work like I expect, I get upset.  As it turns out, this is why I (unfairly) disliked ido-mode at first.  Due to some other trickery that I would rather not go into, I was guaranteeing that <code>&#60;tab&#62;</code> in the minibuffer would always call <code>minibuffer-complete</code>, which broke the tab behavior in ido:</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>define-key minibuffer-local-map <span style="color: #66cc66;">&#91;</span>tab<span style="color: #66cc66;">&#93;</span> 'minibuffer-complete<span style="color: #66cc66;">&#41;</span></pre></div></div>


	<p>In summary, I&#8217;m a doofus.  I should probably re-investigate the need for the above mapping; it was necessary because of a global key binding that I shouldn&#8217;t have made global in the first place.   Without going down that rat hole just yet, here&#8217;s my workaround for now:</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>ido-mode t<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> ido-enable-flex-matching t<span style="color: #66cc66;">&#41;</span> <span style="color: #808080; font-style: italic;">; fuzzy matching is a must have</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; This tab override shouldn't be necessary given ido's default </span>
<span style="color: #808080; font-style: italic;">;; configuration, but minibuffer-complete otherwise dominates the </span>
<span style="color: #808080; font-style: italic;">;; tab binding because of my custom tab-completion-everywhere </span>
<span style="color: #808080; font-style: italic;">;; configuration.</span>
<span style="color: #66cc66;">&#40;</span>add-hook 'ido-setup-hook 
          <span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">lambda</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> 
            <span style="color: #66cc66;">&#40;</span>define-key ido-completion-map <span style="color: #66cc66;">&#91;</span>tab<span style="color: #66cc66;">&#93;</span> 'ido-complete<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span></pre></div></div>


	<p>I&#8217;m going to give ido-mode a fair chance this time, and I think I&#8217;m going to like it.  I anticipate growing my custom ido configurations in the near future, and ido-mode could easily make it as a <a href="http://www.emacsblog.org/tags/faves/">package fave</a>.  Thanks Stu.</p>

	<p>For those of you who have already realized the power of Interactive Do, what power tricks do you recommend?</p>

	<p><strong>Update:</strong> Flex or fuzzy matching is the ability to match any item containing the characters in the given sequence.  For example, &#8220;mwc&#8221; might match a file named &#8220;<b>m</b>y_<b>w</b>icked_<b>c</b>lass.rb.&#8221;</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2008/05/19/giving-ido-mode-a-second-chance/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Easier Window Switching in Emacs</title>
		<link>http://emacsblog.org/2008/05/01/quick-tip-easier-window-switching-in-emacs/</link>
		<comments>http://emacsblog.org/2008/05/01/quick-tip-easier-window-switching-in-emacs/#comments</comments>
		<pubDate>Thu, 01 May 2008 15:22:44 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/?p=119</guid>
		<description><![CDATA[	I ran across this thread on easier window switching within emacs using the windmove-xxx commands on gnu.emacs.help a few days ago. It&#8217;s always nice to find out about commands I didn&#8217;t know about&#8230; kinda like C-x M-c M-butterfly. I have always used C-x o and C-x b to move between windows and buffers, but my [...]]]></description>
			<content:encoded><![CDATA[	<p>I ran across this thread on easier window switching within emacs using the <code>windmove-xxx</code> commands on <a href="http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/b7ec9f5a2d155c3e?hl=en">gnu.emacs.help</a> a few days ago. It&#8217;s always nice to find out about commands I didn&#8217;t know about&#8230; kinda like <a href="http://xkcd.com/378/">C-x M-c M-butterfly</a>. I have always used <code>C-x o</code> and <code>C-x b</code> to move between windows and buffers, but my work monitor is large enough to allow me to split my frame into four windows. Using <code>C-x o</code> to move around has been somewhat of an annoyance. The windmove commands allow you to move up, down, left, and right between windows using a prefix key and the arrows on your keyboard. I have added the following to my .emacs:</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>windmove-default-keybindings 'meta<span style="color: #66cc66;">&#41;</span></pre></div></div>


	<p>If you invoke the command without an argument then shift is used as the prefix. I also had to place this below the turning on of <code>pc-selection-mode</code> because it also sets the <code>M-up</code>, <code>M-down</code>, <code>M-left</code>, and <code>M-right</code> keys.</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2008/05/01/quick-tip-easier-window-switching-in-emacs/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Package Faves: js2-mode</title>
		<link>http://emacsblog.org/2008/04/04/package-faves-js2-mode/</link>
		<comments>http://emacsblog.org/2008/04/04/package-faves-js2-mode/#comments</comments>
		<pubDate>Fri, 04 Apr 2008 22:23:15 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[faves]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2008/04/04/package-faves-js2-mode/</guid>
		<description><![CDATA[	I just played with Stevey&#8217;s new js2-mode.   So many previous javascript modes for emacs just didn&#8217;t cut it, but now finally, I&#8217;m proud to see a javascript mode that works.  Steve did a great job with this package.  Kudos.

	Installation

	Grab the latest js2, put it in your load-path, and configure.  Full [...]]]></description>
			<content:encoded><![CDATA[	<p>I just played with <a href="http://steve-yegge.blogspot.com/2008/03/js2-mode-new-javascript-mode-for-emacs.html">Stevey&#8217;s new js2-mode</a>.   So many previous javascript modes for emacs just didn&#8217;t cut it, but now finally, I&#8217;m proud to see a javascript mode that works.  Steve did a great job with this package.  Kudos.</p>

	<h3>Installation</h3>

	<p>Grab the <a href="http://code.google.com/p/js2-mode/downloads/list">latest js2</a>, put it in your load-path, and configure.  <a href="http://code.google.com/p/js2-mode/wiki/InstallationInstructions">Full instructions</a>.  Here&#8217;s my config:</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>autoload 'js2-mode <span style="color: #ff0000;">&quot;js2&quot;</span> <span style="color: #b1b100;">nil</span> t<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>add-to-<span style="color: #b1b100;">list</span> 'auto-mode-alist '<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\\</span>.js$&quot;</span> <span style="color: #66cc66;">.</span> js2-mode<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> js2-basic-offset <span style="color: #cc66cc;">2</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> js2-use-font-lock-faces t<span style="color: #66cc66;">&#41;</span></pre></div></div>


	<p>(Steve, I&#8217;m one of those who like my font-lock settings, so thanks for keeping the font-lock-faces option around for us crazies.)</p>

	<h3>Features</h3>

	<ul>
		<li><strong>Indenting that works!</strong>  Finally.</li>
		<li><strong>Syntax highlighting that works.</strong>  &#8216;Bout time.</li>
		<li><strong>Inline warnings and syntax errors.</strong> Useful. <img src="http://www.emacsblog.org/wp-content/uploads/2008/04/js2-inline-warnings.png" alt="" /></li>
		<li><strong>Decent code folding.</strong>  I like. <img src="http://www.emacsblog.org/wp-content/uploads/2008/04/js2-folding.png" alt="" /></li>
	</ul>
	<ul>
		<li><strong>Other tidbits.</strong>  You&#8217;ll have to read <a href="http://steve-yegge.blogspot.com/2008/03/js2-mode-new-javascript-mode-for-emacs.html">Steve&#8217;s long-winded post</a> for more.</li>
	</ul>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2008/04/04/package-faves-js2-mode/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Yet Another Snippet Package</title>
		<link>http://emacsblog.org/2008/03/13/yet-another-snippet-package/</link>
		<comments>http://emacsblog.org/2008/03/13/yet-another-snippet-package/#comments</comments>
		<pubDate>Thu, 13 Mar 2008 15:47:09 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[snippet]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2008/03/13/yet-another-snippet-package/</guid>
		<description><![CDATA[	There are a number of snippet packages that are available for emacs: snippet.el, smart-snippet, and the older skeleton and tempo packages that are a part of emacs. The snippet package was in the words of the developer:

	
		A quick stab at providing a simple template facility like the one present in TextMate (an OSX editor). 
	

	The [...]]]></description>
			<content:encoded><![CDATA[	<p>There are a number of snippet packages that are available for emacs: <a href="http://www.kazmier.com/computer/snippet.el">snippet.el</a>, <a href="http://code.google.com/p/smart-snippet/">smart-snippet</a>, and the older <a href="http://www.emacswiki.org/cgi-bin/wiki/SkeletonMode">skeleton</a> and <a href="http://www.emacswiki.org/cgi-bin/wiki/TempoMode">tempo</a> packages that are a part of emacs. The snippet package was in the words of the developer:</p>

	<blockquote>
		<p>A quick stab at providing a simple template facility like the one present in TextMate (an <span class="caps">OSX</span> editor). </p>
	</blockquote>

	<p>The creator of smart-snippet, an extension to snippet.el,  has now created the aptly titled <a href="http://code.google.com/p/yasnippet/">yasnippet &#8211; Yet Another Snippet extension for emacs</a>. It looks promising based on the screencast&#8230; I have not had a chance to play with it yet locally. The mirrored fields support looks cool though. </p>

	<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/vOj7btx3ATg&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/vOj7btx3ATg&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>

]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2008/03/13/yet-another-snippet-package/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Fixing Pastie for Emacs</title>
		<link>http://emacsblog.org/2008/01/07/fixing-pastie-for-emacs/</link>
		<comments>http://emacsblog.org/2008/01/07/fixing-pastie-for-emacs/#comments</comments>
		<pubDate>Mon, 07 Jan 2008 03:56:01 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2008/01/07/fixing-pastie-for-emacs/</guid>
		<description><![CDATA[	 Recently, I have been doing more remote pair programming at my day job, and I was copying some code snippets into pastie. Pastie is a site that allows you to share code snippets with nice syntax highlighting.  One thing led to another, and next I was searching for emacs integration with pastie. I [...]]]></description>
			<content:encoded><![CDATA[	<p><img src="/wp-content/uploads/2008/01/pastie.png" class="right off" align="right" title="Pastie Icon" alt="Pastie Icon" width="96" height="96" /> Recently, I have been doing more remote pair programming at my day job, and I was copying some code snippets into <a href="http://pastie.caboo.se/">pastie</a>. Pastie is a site that allows you to share code snippets with nice syntax highlighting.  One thing led to another, and next I was searching for emacs integration with pastie. I found it <a href="http://chneukirchen.org/blog/archive/2006/07/pastie-integration-for-emacs-pastie-el.html">here</a>, but unfortunately the lisp package no longer seemed to work. It turned out that the package just needed to support a minor change to the pastie <span class="caps">API</span>. I have fixed it, and added support for sniffing more of the emacs modes associated with <a href="http://www.rubyonrails.org/">Ruby on Rails</a> and java. Here is the updated version of <a href="http://pastie.caboo.se/paste/133456">pastie.el</a>. (<em>Note</em>: After publishing I added it to the emacs wiki based on a user&#8217;s suggestion: <a href="http://www.emacswiki.org/cgi-bin/wiki/pastie.el">pastie.el</a>). The package has the following functions:</p>

	<p><code>pastie-buffer</code> &#8211; Posts the current buffer as a new paste at pastie.caboo.se.<br />
<code>pastie-region</code> &#8211; Posts the selected region as a new paste at pastie.caboo.se.<br />
<code>pastie-get</code> &#8211; Fetches the contents of a paste from pastie.caboo.se into a new buffer.</p>

]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2008/01/07/fixing-pastie-for-emacs/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Where In The World Are Emacs Users?</title>
		<link>http://emacsblog.org/2007/10/26/where-in-the-world-are-emacs-users/</link>
		<comments>http://emacsblog.org/2007/10/26/where-in-the-world-are-emacs-users/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 13:53:36 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/10/26/where-in-the-world-are-emacs-users/</guid>
		<description><![CDATA[	Every few months you see a thread on the emacs news groups polling to see the age or occupation of the users. Recently someone sent out a link on gnu.emacs.help to a  site called BuddyMapping with a map for Emacs Users. I have always loved maps, and I am a sucker for these map [...]]]></description>
			<content:encoded><![CDATA[	<p>Every few months you see a thread on the emacs news groups polling to see the age or occupation of the users. Recently someone sent out a link on <a href="http://groups.google.com/group/gnu.emacs.help/browse_thread/thread/56d4f15b0b4b0c16?hl=en">gnu.emacs.help</a> to a  site called <a href="http://www.buddymapping.com">BuddyMapping</a> with a map for <a href="http://www.buddymapping.com/maps/emacs">Emacs Users</a>. I have always loved maps, and I am a sucker for these map mash-ups, especially when there is no registration required in order to add yourself.</p>

<table style="margin: 0 auto 1.5em;" cellpadding="0" cellspacing="3" bgcolor="#232323"><tr><td bgcolor="#6699CC"><a href="http://www.buddymapping.com/maps/emacs" target="_blank"><img src="http://www.buddymapping.com/mapimageworld/emacs.gif" border="0"></a>
						</td></tr><tr>
						<td align="right" background="http://www.buddymapping.com/images/webBackground.gif"><div align="right"><a href="http://www.buddymapping.com/maps/emacs" target="_blank"><img align="right" src="http://www.buddymapping.com/images/addyourself.gif" border="0"></a></div></td>
						</td></tr></table>

	<p>The thread also points out that the <a href="http://www.emacswiki.org/cgi-bin/wiki/EmacsUserLocations">Emacs Wiki</a> contains a list of <a href="http://www.emacswiki.org/cgi-bin/wiki/EmacsUserLocations">Emacs User Locations</a> (in text form of course). There is also a link to an <a href="http://www.flickr.com/groups/emacs/">Emacs Flickr tag</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/10/26/where-in-the-world-are-emacs-users/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Declaring .emacs Bankruptcy</title>
		<link>http://emacsblog.org/2007/10/07/declaring-emacs-bankruptcy/</link>
		<comments>http://emacsblog.org/2007/10/07/declaring-emacs-bankruptcy/#comments</comments>
		<pubDate>Sun, 07 Oct 2007 14:24:05 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[misc]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/10/07/declaring-emacs-bankruptcy/</guid>
		<description><![CDATA[	I give up.  During the past 6 years of my emacs career, my .emacs initialization file grew to embarrassing levels.  As of this morning, it is well over 1000 lines and is a looming burden of disorganization.  Startup time is poor, customizations exist for modes that I don&#8217;t use anymore (ahem, csharp-mode), [...]]]></description>
			<content:encoded><![CDATA[	<p>I give up.  During the past 6 years of my emacs career, my .emacs initialization file grew to embarrassing levels.  As of this morning, it is well over 1000 lines and is a looming burden of disorganization.  Startup time is poor, customizations exist for modes that I don&#8217;t use anymore (ahem, csharp-mode), and it has been this way for too long.</p>

	<p>Today, I am declaring .emacs bankruptcy.</p>

	<p>Akin to <a href="http://www.urbandictionary.com/define.php?term=Email+Bankruptcy&#38;defid=2397501">email bankruptcy</a>, I&#8217;m blowing everything away and starting over.   Only as I realize a need for something is it going back in.  I&#8217;m also starting with a better organization scheme.  My intent is to have a .emacs file with nothing but load-path additions and requires.  </p>

	<p><span id="more-105"></span></p>

	<h3>Examples</h3>

	<p>Here is an <strong>early view</strong> of my <code>.emacs</code> as I start this process:</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">;;;; Ryan McGeary's emacs initialization (2001-2007)</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; Enable a backtrace when problems occur</span>
<span style="color: #808080; font-style: italic;">;; (setq debug-on-error t)</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; Load paths</span>
<span style="color: #66cc66;">&#40;</span>add-to-<span style="color: #b1b100;">list</span> 'load-path <span style="color: #66cc66;">&#40;</span>expand-file-<span style="color: #b1b100;">name</span> <span style="color: #ff0000;">&quot;~/.emacs.d&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>add-to-<span style="color: #b1b100;">list</span> 'load-path <span style="color: #66cc66;">&#40;</span>expand-file-<span style="color: #b1b100;">name</span> <span style="color: #ff0000;">&quot;~/.emacs.d/lisp&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>add-to-<span style="color: #b1b100;">list</span> 'load-path <span style="color: #66cc66;">&#40;</span>expand-file-<span style="color: #b1b100;">name</span> <span style="color: #ff0000;">&quot;~/.emacs.d/lisp-personal&quot;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; Personal customizations</span>
<span style="color: #66cc66;">&#40;</span>require 'my-generic<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>require 'my-iswitchb<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>require 'my-carbon-emacs<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span>require 'my-colors<span style="color: #66cc66;">&#41;</span>
<span style="color: #808080; font-style: italic;">;; Many more to come</span></pre></div></div>


	<p>And here is an example of a personal customization (<code>my-generic</code>):</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">;;; Generic emacs settings I cannot live without</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; &quot;y or n&quot; instead of &quot;yes or no&quot;</span>
<span style="color: #66cc66;">&#40;</span>fset 'yes-or-no-p 'y-or-n-p<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; Highlight regions and add special behaviors to regions.</span>
<span style="color: #808080; font-style: italic;">;; &quot;C-h d transient&quot; for more info</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> transient-mark-mode t<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; Display line and column numbers</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> line-number-mode    t<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> column-number-mode  t<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; Emacs gurus don't need no stinking scroll bars</span>
<span style="color: #66cc66;">&#40;</span>toggle-scroll-bar -<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; Line-wrapping</span>
<span style="color: #66cc66;">&#40;</span>set-default 'fill-column <span style="color: #cc66cc;">80</span><span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #808080; font-style: italic;">;; Prevent the annoying beep on errors</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> visible-bell t<span style="color: #66cc66;">&#41;</span>
&nbsp;
<span style="color: #66cc66;">&#40;</span>provide 'my-generic<span style="color: #66cc66;">&#41;</span></pre></div></div>


	<p>This particular component is very likely to grow, but with the added organization elsewhere, I am more likely to refactor early and often.</p>

	<h3>Key points</h3>

	<ul>
		<li>Third party packages go in <code>~/.emacs.d/lisp</code>.</li>
		<li>My own packages go in <code>~/.emacs.d/lisp-personal</code>.</li>
		<li>Personal customizations are broken into manageable components, and each is prefixed with &#8220;my&#8221; to avoid naming conflicts.  These are placed in my <code>~/.emacs.d</code> directory.</li>
		<li>Customization components can be compiled for speed, or commented out when not needed.</li>
	</ul>
	<ul>
		<li>My stress levels are reduced knowing everything has it&#8217;s own cubbyhole.</li>
	</ul>

	<p>I anticipate this being a good bit of work, but I think it&#8217;s going to be well worth it.  If nothing else, it makes me happier.</p>

	<h3>Your feedback, please</h3>

	<p>Who else wants to declare bankruptcy with me?  What other techniques, tools, or conventions am I missing?</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/10/07/declaring-emacs-bankruptcy/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Spaces instead of Tabs</title>
		<link>http://emacsblog.org/2007/09/30/quick-tip-spaces-instead-of-tabs/</link>
		<comments>http://emacsblog.org/2007/09/30/quick-tip-spaces-instead-of-tabs/#comments</comments>
		<pubDate>Sun, 30 Sep 2007 14:04:33 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[newbie]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/09/30/quick-tip-spaces-instead-of-tabs/</guid>
		<description><![CDATA[	Tab characters used as indentation of source code is a pet peeve of mine.  Add this to your emacs initialization to make sure all indentation uses spaces instead.


;; I hate tabs!
&#40;setq-default indent-tabs-mode nil&#41;


	Now, if you also use tab completion everywhere, someday, you&#8217;ll want to actually insert a real &#60;tab&#62; character (ASCII 9), but won&#8217;t [...]]]></description>
			<content:encoded><![CDATA[	<p>Tab characters used as indentation of source code is a pet peeve of mine.  Add this to your emacs initialization to make sure all indentation uses spaces instead.</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">;; I hate tabs!</span>
<span style="color: #66cc66;">&#40;</span>setq-default indent-tabs-mode <span style="color: #b1b100;">nil</span><span style="color: #66cc66;">&#41;</span></pre></div></div>


	<p>Now, if you also use <a href="http://www.emacsblog.org/2007/03/12/tab-completion-everywhere/">tab completion everywhere</a>, someday, you&#8217;ll want to actually insert a real <code>&#60;tab&#62;</code> character (<span class="caps">ASCII</span> 9), but won&#8217;t be able too.  <code>Quoted-insert</code> to the rescue.  Type <code>C-q C-i</code> to insert a horizontal tab character.</p>

	<p><em>Note: Even though, I&#8217;ve aired my religious preference on this topic, my intention is not to start a war but to teach those who like spaces how to configure emacs (Yes, I&#8217;ve read the <a href="http://www.jwz.org/doc/tabs-vs-spaces.html">heated</a> <a href="http://www.derkarl.org/why_to_tabs.html">material</a> on <a href="http://blogs.msdn.com/cyrusn/archive/2004/09/14/229474.aspx">the</a> <a href="http://xahlee.org/UnixResource_dir/writ/tabs_vs_spaces.html">subject</a>).</em></p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/09/30/quick-tip-spaces-instead-of-tabs/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Newbie Tip: Visual Emacs Keybinding Cheatsheet</title>
		<link>http://emacsblog.org/2007/08/27/newbie-tip-visual-emacs-keybinding-cheatsheet/</link>
		<comments>http://emacsblog.org/2007/08/27/newbie-tip-visual-emacs-keybinding-cheatsheet/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 17:41:50 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[newbie]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/08/27/newbie-tip-visual-emacs-keybinding-cheatsheet/</guid>
		<description><![CDATA[	For a newcomer to emacs, learning the default set of keybindings can be daunting.  There&#8217;s no substitute for C-h b (describe-bindings) and C-h k (describe-key), but sometimes it&#8217;s just easier to learn visually.  

	]]></description>
			<content:encoded><![CDATA[	<p>For a newcomer to emacs, learning the default set of keybindings can be daunting.  There&#8217;s no substitute for <code>C-h b</code> (<code>describe-bindings</code>) and <code>C-h k</code> (<code>describe-key</code>), but sometimes it&#8217;s just easier to <a href="http://xahlee.org/emacs/emacs_kb_shortcuts.html">learn visually</a>.  </p>

	<p><a href="http://xahlee.org/emacs/emacs_kb_shortcuts.html"><img src="http://www.emacsblog.org/wp-content/uploads/2007/08/emacs-keyboard-cheatsheet.png" class="on" title="Visual Keyboard Keybinding Cheatsheet" alt="Visual Keyboard Keybinding Cheatsheet" /></a></p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/08/27/newbie-tip-visual-emacs-keybinding-cheatsheet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quick Tip: show-paren-mode</title>
		<link>http://emacsblog.org/2007/08/07/quick-tip-show-paren-mode/</link>
		<comments>http://emacsblog.org/2007/08/07/quick-tip-show-paren-mode/#comments</comments>
		<pubDate>Tue, 07 Aug 2007 06:03:25 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[newbie]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/08/07/quick-tip-show-paren-mode/</guid>
		<description><![CDATA[	When show-paren-mode is enabled a matching parenthesis is highlighted based on the location of point (i.e., when your cursor is on a parenthesis).  
You can tweak the behaviour of this minor mode by adjusting show-paren-style and the show-paren-delay. There are three styles to choose from:
	
		parenthesis &#8211; shows the matching paren
		expression &#8211; shows the entire [...]]]></description>
			<content:encoded><![CDATA[	<p>When <code>show-paren-mode</code> is enabled a matching parenthesis is highlighted based on the location of point (i.e., when your cursor is on a parenthesis). <img src="http://www.emacsblog.org/wp-content/uploads/2007/08/show-parent-mode.png" class="right" align="right" title="show-paren-mode Example" alt="show-paren-mode Example" /> <br />
You can tweak the behaviour of this minor mode by adjusting <code>show-paren-style</code> and the <code>show-paren-delay</code>. There are three styles to choose from:
	<ul>
		<li>parenthesis &#8211; shows the matching paren</li>
		<li>expression &#8211; shows the entire expression enclosed by the paren, and</li>
	</ul>
	<ul>
		<li>mixed &#8211; shows the matching paren if it is visible, and the expression otherwise.</li>
	</ul></p>

	<p>To obtain this behaviour, add the following to your <code>.emacs</code> file:</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>show-paren-mode t<span style="color: #66cc66;">&#41;</span></pre></div></div>


]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/08/07/quick-tip-show-paren-mode/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Package Faves: rcodetools</title>
		<link>http://emacsblog.org/2007/07/21/package-faves-rcodetools/</link>
		<comments>http://emacsblog.org/2007/07/21/package-faves-rcodetools/#comments</comments>
		<pubDate>Sat, 21 Jul 2007 02:24:21 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[faves]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/07/21/package-faves-rcodetools/</guid>
		<description><![CDATA[	 Rob recently pointed me to rcodetools and its included emacs integration.  Specifically, I&#8217;ve only had the chance to play with xmpfilter, but so far, I&#8217;m very impressed.  Let&#8217;s use it to annotate lines in a ruby buffer with intermediate results.

	

	Installation

	First, let&#8217;s install rcodetools.  I am going to assume that you already [...]]]></description>
			<content:encoded><![CDATA[	<p><img src="http://www.emacsblog.org/wp-content/uploads/2007/07/rcodetools-xmpfilter.png" class="right" align="right" title="rcodetools-xmpfilter" alt="rcodetools-xmpfilter" /> Rob recently pointed me to <a href="http://rubyforge.org/projects/rcodetools">rcodetools</a> and its included emacs integration.  Specifically, I&#8217;ve only had the chance to play with xmpfilter, but so far, I&#8217;m very impressed.  Let&#8217;s use it to annotate lines in a ruby buffer with intermediate results.</p>

	<p><span id="more-96"></span></p>

	<h3>Installation</h3>

	<p>First, let&#8217;s install rcodetools.  I am going to assume that you already have <a href="http://www.ruby-lang.org/en/">ruby</a> and <a href="http://rubyforge.org/projects/rubygems/">rubygems</a> installed.</p>


<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">$ gem install rcodetools</pre></div></div>


	<p>(<em>Prefix your install with <code>sudo</code> if necessary on your system.</em>)</p>

	<p>Rcodetools is now installed under <code>[GEM_INSTALL_DIR]/gems/rcodetools-0.7.0.0</code> and there is good emacs setup documentation in <code>README.emacs</code>, but for what I&#8217;m about to demonstrate here, you only need to install <code>rcodetools.el</code>.   Copy <code>rcodetools.el</code> to somewhere in your emacs load-path and require it.</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span>require 'rcodetools<span style="color: #66cc66;">&#41;</span></pre></div></div>


	<h3>Capturing <span class="caps">STDOUT</span></h3>

	<p>Suppose you have a ruby script in a buffer that looks like this:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">3.<span style="color:#9900CC;">times</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Hello World!&quot;</span> <span style="color:#006600; font-weight:bold;">&#125;</span></pre></div></div>


	<p>Run <code>M-x xmp</code> and now your buffer will look like this:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">3.<span style="color:#9900CC;">times</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">&quot;Hello World!&quot;</span> <span style="color:#006600; font-weight:bold;">&#125;</span>
<span style="color:#008000; font-style:italic;"># &gt;&gt; Hello World!</span>
<span style="color:#008000; font-style:italic;"># &gt;&gt; Hello World!</span>
<span style="color:#008000; font-style:italic;"># &gt;&gt; Hello World!</span></pre></div></div>


	<h3>Code Annotation</h3>

	<p>You can sprinkle annotated results in your source code by adding <code># =&#62;</code> markers at the end of lines to show their values.  This comment marker can be added to the end of a line automatically by running <code>comment-dwim</code> twice (<code>M-; M-;</code>).</p>

	<p>If you had a script that looked like this:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;"><span style="color:#9966CC; font-weight:bold;">def</span> fib<span style="color:#006600; font-weight:bold;">&#40;</span>n<span style="color:#006600; font-weight:bold;">&#41;</span>
  n <span style="color:#006600; font-weight:bold;">&lt;</span> <span style="color:#006666;">2</span> ? n : fib<span style="color:#006600; font-weight:bold;">&#40;</span>n <span style="color:#006600; font-weight:bold;">-</span> <span style="color:#006666;">1</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">+</span> fib<span style="color:#006600; font-weight:bold;">&#40;</span>n <span style="color:#006600; font-weight:bold;">-</span> <span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>
<span style="color:#9966CC; font-weight:bold;">end</span>
&nbsp;
fib<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>           <span style="color:#008000; font-style:italic;"># =&gt;</span>
fib<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">11</span><span style="color:#006600; font-weight:bold;">&#41;</span>          <span style="color:#008000; font-style:italic;"># =&gt;</span></pre></div></div>


	<p>After running <code>M-x xmp</code>, the last two lines of your buffer will look like this:</p>


<div class="wp_syntax"><div class="code"><pre class="ruby" style="font-family:monospace;">...
<span style="color:#9900CC;">fib</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">2</span><span style="color:#006600; font-weight:bold;">&#41;</span>           <span style="color:#008000; font-style:italic;"># =&gt; 1</span>
fib<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006666;">11</span><span style="color:#006600; font-weight:bold;">&#41;</span>          <span style="color:#008000; font-style:italic;"># =&gt; 89</span></pre></div></div>


	<h3>Summary</h3>

	<p>I find this package pretty cool and I wish I knew about it sooner.  This is going to change the way I write and test my one-off ruby scripts.</p>

	<p>Xmpfilter can also be used to generate Test::Unit assertions and RSpec expectations automatically, but I leave that as an exercise for the reader.  Find <a href="http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/219970">more information</a> on <a href="http://eigenclass.org/hiki.rb?xmpfilter">xmpfilter</a>.  </p>

	<p>(Rcodetools also ships with Vim support, and <a href="http://macromates.com/">TextMate</a> users get bundled xmpfilter integration for free.)</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/07/21/package-faves-rcodetools/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Package Faves: emacs-rails</title>
		<link>http://emacsblog.org/2007/06/10/package-faves-emacs-rails/</link>
		<comments>http://emacsblog.org/2007/06/10/package-faves-emacs-rails/#comments</comments>
		<pubDate>Sun, 10 Jun 2007 05:41:54 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[faves]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/06/10/package-faves-emacs-rails/</guid>
		<description><![CDATA[	The emacs-rails package turns emacs into a Ruby on Rails IDE. To put it simply, I love the package. It gets me excited to see this much active development for an emacs mode.  The emacs wiki has a laundry list of the functionality that the mode provides. I don&#8217;t think a single blog post [...]]]></description>
			<content:encoded><![CDATA[	<p>The <a href="http://rubyforge.org/projects/emacs-rails/">emacs-rails</a> package turns emacs into a <a href="http://www.rubyonrails.org/">Ruby on Rails</a> <span class="caps">IDE</span>. To put it simply, I love the package. It gets me excited to see this much active development for an emacs mode.  The <a href="http://www.emacswiki.org/">emacs wiki</a> has a <a href="http://www.emacswiki.org/cgi-bin/wiki/RubyOnRails#toc1">laundry list</a> of the functionality that the mode provides. I don&#8217;t think a single blog post can do the functionality justice, so I just want to hightlight a few of the features below (and expand on other features in later posts).<span id="more-91"></span></p>

	<h3>Context Sensitive Switching Between Rails Buffers</h3>

	<p>The rails framework espouses convention over configuration, therefore you can typically make assumptions that a method named edit in your controller is going to display a view that can be found under app/views/&lt;controller name&gt;/edit.rhtml. Additionally, due to the frameworks conventions there are a number of other files that are generally associated with a specific controller or model. <code>M-Shift-up</code> will take you directly to the primary file that is associated with the code location at point. <code>M-Shift-down</code> provides a list of other potential file options from which you can choose. For example, the screenshot below shows the results of pressing <code>M-Shift-down</code> when point is in the <code>show</code> method of the <code>CompanyController</code>.</p>

	<p><img src="http://www.emacsblog.org/wp-content/uploads/2007/06/switch-file-options.png" class="center on" title="Context Sensitive Switching Between Rails Buffers Example" alt="Context Sensitive Switching Between Rails Buffers Example" /></p>

	<h3>Snippet Functionality</h3>

	<p>This functionality is actually derived from the<br />
<a href="http://www.kazmier.com/computer/snippet.el">snippet.el</a> package that provides another take on templating in emacs that closely mimics the templating functionality that is provided in <a href="http://www.macromates.com/">TextMate</a>. <img src="http://www.emacsblog.org/wp-content/uploads/2007/06/snippet-example.png" class="right" align="right" title="Snippet Example" alt="Snippet Example" /> In the case of emacs-rails mode, these templates are tied to abbreviations. So if I type <code>tcl</code> and then tab while in a migration file, then a new line will be added to the table creation and my point will be placed in the area of the title of the column. When I am done updating the column name I can tab and I will be able to enter the type of column. I tab once again an I am out of the snippet editing mode. I think the rails-mode snippet integration is nicely done.</p>

	<h3>Invocation of Rake with Task Name Completion</h3>

	<p><code>C-c C-c r</code> will prompt you in the minibuffer for the rake task that you want to run. Output of the rake task is then shown in a separate <code>*ROutput*</code> buffer. <code>C-c /</code> will toggle the showing or hiding of the output buffer. Rake tasks specific to testing are actually invoked via a separate command, <code>C-c C-c t</code>.</p>

	<p><img src="http://www.emacsblog.org/wp-content/uploads/2007/06/rake-completion.png" class="center on" title="Invocation of Rake and Task Name Completion" alt="Invocation of Rake and Task Name Completion" /></p>

	<p>For users that like to use the mouse and menus, all of the commands listed above can be accessed from the menu. I would also recommend taking a look at the two screencasts (<a href="http://platypope.org/yada/emacs-demo/">here</a> and <a href="http://emacsonrails.drozdov.net/">here</a>) that show emacs-rails mode in use, although there have been a number of changes to the package since the screencasts were made.</p>

]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/06/10/package-faves-emacs-rails/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Quick Tip: delete-blank-lines</title>
		<link>http://emacsblog.org/2007/06/07/quick-tip-delete-blank-lines/</link>
		<comments>http://emacsblog.org/2007/06/07/quick-tip-delete-blank-lines/#comments</comments>
		<pubDate>Thu, 07 Jun 2007 10:00:43 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/06/07/quick-tip-delete-blank-lines/</guid>
		<description><![CDATA[	The delete-blank-lines function is a simple yet handy tool to have in your bag of tricks.  It is bound to C-x C-o.  There isn&#8217;t a whole lot of magic surrounding it&#8217;s usage, so I&#8217;ll just quote the built-in help directly:

	
		On blank line, delete all surrounding blank lines, leaving just one.
On isolated blank line, [...]]]></description>
			<content:encoded><![CDATA[	<p>The <code>delete-blank-lines</code> function is a simple yet handy tool to have in your bag of tricks.  It is bound to <code>C-x C-o</code>.  There isn&#8217;t a whole lot of magic surrounding it&#8217;s usage, so I&#8217;ll just quote the built-in help directly:</p>

	<blockquote>
		<p>On blank line, delete all surrounding blank lines, leaving just one.<br />
On isolated blank line, delete that one.<br />
On nonblank line, delete any immediately following blank lines.</p>
	</blockquote>

<div style="float:left; width: 50%">
<strong><em>Before:</em></strong> <br />

<img src="http://www.emacsblog.org/wp-content/uploads/2007/06/delete-blank-lines-1.png" title="delete-blank-lines before" alt="delete-blank-lines before" />
</div>

<div>
<strong><em>After:</em></strong> <br />

<img src="http://www.emacsblog.org/wp-content/uploads/2007/06/delete-blank-lines-2.png" title="delete-blank-lines after" alt="delete-blank-lines after" />
</div>

<div style="clear: left;">&nbsp;</div>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/06/07/quick-tip-delete-blank-lines/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GNU Emacs 22 Released</title>
		<link>http://emacsblog.org/2007/06/03/gnu-emacs-22-released/</link>
		<comments>http://emacsblog.org/2007/06/03/gnu-emacs-22-released/#comments</comments>
		<pubDate>Sun, 03 Jun 2007 06:25:09 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/06/03/gnu-emacs-22-released/</guid>
		<description><![CDATA[	Emacs 22 was officially released yesterday. 

	
		Emacs version 22 includes GTK+ toolkit support, enhanced mouse support, a new keyboard macro system, improved Unicode support, and drag-and-drop operation on X, plus many new modes and packages including a graphical user interface to GDB, Python mode, the mathematical tool Calc, the remote file editing system Tramp, and [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://www.gnu.org/software/emacs/">Emacs 22</a> was officially released yesterday. </p>

	<blockquote>
		<p>Emacs version 22 includes <span class="caps">GTK</span>+ toolkit support, enhanced mouse support, a new keyboard macro system, improved Unicode support, and drag-and-drop operation on X, plus many new modes and packages including a graphical user interface to <span class="caps">GDB</span>, Python mode, the mathematical tool Calc, the remote file editing system Tramp, and more.</p>
	</blockquote>

	<p>You can get it <a href="http://ftp.gnu.org/pub/gnu/emacs/">here</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/06/03/gnu-emacs-22-released/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Managing ChangeLogs</title>
		<link>http://emacsblog.org/2007/05/29/quick-tip-managing-changelogs/</link>
		<comments>http://emacsblog.org/2007/05/29/quick-tip-managing-changelogs/#comments</comments>
		<pubDate>Tue, 29 May 2007 02:03:58 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/05/29/quick-tip-managing-changelogs/</guid>
		<description><![CDATA[	Ever wonder how people keep such organized ChangeLog files in the root of their source trees?  I&#8217;m sure some are just anal enough to manually manage them.  I know I&#8217;ve done so on smaller projects, but I find it too much of a hassle for anything larger.  

	So, what do people use [...]]]></description>
			<content:encoded><![CDATA[	<p>Ever wonder how people keep such <a href="http://svn.ruby-lang.org/repos/ruby/trunk/ChangeLog">organized</a> <a href="http://ftp.gnu.org/gnu/mit-scheme/stable.pkg/7.7.1/changelog.txt">ChangeLog</a> files in the root of their source trees?  I&#8217;m sure some are just anal enough to manually manage them.  I know I&#8217;ve done so on smaller projects, but I find it too much of a hassle for anything larger.  </p>

	<p>So, what do people use on larger projects?  Believe it or not, there are actually <a href="http://www.gnu.org/prep/standards/standards.html#Change-Logs"><span class="caps">GNU</span> conventions</a> for styling these files, and emacs includes an <code>add-log</code> package to help adhere to these conventions.</p>

	<p>The command <code>add-change-log-entry-other-window</code> (<code>C-x 4 a</code>) automatically adds a new entry to the closest change log file found up the parent directory hierarchy.  If none exists, a new change log file is created in your current directory, and the formatting is organized for you:</p>

	<p><img src="http://www.emacsblog.org/wp-content/uploads/2007/05/changelog.png" class="center on" title="ChangeLog Example" alt="ChangeLog Example" /></p>

	<p>The command <code>vc-update-change-log</code> (<code>C-x v a</code>) finds the change log file and add entries from the recent version control logs.  Apparently, this only works with <span class="caps">RCS</span> or <span class="caps">CVS</span>.  For subversion, you can try <code>vc-comment-to-change-log</code> (Emacs 21) or <code>log-edit-comment-to-change-log</code> (Emacs 22), but this might require some customization to suit you.</p>

	<p>To change the email address listed in your change log entries, edit the <code>user-mail-address</code> variable.  To change the default change log file name, edit the <code>change-log-default-name</code> variable.</p>


<div class="wp_syntax"><div class="code"><pre class="lisp" style="font-family:monospace;"><span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> user-mail-address <span style="color: #ff0000;">&quot;ryan@example.com&quot;</span><span style="color: #66cc66;">&#41;</span>  <span style="color: #808080; font-style: italic;">;; default: user@host</span>
<span style="color: #66cc66;">&#40;</span><span style="color: #b1b100;">setq</span> change-log-default-<span style="color: #b1b100;">name</span> <span style="color: #ff0000;">&quot;CHANGELOG&quot;</span><span style="color: #66cc66;">&#41;</span>   <span style="color: #808080; font-style: italic;">;; default: ChangeLog</span></pre></div></div>


	<p>Some might say that keeping a ChangeLog file is defeated by public subversion repositories.  I tend to agree for most circumstances, but there are some cases where a local, easily readable ChangeLog file is a good idea.  Besides, it&#8217;s the cool thing to do.</p>

	<p>The emacs manual has <a href="http://www.gnu.org/software/emacs/manual/emacs.html#Change-Log">more</a> <a href="http://www.gnu.org/software/emacs/manual/emacs.html#Change-Logs-and-VC">information</a> on change logs.</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/05/29/quick-tip-managing-changelogs/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quick Tip: compilation-skip-threshold</title>
		<link>http://emacsblog.org/2007/05/22/quick-tip-compilation-skip-threshold/</link>
		<comments>http://emacsblog.org/2007/05/22/quick-tip-compilation-skip-threshold/#comments</comments>
		<pubDate>Tue, 22 May 2007 13:28:58 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/05/22/quick-tip-compilation-skip-threshold/</guid>
		<description><![CDATA[	compilation-mode has a nice feature so that you can skip over your info and warning level messages and jump right to those nasty errors. Set the variable compilation-skip-threshold to 2 so that M-n and M-p will jump to the next or previous error respectively. The other possible settings for this variable are: 

	2 &#8212; skip [...]]]></description>
			<content:encoded><![CDATA[	<p><code>compilation-mode</code> has a nice feature so that you can skip over your info and warning level messages and jump right to those nasty errors. Set the variable <code>compilation-skip-threshold</code> to <code>2</code> so that <code>M-n</code> and <code>M-p</code> will jump to the next or previous error respectively. The other possible settings for this variable are: </p>

	<p><strong>2</strong> &#8212; skip anything less than error<br />
<strong>1</strong> &#8212; skip anything less than warning, or <br />
<strong>0</strong> &#8212; don&#8217;t skip any messages.</p>

	<p><em>Note that all messages not positively identified as warning or info are considered errors.</em></p>

]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/05/22/quick-tip-compilation-skip-threshold/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Package Faves: psvn</title>
		<link>http://emacsblog.org/2007/05/17/package-faves-psvn/</link>
		<comments>http://emacsblog.org/2007/05/17/package-faves-psvn/#comments</comments>
		<pubDate>Thu, 17 May 2007 14:11:28 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[faves]]></category>
		<category><![CDATA[newbie]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/05/17/package-faves-psvn/</guid>
		<description><![CDATA[	If you interact with a Subversion version controlled repository and you use emacs, then you are probably already using this package. However, I use this package every day, and if someone was just starting to use emacs, this would be on my short list of packages that must be installed.

	psvn mode is similar to pcl-cvs [...]]]></description>
			<content:encoded><![CDATA[	<p>If you interact with a <a href="http://subversion.tigris.org/">Subversion</a> version controlled repository and you use emacs, then you are probably already using this package. However, I use this package every day, and if someone was just starting to use emacs, this would be on my short list of packages that must be installed.</p>

	<p><a href="http://www.xsteve.at/prg/emacs/psvn.el">psvn mode</a> is similar to pcl-cvs for the Concurrent Version System (<span class="caps">CVS</span>). It is a frontend to the subversion client (svn). <code>M-x svn-status</code> will prompt you for the location of your working directory (or subdirectory). Once it is entered a new buffer, *svn-status* , will open up with a status of all files within that directory and any subdirectories. It essentially runs <code>svn status -v</code>. This view of your working copy of the repository shows the status of the files. You have the option of hiding unchanged files with the command <code>_</code>. You can mark multiple files to be committed, and then commit them with the command <code>c</code> which will in turn bring up an edit window where you can  write the comment associated with your commit. Additionally, there are commands for diffing files, editing properties, and just about every other interaction you have with subversion. Be sure to check the following options:</p>

	<ul>
		<li><code>svn-status-verbose</code> &#8211; Setting this to nil will make <code>M-x svn-status</code> run without the -v option at the command line. </li>
	</ul>
	<ul>
		<li><code>svn-status-hide-unmodified</code> &#8211; Setting this automatically performs the toggle that you can do with <code>_</code> when in the *svn-status* buffer, so that you only see files with a status that has changed in your working directory.</li>
	</ul>

	<p>The package and its commands become an extension of the way you work with your files within emacs. It&#8217;s one of my <a href="http://www.emacsblog.org/tags/faves/">favorites</a> because it doesn&#8217;t get in the way of your normal process.</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/05/17/package-faves-psvn/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Emacs Key Bindings in Windows</title>
		<link>http://emacsblog.org/2007/05/10/emacs-key-bindings-in-windows/</link>
		<comments>http://emacsblog.org/2007/05/10/emacs-key-bindings-in-windows/#comments</comments>
		<pubDate>Thu, 10 May 2007 17:25:33 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[reviews]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/05/10/emacs-key-bindings-in-windows/</guid>
		<description><![CDATA[	 This might be old news to some, but it was new to me.

	
		XKeymacs is a keyboard utility to realize emacs-like usability on all windows applications. With XKeymacs you can use emacs keybindings with any windows application. You can create a keyboard macro and assign any shortcut key too. You also get bash-like command completion [...]]]></description>
			<content:encoded><![CDATA[	<p><a href="http://www.emacsblog.org/wp-content/uploads/2007/05/xkeymacsen.png"><img src="http://www.emacsblog.org/wp-content/uploads/2007/05/xkeymacsen.thumbnail.png" class="right" align="right" title="XKeymacs Screenshot" alt="XKeymacs Screenshot" /></a> This might be old news to some, but it was new to me.</p>

	<blockquote>
		<p><a href="http://www.cam.hi-ho.ne.jp/oishi/indexen.html">XKeymacs</a> is a keyboard utility to realize emacs-like usability on all windows applications. With XKeymacs you can use emacs keybindings with any windows application. You can create a keyboard macro and assign any shortcut key too. You also get bash-like command completion in your <span class="caps">DOS</span> shell.</p>
	</blockquote>

	<p>This may very well void the need for <a href="http://www.emacsblog.org/2007/02/18/emacs-key-bindings-in-ms-word/">Emacs Keybindings in MS Word</a>.</p>

	<p>I only played with it briefly as I&#8217;m no longer Windows-bound, but my initial impressions were good.  Here is a <a href="http://ergo.rydlr.net/?p=45">more comprehensive review of XKeymacs</a>.</p>

	<blockquote>
		<p>Once you install it, the bindings are global &#8211; they work in Windows Explorer, Microsoft Word, Excel, in text-boxes and combo-boxes &#8211; everywhere. As for applications that provide their own readline bindings (such as Gnu Emacs on Windows), you must setup key-binding exceptions&#8230;</p>
	</blockquote>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/05/10/emacs-key-bindings-in-windows/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Little Bit of History</title>
		<link>http://emacsblog.org/2007/05/04/a-little-bit-of-history/</link>
		<comments>http://emacsblog.org/2007/05/04/a-little-bit-of-history/#comments</comments>
		<pubDate>Fri, 04 May 2007 20:43:44 +0000</pubDate>
		<dc:creator>Rob Christie</dc:creator>
				<category><![CDATA[misc]]></category>
		<category><![CDATA[news]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/05/04/a-little-bit-of-history/</guid>
		<description><![CDATA[	I just ran across this article. The Church of Emacs is a good read&#8230; no it&#8217;s not from alt.religion.emacs. The article is more of a history of emacs with some great references as well.]]></description>
			<content:encoded><![CDATA[	<p>I just ran across this article. <a href="http://www.tuxdeluxe.org/node/178">The Church of Emacs</a> is a good read&#8230; no it&#8217;s not from <a href="http://groups.google.com/group/alt.religion.emacs/topics">alt.religion.emacs</a>. The article is more of a history of emacs with some great references as well.</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/05/04/a-little-bit-of-history/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Tip: dos2unix, et al</title>
		<link>http://emacsblog.org/2007/04/30/quick-tip-dos2unix-et-al/</link>
		<comments>http://emacsblog.org/2007/04/30/quick-tip-dos2unix-et-al/#comments</comments>
		<pubDate>Mon, 30 Apr 2007 01:25:27 +0000</pubDate>
		<dc:creator>Ryan McGeary</dc:creator>
				<category><![CDATA[osx]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.emacsblog.org/2007/04/30/quick-tip-dos2unix-et-al/</guid>
		<description><![CDATA[	I despise the fact that we live in a world with different end-of-line file formats.  Windows/DOS uses CRLF, Unix uses LF, and Mac&#8217;s used to use CR1.  Thankfully, Mac&#8217;s started to adopt the Unix format when OS X was released &#8212; if only Windows could do the same.  

	What I despise even [...]]]></description>
			<content:encoded><![CDATA[	<p>I despise the fact that we live in a world with different end-of-line file formats.  Windows/<span class="caps">DOS</span> uses <span class="caps">CRLF</span>, Unix uses LF, and Mac&#8217;s used to use CR<sup class="footnote"><a href="#fn4322782874b05bbf7389cd">1</a></sup>.  Thankfully, Mac&#8217;s started to adopt the Unix format when OS X was released &#8212; if only Windows could do the same.  </p>

	<p>What I despise even more is that some editors seem to be incapable of determining the difference between a <span class="caps">DOS</span> and Unix file.  There&#8217;s nothing worse than finding a once, perfect Unix file corrupted by a small section of lines with CRLFs while the rest of the file keeps only LFs.  Most of the time, the blame can be placed on one&#8217;s editor configuration, but I also blame some editor defaults for not at least maintaining the format that the file was opened in.  To be fair, most power-editors like emacs, vim, TextMate, etc behave &#8220;correctly&#8221; by default and keep the format that the file was opened in, but many others (unnamed) do not.</p>

	<p>There&#8217;s not a whole lot we can do to avoid these problems without hounding our peers, but there are ways to fix these problems after they&#8217;re found.</p>

	<p>Let&#8217;s fix the nastier problem first.  When you find a file corrupted with half LFs and half CRLFs, strip out the ^M (CR) characters with a quick search and replace.  Run <code>M-%</code> (<code>query-replace</code>) and substitute <code>C-q C-m</code> with <em>nothing</em>.  <code>C-q</code> runs <code>quoted-insert</code> and is useful for inserting control characters (e.g. ^M, entered as <code>C-m</code>).  Afterwards hit the exclamation point (<code>!</code>) to tell query-replace to replace all matches with no questions.</p>

	<p>Other times, you will run into <span class="caps">DOS</span> formatted files and will just want to convert them to Unix format for consistency sake.  To do this, open the buffer and run <code>C-x &#60;RET&#62; f</code> then enter <code>unix</code> or <code>undecided-unix</code> when prompted for the new coding system.  This runs <code>set-buffer-file-coding-system</code> and the result is very similar to running <code>dos2unix myfile.txt</code> at the command line.</p>

	<p id="fn4322782874b05bbf7389cd" class="footnote"><sup>1</sup> CR is <a href="http://en.wikipedia.org/wiki/Carriage_return">Carriage Return</a>.  LF is <a href="http://en.wikipedia.org/wiki/Newline">Line Feed</a> (aka Newline).</p>]]></content:encoded>
			<wfw:commentRss>http://emacsblog.org/2007/04/30/quick-tip-dos2unix-et-al/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 3.092 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2009-11-19 21:43:19 -->
