View | Details | Raw Unified | Return to bug 14212
Collapse All | Expand All

(-)article.sgml (-25 / +54 lines)
Lines 54-60 Link Here
54
installed the MH package on your FreeBSD machine. If you installed
54
installed the MH package on your FreeBSD machine. If you installed
55
from CDROM you should be able to execute the following to load mh:
55
from CDROM you should be able to execute the following to load mh:
56
<informalexample>
56
<informalexample>
57
<screen># <userinput>pkg_add /cdrom/packages/mh-6.8.3.tgz</></screen>
57
<screen>&prompt.root; <userinput>pkg_add /cdrom/packages/mh-6.8.3.tgz</></screen>
58
</informalexample>
58
</informalexample>
59
You will notice that it created a <filename>/usr/local/lib/mh</>
59
You will notice that it created a <filename>/usr/local/lib/mh</>
60
directory for you as well as adding several binaries to the
60
directory for you as well as adding several binaries to the
Lines 107-112 Link Here
107
the MH defaults and ask you about creating a Mail directory. If you
107
the MH defaults and ask you about creating a Mail directory. If you
108
have mail waiting to be downloaded you will see something that looks
108
have mail waiting to be downloaded you will see something that looks
109
like:
109
like:
110
</para>
110
<informalexample>
111
<informalexample>
111
<screen>  29  01/15 Doug White         Re: Another Failed to boot problem&lt;&lt;On Mon, 15 J
112
<screen>  29  01/15 Doug White         Re: Another Failed to boot problem&lt;&lt;On Mon, 15 J
112
  30  01/16 "Jordan K. Hubbar  Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
113
  30  01/16 "Jordan K. Hubbar  Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
Lines 114-119 Link Here
114
  32  01/16 "Jordan K. Hubbar  Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
115
  32  01/16 "Jordan K. Hubbar  Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
115
  33  01/16 Michael Smith      Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
116
  33  01/16 Michael Smith      Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
116
</informalexample>
117
</informalexample>
118
<para>
117
This is the same thing you will see from a <command>scan</> (see
119
This is the same thing you will see from a <command>scan</> (see
118
<xref linkend="scan">). If you just run <command>inc</> with no
120
<xref linkend="scan">). If you just run <command>inc</> with no
119
arguments it will look on your computer for email that is supposed to
121
arguments it will look on your computer for email that is supposed to
Lines 122-130 Link Here
122
<para>A lot of people like to use POP for grabbing their email. MH can do
124
<para>A lot of people like to use POP for grabbing their email. MH can do
123
POP to grab your email. You will need to give <command>inc</> a few command
125
POP to grab your email. You will need to give <command>inc</> a few command
124
line arguments. 
126
line arguments. 
127
</para>
125
<informalexample>
128
<informalexample>
126
<screen>tempest% <userinput>inc -host mail.pop.org -user <replaceable>username</> -norpop</></screen>
129
<screen>&prompt.user; <userinput>inc -host mail.pop.org -user <replaceable>username</> -norpop</></screen>
127
</informalexample>
130
</informalexample>
131
<para>
128
That tells <command>inc</> to go to <parameter>mail.pop.org</> to
132
That tells <command>inc</> to go to <parameter>mail.pop.org</> to
129
download your email, and that your username on their system is
133
download your email, and that your username on their system is
130
<replaceable>username</>. The <option>-norpop</option> option tells
134
<replaceable>username</>. The <option>-norpop</option> option tells
Lines 149-157 Link Here
149
command. If you just type <userinput>show</> and hit <keycap>return</>
153
command. If you just type <userinput>show</> and hit <keycap>return</>
150
then it displays the current message. You can also give specific
154
then it displays the current message. You can also give specific
151
message numbers to show:
155
message numbers to show:
156
</para>
152
<informalexample>
157
<informalexample>
153
<screen>tempest% <userinput>show 32 45 56</></screen>
158
<screen>&prompt.user; <userinput>show 32 45 56</></screen>
154
</informalexample>
159
</informalexample>
160
<para>
155
This would display message numbers 32, 45 and 56 right after each
161
This would display message numbers 32, 45 and 56 right after each
156
other. Unless you change the default behavior <command>show</>
162
other. Unless you change the default behavior <command>show</>
157
basically just does a <command>more</> on the email message.</para>
163
basically just does a <command>more</> on the email message.</para>
Lines 169-180 Link Here
169
<para><command>scan</> will display a brief listing of the messages
175
<para><command>scan</> will display a brief listing of the messages
170
in your current folder. This is an example of what the
176
in your current folder. This is an example of what the
171
<command>scan</> command will give you.
177
<command>scan</> command will give you.
178
</para>
172
<informalexample>
179
<informalexample>
173
<screen>  30+ 01/16 "Jordan K. Hubbar  Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
180
<screen>  30+ 01/16 "Jordan K. Hubbar  Re: FBSD 2.1&lt;&lt;&gt; Do you want a library instead of
174
  31  01/16 Bruce Evans        Re: location of bad144 table&lt;&lt;&gt;&gt; &gt;It would appea
