https://wikemacs.org/api.php?action=feedcontributions&user=GregLucas&feedformat=atomWikEmacs - User contributions [en]2024-03-19T13:23:25ZUser contributionsMediaWiki 1.35.14https://wikemacs.org/index.php?title=Template:Note&diff=2960Template:Note2012-06-22T21:05:37Z<p>GregLucas: rvv</p>
<hr />
<div><includeonly>{{#if: {{{1|}}}|<div class="block-note"><span class="block-contents">|[[File:Bulbgraph.png|18px|Note|link=]]}} '''Note:''' {{#if: {{{1|}}}|{{{1}}}</span></div>}}</includeonly><noinclude><br />
<br />
== Usage ==<br />
<br />
=== Method 1 ===<br />
<br />
The following displays the note icon and the word 'Note:'. You can follow this with whatever text/images/markup you like, and it works in-line, within a paragraph.<br />
Monsters are green. <nowiki>{{note}}</nowiki> this is an in-line note, to remind you that some monsters are orangey-purple.<br />
<br />
Monsters are green. {{Note}} this is an in-line note, to remind you that some monsters are orangey-purple.<br />
<br />
<br />
=== Method 2 ===<br />
The following includes the text passed to the template, and uses a table to stop the text flowing round the icon. These always force a newline before and after the note.<br />
<br />
<nowiki>{{note|Here is a long note, which is sufficiently wordy to run onto a second line, <br />
which would normally cause it to wrap round the icon, but because we passed it as a parameter <br />
it keeps its left alignment straight.}}</nowiki> <br />
<br />
{{note|Here is a long note, which is sufficiently wordy to run onto a second line, which would normally cause it to wrap round the icon, but because we passed it as a parameter it keeps its left alignment straight.}}<br />
<br />
[[Category:Templates]]<br />
<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Java-mode&diff=2959Java-mode2012-06-22T21:04:22Z<p>GregLucas: rvv</p>
<hr />
<div>{{Infobox major-mode<br />
|title = Emacs Lisp<br />
|library = cc-mode<br />
|command = java-mode<br />
|builtin = yes<br />
|auto activates = *.java<br />
}}<br />
<br />
'''java-mode''' comes with Emacs which provides very basic [[syntax highlighting]].<br />
<br />
== Basic Setup ==<br />
<br />
<br />
==See also ==<br />
[[Java]]<br />
<br />
<br />
[[Category:Java]]<br />
[[Category:Programming languages]]</div>GregLucashttps://wikemacs.org/index.php?title=Template:Command&diff=2958Template:Command2012-06-22T21:02:14Z<p>GregLucas: rvv</p>
<hr />
<div><includeonly>'''<tt>M-x {{{1}}}</tt>'''</includeonly><noinclude><br />
<br />
== Usage ==<br />
Show a command.<br />
<pre>{{Command|find-file}}</pre> will be rendered as: {{Command|find-file}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:CommandKeys&diff=2956Template:CommandKeys2012-06-22T21:00:56Z<p>GregLucas: rvv</p>
<hr />
<div><includeonly>'''[{{{1}}}]''' (or {{Command|{{{2}}}}})</includeonly><noinclude><br />
<br />
== Usage ==<br />
Show a key sequence and the corresponding command.<br />
<pre>{{CommandKeys|C-x f|find-file}}</pre> will be rendered as: {{CommandKeys|C-x f|find-file}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:NewPage&diff=2954Template:NewPage2012-06-22T21:00:00Z<p>GregLucas: rvv</p>
<hr />
<div>'''{{{1}}}''' is a wonderful mode which does wonderful things.<br />
<br />
<!-----DONT REMOVE ANYTHING FROM THIS TEMPLATE ------------------------------><br />
<!-----YOU CAN DELETE STUFF THAT ARE USELESS IN THE FINAL PAGE YOU ARE WRITING -------><br />
<!-----FEW MONTHS, YEARS FROM WE CAN DELETE STUFF. NOT NOW ------------------><br />
<!-----YOU DON"T WANT WIKEMACS TO BE ANOTHER EMACSWIKI RIGHT ------------------><br />
<!-----PLEASE BE PATIENT AND CO-OPERATE FOR GREATER GOOD ------------------><br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Basic setup ==<br />
<br />
Install these third party libraries or read this section before proceeding.<br />
<br />
== Helpful keybindings ==<br />
<br />
; {{Keys|C-x C-c}}<br />
: Quit Emacs.<br />
<br />
; {{CommandKeys|C-x C-s|save-buffer}}<br />
: Save buffer.<br />
<br />
<!-------------------------------------------------------------------------><br />
== Common Customization ==<br />
<!-- Customization common to all platforms goes here --><br />
<br />
=== Customization 1 ===<br />
<source lang="lisp"><br />
(message "This stuff will go in your .emacs")<br />
</source><br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[GNU/Linux]] ==<br />
<!-- Customization/Notes specific to GNU/Linux goes here --><br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[OS X]] ==<br />
<!-- Customization/Notes specific to OS X goes here --><br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[Windows]] ==<br />
<!-- Customization/Notes specific to Windows goes here --><br />
<br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[Emacs-24]] ==<br />
<!-- Customization/Notes specific to Emacs-24 --><br />
<!-- Recent revision should come first. This way important information stays at top --><br />
<br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[Emacs-23]] ==<br />
<!-- Customization/Notes specific to Emacs-22 --><br />
Emacs-23 is not as great as Emacs-24. You will have these problems and you can workaround it this way.<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Recommended Reading ==<br />
<!-- Only internal links. DO NOT insert EXTERNAL LINKS --><br />
* [[Internal Link1]]<br />
* [[Internal Link2]]<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Project Pages ==<br />
* [http://bazaar.canonical.com/en/ Bazaar]<br />
* [http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html Bzr Users Guide]<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Tutorial Pages ==<br />
;[http://wiki.bazaar.canonical.com/EmacsTips Emacs as commit message editor] <br />
:Tips for setting up Emacs as Bazaar commit editor.<br />
<br />
<!-------------------------------------------------------------------------><br />
<!-- Add categories based on user-level (beginner etc), user-role (programming, emacs contributor etc), platform (windows, linux etc), work flow (text editing, document authoring etc) or package type (built-in or third party) --><br />
<br />
[[Category:TestCategory1]][[Category:TestCategory2]]<br />
<br />
<!-- When copying this template, ignore everything below here! --><br />
<noinclude>[[Category:Templates]]</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=WikEmacs:Community_portal&diff=2953WikEmacs:Community portal2012-06-22T20:57:17Z<p>GregLucas: rvv</p>
<hr />
<div>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.<br />
<br />
WikEmacs was just started and we need more '''[[:Category:WikEmacs Contributor|WikEmacs Contributor]]s'''. You can help the following way.<br />
<br />
* Priority tasks<br />
** 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.''<br />
<br />
* Intermediate tasks<br />
** Provide tutorials or content for the [[:Category:Popular Package|Popular Packages]] or [[:Category:Native Package|Native Packages]].<br />
** Add more content to [[Special:ShortPages]]<br />
** Document or add more [[:Category:Third Party Package|Third Party Package]]s<br />
<br />
* Other tasks<br />
** Copy edit [[Special:RecentChanges]] or be a moral police<br />
** Add more members to various [[Special:Categories]]<br />
** Categorize one of these pages [[Special:UncategorizedPages]]<br />
<br />
== Google group ==<br />
[https://groups.google.com/forum/?fromgroups#!forum/wikemacs WikEmacs on Google Group] for more general questions regarding the wiki.</div>GregLucashttps://wikemacs.org/index.php?title=Template:Infobox&diff=2952Template:Infobox2012-06-22T20:47:13Z<p>GregLucas: Undo revision 2901 by 178.2.94.128 (talk)</p>
<hr />
<div>{{#ifeq:{{{child|}}}|yes||<table class="infobox {{{bodyclass|}}}" cellspacing="5" style="width:22em; {{#if:{{{float|}}}|float: {{{float}}}; clear: {{#ifeq:{{{float|}}}|none|both|{{{float}}}}}; margin: 0 0 1em 1em;}} {{{bodystyle|}}}"><!--<br />
Caption<br />
-->{{#if:{{{title|}}}|<caption class="{{{titleclass|}}}" style="{{{titlestyle|}}}">{{{title}}}</caption>}}<!--<br />
Header<br />
-->{{#if:{{{above|}}}|<tr><th colspan=2 class="{{{aboveclass|}}}" style="text-align:center; font-size:125%; font-weight:bold; {{{abovestyle|}}}">{{{above}}}</th></tr>}}<br />
}}{{#ifeq:{{{child|}}}|yes|{{#if:{{{title|}}}|'''{{{title}}}'''}}}}<!--<br />
Subheader1<br />
-->{{#if:{{{subheader|{{{subheader1|}}}}}}|{{Infobox/row<br />
|data={{{subheader|{{{subheader1|}}}}}}<br />
|datastyle={{{subheaderstyle|{{{subheaderstyle1|}}}}}}<br />
|class={{{subheaderclass|}}}<br />
|rowclass={{{subheaderrowclass|{{{subheaderrowclass1|}}}}}}<br />
}} }}<!--<br />
Subheader2<br />
-->{{#if:{{{subheader2|}}}|{{Infobox/row<br />
|data={{{subheader2}}}<br />
|datastyle={{{subheaderstyle|{{{subheaderstyle2|}}}}}}<br />
|class={{{subheaderclass|}}}<br />
|rowclass={{{subheaderrowclass2|}}}<br />
}} }}<!--<br />
Image1<br />
-->{{#if:{{{image|{{{image1|}}}}}}|{{Infobox/row<br />
|data={{{image|{{{image1}}} }}}{{#if:{{{caption|{{{caption1|}}}}}}|<br /><span style="{{{captionstyle|}}}">{{{caption|{{{caption1}}}}}}</span>}}<br />
|datastyle={{{imagestyle|}}}<br />
|class={{{imageclass|}}}<br />
|rowclass={{{imagerowclass1|}}}<br />
}} }}<!--<br />
Image2<br />
-->{{#if:{{{image2|}}}|{{Infobox/row<br />
|data={{{image2}}}{{#if:{{{caption2|}}}|<br /><span style="{{{captionstyle|}}}">{{{caption2}}}</span>}}<br />
|datastyle={{{imagestyle|}}}<br />
|class={{{imageclass|}}}<br />
|rowclass={{{imagerowclass2|}}}<br />
}} }}<!--<br />
-->{{Infobox/row<br />
|header={{{header1|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label1|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data1|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class1|}}} |rowclass={{{rowclass1|}}}<br />
}}{{Infobox/row<br />
|header={{{header2|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label2|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data2|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class2|}}} |rowclass={{{rowclass2|}}}<br />
}}{{Infobox/row<br />
|header={{{header3|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label3|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data3|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class3|}}} |rowclass={{{rowclass3|}}}<br />
}}{{Infobox/row<br />
|header={{{header4|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label4|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data4|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class4|}}} |rowclass={{{rowclass4|}}}<br />
}}{{Infobox/row<br />
|header={{{header5|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label5|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data5|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class5|}}} |rowclass={{{rowclass5|}}}<br />
}}{{Infobox/row<br />
|header={{{header6|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label6|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data6|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class6|}}} |rowclass={{{rowclass6|}}}<br />
}}{{Infobox/row<br />
|header={{{header7|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label7|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data7|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class7|}}} |rowclass={{{rowclass7|}}}<br />
}}{{Infobox/row<br />
|header={{{header8|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label8|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data8|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class8|}}} |rowclass={{{rowclass8|}}}<br />
}}{{Infobox/row<br />
|header={{{header9|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label9|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data9|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class9|}}} |rowclass={{{rowclass9|}}}<br />
}}{{Infobox/row<br />
|header={{{header10|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label10|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data10|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class10|}}} |rowclass={{{rowclass10|}}}<br />
}}{{Infobox/row<br />
|header={{{header11|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label11|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data11|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class11|}}} |rowclass={{{rowclass11|}}}<br />
}}{{Infobox/row<br />
|header={{{header12|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label12|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data12|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class12|}}} |rowclass={{{rowclass12|}}}<br />
}}{{Infobox/row<br />
|header={{{header13|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label13|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data13|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class13|}}} |rowclass={{{rowclass13|}}}<br />
}}{{Infobox/row<br />
|header={{{header14|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label14|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data14|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class14|}}} |rowclass={{{rowclass14|}}}<br />
}}{{Infobox/row<br />
|header={{{header15|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label15|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data15|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class15|}}} |rowclass={{{rowclass15|}}}<br />
}}{{Infobox/row<br />
|header={{{header16|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label16|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data16|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class16|}}} |rowclass={{{rowclass16|}}}<br />
}}{{Infobox/row<br />
|header={{{header17|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label17|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data17|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class17|}}} |rowclass={{{rowclass17|}}}<br />
}}{{Infobox/row<br />
|header={{{header18|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label18|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data18|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class18|}}} |rowclass={{{rowclass18|}}}<br />
}}{{Infobox/row<br />
|header={{{header19|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label19|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data19|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class19|}}} |rowclass={{{rowclass19|}}}<br />
}}{{Infobox/row<br />
|header={{{header20|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label20|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data20|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class20|}}} |rowclass={{{rowclass20|}}}<br />
}}{{Infobox/row<br />
|header={{{header21|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label21|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data21|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class21|}}} |rowclass={{{rowclass21|}}}<br />
}}{{Infobox/row<br />
|header={{{header22|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label22|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data22|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class22|}}} |rowclass={{{rowclass22|}}}<br />
}}{{Infobox/row<br />
|header={{{header23|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label23|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data23|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class23|}}} |rowclass={{{rowclass23|}}}<br />
}}{{Infobox/row<br />
|header={{{header24|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label24|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data24|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class24|}}} |rowclass={{{rowclass24|}}}<br />
}}{{Infobox/row<br />
|header={{{header25|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label25|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data25|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class25|}}} |rowclass={{{rowclass25|}}}<br />
}}{{Infobox/row<br />
|header={{{header26|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label26|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data26|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class26|}}} |rowclass={{{rowclass26|}}}<br />
}}{{Infobox/row<br />
|header={{{header27|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label27|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data27|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class27|}}} |rowclass={{{rowclass27|}}}<br />
}}{{Infobox/row<br />
|header={{{header28|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label28|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data28|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class28|}}} |rowclass={{{rowclass28|}}}<br />
}}{{Infobox/row<br />
|header={{{header29|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label29|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data29|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class29|}}} |rowclass={{{rowclass29|}}}<br />
}}{{Infobox/row<br />
|header={{{header30|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label30|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data30|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class30|}}} |rowclass={{{rowclass30|}}}<br />
}}{{Infobox/row<br />
|header={{{header31|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label31|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data31|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class31|}}} |rowclass={{{rowclass31|}}}<br />
}}{{Infobox/row<br />
|header={{{header32|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label32|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data32|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class32|}}} |rowclass={{{rowclass32|}}}<br />
}}{{Infobox/row<br />
|header={{{header33|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label33|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data33|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class33|}}} |rowclass={{{rowclass33|}}}<br />
}}{{Infobox/row<br />
|header={{{header34|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label34|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data34|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class34|}}} |rowclass={{{rowclass34|}}}<br />
}}{{Infobox/row<br />
|header={{{header35|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label35|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data35|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class35|}}} |rowclass={{{rowclass35|}}}<br />
}}{{Infobox/row<br />
|header={{{header36|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label36|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data36|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class36|}}} |rowclass={{{rowclass36|}}}<br />
}}{{Infobox/row<br />
|header={{{header37|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label37|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data37|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class37|}}} |rowclass={{{rowclass37|}}}<br />
}}{{Infobox/row<br />
|header={{{header38|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label38|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data38|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class38|}}} |rowclass={{{rowclass38|}}}<br />
}}{{Infobox/row<br />
|header={{{header39|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label39|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data39|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class39|}}} |rowclass={{{rowclass39|}}}<br />
}}{{Infobox/row<br />
|header={{{header40|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label40|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data40|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class40|}}} |rowclass={{{rowclass40|}}}<br />
}}{{Infobox/row<br />
|header={{{header41|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label41|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data41|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class41|}}} |rowclass={{{rowclass41|}}}<br />
}}{{Infobox/row<br />
|header={{{header42|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label42|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data42|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class42|}}} |rowclass={{{rowclass42|}}}<br />
}}{{Infobox/row<br />
|header={{{header43|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label43|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data43|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class43|}}} |rowclass={{{rowclass43|}}}<br />
}}{{Infobox/row<br />
|header={{{header44|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label44|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data44|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class44|}}} |rowclass={{{rowclass44|}}}<br />
}}{{Infobox/row<br />
|header={{{header45|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label45|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data45|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class45|}}} |rowclass={{{rowclass45|}}}<br />
}}{{Infobox/row<br />
|header={{{header46|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label46|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data46|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class46|}}} |rowclass={{{rowclass46|}}}<br />
}}{{Infobox/row<br />
|header={{{header47|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label47|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data47|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class47|}}} |rowclass={{{rowclass47|}}}<br />
}}{{Infobox/row<br />
|header={{{header48|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label48|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data48|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class48|}}} |rowclass={{{rowclass48|}}}<br />
}}{{Infobox/row<br />
|header={{{header49|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label49|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data49|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class49|}}} |rowclass={{{rowclass49|}}}<br />
}}{{Infobox/row<br />
|header={{{header50|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label50|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data50|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class50|}}} |rowclass={{{rowclass50|}}}<br />
}}{{Infobox/row<br />
|header={{{header51|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label51|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data51|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class51|}}} |rowclass={{{rowclass51|}}}<br />
}}{{Infobox/row<br />
|header={{{header52|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label52|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data52|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class52|}}} |rowclass={{{rowclass52|}}}<br />
}}{{Infobox/row<br />
|header={{{header53|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label53|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data53|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class53|}}} |rowclass={{{rowclass53|}}}<br />
}}{{Infobox/row<br />
|header={{{header54|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label54|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data54|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class54|}}} |rowclass={{{rowclass54|}}}<br />
}}{{Infobox/row<br />
|header={{{header55|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label55|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data55|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class55|}}} |rowclass={{{rowclass55|}}}<br />
}}{{Infobox/row<br />
|header={{{header56|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label56|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data56|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class56|}}} |rowclass={{{rowclass56|}}}<br />
}}{{Infobox/row<br />
|header={{{header57|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label57|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data57|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class57|}}} |rowclass={{{rowclass57|}}}<br />
}}{{Infobox/row<br />
|header={{{header58|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label58|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data58|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class58|}}} |rowclass={{{rowclass58|}}}<br />
}}{{Infobox/row<br />
|header={{{header59|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label59|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data59|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class59|}}} |rowclass={{{rowclass59|}}}<br />
}}{{Infobox/row<br />
|header={{{header60|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label60|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data60|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class60|}}} |rowclass={{{rowclass60|}}}<br />
}}{{Infobox/row<br />
|header={{{header61|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label61|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data61|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class61|}}} |rowclass={{{rowclass61|}}}<br />
}}{{Infobox/row<br />
|header={{{header62|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label62|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data62|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class62|}}} |rowclass={{{rowclass62|}}}<br />
}}{{Infobox/row<br />
|header={{{header63|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label63|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data63|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class63|}}} |rowclass={{{rowclass63|}}}<br />
}}{{Infobox/row<br />
|header={{{header64|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label64|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data64|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class64|}}} |rowclass={{{rowclass64|}}}<br />
}}{{Infobox/row<br />
|header={{{header65|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label65|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data65|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class65|}}} |rowclass={{{rowclass65|}}}<br />
}}{{Infobox/row<br />
|header={{{header66|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label66|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data66|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class66|}}} |rowclass={{{rowclass66|}}}<br />
}}{{Infobox/row<br />
|header={{{header67|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label67|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data67|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class67|}}} |rowclass={{{rowclass67|}}}<br />
}}{{Infobox/row<br />
|header={{{header68|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label68|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data68|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class68|}}} |rowclass={{{rowclass68|}}}<br />
}}{{Infobox/row<br />
|header={{{header69|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label69|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data69|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class69|}}} |rowclass={{{rowclass69|}}}<br />
}}{{Infobox/row<br />
|header={{{header70|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label70|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data70|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class70|}}} |rowclass={{{rowclass70|}}}<br />
}}{{Infobox/row<br />
|header={{{header71|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label71|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data71|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class71|}}} |rowclass={{{rowclass71|}}}<br />
}}{{Infobox/row<br />
|header={{{header72|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label72|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data72|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class72|}}} |rowclass={{{rowclass72|}}}<br />
}}{{Infobox/row<br />
|header={{{header73|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label73|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data73|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class73|}}} |rowclass={{{rowclass73|}}}<br />
}}{{Infobox/row<br />
|header={{{header74|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label74|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data74|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class74|}}} |rowclass={{{rowclass74|}}}<br />
}}{{Infobox/row<br />
|header={{{header75|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label75|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data75|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class75|}}} |rowclass={{{rowclass75|}}}<br />
}}{{Infobox/row<br />
|header={{{header76|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label76|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data76|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class76|}}} |rowclass={{{rowclass76|}}}<br />
}}{{Infobox/row<br />
|header={{{header77|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label77|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data77|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class77|}}} |rowclass={{{rowclass77|}}}<br />
}}{{Infobox/row<br />
|header={{{header78|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label78|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data78|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class78|}}} |rowclass={{{rowclass78|}}}<br />
}}{{Infobox/row<br />
|header={{{header79|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label79|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data79|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class79|}}} |rowclass={{{rowclass79|}}}<br />
}}{{Infobox/row<br />
|header={{{header80|}}} |headerstyle={{{headerstyle|}}}<br />
|label={{{label80|}}} |labelstyle={{{labelstyle|}}}<br />
|data={{{data80|}}} |datastyle={{{datastyle|}}}<br />
|class={{{class80|}}} |rowclass={{{rowclass80|}}}<br />
}}<!-- Below<br />
-->{{#if:{{{below|}}}|<tr><td colspan=2 class="{{{belowclass|}}}" style="text-align:center; {{{belowstyle|}}}">{{{below}}}</td></tr>}}<!--<br />
Navbar<br />
-->{{#if:{{{name|}}}|<tr><td colspan=2 style="text-align:right">{{navbar|{{{name}}}|mini=1}}</td></tr>}}<br />
{{#ifeq:{{{child|}}}|yes||</table>}}{{#switch:{{lc:{{{italic title|¬}}}}}<br />
|¬|no = <!-- no italic title --><br />
||force|yes = {{italic title|force={{#ifeq:{{lc:{{{italic title|}}}}}|force|true}}}}<br />
}}<includeonly>{{#ifeq:{{{decat|}}}|yes||{{#if:{{{data1|}}}{{{data2|}}}{{{data3|}}}{{{data4|}}}{{{data5|}}}{{{data6|}}}{{{data7|}}}{{{data8|}}}{{{data9|}}}{{{data10|}}}{{{data11|}}}{{{data12|}}}{{{data13|}}}{{{data14|}}}{{{data15|}}}{{{data16|}}}{{{data17|}}}{{{data18|}}}{{{data19|}}}{{{data20|}}}{{{data21|}}}{{{data22|}}}{{{data23|}}}{{{data24|}}}{{{data25|}}}{{{data26|}}}{{{data27|}}}{{{data28|}}}{{{data29|}}}{{{data30|}}}{{{data31|}}}{{{data32|}}}{{{data33|}}}{{{data34|}}}{{{data35|}}}{{{data36|}}}{{{data37|}}}{{{data38|}}}{{{data39|}}}{{{data40|}}}{{{data41|}}}{{{data42|}}}{{{data43|}}}{{{data44|}}}{{{data45|}}}{{{data46|}}}{{{data47|}}}{{{data48|}}}{{{data49|}}}{{{data50|}}}{{{data51|}}}{{{data52|}}}{{{data53|}}}{{{data54|}}}{{{data55|}}}{{{data56|}}}{{{data57|}}}{{{data58|}}}{{{data59|}}}{{{data60|}}}{{{data61|}}}{{{data62|}}}{{{data63|}}}{{{data64|}}}{{{data65|}}}{{{data66|}}}{{{data67|}}}{{{data68|}}}{{{data69|}}}{{{data70|}}}{{{data71|}}}{{{data72|}}}{{{data73|}}}{{{data74|}}}{{{data75|}}}{{{data76|}}}{{{data77|}}}{{{data78|}}}{{{data79|}}}{{{data80|}}}||{{namespace detect|main=[[category:articles which use infobox templates with no data rows]]}}}}}}</includeonly><noinclude>{{documentation}}</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Package&diff=2951Template:Package2012-06-22T20:45:34Z<p>GregLucas: Undo revision 2950 by GregLucas (talk)</p>
<hr />
<div><includeonly><!--Summary Infobox --><br />
{{Infobox<br />
| title = {{{name|package name}}}<br />
| label1 = Description<br />
| data1 = {{{description|simple one line description}}}<br />
| label2 = Author<br />
| data2 = {{{author|name of author}}}<br />
| label3 = Maintainer<br />
| data3 = {{{maintainer|name of maintainer}}}<br />
| label4 = Source<br />
| data4 = {{{source|'''no link provided'''}}}<br />
| {{#if: {{{in_emacs|}}}||NULL}}label5 = Part of Emacs<br />
| {{#if: {{{in_emacs|}}}||NULL}}data5 = {{#switch: {{{in_emacs}}}<br />
| 23 = Since Emacs 23<br />
| 24 = Since Emacs 24<br />
| {{{in_emacs}}}<br />
}}<br />
}}</includeonly><noinclude><br />
<br />
<br />
== Usage ==<br />
<br />
This template is used for adding a Emacs Packages to the wiki and formating a nice bit of boiler plate and auto-categorisation. Parameters include: <br />
<br />
* name - Name of package<br />
* description - One line description<br />
* author - Author Name<br />
* maintainer - The maintainer<br />
* source - Where the source code lives<br />
* (optional) in_emacs - When the package was included in emacs<br />
<br />
{{Package<br />
|name=edit-server.el<br />
|description=Provide an edit server for Chrom(ium) browser extensions<br />
|author=Alex Bennée<br />
|maintainer=Alex Bennée<br />
|source=https://github.com/stsquad/emacs_chrome/blob/master/servers/edit-server.el<br />
|in_emacs=No<br />
|category=<br />
}}<br />
<br />
By using this template to declare a package you automatically include the page in the [[:Category:Emacs Package|Emacs Package category]]<br />
<br />
The sample box shown here is defined using:<br />
<pre><br />
{{Package<br />
|name=edit-server.el<br />
|description=Provide an edit server for Chrom(ium) browser extensions<br />
|author=Alex Bennée<br />
|maintainer=Alex Bennée<br />
|in_emacs=No<br />
|source=https://github.com/stsquad/emacs_chrome/blob/master/servers/edit-server.el<br />
}}<br />
</pre><br />
<br />
<!-- Note: The sample above sets 'category' to empty just so this Template page doesn't get categorized. --><br />
<!-- The pre block shows the correct usage, where the 'category' param is unset and so the default gets used. --><br />
<br />
[[Category:Templates]]<br />
[[Category:Package]]<br />
<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Package&diff=2950Template:Package2012-06-22T20:42:54Z<p>GregLucas: test</p>
<hr />
<div><includeonly><!--Summary Infobox --><br />
{{Infobox<br />
| title = {{{name|package name}}}<br />
}}</includeonly><noinclude><br />
<br />
<br />
== Usage ==<br />
<br />
This template is used for adding a Emacs Packages to the wiki and formating a nice bit of boiler plate and auto-categorisation. Parameters include: <br />
<br />
* name - Name of package<br />
* description - One line description<br />
* author - Author Name<br />
* maintainer - The maintainer<br />
* source - Where the source code lives<br />
* (optional) in_emacs - When the package was included in emacs<br />
<br />
{{Package<br />
|name=edit-server.el<br />
|description=Provide an edit server for Chrom(ium) browser extensions<br />
|author=Alex Bennée<br />
|maintainer=Alex Bennée<br />
|source=https://github.com/stsquad/emacs_chrome/blob/master/servers/edit-server.el<br />
|in_emacs=No<br />
|category=<br />
}}<br />
<br />
By using this template to declare a package you automatically include the page in the [[:Category:Emacs Package|Emacs Package category]]<br />
<br />
The sample box shown here is defined using:<br />
<pre><br />
{{Package<br />
|name=edit-server.el<br />
|description=Provide an edit server for Chrom(ium) browser extensions<br />
|author=Alex Bennée<br />
|maintainer=Alex Bennée<br />
|in_emacs=No<br />
|source=https://github.com/stsquad/emacs_chrome/blob/master/servers/edit-server.el<br />
}}<br />
</pre><br />
<br />
<!-- Note: The sample above sets 'category' to empty just so this Template page doesn't get categorized. --><br />
<!-- The pre block shows the correct usage, where the 'category' param is unset and so the default gets used. --><br />
<br />
[[Category:Templates]]<br />
[[Category:Package]]<br />
<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Package&diff=2949Template:Package2012-06-22T20:41:57Z<p>GregLucas: Undo revision 2948 by GregLucas (talk)</p>
<hr />
<div><includeonly><!--Summary Infobox --><br />
{{Infobox<br />
| title = {{{name|package name}}}<br />
| label1 = Description<br />
| data1 = {{{description|simple one line description}}}<br />
| label2 = Author<br />
| data2 = {{{author|name of author}}}<br />
| label3 = Maintainer<br />
| data3 = {{{maintainer|name of maintainer}}}<br />
| label4 = Source<br />
| data4 = {{{source|'''no link provided'''}}}<br />
| {{#if: {{{in_emacs|}}}||NULL}}label5 = Part of Emacs<br />
| {{#if: {{{in_emacs|}}}||NULL}}data5 = {{#switch: {{{in_emacs}}}<br />
| 23 = Since Emacs 23<br />
| 24 = Since Emacs 24<br />
| {{{in_emacs}}}<br />
}}<br />
}}</includeonly><noinclude><br />
<br />
<br />
== Usage ==<br />
<br />
This template is used for adding a Emacs Packages to the wiki and formating a nice bit of boiler plate and auto-categorisation. Parameters include: <br />
<br />
* name - Name of package<br />
* description - One line description<br />
* author - Author Name<br />
* maintainer - The maintainer<br />
* source - Where the source code lives<br />
* (optional) in_emacs - When the package was included in emacs<br />
<br />
{{Package<br />
|name=edit-server.el<br />
|description=Provide an edit server for Chrom(ium) browser extensions<br />
|author=Alex Bennée<br />
|maintainer=Alex Bennée<br />
|source=https://github.com/stsquad/emacs_chrome/blob/master/servers/edit-server.el<br />
|in_emacs=No<br />
|category=<br />
}}<br />
<br />
By using this template to declare a package you automatically include the page in the [[:Category:Emacs Package|Emacs Package category]]<br />
<br />
The sample box shown here is defined using:<br />
<pre><br />
{{Package<br />
|name=edit-server.el<br />
|description=Provide an edit server for Chrom(ium) browser extensions<br />
|author=Alex Bennée<br />
|maintainer=Alex Bennée<br />
|in_emacs=No<br />
|source=https://github.com/stsquad/emacs_chrome/blob/master/servers/edit-server.el<br />
}}<br />
</pre><br />
<br />
<!-- Note: The sample above sets 'category' to empty just so this Template page doesn't get categorized. --><br />
<!-- The pre block shows the correct usage, where the 'category' param is unset and so the default gets used. --><br />
<br />
[[Category:Templates]]<br />
[[Category:Package]]<br />
<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Package&diff=2948Template:Package2012-06-22T20:39:58Z<p>GregLucas: test: trying to remove bogus content</p>
<hr />
<div><includeonly><!--Summary Infobox --><br />
{{Infobox<br />
| title = {{{name|package name}}}<br />
| label1 = Description<br />
| data1 = {{{description|simple one line description}}}<br />
| label2 = Author<br />
| data2 = {{{author|name of author}}}<br />
| label3 = Maintainer<br />
| data3 = {{{maintainer|name of maintainer}}}<br />
| label4 = Source<br />
| data4 = {{{source|'''no link provided'''}}}<br />
| {{#if: {{{in_emacs|}}}||NULL}}label5 = Part of Emacs<br />
| {{#if: {{{in_emacs|}}}||NULL}}data5 = {{#switch: {{{in_emacs}}}<br />
| 23 = Since Emacs 23<br />
| 24 = Since Emacs 24<br />
| {{{in_emacs}}}<br />
}}<br />
}}</includeonly><noinclude><br />
<br />
<br />
== Usage ==<br />
<br />
This template is used for adding a Emacs Packages to the wiki and formating a nice bit of boiler plate and auto-categorisation. Parameters include: <br />
<br />
* name - Name of package<br />
* description - One line description<br />
* author - Author Name<br />
* maintainer - The maintainer<br />
* source - Where the source code lives<br />
* (optional) in_emacs - When the package was included in emacs<br />
<br />
By using this template to declare a package you automatically include the page in the [[:Category:Emacs Package|Emacs Package category]]<br />
<br />
The sample box shown here is defined using:<br />
<pre><br />
{{Package<br />
|name=edit-server.el<br />
|description=Provide an edit server for Chrom(ium) browser extensions<br />
|author=Alex Bennée<br />
|maintainer=Alex Bennée<br />
|in_emacs=No<br />
|source=https://github.com/stsquad/emacs_chrome/blob/master/servers/edit-server.el<br />
}}<br />
</pre><br />
<br />
<!-- Note: The sample above sets 'category' to empty just so this Template page doesn't get categorized. --><br />
<!-- The pre block shows the correct usage, where the 'category' param is unset and so the default gets used. --><br />
<br />
[[Category:Templates]]<br />
[[Category:Package]]<br />
<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Expand_region&diff=2571Expand region2012-04-05T14:35:29Z<p>GregLucas: /* Replacing the Region */</p>
<hr />
<div>{{Package<br />
|name=expand-region<br />
|description=Emacs extension to increase selected region by semantic units.<br />
|author=Magnar Sveen<br />
|maintainer=Magnar Sveen<br />
|source=https://github.com/magnars/expand-region.el<br />
}}<br />
<br />
'''Expand region''' increases the selected region by semantic units. Just keep pressing the key until it selects what you want.<br />
<br />
An example:<br />
<br />
<source lang="lisp"><br />
(setq alphabet-start "abc def")<br />
</source><br />
<br />
With the cursor at the '''c''', it starts by marking the entire word '''abc''', then expand to the contents of the quotes '''abc def''', then to the entire quote '''"abc def"''', then to the contents of the sexp '''setq alphabet-start "abc def"''' and finally to the entire sexp.<br />
<br />
== Basic setup ==<br />
<br />
<source lang="lisp"><br />
(require 'expand-region)<br />
(global-set-key (kbd "C-=") 'er/expand-region)<br />
</source><br />
<br />
== Helpful keybindings ==<br />
<br />
== Common Customization ==<br />
<br />
=== Replacing the Region ===<br />
<br />
{{Command|delete-selection-mode}} is sometimes used in conjunction with [[Expand region]]. [[Delete selection]] is a [[minor mode]] that allows you to delete and replace the contents of the current region by simply typing over it.<br />
<br />
== See Also ==<br />
<br />
== Project Pages ==<br />
<br />
* [https://github.com/magnars/expand-region GitHub Repo]<br />
<br />
== Tutorial Pages ==<br />
<br />
*[http://emacsrocks.com/e09.html Screencast]<br />
<br />
[[Category:Project Management]][[Category:Convenience]][[Category:Third Party Package]]</div>GregLucashttps://wikemacs.org/index.php?title=Expand_region&diff=2569Expand region2012-04-05T14:34:09Z<p>GregLucas: /* Common Customization */</p>
<hr />
<div>{{Package<br />
|name=expand-region<br />
|description=Emacs extension to increase selected region by semantic units.<br />
|author=Magnar Sveen<br />
|maintainer=Magnar Sveen<br />
|source=https://github.com/magnars/expand-region.el<br />
}}<br />
<br />
'''Expand region''' increases the selected region by semantic units. Just keep pressing the key until it selects what you want.<br />
<br />
An example:<br />
<br />
<source lang="lisp"><br />
(setq alphabet-start "abc def")<br />
</source><br />
<br />
With the cursor at the '''c''', it starts by marking the entire word '''abc''', then expand to the contents of the quotes '''abc def''', then to the entire quote '''"abc def"''', then to the contents of the sexp '''setq alphabet-start "abc def"''' and finally to the entire sexp.<br />
<br />
== Basic setup ==<br />
<br />
<source lang="lisp"><br />
(require 'expand-region)<br />
(global-set-key (kbd "C-=") 'er/expand-region)<br />
</source><br />
<br />
== Helpful keybindings ==<br />
<br />
== Common Customization ==<br />
<br />
=== Replacing the Region ===<br />
<br />
{{Command|delete-selection-mode}} is sometimes used in conjunction with [[Expand region]]. [[Delete selection]] is a [[minor mode]] that allows you to type to delete and replace the contents of the current region.<br />
<br />
== See Also ==<br />
<br />
== Project Pages ==<br />
<br />
* [https://github.com/magnars/expand-region GitHub Repo]<br />
<br />
== Tutorial Pages ==<br />
<br />
*[http://emacsrocks.com/e09.html Screencast]<br />
<br />
[[Category:Project Management]][[Category:Convenience]][[Category:Third Party Package]]</div>GregLucashttps://wikemacs.org/index.php?title=Category_talk:Native_Package&diff=2565Category talk:Native Package2012-04-05T14:25:40Z<p>GregLucas: </p>
<hr />
<div>Itsn't Built-in package a better term than native? I've never heard anyone using the term native for packages coming with Emacs, but I've seen built-in used a lot (even by package.el) [[User:Bozhidar|Bozhidar]]<br />
:+1! Is there any mechanism to rename a category? [[User:GregLucas|GregLucas]] 17:25, 5 April 2012 (EEST)</div>GregLucashttps://wikemacs.org/index.php?title=Category:Templates&diff=2509Category:Templates2012-04-04T19:48:50Z<p>GregLucas: notes about adding templates</p>
<hr />
<div>This category contains Templates that are recommended for use when contributing to WikEmacs. Visit the template page for usage and examples.<br />
<br />
For more information on contributing see [[WikEmacs:Guidelines]].<br />
<br />
== Contributing Templates ==<br />
<br />
If you would like to add new templates:<br />
<br />
* See the [http://www.mediawiki.org/wiki/Help:Templates MediaWiki Help] page about templates.<br />
* Please provide a 'Usage' section that summarizes what the template is for and gives an example. Refer to existing templates for guidelines. Note the usage of <tt><nowiki><includeonly></nowiki></tt> for template content and <tt><nowiki><noinclude></nowiki></tt> for documentation.<br />
* Add your template to [[:Category:Templates]] when it is ready for use. (Templates that are not recommended for some reason can be removed from this category.) <br />
* Also consider adding your template to an appropriate subcategory.<br />
<br />
[[Category:WikEmacs]]<br />
[[Category:WikEmacs Contributor]]</div>GregLucashttps://wikemacs.org/index.php?title=Template_talk:Dirname&diff=2508Template talk:Dirname2012-04-04T18:43:18Z<p>GregLucas: </p>
<hr />
<div>Is this intended to be a replacement for [[Template:Directory]], or is it just something to experiment with? If it is just for testing I'd suggest removing it from [[:Category:Templates]]. The idea of that category is to have a list of recommended/actively used templates so that contributors can scan the list and find what they should be using. Thanks! [[User:GregLucas|GregLucas]] 21:42, 4 April 2012 (EEST)</div>GregLucashttps://wikemacs.org/index.php?title=Template_talk:Dirname&diff=2507Template talk:Dirname2012-04-04T18:42:59Z<p>GregLucas: Created page with "Is this intended to be a replacement for Template:Directory, or is it just something to experiment with? If it is just for testing I'd suggest removing it from [[:Category..."</p>
<hr />
<div>Is this intended to be a replacement for [[Template:Directory]], or is it just something to experiment with? If it is just for testing I'd suggest removing it from [[:Category:Template]]. The idea of that category is to have a list of recommended/actively used templates so that contributors can scan the list and find what they should be using. Thanks! [[User:GregLucas|GregLucas]] 21:42, 4 April 2012 (EEST)</div>GregLucashttps://wikemacs.org/index.php?title=Emacs_Lisp_Cookbook&diff=2506Emacs Lisp Cookbook2012-04-04T18:30:47Z<p>GregLucas: add some categories</p>
<hr />
<div>This page contains snippets of code that demonstrate basic [[Emacs Lisp]]<br />
programming operations in the spirit of the O'Reilly Cookbook<br />
series of books. For every task addressed, a worked-out solution<br />
is presented as a short, focused, directly usable piece of code.<br />
<br />
All this stuff can be found elsewhere, but it is scattered about in<br />
libraries, manuals, etc. It would be helpful to have here in one<br />
spot.<br />
<br />
These recipes should be pastable into the '''*scratch*''' buffer so that<br />
users can hit '''C-j''' and evaluate them step by step.<br />
<br />
== Strings ==<br />
<br />
The empty string (zero-length string, null string, ...):<br />
<br />
<syntaxhighlight lang="lisp"><br />
(zerop (string-match "" "")) ;; O(n)<br />
==> t<br />
<br />
(string-equal "" "") ;; O(n)?<br />
==> t<br />
<br />
(equal "" "") ;; O(n)?<br />
==> t<br />
<br />
(zerop (length "")) ;; O(1)<br />
==> t<br />
<br />
(eq "" "") ;; O(1)<br />
==> t<br />
</syntaxhighlight><br />
<br />
As a space and performance optimization, Emacs keeps an intern-ed copy<br />
of the empty string as a single object<br />
<br />
<syntaxhighlight lang="lisp"><br />
(eq "" (purecopy ""))<br />
==> t<br />
<br />
(eq "" (propertize "" 'face 'italic))<br />
==> t<br />
</syntaxhighlight><br />
<br />
=== Strings vs buffer content ===<br />
<br />
While it is quite common in other programming languages to work on<br />
strings contained in variables in Emacs it is even more idiomatic to<br />
work on strings in buffers. That's why the following contains examples<br />
of both.<br />
<br />
=== Substrings ===<br />
<br />
<syntaxhighlight lang="lisp"><br />
(substring "abcdefg" 0 3)<br />
==> "abc"<br />
(substring "abcdefg" -3 -1)<br />
==> "ef"<br />
</syntaxhighlight><br />
<br />
The TO argument is optional:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(substring "abcdefg" -3)<br />
==> "efg"<br />
</syntaxhighlight><br />
<br />
Buffers:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(with-temp-buffer<br />
(insert "abcdefg")<br />
(buffer-substring 2 4))<br />
==> "bc"<br />
</syntaxhighlight><br />
<br />
=== Processing characters ===<br />
<br />
Reversing a string:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(string-to-list "foo")<br />
==> (102 111 111)<br />
(reverse (string-to-list "foo"))<br />
==> (111 111 102)<br />
(apply 'string (reverse (string-to-list "foo")))<br />
==> "oof"<br />
</syntaxhighlight><br />
<br />
See CharacterProcessing and StringModification. See [[tr]] for an example of you sometimes need to mix strings and characters.<br />
<br />
Looking at characters in buffers:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(with-temp-buffer<br />
(insert "abcdefg")<br />
(goto-char (point-min))<br />
(while (not (= (char-after) ?b))<br />
(forward-char))<br />
(point))<br />
==> 2<br />
</syntaxhighlight><br />
<br />
=== Trim whitespace ===<br />
<br />
Trim whitespace from the end of a string:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(setq test-str "abcdefg ")<br />
(when (string-match "[ \t]*$" test-str)<br />
(message (concat "[" (replace-match "" nil nil test-str) "]")))<br />
<syntaxhighlight><br />
<br />
Trim whitespace from a string with a Perl-like chomp function:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun chomp (str)<br />
"Chomp leading and tailing whitespace from STR."<br />
(while (string-match "\\`\n+\\|^\\s-+\\|\\s-+$\\|\n+\\'"<br />
str)<br />
(setq str (replace-match "" t t str)))<br />
str)<br />
</syntaxhighlight> <br />
<br />
=== Splitting strings ===<br />
<br />
TODO<br />
<br />
=== Joining strings ===<br />
<br />
Use `mapconcat' to join a list into a string using a separator ("glue") between elements in the string.<br />
<br />
Example:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(mapconcat 'identity '("" "home" "alex " "elisp" "erc") "/")<br />
==> "/home/alex /elisp/erc"<br />
</syntaxhighlight><br />
<br />
=== Serialization ===<br />
<br />
The basic idea is to convert forms to strings with `prin1-to-string' and convert it back from a string with `read'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(length (read (prin1-to-string (make-list 1000000 '(x)))))<br />
==> 1000000<br />
<br />
(read (prin1-to-string "Hello World!"))<br />
==> "Hello World!"<br />
<syntaxhighlight><br />
<br />
This only works in the simplest cases. Unfortunately, this doesn't work for all Emacs data types for programming or the editor.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(read (prin1-to-string (make-hash-table))) ;; Error before Emacs 23.<br />
==> #s(hash-table size 65 test eql rehash-size 1.5 [...] data ())<br />
<br />
(read (prin1-to-string (current-buffer)))<br />
==> Lisp error: (invalid-read-syntax "#")<br />
</syntaxhighlight> <br />
<br />
=== Formatting ===<br />
<br />
== Killing text ==<br />
<br />
As the Emacs Lisp Manual says, "Most of the kill commands are primarily for<br />
interactive use [...] When you need to delete text for internal<br />
purposes within a Lisp function, you should normally use deletion<br />
functions, so as not to disturb the kill ring contents."<br />
<br />
The following mimic the `kill-' commands but without disturbing the kill ring.<br />
<br />
=== Delete region ===<br />
<br />
The Lisp equivalent of `kill-region' (`C-w') but without kill ring side effects::<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (region-beginning) (region-end))<br />
</syntaxhighlight> <br />
<br />
According to the ElispManual, "Few programs need to use the<br />
`region-beginning' and `region-end' functions." This is because<br />
Lisp code should not rely on nor "alter the mark unless altering<br />
the mark is part of the user-level functionality of the<br />
command. (And, in that case, this effect should be documented.)<br />
To remember a location for internal use in the Lisp program,<br />
store it in a Lisp variable. For example: [...]"<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((beg (point)))<br />
(forward-line 1)<br />
(delete-region beg (point)))<br />
</syntaxhighlight><br />
<br />
=== Delete line ===<br />
<br />
The equivalent of `kill-line' (`C-k') but without kill ring side effects:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((beg (point)))<br />
(forward-line 1)<br />
(forward-char -1)<br />
(delete-region beg (point)))<br />
</syntaxhighlight><br />
<br />
Alternatively, replacing the `let' with `save-excursion'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (point)<br />
(save-excursion<br />
(forward-line 1)<br />
(forward-char -1)<br />
(point)))<br />
</syntaxhighlight> <br />
<br />
Or simplest of all,<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (point) (line-end-position))<br />
</syntaxhighlight> <br />
<br />
The examples with `forward-line' are shown because the paradigm is used later, see below.<br />
<br />
=== Delete line backwards ===<br />
<br />
The equivalent of killing the line backwards (`C-0 C-k') but without kill ring side effects:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((beg (point)))<br />
(forward-line 0)<br />
(delete-region (point) beg))<br />
</syntaxhighlight> <br />
<br />
Alternatively, replacing the `let' with `save-excursion'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (save-excursion<br />
(forward-line 0)<br />
(point))<br />
(point))<br />
</syntaxhighlight> <br />
<br />
Or simplest of all,<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (line-beginning-position) (point))<br />
</syntaxhighlight> <br />
<br />
<br />
=== Delete line to next line ===<br />
<br />
The equivalent of killing the line and the newline (`C-1 C-k') but without kill ring side effects:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((beg (point)))<br />
(forward-line 1)<br />
(delete-region beg (point)))<br />
</syntaxhighlight> <br />
<br />
Alternatively, replacing the `let' with `save-excursion'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (point)<br />
(save-excursion<br />
(forward-line 1)<br />
(point)))<br />
</syntaxhighlight> <br />
<br />
=== Delete whole line ===<br />
<br />
The equivalent of `kill-whole-line' (`C-S-DEL') but without kill ring side effects:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((beg (progn (forward-line 0)<br />
(point))))<br />
(forward-line 1)<br />
(delete-region beg (point)))<br />
</syntaxhighlight> <br />
<br />
Alternatively, replacing the `let' with `save-excursion'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (save-excursion<br />
(forward-line 0)<br />
(point))<br />
(save-excursion<br />
(forward-line 1)<br />
(point)))<br />
</syntaxhighlight> <br />
<br />
Or simplest of all,<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (line-beginning-position) (line-end-position))<br />
</syntaxhighlight> <br />
<br />
=== Delete word ===<br />
<br />
The equivalent of `kill-word' (`M-d') but without kill ring side effects:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((beg (point)))<br />
(forward-word 1)<br />
(delete-region beg (point)))<br />
</syntaxhighlight> <br />
<br />
Alternatively, replacing the `let' with `save-excursion'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (point)<br />
(save-excursion<br />
(forward-word 1)<br />
(point)))<br />
</syntaxhighlight> <br />
<br />
=== Delete sentence ===<br />
<br />
The equivalent of `kill-sentence' (`M-k') but without kill ring side effects:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((beg (point)))<br />
(forward-sentence 1)<br />
(delete-region beg (point)))<br />
</syntaxhighlight> <br />
<br />
Alternatively, replacing the `let' with `save-excursion'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delete-region (point)<br />
(save-excursion<br />
(forward-sentence 1)<br />
(point)))<br />
</syntaxhighlight><br />
<br />
== Numbers ==<br />
<br />
=== String a number? ===<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun string-integer-p (string)<br />
(if (string-match "\\`[-+]?[0-9]+\\'" string)<br />
t<br />
nil))<br />
<br />
(string-integer-p "1234")<br />
==> t<br />
<br />
(string-integer-p "x1234")<br />
==> nil<br />
<br />
(string-integer-p "3.141592653589793")<br />
==> nil<br />
<br />
(defun string-float-p (string)<br />
(if (string-match "\\`[-+]?[0-9]+\\.[0-9]*\\'" string)<br />
t<br />
nil))<br />
<br />
(string-float-p "1234")<br />
==> nil<br />
<br />
(string-float-p "3.141592653589793")<br />
==> t<br />
<br />
(string-float-p ".1")<br />
==> nil<br />
<br />
(string-float-p "1.")<br />
==> t<br />
</syntaxhighlight> <br />
<br />
=== String to number ===<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun decimal-number (string)<br />
(let ((n (string-to-number string)))<br />
(if (and (zerop n)<br />
(not (string-match "\\`\\s-*0+\\.?0*\\s-*\\'" string)))<br />
nil<br />
n)))<br />
<br />
(decimal-number "536870911")<br />
==> 536870911<br />
<br />
(decimal-number "536870912")<br />
==> 536870912.0<br />
<br />
(decimal-number "3.141592653589793")<br />
==> 3.141592653589793<br />
<br />
(decimal-number "042")<br />
==> 42<br />
<br />
(decimal-number " 0 ")<br />
==> 0<br />
<br />
(decimal-number "000")<br />
==> 0<br />
<br />
(decimal-number "0.0")<br />
==> 0.0<br />
</syntaxhighlight> <br />
<br />
<br />
=== Random numbers ===<br />
<br />
<syntaxhighlight lang="lisp"><br />
(random 2) ;coin toss (0 or 1)<br />
(+ (random 6) 1) ;dice<br />
</syntaxhighlight> <br />
<br />
=== Put commas in numbers ===<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun group-number (num &optional size char)<br />
"Format NUM as string grouped to SIZE with CHAR."<br />
;; Based on code for `math-group-float' in calc-ext.el<br />
(let* ((size (or size 3))<br />
(char (or char ","))<br />
(str (if (stringp num)<br />
num<br />
(number-to-string num)))<br />
(pt (or (string-match "[^0-9a-zA-Z]" str) (length str))))<br />
(while (> pt size)<br />
(setq str (concat (substring str 0 (- pt size))<br />
char<br />
(substring str (- pt size)))<br />
pt (- pt size)))<br />
str))<br />
<br />
(group-number 299792458)<br />
==> "299,792,458"<br />
(group-number "149597870691" 4 " ")<br />
==> "1495 9787 0691"<br />
</syntaxhighlight> <br />
<br />
=== Incrementing numbers ===<br />
<br />
TODO<br />
<br />
== Dates and times ==<br />
<br />
=== Get today's date ===<br />
<br />
TODO<br />
<br />
=== Formatting dates ===<br />
<br />
Use the function `format-time-string' which is a build in function in both Emacsen and works like `strftime':<br />
<br />
<syntaxhighlight lang="lisp"><br />
;; Year-Month-Day:<br />
(insert (format-time-string "%Y-%m-%d"))<br />
;; Hour:Minutes:Seconds<br />
(insert (format-time-string "%H-%M-%S"))<br />
</syntaxhighlight> <br />
<br />
=== Conversions ===<br />
<br />
Read a date from a string.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((time (date-to-time "Tue, 27-Sep-83 12:35:59 EST")))<br />
(set-time-zone-rule t) ;; Use Universal time.<br />
(prog1 (format-time-string "%Y-%m-%d %T UTC" time)<br />
(set-time-zone-rule nil))) ;; Reset to default time zone.<br />
==> "1983-09-27 17:35:59 UTC"<br />
</syntaxhighlight> <br />
<br />
Decode a time object.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(decode-time (date-to-time "Tue, 27-Sep-83 12:35:59 EST"))<br />
==> (59 35 13 27 9 1983 2 t -14400)<br />
</syntaxhighlight> <br />
<br />
Get the seconds from the unix epoch.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((time (date-to-time "13 Feb 2009 23:31:30 UTC")))<br />
(float-time time))<br />
==> 1234585890.0<br />
</syntaxhighlight> <br />
<br />
Find the date for seconds from the unix epoch.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(format-time-string "%Y-%m-%d %T UTC" (seconds-to-time 1234585890))<br />
==> "2009-02-13 23:31:30 UTC"<br />
</syntaxhighlight> <br />
<br />
Find the date 30 seconds in the future.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(format-time-string "%Y-%m-%d %T UTC" (time-add (current-time)<br />
(seconds-to-time 30)))<br />
==> "2012-02-13 10:07:11 UTC"<br />
</syntaxhighlight> <br />
<br />
Formatting elapsed time in years, days, hours, minutes and seconds.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(format-seconds "%Y %D %h:%m:%s" (1- (* 367 24 3600)))<br />
==> "1 year 1 day 23:59:59"<br />
</syntaxhighlight> <br />
<br />
Find the days between two dates.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((days1 (time-to-days (date-to-time "Tue, 27-Sep-83 12:35:59 EST")))<br />
(days2 (time-to-days (date-to-time "2009-02-13 23:31:30 UTC"))))<br />
(- days2 days1))<br />
==> 9271<br />
</syntaxhighlight> <br />
<br />
Getting the day in the year.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(time-to-day-in-year (current-time))<br />
==> 44<br />
</syntaxhighlight> <br />
<br />
Build a date based on the day of the year.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(format-time-string "%j"<br />
(encode-time 0 0 0 44 1 2012))<br />
==> "044"<br />
</syntaxhighlight> <br />
<br />
=== Timers ===<br />
<br />
TODO<br />
<br />
== Pattern matching ==<br />
<br />
"Patterns" refers to RegularExpression""s.<br />
<br />
There's a set of functions that work in strings, and a set that work in buffers.<br />
<br />
=== Finding ===<br />
<br />
<syntaxhighlight lang="lisp"><br />
(string-match "foo*" "Fight foo for food!")<br />
==> 6<br />
</syntaxhighlight> <br />
<br />
Buffers:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(with-temp-buffer<br />
(insert "Fight foo for food!")<br />
(goto-char (point-min))<br />
(re-search-forward "foo*")<br />
(point))<br />
==> 10<br />
</syntaxhighlight> <br />
<br />
Alternative without regular expressions: `search-forward'.<br />
<br />
Note that the functions working on buffers move point to the end of the occurrence found and return it.<br />
That's why the result is 10 instead of 6!<br />
<br />
=== Comments ===<br />
<br />
Move to the beginning of the current comment:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(require 'newcomment)<br />
(comment-beginning)<br />
</syntaxhighlight> <br />
<br />
Move to the text after a comment:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(comment-search-forward (line-end-position) t)<br />
</syntaxhighlight> <br />
<br />
See also EndOfLineNoComments.<br />
<br />
=== Search and replace ===<br />
<br />
<syntaxhighlight lang="lisp"><br />
(replace-regexp-in-string "foo*" "fu" "Fight foo for food!")<br />
==> "Fight fu fur fud!"<br />
</syntaxhighlight> <br />
<br />
Buffers:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(with-temp-buffer<br />
(insert "Fight foo for food!")<br />
(goto-char (point-min))<br />
(while (re-search-forward "foo*" nil t)<br />
(replace-match "fu"))<br />
(buffer-string))<br />
==> "Fight fu fur fud!"<br />
</syntaxhighlight> <br />
<br />
Alternative without regular expressions: `search-forward'.<br />
<br />
See also StringSearchAndReplace.<br />
<br />
=== Verifying ===<br />
<br />
Sometimes you just want to check whether you're at the right place:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(with-temp-buffer<br />
(insert "Fight foo for food!")<br />
(goto-char (point-min))<br />
(looking-at "fight"))<br />
==> t<br />
</syntaxhighlight> <br />
<br />
== Sequences ==<br />
<br />
Datatypes used to represent sequences of things:<br />
<br />
_____________________________________________<br />
| |<br />
| Sequence |<br />
| ______ ________________________________ |<br />
| | | | | |<br />
| | List | | Array | |<br />
| | | | ________ ________ | |<br />
| |______| | | | | | | |<br />
| | | Vector | | String | | |<br />
| | |________| |________| | |<br />
| | ____________ _____________ | |<br />
| | | | | | | |<br />
| | | Char-table | | Bool-vector | | |<br />
| | |____________| |_____________| | |<br />
| |________________________________| |<br />
|_____________________________________________|<br />
<br />
<br />
=== Lists ===<br />
<br />
List basics are explained on ListStructure.<br />
Lists can shrink and grow, but access to elements towards the end of the list is slow if the list is long.<br />
<br />
Use `cons' to append a new element to the front of a list.<br />
Use `nth' to access an element of the list.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((words '("fight" "foo" "for" "food!")))<br />
(when (string= "foo" (nth 1 words))<br />
(setq words (cons "bar" words)))<br />
words)<br />
==> ("bar" "fight" "foo" "for" "food!")<br />
</syntaxhighlight> <br />
<br />
See ListModification for more ways of changing a list.<br />
<br />
Iteration:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((result))<br />
(dolist (word '("fight" "foo" "for" "food!"))<br />
(when (string-match "o" word)<br />
(setq result (cons word result))))<br />
(nreverse result))<br />
==> ("foo" "for" "food!")<br />
</syntaxhighlight> <br />
<br />
Note how `cons' adds an element to the front of the list,<br />
so that usually the list has to be reversed after the loop.<br />
`nreverse' is particularly efficient because it does this<br />
destructively by swiveling pointers around. See<br />
DestructiveOperations for more about this.<br />
<br />
Copying:<br />
<br />
Use `copy-sequence' to make a copy of a list that won't change the<br />
elements of the original.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let* ((orig '((1 2) (3 4)))<br />
(copy (copy-sequence orig)))<br />
(setcdr copy '((5 6)))<br />
(list orig copy))<br />
==> (((1 2) (3 4)) ((1 2) (5 6)))<br />
</syntaxhighlight> <br />
<br />
However, the elements in the copy are still from the original.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let* ((orig '((1 2) (3 4)))<br />
(copy (copy-sequence orig)))<br />
(setcdr (cadr copy) '(0))<br />
(list orig copy))<br />
==> (((1 2) (3 0)) ((1 2) (3 0)))<br />
</syntaxhighlight> <br />
<br />
The function `copy-tree' is the recursive version of `copy-sequence'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let* ((orig '((1 2) (3 4)))<br />
(copy (copy-tree orig)))<br />
(setcdr (cadr copy) '(0))<br />
(list orig copy))<br />
==> (((1 2) (3 4)) ((1 2) (3 0)))<br />
</syntaxhighlight> <br />
<br />
Filtering:<br />
<br />
Emacs Lisp doesn't come with a `filter' function to keep elements that satisfy a conditional and excise the elements that do not satisfy it. One can use `mapcar' to iterate over a list with a conditional, and then use `delq' to remove the `nil' values.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun my-filter (condp lst)<br />
(delq nil<br />
(mapcar (lambda (x) (and (funcall condp x) x)) lst)))<br />
</syntaxhighlight> <br />
<br />
Therefore,<br />
<br />
<syntaxhighlight lang="lisp"><br />
(my-filter 'identity my-list)<br />
</syntaxhighlight> <br />
<br />
is equivalent to<br />
<br />
<syntaxhighlight lang="lisp"><br />
(delq nil my-list)<br />
</syntaxhighlight> <br />
<br />
For example:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((num-list '(1 'a 2 "nil" 3 nil 4)))<br />
(my-filter 'numberp num-list))<br />
==> (1 2 3 4)<br />
</syntaxhighlight> <br />
<br />
Actually the package cl-seq contains the functions `remove-if' and `remove-if-not'. The latter can be used instead of `my-filter'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((num-list '(1 'a 2 "nil" 3 nil 4)))<br />
(remove-if-not 'numberp num-list))<br />
==> (1 2 3 4)<br />
<br />
(let ((num-list '(1 'a 2 "nil" 3 nil 4)))<br />
(remove-if 'numberp num-list))<br />
==> ((quote a) "nil" nil)<br />
</syntaxhighlight> <br />
<br />
As an example here is the quick sort algorithm:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun quicksort (lst)<br />
"Implement the quicksort algorithm."<br />
(if (null lst) nil<br />
(let* ((spl (car lst))<br />
(rst (cdr lst))<br />
(smalp (lambda (x)<br />
(< x spl))))<br />
(append (quicksort (remove-if-not smalp rst))<br />
(list spl)<br />
(quicksort (remove-if smalp rst))))))<br />
<br />
(quicksort '(5 7 1 3 -9 8 7 -4 0))<br />
==> (-9 -4 0 1 3 5 7 7 8)<br />
</syntaxhighlight> <br />
<br />
Tranposing:<br />
<br />
Convert multiple lists into a list <br />
<br />
<syntaxhighlight lang="lisp"><br />
((lambda (&rest args)<br />
(mapcar (lambda (n)<br />
(delq nil (mapcar (lambda (arg) (nth n arg)) args)))<br />
(number-sequence 0 (1- (apply 'max (mapcar 'length args))))))<br />
'(1 2 3) '(a b c) '(A B C))<br />
==> ((1 a A) (2 b B) (3 c C))<br />
</syntaxhighlight> <br />
<br />
A more concise version is possible with the the higher-arity version of mapcar available with the `cl' library.<br />
<br />
<syntaxhighlight lang="lisp"><br />
((lambda (&rest args)<br />
(apply (function mapcar*) (function list) args))<br />
'(1 2 3) '(a b c) '(A B C))<br />
==> ((1 a A) (2 b B) (3 c C))<br />
</syntaxhighlight> <br />
<br />
Searching:<br />
<br />
Simply checking for existence of a value in a list can be done with<br />
`member' or `memq'.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((words '("fight" "foo" "for" "food!")))<br />
(car (member "for" words)))<br />
==> "for"<br />
<br />
(let ((re "\\wo\\b")<br />
(words '("fight" "foo" "for" "food!")))<br />
(consp (memq t<br />
(mapcar (lambda (s) (numberp (string-match re s))) words))))<br />
==> t<br />
</syntaxhighlight> <br />
<br />
In the latter, a more efficient algorithm would use a loop (a non-local exit).<br />
<br />
=== Association lists ===<br />
<br />
The ElispManual has examples of finding and deleting values in an<br />
association list. Here are cases when the car values are strings.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(assoc "2" '(("2" . 2) ("1" . 1) ("2") ("3" . 3)))<br />
==> ("2" . 2)<br />
</syntaxhighlight> <br />
<br />
Deleting:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((alist '(("a" . 1) ("b" . 2))))<br />
(delq (assoc "a" alist) alist))<br />
==> (("b" . 2))<br />
</syntaxhighlight> <br />
<br />
Matches with a test function other than `equal':<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((alist '(("ab" . 1) ("bc" . 2) ("cd" . 3))))<br />
(assoc-default "c" alist (lambda (x y) (string-match y x))))<br />
==> 2<br />
</syntaxhighlight> <br />
<br />
=== Vectors ===<br />
<br />
Vectors are fixed in size but elements can be accessed in constant time.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((words ["fight" "foo" "for" "food!"]))<br />
(when (string= "foo" (aref words 1))<br />
(aset words 1 "bar"))<br />
words)<br />
==> ["fight" "bar" "for" "food!"]<br />
</syntaxhighlight> <br />
<br />
== Hashes ==<br />
<br />
Hashes map keys to values. In a way they are similar to alists, except<br />
they are more efficient for a large number of keys.<br />
<br />
More info is available on the HashMap page.<br />
<br />
=== Storing and retrieving keys and values ===<br />
<br />
By default, hash tables use `eql' to compare keys. This is not appropriate<br />
for strings: ##(eql "alex" "alex")## ==> nil. Thus, use `equal' in these cases:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((nick-table (make-hash-table :test 'equal)))<br />
(puthash "kensanata" "Alex Schroeder" nick-table)<br />
(gethash "kensanata" nick-table))<br />
==> "Alex Schroeder"<br />
</syntaxhighlight> <br />
<br />
Iterate:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((nick-table (make-hash-table :test 'equal))<br />
nicks)<br />
(puthash "kensanata" "Alex Schroeder" nick-table)<br />
(puthash "e1f" "Luis Fernandes" nick-table)<br />
(puthash "pjb" "Pascal J. Bourguignon" nick-table)<br />
(maphash (lambda (nick real-name)<br />
(setq nicks (cons nick nicks)))<br />
nick-table)<br />
nicks)<br />
==> ("pjb" "e1f" "kensanata")<br />
</syntaxhighlight> <br />
<br />
=== Sorting keys ===<br />
<br />
Use `maphash' to build up a list of keys, sort it, and then loop through<br />
the list:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(let ((nick-table (make-hash-table :test 'equal))<br />
nicks)<br />
(puthash "kensanata" "Alex Schroeder" nick-table)<br />
(puthash "e1f" "Luis Fernandes" nick-table)<br />
(puthash "pjb" "Pascal J. Bourguignon" nick-table)<br />
(maphash (lambda (nick real-name)<br />
(setq nicks (cons nick nicks)))<br />
nick-table)<br />
(mapcar (lambda (nick)<br />
(concat nick " => " (gethash nick nick-table)))<br />
(sort nicks 'string<)))<br />
==> ("e1f => Luis Fernandes"<br />
"kensanata => Alex Schroeder"<br />
"pjb => Pascal J. Bourguignon")<br />
</syntaxhighlight> <br />
<br />
== Files ==<br />
<br />
=== Read ===<br />
<br />
Processing a file is usually done with a temporary buffer:<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun process-file (file)<br />
"Read the contents of a file into a temp buffer and then do<br />
something there."<br />
(when (file-readable-p file)<br />
(with-temp-buffer<br />
(insert-file-contents file)<br />
(goto-char (point-min))<br />
(while (not (eobp))<br />
;; do something here with buffer content<br />
(forward-line)))))<br />
</syntaxhighlight> <br />
<br />
On the chance that a buffer may already be actively visiting the file,<br />
consider using `find-file-noselect'<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun file-string (file)<br />
"Read the contents of a file and return as a string."<br />
(with-current-buffer (find-file-noselect file)<br />
(buffer-string)))<br />
</syntaxhighlight> <br />
<br />
=== Write ===<br />
<br />
To write something to a file you can create a temporary buffer, insert the things to write there and write the buffer contents to a file. The following example read a string and a filename (with completion, but doesn't need to exist, see InteractiveCodeChar F) and write the string to that file.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun write-string-to-file (string file)<br />
(interactive "sEnter the string: \nFFile to save to: ")<br />
(with-temp-buffer<br />
(insert string)<br />
(when (file-writable-p file)<br />
(write-region (point-min)<br />
(point-max)<br />
file))))<br />
</syntaxhighlight> <br />
<br />
=== Input and output (I/O) ===<br />
<br />
This is a nice and simple way to edit a file with Emacs Lisp,<br />
especially when there's a chance the file might be already be visited<br />
in Emacs and its ok to edit the existing buffer.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(with-current-buffer (find-file-noselect "~/logfile")<br />
(goto-char (point-max))<br />
(insert (format "Hash of last line: %s"<br />
(md5<br />
(save-excursion<br />
(forward-line -1)<br />
(buffer-substring-no-properties (point)<br />
(line-end-position))))))<br />
(newline)<br />
(with-temp-message "Writing file..."<br />
(save-buffer))<br />
(message "Writing file...done"))<br />
</syntaxhighlight> <br />
<br />
=== Searching ===<br />
<br />
If you don't have grep, then you may need to write some Lisp which can find a match in a file.<br />
<br />
<syntaxhighlight lang="lisp"><br />
;; Visit file unless its already open.<br />
(with-current-buffer (find-file-noselect "~/.emacs")<br />
(save-excursion ;; Don't change location of point.<br />
(goto-char (point-min)) ;; From the beginning...<br />
(if (re-search-forward ".*load-path.*" nil t 1)<br />
(match-string-no-properties 0)<br />
(error "Search failed"))))<br />
==> "(add-to-list 'load-path \"/usr/share/emacs/site-lisp/\")"<br />
</syntaxhighlight> <br />
<br />
=== Filter ===<br />
<br />
=== Locking ===<br />
<br />
=== Stat ===<br />
<br />
An interface to the kernel's stat(2) is provided by the function file-attributes. The way times are represented may be a bit unexpected, though.<br />
<br />
=== Deleting ===<br />
<br />
<syntaxhighlight lang="lisp"><br />
(if (file-exists-p filename)<br />
(delete-file filename))<br />
</syntaxhighlight> <br />
<br />
=== Copy, move and rename ===<br />
<br />
== Directories ==<br />
<br />
=== Traversing ===<br />
<br />
<syntaxhighlight lang="lisp"><br />
(defun walk-path (dir action)<br />
"walk DIR executing ACTION with (dir file)"<br />
(cond ((file-directory-p dir)<br />
(or (char-equal ?/ (aref dir(1- (length dir))))<br />
(setq dir (file-name-as-directory dir)))<br />
(let ((lst (directory-files dir nil nil t))<br />
fullname file)<br />
(while lst<br />
(setq file (car lst))<br />
(setq lst (cdr lst))<br />
(cond ((member file '("." "..")))<br />
(t<br />
(and (funcall action dir file)<br />
(setq fullname (concat dir file))<br />
(file-directory-p fullname)<br />
(walk-path fullname action)))))))<br />
(t<br />
(funcall action<br />
(file-name-directory dir)<br />
(file-name-nondirectory dir)))))<br />
<br />
(defun walk-path-visitor (dir file)<br />
"Called by walk-path for each file found"<br />
(message (concat dir file)))<br />
<br />
(walk-path "~/" 'walk-path-visitor)<br />
</syntaxhighlight> <br />
<br />
=== Path splitting ===<br />
<br />
Splitting the path can be done with `split-string' and with the slash. Previously, Emacs would determine the character separating directory names with `directory-sep-char'. However, the variable is obselete with Emacs 21.1.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(split-string default-directory "/")<br />
==> ("" "usr" "share" "emacs" "22.2" "lisp" "")<br />
</syntaxhighlight><br />
<br />
For splitting a path variable, Emacs already has the `parse-colon-path' function.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(parse-colon-path (getenv "PATH"))<br />
==> ("/usr/lib/qt-3.3/bin/" "/usr/kerberos/bin/" "/usr/local/bin/"<br />
"/usr/bin/" "/bin/" "/usr/local/sbin/" "/usr/sbin/" "/sbin/")<br />
</syntaxhighlight><br />
<br />
== Processes ==<br />
<br />
=== Running a program ===<br />
<br />
Run a command without caring about its output.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(async-shell-command "emacs")<br />
</syntaxhighlight> <br />
<br />
Run a command and put its output in the current buffer.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(shell-command "seq 8 12 | sort" t)<br />
10<br />
11<br />
12<br />
8<br />
9<br />
</syntaxhighlight> <br />
<br />
Run a command and put its output in a new buffer.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(shell-command "seq 8 12 | sort"<br />
(get-buffer-create "*Standard output*"))<br />
</syntaxhighlight> <br />
<br />
Run a command return its output as a string.<br />
<br />
<syntaxhighlight lang="lisp"><br />
(shell-command-to-string "seq 8 12 | sort")<br />
</syntaxhighlight> <br />
<br />
XEmacs also comes with `exec-to-string'.<br />
<br />
=== Handling signals ===<br />
<br />
== Sockets ==<br />
<br />
=== Tcp client ===<br />
<br />
=== Tcp server ===<br />
<br />
Perhaps EmacsEchoServer and EmacsDaytimeServer can be useful here.<br />
<br />
== Keyboard events ==<br />
<br />
* Call function bound to key<br />
<br />
<syntaxhighlight lang="lisp"><br />
(funcall (key-binding (kbd "M-TAB")))<br />
</syntaxhighlight> <br />
<br />
or<br />
<br />
<syntaxhighlight lang="lisp"><br />
(call-interactively (key-binding (kbd "M-TAB")))<br />
</syntaxhighlight> <br />
<br />
[[Category:Customization]]<br />
[[Category:Intermediate]]</div>GregLucashttps://wikemacs.org/index.php?title=Category_talk:Templates&diff=2505Category talk:Templates2012-04-04T18:17:45Z<p>GregLucas: </p>
<hr />
<div>One of the things that need to be resolved is this. <br />
<br />
* When would namespace be used? When would categories be used? <br />
* Templates are in the namespace of their own. <br />
<br />
It is easy to search for them. One can search for articles in a given namespace. I don't see why a separate category is needed for this?<br />
<br />
I want the current contributors to Wikemacs to start organizing around separate namespaces rather than the current default organizing around categories.<br />
<br />
: I agree, using different namespaces would more good. may be we can formalize which things go where.<br />
:* WikEmacs -- licence, user, and others()<br />
:* Category -- articles<br />
:* Tutorial -- all tutorials <br />
:* Help -- any help material for users <br />
:* Template -- for all templates<br />
:* Bots -- for all bots (none is written yet by the way)<br />
: any other new spaces<br />
: -- [[User:Kindahero|Kindahero]] 14:27, 4 April 2012 (EEST)<br />
<br />
:: Okay It seems we cant do that, even though we write any thing in any namespaces, all of them can only be organized through Categories. So I think we can write articles in different namespace(as I wrote above), but they all organized through categories. I could be wrong or may some one else has better Idea -- [[User:Kindahero|Kindahero]] 14:39, 4 April 2012 (EEST)<br />
<br />
<br />
I'm new to MediaWiki, but Namespaces don't appear to be designed for this kind of grouping. Categories and subcategories seem like a more appropriate organization system:<br />
* You can define a hierarchy<br />
* A page can belong to multiple categories<br />
* You get a category page that provides a nice alphabetized list of pages and subcategories.<br />
Namespaces seem like a much coarser-grained grouping. Looking at the help pages (http://www.mediawiki.org/wiki/Manual:Using_custom_namespaces) it seems like adding a real namespaces (vs. prefixing page names) requires a configuration change, and the only reason suggested to do so is "to hold content that should not be shown on the search results page". I agree things like templates and bots belong in a namespace so they aren't included in search results by default, but it still seems useful to categorize them. [[User:GregLucas|GregLucas]] 21:17, 4 April 2012 (EEST)</div>GregLucashttps://wikemacs.org/index.php?title=Template:NewPage&diff=2460Template:NewPage2012-04-04T01:33:32Z<p>GregLucas: </p>
<hr />
<div>'''{{{1}}}''' is a wonderful mode which does wonderful things.<br />
<br />
<!-----DONT REMOVE ANYTHING FROM THIS TEMPLATE ------------------------------><br />
<!-----YOU CAN DELETE STUFF THAT ARE USELESS IN THE FINAL PAGE YOU ARE WRITING -------><br />
<!-----FEW MONTHS, YEARS FROM WE CAN DELETE STUFF. NOT NOW ------------------><br />
<!-----YOU DON"T WANT WIKEMACS TO BE ANOTHER EMACSWIKI RIGHT ------------------><br />
<!-----PLEASE BE PATIENT AND CO-OPERATE FOR GREATER GOOD ------------------><br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Basic setup ==<br />
<br />
Install these third party libraries or read this section before proceeding.<br />
<br />
== Helpful keybindings ==<br />
<br />
; {{Keys|C-x C-c}}<br />
: Quit Emacs.<br />
<br />
; {{CommandKeys|C-x C-s|save-buffer}}<br />
: Save buffer.<br />
<br />
<!-------------------------------------------------------------------------><br />
== Common Customization ==<br />
<!-- Customization common to all platforms goes here --><br />
<br />
=== Customization 1 ===<br />
<source lang="lisp"><br />
(message "This stuff will go in your .emacs")<br />
</source><br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[GNU/Linux]] ==<br />
<!-- Customization/Notes specific to GNU/Linux goes here --><br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[OS X]] ==<br />
<!-- Customization/Notes specific to OS X goes here --><br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[Windows]] ==<br />
<!-- Customization/Notes specific to Windows goes here --><br />
<br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[Emacs-24]] ==<br />
<!-- Customization/Notes specific to Emacs-24 --><br />
<!-- Recent revision should come first. This way important information stays at top --><br />
<br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[Emacs-23]] ==<br />
<!-- Customization/Notes specific to Emacs-22 --><br />
Emacs-23 is not as great as Emacs-24. You will have these problems and you can workaround it this way.<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Recommended Reading ==<br />
<!-- Only internal links. DO NOT insert EXTERNAL LINKS --><br />
* [[Internal Link1]]<br />
* [[Internal Link2]]<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Project Pages ==<br />
* [http://bazaar.canonical.com/en/ Bazaar]<br />
* [http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html Bzr Users Guide]<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Tutorial Pages ==<br />
;[http://wiki.bazaar.canonical.com/EmacsTips Emacs as commit message editor] <br />
:Tips for setting up Emacs as Bazaar commit editor.<br />
<br />
<!-------------------------------------------------------------------------><br />
<!-- Add categories based on user-level (beginner etc), user-role (programming, emacs contributor etc), platform (windows, linux etc) or work flow (text editing, document authoring etc) --><br />
<br />
[[Category:TestCategory1]][[Category:TestCategory2]]<br />
<br />
<!-- When copying this template, ignore everything below here! --><br />
<noinclude>[[Category:Templates]]</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=User:Xophist&diff=2459User:Xophist2012-04-04T01:30:12Z<p>GregLucas: /* WikEmacs */ fix links, renamed 'Emacs Wiki Templates' to 'Templates'</p>
<hr />
<div>==About Me==<br />
* '''RealName=Greg Scott'''<br />
* '''Coastal Texas Anarchist MicroNation'''<br />
* Gnu Emacs user, currently working in 23.4 and 24.0.94.1 as of 2012-03-27<br />
* Emacs user for 15 years, but seem to be relearning all the time because of forgetting what I haven't used recently<br />
* spend 99% of PC time in either Emacs or Chrome<br />
* former Linux user (from scratch, Slackware up to 9.1). Recent distros don't support all hardware on my 14 year old PC, and have gotten too bloated, so:<br />
* currently on Windows XP, which is faster on my old PC than recent Linux distros<br />
* Topics I'm currently trying to get working on Windows XP that worked on Linux:<br />
** spell check (aspell or hunspell)<br />
** offline dictionary lookup (edict, kanjidic)<br />
* Topics that are not OS-specific that I want to learn more about:<br />
** specifying a different font for various Unicode ranges<br />
** new features in version 24 (it handles RTL languages like Hebrew, Arabic!, shows the hex code for non-displaying glyphs instead of the empty block, adds rectangle-number-lines C-x r N)<br />
** old modes I've forgotten through disuse, new modes<br />
** ditto for tips and tricks<br />
** testing mediawiki.el v.2.2.2<br />
<br />
=='''Emacs version'''==<br />
* GNU Emacs 24.0.94.1 (i386-mingw-nt5.1.2600) as of 2012-03.<br />
* 20+ years on Unix platforms, Linux<br />
* Most recently switched to Windows XP as it makes my 14 year old PC run faster (Linux is getting bloated)<br />
<br />
=='''WikEmacs'''==<br />
*[[WikEmacs:Guidelines]]<br />
*[[Template:NewPage]]<br />
*[[Special:Upload|Upload file]]<br />
*[[Special:AllPages|AllPages]], useful when WikEmacs is small<br />
*[[Special:Categories]]<br />
*[[:Category:Templates]]<br />
*[[:Category:Programming]]<br />
*[[Special:ListRedirects|ListRedirects]]<br />
*[[Special:UncategorizedCategories|UncategorizedCategories]], love that one!<br />
*[[Special:UncategorizedTemplates|UncategorizedTemplates]]<br />
*[[Mediawiki.el]]<br />
*[[Emacs_Lisp|Emacs Lisp]]<br />
*[[SLIME]]<br />
*[[List of Emacs plugins for Web browsers]]<br />
*[[Emacs as a web browser's external editor]]<br />
*[[Edit with Emacs]]<br />
*[[It's All Text!]]<br />
*[[Spell check]]<br />
*[[Unicode support]]<br />
*[[Key Bindings]]<br />
*[[Tabbar]]<br />
*[[Emacs-mode]]<br />
*[[Lookup]]<br />
*[[Edict]]<br />
*[[]]<br />
*[[]]<br />
*[[]]<br />
<br />
=='''External Links'''==<br />
*[https://groups.google.com/forum/?fromgroups#!forum/wikemacs Google Group:WikEmacs]<br />
*[http://emacswiki.org/ EmacsWiki], was the predecessor to [[Main Page|WikEmacs]]<br />
*[http://xahlee.org/emacs/emacs.html Xah Emacs Tutorial], why can't more people get to the point, as Xah does?<br />
*[http://meta.wikimedia.org/wiki/Help:Wikitext_examples MediaWiki Markup Examples]<br />
<br />
<br />
[[Category:WikEmacs Contributor]]</div>GregLucashttps://wikemacs.org/index.php?title=Help:Editing&diff=2458Help:Editing2012-04-04T01:29:15Z<p>GregLucas: </p>
<hr />
<div>This website Uses "Mediawiki" mark up. <br />
<br />
<br />
== Templates ==<br />
<br />
To make this website consistent across the pages number are [[:Category:Templates|templates]] are written. They also make editing articles easy. Learn about them and use them where ever possible. you can also make your own templates if necessary from them.<br />
<br />
The following list of templates are commonly used:<br />
<br />
{| border="1" cellpadding="5" cellspacing="0" width="75%"<br />
|-<br />
!What it looks like<br />
!What you type<br />
|-<br />
| {{Manual|emacs|Major-Modes|Major Modes}}<br />
| <pre>{{Manual|emacs|Major-Modes|Major Modes}}</pre><br />
|-<br />
| {{CommandKeys|C-x C-f|find-file}}<br />
| <pre>{{CommandKeys|C-x C-f|find-file}}</pre><br />
|-<br />
| {{Keys|C-x C-c}}<br />
| <pre>{{Keys|C-x C-c}}</pre><br />
|-<br />
| {{Keys|C-x f|set-fill-column}}<br />
| <pre>{{Keys|C-x f|set-fill-column}}</pre><br />
|-<br />
| {{Command|find-file}} <br />
| <pre>{{Command|find-file}}</pre> <br />
|-<br />
| {{CustomizeVariable|c-default-style}} <br />
| <pre>{{CustomizeVariable|c-default-style}}</pre><br />
|-<br />
| {{Snippet|(global-set-key (kbd "C-c c") 'org-capture)}}<br />
| <pre>{{Snippet|(global-set-key (kbd "C-c c") 'org-capture)}}</pre><br />
|-<br />
| {{Dirname|~/.emacs.d}}<br />
| <pre>{{Dirname|~/.emacs.d}}</pre><br />
|-<br />
| {{Filename|init.el}}<br />
| <pre>{{Filename|init.el}}</pre><br />
|}<br />
[[Help:Contents]]<br />
<br />
[[Category:WikEmacs]]</div>GregLucashttps://wikemacs.org/index.php?title=Template:NewPage&diff=2457Template:NewPage2012-04-04T01:27:40Z<p>GregLucas: </p>
<hr />
<div>'''{{{1}}}''' is a wonderful mode which does wonderful things.<br />
<br />
<!-----DONT REMOVE ANYTHING FROM THIS TEMPLATE ------------------------------><br />
<!-----YOU CAN DELETE STUFF THAT ARE USELESS IN THE FINAL PAGE YOU ARE WRITING -------><br />
<!-----FEW MONTHS, YEARS FROM WE CAN DELETE STUFF. NOT NOW ------------------><br />
<!-----YOU DON"T WANT WIKEMACS TO BE ANOTHER EMACSWIKI RIGHT ------------------><br />
<!-----PLEASE BE PATIENT AND CO-OPERATE FOR GREATER GOOD ------------------><br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Basic setup ==<br />
<br />
Install these third party libraries or read this section before proceeding.<br />
<br />
== Helpful keybindings ==<br />
<br />
; {{Keys|C-x C-c}}<br />
: Quit Emacs.<br />
<br />
; {{CommandKeys|C-x C-s|save-buffer}}<br />
: Save buffer.<br />
<br />
<!-------------------------------------------------------------------------><br />
== Common Customization ==<br />
<!-- Customization common to all platforms goes here --><br />
<br />
=== Customization 1 ===<br />
<source lang="lisp"><br />
(message "This stuff will go in your .emacs")<br />
</source><br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[GNU/Linux]] ==<br />
<!-- Customization/Notes specific to GNU/Linux goes here --><br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[OS X]] ==<br />
<!-- Customization/Notes specific to OS X goes here --><br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[Windows]] ==<br />
<!-- Customization/Notes specific to Windows goes here --><br />
<br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[Emacs-24]] ==<br />
<!-- Customization/Notes specific to Emacs-24 --><br />
<!-- Recent revision should come first. This way important information stays at top --><br />
<br />
<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== [[Emacs-23]] ==<br />
<!-- Customization/Notes specific to Emacs-22 --><br />
Emacs-23 is not as great as Emacs-24. You will have these problems and you can workaround it this way.<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Recommended Reading ==<br />
<!-- Only internal links. DO NOT insert EXTERNAL LINKS --><br />
* [[Internal Link1]]<br />
* [[Internal Link2]]<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Project Pages ==<br />
* [http://bazaar.canonical.com/en/ Bazaar]<br />
* [http://doc.bazaar-vcs.org/bzr.dev/en/user-guide/index.html Bzr Users Guide]<br />
<br />
<!-------------------------------------------------------------------------><br />
<br />
== Tutorial Pages ==<br />
;[http://wiki.bazaar.canonical.com/EmacsTips Emacs as commit message editor] <br />
:Tips for setting up Emacs as Bazaar commit editor.<br />
<br />
<!-------------------------------------------------------------------------><br />
<!-- Add categories based on user-level (beginner etc), user-role (programming, emacs contributor etc), platform (windows, linux etc) or work flow (text editing, document authoring etc) --><br />
<br />
[[Category:TestCategory1]][[Category:TestCategory2]]<br />
<noinclude>[[Category:Templates]]</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Variable&diff=2455Template:Variable2012-04-04T01:16:58Z<p>GregLucas: </p>
<hr />
<div><includeonly><span title="Try `C-h v {{{1}}}' for more information." style="border-bottom:1px dotted"><tt>{{{1}}}</tt></span></includeonly><noinclude><br />
<br />
== Usage ==<br />
<br />
Refer to a variable.<br />
<br />
<pre>{{Variable|auto-mode-alist}}</pre> will be rendered as {{Variable|auto-mode-alist}}.<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:UnixCommand&diff=2454Template:UnixCommand2012-04-04T01:16:44Z<p>GregLucas: </p>
<hr />
<div><includeonly><tt>{{{1}}}</tt></includeonly><noinclude><br />
<br />
== Usage ==<br />
Show a Unix command.<br />
<pre>{{UnixCommand|ls -lf}}</pre> will be rendered as: {{UnixCommand|ls -lf}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:StackOverflow&diff=2453Template:StackOverflow2012-04-04T01:16:31Z<p>GregLucas: </p>
<hr />
<div><includeonly>[http://stackoverflow.com/questions/{{{1}}} StackOverflow:{{{2}}}]</includeonly><noinclude><br />
<br />
== Usage ==<br />
<br />
Link to a StackOverflow question. <br />
<pre>{{StackOverflow|9972523/emacs-buffer-groups-tabs|Emacs buffer groups/tabs}}</pre><br />
will be rendered as: <br />
{{StackOverflow|9972523/emacs-buffer-groups-tabs|Emacs buffer groups/tabs}}<br />
<br />
[[Category:Templates]]<br />
[[Category:External Link Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Snippet&diff=2452Template:Snippet2012-04-04T01:16:18Z<p>GregLucas: </p>
<hr />
<div><includeonly>{{#tag:source|{{{1}}}|lang="lisp"}}</includeonly><noinclude><br />
<br />
== Usage ==<br />
Show a short snippet of Lisp code. For longer examples, use a <nowiki><source lang="lisp"></nowiki> block.<br />
<pre>{{Snippet|(this (is ("a test")))}}</pre>will be rendered as: {{Snippet|(this (is ("a test")))}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:PrefixKeys&diff=2451Template:PrefixKeys2012-04-04T01:16:00Z<p>GregLucas: </p>
<hr />
<div><includeonly><span title="{{{2|Try `{{{1}}} C-h' for more information.}}}" style="border-bottom:1px dotted">'''[{{{1}}}]'''</span></includeonly><noinclude><br />
<br />
== Usage ==<br />
Show a prefix key, with an optional tool tip for the associated functionality.<br />
<br />
<pre>{{PrefixKeys|C-x 4}}</pre> will be rendered as: {{PrefixKeys|C-x 4}}<br />
<br />
<pre>{{PrefixKeys|C-x r|Work with registers and bookmarks}}</pre> will be rendered as: {{Keys|C-x C-x|Work with registers and bookmarks}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Package&diff=2450Template:Package2012-04-04T01:15:44Z<p>GregLucas: </p>
<hr />
<div><includeonly><!--Summary Infobox --><br />
{{Infobox<br />
| title = {{{name|package name}}}<br />
| label1 = Description<br />
| data1 = {{{description|simple one line description}}}<br />
| label2 = Author<br />
| data2 = {{{author|name of author}}}<br />
| label3 = Maintainer<br />
| data3 = {{{maintainer|name of maintainer}}}<br />
| label4 = Source<br />
| data4 = {{{source|'''no link provided'''}}}<br />
| {{#if: {{{in_emacs|}}}||NULL}}label5 = Part of Emacs<br />
| {{#if: {{{in_emacs|}}}||NULL}}data5 = {{#if: {{{in_emacs|}}}|{{{in_emacs}}}}}<br />
}}</includeonly><noinclude><br />
<br />
<br />
== Usage ==<br />
<br />
This template is used for adding a Emacs Packages to the wiki and formating a nice bit of boiler plate and auto-categorisation. Parameters include: <br />
<br />
* name - Name of package<br />
* description - One line description<br />
* author - Author Name<br />
* maintainer - The maintainer<br />
* source - Where the source code lives<br />
* (optional) in_emacs - When the package was included in emacs<br />
<br />
{{Package<br />
|name=edit-server.el<br />
|description=Provide an edit server for Chrom(ium) browser extensions<br />
|author=Alex Bennée<br />
|maintainer=Alex Bennée<br />
|source=https://github.com/stsquad/emacs_chrome/blob/master/servers/edit-server.el<br />
|category=<br />
}}<br />
<br />
By using this template to declare a package you automatically include the page in the [[:Category:Emacs Package|Emacs Package category]]<br />
<br />
The sample box shown here is defined using:<br />
<pre><br />
{{Package<br />
|name=edit-server.el<br />
|description=Provide an edit server for Chrom(ium) browser extensions<br />
|author=Alex Bennée<br />
|maintainer=Alex Bennée<br />
|source=https://github.com/stsquad/emacs_chrome/blob/master/servers/edit-server.el<br />
}}<br />
</pre><br />
<br />
<!-- Note: The sample above sets 'category' to empty just so this Template page doesn't get categorized. --><br />
<!-- The pre block shows the correct usage, where the 'category' param is unset and so the default gets used. --><br />
<br />
[[Category:Templates]]<br />
[[Category:Package]]<br />
<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Note&diff=2449Template:Note2012-04-04T01:15:31Z<p>GregLucas: </p>
<hr />
<div><includeonly>{{#if: {{{1|}}}|<div class="block-note"><span class="block-contents">|[[File:Bulbgraph.png|18px|Note|link=]]}} '''Note:''' {{#if: {{{1|}}}|{{{1}}}</span></div>}}</includeonly><noinclude><br />
<br />
== Usage ==<br />
<br />
=== Method 1 ===<br />
<br />
The following displays the note icon and the word 'Note:'. You can follow this with whatever text/images/markup you like, and it works in-line, within a paragraph.<br />
Monsters are green. <nowiki>{{note}}</nowiki> this is an in-line note, to remind you that some monsters are orangey-purple.<br />
<br />
Monsters are green. {{Note}} this is an in-line note, to remind you that some monsters are orangey-purple.<br />
<br />
<br />
=== Method 2 ===<br />
The following includes the text passed to the template, and uses a table to stop the text flowing round the icon. These always force a newline before and after the note.<br />
<br />
<nowiki>{{note|Here is a long note, which is sufficiently wordy to run onto a second line, <br />
which would normally cause it to wrap round the icon, but because we passed it as a parameter <br />
it keeps its left alignment straight.}}</nowiki> <br />
<br />
{{note|Here is a long note, which is sufficiently wordy to run onto a second line, which would normally cause it to wrap round the icon, but because we passed it as a parameter it keeps its left alignment straight.}}<br />
<br />
[[Category:Templates]]<br />
<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:ModeLink&diff=2448Template:ModeLink2012-04-04T01:15:18Z<p>GregLucas: </p>
<hr />
<div><includeonly><tt>[[{{{1}}}]]</tt></includeonly><noinclude><br />
<br />
== Usage ==<br />
Link to a mode.<br />
<pre>{{ModeLink|java-mode}}</pre> will be rendered as: {{ModeLink|java-mode}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Mode&diff=2447Template:Mode2012-04-04T01:15:07Z<p>GregLucas: </p>
<hr />
<div><includeonly><tt>{{{1}}}</tt></includeonly><noinclude><br />
<br />
== Usage ==<br />
Show a mode name.<br />
<pre>{{Mode|text-mode}}</pre> will be rendered as: {{Mode|text-mode}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Manual&diff=2446Template:Manual2012-04-04T01:14:55Z<p>GregLucas: </p>
<hr />
<div><includeonly>[http://www.gnu.org/software/emacs/manual/html_node/{{{1}}}/{{{2}}}.html#{{{2}}} {{{3}}}] (`(info "({{{1}}}) {{{3}}}")')</includeonly><noinclude><br />
<br />
== Usage ==<br />
Refer to a manual entry, providing a link to the online manual and a lisp snippet that can be evaluated to read the manual entry locally. <br />
<pre>{{Manual|emacs|Major-Mode|Major Mode}}</pre> will be rendered as: {{Manual|emacs|Major-Mode|Major Mode}}<br />
<br />
[[Category:Templates]]<br />
[[Category:External Link Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Keys&diff=2445Template:Keys2012-04-04T01:14:42Z<p>GregLucas: </p>
<hr />
<div><includeonly><span title="{{{2|Try `C-h k {{{1}}}' for more information.}}}" style="border-bottom:1px dotted">'''[{{{1}}}]'''</span></includeonly><noinclude><br />
<br />
== Usage ==<br />
Show a key sequence, with an optional tool tip for the associated command or function.<br />
<br />
<pre>{{Keys|C-x C-x}}</pre> will be rendered as: {{Keys|C-x C-x}}<br />
<br />
<pre>{{Keys|C-x C-x|exchange-point-and-mark}}</pre> will be rendered as: {{Keys|C-x C-x|exchange-point-and-mark}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Infobox_major-mode&diff=2444Template:Infobox major-mode2012-04-04T01:14:32Z<p>GregLucas: </p>
<hr />
<div><includeonly><br />
{{Infobox<br />
|bodystyle = width:30em;<br />
|title = {{{title}}}<br />
<br />
|header1 = <br />
|label1 = Library<br />
|data1 = {{{library}}}<br />
|header2 = <br />
|label2 = Command<br />
|data2 = {{{command}}}<br />
|header3 = <br />
|label3 = Builtin<br />
|data3 = {{{builtin}}}<br />
|header4 =<br />
|label4 = Auto-activates for<br />
|data4 = {{#if:{{{auto activates|}}}|<tt>{{{auto activates}}}</tt>}}<br />
}}<br />
[[Category:Major modes]]<br />
</includeonly><br />
<noinclude><br />
{{Infobox major-mode<br />
|title = C++<br />
|library = cc-mode<br />
|command = c++-mode<br />
|builtin = yes<br />
|auto activates = *.ii, *.CC, *.HH, *.cpp, *.hpp, *.cxx, *.hxx, *.c++, *.h++, *.cc, *.hh<br />
}}<br />
<br />
Generate a major-mode infobox.<br />
<br />
<pre>{{Infobox major-mode<br />
|title = C++<br />
|library = cc-mode<br />
|command = c++-mode<br />
|builtin = yes<br />
|auto activates = *.ii, *.CC, *.HH, *.cpp, *.hpp, *.cxx, *.hxx, *.c++, *.h++, *.cc, *.hh<br />
}}</pre><br />
will generate the infobox shown at the top right corner of this page.<br />
<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Function&diff=2443Template:Function2012-04-04T01:14:17Z<p>GregLucas: </p>
<hr />
<div><includeonly><span title="{{{`2'|Try `C-h f {{{1}}}' for more information.}}}" style="border-bottom:1px dotted">'''''{{{1}}}'''''</span></includeonly><noinclude><br />
<br />
== Usage ==<br />
<br />
Refer to an elisp function.<br />
<br />
<pre>{{Function|mapcar}}</pre> will be rendered as {{Function|mapcar}}.<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Filename&diff=2442Template:Filename2012-04-04T01:14:06Z<p>GregLucas: </p>
<hr />
<div><includeonly><span title="Filename: {{{1}}} " style="background-color: #EEE; border-style:solid;border-width:1px;border-radius:2px"><tt>{{{1}}}</tt></span></includeonly><noinclude><br />
<br />
== Usage ==<br />
<br />
Refer to a variable.<br />
<br />
<pre>{{Filename|.emacs}}</pre> will be rendered as {{Filename|.emacs}}<br />
<br />
[[Category:Templates]]<br />
<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:File&diff=2441Template:File2012-04-04T01:13:52Z<p>GregLucas: </p>
<hr />
<div><includeonly><tt>{{{1}}}</tt></includeonly><noinclude><br />
== Usage ==<br />
Show a file name.<br />
<pre>{{File|.emacs}}</pre> will be rendered as: {{File|.emacs}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:EnvironmentVariable&diff=2440Template:EnvironmentVariable2012-04-04T01:13:39Z<p>GregLucas: </p>
<hr />
<div><includeonly><tt>{{{1}}}</tt></includeonly><noinclude><br />
<br />
== Usage ==<br />
<br />
Show an environment variable.<br />
<br />
<pre>{{EnvironementVariable|HOME}}</pre><br />
will be rendered as: {{EnvironmentVariable|HOME}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:EmacsWiki&diff=2439Template:EmacsWiki2012-04-04T01:13:26Z<p>GregLucas: </p>
<hr />
<div><includeonly>[http://www.emacswiki.org/emacs/{{{1}}} EmacsWiki:{{{2}}}]</includeonly><noinclude><br />
<br />
== Usage ==<br />
Refer to an EmacsWiki entry.<br />
<pre>{{EmacsWiki|FillAdapt|Fill Adapt}}</pre> will be rendered as: {{EmacsWiki|FillAdapt|Fill Adapt}}<br />
<br />
[[Category:Templates]]<br />
[[Category: External Link Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:EmacsConfigFile&diff=2438Template:EmacsConfigFile2012-04-04T01:13:13Z<p>GregLucas: </p>
<hr />
<div><includeonly>[[User's Initialization File|Emacs configuration file]]</includeonly><noinclude><br />
<br />
== Usage ==<br />
Show the default emacs file locations.<br />
<pre>{{EmacsConfigFile}}</pre> will be rendered as: {{EmacsConfigFile}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Directory&diff=2436Template:Directory2012-04-04T01:12:45Z<p>GregLucas: </p>
<hr />
<div><includeonly><tt>{{{1}}}/</tt></includeonly><noinclude><br />
== Usage ==<br />
Show a file system directory. <br />
<pre>{{Directory|~/.emacs.d}}</pre> will be rendered as: {{Directory|~/.emacs.d}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:CustomizeVariable&diff=2435Template:CustomizeVariable2012-04-04T01:12:31Z<p>GregLucas: </p>
<hr />
<div><includeonly>'''M-x customize-variable RET {{{1}}}'''</includeonly><noinclude><br />
<br />
== Usage ==<br />
Show how to customize a variable.<br />
<pre>{{CustomizeVariable|auto-mode-alist}}</pre> will be rendered as: {{CustomizeVariable|auto-mode-alist}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:CustomizeGroup&diff=2434Template:CustomizeGroup2012-04-04T01:12:19Z<p>GregLucas: </p>
<hr />
<div><includeonly>'''M-x customize-group RET {{{1}}} RET'''</includeonly><noinclude><br />
<br />
== Usage ==<br />
Show how to customize a group.<br />
<pre>{{CustomizeGroup|faces}}</pre> will be rendered as: {{CustomizeGroup|faces}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:CommandKeys&diff=2433Template:CommandKeys2012-04-04T01:12:06Z<p>GregLucas: </p>
<hr />
<div><includeonly>'''[{{{1}}}]''' (or {{Command|{{{2}}}}})</includeonly><noinclude><br />
<br />
== Usage ==<br />
Show a key sequence and the corresponding command.<br />
<pre>{{CommandKeys|C-x f|find-file}}</pre> will be rendered as: {{CommandKeys|C-x f|find-file}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Command&diff=2432Template:Command2012-04-04T01:11:54Z<p>GregLucas: </p>
<hr />
<div><includeonly>'''<tt>M-x {{{1}}}</tt>'''</includeonly><noinclude><br />
<br />
== Usage ==<br />
Show a command.<br />
<pre>{{Command|find-file}}</pre> will be rendered as: {{Command|find-file}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Buffer&diff=2431Template:Buffer2012-04-04T01:11:41Z<p>GregLucas: </p>
<hr />
<div><includeonly>"<tt>{{{1}}}</tt>"</includeonly><noinclude><br />
<br />
== Usage == <br />
Show a buffer name.<br />
<pre>{{Buffer|*scratch*}}</pre> will be rendered as: {{Buffer|*scratch*}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Template:Acronym&diff=2430Template:Acronym2012-04-04T01:11:28Z<p>GregLucas: </p>
<hr />
<div><includeonly><span title="{{{2}}}" style="border-bottom:1px dotted">{{{1}}}</span></includeonly><noinclude><br />
<br />
== Usage ==<br />
Show an acronym with the expansion as a tool-tip.<br />
<pre>{{Acronym|AA|An Acronym}}</pre> will be rendered as: {{Acronym|AA|An Acronym}}<br />
<br />
[[Category:Templates]]<br />
</noinclude></div>GregLucashttps://wikemacs.org/index.php?title=Category:Link_templates&diff=2429Category:Link templates2012-04-04T01:11:00Z<p>GregLucas: </p>
<hr />
<div>[[Category:Templates]]</div>GregLucashttps://wikemacs.org/index.php?title=Category:External_Link_Templates&diff=2428Category:External Link Templates2012-04-04T01:09:13Z<p>GregLucas: rename 'emacs wiki templates'</p>
<hr />
<div>Here are templates for linking to external sites. For all the available templates see [[:Category:Templates]].<br />
<br />
<br />
[[Category:Templates]]</div>GregLucas