<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikemacs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jstein</id>
	<title>WikEmacs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wikemacs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jstein"/>
	<link rel="alternate" type="text/html" href="https://wikemacs.org/wiki/Special:Contributions/Jstein"/>
	<updated>2026-04-04T10:02:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wikemacs.org/index.php?title=User:Suplis09&amp;diff=3423</id>
		<title>User:Suplis09</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=User:Suplis09&amp;diff=3423"/>
		<updated>2012-10-11T00:18:13Z</updated>

		<summary type="html">&lt;p&gt;Jstein: SPAM&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=WikEmacs:Community_portal&amp;diff=3422</id>
		<title>WikEmacs:Community portal</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=WikEmacs:Community_portal&amp;diff=3422"/>
		<updated>2012-10-11T00:17:25Z</updated>

		<summary type="html">&lt;p&gt;Jstein: /* Google group */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the community portal. This is the place to find out what is happening on WikEmacs. Learn what tasks need to be done and what groups there are to join, and share news about recent events or current activities taking place on WikEmacs.&lt;br /&gt;
&lt;br /&gt;
WikEmacs was just started and we need more '''[[:Category:WikEmacs Contributor|WikEmacs Contributor]]s'''.  You can help the following way.&lt;br /&gt;
&lt;br /&gt;
* Priority tasks&lt;br /&gt;
** Migrate content from [http://www.emacswiki.org EmacsWiki]. Please adopt the following approach -''I found this on EmacsWiki which was helpful. But it took me a lot of time to find it. Now that I have found it, I will put it in WikEmacs so that others can benefit from it.''&lt;br /&gt;
&lt;br /&gt;
* Intermediate tasks&lt;br /&gt;
** Provide tutorials or content for the [[:Category:Popular Package|Popular Packages]] or [[:Category:Native Package|Native Packages]].&lt;br /&gt;
** Add more content to [[Special:ShortPages]]&lt;br /&gt;
** Document or add more [[:Category:Third Party Package|Third Party Package]]s&lt;br /&gt;
&lt;br /&gt;
* Other tasks&lt;br /&gt;
** Copy edit [[Special:RecentChanges]] or be a moral police&lt;br /&gt;
** Add more members to various [[Special:Categories]]&lt;br /&gt;
** Categorize one of these pages [[Special:UncategorizedPages]]&lt;br /&gt;
&lt;br /&gt;
== Google group ==&lt;br /&gt;
[https://groups.google.com/forum/?fromgroups#!forum/wikemacs WikEmacs on Google Group] for more general questions regarding the wiki.&lt;br /&gt;
why not a mailinglist? Google claims i should create an account :(&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=WikEmacs:General_disclaimer&amp;diff=3421</id>
		<title>WikEmacs:General disclaimer</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=WikEmacs:General_disclaimer&amp;diff=3421"/>
		<updated>2012-10-11T00:03:36Z</updated>

		<summary type="html">&lt;p&gt;Jstein: Created page with &amp;quot;Here should be contact and webmaster details&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here should be contact and webmaster details&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=AUCTeX&amp;diff=3420</id>
		<title>AUCTeX</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=AUCTeX&amp;diff=3420"/>
		<updated>2012-10-10T21:51:08Z</updated>

		<summary type="html">&lt;p&gt;Jstein: /* Helpful keybindings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Package&lt;br /&gt;
|name=AUCTeX&lt;br /&gt;
|description=LaTeX editing&lt;br /&gt;
|author=David Kastrup&lt;br /&gt;
|maintainer=David Kastrup&lt;br /&gt;
|source= http://www.gnu.org/software/auctex/&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''AUCTeX''' is an extensible package for writing and formatting TeX files in GNU Emacs and XEmacs. It supports many different TEX macro packages, including AMS-TEX, LaTeX, Texinfo, ConTEXt, and docTeX (dtx files).&lt;br /&gt;
AUCTeX includes [[preview-latex]] which makes LaTeX a tightly integrated component of your editing workflow by visualizing selected source chunks (such as single formulas or graphics) directly as images in the source buffer.&lt;br /&gt;
&lt;br /&gt;
== Basic setup ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(add-to-list 'load-path &amp;quot;~/.emacs.d/auctex&amp;quot;)&lt;br /&gt;
(load &amp;quot;auctex.el&amp;quot; nil t t)&lt;br /&gt;
(load &amp;quot;preview-latex.el&amp;quot; nil t t)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Emacs 24 and ELPA ===&lt;br /&gt;
If you install AUCTeX via ELPA in Emacs 24 the basic setup listed above is not necessary. AUCTeX just works out of the box (at least on Linux).&lt;br /&gt;
&lt;br /&gt;
== Helpful keybindings ==&lt;br /&gt;
&lt;br /&gt;
C-c C-e insert environment&lt;br /&gt;
&lt;br /&gt;
== Common Customization ==&lt;br /&gt;
&lt;br /&gt;
=== Switch all fonts to monospace ===&lt;br /&gt;
AUCTeX's default fontification uses several different text sizes. If this behavior is not desired, it may be turned off by the following:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(setq font-latex-fontify-script nil)&lt;br /&gt;
(setq font-latex-fontify-sectioning 'color)&lt;br /&gt;
; modify Beamer as well&lt;br /&gt;
(custom-set-faces&lt;br /&gt;
 '(font-latex-slide-title-face ((t (:inherit font-lock-type-face)))))&lt;br /&gt;
(font-latex-update-sectioning-faces)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
which should be loaded by a hook.&lt;br /&gt;
=== Use pdflatex ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(setq TeX-PDF-mode t)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Configure view program ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(setq TeX-view-program-selection&lt;br /&gt;
      '((output-dvi &amp;quot;DVI Viewer&amp;quot;)&lt;br /&gt;
        (output-pdf &amp;quot;PDF Viewer&amp;quot;)&lt;br /&gt;
        (output-html &amp;quot;HTML Viewer&amp;quot;)))&lt;br /&gt;
;; this example is good for OS X only&lt;br /&gt;
(setq TeX-view-program-list&lt;br /&gt;
      '((&amp;quot;DVI Viewer&amp;quot; &amp;quot;open %o&amp;quot;)&lt;br /&gt;
        (&amp;quot;PDF Viewer&amp;quot; &amp;quot;open %o&amp;quot;)&lt;br /&gt;
        (&amp;quot;HTML Viewer&amp;quot; &amp;quot;open %o&amp;quot;)))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
== Project Pages ==&lt;br /&gt;
* [http://www.gnu.org/software/auctex/ Official Site]&lt;br /&gt;
* [http://www.gnu.org/software/auctex/manual/auctex.index.html Official Manual]&lt;br /&gt;
&lt;br /&gt;
== Tutorial Pages ==&lt;br /&gt;
&lt;br /&gt;
[[Category:Popular Package]][[Category:Document authoring]][[Category:LaTeX]]&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=File:Csv-mode.png&amp;diff=3416</id>
		<title>File:Csv-mode.png</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=File:Csv-mode.png&amp;diff=3416"/>
		<updated>2012-10-02T08:33:27Z</updated>

		<summary type="html">&lt;p&gt;Jstein: csv-mode&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;csv-mode&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Talk:Org&amp;diff=3415</id>
		<title>Talk:Org</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Talk:Org&amp;diff=3415"/>
		<updated>2012-10-02T07:31:37Z</updated>

		<summary type="html">&lt;p&gt;Jstein: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The devil, as always, is in the details. From Bozhidar Batsov’s [http://batsov.com/articles/2012/03/20/die-emacswiki/ original post]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;&lt;br /&gt;
Action Plan for The Maintainers:&lt;br /&gt;
&lt;br /&gt;
Drop the current format of the wiki - use something standard like MediaWiki instead of OddMuse. Drop all the articles about Emacs extensions. Drop all the extensions hosted there. Assemble a team of moderators. Accept only articles about general Emacs usage and Emacs Lisp programming.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Give the above general action plan, I would think that we do not want to spend time and effort replicating documentation, tips-n-tricks, etc. from established projects that have these things. I added some basic links about the Org-Mode community, and don't really think we should go much further.&lt;br /&gt;
&lt;br /&gt;
[[User:SkydiveMike|SkydiveMike]] 13:43, 24 March 2012 (EET)&lt;br /&gt;
&lt;br /&gt;
Indeed. org-mode is actively developed outside Emacs and has an extremely good documentation.&lt;br /&gt;
&lt;br /&gt;
[[User:Bozhidar|Bozhidar]] 15:39, 24 March 2012 (EET)&lt;br /&gt;
&lt;br /&gt;
should we apply http://wikemacs.org/wiki/Template:Infobox_major-mode? --[[User:Jstein|Jstein]] 10:31, 2 October 2012 (EEST)&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Starter_Kits&amp;diff=3413</id>
		<title>Starter Kits</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Starter_Kits&amp;diff=3413"/>
		<updated>2012-10-02T07:11:41Z</updated>

		<summary type="html">&lt;p&gt;Jstein: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Starter kits contain useful Emacs defaults. There are lots of [[cheat pages]], that help to get an overview of the most important commands.&lt;br /&gt;
&lt;br /&gt;
= External Links =&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/bbatsov/emacs-prelude Emacs Prelude]&lt;br /&gt;
* [https://github.com/technomancy/emacs-starter-kit Emacs Starter Kit]&lt;br /&gt;
* [https://github.com/dimitri/emacs-kicker Emacs Kicker]&lt;br /&gt;
&lt;br /&gt;
[[Category:Beginner]][[Category:Install Or Upgrade]]&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Installing_Emacs_on_GNU/Linux&amp;diff=3410</id>
		<title>Installing Emacs on GNU/Linux</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Installing_Emacs_on_GNU/Linux&amp;diff=3410"/>
		<updated>2012-09-29T12:11:45Z</updated>

		<summary type="html">&lt;p&gt;Jstein: /* SusE */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Check if your distribution already provides an Emacs version of interest to you. &lt;br /&gt;
&lt;br /&gt;
If you are interested in daily builds or latest binaries,  try building from [https://github.com/emacsmirror/emacs source] or try one of the following unofficial repositories based on your distribution.&lt;br /&gt;
&lt;br /&gt;
= Debian =&lt;br /&gt;
&lt;br /&gt;
== Emacs 23 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo apt-get install emacs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Emacs 24 ==&lt;br /&gt;
See [http://emacs.naquadah.org/ emacs-snapshot APT repo]. The page contains installation instructions. High quality, highly recommended builds! After adding the repo according to the instructions linked to above, install with the following command:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo apt-get install emacs-snapshot&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Ubuntu =&lt;br /&gt;
&lt;br /&gt;
== Emacs 23 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo apt-get install emacs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Emacs 24 ==&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo apt-add-repository ppa:cassou/emacs&lt;br /&gt;
$ sudo apt-get install emacs24&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Gentoo =&lt;br /&gt;
See [http://www.gentoo.org/proj/en/lisp/emacs/emacs.xml Emacs on Gentoo page].&lt;br /&gt;
&lt;br /&gt;
= Arch Linux =&lt;br /&gt;
&lt;br /&gt;
== Emacs 23 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo pacman -S emacs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Emacs 24 ==&lt;br /&gt;
&lt;br /&gt;
See  [http://aur.archlinux.org/packages.php?ID=33337 emacs-bzr] package from [http://aur.archlinux.org/index.php AUR]&lt;br /&gt;
&lt;br /&gt;
= Slackware =&lt;br /&gt;
Compile and Install using [http://github.com/cycojesus/slackbuilds/tree/master/e/emacs emacs.SlackBuild (unofficial)].&lt;br /&gt;
&lt;br /&gt;
= Fedora =&lt;br /&gt;
&lt;br /&gt;
== Emacs 23 ==&lt;br /&gt;
Available up to Fedora 16&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo yum install emacs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Emacs 24 ==&lt;br /&gt;
Available from Fedora 17+&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo yum install emacs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= SUsE =&lt;br /&gt;
&lt;br /&gt;
== Emacs 23 ==&lt;br /&gt;
&lt;br /&gt;
Available in 12.1 and 12.2. Before that? not sure.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo zypper install emacs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Emacs 24 ==&lt;br /&gt;
&lt;br /&gt;
Not available till 12.2, but available from Factory repo. Add factory repo and then,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
$ sudo zypper install emacs&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Mandriva =&lt;br /&gt;
No pre-built packages.&lt;br /&gt;
&lt;br /&gt;
[[Category:GNU/Linux]][[Category:Beginner]][[Category:Install Or Upgrade]]&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Package.el&amp;diff=3376</id>
		<title>Package.el</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Package.el&amp;diff=3376"/>
		<updated>2012-09-04T16:01:33Z</updated>

		<summary type="html">&lt;p&gt;Jstein: /* How to add additional repository */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Package&lt;br /&gt;
|name=package.el&lt;br /&gt;
|description=Package Manager&lt;br /&gt;
|author=Tom Tromey&lt;br /&gt;
|maintainer=[[FSF]]&lt;br /&gt;
|source=http://repo.or.cz/w/emacs.git/blob_plain/HEAD:/lisp/emacs-lisp/package.el&lt;br /&gt;
|in_emacs=24&lt;br /&gt;
|Development status=active&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
package.el is the built-in package manager in Emacs 24. &lt;br /&gt;
&lt;br /&gt;
== Install package.el on Emacs 23 ==&lt;br /&gt;
&amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; is bundled with Emacs 24, but it’s not bound to Emacs 24. Before it became part of Emacs it was an external package, known as package.el that was tied to repository called ELPA ('''E'''macs '''L'''isp '''P'''ackage '''A'''rchive). So even if you’re an Emacs 23 user you can copy the latest version of &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; from [http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el here] and enjoy it.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Put the following snippet of code near the beginning of your Emacs config, since you’ll definitely want packages installed via &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; to be initalized ''before'' you start tweaking them.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(require 'package)&lt;br /&gt;
(package-initialize)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Select Packages from the List ==&lt;br /&gt;
[[File:M-x package-list-packages.png|400px|thumb|right|M-x package-list-packages]]&lt;br /&gt;
&amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; connects to a list of package repositories, retrieves the list of the packages there, presents it to you in a interactive fashion and lets you install the packages you like (of course you can also remove the ones you don’t like). &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; understands the dependencies between packages and if one package requires others to run they will be installed automatically (which is really neat).&lt;br /&gt;
&lt;br /&gt;
The magic starts with the command {{Command|package-list-packages}}. At this point you should see something in the lines of this.&lt;br /&gt;
&lt;br /&gt;
You can navigate the list of packages, mark the ones you want to install with the “i” key or the ones you want removed with the “d” key and when you’re done you can press the “x” key to execute the scheduled actions.&lt;br /&gt;
&lt;br /&gt;
Initially &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; didn’t provide the option to update a package, but that should be fixed in recent Emacs builds. According to this [http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00371.html thread] you can even update all of the installed packages by using the “U” key in the packages list view (I guess that a small “u” would update only one package). Unfortunately my build is lacking those capabilities so I cannot comment of their usability.&lt;br /&gt;
&lt;br /&gt;
== How to add additional repository ==&lt;br /&gt;
The list of available packages is short because the official Emacs 24 package repository has strict licensing (and source code) requirements to include a package there. Luckily there are a number of community-maintained &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; repos around with much more relaxed requirements. Probably the most popular of them is [http://marmalade-repo.org/ Marmalade], created by [http://nex-3.com/ Nathan Weizenbaum] of Sass and Haml fame. You can include it in your &amp;lt;tt&amp;gt;package-archives&amp;lt;/tt&amp;gt; list like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(add-to-list 'package-archives '(&amp;quot;marmalade&amp;quot; . &amp;quot;http://marmalade-repo.org/packages/&amp;quot;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Marmalade provides a web based UI for package upload and search (both quite buggy unfortunately) and the ability to share the maintenance of a package between several people, who’ll be able to upload new version of the package. There’s also a Emacs Lisp Marmalade tool, that allows you to submit packages directly from Emacs.&lt;br /&gt;
&lt;br /&gt;
== How to use it with a custom build ==&lt;br /&gt;
Using the &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; UI is ok if you’re a casual Emacs user, but what if you have a custom Emacs configuration, stored under version control, that you’d like to instantly deploy on any OS/machine (like Emacs Prelude). Here in play comes &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt;’s programmer interface. In [https://github.com/bbatsov/emacs-prelude Emacs Prelude] I use the following code to install a list of required packages automatically on Emacs startup (if necessary):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
;; Comment out if you've already loaded this package...&lt;br /&gt;
(require 'cl)&lt;br /&gt;
&lt;br /&gt;
(defvar my-packages&lt;br /&gt;
  '(ack-and-a-half auctex clojure-mode coffee-mode deft expand-region&lt;br /&gt;
                   gist groovy-mode haml-mode haskell-mode inf-ruby&lt;br /&gt;
                   magit magithub markdown-mode paredit projectile python&lt;br /&gt;
                   sass-mode rainbow-mode scss-mode solarized-theme&lt;br /&gt;
                   volatile-highlights yaml-mode yari zenburn-theme)&lt;br /&gt;
  &amp;quot;A list of packages to ensure are installed at launch.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
(defun my-packages-installed-p ()&lt;br /&gt;
  (loop for p in prelude-packages&lt;br /&gt;
        when (not (package-installed-p p)) do (return nil)&lt;br /&gt;
        finally (return t)))&lt;br /&gt;
&lt;br /&gt;
(unless (my-packages-installed-p)&lt;br /&gt;
  ;; check for new packages (package versions)&lt;br /&gt;
  (package-refresh-contents)&lt;br /&gt;
  ;; install the missing packages&lt;br /&gt;
  (dolist (p prelude-packages)&lt;br /&gt;
    (when (not (package-installed-p p))&lt;br /&gt;
      (package-install p))))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This code check if all of the packages in the list are installed and if any of them are not installed if refreshes the local package database (in the case a required package for recently added to the remote repo) and installs them.&lt;br /&gt;
&lt;br /&gt;
== How to publish it to Marmalade ==&lt;br /&gt;
To be able to publish a package to Marmalade (or another repo) it should comform a standardized structure. A single-file package might look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
;;; sass-mode.el --- Sass major mode&lt;br /&gt;
&lt;br /&gt;
;; Copyright 2007-2010 Nathan Weizenbaum&lt;br /&gt;
&lt;br /&gt;
;; Author: Nathan Weizenbaum &amp;lt;nex342@gmail.com&amp;gt;&lt;br /&gt;
;; URL: http://github.com/nex3/sass-mode&lt;br /&gt;
;; Version: 3.0.20&lt;br /&gt;
;; Package-Requires: ((haml-mode &amp;quot;3.0.20&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
;; Code goes here&lt;br /&gt;
&lt;br /&gt;
;;; sass-mode.el ends here&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A multi-file package should have an additional file named&lt;br /&gt;
`&amp;lt;name&amp;gt;-pkg.el` that should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(define-package &amp;quot;sass-mode&amp;quot; &amp;quot;3.0.20&amp;quot;&lt;br /&gt;
                &amp;quot;Sass major mode&amp;quot;&lt;br /&gt;
                '((haml-mode &amp;quot;3.0.20&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== package.el Repositories ==&lt;br /&gt;
&lt;br /&gt;
* [[ELPA]]&lt;br /&gt;
* [[MELPA]]&lt;br /&gt;
* [[Marmalade]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://batsov.com/articles/2012/02/19/package-management-in-emacs-the-good-the-bad-and-the-ugly/ Package Management in Emacs]&lt;br /&gt;
&lt;br /&gt;
[[Category:Package Manager]][[Category:Built-in Package]]&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Package.el&amp;diff=3375</id>
		<title>Package.el</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Package.el&amp;diff=3375"/>
		<updated>2012-09-04T15:59:42Z</updated>

		<summary type="html">&lt;p&gt;Jstein: /* Select Packages from the List */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Package&lt;br /&gt;
|name=package.el&lt;br /&gt;
|description=Package Manager&lt;br /&gt;
|author=Tom Tromey&lt;br /&gt;
|maintainer=[[FSF]]&lt;br /&gt;
|source=http://repo.or.cz/w/emacs.git/blob_plain/HEAD:/lisp/emacs-lisp/package.el&lt;br /&gt;
|in_emacs=24&lt;br /&gt;
|Development status=active&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
package.el is the built-in package manager in Emacs 24. &lt;br /&gt;
&lt;br /&gt;
== Install package.el on Emacs 23 ==&lt;br /&gt;
&amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; is bundled with Emacs 24, but it’s not bound to Emacs 24. Before it became part of Emacs it was an external package, known as package.el that was tied to repository called ELPA ('''E'''macs '''L'''isp '''P'''ackage '''A'''rchive). So even if you’re an Emacs 23 user you can copy the latest version of &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; from [http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el here] and enjoy it.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Put the following snippet of code near the beginning of your Emacs config, since you’ll definitely want packages installed via &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; to be initalized ''before'' you start tweaking them.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(require 'package)&lt;br /&gt;
(package-initialize)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Select Packages from the List ==&lt;br /&gt;
[[File:M-x package-list-packages.png|400px|thumb|right|M-x package-list-packages]]&lt;br /&gt;
&amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; connects to a list of package repositories, retrieves the list of the packages there, presents it to you in a interactive fashion and lets you install the packages you like (of course you can also remove the ones you don’t like). &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; understands the dependencies between packages and if one package requires others to run they will be installed automatically (which is really neat).&lt;br /&gt;
&lt;br /&gt;
The magic starts with the command {{Command|package-list-packages}}. At this point you should see something in the lines of this.&lt;br /&gt;
&lt;br /&gt;
You can navigate the list of packages, mark the ones you want to install with the “i” key or the ones you want removed with the “d” key and when you’re done you can press the “x” key to execute the scheduled actions.&lt;br /&gt;
&lt;br /&gt;
Initially &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; didn’t provide the option to update a package, but that should be fixed in recent Emacs builds. According to this [http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00371.html thread] you can even update all of the installed packages by using the “U” key in the packages list view (I guess that a small “u” would update only one package). Unfortunately my build is lacking those capabilities so I cannot comment of their usability.&lt;br /&gt;
&lt;br /&gt;
== How to add additional repository ==&lt;br /&gt;
You’d probably notice that your list of available packages is not particularly long. That’s because the official Emacs 24 package repository has a strict licensing (and source code) requirements to include a package there. Luckily there are a number of community-maintained &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; repos around with much more relaxed requirements. Probably the most popular of them is [http://marmalade-repo.org/ Marmalade], created by [http://nex-3.com/ Nathan Weizenbaum] of Sass and Haml fame. You can include it in your &amp;lt;tt&amp;gt;package-archives&amp;lt;/tt&amp;gt; list like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(add-to-list 'package-archives '(&amp;quot;marmalade&amp;quot; . &amp;quot;http://marmalade-repo.org/packages/&amp;quot;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Marmalade provides a web based UI for package upload and search (both quite buggy unfortunately) and the ability to share the maintenance of a package between several people, who’ll be able to upload new version of the package. There’s also a Emacs Lisp Marmalade tool, that allows you to submit packages directly from Emacs.&lt;br /&gt;
&lt;br /&gt;
== How to use it with a custom build ==&lt;br /&gt;
Using the &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; UI is ok if you’re a casual Emacs user, but what if you have a custom Emacs configuration, stored under version control, that you’d like to instantly deploy on any OS/machine (like Emacs Prelude). Here in play comes &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt;’s programmer interface. In [https://github.com/bbatsov/emacs-prelude Emacs Prelude] I use the following code to install a list of required packages automatically on Emacs startup (if necessary):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
;; Comment out if you've already loaded this package...&lt;br /&gt;
(require 'cl)&lt;br /&gt;
&lt;br /&gt;
(defvar my-packages&lt;br /&gt;
  '(ack-and-a-half auctex clojure-mode coffee-mode deft expand-region&lt;br /&gt;
                   gist groovy-mode haml-mode haskell-mode inf-ruby&lt;br /&gt;
                   magit magithub markdown-mode paredit projectile python&lt;br /&gt;
                   sass-mode rainbow-mode scss-mode solarized-theme&lt;br /&gt;
                   volatile-highlights yaml-mode yari zenburn-theme)&lt;br /&gt;
  &amp;quot;A list of packages to ensure are installed at launch.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
(defun my-packages-installed-p ()&lt;br /&gt;
  (loop for p in prelude-packages&lt;br /&gt;
        when (not (package-installed-p p)) do (return nil)&lt;br /&gt;
        finally (return t)))&lt;br /&gt;
&lt;br /&gt;
(unless (my-packages-installed-p)&lt;br /&gt;
  ;; check for new packages (package versions)&lt;br /&gt;
  (package-refresh-contents)&lt;br /&gt;
  ;; install the missing packages&lt;br /&gt;
  (dolist (p prelude-packages)&lt;br /&gt;
    (when (not (package-installed-p p))&lt;br /&gt;
      (package-install p))))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This code check if all of the packages in the list are installed and if any of them are not installed if refreshes the local package database (in the case a required package for recently added to the remote repo) and installs them.&lt;br /&gt;
&lt;br /&gt;
== How to publish it to Marmalade ==&lt;br /&gt;
To be able to publish a package to Marmalade (or another repo) it should comform a standardized structure. A single-file package might look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
;;; sass-mode.el --- Sass major mode&lt;br /&gt;
&lt;br /&gt;
;; Copyright 2007-2010 Nathan Weizenbaum&lt;br /&gt;
&lt;br /&gt;
;; Author: Nathan Weizenbaum &amp;lt;nex342@gmail.com&amp;gt;&lt;br /&gt;
;; URL: http://github.com/nex3/sass-mode&lt;br /&gt;
;; Version: 3.0.20&lt;br /&gt;
;; Package-Requires: ((haml-mode &amp;quot;3.0.20&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
;; Code goes here&lt;br /&gt;
&lt;br /&gt;
;;; sass-mode.el ends here&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A multi-file package should have an additional file named&lt;br /&gt;
`&amp;lt;name&amp;gt;-pkg.el` that should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(define-package &amp;quot;sass-mode&amp;quot; &amp;quot;3.0.20&amp;quot;&lt;br /&gt;
                &amp;quot;Sass major mode&amp;quot;&lt;br /&gt;
                '((haml-mode &amp;quot;3.0.20&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== package.el Repositories ==&lt;br /&gt;
&lt;br /&gt;
* [[ELPA]]&lt;br /&gt;
* [[MELPA]]&lt;br /&gt;
* [[Marmalade]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://batsov.com/articles/2012/02/19/package-management-in-emacs-the-good-the-bad-and-the-ugly/ Package Management in Emacs]&lt;br /&gt;
&lt;br /&gt;
[[Category:Package Manager]][[Category:Built-in Package]]&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Package.el&amp;diff=3374</id>
		<title>Package.el</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Package.el&amp;diff=3374"/>
		<updated>2012-09-04T15:56:20Z</updated>

		<summary type="html">&lt;p&gt;Jstein: /* How it works */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Package&lt;br /&gt;
|name=package.el&lt;br /&gt;
|description=Package Manager&lt;br /&gt;
|author=Tom Tromey&lt;br /&gt;
|maintainer=[[FSF]]&lt;br /&gt;
|source=http://repo.or.cz/w/emacs.git/blob_plain/HEAD:/lisp/emacs-lisp/package.el&lt;br /&gt;
|in_emacs=24&lt;br /&gt;
|Development status=active&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
package.el is the built-in package manager in Emacs 24. &lt;br /&gt;
&lt;br /&gt;
== Install package.el on Emacs 23 ==&lt;br /&gt;
&amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; is bundled with Emacs 24, but it’s not bound to Emacs 24. Before it became part of Emacs it was an external package, known as package.el that was tied to repository called ELPA ('''E'''macs '''L'''isp '''P'''ackage '''A'''rchive). So even if you’re an Emacs 23 user you can copy the latest version of &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; from [http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el here] and enjoy it.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Put the following snippet of code near the beginning of your Emacs config, since you’ll definitely want packages installed via &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; to be initalized ''before'' you start tweaking them.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(require 'package)&lt;br /&gt;
(package-initialize)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Select Packages from the List ==&lt;br /&gt;
[[File:M-x package-list-packages.png]]&lt;br /&gt;
What &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; basically does is that it connects to a list of package repositories, retrieves the list of the packages there, presents it to you in a interactive fashion and lets you install the packages you like (of course you can also remove the ones you don’t like). &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; understands the dependencies between packages and if one package requires others to run they will be installed automatically (which is really neat).&lt;br /&gt;
&lt;br /&gt;
The magic starts with the command {{Command|package-list-packages}}. At this point you should see something in the lines of this.&lt;br /&gt;
&lt;br /&gt;
You can navigate the list of packages, mark the ones you want to install with the “i” key or the ones you want removed with the “d” key and when you’re done you can press the “x” key to execute the scheduled actions.&lt;br /&gt;
&lt;br /&gt;
Initially &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; didn’t provide the option to update a package, but that should be fixed in recent Emacs builds. According to this [http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00371.html thread] you can even update all of the installed packages by using the “U” key in the packages list view (I guess that a small “u” would update only one package). Unfortunately my build is lacking those capabilities so I cannot comment of their usability.&lt;br /&gt;
&lt;br /&gt;
== How to add additional repository ==&lt;br /&gt;
You’d probably notice that your list of available packages is not particularly long. That’s because the official Emacs 24 package repository has a strict licensing (and source code) requirements to include a package there. Luckily there are a number of community-maintained &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; repos around with much more relaxed requirements. Probably the most popular of them is [http://marmalade-repo.org/ Marmalade], created by [http://nex-3.com/ Nathan Weizenbaum] of Sass and Haml fame. You can include it in your &amp;lt;tt&amp;gt;package-archives&amp;lt;/tt&amp;gt; list like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(add-to-list 'package-archives '(&amp;quot;marmalade&amp;quot; . &amp;quot;http://marmalade-repo.org/packages/&amp;quot;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Marmalade provides a web based UI for package upload and search (both quite buggy unfortunately) and the ability to share the maintenance of a package between several people, who’ll be able to upload new version of the package. There’s also a Emacs Lisp Marmalade tool, that allows you to submit packages directly from Emacs.&lt;br /&gt;
&lt;br /&gt;
== How to use it with a custom build ==&lt;br /&gt;
Using the &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; UI is ok if you’re a casual Emacs user, but what if you have a custom Emacs configuration, stored under version control, that you’d like to instantly deploy on any OS/machine (like Emacs Prelude). Here in play comes &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt;’s programmer interface. In [https://github.com/bbatsov/emacs-prelude Emacs Prelude] I use the following code to install a list of required packages automatically on Emacs startup (if necessary):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
;; Comment out if you've already loaded this package...&lt;br /&gt;
(require 'cl)&lt;br /&gt;
&lt;br /&gt;
(defvar my-packages&lt;br /&gt;
  '(ack-and-a-half auctex clojure-mode coffee-mode deft expand-region&lt;br /&gt;
                   gist groovy-mode haml-mode haskell-mode inf-ruby&lt;br /&gt;
                   magit magithub markdown-mode paredit projectile python&lt;br /&gt;
                   sass-mode rainbow-mode scss-mode solarized-theme&lt;br /&gt;
                   volatile-highlights yaml-mode yari zenburn-theme)&lt;br /&gt;
  &amp;quot;A list of packages to ensure are installed at launch.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
(defun my-packages-installed-p ()&lt;br /&gt;
  (loop for p in prelude-packages&lt;br /&gt;
        when (not (package-installed-p p)) do (return nil)&lt;br /&gt;
        finally (return t)))&lt;br /&gt;
&lt;br /&gt;
(unless (my-packages-installed-p)&lt;br /&gt;
  ;; check for new packages (package versions)&lt;br /&gt;
  (package-refresh-contents)&lt;br /&gt;
  ;; install the missing packages&lt;br /&gt;
  (dolist (p prelude-packages)&lt;br /&gt;
    (when (not (package-installed-p p))&lt;br /&gt;
      (package-install p))))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This code check if all of the packages in the list are installed and if any of them are not installed if refreshes the local package database (in the case a required package for recently added to the remote repo) and installs them.&lt;br /&gt;
&lt;br /&gt;
== How to publish it to Marmalade ==&lt;br /&gt;
To be able to publish a package to Marmalade (or another repo) it should comform a standardized structure. A single-file package might look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
;;; sass-mode.el --- Sass major mode&lt;br /&gt;
&lt;br /&gt;
;; Copyright 2007-2010 Nathan Weizenbaum&lt;br /&gt;
&lt;br /&gt;
;; Author: Nathan Weizenbaum &amp;lt;nex342@gmail.com&amp;gt;&lt;br /&gt;
;; URL: http://github.com/nex3/sass-mode&lt;br /&gt;
;; Version: 3.0.20&lt;br /&gt;
;; Package-Requires: ((haml-mode &amp;quot;3.0.20&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
;; Code goes here&lt;br /&gt;
&lt;br /&gt;
;;; sass-mode.el ends here&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A multi-file package should have an additional file named&lt;br /&gt;
`&amp;lt;name&amp;gt;-pkg.el` that should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(define-package &amp;quot;sass-mode&amp;quot; &amp;quot;3.0.20&amp;quot;&lt;br /&gt;
                &amp;quot;Sass major mode&amp;quot;&lt;br /&gt;
                '((haml-mode &amp;quot;3.0.20&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== package.el Repositories ==&lt;br /&gt;
&lt;br /&gt;
* [[ELPA]]&lt;br /&gt;
* [[MELPA]]&lt;br /&gt;
* [[Marmalade]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://batsov.com/articles/2012/02/19/package-management-in-emacs-the-good-the-bad-and-the-ugly/ Package Management in Emacs]&lt;br /&gt;
&lt;br /&gt;
[[Category:Package Manager]][[Category:Built-in Package]]&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=File:M-x_package-list-packages.png&amp;diff=3373</id>
		<title>File:M-x package-list-packages.png</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=File:M-x_package-list-packages.png&amp;diff=3373"/>
		<updated>2012-09-04T15:54:56Z</updated>

		<summary type="html">&lt;p&gt;Jstein: M-x_package-list-packages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;M-x_package-list-packages&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Package.el&amp;diff=3372</id>
		<title>Package.el</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Package.el&amp;diff=3372"/>
		<updated>2012-09-04T15:49:03Z</updated>

		<summary type="html">&lt;p&gt;Jstein: /* Install package.el on Emacs 23 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Package&lt;br /&gt;
|name=package.el&lt;br /&gt;
|description=Package Manager&lt;br /&gt;
|author=Tom Tromey&lt;br /&gt;
|maintainer=[[FSF]]&lt;br /&gt;
|source=http://repo.or.cz/w/emacs.git/blob_plain/HEAD:/lisp/emacs-lisp/package.el&lt;br /&gt;
|in_emacs=24&lt;br /&gt;
|Development status=active&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
package.el is the built-in package manager in Emacs 24. &lt;br /&gt;
&lt;br /&gt;
== Install package.el on Emacs 23 ==&lt;br /&gt;
&amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; is bundled with Emacs 24, but it’s not bound to Emacs 24. Before it became part of Emacs it was an external package, known as package.el that was tied to repository called ELPA ('''E'''macs '''L'''isp '''P'''ackage '''A'''rchive). So even if you’re an Emacs 23 user you can copy the latest version of &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; from [http://repo.or.cz/w/emacs.git/blob_plain/1a0a666f941c99882093d7bd08ced15033bc3f0c:/lisp/emacs-lisp/package.el here] and enjoy it.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Put the following snippet of code near the beginning of your Emacs config, since you’ll definitely want packages installed via &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; to be initalized ''before'' you start tweaking them.&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(require 'package)&lt;br /&gt;
(package-initialize)&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== How it works ==&lt;br /&gt;
What &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; basically does is that it connects to a list of package repositories, retrieves the list of the packages there, presents it to you in a interactive fashion and lets you install the packages you like (of course you can also remove the ones you don’t like). &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; understands the dependencies between packages and if one package requires others to run they will be installed automatically (which is really neat).&lt;br /&gt;
&lt;br /&gt;
The magic starts with the command {{Command|package-list-packages}}. At this point you should see something in the lines of this.&lt;br /&gt;
&lt;br /&gt;
You can navigate the list of packages, mark the ones you want to install with the “i” key or the ones you want removed with the “d” key and when you’re done you can press the “x” key to execute the scheduled actions.&lt;br /&gt;
&lt;br /&gt;
Initially &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; didn’t provide the option to update a package, but that should be fixed in recent Emacs builds. According to this [http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00371.html thread] you can even update all of the installed packages by using the “U” key in the packages list view (I guess that a small “u” would update only one package). Unfortunately my build is lacking those capabilities so I cannot comment of their usability.&lt;br /&gt;
&lt;br /&gt;
== How to add additional repository ==&lt;br /&gt;
You’d probably notice that your list of available packages is not particularly long. That’s because the official Emacs 24 package repository has a strict licensing (and source code) requirements to include a package there. Luckily there are a number of community-maintained &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; repos around with much more relaxed requirements. Probably the most popular of them is [http://marmalade-repo.org/ Marmalade], created by [http://nex-3.com/ Nathan Weizenbaum] of Sass and Haml fame. You can include it in your &amp;lt;tt&amp;gt;package-archives&amp;lt;/tt&amp;gt; list like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(add-to-list 'package-archives '(&amp;quot;marmalade&amp;quot; . &amp;quot;http://marmalade-repo.org/packages/&amp;quot;))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Marmalade provides a web based UI for package upload and search (both quite buggy unfortunately) and the ability to share the maintenance of a package between several people, who’ll be able to upload new version of the package. There’s also a Emacs Lisp Marmalade tool, that allows you to submit packages directly from Emacs.&lt;br /&gt;
&lt;br /&gt;
== How to use it with a custom build ==&lt;br /&gt;
Using the &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt; UI is ok if you’re a casual Emacs user, but what if you have a custom Emacs configuration, stored under version control, that you’d like to instantly deploy on any OS/machine (like Emacs Prelude). Here in play comes &amp;lt;tt&amp;gt;package.el&amp;lt;/tt&amp;gt;’s programmer interface. In [https://github.com/bbatsov/emacs-prelude Emacs Prelude] I use the following code to install a list of required packages automatically on Emacs startup (if necessary):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
;; Comment out if you've already loaded this package...&lt;br /&gt;
(require 'cl)&lt;br /&gt;
&lt;br /&gt;
(defvar my-packages&lt;br /&gt;
  '(ack-and-a-half auctex clojure-mode coffee-mode deft expand-region&lt;br /&gt;
                   gist groovy-mode haml-mode haskell-mode inf-ruby&lt;br /&gt;
                   magit magithub markdown-mode paredit projectile python&lt;br /&gt;
                   sass-mode rainbow-mode scss-mode solarized-theme&lt;br /&gt;
                   volatile-highlights yaml-mode yari zenburn-theme)&lt;br /&gt;
  &amp;quot;A list of packages to ensure are installed at launch.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
(defun my-packages-installed-p ()&lt;br /&gt;
  (loop for p in prelude-packages&lt;br /&gt;
        when (not (package-installed-p p)) do (return nil)&lt;br /&gt;
        finally (return t)))&lt;br /&gt;
&lt;br /&gt;
(unless (my-packages-installed-p)&lt;br /&gt;
  ;; check for new packages (package versions)&lt;br /&gt;
  (package-refresh-contents)&lt;br /&gt;
  ;; install the missing packages&lt;br /&gt;
  (dolist (p prelude-packages)&lt;br /&gt;
    (when (not (package-installed-p p))&lt;br /&gt;
      (package-install p))))&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This code check if all of the packages in the list are installed and if any of them are not installed if refreshes the local package database (in the case a required package for recently added to the remote repo) and installs them.&lt;br /&gt;
&lt;br /&gt;
== How to publish it to Marmalade ==&lt;br /&gt;
To be able to publish a package to Marmalade (or another repo) it should comform a standardized structure. A single-file package might look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
;;; sass-mode.el --- Sass major mode&lt;br /&gt;
&lt;br /&gt;
;; Copyright 2007-2010 Nathan Weizenbaum&lt;br /&gt;
&lt;br /&gt;
;; Author: Nathan Weizenbaum &amp;lt;nex342@gmail.com&amp;gt;&lt;br /&gt;
;; URL: http://github.com/nex3/sass-mode&lt;br /&gt;
;; Version: 3.0.20&lt;br /&gt;
;; Package-Requires: ((haml-mode &amp;quot;3.0.20&amp;quot;))&lt;br /&gt;
&lt;br /&gt;
;; Code goes here&lt;br /&gt;
&lt;br /&gt;
;;; sass-mode.el ends here&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A multi-file package should have an additional file named&lt;br /&gt;
`&amp;lt;name&amp;gt;-pkg.el` that should look like this:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;lisp&amp;quot;&amp;gt;&lt;br /&gt;
(define-package &amp;quot;sass-mode&amp;quot; &amp;quot;3.0.20&amp;quot;&lt;br /&gt;
                &amp;quot;Sass major mode&amp;quot;&lt;br /&gt;
                '((haml-mode &amp;quot;3.0.20&amp;quot;)))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== package.el Repositories ==&lt;br /&gt;
&lt;br /&gt;
* [[ELPA]]&lt;br /&gt;
* [[MELPA]]&lt;br /&gt;
* [[Marmalade]]&lt;br /&gt;
&lt;br /&gt;
== External links ==&lt;br /&gt;
&lt;br /&gt;
* [http://batsov.com/articles/2012/02/19/package-management-in-emacs-the-good-the-bad-and-the-ugly/ Package Management in Emacs]&lt;br /&gt;
&lt;br /&gt;
[[Category:Package Manager]][[Category:Built-in Package]]&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
	<entry>
		<id>https://wikemacs.org/index.php?title=Org&amp;diff=3371</id>
		<title>Org</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Org&amp;diff=3371"/>
		<updated>2012-09-04T15:41:51Z</updated>

		<summary type="html">&lt;p&gt;Jstein: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Package&lt;br /&gt;
|name=Org,Org-Mode&lt;br /&gt;
|description=GTD and document authoring package/markup language&lt;br /&gt;
|maintainer=Bastien&lt;br /&gt;
|source=http://orgmode.org/w/org-mode.git&lt;br /&gt;
|in_emacs=yes (likely be out of date)&lt;br /&gt;
|Development status=active&lt;br /&gt;
|website=http://orgmode.org&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Org''' is an Emacs mode for keeping notes, maintaining TODO lists,&lt;br /&gt;
project planning, outlining, and authoring with a fast and effective&lt;br /&gt;
plain-text system. Org Mode is simple enough to start using right&lt;br /&gt;
away, but provides tons of advanced features to support a wide variety&lt;br /&gt;
of tasks and workflows.&lt;br /&gt;
&lt;br /&gt;
Org-Mode is distributed with Emacs (since Emacs 22.2). This project is&lt;br /&gt;
under active development and new releases are often available.&lt;br /&gt;
&lt;br /&gt;
=== Features ===&lt;br /&gt;
&lt;br /&gt;
* Simple plain text markup for hierarchical documents.&lt;br /&gt;
* Built-in table editor: easily format tables and work with spreadsheets in plain text.&lt;br /&gt;
* Extensible hyperlinking: create cross-references, link to external resources, and more.&lt;br /&gt;
* Capture system: create templates to quickly capture and file notes and tasks. &lt;br /&gt;
* Sequences of TODO-style keywords for task progress tracking.&lt;br /&gt;
* Tags, priorities and properties to categorize, sort, filter, and search.&lt;br /&gt;
* Custom project views using Org's Agenda.&lt;br /&gt;
* Convenient date/time handling for timestamps, deadlines, and scheduling.&lt;br /&gt;
* Clock support to track time spent on projects.&lt;br /&gt;
* Export from plain-text to a variety of formats (HTML, LaTeX, DocBook, etc).&lt;br /&gt;
* Embedded source blocks: edit code blocks in-line with the appropriate mode. Execute code blocks to generate content. Org can even be used for [http://en.wikipedia.org/wiki/Literate_programming literate programming].&lt;br /&gt;
* Mobile support providing a subset of Org capabilities on iOS and Android devices.&lt;br /&gt;
&lt;br /&gt;
== External Links ==&lt;br /&gt;
The Org-Mode project maintains excellent documentation and has an active community.&lt;br /&gt;
&lt;br /&gt;
* [http://orgmode.org/ Org Project]&lt;br /&gt;
* [http://orgmode.org/org-mode-download.html Downloads]&lt;br /&gt;
* [http://orgmode.org/org-mode-documentation.html Documentation]&lt;br /&gt;
* [http://orgmode.org/w/org-mode.git Source Repository (git)]&lt;br /&gt;
* [http://orgmode.org/worg/ Worg, the Org Community!]&lt;br /&gt;
* [http://doc.norang.ca/org-mode.html Organize your life in plain text!]&lt;br /&gt;
&lt;br /&gt;
[[Category:Org]][[Category:Document authoring]][[Category:Markup languages]][[Category:Built-in Package]][[Category:Popular Package]] [[Category:GTD]]&lt;br /&gt;
[[Category:Desktop Management]][[Category:Organizer]]&lt;/div&gt;</summary>
		<author><name>Jstein</name></author>
	</entry>
</feed>