181
  31  01/16 Bruce Evans        Re: location of bad144 table&lt;&lt;&gt;&gt; &gt;It would appea
175
  32  01/16 "Jordan K. Hubbar  Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
182
  32  01/16 "Jordan K. Hubbar  Re: video is up&lt;&lt;&gt; Anyway, mrouted won't run, ev
176
  33  01/16 Michael Smith      Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
183
  33  01/16 Michael Smith      Re: FBSD 2.1&lt;&lt;Nate Williams stands accused of sa</screen>
177
</informalexample>
184
</informalexample>
185
<para>
178
Like just about everything in MH this display is very configurable.
186
Like just about everything in MH this display is very configurable.
179
This is the typical default display. It gives you the message number,
187
This is the typical default display. It gives you the message number,
180
the date on the email, the sender, the subject line, and a sentence
188
the date on the email, the sender, the subject line, and a sentence
Lines 214-232 Link Here
214
<para>The first thing that you will want to do is <command>inc</>
222
<para>The first thing that you will want to do is <command>inc</>
215
your new mail. So at a shell prompt just type in <command>inc</> and
223
your new mail. So at a shell prompt just type in <command>inc</> and
216
hit <keycap>return</>.
224
hit <keycap>return</>.
225
</para>
217
<informalexample>
226
<informalexample>
218
<screen>tempest% <userinput>inc</>
227
<screen>&prompt.user; <userinput>inc</>
219
Incorporating new mail into inbox...
228
Incorporating new mail into inbox...
220
229
221
  36+ 01/19 "Stephen L. Lange  Request...&lt;&lt;Please remove me as contact for pind
230
  36+ 01/19 "Stephen L. Lange  Request...&lt;&lt;Please remove me as contact for pind
222
  37  01/19 Matt Thomas        Re: kern/950: Two PCI bridge chips fail (multipl
231
  37  01/19 Matt Thomas        Re: kern/950: Two PCI bridge chips fail (multipl
223
  38  01/19 "Amancio Hasty Jr  Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In 
232
  38  01/19 "Amancio Hasty Jr  Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In 
224
tempest%</screen>
233
&prompt.user;</screen>
225
</informalexample>
234
</informalexample>
235
<para>
226
This shows you the new email that has been added to your mailbox. So
236
This shows you the new email that has been added to your mailbox. So
227
the next thing to do is <command>show</> the email and move around.
237
the next thing to do is <command>show</> the email and move around.
238
</para>
228
<informalexample>
239
<informalexample>
229
<screen>tempest% <userinput>show</>
240
<screen>&prompt.user; <userinput>show</>
230
Received: by sashimi.wwa.com (Smail3.1.29.1 #2)
241
Received: by sashimi.wwa.com (Smail3.1.29.1 #2)
231
        id m0tdMZ2-001W2UC; Fri, 19 Jan 96 13:33 CST
242
        id m0tdMZ2-001W2UC; Fri, 19 Jan 96 13:33 CST
232
Date: Fri, 19 Jan 1996 13:33:31 -0600 (CST)
243
Date: Fri, 19 Jan 1996 13:33:31 -0600 (CST)
Lines 240-247 Link Here
240
251
241
Please remove me as contact for pindat.com
252
Please remove me as contact for pindat.com
242
253
243
tempest% <userinput>rmm</>
254
&prompt.user; <userinput>rmm</>
244
tempest% <userinput>next</>
255
&prompt.user; <userinput>next</>
245
Received: from localhost (localhost [127.0.0.1]) by whydos.lkg.dec.com (8.6.11/8
256
Received: from localhost (localhost [127.0.0.1]) by whydos.lkg.dec.com (8.6.11/8
246
.6.9) with SMTP id RAA24416; Fri, 19 Jan 1996 17:56:48 GMT
257
.6.9) with SMTP id RAA24416; Fri, 19 Jan 1996 17:56:48 GMT
247
Message-Id: &lt;199601191756.RAA24416@whydos.lkg.dec.com&gt;
258
Message-Id: &lt;199601191756.RAA24416@whydos.lkg.dec.com&gt;
Lines 262-275 Link Here
262
273
263
This is due to a typo in pcireg.h (to
274
This is due to a typo in pcireg.h (to
264
which I am probably the guilty party).</screen>
275
which I am probably the guilty party).</screen>
265
</informalexample></para>
276
</informalexample>
266
277
267
<para>The <command>rmm</> removed the current message and the
278
<para>The <command>rmm</> removed the current message and the
268
<command>next</> command moved me on to the next message.
279
<command>next</> command moved me on to the next message.
269
Now if I wanted to look at ten most recent messages so I could read
280
Now if I wanted to look at ten most recent messages so I could read
270
one of them here is what I would do:
281
one of them here is what I would do:
282
</para>
271
<informalexample>
283
<informalexample>
272
<screen>tempest% <userinput>scan last:10</>
284
<screen>&prompt.user; <userinput>scan last:10</>
273
  26  01/16 maddy              Re: Testing some stuff&lt;&lt;yeah, well, Trinity has 
285
  26  01/16 maddy              Re: Testing some stuff&lt;&lt;yeah, well, Trinity has 
274
  27  01/17 Automatic digest   NET-HAPPENINGS Digest - 16 Jan 1996 to 17 Jan 19
286
  27  01/17 Automatic digest   NET-HAPPENINGS Digest - 16 Jan 1996 to 17 Jan 19
275
  28  01/17 Evans A Criswell   Re: Hey dude&lt;&lt;&gt;From matt@tempest.garply.com Tue 
287
  28  01/17 Evans A Criswell   Re: Hey dude&lt;&lt;&gt;From matt@tempest.garply.com Tue 
Lines 280-287 Link Here
280
  35  01/19 support@foo.garpl  [garply.com #1138] parlor&lt;&lt;Hello. This is the Ne
292
  35  01/19 support@foo.garpl  [garply.com #1138] parlor&lt;&lt;Hello. This is the Ne
281
  37+ 01/19 Matt Thomas        Re: kern/950: Two PCI bridge chips fail (multipl
293
  37+ 01/19 Matt Thomas        Re: kern/950: Two PCI bridge chips fail (multipl
282
  38  01/19 "Amancio Hasty Jr  Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In 
294
  38  01/19 "Amancio Hasty Jr  Re: FreeBSD and VAT&lt;&lt;&gt;&gt;&gt; Bill Fenner said: &gt; In 
283
tempest%</screen>
295
&prompt.user;</screen>
284
</informalexample>
296
</informalexample>
297
<para>
285
Then if I wanted to read message number 27 I would do a
298
Then if I wanted to read message number 27 I would do a
286
<userinput>show 27</> and it would be displayed. As you can probably
299
<userinput>show 27</> and it would be displayed. As you can probably
287
tell from this sample session MH is pretty easy to use and looking
300
tell from this sample session MH is pretty easy to use and looking
Lines 343-357 Link Here
343
<citerefentry><refentrytitle>pick</><manvolnum>1</></> man page for a
356
<citerefentry><refentrytitle>pick</><manvolnum>1</></> man page for a
344
more thorough understanding. At its simplest level you can do
357
more thorough understanding. At its simplest level you can do
345
something like
358
something like
359
</para>
346
<informalexample>
360
<informalexample>
347
<screen>tempest% <userinput>pick -search pci</>
361
<screen>&prompt.user; <userinput>pick -search pci</>
348
15
362
15
349
42
363
42
350
55
364
55
351
56
365
56
352
57</screen>
366
57</screen>
353
</informalexample>
367
</informalexample>
354
368
<para>
355
This will tell <command>pick</> to look through every single line in
369
This will tell <command>pick</> to look through every single line in
356
every message in your current folder and tell you which message
370
every message in your current folder and tell you which message
357
numbers it found the word <literal>pci</> in. You can then
371
numbers it found the word <literal>pci</> in. You can then
Lines 359-369 Link Here
359
<command>rmm</> them. You would have to specify something like
373
<command>rmm</> them. You would have to specify something like
360
<command>show 15 42 55-57</> to display them though. A slightly more
374
<command>show 15 42 55-57</> to display them though. A slightly more
361
useful thing to do is this:
375
useful thing to do is this:
376
</para>
362
<informalexample>
377
<informalexample>
363
<screen>tempest% <userinput>pick -search pci -seq pick</>
378
<screen>&prompt.user; <userinput>pick -search pci -seq pick</>
364
5 hits
379
5 hits
365
tempest% <userinput>show pick</></screen>
380
&prompt.user; <userinput>show pick</></screen>
366
</informalexample>
381
</informalexample>
382
<para>
367
This will show you the same messages you just didn't have to work as
383
This will show you the same messages you just didn't have to work as
368
hard to do it. The <option>-seq</option> option is really an
384
hard to do it. The <option>-seq</option> option is really an
369
abbreviation of <option>-sequence</option> and <command>pick</> is
385
abbreviation of <option>-sequence</option> and <command>pick</> is
Lines 377-382 Link Here
377
consuming than just searching for message from someone, or to
393
consuming than just searching for message from someone, or to
378
someone. So <command>pick</> allows you to use the following
394
someone. So <command>pick</> allows you to use the following
379
predefined search criteria:
395
predefined search criteria:
396
</para>
380
397
381
<variablelist>
398
<variablelist>
382
399
Lines 424-438 Link Here
424
</listitem>
441
</listitem>
425
</varlistentry>
442
</varlistentry>
426
443
427
</variablelist></para>
444
</variablelist>
428
  
445
  
429
<para>This allows you to do things like
446
<para>This allows you to do things like
430
<informalexample>
447
<informalexample>
431
<screen>tempest% <userinput>pick -to freebsd-hackers@FreeBSD.org -seq hackers</></screen>
448
<screen>&prompt.user; <userinput>pick -to freebsd-hackers@FreeBSD.org -seq hackers</></screen>
432
</informalexample>
449
</informalexample>
433
to get a list of all the email send to the FreeBSD hackers mailing
450
to get a list of all the email send to the FreeBSD hackers mailing
434
list. <command>pick</> also allows you to group these criteria in
451
list. <command>pick</> also allows you to group these criteria in
435
different ways using the following options:
452
different ways using the following options:
453
</para>
436
<itemizedlist>
454
<itemizedlist>
437
455
438
<listitem>
456
<listitem>
Lines 452-469 Link Here
452
</listitem>
470
</listitem>
453
471
454
</itemizedlist>
472
</itemizedlist>
473
<para>
455
These commands allow you to do things like
474
These commands allow you to do things like
475
</para>
456
<informalexample>
476
<informalexample>
457
<screen>tempest% <userinput>pick -to freebsd-hackers -and -cc freebsd-hackers</></screen>
477
<screen>&prompt.user; <userinput>pick -to freebsd-hackers -and -cc freebsd-hackers</></screen>
458
</informalexample>
478
</informalexample>
479
<para>
459
That will grab all the email in your inbox that was sent to
480
That will grab all the email in your inbox that was sent to
460
freebsd-hackers or cc'd to that list. The brace options allow you to
481
freebsd-hackers or cc'd to that list. The brace options allow you to
461
group search criteria together. This is sometimes very necessary as
482
group search criteria together. This is sometimes very necessary as
462
in the following example
483
in the following example
484
</para>
463
<informalexample>
485
<informalexample>
464
<screen>tempest% <userinput>pick -lbrace -to freebsd-hackers -and 
486
<screen>&prompt.user; <userinput>pick -lbrace -to freebsd-hackers -and 
465
  -not -cc freebsd-questions -rbrace -and -subject pci</></screen>
487
  -not -cc freebsd-questions -rbrace -and -subject pci</></screen>
466
</informalexample></para>
488
</informalexample>
467
489
468
<para>Basically this says <quote>pick (to freebsd-hackers and not cc'd on
490
<para>Basically this says <quote>pick (to freebsd-hackers and not cc'd on
469
freebsd-questions) and the subject is pci</quote>. It should look through your
491
freebsd-questions) and the subject is pci</quote>. It should look through your
Lines 506-511 Link Here
506
folders is the same one you get when you change to a folder with
528
folders is the same one you get when you change to a folder with
507
<command>folder +foldername</>. A <command>folders</> command looks
529
<command>folder +foldername</>. A <command>folders</> command looks
508
like this:
530
like this:
531
</para>
509
<informalexample>
532
<informalexample>
510
<screen>                Folder      # of messages (  range  ); cur  msg  (other files)
533
<screen>                Folder      # of messages (  range  ); cur  msg  (other files)
511
              announce  has    1 message  (   1-   1).
534
              announce  has    1 message  (   1-   1).
Lines 521-527 Link Here
521
544
522
                     TOTAL=  199 messages in 13 folders.
545
                     TOTAL=  199 messages in 13 folders.
523
</screen>
546
</screen>
524
</informalexample></para>
547
</informalexample>
525
  
548
  
526
<para>The <command>refile</> command is what you use to move messages
549
<para>The <command>refile</> command is what you use to move messages
527
between folders. When you do something like <command>refile 23
550
between folders. When you do something like <command>refile 23
Lines 573-585 Link Here
573
-editor /usr/local/bin/pico/</> instead. Once you have run
596
-editor /usr/local/bin/pico/</> instead. Once you have run
574
<emphasis>comp</emphasis> you are in your editor and you see
597
<emphasis>comp</emphasis> you are in your editor and you see
575
something that looks like this:
598
something that looks like this:
599
</para>
576
<informalexample>
600
<informalexample>
577
<screen>To:
601
<screen>To:
578
cc:
602
cc:
579
Subject:
603
Subject:
580
--------
604
--------
581
</screen>
605
</screen>
582
</informalexample></para>
606
</informalexample>
583
607
584
<para>You need to put the person you are sending the mail to after the
608
<para>You need to put the person you are sending the mail to after the
585
<literal>To:</> line. It works the same way for the other headers
609
<literal>To:</> line. It works the same way for the other headers
Lines 589-594 Link Here
589
lot of email programs have special requesters that ask you for this
613
lot of email programs have special requesters that ask you for this
590
information but there really isn't any point to that. Plus this
614
information but there really isn't any point to that. Plus this
591
really gives you excellent flexibility.
615
really gives you excellent flexibility.
616
</para>
592
<informalexample>
617
<informalexample>
593
<screen>To:<userinput>freebsd-rave@FreeBSD.org</>
618
<screen>To:<userinput>freebsd-rave@FreeBSD.org</>
594
cc:
619
cc:
Lines 596-601 Link Here
596
--------
621
--------
597
<userinput>Wow this is an amazing operating system. Thanks!</></screen>
622
<userinput>Wow this is an amazing operating system. Thanks!</></screen>
598
</informalexample>
623
</informalexample>
624
<para>
599
You can now save this message and exit your editor. You will see the
625
You can now save this message and exit your editor. You will see the
600
<prompt>What now?</> prompt and you can type in
626
<prompt>What now?</> prompt and you can type in
601
<userinput>send</> or <userinput>s</> and hit
627
<userinput>send</> or <userinput>s</> and hit
Lines 644-649 Link Here
644
<filename>components</> file and then edits it. You can add any
670
<filename>components</> file and then edits it. You can add any
645
kind of valid RFC822 header you want. For instance you could have
671
kind of valid RFC822 header you want. For instance you could have
646
something like this in your <filename>components</> file:
672
something like this in your <filename>components</> file:
673
</para>
647
<informalexample>
674
<informalexample>
648
<screen>To:
675
<screen>To:
649
Fcc: out
676
Fcc: out
Lines 652-658 Link Here
652
X-Home-Page: http://www.FreeBSD.org/
679
X-Home-Page: http://www.FreeBSD.org/
653
-------</screen>
680
-------</screen>
654
</informalexample>
681
</informalexample>
655
682
<para>
656
MH would then copy this components file and throw you into your
683
MH would then copy this components file and throw you into your
657
editor. The <filename>components</> file is fairly simple. If you
684
editor. The <filename>components</> file is fairly simple. If you
658
wanted to have a signature on those messages you would just put your
685
wanted to have a signature on those messages you would just put your
Lines 660-665 Link Here
660
687
661
<para>The <filename>replcomps</> file is a bit more complex. The default
688
<para>The <filename>replcomps</> file is a bit more complex. The default
662
<filename>replcomps</> looks like this:
689
<filename>replcomps</> looks like this:
690
</para>
663
<informalexample>
691
<informalexample>
664
<screen>%(lit)%(formataddr %&lt;{reply-to}%?{from}%?{sender}%?{return-path}%&gt;)\
692
<screen>%(lit)%(formataddr %&lt;{reply-to}%?{from}%?{sender}%?{return-path}%&gt;)\
665
%&lt;(nonnull)%(void(width))%(putaddr To: )\n%&gt;\
693
%&lt;(nonnull)%(void(width))%(putaddr To: )\n%&gt;\
Lines 672-678 Link Here
672
             %{message-id}%&gt;\n%&gt;\
700
             %{message-id}%&gt;\n%&gt;\
673
--------
701
--------
674
</screen>
702
</screen>
675
</informalexample></para>
703
</informalexample>
676
704
677
<para>It's in the same basic format as the <filename>components</> file but
705
<para>It's in the same basic format as the <filename>components</> file but
678
it contains quite a few extra formatting codes. The
706
it contains quite a few extra formatting codes. The
Lines 681-693 Link Here
681
address. The next part is <literal>%&lt;</literal> which means if and
709
address. The next part is <literal>%&lt;</literal> which means if and
682
the <literal>{reply-to}</> means the reply-to field in the original
710
the <literal>{reply-to}</> means the reply-to field in the original
683
message. So that might be translated this way:
711
message. So that might be translated this way:
712
</para>
684
<informalexample>
713
<informalexample>
685
<screen>%&lt;<emphasis remap=bf>if</emphasis> {reply-to} <emphasis remap=bf>the original message has a reply-to</emphasis> 
714
<screen>%&lt;<emphasis remap=bf>if</emphasis> {reply-to} <emphasis remap=bf>the original message has a reply-to</emphasis> 
686
then give that to formataddr, %? <emphasis remap=bf>else</emphasis> {from} <emphasis remap=bf>take the
715
then give that to formataddr, %? <emphasis remap=bf>else</emphasis> {from} <emphasis remap=bf>take the
687
from address</emphasis>, %? <emphasis remap=bf>else</emphasis> {sender} <emphasis remap=bf>take the sender address</emphasis>, %?
716
from address</emphasis>, %? <emphasis remap=bf>else</emphasis> {sender} <emphasis remap=bf>take the sender address</emphasis>, %?
688
<emphasis remap=bf>else</emphasis> {return-path} <emphasis remap=bf>take the return-path from the original
717
<emphasis remap=bf>else</emphasis> {return-path} <emphasis remap=bf>take the return-path from the original
689
message</emphasis>, %&gt; <emphasis remap=bf>endif</emphasis>.</screen>
718
message</emphasis>, %&gt; <emphasis remap=bf>endif</emphasis>.</screen>
690
</informalexample></para>
719
</informalexample>
691
  
720
  
692
<para>As you can tell MH formatting can get rather involved. You can
721
<para>As you can tell MH formatting can get rather involved. You can
693
probably decipher what most of the other functions and variables
722
probably decipher what most of the other functions and variables

Return to bug 14212